Browse Source

2024-12-03 功能优化

master
fengyuan_yang 2 years ago
parent
commit
4e49b4a984
  1. 39
      src/main/java/com/jianteng/modules/pms/service/impl/EamServiceImpl.java
  2. 20
      src/main/java/com/jianteng/modules/pms/util/HolidayUtils.java

39
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("日期判断失败!");
}

20
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;
}

Loading…
Cancel
Save