Bladeren bron

兼容泥人继电器

hanzhiwei 2 jaren geleden
bovenliggende
commit
40a0976b70

+ 54 - 14
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/impl/LabSubjectManagerService.java

@@ -214,23 +214,43 @@ public class LabSubjectManagerService {
             logger.error("未关联继电器位!id:{},名称:{}", id, labHardwareVO.getName());
             return false;
         }
-        if (labHardwareVO.getHardwareType() == 2) {
-            ResultData ResultData = socketService.sendMqttCommand(labHardwareVO.getId(), labHardwareVO.getRelayCode(), command, labHardwareVO.getBit(),labHardwareVO.getSubjectId());
+        if (labHardwareVO.getHardwareType() == 1) {
+            ResultData ResultData = socketService.sendCommand(Symbol.order.control, labHardwareVO.getRelayCode(), command, labHardwareVO.getBit());
             boolean equals = ResultData.getCode().equals(HttpStatus.SUCCESS);
             if (equals) {
                 //添加记录
-                labControlService.riskCreateLabControlAndSave(labHardwareVO, Symbol.order.control, command);
+                labControlService.manualCreateLabControlAndSave(labHardwareVO, Symbol.order.control, command);
             }
-        } else {
-            ResultData ResultData = socketService.sendCommand(Symbol.order.control, labHardwareVO.getRelayCode(), command, labHardwareVO.getBit());
+            return equals;
+        } else if (labHardwareVO.getHardwareType() == 2) {
+            ResultData ResultData = socketService.sendMqttCommand(labHardwareVO.getId(), labHardwareVO.getRelayCode(), command, labHardwareVO.getBit(), labHardwareVO.getSubjectId());
             boolean equals = ResultData.getCode().equals(HttpStatus.SUCCESS);
             if (equals) {
                 //添加记录
-                labControlService.riskCreateLabControlAndSave(labHardwareVO, Symbol.order.control, command);
+                labControlService.manualCreateLabControlAndSave(labHardwareVO, Symbol.order.control, command);
             }
             return equals;
+        } else if (labHardwareVO.getHardwareType() == 3) {
+            try {
+                String relayCode = labHardwareVO.getRelayCode();
+                String type = command.getType();
+                if (RelayConstants.AT_OPEN_STR.equals(type)) {
+                    type = RelayConstants.AT_OPEN.toString();
+                }
+                if (RelayConstants.AT_CLOSE_STR.equals(type)) {
+                    type = RelayConstants.AT_CLOSE.toString();
+                }
+                String commandStr = RelayConstants.AT_STACH + labHardwareVO.getBit() + "=" + type + RelayConstants.SPACE_WRAP;
+                NettyPushMsgService.push(relayCode, commandStr.getBytes());
+                logger.info("声光报警泥人继电器调用完成!");
+                return true;
+            } catch (IOException e) {
+                logger.error("声光报警泥人继电器调用失败!" + e.getMessage());
+                return false;
+            }
+        } else {
+            return false;
         }
-        return true;
     }
 
     /**
@@ -326,23 +346,43 @@ public class LabSubjectManagerService {
             logger.error("未关联继电器位!id:{},名称:{}", id, labHardwareVO.getName());
             return false;
         }
-        if (labHardwareVO.getHardwareType() == 2) {
-            ResultData ResultData = socketService.sendMqttCommand(labHardwareVO.getId(), labHardwareVO.getRelayCode(), command, labHardwareVO.getBit(),labHardwareVO.getSubjectId());
-            boolean equals = ResultData.getCode().equals(200);
+        if (labHardwareVO.getHardwareType() == 1) {
+            ResultData ResultData = socketService.sendCommand(Symbol.order.control, labHardwareVO.getRelayCode(), command, labHardwareVO.getBit());
+            boolean equals = ResultData.getCode().equals(HttpStatus.SUCCESS);
             if (equals) {
                 //添加记录
                 labControlService.manualCreateLabControlAndSave(labHardwareVO, Symbol.order.control, command);
             }
-        } else {
-            ResultData ResultData = socketService.sendCommand(Symbol.order.control, labHardwareVO.getRelayCode(), command, labHardwareVO.getBit());
-            boolean equals = ResultData.getCode().equals(200);
+            return equals;
+        } else if (labHardwareVO.getHardwareType() == 2) {
+            ResultData ResultData = socketService.sendMqttCommand(labHardwareVO.getId(), labHardwareVO.getRelayCode(), command, labHardwareVO.getBit(), labHardwareVO.getSubjectId());
+            boolean equals = ResultData.getCode().equals(HttpStatus.SUCCESS);
             if (equals) {
                 //添加记录
                 labControlService.manualCreateLabControlAndSave(labHardwareVO, Symbol.order.control, command);
             }
             return equals;
+        } else if (labHardwareVO.getHardwareType() == 3) {
+            try {
+                String relayCode = labHardwareVO.getRelayCode();
+                String type = command.getType();
+                if (RelayConstants.AT_OPEN_STR.equals(type)) {
+                    type = RelayConstants.AT_OPEN.toString();
+                }
+                if (RelayConstants.AT_CLOSE_STR.equals(type)) {
+                    type = RelayConstants.AT_CLOSE.toString();
+                }
+                String commandStr = RelayConstants.AT_STACH + labHardwareVO.getBit() + "=" + type + RelayConstants.SPACE_WRAP;
+                NettyPushMsgService.push(relayCode, commandStr.getBytes());
+                logger.info("声光报警泥人继电器调用完成!");
+                return true;
+            } catch (IOException e) {
+                logger.error("声光报警泥人继电器调用失败!" + e.getMessage());
+                return false;
+            }
+        } else {
+            return false;
         }
-        return true;
     }