From bbc84a06cf88cd70df389adc2432419d259cd6ff Mon Sep 17 00:00:00 2001
From: huangjiayang <5265313@qq.com>
Date: 星期三, 14 五月 2025 09:47:21 +0800
Subject: [PATCH] 【UPDATE】修改日历管理相关接口和数据结构

---
 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