ソースを参照

pms 瑞恒 按照小时统计的设备利用率(运行时效)

zhangcl 1 週間 前
コミット
52ce13615f

+ 14 - 6
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/iotrhdailyreport/IotRhDailyReportServiceImpl.java

@@ -1257,15 +1257,19 @@ public class IotRhDailyReportServiceImpl implements IotRhDailyReportService {
                     // 按小时数 统计设备利用率
                     // 按小时数 统计设备利用率
                     BigDecimal gasInjectionTime = ObjUtil.defaultIfNull(report.getDailyInjectGasTime(), BigDecimal.ZERO);
                     BigDecimal gasInjectionTime = ObjUtil.defaultIfNull(report.getDailyInjectGasTime(), BigDecimal.ZERO);
                     BigDecimal waterInjectionTime = ObjUtil.defaultIfNull(report.getDailyInjectWaterTime(), BigDecimal.ZERO);
                     BigDecimal waterInjectionTime = ObjUtil.defaultIfNull(report.getDailyInjectWaterTime(), BigDecimal.ZERO);
-                    BigDecimal maxWorkTime = gasInjectionTime.max(waterInjectionTime);
-                    if (maxWorkTime.compareTo(BigDecimal.ZERO) > 0) {
+                    BigDecimal workTime = gasInjectionTime.compareTo(BigDecimal.ZERO) > 0
+                            ? gasInjectionTime
+                            : waterInjectionTime.compareTo(BigDecimal.ZERO) > 0
+                            ? waterInjectionTime
+                            : BigDecimal.ZERO;
+                    if (workTime.compareTo(BigDecimal.ZERO) > 0) {
                         // 取 注气时间 注水时间 的较大者
                         // 取 注气时间 注水时间 的较大者
                         // 直接获取队伍对应的项目部ID
                         // 直接获取队伍对应的项目部ID
                         Long projectDeptId = teamProjectIdPair.get(deptId);
                         Long projectDeptId = teamProjectIdPair.get(deptId);
                         // 校验:项目部ID不为空 + 该项目部存在有效队伍
                         // 校验:项目部ID不为空 + 该项目部存在有效队伍
                         if (ObjUtil.isNotEmpty(projectDeptId) && projectTeamPair.containsKey(projectDeptId)) {
                         if (ObjUtil.isNotEmpty(projectDeptId) && projectTeamPair.containsKey(projectDeptId)) {
                             // 存在则累加,不存在则赋值
                             // 存在则累加,不存在则赋值
-                            projectWorkTimePair.merge(projectDeptId, maxWorkTime, BigDecimal::add);
+                            projectWorkTimePair.merge(projectDeptId, workTime, BigDecimal::add);
                         }
                         }
                     }
                     }
                 }
                 }
@@ -2017,12 +2021,16 @@ public class IotRhDailyReportServiceImpl implements IotRhDailyReportService {
                         // 按照时间H统计设备利用率
                         // 按照时间H统计设备利用率
                         BigDecimal gasInjectionTime = ObjUtil.defaultIfNull(report.getDailyInjectGasTime(), BigDecimal.ZERO);
                         BigDecimal gasInjectionTime = ObjUtil.defaultIfNull(report.getDailyInjectGasTime(), BigDecimal.ZERO);
                         BigDecimal waterInjectionTime = ObjUtil.defaultIfNull(report.getDailyInjectWaterTime(), BigDecimal.ZERO);
                         BigDecimal waterInjectionTime = ObjUtil.defaultIfNull(report.getDailyInjectWaterTime(), BigDecimal.ZERO);
-                        BigDecimal maxWorkTime = gasInjectionTime.max(waterInjectionTime);
-                        if (maxWorkTime.compareTo(BigDecimal.ZERO) > 0) {
+                        BigDecimal workTime = gasInjectionTime.compareTo(BigDecimal.ZERO) > 0
+                                ? gasInjectionTime
+                                : waterInjectionTime.compareTo(BigDecimal.ZERO) > 0
+                                ? waterInjectionTime
+                                : BigDecimal.ZERO;
+                        if (workTime.compareTo(BigDecimal.ZERO) > 0) {
                             // 取 注气时间 注水时间 的较大者
                             // 取 注气时间 注水时间 的较大者
                             // 校验:项目部ID不为空 + 该项目部存在有效队伍
                             // 校验:项目部ID不为空 + 该项目部存在有效队伍
                             // 存在则累加,不存在则赋值
                             // 存在则累加,不存在则赋值
-                            teamWorkTimePair.merge(deptId, maxWorkTime, BigDecimal::add);
+                            teamWorkTimePair.merge(deptId, workTime, BigDecimal::add);
                         }
                         }
                     }
                     }