Browse Source

1、广州理工兼容蒙浩时控;

prod_20251209
25604 3 weeks ago
parent
commit
52ef570b77
  1. 62
      user-service/src/main/java/com/mh/user/service/impl/DeviceControlServiceImpl.java
  2. 12
      user-service/src/main/java/com/mh/user/service/impl/DeviceInstallServiceImpl.java
  3. 12
      user-service/src/main/java/com/mh/user/strategy/TimeControlStrategy.java

62
user-service/src/main/java/com/mh/user/service/impl/DeviceControlServiceImpl.java

@ -159,6 +159,12 @@ public class DeviceControlServiceImpl implements DeviceControlService {
deviceCodeParam.setFunCode("10"); deviceCodeParam.setFunCode("10");
deviceCodeParam.setRegisterAddr("010C"); deviceCodeParam.setRegisterAddr("010C");
rtData = serialPortSingle.serialPortSend(deviceCodeParam); rtData = serialPortSingle.serialPortSend(deviceCodeParam);
} else if (!StringUtils.isBlank(brand) && brand.equals("蒙浩") && !rtData.equals(Constant.FAIL) && deviceCodeParam.getRegisterAddr().equals("0000")) {
log.error("进入蒙浩时控控制指令发送");
// 需要继续发送指令
deviceCodeParam.setFunCode("10");
deviceCodeParam.setRegisterAddr("0004");
rtData = serialPortSingle.serialPortSend(deviceCodeParam);
} }
} }
} }
@ -394,9 +400,10 @@ public class DeviceControlServiceImpl implements DeviceControlService {
deviceCodeParam.setRegisterSize(1); deviceCodeParam.setRegisterSize(1);
if (Constant.WRITE.equals(type)) { if (Constant.WRITE.equals(type)) {
deviceCodeParam.setFunCode("06"); deviceCodeParam.setFunCode("06");
String[] time = split[1].split(":"); String time1 = split[1].substring(0, 2);
deviceCodeParam.setDataValue(String.valueOf(Integer.parseInt(time[0])*60 + Integer.parseInt(time[1]))); String time2 = split[1].substring(2, 4);
serialPortModel.setDataValue(String.valueOf(Integer.parseInt(time[0])*60 + Integer.parseInt(time[1]))); deviceCodeParam.setDataValue(String.valueOf(Integer.parseInt(time1)*60 + Integer.parseInt(time2)));
serialPortModel.setDataValue(String.valueOf(Integer.parseInt(time1)*60 + Integer.parseInt(time2)));
} }
break; break;
case "timeSetClose1": case "timeSetClose1":
@ -405,9 +412,10 @@ public class DeviceControlServiceImpl implements DeviceControlService {
deviceCodeParam.setRegisterSize(2); deviceCodeParam.setRegisterSize(2);
if (Constant.WRITE.equals(type)) { if (Constant.WRITE.equals(type)) {
deviceCodeParam.setFunCode("06"); deviceCodeParam.setFunCode("06");
String[] time = split[1].split(":"); String time1 = split[1].substring(0, 2);
deviceCodeParam.setDataValue(String.valueOf(Integer.parseInt(time[0])*60 + Integer.parseInt(time[1]))); String time2 = split[1].substring(2, 4);
serialPortModel.setDataValue(String.valueOf(Integer.parseInt(time[0])*60 + Integer.parseInt(time[1]))); deviceCodeParam.setDataValue(String.valueOf(Integer.parseInt(time1)*60 + Integer.parseInt(time2)));
serialPortModel.setDataValue(String.valueOf(Integer.parseInt(time1)*60 + Integer.parseInt(time2)));
} }
break; break;
case "timeSetOpen2": case "timeSetOpen2":
@ -416,9 +424,10 @@ public class DeviceControlServiceImpl implements DeviceControlService {
deviceCodeParam.setRegisterSize(1); deviceCodeParam.setRegisterSize(1);
if (Constant.WRITE.equals(type)) { if (Constant.WRITE.equals(type)) {
deviceCodeParam.setFunCode("06"); deviceCodeParam.setFunCode("06");
String[] time = split[1].split(":"); String time1 = split[1].substring(0, 2);
deviceCodeParam.setDataValue(String.valueOf(Integer.parseInt(time[0])*60 + Integer.parseInt(time[1]))); String time2 = split[1].substring(2, 4);
serialPortModel.setDataValue(String.valueOf(Integer.parseInt(time[0])*60 + Integer.parseInt(time[1]))); deviceCodeParam.setDataValue(String.valueOf(Integer.parseInt(time1)*60 + Integer.parseInt(time2)));
serialPortModel.setDataValue(String.valueOf(Integer.parseInt(time1)*60 + Integer.parseInt(time2)));
} }
break; break;
case "timeSetClose2": case "timeSetClose2":
@ -427,9 +436,10 @@ public class DeviceControlServiceImpl implements DeviceControlService {
deviceCodeParam.setRegisterSize(2); deviceCodeParam.setRegisterSize(2);
if (Constant.WRITE.equals(type)) { if (Constant.WRITE.equals(type)) {
deviceCodeParam.setFunCode("06"); deviceCodeParam.setFunCode("06");
String[] time = split[1].split(":"); String time1 = split[1].substring(0, 2);
deviceCodeParam.setDataValue(String.valueOf(Integer.parseInt(time[0])*60 + Integer.parseInt(time[1]))); String time2 = split[1].substring(2, 4);
serialPortModel.setDataValue(String.valueOf(Integer.parseInt(time[0])*60 + Integer.parseInt(time[1]))); deviceCodeParam.setDataValue(String.valueOf(Integer.parseInt(time1)*60 + Integer.parseInt(time2)));
serialPortModel.setDataValue(String.valueOf(Integer.parseInt(time1)*60 + Integer.parseInt(time2)));
} }
break; break;
case "timeSetOpen3": case "timeSetOpen3":
@ -438,9 +448,10 @@ public class DeviceControlServiceImpl implements DeviceControlService {
deviceCodeParam.setRegisterSize(1); deviceCodeParam.setRegisterSize(1);
if (Constant.WRITE.equals(type)) { if (Constant.WRITE.equals(type)) {
deviceCodeParam.setFunCode("06"); deviceCodeParam.setFunCode("06");
String[] time = split[1].split(":"); String time1 = split[1].substring(0, 2);
deviceCodeParam.setDataValue(String.valueOf(Integer.parseInt(time[0])*60 + Integer.parseInt(time[1]))); String time2 = split[1].substring(2, 4);
serialPortModel.setDataValue(String.valueOf(Integer.parseInt(time[0])*60 + Integer.parseInt(time[1]))); deviceCodeParam.setDataValue(String.valueOf(Integer.parseInt(time1)*60 + Integer.parseInt(time2)));
serialPortModel.setDataValue(String.valueOf(Integer.parseInt(time1)*60 + Integer.parseInt(time2)));
} }
break; break;
case "timeSetClose3": case "timeSetClose3":
@ -449,9 +460,10 @@ public class DeviceControlServiceImpl implements DeviceControlService {
deviceCodeParam.setRegisterSize(2); deviceCodeParam.setRegisterSize(2);
if (Constant.WRITE.equals(type)) { if (Constant.WRITE.equals(type)) {
deviceCodeParam.setFunCode("06"); deviceCodeParam.setFunCode("06");
String[] time = split[1].split(":"); String time1 = split[1].substring(0, 2);
deviceCodeParam.setDataValue(String.valueOf(Integer.parseInt(time[0])*60 + Integer.parseInt(time[1]))); String time2 = split[1].substring(2, 4);
serialPortModel.setDataValue(String.valueOf(Integer.parseInt(time[0])*60 + Integer.parseInt(time[1]))); deviceCodeParam.setDataValue(String.valueOf(Integer.parseInt(time1)*60 + Integer.parseInt(time2)));
serialPortModel.setDataValue(String.valueOf(Integer.parseInt(time1)*60 + Integer.parseInt(time2)));
} }
break; break;
case "timeSetOpen4": case "timeSetOpen4":
@ -460,9 +472,10 @@ public class DeviceControlServiceImpl implements DeviceControlService {
deviceCodeParam.setRegisterSize(1); deviceCodeParam.setRegisterSize(1);
if (Constant.WRITE.equals(type)) { if (Constant.WRITE.equals(type)) {
deviceCodeParam.setFunCode("06"); deviceCodeParam.setFunCode("06");
String[] time = split[1].split(":"); String time1 = split[1].substring(0, 2);
deviceCodeParam.setDataValue(String.valueOf(Integer.parseInt(time[0])*60 + Integer.parseInt(time[1]))); String time2 = split[1].substring(2, 4);
serialPortModel.setDataValue(String.valueOf(Integer.parseInt(time[0])*60 + Integer.parseInt(time[1]))); deviceCodeParam.setDataValue(String.valueOf(Integer.parseInt(time1)*60 + Integer.parseInt(time2)));
serialPortModel.setDataValue(String.valueOf(Integer.parseInt(time1)*60 + Integer.parseInt(time2)));
} }
break; break;
case "timeSetClose4": case "timeSetClose4":
@ -471,9 +484,10 @@ public class DeviceControlServiceImpl implements DeviceControlService {
deviceCodeParam.setRegisterSize(2); deviceCodeParam.setRegisterSize(2);
if (Constant.WRITE.equals(type)) { if (Constant.WRITE.equals(type)) {
deviceCodeParam.setFunCode("06"); deviceCodeParam.setFunCode("06");
String[] time = split[1].split(":"); String time1 = split[1].substring(0, 2);
deviceCodeParam.setDataValue(String.valueOf(Integer.parseInt(time[0])*60 + Integer.parseInt(time[1]))); String time2 = split[1].substring(2, 4);
serialPortModel.setDataValue(String.valueOf(Integer.parseInt(time[0])*60 + Integer.parseInt(time[1]))); deviceCodeParam.setDataValue(String.valueOf(Integer.parseInt(time1)*60 + Integer.parseInt(time2)));
serialPortModel.setDataValue(String.valueOf(Integer.parseInt(time1)*60 + Integer.parseInt(time2)));
} }
break; break;
case "channelSet": case "channelSet":

12
user-service/src/main/java/com/mh/user/service/impl/DeviceInstallServiceImpl.java

@ -1,6 +1,7 @@
package com.mh.user.service.impl; package com.mh.user.service.impl;
import com.github.pagehelper.util.StringUtil; import com.github.pagehelper.util.StringUtil;
import com.mh.user.constants.Constant;
import com.mh.user.entity.DeviceCodeParamEntity; import com.mh.user.entity.DeviceCodeParamEntity;
import com.mh.user.entity.DeviceInstallEntity; import com.mh.user.entity.DeviceInstallEntity;
import com.mh.user.entity.DeviceInstallTempEntity; import com.mh.user.entity.DeviceInstallTempEntity;
@ -72,6 +73,17 @@ public class DeviceInstallServiceImpl implements DeviceInstallService {
deviceCodeParamEntity.setThread(deviceInstallEntity.getDataCom().toLowerCase().replace("com", "")); deviceCodeParamEntity.setThread(deviceInstallEntity.getDataCom().toLowerCase().replace("com", ""));
// 顺便生成采集信息 // 顺便生成采集信息
switch (deviceInstallEntity.getDeviceType()) { switch (deviceInstallEntity.getDeviceType()) {
case "多路控制":
if (Constant.BRAND_YUAN_XIANG.equals(deviceInstallEntity.getBrand())) {
deviceCodeParamEntity.setRegisterAddr("0018");//DO点:读多路启停状态
deviceCodeParamEntity.setFunCode("03");
deviceCodeParamMapper.insertDeviceCodeParamList3(Collections.singletonList(deviceCodeParamEntity));
deviceCodeParamEntity.setRegisterAddr("0010");//DI点:读取多路运行故障状态
deviceCodeParamEntity.setFunCode("03");
deviceCodeParamMapper.insertDeviceCodeParamList3(Collections.singletonList(deviceCodeParamEntity));
}
break;
case "压变": case "压变":
case "温度变送器": case "温度变送器":
case "温控": case "温控":

12
user-service/src/main/java/com/mh/user/strategy/TimeControlStrategy.java

@ -64,17 +64,17 @@ public class TimeControlStrategy implements DeviceStrategy {
} else if (funCode.equals("10")) {//写 } else if (funCode.equals("10")) {//写
// 判断寄存器地址 // 判断寄存器地址
registerAddr = registerAddr.toUpperCase(); registerAddr = registerAddr.toUpperCase();
if ("0108".equals(registerAddr)) { if ("0000".equals(registerAddr)) {
// 1F1001080003060014001200225B97 // 1F1001080003060014001200225B97
str = str + funCode + registerAddr + "000306" str = str + funCode + registerAddr + "000306"
+ "00" + dataValue.substring(2, 4) // 年 + "00" + ExchangeStringUtil.addZeroForNum(ExchangeStringUtil.decToHex(dataValue.substring(2, 4)), 2) // 年
+ "00" + dataValue.substring(4,6) // 月 + "00" + ExchangeStringUtil.addZeroForNum(ExchangeStringUtil.decToHex(dataValue.substring(4, 6)), 2) // 月
+ "00" + dataValue.substring(6,8); // 日 + "00" + ExchangeStringUtil.addZeroForNum(ExchangeStringUtil.decToHex(dataValue.substring(6, 8)), 2) ; // 日
} else if ("0004".equals(registerAddr)) { } else if ("0004".equals(registerAddr)) {
// 1F10010C0004080015004300300002BA23 // 1F10010C0004080015004300300002BA23
str = str + funCode + registerAddr + "000306" str = str + funCode + registerAddr + "000306"
+ "00" + dataValue.substring(8, 10) // 时 + "00" + ExchangeStringUtil.addZeroForNum(ExchangeStringUtil.decToHex(dataValue.substring(8, 10)), 2) // 时
+ "00" + dataValue.substring(10,12) // 分 + "00" + ExchangeStringUtil.addZeroForNum(ExchangeStringUtil.decToHex(dataValue.substring(10, 12)), 2) // 分
+ "0000"; // 秒 + "0000"; // 秒
} }
} else if (funCode.equals("06")) { } else if (funCode.equals("06")) {

Loading…
Cancel
Save