zm_dev
liuliang 11 months ago
parent 785ee44a92
commit a25ac981f1

@ -1 +1 @@
аyГ~цЭ|дй~Й~хд|И}фЛ~ш}Т~М|юй~с}С}юЯ}У}Ь~к~Х}Н~г}ЭЖ|б}О}ЪрqчhаjЖkЛjВhТjгiлjфkзiУhЭlЩkуoжpжxЯuЭtЧvВvтwЛvа{иxяyТxЙvЮxЦvБyиxрzпwЧvзxаЫЧшСжМЧСъмЖСЪзнНШзЭдДоЩЪДвкдЩРыщчАяПЬэяЮчцПГЗУЪлощбЭхдЪтзЖТНБУщПсЩлэррЦькмИпЙПРжпАлиШФмюмШдшжиИЖъВнлОЙНиwбsСsЪvцsЕwаtПsщyАlГtДoфsшqлlЬqЦpЗrКlыsЖsвuрsХmхoьqЛrщlйjНZК\т^Й\ФZоVфZХXШ\РVИhбwчxкzБyп{Шzб|ш{оxОxЙ|фzд|яwи{ЗvБyК|ЦVеZюUаYфSТYхXе\цXэaцcвeщ_ЮWхWц^бTмRюTЫTПZсWж[ъTЕ]ы[ЪWТRДWгVоZГZЧUЮYСQсXЮWБYЦ[кZшgО~В~ыzю~л{РzвyК{Бxи~ц|М{ъ~тж|Ф}к~н}ычaчdВ]вhп]вaь^ГaК`гaй^ж_Ш]С]И]в^Т^в^и]Т]Х`ЯkКgшgюgЩgюhШcТ]жWЬkшiцqжhЧoяLбLшLюMБMГMКMКMНMсNХMКMНMГMХMЙMНMФMХMЯKДKЕKЙKюKаJцJЪJЕKЦKБKоLшKФKГKГKЕKИKЕKЕKИJюJФJсKЕKИKФKЕKФKДKГKГKпLДKЕKшKжJаJХJДKЕKХKЦKоLЦKДKЦKИKГKФKЕKюKдJЧIсKБKЦKХKГKЕKДKГKЕKГKрLФKГKКJЪIсJтKЕKФKГKДKоLФKФKФKДKЙKДKвKшJюJФJЧKДKДKДKДK
аyГ~цЭ|дй~Й~хд|И}фЛ~ш}Т~М|юй~с}С}юЯ}У}Ь~к~Х}Н~г}ЭЖ|б}О}ЪрqчhаjЖkЛjВhТjгiлjфkзiУhЭlЩkуoжpжxЯuЭtЧvВvтwЛvа{иxяyТxЙvЮxЦvБyиxрzпwЧvзxаЫЧшСжМЧСъмЖСЪзнНШзЭдДоЩЪДвкдЩРыщчАяПЬэяЮчцПГЗУЪлощбЭхдЪтзЖТНБУщПсЩлэррЦькмИпЙПРжпАлиШФмюмШдшжиИЖъВнлОЙНиwбsСsЪvцsЕwаtПsщyАlГtДoфsшqлlЬqЦpЗrКlыsЖsвuрsХmхoьqЛrщlйjНZК\т^Й\ФZоVфZХXШ\РVИhбwчxкzБyп{Шzб|ш{оxОxЙ|фzд|яwи{ЗvБyК|ЦVеZюUаYфSТYхXе\цXэaцcвeщ_ЮWхWц^бTмRюTЫTПZсWж[ъTЕ]ы[ЪWТRДWгVоZГZЧUЮYСQсXЮWБYЦ[кZшgО~В~ыzю~л{РzвyК{Бxи~ц|М{ъ~тж|Ф}к~н}ычaчdВ]вhп]вaь^ГaК`гaй^ж_Ш]С]И]в^Т^в^и]Т]Х`ЯkКgшgюgЩgюhШcТ]жWЬkшiцqжh

@ -10,59 +10,104 @@
</component>
<component name="ChangeListManager">
<list default="true" id="baeb3dfb-5097-46c5-933e-6d1dab18b815" name="Changes" comment="">
<change afterPath="$PROJECT_DIR$/src/com/engine/attendance/vacation/cmd/HandleOverdueVocationCmd.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/com/engine/attendance/workflow/cmd/GetRestDayIntervalCmd.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/test/calendarscheduling/TestgetDepartSchedule.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/test/vocation/TestHandleOverdueVocation.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/test/vocation/beforlog.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/dataSources/ade958e9-d72b-48ba-8be1-0441de7da9a5/entities/entities.dat" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/dataSources/ade958e9-d72b-48ba-8be1-0441de7da9a5/entities/entities.dat" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/dataSources/ade958e9-d72b-48ba-8be1-0441de7da9a5/entities/entities.dat.values" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/dataSources/ade958e9-d72b-48ba-8be1-0441de7da9a5/entities/entities.dat.values" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/dataSources/ade958e9-d72b-48ba-8be1-0441de7da9a5/entities/entities.dat.values.at" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/dataSources/ade958e9-d72b-48ba-8be1-0441de7da9a5/entities/entities.dat.values.at" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/dataSources/ade958e9-d72b-48ba-8be1-0441de7da9a5/entities/entities.dat.values.s" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/dataSources/ade958e9-d72b-48ba-8be1-0441de7da9a5/entities/entities.dat.values.s" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/dataSources/ade958e9-d72b-48ba-8be1-0441de7da9a5/entities/entities.dat_i" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/dataSources/ade958e9-d72b-48ba-8be1-0441de7da9a5/entities/entities.dat_i" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/WEB-INF/prop/weaver.properties" beforeDir="false" afterPath="$PROJECT_DIR$/WEB-INF/prop/weaver.properties" afterDir="false" />
<change beforePath="$PROJECT_DIR$/WEB-INF/sqllog/ecologysql" beforeDir="false" afterPath="$PROJECT_DIR$/WEB-INF/sqllog/ecologysql" afterDir="false" />
<change beforePath="$PROJECT_DIR$/log/sdk.log" beforeDir="false" afterPath="$PROJECT_DIR$/log/sdk.log" afterDir="false" />
<change beforePath="$PROJECT_DIR$/out/artifacts/hrm_attendance/hrm-attendance.jar" beforeDir="false" afterPath="$PROJECT_DIR$/out/artifacts/hrm_attendance/hrm-attendance.jar" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/web/AttendanceanalysisAction.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/web/AttendanceanalysisAction.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/wrapper/UpdateAttendanceResultWrapper.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/wrapper/UpdateAttendanceResultWrapper.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/vacation/job/holidaygeneration/tactics/OneTimePayMentWay.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/vacation/job/holidaygeneration/tactics/OneTimePayMentWay.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/vacation/job/holidaygeneration/tactics/SinglePaymentInFullWay.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/vacation/job/holidaygeneration/tactics/SinglePaymentInFullWay.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/service/impl/AbnormalAttendanceServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/service/impl/AbnormalAttendanceServiceImpl.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/component/calendarscheduling/service/impl/WorkRulesServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/component/calendarscheduling/service/impl/WorkRulesServiceImpl.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/vacation/cmd/HandleOverdueVocationCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/vacation/cmd/HandleOverdueVocationCmd.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/vacation/job/holidaygeneration/HolidayGenerationJob.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/vacation/job/holidaygeneration/HolidayGenerationJob.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/vacation/service/VocationService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/vacation/service/VocationService.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/vacation/service/impl/VocationServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/vacation/service/impl/VocationServiceImpl.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/vacation/util/VocationCommonUtil.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/vacation/util/VocationCommonUtil.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/vacation/web/VocationAction.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/vacation/web/VocationAction.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/workflow/action/RevokeEliminationsAskForLeaveAction.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/workflow/action/RevokeEliminationsAskForLeaveAction.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/workflow/action/askforleave/AskForLeaveWorkFlowArchivingAction.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/workflow/action/askforleave/AskForLeaveWorkFlowArchivingAction.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/workflow/action/askforleave/AskForLeaveWorkFlowSubmitAction.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/workflow/action/askforleave/AskForLeaveWorkFlowSubmitAction.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/workflow/service/AskForLeaveService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/workflow/service/AskForLeaveService.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/workflow/service/impl/AskForLeaveServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/workflow/service/impl/AskForLeaveServiceImpl.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/workflow/web/AskForLeaveAction.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/workflow/web/AskForLeaveAction.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/common/util/CommonUtil.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/common/util/CommonUtil.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/common/util/Utils.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/common/util/Utils.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/ComputeAttendanceDurationCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/ComputeAttendanceDurationCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/GetAskForLeaveCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/GetAskForLeaveCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/GetClockInTimeItemCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/GetClockInTimeItemCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/GetClockInTimeListCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/GetClockInTimeListCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/GetEvectionCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/GetEvectionCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/GetScheduleResultListCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/GetScheduleResultListCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/getclockInpoint/AdjustByWorkOverTimeCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/getclockInpoint/AdjustByWorkOverTimeCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/getclockInpoint/GetClockInPointCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/getclockInpoint/GetClockInPointCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/item/AbsenteeismItemCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/item/AbsenteeismItemCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/item/BeAwayItemCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/item/BeAwayItemCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/item/BeLateItemCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/item/BeLateItemCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/item/ForGetClockItemCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/item/ForGetClockItemCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/item/LeaveEarlyItemCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/item/LeaveEarlyItemCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/item/VacationItemCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/item/VacationItemCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/item/WorkOvertimeItemCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/item/WorkOvertimeItemCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/workovertime/GetOvertimeDurationCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/workovertime/GetOvertimeDurationCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/workovertime/SaveWorkOverTimeCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/workovertime/SaveWorkOverTimeCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/job/AttendanceAnalysisJob.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/job/AttendanceAnalysisJob.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/service/impl/AbnormalAttendanceServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/service/impl/AbnormalAttendanceServiceImpl.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/service/impl/AllowanceServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/service/impl/AllowanceServiceImpl.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/service/impl/AskForLeaveServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/service/impl/AskForLeaveServiceImpl.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/service/impl/AttendanceSummaryServiceImpl$1.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/service/impl/AttendanceSummaryServiceImpl$1.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/service/impl/AttendanceSummaryServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/service/impl/AttendanceSummaryServiceImpl.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/web/AttendanceanalysisAction.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/web/AttendanceanalysisAction.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/wrapper/UpdateAttendanceResultWrapper$1.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/wrapper/UpdateAttendanceResultWrapper$1.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/service/impl/ComprehensiveWorkingHourServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/service/impl/ComprehensiveWorkingHourServiceImpl.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/service/impl/EvectionServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/service/impl/EvectionServiceImpl.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/service/impl/ShiftServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/service/impl/ShiftServiceImpl.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/service/impl/UtilServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/service/impl/UtilServiceImpl.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/service/impl/WorkOverTimeServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/service/impl/WorkOverTimeServiceImpl.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/wrapper/AttendanceAnalysisWrapper.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/wrapper/AttendanceAnalysisWrapper.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/wrapper/UpdateAttendanceResultWrapper.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/wrapper/UpdateAttendanceResultWrapper.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceplan/cmd/GetAttendanceItemsByPersonDataCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceplan/cmd/GetAttendanceItemsByPersonDataCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceplan/cmd/GetWorkHoursItemByPersonCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceplan/cmd/GetWorkHoursItemByPersonCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/calendarscheduling/service/impl/WorkRulesServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/calendarscheduling/service/impl/WorkRulesServiceImpl.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/persongroup/cmd/GetDatatableRecurrenceCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/persongroup/cmd/GetDatatableRecurrenceCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/persongroup/commonutil/PersongroupCommonUtil.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/persongroup/commonutil/PersongroupCommonUtil.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/persongroup/job/scheduling/SchedulingJob.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/persongroup/job/scheduling/SchedulingJob.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/persongroup/job/scheduling/tactics/DayRegularScheduling.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/persongroup/job/scheduling/tactics/DayRegularScheduling.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/persongroup/job/scheduling/tactics/MonthRegularScheduling.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/persongroup/job/scheduling/tactics/MonthRegularScheduling.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/persongroup/job/scheduling/tactics/WeekRegularScheduling.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/persongroup/job/scheduling/tactics/WeekRegularScheduling.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/persongroup/job/scheduling/tactics/YearRegularScheduling.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/persongroup/job/scheduling/tactics/YearRegularScheduling.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/persongroup/service/impl/PersonGroupServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/persongroup/service/impl/PersonGroupServiceImpl.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/vacation/cmd/HandleOverdueVocationCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/vacation/cmd/HandleOverdueVocationCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/vacation/cmd/VocationCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/vacation/cmd/VocationCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/vacation/job/holidaygeneration/HolidayGenerationJob.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/vacation/job/holidaygeneration/HolidayGenerationJob.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/vacation/job/holidaygeneration/tactics/OneTimePayMentWay.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/vacation/job/holidaygeneration/tactics/OneTimePayMentWay.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/vacation/job/holidaygeneration/tactics/SinglePaymentInFullWay.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/vacation/job/holidaygeneration/tactics/SinglePaymentInFullWay.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/vacation/service/VocationService.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/vacation/service/VocationService.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/vacation/service/impl/VocationServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/vacation/service/impl/VocationServiceImpl.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/vacation/util/VocationCommonUtil.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/vacation/util/VocationCommonUtil.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/vacation/web/VocationAction.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/vacation/web/VocationAction.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/service/AskForLeaveService.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/service/AskForLeaveService.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/action/EliminationsAskForLeaveAction.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/action/EliminationsAskForLeaveAction.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/action/EliminationsEvctionCheckAction.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/action/EliminationsEvctionCheckAction.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/action/EvctionCheckAction.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/action/EvctionCheckAction.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/action/MakeUpClockInAction.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/action/MakeUpClockInAction.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/action/OvertimePlanCheckAction.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/action/OvertimePlanCheckAction.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/action/OvertimeResultCheckAction.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/action/OvertimeResultCheckAction.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/action/RevokeEliminationsAskForLeaveAction.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/action/RevokeEliminationsAskForLeaveAction.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/action/RevokeLeaveAction.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/action/RevokeLeaveAction.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/action/askforleave/AskForLeaveWorkFlowArchivingAction.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/action/askforleave/AskForLeaveWorkFlowArchivingAction.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/action/askforleave/AskForLeaveWorkFlowSubmitAction.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/action/askforleave/AskForLeaveWorkFlowSubmitAction.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/cmd/GetCqSummarySearchConditionCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/cmd/GetCqSummarySearchConditionCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/cmd/GetEliminationsEvctionListCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/cmd/GetEliminationsEvctionListCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/cmd/GetKqCycleTimeIntervalCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/cmd/GetKqCycleTimeIntervalCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/cmd/GetRestDayIntervalCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/cmd/GetRestDayIntervalCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/service/impl/AllowanceServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/service/impl/AllowanceServiceImpl.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/service/impl/AskForLeaveServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/service/impl/AskForLeaveServiceImpl.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/web/AskForLeaveAction.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/web/AskForLeaveAction.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/common/cmd/GetPersonDateBySuitOrganzation.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/common/cmd/GetPersonDateBySuitOrganzation.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/common/util/CommonUtil.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/common/util/CommonUtil.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/common/util/Utils$1.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/common/util/Utils$1.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/common/util/Utils$2.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/common/util/Utils$2.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/common/util/Utils$3.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/common/util/Utils$3.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/common/util/DbTools.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/common/util/DbTools.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/common/util/Utils.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/common/util/Utils.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/test-classes/TestAttendanceAllowance/Test2.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/test-classes/TestAttendanceAllowance/Test2.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/test-classes/vocation/Test1.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/test-classes/vocation/Test1.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/test-classes/vocation/beforlog.class" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/test/TestAttendanceAllowance/Test2.java" beforeDir="false" afterPath="$PROJECT_DIR$/test/TestAttendanceAllowance/Test2.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/test/vocation/Test1.java" beforeDir="false" afterPath="$PROJECT_DIR$/test/vocation/Test1.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/test/vocation/beforlog.java" beforeDir="false" afterPath="$PROJECT_DIR$/test/workflow/beforlog.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/test-classes/TestGetClockInPoint.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/test-classes/TestGetClockInPoint.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/test-classes/TestObj$1.class" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/target/test-classes/TestObj$2.class" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/target/test-classes/TestObj$3.class" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/target/test-classes/TestObj$4.class" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/target/test-classes/TestObj.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/test-classes/TestObj.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/test-classes/workflow/Test1.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/test-classes/workflow/Test1.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/test/TestObj.java" beforeDir="false" afterPath="$PROJECT_DIR$/test/TestObj.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/test/workflow/Test1.java" beforeDir="false" afterPath="$PROJECT_DIR$/test/workflow/Test1.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/workflow/request/hrmattendance/HrmAskForLeave_e9.jsp" beforeDir="false" afterPath="$PROJECT_DIR$/workflow/request/hrmattendance/HrmAskForLeave_e9.jsp" afterDir="false" />
<change beforePath="$PROJECT_DIR$/workflow/request/hrmattendance/HrmCustomCard_e9.jsp" beforeDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
@ -105,7 +150,7 @@
<property name="WebServerToolWindowFactoryState" value="false" />
<property name="com.intellij.ide.scratch.ScratchImplUtil$2/New Scratch File" value="PLAIN_TEXT" />
<property name="last_directory_selection" value="$PROJECT_DIR$/src/com/engine/kq" />
<property name="last_opened_file_path" value="$PROJECT_DIR$/../../上海考勤产品/考勤分支代码" />
<property name="last_opened_file_path" value="$PROJECT_DIR$" />
<property name="nodejs_package_manager_path" value="npm" />
<property name="project.structure.last.edited" value="Artifacts" />
<property name="project.structure.proportion" value="0.15" />
@ -127,8 +172,8 @@
<recent name="D:\项目备份\考勤\hrm-attendance\src\com\engine\jucailin\cmd\calendar" />
</key>
<key name="CopyClassDialog.RECENTS_KEY">
<recent name="workflow" />
<recent name="vocation" />
<recent name="workflow" />
<recent name="calendarscheduling" />
<recent name="com.engine.attendance.attendanceanalysis.cmd" />
<recent name="TestAttendanceAllowance" />
@ -139,7 +184,7 @@
<command value="organzationList" />
</option>
</component>
<component name="RunManager" selected="JUnit.Test1.test1 (1)">
<component name="RunManager" selected="JUnit.TestHandleOverdueVocation.test1">
<configuration name="TestObj" type="Application" factoryName="Application" nameIsGenerated="true">
<option name="MAIN_CLASS_NAME" value="TestObj" />
<module name="hrm-attendance" />
@ -188,7 +233,7 @@
<option name="Make" enabled="true" />
</method>
</configuration>
<configuration name="Test1.test2" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
<configuration name="Test1.test2 (1)" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
<module name="hrm-attendance" />
<shortenClasspath name="MANIFEST" />
<extension name="coverage">
@ -197,43 +242,43 @@
<option name="ENABLED" value="true" />
</pattern>
</extension>
<option name="PACKAGE_NAME" value="vocation" />
<option name="MAIN_CLASS_NAME" value="vocation.Test1" />
<option name="PACKAGE_NAME" value="workflow" />
<option name="MAIN_CLASS_NAME" value="workflow.Test1" />
<option name="METHOD_NAME" value="test2" />
<option name="TEST_OBJECT" value="method" />
<method v="2">
<option name="Make" enabled="true" />
</method>
</configuration>
<configuration name="Test2.testAnalysis" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
<configuration name="TestHandleOverdueVocation.test1" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
<module name="hrm-attendance" />
<shortenClasspath name="MANIFEST" />
<extension name="coverage">
<pattern>
<option name="PATTERN" value="TestAttendanceAllowance.*" />
<option name="PATTERN" value="vocation.*" />
<option name="ENABLED" value="true" />
</pattern>
</extension>
<option name="PACKAGE_NAME" value="TestAttendanceAllowance" />
<option name="MAIN_CLASS_NAME" value="TestAttendanceAllowance.Test2" />
<option name="METHOD_NAME" value="testAnalysis" />
<option name="PACKAGE_NAME" value="vocation" />
<option name="MAIN_CLASS_NAME" value="vocation.TestHandleOverdueVocation" />
<option name="METHOD_NAME" value="test1" />
<option name="TEST_OBJECT" value="method" />
<method v="2">
<option name="Make" enabled="true" />
</method>
</configuration>
<configuration name="Test.testAnalysis" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
<configuration name="TestgetDepartSchedule.test2" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
<module name="hrm-attendance" />
<shortenClasspath name="MANIFEST" />
<extension name="coverage">
<pattern>
<option name="PATTERN" value="TestAttendanceAllowance.*" />
<option name="PATTERN" value="calendarscheduling.*" />
<option name="ENABLED" value="true" />
</pattern>
</extension>
<option name="PACKAGE_NAME" value="TestAttendanceAllowance" />
<option name="MAIN_CLASS_NAME" value="TestAttendanceAllowance.Test" />
<option name="METHOD_NAME" value="testAnalysis" />
<option name="PACKAGE_NAME" value="calendarscheduling" />
<option name="MAIN_CLASS_NAME" value="calendarscheduling.TestgetDepartSchedule" />
<option name="METHOD_NAME" value="test2" />
<option name="TEST_OBJECT" value="method" />
<method v="2">
<option name="Make" enabled="true" />
@ -248,10 +293,11 @@
</configuration>
<recent_temporary>
<list>
<item itemvalue="JUnit.TestHandleOverdueVocation.test1" />
<item itemvalue="JUnit.TestgetDepartSchedule.test2" />
<item itemvalue="JUnit.Test1.test2 (1)" />
<item itemvalue="JUnit.Test1.test1 (1)" />
<item itemvalue="JUnit.Test1.test1" />
<item itemvalue="JUnit.Test2.testAnalysis" />
<item itemvalue="JUnit.Test.testAnalysis" />
</list>
</recent_temporary>
</component>
@ -679,7 +725,18 @@
<workItem from="1716859385203" duration="3896000" />
<workItem from="1716874187287" duration="24109000" />
<workItem from="1716904842701" duration="406000" />
<workItem from="1716946250888" duration="5661000" />
<workItem from="1716946250888" duration="9233000" />
<workItem from="1716961077409" duration="668000" />
<workItem from="1716961767185" duration="18551000" />
<workItem from="1717032766276" duration="15649000" />
<workItem from="1717070723251" duration="23000" />
<workItem from="1717071917813" duration="1495000" />
<workItem from="1717073701683" duration="628000" />
<workItem from="1717119528407" duration="7161000" />
<workItem from="1717132952905" duration="3397000" />
<workItem from="1717137852306" duration="1107000" />
<workItem from="1717140300551" duration="511000" />
<workItem from="1717238328779" duration="73000" />
</task>
<servers />
</component>
@ -733,6 +790,26 @@
<line>69</line>
<option name="timeStamp" value="118" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/test/workflow/Test1.java</url>
<line>46</line>
<option name="timeStamp" value="120" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/com/engine/attendance/workflow/action/askforleave/AskForLeaveWorkFlowSubmitAction.java</url>
<line>94</line>
<option name="timeStamp" value="121" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/test/calendarscheduling/TestgetDepartSchedule.java</url>
<line>27</line>
<option name="timeStamp" value="122" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/com/engine/attendance/component/calendarscheduling/service/impl/WorkRulesServiceImpl.java</url>
<line>111</line>
<option name="timeStamp" value="123" />
</line-breakpoint>
</breakpoints>
</breakpoint-manager>
<watches-manager>

File diff suppressed because one or more lines are too long

@ -89,8 +89,8 @@ public class WorkRulesServiceImpl extends Service implements WorkRulesService {
int pageindex = Integer.valueOf(Util.null2String(params.get("pageindex")));
String deparmentId = Util.null2String(params.get("deparment"));
String subcompanyId = Util.null2String(params.get("subcompany"));
// String userId = Util.null2String(user.getUID());
String userId = "1";
String userId = Util.null2String(user.getUID());
//0:全体人员、1分部、2部门
String type = Util.null2String(params.get("type"));

@ -4,14 +4,21 @@ import com.engine.common.biz.AbstractCommonCommand;
import com.engine.common.entity.BizLogContext;
import com.engine.common.util.DateUtil;
import com.engine.common.util.DbTools;
import com.engine.common.util.Utils;
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.math.BigDecimal;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors;
@Slf4j
public class HandleOverdueVocationCmd extends AbstractCommonCommand<Map<String,Object>> {
public HandleOverdueVocationCmd(Map<String,Object> params){
this.params=params;
@ -28,14 +35,134 @@ public class HandleOverdueVocationCmd extends AbstractCommonCommand<Map<String,O
if ("".equals(releaseDate)){
releaseDate = DateUtil.getCurrentDate();
}
String sql = "select a.id,a.jqid,a.ygid,a.wxsc,a.zfsc,a.sxrq,a.jzrq,a.yqsxrq,b.jb,b.jywxcl,b.yqsc,b.edkyqcs,b.yqhedzgxz from uf_jcl_kq_jqye a left join uf_jcl_kq_jqed b on a.jqid=b.jb where a.wxsc>0";
List<Map<String,Object>> holidayBalanceList = DbTools.getSqlToList(sql);
String sql = "select jb,jywxcl,yqsc,edkyqcs,yqhedzgxz from uf_jcl_kq_jqed where jywxcl in (0,1)";
List<Map<String,Object>> holidayRuleList = DbTools.getSqlToList(sql);
Set<String> jbsets = holidayRuleList.stream().map(e->e.get("jb").toString()).collect(Collectors.toSet());
sql = "select id,jqid,sxrq,jzrq,yqsxrq from uf_jcl_kq_jqye where yqsxrq<? and jqid in ("+String.join(",",jbsets)+")";
List<Map<String,Object>> holidayBalanceList = DbTools.getSqlToList(sql,releaseDate);
//需要作废的假期余额
String finalReleaseDate = releaseDate;
List<String> needCancelHolidayIds = holidayBalanceList.parallelStream().filter(e->"0".equals(e.get("jywxcl")) && DateUtil.getTime(finalReleaseDate).compareTo(DateUtil.getTime(e.get("yqsxrq").toString())) >0).map(e->e.get("id").toString()).collect(Collectors.toList());
//需要延长的假期余额
List<Map<String,Object>> needExtendHolidayList = holidayBalanceList.parallelStream().filter(e->"1".equals(e.get("jywxcl"))&& DateUtil.getTime(finalReleaseDate).compareTo(DateUtil.getTime(e.get("yqsxrq").toString())) >0 && needExtend(e)).collect(Collectors.toList());
//正在生效的假期余额
holidayBalanceList = holidayBalanceList.parallelStream().filter(e->DateUtil.getTime(finalReleaseDate).compareTo(DateUtil.getTime(e.get("yqsxrq").toString())) <=0).collect(Collectors.toList());
Map<String,List<Map<String,Object>>> holidayBalanceGroup = holidayBalanceList.stream().collect(Collectors.groupingBy(e->e.get("ygid")+"&"+e.get("jqid")));
/**
*
*/
sql = "update uf_jcl_kq_jqye set zfsc=wxsc,wxsc=0 where id in (";
List<List<String>> needCancelPartions = Lists.partition(needCancelHolidayIds,200);
for (List<String> list : needCancelPartions){
String updateSql = sql+String.join(",",list)+")";
log.info("needCancelPartions updateSql : [{}]",updateSql );
DbTools.update(updateSql);
}
Map<String,List<String>> updateData = Maps.newHashMap();
/**
*
*/
for (Map<String,Object> needExtendHoliday:needExtendHolidayList){
//失效日期
String jzrq = Util.null2String(needExtendHoliday.get("jzrq"));
//延期失效日期
String yqsxrq = Util.null2String(needExtendHoliday.get("yqsxrq"));
//延期后额度上限值
double yqhedzgxz =Utils.convertDouble(needExtendHoliday.get("yqhedzgxz"));
//延期时间
String yqsc = Util.null2String(needExtendHoliday.get("yqsc"));
//未休时长
double wxsc = Utils.convertDouble(needExtendHoliday.get("wxsc"));
//作废时长
double zfsc = Utils.convertDouble(needExtendHoliday.get("zfsc"));
String jqid = Util.null2String(needExtendHoliday.get("jqid"));
String ygid = Util.null2String(needExtendHoliday.get("ygid"));
int betweenMonths = DateUtil.getBetWeenMonths(jzrq,yqsxrq);
//目前延期的次数
int nowtimes = betweenMonths/getMonth(yqsc)+1;
int needExtendMonth = nowtimes*getMonth(yqsc);
//最终延期日期
String finalyqsxrq = DateUtil.nextMonth(jzrq,needExtendMonth,DateUtil.yyyyMMdd);
List<Map<String,Object>> havedHoliday = holidayBalanceGroup.get(ygid+"&"+jqid);
//需要延期的未休时长
double needExtendWxsc = wxsc;
//需要作废的未休时长
double needzfsc = zfsc;
if (havedHoliday != null && havedHoliday.size() > 0){
double havedHolidayTime = havedHoliday.stream().mapToDouble(e->Utils.convertDouble(e.get("wxsc"))).sum();
if (havedHolidayTime+wxsc > yqhedzgxz){
needExtendWxsc=Utils.subtract(yqhedzgxz,havedHolidayTime);
if (needExtendWxsc < 0){
needExtendWxsc = 0;
}
needzfsc = needzfsc+ Utils.subtract(wxsc,needExtendWxsc);
}
}
String key = finalyqsxrq+"&"+wxsc+"&"+needzfsc;
List<String> idList = updateData.get(key);
if (idList == null){
idList = Lists.newArrayList();
updateData.put(key,idList);
}
idList.add(needExtendHoliday.get("id").toString());
}
sql = "update uf_jcl_kq_jqye set yqsxrq=?,wxsc=?,zfsc=? where id in (";
for (Map.Entry<String,List<String>> entry: updateData.entrySet()){
String key = entry.getKey();
List<String> ids = entry.getValue();
List<List<String>> needExtendPartions = Lists.partition(ids,200);
for (List<String> list : needExtendPartions){
String updateSql = sql+String.join(",",list)+")";
log.info("needExtendPartions updateSql : [{}]",updateSql);
DbTools.update(updateSql,key.split("&")[0],key.split("&")[1],key.split("&")[2]);
}
}
return null;
}
public boolean needExtend(Map<String,Object> dataMap){
//额度可延期次数
int edkyqcs = Integer.valueOf(Util.null2String(dataMap.get("edkyqcs")));
int times = getExtendTimes(dataMap);
return times<edkyqcs;
}
//获得已延期多少次
public int getExtendTimes(Map<String,Object> dataMap){
//失效日期
String jzrq = Util.null2String(dataMap.get("jzrq"));
//延期失效日期
String yqsxrq = Util.null2String(dataMap.get("yqsxrq"));
//延期时长
String yqsc = Util.null2String(dataMap.get("yqsc"));
int betweenMonths = DateUtil.getBetWeenMonths(jzrq,yqsxrq);
int time = betweenMonths/getMonth(yqsc);
return time;
}
public int getMonth(String yqsc){
int month = 0;
if (yqsc.equals("0")){
month=1;
}else if (yqsc.equals("1")){
month=2;
}else if (yqsc.equals("2")){
month=3;
}else if (yqsc.equals("3")){
month=6;
}else if (yqsc.equals("4")){
month=12;
}
return month;
}
}

@ -5,7 +5,15 @@ import weaver.hrm.User;
import java.util.Map;
public interface VocationService {
/**
*
* @param params
*/
void generateVocation(Map<String,Object> params);
/**
*
* @param params
*/
void handleOverdueVocation(Map<String,Object> params);
}

@ -315,7 +315,7 @@ public class CommonUtil {
DetailTable[] detailtables = request.getDetailTableInfo().getDetailTable();// 获取明细表数据
if (detailtables.length > index) {
DetailTable dt = detailtables[index];// 获取明细表 0代表明细表1
log.info("getDetailTableInfo :[{}]",dt.getTableDBName());
Row[] rows = dt.getRow();// 获取明细表中所有行的信息
for (int i = 0; i < rows.length; i++) {
Row row = rows[i];// 获取具体行信息

@ -601,7 +601,7 @@ public class Utils<T> {
}
/**
*
*
* @param value1
* @param value2
* @return
@ -610,6 +610,13 @@ public class Utils<T> {
return new BigDecimal(value1).add(new BigDecimal(value2),new MathContext(BigDecimal.ROUND_HALF_UP)).doubleValue();
}
/**
*
* @param value1
* @param value2
* @return
*/
public static double multiply(double value1,double value2){
return new BigDecimal(value1).multiply(new BigDecimal(value2),new MathContext(BigDecimal.ROUND_HALF_UP)).doubleValue();

Binary file not shown.

@ -28,25 +28,8 @@ import java.util.stream.Collectors;
public class TestObj {
public static void main(String[] args) throws Exception{
List<Map<String,Object>> dataList = Lists.newArrayList();
dataList.add(new HashMap(){{
put("signdate","2024-05-06");
put("signtime","16:47");
}});
dataList.add(new HashMap(){{
put("signdate","2024-05-07");
put("signtime","16:47");
}});
dataList.add(new HashMap(){{
put("signdate","2024-05-04");
put("signtime","16:47");
}});
dataList.add(new HashMap(){{
put("signdate","2024-05-04");
put("signtime","17:47");
}});
dataList = dataList.stream().sorted(Comparator.comparing(e->DateUtil.getTime(e.get("signdate")+" "+e.get("signtime")).toInstant(ZoneOffset.of("+8")).toEpochMilli())).collect(Collectors.toList());
System.out.println(dataList);
System.out.println(4<3);
}
public static Map<String, Object> delCommon() {

@ -0,0 +1,31 @@
package calendarscheduling;
import TestAttendanceAllowance.beforlog;
import com.engine.attendance.component.calendarscheduling.service.WorkRulesService;
import com.engine.attendance.component.calendarscheduling.service.impl.WorkRulesServiceImpl;
import com.engine.common.util.ServiceUtil;
import com.google.common.collect.Maps;
import weaver.hrm.User;
import java.util.Map;
public class TestgetDepartSchedule extends beforlog {
private WorkRulesService getReportCollectService(User user) {
return ServiceUtil.getService(WorkRulesServiceImpl.class,user);
}
@org.junit.Test
public void test2() throws Exception{
Map<String,Object> param = Maps.newHashMap();
param.put("dateTime","2024-05");
param.put("pageSize","10");
param.put("pageindex","1");
param.put("deparment","");
param.put("type","0");
param.put("subcompany","521");
param.put("tableName","uf_pbjg");
User user = new User(23);
Map<String, Object> result =getReportCollectService(user).getDepartSchedule(param);
System.out.println(result);
}
}

@ -0,0 +1,23 @@
package vocation;
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 org.junit.Test;
import java.util.Map;
public class TestHandleOverdueVocation extends beforlog{
@Test
public void test1() {
Map<String,Object> params = Maps.newHashMap();
params.put("releaseDate","");
VocationService vocationService = ServiceUtil.getService(VocationServiceImpl.class);
vocationService.handleOverdueVocation(params);
}
}

@ -0,0 +1,142 @@
package vocation;
import org.easymock.EasyMock;
import org.junit.After;
import org.junit.Before;
import weaver.general.GCONST;
import weaver.hrm.User;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
public class beforlog {
@Before
public void init(){
GCONST.setRootPath("");
GCONST.setServerName("ecology");
System.out.println("----------------开始----------------");
}
@After
public void demoAfter() throws Exception{
System.out.println("-----------------结束---------------");
}
public HttpServletRequest CreateHttpServletOrmap(Map<String,Object> map){
HttpServletRequest httpServletRequest = (HttpServletRequest) EasyMock.createMock(HttpServletRequest.class);
// Map<String, String> map2 = new HashMap<>();
for (String key:map.keySet() ) {
// String[] values=
// map2.put(key,map.get(key).toString());
EasyMock.expect(httpServletRequest.getParameter(key)).andReturn(map.get(key).toString());
}
// EasyMock.expect(httpServletRequest.getParameterMap()).andReturn(map2);
EasyMock.expect(httpServletRequest.getParameter("2123")).andReturn("123");
HttpSession session = EasyMock.createStrictMock(HttpSession.class);
//session管理
EasyMock.expect(httpServletRequest.getParameter("f_weaver_belongto_userid")).andReturn("1");
EasyMock.expect(httpServletRequest.getParameter("f_weaver_belongto_usertype")).andReturn("0");
EasyMock.expect(session.getAttribute("weaver_user@bean")).andReturn(new User(290464));
EasyMock.expect(httpServletRequest.getSession(true)).andStubReturn(session);
EasyMock.replay(httpServletRequest, session);
return httpServletRequest;
}
public HttpServletRequest CreateHttpServletOr(Map<String,Object> map){
HttpServletRequest httpServletRequest = (HttpServletRequest) EasyMock.createMock(HttpServletRequest.class);
Map<String, String[]> map2 = new HashMap<>();
for (String key:map.keySet() ) {
// String[] values=
map2.put(key,map.get(key).toString().split(""));
EasyMock.expect(httpServletRequest.getParameter(key)).andReturn(map.get(key).toString());
}
// EasyMock.expect(httpServletRequest.getParameterMap()).andReturn(map2);
EasyMock.expect(httpServletRequest.getParameter("2123")).andReturn("123");
HttpSession session = EasyMock.createStrictMock(HttpSession.class);
//session管理
EasyMock.expect(httpServletRequest.getParameter("f_weaver_belongto_userid")).andReturn("26347");
EasyMock.expect(httpServletRequest.getParameter("f_weaver_belongto_usertype")).andReturn("0");
EasyMock.expect(session.getAttribute("weaver_user@bean")).andReturn(new User(26347));
EasyMock.expect(httpServletRequest.getSession(true)).andStubReturn(session);
EasyMock.replay(httpServletRequest, session);
return httpServletRequest;
}
public HttpServletRequest CreateHttpServletworkflowtodu(Map<String,Object> map,Map<String,String> headmap){
HttpServletRequest httpServletRequest = (HttpServletRequest) EasyMock.createMock(HttpServletRequest.class);
Map<String, String> map2 = new HashMap<>();
for (String key:map.keySet() ) {
// String[] values=
EasyMock.expect(httpServletRequest.getParameter(key)).andReturn(map.get(key).toString());
}
for (String key:headmap.keySet() ) {
// String[] values=
EasyMock.expect(httpServletRequest.getHeader(key)).andReturn(headmap.get(key).toString());
}
EasyMock.expect(httpServletRequest.getParameter("2123")).andReturn("123");
HttpSession session = EasyMock.createStrictMock(HttpSession.class);
//session管理
EasyMock.expect(httpServletRequest.getParameter("f_weaver_belongto_userid")).andReturn("26347");
EasyMock.expect(httpServletRequest.getParameter("f_weaver_belongto_usertype")).andReturn("0");
EasyMock.expect(session.getAttribute("weaver_user@bean")).andReturn(new User(26347));
EasyMock.expect(httpServletRequest.getSession(true)).andStubReturn(session);
EasyMock.replay(httpServletRequest, session);
return httpServletRequest;
}
public String getUrl(){
String value= this.getClass().getResource("/").getPath();
if(value.length()>1){
return value.substring(1,value.length()-1);
}
return value;
}
public String loadjson(String path) {
path=getUrl()+path;
String str = "";
try {
File file = new File(path);// 定义一个file对象用来初始化FileReader
FileReader reader = new FileReader(file);// 定义一个fileReader对象用来初始化BufferedReader
BufferedReader bReader = new BufferedReader(reader);// new一个BufferedReader对象将文件内容读取到缓存
StringBuilder sb = new StringBuilder();// 定义一个字符串缓存,将字符串存放缓存中
String s = "";
while ((s = bReader.readLine()) != null) {// 逐行读取文件内容,不读取换行符和末尾的空格
sb.append(s + "\n");// 将读取的字符串添加换行符后累加存放在缓存中
System.out.println(s);
}
bReader.close();
str = sb.toString();
return str;
} catch (IOException e) {
e.printStackTrace();
}
return str;
}
}

@ -2,6 +2,7 @@ package workflow;
import com.engine.attendance.vacation.service.VocationService;
import com.engine.attendance.vacation.service.impl.VocationServiceImpl;
import com.engine.attendance.workflow.action.askforleave.AskForLeaveWorkFlowSubmitAction;
import com.engine.attendance.workflow.service.AskForLeaveService;
import com.engine.attendance.workflow.service.impl.AskForLeaveServiceImpl;
import com.engine.common.util.CommonUtil;
@ -10,10 +11,14 @@ import com.engine.common.util.Utils;
import com.engine.cube.service.ModeImpExpService;
import com.engine.cube.service.impl.ModeImpExpServiceImpl;
import com.google.common.collect.Maps;
import com.google.gson.Gson;
import org.junit.Test;
import weaver.hrm.User;
import weaver.hrm.company.SubCompanyComInfo;
import weaver.soa.workflow.request.RequestInfo;
import java.lang.reflect.Type;
import java.util.List;
import java.util.Map;
public class Test1 extends beforlog {
@ -32,6 +37,19 @@ public class Test1 extends beforlog {
System.out.println(result);
}
@Test
public void test2() {
String str = "{cxqj='0', jqlx='134', cxjqj='3', qjzz='1', kssj='09:00', jssj='18:00', szjg='1', qjry='31', sjqjlx='134', ksrq='2024-05-29', scdw='1', mtcfsdjq='1', jsrq='2024-06-06', id='42', qjsc='7.00'}";
String str2 = "[{cxqj='0', ksrq='2024-05-29', qtj='0', btj='0', id='233', qjsc='1.00'}, {cxqj='0', ksrq='2024-05-30', qtj='0', btj='0', id='233', qjsc='1.00'}, {cxqj='0', ksrq='2024-05-31', qtj='0', btj='0', id='233', qjsc='1.00'}, {cxqj='0', ksrq='2024-06-01', qtj='0', btj='0', id='233', qjsc='1.00'}, {cxqj='0', ksrq='2024-06-04', qtj='0', btj='0', id='233', qjsc='1.00'}, {cxqj='0', ksrq='2024-06-05', qtj='0', btj='0', id='233', qjsc='1.00'}, {cxqj='0', ksrq='2024-06-06', qtj='0', btj='0', id='233', qjsc='1.00'}]";
Gson gson = new Gson();
Map<String,Object> param = gson.fromJson(str, (Type) Map.class);
List<Map<String,Object>> param2 = gson.fromJson(str2, (Type) List.class);
// System.out.println(param);
// System.out.println(param2);
AskForLeaveWorkFlowSubmitAction action = new AskForLeaveWorkFlowSubmitAction();
action.execute(new RequestInfo());
}
}

@ -562,6 +562,7 @@
data:data,
type:'GET',
dataType:'json',
async:false,
success:function(res){
console.log(res)
if (res.api_status){

Loading…
Cancel
Save