Browse Source

1、增加循环泵相关数据展示;

dev
3067418132@qq.com 2 weeks ago
parent
commit
63985b2bd8
  1. 4
      mh-common/src/main/java/com/mh/common/core/domain/dto/HotWaterNowDataDTO.java
  2. 38
      mh-common/src/main/java/com/mh/common/core/domain/vo/HotWaterControlVO.java
  3. 93
      mh-system/src/main/java/com/mh/system/service/device/impl/CollectionParamsManageServiceImpl.java

4
mh-common/src/main/java/com/mh/common/core/domain/dto/HotWaterNowDataDTO.java

@ -46,6 +46,10 @@ public class HotWaterNowDataDTO {
private String backWaterState; // 回水状态 private String backWaterState; // 回水状态
private String loopPumpState1; // 1循环泵状态:0:关机 1:运行 2:故障
private String loopPumpState2; // 2循环泵状态:0:关机 1:运行 2:故障
private int orderNum; private int orderNum;
} }

38
mh-common/src/main/java/com/mh/common/core/domain/vo/HotWaterControlVO.java

@ -115,6 +115,44 @@ public class HotWaterControlVO {
private int emergencyStopStatus; private int emergencyStopStatus;
private String emergencyStopStatusId; private String emergencyStopStatusId;
// 最低设置值 44
private int minSet;
private String minSetId;
// 校准值
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "0")
private BigDecimal calibrationValue;
private String calibrationValueId;
// 工程量最低值
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "0")
private BigDecimal engineeringMinValue;
private String engineeringMinValueId;
// 工程量最高值
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "0")
private BigDecimal engineeringMaxValue;
private String engineeringMaxValueId;
// 数字量最低值
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "0")
private BigDecimal digitalMinValue;
private String digitalMinValueId;
// 数字量最高值
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "0")
private BigDecimal digitalMaxValue;
private String digitalMaxValueId;
// 中间值
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "0")
private BigDecimal middleValue;
private String middleValueId;
// 累积运行时长:小时单位
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "0")
private BigDecimal runningTime;
private String runningTimeId;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date curTime; private Date curTime;

93
mh-system/src/main/java/com/mh/system/service/device/impl/CollectionParamsManageServiceImpl.java

@ -769,6 +769,32 @@ public class CollectionParamsManageServiceImpl implements ICollectionParamsManag
result.forEach(dto -> dto.setBackWaterState(backWaterState ? "1" : "0")); result.forEach(dto -> dto.setBackWaterState(backWaterState ? "1" : "0"));
} }
// 处理循环泵deviceType=24
List<DeviceMonitorVO> waterLoopPumps = collectionParamsManageMapper.selectHotWaterBySystemTypeAndBuildingIdAndDeviceType(systemType, floorId, "24");
if (!waterLoopPumps.isEmpty()) {
// 循环泵状态:0:关机 1:运行 2:故障
// 遍历获取1\2号循环泵状态
waterLoopPumps.stream()
.filter(vo -> "1".equals(vo.getParamType()) && vo.getCollectValue() != null)
.forEach(vo -> {
if (vo.getOrderNum()==1) {
result.forEach(dto -> dto.setLoopPumpState1(String.valueOf(new BigDecimal(vo.getCollectValue()).intValue())));
} else if (vo.getOrderNum()==2) {
result.forEach(dto -> dto.setLoopPumpState2(String.valueOf(new BigDecimal(vo.getCollectValue()).intValue())));
}
});
// 在判断paramType=5值是否是1,如果是1,就赋值循环泵状态2
waterLoopPumps.stream()
.filter(vo -> "5".equals(vo.getParamType()) && vo.getCollectValue() != null && new BigDecimal(vo.getCollectValue()).intValue()==1)
.forEach(vo -> {
if (vo.getOrderNum()==1) {
result.forEach(dto -> dto.setLoopPumpState1("2"));
} else if (vo.getOrderNum()==2) {
result.forEach(dto -> dto.setLoopPumpState2("2"));
}
});
}
// // 处理水箱液位(deviceType=16) // // 处理水箱液位(deviceType=16)
// List<DeviceMonitorVO> waterLevels = collectionParamsManageMapper.selectHotWaterBySystemTypeAndBuildingIdAndDeviceType(systemType, floorId, "16"); // List<DeviceMonitorVO> waterLevels = collectionParamsManageMapper.selectHotWaterBySystemTypeAndBuildingIdAndDeviceType(systemType, floorId, "16");
@ -848,10 +874,23 @@ public class CollectionParamsManageServiceImpl implements ICollectionParamsManag
dlItems.forEach(item -> { dlItems.forEach(item -> {
switch (item.getParamType()) { switch (item.getParamType()) {
case "0":
handleCalibrationParameters(vo, item);
break;
case "1": case "1":
// 运行状态 case "48":
vo.setRunningStatus(item.getCurValue().intValue()); if (item.getParamType().equals("1")) {
vo.setRunningStatusId(item.getCpmId()); // 运行状态
vo.setRunningStatus(item.getCurValue().intValue());
vo.setRunningStatusId(item.getCpmId());
} else {
List<HotWaterControlListVO> list = dlItems.stream()
.filter(v -> "48".equals(v.getParamType()) && (v.getCurValue().compareTo(new BigDecimal("1")) > 0)).toList();
if (!list.isEmpty()) {
vo.setRunningStatus(1);
vo.setRunningStatusId(list.getFirst().getCpmId());
}
}
break; break;
case "2": case "2":
vo.setSwitchStatus(item.getCurValue().intValue()); vo.setSwitchStatus(item.getCurValue().intValue());
@ -882,11 +921,11 @@ public class CollectionParamsManageServiceImpl implements ICollectionParamsManag
vo.setCloseSwitchId(item.getCpmId()); vo.setCloseSwitchId(item.getCpmId());
break; break;
case "10": case "10":
vo.setWaterLevelSet(item.getCurValue()); vo.setWaterLevelSet(BigDecimal.valueOf(item.getCurValue().intValue()));
vo.setWaterLevelSetId(item.getCpmId()); vo.setWaterLevelSetId(item.getCpmId());
break; break;
case "11": case "11":
vo.setWaterLevel(item.getCurValue()); vo.setWaterLevel(BigDecimal.valueOf(item.getCurValue().intValue()));
vo.setCurTime(item.getCurTime()); vo.setCurTime(item.getCurTime());
vo.setWaterLevelId(item.getCpmId()); vo.setWaterLevelId(item.getCpmId());
break; break;
@ -906,20 +945,25 @@ public class CollectionParamsManageServiceImpl implements ICollectionParamsManag
vo.setPressureSet(item.getCurValue()); vo.setPressureSet(item.getCurValue());
vo.setPressureSetId(item.getCpmId()); vo.setPressureSetId(item.getCpmId());
break; break;
case "26":
// 累计运行时间
vo.setRunningTime(item.getCurValue());
vo.setRunningTimeId(item.getCpmId());
break;
case "34": case "34":
vo.setDelayTimeSet(item.getCurValue()); vo.setDelayTimeSet(BigDecimal.valueOf(item.getCurValue().intValue()));
vo.setDelayTimeSetId(item.getCpmId()); vo.setDelayTimeSetId(item.getCpmId());
break; break;
case "35": case "35":
vo.setDiffValueSet(item.getCurValue()); vo.setDiffValueSet(BigDecimal.valueOf(item.getCurValue().intValue()));
vo.setDiffValueSetId(item.getCpmId()); vo.setDiffValueSetId(item.getCpmId());
break; break;
case "36": case "36":
vo.setCounterSet(item.getCurValue()); vo.setCounterSet(BigDecimal.valueOf(item.getCurValue().intValue()));
vo.setCounterSetId(item.getCpmId()); vo.setCounterSetId(item.getCpmId());
break; break;
case "37": case "37":
vo.setSwitchTimeSet(item.getCurValue()); vo.setSwitchTimeSet(BigDecimal.valueOf(item.getCurValue().intValue()));
vo.setSwitchTimeSetId(item.getCpmId()); vo.setSwitchTimeSetId(item.getCpmId());
break; break;
case "38": case "38":
@ -930,6 +974,11 @@ public class CollectionParamsManageServiceImpl implements ICollectionParamsManag
vo.setEmergencyStopStatus(item.getCurValue().intValue()); vo.setEmergencyStopStatus(item.getCurValue().intValue());
vo.setEmergencyStopStatusId(item.getCpmId()); vo.setEmergencyStopStatusId(item.getCpmId());
break; break;
case "44":
// 最低设置值
vo.setMinSet(item.getCurValue().intValue());
vo.setMinSetId(item.getCpmId());
break;
default: default:
// 处理未识别的paramType或忽略 // 处理未识别的paramType或忽略
break; break;
@ -948,6 +997,32 @@ public class CollectionParamsManageServiceImpl implements ICollectionParamsManag
.collect(Collectors.toList()); .collect(Collectors.toList());
} }
private void handleCalibrationParameters(HotWaterControlVO deviceCalibrationVo, HotWaterControlListVO item) {
String otherName = item.getOtherName();
BigDecimal value = item.getCurValue();
String cpmId = item.getCpmId();
if (otherName.contains("工程量上限")) {
deviceCalibrationVo.setEngineeringMaxValue(value);
deviceCalibrationVo.setEngineeringMaxValueId(cpmId);
} else if (otherName.contains("工程量下限")) {
deviceCalibrationVo.setEngineeringMinValue(value);
deviceCalibrationVo.setEngineeringMinValueId(cpmId);
} else if (otherName.contains("数字量上限")) {
deviceCalibrationVo.setDigitalMaxValue(value);
deviceCalibrationVo.setDigitalMaxValueId(cpmId);
} else if (otherName.contains("数字量下限")) {
deviceCalibrationVo.setDigitalMinValue(value);
deviceCalibrationVo.setDigitalMinValueId(cpmId);
} else if (otherName.contains("校准值")) {
deviceCalibrationVo.setCalibrationValue(value);
deviceCalibrationVo.setCalibrationValueId(cpmId);
} else if (otherName.contains("中间值")) {
deviceCalibrationVo.setMiddleValue(value);
deviceCalibrationVo.setMiddleValueId(cpmId);
}
}
@Override @Override
public List<DeviceMonitorDTO> selectMonitorListBySystemTypeAndHouseId(String systemType, String houseId) { public List<DeviceMonitorDTO> selectMonitorListBySystemTypeAndHouseId(String systemType, String houseId) {
// 根据系统类型查询出对应的设备 // 根据系统类型查询出对应的设备

Loading…
Cancel
Save