From 4e49b4a9849e1e5090fcfc83e176bfdbc7e3a2b2 Mon Sep 17 00:00:00 2001 From: fengyuan_yang <1976974459@qq.com> Date: Tue, 3 Dec 2024 17:21:47 +0800 Subject: [PATCH] =?UTF-8?q?2024-12-03=20=E5=8A=9F=E8=83=BD=E4=BC=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pms/service/impl/EamServiceImpl.java | 39 ++++++++++++------- .../modules/pms/util/HolidayUtils.java | 20 +++++----- 2 files changed, 35 insertions(+), 24 deletions(-) diff --git a/src/main/java/com/jianteng/modules/pms/service/impl/EamServiceImpl.java b/src/main/java/com/jianteng/modules/pms/service/impl/EamServiceImpl.java index 97a4ea5..6389239 100644 --- a/src/main/java/com/jianteng/modules/pms/service/impl/EamServiceImpl.java +++ b/src/main/java/com/jianteng/modules/pms/service/impl/EamServiceImpl.java @@ -1252,14 +1252,15 @@ public class EamServiceImpl implements EamService { } // 判断是否为工作日 try { - Boolean workingDay = HolidayUtils.isWorkingDay(orderDate.getTime()); - if (!workingDay) { // 如果是节假日,日期改为下一天 + // 循环直到找到下一个工作日 + while (!HolidayUtils.isWorkingDay(orderDate.getTime())) { + // 如果是休息日,则将日期加1 calendar.clear(); calendar.setTime(orderDate); - calendar.add(Calendar.DATE,1); + calendar.add(Calendar.DATE, 1); orderDate = calendar.getTime(); - planData.setOrderDate(orderDate); } + planData.setOrderDate(orderDate); } catch (IOException e) { throw new RuntimeException("日期判断失败!"); } @@ -1305,7 +1306,7 @@ public class EamServiceImpl implements EamService { calendar.setTime(orderDate); if (calendar.get(Calendar.DAY_OF_MONTH) != 31) { calendar.set(Calendar.DATE, 31); - try { // 判断该月31日是不是周末,如果为周末就取30日 + try { // 判断该月31日是不是周六周日,如果为周末就取30日 if (!HolidayUtils.isWorkingDay(calendar.getTime().getTime())){ calendar.add(Calendar.DATE,-1); } @@ -1319,7 +1320,7 @@ public class EamServiceImpl implements EamService { } planData.setOrderDate(orderDate); // 是否选择了工单生成规则 - if (planData.getWorkOrderRule()!= null || !planData.getWorkOrderRule().equals("")) { + if (planData.getWorkOrderRule()!= null || !"".equals(planData.getWorkOrderRule())) { // 用户选择了周日也创建工单,就不进行工作日判断,跳过本次循环 if (planData.getWorkOrderRule().contains("A")) { compareTo = orderDate.compareTo(endDate); @@ -1328,14 +1329,15 @@ public class EamServiceImpl implements EamService { } // 判断是否为工作日 try { - Boolean workingDay = HolidayUtils.isWorkingDay(orderDate.getTime()); - if (!workingDay) { // 如果是节假日,日期改为下一天 + // 循环直到找到下一个工作日 + while (!HolidayUtils.isWorkingDay(orderDate.getTime())) { + // 如果是休息日,则将日期加1 calendar.clear(); calendar.setTime(orderDate); - calendar.add(Calendar.DATE,1); + calendar.add(Calendar.DATE, 1); orderDate = calendar.getTime(); - planData.setOrderDate(orderDate); } + planData.setOrderDate(orderDate); } catch (IOException e) { throw new RuntimeException("日期判断失败!"); } @@ -1395,14 +1397,23 @@ public class EamServiceImpl implements EamService { } // 判断是否为工作日 try { - Boolean workingDay = HolidayUtils.isWorkingDay(orderDate.getTime()); - if (!workingDay) { // 如果是节假日,日期改为下一天 +// Boolean workingDay = HolidayUtils.isWorkingDay(orderDate.getTime()); +// if (!workingDay) { // 如果是节假日,日期改为下一天 +// calendar.clear(); +// calendar.setTime(orderDate); +// calendar.add(Calendar.DATE,1); +// orderDate = calendar.getTime(); +// planData.setOrderDate(orderDate); +// } + // 循环直到找到下一个工作日 + while (!HolidayUtils.isWorkingDay(orderDate.getTime())) { + // 如果是休息日,则将日期加1 calendar.clear(); calendar.setTime(orderDate); - calendar.add(Calendar.DATE,1); + calendar.add(Calendar.DATE, 1); orderDate = calendar.getTime(); - planData.setOrderDate(orderDate); } + planData.setOrderDate(orderDate); } catch (IOException e) { throw new RuntimeException("日期判断失败!"); } diff --git a/src/main/java/com/jianteng/modules/pms/util/HolidayUtils.java b/src/main/java/com/jianteng/modules/pms/util/HolidayUtils.java index ddce9d3..88e172f 100644 --- a/src/main/java/com/jianteng/modules/pms/util/HolidayUtils.java +++ b/src/main/java/com/jianteng/modules/pms/util/HolidayUtils.java @@ -91,19 +91,19 @@ public class HolidayUtils { // if (holiday.contains(formatTime)) { // return false; // } -// //如果是1-5表示周一到周五 是工作日 -// DayOfWeek week = dateTime.getDayOfWeek(); -// if (week == DayOfWeek.SATURDAY || week == DayOfWeek.SUNDAY) { -// return false; -// } + // 如果是1-5表示周一到周五 是工作日 DayOfWeek week = dateTime.getDayOfWeek(); - if (week == DayOfWeek.SUNDAY) { - return false; - } - //20240331 阮琦增加 健腾他们是双休 需要加上周六 - if (week == DayOfWeek.SATURDAY) { + if (week == DayOfWeek.SATURDAY || week == DayOfWeek.SUNDAY) { return false; } +// DayOfWeek week = dateTime.getDayOfWeek(); +// //20240331 阮琦增加 健腾他们是双休 需要加上周六 +// if (week == DayOfWeek.SATURDAY) { +// return false; +// } +// if (week == DayOfWeek.SUNDAY) { +// return false; +// } return true; }