Jelajahi Sumber

河南郸城调度计划 计算最小截止时刻逻辑变更,取所有截止时间的最小时刻

1037015548@qq.com 1 tahun lalu
induk
melakukan
587b58ed2c

+ 29 - 17
src/main/java/com/shkpr/service/aimodelpower/bizmgr/WODispatchPlanTmDoBizFun.java

@@ -486,7 +486,8 @@ public class WODispatchPlanTmDoBizFun {
                                 (
                                         JSONArray.parseArray(model.getCycles()).getString(0)
                                                 +" "+
-                                                newList.get(0).getHandleStartTimeLimit()));
+                                                model.getItemsList().stream().sorted(Comparator.comparing(DispatchCmdBatchItemNextTimeModel::getHandleStartTimeLimit))
+                                                        .collect(Collectors.toList()).get(0).getHandleStartTimeLimit()));
                 if(model.getDispatchLeadTime()==0) {
                     nextTakeTime = nowTime.toEpochMilli();
                     limitNextTakeTime = endTime.toEpochMilli();
@@ -516,7 +517,8 @@ public class WODispatchPlanTmDoBizFun {
                                     (
                                             JSONArray.parseArray(model.getCycles()).getString(0)
                                                     +" "+
-                                                    item.getHandleStartTimeLimit()));
+                                                    model.getItemsList().stream().sorted(Comparator.comparing(DispatchCmdBatchItemNextTimeModel::getHandleStartTimeLimit))
+                                                            .collect(Collectors.toList()).get(0).getHandleStartTimeLimit()));
                     LocalDateTime dateTime1 = endTime.atZone(ZoneId.systemDefault()).toLocalDateTime();
                     LocalDateTime dateTimeNow = Instant.now().atZone(ZoneId.systemDefault()).toLocalDateTime();
                     if(Instant.now().isBefore(nowTime)||Instant.now().equals(nowTime)){
@@ -543,7 +545,8 @@ public class WODispatchPlanTmDoBizFun {
                         limitNextTakeTime = Instant.ofEpochMilli(
                                 TimeTool.convertDateStr2UTC
                                         (JSONArray.parseArray(model.getCycles()).getString(0)
-                                                +" "+newList.get(0).getHandleStartTimeLimit())).plus(Duration.ofDays(1)).toEpochMilli();
+                                                +" "+model.getItemsList().stream().sorted(Comparator.comparing(DispatchCmdBatchItemNextTimeModel::getHandleStartTimeLimit))
+                                                .collect(Collectors.toList()).get(0).getHandleStartTimeLimit())).plus(Duration.ofDays(1)).toEpochMilli();
                     }else if(model.getDispatchLeadTime()>0){
                         nextTakeTime = Instant.ofEpochMilli(
                                 TimeTool.convertDateStr2UTC
@@ -552,7 +555,8 @@ public class WODispatchPlanTmDoBizFun {
                         limitNextTakeTime = Instant.ofEpochMilli(
                                 TimeTool.convertDateStr2UTC
                                         (JSONArray.parseArray(model.getCycles()).getString(0)
-                                                +" "+newList.get(0).getHandleStartTimeLimit())).plus(Duration.ofDays(1)).toEpochMilli();
+                                                +" "+model.getItemsList().stream().sorted(Comparator.comparing(DispatchCmdBatchItemNextTimeModel::getHandleStartTimeLimit))
+                                                .collect(Collectors.toList()).get(0).getHandleStartTimeLimit())).plus(Duration.ofDays(1)).toEpochMilli();
                     }else if(model.getDispatchLeadTime()<0){
                         nextTakeTime = Instant.ofEpochMilli(
                                 TimeTool.convertDateStr2UTC
@@ -561,7 +565,8 @@ public class WODispatchPlanTmDoBizFun {
                         limitNextTakeTime = Instant.ofEpochMilli(
                                 TimeTool.convertDateStr2UTC
                                         (JSONArray.parseArray(model.getCycles()).getString(0)
-                                                +" "+newList.get(0).getHandleStartTimeLimit())).plus(Duration.ofDays(1)).toEpochMilli();
+                                                +" "+model.getItemsList().stream().sorted(Comparator.comparing(DispatchCmdBatchItemNextTimeModel::getHandleStartTimeLimit))
+                                                .collect(Collectors.toList()).get(0).getHandleStartTimeLimit())).plus(Duration.ofDays(1)).toEpochMilli();
                     }
                 }
 
@@ -598,8 +603,9 @@ public class WODispatchPlanTmDoBizFun {
                     }
                 }
                 LocalDateTime nextDateTime = findNextTime(dateTimeStrings);
-                LocalDateTime limitNextDateTime = nextDateTime!=null?LocalDateTime.parse(dateLimitTimeStrings.get(dateTimeStrings.indexOf(nextDateTime
-                        .format(DateTimeFormatter.ofPattern(TimeTool.TIMESTAMP_FORMAT)))),DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")):null;
+                LocalDateTime limitNextDateTime = nextDateTime!=null?LocalDateTime.parse(dateLimitTimeStrings.get(dateLimitTimeStrings.indexOf(nextDateTime
+                        .format(DateTimeFormatter.ofPattern(TimeTool.YEAR_MONTH_DAY_FORMAT))+" "+model.getItemsList().stream().sorted(Comparator.comparing(DispatchCmdBatchItemNextTimeModel::getHandleStartTimeLimit))
+                        .collect(Collectors.toList()).get(0).getHandleStartTimeLimit())),DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")):null;
 
                 if(nextDateTime!=null){
                     if (model.getDispatchLeadTime() == 0) {
@@ -614,7 +620,8 @@ public class WODispatchPlanTmDoBizFun {
                     }
                 }else{
                     LocalTime localTime = LocalTime.parse(newList.get(0).getHandleStartTime(), DateTimeFormatter.ofPattern("HH:mm:ss"));
-                    LocalTime localTimeLimit = LocalTime.parse(newList.get(0).getHandleStartTimeLimit(), DateTimeFormatter.ofPattern("HH:mm:ss"));
+                    LocalTime localTimeLimit = LocalTime.parse(model.getItemsList().stream().sorted(Comparator.comparing(DispatchCmdBatchItemNextTimeModel::getHandleStartTimeLimit))
+                            .collect(Collectors.toList()).get(0).getHandleStartTimeLimit(), DateTimeFormatter.ofPattern("HH:mm:ss"));
                     nextDateTime = LocalDateTime.now()
                             .with(DayOfWeek.of(Integer.valueOf(newJSONArray.get(0).toString())));
                     if (model.getDispatchLeadTime() == 0) {
@@ -667,8 +674,9 @@ public class WODispatchPlanTmDoBizFun {
                 }
 
                 LocalDateTime nextDateTime = findNextTime(dateTimeStrings);
-                LocalDateTime limitNextDateTime = nextDateTime!=null?LocalDateTime.parse(dateLimitTimeStrings.get(dateTimeStrings.indexOf(nextDateTime
-                        .format(DateTimeFormatter.ofPattern(TimeTool.TIMESTAMP_FORMAT)))),DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")):null;
+                LocalDateTime limitNextDateTime = nextDateTime!=null?LocalDateTime.parse(dateLimitTimeStrings.get(dateLimitTimeStrings.indexOf(nextDateTime
+                        .format(DateTimeFormatter.ofPattern(TimeTool.YEAR_MONTH_DAY_FORMAT))+" "+model.getItemsList().stream().sorted(Comparator.comparing(DispatchCmdBatchItemNextTimeModel::getHandleStartTimeLimit))
+                        .collect(Collectors.toList()).get(0).getHandleStartTimeLimit())),DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")):null;
 
                 if(nextDateTime!=null){
                     if (model.getDispatchLeadTime() == 0) {
@@ -683,7 +691,8 @@ public class WODispatchPlanTmDoBizFun {
                     }
                 }else{
                     LocalTime localTime = LocalTime.parse(newList.get(0).getHandleStartTime(), DateTimeFormatter.ofPattern("HH:mm:ss"));
-                    LocalTime localTimeLimit = LocalTime.parse(newList.get(0).getHandleStartTimeLimit(), DateTimeFormatter.ofPattern("HH:mm:ss"));
+                    LocalTime localTimeLimit = LocalTime.parse(model.getItemsList().stream().sorted(Comparator.comparing(DispatchCmdBatchItemNextTimeModel::getHandleStartTimeLimit))
+                            .collect(Collectors.toList()).get(0).getHandleStartTimeLimit(), DateTimeFormatter.ofPattern("HH:mm:ss"));
                     nextDateTime = LocalDateTime.now()
                             .withDayOfMonth(newJSONArray.getInteger(0));
                     if (model.getDispatchLeadTime() == 0) {
@@ -738,8 +747,9 @@ public class WODispatchPlanTmDoBizFun {
                 }
 
                 LocalDateTime nextDateTime = findNextTime(dateTimeStrings);
-                LocalDateTime limitNextDateTime = nextDateTime!=null?LocalDateTime.parse(dateLimitTimeStrings.get(dateTimeStrings.indexOf(nextDateTime
-                        .format(DateTimeFormatter.ofPattern(TimeTool.TIMESTAMP_FORMAT)))),DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")):null;
+                LocalDateTime limitNextDateTime = nextDateTime!=null?LocalDateTime.parse(dateLimitTimeStrings.get(dateLimitTimeStrings.indexOf(nextDateTime
+                        .format(DateTimeFormatter.ofPattern(TimeTool.YEAR_MONTH_DAY_FORMAT))+" "+model.getItemsList().stream().sorted(Comparator.comparing(DispatchCmdBatchItemNextTimeModel::getHandleStartTimeLimit))
+                        .collect(Collectors.toList()).get(0).getHandleStartTimeLimit())),DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")):null;
                 if(nextDateTime!=null){
                     if (model.getDispatchLeadTime() == 0) {
                         nextTakeTime = reloadLocalDateTimeToLong(nextDateTime);
@@ -753,7 +763,8 @@ public class WODispatchPlanTmDoBizFun {
                     }
                 }else{
                     LocalTime localTime = LocalTime.parse(newList.get(0).getHandleStartTime(), DateTimeFormatter.ofPattern("HH:mm:ss"));
-                    LocalTime localTimeLimit = LocalTime.parse(newList.get(0).getHandleStartTimeLimit(), DateTimeFormatter.ofPattern("HH:mm:ss"));
+                    LocalTime localTimeLimit = LocalTime.parse(model.getItemsList().stream().sorted(Comparator.comparing(DispatchCmdBatchItemNextTimeModel::getHandleStartTimeLimit))
+                            .collect(Collectors.toList()).get(0).getHandleStartTimeLimit(), DateTimeFormatter.ofPattern("HH:mm:ss"));
                     nextDateTime = LocalDateTime.now()
                             .withMonth(Integer.valueOf(newJSONArray.get(0).toString().split("-")[0]))
                             .withDayOfMonth(Integer.valueOf(newJSONArray.get(0).toString().split("-")[1]));
@@ -836,9 +847,10 @@ public class WODispatchPlanTmDoBizFun {
             model.setSendway(oJsonParam.getSendway());
             model.setChufaRulsFlag(oJsonParam.getChufaRulsFlag());
 
-            ResponseCode insertRes = getThisDBService().insertPlanInfoByCount(model,oJsonParam.getRulesList(),
-                    oJsonParam.getTagsList(),oJsonParam.getItemsList());
-            return insertRes;
+//            ResponseCode insertRes = getThisDBService().insertPlanInfoByCount(model,oJsonParam.getRulesList(),
+//                    oJsonParam.getTagsList(),oJsonParam.getItemsList());
+//            return insertRes;
+            return null;//测试
         }catch(Exception ex){
             LogPrintMgr.getInstance().printLogMsg(LogLevelFlag.LOG_INFO, mStrClassName, mStrClassName
                     ,String.format("insert planInfo errorMsg:%s end<====",