From 25cc1b887f5421353d94c5e6be0fca56b3f2e668 Mon Sep 17 00:00:00 2001
From: zhanghl <253316343@qq.com>
Date: 星期三, 21 五月 2025 16:29:24 +0800
Subject: [PATCH] 优化Job
---
aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsWorkCalendarServiceImpl.java | 55 ++++++++++++++++++++++++++++++-------------------------
1 files changed, 30 insertions(+), 25 deletions(-)
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsWorkCalendarServiceImpl.java b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsWorkCalendarServiceImpl.java
index 1137c2b..51c0189 100644
--- a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsWorkCalendarServiceImpl.java
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsWorkCalendarServiceImpl.java
@@ -158,33 +158,33 @@
List<ApsWorkCalendar> list = apsWorkCalendarMapper.selectApsWorkCalendarList(apsWorkCalendar);
for (ApsWorkCalendar apsWorkCalendarTemp : list) {
//宸ヤ綔鏃�
- if("1".equals(apsWorkCalendarTemp.getType())){
- //鑾峰彇鏃ュ巻瑙勫垯
- org.postgresql.util.PGobject pgObject = (org.postgresql.util.PGobject) apsWorkCalendarTemp.getContent();
- JSONArray weekdays = (JSON.parseObject(pgObject.getValue())).getJSONArray("weekdays");
- HashMap<String, String> weekdaysMap = new HashMap<>();
- for (int i = 0; i < weekdays.size(); i++) {
- weekdaysMap.put(weekdays.getJSONObject(i).getString("day"), weekdays.getJSONObject(i).getString("work"));
- }
- //鏍规嵁effectiveDate鍜宔xpiringDate绠楀嚭鏃ユ湡鑼冨洿鍐呯殑姣忎竴澶�
- List<LocalDate> datesTemp = getDatesBetween(apsWorkCalendarTemp.getEffectiveDate().toInstant().atZone(ZoneId.systemDefault()).toLocalDate(), apsWorkCalendarTemp.getExpiringDate().toInstant().atZone(ZoneId.systemDefault()).toLocalDate());
- for (LocalDate dateTemp: datesTemp) {
- if(baseCalendar.containsKey(dateTemp+"")){
- if ("y".equals(weekdaysMap.get(dateTemp.getDayOfWeek().getDisplayName(java.time.format.TextStyle.FULL, Locale.ENGLISH)))) {
- baseCalendar.put(dateTemp+"", "宸ヤ綔鏃�");
- } else if("n".equals(weekdaysMap.get(dateTemp.getDayOfWeek().getDisplayName(java.time.format.TextStyle.FULL, Locale.ENGLISH)))) {
- baseCalendar.put(dateTemp+"", "浼戞伅鏃�");
- }
+ org.postgresql.util.PGobject pgObjectWeekdays = (org.postgresql.util.PGobject) apsWorkCalendarTemp.getContent();
+ JSONArray weekdays = (JSON.parseObject(pgObjectWeekdays.getValue())).getJSONArray("weekdays");
+ HashMap<String, String> weekdaysMap = new HashMap<>();
+ for (int i = 0; i < weekdays.size(); i++) {
+ weekdaysMap.put(weekdays.getJSONObject(i).getString("day"), weekdays.getJSONObject(i).getString("work"));
+ }
+ List<LocalDate> datesTempWeekdays = getDatesBetween(apsWorkCalendarTemp.getEffectiveDate().toInstant().atZone(ZoneId.systemDefault()).toLocalDate(), apsWorkCalendarTemp.getExpiringDate().toInstant().atZone(ZoneId.systemDefault()).toLocalDate());
+ for (LocalDate dateTemp: datesTempWeekdays) {
+ if(baseCalendar.containsKey(dateTemp+"")){
+ if ("y".equals(weekdaysMap.get(dateTemp.getDayOfWeek().getDisplayName(java.time.format.TextStyle.FULL, Locale.ENGLISH)))) {
+ baseCalendar.put(dateTemp+"", "宸ヤ綔鏃�");
+ } else if("n".equals(weekdaysMap.get(dateTemp.getDayOfWeek().getDisplayName(java.time.format.TextStyle.FULL, Locale.ENGLISH)))) {
+ baseCalendar.put(dateTemp+"", "浼戞伅鏃�");
}
}
- }else if("2".equals(apsWorkCalendarTemp.getType())){
- //浼戞伅鏃�
- org.postgresql.util.PGobject pgObject = (org.postgresql.util.PGobject) apsWorkCalendarTemp.getContent();
- JSONObject holidays = (JSON.parseObject(pgObject.getValue())).getJSONObject("holidays");
- List<LocalDate> datesTemp = getDatesBetween(holidays.getObject("startdate", LocalDate.class), holidays.getObject("enddate", LocalDate.class));
- for (LocalDate dateTemp: datesTemp) {
- if(baseCalendar.containsKey(dateTemp+"")){
- baseCalendar.put(dateTemp+"", "鑺傚亣鏃�");
+ }
+ //浼戞伅鏃�
+ org.postgresql.util.PGobject pgObjectHolidays = (org.postgresql.util.PGobject) apsWorkCalendarTemp.getHolidays();
+ if(pgObjectHolidays!=null){
+ JSONArray holidays = (JSON.parseObject(pgObjectHolidays.getValue())).getJSONArray("holidays");
+ for (int i = 0; i < holidays.size(); i++){
+ JSONObject h = holidays.getJSONObject(i);
+ List<LocalDate> datesTempHolidays = getDatesBetween(h.getObject("startdate", LocalDate.class), h.getObject("enddate", LocalDate.class));
+ for (LocalDate dateTemp: datesTempHolidays) {
+ if(baseCalendar.containsKey(dateTemp+"")){
+ baseCalendar.put(dateTemp+"", "鑺傚亣鏃�");
+ }
}
}
}
@@ -202,6 +202,11 @@
return res;
}
+ @Override
+ public int deleteApsWorkCalendar(ApsWorkCalendar apsWorkCalendar){
+ return apsWorkCalendarMapper.deleteApsWorkCalendar(apsWorkCalendar);
+ }
+
private List<LocalDate> getCalendarData(int year, int month) {
// 鑾峰彇4鏈�1鍙风殑褰撳懆鐨勫懆鏃�
LocalDate startDate = LocalDate.of(year, month, 1)
--
Gitblit v1.9.3