Forráskód Böngészése

预案操作兼容泥人继电器

hanzhiwei 2 éve
szülő
commit
73f8603fdf

+ 27 - 7
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/impl/LabSubjectManagerService.java

@@ -209,23 +209,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;
     }
 
     /**