소스 검색

修改联锁改回原来版本,修改突变超限,如果获取不到采集值,设值为0,如果值为0,计算增量为100

sl 8 달 전
부모
커밋
564e39817b
1개의 변경된 파일33개의 추가작업 그리고 61개의 파일을 삭제
  1. 33 61
      jeecg-module-interlock/src/main/java/org/jeecg/modules/summary/service/impl/InterlockSummaryServiceImpl.java

+ 33 - 61
jeecg-module-interlock/src/main/java/org/jeecg/modules/summary/service/impl/InterlockSummaryServiceImpl.java

@@ -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);