浏览代码

河南郸城调度计划列表 计算时间 limitNextTakeTime bug修复

1037015548@qq.com 11 月之前
父节点
当前提交
872ac6a7e3
共有 1 个文件被更改,包括 22 次插入23 次删除
  1. 22 23
      src/main/java/com/shkpr/service/aimodelpower/bizmgr/WODispatchPlanTmDoBizFun.java

+ 22 - 23
src/main/java/com/shkpr/service/aimodelpower/bizmgr/WODispatchPlanTmDoBizFun.java

@@ -492,10 +492,10 @@ public class WODispatchPlanTmDoBizFun {
                     limitNextTakeTime = endTime.toEpochMilli();
                 }else if(model.getDispatchLeadTime()>0){
                     nextTakeTime = nowTime.minus(-model.getDispatchLeadTime(), ChronoUnit.MINUTES).toEpochMilli();
-                    limitNextTakeTime = endTime.minus(-model.getDispatchLeadTime(), ChronoUnit.MINUTES).toEpochMilli();
+                    limitNextTakeTime = endTime.toEpochMilli();
                 }else if(model.getDispatchLeadTime()<0){
                     nextTakeTime = nowTime.minus(Math.abs(model.getDispatchLeadTime()), ChronoUnit.MINUTES).toEpochMilli();
-                    limitNextTakeTime = endTime.minus(Math.abs(model.getDispatchLeadTime()), ChronoUnit.MINUTES).toEpochMilli();
+                    limitNextTakeTime = endTime.toEpochMilli();
                 }
                 //TODO 如果当前时间与下次生效时间是同一天,但是时刻已经是过去时,那么则返回失败信息
                 Long nowTimeLong = TimeTool.getCurMsUTC();
@@ -526,10 +526,10 @@ public class WODispatchPlanTmDoBizFun {
                             limitNextTakeTime = endTime.toEpochMilli();
                         }else if(model.getDispatchLeadTime()>0){
                             nextTakeTime = nowTime.minus(-model.getDispatchLeadTime(), ChronoUnit.MINUTES).toEpochMilli();
-                            limitNextTakeTime = endTime.minus(-model.getDispatchLeadTime(), ChronoUnit.MINUTES).toEpochMilli();
+                            limitNextTakeTime = endTime.toEpochMilli();
                         }else if(model.getDispatchLeadTime()<0){
                             nextTakeTime = nowTime.minus(Math.abs(model.getDispatchLeadTime()), ChronoUnit.MINUTES).toEpochMilli();
-                            limitNextTakeTime = endTime.minus(Math.abs(model.getDispatchLeadTime()), ChronoUnit.MINUTES).toEpochMilli();
+                            limitNextTakeTime = endTime.toEpochMilli();
                         }
                     }
                 }
@@ -543,16 +543,16 @@ public class WODispatchPlanTmDoBizFun {
                         limitNextTakeTime = Instant.ofEpochMilli(
                                 TimeTool.convertDateStr2UTC
                                         (JSONArray.parseArray(model.getCycles()).getString(0)
-                                                +" "+newList.get(0).getHandleStartTimeLimit())).plus(Duration.ofDays(1)).toEpochMilli();
+                                                +" "+newList.get(0).getHandleStartTimeLimit())).toEpochMilli();
                     }else if(model.getDispatchLeadTime()>0){
                         nextTakeTime = Instant.ofEpochMilli(
                                 TimeTool.convertDateStr2UTC
                                         (JSONArray.parseArray(model.getCycles()).getString(0)
-                                                +" "+newList.get(0).getHandleStartTime())).plus(Duration.ofDays(1)).minus(-model.getDispatchLeadTime(), ChronoUnit.MINUTES).toEpochMilli();
+                                                +" "+newList.get(0).getHandleStartTime())).minus(-model.getDispatchLeadTime(), ChronoUnit.MINUTES).toEpochMilli();
                         limitNextTakeTime = Instant.ofEpochMilli(
                                 TimeTool.convertDateStr2UTC
                                         (JSONArray.parseArray(model.getCycles()).getString(0)
-                                                +" "+newList.get(0).getHandleStartTimeLimit())).plus(Duration.ofDays(1)).minus(-model.getDispatchLeadTime(), ChronoUnit.MINUTES).toEpochMilli();
+                                                +" "+newList.get(0).getHandleStartTimeLimit())).toEpochMilli();
                     }else if(model.getDispatchLeadTime()<0){
                         nextTakeTime = Instant.ofEpochMilli(
                                 TimeTool.convertDateStr2UTC
@@ -561,7 +561,7 @@ public class WODispatchPlanTmDoBizFun {
                         limitNextTakeTime = Instant.ofEpochMilli(
                                 TimeTool.convertDateStr2UTC
                                         (JSONArray.parseArray(model.getCycles()).getString(0)
-                                                +" "+newList.get(0).getHandleStartTimeLimit())).plus(Duration.ofDays(1)).minus(Math.abs(model.getDispatchLeadTime()), ChronoUnit.MINUTES).toEpochMilli();
+                                                +" "+newList.get(0).getHandleStartTimeLimit())).toEpochMilli();
                     }
                 }
 
@@ -569,8 +569,7 @@ public class WODispatchPlanTmDoBizFun {
                 if(limitNextTakeTime<TimeTool.getCurMsUTC()){
                     nextTakeTime = Instant.ofEpochMilli(nextTakeTime)
                             .plus(1, ChronoUnit.DAYS).toEpochMilli();
-                    limitNextTakeTime = Instant.ofEpochMilli(limitNextTakeTime)
-                            .plus(1, ChronoUnit.DAYS).toEpochMilli();
+                    limitNextTakeTime = Instant.ofEpochMilli(limitNextTakeTime).toEpochMilli();
                 }
             }else if(model.getPlanType()==2){
                 //TODO 周计划
@@ -608,10 +607,10 @@ public class WODispatchPlanTmDoBizFun {
                         limitNextTakeTime = reloadLocalDateTimeToLong(limitNextDateTime);
                     } else if (model.getDispatchLeadTime() > 0) {
                         nextTakeTime = reloadLocalDateTimeToLong(nextDateTime.minusMinutes(-model.getDispatchLeadTime()));
-                        limitNextTakeTime = reloadLocalDateTimeToLong(limitNextDateTime.minusMinutes(-model.getDispatchLeadTime()));
+                        limitNextTakeTime = reloadLocalDateTimeToLong(limitNextDateTime);
                     } else if (model.getDispatchLeadTime() < 0) {
                         nextTakeTime = reloadLocalDateTimeToLong(nextDateTime.minusMinutes(Math.abs(model.getDispatchLeadTime())));
-                        limitNextTakeTime = reloadLocalDateTimeToLong(limitNextDateTime.minusMinutes(Math.abs(model.getDispatchLeadTime())));
+                        limitNextTakeTime = reloadLocalDateTimeToLong(limitNextDateTime);
                     }
                 }else{
                     LocalTime localTime = LocalTime.parse(newList.get(0).getHandleStartTime(), DateTimeFormatter.ofPattern("HH:mm:ss"));
@@ -628,7 +627,7 @@ public class WODispatchPlanTmDoBizFun {
                     } else if (model.getDispatchLeadTime() > 0) {
                         nextTakeTime = reloadLocalDateTimeToLong(nextDateTime.minusWeeks(-1).withHour(localTime.getHour())
                                 .withMinute(localTime.getMinute())
-                                .withSecond(localTime.getSecond()).minusMinutes(-model.getDispatchLeadTime()));
+                                .withSecond(localTime.getSecond()));
                         limitNextTakeTime = reloadLocalDateTimeToLong(nextDateTime.minusWeeks(-1).withHour(localTimeLimit.getHour())
                                 .withMinute(localTimeLimit.getMinute())
                                 .withSecond(localTimeLimit.getSecond()).minusMinutes(-model.getDispatchLeadTime()));
@@ -638,7 +637,7 @@ public class WODispatchPlanTmDoBizFun {
                                 .withSecond(localTime.getSecond()).minusMinutes(Math.abs(model.getDispatchLeadTime())));
                         limitNextTakeTime = reloadLocalDateTimeToLong(nextDateTime.minusWeeks(-1).withHour(localTimeLimit.getHour())
                                 .withMinute(localTimeLimit.getMinute())
-                                .withSecond(localTimeLimit.getSecond()).minusMinutes(Math.abs(model.getDispatchLeadTime())));
+                                .withSecond(localTimeLimit.getSecond()));
                     }
                 }
             }else if(model.getPlanType()==3){
@@ -677,10 +676,10 @@ public class WODispatchPlanTmDoBizFun {
                         limitNextTakeTime = reloadLocalDateTimeToLong(limitNextDateTime);
                     } else if (model.getDispatchLeadTime() > 0) {
                         nextTakeTime = reloadLocalDateTimeToLong(nextDateTime.minusMinutes(-model.getDispatchLeadTime()));
-                        limitNextTakeTime = reloadLocalDateTimeToLong(limitNextDateTime.minusMinutes(-model.getDispatchLeadTime()));
+                        limitNextTakeTime = reloadLocalDateTimeToLong(limitNextDateTime);
                     } else if (model.getDispatchLeadTime() < 0) {
                         nextTakeTime = reloadLocalDateTimeToLong(nextDateTime.minusMinutes(Math.abs(model.getDispatchLeadTime())));
-                        limitNextTakeTime = reloadLocalDateTimeToLong(limitNextDateTime.minusMinutes(Math.abs(model.getDispatchLeadTime())));
+                        limitNextTakeTime = reloadLocalDateTimeToLong(limitNextDateTime);
                     }
                 }else{
                     LocalTime localTime = LocalTime.parse(newList.get(0).getHandleStartTime(), DateTimeFormatter.ofPattern("HH:mm:ss"));
@@ -700,14 +699,14 @@ public class WODispatchPlanTmDoBizFun {
                                 .withSecond(localTime.getSecond()).minusMinutes(-model.getDispatchLeadTime()));
                         limitNextTakeTime = reloadLocalDateTimeToLong(nextDateTime.minusWeeks(-1).withHour(localTimeLimit.getHour())
                                 .withMinute(localTimeLimit.getMinute())
-                                .withSecond(localTimeLimit.getSecond()).minusMinutes(-model.getDispatchLeadTime()));
+                                .withSecond(localTimeLimit.getSecond()));
                     } else if (model.getDispatchLeadTime() < 0) {
                         nextTakeTime = reloadLocalDateTimeToLong(nextDateTime.minusMonths(-1).withHour(localTime.getHour())
                                 .withMinute(localTime.getMinute())
                                 .withSecond(localTime.getSecond()).minusMinutes(Math.abs(model.getDispatchLeadTime())));
                         limitNextTakeTime = reloadLocalDateTimeToLong(nextDateTime.minusWeeks(-1).withHour(localTimeLimit.getHour())
                                 .withMinute(localTimeLimit.getMinute())
-                                .withSecond(localTimeLimit.getSecond()).minusMinutes(Math.abs(model.getDispatchLeadTime())));
+                                .withSecond(localTimeLimit.getSecond()));
                     }
                 }
             }else if(model.getPlanType()==4){
@@ -747,10 +746,10 @@ public class WODispatchPlanTmDoBizFun {
                         limitNextTakeTime = reloadLocalDateTimeToLong(limitNextDateTime);
                     } else if (model.getDispatchLeadTime() > 0) {
                         nextTakeTime = reloadLocalDateTimeToLong(nextDateTime.minusMinutes(-model.getDispatchLeadTime()));
-                        limitNextTakeTime = reloadLocalDateTimeToLong(limitNextDateTime.minusMinutes(-model.getDispatchLeadTime()));
+                        limitNextTakeTime = reloadLocalDateTimeToLong(limitNextDateTime);
                     } else if (model.getDispatchLeadTime() < 0) {
                         nextTakeTime = reloadLocalDateTimeToLong(nextDateTime.minusMinutes(Math.abs(model.getDispatchLeadTime())));
-                        limitNextTakeTime = reloadLocalDateTimeToLong(limitNextDateTime.minusMinutes(Math.abs(model.getDispatchLeadTime())));
+                        limitNextTakeTime = reloadLocalDateTimeToLong(limitNextDateTime);
                     }
                 }else{
                     LocalTime localTime = LocalTime.parse(newList.get(0).getHandleStartTime(), DateTimeFormatter.ofPattern("HH:mm:ss"));
@@ -771,14 +770,14 @@ public class WODispatchPlanTmDoBizFun {
                                 .withSecond(localTime.getSecond()).minusMinutes(-model.getDispatchLeadTime()));
                         limitNextTakeTime = reloadLocalDateTimeToLong(nextDateTime.minusWeeks(-1).withHour(localTimeLimit.getHour())
                                 .withMinute(localTimeLimit.getMinute())
-                                .withSecond(localTimeLimit.getSecond()).minusMinutes(-model.getDispatchLeadTime()));
+                                .withSecond(localTimeLimit.getSecond()));
                     } else if (model.getDispatchLeadTime() < 0) {
                         nextTakeTime = reloadLocalDateTimeToLong(nextDateTime.minusYears(-1).withHour(localTime.getHour())
                                 .withMinute(localTime.getMinute())
-                                .withSecond(localTime.getSecond()).minusMinutes(Math.abs(model.getDispatchLeadTime())));
+                                .withSecond(localTime.getSecond()));
                         limitNextTakeTime = reloadLocalDateTimeToLong(nextDateTime.minusWeeks(-1).withHour(localTimeLimit.getHour())
                                 .withMinute(localTimeLimit.getMinute())
-                                .withSecond(localTimeLimit.getSecond()).minusMinutes(Math.abs(model.getDispatchLeadTime())));
+                                .withSecond(localTimeLimit.getSecond()));
                     }
                 }
             }