pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voOp/VoInspect.java
@@ -3,6 +3,8 @@ import com.dy.common.po.BaseEntity; import com.dy.pipIrrGlobal.pojoOp.OpeTrack; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import lombok.Data; import java.util.Date; @@ -21,6 +23,7 @@ /** * 巡检员ID */ @JsonSerialize(using = ToStringSerializer.class) private Long inspectorId; /** @@ -31,6 +34,7 @@ /** * 巡检ID */ @JsonSerialize(using = ToStringSerializer.class) private Long inspectId; /** * 开始巡检时间 pipIrr-platform/pipIrr-global/src/main/resources/mapper/OpeWorkOrderMapper.xml
@@ -269,6 +269,14 @@ <where> AND ord.deleted = 0 <if test = "dispatcherId != null"> AND ord.dispatcher_id = #{dispatcherId} </if> <if test = "inspectorId != null"> AND ord.inspector_id = #{inspectorId} </if> <if test = "dispatcher != null and dispatcher !=''"> AND us1.name like CONCAT('%',#{dispatcher},'%') </if> @@ -317,6 +325,14 @@ <where> AND ord.deleted = 0 <if test = "dispatcherId != null"> AND ord.dispatcher_id = #{dispatcherId} </if> <if test = "inspectorId != null"> AND ord.inspector_id = #{inspectorId} </if> <if test = "dispatcher != null and dispatcher !=''"> AND us1.name like CONCAT('%',#{dispatcher},'%') </if> pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeGeneralMapper.xml
@@ -157,7 +157,7 @@ 1 AS auditStatus FROM se_card_operate ope INNER JOIN ba_user us ON ope.operator = us.id WHERE Date(ope.operate_dt) = #{operateDate} WHERE Date(ope.operate_dt) = #{operateDate} AND ope.operate_valid = 2 GROUP BY ope.operator, Date(ope.operate_dt) UNION ALL pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/workOrder/WorkOrderCtrl.java
@@ -1,12 +1,15 @@ package com.dy.pipIrrApp.workOrder; import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSONObject; import com.dy.common.aop.SsoAop; import com.dy.common.webUtil.BaseResponse; import com.dy.common.webUtil.BaseResponseUtils; import com.dy.common.webUtil.QueryResultVo; import com.dy.pipIrrApp.workOrder.dto.DtoDeleteProResult; import com.dy.pipIrrApp.workOrder.dto.DtoDeleteWorkOrder; import com.dy.pipIrrApp.workOrder.mqtt.MqttClientConnectorPool; import com.dy.pipIrrApp.workOrder.mqtt.MqttMsgSender; import com.dy.pipIrrApp.workOrder.qo.QoWorkOrder; import com.dy.pipIrrGlobal.pojoOp.OpeApproveResult; import com.dy.pipIrrGlobal.pojoOp.OpeProcessingResult; @@ -16,6 +19,8 @@ import jakarta.validation.Valid; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.eclipse.paho.client.mqttv3.MqttClient; import org.springframework.beans.factory.annotation.Value; import org.springframework.http.MediaType; import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.BindingResult; @@ -37,6 +42,21 @@ @RequiredArgsConstructor public class WorkOrderCtrl { private final WorkOrderSv workOrderSv; @Value("${mqtt.broker}") private String broker; @Value("${mqtt.username}") private String username; @Value("${mqtt.password}") private String password; @Value("${mqtt.topic}") private String topic; @Value("${mqtt.qos}") private Integer qos; /** * 创建工单 @@ -66,14 +86,39 @@ return BaseResponseUtils.buildErrorMsg("获取工单失败"); } //if(!sendWorkOrder(voWorkOrder, workOrderId)) { // return BaseResponseUtils.buildErrorMsg("工单推送失败"); //} if(!sendWorkOrder(voWorkOrder, workOrderId)) { return BaseResponseUtils.buildErrorMsg("工单推送失败"); } return BaseResponseUtils.buildSuccess(); } /** * 通过mosquitto发送巡检员ID及工单ID * @param voWorkOrder 工单对象 * @param workOrderId 工单ID * @return */ public Boolean sendWorkOrder(VoWorkOrder voWorkOrder, Long workOrderId) { //String message = JSON.toJSONString(voWorkOrder); JSONObject message_job = new JSONObject(); message_job.put("inspectorId", voWorkOrder.getInspectorId().toString()); message_job.put("workOrderId", workOrderId.toString()); String message = JSON.toJSONString(message_job); MqttClient mqttClient = MqttClientConnectorPool.connectMQTT(broker, username, password); MqttMsgSender sender = new MqttMsgSender(); if (null != mqttClient){ sender.sendMessage(mqttClient, topic, message, qos); } else { log.info("MqttClient为空,无法发送!"); return false; } return true; } /** * 逻辑删除指定派单人的指定未删除工单 * 先判断指定派单人、未删除的指定工单是否存在 * @param deleteWorkOrder 删除工单传输类 pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/workOrder/mqtt/MqttClientConnectorPool.java
@@ -21,17 +21,13 @@ * 连接MQTT客户端 * @return 获取MQTT连队对象 */ public static MqttClient connectMQTT() { public static MqttClient connectMQTT(String broker, String username, String password) { if (mqttClient != null){ log.info("已存在!"); return mqttClient; } try { // broker及连接信息 String broker = "tcp://127.0.0.1:1883"; String username = "mqtt_u"; String password = "yjy"; String clientId = System.currentTimeMillis() + ""; //创建MQTT客户端(指定broker、客户端id、消息持久策略) pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/workOrder/mqtt/TestController.java
@@ -2,6 +2,7 @@ import lombok.extern.slf4j.Slf4j; import org.eclipse.paho.client.mqttv3.MqttClient; import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; @@ -18,17 +19,30 @@ @RestController @RequestMapping(path = "mqtt") public class TestController { @Value("${mqtt.broker}") private String broker; @Value("${mqtt.username}") private String username; @Value("${mqtt.password}") private String password; @Value("${mqtt.topic}") private String topic; @Value("${mqtt.qos}") private Integer qos; @GetMapping("/mqtt/{msg}") public String testSendMqttMsg(@PathVariable("msg") String msg){ log.info("消息内容:{}.", msg); MqttClient mqttClient = MqttClientConnectorPool.connectMQTT(); MqttClient mqttClient = MqttClientConnectorPool.connectMQTT(broker, username, password); MqttMsgSender sender = new MqttMsgSender(); String content = "{" + " \"message\": \"" + msg + "\"," + " \"val\": 100.00" + "}"; String topic = "workOrder"; int qos = 1; if (null != mqttClient){ sender.sendMessage(mqttClient, topic, content, qos); pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/workOrder/qo/QoWorkOrder.java
@@ -3,8 +3,6 @@ import com.dy.common.webUtil.QueryConditionVo; import lombok.Data; import lombok.EqualsAndHashCode; import org.mapstruct.Mapper; import org.mapstruct.ReportingPolicy; /** * @author ZhuBaoMin @@ -22,11 +20,21 @@ private String dispatcher; /** * 派单人ID */ private Long dispatcherId; /** * 巡检员姓名 */ private String inspector; /** * 巡检员ID */ private Long inspectorId; /** * 查询开始时间 */ private String timeStart; pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/resources/application.yml
@@ -17,7 +17,7 @@ #MQTT mqtt: broker: tcp://127.0.0.1:1883 username: mqtt_u username: mqtt_yjy password: yjy topic: workOrder qos: 2