Explorar o código

信息牌 继电器优化

donggaosheng hai 1 ano
pai
achega
de05804041

+ 1 - 0
zd-model/src/main/java/com/zd/model/enums/SenseType.java

@@ -43,6 +43,7 @@ public enum SenseType implements BaseEnum<Integer>, HardwareType {
     FB_SHIDU(21, "防爆湿度", "防爆湿度", "icon_17", "%"),
     FB_O2(22, "防爆氧气", "防爆氧气浓度", "icon_21", "%"),
     FB_CO(23, "防爆一氧化碳", "防爆一氧化碳浓度", "icon_18", "ppm"),
+    C2H2(24,"乙炔","乙炔","icon_24","%lel"),
     ;
     private Integer code;
     private String name;

+ 14 - 14
zd-modules/zd-base/src/main/java/com/zd/base/app/controller/LabBoardApi.java

@@ -264,20 +264,20 @@ public class LabBoardApi {
             return ResultData.fail(500, "获取logo失败!");
         }
         Object subjectId=resultData.getData();
-        String isRelationGuard="2";
-        String authType="";
+        Object isRelationGuard="2";
+        Object authType=null;
         Map<String,Object> map= new HashMap<>();
-        if(StringUtils.isNull(subjectId)){
-            ResultData xxpMap=remoteDutyService.XxpCardInfoByCard(num);
-            Object obj=xxpMap.getData();
-            if (obj == null) {
-                return ResultData.fail("获取实验室编号失败!");
-            }
-            Map<String,Object> dataMap= (Map<String, Object>) xxpMap.getData();
-            subjectId=String.valueOf(dataMap.get("subjectId"));
-            isRelationGuard=String.valueOf(dataMap.get("isRelationGuard"));
-            authType=String.valueOf(dataMap.get("authType"));
+        ResultData xxpMap=remoteDutyService.XxpCardInfoByCard(num);
+        Object obj=xxpMap.getData();
+        if (obj == null) {
+            return ResultData.fail("获取实验室编号失败!");
+        }
+        Map<String,Object> dataMap= (Map<String, Object>) obj;
+        if(null==subjectId){
+             subjectId=dataMap.get("subjectId");
         }
+        authType=dataMap.get("authType");
+        isRelationGuard=dataMap.get("isRelationGuard");
         map.put("labId",subjectId);
         map.put("authType",authType);
         map.put("isRelationGuard",isRelationGuard);
@@ -404,7 +404,7 @@ public class LabBoardApi {
             return ResultData.fail("未识别到身份信息,请联系管理人员录入卡号信息");
         }
         logger.info("转换前cardNum:"+cardNum);
-        cardNum= HexStrUtils.decode(cardNum);
+        //cardNum= HexStrUtils.decode(cardNum); 十进制不用转换
         logger.info("转换后cardNum:"+cardNum);
         ResultData resultData=remoteDutyService.securityNumList(labId,cardNum);
         if(resultData==null || resultData.getCode()!=HttpStatus.SUCCESS){
@@ -430,7 +430,7 @@ public class LabBoardApi {
         if(StringUtils.isNull(cardNum) || StringUtils.isEmpty(cardNum)){
             return ResultData.fail("未识别到身份信息,请联系管理人员录入卡号信息");
         }
-        cardNum= HexStrUtils.decode(cardNum);
+        //cardNum= HexStrUtils.decode(cardNum);
         logger.info("转换后cardNum:"+cardNum);
         ResultData resultData=remoteDutyService.securityNumList(labId,cardNum);
         if(resultData==null || resultData.getCode()!=HttpStatus.SUCCESS){

+ 19 - 10
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/utils/RelayUtils.java

@@ -36,6 +36,7 @@ public class RelayUtils {
      * @param data
      */
     public static void relayOpenClose(String data,String relayCode) throws IOException {
+        log.info("relayOpenClose data:"+data);
         if(data.contains(SocketTypes.NRKJ_IDENTIFY) && !data.contains(SocketTypes.AT_NRKJ_IDENTIFY)){
             //继电器打开关闭
             String statusData[]= data.split(",")[0].split(":");
@@ -86,19 +87,27 @@ public class RelayUtils {
         SpringUtils.getApplicationContext().publishEvent(labRelayRegisterEvent);
         if (data.contains(RelayConstants.AT_STACH_ALL_STR)) {
             log.info("【继电器状态刷新】数据信息: {} ", data);
-            String disposeCommand = data.replace(codeStr + RelayConstants.AT_STACH_ALL, "");
-            String splitCommand[] = disposeCommand.split(RelayConstants.AT_SPLITE);
+            String disposeCommand = data.replace(codeStr + RelayConstants.AT_STACH_ALL_STR, "");
+            disposeCommand=disposeCommand.replace(RelayConstants.PLUS_STACH,"");
+            log.info("disposeCommand:{}",disposeCommand);
+            String splitCommand[] = disposeCommand.split("100000");
+            //String disposeCommand = data.replace(codeStr + RelayConstants.AT_STACH_ALL, "");
+            //String splitCommand[] = disposeCommand.split(RelayConstants.AT_SPLITE);
             LabRelayStatus labRelayStatus = new LabRelayStatus();
             for (String split : splitCommand) {
                 String status[] = split.split(",")[0].split(":");
-                String bitStr = status[0].replace(RelayConstants.PLUS_STACH, "");
-                log.info("bit:" + bitStr + "继电器设备状态 status[]:" + Arrays.toString(status));
-                labRelayStatus.setNum(relayCode);
-                labRelayStatus.setBit(Integer.parseInt(bitStr));
-                HardwareOperate hardwareOperate = status[1].equals("1") ? HardwareOperate.OPEN : HardwareOperate.CLOSE;
-                labRelayStatus.setHardwareOperate(hardwareOperate);
-                LabRelayNrStatusEvent relayNrStatusEvent = new LabRelayNrStatusEvent(labRelayStatus);
-                SpringUtils.getApplicationContext().publishEvent(relayNrStatusEvent);
+                if(status.length > 1){
+                    String bitStr = status[0].replace(RelayConstants.PLUS_STACH, "");
+                    log.info("bit:" + bitStr + "继电器设备状态 status[]:" + Arrays.toString(status));
+                    labRelayStatus.setNum(relayCode);
+                    labRelayStatus.setBit(Integer.parseInt(bitStr));
+                    HardwareOperate hardwareOperate = bitStr.equals("1") ? HardwareOperate.OPEN : HardwareOperate.CLOSE;
+                    labRelayStatus.setHardwareOperate(hardwareOperate);
+                    LabRelayNrStatusEvent relayNrStatusEvent = new LabRelayNrStatusEvent(labRelayStatus);
+                    SpringUtils.getApplicationContext().publishEvent(relayNrStatusEvent);
+                }
+                //String status[] = split.split(",")[0].split(":");
+                //String bitStr = status[0].replace(RelayConstants.PLUS_STACH, "");
             }
         }
     }