From 99d1eaa027332f5061f22e3f9b44c0ab59249e87 Mon Sep 17 00:00:00 2001 From: liuliang <401809302@qq.com> Date: Mon, 8 Jan 2024 21:28:27 +0800 Subject: [PATCH] liuliang --- .idea/compiler.xml | 3 + .idea/hrm-attendance.iml | 45 ++ .idea/modules.xml | 2 +- .idea/uiDesigner.xml | 124 +++++ .idea/workspace.xml | 490 ++++++++++++++++++ log/sdk.log | 345 ++++++++++++ .../hrm_attendance/hrm-attendance.jar | Bin 204473 -> 244588 bytes .../vocation/VocationActionApi.java | 14 + .../service/impl/WorkOverTimeServiceImpl.java | 10 +- .../GetAttendanceItemsByPersonDataCmd.java | 2 +- .../commonutil/PersongroupCommonUtil.java | 2 +- .../tactics/DayRegularScheduling.java | 2 +- .../tactics/MonthRegularScheduling.java | 2 +- .../tactics/WeekRegularScheduling.java | 2 +- .../tactics/YearRegularScheduling.java | 2 +- .../enums/AdjustStartingTimeEnum.java | 32 ++ .../attendance/enums/BalanceHandleEnum.java | 29 ++ .../attendance/enums/DelayTypeEnum.java | 31 ++ .../enums/QuotaChangeMethodEnum.java | 28 + .../attendance/enums/RemainderHandleEnum.java | 31 ++ .../attendance/enums/StartingUnitEnum.java | 35 ++ .../attendance/vacation/cmd/VocationCmd.java | 50 ++ .../HolidayGenerationJob.java | 12 + .../tactics/ByIntervalPayMentWay.java | 21 + .../tactics/BySchedulePaymentWay.java | 262 ++++++++++ .../tactics/HolidayGenerationWay.java | 10 + .../tactics/OneTimePayMentWay.java | 22 + .../tactics/SinglePaymentInFullWay.java | 343 ++++++++++++ .../vacation/service/VocationService.java | 11 + .../service/impl/VocationServiceImpl.java | 94 ++++ .../vacation/service/vocationService.java | 9 - .../vacation/util/VocationCommonUtil.java | 425 +++++++++++++++ .../vacation/web/VocationAction.java | 54 ++ .../cmd/GetPersonDateBySuitOrganzation.java | 93 ++-- src/com/engine/common/util/CommonUtil.java | 2 +- src/com/engine/common/util/DateUtil.java | 74 ++- src/com/engine/common/util/Utils.java | 4 - .../vocation/VocationActionApi.class | Bin 0 -> 656 bytes .../attendance/attendanceanalysis/README.md | 4 - .../impl/WorkOverTimeServiceImpl.class | Bin 22417 -> 22646 bytes .../web/AttendanceanalysisAction.class | Bin 12701 -> 12701 bytes .../attendance/attendanceplan/README.md | 4 - .../GetAttendanceItemsByPersonDataCmd.class | Bin 8485 -> 8489 bytes .../com/engine/attendance/component/README.md | 4 - .../commonutil/PersongroupCommonUtil.class | Bin 14412 -> 14419 bytes .../tactics/DayRegularScheduling.class | Bin 7505 -> 7509 bytes .../tactics/MonthRegularScheduling.class | Bin 7560 -> 7564 bytes .../tactics/WeekRegularScheduling.class | Bin 7945 -> 7949 bytes .../tactics/YearRegularScheduling.class | Bin 7984 -> 7988 bytes .../service/impl/PersonGroupServiceImpl.class | Bin 8650 -> 8655 bytes .../enums/AdjustStartingTimeEnum.class | Bin 0 -> 1825 bytes .../attendance/enums/BalanceHandleEnum.class | Bin 0 -> 1662 bytes .../attendance/enums/DelayTypeEnum.class | Bin 0 -> 1800 bytes .../enums/QuotaChangeMethodEnum.class | Bin 0 -> 1702 bytes .../enums/RemainderHandleEnum.class | Bin 0 -> 2025 bytes .../attendance/enums/StartingUnitEnum.class | Bin 0 -> 2018 bytes .../attendance/vacation/cmd/VocationCmd.class | Bin 0 -> 3324 bytes .../HolidayGenerationJob.class | Bin 926 -> 1658 bytes .../tactics/ByIntervalPayMentWay.class | Bin 0 -> 943 bytes .../tactics/BySchedulePaymentWay.class | Bin 0 -> 9671 bytes .../tactics/HolidayGenerationWay.class | Bin 0 -> 325 bytes .../tactics/OneTimePayMentWay.class | Bin 0 -> 934 bytes .../tactics/SinglePaymentInFullWay.class | Bin 0 -> 9219 bytes .../vacation/service/VocationService.class | Bin 0 -> 343 bytes .../service/impl/VocationServiceImpl.class | Bin 0 -> 7780 bytes .../vacation/util/VocationCommonUtil.class | Bin 0 -> 13133 bytes .../vacation/web/VocationAction.class | Bin 0 -> 2721 bytes .../com/engine/attendance/workflow/README.md | 4 - .../cmd/GetPersonDateBySuitOrganzation.class | Bin 9616 -> 12979 bytes .../com/engine/common/util/CommonUtil.class | Bin 8861 -> 8865 bytes .../com/engine/common/util/DateUtil.class | Bin 5388 -> 7015 bytes .../com/engine/common/util/DbTools.class | Bin 4229 -> 4229 bytes .../com/engine/common/util/Utils.class | Bin 20096 -> 19874 bytes .../modeexpand/DeleteCheckCalendar.class | Bin 1860 -> 3025 bytes .../TestBySchedulePaymentWay.class | Bin 0 -> 3475 bytes target/test-classes/TestObj.class | Bin 603 -> 1149 bytes .../TestSinglePaymentFullWay.class | Bin 0 -> 3526 bytes test/TestBySchedulePaymentWay.java | 26 + test/TestObj.java | 58 ++- test/TestSinglePaymentFullWay.java | 44 ++ 80 files changed, 2773 insertions(+), 88 deletions(-) create mode 100644 .idea/hrm-attendance.iml create mode 100644 .idea/uiDesigner.xml create mode 100644 .idea/workspace.xml create mode 100644 src/com/api/attendance/vocation/VocationActionApi.java create mode 100644 src/com/engine/attendance/enums/AdjustStartingTimeEnum.java create mode 100644 src/com/engine/attendance/enums/BalanceHandleEnum.java create mode 100644 src/com/engine/attendance/enums/DelayTypeEnum.java create mode 100644 src/com/engine/attendance/enums/QuotaChangeMethodEnum.java create mode 100644 src/com/engine/attendance/enums/RemainderHandleEnum.java create mode 100644 src/com/engine/attendance/enums/StartingUnitEnum.java create mode 100644 src/com/engine/attendance/vacation/cmd/VocationCmd.java create mode 100644 src/com/engine/attendance/vacation/job/holidaygeneration/tactics/ByIntervalPayMentWay.java create mode 100644 src/com/engine/attendance/vacation/job/holidaygeneration/tactics/BySchedulePaymentWay.java create mode 100644 src/com/engine/attendance/vacation/job/holidaygeneration/tactics/HolidayGenerationWay.java create mode 100644 src/com/engine/attendance/vacation/job/holidaygeneration/tactics/OneTimePayMentWay.java create mode 100644 src/com/engine/attendance/vacation/job/holidaygeneration/tactics/SinglePaymentInFullWay.java create mode 100644 src/com/engine/attendance/vacation/service/VocationService.java create mode 100644 src/com/engine/attendance/vacation/service/impl/VocationServiceImpl.java delete mode 100644 src/com/engine/attendance/vacation/service/vocationService.java create mode 100644 src/com/engine/attendance/vacation/util/VocationCommonUtil.java create mode 100644 src/com/engine/attendance/vacation/web/VocationAction.java create mode 100644 target/classes/com/api/attendance/vocation/VocationActionApi.class delete mode 100644 target/classes/com/engine/attendance/attendanceanalysis/README.md delete mode 100644 target/classes/com/engine/attendance/attendanceplan/README.md delete mode 100644 target/classes/com/engine/attendance/component/README.md create mode 100644 target/classes/com/engine/attendance/enums/AdjustStartingTimeEnum.class create mode 100644 target/classes/com/engine/attendance/enums/BalanceHandleEnum.class create mode 100644 target/classes/com/engine/attendance/enums/DelayTypeEnum.class create mode 100644 target/classes/com/engine/attendance/enums/QuotaChangeMethodEnum.class create mode 100644 target/classes/com/engine/attendance/enums/RemainderHandleEnum.class create mode 100644 target/classes/com/engine/attendance/enums/StartingUnitEnum.class create mode 100644 target/classes/com/engine/attendance/vacation/cmd/VocationCmd.class create mode 100644 target/classes/com/engine/attendance/vacation/job/holidaygeneration/tactics/ByIntervalPayMentWay.class create mode 100644 target/classes/com/engine/attendance/vacation/job/holidaygeneration/tactics/BySchedulePaymentWay.class create mode 100644 target/classes/com/engine/attendance/vacation/job/holidaygeneration/tactics/HolidayGenerationWay.class create mode 100644 target/classes/com/engine/attendance/vacation/job/holidaygeneration/tactics/OneTimePayMentWay.class create mode 100644 target/classes/com/engine/attendance/vacation/job/holidaygeneration/tactics/SinglePaymentInFullWay.class create mode 100644 target/classes/com/engine/attendance/vacation/service/VocationService.class create mode 100644 target/classes/com/engine/attendance/vacation/service/impl/VocationServiceImpl.class create mode 100644 target/classes/com/engine/attendance/vacation/util/VocationCommonUtil.class create mode 100644 target/classes/com/engine/attendance/vacation/web/VocationAction.class delete mode 100644 target/classes/com/engine/attendance/workflow/README.md create mode 100644 target/test-classes/TestBySchedulePaymentWay.class create mode 100644 target/test-classes/TestSinglePaymentFullWay.class create mode 100644 test/TestBySchedulePaymentWay.java create mode 100644 test/TestSinglePaymentFullWay.java diff --git a/.idea/compiler.xml b/.idea/compiler.xml index a1757ae..6439288 100644 --- a/.idea/compiler.xml +++ b/.idea/compiler.xml @@ -4,5 +4,8 @@ + + + \ No newline at end of file diff --git a/.idea/hrm-attendance.iml b/.idea/hrm-attendance.iml new file mode 100644 index 0000000..1a66ddc --- /dev/null +++ b/.idea/hrm-attendance.iml @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml index 2ac941b..e3ccf7a 100644 --- a/.idea/modules.xml +++ b/.idea/modules.xml @@ -2,7 +2,7 @@ - + \ No newline at end of file diff --git a/.idea/uiDesigner.xml b/.idea/uiDesigner.xml new file mode 100644 index 0000000..e96534f --- /dev/null +++ b/.idea/uiDesigner.xml @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/workspace.xml b/.idea/workspace.xml new file mode 100644 index 0000000..d067de1 --- /dev/null +++ b/.idea/workspace.xml @@ -0,0 +1,490 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1692339514997 + + + + + + + + + + + + + + + + + + + + + + + + + file://$PROJECT_DIR$/test/TestGetClockInPoint.java + 301 + + + file://$PROJECT_DIR$/test/TestMergeAskForLeaveAndEvctionSchedule.java + 90 + + + file://$PROJECT_DIR$/src/com/engine/attendance/vacation/job/holidaygeneration/tactics/SinglePaymentInFullWay.java + 294 + + + file://$PROJECT_DIR$/src/com/engine/attendance/vacation/job/holidaygeneration/tactics/SinglePaymentInFullWay.java + 279 + + + + + + + + + + + + + \ No newline at end of file diff --git a/log/sdk.log b/log/sdk.log index 6b4ef02..2c2aa40 100644 --- a/log/sdk.log +++ b/log/sdk.log @@ -1214,3 +1214,348 @@ 2023-12-15 17:09:25,338 [main] [com.engine.attendance.attendanceanalysis.cmd.GetClockInPointCmd] [INFO] - clcokInTimeData :[[{2023-11-12 12:00|1|4={signtime=11:20:00, id=48, userid=53, signdate=2023-11-12}}, {2023-11-12 13:00|0|5={signtime=13:20:00, id=48, userid=53, signdate=2023-11-12}}]] 2023-12-15 17:14:25,334 [Timer-0] [A2] [INFO] - rootPath == null 2023-12-15 17:14:25,336 [Timer-0] [A2] [INFO] - filePath == nullWEB-INF\prop\isSyncLog4j.properties +2024-01-04 16:01:06,194 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-12-01] +2024-01-04 16:01:34,298 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-12-01] +2024-01-04 17:30:19,889 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-11-11] +2024-01-04 17:30:19,951 [main] [com.engine.attendance.vacation.job.holidaygeneration.tactics.SinglePaymentInFullWay] [INFO] - userId : [53] 工龄小于1年 +2024-01-04 17:30:32,063 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-11-11] +2024-01-04 17:30:32,116 [main] [com.engine.attendance.vacation.job.holidaygeneration.tactics.SinglePaymentInFullWay] [INFO] - userId : [53] 工龄小于1年 +2024-01-04 17:31:25,205 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-11-11] +2024-01-04 17:31:25,274 [main] [com.engine.attendance.vacation.job.holidaygeneration.tactics.SinglePaymentInFullWay] [INFO] - userId : [53] 工龄小于1年 +2024-01-04 17:31:46,654 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-11-11] +2024-01-04 17:32:06,681 [main] [com.engine.attendance.vacation.job.holidaygeneration.tactics.SinglePaymentInFullWay] [INFO] - userId : [53] 工龄小于1年 +2024-01-04 18:49:15,691 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-11-11] +2024-01-04 18:49:15,748 [main] [com.engine.attendance.vacation.job.holidaygeneration.tactics.SinglePaymentInFullWay] [INFO] - userId : [53] 工龄小于1年 +2024-01-04 18:49:33,069 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-11-11] +2024-01-04 18:49:45,095 [main] [com.engine.attendance.vacation.job.holidaygeneration.tactics.SinglePaymentInFullWay] [INFO] - userId : [53] 工龄小于1年 +2024-01-04 18:56:34,359 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-12-01] +2024-01-04 19:32:37,994 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-11-11] +2024-01-04 19:32:38,065 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - excuteTime : [] +2024-01-04 19:41:37,462 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-11-11] +2024-01-04 19:43:07,328 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - excuteTime : [] +2024-01-04 19:44:44,053 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-11-11] +2024-01-04 19:44:44,123 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - excuteTime : [] +2024-01-04 19:47:01,492 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-11-11] +2024-01-04 19:47:41,733 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-11-11] +2024-01-04 19:48:20,036 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-11-11] +2024-01-04 19:48:20,097 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - excuteTime : [] +2024-01-04 19:49:14,901 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-11-11] +2024-01-04 19:51:28,347 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-12-01] +2024-01-04 19:51:28,352 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - excuteTime : [2024-12-16 00:00] +2024-01-04 19:51:28,360 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - updateHolidayBalance dataMap:[{ygid=53, sxrq=2025-01-01, jqid=112, qsrq=2021-12-01, ffsj=2024-12-16 00:00:00, lyid=18, ktsc=0.0, jzrq=2025-12-31}] +2024-01-04 19:52:37,555 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-12-01] +2024-01-04 19:52:37,559 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - excuteTime : [2024-12-16 00:00] +2024-01-04 19:52:37,571 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - updateHolidayBalance dataMap:[{ygid=53, sxrq=2025-01-01, jqid=112, qsrq=2021-12-01, ffsj=2024-12-16 00:00:00, lyid=18, ktsc=0.0, jzrq=2025-12-31}] +2024-01-04 19:53:40,656 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-12-01] +2024-01-04 19:53:47,389 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - excuteTime : [2024-12-16 00:00] +2024-01-04 19:54:33,649 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - updateHolidayBalance dataMap:[{ygid=53, sxrq=2025-01-01, jqid=112, qsrq=2021-12-01, ffsj=2024-12-16 00:00:00, lyid=18, ktsc=0.0, jzrq=2025-12-31}] +2024-01-04 19:55:00,867 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-12-01] +2024-01-04 19:55:00,871 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - excuteTime : [2024-12-16 00:00] +2024-01-04 19:55:00,880 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - updateHolidayBalance dataMap:[{ygid=53, sxrq=2025-01-01, jqid=112, qsrq=2021-12-01, ffsj=2024-12-16 00:00:00, lyid=18, ktsc=5.0, jzrq=2025-12-31}] +2024-01-04 20:00:39,417 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-12-01] +2024-01-04 20:00:39,421 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - excuteTime : [2024-12-16 00:00] +2024-01-04 20:00:39,431 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - updateHolidayBalance dataMap:[{ygid=53, sxrq=2025-01-01, jqid=112, qsrq=2021-12-01, ffsj=2024-12-16 00:00:00, lyid=18, ktsc=5.0, jzrq=2025-12-31}] +2024-01-04 20:02:56,827 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-06-01] +2024-01-04 20:02:56,831 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - excuteTime : [2024-12-16 00:00] +2024-01-04 20:02:56,839 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - updateHolidayBalance dataMap:[{ygid=53, sxrq=2025-01-01, jqid=112, qsrq=2021-06-01, ffsj=2024-12-16 00:00:00, lyid=18, ktsc=5.0, jzrq=2025-12-31}] +2024-01-04 20:05:32,907 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-06-01] +2024-01-04 20:05:32,911 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - excuteTime : [2031-12-16 00:00] +2024-01-04 20:05:55,017 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-06-01] +2024-01-04 20:05:55,022 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - excuteTime : [2031-12-16 00:00] +2024-01-04 20:06:28,986 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-06-01] +2024-01-04 20:06:28,990 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - excuteTime : [2031-12-16 00:00] +2024-01-04 20:07:47,596 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-06-01] +2024-01-04 20:07:47,600 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - excuteTime : [2031-12-16 00:00] +2024-01-04 20:07:47,618 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - updateHolidayBalance dataMap:[{ygid=53, sxrq=2032-01-01, jqid=112, qsrq=2021-06-01, ffsj=2031-12-16 00:00:00, lyid=18, ktsc=10.0, jzrq=2032-12-31}] +2024-01-04 20:08:08,092 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-06-01] +2024-01-04 20:08:08,096 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - excuteTime : [2031-12-16 00:00] +2024-01-04 20:08:18,983 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - updateHolidayBalance dataMap:[{ygid=53, sxrq=2032-01-01, jqid=112, qsrq=2021-06-01, ffsj=2031-12-16 00:00:00, lyid=18, ktsc=10.0, jzrq=2032-12-31}] +2024-01-04 20:09:11,615 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-06-01] +2024-01-04 20:09:11,619 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - excuteTime : [2026-12-16 00:00] +2024-01-04 20:09:11,628 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - updateHolidayBalance dataMap:[{ygid=53, sxrq=2027-01-01, jqid=112, qsrq=2021-06-01, ffsj=2026-12-16 00:00:00, lyid=18, ktsc=5.0, jzrq=2027-12-31}] +2024-01-04 20:10:30,648 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-06-01] +2024-01-04 20:10:30,655 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - excuteTime : [2027-12-16 00:00] +2024-01-04 20:10:30,691 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - updateHolidayBalance dataMap:[{ygid=53, sxrq=2028-01-01, jqid=112, qsrq=2021-06-01, ffsj=2027-12-16 00:00:00, lyid=18, ktsc=10.0, jzrq=2028-12-31}] +2024-01-04 20:11:30,908 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-06-01] +2024-01-04 20:11:30,912 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - excuteTime : [2027-12-16 00:00] +2024-01-04 20:11:47,933 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - updateHolidayBalance dataMap:[{ygid=53, sxrq=2028-01-01, jqid=112, qsrq=2021-06-01, ffsj=2027-12-16 00:00:00, lyid=18, ktsc=10.0, jzrq=2028-12-31}] +2024-01-04 20:12:13,079 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-06-01] +2024-01-04 20:12:13,083 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - excuteTime : [2027-12-16 00:00] +2024-01-04 20:12:13,093 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - updateHolidayBalance dataMap:[{ygid=53, sxrq=2028-01-01, jqid=112, qsrq=2021-06-01, ffsj=2027-12-16 00:00:00, lyid=18, ktsc=10.0, jzrq=2028-12-31}] +2024-01-04 20:12:24,597 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-06-01] +2024-01-04 20:12:24,600 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - excuteTime : [2027-12-16 00:00] +2024-01-04 20:14:31,160 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - updateHolidayBalance dataMap:[{ygid=53, sxrq=2028-01-01, jqid=112, qsrq=2021-06-01, ffsj=2027-12-16 00:00:00, lyid=18, ktsc=10.0, jzrq=2028-12-31}] +2024-01-04 20:14:56,389 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-06-01] +2024-01-04 20:14:56,393 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - excuteTime : [2027-12-16 00:00] +2024-01-04 20:14:56,406 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - updateHolidayBalance dataMap:[{ygid=53, sxrq=2028-01-01, jqid=112, qsrq=2021-06-01, ffsj=2027-12-16 00:00:00, lyid=18, ktsc=8.0, jzrq=2028-12-31}] +2024-01-04 20:15:28,452 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-06-01] +2024-01-04 20:15:28,457 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - excuteTime : [2027-12-16 00:00] +2024-01-04 20:18:17,238 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - updateHolidayBalance dataMap:[{ygid=53, sxrq=2028-01-01, jqid=112, qsrq=2021-06-01, ffsj=2027-12-16 00:00:00, lyid=18, ktsc=8.0, jzrq=2028-12-31}] +2024-01-04 20:19:19,907 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-06-01] +2024-01-04 20:19:19,912 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - excuteTime : [2027-12-16 00:00] +2024-01-04 20:20:14,913 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - updateHolidayBalance dataMap:[{ygid=53, sxrq=2028-01-01, jqid=112, qsrq=2021-06-01, ffsj=2027-12-16 00:00:00, lyid=18, ktsc=8.0, jzrq=2028-12-31}] +2024-01-04 20:30:32,397 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-06-01] +2024-01-04 20:30:32,402 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - excuteTime : [2027-12-16 00:00] +2024-01-04 20:31:22,099 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - updateHolidayBalance dataMap:[{ygid=53, sxrq=2028-01-01, jqid=112, qsrq=2021-06-01, ffsj=2027-12-16 00:00:00, lyid=18, ktsc=8.0, jzrq=2028-12-31}] +2024-01-04 20:31:30,633 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-06-01] +2024-01-04 20:31:30,639 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - excuteTime : [2027-12-16 00:00] +2024-01-04 20:31:30,657 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - updateHolidayBalance dataMap:[{ygid=53, sxrq=2028-01-01, jqid=112, qsrq=2021-06-01, ffsj=2027-12-16 00:00:00, lyid=18, ktsc=8.0, jzrq=2028-12-31}] +2024-01-04 20:45:46,881 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-06-01] +2024-01-04 20:45:46,885 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - excuteTime : [2027-12-16 00:00] +2024-01-04 20:45:46,903 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - updateHolidayBalance dataMap:[{ygid=53, sxrq=2028-01-01, jqid=112, qsrq=2021-06-01, ffsj=2027-12-16 00:00:00, lyid=18, ktsc=12.0, jzrq=2028-12-31}] +2024-01-04 20:46:05,873 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-06-01] +2024-01-04 20:46:05,878 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - excuteTime : [2027-12-16 00:00] +2024-01-04 20:48:11,480 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - updateHolidayBalance dataMap:[{ygid=53, sxrq=2028-01-01, jqid=112, qsrq=2021-06-01, ffsj=2027-12-16 00:00:00, lyid=18, ktsc=12.0, jzrq=2028-12-31}] +2024-01-04 20:49:55,670 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-06-01] +2024-01-04 20:49:55,673 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - excuteTime : [2027-12-16 00:00] +2024-01-04 20:49:55,682 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - updateHolidayBalance dataMap:[{ygid=53, sxrq=2028-01-01, jqid=112, qsrq=2021-06-01, ffsj=2027-12-16 00:00:00, lyid=18, ktsc=1.0, jzrq=2028-12-31}] +2024-01-04 21:20:04,487 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-06-01] +2024-01-04 21:20:04,491 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - excuteTime : [2021-12-16 00:00] +2024-01-04 21:20:52,694 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-12-01] +2024-01-04 21:20:52,698 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - excuteTime : [2021-12-16 00:00] +2024-01-04 21:21:12,708 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-12-01] +2024-01-04 21:21:12,714 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - excuteTime : [2021-12-16 00:00] +2024-01-04 21:21:12,720 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - updateHolidayBalance dataMap:[{ygid=53, sxrq=2022-01-01, jqid=112, qsrq=2021-12-01, ffsj=2021-12-16 00:00:00, lyid=18, ktsc=0.0, jzrq=2022-02-31}] +2024-01-04 21:21:41,976 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-12-01] +2024-01-04 21:21:41,980 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - excuteTime : [2021-12-16 00:00] +2024-01-04 21:21:58,202 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-12-01] +2024-01-04 21:21:58,206 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - excuteTime : [2021-12-16 00:00] +2024-01-04 21:22:10,824 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-12-01] +2024-01-04 21:22:56,917 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - excuteTime : [2021-12-16 00:00] +2024-01-04 21:25:22,291 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-12-01] +2024-01-04 21:25:22,295 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - excuteTime : [] +2024-01-04 21:25:47,889 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-12-01] +2024-01-04 21:25:47,893 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - excuteTime : [2022-01-16 00:00] +2024-01-04 21:25:55,261 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-12-01] +2024-01-04 21:25:55,266 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - excuteTime : [] +2024-01-04 21:26:02,439 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-12-01] +2024-01-04 21:26:02,445 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - excuteTime : [2022-03-16 00:00] +2024-01-04 21:26:27,113 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-12-01] +2024-01-04 21:26:27,118 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - excuteTime : [2022-01-16 00:00] +2024-01-04 21:27:36,529 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-12-01] +2024-01-04 21:27:36,533 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - excuteTime : [] +2024-01-04 21:27:49,091 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-12-01] +2024-01-04 21:27:49,096 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - excuteTime : [2022-02-11 00:00] +2024-01-04 21:27:49,099 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - updateHolidayBalance dataMap:[{ygid=53, sxrq=2022-02-26, jqid=112, qsrq=2021-12-01, ffsj=2022-02-11 00:00:00, lyid=18, ktsc=0.0, jzrq=2022-04-26}] +2024-01-04 21:28:03,539 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-12-01] +2024-01-04 21:28:03,543 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - excuteTime : [2022-02-11 00:00] +2024-01-04 21:28:03,545 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - updateHolidayBalance dataMap:[{ygid=53, sxrq=2022-02-26, jqid=112, qsrq=2021-12-01, ffsj=2022-02-11 00:00:00, lyid=18, ktsc=0.0, jzrq=2022-03-26}] +2024-01-04 21:28:15,423 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-12-01] +2024-01-04 21:28:15,427 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - excuteTime : [2021-12-17 00:00] +2024-01-04 21:28:31,372 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-12-01] +2024-01-04 21:28:31,378 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - excuteTime : [2021-12-17 00:00] +2024-01-04 21:28:44,996 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-12-01] +2024-01-04 21:28:44,999 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - excuteTime : [2022-12-11 00:00] +2024-01-04 21:28:45,001 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - updateHolidayBalance dataMap:[{ygid=53, sxrq=2022-12-26, jqid=112, qsrq=2021-12-01, ffsj=2022-12-11 00:00:00, lyid=18, ktsc=0.0, jzrq=2023-01-26}] +2024-01-04 21:29:13,170 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-12-01] +2024-01-04 21:29:36,125 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - excuteTime : [2022-12-11 00:00] +2024-01-04 21:29:36,127 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - updateHolidayBalance dataMap:[{ygid=53, sxrq=2022-12-26, jqid=112, qsrq=2021-12-01, ffsj=2022-12-11 00:00:00, lyid=18, ktsc=0.0, jzrq=2023-01-26}] +2024-01-04 21:29:44,020 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-12-01] +2024-01-04 21:29:44,028 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - excuteTime : [] +2024-01-04 21:29:57,101 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-12-01] +2024-01-04 21:29:57,105 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - excuteTime : [] +2024-01-04 21:30:20,902 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-12-01] +2024-01-04 21:30:20,907 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - excuteTime : [] +2024-01-04 21:30:28,038 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-12-01] +2024-01-04 21:30:56,063 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - excuteTime : [] +2024-01-04 21:31:03,621 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-12-01] +2024-01-04 21:31:03,624 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - excuteTime : [2021-12-17 00:00] +2024-01-04 21:31:45,483 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-12-01] +2024-01-04 21:31:45,490 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - excuteTime : [2021-12-17 00:00] +2024-01-04 21:31:45,492 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - updateHolidayBalance dataMap:[{ygid=53, sxrq=2022-01-01, jqid=112, qsrq=2021-12-01, ffsj=2021-12-17 00:00:00, lyid=18, ktsc=0.0, jzrq=2022-02-01}] +2024-01-04 21:32:07,160 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-12-01] +2024-01-04 21:32:07,166 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - excuteTime : [2022-02-15 00:00] +2024-01-04 21:32:07,168 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - updateHolidayBalance dataMap:[{ygid=53, sxrq=2022-03-02, jqid=112, qsrq=2021-12-01, ffsj=2022-02-15 00:00:00, lyid=18, ktsc=0.0, jzrq=2022-04-02}] +2024-01-04 21:32:20,353 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-12-01] +2024-01-04 21:32:20,361 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - excuteTime : [2022-02-14 00:00] +2024-01-04 21:32:20,365 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - updateHolidayBalance dataMap:[{ygid=53, sxrq=2022-03-01, jqid=112, qsrq=2021-12-01, ffsj=2022-02-14 00:00:00, lyid=18, ktsc=0.0, jzrq=2022-04-01}] +2024-01-04 21:32:37,281 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-12-01] +2024-01-04 21:32:37,285 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - excuteTime : [2022-02-13 00:00] +2024-01-04 21:32:37,288 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - updateHolidayBalance dataMap:[{ygid=53, sxrq=2022-02-28, jqid=112, qsrq=2021-12-01, ffsj=2022-02-13 00:00:00, lyid=18, ktsc=0.0, jzrq=2022-03-28}] +2024-01-04 21:32:43,219 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-12-01] +2024-01-04 21:36:34,419 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - excuteTime : [2022-02-13 00:00] +2024-01-04 21:36:34,422 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - updateHolidayBalance dataMap:[{ygid=53, sxrq=2022-02-28, jqid=112, qsrq=2021-12-01, ffsj=2022-02-13 00:00:00, lyid=18, ktsc=0.0, jzrq=2022-03-28}] +2024-01-04 21:36:43,080 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-12-01] +2024-01-04 21:36:49,942 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - excuteTime : [2022-02-15 00:00] +2024-01-04 21:36:49,945 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - updateHolidayBalance dataMap:[{ygid=53, sxrq=2022-03-02, jqid=112, qsrq=2021-12-01, ffsj=2022-02-15 00:00:00, lyid=18, ktsc=0.0, jzrq=2022-04-02}] +2024-01-04 21:36:57,575 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-12-01] +2024-01-04 21:37:05,125 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - excuteTime : [2022-02-14 00:00] +2024-01-04 21:37:05,128 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - updateHolidayBalance dataMap:[{ygid=53, sxrq=2022-03-01, jqid=112, qsrq=2021-12-01, ffsj=2022-02-14 00:00:00, lyid=18, ktsc=0.0, jzrq=2022-04-01}] +2024-01-04 21:39:28,496 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-12-01] +2024-01-04 21:39:35,177 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - excuteTime : [] +2024-01-04 21:40:19,759 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-12-01] +2024-01-04 21:40:19,763 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - excuteTime : [] +2024-01-04 21:40:38,258 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-12-01] +2024-01-04 21:40:38,263 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - excuteTime : [] +2024-01-04 21:40:48,592 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-12-01] +2024-01-04 21:40:48,596 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - excuteTime : [] +2024-01-04 21:40:54,757 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-12-01] +2024-01-04 21:41:04,210 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - excuteTime : [] +2024-01-04 21:41:13,516 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-12-01] +2024-01-04 21:41:48,951 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - excuteTime : [] +2024-01-04 21:42:12,425 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-12-01] +2024-01-04 21:42:22,554 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - excuteTime : [2022-02-14 00:00] +2024-01-04 21:42:22,557 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - updateHolidayBalance dataMap:[{ygid=53, sxrq=2022-03-01, jqid=112, qsrq=2021-12-01, ffsj=2022-02-14 00:00:00, lyid=18, ktsc=0.0, jzrq=2022-04-01}] +2024-01-04 21:42:40,090 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-12-01] +2024-01-04 21:42:40,095 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - excuteTime : [] +2024-01-04 21:43:27,865 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-12-01] +2024-01-04 21:43:27,870 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - excuteTime : [] +2024-01-04 21:43:40,730 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-12-01] +2024-01-04 21:43:40,735 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - excuteTime : [] +2024-01-04 21:43:51,605 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-12-01] +2024-01-04 21:43:51,611 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - excuteTime : [] +2024-01-04 21:44:00,735 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-12-01] +2024-01-04 21:44:00,740 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - excuteTime : [2022-01-17 00:00] +2024-01-04 21:44:00,742 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - updateHolidayBalance dataMap:[{ygid=53, sxrq=2022-02-01, jqid=112, qsrq=2021-12-01, ffsj=2022-01-17 00:00:00, lyid=18, ktsc=0.0, jzrq=2022-04-01}] +2024-01-04 21:44:22,908 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-12-01] +2024-01-04 21:44:22,916 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - excuteTime : [] +2024-01-04 21:44:32,848 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-12-01] +2024-01-04 21:45:31,188 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - excuteTime : [] +2024-01-04 21:45:51,041 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-12-01] +2024-01-04 21:45:51,047 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - excuteTime : [] +2024-01-04 21:45:56,469 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-12-01] +2024-01-04 21:48:12,549 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - excuteTime : [] +2024-01-04 21:49:16,996 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-12-01] +2024-01-04 21:49:17,000 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - excuteTime : [2021-12-11 00:00] +2024-01-04 21:49:41,511 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-12-01] +2024-01-04 21:49:41,515 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - excuteTime : [2021-12-11 00:00] +2024-01-04 21:51:21,637 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-12-01] +2024-01-04 21:51:33,350 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - excuteTime : [] +2024-01-04 21:51:52,700 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-12-01] +2024-01-04 21:51:52,709 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - excuteTime : [2021-12-10 00:00] +2024-01-04 21:52:03,478 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-12-01] +2024-01-04 21:53:20,827 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - excuteTime : [2021-12-10 00:00] +2024-01-04 21:53:30,015 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-12-01] +2024-01-04 21:53:30,021 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - excuteTime : [] +2024-01-04 22:13:42,454 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-12-01] +2024-01-04 22:13:59,683 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-12-01] +2024-01-04 22:14:33,604 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-12-01] +2024-01-04 22:14:33,607 [main] [com.engine.attendance.vacation.job.holidaygeneration.tactics.BySchedulePaymentWay] [INFO] - excuteTime : [2021-12-29 00:00] +2024-01-04 22:14:58,647 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-12-01] +2024-01-04 22:14:58,650 [main] [com.engine.attendance.vacation.job.holidaygeneration.tactics.BySchedulePaymentWay] [INFO] - excuteTime : [2021-12-29 00:00] +2024-01-04 22:15:48,485 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-12-01] +2024-01-04 22:15:48,488 [main] [com.engine.attendance.vacation.job.holidaygeneration.tactics.BySchedulePaymentWay] [INFO] - excuteTime : [2021-12-29 00:00] +2024-01-04 22:16:45,015 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-12-01] +2024-01-04 22:16:45,018 [main] [com.engine.attendance.vacation.job.holidaygeneration.tactics.BySchedulePaymentWay] [INFO] - excuteTime : [2021-12-29 00:00] +2024-01-05 09:37:36,977 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-12-01] +2024-01-05 09:37:36,980 [main] [com.engine.attendance.vacation.job.holidaygeneration.tactics.BySchedulePaymentWay] [INFO] - excuteTime : [2021-12-29 00:00] +2024-01-05 09:38:11,185 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-12-01] +2024-01-05 09:38:11,185 [main] [com.engine.attendance.vacation.job.holidaygeneration.tactics.BySchedulePaymentWay] [INFO] - excuteTime : [2021-12-29 00:00] +2024-01-05 09:45:41,537 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-12-01] +2024-01-05 09:45:41,540 [main] [com.engine.attendance.vacation.job.holidaygeneration.tactics.BySchedulePaymentWay] [INFO] - excuteTime : [2022-01-29 00:00] +2024-01-05 09:45:50,690 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-12-01] +2024-01-05 09:45:50,693 [main] [com.engine.attendance.vacation.job.holidaygeneration.tactics.BySchedulePaymentWay] [INFO] - excuteTime : [2022-01-29 00:00] +2024-01-05 09:46:03,981 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-12-01] +2024-01-05 09:46:03,984 [main] [com.engine.attendance.vacation.job.holidaygeneration.tactics.BySchedulePaymentWay] [INFO] - excuteTime : [2022-01-29 00:00] +2024-01-05 09:47:46,511 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-12-01] +2024-01-05 09:47:46,514 [main] [com.engine.attendance.vacation.job.holidaygeneration.tactics.BySchedulePaymentWay] [INFO] - excuteTime : [2022-01-29 00:00] +2024-01-05 09:47:46,522 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - updateHolidayBalance dataMap:[{ygid=53, sxrq=2023-01-01, jqid=112, qsrq=2021-12-01, ffsj=2022-01-29 00:00:00, lyid=18, ktsc=0.0, jzrq=2023-12-31}] +2024-01-05 09:48:04,089 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-12-01] +2024-01-05 09:48:04,098 [main] [com.engine.attendance.vacation.job.holidaygeneration.tactics.BySchedulePaymentWay] [INFO] - excuteTime : [2023-01-29 00:00] +2024-01-05 09:48:13,666 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-12-01] +2024-01-05 09:48:13,668 [main] [com.engine.attendance.vacation.job.holidaygeneration.tactics.BySchedulePaymentWay] [INFO] - excuteTime : [2023-01-29 00:00] +2024-01-05 09:48:13,676 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - updateHolidayBalance dataMap:[{ygid=53, sxrq=2024-01-01, jqid=112, qsrq=2021-12-01, ffsj=2023-01-29 00:00:00, lyid=18, ktsc=0.0, jzrq=2024-12-31}] +2024-01-05 09:48:24,733 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-12-01] +2024-01-05 09:48:24,736 [main] [com.engine.attendance.vacation.job.holidaygeneration.tactics.BySchedulePaymentWay] [INFO] - excuteTime : [2023-01-29 00:00] +2024-01-05 09:48:39,159 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - updateHolidayBalance dataMap:[{ygid=53, sxrq=2024-01-01, jqid=112, qsrq=2021-12-01, ffsj=2023-01-29 00:00:00, lyid=18, ktsc=0.0, jzrq=2024-12-31}] +2024-01-05 09:51:39,020 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-12-01] +2024-01-05 09:51:39,024 [main] [com.engine.attendance.vacation.job.holidaygeneration.tactics.BySchedulePaymentWay] [INFO] - excuteTime : [2023-01-29 00:00] +2024-01-05 09:51:39,036 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - updateHolidayBalance dataMap:[{ygid=53, sxrq=2024-01-01, jqid=112, qsrq=2021-12-01, ffsj=2023-01-29 00:00:00, lyid=18, ktsc=1.0, jzrq=2024-12-31}] +2024-01-05 09:55:20,173 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-12-01] +2024-01-05 09:55:20,176 [main] [com.engine.attendance.vacation.job.holidaygeneration.tactics.BySchedulePaymentWay] [INFO] - excuteTime : [2023-01-29 00:00] +2024-01-05 09:55:41,044 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-12-01] +2024-01-05 09:55:41,046 [main] [com.engine.attendance.vacation.job.holidaygeneration.tactics.BySchedulePaymentWay] [INFO] - excuteTime : [2023-01-29 00:00] +2024-01-05 09:56:35,478 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-12-01] +2024-01-05 09:56:35,482 [main] [com.engine.attendance.vacation.job.holidaygeneration.tactics.BySchedulePaymentWay] [INFO] - excuteTime : [2023-01-29 00:00] +2024-01-05 09:56:45,167 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-12-01] +2024-01-05 09:56:45,170 [main] [com.engine.attendance.vacation.job.holidaygeneration.tactics.BySchedulePaymentWay] [INFO] - excuteTime : [2023-01-29 00:00] +2024-01-05 09:57:09,920 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-12-01] +2024-01-05 09:57:09,923 [main] [com.engine.attendance.vacation.job.holidaygeneration.tactics.BySchedulePaymentWay] [INFO] - excuteTime : [2023-01-29 00:00] +2024-01-05 10:51:56,457 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-12-01] +2024-01-05 10:51:56,459 [main] [com.engine.attendance.vacation.job.holidaygeneration.tactics.BySchedulePaymentWay] [INFO] - excuteTime : [2023-01-29 00:00] +2024-01-05 10:51:56,468 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - updateHolidayBalance dataMap:[{ygid=53, sxrq=2023-12-01, jqid=112, qsrq=2021-12-01, ffsj=2023-01-29 00:00:00, lyid=18, ktsc=1.0, jzrq=2024-12-01}] +2024-01-05 10:52:31,846 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-12-01] +2024-01-05 10:52:31,849 [main] [com.engine.attendance.vacation.job.holidaygeneration.tactics.BySchedulePaymentWay] [INFO] - excuteTime : [2023-01-29 00:00] +2024-01-05 10:52:31,858 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - updateHolidayBalance dataMap:[{ygid=53, sxrq=2023-12-01, jqid=112, qsrq=2021-12-01, ffsj=2023-01-29 00:00:00, lyid=18, ktsc=1.0, jzrq=2024-12-01}] +2024-01-05 10:57:31,880 [Timer-0] [A2] [INFO] - rootPath == null +2024-01-05 10:57:31,881 [Timer-0] [A2] [INFO] - filePath == nullWEB-INF\prop\isSyncLog4j.properties +2024-01-07 21:44:13,262 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-12-01] +2024-01-07 21:44:13,268 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - updateHolidayBalance dataMap:[{ygid=53, sxrq=2021-08-10, jqid=112, qsrq=2021-12-01, ffsj=2021-12-10 00:00:00, lyid=18, jzrq=2021-08-16}] +2024-01-07 21:49:13,293 [Timer-0] [A2] [INFO] - rootPath == null +2024-01-07 21:49:13,294 [Timer-0] [A2] [INFO] - filePath == nullWEB-INF\prop\isSyncLog4j.properties +2024-01-08 19:17:59,475 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-06-01] +2024-01-08 19:17:59,487 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - updateHolidayBalance dataMap:[{ygid=53, sxrq=2021-08-10, jqid=112, qsrq=2021-06-01, ffsj=2021-12-10 00:00:00, lyid=18, jzrq=2021-08-16}] +2024-01-08 19:20:20,611 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-06-01] +2024-01-08 19:20:20,625 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - updateHolidayBalance dataMap:[{ygid=53, sxrq=2021-01-01, jqid=112, qsrq=2021-06-01, ffsj=2021-12-10 00:00:00, lyid=18, jzrq=2021-12-31}] +2024-01-08 19:22:10,656 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-06-01] +2024-01-08 19:22:10,661 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - updateHolidayBalance dataMap:[{ygid=53, sxrq=2021-01-01, jqid=112, qsrq=2021-06-01, ffsj=2021-12-10 00:00:00, lyid=18, jzrq=2021-12-31}] +2024-01-08 19:22:27,685 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-06-01] +2024-01-08 19:22:28,912 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - updateHolidayBalance dataMap:[{ygid=53, sxrq=2021-01-01, jqid=112, qsrq=2021-06-01, ffsj=2021-12-10 00:00:00, lyid=18, jzrq=2021-12-31}] +2024-01-08 19:23:33,145 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-06-01] +2024-01-08 19:23:53,265 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - updateHolidayBalance dataMap:[{ygid=53, sxrq=2021-01-01, jqid=112, qsrq=2021-06-01, ffsj=2021-12-10 00:00:00, lyid=18, ktsc=0.0, jzrq=2021-12-31}] +2024-01-08 19:24:44,334 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-06-01] +2024-01-08 19:24:48,833 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - updateHolidayBalance dataMap:[{ygid=53, sxrq=2021-01-01, jqid=112, qsrq=2021-06-01, ffsj=2021-12-10 00:00:00, lyid=18, ktsc=0.0, jzrq=2021-12-31}] +2024-01-08 19:25:06,820 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-06-01] +2024-01-08 19:26:02,579 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - updateHolidayBalance dataMap:[{ygid=53, sxrq=2021-01-01, jqid=112, qsrq=2021-06-01, ffsj=2021-12-10 00:00:00, lyid=18, ktsc=0.0, jzrq=2021-12-31}] +2024-01-08 19:26:38,064 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-06-01] +2024-01-08 19:26:38,078 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - updateHolidayBalance dataMap:[{ygid=53, sxrq=2022-01-01, jqid=112, qsrq=2021-06-01, ffsj=2021-12-31 00:00:00, lyid=18, ktsc=4.5, jzrq=2022-12-31}] +2024-01-08 19:26:48,916 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-06-01] +2024-01-08 19:29:07,926 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - updateHolidayBalance dataMap:[{ygid=53, sxrq=2022-01-01, jqid=112, qsrq=2021-06-01, ffsj=2021-12-31 00:00:00, lyid=18, ktsc=4.5, jzrq=2022-12-31}] +2024-01-08 19:29:47,698 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-06-01] +2024-01-08 19:29:47,712 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - updateHolidayBalance dataMap:[{ygid=53, sxrq=2022-01-01, jqid=112, qsrq=2021-06-01, ffsj=2021-12-31 00:00:00, lyid=18, ktsc=4.5, jzrq=2022-12-31}] +2024-01-08 19:33:01,437 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-06-01] +2024-01-08 19:39:59,804 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - updateHolidayBalance dataMap:[{ygid=53, sxrq=2022-01-01, jqid=112, qsrq=2021-06-01, ffsj=2021-12-31 00:00:00, lyid=18, ktsc=4.5, jzrq=2022-12-31}] +2024-01-08 19:40:04,858 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-06-01] +2024-01-08 19:40:04,887 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - updateHolidayBalance dataMap:[{ygid=53, sxrq=2022-01-01, jqid=112, qsrq=2021-06-01, ffsj=2021-12-31 00:00:00, lyid=18, ktsc=4.5, jzrq=2022-12-31}] +2024-01-08 19:40:15,286 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-06-01] +2024-01-08 19:40:39,806 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - updateHolidayBalance dataMap:[{ygid=53, sxrq=2022-01-01, jqid=112, qsrq=2021-06-01, ffsj=2021-12-31 00:00:00, lyid=18, ktsc=4.5, jzrq=2022-12-31}] +2024-01-08 19:42:10,174 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-06-01] +2024-01-08 19:42:12,597 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - updateHolidayBalance dataMap:[{ygid=53, sxrq=2022-01-01, jqid=112, qsrq=2021-06-01, ffsj=2022-12-10 00:00:00, lyid=18, ktsc=4.5, jzrq=2022-12-31}] +2024-01-08 19:42:18,618 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-06-01] +2024-01-08 19:42:53,183 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - updateHolidayBalance dataMap:[{ygid=53, sxrq=2022-01-01, jqid=112, qsrq=2021-06-01, ffsj=2022-12-10 00:00:00, lyid=18, ktsc=4.5, jzrq=2022-12-31}] +2024-01-08 19:43:13,054 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-06-01] +2024-01-08 19:44:19,568 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - updateHolidayBalance dataMap:[{ygid=53, sxrq=2023-01-01, jqid=112, qsrq=2021-06-01, ffsj=2023-06-06 00:00:00, lyid=18, ktsc=5.0, jzrq=2023-12-31}] +2024-01-08 19:44:30,896 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-06-01] +2024-01-08 19:45:22,057 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - updateHolidayBalance dataMap:[{ygid=53, sxrq=2023-01-01, jqid=112, qsrq=2021-06-01, ffsj=2023-06-06 00:00:00, lyid=18, ktsc=5.0, jzrq=2023-12-31}] +2024-01-08 19:45:38,904 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-06-01] +2024-01-08 19:46:03,844 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - updateHolidayBalance dataMap:[{ygid=53, sxrq=2023-01-01, jqid=112, qsrq=2021-06-01, ffsj=2023-06-06 00:00:00, lyid=18, ktsc=5.0, jzrq=2023-12-31}] +2024-01-08 19:47:02,276 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-06-01] +2024-01-08 19:47:22,613 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - updateHolidayBalance dataMap:[{ygid=53, sxrq=2023-01-01, jqid=112, qsrq=2021-06-01, ffsj=2023-06-06 00:00:00, lyid=18, ktsc=5.0, jzrq=2023-12-31}] +2024-01-08 19:48:06,544 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-06-01] +2024-01-08 19:50:22,369 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - updateHolidayBalance dataMap:[{ygid=53, sxrq=2021-01-01, jqid=112, qsrq=2021-06-01, ffsj=2021-11-06 00:00:00, lyid=18, ktsc=2.5, jzrq=2021-12-31}] +2024-01-08 19:52:44,144 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-06-01] +2024-01-08 19:54:08,727 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - updateHolidayBalance dataMap:[{ygid=53, sxrq=2021-01-01, jqid=112, qsrq=2021-06-01, ffsj=2021-11-06 00:00:00, lyid=18, ktsc=2.5, jzrq=2021-12-31}] +2024-01-08 19:54:14,459 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-06-01] +2024-01-08 19:55:43,993 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - updateHolidayBalance dataMap:[{ygid=53, sxrq=2021-01-01, jqid=112, qsrq=2021-06-01, ffsj=2021-11-06 00:00:00, lyid=18, ktsc=2.5, jzrq=2021-12-31}] +2024-01-08 19:56:07,463 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-06-01] +2024-01-08 19:57:39,872 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - updateHolidayBalance dataMap:[{ygid=53, sxrq=2021-01-01, jqid=112, qsrq=2021-06-01, ffsj=2021-11-06 00:00:00, lyid=18, ktsc=2.5, jzrq=2021-12-31}] +2024-01-08 19:57:50,235 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-06-01] +2024-01-08 19:57:50,249 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - updateHolidayBalance dataMap:[{ygid=53, sxrq=2021-01-01, jqid=112, qsrq=2021-06-01, ffsj=2021-11-06 00:00:00, lyid=18, ktsc=2.5, jzrq=2021-12-31}] +2024-01-08 20:02:34,254 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-06-01] +2024-01-08 20:02:52,264 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - updateHolidayBalance dataMap:[{ygid=53, sxrq=2022-01-01, jqid=112, qsrq=2021-06-01, ffsj=2021-12-31 00:00:00, lyid=18, ktsc=5.0, jzrq=2022-12-31}] +2024-01-08 20:02:57,228 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-06-01] +2024-01-08 20:03:29,746 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - updateHolidayBalance dataMap:[{ygid=53, sxrq=2022-01-01, jqid=112, qsrq=2021-06-01, ffsj=2021-12-31 00:00:00, lyid=18, ktsc=5.0, jzrq=2022-12-31}] +2024-01-08 20:03:48,297 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-06-01] +2024-01-08 20:03:57,882 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - updateHolidayBalance dataMap:[{ygid=53, sxrq=2022-01-01, jqid=112, qsrq=2021-06-01, ffsj=2021-12-31 00:00:00, lyid=18, ktsc=5.0, jzrq=2022-12-31}] +2024-01-08 20:04:30,344 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-06-01] +2024-01-08 20:04:37,896 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - updateHolidayBalance dataMap:[{ygid=53, sxrq=2021-01-01, jqid=112, qsrq=2021-06-01, ffsj=2021-12-01 00:00:00, lyid=18, ktsc=2.5, jzrq=2021-12-31}] +2024-01-08 20:04:42,540 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-06-01] +2024-01-08 20:04:55,633 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - updateHolidayBalance dataMap:[{ygid=53, sxrq=2021-01-01, jqid=112, qsrq=2021-06-01, ffsj=2021-12-01 00:00:00, lyid=18, ktsc=2.5, jzrq=2021-12-31}] +2024-01-08 20:05:16,955 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-06-01] +2024-01-08 20:05:22,705 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - updateHolidayBalance dataMap:[{ygid=53, sxrq=2021-01-01, jqid=112, qsrq=2021-06-01, ffsj=2021-12-01 00:00:00, lyid=18, ktsc=0.0, jzrq=2021-12-31}] +2024-01-08 20:05:33,387 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-06-01] +2024-01-08 20:05:58,363 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - updateHolidayBalance dataMap:[{ygid=53, sxrq=2021-01-01, jqid=112, qsrq=2021-06-01, ffsj=2021-12-01 00:00:00, lyid=18, ktsc=0.0, jzrq=2021-12-31}] +2024-01-08 20:06:18,910 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-06-01] +2024-01-08 20:06:32,006 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - updateHolidayBalance dataMap:[{ygid=53, sxrq=2021-01-01, jqid=112, qsrq=2021-06-01, ffsj=2021-12-01 00:00:00, lyid=18, ktsc=0.0, jzrq=2021-12-31}] +2024-01-08 20:41:55,105 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-06-01] +2024-01-08 20:41:55,109 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - updateHolidayBalance dataMap:[{ygid=53, sxrq=2021-01-01, jqid=112, qsrq=2021-06-01, ffsj=2021-12-01 00:00:00, lyid=18, jzrq=2021-12-31}] +2024-01-08 20:42:02,178 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-06-01] +2024-01-08 20:42:02,184 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - updateHolidayBalance dataMap:[{ygid=53, sxrq=2021-01-01, jqid=112, qsrq=2021-06-01, ffsj=2021-12-01 00:00:00, lyid=18, jzrq=2021-12-31}] +2024-01-08 20:42:19,537 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-06-01] +2024-01-08 20:42:19,542 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - updateHolidayBalance dataMap:[{ygid=53, sxrq=2021-01-01, jqid=112, qsrq=2021-06-01, ffsj=2021-12-01 00:00:00, lyid=18, jzrq=2021-12-31}] +2024-01-08 20:42:59,760 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-06-01] +2024-01-08 20:43:24,797 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - updateHolidayBalance dataMap:[{ygid=53, sxrq=2021-01-01, jqid=112, qsrq=2021-06-01, ffsj=2021-12-01 00:00:00, lyid=18, ktsc=2.5, jzrq=2021-12-31}] +2024-01-08 20:43:30,603 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-06-01] +2024-01-08 20:43:41,011 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - updateHolidayBalance dataMap:[{ygid=53, sxrq=2021-01-01, jqid=112, qsrq=2021-06-01, ffsj=2021-12-01 00:00:00, lyid=18, ktsc=2.5, jzrq=2021-12-31}] +2024-01-08 20:43:54,392 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - getAfterAdjustTime qsrq : [2021-06-01] +2024-01-08 20:44:44,333 [main] [com.engine.attendance.vacation.util.VocationCommonUtil] [INFO] - updateHolidayBalance dataMap:[{ygid=53, sxrq=2021-01-01, jqid=112, qsrq=2021-06-01, ffsj=2021-12-01 00:00:00, lyid=18, ktsc=2.5, jzrq=2021-12-31}] diff --git a/out/artifacts/hrm_attendance/hrm-attendance.jar b/out/artifacts/hrm_attendance/hrm-attendance.jar index 1fc9d9ddda2769e20ab7e58345171388cacd9420..d8cabed8b78b3599d398cbf3b15040199ae7c591 100644 GIT binary patch delta 164505 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

l?p|#H_4f< zQ}~K@9C3G&S{#1or4*>8kg`JgybvVHZj&#~&5;**m~MqVh1RlCPy*8(DrA)}UO5va zTd6ikC*LYwLB-!!fskO=bUm9Vg6W^l(35CAYl$KcC9P8@!9WgFVyMhvGcKoFve|>E zQ|MRb*1^Pyh_v$Q6FpHAEs*IXj@@10aIR|&nxe;F8&IV23j@N;4HWIM%Ih&LeZf)hP4`B-O7XZb% zaNfSc2!yrS0RJxm@y&{uis7&6o;v&m;g*9gSm`nyTLD5lE{*D^-v9~fExn&4m$se@NM||V$I!_12~gQE$tw65q!Kc@q7u{epE~!OqJYQ4jvd(HMbHrfs7R|CJ}2WH~>!zET6Y z2Gq^k=fslV58{o-;L@%#uJq{Qu`I<&WyOw7avV=A3%JfFUAn0Do~*1>g_CDn1lTkV zIkdx%qRS4ik0Fw%0`AKt8Py1g1oAd?V8^?@CW}Dxy%)u10bi?q^-u@jR9|(FwQ8Fj zNA3B_Oi#3bR!vkx231?;Q#7V|(lLF;#f3#q3kToIMs5A*W{+{_mj`pc`b}>aQlFyb z!_gzD<%@@Edn?x;o2${Q28zw(eI^#{?IWZQ&rFI9TUp`O|>VpMcA%b{v4Wx^`Xq?ldt7_e)7JgZ!*=X z8QkI4x2IVT!;qI=}>z6^q2z|?)q z!>0$1%OAhz7~1TS?77IlB-+03t#$u+04xLF`kUUrUfNds^*1>VfExE4)o-$>x^P0( zZvv@e!V1#4hX$SLu+Svcp*h59BFeScDZf+-qg4hJUNc$Ad~#M*W2)S92{P{F5muL; z!^%jIo1)oj3G3Q8Hj|%CO6n@*e)xSY@EwaFoZS_x$c4sIJ<}TC$QUWUTX4Ujyh4_v&LMeGH~J`?v?(z#|F zBl><)aqe`94@BPYl|#HLUyljUx`ZcN^-(7Z^}3q|l9$@@J(^LQyHcBQ2aUlf)ZF%A zion#O-36t)&{`~AjUuzhc@;&oVfp#@fF~KpsFaaG_TxT`BD`66f?%H-EXr9Rtu3|p zZ+y+NvMtU{Oz9)EkRVr+DeP0WZj2y#YI+#Ax|W}HeswZZb~?M)05&QYy05aMkWYcp z{_|XxDysY}_WoViH_Yxg@=g}~S#0-KIS>Hi68|sq4ZWS;ch%5yiqwB|%ZHe?nlq79 z&5du$AsNJ6|Yl`$h=FHkfl#ZI2cv;cZ(3eu$j&nao(k^T(!jkv!LWx?9cnV zto8U~(PN!NNP_gajLcB;La$(XUT|ToHne}$|0bM4Jdiw}nS8yUSuOIx0n*BwrvJpUq*=%JVV%v8df5^Ix3N$*PwN6qp?1m=ccB`#i#8T z)0MHXn(e}AnWf;Uf@9qG^G~6CRur)27d`s6dKW#2-l>K8lJ4OLKo&PxYYVF=d%UVB zC2zSF+A34>xO$gxcRT%mU9hK z6izMGD*Y~=PxCe=J+^u_F<~v$pDB+yi~GN%Ce0I=>-j!V7lKZ{4bGB)4drNI9Y(HI z1Jgv$4n<{i`13J{fwnBb>qHRn24*snpuu}AWgP#!(_m_ho3Bjwvif(3LrA-e_EG`7 zBohf9+v{i)&3)Z$R1|7DkA-+b$z5{3X4^BR^DKJt&!&c0`PjBd-PYRtsQ1*tU1x9I zXwW?_&yVO(r(4V7@Ht58$MubuU54y67to;UGp#^rr`l39P%D1!Osj}s`P9u<2?7;YEDR!tLJL zSkY{fgs8_DFiEM&_=~wS2Y3j{W?01e5tq`vO(_Gjf!G!26T6!^qoJCCj-j&ZWa@P8 zM928e0+?t$^@)29zRcC1F{3`8ob8N+3HnE!E@rl*@?-{knkt6s3fofpnv$8NikNm3 z%kfmzx*&GF=Gx{|O|i%{T|J)A1r0;J)vDwz6RQGdpvKY@BrmKrvn6u8(1Ny+S#c_@;-BQ6p#u9)b<{q45$ zraFHBsOaBVItLkZ6lXVD70;!PC$eO4`l}itVcM5NMfmUS43SxrHz06<-F)ZW0cXS68J$z0J_`Gkc>QdLaq*xoS8Rd=_IRGnp6Yg zF$rs8zg9_ocQN_KmM)_@M7M9}q=u*H%r>X{g{5+Ex0p>$7!~NNl&qIwGJL#?#f`KK zE)0RRTk*A=@b5;zB*V!112zBTpPGUI{-w(PUP zR}!n4e#2c-0oBt>$7_#0lJsG#r#PF?Qt=*1_U++o>6a%AFTu<;zb=S9wzAFPdYdSL zRIWWcFIf~47~FZ#F@exs)ab<`ea@+1;dF!=yRZOuKuo!l*dPITOb?dLGx2~kFhLVu z6|CGzFWDvy`n8llu&o4R`*eoH0)y3}_cJ%

&r=Fh*$*s}|hhPQVX#7s^QiRE-|r zYmsQRLp>F7+Nc0vj}ZLl*F2OraT)b6MZil2=d8#Ao$m)6g;OOBp0xTEBtbfP8C(;t zAa$4{5y0B&C%S<|yp4fsdf>AQjNcBD^p{lpAssYC@n$7+H$z3cZly+NzvOi!p{8T8 zHcwRya23{YqeeOn$Sa&P?$Gx6_VT~_x)OLOxA#B1qby?=V;M|lM9QAjkR>7{+9b-F za3y5t8vDKv-ehgDR1!kES7j+nQMaqIrHmz1ic(rszw^#mX7vBxw@;sDp7Z@a=Q-y* zXPN1Jztbe!^=g29Kv<$B?LeK7a zLHH8R;Zqp%oTp0UlC}HVv31thE7qI}%>N^EzKVSQ;-<*^(d%t;QZP~I0nScq4b!zk zUV@$KZh{q$YO0GVTog6Ry`glyi@BXRFZUyQ0|uGo9d({;etois&mK1|`j@5bWTe=u z;BPLP3J+Y~hwDH1ut{9|Ux5Pk3gZWZYfq#Ll1#eP z!55#@A@6`+US04UpLcryA%yi#kLucq%|F(ao0O?KZjf_r_CAx;dXA0DTP!sklOMHi zP8}7jG)Ll*!Rw9e+Zi^jjWTj5P24#-Er+q1RdFYAvTfwKkRzikNl6uK+2`1X9b0o% zuLFm6k@%@i$d$7i#W-a0<5^9kn_PDkJnA zcl1ym`+FTDuIGuP?4CEh#9uW}YqGt&tKXN{Gpv};6W}EOJn8f>OGWs1uN}|R{AP-4 zuN!rc>)o3ZBP&cxG7f#=TxX0AW19;}KU6LC%$`+NU$wh7Mfe0U?>4R;JUc#M{P0iL zR_77rqp45JF-@jtA}=`?l{szv+^Sx4TU5P9C&l<;Klfkg`t@#4buWlG{^i@PQPGN# z(B0nM6m&-ZWEf$S^Ry&+joK#6wuHf=Vy^ z$aGbA4{?(kfL~2V^m|m|EE*HcVhf3R%{2-SYIsdxorh^Sp9`~wJ42vZr@EZp@3wR?49D8TpXiedk|RUAEkmXHIFgUg2yB~$YCnMm_*$mc zwN@SzQGd&pfAr*Adkj9VXUV|_D6+VUTr@5wk_A7x3Ak#Ec;i!>tDl(KII%{#qu)fS zZV2o|uj$2Z;!Np}8+D70aqf%UhW;5{E-^ynz}$=8xkJyM)m&X#I_EJqv994S!B+?6 zug6YI$9y%O@l>D3pZapFTxjfYS*g`@jJsY^`EEO18-b_Z{^e2impW9R*EA~Q)tc>{ zym%Aa$0(2sX>(cf!(A=t4`mggnr=4bQr?i!27EPeq^=?nhl@55tC2_X&{Et7p3 zTIw&K_3;OE@+bYB=9*M;mS`uqvq$KzxX{@Fp{;k_Y}L!UmE${dd~v}gk%MU`A5M&Q zhEK6ur0t76=R9huSu`7f&YwH803AsF_Aq)-i)>u>L0fEgN6A4cUAB@#PtkG5vvy5o zHJmKz9@^tJsE}2UJAZeYJv4FWu-d?@N1cOzMsQJ0eVe~e5;bFLfU;v7>xe^yyF?_Q4W7e4pL5SC!Q}*mI|-`uzEnnu-Rj9a(=$wPDd8~}n;3s-?)Ac7L;h_JC zOA?``?hSyW{d}^RPmN(e6=hC6@fw9+wKatk?I=GDFgH4f2mWbZK->lB%ahTs^#6 zc!G58lhY!`oRqCCy%m2DBv_74k+FAqEp`mAEysDGb4DBz?fZpMkHj*r{@M!Pc?iB|L#0_dsoIs>3*}0ZA!63P3VL` z*tOW>nn@M-gp8yU`@}m2JZiY`f7~m*8X8X|XE_~~^ClU8>?Y)yG~cMouds;G`(mS& z_Q8_q>Fex+r#S{cvJZZw?y5NN)rj&R>7T(oYxyIq`u5(R3pxwr zCaS7g+i8x`34WhPWuwhL6>YM%iRK=jIsP57KxQ8# zwf4ObZTtLCxjrDa`iCoaa6Y#BmVEMb5aC7!`Iy$uCtdRi3%9B`sk=?)l6nX%dy)z-^r{6)|b6m$H*D zS+>gMl0@0nbMZxjV)k#Mw`lWZRv+Ec_M9Uq$Z}JCQI1IjBi2AlZ z>RVr|*#jA>5HW9mmcB{EDXlf)2lL$t_hWQ)MSt{tO&mTM)F5tPb1U`pls-0Aq}jC* zD?37TM(IQxY80w$e=y1CzpXLcs!6XgabM;YDp}c6dLo3oM66d}u5#zrpP1f}Pl3c2 zx}INU8>LRQ;l6Nrv=0(|r{Z@tnp9<`x!s)=Qca6`a%gwewbE!pMsw^Im%l!sMN_+S zFZtIuqNzu&YMG_TKJ-I-m}`E&W#-aL$KyD}C>`h^N{Zc`Ww?}}!> z_$_K2Td{So?e(zmenCR4iQFx=M)5Z4q4JgxvOSCEg&((hBLj6R+Sd+ShVn_a#|>{= zAW|pzznrzrXlkEK|C_@4Rnf#Lz%;*0)n6_-THb+R)_hOZ8)r1tERYbr@e4bA-yo1> z;i%*K*K>p^9WEKFgno;v*4AV+mjkb|OwG8JFwwyO^ZoM%B^KF96g(IsF-1xO2KXbK!}zPw*y+ zcXcMFroAgPrMk!6xlApv>`ixphHcwe`K=d5dSmj~$nOrCJGgshtu?udqJl#UTV5tr z@!PGRC!=_VuTi-}bM;>;c%kj?8JLui|DCC;+FPv6{@!m_;5D@wt((2JB%8vln}-zU zx5os|{QOw*bKd8dpo3?52W0Obf(4YI*#+aV}35JMjqoL!wULW|IDSvw7-9?ByFJ zFC{N~zK-sGTUIYu7JK#``xfgi*)`OHHpllzB)(RvJT#`@MS1mP!_ZDMPI66qi`jLE zc|S2ZqZ7_Ob{*LR+`Fs$8^>qtlNR)Z3GtC8TKaQBQi#=eQ(P&vV6KO}@ z&-WuXdBg^r_R=!-i+0!fO+Jdbpodwx1BIRkVxA3qH$)x^yvk=;bW~$sPJo5^Y3_pg zem=fIuezz44_|X~g0JyLe5`&aYF*+T84x;NODcd}_yA19`^Iat^#Eb<`2`FW#Y- zVXL%9+xZwv*ok|>7l{F<%>KsbwIrLdKMt8`nm%DC?B zi82eP7>9K82p2+fcqlg4Wi)O4m2;3mYh-el#V%sH&C$!wau?p@98t|u@hdQSxZ}jV zF!NSP;(Jl~47M?RVHI7v9$;nu?;WW#g4f-sTm-qi}4*uujM01;Jl2 zzh0d+77=v}w-$GOGE+2yS(yLDg4}WQT_o;KGilzwMhycHi!expa*~@9mLNl1bc6yK*w51K8)5rU z2&27PnwM+&79Zq=63|*&`8il63)5Atd;}b_9_EJeax7SQAQ-~XLoB8Mb281W03Qio zGS6fHa}PI64TqFAA-;rAbaf>}wxs2L>n#&-gH!MZ6lyP15RyCy(Z1bT=bYjY+Ds`v;z z8x5($A(0S<9U=FKN!Y?^k&rO!484eQ^e7hI5d&dpzRCWW{9|iSsA(X2%p69NBh3@# zi?iSgJe@;!Ei1VDSq!v~8E)%Fhu{B$0e-bsR9OhXHv{-?rpO2zfss;R2Ws2_X6&hvBvgX$6EM!EhFup;RRv=V0xS@7&+ydBQ z!%#pgXdf$>*i6t*6);OYq)s_fDG76@EW%CvT$(yT;pygo5c7d*x>+g#l9gUP*)*6!_^XBv4Nn4h?iD0}S#u-~$l+W~0B(4$uar>& zYGvSb3WSEGlOc9#M4IdCBjUIu289X}2W?|=8hf9C`2K+e0};vd;!w>w4nT|nMCMsX z=w%?L_KB_#>8(>q0%2VqT?Q#hpE^vjy7avKVgwe2`bAouWE&=zp=|KlWRR3d>z>^| zKGI7-q2j>Zh5MNT$FsoIDUbr3o&a&f;mMFZz1pkEpxPi=S{bFPh8U zB)3xJkpdCvlbn{O=j4$hlJr5(vsS+vl8BQ6DAe7}tK)o2Ln*vRNJT1!Iu91BE)k)TeLk7y{ny#3BPXq=Tqe zrzKcl87^udLRt@3Wq`Eg%2-;=X=^+oXt|8zw-xNM8&=(^@!U`5n&4k!tQYMHQNp{#2S?f=&0w^); z1J@E)lQ9&CpH9Xjo7%7603H-bnPJzXv#$->OaO2`3nI4lw9DnVLDW ziYp0QBT2P-c%+#~M>CKLv9PWXD<`ck#$yO0aueelRNe|rI465)Q2DY!8^;-n;3L@( zANp=CxWCvFDO1Z_u1y$L$btCb&TL4C-a%9Z;F-@1*eG2NZXM=bi}QF3mYHIS)yvGT z3k-O!QWly2Y{OQjHe9P>;7Y@g2yOFuk(WBu2GW18=IZ%}u4cw#;HTGF#NaD1Q}a#k zGoX07S=PW@XCThsMgc5v4A&V(QrZ{`FVnCiT`;M4;FKvC@@BC8nlms_sM*zAc<>C^ zc9CI+f1Uw-+VC$!M8LTSY?r&ZLup9Ojmm;KW{E?gz>$dI675+{`X?7`LC8F~w-bLy z1CZhY$&P`7Lfxk_lhoi}XBTUFMJ*Dg0 ziwqZuf4M>eT$ljxNdGaakRlqLD_7&14nS~Uqa37{eYprp(pr2^?#kxvAar36I&(bV z57VKcrI0i|1B-z?11sey-3&xr@$}UR`6$Zz*#U084B=s|vZWmRRR+vzj)<8E>y|H> zEy{t}muB9|)J$ZhYk0q+;>mmvZKpHfU$LxWu=J%RZ?w8e$B~e*G<{E4oDA|25%^>j zT2Od4nvn^_L?vJ^1VL*!`1V5#vWZw3+ey7v$-#Q6KA066jG8&>HZ8jNy9m*CKD}kuo7XLQw3?>(K@Tw%-VU zG%^w_8^E|BgbQ^W<2C|tGFZ)+Yxs7Hk#J#&!1y&B=re}PziEXaLQfW2LYs`z?1C`q k=F$w=dlNK0Y{^c(31NlUz+j resultMap = Maps.newHashMap(); - String sql = "select dxlx,dataid,dx from uf_syzz where modeid=?"; + String sql = "select dxlx,dataid,dx from uf_jcl_syzz where modeid=?"; List> organizationList = DbTools.getSqlToList(sql,modeId); sql = "select id,departmentid,subcompanyid1 from hrmresource where id =?"; Map departMentMap = DbTools.getSqlToMap(sql,resourceId); diff --git a/src/com/engine/attendance/component/persongroup/commonutil/PersongroupCommonUtil.java b/src/com/engine/attendance/component/persongroup/commonutil/PersongroupCommonUtil.java index 0033e92..1cfb74e 100644 --- a/src/com/engine/attendance/component/persongroup/commonutil/PersongroupCommonUtil.java +++ b/src/com/engine/attendance/component/persongroup/commonutil/PersongroupCommonUtil.java @@ -68,7 +68,7 @@ public class PersongroupCommonUtil { String sql = "select ksts,jsts,hxbz,bcmc from uf_jcl_kq_glpb_dt1 where mainid=?"; List> detailDataList = DbTools.getSqlToList(sql,id); //规律排班适用组织数据 - sql = "select dx,dxlx,aqjb from uf_syzz where modeid=? and dataid=?"; + sql = "select dx,dxlx,aqjb from uf_jcl_syzz where modeid=? and dataid=?"; // List> organizationList = DbTools.getSqlToList(sql,modeId,id); //规律排班所用企业日历数据 sql = "select rlmc,nd,rq,rqlx from uf_jcl_kq_rlxx where rlmc=?"; diff --git a/src/com/engine/attendance/component/persongroup/job/scheduling/tactics/DayRegularScheduling.java b/src/com/engine/attendance/component/persongroup/job/scheduling/tactics/DayRegularScheduling.java index e598846..12a4adf 100644 --- a/src/com/engine/attendance/component/persongroup/job/scheduling/tactics/DayRegularScheduling.java +++ b/src/com/engine/attendance/component/persongroup/job/scheduling/tactics/DayRegularScheduling.java @@ -59,7 +59,7 @@ public class DayRegularScheduling implements RegularScheduling{ String sql = "select ksts,jsts,hxbz,bcmc from uf_jcl_kq_glpb_dt1 where mainid=?"; List> detailDataList = DbTools.getSqlToList(sql,id); //规律排班适用组织数据 - sql = "select dx,dxlx,aqjb from uf_syzz where modeid=? and dataid=?"; + sql = "select dx,dxlx,aqjb from uf_jcl_syzz where modeid=? and dataid=?"; List> organizationList = DbTools.getSqlToList(sql,modeId,id); //规律排班所用企业日历数据 sql = "select rlmc,nd,rq,rqlx from uf_jcl_kq_rlxx where rlmc=?"; diff --git a/src/com/engine/attendance/component/persongroup/job/scheduling/tactics/MonthRegularScheduling.java b/src/com/engine/attendance/component/persongroup/job/scheduling/tactics/MonthRegularScheduling.java index d0b78e7..f37b574 100644 --- a/src/com/engine/attendance/component/persongroup/job/scheduling/tactics/MonthRegularScheduling.java +++ b/src/com/engine/attendance/component/persongroup/job/scheduling/tactics/MonthRegularScheduling.java @@ -61,7 +61,7 @@ public class MonthRegularScheduling implements RegularScheduling{ String sql = "select ksr,jsr,hxbz,bcmc from uf_jcl_kq_glpb_dt1 where mainid=?"; List> detailDataList = DbTools.getSqlToList(sql,id); //规律排班适用组织数据 - sql = "select dx,dxlx,aqjb from uf_syzz where modeid=? and dataid=?"; + sql = "select dx,dxlx,aqjb from uf_jcl_syzz where modeid=? and dataid=?"; List> organizationList = DbTools.getSqlToList(sql,modeId,id); //规律排班所用企业日历数据 sql = "select rlmc,nd,rq,rqlx from uf_jcl_kq_rlxx where rlmc=?"; diff --git a/src/com/engine/attendance/component/persongroup/job/scheduling/tactics/WeekRegularScheduling.java b/src/com/engine/attendance/component/persongroup/job/scheduling/tactics/WeekRegularScheduling.java index d69ffa5..781ce80 100644 --- a/src/com/engine/attendance/component/persongroup/job/scheduling/tactics/WeekRegularScheduling.java +++ b/src/com/engine/attendance/component/persongroup/job/scheduling/tactics/WeekRegularScheduling.java @@ -60,7 +60,7 @@ public class WeekRegularScheduling implements RegularScheduling{ String sql = "select ksxq,jsxq,hxbz,bcmc from uf_jcl_kq_glpb_dt1 where mainid=?"; List> detailDataList = DbTools.getSqlToList(sql,id); //规律排班适用组织数据 - sql = "select dx,dxlx,aqjb from uf_syzz where modeid=? and dataid=?"; + sql = "select dx,dxlx,aqjb from uf_jcl_syzz where modeid=? and dataid=?"; List> organizationList = DbTools.getSqlToList(sql,modeId,id); //规律排班所用企业日历数据 sql = "select rlmc,nd,rq,rqlx from uf_jcl_kq_rlxx where rlmc=?"; diff --git a/src/com/engine/attendance/component/persongroup/job/scheduling/tactics/YearRegularScheduling.java b/src/com/engine/attendance/component/persongroup/job/scheduling/tactics/YearRegularScheduling.java index 3035b37..70e8823 100644 --- a/src/com/engine/attendance/component/persongroup/job/scheduling/tactics/YearRegularScheduling.java +++ b/src/com/engine/attendance/component/persongroup/job/scheduling/tactics/YearRegularScheduling.java @@ -61,7 +61,7 @@ public class YearRegularScheduling implements RegularScheduling{ String sql = "select ksrq,jsrq,hxbz,bcmc from uf_jcl_kq_glpb_dt1 where mainid=?"; List> detailDataList = DbTools.getSqlToList(sql,id); //规律排班适用组织数据 - sql = "select dx,dxlx,aqjb from uf_syzz where modeid=? and dataid=?"; + sql = "select dx,dxlx,aqjb from uf_jcl_syzz where modeid=? and dataid=?"; List> organizationList = DbTools.getSqlToList(sql,modeId,id); //规律排班所用企业日历数据 sql = "select rlmc,nd,rq,rqlx from uf_jcl_kq_rlxx where rlmc=?"; diff --git a/src/com/engine/attendance/enums/AdjustStartingTimeEnum.java b/src/com/engine/attendance/enums/AdjustStartingTimeEnum.java new file mode 100644 index 0000000..ad0985a --- /dev/null +++ b/src/com/engine/attendance/enums/AdjustStartingTimeEnum.java @@ -0,0 +1,32 @@ +package com.engine.attendance.enums; + +import com.finance.toolkit.BaseEnum; + +/** + * 调整起算日期 + */ +public enum AdjustStartingTimeEnum implements BaseEnum { + NO_ADJUST("0","不调整"), + NEXT_MONTH("1","调整为下月1日"), + BY_SEGMENT_TIME("2","按分隔日期调整"), + NOW_MONTH("3","调整为本月1日"); + + private String key; + private String value; + + AdjustStartingTimeEnum(String key, String value){ + this.key=key; + this.value=value; + } + + + @Override + public String getKey() { + return this.key; + } + + @Override + public String getValue() { + return this.value; + } +} diff --git a/src/com/engine/attendance/enums/BalanceHandleEnum.java b/src/com/engine/attendance/enums/BalanceHandleEnum.java new file mode 100644 index 0000000..ed77497 --- /dev/null +++ b/src/com/engine/attendance/enums/BalanceHandleEnum.java @@ -0,0 +1,29 @@ +package com.engine.attendance.enums; + +import com.finance.toolkit.BaseEnum; + +public enum BalanceHandleEnum implements BaseEnum { + + CANCEL("0","作废"), + DELAY("1","延期"), + SALARY_CALCULATION("2","计薪"); + + private String key; + private String value; + + BalanceHandleEnum(String key, String value){ + this.key=key; + this.value=value; + } + + @Override + public String getKey() { + + return this.key; + } + + @Override + public String getValue() { + return this.value; + } +} diff --git a/src/com/engine/attendance/enums/DelayTypeEnum.java b/src/com/engine/attendance/enums/DelayTypeEnum.java new file mode 100644 index 0000000..8dad432 --- /dev/null +++ b/src/com/engine/attendance/enums/DelayTypeEnum.java @@ -0,0 +1,31 @@ +package com.engine.attendance.enums; + +import com.finance.toolkit.BaseEnum; + +public enum DelayTypeEnum implements BaseEnum { + + ONE_MONTH("0","一个月"), + TWO_MONTH("1","两个月"), + THREE_MONTH("2","三个月"), + HALF_YEAR("3","半年"), + ONE_YEAR("4","一年"); + + private String key; + private String value; + + DelayTypeEnum(String key, String value){ + this.key=key; + this.value=value; + } + + @Override + public String getKey() { + + return this.key; + } + + @Override + public String getValue() { + return this.value; + } +} diff --git a/src/com/engine/attendance/enums/QuotaChangeMethodEnum.java b/src/com/engine/attendance/enums/QuotaChangeMethodEnum.java new file mode 100644 index 0000000..1962bad --- /dev/null +++ b/src/com/engine/attendance/enums/QuotaChangeMethodEnum.java @@ -0,0 +1,28 @@ +package com.engine.attendance.enums; + +import com.finance.toolkit.BaseEnum; + +public enum QuotaChangeMethodEnum implements BaseEnum { + NO_CONVERT("0","不折算"), + CONVERT("1","折算"), + DIVIDE_QUOTA("2","取分段额度"); + + private String key; + private String value; + + QuotaChangeMethodEnum(String key, String value){ + this.key=key; + this.value=value; + } + + + @Override + public String getKey() { + return this.key; + } + + @Override + public String getValue() { + return this.value; + } +} diff --git a/src/com/engine/attendance/enums/RemainderHandleEnum.java b/src/com/engine/attendance/enums/RemainderHandleEnum.java new file mode 100644 index 0000000..9b5f4ec --- /dev/null +++ b/src/com/engine/attendance/enums/RemainderHandleEnum.java @@ -0,0 +1,31 @@ +package com.engine.attendance.enums; + +import com.finance.toolkit.BaseEnum; + +public enum RemainderHandleEnum implements BaseEnum { + ROUND_UP_FOUR("0","四舍五入保留4位小数"), + ROUND_UP_TWO("1","四舍五入保留2位小数"), + DOWN_ZERO_POINT_FIVE("2","向下取0.5的倍数"), + UP_ZERO_POINT_FIVE("3","向上取0.5的倍数"), + ROUND_DOWN("4","向下取整"), + ROUND_UP("5","向上取整"); + + private String key; + private String value; + + RemainderHandleEnum(String key, String value){ + this.key=key; + this.value=value; + } + + + @Override + public String getKey() { + return this.key; + } + + @Override + public String getValue() { + return this.value; + } +} diff --git a/src/com/engine/attendance/enums/StartingUnitEnum.java b/src/com/engine/attendance/enums/StartingUnitEnum.java new file mode 100644 index 0000000..23abcec --- /dev/null +++ b/src/com/engine/attendance/enums/StartingUnitEnum.java @@ -0,0 +1,35 @@ +package com.engine.attendance.enums; + +import com.finance.toolkit.BaseEnum; + +/** + * 起算单位 + */ +public enum StartingUnitEnum implements BaseEnum { + NATURAL_YEAR("0","自然年"), + STARTING_YEAR("1","起算年"), + NATURAL_MONTH("2","自然月"), + STARTING_MONTH("3","起算月"), + NATURAL_WEEK("4","自然周"), + STARTING_WEEK("5","起算周"), + NATURAL_DAY("6","自然天"); + + private String key; + private String value; + + StartingUnitEnum(String key, String value){ + this.key=key; + this.value=value; + } + + + @Override + public String getKey() { + return this.key; + } + + @Override + public String getValue() { + return this.value; + } +} diff --git a/src/com/engine/attendance/vacation/cmd/VocationCmd.java b/src/com/engine/attendance/vacation/cmd/VocationCmd.java new file mode 100644 index 0000000..6e92f7a --- /dev/null +++ b/src/com/engine/attendance/vacation/cmd/VocationCmd.java @@ -0,0 +1,50 @@ +package com.engine.attendance.vacation.cmd; + +import com.engine.attendance.component.persongroup.job.scheduling.tactics.RegularScheduling; +import com.engine.attendance.vacation.job.holidaygeneration.tactics.HolidayGenerationWay; +import com.engine.common.biz.AbstractCommonCommand; +import com.engine.common.entity.BizLogContext; +import com.engine.common.util.Utils; +import com.engine.core.interceptor.CommandContext; +import lombok.extern.slf4j.Slf4j; +import weaver.general.Util; + +import java.util.List; +import java.util.Map; + +@Slf4j +public class VocationCmd extends AbstractCommonCommand> { + @Override + public BizLogContext getLogContext() { + return null; + } + public VocationCmd(Map params){ + this.params=params; + } + + private List rulers; + { + rulers = new Utils().getAllClassByInterface(HolidayGenerationWay.class); + + } + @Override + public Map execute(CommandContext commandContext) { + List> vocationList = (List>)params.get("vocationList"); + Map userMap = (Map)params.get("userMap"); + for (Map vocation : vocationList){ + String qsrq = Util.null2String(userMap.get(vocation.get("qsrq"))); + String yjzd = Util.null2String(userMap.get(vocation.get("yjzd"))); + vocation.put("qsrq",qsrq); + vocation.put("yjzd",yjzd); + } + log.info("VocationCmd params: [{}]",params); + String edfffs = Util.null2String(vocationList.get(0).get("edfffs")); + for (HolidayGenerationWay holidayGenerationWay :rulers){ + if (holidayGenerationWay.support(Integer.valueOf(edfffs))){ + holidayGenerationWay.compute(params); + } + } + + return null; + } +} diff --git a/src/com/engine/attendance/vacation/job/holidaygeneration/HolidayGenerationJob.java b/src/com/engine/attendance/vacation/job/holidaygeneration/HolidayGenerationJob.java index 31a09be..c896c75 100644 --- a/src/com/engine/attendance/vacation/job/holidaygeneration/HolidayGenerationJob.java +++ b/src/com/engine/attendance/vacation/job/holidaygeneration/HolidayGenerationJob.java @@ -1,12 +1,20 @@ package com.engine.attendance.vacation.job.holidaygeneration; +import com.engine.attendance.attendanceplan.service.AttendancePlanService; +import com.engine.attendance.attendanceplan.service.impl.AttendancePlanServiceImpl; +import com.engine.attendance.vacation.service.VocationService; +import com.engine.attendance.vacation.service.impl.VocationServiceImpl; +import com.engine.common.util.ServiceUtil; import com.engine.common.util.Utils; +import com.google.common.collect.Maps; import weaver.interfaces.schedule.BaseCronJob; import java.util.Map; public class HolidayGenerationJob extends BaseCronJob { + private VocationService basicsetService = ServiceUtil.getService(VocationServiceImpl.class); + /** * 是否覆盖,1:覆盖,0:不覆盖 */ @@ -21,6 +29,10 @@ public class HolidayGenerationJob extends BaseCronJob { Map formmodeIdMap = Utils.getFormmodeIdMap(); //假期额度模块id String modeId = formmodeIdMap.get("uf_jcl_kq_jqed"); + Map params = Maps.newHashMap(); + params.put("modeId",modeId); + params.put("releaseDate",releaseDate); + basicsetService.generateVocation(params); } } diff --git a/src/com/engine/attendance/vacation/job/holidaygeneration/tactics/ByIntervalPayMentWay.java b/src/com/engine/attendance/vacation/job/holidaygeneration/tactics/ByIntervalPayMentWay.java new file mode 100644 index 0000000..b3d35b5 --- /dev/null +++ b/src/com/engine/attendance/vacation/job/holidaygeneration/tactics/ByIntervalPayMentWay.java @@ -0,0 +1,21 @@ +package com.engine.attendance.vacation.job.holidaygeneration.tactics; + +import java.util.Map; + +/** + * 循环按间隔时长折算发放 + */ +public class ByIntervalPayMentWay implements HolidayGenerationWay{ + @Override + public boolean support(int personClassfiy) { + if (personClassfiy == 2){ + return true; + } + return false; + } + + @Override + public void compute(Map data) { + + } +} diff --git a/src/com/engine/attendance/vacation/job/holidaygeneration/tactics/BySchedulePaymentWay.java b/src/com/engine/attendance/vacation/job/holidaygeneration/tactics/BySchedulePaymentWay.java new file mode 100644 index 0000000..1bc4adb --- /dev/null +++ b/src/com/engine/attendance/vacation/job/holidaygeneration/tactics/BySchedulePaymentWay.java @@ -0,0 +1,262 @@ +package com.engine.attendance.vacation.job.holidaygeneration.tactics; + + +import com.engine.attendance.enums.CheckBoxEnum; +import com.engine.attendance.enums.QuotaChangeMethodEnum; +import com.engine.attendance.enums.StartingUnitEnum; +import com.engine.attendance.vacation.util.VocationCommonUtil; +import com.engine.common.util.DateUtil; +import lombok.extern.slf4j.Slf4j; +import weaver.general.Util; + +import java.util.Calendar; +import java.util.List; +import java.util.Map; + +/** + * 循环按期别分批发放 + */ +@Slf4j +public class BySchedulePaymentWay implements HolidayGenerationWay{ + @Override + public boolean support(int personClassfiy) { + if (personClassfiy == 1){ + return true; + } + return false; + } + + @Override + public void compute(Map data) { + String userId = Util.null2String(data.get("userId")); + String releaseDate = Util.null2String(data.get("releaseDate")); + String cover = Util.null2String(data.get("cover")); + if ("".equals(releaseDate)){ + releaseDate = DateUtil.getCurrentTime(); + } + List> vocationList = (List>)data.get("vocationList"); + //起算日期 + String qsrq = Util.null2String(vocationList.get(0).get("qsrq")); + //额度有效期间 + String edyxqsz = Util.null2String(vocationList.get(0).get("edyxqsz")); + //额度有效期间单位 + String edyxq = Util.null2String(vocationList.get(0).get("edyxq")); + //累计承认工龄月份数栏位值 + String ljcrglyfslwz= Util.null2String(vocationList.get(0).get("ljcrglyfslwz")); + //依据字段 + String yjzd= Util.null2String(vocationList.get(0).get("yjzd")); + //调整起算日期策略 + String dzqsrq= Util.null2String(vocationList.get(0).get("dzqsrq")); + //分割日期 + String fgrq= Util.null2String(vocationList.get(0).get("fgrq")); + //提前执行发放操作的天数 + Integer dqtqffts = Integer.valueOf(Util.null2String(vocationList.get(0).get("dqtqffts"))); + //执行发放的时间点 + String ffdtffsj = Util.null2String(vocationList.get(0).get("ffdtffsj")); + //入职当期额度按比例折算 + String rzdqedablzs = Util.null2String(vocationList.get(0).get("rzdqedablzs")); + //首次获得额度按比例折算 + String schdedablzs = Util.null2String(vocationList.get(0).get("schdedablzs")); + //额度变更时额度处理方式 + String edbgsedclfs = Util.null2String(vocationList.get(0).get("edbgsedclfs")); + //额度单位 + String eddw = Util.null2String(vocationList.get(0).get("edbgsedclfs")); + //尾数处理 + String wscl = Util.null2String(vocationList.get(0).get("wscl")); + //首次获得额度控制生效日期 + String schdedkzsxrq = Util.null2String(vocationList.get(0).get("schdedkzsxrq")); + + qsrq = VocationCommonUtil.getAfterAdjustTime(qsrq,dzqsrq,fgrq); + for (Map vocationMap : vocationList) { + vocationMap.put("qsrq", qsrq); + } + + //相差天数 + int betweenDays = DateUtil.getBetWeenDays(qsrq, releaseDate.split(" ")[0]); + //相差月份 + int betweenMonth = DateUtil.getBetWeenMonths(qsrq, releaseDate.split(" ")[0]); + //总工龄天数 + int allWorkDays = Double.valueOf(ljcrglyfslwz).intValue() * 30 + betweenDays; + //总月数 + int allMonths = betweenMonth + Double.valueOf(ljcrglyfslwz).intValue(); + + + + //执行日期 + Map insertHoliDayParam = VocationCommonUtil.getInsertHoliDayParam(vocationList.get(0), userId, qsrq, releaseDate); + + List> dataList = VocationCommonUtil.ifexist("uf_jcl_kq_jqye", insertHoliDayParam); + + + //已存在数据且不覆盖 + if (dataList.size()>0 && !"1".equals(cover)) { + return; + } + String sxrq = insertHoliDayParam.get("sxrq").toString(); + //实际休息时长 + double restTime = 0; + //工龄小于1年的新员工,且额度有效期单位为自然年 + if (allMonths < 12 && edyxq.equals(StartingUnitEnum.NATURAL_YEAR.getKey())) { + + if (QuotaChangeMethodEnum.CONVERT.getKey().equals(edbgsedclfs) || CheckBoxEnum.CHECKED.getKey().equals(schdedablzs)) { + + restTime = getRestTime(insertHoliDayParam,vocationList,QuotaChangeMethodEnum.CONVERT,releaseDate); + } else { + restTime = getRestTime(insertHoliDayParam,vocationList,QuotaChangeMethodEnum.NO_CONVERT,releaseDate); + } + + insertHoliDayParam.put("sxrq", DateUtil.nextYear(releaseDate.split(" ")[0], 1, DateUtil.yyyyMMdd)); + + insertHoliDayParam.put("ktsc", restTime); + } else if (allMonths >= 12 && edyxq.equals(StartingUnitEnum.NATURAL_YEAR.getKey())) { + //入职不满一年,且入职当期额度按比例折算 + if (CheckBoxEnum.CHECKED.getKey().equals(rzdqedablzs) && betweenMonth < 12 + && sxrq.split("-")[0].equals(releaseDate.split("-")[0]) && releaseDate.split("-")[0].equals(qsrq.split("-")[0])) { + //起算年和发生日期在同一年,生成假期为起算年的当年 + restTime = getRestTime(insertHoliDayParam,vocationList,QuotaChangeMethodEnum.CONVERT,releaseDate); + } else { + if (QuotaChangeMethodEnum.CONVERT.getKey().equals(edbgsedclfs)) { + restTime = getRestTime(insertHoliDayParam,vocationList,QuotaChangeMethodEnum.CONVERT,releaseDate); + } else if (QuotaChangeMethodEnum.NO_CONVERT.getKey().equals(edbgsedclfs)) { + restTime = getRestTime(insertHoliDayParam,vocationList,QuotaChangeMethodEnum.NO_CONVERT,releaseDate); + } + } + }else if (edyxq.equals(StartingUnitEnum.STARTING_YEAR.getKey())){ + int betweenYear = DateUtil.getBetWeenYears(qsrq,releaseDate.split(" ")[0]); + Map vocationMap = VocationCommonUtil.getVocationMap(vocationList,betweenYear,yjzd); + int occurMonths = DateUtil.getTime(releaseDate).getMonthValue(); + int StartMonths = DateUtil.getTime(qsrq).getMonthValue(); + + int months = occurMonths-StartMonths; + if (months < 0){ + months = 12-StartMonths+occurMonths; + } + String stage = String.valueOf(months); + if (months < 10){ + stage = "0"+stage; + } + if (vocationMap.size() >0){ + restTime = Double.valueOf(vocationMap.get("fdsc"+stage).toString()); + }else { + restTime=0; + } + } + insertHoliDayParam.put("ktsc",restTime); + VocationCommonUtil.updateHolidayBalance("uf_jcl_kq_jqye",insertHoliDayParam,dataList); + } + + public double getRestTime(Map insertHoliDayParam,List> vocationList,QuotaChangeMethodEnum changeMethodEnum,String releaseDate){ + String sxrq = insertHoliDayParam.get("sxrq").toString(); + String qsrq = Util.null2String(vocationList.get(0).get("qsrq")); + String nextSxrq = DateUtil.nextYear(sxrq,1,DateUtil.yyyyMMdd); + //累计承认工龄月份数栏位值 + String ljcrglyfslwz = Util.null2String(vocationList.get(0).get("ljcrglyfslwz")); + //依据字段 + String yjzd = Util.null2String(vocationList.get(0).get("yjzd")); + //尾数处理 + String wscl = Util.null2String(vocationList.get(0).get("wscl")); + //提前执行发放操作的天数 + int dqtqffts = Integer.valueOf(Util.null2String(vocationList.get(0).get("dqtqffts"))); + //执行发放的时间点 + String ffdtffsj = Util.null2String(vocationList.get(0).get("ffdtffsj")); + + int seniority = "".equals(ljcrglyfslwz)?0:Double.valueOf(ljcrglyfslwz).intValue(); + + String nowEndYearTime = releaseDate.split("-")[0]+"-12-31"; + String forWardTime = DateUtil.beforeDay(nowEndYearTime,dqtqffts) +" "+ffdtffsj; + + if (DateUtil.getTime(releaseDate).compareTo(DateUtil.getTime(forWardTime)) >=0){ + String nextYear = DateUtil.nextYear(releaseDate,1,DateUtil.yyyy); + releaseDate = nextYear +"-01-01"; + } + int qsrqMonths = DateUtil.getDays(qsrq,Calendar.MONTH); + int releaseDateMonths = DateUtil.getDays(releaseDate,Calendar.MONTH); + double restTime=0.0; + //折算 + if (changeMethodEnum == QuotaChangeMethodEnum.CONVERT){ + int beginYearMonth = DateUtil.getBetWeenMonths(qsrq,sxrq); + if (beginYearMonth < 0){ + beginYearMonth = 0; + } + beginYearMonth = beginYearMonth+seniority; + int endYearMonth = DateUtil.getBetWeenMonths(qsrq,nextSxrq); + endYearMonth = endYearMonth+seniority; + int beginYear = beginYearMonth/12; + int endYear = endYearMonth/12; + int endYearRemainder = endYearMonth%12; + Map beginYearmap = VocationCommonUtil.getVocationMap(vocationList, beginYear, yjzd); + Map endYearmap = VocationCommonUtil.getVocationMap(vocationList, endYear, yjzd); + double beginEdktsc = Double.valueOf(beginYearmap.get("edktsc") == null? "0" :Util.null2String(beginYearmap.get("edktsc"))); + double endEdktsc = Double.valueOf(endYearmap.get("edktsc") == null? "0" :Util.null2String(endYearmap.get("edktsc"))); + + //残年分割日期 + String divideTime = DateUtil.beforeMonth(nextSxrq,endYearRemainder); + divideTime = DateUtil.nextMonth(divideTime,1,DateUtil.yyyyMM)+"-01"; + int divideTimeMonths = DateUtil.getDays(divideTime,Calendar.MONTH); + int yearDays = DateUtil.getDays(sxrq, Calendar.DAY_OF_YEAR); + + if (beginEdktsc == endEdktsc){ + //当前后额定可休时长一样时,代表没有残年情况 + + if (DateUtil.getTime(qsrq).compareTo(DateUtil.getTime(sxrq)) >=0){ + //生成起算日期当年的假期余额,通常用于没有工作经验的新员工 + int months = releaseDateMonths-qsrqMonths+1; + restTime = getRestTime(months,endYearmap); + }else { + restTime = getRestTime(releaseDateMonths,endYearmap); + } + }else { + //考虑残年 + if (DateUtil.getTime(qsrq).compareTo(DateUtil.getTime(sxrq)) >=0){ + //生成起算日期当年的假期余额,通常用于有工作经验的新员工 + if (DateUtil.getTime(divideTime).compareTo(DateUtil.getTime(qsrq)) >=0){ + + if (DateUtil.getTime(releaseDate).compareTo(DateUtil.getTime(divideTime)) <0){ + int months = releaseDateMonths-qsrqMonths+1; + restTime = getRestTime(months,beginYearmap); + }else { + int months = releaseDateMonths-divideTimeMonths+1; + restTime = getRestTime(months,endYearmap); + } + }else { + int months = releaseDateMonths-qsrqMonths; + restTime = getRestTime(months,endYearmap); + } + }else { + if (DateUtil.getTime(releaseDate).compareTo(DateUtil.getTime(divideTime)) <0){ + int months = releaseDateMonths-qsrqMonths+1; + restTime = getRestTime(months,beginYearmap); + }else { + int months = releaseDateMonths-divideTimeMonths+1; + restTime = getRestTime(months,endYearmap); + } + } + } + + }else { + //不折算 + int beginYearMonth = DateUtil.getBetWeenMonths(qsrq,sxrq); + if (beginYearMonth < 0){ + beginYearMonth = 0; + } + beginYearMonth = beginYearMonth+seniority; + int beginYear = beginYearMonth/12; + Map beginYearmap = VocationCommonUtil.getVocationMap(vocationList, beginYear, yjzd); + restTime = getRestTime(releaseDateMonths,beginYearmap); + } + return restTime; + } + + public Double getRestTime(int i,Map endYearmap){ + String str = String.valueOf(i); + if (i < 10){ + str = "0"+str; + } + + String fdsc = Util.null2String(endYearmap.get("fdsc"+str)); + if ("".equals(fdsc)){ + fdsc="0"; + } + return Double.valueOf(fdsc); + } +} diff --git a/src/com/engine/attendance/vacation/job/holidaygeneration/tactics/HolidayGenerationWay.java b/src/com/engine/attendance/vacation/job/holidaygeneration/tactics/HolidayGenerationWay.java new file mode 100644 index 0000000..976f7a2 --- /dev/null +++ b/src/com/engine/attendance/vacation/job/holidaygeneration/tactics/HolidayGenerationWay.java @@ -0,0 +1,10 @@ +package com.engine.attendance.vacation.job.holidaygeneration.tactics; + +import java.util.Map; + + +public interface HolidayGenerationWay { + boolean support(int personClassfiy); + + void compute(Map requestList); +} diff --git a/src/com/engine/attendance/vacation/job/holidaygeneration/tactics/OneTimePayMentWay.java b/src/com/engine/attendance/vacation/job/holidaygeneration/tactics/OneTimePayMentWay.java new file mode 100644 index 0000000..ac1edc3 --- /dev/null +++ b/src/com/engine/attendance/vacation/job/holidaygeneration/tactics/OneTimePayMentWay.java @@ -0,0 +1,22 @@ +package com.engine.attendance.vacation.job.holidaygeneration.tactics; + + +import java.util.Map; + +/** + * 一次发完所有额度 + */ +public class OneTimePayMentWay implements HolidayGenerationWay{ + @Override + public boolean support(int personClassfiy) { + if (personClassfiy == 3){ + return true; + } + return false; + } + + @Override + public void compute(Map data) { + + } +} diff --git a/src/com/engine/attendance/vacation/job/holidaygeneration/tactics/SinglePaymentInFullWay.java b/src/com/engine/attendance/vacation/job/holidaygeneration/tactics/SinglePaymentInFullWay.java new file mode 100644 index 0000000..1bd6f77 --- /dev/null +++ b/src/com/engine/attendance/vacation/job/holidaygeneration/tactics/SinglePaymentInFullWay.java @@ -0,0 +1,343 @@ +package com.engine.attendance.vacation.job.holidaygeneration.tactics; + + +import com.engine.attendance.enums.CheckBoxEnum; +import com.engine.attendance.enums.QuotaChangeMethodEnum; +import com.engine.attendance.enums.StartingUnitEnum; +import com.engine.attendance.vacation.util.VocationCommonUtil; +import com.engine.common.util.DateUtil; +import com.google.common.collect.Lists; +import lombok.extern.slf4j.Slf4j; +import weaver.general.Util; +import weaver.hrm.User; + +import java.util.ArrayList; +import java.util.Calendar; +import java.util.List; +import java.util.Map; + +/** + * 循环单次发放全额 + */ +@Slf4j +public class SinglePaymentInFullWay implements HolidayGenerationWay { + @Override + public boolean support(int personClassfiy) { + if (personClassfiy == 0) { + return true; + } + return false; + } + + @Override + public void compute(Map data) { + String userId = Util.null2String(data.get("userId")); + String releaseDate = Util.null2String(data.get("releaseDate")); + String cover = Util.null2String(data.get("cover")); + if ("".equals(releaseDate)) { + releaseDate = DateUtil.getCurrentTime(); + } + List> vocationList = (List>) data.get("vocationList"); + //起算日期 + String qsrq = Util.null2String(vocationList.get(0).get("qsrq")); + //额度有效期间 + String edyxqsz = Util.null2String(vocationList.get(0).get("edyxqsz")); + //额度有效期间单位 + String edyxq = Util.null2String(vocationList.get(0).get("edyxq")); + //累计承认工龄月份数栏位值 + String ljcrglyfslwz = Util.null2String(vocationList.get(0).get("ljcrglyfslwz")); + //依据字段 + String yjzd = Util.null2String(vocationList.get(0).get("yjzd")); + //调整起算日期策略 + String dzqsrq = Util.null2String(vocationList.get(0).get("dzqsrq")); + //分割日期 + String fgrq = Util.null2String(vocationList.get(0).get("fgrq")); + //提前执行发放操作的天数 + String dqtqffts = Util.null2String(vocationList.get(0).get("dqtqffts")); + //执行发放的时间点 + String ffdtffsj = Util.null2String(vocationList.get(0).get("ffdtffsj")); + //入职当期额度按比例折算 + String rzdqedablzs = Util.null2String(vocationList.get(0).get("rzdqedablzs")); + //首次获得额度按比例折算 + String schdedablzs = Util.null2String(vocationList.get(0).get("schdedablzs")); + //额度变更时额度处理方式 + String edbgsedclfs = Util.null2String(vocationList.get(0).get("edbgsedclfs")); + //额度单位 + String eddw = Util.null2String(vocationList.get(0).get("edbgsedclfs")); + //尾数处理 + String wscl = Util.null2String(vocationList.get(0).get("wscl")); + //首次获得额度控制生效日期 + String schdedkzsxrq = Util.null2String(vocationList.get(0).get("schdedkzsxrq")); + + qsrq = VocationCommonUtil.getAfterAdjustTime(qsrq, dzqsrq, fgrq); + for (Map vocationMap : vocationList) { + vocationMap.put("qsrq", qsrq); + } + + //相差天数 + int betweenDays = DateUtil.getBetWeenDays(qsrq, releaseDate.split(" ")[0]); + //相差月份 + int betweenMonth = DateUtil.getBetWeenMonths(qsrq, releaseDate.split(" ")[0]); + //总工龄天数 + int allWorkDays = Double.valueOf(ljcrglyfslwz).intValue() * 30 + betweenDays; + //总月数 + int allMonths = betweenMonth + Double.valueOf(ljcrglyfslwz).intValue(); + if (allMonths < 12 && !CheckBoxEnum.CHECKED.getKey().equals(schdedablzs)) { + log.info("userId : [{}] 工龄小于1年", userId); + return; + } + + + Map insertHoliDayParam = VocationCommonUtil.getInsertHoliDayParam(vocationList.get(0), userId, qsrq, releaseDate); + + List> dataList = VocationCommonUtil.ifexist("uf_jcl_kq_jqye", insertHoliDayParam); + + //已存在数据且不覆盖 + if (dataList.size()>0 && !"1".equals(cover)) { + return; + } + + String sxrq = insertHoliDayParam.get("sxrq").toString(); + //实际休息时长 + double restTime = 0; + //工龄小于1年的新员工,且额度有效期单位为自然年 + if (allMonths < 12 && edyxq.equals(StartingUnitEnum.NATURAL_YEAR.getKey())) { +// Map vocationMap = VocationCommonUtil.getVocationMap(vocationList, 0, yjzd); +// +// //额定休息时长 +// double edktsc = Double.valueOf(vocationMap.get("edktsc") == null? "0" :Util.null2String(vocationMap.get("edktsc"))); + if (QuotaChangeMethodEnum.CONVERT.getKey().equals(edbgsedclfs) || CheckBoxEnum.CHECKED.getKey().equals(schdedablzs)) { +// if (!sxrq.split("-")[0].equals(releaseDate.split("-")[0]) && releaseDate.split("-")[0].equals(qsrq.split("-")[0])) { +// //起算年和发生日期在同一年,生成假期在下一年 +// int days = DateUtil.getBetWeenDays(qsrq, qsrq.split("-")[0] + "-12-31") + 1; +// int yearDays = DateUtil.getDays(qsrq, Calendar.DAY_OF_YEAR); +// restTime = VocationCommonUtil.computeRestDays(days, yearDays, edktsc, wscl); +// } else if (sxrq.split("-")[0].equals(releaseDate.split("-")[0]) && releaseDate.split("-")[0].equals(qsrq.split("-")[0])) { +// //起算年和发生日期在同一年,生成假期为起算年的当年 +// int days = Double.valueOf(ljcrglyfslwz).intValue() * 30; +// int yearDays = DateUtil.getDays(DateUtil.beforeYear(releaseDate,1,DateUtil.yyyyMMdd), Calendar.DAY_OF_YEAR); +// restTime = VocationCommonUtil.computeRestDays(days, yearDays, edktsc, wscl); +// } else if (sxrq.split("-")[0].equals(releaseDate.split("-")[0]) && !releaseDate.split("-")[0].equals(qsrq.split("-")[0])) { +// //起算年在发生日期的上一年,起算年的后一年 +// int days = DateUtil.getBetWeenDays(qsrq, qsrq.split("-")[0] + "-12-31") + 1; +// int yearDays = DateUtil.getDays(qsrq, Calendar.DAY_OF_YEAR); +// restTime = VocationCommonUtil.computeRestDays(days, yearDays, edktsc, wscl); +// } else if (!sxrq.split("-")[0].equals(releaseDate.split("-")[0]) && !releaseDate.split("-")[0].equals(qsrq.split("-")[0])) { +// //起算年在发生日期的上一年,生成假期为起算年的后第二年 +// restTime = edktsc; +// } + restTime = getRestTime(insertHoliDayParam,vocationList,QuotaChangeMethodEnum.CONVERT); + + } else { +// restTime = edktsc; + restTime = getRestTime(insertHoliDayParam,vocationList,QuotaChangeMethodEnum.NO_CONVERT); + } + + + if (CheckBoxEnum.CHECKED.getKey().equals(schdedkzsxrq)) { + insertHoliDayParam.put("sxrq", DateUtil.nextYear(releaseDate.split(" ")[0], 1, DateUtil.yyyyMMdd)); + } + insertHoliDayParam.put("ktsc", restTime); + } else if (allMonths >= 12 && edyxq.equals(StartingUnitEnum.NATURAL_YEAR.getKey())) { + //入职不满一年,且入职当期额度按比例折算 + if (CheckBoxEnum.CHECKED.getKey().equals(rzdqedablzs) && betweenMonth < 12 + && sxrq.split("-")[0].equals(releaseDate.split("-")[0]) && releaseDate.split("-")[0].equals(qsrq.split("-")[0])) { + //起算年和发生日期在同一年,生成假期为起算年的当年 +// Map vocationMap = VocationCommonUtil.getVocationMap(vocationList, Double.valueOf(ljcrglyfslwz).intValue() / 12, yjzd); +// double edktsc = Double.valueOf(vocationMap.get("edktsc").toString()); +// int days = DateUtil.getBetWeenDays(qsrq, releaseDate.split(" ")[0]) + 1; +// int yearDays = DateUtil.getDays(qsrq, Calendar.DAY_OF_YEAR); +// restTime = VocationCommonUtil.computeRestDays(days, yearDays, edktsc, wscl); + restTime = getRestTime(insertHoliDayParam,vocationList,QuotaChangeMethodEnum.CONVERT); + } else { +// +// if (!sxrq.split("-")[0].equals(releaseDate.split("-")[0]) && releaseDate.split("-")[0].equals(qsrq.split("-")[0])) { +// //起算年和发生日期在同一年,生成假期在下一年 +// //betweenMonth = DateUtil.getBetWeenMonths(qsrq,qsrq.split("-")[0] + "-12-31"); +// betweenMonth = DateUtil.getBetWeenMonths(qsrq,sxrq); +// +// } else if (sxrq.split("-")[0].equals(releaseDate.split("-")[0]) && releaseDate.split("-")[0].equals(qsrq.split("-")[0])) { +// //起算年和发生日期在同一年,生成假期为发生日期的当年 +// betweenMonth=0; +// +// } else if (sxrq.split("-")[0].equals(releaseDate.split("-")[0]) && !releaseDate.split("-")[0].equals(qsrq.split("-")[0])) { +// //起算年在发生日期的之前,生成假期为发生日期的当年 +// //betweenMonth = DateUtil.getBetWeenMonths(qsrq,DateUtil.beforeYear(releaseDate,1,DateUtil.yyyy) + "-12-31"); +// betweenMonth = DateUtil.getBetWeenMonths(qsrq,sxrq); +// +// } else if (!sxrq.split("-")[0].equals(releaseDate.split("-")[0]) && !releaseDate.split("-")[0].equals(qsrq.split("-")[0])) { +// //起算年在发生日期的之前,生成假期为发生日期的下一年 +// //betweenMonth = DateUtil.getBetWeenMonths(qsrq,releaseDate.split("-")[0] + "-12-31"); +// betweenMonth = DateUtil.getBetWeenMonths(qsrq,sxrq); +// +// } +// allMonths = betweenMonth + Double.valueOf(ljcrglyfslwz).intValue(); +// int intervalYear = allMonths/12; +// Map vocationMap = VocationCommonUtil.getVocationMap(vocationList, intervalYear / 12, yjzd); +// double edktsc = Double.valueOf(vocationMap.get("edktsc").toString()); + + if (QuotaChangeMethodEnum.CONVERT.getKey().equals(edbgsedclfs)) { +// Map beforeVocationMap = VocationCommonUtil.getVocationMap(vocationList, intervalYear - 1, yjzd); +// if (!beforeVocationMap.get("detailid").equals(vocationMap.get("detailid"))) { +// //考虑残年情况 +// double beforeEdktsc = Double.valueOf(beforeVocationMap.get("edktsc").toString()); +// int needBackMonths = (intervalYear - 1) * 12 - Double.valueOf(ljcrglyfslwz).intValue(); +// +// String middleTime = releaseDate.split("-")[0] + "-" + DateUtil.nextMonth(qsrq, needBackMonths, DateUtil.yyyyMMdd).split("-")[1] + "-" + qsrq.split("-")[2]; +// int beforeDays = DateUtil.getBetWeenDays(releaseDate.split("-")[0] + "-01-01", middleTime); +// int afterDays = DateUtil.getBetWeenDays(middleTime, releaseDate.split("-")[0] + "-12-31"); +// +// int yearDays = DateUtil.getDays(releaseDate, Calendar.DAY_OF_YEAR); +// restTime = VocationCommonUtil.computeRestDays(beforeDays, yearDays, beforeEdktsc, wscl) + VocationCommonUtil.computeRestDays(afterDays, yearDays, edktsc, wscl); +// } else { +// restTime = edktsc; +// } + restTime = getRestTime(insertHoliDayParam,vocationList,QuotaChangeMethodEnum.CONVERT); + } else if (QuotaChangeMethodEnum.NO_CONVERT.getKey().equals(edbgsedclfs)) { +// restTime = edktsc; + restTime = getRestTime(insertHoliDayParam,vocationList,QuotaChangeMethodEnum.NO_CONVERT); + } + } + } else if (edyxq.equals(StartingUnitEnum.STARTING_YEAR.getKey())) { + int betweenYear = DateUtil.getBetWeenYears(qsrq,releaseDate.split(" ")[0]); + //起算年 + allMonths = Double.valueOf(ljcrglyfslwz).intValue(); + int intervalYear = allMonths / 12+betweenYear; + Map vocationMap = VocationCommonUtil.getVocationMap(vocationList, intervalYear, yjzd); + restTime = vocationMap.size()>0?Double.valueOf(vocationMap.get("edktsc").toString()):0; + } else if (edyxq.equals(StartingUnitEnum.NATURAL_MONTH.getKey())){ + //自然月 + betweenMonth = DateUtil.getBetWeenMonths(qsrq,sxrq); + if (DateUtil.getTime(sxrq).compareTo(DateUtil.getTime(qsrq)) <=0){ + betweenMonth = 0; + } + allMonths = betweenMonth+Double.valueOf(ljcrglyfslwz).intValue(); + + Map vocationMap = VocationCommonUtil.getVocationMap(vocationList, allMonths, yjzd); + restTime = vocationMap.size()>0?Double.valueOf(vocationMap.get("edktsc").toString()):0; + + } else if (edyxq.equals(StartingUnitEnum.STARTING_MONTH.getKey())){ + //起算月 + betweenMonth = DateUtil.getBetWeenMonths(qsrq,sxrq); + allMonths = betweenMonth+Double.valueOf(ljcrglyfslwz).intValue(); + + Map vocationMap = VocationCommonUtil.getVocationMap(vocationList, allMonths, yjzd); + restTime = vocationMap.size()>0?Double.valueOf(vocationMap.get("edktsc").toString()):0; + } else if (edyxq.equals(StartingUnitEnum.NATURAL_WEEK.getKey())){ + //起自然周 + betweenDays = DateUtil.getBetWeenDays(qsrq,sxrq)+1; + if (DateUtil.getTime(sxrq).compareTo(DateUtil.getTime(qsrq)) <=0){ + betweenDays = 0; + } + allWorkDays = Double.valueOf(ljcrglyfslwz).intValue()*30+betweenDays; + Map vocationMap = VocationCommonUtil.getVocationMap(vocationList, allWorkDays/7, yjzd); + restTime = vocationMap.size()>0?Double.valueOf(vocationMap.get("edktsc").toString()):0; + + } else if (edyxq.equals(StartingUnitEnum.STARTING_WEEK.getKey())){ + //起算周 + betweenDays = DateUtil.getBetWeenDays(qsrq,sxrq)+1; + if (betweenDays <=7){ + betweenDays=0; + } + allWorkDays = Double.valueOf(ljcrglyfslwz).intValue()*30+betweenDays; + Map vocationMap = VocationCommonUtil.getVocationMap(vocationList, allWorkDays/7, yjzd); + restTime = vocationMap.size()>0?Double.valueOf(vocationMap.get("edktsc").toString()):0; + + } else if (edyxq.equals(StartingUnitEnum.NATURAL_DAY.getKey())){ + //自然天 + betweenDays = DateUtil.getBetWeenDays(qsrq,sxrq)+1; + allWorkDays = Double.valueOf(ljcrglyfslwz).intValue()*30+betweenDays; + Map vocationMap = VocationCommonUtil.getVocationMap(vocationList, allWorkDays, yjzd); + restTime = vocationMap.size()>0?Double.valueOf(vocationMap.get("edktsc").toString()):0; + } + insertHoliDayParam.put("ktsc", restTime); + + VocationCommonUtil.updateHolidayBalance("uf_jcl_kq_jqye", insertHoliDayParam,dataList); + } + + + public double getRestTime(Map insertHoliDayParam,List> vocationList,QuotaChangeMethodEnum changeMethodEnum){ + String sxrq = insertHoliDayParam.get("sxrq").toString(); + String qsrq = Util.null2String(vocationList.get(0).get("qsrq")); + String nextSxrq = DateUtil.nextYear(sxrq,1,DateUtil.yyyyMMdd); + //累计承认工龄月份数栏位值 + String ljcrglyfslwz = Util.null2String(vocationList.get(0).get("ljcrglyfslwz")); + //依据字段 + String yjzd = Util.null2String(vocationList.get(0).get("yjzd")); + //尾数处理 + String wscl = Util.null2String(vocationList.get(0).get("wscl")); + + int seniority = "".equals(ljcrglyfslwz)?0:Double.valueOf(ljcrglyfslwz).intValue(); + + double restTime=0.0; + //折算 + if (changeMethodEnum == QuotaChangeMethodEnum.CONVERT){ + int beginYearMonth = DateUtil.getBetWeenMonths(qsrq,sxrq); + if (beginYearMonth < 0){ + beginYearMonth = 0; + } + beginYearMonth = beginYearMonth+seniority; + int endYearMonth = DateUtil.getBetWeenMonths(qsrq,nextSxrq); + endYearMonth = endYearMonth+seniority; + int beginYear = beginYearMonth/12; + int endYear = endYearMonth/12; + int endYearRemainder = endYearMonth%12; + Map beginYearmap = VocationCommonUtil.getVocationMap(vocationList, beginYear, yjzd); + Map endYearmap = VocationCommonUtil.getVocationMap(vocationList, endYear, yjzd); + double beginEdktsc = Double.valueOf(beginYearmap.get("edktsc") == null? "0" :Util.null2String(beginYearmap.get("edktsc"))); + double endEdktsc = Double.valueOf(endYearmap.get("edktsc") == null? "0" :Util.null2String(endYearmap.get("edktsc"))); + + //残年分割日期 + String divideTime = DateUtil.beforeMonth(nextSxrq,endYearRemainder); + divideTime = divideTime.split("-")[0]+"-"+divideTime.split("-")[1]+"-"+qsrq.split("-")[2]; + int yearDays = DateUtil.getDays(sxrq, Calendar.DAY_OF_YEAR); + + if (beginEdktsc == endEdktsc){ + //当前后额定可休时长一样时,代表没有残年情况 + if (DateUtil.getTime(qsrq).compareTo(DateUtil.getTime(sxrq)) >=0){ + int days = DateUtil.getBetWeenDays(qsrq,nextSxrq); + restTime = VocationCommonUtil.computeRestDays(days, yearDays, endEdktsc, wscl); + }else { + restTime = beginEdktsc; + } + }else { + //考虑残年 + if (DateUtil.getTime(qsrq).compareTo(DateUtil.getTime(sxrq)) >=0){ + + if (DateUtil.getTime(divideTime).compareTo(DateUtil.getTime(qsrq)) >=0){ + int beforeDays = DateUtil.getBetWeenDays(qsrq,divideTime); + int afterDays = DateUtil.getBetWeenDays(divideTime,nextSxrq); + + double beforeRestTime = VocationCommonUtil.computeRestDays(beforeDays, yearDays, endEdktsc, wscl); + double afterRestTime = VocationCommonUtil.computeRestDays(afterDays, yearDays, endEdktsc, wscl); + restTime = beforeRestTime+afterRestTime; + }else { + int afterDays = DateUtil.getBetWeenDays(qsrq,nextSxrq); + restTime = VocationCommonUtil.computeRestDays(afterDays, yearDays, endEdktsc, wscl); + } + + }else { + int beforeDays = DateUtil.getBetWeenDays(sxrq,divideTime); + int afterDays = DateUtil.getBetWeenDays(divideTime,nextSxrq); + double beforeRestTime = VocationCommonUtil.computeRestDays(beforeDays, yearDays, endEdktsc, wscl); + double afterRestTime = VocationCommonUtil.computeRestDays(afterDays, yearDays, endEdktsc, wscl); + restTime = beforeRestTime+afterRestTime; + } + } + + }else { + //不折算 + int beginYearMonth = DateUtil.getBetWeenMonths(qsrq,sxrq); + if (beginYearMonth < 0){ + beginYearMonth = 0; + } + beginYearMonth = beginYearMonth+seniority; + int beginYear = beginYearMonth/12; + Map beginYearmap = VocationCommonUtil.getVocationMap(vocationList, beginYear, yjzd); + double beginEdktsc = Double.valueOf(beginYearmap.get("edktsc") == null? "0" :Util.null2String(beginYearmap.get("edktsc"))); + restTime=beginEdktsc; + } + return restTime; + } + +} diff --git a/src/com/engine/attendance/vacation/service/VocationService.java b/src/com/engine/attendance/vacation/service/VocationService.java new file mode 100644 index 0000000..669e3c7 --- /dev/null +++ b/src/com/engine/attendance/vacation/service/VocationService.java @@ -0,0 +1,11 @@ +package com.engine.attendance.vacation.service; + +import weaver.hrm.User; + +import java.util.Map; + +public interface VocationService { + Map generateVocation(Map params); + + +} diff --git a/src/com/engine/attendance/vacation/service/impl/VocationServiceImpl.java b/src/com/engine/attendance/vacation/service/impl/VocationServiceImpl.java new file mode 100644 index 0000000..16ec048 --- /dev/null +++ b/src/com/engine/attendance/vacation/service/impl/VocationServiceImpl.java @@ -0,0 +1,94 @@ +package com.engine.attendance.vacation.service.impl; + +import com.engine.attendance.attendanceplan.service.AttendancePlanService; +import com.engine.attendance.attendanceplan.service.impl.AttendancePlanServiceImpl; +import com.engine.attendance.vacation.cmd.VocationCmd; +import com.engine.attendance.vacation.service.VocationService; +import com.engine.common.cmd.GetPersonDateBySuitOrganzation; +import com.engine.common.util.DbTools; +import com.engine.common.util.ServiceUtil; +import com.engine.core.impl.Service; +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; +import lombok.extern.slf4j.Slf4j; +import weaver.general.Util; + +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +@Slf4j +public class VocationServiceImpl extends Service implements VocationService { + + private AttendancePlanService basicsetService = ServiceUtil.getService(AttendancePlanServiceImpl.class); + + + @Override + public Map generateVocation(Map params) { + String modeId = Util.null2String(params.get("modeId")); + Map param = Maps.newHashMap(); + param.put("modeId",modeId); + Map result = commandExecutor.execute(new GetPersonDateBySuitOrganzation(param)); + + String sql = "select a.id userid,a.*,b.* from hrmresource a left join cus_fielddata b on a.id=b.id where a.id in ("; + + List userIds = Lists.newArrayList(); + for (Map.Entry entry : result.entrySet()){ + userIds.add(entry.getKey()); + } + List> userPartions = Lists.partition(userIds,50); + List> dataList = Lists.newArrayList(); + for (List list : userPartions){ + String querySql = sql + String.join(",",list) +")"; + log.info("querySql : [{}]",querySql); + List> resultList = DbTools.getSqlToList(querySql); + + List> filterList = resultList.stream().filter(e -> "HrmCustomFieldByInfoType".equals(Util.null2String(e.get("scope"))) && + "-1".equals(Util.null2String(e.get("scopeid")))).collect(Collectors.toList()); + dataList.addAll(filterList); + + List filterStrList = filterList.stream().map(e -> e.get("userid").toString()).collect(Collectors.toList()); + resultList = resultList.stream().filter(e -> { + String userId = Util.null2String(e.get("userid")); + if (filterStrList.contains(userId)){ + return false; + }else { + return true; + } + + }).collect(Collectors.toList()); + dataList.addAll(resultList); + } + Map>> userIdMap = dataList.stream().collect(Collectors.groupingBy(e -> Util.null2String(e.get("userid")))); + + for (Map.Entry entry : result.entrySet()){ + String userId = entry.getKey(); + Map vocationMap = (Map)entry.getValue(); + Map paramMap = Maps.newHashMap(); + paramMap.put("startDate",""); + paramMap.put("endDate",""); + paramMap.put("resourceId",userId); + Map dataMap = basicsetService.getAttendanceItemsByPerson(paramMap); + List> attendanceItems = (List>)dataMap.get("data"); + Map needGenerateVocationMap = Maps.newHashMap(); + for (Map map : attendanceItems){ + if (vocationMap.get(map.get("key")) != null){ + needGenerateVocationMap.put(Util.null2String(map.get("key")),vocationMap.get(map.get("key"))); + } + } + log.info("VocationServiceImpl userId:{}, userMap:{}",userId,userIdMap.get(userId)); + for (Map.Entry e:needGenerateVocationMap.entrySet()){ + if (e.getValue() != null && ((List>)e.getValue()).size() > 0){ + Map vocationParam = Maps.newHashMap(); + vocationParam.put("userId",userId); + vocationParam.put("vocationList",e.getValue()); + vocationParam.put("userMap",userIdMap.get(userId).get(0)); + vocationParam.put("releaseDate",params.get("releaseDate")); + commandExecutor.execute(new VocationCmd(vocationParam)); + } + } + } + return null; + } + +} diff --git a/src/com/engine/attendance/vacation/service/vocationService.java b/src/com/engine/attendance/vacation/service/vocationService.java deleted file mode 100644 index a0452f7..0000000 --- a/src/com/engine/attendance/vacation/service/vocationService.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.engine.attendance.vacation.service; - -import weaver.hrm.User; - -import java.util.Map; - -public interface vocationService { - Map getHrmCondition(Map params, User user); -} diff --git a/src/com/engine/attendance/vacation/util/VocationCommonUtil.java b/src/com/engine/attendance/vacation/util/VocationCommonUtil.java new file mode 100644 index 0000000..7d0b2b9 --- /dev/null +++ b/src/com/engine/attendance/vacation/util/VocationCommonUtil.java @@ -0,0 +1,425 @@ +package com.engine.attendance.vacation.util; + +import com.engine.attendance.enums.*; +import com.engine.common.util.CommonUtil; +import com.engine.common.util.DateUtil; +import com.engine.common.util.DbTools; +import com.engine.common.util.Utils; +import com.google.common.collect.Maps; +import lombok.extern.slf4j.Slf4j; +import org.exolab.castor.xml.schema.IdentityField; +import weaver.general.TimeUtil; +import weaver.general.Util; + +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.util.Calendar; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +@Slf4j +public class VocationCommonUtil { + + /** + * 获得调整后的起算日期 + * @param qsrq 起算日期 + * @param dzqsrq 调整起算日期策略 + * @param fgrq 分割日期 + * @return + */ + public static String getAfterAdjustTime(String qsrq,String dzqsrq,String fgrq){ + + if (AdjustStartingTimeEnum.NEXT_MONTH.getKey().equals(dzqsrq)){ + String nextMonth = DateUtil.nextMonth(qsrq,1,DateUtil.yyyyMMdd); + qsrq = nextMonth.split("-")[0]+"-"+nextMonth.split("-")[1]+"-01"; + + }else if (AdjustStartingTimeEnum.BY_SEGMENT_TIME.getKey().equals(dzqsrq)){ + if (fgrq.length() == 1){ + fgrq = "0"+fgrq; + } + String divideDate=qsrq.split("-")[0]+"-"+qsrq.split("-")[1]+"-"+fgrq; + if (DateUtil.getTime(qsrq).compareTo(DateUtil.getTime(divideDate)) >=0){ + qsrq=divideDate; + } + + }else if (AdjustStartingTimeEnum.NOW_MONTH.getKey().equals(dzqsrq)){ + + qsrq = qsrq.split("-")[0]+"-"+qsrq.split("-")[1]+"-01"; + } + log.info("getAfterAdjustTime qsrq : [{}]",qsrq); + return qsrq; + } + + /** + * 获得执行日期 + * @param releaseDate 执行时间 + * @param vocationMap 假期集合 + * @return + + public static String getExcuteTime(String releaseDate ,Map vocationMap){ + String time = ""; + String edyxq = Util.null2String(vocationMap.get("edyxq")); + String dqtqffts = Util.null2String(vocationMap.get("dqtqffts")); + String ffdtffsj = Util.null2String(vocationMap.get("ffdtffsj")); + String qsrq = Util.null2String(vocationMap.get("qsrq")); + int edyxqsz = Double.valueOf(Util.null2String(vocationMap.get("edyxqsz"))).intValue(); + + if (edyxq.equals(StartingUnitEnum.NATURAL_YEAR.getKey())){ + int nowYear = Integer.valueOf(releaseDate.split("-")[0])+1; + int StartYear = Integer.valueOf(qsrq.split("-")[0]); + if ((nowYear-StartYear)%edyxqsz == 0){ + String endYearTime = releaseDate.split("-")[0]+"-"+"12-31"; + time = DateUtil.beforeDay(endYearTime,Integer.valueOf(dqtqffts)) +" "+ffdtffsj; + } + }else if (edyxq.equals(StartingUnitEnum.STARTING_YEAR.getKey())){ + int betweenYear = DateUtil.getBetWeenYears(releaseDate.split(" ")[0],qsrq); + if (betweenYear >=1 && betweenYear % edyxqsz == 0){ + if (betweenYear > 1){ + String startTime = releaseDate.split("-")[0]+"-"+qsrq.split("-")[1]+"-"+qsrq.split("-")[2]; + time = DateUtil.beforeDay(startTime,Integer.valueOf(dqtqffts)) +" "+ffdtffsj; + }else { + String startTime = DateUtil.nextYear(qsrq,1,DateUtil.yyyyMMdd); + time = DateUtil.beforeDay(startTime,Integer.valueOf(dqtqffts)) +" "+ffdtffsj; + } + } + }else if (edyxq.equals(StartingUnitEnum.NATURAL_MONTH.getKey())){ + String startTime = qsrq.split("-")[0]+"-"+qsrq.split("-")[1]+"-01"; + String nowTime = releaseDate.split("-")[0]+"-"+releaseDate.split("-")[1]+"-01"; + int betweenMonths = DateUtil.getBetWeenMonths(startTime,nowTime)+1; + if (betweenMonths % edyxqsz == 0){ + int diffdays = DateUtil.getDays(releaseDate, Calendar.DAY_OF_MONTH); + String endMonthTime = releaseDate.split("-")[0]+"-"+releaseDate.split("-")[1]+"-"+diffdays; + time = DateUtil.beforeDay(endMonthTime,Integer.valueOf(dqtqffts)) +" "+ffdtffsj; + } + + }else if (edyxq.equals(StartingUnitEnum.STARTING_MONTH.getKey())){ + + String afterReleaseDate = DateUtil.AfterDay(releaseDate.split(" ")[0],Integer.valueOf(dqtqffts)); + int betweenMonths = DateUtil.getBetWeenMonths(qsrq,afterReleaseDate); + if (betweenMonths >=1 && betweenMonths%edyxqsz == 0 && qsrq.split("-")[2].equals(afterReleaseDate.split("-")[2])){ + if (betweenMonths > 1){ + String startTime = releaseDate.split(" ")[0]; + time = startTime +" "+ffdtffsj; + }else { + String startTime = DateUtil.nextMonth(qsrq,1,DateUtil.yyyyMMdd); + time = DateUtil.beforeDay(startTime,Integer.valueOf(dqtqffts)) +" "+ffdtffsj; + } + } + + }else if (edyxq.equals(StartingUnitEnum.NATURAL_WEEK.getKey())){ + int days = DateUtil.getBetWeenDays(qsrq,releaseDate.split(" ")[0]); + int dayOfWeek = TimeUtil.getDayOfWeek(qsrq); + if (dayOfWeek == 0){ + dayOfWeek = 7; + } + days = days-(7-dayOfWeek); + int betWeenWeeks = days/7 +1; + if (days % 7 == 0 && betWeenWeeks%edyxqsz == 0){ + String startTime = DateUtil.AfterDay(releaseDate.split(" ")[0],7); + time = DateUtil.beforeDay(startTime,Integer.valueOf(dqtqffts)) +" "+ffdtffsj; + } + }else if (edyxq.equals(StartingUnitEnum.STARTING_WEEK.getKey())){ + String afterReleaseDate = DateUtil.AfterDay(releaseDate.split(" ")[0],Integer.valueOf(dqtqffts)); + int days = DateUtil.getBetWeenDays(qsrq,afterReleaseDate); + int betWeenWeeks = days/7; + if (days %7 ==0 && betWeenWeeks%edyxqsz == 0 && betWeenWeeks>=1){ + if (betWeenWeeks > 1){ + String startTime = releaseDate.split(" ")[0]; + time = startTime +" "+ffdtffsj; + }else { + String startTime = DateUtil.AfterDay(qsrq,7); + time = DateUtil.beforeDay(startTime,Integer.valueOf(dqtqffts)) +" "+ffdtffsj; + } + } + + }else if (edyxq.equals(StartingUnitEnum.NATURAL_DAY.getKey())){ + time = releaseDate.split(" ")[0]+" "+ffdtffsj; + } + log.info("excuteTime : [{}]",time); + return time; + } + */ + + /** + * 根据依据字段和 + * @param vocationList 假期额度集合 + * @param intervalDuration 间隔时长 + * @param yjzd 依据字段 + * @return + */ + public static Map getVocationMap(List> vocationList,int intervalDuration,String yjzd){ + + List> resultList = vocationList.stream().filter(e -> { + //间隔时长起 + double jgsc0 = Double.valueOf(Util.null2String(e.get("jgsc0"))); + //间隔时长止 + double jgsc1 = Double.valueOf(Util.null2String(e.get("jgsc1"))); + //选项值 + String xxz = Util.null2String(e.get("xxz")); + if (!"".equals(yjzd) && xxz.equals(yjzd) && intervalDuration >=jgsc0 && intervalDuration<=jgsc1){ + return true; + }else if ("".equals(yjzd) && intervalDuration >=jgsc0 && intervalDuration<=jgsc1){ + return true; + }else { + return false; + } + + }).collect(Collectors.toList()); + if (resultList.size() > 0){ + return resultList.get(0); + }else { + return new HashMap<>(); + } + } + + /** + * 计算额定休息天数 + * @param day 一年当中占据的天数 + * @param yearDay 一年的天数 + * @param ratedRestTime 额定可休时长 + * @param wscl 尾数处理 + * @return + */ + public static double computeRestDays(int day,int yearDay,double ratedRestTime,String wscl){ + BigDecimal dayBig = new BigDecimal(day); + BigDecimal yearDayBig = new BigDecimal(yearDay); + BigDecimal ratedRestTimeBig = new BigDecimal(ratedRestTime); + double result = 0; + if (RemainderHandleEnum.ROUND_UP_FOUR.getKey().equals(wscl)){ + result = dayBig.divide(yearDayBig,6,BigDecimal.ROUND_HALF_UP).multiply(ratedRestTimeBig).setScale(4,BigDecimal.ROUND_HALF_UP).doubleValue(); + }else if (RemainderHandleEnum.ROUND_UP_TWO.getKey().equals(wscl)){ + result = dayBig.divide(yearDayBig,6,BigDecimal.ROUND_HALF_UP).multiply(ratedRestTimeBig).setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue(); + }else if (RemainderHandleEnum.DOWN_ZERO_POINT_FIVE.getKey().equals(wscl)){ + result = dayBig.divide(yearDayBig,6,BigDecimal.ROUND_HALF_UP).multiply(ratedRestTimeBig).setScale(4,BigDecimal.ROUND_HALF_UP).doubleValue(); + result = Math.floor(result * 2) / 2; + }else if (RemainderHandleEnum.UP_ZERO_POINT_FIVE.getKey().equals(wscl)){ + result = dayBig.divide(yearDayBig,6,BigDecimal.ROUND_HALF_UP).multiply(ratedRestTimeBig).setScale(4,BigDecimal.ROUND_HALF_UP).doubleValue(); + result = Math.ceil(result * 2) / 2; + }else if (RemainderHandleEnum.ROUND_DOWN.getKey().equals(wscl)){ + result = dayBig.divide(yearDayBig,6,BigDecimal.ROUND_HALF_UP).multiply(ratedRestTimeBig).setScale(0,BigDecimal.ROUND_DOWN).doubleValue(); + }else if (RemainderHandleEnum.ROUND_UP.getKey().equals(wscl)){ + result = dayBig.divide(yearDayBig,6,BigDecimal.ROUND_HALF_UP).multiply(ratedRestTimeBig).setScale(0,BigDecimal.ROUND_UP).doubleValue(); + } + + return result; + } + + /** + * 初始化插入假期余额参数 + * @param vocationMap 假期集合 + * @param userId 员工id + * @param qsrq 起算日期 + * @param ffsj 发放时间 + * @return + */ + public static Map getInsertHoliDayParam(Map vocationMap,String userId,String qsrq,String ffsj){ + Map param = Maps.newHashMap(); + //额度有效期间单位 + String edyxq = Util.null2String(vocationMap.get("edyxq")); + //额度有效期间 + int edyxqsz = Double.valueOf(Util.null2String(vocationMap.get("edyxqsz"))).intValue(); + //提前执行发放操作的天数 + int dqtqffts = Integer.valueOf(Util.null2String(vocationMap.get("dqtqffts"))); + //结余未休处理 + String jywxcl = Util.null2String(vocationMap.get("jywxcl")); + //延期时长 + String yqsc = Util.null2String(vocationMap.get("yqsc")); + //执行发放的时间点 + String ffdtffsj = Util.null2String(vocationMap.get("ffdtffsj")); + + param.put("lyid",vocationMap.get("dataid")); + param.put("jqid",vocationMap.get("jb")); + param.put("ygid",userId); + param.put("qsrq",qsrq); + param.put("ffsj",ffsj); + + if (edyxq.equals(StartingUnitEnum.NATURAL_YEAR.getKey())){ + String nowEndYearTime = ffsj.split("-")[0]+"-12-31"; + String forWardTime = DateUtil.beforeDay(nowEndYearTime,dqtqffts) +" "+ffdtffsj; + if (DateUtil.getTime(ffsj).compareTo(DateUtil.getTime(forWardTime)) >=0){ + //发放下一年 + String nextYear = DateUtil.nextYear(ffsj,1,DateUtil.yyyyMMdd); + String jzrq = DateUtil.nextYear(nextYear,edyxqsz-1,DateUtil.yyyyMMdd); + param.put("sxrq",nextYear.split("-")[0]+"-01-01"); + param.put("jzrq",jzrq.split("-")[0]+"-12-31"); + }else { + //发放当年 + param.put("sxrq",ffsj.split("-")[0]+"-01-01"); + param.put("jzrq",DateUtil.nextYear(ffsj.split("-")[0]+"-12-31",edyxqsz-1,DateUtil.yyyyMMdd)); + } + + }else if (edyxq.equals(StartingUnitEnum.STARTING_YEAR.getKey())){ + String startTime = ffsj.split("-")[0]+"-"+qsrq.split("-")[1]+"-"+qsrq.split("-")[2]; + String beforeStartTime = DateUtil.beforeYear(startTime,1,DateUtil.yyyyMMdd); + String beforeEndTime = DateUtil.beforeDay(startTime,1); + String endTime = DateUtil.nextYear(beforeEndTime,1,DateUtil.yyyyMMdd); + String forWardTime = DateUtil.beforeDay(beforeEndTime,dqtqffts) +" "+ffdtffsj; + + if (DateUtil.getTime(ffsj).compareTo(DateUtil.getTime(forWardTime)) >=0){ + //发放下一周期 + param.put("sxrq",startTime); + param.put("jzrq",DateUtil.nextYear(endTime,edyxqsz-1,DateUtil.yyyyMMdd)); + }else { + //发放当前周期 + param.put("sxrq",beforeStartTime); + param.put("jzrq",DateUtil.nextYear(beforeEndTime,edyxqsz-1,DateUtil.yyyyMMdd)); + } + + }else if (edyxq.equals(StartingUnitEnum.NATURAL_MONTH.getKey())){ + String sxrq = DateUtil.nextMonth(ffsj,1,DateUtil.yyyyMM)+"-01"; + int days = DateUtil.getDays(sxrq,Calendar.DAY_OF_MONTH); + String jzrq = DateUtil.nextMonth(sxrq,edyxqsz-1,DateUtil.yyyyMM) +"-"+days; + + String beforeSxrq = ffsj.split("-")[0]+"-"+ffsj.split("-")[1]+"-01"; + int beforeDays = DateUtil.getDays(beforeSxrq,Calendar.DAY_OF_MONTH); + String beforeJzrq = DateUtil.nextMonth(beforeSxrq,edyxqsz-1,DateUtil.yyyyMM); + int beforeJzrqDays = DateUtil.getDays(beforeJzrq,Calendar.DAY_OF_MONTH); + beforeJzrq = beforeJzrq +"-"+beforeJzrqDays; + + String forWardTime = DateUtil.beforeDay(ffsj.split("-")[0]+"-"+ffsj.split("-")[1]+"-"+beforeDays,dqtqffts)+" "+ffdtffsj; + + if (DateUtil.getTime(ffsj).compareTo(DateUtil.getTime(forWardTime)) >=0){ + //发放下一月份 + param.put("sxrq",sxrq); + param.put("jzrq",jzrq); + }else { + //发放当前月份 + param.put("sxrq",beforeSxrq); + param.put("jzrq",beforeJzrq); + } + + }else if (edyxq.equals(StartingUnitEnum.STARTING_MONTH.getKey())){ + String sxrq = ffsj.split("-")[0]+"-"+ffsj.split("-")[1]+"-"+qsrq.split("-")[2]; + String beforeEndTime = DateUtil.beforeDay(sxrq,1); + String beforeSxrq = DateUtil.beforeMonth(sxrq,1); + String beforeJzrq = DateUtil.nextMonth(beforeEndTime,edyxqsz-1,DateUtil.yyyyMM); + String jzrq = DateUtil.nextMonth(beforeEndTime,edyxqsz,DateUtil.yyyyMM); + + String forWardTime = DateUtil.beforeDay(beforeEndTime,dqtqffts)+" "+ffdtffsj; + + if (DateUtil.getTime(ffsj).compareTo(DateUtil.getTime(forWardTime)) >=0){ + //发放下一月份 + param.put("sxrq",sxrq); + param.put("jzrq",jzrq); + }else { + //发放当前月份 + param.put("sxrq",beforeSxrq); + param.put("jzrq",beforeJzrq); + } + + }else if (edyxq.equals(StartingUnitEnum.NATURAL_WEEK.getKey())){ + int dayOfWeek = TimeUtil.getDayOfWeek(ffsj); + if (dayOfWeek == 0){ + dayOfWeek = 7; + } + String time = ffsj.split("-")[0]+"-"+ffsj.split("-")[1] +"-"+ffsj.split(" ")[0].split("-")[2]; + String sxrq = DateUtil.AfterDay(time,8-dayOfWeek); + String beforeSxrq = DateUtil.beforeMonth(time,dayOfWeek-1); + String beforeJxrq = DateUtil.AfterDay(time,8-dayOfWeek); + + String forWardTime = DateUtil.beforeDay(beforeJxrq,dqtqffts)+" "+ffdtffsj; + + if (DateUtil.getTime(ffsj).compareTo(DateUtil.getTime(forWardTime)) >=0){ + //发放下一周 + param.put("sxrq",sxrq); + param.put("jzrq",DateUtil.AfterDay(sxrq,7*edyxqsz-1)); + }else { + //发放当前周 + param.put("sxrq",beforeSxrq); + param.put("jzrq",DateUtil.AfterDay(beforeSxrq,7*edyxqsz-1)); + } + + + + }else if (edyxq.equals(StartingUnitEnum.STARTING_WEEK.getKey())){ + + String time = ffsj.split("-")[0]+"-"+ffsj.split("-")[1] +"-"+ffsj.split(" ")[0].split("-")[2]; + int days = DateUtil.getBetWeenDays(qsrq,time); + int residueDays = days%7; + String beforeSxrq = DateUtil.beforeDay(time,residueDays); + String beforeEndTime = DateUtil.AfterDay(beforeSxrq,6); + String sxrq = DateUtil.AfterDay(beforeSxrq,7); + + String forWardTime = DateUtil.beforeDay(beforeEndTime,dqtqffts)+" "+ffdtffsj; + + if (DateUtil.getTime(ffsj).compareTo(DateUtil.getTime(forWardTime)) >=0){ + //发放下一周周期 + param.put("sxrq",sxrq); + param.put("jzrq",DateUtil.AfterDay(sxrq,7*edyxqsz-1)); + }else { + //发放当前周期 + param.put("sxrq",beforeSxrq); + param.put("jzrq",DateUtil.AfterDay(beforeSxrq,7*edyxqsz-1)); + } + + }else if (edyxq.equals(StartingUnitEnum.NATURAL_DAY.getKey())){ + String sxrq = DateUtil.AfterDay(ffsj.split(" ")[0],1); + param.put("sxrq",sxrq); + param.put("jzrq",sxrq); + } + + if (BalanceHandleEnum.DELAY.getKey().equals(jywxcl)){ + if (DelayTypeEnum.ONE_MONTH.getKey().equals(yqsc)){ + //一个月 + param.put("yqsxrq",DateUtil.nextMonth(param.get("jzrq").toString(),1,DateUtil.yyyyMMdd)); + }else if (DelayTypeEnum.TWO_MONTH.getKey().equals(yqsc)){ + //两个月 + param.put("yqsxrq",DateUtil.nextMonth(param.get("jzrq").toString(),2,DateUtil.yyyyMMdd)); + }else if (DelayTypeEnum.THREE_MONTH.getKey().equals(yqsc)){ + //三个月 + param.put("yqsxrq",DateUtil.nextMonth(param.get("jzrq").toString(),3,DateUtil.yyyyMMdd)); + }else if (DelayTypeEnum.HALF_YEAR.getKey().equals(yqsc)){ + //半年 + param.put("yqsxrq",DateUtil.nextMonth(param.get("jzrq").toString(),6,DateUtil.yyyyMMdd)); + }else if (DelayTypeEnum.ONE_YEAR.getKey().equals(yqsc)){ + //一年 + param.put("yqsxrq",DateUtil.nextMonth(param.get("jzrq").toString(),12,DateUtil.yyyyMMdd)); + } + } + return param; + } + + /** + * 更新假期余额 + * @param tableName 假期余额表名 + * @param dataMap 参数 + */ + public static void updateHolidayBalance(String tableName,Map dataMap,List> dataList){ + log.info("updateHolidayBalance dataMap:[{}]",dataMap); + String lyid = Util.null2String(dataMap.get("lyid")); + String ygid = Util.null2String(dataMap.get("ygid")); + String jqid = Util.null2String(dataMap.get("jqid")); + String sxrq = Util.null2String(dataMap.get("sxrq")); + String jzrq = Util.null2String(dataMap.get("jzrq")); + + if (dataList.size()>0){ + Map condition = Maps.newHashMap(); + condition.put("id",dataList.get(0).get("id")); + DbTools.update(CommonUtil.makeUpdateSql(tableName,dataMap,condition)); + }else { + Utils.InsertFormTable(tableName, dataMap, Utils.getFormmodeIdMap()); + } + + } + + /** + * 该周期是否已存在 + * @param tableName + * @param dataMap + * @return + */ + public static List> ifexist(String tableName,Map dataMap){ + log.info("updateHolidayBalance dataMap:[{}]",dataMap); + String lyid = Util.null2String(dataMap.get("lyid")); + String ygid = Util.null2String(dataMap.get("ygid")); + String jqid = Util.null2String(dataMap.get("jqid")); + String sxrq = Util.null2String(dataMap.get("sxrq")); + String jzrq = Util.null2String(dataMap.get("jzrq")); + String sql = "select id from "+tableName +" where lyid=? and ygid=? and jqid=? and sxrq=? and jzrq=?"; + List> dataList = DbTools.getSqlToList(sql,lyid,ygid,jqid,sxrq,jzrq); + + return dataList; + } +} diff --git a/src/com/engine/attendance/vacation/web/VocationAction.java b/src/com/engine/attendance/vacation/web/VocationAction.java new file mode 100644 index 0000000..efd8996 --- /dev/null +++ b/src/com/engine/attendance/vacation/web/VocationAction.java @@ -0,0 +1,54 @@ +package com.engine.attendance.vacation.web; + + +import com.engine.attendance.vacation.service.VocationService; +import com.engine.attendance.vacation.service.impl.VocationServiceImpl; +import com.engine.common.util.ApiReturnTools; +import com.engine.common.util.ParamUtil; +import com.engine.common.util.ServiceUtil; +import com.engine.common.util.Utils; +import lombok.extern.slf4j.Slf4j; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.ws.rs.GET; +import javax.ws.rs.POST; +import javax.ws.rs.Path; +import javax.ws.rs.Produces; +import javax.ws.rs.core.Context; +import java.util.Map; + +@Slf4j +public class VocationAction { + + + private VocationService vocationService = ServiceUtil.getService(VocationServiceImpl.class); + + /** + * tableName 表名 + * columns 查询的列名 + * conditions 查询条件 + * orderby 排序及limit + * @return + */ + @GET + @Path("/generateVocation") + @Produces({"text/plain"}) + public String generateVocation(@Context HttpServletRequest request, @Context HttpServletResponse response) { + try { + Map paramMap = ParamUtil.request2Map(request); + Map formmodeIdMap = Utils.getFormmodeIdMap(); + //假期额度模块id + String modeId = formmodeIdMap.get("uf_jcl_kq_jqed"); + paramMap.put("modeId",modeId); + Map dataMap = vocationService.generateVocation(paramMap); + return ApiReturnTools.success(dataMap); + }catch (Exception e){ + log.error("sync fund status fail,catch error: [{}]",e); + return ApiReturnTools.error("200","查询失败"); + } + } + + + + +} diff --git a/src/com/engine/common/cmd/GetPersonDateBySuitOrganzation.java b/src/com/engine/common/cmd/GetPersonDateBySuitOrganzation.java index f6fd37d..c7d697d 100644 --- a/src/com/engine/common/cmd/GetPersonDateBySuitOrganzation.java +++ b/src/com/engine/common/cmd/GetPersonDateBySuitOrganzation.java @@ -5,13 +5,10 @@ import com.engine.common.biz.AbstractCommonCommand; import com.engine.common.entity.BizLogContext; import com.engine.common.util.DbTools; import com.engine.core.interceptor.CommandContext; -import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.google.common.collect.Sets; import lombok.extern.slf4j.Slf4j; import weaver.general.Util; - -import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; @@ -35,10 +32,10 @@ public class GetPersonDateBySuitOrganzation extends AbstractCommonCommand execute(CommandContext commandContext) { String modeId = Util.null2String(params.get("modeId")); - String sql = "select dxlx,aqjb,dataid,dx from uf_syzz where modeid=?"; + String sql = "select dxlx,aqjb,dataid,dx from uf_jcl_syzz where modeid=?"; //假期额度适用组织所有值集合 List> organzationList = DbTools.getSqlToList(sql,modeId); - sql = "select a.id dataid,a.*,b.* from uf_jcl_kq_jqed a left join uf_jcl_kq_jqed_dt1 b on a.id=b.mainid"; + sql = "select a.id dataid,b.id detailid,a.*,b.* from uf_jcl_kq_jqed a left join uf_jcl_kq_jqed_dt1 b on a.id=b.mainid"; //所有假期额度生成规则值 List> vacationList = DbTools.getSqlToList(sql); //人力资源id,(假别,规则id) @@ -50,8 +47,7 @@ public class GetPersonDateBySuitOrganzation extends AbstractCommonCommand subCompanyMap = Maps.newHashMap(); - //以假期额度生成规则id分割的适用组织所有值集合 - Map>> organzationCollect = organzationList.stream().collect(Collectors.groupingBy(e->Util.null2String(e.get("dataid")))); + //规则id-对象id,安全级别 Map organzationByMap = Maps.newHashMap(); for (Map map : organzationList){ @@ -71,7 +67,14 @@ public class GetPersonDateBySuitOrganzation extends AbstractCommonCommand vacationMap = vacationList.stream().collect(Collectors.toMap(e->e.get("dataid").toString(),e->e.get("jb").toString())); + Map vacationMap = Maps.newHashMap(); + for (Map vocation:vacationList){ + vacationMap.put(vocation.get("dataid").toString(),vocation.get("jb").toString()); + } + + + Map>> vacationGroupByDataIdMap = vacationList.stream().collect(Collectors.groupingBy(e->e.get("dataid").toString())); + Set personOrganzationIds = Sets.newHashSet(); Set departMentIds = Sets.newHashSet(); @@ -128,36 +131,43 @@ public class GetPersonDateBySuitOrganzation extends AbstractCommonCommand> hrmListByDepartAndSubCompanyIds = DbTools.getSqlToList(sql); - //分部id-人员id集合 - Map>> hrmListGroupByDepart = hrmListByDepartAndSubCompanyIds.stream().collect(Collectors.groupingBy(e->Util.null2String(e.get("departmentid")))); //部门id-人员id集合 + Map>> hrmListGroupByDepart = hrmListByDepartAndSubCompanyIds.stream().collect(Collectors.groupingBy(e->Util.null2String(e.get("departmentid")))); + log.info("hrmListGroupByDepart : [{}]",hrmListGroupByDepart); + //分部id-人员id集合 Map>> hrmListGroupBySubCompany = hrmListByDepartAndSubCompanyIds.stream().collect(Collectors.groupingBy(e->Util.null2String(e.get("subcompanyid1")))); + log.info("hrmListGroupBySubCompany : [{}]",hrmListGroupBySubCompany); //人员分组id-人员id集合 - Map> personGroupUserIds = getPersonGroupUserIds(personOrganzationIds); - - //人员分组id-(假别,假期规则id) - for (Map.Entry entry : personOrganzationMap.entrySet()){ - String personGroupId = entry.getKey(); - //人员分组(假别,假期规则id) - Map personGroupHolidayMap = (Map)entry.getValue(); - Set userIds = personGroupUserIds.get(personGroupId); - for (String userId :userIds){ - //人力资源原本已有的假期,(假别,规则id) - Map psersonSet = personMap.get(userId) == null?null:(Map)personMap.get(userId); - if (psersonSet == null) { - personMap.put(userId,personGroupHolidayMap); - }else { - Map newMap = Maps.newHashMap(); - for (Map.Entry personGroupHolidayEntry :personGroupHolidayMap.entrySet()){ - if (psersonSet.get(personGroupHolidayEntry.getKey()) == null){ - newMap.put(personGroupHolidayEntry.getKey(),personGroupHolidayEntry.getValue()); + if (personOrganzationIds.size() >0){ + //人员分组id-(假别,假期规则id) + Map> personGroupUserIds = getPersonGroupUserIds(personOrganzationIds); + log.info("personGroupUserIds : [{}]",personGroupUserIds); + log.info("personOrganzationMap : [{}]",personOrganzationMap); + for (Map.Entry entry : personOrganzationMap.entrySet()){ + String personGroupId = entry.getKey(); + //人员分组(假别,假期规则id) + Map personGroupHolidayMap = (Map)entry.getValue(); + Set userIds = personGroupUserIds.get(personGroupId); + for (String userId :userIds){ + //人力资源原本已有的假期,(假别,规则id) + Map psersonSet = personMap.get(userId) == null?null:(Map)personMap.get(userId); + if (psersonSet == null) { + personMap.put(userId,personGroupHolidayMap); + }else { + for (Map.Entry personGroupHolidayEntry :personGroupHolidayMap.entrySet()){ + if (psersonSet.get(personGroupHolidayEntry.getKey()) == null){ + psersonSet.put(personGroupHolidayEntry.getKey(),personGroupHolidayEntry.getValue()); + } } + personMap.put(userId,psersonSet); } - personMap.put(userId,newMap); } } } + + log.info("before personMap : [{}]",personMap); //部门id + log.info("departMentMap : [{}]",departMentMap); for (Map.Entry entry : departMentMap.entrySet()){ String departMentId = entry.getKey(); //部门(假别,假期规则id) @@ -170,17 +180,17 @@ public class GetPersonDateBySuitOrganzation extends AbstractCommonCommand newMap = Maps.newHashMap(); for (Map.Entry personGroupHolidayEntry :departMentHolidayMap.entrySet()){ if (psersonSet.get(personGroupHolidayEntry.getKey()) == null){ - newMap.put(personGroupHolidayEntry.getKey(),personGroupHolidayEntry.getValue()); + psersonSet.put(personGroupHolidayEntry.getKey(),personGroupHolidayEntry.getValue()); } } - personMap.put(userId,newMap); + personMap.put(userId,psersonSet); } } } //分部id + log.info("subCompanyMap : [{}]",subCompanyMap); for (Map.Entry entry : subCompanyMap.entrySet()){ String subCompanyId = entry.getKey(); //分部(假别,假期规则id) @@ -193,18 +203,29 @@ public class GetPersonDateBySuitOrganzation extends AbstractCommonCommand newMap = Maps.newHashMap(); for (Map.Entry personGroupHolidayEntry :subCompanyHolidayMap.entrySet()){ if (psersonSet.get(personGroupHolidayEntry.getKey()) == null){ - newMap.put(personGroupHolidayEntry.getKey(),personGroupHolidayEntry.getValue()); + psersonSet.put(personGroupHolidayEntry.getKey(),personGroupHolidayEntry.getValue()); } } - personMap.put(userId,newMap); + personMap.put(userId,psersonSet); } } } log.info("personMap : [{}]",personMap); - return personMap; + Map newpersonMap = Maps.newHashMap(); + for (Map.Entry entry :personMap.entrySet()){ + String userId = entry.getKey(); + Map vocationMap = (Map)entry.getValue(); + Map dataMap = Maps.newHashMap(); + for (Map.Entry vocationEntry :vocationMap.entrySet()){ + String jb = vocationEntry.getKey(); + String dataId = vocationEntry.getValue(); + dataMap.put(jb,vacationGroupByDataIdMap.get(dataId)); + } + newpersonMap.put(userId,dataMap); + } + return newpersonMap; } /** diff --git a/src/com/engine/common/util/CommonUtil.java b/src/com/engine/common/util/CommonUtil.java index 6003c6f..6c9ac8e 100644 --- a/src/com/engine/common/util/CommonUtil.java +++ b/src/com/engine/common/util/CommonUtil.java @@ -60,7 +60,7 @@ public class CommonUtil { public static Set getDataIds(String resourceId,String modeId,String startDate,String endDate){ - String sql = "select dxlx,dataid,dx from uf_syzz where modeid=?"; + String sql = "select dxlx,dataid,dx from uf_jcl_syzz where modeid=?"; List> organizationList = DbTools.getSqlToList(sql,modeId); sql = "select id,departmentid,subcompanyid1 from hrmresource where id =?"; Map departMentMap = DbTools.getSqlToMap(sql,resourceId); diff --git a/src/com/engine/common/util/DateUtil.java b/src/com/engine/common/util/DateUtil.java index ce53d87..b39fdd6 100644 --- a/src/com/engine/common/util/DateUtil.java +++ b/src/com/engine/common/util/DateUtil.java @@ -1,21 +1,22 @@ package com.engine.common.util; -import java.time.Duration; -import java.time.LocalDate; -import java.time.LocalDateTime; -import java.time.Period; +import weaver.general.TimeUtil; + +import java.time.*; import java.time.format.DateTimeFormatter; import java.time.temporal.ChronoUnit; +import java.util.Calendar; public class DateUtil { public static DateTimeFormatter yyyyMMdd = DateTimeFormatter.ofPattern("yyyy-MM-dd"); public static DateTimeFormatter yyyyMMddHHmmss = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); public static DateTimeFormatter yyyyMMddHHmm = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm"); public static DateTimeFormatter yyyyMM = DateTimeFormatter.ofPattern("yyyy-MM"); + public static DateTimeFormatter yyyy = DateTimeFormatter.ofPattern("yyyy"); - public static String beforeMonth(String time){ + public static String beforeMonth(String time,int month){ LocalDateTime localDateTime = DateUtil.getTime(time); - return localDateTime.minusMonths(1).format(yyyyMM); + return localDateTime.minusMonths(month).format(yyyyMMdd); } public static String lastMonth(String time){ LocalDateTime localDateTime = DateUtil.getTime(time); @@ -32,6 +33,16 @@ public class DateUtil { return localDateTime.plusMonths(month).format(dateTimeFormatter); } + public static String nextYear(String time,int year,DateTimeFormatter dateTimeFormatter){ + LocalDateTime localDateTime = DateUtil.getTime(time); + + return localDateTime.plusYears(year).format(dateTimeFormatter); + } + public static String beforeYear(String time,int year,DateTimeFormatter dateTimeFormatter){ + LocalDateTime localDateTime = DateUtil.getTime(time); + + return localDateTime.minusYears(year).format(dateTimeFormatter); + } public static String beforeDay(String time,long day){ @@ -102,6 +113,7 @@ public class DateUtil { public static long getBetWeenHours(String startTime){ Duration duration = Duration.between(LocalDateTime.parse(startTime,yyyyMMddHHmmss),LocalDateTime.now()); + return duration.toHours(); } /** @@ -111,6 +123,7 @@ public class DateUtil { */ public static int getBetWeenYears(String startTime){ Period duration = Period.between(LocalDate.parse(startTime,yyyyMMdd),LocalDateTime.now().toLocalDate()); + return duration.getYears(); } @@ -121,10 +134,28 @@ public class DateUtil { */ public static int getBetWeenYears(String startTime,String endTime){ Period duration = Period.between(LocalDate.parse(startTime,yyyyMMdd),LocalDate.parse(endTime,yyyyMMdd)); - return duration.getYears(); } + /** + * 获得两个时间相差的月份 + * @param startTime 开始时间 yyyy-MM-dd + * @return + */ + public static int getBetWeenMonths(String startTime,String endTime){ + LocalDateTime startDate = DateUtil.getTime(startTime); + LocalDateTime endDate = DateUtil.getTime(endTime); + + YearMonth startYearMonth = YearMonth.from(startDate); + YearMonth endYearMonth = YearMonth.from(endDate); + + int betweenMonth = (int) ChronoUnit.MONTHS.between(startYearMonth, endYearMonth); + if (startDate.getDayOfMonth()>endDate.getDayOfMonth()){ + betweenMonth= betweenMonth-1; + } + return betweenMonth; + } + /** * 获得当前时间相差的天数 * @param startTime 开始时间 yyyy-MM-dd @@ -181,10 +212,37 @@ public class DateUtil { * @return */ public static long getBetWeenHours(String startTime,String endTime){ - Duration duration = Duration.between(LocalDateTime.parse(startTime,yyyyMMddHHmmss),LocalDateTime.parse(endTime,yyyyMMddHHmmss)); + Duration duration = Duration.between(getTime(startTime),getTime(endTime)); return duration.toHours(); } + /** + * 获得两个时间相差的周 + * @param startTime 开始时间 + * @param endTime 结束时间 + * @return + */ + public static int getBetweenWeeks(String startTime,String endTime){ + int days = getBetWeenDays(startTime,endTime); + int dayOfWeek = TimeUtil.getDayOfWeek(startTime); + if (dayOfWeek == 0){ + dayOfWeek = 7; + } + days = days-(7-dayOfWeek); + + return days/7; + } + + /** + * 获得该月份的天数 + * @param time + * @return + */ + public static int getDays(String time,int CalendarType){ + Calendar calendar = Calendar.getInstance(); + calendar.set(Integer.valueOf(time.split("-")[0]), Integer.valueOf(time.split("-")[1]) - 1, 1); + return calendar.getActualMaximum(CalendarType); + } } diff --git a/src/com/engine/common/util/Utils.java b/src/com/engine/common/util/Utils.java index a0d1c7f..4445bdd 100644 --- a/src/com/engine/common/util/Utils.java +++ b/src/com/engine/common/util/Utils.java @@ -537,8 +537,4 @@ public class Utils { } return 0; } - public static void test1(){ - Object obj = new Object(); - System.out.println(obj); - } } diff --git a/target/classes/com/api/attendance/vocation/VocationActionApi.class b/target/classes/com/api/attendance/vocation/VocationActionApi.class new file mode 100644 index 0000000000000000000000000000000000000000..94cef9a2683726ca7d3b0aaf21313bae0494f119 GIT binary patch literal 656 zcmb7B$w~u35Ph9}8I8sz?vjI$2-*m_DMAoD4I(PJcP8!FVbUFDI*ERkcu+j}0e+NN zGX}-w;$gbBSM{pqy}mua0BB*mge;cxsFkpS)gn?@%VV7(9T=aX>YC8!QE=VrbJzI3 z3=bJ{M@lPuOqfQq!;m>KJ;_jUm6m6tL05)Xq8m_#nmrM8M5y9;n#|Z66)|wvGXpM$ ziVJI{?g{NlJ|?_XM)S_pX?t)!C^GE*YwbKX9Bg9CK@NF_ zgSc60pMKOg3NbxvW#qY_Yv$qDVOQZB}oSk`OXIbGnl2QfXZicJ*fc2YU&B; d2V~*_3||Av#5PB{6y{MSTc+v)eTxy6-T@q^p$z~4 literal 0 HcmV?d00001 diff --git a/target/classes/com/engine/attendance/attendanceanalysis/README.md b/target/classes/com/engine/attendance/attendanceanalysis/README.md deleted file mode 100644 index 123ba41..0000000 --- a/target/classes/com/engine/attendance/attendanceanalysis/README.md +++ /dev/null @@ -1,4 +0,0 @@ -# attendance.attendanceAnalysis -## 考勤分析模块 -## 用于计算分析人员的考勤,算出正常上下班、加班、早退、迟到等一些列考勤项目,并入到出勤结果表 - diff --git a/target/classes/com/engine/attendance/attendanceanalysis/service/impl/WorkOverTimeServiceImpl.class b/target/classes/com/engine/attendance/attendanceanalysis/service/impl/WorkOverTimeServiceImpl.class index 727bf14bc550c16bcb1b5e4dec7dcc0dbf1b9118..47226fc7c013557048676aeeb29ebb2b6003835b 100644 GIT binary patch delta 7637 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 S#pZGAsgc&Pk-ih~qyGbCE#>zB delta 7295 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 P=v2qQ^~NT>KR;<%1zhLG7 diff --git a/target/classes/com/engine/attendance/attendanceplan/README.md b/target/classes/com/engine/attendance/attendanceplan/README.md deleted file mode 100644 index e71d698..0000000 --- a/target/classes/com/engine/attendance/attendanceplan/README.md +++ /dev/null @@ -1,4 +0,0 @@ -# attendance.attendanceAnalysis -## 考勤方案模块 -## - diff --git a/target/classes/com/engine/attendance/attendanceplan/cmd/GetAttendanceItemsByPersonDataCmd.class b/target/classes/com/engine/attendance/attendanceplan/cmd/GetAttendanceItemsByPersonDataCmd.class index 9fe54fb11b7f7513a96472e22332a9ddb0214a86..2b1d7da2e6d02d07eb90e5a22a9fac121bcaf53b 100644 GIT binary patch delta 22 ecmZ4Lw9;wAQ4U7a$;UY4n6r{|Hb3TYk^lf@TnIS; delta 18 acmZ4KwA5+CQ4U7K$;UY4HoxF-lmGxok_P<% diff --git a/target/classes/com/engine/attendance/component/README.md b/target/classes/com/engine/attendance/component/README.md deleted file mode 100644 index 6fc597b..0000000 --- a/target/classes/com/engine/attendance/component/README.md +++ /dev/null @@ -1,4 +0,0 @@ -# attendance.attendanceAnalysis -## 考勤组件模块 -## person_group 人员分组功能组件 - diff --git a/target/classes/com/engine/attendance/component/persongroup/commonutil/PersongroupCommonUtil.class b/target/classes/com/engine/attendance/component/persongroup/commonutil/PersongroupCommonUtil.class index 4380c8d8df3d160f5eb9f7e5e6417ee53351abd6..130f1466a8196fb79f4272dd6ae7171718bbddbd 100644 GIT binary patch delta 77 zcmX?8aJgWEATNhnPGW9SN}|f-Y%Uo#6>|ed2Ia|o%;J+*%JMPFPEO#JW-_y!T*GS( b<5+CI!pp|Q=rH*-NLKejG00FHhU Aa{vGU delta 41 wcmeCN?y%nQh)u?(I5j6VxkMqQLMNpnr$Q&OFe^zRttdZNp)_qX6ML5!07sb)*Z=?k diff --git a/target/classes/com/engine/attendance/component/persongroup/job/scheduling/tactics/WeekRegularScheduling.class b/target/classes/com/engine/attendance/component/persongroup/job/scheduling/tactics/WeekRegularScheduling.class index 83836d847a2cffa071f4331c9f5d667677ad7ea2..23e5f6369634b806626c07379804e8c8e3b6ce1a 100644 GIT binary patch delta 22 dcmeCQ>$Te;$$KY-$Qn25<+y5V}#=p$C5ZLa~$Hh%yC7W zk{qKPD;z0tN~^f4;!B2LD!n$hczM;xFia-%m2%v2ine3LP1m)Yg6ZTflGMw!_*`M5 zUULoCth%;S%-CfsLGmevP%3dFv$m2>WtJFv=5uRC;?hbYm08OyuOwuI>#w!G+txP> zdUC_OW5!FSQ;ZvKmCy*qf5$A)b}qS^Fc{9<+*>{YiBw}a8;R}_LRqL3D3_ij zF_Eg5*R5*CTrY|2BzF21!%}2-716yVtS2jZvy?Tfwg}=yQXI2P0Rz*vW4kj9=R3q( z-krj3Ni@r#xL?~uNYJp0j_KB`1bnOmUT5b((Q>bdzV%09eio@#%cY%hwkX zfeUR8VqB*8!qCi=^txp`ava@CrF7eN1X9SH(y_&Z!+M-7XJ5TCKF?1RZi~Dp$ z!!^)|P5l3X*APQS!%3`a_!wgvKEW6RJ4NhnZ{7d<$+yiPp9ytb!!SM~%{W6}OT4}H za(nBC=H}h;=EI*fj7aqa!$9-i_kZ2}?w>~wNZ#Ch{2JttG&tSv-`xCp$A46)_rJMH zf?tMVQPTUUqHC5fRU9Je?OvwWH>|u%xA08+R4kOtT5YPWgWhFrp91d<7;N|R%$B3s z*>QSnhCn@mIvW;*0JKx(a;F02PL- zzoP3Ed{5}a5T!LBb)4*DIPTd`60YzF=}K%1{#Q_heb-y|pOQptS>c4219gzBM8vP) zgP(Ric6|5+0bMRkwkaVgO=%oyFbfb^{`XNw9$(KBFN>(WTM2#((s8YeW z#F(Jyr|IEu)flH;>uClFr)`;45@K(CSW rH!xu20u6+Xr(lA;R^J9Czd>RxM4WUJ6B-u5iT@Tm=kPh%cH#VgBn`3= literal 0 HcmV?d00001 diff --git a/target/classes/com/engine/attendance/enums/BalanceHandleEnum.class b/target/classes/com/engine/attendance/enums/BalanceHandleEnum.class new file mode 100644 index 0000000000000000000000000000000000000000..4d7620db432d9a96e824611af1257deb2e95c161 GIT binary patch literal 1662 zcmb7FU2oE06n@@OO2N91s<ZZV)?9;E!IYiXCZc9W-h$c(NDt2}yLRsP;@oI_j z)(fMXQ=`#%?e9?IuP~lds-oZpC3#=Y^PcB?zwPHA?>+*U#8Ma%&O~q)=Rz0=;d}&9 zT;OGzPiAA)WE5Ow=~@WaLzowk)2XF&Mi)rx zh0;dSbc&W^CJom$oi)QLn1oa}D#^=+&C+$lS+mUyLDK@kD;YhN7tpdPJ#{m`l1}OA z+j{EO{PL1O;DPywj`Ve7(?}Axn9RCm%PBH%)3B?iKximtkV}pFj zGnQkyvjP{IxSDVD-iX9=0+M^*qB4ZDR?#usYMBh5Y+|oDSuUFH0yk=ZEZ(RgpwM}) z)-7eGVEgd~V(fUOj=&Q!(_(REr#-?w%kk#SEtTvCmP?aX`88mXY^hobhBQ>84E8 zH!^J-mCAHo(ftcm-#GtfM(cUL+I&1WH%2!<3W0-==Xy9RfOg8o+bIKj-L!Efyq$^x zboO$ANtO}DQ5+-oaguoFC$bIk8f~8tctMiDAg!`@79{;4obdH0$u2V@nv{5p;3r6| z-}aaONkY_`7Gi!3RDRN8k9QG3kajIG-2Vo0Vq_PgM31x!<>hZn8s!JHQv@B@gHCkO zkF5?6mzWs#GUR`pV-4dhC7kkXjF9)!NYct4dFPmeiB|~y8*bDyTnjho8>SaoQ?l|e zxvvRX!5GGU&krdBeiq+D%4^|(7SZ;+fx3ge9?&jn9a^Ucba{Xl)b?rnJ>Y=+fjEI} s?9Jw-ZFFVx!EGGK?m%#vY7MHDDMZClsF7hzP+{Br5=_wdh8r{W6F|3czyJUM literal 0 HcmV?d00001 diff --git a/target/classes/com/engine/attendance/enums/DelayTypeEnum.class b/target/classes/com/engine/attendance/enums/DelayTypeEnum.class new file mode 100644 index 0000000000000000000000000000000000000000..36fe7c569be284abe8d419f0e059451e06248150 GIT binary patch literal 1800 zcmb7FZF3V<6n-|@WN*^trI#0JrC3U_NeV2b#kbbd(x$c$8tkUQSd`g@B`%~JC)qI5 z@rxhT8UKMFopHub8bB(J4xjxU;LmV8=Vl8jjWaYK?#X%XInQ~!C;9u|Cw~E$z~>3* zm`P$5mkneL%q4LG^L%9aW`U271O^2b1(uSeU18{|z>q*r;2LYo0;dG>0@qplSYTLS zMZjjQAaGh>RiMb)4FjJTC}~LKm$SF7<(CVK8b)*F+J@!&70-7qCkR~sw&RywLYf;5 zYu>Fon}y9U-7Kk-jh`M%DE`Y{2dLKQoD0b?SXM^Izr##;arZs%fCCt+9$h(nr zQG*_Q;ZgYs+pG9a(5w^jNEg2D&hd&HT;<^$PNjES&=Bdq*q)G>Dp$jNqbUx&*5SY} zV`>kLnVwX}cRXLcv!GV1-tz+MveVdpWJ$Z$te4#dk0&B`Ji&APj!dL^TQVj-#hQln zYd>HU7H*mt$7d$q#)yd&Ml@*WsfEwBzJ9j#^FKd)!`Blg262*Z#?;M^+c!fByr95u zx4}~i9H*H+|Ngt@zdtlFtdI#ph*cq{8QK4G2e@Y%j&tJw*9Y2;NRLY#nxw;*QvxPE{nm8>LHsU+2= zBvnK|VG(YllGI7yU_VcW^f(e2#TjBdOWF`g{v=z_enaFbqQ8(vYfEQb-Nne>!uimC zf_T{@DfP@2Vo#y7ePoCI7$Iic3Kzm0XmDi35pN=j7)hBKJ^mQ+%-KgUGJX0Zh+khY zNvfAprVM(~14-v0FzX=sk|!>z3i%t?*v7a@9q%ZPcPaXNc%M#=Xp!WcW0{9AUQPFy zB5tP}3yEp!&3ru1vjQkT-z@M-FfL@Y`s7%V9$1opYp91#l@_;<3fL;a2 zm^>s8E8vI%j>hF1@|Xhp6wq(THzoCrI0nR@#2Rg3pIy>h=(S6+7LM4Zcnf`Y$!KA~ negKV|+8$@WO2(jO(ti{UbsR~|Q+row9FeebA7Yy9Be?V*#U77O literal 0 HcmV?d00001 diff --git a/target/classes/com/engine/attendance/enums/QuotaChangeMethodEnum.class b/target/classes/com/engine/attendance/enums/QuotaChangeMethodEnum.class new file mode 100644 index 0000000000000000000000000000000000000000..98d1bb876ed123eb84e84dea9e91fe0709bd3baf GIT binary patch literal 1702 zcmbVNTTc^F5dIF`ZkMv$Rzaw!cyH^aAm9x|uoSEm8Z9;mlKI5GQal zfbIZJ1<{VvybSWm5HDvGbSM~Ba5hNN2&+aFgcO`p5NByj!FB}+1>-DD1aLlpq(E>w zeJ!4z&L%F+2=t|L_EOBS@}_0PbjLBQdELqxq$w|zVi(J{qsJF@D{o90&Z0e^AoZX? z;1^yUOJV5``Vl!^$ZRCHm7ik;XYAbO~@U*6qc zzxVj-^GAFfRndV?I_aej{#1ut%`uv)wFeK^?%r8{zVhwqlePEHRBY#?rr%eBc?ooJ ze*dCP*Cki5Eh7A9ThepajhsWbX`s5n@q%6|4OTV7yL8nJ^@`bEjq}Wsk?cq>eIeQ* zunqD^C({FHCsOWC4Cu2|$5nB6Dh$vP;)0VbqaM4lhtPXT;+>!1GQ=Cyt-|+$B!PXj z%I=w;?DykG=yS7>w< zO_J8EwYZ8_SE2c}E!tLB(I$T+jBgo@nOSKWt(jT>GTJh)Ah=AG235)=Q+Wc^NCkaV P*gCHSee_@A#ti%b@@9p2 literal 0 HcmV?d00001 diff --git a/target/classes/com/engine/attendance/enums/RemainderHandleEnum.class b/target/classes/com/engine/attendance/enums/RemainderHandleEnum.class new file mode 100644 index 0000000000000000000000000000000000000000..df93fdf2194b8f0b4fc6d49b14c9d2fcd6b5c44b GIT binary patch literal 2025 zcmbVM-*XdH6#j0q$=-x5v`dREQUt6t3DC49^#`rB(56y}N$obN0W@xtZCpq;GfB#f zZ$9XZqtii0>x?o!`d$MFgM%{Tn}0_G{uPer-lR2<_(1pJ-aX%b=R4<~bMF52&x79q zM6l+Af~X(!cw0qS#YI0(U_mVJh%cAK65|-+c$XvYCo3VKMUImk?{O>%%itL1SmsCy zE5#AuSmAhISZR(R$7PNy!n(>4;`o5$Lt$l9e5Ar;=vqo7<8zthVrD*(Tw)lDWlP1d z<>YP03Y*oc<>X8!YZ0xht9;RPas?|&;3R{#tFgS2VCbDoti&^yqf3d* zVqzh_oS9!pMHzI8(FXb(uEK+X@8~eNuUnsxOYE9?!weTpCm%MdW!uS9G|vsQux>G^ zL#gwzWYl07zp{sa+Jk^7!@kMUR<@x%jRl9=4B-+&*2(~k*t@J(B=oz2N7Ml6G10t~5;vlAJ>bc7^JtnMn)j!>kYQvInc8Bm~8zCSG5xTUy3XeDMXb4JtVh0zF z5)TP{|9{s|G>Os_)%m}Y(-qAYN)8qK>48YBUbC`Qy1^5zqcvMFE0xKXF=$@&)=_Hy zXAZUcHE9dM)XW(D&`yBiW%y|f^4??IO zBVY2wIe9|yCeGNv#3>a_N{uOs{wAhr6%oUay(hCw6E sYdCJ)1{1|@wD~AhdKaZuX&gAU(uXNt)DO1+E@&;Av@Ap8}M-#J-AXyZfo;e7l3zWe3u{`K!~e*#Ft2}8rX z5v(8+LNbKw5uCxQJl3S-J$by(5#?CtFe1cdCA7g2=g4u~klY6x;~aU84<&b#V}j!r z$48R8%`wSwhvQ?(nH*Cbn;ZqnZE++xERJo-6+^fig3X|>rm`FBsmz^xIU0pt*N#YC_nsi;n5mtK|5N4*ohD z2aA@wBBwMEjUCot;3UsAN5$s~B`;rpR0h7?W+3-z?r6Q4pH=$Xwxf2`tyD_8wwqWq zYnHd25u;MC7OX3_oXgl&!nt`3A zUOxT&`zN10eEjPJDW2C6MT{gQ4L{x6fAZs3N)lJ#xt97rUw@%vT!H6XnhKmyV6vt8 z_{(o~Oe%1urK!Lv1zvcr`OSAa5)$lrev4##7)E5R|JOabVTDq~p}xI1*tN|atKiZF zoM~T?rIJ~z&9;rxyQl3d;mu^I-Of{6j^!4n>9ceOw0ejv49k82M5#rJQdbnEMkq?P zD@x@mN)^&K)+fiHC`|(BJ1&Pyd=O#G-~xGnlejUW@`*IS9>Vts{-20rc#F=Ul5x_% zh)bS+lKe`Gh|uD{An*v9)c3uhKTC+-)WV#X0}Y!7hKp7083q$C~F-Wf`$(Ahfj;c_;$r_uOtWv`Q$$dys^hGSuDI+F`%A5o7 z2M8TZcSJdErW^1aGhFUy%nurmb};5hm5(Kl~0YFT#Ei5ncPx@1t7*J(}nh zeG2GTfCz|}#DD?@6)+SO$HdDD7*@dXka$H<-^j-a1-#0|YvQB=MinsD7Zk6HQwllV z7y5%D`y2Fc%4-eu8~H$kE`L7Qz_5`IHE_bn^9DwZd>=uljr(A73eEYCfzx}Kx*wrE e>7xD7sWIKyKo7Rji%&@I^E!SN*GSig<^KSG)Xg0L literal 0 HcmV?d00001 diff --git a/target/classes/com/engine/attendance/vacation/cmd/VocationCmd.class b/target/classes/com/engine/attendance/vacation/cmd/VocationCmd.class new file mode 100644 index 0000000000000000000000000000000000000000..b4ef73303cdf57bc1d47f4b092645fb06f7507d3 GIT binary patch literal 3324 zcmb_eSyL2O6#kl7dKg;35z%oWs1X5?c8v;%B8f^wTu|JTG&4OzW79MC^q_+pv+w3T z&pud{r)(}HRjEAWA(g7UCeKNw{1H|~^WE+SdL|exlX)ckGA1O1%v@GNVlZcC)qy~3UC3UYcH785uaDOh%SnCEE)KGC^RJV_7qb4a# zJ*Al=nr(=0pBQ$=3?{xYXn(#;QWI%)g!&?_{)x0GT908FPA~1Y2Fh|s%Xhbpkek~sSl~>MVadozNc|Uxo-zgrd!EIMi?`pB1iB|> z`iCRbD%vbvUU2vLjv7;H-)OuAP^0UBMf8Q#gA|#@hHC85SDn&xJ2ia$9#f7D6ph5pM9JjIlIJniuY!4 zqgWfvZKhQ!HM@C)n)o^cUu4U~adLM&rI4`J-M1jZ{W`RAZ6l?F|B~QHU%32su2Gk= z2RnlPxrc>aQ9(R8yw|+p&Xqr?C_}xsz#Y54wm!gjy@n&F`qF z@GL_2u?xLKp$@-cH+@zyf}g0fiCEl3Kl*4T?BdrPx# literal 0 HcmV?d00001 diff --git a/target/classes/com/engine/attendance/vacation/job/holidaygeneration/HolidayGenerationJob.class b/target/classes/com/engine/attendance/vacation/job/holidaygeneration/HolidayGenerationJob.class index ae9f22e7412943241ba52988ee485daef4a9671d..3de3fa76c9811f29b2dd745504126ac8b5a7e127 100644 GIT binary patch literal 1658 zcmb7ESy$6Q7`@XLf+awyg1fS~KoR1KCu5e=hR6fmaY(jnw9p2Y-=4qWcU6GDM{ZleHE-IZ__fBz*Nz6Yldh|6XUnZtuTE`6T2uvO@(jL|5$m6hvSsin@E709oU#pt-+N;-V)z_-5 z;hv8Bm>0(W%d;hP(( z+_05#pIV;xT!-or7-~w&WsPGJ$t9VM7nBaKrqVQKS4NudecqP7KRw#4XVdkR5w-o- ze4YABmM}aum}C5fR_XSRjJE2J3h8Q5GbfO4EVY?WqNl_+n&Si#I1`enxNe0#NJ=$b z+ot});UJByquwk@e%<8KRI+Z6W;)nNMhYADN!uH%k+s zn{R3kC%MvN2b{ub?%1x~U>}$^L+s`j+KXd(Z5tgae8Zt9TgW~g&v#zhhMvaD@qAa| zBf8@aS8e0l=t<#am@6-C6@iO_2Ij%M#Yv-|5l>*n|9;}h7Y<)B$|SZ2j$wZt0hnz|;?G#;LQ(noci zHjLIm30Je>vPo0n4KAbPtQ%eRqojXvuGwFCucEl+RR9uS;c@)SyWN^4|fD^O0WEe zaky78-?0q7C>)(;B$JHf<&G*AH6bkI#QHcjAzJc~S>}Z7%dW~J4dx}8%^ly>q*9X2 HzO(oT2NWfh diff --git a/target/classes/com/engine/attendance/vacation/job/holidaygeneration/tactics/ByIntervalPayMentWay.class b/target/classes/com/engine/attendance/vacation/job/holidaygeneration/tactics/ByIntervalPayMentWay.class new file mode 100644 index 0000000000000000000000000000000000000000..10827bca826a0ce5479cd917d923258168adada1 GIT binary patch literal 943 zcmb_a%Wl&^6upzgH3@B6N(q$m5WBRC&ITl;R9#Ss5-Ba9pdzumaRzsSJGSg`B>xQ` z&0yVOv=h?3knV@{K+wv8HrgHv zYW8=}1htORsS>n4(ng(@7Za7g;YotZ<|vIgIpbWrd{J!Kb6p4;kD~NKDidQ!vbD-g z*+fdtIby3*BWLMEo~MbPauqA1^15m{vN|f{vubFp%IBQC;_5^h`OhtBZ2>R`@jt$!~2bHJ4QTa;{N4PUi z%RExgwOhjWpRQ`(Nm-?URs_BN?~4$$;jhXIuI2sfZ(h_d;rQ1}z`p4bHSjXAYdllu zAqO@@CgBBqu=kn7Cj96usx|7vnI851q&PWq#UiAv;}($ UBQ;@H>7jDl1KmNi?W4Ot03kl+v;Y7A literal 0 HcmV?d00001 diff --git a/target/classes/com/engine/attendance/vacation/job/holidaygeneration/tactics/BySchedulePaymentWay.class b/target/classes/com/engine/attendance/vacation/job/holidaygeneration/tactics/BySchedulePaymentWay.class new file mode 100644 index 0000000000000000000000000000000000000000..31977e89954478f4eff4936c2899cb5ff84e1ea2 GIT binary patch literal 9671 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 a@?(Hep|FDj$a5Ft%$Hjhdl^l7H2ns)q+G@T literal 0 HcmV?d00001 diff --git a/target/classes/com/engine/attendance/vacation/job/holidaygeneration/tactics/OneTimePayMentWay.class b/target/classes/com/engine/attendance/vacation/job/holidaygeneration/tactics/OneTimePayMentWay.class new file mode 100644 index 0000000000000000000000000000000000000000..5e0ecfc1ab20c7bb8c81cbe7a779414a9fc9dd5a GIT binary patch literal 934 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 x6~i%#ez00GE%y=4xo4Y!I|tyu z7?-BBvLhdxQq*vO~ru1&w(l#ySa(~~26u%w9@8Gi`d=8&ik1yzWGK5Y%6~Y31 zQBj>!qtEI%uVX5Rh4`>~lngu_#5H)vz?anfvr5jF4SXep=kU8aelLjM$McHwt6?hr ztq{JA?*#E({DB&MPc6I{hT!|^^^e2Q@TXxk;QNZ?&vpDjsqhyD{?fo-8F<;iUx(0$ zzcKJb1AlAa6(!~G6v*Ej$Qbws1OKSr{>i{U>-d)-cH)x;{#8x=D2Nq!*1*3R_;;o7 ze;9bxz<=uauOR*#Ki2U-I{sJCkjjn;!b92ISTvs+U4J|}lpPzhbA5ug5i6gJ=k3C< zojZ|?+k%}#@oYM3XU38lJ8BgQb|ztE;{M@e%F0CZE`4-Ih2jvWJrn{5wk9*l!nG8> zYV{F8<3Kh+@U|hM9w??q?A&2%B*htO6}M7HtXxvPdy|cY@nl}G<07h@u;NxBnXM|3 zOi!kwM+l^5Jsk!)M?Kod?2MhW3U+x}(6wslxOKvc77NK#biXy(w|d&Upvle@a;Nya z%l$P6Gej9kS^2z8#pcv9EOV$R%($~?=S~gZnNoH+GU$`B=x`yI%#3k8n6vZ6RADHY zFHkcdh?-IBqsdgk&bjL??hBdS_r{dN){wR)l_P6S5VV}|>_24Xth7Mr+(41rG?);C z%8N9YYECK=XQ(Hvg5`|bs(U?Hu+y}1ZpO9~d#1V1p$#|yBnhOstx75BR88#=UkxSKwX4~saezB(qv6zKIU@RM?R7oAb*7JfGY3bG+wnr*we;&A zAGZ?fF_r`1GI12rvieB=ZB}F(d}K82G6lR#J}<14yp2A2(+%{!*Q%))kNX%erKsa7 zAJV&aof6hET(II36yqFoW+`TCrb8$DzQ)unXdX_EWvoIm$KXv(JEoWE#A%25GPwlv zQ&xH;VJ(}UFP3fIELb{CmvYMRJM>Zzn*>+-A(SVlg>>KQTP}sL@luN$m~Z^>bg=_x zY>lV9G#nhx7ISfXcTy$YdF5p2%ay$Ra@ zYF$7RhjEjMH}RH^w@qANh7mDElLk{7rOA|l=z{e=K^&%8DdOowbdOy)WaskP%uber z{!_!nWZ__L%*x#Dlnt6LhAz#f1SP~+t;w%~MBYv@opf2f$wZgRSjj|>)!W@O(%aoN zn#-oU#&c=rKF7&jR#(a%Ep#2vCNo{}V*ZZNq@7BrjMp{NmCZO9+eQ@7UE_Anb}>o1 zN*B|V7HKu5P1<#tWlC6P>v+wS4w++0r_2@1u2IZQgr>}sxu!&9z9|c2p`f)&q(Y6k z+?nu&Ykx7BO4vD5u8>767CojcmM#ufo3cc%G;t$_S!K%gtSi=a>pl10rpr=OmdSD! zuPUCKXLVU&%1T*f%4+H6dVe-s$QN?f=HRUR~ zT9)t^s!&xQi(=2rtFh~8T+oiR(_msY&%!^ zi<>vCESN0Pg3Wa-aI3rDfVwudDcM#gvFoHAFFLMYJJV|!?n~UBa)q}SBo%JwW)GV6O(9Z$N{q)T_?a@Hv?GuAk@vOt>* z=MpfiqGMJK5vRE9s}K&2k*ox6XAOBdpvj|;TloX_Nh0!E#CqSDab7yg^!}aV*=J<# zQ+cVuO7IlVsk6Zfq?x^UA*mYcX^o09uy4>GGtLZwt;tE|M8R4=q!*R`2yv&pT0#9A zRY?fW`Wyq8X@ za%a^Ikc)jm*)IozI3NdUOTku!xvPeJw3vxIH`_xwJCWpl)~3_l+C3AF`{-T~ofA_{ zpmjj}F;J@#6|Qo6O9O5S%I4^xK*4j(q8de~Q>xhZGMC^g&x?MQE0{ImP&u{%M)-~t z(|N?t>oGC1+0H7z9b%nh?521o7T4%gv3a-WK`K;Eh>jXF2`=svCFzD~W;omIXQ=>I zw@UHds47w}Tb$&Lzn^OM`R%FjRJ8OX*72#q@H}FricE_0Ijr`?JY4B~|0%bht?s{b z@P^&b4Ku@b=8W@cCZD{U_)JKHD#w)bMQtiF;@M2WN~)`SfM?xOXJ_v81G?LavpUe| zX6ovGViGL(AE|Olp3d2)%djbj<*12YW_O4Wu=B$&;r%Awhlkk+RJ+Y&=0tYFjt)7O zHTIU)Xjy0|U47H#7!@7LW+#fQo8R`U-~qU8>0TDSl$~GZQu?#kOefYbs-DYFe))^8 z$V>BjQQ>TXhdf}VQp2n;^b}M6@)-`PXAkq=rRlJQA2tuML%xCEDCeu5pPw@|b;shb z&UxMj`MjBL*KwZBG-h?5hjfRvDKtEX#xJ7j^A5`~K7%9y=I~qQT-?Hu=`!F}`~=?w zx8ZhD5G-&Hnn(xjtu^653A%AhB{g!`7sP_kVBxXzxFXVY4vWHzBf%+jsnHTX&f&^f=nGgH zUKReGh&voO7JvRgMz!2ZEH&CQ3foCwM2{v%~?xz)UQL=tLUP& zbgdprr1fcBRR_l;4&^AEvlj-GnGV#|ptN?1~GS3ek;T;v34i*%gFE+>$=V-siJF3RV4C>o&-&Ns1+&xJfNSD+n>coG+L z*Oy>DmSPK*@!%{+ieLJ(Sc#KZg?kxWA3-<1gf;j&dhkc+#Vd&7RdT(7brQif(t|$P zf~~ydZj;@#?G9|02e3mPM!!6Y0eKud;hcK*t9EY{1aFg~u9MOJ=quP&gOnVKtXm9YS^WaN>7Tm^v zU+%yN_!kNuL>vi(sOKbXjMC0mnQO*4YN4*(80V;!7M(?sqafvP!f{MsHl^K8%O}u5 z`KOU4-fVeTlE@Ixlt<+@`ecGAkIT)(oY(OqnY~zyu?K3`r`nK<3Sxi=RDoP&+B*y{OY&zZFK73o0@nXUwI2F9IA&da69>Bt1hQY zPN0W${DKdcGh9;hV3-fR4(&}`$+tJ~!3*58&^y8@jWqlsb=UCT_Mqx5=m%BZHgZN) zH?upu+c~_DYuEaUn#ow40EodR#lsjUbpv_kuc>0}@9rsKkH*T>)bK>( z6I^X@5X1B}|LtTPY~X)^8!-=?9rR9O5WzubJTfL!q-&194al3AM}JT%`=g6#ehz!5 zYrd|o=4`Y)44Yah>wCh3-QnxY_MgMPM=(D;)E(YmGo?44MPozN7Psv8(uSx{PLJy$ zNAo6V-P?Je#;;V`i6xFepgDYC3J0IWQq@L?&)Xf;=~p?Y;X|B+B=_Urft^QapAAy3&$-rS#5=Kc&X{XYx6Pow|< literal 0 HcmV?d00001 diff --git a/target/classes/com/engine/attendance/vacation/util/VocationCommonUtil.class b/target/classes/com/engine/attendance/vacation/util/VocationCommonUtil.class new file mode 100644 index 0000000000000000000000000000000000000000..24c35a174fc479a3e39defafd674ebe410657c3a GIT binary patch literal 13133 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 literal 0 HcmV?d00001 diff --git a/target/classes/com/engine/attendance/vacation/web/VocationAction.class b/target/classes/com/engine/attendance/vacation/web/VocationAction.class new file mode 100644 index 0000000000000000000000000000000000000000..cfcf2814367f29b0bdca56ebb65c86cd00249c55 GIT binary patch literal 2721 zcmb7G+fo!)6kP|H>0xLD21W6bj2h*l*j~^WhG+;8B|#*Bn8X;;^c;r9p6;P9fJxR{l6?~M( z4NNGw*@_%;qtNc?EYv_(Bf%+VB}Z&*6(4 z?uT1nDtM5`S6Ec=wLr7wR0IlBj$6?@Yk7E8n{p}@>6QdK)*VClO~;;-?z(A6fvZ!7 zQ`MwhF>R^ozAx>vZW~ft*JGgO#Yk--eUfC^QPVd4Yc$wDuprPf?vzQ`F-4~7pt>a8 zd40*EhMpL@wV=CZ_?{?R{1wv^xU`q~4Y{;!ddvu2r{&Iyw56;2vhI|C(Lc4Suj`wU zzn1j172mIEx449%QZXyn0_pjsJz-wWu{~KDh=7`<+ZAojcTKxO!?~L7>ebtNEsQg? zrv<)gX;g5tec5rVRVHDw93ir?93~)wrm2*&?&}dwFh>U(AU8G*SxX{S+}Le_z6h~* ze00*4aSQ@`CnbqipeKDxk81Usx||Mlw87IPFAbVIORLiGOV^l=|8*{53eUCA`MU9t znTaZeMK91h8`!>Cl?$e4vV_KL+wr3^W(9R6dD-wZ*VAs^m?uS?@J%h&&FKCLm6>(j z3Yh9HZFlwbq)295ryLm4834kBJIXZSPRmZZpxp-DJsKpr8e%^Ar0wr zqlT38vitt)McoIdN zs$_5XWcg2mVq&T8L49~{zYCmtO`u~nb5{C+YtK7Q7_s6723w!f$=8sk$9U(?uPg^m zRHOofjq&dumGdjEvk`s~OX1fu75#2-qG^miQ3)K}>B59=_>RjGZsk41-+m^b(VKcD z?mSt-asI6w5QBxLEi}JC%df~hjgAz# z<_Q4~@c+vp(gJFH04H#gZ-N8i6iG=Yy7^S7n>@3H?DQ6tk(S<;LhdR77jd#Obz2QI%vK~>eFbA z)(raS*Z^G`q#I|T;Ve-@xPo&S<6G$HEON-;JkRveu{=@zl)^BM@#G-)G-Rpm<9Y?% zWEdij?kAyz(m7(n{7jPP0uynOa*?Q*_tG}+FnMFPOJuuDR2Cvo$onqkBg9?h^F4Bn zcqm~s6z)TKcpule!8Gs_K_Omq_+a~nj#C%@S_?f}IQR=X!<*rB;Yt%+_j4WNvk4#m E3yGBV@Bjb+ literal 0 HcmV?d00001 diff --git a/target/classes/com/engine/attendance/workflow/README.md b/target/classes/com/engine/attendance/workflow/README.md deleted file mode 100644 index 1097df6..0000000 --- a/target/classes/com/engine/attendance/workflow/README.md +++ /dev/null @@ -1,4 +0,0 @@ -# attendance.attendanceAnalysis -## 考勤流程模块 -## - diff --git a/target/classes/com/engine/common/cmd/GetPersonDateBySuitOrganzation.class b/target/classes/com/engine/common/cmd/GetPersonDateBySuitOrganzation.class index 7b1c60acc44f22fa5887ba3a39359118db96f573..c221ecae6a0b7cb9856c4d87e113b468f4f6a956 100644 GIT binary patch literal 12979 zcmds7dwg6~wf@%3WX{QC@|vV+PD^1*q0h8wYbhmdfu?Wh%cc)rrA{)FblS;GIx{Iv z5h|d9Rzy+Jq9TgD_0~$UVjoBg2wFidJ`gU7idVcouU33hDY@U?=gi5OB!vS0bMNn$ zoLPIHwbxpEt#7Zr_MUm-)d!9Om?k%eupZwp#X3A~;uB@4zz;%r2G5%KPXo_|@I(B_ z#PcEi7(XdPGk#iz7w|Ln_%8!LH<2^ZZDNaw7elDWFAV&52(|dWdi+v7er4d-O6YG) z{5AvwzcR61$@yJ`+FuIcPxx~g{(`@T@HhOu6#u}>AwEu+_@|Qhit0I8hKum3qI&rd zm?G>EpDBLwNWhd5Q-Y=#5eQ!5Or+G5P??lTI07GDGNmHK&Pr3NOsS?Z5>XO=YDi5P zW=XAj3^An6l%b~78)BJw*py+W3^(NrQ%0D0#KhN4JZj3BrkrI;)Rd8?oUN3PGUXgo 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

+tZ{RBi?$>``HNd|E z#eWBZUfe_pr@^X6+OnLd8a(=R^_+n3B+9jrgC~@QlTm#dYHfoL8LARv;igHef zK`R(p=$;S_widZ9ldZ*WtCX!v+!inD)bU=QxGqw+b^3N_Bq{c*8#{F{h+Jxg4uE$_ z!y-#8lhmE4;>8mWzv?zM$H7L#bxCKeBA8RT^1-04sK4cwwGz=R6gIy184r z8&k=#GSYGYtC~tlu8yqHq{FSRUDkR>sAJ}34f>Q>@Qu1lv>j8ft}^t|d4{4K$5dDq zo}+UmTbH|&SCil!j-EvCW4mAdf)#L&KP*3ad57Qgd7LHLOFZ!W376o{xQxGPZ^vI* z?)(im@|Wu$!pkg|PO$9xCrgl5@qhrw#E0i4fS*bUel0=X0Gs^Hda2Y&NE#(9O;XOE z!c_1_C6)XoM3ropYI&bT)I{^k$O|q6@v%f?54!+B_58q>L1>O?)c-F7Ljloj6 fLEbGl!ovTsKgxjrp8tQ~Qu?D!iRn`1_~ZWqsjEvN literal 9616 zcmbtZ3wRvWb^gz;v@=?bC3!7B76V?4@k5rqwlT(*Y=b1f1d?nlzj&I_?nqvFwJYtz zSf)Ur6w;(6#xzZUgd{+4+NLcrL|9N$+O(z6^pz$hY1*_&Uum0Snl@?c5}g0e%#LQY zl6lmhJag{7=bn4s=iJ%X-+A$60Ba=^#(um|gS|Mdm+{*= zUJ2uO@VmA63VtubU9X4nNBC+j{uqCv;ZGwFydFWonf_WBe}S(n)Nj<{FY$(Yd{akO z$G5_mkH69}qT$;$_-p)4n2+!1_**sqck1Nts_F05Vl)0;LI0p0|ES}i)XYC?_9Vdwb|`LT22vR-PH-rj;i!-*jKjLpY#&#L&73(z`t_3*1#`-|867ThbX7U( zMrW8dGXwG7LN1jVX!XtP>>IQah1SjFq^37DkTDCz97SC}iJA9EM6s+{N3BG$Kq8x# zmMbM^#Zxp$E@2H9vblH%tzc%7u8~@om9tHT!ozu6b-fl%*f?y%KIPfdGm;inROqHH zopHX{N5aEqX4D=Bl1G){Y|Z*rK-DJAf|*JR0)u^mT6$5*D)b-cu_*psxzLVcBvnTB#_a+1^1 z8syG*mW?rE;w*c-;81QzG2TA9#kOl(CfVy5)W&FZF>KqE&;;|!rzbYi`aWasrAOIh z-dB*gVWWb?jh#}EI;MV)(IMDA$zJZp61De8NAWS}qeK%-yVEAEH2Oi0QiomcJB)Um z;xL7^&4=}_EKNs75t`9kFcXJK!cMWw`I^jPZPTQYRgpDCli7mA|0lUjA%VlZog#cW zaW)IdE<5qq{^q$)%%2~XYgcBkYI>xKT}|Z~J4$o~Ibj)4iKp5c8dh(uKb2-$WWdy< zX{mz+=5o#!OTJp~b6}PcQ!s1Nj6?MBB&Md2a`R+Hr@--<@j_O*_JbI}uV1FGv^mt5 zG#9xQW6@f=nqLNLt;BD6?iT82^5!cmr`A+Xt*)F}#g1fSBJGyp;8In@lI4loZWsDe z$Kq{$`9jW26jbfXX50$q>hJ?Zakw{IWI5cHQtid%7w#2Ssv2g%#B&A`NE$Ln=4vv} zkf>b5{v&Ux#2iZ=O&@JGM+W@` z#zbj!{9cp!hFmO{2yS<2nk!Sum`l!F+0@*(vdN=4m`EQyJaTYw#7f4@Sla3@#0Ime zj5^M@bTC<19qWr_GciSLQ{T!Vlj=@ta;YH;B*w@#QBtw^cZlP3G%E za(RQyTh-DwHQcVC z9m4)?hpVkrvf1fLhS)T4zzWAUKs6+(>utbbGx<6&5 z8EkunS>Z$efUu*=Z$Q8MCyM!l_D&TxWuDJaazZel$PQbZmh8w4brkc3?9euKQ2S_S zra!xf1z?F|8->J(S+Uw4vO=6abMM(R51l=8Kf6MDfFb+k06WFAXFhiJ%n3HL*&La+ zkqsQcjqEwS5|**jb`|3lpncS-YB9$)G4_|Sme`$lX>y|>H_6QgQW&HH%Y1{)rQhEK zYw6gN?o{u7=h5UALvEGZ1j{S8Pn%|EkEm%N%0^jrP^vPS%e8QgSCRV|WJ!mZ9mj_36emI?CG%cCJPnY=}wb%Iu!Is4r0cN3K zWs+tlVKJW+hw||@I!`L0zO&dj{*?2*WGmO019xrR-Mh1=XDiF#dViz#KB!Q>5CiOb ziym4ok;h-i8Y!A85@-8GaxVu;A;IAy1ulIm@vCFnxb!3OLhlK3aQp6^dv~dnp5%of zyk+aIw%vQWxAyGepm%S3$Ik9uZ9PopRr%C0wu&@JCk0@HQEP$~eg<9s{hsPfx%~qr zuTm|VfE~OYc{WoWhs<0rCAMe-{|6%5A!vrF8*#mmb%?6~NU8_9)9tS%w*Sp6Ig1^1 zuJ2Lr`^gYbUk$016ie^a z4(uacvOn8_xsz#Z1i)h8pWa`MhrP5KQPkU;}qVw;O+)#EqS z<2Tgf*YHKb!UCYGKqNShssK)-x;ql;Sy6Qc+Ks{H-qX-qsvV42}i5lg$8hSrdo}7tF@;wtHn@{ z8R}7|s5A;%>ZA4J;3u0$`IL#A9UM7^1;7Ei*ZJQE9Rz60MDrJjHkg z^IK+}!o_2_gcz6Fb7NTWDAq+o(U~qveM@7s@l`Y`5gOHev~e7N=q&lJb}e8VabgzVCjl6EQ>U$$MPs`)~p~kH-?ox(K;9TN^jdT|F*cZ zt!~n`lW6gFu5x!iR({~BsdsuVY5R-qeyhvfuR*zwy|AWyVP;d*7{irx7;T)tytCi66hQEisM6B1a9&ca+et;I7 zLo3c>qf}v&G~gP!7}v^Lw8>_4NEf!q4cIFCuub}~Lo(=;2XLJnN0&T-Zg~nl@&)Xa z=W&C)g5B~>^vd^GZ{NZ``4RTZIUERta8n?HTLQCjYhWI33oOLJz*d-n8_^fI2Z_KV zNCw7mDDVmf1K&bA@Izz*=P(?+6eGbVq;xH3XBe`3Mv<*E$ zXvl`%B9u`OUXuODVwm~hHR;3%p$OiPR^$lH!ZVUao_GyB!$5&^vw7k?6sfaDm99$Z zj?gHMF{RZ9n{g-c0*C~c;b#a18N2hT-@BPER|M;D520$T3D)34q#VN4!7AKKNW;d! zdD-Qw<_ay80BzxGC>>*FG6P{!zJjqUYk{$OXd)SlgVNbG0DA_O3 z2QESVc^pTBhL3CbWeuOO|30aKe~(uDJ*L6=dmQxgdocU`ZnG&mXYlzbsMWf+(N3@u zI8Q-80AJ@2h;LYT9yfr$CA=@8{327pa}0T>27ihU%gDAMAUM2(|XZ=`dy(Hqrpw8RKv(M(Xd@dFN$0n)d@X@1{Pi2se~u-Vx-MQc$Nq?Ho`NJ z_U>p+q+<+Q9>x5UoLecULQu7%`y|#7V_RhV7b|M&oQMpha>fG=c5L>_UC%DAk`}lc= z*Oc@az;4|AN<$la-(MwPs?%P@dDUr$nwF1Y*W^BZu5AgYgAO_RY6z=amAiW#_o@!x zXo}oW@~Fu)(momnex2F}Y4CbhNn`hPGzO=n!FygMjb59^81_u&W7U*2cwwxh;dIjP znFep3)6w8HVlp4`N$K94VREr2oh y9$@VWuy?A*kx-2slEach6u-~;wXBPOK<9fEf5@)Nf&R>c{@jE9!-IZ^*M17VeEg39 diff --git a/target/classes/com/engine/common/util/CommonUtil.class b/target/classes/com/engine/common/util/CommonUtil.class index 0ae3e78c7b107b4d05317876633494d7a88b692e..4d41e0d2998a0ebae0344a283012719f16ab4b12 100644 GIT binary patch delta 45 zcmbR1y3ln4BPW}s2_u8D#^j%jDwDN2g_$gkH#=~8GcuY^?%|SS&PvYNyprpSH~7Gcp=Z?%|T#ypHR$H~{C*3vmDd diff --git a/target/classes/com/engine/common/util/DateUtil.class b/target/classes/com/engine/common/util/DateUtil.class index 7ba3d454912eaedc9ddc093a0f9c3ef6085db021..4db51eb8c3a0a934991fb2b0b9bd543dfbae52a7 100644 GIT binary patch literal 7015 zcmb_g349z?9sVZS%^sOt8F(qaLRX);L{_6WO^wy1y? zhqrar6NheNY~k$n;VfeMlac#c?@4ERQQ>dZj$BlE+76 z-_@$+L7i; zqCYocrMFr6l+5*F$k~~qh^74_xlEUx9p|Ag4l}uI*QAq5D}q}&Ag{_DHd))rT-MoX zV0nwHP1?$icMUoDRCc_(uXXks35miYUTN>&Zy-!Tf@bs?s7edJqD2hM^O;LgFMdQW zv9wiiG?OC(m;@5p6tK}JV@{U@g4K=g?>e%|+IxzuP6-g!_p+r$1$nz|<;Cmj6?eVi zuEpHR28-bkGPE1@xb&IE@s*ZibmpkZIU&FRU4;?~d-9AS<7?iY&g zfe1fvC3Ob4Lvs`kUHb=EMViSVky$n5SR-d8tqGklHH19bc22eJY;SHdPYX2!LDQ(Q zf@9^i_~__l-f~j8EN$Zpf(?3=5$(ejpU#ELJkg1yXm7UjsoW@!2YKBU6jOVL1{KyZy)^JSx(y=q!sC0?Jgn4P&kV^goG?+t85F>r!4RgK4NE@~CZWcsY0oBxt6IF$an`n~g>XEdr_wgYH;E263 zCDpx3TqTwIC@HfhR-xO(2u5jh6A$1)6USkNiSOcjCcZDz6J+`W8T}9sM(`sOKgLf? zJcOT`cvzNyCXYwtu~N4FTt>f;Pmjln2!3heSNJuZYQn~&a`-n9JZ9o?JYnLu_??O0 z;|~!$DJy?8@h3b=*PHk={u04oP5cc{$tQm|@elX((eB8_Vprcq{;n?{HTM%bt@jffF75SO;tnM`&{&#f;_mh|?n z%4AkaN3Gp|m2i5=#EDp8VDU@zLt>QL+2D>d?Gb06CAT9QXezaQFR#Gth%SY320XGiSrgGxN#CJ$VSiRG~N=AFSY=8%B}#hwyqikM>SCR?R5bQJh1I9STqsnDH#Fw_ssDd-Nk|bt zQPQQ@S{T{73LDt$4-?1EOyu%bx@%Yu{LY&Fp}$!cu_-a)Kdgq6Wei6G?xvgYyOn2Ze zji-WepOo_}Q!*I)(}s21Nwr$(q>d#mx!}Z|Twm7d*<(os3$ftH9U<8_uyweH+naXV z)-F5WHEw5Z6)X%i=`u{uA|togxuLgDw_-GKPhXa|2i5`ujm2o#XBUkVE=;7woo*^{%qq_pri%K+v9R;jO?<~llI`)95_B0eT0&usjRb2jxje2wz#yVudh$OM#<%9 z-H0=3rIXg4RA!RV6yo)>4@>#&?pS`A4I?Hkm7|z+MD=E)RB!fH^=2#Kdl3w2$9%5l ztc!1h?{M4gFmC3c3~TtTP>XS_<=AvL;FUOuvl!OlWUk2JVU+VfkZ7AhS+Zln1=A>> zLTDP{yH(oUaoJ{q6B- zR7@cfAfS-|hbjS$?g1?zO!@-LqDk0OH0%~lyv8Lium&v={27D~k#()W4|IxMDmnu2m+<^Dh2Q4x_wZ}ARfwS^m2qdKl2lGb1`i}D8YJlm zo?kwPq|M6y!IHKdNK!0FQX3_8ybMXN#*nt&c5S_;HpbEn=$y)d&c)L(gG1|R8s-?E zlbSpuHZefA60}msfS7LEONyxq7PEpdD-T-Csh*f2t&NIcrAPG?Y660xn}%EM6Hw>r zQHR$kJ&Lg`dTc*{fZAXICsDw`oNs7NAYk^tE&BPiPzZ_b1izn;IHB@gc9FfoG$c~hB& zy@r(Ra&>$@tq&?6rs6GReJllbV~oDs=`&Q1_H7s^@jI84@G+i>A@m$tjCdr%;W!Vt zox&eOB9`WxL1RB1(sUC~`CCN+)tL0jsYgmVq?&xr#90K4A&ra%9?&Le)T$A98i&sC z&vnF}f8&1G=b{eh`>-1|cAdh`YV4fGmO><^EEXaLz0@OuCt3MsfnUsC_D%)v_P8bu zP5?|$1zw1?80m3mqbTMP3W-q6O6eBKc4-+MGgz=H)G5#K6c)}4%?nSX`QqcHi!AEo z?=^@uRD?#4uV|lDcHlKtqFTuoBQGAH6 zmy_HT&kMAS4nGn)kY(;57E^RE1_=6SHGHK@$>bKn$7r(0+0>pu4gZXk;9rsE;YlUk4aC_l5W~NX$x+5r^>{l+u=){GpIET=Ri*PY{MOmea*Z(afBL7+w48{6e5K52=--*Og>RprQ nQtwFO73zJod_{0OZllTu>Fg$>zKUvBV+qY<;9cBPhIjuD!XXrH literal 5388 zcmb_gi&q@g9sXw7Wp{^Jo&gfbi>L|V;c5*=0b>&&g@h$2Bq?pI9bkZs`yk6;l3M%J z_~=`!eOYbo+ZY?MB2CZfAJD(4r>EcV&Yj&!7!poTbI#7(d*|No`~AM(V}|_eKezq~ z;0XR<;yx^zIDjP+SzJtV^qh=xa>>iIV4{d+xm=R9l3Z5g;>y!i89gtT%QC%U;wrvo z;stzN)?PI64SZ8B-;(LKO?(I6mCH+l_i_@~@QTUHt0rE<>oWab0^d*I2MPQzfgi>3 z<2Zg|AaRxdGMV{#1NV<#w4b-rZZ_|v7mB64?WTuq*O})0q?)=;X~00Oe`0hrpI=!q zU@b$3We9w%|;x=4YMKv^|^SO5=EO&d!~)OIexg z#i+ZKC3eU7Trr<^3X43H<}hC@q*vW+PFZ%A0~%B_>(E>$Q!Kbk1`c+5ZshF3VtUFg zWebY~hc_?L9&uFImDj=T22wdO$@kvCu7EVkTK^I0lR10E)#Rr_$OA{WR5jGVhWR_y zCt1O{;**^YAshRj*oB14yg#zkri?#L6pEL%inWW5JG5FVIR#gAHn5{JlrXSQl9ap>(&?+q940-jX@-I3 z+wmrIt1HU3=FYKD+?Lz-i;3QWI3IXSy&?q&*NcH_lSapa+t^CPGR2DM8ct6p}h3Ov)Bt^bHL29I3$we-i{ik&kE09rW6Jm zDq!Ul2}}6RMg@qrt~VOKO&2Ad2j_CSm6=lv(wuWLD~&59hD#HAP+EwE!|1XwfirQu zVc|{u)Iuj7u<#b%w(v8V-j4_3__>8&;FlJDg?B9cT9)6H%X@M;B>R6Oqu9?2gO7eng;4xh%YS-40-kc!xf0-@7=W7bF%Rp?IMZ*|R z1*>sr$u3PfmsXv^oHMYkJPT|pJI$=OY?pnY&hTOt162@YsxJ;!49cgdwNTWgC{F^2KH2>D?2~5R4NvVXZg*> zkE7w^GgB<|KI(X%IlZj`r7Z%ns8*9-haZ~M!{?+L-*$MYQuzsuWS#;?Z!28l)t#T4Pr z8pTvarYCSrGtFqG)~+?gH;`CIa-w(NI!sPO2oDnEP{5(qGGQy8#ODcGqr)IH$L~o~ z6He1bn4WFZoG8;wX>U{#DL0agv19!w6M588A7;viE8?fm5m;k~ocVZSv!crets( z(b`x7o07%rET2K&Ee+<7&{Dn){sqH;G~eK*6 zR#fp!wX#Cq<2Gis(AQ{1oL21Z>S1n7bj!6rx`sWyyZE|oKN@R^g;??~vED<9e=+UE z`^u7I%9p)mOZI9@h^%Tk!sk1wOdt7D4EnPiMY-bH6jL^ZDH9Q8B2;G2-IV!&I$Wo( zH|XU@+fb&DQSp=!dxFY5jk%B%l)7OGdgZf2QgBo4Y%s-cDeAkY;5kw!Fkk*m8X=wh w>uB7|R{06yjr-KSzHz_0ry7}tT#w2pl-F>*Oq9lMF}f+LSj#64pGUCpU#Vq($^ZZW diff --git a/target/classes/com/engine/common/util/DbTools.class b/target/classes/com/engine/common/util/DbTools.class index 6e4e5cd3a3bbd39ac715ee4f1d273ea2c5bbf908..d5a13ea0a584d5943eb2c6d2c28c4c3e9e668dbc 100644 GIT binary patch delta 15 WcmZowY*pOA#mZ!9x|xTyk{bXat^>pX delta 15 WcmZowY*pOA#mZ!1wwZ^uk{bXatpmgW diff --git a/target/classes/com/engine/common/util/Utils.class b/target/classes/com/engine/common/util/Utils.class index 6c630139230bca9da26b2eeb9c69f2dc643b4c5f..172b246c8cf8cd263bf93df14b2ba56c9997a0f0 100644 GIT binary patch delta 5926 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 diff --git a/target/classes/weaver/formmode/customjavacode/modeexpand/DeleteCheckCalendar.class b/target/classes/weaver/formmode/customjavacode/modeexpand/DeleteCheckCalendar.class index 987896a68b48e3000fce8c31920ab02fcf358a3d..2511bb36707f08f1b20f489eba9ea8ca124ef52c 100644 GIT binary patch literal 3025 zcmbtW+fx%)9R5y7vP+1!C@9q0*o%Uq=|xewdBGbLuoc9rZE;CX!op@ZY&N33YPD9Y zLbY0_PRCJ4$Bvy&Yo~))l={?%{s)~t3W(F0_OWlZzmserL0Wqu%-M7KewXw8F1tVe z@!cSRWjO0W30fp<_rQS`8LRRz8?Q*%A!Db6T^`7I)q~gYx|p>}*zJK=;1uy}6GKo8 zAqm`rFd`D#J(z`-JgDf9&?!Unz=x0rQRp%Z88Km@ONJ>UE})i-gp55xOSg=@GWJP$ zL&lpD-jeV(gS%4IRjZmIr?{kr!C7O3IK#AhRp*U~Xd5@1l{SrbeDy|9(OMK!6>EFb zX|=0yhSl}mT-n3TK-e&&QBn{HCgPS6?NIh8L9rBjd~ZzALxJ^N;})-J=fTbzMdNx% zF)J9nA)|pX83zs z{!2MKcEaA2CQAu+l8?z8OQvZj6%192gm)yoOC>-V%#hopMs&qWn8ctqAz%LC^(JK1 z-%Dk<=xH(%W{_`GMPbaDB%_y#fO)Y9iz$o7gST0Ux6{SE*pCAgR=a4@*+prTksAyP z?ej-vkr(gbpoBwSypO|Pe1L^iWdU z-e(sV#ZTP6m%=DW`cWh3Lg_^L$?kL^`9F#du6!i zuo|jjc+Nla&Bc+=j*edXV)W{v;lX1gJ*V#VemQ*W%)Qf}|90#6aPL<`16M{)4-S8S zaQMiD`=4I+;xx`s4RO1Q5Mh8!hT)24u+VSDb*GIp-!cg_UIwnKqBjne%#Vu0_TH{@{ zj#5%I_eS2G6}VJhGfW*1NUCqi?7GR^qOMDDJAXw>oK>8OvWtg^ zvi**5otugl*hU?m5}#yib*n|u5=3Txrb%0}gxc*CLT$I(sW9PIVlnFT3`-^x$mnM& z9d-#&i=E4$FgOlNtqWkq5-Z)=xrFFY1GhD@1*r@&4!`TOGMndsY`1%Qk<=r z#FJeao@5i4e7)JPr2K53Y+$;5B&jBbctq5&OfQBwrzO1xV+k5pW}3A{|I%u9*yL_g zwRpWjg^*OSLfXmlqx z3$c{u-V}hK&(eyD8_$yx5_V{C!9!c~2H@Cn133+gea@S3IdBK=Mn{>`QRZ6glk6S2 z++FDY0Y4SG`;glYPnlE9^2E%Q?>vt?`L6RA7=V{FP4P|b!?b*7AEx(VM!8fd<=lp^ zA2ZA40n8#metB-8oO2Te!q#lxoTQCD6!xR&90H}j$9!{d;_)18FU(DAoR`+LlhUt=GnqM<3k%?cV0R}9 zXk0*Fm&NokSVG^1i%>)%SxBsw5~7TFUqgJ?5#zgw?@nUe!VBoda-5^n0j$LDSj8Mz zLt3kt8`W$ERkAyl2FDC!%8I#Z;p;5vX2`>Q;un{?90AQVjmkY3!q#bA?jm^o~wm$)N CXkA1A delta 754 zcmZWnO;1xn6g|UhJ40y^3T*|owDM`GEg}~23q(agJ`_P0E~E;g1fxQAVN56+(dY)B zE-;ZmqA{`%T=+pvV4*AH#{WQTyLT;~*BV^--pidc_ue`8+&k}w`)hvxx8Lzq01Y^2 zMKKyB_FIvIMg>nEns7kkpu!=E!&WF9v7#9*20E(Hs&LFmIj(R*p-tkXLc2tVMCZ(# zxV|R7=-+cuU?isU_WOnR46ziJ$-hZDcqqP^I5e zMY>l>{e{Zce_6)$QPq4AJ`{04#*+g9HbLv=F2q%EHTyq8yvu~Q(poZ3CrXHI*#wkg z8+QWRv4bQ$EMm|g>AR<2$gQ39l~_I?_YNVo7N% zGd%Fb1JC>p1_pYeGYrrCk1{;*6Bu@nOp8=o< zpC(}(#3V={Cm^4I!U!5m37Ad5Tms5*s3c*S09BYL=vkU7aab6J58%TjoP+ZTn2f`P zB%}$JhQ&BsjKd`X_MNp_mcJmt;N+Rx0>myjIuqbv&1$i0o6S0NSJk?WmUPY0RQtB- zS~QQ0F@N3i1UOM!WuAXNSkcy*zG<@?YS3gYe@zYM(PLA!S^|tu-m5j#hpK3+EmK_a zU8`lz^N6ZzqL0yCmIWBvP+hf2eE8l?-?GJJb%WeCJO|yTcRIy2ldp}}G^Z(=j$_(P zB$Id&dGv^@$K0L8@-H6eOM%Nc4zoL%k_GLY5x2II=tMs zk77g{dkMYTPgJc1?kTzAY`Pk|WYMXd+^g_2RId~qg=2BJoPsN`gh##UF?UH9V4zfp z!_^dg1T_IhTxK)XV~eVf4oCA+zL1mTT)r|PNmc$M#MAdaZ{oesRbR!oWmwErqWppBQMYj(OyCPS|3rpI*6HasPh z=LYnxWMmxL4b3&}!0_xX1e1m74}4FHoHjM(w;#X${o8MzKmFnPmtSQkmai{fymf17 zQPJgMxiUK^<(MYRxnjjA<;rvA*<7itRty7evvWpvq8o%1EFGPf(R(A<>S#8nMR)gw z9is+q4f$~fhCx&%!Z+OddY9>~a7$FEs0<-t#5VY9qmBkSOt9Y3wa(Tqn|!Ou5LT*| z^3~ETM)0(Cs(#(>Vn`~0u64Z!9V`KH2^w9bjswGSn{*1qI4=>-?dt7q8x0*#K<<&! z{g4d?<@IhzlCWWAA9TGA(WcWR01B<*=k9y%5#}7vaf8z{NJ~sEcNwa*pvUP59#do?8C_G>qdOth%`9lII^3%h{JLUuEF&b+<==Y_!w3MIPg-t(4YP|tft@=+>XOq3huyN0dA5f z)-q9ZiK_3jmaeumCO%X{l_EBry14G($B-JBti@ceT|{5id`t7h-E>z9K7o4z9NSAC zpy+ui#zL7Qz^T53aM(n_q&c>Y5{5JvYP4jFZCz2lb({$>HhHE`(?n)eI{RN{%W;Dn zo2aqMlRI_MPD|vGOT|)m zwTZz;dF8g71&D7D$VRO@*3T#^4=Lz476^+>B0WO%WF-o0cnikxKLYw10IUrh!{>3F ziTD=qJv8+ggzxzB34HG3#u0b}$EgqiZ^B8O4Z|rojTYMc2ModxzVAGNf!cI>Fdcge zLxZq3o!*y@hr@JY`56q~eGJKKPhg}P%Vm$p9zp66?EeK0RAb-6L7E?$P9HuVZGHx6 zgpW=?f+NId5QxtVjNo%W#NYrN#P1Vu7}=!ZJs5>4I06++?;NI8!^GB*8}TlN++YHe z2i&;|Z^Jvt{3Oi7ySQ@ze+%$FWH81QMwo;%h?+v|IIe~GX~c(XS+od{!_@(p`3r~~ B$b$d? literal 0 HcmV?d00001 diff --git a/target/test-classes/TestObj.class b/target/test-classes/TestObj.class index efd434a79a1365b4b4072807aed86a2ef054cee8..cec826fcfda66517ca9fc271e92483a3fca86232 100644 GIT binary patch literal 1149 zcmZuw>r&G|7(Gi%lZMEpK)nkHLIFz(6mL|Nt5yp*1L83L3T3Tf+Js3{MjpdQ(I3F* zj1S;LIi5|5fRM@T?)U9?Ip^fd?>|3&0mx&`KqrO`j3A?9)W8_V)$&kBRyij$SO#Nnd4I9{g zg(=-vTnp%IA>Ccu7wC!78-Y``7MosGzUtHifzETcC3<+1z6kJe{}klVf3bzjz~-25 zEPpA>{lM|ux`t=8H@t>lmMe~8Z#D@|C{8B2kkT+~qJZawG?kmmYnU_f0xwO>V?m%L zmp8G9B@zu)2x-jwzI~|BYFIY0f>&(9-05s?CYzg#j66?#HM}-a#2XE7O_Z=IpfwSY z`+KtfM<_u%*(%0V{H?O9D=0ip8QDhjU~$4(oxeF~VywqBrW` zc-A}4PQVG0c8vx5%3jTqZiVw{@mTX*D-?Ih4&-|d3ul)M7i923N_Sh@K8NipxK|J$ zx=6^2O-X!TL8x-9;~ApH06O^Rsiy^$3MsDLv@Gs|d+XRS#JBLehif8qwxgG4GYUW& z*J&kj12?I-l@VcVZ@!ytzE>lebt{ZVn;;td#)#U0!wm_f8NvX3D8=~wU~&j3C5!${>3 JtfbgJ_zOLT2de-8 literal 603 zcmZuu%TB^T6g@+srL{^eg6{{us3zLPxWlk9an+~^gpI2K8ywOHX^V-Ur3*}4_yK;D z@wSi%3A4B}_uRSXo-_0F`}Gar8kPnH6%|#i7qOvX6I&X#v7=yD!5)KrBLa~$86@kh z!;rrXpIwHMBLeq+yD;z~V_fDh}^(pCP%A=zQRl&ZF1JoGUg@QvJ zM>tk+qT>{G24#Am!T6s{qTF6G2esbf#P!K=IHE#jB2$F+BWX-Xsmp!xF~c!Y&rpbm zo}iYxwZPg!KjlowJU0m)rjtB+rOG0v4r-9;)6$g#ON~?1D6?s2v=`1l!QQj-5=A)! zCFpe4Cl|1c70OhUU=WfvHz8#;;{!QUGNm!{($yG+e;$p-5jpk9Gh7B%VG>S%MlpxA EKXCAW6951J diff --git a/target/test-classes/TestSinglePaymentFullWay.class b/target/test-classes/TestSinglePaymentFullWay.class new file mode 100644 index 0000000000000000000000000000000000000000..3633b30860436000d9969d25f44a0d1943f51171 GIT binary patch literal 3526 zcmeHKTXWk~5MISj2ZI$q60h2tYTZ&D zljeaj?5&%w04J)e%=K2xR^4JZ)LxUdyh|O+T2p&-n6asvEdi#c?^YY?12to*t$Jp~ zbI^N^@2EO;%rUXYvH+u-s-rdu50CA5rj=P%Hz{qywJ~jccT!xd^R=m}W;Zi++eTO! zGG#8~17l+k@GPEbx2mS=32=cPd8X*auEsVAy(_|!0MQk@<7n)XNmV-eqC%V_{$g+xj)`zJ1|LHe zOW$#sv!n|!Qpkz09D{3cU4U_iSxj}=qUvG7iL8{B({eT~$q7lS@E<{(xcg-j?}@H@ zD!xs_WR4=I5=`%P+iqWx&q-1$G4RkFhN&D6NmS6>sJoi16u1kGrNF({UT1p0-t8;N zB&Dj=U8ZZ6;VMa)8!)$$lyGP@G^cL$4A&}dhFVwG zx?6h$d1jNLTcJ|ORtiP*b+vV(zh?CVdUUPtZgi0X!qRK>5jqYG+i6l62ys>-8lAr0 z-Vtc%SOR$fO80zVyv~%V9i-%LB_&y+tQ1mIk{n3CQODc^>#UNT9gNFLl1kHd9jqI_ zMp7Xy69}FlrzCSY-g!&#M&UuxIY)OcOYz(}>+j*Pb_YLcmV(m}j)Iab47~D6GLK`o z$q&zT9l7NDAr1FyX8%6&AeSXc%H?wWwqgkgy59FelCRI~M&IocY^o*!kR{AS6PZN^{{r5hUrJ+XjoAQ+#5y4|eP#*?aUpM0GM&y^` z|82xU|I7cm5qZ15S|{EU;K*KbLxdYK_yj(U!3wO#;3lBRIn8|pm=9!wC*&)Q1 zT7eXc!9DmwfMYLG2&jX$^_j0+@X!CY>ACC>;MCATao9vIelhG`~+r{MEkc{;C`Xa4vMkz^lkyQ+Y)5tS~5^s0-Sy^ETS24#Sqtm$_aAsCf|IF=)dx-ay zp6fBxyCIvnnDo<_cIF1kWe;;RwTYYiRoQ74K-?rJ3q|qdFrt7SlG-8?gd~%i4?G6? z6O}l;1(W!%1AUDEas$Wkc^qdMd<*yV7_WrWspH{?5PJyw ze}e;+@Q-ki=7(nDhmQxrPa%%(6EhFt2;m6<;W-E6_}mX+H~0-S*=&emXt(ZdbMQVSagVdO!!*W+aRf-z YNZ>z%{{C7DEoq)dKwklgBPykT0Ntq8k^lez literal 0 HcmV?d00001 diff --git a/test/TestBySchedulePaymentWay.java b/test/TestBySchedulePaymentWay.java new file mode 100644 index 0000000..a772ed1 --- /dev/null +++ b/test/TestBySchedulePaymentWay.java @@ -0,0 +1,26 @@ +import com.engine.attendance.vacation.job.holidaygeneration.tactics.BySchedulePaymentWay; +import com.engine.attendance.vacation.job.holidaygeneration.tactics.SinglePaymentInFullWay; +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; +import com.google.gson.Gson; + +import java.lang.reflect.Type; +import java.util.List; +import java.util.Map; + +public class TestBySchedulePaymentWay { + public static void main(String[] args) { + Map param = Maps.newHashMap(); + param.put("userId","53"); + param.put("releaseDate","2023-01-29 00:00:00"); + + String json = "[{modedatamodifier=1, edyxqsz=1.00, modedatacreatertype=0, jgsc1=5.00, jgsc0=1.00, yqhedzgxz='', edbgsedclfs='2', edyxq='1', ljcrglyfslwz='1', edktsc=5.00, mc=测试年假, MODEUUID=d1489670-ec11-49f5-8786-58a9ffc1167f, zyz='', id='18', jywxcl='', mainid='18', edkyqcs='', edfffs='0', jjrbhzedn='', modedatacreater='1', ffsj='', jb='112', edbxdcxw='', modedatacreatetime='15:52:56', schdedablzs='1', dczskxsc='', yjzd='', formmodeid='201', rzdqedablzs='1', fdsc01='1', ffdtffsj='00:00', yqsc='', fdsc07='7', fdsc06='6', szjg='2', fdsc09='9', fdsc08='8', qsrq='2021-11-11', fdsc03='3', modedatacreatedate='2023-12-28', fdsc02='2', requestId='', fdsc05='5', fdsc04='4', sm='', eddw='1', form_biz_id=18000333, edyj='2', dzqsrq='1', schdedkzsxrq='0', fdsc10='10', detailid='14', fdsc12='12', fdsc11='11', fgrq='15', wscl='2', dataid='18', dqtqffts='2', xxz='0', modedatamodifydatetime='2024-01-04 16:51:17'},{modedatamodifier=1, edyxqsz=2.00, modedatacreatertype=0, jgsc1=10.00, jgsc0=5.00, yqhedzgxz='', edbgsedclfs='2', edyxq='3', ljcrglyfslwz='1', edktsc=10.00, mc=测试年假, MODEUUID=d1489670-ec11-49f5-8786-58a9ffc1167f, zyz='', id='18', jywxcl='', mainid='18', edkyqcs='', edfffs='0', jjrbhzedn='', modedatacreater='1', ffsj='', jb='112', edbxdcxw='', modedatacreatetime='15:52:56', schdedablzs='1', dczskxsc='', yjzd='', formmodeid='201', rzdqedablzs='1', fdsc01='1', ffdtffsj='00:00', yqsc='', fdsc07='7', fdsc06='6', szjg='2', fdsc09='9', fdsc08='8', qsrq='2021-11-11', fdsc03='3', modedatacreatedate='2023-12-28', fdsc02='2', requestId='', fdsc05='5', fdsc04='4', sm='', eddw='1', form_biz_id=18000333, edyj='2', dzqsrq='1', schdedkzsxrq='0', fdsc10='10', detailid='15', fdsc12='12', fdsc11='11', fgrq='15', wscl='2', dataid='18', dqtqffts='15', xxz='0', modedatamodifydatetime='2024-01-04 16:51:17'}]"; + Gson gson = new Gson(); + List> vocationList = Lists.newArrayList(); + vocationList = gson.fromJson(json, (Type) vocationList.getClass()); + System.out.println(vocationList); + + param.put("vocationList",vocationList); + new BySchedulePaymentWay().compute(param); + } +} diff --git a/test/TestObj.java b/test/TestObj.java index 85ac953..4773270 100644 --- a/test/TestObj.java +++ b/test/TestObj.java @@ -1,7 +1,61 @@ +import com.engine.attendance.vacation.util.VocationCommonUtil; +import com.engine.common.util.DateUtil; import com.engine.common.util.Utils; +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; +import sun.misc.BASE64Decoder; +import weaver.general.TimeUtil; +import weaver.general.Util; + +import java.sql.Date; +import java.util.*; +import java.util.stream.Collectors; public class TestObj { - public static void main(String[] args) { - System.out.println("-".split("-")[0]); + public static void main(String[] args) throws Exception{ + Calendar calendar = Calendar.getInstance(); + calendar.set(Integer.valueOf("2024"), Integer.valueOf("04") - 1, 1); +// + // System.out.println(calendar.getActualMaximum(Calendar.DAY_OF_YEAR)); + // System.out.println(DateUtil.getBetWeenHours("2024-01-03 15:00:00","2024-01-03 15:35")); + // System.out.println(DateUtil.getTime("2024-01-03 16:00:00").compareTo(DateUtil.getTime("2024-01-03 15:35"))); + //System.out.println(DateUtil.getBetWeenMonths("2021-12-01","2021-12-01")); + + // System.out.println(DateUtil.getTime("2023-01-01").getDayOfWeek()); + // System.out.println(TimeUtil.getWeekOfYear(Date.valueOf(DateUtil.getTime("2023-01-09").toLocalDate()))); + // System.out.println(DateUtil.beforeMonth("2023-11-15",3)); + +// System.out.println(DateUtil.getTime("2023-12-16 15:05:01").compareTo(DateUtil.getTime("2023-12-16 24:00:00"))); +// + List list = new ArrayList<>(); + + + // System.out.println(DateUtil.getBetWeenDays("2024-01-02","2024-01-10")); +// System.out.println(DateUtil.getBetWeenMonths("2021-06-01","2022-07-01")); +// System.out.println(DateUtil.beforeMonth("2023-01-01",6)); + System.out.println(DateUtil.getBetWeenYears("2023-05-01","2024-01-01")); + //System.out.println(DateUtil.getBetWeenDays("2023-01-01","2023-01-01")); +// System.out.println(DateUtil.getBetWeenDays("2023-08-02","2024-01-01")); + + + //System.out.println(VocationCommonUtil.computeRestDays(70,365,7,"4")); + //System.out.println(DateUtil.nextMonth("2023-11-25 15:22:11",1,DateUtil.yyyyMM)); +// System.out.println(DateUtil.getBetWeenYears("2023-05-01","2025-04-31")); +// List> vacationList = Lists.newArrayList(); +// vacationList.add(new HashMap(){{ +// put("dataid","18"); +// put("jb","112"); +// +// }}); +// vacationList.add(new HashMap(){{ +// put("dataid","18"); +// put("jb","112"); +// +// }}); +// +// Map vacationMap = Maps.newHashMap(); +// for (Map vocation:vacationList){ +// vacationMap.put(vocation.get("dataid").toString(),vocation.get("jb").toString()); +// } } } diff --git a/test/TestSinglePaymentFullWay.java b/test/TestSinglePaymentFullWay.java new file mode 100644 index 0000000..eb8c158 --- /dev/null +++ b/test/TestSinglePaymentFullWay.java @@ -0,0 +1,44 @@ +import com.engine.attendance.vacation.job.holidaygeneration.tactics.SinglePaymentInFullWay; +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; +import com.google.gson.Gson; + +import java.lang.reflect.Type; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class TestSinglePaymentFullWay { + public static void main(String[] args) throws Exception{ + Map param = Maps.newHashMap(); + param.put("userId","53"); + param.put("releaseDate","2021-12-01 00:00:00"); + + String json = "[{modedatamodifier=1, edyxqsz=1.00, modedatacreatertype=0, jgsc1=5.00, jgsc0=1.00, yqhedzgxz='', edbgsedclfs='1', edyxq='0', ljcrglyfslwz='18', edktsc=5.00, mc=测试年假, MODEUUID=d1489670-ec11-49f5-8786-58a9ffc1167f, zyz='', id='18', jywxcl='', mainid='18', edkyqcs='', edfffs='0', jjrbhzedn='', modedatacreater='1', ffsj='', jb='112', edbxdcxw='', modedatacreatetime='15:52:56', schdedablzs='1', dczskxsc='', yjzd='', formmodeid='201', rzdqedablzs='1', fdsc01='1', ffdtffsj='00:00', yqsc='', fdsc07='7', fdsc06='6', szjg='2', fdsc09='9', fdsc08='8', qsrq='2021-05-11', fdsc03='3', modedatacreatedate='2023-12-28', fdsc02='2', requestId='', fdsc05='5', fdsc04='4', sm='', eddw='1', form_biz_id=18000333, edyj='2', dzqsrq='1', schdedkzsxrq='0', fdsc10='10', detailid='14', fdsc12='12', fdsc11='11', fgrq='15', wscl='2', dataid='18', dqtqffts='2', xxz='0', modedatamodifydatetime='2024-01-04 16:51:17'},{modedatamodifier=1, edyxqsz=2.00, modedatacreatertype=0, jgsc1=10.00, jgsc0=5.00, yqhedzgxz='', edbgsedclfs='1', edyxq='0', ljcrglyfslwz='1', edktsc=10.00, mc=测试年假, MODEUUID=d1489670-ec11-49f5-8786-58a9ffc1167f, zyz='', id='18', jywxcl='', mainid='18', edkyqcs='', edfffs='0', jjrbhzedn='', modedatacreater='1', ffsj='', jb='112', edbxdcxw='', modedatacreatetime='15:52:56', schdedablzs='1', dczskxsc='', yjzd='', formmodeid='201', rzdqedablzs='1', fdsc01='1', ffdtffsj='00:00', yqsc='', fdsc07='7', fdsc06='6', szjg='2', fdsc09='9', fdsc08='8', qsrq='2021-05-11', fdsc03='3', modedatacreatedate='2023-12-28', fdsc02='2', requestId='', fdsc05='5', fdsc04='4', sm='', eddw='1', form_biz_id=18000333, edyj='2', dzqsrq='1', schdedkzsxrq='0', fdsc10='10', detailid='15', fdsc12='12', fdsc11='11', fgrq='15', wscl='2', dataid='18', dqtqffts='15', xxz='0', modedatamodifydatetime='2024-01-04 16:51:17'}]"; + Gson gson = new Gson(); + List> vocationList = Lists.newArrayList(); + vocationList = gson.fromJson(json, (Type) vocationList.getClass()); + System.out.println(vocationList); +// List> vocationList = Lists.newArrayList(); +// vocationList.add(new HashMap(){{ +// put("edsc","9.50"); +// put("bdlx","0"); +// put("jsdk","1"); +// put("tqdkfzs","720"); +// put("sfkt","1"); +// put("dtjssj","12:00"); +// put("zddxfz","30"); +// put("bcxx","25"); +// put("dxhs","5"); +// put("bcsdxx","09:00-13:00|13:00-18:30"); +// put("sfdx","0"); +// put("dtkssj","09:00"); +// put("thdkfzs","720"); +// put("ksdk","0"); +// put("rqlx","11"); +// }}); + + param.put("vocationList",vocationList); + new SinglePaymentInFullWay().compute(param); + } +}