漏卡转旷工

zm_dev
liuliang 9 months ago
parent 88e44bc602
commit 7b5977b8ca

@ -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 <EFBFBD><EFBFBD>Y<EFBFBD>Y<EFBFBD>Y<EFBFBD>r<EFBFBD>t<EFBFBD><EFBFBD><EFBFBD>~<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>J<EFBFBD>I

@ -10,241 +10,124 @@
</component> </component>
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="baeb3dfb-5097-46c5-933e-6d1dab18b815" name="Changes" comment=""> <list default="true" id="baeb3dfb-5097-46c5-933e-6d1dab18b815" name="Changes" comment="">
<change afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/attendanceanalysis/cmd/getclockInpoint/biz/AdjustClockPointActionInterface.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" 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" 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.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.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/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$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" 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" />
<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$/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/api/attendance/allowance/AllowanceActionApi.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/api/jucailinkq/attendance/allowance/AllowanceActionApi.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/attendanceanalysis/cmd/ComputeAttendanceDurationCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/attendanceanalysis/cmd/ComputeAttendanceDurationCmd.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/api/attendance/attendanceAnalysis/AttendanceanalysisActionApi.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/api/jucailinkq/attendance/attendanceAnalysis/AttendanceanalysisActionApi.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/attendanceanalysis/cmd/GetAskForLeaveCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/attendanceanalysis/cmd/GetAskForLeaveCmd.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/api/attendance/attendancePlan/AttendancePlanActionApi.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/api/jucailinkq/attendance/attendancePlan/AttendancePlanActionApi.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/attendanceanalysis/cmd/GetEvectionCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/attendanceanalysis/cmd/GetEvectionCmd.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/api/attendance/browser/service/impl/KqxmBrowserService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/api/jucailinkq/attendance/browser/service/impl/KqxmBrowserService.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/attendanceanalysis/cmd/item/AbsenteeismItemCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/attendanceanalysis/cmd/item/AbsenteeismItemCmd.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/api/attendance/common/CommonActionApi.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/api/jucailinkq/attendance/common/CommonActionApi.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/attendanceanalysis/service/ForgetClockInService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/attendanceanalysis/service/ForgetClockInService.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/api/attendance/component/ImportAndExport/ExcelControllerApi.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/api/jucailinkq/attendance/component/ImportAndExport/ExcelControllerApi.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/attendanceanalysis/service/impl/ForgetClockInServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/attendanceanalysis/service/impl/ForgetClockInServiceImpl.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/api/attendance/component/calendarscheduling/WorkRulesControllerApi.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/api/jucailinkq/attendance/component/calendarscheduling/WorkRulesControllerApi.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/attendanceanalysis/web/AttendanceanalysisAction.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/attendanceanalysis/web/AttendanceanalysisAction.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/api/attendance/component/persongroup/PersonGroupActionApi.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/api/jucailinkq/attendance/component/persongroup/PersonGroupActionApi.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/attendanceanalysis/wrapper/UpdateAttendanceResultWrapper.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/attendanceanalysis/wrapper/UpdateAttendanceResultWrapper.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/api/attendance/component/persongroup/SchedulingResultsActionApi.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/api/jucailinkq/attendance/component/persongroup/SchedulingResultsActionApi.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/attendanceanalysis/cmd/ComputeAttendanceDurationCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/attendanceanalysis/cmd/ComputeAttendanceDurationCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/api/attendance/enterpriseCalendar/EnterpriseCalendarActionApi.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/api/jucailinkq/attendance/enterpriseCalendar/EnterpriseCalendarActionApi.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/attendanceanalysis/cmd/GetAskForLeaveCmd$1.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/attendanceanalysis/cmd/GetAskForLeaveCmd$1.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/api/attendance/listener/InitListener.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/api/jucailinkq/attendance/listener/InitListener.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/attendanceanalysis/cmd/GetAskForLeaveCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/attendanceanalysis/cmd/GetAskForLeaveCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/api/attendance/summary/AttendanceSummaryActionApi.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/api/jucailinkq/attendance/summary/AttendanceSummaryActionApi.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/attendanceanalysis/cmd/GetClockInTimeListCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/attendanceanalysis/cmd/GetClockInTimeListCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/api/attendance/vocation/VocationActionApi.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/api/jucailinkq/attendance/vocation/VocationActionApi.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/attendanceanalysis/cmd/GetEvectionCmd$1.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/attendanceanalysis/cmd/GetEvectionCmd$1.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/api/attendance/workflow/AskForLeaveActionApi.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/api/jucailinkq/attendance/workflow/AskForLeaveActionApi.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/attendanceanalysis/cmd/GetEvectionCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/attendanceanalysis/cmd/GetEvectionCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/api/attendance/workflow/BusinessTripsApplyActionApi.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/api/jucailinkq/attendance/workflow/BusinessTripsApplyActionApi.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/attendanceanalysis/cmd/GetScheduleResultListCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/attendanceanalysis/cmd/GetScheduleResultListCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/api/attendance/workflow/ProcessSubmitCheckActionApi.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/api/jucailinkq/attendance/workflow/ProcessSubmitCheckActionApi.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/attendanceanalysis/cmd/getclockInpoint/AdjustByWorkOverTimeCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/attendanceanalysis/cmd/getclockInpoint/AdjustByWorkOverTimeCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/README.md" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/attendanceanalysis/README.md" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/attendanceanalysis/cmd/getclockInpoint/GetClockInPointCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/attendanceanalysis/cmd/getclockInpoint/GetClockInPointCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/ComputeAttendanceDurationCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/attendanceanalysis/cmd/ComputeAttendanceDurationCmd.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/attendanceanalysis/cmd/getclockInpoint/MergeApairClockPoint.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/attendanceanalysis/cmd/getclockInpoint/MergeApairClockPoint.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/GetAskForLeaveCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/attendanceanalysis/cmd/GetAskForLeaveCmd.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/attendanceanalysis/cmd/item/AbsenteeismItemCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/attendanceanalysis/cmd/item/AbsenteeismItemCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/GetClockInTimeListCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/attendanceanalysis/cmd/GetClockInTimeListCmd.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/attendanceanalysis/cmd/item/BeAwayItemCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/attendanceanalysis/cmd/item/BeAwayItemCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/GetEvectionCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/attendanceanalysis/cmd/GetEvectionCmd.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/attendanceanalysis/cmd/item/BeLateItemCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/attendanceanalysis/cmd/item/BeLateItemCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/GetScheduleResultListCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/attendanceanalysis/cmd/GetScheduleResultListCmd.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/attendanceanalysis/cmd/item/ForGetClockItemCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/attendanceanalysis/cmd/item/ForGetClockItemCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/RecordDataCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/attendanceanalysis/cmd/RecordDataCmd.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/attendanceanalysis/cmd/item/LeaveEarlyItemCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/attendanceanalysis/cmd/item/LeaveEarlyItemCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/getclockInpoint/AdjustByWorkOverTimeCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/attendanceanalysis/cmd/getclockInpoint/AdjustByWorkOverTimeCmd.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/attendanceanalysis/cmd/item/VacationItemCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/attendanceanalysis/cmd/item/VacationItemCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/getclockInpoint/GetClockInPointCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/attendanceanalysis/cmd/getclockInpoint/GetClockInPointCmd.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/attendanceanalysis/cmd/item/WorkOvertimeItemCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/attendanceanalysis/cmd/item/WorkOvertimeItemCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/getclockInpoint/MergeApairClockPoint.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/attendanceanalysis/cmd/getclockInpoint/MergeApairClockPoint.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/attendanceanalysis/cmd/workovertime/GetOvertimeDurationCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/attendanceanalysis/cmd/workovertime/GetOvertimeDurationCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/getclockInpoint/biz/AbstractAdjustClockPointAction.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/attendanceanalysis/cmd/getclockInpoint/biz/AbstractAdjustClockPointAction.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/attendanceanalysis/cmd/workovertime/SaveWorkOverTimeCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/attendanceanalysis/cmd/workovertime/SaveWorkOverTimeCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/getclockInpoint/biz/AdjustClockPointActionInterface.java" beforeDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/attendanceanalysis/job/AttendanceAnalysisJob.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/attendanceanalysis/job/AttendanceAnalysisJob.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/item/AbsenteeismItemCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/attendanceanalysis/cmd/item/AbsenteeismItemCmd.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/attendanceanalysis/service/ForgetClockInService.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/attendanceanalysis/service/ForgetClockInService.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/item/BeAwayItemCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/attendanceanalysis/cmd/item/BeAwayItemCmd.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/attendanceanalysis/service/impl/AbnormalAttendanceServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/attendanceanalysis/service/impl/AbnormalAttendanceServiceImpl.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/item/BeLateItemCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/attendanceanalysis/cmd/item/BeLateItemCmd.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/attendanceanalysis/service/impl/AllowanceServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/attendanceanalysis/service/impl/AllowanceServiceImpl.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/item/ForGetClockItemCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/attendanceanalysis/cmd/item/ForGetClockItemCmd.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/attendanceanalysis/service/impl/AskForLeaveServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/attendanceanalysis/service/impl/AskForLeaveServiceImpl.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/item/LeaveEarlyItemCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/attendanceanalysis/cmd/item/LeaveEarlyItemCmd.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/attendanceanalysis/service/impl/AttendanceSummaryServiceImpl$1.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/attendanceanalysis/service/impl/AttendanceSummaryServiceImpl$1.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/item/VacationItemCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/attendanceanalysis/cmd/item/VacationItemCmd.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/attendanceanalysis/service/impl/AttendanceSummaryServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/attendanceanalysis/service/impl/AttendanceSummaryServiceImpl.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/item/WorkOvertimeItemCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/attendanceanalysis/cmd/item/WorkOvertimeItemCmd.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/attendanceanalysis/service/impl/ComprehensiveWorkingHourServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/attendanceanalysis/service/impl/ComprehensiveWorkingHourServiceImpl.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/workovertime/GetOvertimeDurationCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/attendanceanalysis/cmd/workovertime/GetOvertimeDurationCmd.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/attendanceanalysis/service/impl/EvectionServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/attendanceanalysis/service/impl/EvectionServiceImpl.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/workovertime/SaveWorkOverTimeCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/attendanceanalysis/cmd/workovertime/SaveWorkOverTimeCmd.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/attendanceanalysis/service/impl/ForgetClockInServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/attendanceanalysis/service/impl/ForgetClockInServiceImpl.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/dto/clockpoint/ClockPointDTO.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/attendanceanalysis/dto/clockpoint/ClockPointDTO.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/attendanceanalysis/service/impl/ShiftServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/attendanceanalysis/service/impl/ShiftServiceImpl.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/dto/clockpoint/ClockPointInfo.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/attendanceanalysis/dto/clockpoint/ClockPointInfo.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/attendanceanalysis/service/impl/UtilServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/attendanceanalysis/service/impl/UtilServiceImpl.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/job/AttendanceAnalysisJob.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/attendanceanalysis/job/AttendanceAnalysisJob.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/attendanceanalysis/service/impl/WorkOverTimeServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/attendanceanalysis/service/impl/WorkOverTimeServiceImpl.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/service/AbnormalAttendanceService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/attendanceanalysis/service/AbnormalAttendanceService.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/attendanceanalysis/web/AttendanceanalysisAction.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/attendanceanalysis/web/AttendanceanalysisAction.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/service/AllowanceService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/attendanceanalysis/service/AllowanceService.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/attendanceanalysis/wrapper/AttendanceAnalysisWrapper.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/attendanceanalysis/wrapper/AttendanceAnalysisWrapper.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/service/AskForLeaveService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/attendanceanalysis/service/AskForLeaveService.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/attendanceanalysis/wrapper/UpdateAttendanceResultWrapper$1.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/attendanceanalysis/wrapper/UpdateAttendanceResultWrapper$1.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/service/AttendanceSummaryService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/attendanceanalysis/service/AttendanceSummaryService.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/attendanceanalysis/wrapper/UpdateAttendanceResultWrapper.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/attendanceanalysis/wrapper/UpdateAttendanceResultWrapper.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/service/ComprehensiveWorkingHourService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/attendanceanalysis/service/ComprehensiveWorkingHourService.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/attendanceplan/cmd/GetAttendanceItemsByPersonDataCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/attendanceplan/cmd/GetAttendanceItemsByPersonDataCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/service/EvectionService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/attendanceanalysis/service/EvectionService.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/attendanceplan/cmd/GetWorkHoursItemByPersonCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/attendanceplan/cmd/GetWorkHoursItemByPersonCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/service/ForgetClockInService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/attendanceanalysis/service/ForgetClockInService.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/component/ImportAndExport/service/impl/ExcelExportImportServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/component/ImportAndExport/service/impl/ExcelExportImportServiceImpl.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/service/ShiftService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/attendanceanalysis/service/ShiftService.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/component/ImportAndExport/web/ExcelController.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/component/ImportAndExport/web/ExcelController.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/service/UtilService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/attendanceanalysis/service/UtilService.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/component/calendarscheduling/service/impl/WorkRulesServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/component/calendarscheduling/service/impl/WorkRulesServiceImpl.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/service/WorkOverTimeService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/attendanceanalysis/service/WorkOverTimeService.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/component/persongroup/cmd/GenerateScheduleCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/component/persongroup/cmd/GenerateScheduleCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/service/impl/AbnormalAttendanceServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/attendanceanalysis/service/impl/AbnormalAttendanceServiceImpl.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/component/persongroup/cmd/GetDatatableRecurrenceCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/component/persongroup/cmd/GetDatatableRecurrenceCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/service/impl/AllowanceServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/attendanceanalysis/service/impl/AllowanceServiceImpl.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/component/persongroup/commonutil/PersongroupCommonUtil.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/component/persongroup/commonutil/PersongroupCommonUtil.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/service/impl/AskForLeaveServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/attendanceanalysis/service/impl/AskForLeaveServiceImpl.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/component/persongroup/job/scheduling/SchedulingJob.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/component/persongroup/job/scheduling/SchedulingJob.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/service/impl/AttendanceSummaryServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/attendanceanalysis/service/impl/AttendanceSummaryServiceImpl.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/component/persongroup/job/scheduling/tactics/DayRegularScheduling.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/component/persongroup/job/scheduling/tactics/DayRegularScheduling.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/service/impl/ComprehensiveWorkingHourServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/attendanceanalysis/service/impl/ComprehensiveWorkingHourServiceImpl.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/component/persongroup/job/scheduling/tactics/MonthRegularScheduling.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/component/persongroup/job/scheduling/tactics/MonthRegularScheduling.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/service/impl/EvectionServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/attendanceanalysis/service/impl/EvectionServiceImpl.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/component/persongroup/job/scheduling/tactics/WeekRegularScheduling.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/component/persongroup/job/scheduling/tactics/WeekRegularScheduling.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/service/impl/ForgetClockInServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/attendanceanalysis/service/impl/ForgetClockInServiceImpl.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/component/persongroup/job/scheduling/tactics/YearRegularScheduling.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/component/persongroup/job/scheduling/tactics/YearRegularScheduling.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/service/impl/ShiftServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/attendanceanalysis/service/impl/ShiftServiceImpl.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/component/persongroup/service/impl/PersonGroupServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/component/persongroup/service/impl/PersonGroupServiceImpl.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/service/impl/UtilServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/attendanceanalysis/service/impl/UtilServiceImpl.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/vacation/cmd/HandleOverdueVocationCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/vacation/cmd/HandleOverdueVocationCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/service/impl/WorkOverTimeServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/attendanceanalysis/service/impl/WorkOverTimeServiceImpl.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/vacation/cmd/VocationCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/vacation/cmd/VocationCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/web/AttendanceJucailinButtonAction.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/attendanceanalysis/web/AttendanceJucailinButtonAction.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/vacation/job/holidaygeneration/tactics/OneTimePayMentWay.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/vacation/job/holidaygeneration/tactics/OneTimePayMentWay.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/web/AttendanceSummaryApi.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/attendanceanalysis/web/AttendanceSummaryApi.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/vacation/service/impl/VocationServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/vacation/service/impl/VocationServiceImpl.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/web/AttendanceanalysisAction.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/attendanceanalysis/web/AttendanceanalysisAction.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/vacation/util/VocationCommonUtil.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/vacation/util/VocationCommonUtil.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/wrapper/AttendanceAnalysisWrapper.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/attendanceanalysis/wrapper/AttendanceAnalysisWrapper.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/workflow/action/EliminationsAskForLeaveAction.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/workflow/action/EliminationsAskForLeaveAction.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/wrapper/UpdateAttendanceResultWrapper.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/attendanceanalysis/wrapper/UpdateAttendanceResultWrapper.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/workflow/action/EliminationsEvctionCheckAction.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/workflow/action/EliminationsEvctionCheckAction.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceplan/README.md" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/attendanceplan/README.md" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/workflow/action/EvctionCheckAction.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/workflow/action/EvctionCheckAction.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceplan/cmd/GetAttendanceItemsByPersonDataCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/attendanceplan/cmd/GetAttendanceItemsByPersonDataCmd.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/workflow/action/MakeUpClockInAction.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/workflow/action/MakeUpClockInAction.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceplan/cmd/GetWorkHoursItemByPersonCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/attendanceplan/cmd/GetWorkHoursItemByPersonCmd.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/workflow/action/OvertimePlanCheckAction.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/workflow/action/OvertimePlanCheckAction.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceplan/service/AttendancePlanService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/attendanceplan/service/AttendancePlanService.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/workflow/action/OvertimeResultCheckAction.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/workflow/action/OvertimeResultCheckAction.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceplan/service/impl/AttendancePlanServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/attendanceplan/service/impl/AttendancePlanServiceImpl.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/workflow/action/RevokeEliminationsAskForLeaveAction.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/workflow/action/RevokeEliminationsAskForLeaveAction.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceplan/web/AttendancePlanAction.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/attendanceplan/web/AttendancePlanAction.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/workflow/action/RevokeLeaveAction.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/workflow/action/RevokeLeaveAction.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/component/AttendanceItem/service/AttendanceItemService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/component/AttendanceItem/service/AttendanceItemService.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/workflow/action/askforleave/AskForLeaveWorkFlowArchivingAction.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/workflow/action/askforleave/AskForLeaveWorkFlowArchivingAction.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/component/AttendanceItem/service/impl/AttendanceItemServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/component/AttendanceItem/service/impl/AttendanceItemServiceImpl.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/workflow/action/askforleave/AskForLeaveWorkFlowSubmitAction.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/workflow/action/askforleave/AskForLeaveWorkFlowSubmitAction.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/component/ImportAndExport/service/ExcelExportImportService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/component/ImportAndExport/service/ExcelExportImportService.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/workflow/action/askforleave/BatchAskForLeaveWorkFlowArchivingAction.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/workflow/action/askforleave/BatchAskForLeaveWorkFlowArchivingAction.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/component/ImportAndExport/service/impl/ExcelExportImportServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/component/ImportAndExport/service/impl/ExcelExportImportServiceImpl.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/workflow/action/askforleave/BatchAskForLeaveWorkFlowSubmitAction.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/workflow/action/askforleave/BatchAskForLeaveWorkFlowSubmitAction.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/component/ImportAndExport/service/param/ImportParam.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/component/ImportAndExport/service/param/ImportParam.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/workflow/cmd/GetEliminationsEvctionListCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/workflow/cmd/GetEliminationsEvctionListCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/component/ImportAndExport/web/ExcelController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/component/ImportAndExport/web/ExcelController.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/workflow/cmd/GetKqCycleTimeIntervalCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/workflow/cmd/GetKqCycleTimeIntervalCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/component/README.md" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/component/README.md" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/workflow/cmd/GetRestDayIntervalCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/workflow/cmd/GetRestDayIntervalCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/component/calendarscheduling/service/WorkRulesService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/component/calendarscheduling/service/WorkRulesService.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/workflow/service/impl/AllowanceServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/workflow/service/impl/AllowanceServiceImpl.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/component/calendarscheduling/service/impl/WorkRulesServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/component/calendarscheduling/service/impl/WorkRulesServiceImpl.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/workflow/service/impl/AskForLeaveServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/attendance/workflow/service/impl/AskForLeaveServiceImpl.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/component/calendarscheduling/web/WorkRulesController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/component/calendarscheduling/web/WorkRulesController.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/common/cmd/GetPersonDateBySuitOrganzation.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/common/cmd/GetPersonDateBySuitOrganzation.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/cmd/DeleteBatchScheduleCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/component/persongroup/cmd/DeleteBatchScheduleCmd.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/common/util/CommonUtil.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/common/util/CommonUtil.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/cmd/GenerateScheduleCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/component/persongroup/cmd/GenerateScheduleCmd.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/common/util/DbTools.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/common/util/DbTools.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/cmd/GetDatatableCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/component/persongroup/cmd/GetDatatableCmd.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/common/util/Utils.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailinkq/common/util/Utils.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/cmd/GetDatatableCountCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/component/persongroup/cmd/GetDatatableCountCmd.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/test-classes/Test$1.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/test-classes/Test$1.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/cmd/GetDatatableRecurrenceCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/component/persongroup/cmd/GetDatatableRecurrenceCmd.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/test-classes/Test$10.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/test-classes/Test$10.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/commonutil/PersongroupCommonUtil.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/component/persongroup/commonutil/PersongroupCommonUtil.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/test-classes/Test$11.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/test-classes/Test$11.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/job/scheduling/SchedulingJob.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/component/persongroup/job/scheduling/SchedulingJob.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/test-classes/Test$12.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/test-classes/Test$12.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/job/scheduling/tactics/DayRegularScheduling.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/component/persongroup/job/scheduling/tactics/DayRegularScheduling.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/test-classes/Test$13.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/test-classes/Test$13.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/job/scheduling/tactics/MonthRegularScheduling.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/component/persongroup/job/scheduling/tactics/MonthRegularScheduling.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/test-classes/Test$14.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/test-classes/Test$14.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/job/scheduling/tactics/RegularScheduling.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/component/persongroup/job/scheduling/tactics/RegularScheduling.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/test-classes/Test$15.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/test-classes/Test$15.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/job/scheduling/tactics/WeekRegularScheduling.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/component/persongroup/job/scheduling/tactics/WeekRegularScheduling.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/test-classes/Test$16.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/test-classes/Test$16.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/job/scheduling/tactics/YearRegularScheduling.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/component/persongroup/job/scheduling/tactics/YearRegularScheduling.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/test-classes/Test$2.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/test-classes/Test$2.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/service/PersonGroupService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/component/persongroup/service/PersonGroupService.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/test-classes/Test$3.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/test-classes/Test$3.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/service/SchedulingResultsService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/component/persongroup/service/SchedulingResultsService.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/test-classes/Test$4.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/test-classes/Test$4.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/service/impl/PersonGroupServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/component/persongroup/service/impl/PersonGroupServiceImpl.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/test-classes/Test$5.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/test-classes/Test$5.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/service/impl/SchedulingResultsServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/component/persongroup/service/impl/SchedulingResultsServiceImpl.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/test-classes/Test$6.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/test-classes/Test$6.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/web/PersonGroupAction.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/component/persongroup/web/PersonGroupAction.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/test-classes/Test$7.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/test-classes/Test$7.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/web/SchedulingResultsAction.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/component/persongroup/web/SchedulingResultsAction.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/test-classes/Test$8.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/test-classes/Test$8.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/enums/AccountingUnitEnum.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/enums/AccountingUnitEnum.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/test-classes/Test$9.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/test-classes/Test$9.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/enums/AdjustStartingTimeEnum.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/enums/AdjustStartingTimeEnum.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/test-classes/Test.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/test-classes/Test.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/enums/ApplicableOrganizationEnum.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/enums/ApplicableOrganizationEnum.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/test-classes/TestAttendanceAllowance/Test.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/test-classes/TestAttendanceAllowance/Test.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/enums/AttendanceItemTypeEnum.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/enums/AttendanceItemTypeEnum.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$/src/com/engine/attendance/enums/BalanceHandleEnum.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/enums/BalanceHandleEnum.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/test-classes/TestMergeAskForLeaveAndEvctionSchedule.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/test-classes/TestMergeAskForLeaveAndEvctionSchedule.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/enums/CheckBoxEnum.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/enums/CheckBoxEnum.java" afterDir="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$/src/com/engine/attendance/enums/ClassBelongToEnum.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/enums/ClassBelongToEnum.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/test-classes/Tset_sy.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/test-classes/Tset_sy.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/enums/ClassSegmentTypeEnum.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/enums/ClassSegmentTypeEnum.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/test-classes/shuju/Test.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/test-classes/shuju/Test.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/enums/ClockPointEnum.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/enums/ClockPointEnum.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/test-classes/workflow/UpdateAttendanceResultWrapper.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/test-classes/workflow/UpdateAttendanceResultWrapper.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/enums/DateTypeEnum.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/enums/DateTypeEnum.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/enums/DelayTypeEnum.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/enums/DelayTypeEnum.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/enums/HalfDayRuleREnum.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/enums/HalfDayRuleREnum.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/enums/PeriodOfTime.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/enums/PeriodOfTime.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/enums/PersonGroupListTypeEnum.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/enums/PersonGroupListTypeEnum.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/enums/QuotaChangeMethodEnum.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/enums/QuotaChangeMethodEnum.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/enums/RegularScheduleTypeEnum.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/enums/RegularScheduleTypeEnum.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/enums/RemainderHandleEnum.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/enums/RemainderHandleEnum.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/enums/SchedulingApproachEnum.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/enums/SchedulingApproachEnum.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/enums/StartingUnitEnum.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/enums/StartingUnitEnum.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/enums/SystemItemEnum.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/enums/SystemItemEnum.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/enums/WorkForTimeEnum.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/enums/WorkForTimeEnum.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/vacation/README.md" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/vacation/README.md" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/vacation/cmd/HandleOverdueVocationCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/vacation/cmd/HandleOverdueVocationCmd.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/vacation/cmd/VocationCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/vacation/cmd/VocationCmd.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/vacation/job/holidaygeneration/HolidayGenerationJob.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/vacation/job/holidaygeneration/HolidayGenerationJob.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/vacation/job/holidaygeneration/tactics/ByIntervalPayMentWay.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/vacation/job/holidaygeneration/tactics/ByIntervalPayMentWay.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/vacation/job/holidaygeneration/tactics/BySchedulePaymentWay.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/vacation/job/holidaygeneration/tactics/BySchedulePaymentWay.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/vacation/job/holidaygeneration/tactics/HolidayGenerationWay.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/vacation/job/holidaygeneration/tactics/HolidayGenerationWay.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/jucailinkq/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/jucailinkq/attendance/vacation/job/holidaygeneration/tactics/SinglePaymentInFullWay.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/vacation/service/VocationService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/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/jucailinkq/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/jucailinkq/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/jucailinkq/attendance/vacation/web/VocationAction.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/workflow/README.md" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/workflow/README.md" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/workflow/action/EliminationsAskForLeaveAction.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/workflow/action/EliminationsAskForLeaveAction.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/workflow/action/EliminationsEvctionCheckAction.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/workflow/action/EliminationsEvctionCheckAction.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/workflow/action/EvctionCheckAction.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/workflow/action/EvctionCheckAction.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/workflow/action/MakeUpClockImportAction.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/workflow/action/MakeUpClockImportAction.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/workflow/action/MakeUpClockInAction.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/workflow/action/MakeUpClockInAction.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/workflow/action/OvertimePlanCheckAction.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/workflow/action/OvertimePlanCheckAction.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/workflow/action/OvertimeResultCheckAction.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/workflow/action/OvertimeResultCheckAction.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/workflow/action/RevokeEliminationsAskForLeaveAction.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/workflow/action/RevokeEliminationsAskForLeaveAction.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/workflow/action/RevokeLeaveAction.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/workflow/action/RevokeLeaveAction.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/workflow/action/askforleave/AskForLeaveWorkFlowArchivingAction.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/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/jucailinkq/attendance/workflow/action/askforleave/AskForLeaveWorkFlowSubmitAction.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/workflow/action/askforleave/BatchAskForLeaveWorkFlowArchivingAction.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/workflow/action/askforleave/BatchAskForLeaveWorkFlowArchivingAction.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/workflow/action/askforleave/BatchAskForLeaveWorkFlowSubmitAction.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/workflow/action/askforleave/BatchAskForLeaveWorkFlowSubmitAction.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/workflow/cmd/GetAskForLeaveRecordListCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/workflow/cmd/GetAskForLeaveRecordListCmd.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/workflow/cmd/GetCqSummarySearchConditionCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/workflow/cmd/GetCqSummarySearchConditionCmd.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/workflow/cmd/GetEliminationsEvctionListCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/workflow/cmd/GetEliminationsEvctionListCmd.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/workflow/cmd/GetKqCycleTimeIntervalCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/workflow/cmd/GetKqCycleTimeIntervalCmd.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/workflow/cmd/GetRestDayIntervalCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/workflow/cmd/GetRestDayIntervalCmd.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/workflow/enums/AskAndEvctionWayEnum.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/workflow/enums/AskAndEvctionWayEnum.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/workflow/service/AllowanceService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/workflow/service/AllowanceService.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/workflow/service/AskForLeaveService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/workflow/service/AskForLeaveService.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/workflow/service/BusinessTripsApplyService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/workflow/service/BusinessTripsApplyService.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/workflow/service/EnterpriseCalendarService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/workflow/service/EnterpriseCalendarService.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/workflow/service/MakeUpClockInService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/workflow/service/MakeUpClockInService.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/workflow/service/ProcessSubmitCheckService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/workflow/service/ProcessSubmitCheckService.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/workflow/service/impl/AllowanceServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/workflow/service/impl/AllowanceServiceImpl.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/workflow/service/impl/AskForLeaveServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/workflow/service/impl/AskForLeaveServiceImpl.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/workflow/service/impl/BusinessTripsApplyServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/workflow/service/impl/BusinessTripsApplyServiceImpl.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/workflow/service/impl/EnterpriseCalendarServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/workflow/service/impl/EnterpriseCalendarServiceImpl.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/workflow/service/impl/MakeUpClockInServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/workflow/service/impl/MakeUpClockInServiceImpl.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/workflow/service/impl/ProcessSubmitCheckServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/workflow/service/impl/ProcessSubmitCheckServiceImpl.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/workflow/web/AllowanceApi.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/workflow/web/AllowanceApi.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/workflow/web/AskForLeaveAction.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/workflow/web/AskForLeaveAction.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/workflow/web/BusinessTripsApplyApi.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/workflow/web/BusinessTripsApplyApi.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/workflow/web/EnterpriseCalendarApi.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/workflow/web/EnterpriseCalendarApi.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/workflow/web/MakeUpClockInAction.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/workflow/web/MakeUpClockInAction.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/workflow/web/ProcessSubmitCheckApi.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/workflow/web/ProcessSubmitCheckApi.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/common/cmd/GetDateCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/common/cmd/GetDateCmd.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/common/cmd/GetPersonDateBySuitOrganzation.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/common/cmd/GetPersonDateBySuitOrganzation.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/common/cmd/QueryCommonCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/common/cmd/QueryCommonCmd.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/common/exception/AttendanceRunTimeException.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/common/exception/AttendanceRunTimeException.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/common/exception/ExceptionUtil.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/common/exception/ExceptionUtil.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/common/service/CommonService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/common/service/CommonService.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/common/service/impl/CommonServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/common/service/impl/CommonServiceImpl.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/common/util/ApiReturnTools.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/common/util/ApiReturnTools.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/common/util/CommonUtil.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/common/util/CommonUtil.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/common/util/Constant.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/common/util/Constant.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/common/util/DateUtil.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/common/util/DateUtil.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/common/util/DbTools.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/common/util/DbTools.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/common/util/ExceptionUtil.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/common/util/ExceptionUtil.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/common/util/ExtensionClassHolder.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/common/util/ExtensionClassHolder.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/common/util/LunarCalendar.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/common/util/LunarCalendar.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/common/util/ResponseResult.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/common/util/ResponseResult.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/common/util/SolarTermsUtil.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/common/util/SolarTermsUtil.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/common/util/Utils.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/common/util/Utils.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/common/util/excel/ExcelParseException.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/common/util/excel/ExcelParseException.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/common/util/excel/ExcelParseHelper.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/common/util/excel/ExcelParseHelper.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/common/util/excel/ExcelProperty.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/common/util/excel/ExcelProperty.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/common/util/excel/ExcelSupport.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/common/util/excel/ExcelSupport.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/common/util/excel/ExcelUtil.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/common/util/excel/ExcelUtil.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/common/util/genid/DefaultWorker.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/common/util/genid/DefaultWorker.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/common/util/genid/IdGenerator.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/common/util/genid/IdGenerator.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/common/util/genid/SnowflakeId.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/common/util/genid/SnowflakeId.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/common/util/genid/Worker.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/common/util/genid/Worker.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/common/web/CommonAction.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailinkq/common/web/CommonAction.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/weaver/formmode/customjavacode/modeexpand/DeleteCheckCalendar.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/weaver/formmode/customjavacode/modeexpand/DeleteCheckCalendar.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/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$/test/ComprehensiveWorkingHourServiceImpl/Test1.java" beforeDir="false" afterPath="$PROJECT_DIR$/test/ComprehensiveWorkingHourServiceImpl/Test1.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/test/Test.java" beforeDir="false" afterPath="$PROJECT_DIR$/test/Test.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/test/Test.java" beforeDir="false" afterPath="$PROJECT_DIR$/test/Test.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/test/TestAskForLeaveByDurationTime.java" beforeDir="false" afterPath="$PROJECT_DIR$/test/TestAskForLeaveByDurationTime.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/test/TestAttendanceAllowance/Test.java" beforeDir="false" afterPath="$PROJECT_DIR$/test/TestAttendanceAllowance/Test.java" afterDir="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/TestByIntervalPayMentWay.java" beforeDir="false" afterPath="$PROJECT_DIR$/test/TestByIntervalPayMentWay.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/test/TestBySchedulePaymentWay.java" beforeDir="false" afterPath="$PROJECT_DIR$/test/TestBySchedulePaymentWay.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/test/TestGetClockInPoint.java" beforeDir="false" afterPath="$PROJECT_DIR$/test/TestGetClockInPoint.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/test/TestMergeAskForLeaveAndEvctionSchedule.java" beforeDir="false" afterPath="$PROJECT_DIR$/test/TestMergeAskForLeaveAndEvctionSchedule.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/test/TestMethod.java" beforeDir="false" afterPath="$PROJECT_DIR$/test/TestMethod.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/test/TestObj.java" beforeDir="false" afterPath="$PROJECT_DIR$/test/TestObj.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/test/TestOneTimePayMentWay.java" beforeDir="false" afterPath="$PROJECT_DIR$/test/TestOneTimePayMentWay.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/test/TestRecordData.java" beforeDir="false" afterPath="$PROJECT_DIR$/test/TestRecordData.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/test/TestRemoveRestTime.java" beforeDir="false" afterPath="$PROJECT_DIR$/test/TestRemoveRestTime.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/test/TestSinglePaymentFullWay.java" beforeDir="false" afterPath="$PROJECT_DIR$/test/TestSinglePaymentFullWay.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/test/Tset_sy.java" beforeDir="false" afterPath="$PROJECT_DIR$/test/Tset_sy.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/test/calendarscheduling/Test1.java" beforeDir="false" afterPath="$PROJECT_DIR$/test/calendarscheduling/Test1.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/test/calendarscheduling/TestgetDepartSchedule.java" beforeDir="false" afterPath="$PROJECT_DIR$/test/calendarscheduling/TestgetDepartSchedule.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/test/calendarscheduling/Testmain.java" beforeDir="false" afterPath="$PROJECT_DIR$/test/calendarscheduling/Testmain.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/test/shuju/Test.java" beforeDir="false" afterPath="$PROJECT_DIR$/test/shuju/Test.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/TestHandleOverdueVocation.java" beforeDir="false" afterPath="$PROJECT_DIR$/test/vocation/TestHandleOverdueVocation.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/test/web/TestSchedulingResultsAction.java" beforeDir="false" afterPath="$PROJECT_DIR$/test/web/TestSchedulingResultsAction.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$/test/workflow/UpdateAttendanceResultWrapper.java" beforeDir="false" afterPath="$PROJECT_DIR$/test/workflow/UpdateAttendanceResultWrapper.java" afterDir="false" />
</list> </list>
<option name="SHOW_DIALOG" value="false" /> <option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" /> <option name="HIGHLIGHT_CONFLICTS" value="true" />
@ -287,7 +170,7 @@
<property name="WebServerToolWindowFactoryState" value="false" /> <property name="WebServerToolWindowFactoryState" value="false" />
<property name="com.intellij.ide.scratch.ScratchImplUtil$2/New Scratch File" value="PLAIN_TEXT" /> <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_directory_selection" value="$PROJECT_DIR$/src/com/engine/kq" />
<property name="last_opened_file_path" value="$PROJECT_DIR$/../../../easyentry" /> <property name="last_opened_file_path" value="$PROJECT_DIR$/test" />
<property name="nodejs_package_manager_path" value="npm" /> <property name="nodejs_package_manager_path" value="npm" />
<property name="project.structure.last.edited" value="Artifacts" /> <property name="project.structure.last.edited" value="Artifacts" />
<property name="project.structure.proportion" value="0.15" /> <property name="project.structure.proportion" value="0.15" />
@ -299,8 +182,8 @@
</component> </component>
<component name="RecentsManager"> <component name="RecentsManager">
<key name="CopyFile.RECENT_KEYS"> <key name="CopyFile.RECENT_KEYS">
<recent name="D:\项目备份\考勤\hrm-attendance\log\interceptSql" />
<recent name="D:\项目备份\考勤\hrm-attendance\test" /> <recent name="D:\项目备份\考勤\hrm-attendance\test" />
<recent name="D:\项目备份\考勤\hrm-attendance\log\interceptSql" />
<recent name="D:\项目备份\考勤\hrm-attendance\src" /> <recent name="D:\项目备份\考勤\hrm-attendance\src" />
<recent name="D:\项目备份\考勤\hrm-attendance" /> <recent name="D:\项目备份\考勤\hrm-attendance" />
<recent name="D:\项目备份\考勤\hrm-attendance\workflow\request\hrmattendance" /> <recent name="D:\项目备份\考勤\hrm-attendance\workflow\request\hrmattendance" />
@ -322,33 +205,24 @@
</option> </option>
</component> </component>
<component name="RunManager" selected="JUnit.Test.testAnalysis"> <component name="RunManager" selected="JUnit.Test.testAnalysis">
<configuration name="TestObj" type="Application" factoryName="Application" nameIsGenerated="true"> <configuration name="Test" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
<option name="MAIN_CLASS_NAME" value="TestObj" /> <option name="MAIN_CLASS_NAME" value="Test" />
<module name="hrm-attendance" /> <module name="hrm-attendance" />
<shortenClasspath name="MANIFEST" /> <shortenClasspath name="MANIFEST" />
<method v="2"> <method v="2">
<option name="Make" enabled="true" /> <option name="Make" enabled="true" />
</method> </method>
</configuration> </configuration>
<configuration default="true" type="Application" factoryName="Application"> <configuration name="TestObj" type="Application" factoryName="Application" nameIsGenerated="true">
<option name="MAIN_CLASS_NAME" value="TestObj" />
<module name="hrm-attendance" />
<shortenClasspath name="MANIFEST" /> <shortenClasspath name="MANIFEST" />
<method v="2"> <method v="2">
<option name="Make" enabled="true" /> <option name="Make" enabled="true" />
</method> </method>
</configuration> </configuration>
<configuration name="Test1.test1" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true"> <configuration default="true" type="Application" factoryName="Application">
<module name="hrm-attendance" />
<shortenClasspath name="MANIFEST" /> <shortenClasspath name="MANIFEST" />
<extension name="coverage">
<pattern>
<option name="PATTERN" value="workflow.*" />
<option name="ENABLED" value="true" />
</pattern>
</extension>
<option name="PACKAGE_NAME" value="workflow" />
<option name="MAIN_CLASS_NAME" value="workflow.Test1" />
<option name="METHOD_NAME" value="test1" />
<option name="TEST_OBJECT" value="method" />
<method v="2"> <method v="2">
<option name="Make" enabled="true" /> <option name="Make" enabled="true" />
</method> </method>
@ -431,10 +305,10 @@
<recent_temporary> <recent_temporary>
<list> <list>
<item itemvalue="JUnit.Test.testAnalysis" /> <item itemvalue="JUnit.Test.testAnalysis" />
<item itemvalue="Application.Test" />
<item itemvalue="JUnit.Test.testjob" /> <item itemvalue="JUnit.Test.testjob" />
<item itemvalue="JUnit.TestSchedulingResultsAction.testquery" /> <item itemvalue="JUnit.TestSchedulingResultsAction.testquery" />
<item itemvalue="JUnit.TestSchedulingResultsAction.test1" /> <item itemvalue="JUnit.TestSchedulingResultsAction.test1" />
<item itemvalue="JUnit.Test1.test1" />
</list> </list>
</recent_temporary> </recent_temporary>
</component> </component>
@ -947,7 +821,14 @@
<workItem from="1720099326817" duration="2000" /> <workItem from="1720099326817" duration="2000" />
<workItem from="1720144120321" duration="6353000" /> <workItem from="1720144120321" duration="6353000" />
<workItem from="1720157535171" duration="17214000" /> <workItem from="1720157535171" duration="17214000" />
<workItem from="1720403279673" duration="4683000" /> <workItem from="1720403279673" duration="7092000" />
<workItem from="1720417693053" duration="16260000" />
<workItem from="1720488425308" duration="8105000" />
<workItem from="1720503789466" duration="17040000" />
<workItem from="1720527036200" duration="6471000" />
<workItem from="1720534639000" duration="336000" />
<workItem from="1720575209924" duration="8590000" />
<workItem from="1720590109223" duration="1383000" />
</task> </task>
<servers /> <servers />
</component> </component>
@ -1006,6 +887,11 @@
<line>28</line> <line>28</line>
<option name="timeStamp" value="186" /> <option name="timeStamp" value="186" />
</line-breakpoint> </line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/com/engine/jucailinkq/attendance/attendanceanalysis/service/impl/ForgetClockInServiceImpl.java</url>
<line>62</line>
<option name="timeStamp" value="189" />
</line-breakpoint>
</breakpoints> </breakpoints>
</breakpoint-manager> </breakpoint-manager>
<watches-manager> <watches-manager>
@ -1025,7 +911,7 @@
<SUITE FILE_PATH="coverage/hrm_attendance$TestgetDepartSchedule_test2.ic" NAME="TestgetDepartSchedule.test2 Coverage Results" MODIFIED="1718071420719" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="idea" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false"> <SUITE FILE_PATH="coverage/hrm_attendance$TestgetDepartSchedule_test2.ic" NAME="TestgetDepartSchedule.test2 Coverage Results" MODIFIED="1718071420719" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="idea" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false">
<FILTER>calendarscheduling.*</FILTER> <FILTER>calendarscheduling.*</FILTER>
</SUITE> </SUITE>
<SUITE FILE_PATH="coverage/hrm_attendance$Test_testAnalysis.ic" NAME="Test.testAnalysis Coverage Results" MODIFIED="1720084643105" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="idea" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false"> <SUITE FILE_PATH="coverage/hrm_attendance$Test_testAnalysis.ic" NAME="Test.testAnalysis Coverage Results" MODIFIED="1720580820899" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="idea" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false">
<FILTER>TestAttendanceAllowance.*</FILTER> <FILTER>TestAttendanceAllowance.*</FILTER>
</SUITE> </SUITE>
<SUITE FILE_PATH="coverage/hrm_attendance$Test_testjob.ic" NAME="Test.testjob Coverage Results" MODIFIED="1720164636425" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="idea" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false"> <SUITE FILE_PATH="coverage/hrm_attendance$Test_testjob.ic" NAME="Test.testjob Coverage Results" MODIFIED="1720164636425" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="idea" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false">

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

@ -4,6 +4,7 @@ import com.engine.jucailinkq.attendance.attendanceanalysis.dto.clockpoint.ClockP
import com.engine.jucailinkq.attendance.enums.*; import com.engine.jucailinkq.attendance.enums.*;
import com.engine.common.biz.AbstractCommonCommand; import com.engine.common.biz.AbstractCommonCommand;
import com.engine.common.entity.BizLogContext; import com.engine.common.entity.BizLogContext;
import com.engine.jucailinkq.common.util.DateUtil;
import com.engine.jucailinkq.common.util.Utils; import com.engine.jucailinkq.common.util.Utils;
import com.engine.core.interceptor.CommandContext; import com.engine.core.interceptor.CommandContext;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
@ -51,9 +52,6 @@ public class ComputeAttendanceDurationCmd extends AbstractCommonCommand<Map<Stri
String analysisDate = Util.null2String(params.get("analysisDate")); String analysisDate = Util.null2String(params.get("analysisDate"));
//考勤项目 //考勤项目
List<Map<String,Object>> attendanceItems = (List<Map<String,Object>>)params.get("attendanceItems"); List<Map<String,Object>> attendanceItems = (List<Map<String,Object>>)params.get("attendanceItems");
//卡点
List<ClockPointDTO> clcokInTimeData = (List<ClockPointDTO>)params.get("clcokInTimeData");
//经过请假外出处理过的异常项目 //经过请假外出处理过的异常项目
List<Map<String,Object>> abnormalClockInList = (List<Map<String,Object>>)params.get("abnormalClockInList"); List<Map<String,Object>> abnormalClockInList = (List<Map<String,Object>>)params.get("abnormalClockInList");
//单位小时 //单位小时
@ -62,69 +60,68 @@ public class ComputeAttendanceDurationCmd extends AbstractCommonCommand<Map<Stri
resultMap.put("attendanceDuration",edsc); resultMap.put("attendanceDuration",edsc);
return resultMap; return resultMap;
} }
//单位分钟
//漏打卡异常小时数
double misscardHour = 0;
//异常时间
double abnormalMinute = 0;
/** /**
* *
*/ */
abnormalClockInList = abnormalClockInList.stream().filter(e->e.get("bdlx").equals(ClassSegmentTypeEnum.WORK_TIME.getKey()) || e.get("bdlx").equals(ClassSegmentTypeEnum.ASK_FOR_LEAVE.getKey()) || e.get("bdlx").equals(ClassSegmentTypeEnum.EVECTION.getKey())).collect(Collectors.toList());
//abnormalClockInList = abnormalClockInList.stream().filter(e->e.get("bdlx").equals(ClassSegmentTypeEnum.WORK_TIME.getKey())).collect(Collectors.toList());
Map<Object,List<Map<String,Object>>> abnormalClockInGroupMap = abnormalClockInList.stream().filter(e->(e.get("bdlx").equals(ClassSegmentTypeEnum.WORK_TIME.getKey()) || e.get("bdlx").equals(ClassSegmentTypeEnum.ASK_FOR_LEAVE.getKey()) || e.get("bdlx").equals(ClassSegmentTypeEnum.EVECTION.getKey())) && e.get("clcokInTimeData") != null)
.collect(Collectors.groupingBy(e->Util.null2String(e.get("clcokInTimeData"))));
List<Map<String,Object>> filterAbnormalList = Lists.newArrayList();
abnormalClockInGroupMap.entrySet().forEach(e->{
List<Map<String,Object>> list = e.getValue();
if (list.size() > 1){
list = list.stream().sorted(Comparator.comparing(f->(Integer)f.get("betweenMinutes"))).collect(Collectors.toList());
filterAbnormalList.add(list.get(list.size()-1));
list.get(list.size()-1).put("record",true);
}else if (list.size() == 1){
filterAbnormalList.add(list.get(0));
}
});
filterAbnormalList.addAll(abnormalClockInList.stream().filter(e->(e.get("bdlx").equals(ClassSegmentTypeEnum.WORK_TIME.getKey()) || e.get("bdlx").equals(ClassSegmentTypeEnum.ASK_FOR_LEAVE.getKey()) || e.get("bdlx").equals(ClassSegmentTypeEnum.EVECTION.getKey())) && e.get("clcokInTimeData") == null).collect(Collectors.toList()));
double abnormalTime = 0;
for (Map<String,Object> abnormalClockInMap : filterAbnormalList){
AttendanceItemTypeEnum itemType = (AttendanceItemTypeEnum)abnormalClockInMap.get("itemType"); for (Map<String, Object> scheduleMap :scheduleResult){
String kczgsc = Util.null2String(abnormalClockInMap.get("kczgsc")); if (ClassSegmentTypeEnum.WORK_TIME.getKey().equals(scheduleMap.get("bdlx"))){
if (itemType == AttendanceItemTypeEnum.MISSE_CARD){ String dtkssj = Utils.getkssjTime(scheduleMap,analysisDate);
//早上漏卡 String dtjssj = Utils.getjssjTime(scheduleMap,analysisDate);
abnormalTime = abnormalTime + edsc*60; List<Map<String,Object>> list = abnormalClockInList.stream().filter(e->DateUtil.getTime(dtkssj).compareTo(DateUtil.getTime(e.get("pointTime").toString())) <=0 && DateUtil.getTime(dtjssj).compareTo(DateUtil.getTime(e.get("pointTime").toString())) >=0).collect(Collectors.toList());
} double totalTime=0;
if (!CheckBoxEnum.CHECKED.getKey().equals(kczgsc)){ for (Map<String,Object> abnormal:list){
continue; AttendanceItemTypeEnum itemType = (AttendanceItemTypeEnum)abnormal.get("itemType");
} String kczgsc = Util.null2String(abnormal.get("kczgsc"));
int betweenMinutes = Integer.valueOf(Util.null2String(abnormalClockInMap.get("betweenMinutes")==null?"0":abnormalClockInMap.get("betweenMinutes"))); if (!CheckBoxEnum.CHECKED.getKey().equals(kczgsc)){
String item = Util.null2String(abnormalClockInMap.get("item")); continue;
List<Map<String,Object>> abnormalItemList = attendanceItems.stream().filter(e->e.get("key").equals(item)).collect(Collectors.toList()); }
if (abnormalItemList.size() > 0){ if (itemType == AttendanceItemTypeEnum.MISSE_CARD){
//起步扣除分钟数 misscardHour +=Double.valueOf(scheduleMap.get("edxss").toString());
int qbkcsc = Integer.valueOf(Util.null2String(abnormalItemList.get(0).get("qbkcsc"))); totalTime = 0;
//超出后单次累加扣除分钟数 break;
int cckcbc = Integer.valueOf(Util.null2String(abnormalItemList.get(0).get("cckcbc"))); }else {
if (betweenMinutes <= qbkcsc){ int betweenMinutes = Integer.valueOf(Util.null2String(abnormal.get("betweenMinutes")==null?"0":abnormal.get("betweenMinutes")));
betweenMinutes = qbkcsc; String item = Util.null2String(abnormal.get("item"));
}else { List<Map<String,Object>> abnormalItemList = attendanceItems.stream().filter(e->e.get("key").equals(item)).collect(Collectors.toList());
int deductionDuration = betweenMinutes-qbkcsc; if (abnormalItemList.size() > 0){
betweenMinutes = Double.valueOf(Utils.getItemduration(cckcbc,AccountingUnitEnum.MINUTES.getKey(),deductionDuration,AccountingUnitEnum.MINUTES)).intValue()+qbkcsc; //起步扣除分钟数
int qbkcsc = Integer.valueOf(Util.null2String(abnormalItemList.get(0).get("qbkcsc")));
//超出后单次累加扣除分钟数
int cckcbc = Integer.valueOf(Util.null2String(abnormalItemList.get(0).get("cckcbc")));
if (betweenMinutes <= qbkcsc){
betweenMinutes = qbkcsc;
}else {
int deductionDuration = betweenMinutes-qbkcsc;
betweenMinutes = Double.valueOf(Utils.getItemduration(cckcbc,AccountingUnitEnum.MINUTES.getKey(),deductionDuration,AccountingUnitEnum.MINUTES)).intValue()+qbkcsc;
}
totalTime+=betweenMinutes;
}
}
} }
abnormalMinute+=totalTime;
} }
abnormalTime = abnormalTime+betweenMinutes;
} }
/** /**
* *
*/ */
double askForLeaveTime = removeAskForLeave(analysisDate,scheduleResult,askForLeaveList,askForLeaveItems,offsetAskForLeaveAnomaly); double askForLeaveTime = removeAskForLeave(analysisDate,scheduleResult,askForLeaveList,askForLeaveItems,offsetAskForLeaveAnomaly,abnormalClockInList);
/** /**
* *
*/ */
double evectionTimeTime = removeEvection(analysisDate,scheduleResult,evectionList,evectionItems,offsetEvectionAnomaly); double evectionTimeTime = removeEvection(analysisDate,scheduleResult,evectionList,evectionItems,offsetEvectionAnomaly,abnormalClockInList);
log.debug("abnormalTime : {},askForLeaveTime : {},evectionTimeTime:{}",abnormalTime,askForLeaveTime,evectionTimeTime); log.info("misscardHour : {},abnormalMinute : {}, : {},evectionTimeTime:{}",misscardHour,abnormalMinute,askForLeaveTime,evectionTimeTime);
double deductTime = Double.valueOf(String.format ("%.2f",(abnormalTime+askForLeaveTime+evectionTimeTime)/60)); double deductTime = Double.valueOf(String.format ("%.2f",(abnormalMinute+askForLeaveTime+evectionTimeTime)/60));
edsc = edsc-deductTime; edsc = edsc-misscardHour-deductTime;
if (edsc < 0){ if (edsc < 0){
edsc=0; edsc=0;
} }
@ -134,10 +131,19 @@ public class ComputeAttendanceDurationCmd extends AbstractCommonCommand<Map<Stri
} }
public double removeAskForLeave(String analysisDate,List<Map<String, Object>> scheduleResult,List<Map<String,Object>> askForLeaveList, public double removeAskForLeave(String analysisDate,List<Map<String, Object>> scheduleResult,List<Map<String,Object>> askForLeaveList,
Map<String,Map<String,Object>> askForLeaveItems,List<Map<String, Object>> offsetAskForLeaveAnomaly){ Map<String,Map<String,Object>> askForLeaveItems,List<Map<String, Object>> offsetAskForLeaveAnomaly,List<Map<String, Object>> abnormalClockInList){
double employTime = 0; double employTime = 0;
double edsc = Double.valueOf(scheduleResult.get(0).get("edsc").toString()); double edsc = Double.valueOf(scheduleResult.get(0).get("edsc").toString());
Map<String,List<Map<String,Object>>> askForLeaveGroupMap = askForLeaveList.stream().filter(e->!"".equals(Util.null2String(e.get("kssj"))) && !"".equals(Util.null2String(e.get("jssj"))))
.collect(Collectors.groupingBy(e->Util.null2String(e.get("ksrq"))+Util.null2String(e.get("kssj"))+"&"+Util.null2String(e.get("jsrq"))+Util.null2String(e.get("jssj"))));
List<Map<String,Object>> filterAskForLeaveList = Lists.newArrayList();
askForLeaveGroupMap.entrySet().forEach(e->{
if (e.getValue().size() > 1){
filterAskForLeaveList.add(e.getValue().get(0));
}else if (e.getValue().size() == 1){
filterAskForLeaveList.addAll(e.getValue());
}
});
for (int i=0;i<askForLeaveList.size();i++){ for (int i=0;i<askForLeaveList.size();i++){
//请假时长 //请假时长
@ -166,26 +172,50 @@ public class ComputeAttendanceDurationCmd extends AbstractCommonCommand<Map<Stri
employTime +=Double.valueOf(qjsc)*60; employTime +=Double.valueOf(qjsc)*60;
} }
} }
}else { }
//按照开始时间,结束时间请假 }
for (Map<String, Object> scheduleMap:scheduleResult){ for (int i=0;i<filterAskForLeaveList.size();i++){
if (ClassSegmentTypeEnum.WORK_TIME.getKey().equals(scheduleMap.get("bdlx"))){ //请假项目
String dtkssj = Utils.getkssjTime(scheduleMap,analysisDate); Map<String,Object> askForLeaveItem = askForLeaveItems.get(filterAskForLeaveList.get(i).get("jqlx"));
String dtjssj = Utils.getjssjTime(scheduleMap,analysisDate); //作用时段
String zysd = Util.null2String(askForLeaveItem.get("zysd"));
employTime +=Utils.getStartAndEndTime(dtkssj,dtjssj,askForLeaveList.get(i)); if (!zysd.contains(WorkForTimeEnum.WORK_TIME.getKey()) && !WorkForTimeEnum.ALL_TIME.getKey().equals(zysd)){
continue;
}
//按照开始时间,结束时间请假
for (Map<String, Object> scheduleMap:scheduleResult){
if (ClassSegmentTypeEnum.WORK_TIME.getKey().equals(scheduleMap.get("bdlx"))){
String dtkssj = Utils.getkssjTime(scheduleMap,analysisDate);
String dtjssj = Utils.getjssjTime(scheduleMap,analysisDate);
List<Map<String,Object>> list = abnormalClockInList.stream().filter(e->e.get("itemType")==AttendanceItemTypeEnum.MISSE_CARD &&(DateUtil.getTime(dtkssj).compareTo(DateUtil.getTime(e.get("pointTime").toString())) <=0 && DateUtil.getTime(dtjssj).compareTo(DateUtil.getTime(e.get("pointTime").toString())) >=0)).collect(Collectors.toList());
if (list.size() == 0){
//存在漏卡时不计入请假时长,防止重复累加
employTime +=Utils.getStartAndEndTime(dtkssj,dtjssj,filterAskForLeaveList.get(i));
} }
} }
} }
} }
return employTime; return employTime;
} }
public double removeEvection(String analysisDate,List<Map<String, Object>> scheduleResult,List<Map<String,Object>> evectionList, public double removeEvection(String analysisDate,List<Map<String, Object>> scheduleResult,List<Map<String,Object>> evectionList,
Map<String,Map<String,Object>> evectionItems,List<Map<String, Object>> offsetEvectionAnomaly){ Map<String,Map<String,Object>> evectionItems,List<Map<String, Object>> offsetEvectionAnomaly,List<Map<String, Object>> abnormalClockInList){
double employTime = 0; double employTime = 0;
double edsc = Double.valueOf(scheduleResult.get(0).get("edsc").toString()); double edsc = Double.valueOf(scheduleResult.get(0).get("edsc").toString());
Map<String,List<Map<String,Object>>> evectionGroupMap = evectionList.stream().filter(e->!"".equals(Util.null2String(e.get("kssj"))) && !"".equals(Util.null2String(e.get("jssj"))))
.collect(Collectors.groupingBy(e->Util.null2String(e.get("ksrq"))+Util.null2String(e.get("kssj"))+"&"+Util.null2String(e.get("jsrq"))+Util.null2String(e.get("jssj"))));
List<Map<String,Object>> filterEvectionList = Lists.newArrayList();
evectionGroupMap.entrySet().forEach(e->{
if (e.getValue().size() > 1){
filterEvectionList.add(e.getValue().get(0));
}else if (e.getValue().size() == 1){
filterEvectionList.addAll(e.getValue());
}
});
for (int i=0;i<evectionList.size();i++){ for (int i=0;i<evectionList.size();i++){
//出差时长 //出差时长
String ccsc = Util.null2String(evectionList.get(i).get("ccsc")); String ccsc = Util.null2String(evectionList.get(i).get("ccsc"));
@ -215,21 +245,29 @@ public class ComputeAttendanceDurationCmd extends AbstractCommonCommand<Map<Stri
employTime += Double.valueOf(ccsc)*60; employTime += Double.valueOf(ccsc)*60;
} }
} }
}else { }
//按照开始时间,结束时间请假 }
int time = 0; for (int i=0;i<filterEvectionList.size();i++){
for (Map<String, Object> scheduleMap:scheduleResult){ //出差项目
String dtkssj = Utils.getkssjTime(scheduleMap,analysisDate); Map<String,Object> askForLeaveItem = evectionItems.get(filterEvectionList.get(i).get("cclx"));
String dtjssj = Utils.getjssjTime(scheduleMap,analysisDate); //作用时段
if (ClassSegmentTypeEnum.WORK_TIME.getKey().equals(scheduleMap.get("bdlx"))){ String zysd = Util.null2String(askForLeaveItem.get("zysd"));
time = time + Utils.getStartAndEndTime(dtkssj,dtjssj,evectionList.get(i)); if (!zysd.contains(WorkForTimeEnum.WORK_TIME.getKey()) && !WorkForTimeEnum.ALL_TIME.getKey().equals(zysd)){
continue;
}
//按照开始时间,结束时间请假
for (Map<String, Object> scheduleMap:scheduleResult){
String dtkssj = Utils.getkssjTime(scheduleMap,analysisDate);
String dtjssj = Utils.getjssjTime(scheduleMap,analysisDate);
if (ClassSegmentTypeEnum.WORK_TIME.getKey().equals(scheduleMap.get("bdlx"))){
List<Map<String,Object>> list = abnormalClockInList.stream().filter(e->e.get("itemType")==AttendanceItemTypeEnum.MISSE_CARD &&(DateUtil.getTime(dtkssj).compareTo(DateUtil.getTime(e.get("pointTime").toString())) <=0 && DateUtil.getTime(dtjssj).compareTo(DateUtil.getTime(e.get("pointTime").toString())) >=0)).collect(Collectors.toList());
if (list.size() == 0){
//存在漏卡时不计入出差时长,防止重复累加
employTime = employTime + Utils.getStartAndEndTime(dtkssj,dtjssj,filterEvectionList.get(i));
} }
} }
if (time > ccscMinute){
time = ccscMinute;
}
employTime = employTime+time;
} }
} }
return employTime; return employTime;

@ -127,9 +127,44 @@ public class GetAskForLeaveCmd extends AbstractCommonCommand<Map<String,Object>>
resultMap.put("alldayVaction",resultList); resultMap.put("alldayVaction",resultList);
} }
askForLeaveItems.put(askForLeaveData.get("jqlx").toString(),askForLeaveItem); askForLeaveItems.put(askForLeaveData.get("jqlx").toString(),askForLeaveItem);
}
Map<String,List<Map<String,Object>>> askForLeaveGroupMap = haveAskForLeaveList.stream().filter(e->!"".equals(Util.null2String(e.get("kssj"))) && !"".equals(Util.null2String(e.get("jssj"))))
.collect(Collectors.groupingBy(e->Util.null2String(e.get("ksrq"))+Util.null2String(e.get("kssj"))+"&"+Util.null2String(e.get("jsrq"))+Util.null2String(e.get("jssj"))));
List<Map<String,Object>> filterAskForLeaveList = Lists.newArrayList();
askForLeaveGroupMap.entrySet().forEach(e->{
if (e.getValue().size()>1){
Map<String,Object> beforeAskForMap = e.getValue().get(0);
Map<String,Object> beforeAskForLeaveItem = collect.get(beforeAskForMap.get("jqlx")).get(0);
String beforeJcbyxsyqjb = Util.null2String(beforeAskForLeaveItem.get("jcbyxsyqjb"));
String beforeyxsydjb = Util.null2String(beforeAskForLeaveItem.get("yxsydjb"));
Map<String,Object> afterAskForMap = e.getValue().get(1);
Map<String,Object> afterAskForLeaveItem = collect.get(afterAskForMap.get("jqlx")).get(0);
String afterJcbyxsyqjb = Util.null2String(afterAskForLeaveItem.get("jcbyxsyqjb"));
String afteryxsydjb = Util.null2String(afterAskForLeaveItem.get("yxsydjb"));
if (CheckBoxEnum.CHECKED.getKey().equals(beforeJcbyxsyqjb)){
if (beforeyxsydjb.equals(afterAskForMap.get("jqlx"))){
filterAskForLeaveList.add(beforeAskForMap);
}
}else if (CheckBoxEnum.CHECKED.getKey().equals(afterJcbyxsyqjb)){
if (afteryxsydjb.equals(beforeAskForMap.get("jqlx"))){
filterAskForLeaveList.add(afterAskForMap);
}
}else {
filterAskForLeaveList.add(beforeAskForMap);
}
}else if (e.getValue().size() == 1){
filterAskForLeaveList.addAll(e.getValue());
}
});
for (Map<String,Object> askForLeaveData : filterAskForLeaveList){
Map<String,Object> askForLeaveItem = collect.get(askForLeaveData.get("jqlx")).get(0);
if (!"".equals(Util.null2String(askForLeaveData.get("kssj"))) && !"".equals(Util.null2String(askForLeaveData.get("jssj")))){ if (!"".equals(Util.null2String(askForLeaveData.get("kssj"))) && !"".equals(Util.null2String(askForLeaveData.get("jssj")))){
Map<String,Object> askForLeaveMap = new HashMap(){{ Map<String,Object> askForLeaveMap = new HashMap(){{
put("bcxx", scheduleResult.get(0).get("bcxx")); put("bcxx", scheduleResult.get(0).get("bcxx"));

@ -124,9 +124,43 @@ public class GetEvectionCmd extends AbstractCommonCommand<Map<String,Object>> {
resultMap.put("alldayEvection",resultList); resultMap.put("alldayEvection",resultList);
} }
evectionItems.put(evectionData.get("cclx").toString(),evectionItem); evectionItems.put(evectionData.get("cclx").toString(),evectionItem);
}
Map<String,List<Map<String,Object>>> evectionGroupMap = haveEvectionList.stream().filter(e->!"".equals(Util.null2String(e.get("kssj"))) && !"".equals(Util.null2String(e.get("jssj"))))
.collect(Collectors.groupingBy(e->Util.null2String(e.get("ksrq"))+Util.null2String(e.get("kssj"))+"&"+Util.null2String(e.get("jsrq"))+Util.null2String(e.get("jssj"))));
List<Map<String,Object>> filterEvectionList = Lists.newArrayList();
evectionGroupMap.entrySet().forEach(e->{
if (e.getValue().size()>1){
Map<String,Object> beforeEvectionMap = e.getValue().get(0);
Map<String,Object> beforeEvectionItem = collect.get(beforeEvectionMap.get("jqlx")).get(0);
String beforeJcbyxsyqjb = Util.null2String(beforeEvectionItem.get("jcbyxsyqjb"));
String beforeyxsydjb = Util.null2String(beforeEvectionItem.get("yxsydjb"));
Map<String,Object> afterEvectionMap = e.getValue().get(1);
Map<String,Object> afterEvectionItem = collect.get(afterEvectionMap.get("jqlx")).get(0);
String afterJcbyxsyqjb = Util.null2String(afterEvectionItem.get("jcbyxsyqjb"));
String afteryxsydjb = Util.null2String(afterEvectionItem.get("yxsydjb"));
if (CheckBoxEnum.CHECKED.getKey().equals(beforeJcbyxsyqjb)){
if (beforeyxsydjb.equals(afterEvectionMap.get("jqlx"))){
filterEvectionList.add(beforeEvectionMap);
}
}else if (CheckBoxEnum.CHECKED.getKey().equals(afterJcbyxsyqjb)){
if (afteryxsydjb.equals(beforeEvectionMap.get("jqlx"))){
filterEvectionList.add(afterEvectionMap);
}
}else {
filterEvectionList.add(beforeEvectionMap);
}
}else if (e.getValue().size() == 1){
filterEvectionList.addAll(e.getValue());
}
});
for (Map<String,Object> evectionData : filterEvectionList){
Map<String,Object> evectionItem = collect.get(evectionData.get("cclx")).get(0);
if (!"".equals(Util.null2String(evectionData.get("kssj"))) && !"".equals(Util.null2String(evectionData.get("jssj")))){ if (!"".equals(Util.null2String(evectionData.get("kssj"))) && !"".equals(Util.null2String(evectionData.get("jssj")))){
Map<String,Object> evectioneMap = new HashMap(){{ Map<String,Object> evectioneMap = new HashMap(){{
put("bcxx", scheduleResult.get(0).get("bcxx")); put("bcxx", scheduleResult.get(0).get("bcxx"));
@ -154,6 +188,7 @@ public class GetEvectionCmd extends AbstractCommonCommand<Map<String,Object>> {
} }
} }
return resultMap; return resultMap;
} }
} }

@ -1,6 +1,7 @@
package com.engine.jucailinkq.attendance.attendanceanalysis.cmd.item; package com.engine.jucailinkq.attendance.attendanceanalysis.cmd.item;
import com.engine.jucailinkq.attendance.enums.AttendanceItemTypeEnum; import com.engine.jucailinkq.attendance.enums.AttendanceItemTypeEnum;
import com.engine.jucailinkq.attendance.enums.CheckBoxEnum;
import com.engine.jucailinkq.attendance.enums.WorkForTimeEnum; import com.engine.jucailinkq.attendance.enums.WorkForTimeEnum;
import com.engine.common.biz.AbstractCommonCommand; import com.engine.common.biz.AbstractCommonCommand;
import com.engine.common.entity.BizLogContext; import com.engine.common.entity.BizLogContext;
@ -32,6 +33,8 @@ public class AbsenteeismItemCmd extends AbstractCommonCommand<Map<String,Object>
String workfor = Util.null2String(params.get("workfor")); String workfor = Util.null2String(params.get("workfor"));
//旷工分钟数 //旷工分钟数
int time = Util.null2String(params.get("time")).equals("")? 0:Util.getIntValue(Util.null2String(params.get("time"))); int time = Util.null2String(params.get("time")).equals("")? 0:Util.getIntValue(Util.null2String(params.get("time")));
//漏打卡转旷工标识
String forgetConvertAbsenteeism = Util.null2String(params.get("workfor"));
Map<String, Object> resultMap = new HashMap<>(); Map<String, Object> resultMap = new HashMap<>();
List<Map<String,Object>> attendanceItems = (List<Map<String,Object>>)params.get("attendanceItems"); List<Map<String,Object>> attendanceItems = (List<Map<String,Object>>)params.get("attendanceItems");
@ -40,17 +43,29 @@ public class AbsenteeismItemCmd extends AbstractCommonCommand<Map<String,Object>
String xmlx = Util.null2String(e.get("xmlx")); String xmlx = Util.null2String(e.get("xmlx"));
//作用时段 //作用时段
String zysd = Util.null2String(e.get("zysd")); String zysd = Util.null2String(e.get("zysd"));
//检查漏打卡情况
String ldkzkg = Util.null2String(e.get("ldkzkg"));
//最小核算分钟数(不包含) //最小核算分钟数(不包含)
int zxhsl = Util.null2String(e.get("zxhsl")).equals("")?0:Util.getIntValue(Util.null2String(e.get("zxhsl"))); int zxhsl = Util.null2String(e.get("zxhsl")).equals("")?0:Util.getIntValue(Util.null2String(e.get("zxhsl")));
//最大核算分钟数(包含) //最大核算分钟数(包含)
int zdhsl = Util.null2String(e.get("zdhsl")).equals("")?0:Util.getIntValue(Util.null2String(e.get("zdhsl"))); int zdhsl = Util.null2String(e.get("zdhsl")).equals("")?0:Util.getIntValue(Util.null2String(e.get("zdhsl")));
if (CheckBoxEnum.CHECKED.getKey().equals(forgetConvertAbsenteeism)){
if(AttendanceItemTypeEnum.ABSENTEESIM.getKey().equals(xmlx) && (zysd.contains(workfor) || zysd.contains(WorkForTimeEnum.ALL_TIME.getKey())) && time > zxhsl && time<=zdhsl) { //漏打卡转旷工
return true; if(ldkzkg.equals(CheckBoxEnum.CHECKED.getKey()) && AttendanceItemTypeEnum.ABSENTEESIM.getKey().equals(xmlx) && (zysd.contains(workfor) || zysd.contains(WorkForTimeEnum.ALL_TIME.getKey())) && time > zxhsl && time<=zdhsl) {
}else if (AttendanceItemTypeEnum.ABSENTEESIM.getKey().equals(xmlx) && (zysd.contains(workfor) || zysd.contains(WorkForTimeEnum.ALL_TIME.getKey())) && zxhsl==0 && zdhsl==0){ return true;
return true; }else if (ldkzkg.equals(CheckBoxEnum.CHECKED.getKey()) && AttendanceItemTypeEnum.ABSENTEESIM.getKey().equals(xmlx) && (zysd.contains(workfor) || zysd.contains(WorkForTimeEnum.ALL_TIME.getKey())) && zxhsl==0 && zdhsl==0){
return true;
}else {
return false;
}
}else { }else {
return false; if(AttendanceItemTypeEnum.ABSENTEESIM.getKey().equals(xmlx) && (zysd.contains(workfor) || zysd.contains(WorkForTimeEnum.ALL_TIME.getKey())) && time > zxhsl && time<=zdhsl) {
return true;
}else if (AttendanceItemTypeEnum.ABSENTEESIM.getKey().equals(xmlx) && (zysd.contains(workfor) || zysd.contains(WorkForTimeEnum.ALL_TIME.getKey())) && zxhsl==0 && zdhsl==0){
return true;
}else {
return false;
}
} }
}).collect(Collectors.toList()); }).collect(Collectors.toList());
log.debug("absenteeismCmd attendanceItems : [{}]",attendanceItems); log.debug("absenteeismCmd attendanceItems : [{}]",attendanceItems);

@ -18,4 +18,11 @@ public interface ForgetClockInService {
* @return * @return
*/ */
List<Map<String,Object>> forgetClockIn(Map<String,Object> params); List<Map<String,Object>> forgetClockIn(Map<String,Object> params);
/**
*
* @param params
* @return
*/
List<Map<String,Object>> forgetConvertAbsenteeism(Map<String,Object> params);
} }

@ -1,9 +1,13 @@
package com.engine.jucailinkq.attendance.attendanceanalysis.service.impl; package com.engine.jucailinkq.attendance.attendanceanalysis.service.impl;
import com.engine.jucailinkq.attendance.attendanceanalysis.cmd.item.AbsenteeismItemCmd;
import com.engine.jucailinkq.attendance.attendanceanalysis.cmd.item.ForGetClockItemCmd; import com.engine.jucailinkq.attendance.attendanceanalysis.cmd.item.ForGetClockItemCmd;
import com.engine.jucailinkq.attendance.attendanceanalysis.service.ForgetClockInService; import com.engine.jucailinkq.attendance.attendanceanalysis.service.ForgetClockInService;
import com.engine.jucailinkq.attendance.enums.AccountingUnitEnum;
import com.engine.jucailinkq.attendance.enums.AttendanceItemTypeEnum; import com.engine.jucailinkq.attendance.enums.AttendanceItemTypeEnum;
import com.engine.jucailinkq.attendance.enums.CheckBoxEnum;
import com.engine.jucailinkq.attendance.enums.SystemItemEnum; import com.engine.jucailinkq.attendance.enums.SystemItemEnum;
import com.engine.jucailinkq.common.util.DateUtil;
import com.engine.jucailinkq.common.util.Utils; import com.engine.jucailinkq.common.util.Utils;
import com.engine.core.impl.Service; import com.engine.core.impl.Service;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
@ -13,6 +17,7 @@ import weaver.general.Util;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors;
@Slf4j @Slf4j
public class ForgetClockInServiceImpl extends Service implements ForgetClockInService { public class ForgetClockInServiceImpl extends Service implements ForgetClockInService {
@ -46,8 +51,74 @@ public class ForgetClockInServiceImpl extends Service implements ForgetClockInSe
forgetParam.put("item", forgerAttendanceItems.get(0).get("key")); forgetParam.put("item", forgerAttendanceItems.get(0).get("key"));
forgetParam.put("itemduration", 1); forgetParam.put("itemduration", 1);
forgetParam.put("itemType", AttendanceItemTypeEnum.MISSE_CARD); forgetParam.put("itemType", AttendanceItemTypeEnum.MISSE_CARD);
forgetParam.put("kczgsc", CheckBoxEnum.CHECKED.getKey());
resultList.add(forgetParam); resultList.add(forgetParam);
} }
return resultList; return resultList;
} }
@Override
public List<Map<String, Object>> forgetConvertAbsenteeism(Map<String, Object> params) {
List<Map<String,Object>> abnormalList = (List<Map<String,Object>>)params.get("abnormalList");
List<Map<String, Object>> scheduleResult = (List<Map<String, Object>>)params.get("scheduleResult");
//考勤项目
List<Map<String,Object>> attendanceItems = (List<Map<String,Object>>)params.get("attendanceItems");
String analysisDate = Util.null2String(params.get("analysisDate"));
List<Map<String,Object>> needRecordMissCardList = abnormalList.stream().filter(e->(boolean)e.get("record") && e.get("itemType") == AttendanceItemTypeEnum.MISSE_CARD).collect(Collectors.toList());
if (needRecordMissCardList.size() == 0){
return abnormalList;
}
Map<String,Object> lateParam = Maps.newHashMap();
lateParam.put("attendanceItems",attendanceItems);
lateParam.put("forgetConvertAbsenteeism",CheckBoxEnum.CHECKED.getKey());
List<Map<String,Object>> absenteeismList = Lists.newArrayList();
for (Map<String, Object> scheduleMap:scheduleResult){
String bdlx = scheduleMap.get("bdlx").toString();
if (!Utils.ifRestClassSegment(bdlx) && !Utils.ifAskforOrEvctionClassSegment(bdlx)){
String dtkssj = Utils.getkssjTime(scheduleMap,analysisDate);
String dtjssj = Utils.getjssjTime(scheduleMap,analysisDate);
List<Map<String,Object>> missCardlist = needRecordMissCardList.stream().filter(e-> DateUtil.getTime(dtkssj).compareTo(DateUtil.getTime(e.get("pointTime").toString())) <=0 && DateUtil.getTime(dtjssj).compareTo(DateUtil.getTime(e.get("pointTime").toString())) >=0).collect(Collectors.toList());
List<Map<String,Object>> abnormal = abnormalList.stream().filter(e-> DateUtil.getTime(dtkssj).compareTo(DateUtil.getTime(e.get("pointTime").toString())) <=0 && DateUtil.getTime(dtjssj).compareTo(DateUtil.getTime(e.get("pointTime").toString())) >=0).collect(Collectors.toList());
if (missCardlist.size() > 0){
String edfzs = scheduleMap.get("edfzs").toString();
lateParam.put("time",edfzs);
lateParam.put("workfor",Utils.getWorkFor(bdlx));
List<Map<String,Object>> items = (List<Map<String,Object>>)commandExecutor.execute(new AbsenteeismItemCmd(lateParam)).get("attendanceItems");
if (items.size() > 0){
abnormalList = abnormalList.stream().filter(e->{
for (Map<String,Object> map:abnormal){
if (map.get("bdlx").equals(e.get("bdlx")) && map.get("pointTime").equals(e.get("pointTime"))){
return false;
}
}
return true;
}).collect(Collectors.toList());
Map<String,Object> forgotMap = Maps.newHashMap();
forgotMap.putAll(missCardlist.get(0));
forgotMap.put("item",items.get(0).get("key"));
String hsdw = Util.null2String(items.get(0).get("hsdw"));
if (hsdw.equals(AccountingUnitEnum.HOUR.getKey())){
forgotMap.put("itemduration",scheduleMap.get("edxss"));
}else if (hsdw.equals(AccountingUnitEnum.DAY.getKey())){
forgotMap.put("itemduration",scheduleMap.get("edts"));
}else if (hsdw.equals(AccountingUnitEnum.MINUTES.getKey())){
forgotMap.put("itemduration",edfzs);
}
forgotMap.put("hsdw",hsdw);
forgotMap.put("kczgsc",items.get(0).get("kczgsc"));
forgotMap.put("betweenMinutes",edfzs);
forgotMap.put("hsl",items.get(0).get("hsl"));
forgotMap.put("classStartTime",dtkssj);
forgotMap.put("classEndTime",dtjssj);
absenteeismList.add(forgotMap);
}
}
}
}
if (absenteeismList.size() > 0){
abnormalList.addAll(absenteeismList);
}
return abnormalList;
}
} }

@ -48,8 +48,8 @@ public class AttendanceanalysisAction {
try { try {
Map<String,Object> paramMap = ParamUtil.request2Map(request); Map<String,Object> paramMap = ParamUtil.request2Map(request);
// Map<String,Object> paramMap = Maps.newHashMap(); // Map<String,Object> paramMap = Maps.newHashMap();
// paramMap.put("startDate","2024-07-03"); // paramMap.put("startDate","2024-07-04");
// paramMap.put("endDate","2024-07-03"); // paramMap.put("endDate","2024-07-04");
// paramMap.put("userIds","81"); // paramMap.put("userIds","81");
String startDate = Util.null2String(paramMap.get("startDate")); String startDate = Util.null2String(paramMap.get("startDate"));

@ -157,10 +157,15 @@ public class UpdateAttendanceResultWrapper extends Service {
} }
} }
if (resultList.size() > 0){
// if (iforgetClockIn || ifBeLate ||ifLeaveEarly){ //漏打卡转旷工
// return true; Map<String,Object> forgetParam = Maps.newHashMap();
// } forgetParam.put("abnormalList",resultList);
forgetParam.put("scheduleResult",scheduleResult);
forgetParam.put("attendanceItems",attendanceItems);
forgetParam.put("analysisDate",analysisDate);
resultList = forgetClockInService.forgetConvertAbsenteeism(forgetParam);
}
log.debug("abnormalClockInList : [{}]",resultList); log.debug("abnormalClockInList : [{}]",resultList);
return resultList; return resultList;
} }

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save