diff --git a/user-service/src/main/java/com/mh/user/dto/HotWaterSupplyPumpControlVO.java b/user-service/src/main/java/com/mh/user/dto/HotWaterSupplyPumpControlVO.java index 483bdc6..372cd7d 100644 --- a/user-service/src/main/java/com/mh/user/dto/HotWaterSupplyPumpControlVO.java +++ b/user-service/src/main/java/com/mh/user/dto/HotWaterSupplyPumpControlVO.java @@ -195,6 +195,13 @@ public class HotWaterSupplyPumpControlVO implements TimeControlVO { private BigDecimal pressureSet; private String pressureSetId; + /** + * + * @return + */ + private int controlMode; + private String controlModeId; + @Override public String toString() { return new StringJoiner(", ", HotWaterSupplyPumpControlVO.class.getSimpleName() + "[", "]") diff --git a/user-service/src/main/java/com/mh/user/dto/HotWaterSystemControlVO.java b/user-service/src/main/java/com/mh/user/dto/HotWaterSystemControlVO.java index 05f03a2..8acb433 100644 --- a/user-service/src/main/java/com/mh/user/dto/HotWaterSystemControlVO.java +++ b/user-service/src/main/java/com/mh/user/dto/HotWaterSystemControlVO.java @@ -135,7 +135,7 @@ public class HotWaterSystemControlVO { * pressureSet 压力设置 * @return */ - private int pressureSet; + private BigDecimal pressureSet; private String pressureSetId; /** @@ -159,6 +159,10 @@ public class HotWaterSystemControlVO { private int tankHeight; private String tankHeightId; + // 控制模式 + private int controlMode; + private String controlModeId; + @Override public String toString() { return new StringJoiner(", ", HotWaterSystemControlVO.class.getSimpleName() + "[", "]") diff --git a/user-service/src/main/java/com/mh/user/dto/SolenoidValveControlVO.java b/user-service/src/main/java/com/mh/user/dto/SolenoidValveControlVO.java index 33e1916..50496af 100644 --- a/user-service/src/main/java/com/mh/user/dto/SolenoidValveControlVO.java +++ b/user-service/src/main/java/com/mh/user/dto/SolenoidValveControlVO.java @@ -139,6 +139,37 @@ public class SolenoidValveControlVO implements TimeControlVO { private int controlMode; private String controlModeId; + // 单箱液位设置上限 + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "0") + private BigDecimal setSingleUpperLimit; + private String setSingleUpperLimitId; + + // 单箱液位设置下限 + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "0") + private BigDecimal setSingleLowerLimit; + private String setSingleLowerLimitId; + + // 液位设置 + // 单箱液位设置 + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "0") + private BigDecimal setSingleLevel; + private String setSingleLevelId; + + // 多箱液位设置上限 + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "0") + private BigDecimal setMultiUpperLimit; + private String setMultiUpperLimitId; + // 多箱液位设置下限 + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "0") + private BigDecimal setMultiLowerLimit; + private String setMultiLowerLimitId; + + // 液位设置 + // 多箱液位设置 + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "0") + private BigDecimal setMultiLevel; + private String setMultiLevelId; + @Override public String toString() { return new StringJoiner(", ", SolenoidValveControlVO.class.getSimpleName() + "[", "]") diff --git a/user-service/src/main/java/com/mh/user/job/CollectionLoopRunner.java b/user-service/src/main/java/com/mh/user/job/CollectionLoopRunner.java index 37a3bd5..0ba5f51 100644 --- a/user-service/src/main/java/com/mh/user/job/CollectionLoopRunner.java +++ b/user-service/src/main/java/com/mh/user/job/CollectionLoopRunner.java @@ -69,8 +69,8 @@ public class CollectionLoopRunner implements ApplicationRunner { // 获取天气数据 getWeatherInfoJob.getWeatherInfo(); // 启动netty端口 - NettyEchoServer nettyEchoServer = new NettyEchoServer(); - nettyEchoServer.bind(8098); +// NettyEchoServer nettyEchoServer = new NettyEchoServer(); +// nettyEchoServer.bind(8098); // 初始化mqtt订阅记录 // initializeMqttSubscription(); } diff --git a/user-service/src/main/java/com/mh/user/job/DealDataJob.java b/user-service/src/main/java/com/mh/user/job/DealDataJob.java index e823432..35b47bc 100644 --- a/user-service/src/main/java/com/mh/user/job/DealDataJob.java +++ b/user-service/src/main/java/com/mh/user/job/DealDataJob.java @@ -74,7 +74,7 @@ public class DealDataJob { /** * 采集 */ - @Scheduled(cron = "35 0/2 * * * ?") +// @Scheduled(cron = "35 0/2 * * * ?") // @Scheduled(cron = "0 0/1 * * * ?") // @Scheduled(cron = "0 0/5 * * * ?") //5分钟 public void collect() { diff --git a/user-service/src/main/java/com/mh/user/job/S7PlcCollectionJob.java b/user-service/src/main/java/com/mh/user/job/S7PlcCollectionJob.java index fda3772..0cf1c11 100644 --- a/user-service/src/main/java/com/mh/user/job/S7PlcCollectionJob.java +++ b/user-service/src/main/java/com/mh/user/job/S7PlcCollectionJob.java @@ -57,7 +57,7 @@ public class S7PlcCollectionJob { * 每5分钟执行一次,可根据实际需求调整 * 优先处理手动操作:如果Constant.WEB_PLC_FLAG为true,则跳过本次采集 */ - @Scheduled(cron = "0 0/5 * * * ?") +// @Scheduled(cron = "0 0/5 * * * ?") public void collectS7Data() { log.info("------S7 PLC定时采集开始>>>>Constant.FLAG=={}------", Constant.PLC_FLAG); diff --git a/user-service/src/main/java/com/mh/user/service/impl/CollectionParamsManageServiceImpl.java b/user-service/src/main/java/com/mh/user/service/impl/CollectionParamsManageServiceImpl.java index 3a004d3..400455e 100644 --- a/user-service/src/main/java/com/mh/user/service/impl/CollectionParamsManageServiceImpl.java +++ b/user-service/src/main/java/com/mh/user/service/impl/CollectionParamsManageServiceImpl.java @@ -348,6 +348,7 @@ public class CollectionParamsManageServiceImpl implements CollectionParamsManage case "循环泵": return createCircuitPumpControlVO(dlEntry, dlItems, parentDto); case "供水泵": + case "供回水设置": return createSupplyPumpControlVO(dlEntry, dlItems, parentDto); case "回水泵": return createBackPumpControlVO(dlEntry, dlItems, parentDto); @@ -355,9 +356,12 @@ public class CollectionParamsManageServiceImpl implements CollectionParamsManage case "多箱电动阀": return createElectricValveControlVO(dlEntry, dlItems, parentDto); case "单箱电磁阀": + case "单箱设置": + case "多箱设置": case "多箱电磁阀": return createSolenoidValveControlVO(dlEntry, dlItems, parentDto); case "补水电磁阀": + case "补水设置": return createHydrateSolenoidValveControlVO(dlEntry, dlItems, parentDto); case "设备校准": return createDeviceCalibrationControlVO(dlEntry, dlItems, parentDto); @@ -429,7 +433,7 @@ public class CollectionParamsManageServiceImpl implements CollectionParamsManage case "26": // 液位上限 // 判断是否是单箱或者多箱 - if (parentDto.getName().contains("单箱")) { + if (item.getOtherName().contains("单箱")) { circuitPumpVo.setSetSingleUpperLimit(item.getCurValue()); circuitPumpVo.setSetSingleUpperLimitId(item.getCpmId()); } else { @@ -439,7 +443,7 @@ public class CollectionParamsManageServiceImpl implements CollectionParamsManage break; case "27": // 液位下限 - if (parentDto.getName().contains("单箱")) { + if (item.getOtherName().contains("单箱")) { circuitPumpVo.setSetSingleLowerLimit(item.getCurValue()); circuitPumpVo.setSetSingleLowerLimitId(item.getCpmId()); } else { @@ -449,7 +453,7 @@ public class CollectionParamsManageServiceImpl implements CollectionParamsManage break; case "39": // 液位设置 - if (parentDto.getName().contains("单箱")) { + if (item.getOtherName().contains("单箱")) { circuitPumpVo.setSetSingleLevel(item.getCurValue()); circuitPumpVo.setSetSingleLevelId(item.getCpmId()); } else { @@ -551,14 +555,43 @@ public class CollectionParamsManageServiceImpl implements CollectionParamsManage circuitPumpVo.setManualAutoSwitchId(item.getCpmId()); break; case "26": - // 温度上限 - circuitPumpVo.setSetUpperLimit(item.getCurValue()); - circuitPumpVo.setSetUpperLimitId(item.getCpmId()); + // 液位上限 + // 判断是否是单箱或者多箱 + if (item.getOtherName().contains("单箱")) { + circuitPumpVo.setSetSingleUpperLimit(item.getCurValue()); + circuitPumpVo.setSetSingleUpperLimitId(item.getCpmId()); + } else if (item.getOtherName().contains("温度")) { + // 温度上限 + circuitPumpVo.setSetUpperLimit(item.getCurValue()); + circuitPumpVo.setSetUpperLimitId(item.getCpmId()); + } else { + circuitPumpVo.setSetMultiUpperLimit(item.getCurValue()); + circuitPumpVo.setSetMultiUpperLimitId(item.getCpmId()); + } break; case "27": - // 温度下限 - circuitPumpVo.setSetLowerLimit(item.getCurValue()); - circuitPumpVo.setSetLowerLimitId(item.getCpmId()); + // 液位下限 + if (item.getOtherName().contains("单箱")) { + circuitPumpVo.setSetSingleLowerLimit(item.getCurValue()); + circuitPumpVo.setSetSingleLowerLimitId(item.getCpmId()); + } else if (item.getOtherName().contains("温度")) { + // 温度下限 + circuitPumpVo.setSetLowerLimit(item.getCurValue()); + circuitPumpVo.setSetLowerLimitId(item.getCpmId()); + } else { + circuitPumpVo.setSetMultiLowerLimit(item.getCurValue()); + circuitPumpVo.setSetMultiLowerLimitId(item.getCpmId()); + } + break; + case "39": + // 液位设置 + if (item.getOtherName().contains("单箱")) { + circuitPumpVo.setSetSingleLevel(item.getCurValue()); + circuitPumpVo.setSetSingleLevelId(item.getCpmId()); + } else { + circuitPumpVo.setSetMultiLevel(item.getCurValue()); + circuitPumpVo.setSetMultiLevelId(item.getCpmId()); + } break; case "41": // 控制模式 @@ -810,6 +843,11 @@ public class CollectionParamsManageServiceImpl implements CollectionParamsManage supplyPumpVo.setReducePumpErrorSetId(item.getCpmId()); } break; + case "41": + // 控制模式 + supplyPumpVo.setControlMode(item.getCurValue().intValue()); + supplyPumpVo.setControlModeId(item.getCpmId()); + break; default: break; } @@ -905,9 +943,14 @@ public class CollectionParamsManageServiceImpl implements CollectionParamsManage vo.setTimeSetId(item.getCpmId()); break; case "22": - // 校时手自动切换 - vo.setTimeSetAuto(item.getCurValue().intValue()); - vo.setTimeSetAutoId(item.getCpmId()); + if (item.getOtherName().contains("温控")) { + vo.setControlMode(item.getCurValue().intValue()); + vo.setControlModeId(item.getCpmId()); + } else { + // 校时手自动切换 + vo.setTimeSetAuto(item.getCurValue().intValue()); + vo.setTimeSetAutoId(item.getCpmId()); + } break; case "5": // 压力 @@ -916,7 +959,7 @@ public class CollectionParamsManageServiceImpl implements CollectionParamsManage break; case "32": // 压力设置 - vo.setPressureSet(item.getCurValue().intValue()); + vo.setPressureSet(item.getCurValue()); vo.setPressureSetId(item.getCpmId()); break; case "6": diff --git a/user-service/src/main/java/com/mh/user/strategy/TimeControlStrategy.java b/user-service/src/main/java/com/mh/user/strategy/TimeControlStrategy.java index cd0d13c..22d3f42 100644 --- a/user-service/src/main/java/com/mh/user/strategy/TimeControlStrategy.java +++ b/user-service/src/main/java/com/mh/user/strategy/TimeControlStrategy.java @@ -112,11 +112,11 @@ public class TimeControlStrategy implements DeviceStrategy { + "00" + dataValue.substring(10,12) // 分 + "0000" // 秒 + "0002"; // 只写 写2设置日期,写1读取日期 - } else if ("0041".equals(registerAddr)) { + } else if ("0041".equals(registerAddr) || isExactlyDivisible("0041", registerAddr)) { str = str + funCode + registerAddr + "000204" + "00" + dataValue.substring(0, 2) // 分 + "00" + dataValue.substring(2, 4); // 秒 - } else if ("0044".equals(registerAddr)) { + } else if ("0044".equals(registerAddr) || isExactlyDivisible("0044", registerAddr)) { str = str + funCode + registerAddr + "000204" + ExchangeStringUtil.addZeroForNum(ExchangeStringUtil.parseByte2HexStr(dataValue.substring(0, 8)), 4) // 1-8路 + ExchangeStringUtil.addZeroForNum(ExchangeStringUtil.parseByte2HexStr(dataValue.substring(8, 16)), 4); // 9-16路 diff --git a/user-service/src/main/resources/application.yml b/user-service/src/main/resources/application.yml index 081dc84..5f109b8 100644 --- a/user-service/src/main/resources/application.yml +++ b/user-service/src/main/resources/application.yml @@ -1,6 +1,6 @@ spring: profiles: - active: prod + active: dev mvc: pathmatch: matching-strategy: ant_path_matcher