From c4deb833d7724f92670b61e97ff608e84ced186e Mon Sep 17 00:00:00 2001 From: "jhforever.wang@estsh.com" Date: Mon, 27 Nov 2023 11:24:16 +0800 Subject: [PATCH] =?UTF-8?q?=E6=97=B6=E9=97=B4=E6=AE=B5=E5=90=88=E5=B9=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mes/apiservice/serviceimpl/busi/jx/JxMergeTimeSlotsService.java | 5 ----- 1 file changed, 5 deletions(-) diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/busi/jx/JxMergeTimeSlotsService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/busi/jx/JxMergeTimeSlotsService.java index bb63017..a4c69d7 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/busi/jx/JxMergeTimeSlotsService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/busi/jx/JxMergeTimeSlotsService.java @@ -20,14 +20,12 @@ public class JxMergeTimeSlotsService implements IJxMergeTimeSlotsService { @Override public List mergeTimeSlots(List timeSlots) { - // 如果只剩一个时间段直接返回 if (timeSlots.size() == 1) return timeSlots; for (int i = 0; i < timeSlots.size(); i++) { for (int j = i + 1; j < timeSlots.size(); j++) { JxMergeTimeSlotsModel timeSlot1 = timeSlots.get(i); JxMergeTimeSlotsModel timeSlot2 = timeSlots.get(j); JxMergeTimeSlotsModel mergeSlot = compareToMarge(timeSlot1, timeSlot2); - // 如果两个时间段能合并则递归继续合并 if (null != mergeSlot) { timeSlots.remove(timeSlot1); timeSlots.remove(timeSlot2); @@ -40,12 +38,9 @@ public class JxMergeTimeSlotsService implements IJxMergeTimeSlotsService { } private JxMergeTimeSlotsModel compareToMarge(JxMergeTimeSlotsModel timeSlot1, JxMergeTimeSlotsModel timeSlot2) { - // 如果两个时间段完全没有交集则直接返回 if (timeSlot1.getEndDate().before(timeSlot2.getStartDate()) || timeSlot1.getStartDate().after(timeSlot2.getEndDate())) return null; - // 如果有完全包含则去掉小的那个 else if (!timeSlot1.getStartDate().after(timeSlot2.getStartDate()) && !timeSlot1.getEndDate().before(timeSlot2.getEndDate())) return timeSlot1; else if (!timeSlot2.getStartDate().after(timeSlot1.getStartDate()) && !timeSlot2.getEndDate().before(timeSlot1.getEndDate())) return timeSlot2; - // 有交集则合并 else if (timeSlot1.getStartDate().before(timeSlot2.getStartDate()) && timeSlot1.getEndDate().before(timeSlot2.getEndDate())) return new JxMergeTimeSlotsModel().copy(timeSlot1).mergeEnd(timeSlot2.getEndTime(), timeSlot2.getEndDate()); else if (timeSlot2.getStartDate().before(timeSlot1.getStartDate()) && timeSlot2.getEndDate().before(timeSlot1.getEndDate())) return new JxMergeTimeSlotsModel().copy(timeSlot2).mergeEnd(timeSlot1.getEndTime(), timeSlot1.getEndDate()); else return null;