2669ddd0 张雷

feat(module-inspection): 新增设备完成率指标并优化相关计算逻辑

- 在 InspectionEquipIndicatorsVO 和 InspectionEquipIndicatorsDetailVO 中添加设备完成率字段
-优化设备完成率的计算逻辑,避免除以零的情况
-修复异常项处理率的计算错误
- 优化未检项目数的计算,避免出现负数
1 个父辈 9d43976c
...@@ -498,6 +498,7 @@ public class InspectionAnalysisServiceImpl implements IInspectionAnalysisService ...@@ -498,6 +498,7 @@ public class InspectionAnalysisServiceImpl implements IInspectionAnalysisService
498 public InspectionEquipIndicatorsVO getInspectionEquipIndicators(String startDate, String endDate) { 498 public InspectionEquipIndicatorsVO getInspectionEquipIndicators(String startDate, String endDate) {
499 InspectionEquipIndicatorsVO inspectionEquipIndicatorsVO = new InspectionEquipIndicatorsVO(); 499 InspectionEquipIndicatorsVO inspectionEquipIndicatorsVO = new InspectionEquipIndicatorsVO();
500 //设置初始值 500 //设置初始值
501 inspectionEquipIndicatorsVO.setFinishRate("0");
501 inspectionEquipIndicatorsVO.setCompletionRate("0"); 502 inspectionEquipIndicatorsVO.setCompletionRate("0");
502 inspectionEquipIndicatorsVO.setUnCompletionRate("0"); 503 inspectionEquipIndicatorsVO.setUnCompletionRate("0");
503 inspectionEquipIndicatorsVO.setAbnormalRate("0"); 504 inspectionEquipIndicatorsVO.setAbnormalRate("0");
...@@ -584,6 +585,11 @@ public class InspectionAnalysisServiceImpl implements IInspectionAnalysisService ...@@ -584,6 +585,11 @@ public class InspectionAnalysisServiceImpl implements IInspectionAnalysisService
584 if (processInstanceStateMap != null && processInstanceStateMap.get(FlowEngineConstant.STATUS_FINISHED) != null) { 585 if (processInstanceStateMap != null && processInstanceStateMap.get(FlowEngineConstant.STATUS_FINISHED) != null) {
585 processedAbnormalItemsCount = processInstanceStateMap.get(FlowEngineConstant.STATUS_FINISHED).size(); 586 processedAbnormalItemsCount = processInstanceStateMap.get(FlowEngineConstant.STATUS_FINISHED).size();
586 } 587 }
588 //完成率
589 String finishRate = "0";
590 if (totalInspectionEquipCount != 0) {
591 finishRate = numberFormat.format(checkedInspectionEquipCount / (double) totalInspectionEquipCount * 100);
592 }
587 //覆盖率 593 //覆盖率
588 String completionRate = "0"; 594 String completionRate = "0";
589 if (totalInspectionEquipCount != 0) { 595 if (totalInspectionEquipCount != 0) {
...@@ -604,6 +610,7 @@ public class InspectionAnalysisServiceImpl implements IInspectionAnalysisService ...@@ -604,6 +610,7 @@ public class InspectionAnalysisServiceImpl implements IInspectionAnalysisService
604 if (abnormalItemsCount != 0) { 610 if (abnormalItemsCount != 0) {
605 processedAbnormalRate = numberFormat.format(processedAbnormalItemsCount / (double) abnormalItemsCount * 100); 611 processedAbnormalRate = numberFormat.format(processedAbnormalItemsCount / (double) abnormalItemsCount * 100);
606 } 612 }
613 inspectionEquipIndicatorsVO.setFinishRate(finishRate);
607 inspectionEquipIndicatorsVO.setCompletionRate(completionRate); 614 inspectionEquipIndicatorsVO.setCompletionRate(completionRate);
608 inspectionEquipIndicatorsVO.setUnCompletionRate(unCompletionRate); 615 inspectionEquipIndicatorsVO.setUnCompletionRate(unCompletionRate);
609 inspectionEquipIndicatorsVO.setAbnormalRate(abnormalRate); 616 inspectionEquipIndicatorsVO.setAbnormalRate(abnormalRate);
...@@ -932,7 +939,11 @@ public class InspectionAnalysisServiceImpl implements IInspectionAnalysisService ...@@ -932,7 +939,11 @@ public class InspectionAnalysisServiceImpl implements IInspectionAnalysisService
932 abnormalCheckedItemsCount += ConvertUtils.getInt(abnormalTaskCheckedItemsCountMap.get(tempInspectionTaskId), 0); 939 abnormalCheckedItemsCount += ConvertUtils.getInt(abnormalTaskCheckedItemsCountMap.get(tempInspectionTaskId), 0);
933 } 940 }
934 inspectionAbnormalItemsTrendVO.setInspectionTaskDate(date); 941 inspectionAbnormalItemsTrendVO.setInspectionTaskDate(date);
935 inspectionAbnormalItemsTrendVO.setNotCheckedItemsCount(totalCheckeItemsCount - checkedItemsCount); 942 if(totalCheckeItemsCount - checkedItemsCount < 0){
943 inspectionAbnormalItemsTrendVO.setNotCheckedItemsCount(0);
944 }else{
945 inspectionAbnormalItemsTrendVO.setNotCheckedItemsCount(totalCheckeItemsCount - checkedItemsCount);
946 }
936 inspectionAbnormalItemsTrendVO.setAbnormalItemsCount(abnormalCheckedItemsCount); 947 inspectionAbnormalItemsTrendVO.setAbnormalItemsCount(abnormalCheckedItemsCount);
937 inspectionAbnormalItemsTrendVOList.add(inspectionAbnormalItemsTrendVO); 948 inspectionAbnormalItemsTrendVOList.add(inspectionAbnormalItemsTrendVO);
938 } 949 }
......
...@@ -39,6 +39,8 @@ public class InspectionEquipIndicatorsDetailVO { ...@@ -39,6 +39,8 @@ public class InspectionEquipIndicatorsDetailVO {
39 @ApiModelProperty(value = "未检设备数") 39 @ApiModelProperty(value = "未检设备数")
40 private Integer notCheckedInspectionEquipCount; 40 private Integer notCheckedInspectionEquipCount;
41 41
42 @ApiModelProperty(value = "设备完成率")
43 private String finishRate;
42 @ApiModelProperty(value = "完成率") 44 @ApiModelProperty(value = "完成率")
43 private String completionRate; 45 private String completionRate;
44 @ApiModelProperty(value = "未检率") 46 @ApiModelProperty(value = "未检率")
...@@ -96,8 +98,14 @@ public class InspectionEquipIndicatorsDetailVO { ...@@ -96,8 +98,14 @@ public class InspectionEquipIndicatorsDetailVO {
96 return processedAbnormalRate; 98 return processedAbnormalRate;
97 } 99 }
98 100
99 //覆盖率 101 //设备完成率
100 102 public String getFinishRate() {
103 finishRate = "0";//设备完成率
104 if (totalInspectionEquipCount != 0) {
105 finishRate = JSUtils.divide( checkedInspectionEquipCount*100 ,totalInspectionEquipCount );
106 }
107 return finishRate;
108 }
101 109
102 110
103 111
......
...@@ -17,6 +17,8 @@ import lombok.EqualsAndHashCode; ...@@ -17,6 +17,8 @@ import lombok.EqualsAndHashCode;
17 @ApiModel(value="巡检设备指标", description="巡检设备指标") 17 @ApiModel(value="巡检设备指标", description="巡检设备指标")
18 public class InspectionEquipIndicatorsVO { 18 public class InspectionEquipIndicatorsVO {
19 19
20 @ApiModelProperty(value = "完成率")
21 private String finishRate;
20 @ApiModelProperty(value = "覆盖率") 22 @ApiModelProperty(value = "覆盖率")
21 private String completionRate; 23 private String completionRate;
22 @ApiModelProperty(value = "未检率") 24 @ApiModelProperty(value = "未检率")
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!