瀏覽代碼

pms 保养工单列表距离保养 逻辑调整 不考虑 提前量

zhangcl 2 月之前
父節點
當前提交
5ff1d867e8

+ 3 - 3
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/iotmainworkorderbom/IotMainWorkOrderBomServiceImpl.java

@@ -111,7 +111,7 @@ public class IotMainWorkOrderBomServiceImpl implements IotMainWorkOrderBomServic
                         BigDecimal timePeriodLead = bom.getTimePeriodLead();        // 运行时间周期提前量
                         BigDecimal delayDuration = bom.getDelayDuration();          // 推迟运行时长H
                         // runningTimeDistance = (lastRunningTime.add(runningTimePeriod).subtract(timePeriodLead)).subtract(totalRunTime);
-                        runningTimeDistance = (runningTimePeriod.subtract(totalRunTime.subtract(lastRunningTime)).subtract(timePeriodLead)).add(delayDuration);
+                        runningTimeDistance = (runningTimePeriod.subtract(totalRunTime.subtract(lastRunningTime))).add(delayDuration);
                     }
                 }
                 if (0 == bom.getMileageRule()) {
@@ -124,7 +124,7 @@ public class IotMainWorkOrderBomServiceImpl implements IotMainWorkOrderBomServic
                         BigDecimal kiloCycleLead = bom.getKiloCycleLead();                // 运行里程周期提前量
                         BigDecimal delayKilometers = bom.getDelayKilometers();            // 推迟运行公里数KM
                         // runningKiloDistance = (lastRunningKilo.add(runningKiloPeriod).subtract(kiloCycleLead)).subtract(totalMileage);
-                        runningKiloDistance = (runningKiloPeriod.subtract(totalMileage.subtract(lastRunningKilo)).subtract(kiloCycleLead)).add(delayKilometers);
+                        runningKiloDistance = (runningKiloPeriod.subtract(totalMileage.subtract(lastRunningKilo))).add(delayKilometers);
                     }
                 }
                 if (0 == bom.getNaturalDateRule()) {
@@ -135,7 +135,7 @@ public class IotMainWorkOrderBomServiceImpl implements IotMainWorkOrderBomServic
                     BigDecimal delayNaturalDate = bom.getDelayNaturalDate();       // 推迟自然日期D
                     if (ObjUtil.isNotEmpty(lastNaturalDate) && ObjUtil.isNotEmpty(naturalDatePeriod) && ObjUtil.isNotEmpty(natualDateLead)) {
                         // 计算有效天数 = 自然日周期 - 提前量 + 推迟自然日期D
-                        long days = (naturalDatePeriod.subtract(natualDateLead)).add(delayNaturalDate).longValue();     // 转为长整型天数
+                        long days = (naturalDatePeriod).add(delayNaturalDate).longValue();     // 转为长整型天数
                         // 计算目标日期:上次保养日期 + 有效天数(注意:LocalDateTime加天数会自动处理日期进位)
                         LocalDateTime targetDate = lastNaturalDate.plusDays(days);
                         // 获取当前日期时间