From 45533a6272083948c6a19e453ca7fa5ed05b8c94 Mon Sep 17 00:00:00 2001 From: zhanghl <253316343@qq.com> Date: 星期三, 14 五月 2025 10:18:19 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev --- 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