|
@@ -62,15 +62,15 @@ public class InterlockSummaryServiceImpl extends ServiceImpl<InterlockSummaryMap
|
|
|
@Autowired
|
|
|
@SuppressWarnings("all")
|
|
|
private InterlockDetailTempMapper detailTempMapper;
|
|
|
- @Autowired
|
|
|
- @SuppressWarnings("all")
|
|
|
- private IInterlockDetailTempService interlockDetailTempService;
|
|
|
+// @Autowired
|
|
|
+// @SuppressWarnings("all")
|
|
|
+// private IInterlockDetailTempService interlockDetailTempService;
|
|
|
@Autowired
|
|
|
@SuppressWarnings("all")
|
|
|
private InterlockDetailMapper interlockDetailMapper;
|
|
|
- @Autowired
|
|
|
- @SuppressWarnings("all")
|
|
|
- private IInterlockDetailService interlockDetailService;
|
|
|
+// @Autowired
|
|
|
+// @SuppressWarnings("all")
|
|
|
+// private IInterlockDetailService interlockDetailService;
|
|
|
@Autowired
|
|
|
@SuppressWarnings("all")
|
|
|
private InterlockBaseMapper interlockBaseMapper;
|
|
@@ -243,37 +243,22 @@ public class InterlockSummaryServiceImpl extends ServiceImpl<InterlockSummaryMap
|
|
|
String instrumentStatus = instrumentStatusNormal;// 总体 先设置为 仪表状态-正常
|
|
|
|
|
|
|
|
|
-// //删除该联锁的所有联锁详细信息的所有点位
|
|
|
-// LambdaQueryWrapper<InterlockTag> queryWrapper3 = new LambdaQueryWrapper<>();
|
|
|
-// queryWrapper3.eq(InterlockTag::getInterlockSummaryId, summaryId);
|
|
|
-// interlockTagService.remove(queryWrapper3);
|
|
|
-// //删除该联锁下所有联锁详细信息
|
|
|
-// LambdaQueryWrapper<InterlockDetail> queryWrapper1 = new LambdaQueryWrapper<>();
|
|
|
-// queryWrapper1.eq(InterlockDetail::getSummaryid,summaryId);
|
|
|
-// interlockDetailMapper.delete(queryWrapper1);
|
|
|
-// //删除该联锁对应的联锁详细信息临时表数据
|
|
|
-// LambdaQueryWrapper<InterlockDetailTemp> queryWrapper2= new LambdaQueryWrapper<>();
|
|
|
-// queryWrapper2.eq(InterlockDetailTemp::getSummaryid,summaryId);
|
|
|
-// detailTempMapper.delete(queryWrapper2);
|
|
|
+ //删除该联锁的所有联锁详细信息的所有点位
|
|
|
+ LambdaQueryWrapper<InterlockTag> queryWrapper3 = new LambdaQueryWrapper<>();
|
|
|
+ queryWrapper3.eq(InterlockTag::getInterlockSummaryId, summaryId);
|
|
|
+ interlockTagService.remove(queryWrapper3);
|
|
|
+ //删除该联锁下所有联锁详细信息
|
|
|
+ LambdaQueryWrapper<InterlockDetail> queryWrapper1 = new LambdaQueryWrapper<>();
|
|
|
+ queryWrapper1.eq(InterlockDetail::getSummaryid,summaryId);
|
|
|
+ interlockDetailMapper.delete(queryWrapper1);
|
|
|
+ //删除该联锁对应的联锁详细信息临时表数据
|
|
|
+ LambdaQueryWrapper<InterlockDetailTemp> queryWrapper2= new LambdaQueryWrapper<>();
|
|
|
+ queryWrapper2.eq(InterlockDetailTemp::getSummaryid,summaryId);
|
|
|
+ detailTempMapper.delete(queryWrapper2);
|
|
|
|
|
|
- //修改之后的数据列表
|
|
|
- List<InterlockTag> interlockTagListNew = new ArrayList<>();
|
|
|
- List<InterlockDetail> interlockDetailListNew = new ArrayList<>();
|
|
|
- List<InterlockDetailTemp> interlockDetailTempListNew = new ArrayList<>();
|
|
|
-
|
|
|
- //修改——联锁输出值点位
|
|
|
-// for(InterlockTag interlockTag:interlockTagListOrg){
|
|
|
-// if(InterlockConstants.INTERLOCK_OUT_VALUE.equals(interlockTag.getParameterType())){
|
|
|
-// interlockTag.setDeviceId(interlockAddDTO.getDeviceId());
|
|
|
-// interlockTag.setModuleName(interlockAddDTO.getModuleName());
|
|
|
-// interlockTag.setTagValue(interlockAddDTO.getInterlockOutValueTag());
|
|
|
-// interlockTagListNew.add(interlockTag);//添加修改之后的联锁输出值点位信息
|
|
|
-// break;
|
|
|
-// }
|
|
|
-// }
|
|
|
-// interlockTagService.save(createInterlockTag(interlockAddDTO.getDeviceId(),interlockAddDTO.getModuleName(), interlockAddDTO.getInterlockOutValueTag(), interlockAddDTO.getInterlockOutValue(), InterlockConstants.INTERLOCK_OUT_VALUE,summaryId,summaryId));
|
|
|
- interlockTagListNew.add(createInterlockTag(interlockAddDTO.getDeviceId(),interlockAddDTO.getModuleName(), interlockAddDTO.getInterlockOutValueTag(), interlockAddDTO.getInterlockOutValue(), InterlockConstants.INTERLOCK_OUT_VALUE,summaryId,summaryId));
|
|
|
|
|
|
+ //新增——联锁输出值点位
|
|
|
+ interlockTagService.save(createInterlockTag(interlockAddDTO.getDeviceId(),interlockAddDTO.getModuleName(), interlockAddDTO.getInterlockOutValueTag(), interlockAddDTO.getInterlockOutValue(), InterlockConstants.INTERLOCK_OUT_VALUE,summaryId,summaryId));
|
|
|
|
|
|
for (InterlockDetailAddDTO dto : interlockDetailAddDTOList){
|
|
|
|
|
@@ -317,7 +302,11 @@ public class InterlockSummaryServiceImpl extends ServiceImpl<InterlockSummaryMap
|
|
|
String beginDate = beginDateTime.format(formatter); // 开始时间 规定时间的开始时间
|
|
|
|
|
|
IotedgeCollectData iotedgeData = iotedgeCollectDataService.getOneInfo(dto.getYsmnlDeviceId(),dto.getYsmnlModuleName(),dto.getYsmnlTag(),beginDate);
|
|
|
- BigDecimal beginValue = new BigDecimal(iotedgeData.getValue());
|
|
|
+ BigDecimal beginValue = new BigDecimal("0");
|
|
|
+ if(iotedgeData != null){
|
|
|
+ beginValue = new BigDecimal(iotedgeData.getValue());
|
|
|
+ }
|
|
|
+// BigDecimal beginValue = new BigDecimal(iotedgeData.getValue());
|
|
|
BigDecimal num = ysmnlValue.subtract(beginValue);
|
|
|
|
|
|
// (高限-底限) * 阈值 (数据库中的阈值是去掉百分比的直接乘即可)
|
|
@@ -330,7 +319,11 @@ public class InterlockSummaryServiceImpl extends ServiceImpl<InterlockSummaryMap
|
|
|
// dto.setInstrumentStatus(instrumentStatusAbnormal); // 故障
|
|
|
// }else dto.setInstrumentStatus(instrumentStatusNormal); // 正常
|
|
|
//有可能出现无限循环小数,保留三位小数
|
|
|
- if ((num.divide(beginValue,2,RoundingMode.HALF_UP).compareTo(newYz)) > 0){
|
|
|
+ BigDecimal orgYz = new BigDecimal(100);//默认增量百分比为百分百
|
|
|
+ if(!beginValue.equals(new BigDecimal("0"))){
|
|
|
+ orgYz = num.divide(beginValue,2,RoundingMode.HALF_UP);
|
|
|
+ }
|
|
|
+ if ((orgYz.compareTo(newYz)) > 0){
|
|
|
dto.setInstrumentStatus(instrumentStatusAbnormal); // 故障
|
|
|
}else dto.setInstrumentStatus(instrumentStatusNormal); // 正常
|
|
|
}
|
|
@@ -353,35 +346,14 @@ public class InterlockSummaryServiceImpl extends ServiceImpl<InterlockSummaryMap
|
|
|
InterlockDetail detail = InterlockDetailConvert.INSTANCE.toEntity(dto, interlockAddDTO.getInterlockName(),formattedDateTime, interlockAddDTO.getInterlockSystemId());
|
|
|
|
|
|
//新增联锁详细信息表数据
|
|
|
-// interlockDetailMapper.insert(detail);
|
|
|
- interlockDetailListNew.add(detail);
|
|
|
+ interlockDetailMapper.insert(detail);
|
|
|
//新增联锁详细信息表临时表数据
|
|
|
InterlockDetailTemp detailTemp = TempConvert.INSTANCE.toInterlockDetailTemp(detail);
|
|
|
-// detailTempMapper.insert(detailTemp);
|
|
|
- interlockDetailTempListNew.add(detailTemp);
|
|
|
+ detailTempMapper.insert(detailTemp);
|
|
|
|
|
|
//新增对应联锁详细信息的点位列表
|
|
|
-// interlockTagService.saveBatch(toTagList(instrumentStatusNormal, dto,detail.getId(),summaryId));
|
|
|
- interlockTagListNew.addAll(toTagList(instrumentStatusNormal, dto,detail.getId(),summaryId));
|
|
|
+ interlockTagService.saveBatch(toTagList(instrumentStatusNormal, dto,detail.getId(),summaryId));
|
|
|
}
|
|
|
-
|
|
|
- //删除该联锁的所有联锁详细信息的所有点位
|
|
|
- LambdaQueryWrapper<InterlockTag> queryWrapper3 = new LambdaQueryWrapper<>();
|
|
|
- queryWrapper3.eq(InterlockTag::getInterlockSummaryId, summaryId);
|
|
|
- interlockTagService.remove(queryWrapper3);
|
|
|
- //删除该联锁下所有联锁详细信息
|
|
|
- LambdaQueryWrapper<InterlockDetail> queryWrapper1 = new LambdaQueryWrapper<>();
|
|
|
- queryWrapper1.eq(InterlockDetail::getSummaryid,summaryId);
|
|
|
- interlockDetailMapper.delete(queryWrapper1);
|
|
|
- //删除该联锁对应的联锁详细信息临时表数据
|
|
|
- LambdaQueryWrapper<InterlockDetailTemp> queryWrapper2= new LambdaQueryWrapper<>();
|
|
|
- queryWrapper2.eq(InterlockDetailTemp::getSummaryid,summaryId);
|
|
|
- detailTempMapper.delete(queryWrapper2);
|
|
|
-
|
|
|
- interlockTagService.saveBatch(interlockTagListNew);
|
|
|
- interlockDetailService.saveBatch(interlockDetailListNew);
|
|
|
- interlockDetailTempService.saveBatch(interlockDetailTempListNew);
|
|
|
-
|
|
|
//回路健康等级
|
|
|
loopHealthLevel = getLHL(instrumentStatus, instrumentStatusAbnormal,interlockStatus, interlockStatusWty, controlSystemStatus, controlSystemStatusAbnormal);
|
|
|
|