|
|
@@ -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, "");
|
|
|
}
|
|
|
}
|
|
|
}
|