合并班段

zm_dev
liuliang 12 months ago
parent dfc437f4d1
commit 927494015a

@ -10,18 +10,172 @@
</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/common/util/ExtensionClassHolder.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/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$/WEB-INF/sqllog/ecologysql" beforeDir="false" afterPath="$PROJECT_DIR$/WEB-INF/sqllog/ecologysql" afterDir="false" />
<change beforePath="$PROJECT_DIR$/log/sdk.log" beforeDir="false" afterPath="$PROJECT_DIR$/log/sdk.log" afterDir="false" /> <change beforePath="$PROJECT_DIR$/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/engine/attendance/attendanceanalysis/cmd/ComputeAttendanceDurationCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/ComputeAttendanceDurationCmd.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/GetAskForLeaveCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/GetAskForLeaveCmd.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/GetClockInTimeItemCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/GetClockInTimeItemCmd.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/GetClockInTimeListCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/GetClockInTimeListCmd.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/GetEvectionCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/GetEvectionCmd.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/GetScheduleResultListCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/GetScheduleResultListCmd.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/RecordDataCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/RecordDataCmd.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/getclockInpoint/AdjustByWorkOverTimeCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/getclockInpoint/AdjustByWorkOverTimeCmd.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/getclockInpoint/AdjustWhenHaveTwoClockPoint.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/getclockInpoint/MergeApairClockPoint.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/getclockInpoint/GetClockInPointCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/getclockInpoint/GetClockInPointCmd.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/getclockInpoint/GetClockInPointCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/getclockInpoint/GetClockInPointCmd.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/item/AbsenteeismItemCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/item/AbsenteeismItemCmd.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/item/BeAwayItemCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/item/BeAwayItemCmd.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/item/BeLateItemCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/item/BeLateItemCmd.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/item/ForGetClockItemCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/item/ForGetClockItemCmd.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/item/LeaveEarlyItemCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/item/LeaveEarlyItemCmd.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/item/VacationItemCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/item/VacationItemCmd.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/item/WorkOvertimeItemCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/item/WorkOvertimeItemCmd.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/workovertime/GetOvertimeDurationCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/workovertime/GetOvertimeDurationCmd.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/workovertime/SaveWorkOverTimeCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/workovertime/SaveWorkOverTimeCmd.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/job/AttendanceAnalysisJob.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/job/AttendanceAnalysisJob.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/service/impl/AbnormalAttendanceServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/service/impl/AbnormalAttendanceServiceImpl.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/service/impl/ComprehensiveWorkingHourServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/service/impl/ComprehensiveWorkingHourServiceImpl.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/service/impl/ShiftServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/service/impl/ShiftServiceImpl.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/service/impl/UtilServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/service/impl/UtilServiceImpl.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/web/AttendanceJucailinButtonAction.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/web/AttendanceJucailinButtonAction.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/web/AttendanceanalysisAction.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/web/AttendanceanalysisAction.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/web/AttendanceanalysisAction.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/web/AttendanceanalysisAction.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/wrapper/AttendanceAnalysisWrapper.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/wrapper/AttendanceAnalysisWrapper.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/wrapper/UpdateAttendanceResultWrapper.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/wrapper/UpdateAttendanceResultWrapper.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceplan/cmd/GetAttendanceItemsByPersonDataCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/attendanceplan/cmd/GetAttendanceItemsByPersonDataCmd.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceplan/cmd/GetWorkHoursItemByPersonCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/attendanceplan/cmd/GetWorkHoursItemByPersonCmd.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/component/ImportAndExport/service/impl/ExcelExportImportServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/component/ImportAndExport/service/impl/ExcelExportImportServiceImpl.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/component/calendarscheduling/service/impl/WorkRulesServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/component/calendarscheduling/service/impl/WorkRulesServiceImpl.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/cmd/GetDatatableCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/cmd/GetDatatableCmd.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/cmd/GetDatatableCountCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/cmd/GetDatatableCountCmd.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/cmd/GetDatatableRecurrenceCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/cmd/GetDatatableRecurrenceCmd.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/commonutil/PersongroupCommonUtil.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/commonutil/PersongroupCommonUtil.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/job/scheduling/SchedulingJob.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/job/scheduling/SchedulingJob.java" 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/attendance/component/persongroup/job/scheduling/tactics/DayRegularScheduling.java" 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/attendance/component/persongroup/job/scheduling/tactics/MonthRegularScheduling.java" 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/attendance/component/persongroup/job/scheduling/tactics/WeekRegularScheduling.java" 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/attendance/component/persongroup/job/scheduling/tactics/YearRegularScheduling.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/service/impl/PersonGroupServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/service/impl/PersonGroupServiceImpl.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/service/impl/SchedulingResultsServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/service/impl/SchedulingResultsServiceImpl.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/vacation/cmd/HandleOverdueVocationCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/vacation/cmd/HandleOverdueVocationCmd.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/vacation/cmd/VocationCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/vacation/cmd/VocationCmd.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/vacation/service/impl/VocationServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/vacation/service/impl/VocationServiceImpl.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/vacation/util/VocationCommonUtil.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/vacation/util/VocationCommonUtil.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/workflow/action/MakeUpClockImportAction.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/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/attendance/workflow/action/MakeUpClockInAction.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/workflow/action/RevokeEliminationsAskForLeaveAction.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/workflow/action/RevokeEliminationsAskForLeaveAction.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/workflow/action/RevokeLeaveAction.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/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/attendance/workflow/action/askforleave/AskForLeaveWorkFlowArchivingAction.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/workflow/action/askforleave/AskForLeaveWorkFlowSubmitAction.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/workflow/action/askforleave/AskForLeaveWorkFlowSubmitAction.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/workflow/cmd/GetAskForLeaveRecordListCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/workflow/cmd/GetAskForLeaveRecordListCmd.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/workflow/cmd/GetEliminationsEvctionListCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/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/attendance/workflow/cmd/GetKqCycleTimeIntervalCmd.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/workflow/service/impl/AskForLeaveServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/workflow/service/impl/AskForLeaveServiceImpl.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/workflow/service/impl/BusinessTripsApplyServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/workflow/service/impl/BusinessTripsApplyServiceImpl.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/workflow/service/impl/ProcessSubmitCheckServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/workflow/service/impl/ProcessSubmitCheckServiceImpl.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/common/cmd/GetPersonDateBySuitOrganzation.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/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/common/cmd/QueryCommonCmd.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/common/service/impl/CommonServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/common/service/impl/CommonServiceImpl.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/common/util/CommonUtil.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/common/util/CommonUtil.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/common/util/ResponseResult.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/common/util/ResponseResult.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/common/util/Utils.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/common/util/Utils.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/common/util/excel/ExcelParseHelper.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/common/util/excel/ExcelParseHelper.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/ComputeAttendanceDurationCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/ComputeAttendanceDurationCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/GetAskForLeaveCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/GetAskForLeaveCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/GetClockInTimeItemCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/GetClockInTimeItemCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/GetClockInTimeListCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/GetClockInTimeListCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/GetEvectionCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/GetEvectionCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/GetScheduleResultListCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/GetScheduleResultListCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/getclockInpoint/AdjustByWorkOverTimeCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/getclockInpoint/AdjustByWorkOverTimeCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/getclockInpoint/AdjustWhenHaveTwoClockPoint.class" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/getclockInpoint/GetClockInPointCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/getclockInpoint/GetClockInPointCmd.class" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/getclockInpoint/GetClockInPointCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/getclockInpoint/GetClockInPointCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/item/AbsenteeismItemCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/item/AbsenteeismItemCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/item/BeAwayItemCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/item/BeAwayItemCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/item/BeLateItemCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/item/BeLateItemCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/item/ForGetClockItemCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/item/ForGetClockItemCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/item/LeaveEarlyItemCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/item/LeaveEarlyItemCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/item/VacationItemCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/item/VacationItemCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/item/WorkOvertimeItemCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/item/WorkOvertimeItemCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/recordDataCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/recordDataCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/workovertime/GetOvertimeDurationCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/workovertime/GetOvertimeDurationCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/workovertime/SaveWorkOverTimeCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/workovertime/SaveWorkOverTimeCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/dto/ClockPointDTO$ClockPointDTOBuilder.class" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/dto/ClockPointDTO.class" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/job/AttendanceAnalysisJob.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/job/AttendanceAnalysisJob.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/service/impl/AbnormalAttendanceServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/service/impl/AbnormalAttendanceServiceImpl.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/service/impl/AllowanceServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/service/impl/AllowanceServiceImpl.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/service/impl/AskForLeaveServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/service/impl/AskForLeaveServiceImpl.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/service/impl/AttendanceSummaryServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/service/impl/AttendanceSummaryServiceImpl.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/service/impl/ComprehensiveWorkingHourServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/service/impl/ComprehensiveWorkingHourServiceImpl.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/service/impl/EvectionServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/service/impl/EvectionServiceImpl.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/service/impl/ShiftServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/service/impl/ShiftServiceImpl.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/service/impl/UtilServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/service/impl/UtilServiceImpl.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/service/impl/WorkOverTimeServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/service/impl/WorkOverTimeServiceImpl.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/web/AttendanceJucailinButtonAction.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/web/AttendanceJucailinButtonAction.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/web/AttendanceanalysisAction.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/web/AttendanceanalysisAction.class" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/web/AttendanceanalysisAction.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/web/AttendanceanalysisAction.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/wrapper/AttendanceAnalysisWrapper.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/wrapper/AttendanceAnalysisWrapper.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/wrapper/UpdateAttendanceResultWrapper$1.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/wrapper/UpdateAttendanceResultWrapper$1.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/wrapper/UpdateAttendanceResultWrapper.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/wrapper/UpdateAttendanceResultWrapper.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceplan/cmd/GetAttendanceItemsByPersonDataCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceplan/cmd/GetAttendanceItemsByPersonDataCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceplan/cmd/GetWorkHoursItemByPersonCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceplan/cmd/GetWorkHoursItemByPersonCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/ImportAndExport/service/impl/ExcelExportImportServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/ImportAndExport/service/impl/ExcelExportImportServiceImpl.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/ImportAndExport/web/ExcelController.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/ImportAndExport/web/ExcelController.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/calendarscheduling/service/impl/WorkRulesServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/calendarscheduling/service/impl/WorkRulesServiceImpl.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/persongroup/cmd/GetDatatableCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/persongroup/cmd/GetDatatableCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/persongroup/cmd/GetDatatableCountCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/persongroup/cmd/GetDatatableCountCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/persongroup/cmd/GetDatatableRecurrenceCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/persongroup/cmd/GetDatatableRecurrenceCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/persongroup/commonutil/PersongroupCommonUtil.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/persongroup/commonutil/PersongroupCommonUtil.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/persongroup/job/scheduling/SchedulingJob.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/persongroup/job/scheduling/SchedulingJob.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/persongroup/job/scheduling/tactics/DayRegularScheduling.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/persongroup/job/scheduling/tactics/DayRegularScheduling.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/persongroup/job/scheduling/tactics/MonthRegularScheduling.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/persongroup/job/scheduling/tactics/MonthRegularScheduling.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/persongroup/job/scheduling/tactics/WeekRegularScheduling.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/persongroup/job/scheduling/tactics/WeekRegularScheduling.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/persongroup/job/scheduling/tactics/YearRegularScheduling.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/persongroup/job/scheduling/tactics/YearRegularScheduling.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/persongroup/service/impl/PersonGroupServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/persongroup/service/impl/PersonGroupServiceImpl.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/persongroup/service/impl/SchedulingResultsServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/persongroup/service/impl/SchedulingResultsServiceImpl.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/vacation/cmd/HandleOverdueVocationCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/vacation/cmd/HandleOverdueVocationCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/vacation/cmd/VocationCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/vacation/cmd/VocationCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/vacation/job/holidaygeneration/tactics/OneTimePayMentWay.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/vacation/job/holidaygeneration/tactics/OneTimePayMentWay.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/vacation/service/impl/VocationServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/vacation/service/impl/VocationServiceImpl.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/vacation/util/VocationCommonUtil.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/vacation/util/VocationCommonUtil.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/action/EliminationsAskForLeaveAction.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/action/EliminationsAskForLeaveAction.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/action/EliminationsEvctionCheckAction.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/action/EliminationsEvctionCheckAction.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/action/EvctionCheckAction.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/action/EvctionCheckAction.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/action/MakeUpClockImportAction.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/action/MakeUpClockImportAction.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/action/MakeUpClockInAction.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/action/MakeUpClockInAction.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/action/OvertimePlanCheckAction.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/action/OvertimePlanCheckAction.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/action/OvertimeResultCheckAction.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/action/OvertimeResultCheckAction.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/action/RevokeEliminationsAskForLeaveAction.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/action/RevokeEliminationsAskForLeaveAction.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/action/RevokeLeaveAction.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/action/RevokeLeaveAction.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/action/askforleave/AskForLeaveWorkFlowArchivingAction.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/action/askforleave/AskForLeaveWorkFlowArchivingAction.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/action/askforleave/AskForLeaveWorkFlowSubmitAction.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/action/askforleave/AskForLeaveWorkFlowSubmitAction.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/cmd/GetAskForLeaveRecordListCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/cmd/GetAskForLeaveRecordListCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/cmd/GetEliminationsEvctionListCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/cmd/GetEliminationsEvctionListCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/cmd/GetKqCycleTimeIntervalCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/cmd/GetKqCycleTimeIntervalCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/cmd/GetRestDayIntervalCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/cmd/GetRestDayIntervalCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/service/impl/AllowanceServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/service/impl/AllowanceServiceImpl.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/service/impl/AskForLeaveServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/service/impl/AskForLeaveServiceImpl.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/service/impl/BusinessTripsApplyServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/service/impl/BusinessTripsApplyServiceImpl.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/service/impl/ProcessSubmitCheckServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/service/impl/ProcessSubmitCheckServiceImpl.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/common/cmd/GetPersonDateBySuitOrganzation.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/common/cmd/GetPersonDateBySuitOrganzation.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/common/cmd/QueryCommonCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/common/cmd/QueryCommonCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/common/service/impl/CommonServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/common/service/impl/CommonServiceImpl.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/common/util/CommonUtil.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/common/util/CommonUtil.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/common/util/DbTools.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/common/util/DbTools.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/common/util/ResponseResult.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/common/util/ResponseResult.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/common/util/Utils.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/common/util/Utils.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/common/util/excel/ExcelParseHelper.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/common/util/excel/ExcelParseHelper.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/test-classes/GetClockInPointCmd.class" beforeDir="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$/target/test-classes/TestAttendanceAllowance/Test.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/test-classes/TestAttendanceAllowance/Test.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/test-classes/TestAttendanceAllowance/Test2.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/test-classes/TestAttendanceAllowance/Test2.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/test-classes/TestGetClockInPoint.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/test-classes/TestGetClockInPoint.class" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/test-classes/TestGetClockInPoint.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/test-classes/TestGetClockInPoint.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/test-classes/TestObj.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/test-classes/TestObj.class" 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$/target/test-classes/workflow/Test1.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/test-classes/workflow/Test1.class" 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/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/TestObj.java" beforeDir="false" afterPath="$PROJECT_DIR$/test/TestObj.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" />
@ -64,7 +218,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$/log/interceptSql" /> <property name="last_opened_file_path" value="$PROJECT_DIR$/../../../资料/项目/misp" />
<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" />
@ -113,18 +267,18 @@
<option name="Make" enabled="true" /> <option name="Make" enabled="true" />
</method> </method>
</configuration> </configuration>
<configuration name="TestHandleOverdueVocation.test1" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true"> <configuration name="Test2.testAnalysis" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
<module name="hrm-attendance" /> <module name="hrm-attendance" />
<shortenClasspath name="MANIFEST" /> <shortenClasspath name="MANIFEST" />
<extension name="coverage"> <extension name="coverage">
<pattern> <pattern>
<option name="PATTERN" value="vocation.*" /> <option name="PATTERN" value="TestAttendanceAllowance.*" />
<option name="ENABLED" value="true" /> <option name="ENABLED" value="true" />
</pattern> </pattern>
</extension> </extension>
<option name="PACKAGE_NAME" value="vocation" /> <option name="PACKAGE_NAME" value="TestAttendanceAllowance" />
<option name="MAIN_CLASS_NAME" value="vocation.TestHandleOverdueVocation" /> <option name="MAIN_CLASS_NAME" value="TestAttendanceAllowance.Test2" />
<option name="METHOD_NAME" value="test1" /> <option name="METHOD_NAME" value="testAnalysis" />
<option name="TEST_OBJECT" value="method" /> <option name="TEST_OBJECT" value="method" />
<method v="2"> <method v="2">
<option name="Make" enabled="true" /> <option name="Make" enabled="true" />
@ -164,7 +318,7 @@
<option name="Make" enabled="true" /> <option name="Make" enabled="true" />
</method> </method>
</configuration> </configuration>
<configuration name="Test.testjob" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true"> <configuration name="Test.testRealse2" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
<module name="hrm-attendance" /> <module name="hrm-attendance" />
<shortenClasspath name="MANIFEST" /> <shortenClasspath name="MANIFEST" />
<extension name="coverage"> <extension name="coverage">
@ -175,24 +329,24 @@
</extension> </extension>
<option name="PACKAGE_NAME" value="TestAttendanceAllowance" /> <option name="PACKAGE_NAME" value="TestAttendanceAllowance" />
<option name="MAIN_CLASS_NAME" value="TestAttendanceAllowance.Test" /> <option name="MAIN_CLASS_NAME" value="TestAttendanceAllowance.Test" />
<option name="METHOD_NAME" value="testjob" /> <option name="METHOD_NAME" value="testRealse2" />
<option name="TEST_OBJECT" value="method" /> <option name="TEST_OBJECT" value="method" />
<method v="2"> <method v="2">
<option name="Make" enabled="true" /> <option name="Make" enabled="true" />
</method> </method>
</configuration> </configuration>
<configuration name="TestgetDepartSchedule.test2" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true"> <configuration name="Test.testRealse3" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
<module name="hrm-attendance" /> <module name="hrm-attendance" />
<shortenClasspath name="MANIFEST" /> <shortenClasspath name="MANIFEST" />
<extension name="coverage"> <extension name="coverage">
<pattern> <pattern>
<option name="PATTERN" value="calendarscheduling.*" /> <option name="PATTERN" value="TestAttendanceAllowance.*" />
<option name="ENABLED" value="true" /> <option name="ENABLED" value="true" />
</pattern> </pattern>
</extension> </extension>
<option name="PACKAGE_NAME" value="calendarscheduling" /> <option name="PACKAGE_NAME" value="TestAttendanceAllowance" />
<option name="MAIN_CLASS_NAME" value="calendarscheduling.TestgetDepartSchedule" /> <option name="MAIN_CLASS_NAME" value="TestAttendanceAllowance.Test" />
<option name="METHOD_NAME" value="test2" /> <option name="METHOD_NAME" value="testRealse3" />
<option name="TEST_OBJECT" value="method" /> <option name="TEST_OBJECT" value="method" />
<method v="2"> <method v="2">
<option name="Make" enabled="true" /> <option name="Make" enabled="true" />
@ -208,10 +362,10 @@
<recent_temporary> <recent_temporary>
<list> <list>
<item itemvalue="JUnit.Test.testAnalysis" /> <item itemvalue="JUnit.Test.testAnalysis" />
<item itemvalue="JUnit.Test2.testAnalysis" />
<item itemvalue="JUnit.Test.testRealse3" />
<item itemvalue="JUnit.Test.testRealse2" />
<item itemvalue="JUnit.Test.testRealse" /> <item itemvalue="JUnit.Test.testRealse" />
<item itemvalue="JUnit.TestHandleOverdueVocation.test1" />
<item itemvalue="JUnit.Test.testjob" />
<item itemvalue="JUnit.TestgetDepartSchedule.test2" />
</list> </list>
</recent_temporary> </recent_temporary>
</component> </component>
@ -676,7 +830,15 @@
<workItem from="1718280362028" duration="2496000" /> <workItem from="1718280362028" duration="2496000" />
<workItem from="1718328466535" duration="2031000" /> <workItem from="1718328466535" duration="2031000" />
<workItem from="1718333102151" duration="5660000" /> <workItem from="1718333102151" duration="5660000" />
<workItem from="1718343971324" duration="1223000" /> <workItem from="1718343971324" duration="15352000" />
<workItem from="1718542163415" duration="4633000" />
<workItem from="1718588032031" duration="6391000" />
<workItem from="1718602283054" duration="18057000" />
<workItem from="1718673708438" duration="7978000" />
<workItem from="1718689112025" duration="19275000" />
<workItem from="1718760434739" duration="122000" />
<workItem from="1718760572040" duration="8008000" />
<workItem from="1718775253782" duration="833000" />
</task> </task>
<servers /> <servers />
</component> </component>
@ -732,8 +894,23 @@
</line-breakpoint> </line-breakpoint>
<line-breakpoint enabled="true" type="java-line"> <line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/com/engine/attendance/component/calendarscheduling/service/impl/WorkRulesServiceImpl.java</url> <url>file://$PROJECT_DIR$/src/com/engine/attendance/component/calendarscheduling/service/impl/WorkRulesServiceImpl.java</url>
<line>115</line> <line>382</line>
<option name="timeStamp" value="167" /> <option name="timeStamp" value="170" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/com/engine/attendance/component/calendarscheduling/service/impl/WorkRulesServiceImpl.java</url>
<line>418</line>
<option name="timeStamp" value="171" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/commonutil/PersongroupCommonUtil.java</url>
<line>260</line>
<option name="timeStamp" value="172" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/getclockInpoint/MergeApairClockPoint.java</url>
<line>31</line>
<option name="timeStamp" value="199" />
</line-breakpoint> </line-breakpoint>
</breakpoints> </breakpoints>
</breakpoint-manager> </breakpoint-manager>

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

@ -6,10 +6,12 @@ import com.engine.common.entity.BizLogContext;
import com.engine.common.util.DateUtil; import com.engine.common.util.DateUtil;
import com.engine.common.util.Utils; import com.engine.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.Maps; import com.google.common.collect.Maps;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import weaver.general.Util; import weaver.general.Util;
import java.util.Comparator;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -62,9 +64,23 @@ public class ComputeAttendanceDurationCmd extends AbstractCommonCommand<Map<Stri
/** /**
* *
*/ */
abnormalClockInList = abnormalClockInList.stream().filter(e->e.get("bdlx").equals(ClassSegmentTypeEnum.WORK_TIME.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()))
.collect(Collectors.groupingBy(e->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));
}
});
double abnormalTime = 0; double abnormalTime = 0;
for (Map<String,Object> abnormalClockInMap : abnormalClockInList){ for (Map<String,Object> abnormalClockInMap : filterAbnormalList){
AttendanceItemTypeEnum itemType = (AttendanceItemTypeEnum)abnormalClockInMap.get("itemType"); AttendanceItemTypeEnum itemType = (AttendanceItemTypeEnum)abnormalClockInMap.get("itemType");
String kczgsc = Util.null2String(abnormalClockInMap.get("kczgsc")); String kczgsc = Util.null2String(abnormalClockInMap.get("kczgsc"));
@ -102,7 +118,7 @@ public class ComputeAttendanceDurationCmd extends AbstractCommonCommand<Map<Stri
*/ */
double evectionTimeTime = removeEvection(analysisDate,scheduleResult,evectionList,evectionItems,offsetEvectionAnomaly); double evectionTimeTime = removeEvection(analysisDate,scheduleResult,evectionList,evectionItems,offsetEvectionAnomaly);
log.info("abnormalTime : {},askForLeaveTime : {},evectionTimeTime:{}",abnormalTime,askForLeaveTime,evectionTimeTime); log.debug("abnormalTime : {},askForLeaveTime : {},evectionTimeTime:{}",abnormalTime,askForLeaveTime,evectionTimeTime);
double deductTime = Double.valueOf(String.format ("%.2f",(abnormalTime+askForLeaveTime+evectionTimeTime)/60)); double deductTime = Double.valueOf(String.format ("%.2f",(abnormalTime+askForLeaveTime+evectionTimeTime)/60));
edsc = edsc-deductTime; edsc = edsc-deductTime;
if (edsc < 0){ if (edsc < 0){
@ -118,8 +134,7 @@ public class ComputeAttendanceDurationCmd extends AbstractCommonCommand<Map<Stri
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());
log.info("removeAskForLeave scheduleResult:{},askForLeaveList:{},askForLeaveItems:{},offsetAskForLeaveAnomaly:{}",scheduleResult,
askForLeaveList,askForLeaveItems,offsetAskForLeaveAnomaly);
for (int i=0;i<askForLeaveList.size();i++){ for (int i=0;i<askForLeaveList.size();i++){
//请假时长 //请假时长
String qjsc = Util.null2String(askForLeaveList.get(i).get("qjsc")); String qjsc = Util.null2String(askForLeaveList.get(i).get("qjsc"));

@ -64,7 +64,7 @@ public class GetAskForLeaveCmd extends AbstractCommonCommand<Map<String,Object>>
return false; return false;
} }
}).collect(Collectors.toList()); }).collect(Collectors.toList());
log.info("haveAskForLeaveList : [{}]",haveAskForLeaveList); log.debug("haveAskForLeaveList : [{}]",haveAskForLeaveList);

@ -90,7 +90,7 @@ public class GetClockInTimeItemCmd extends AbstractCommonCommand<Map<String,Obje
} }
resultList = resultList.stream().sorted(Comparator.comparing(e->DateUtil.getTime(e.get("signdate")+" "+e.get("signtime")).toInstant(ZoneOffset.of("+8")).toEpochMilli())).collect(Collectors.toList()); resultList = resultList.stream().sorted(Comparator.comparing(e->DateUtil.getTime(e.get("signdate")+" "+e.get("signtime")).toInstant(ZoneOffset.of("+8")).toEpochMilli())).collect(Collectors.toList());
log.info("needGetDate : [{}],resultList : [{}]",needGetDate,resultList); log.debug("needGetDate : [{}],resultList : [{}]",needGetDate,resultList);
resultMap.put("resultList",resultList); resultMap.put("resultList",resultList);
return resultMap; return resultMap;
} }

@ -166,7 +166,7 @@ public class GetClockInTimeListCmd extends AbstractCommonCommand<Map<String,Obje
earliestTime = DateUtil.AfterSeconds(earliestTime,1); earliestTime = DateUtil.AfterSeconds(earliestTime,1);
} }
log.info("earliestTime :[{}],lastestTime: [{}]",earliestTime,lastestTime); log.debug("earliestTime :[{}],lastestTime: [{}]",earliestTime,lastestTime);
String finalEarliestTime = earliestTime; String finalEarliestTime = earliestTime;
String finalLastestTime = lastestTime; String finalLastestTime = lastestTime;
List<Map<String,Object>> effectiveclockInTimeList = clockInTimeList.stream().filter(e->{ List<Map<String,Object>> effectiveclockInTimeList = clockInTimeList.stream().filter(e->{

@ -64,7 +64,7 @@ public class GetEvectionCmd extends AbstractCommonCommand<Map<String,Object>> {
return false; return false;
} }
}).collect(Collectors.toList()); }).collect(Collectors.toList());
log.info("haveEvectionList : [{}]",haveEvectionList); log.debug("haveEvectionList : [{}]",haveEvectionList);
List<Map<String,Object>> resultList = Lists.newArrayList(); List<Map<String,Object>> resultList = Lists.newArrayList();
List<Map<String,Object>> evectionSchedule = Lists.newArrayList(); List<Map<String,Object>> evectionSchedule = Lists.newArrayList();

@ -24,7 +24,9 @@ import java.util.stream.Collectors;
/** /**
* *
* ShiftServiceImplgetSchedulingInFormation * !!!!!!!!!!!!!!!
* ****ShiftServiceImplgetSchedulingInFormation****
*
*/ */
@Slf4j @Slf4j
public class GetScheduleResultListCmd extends AbstractCommonCommand<Map<String,Object>> { public class GetScheduleResultListCmd extends AbstractCommonCommand<Map<String,Object>> {
@ -111,8 +113,8 @@ public class GetScheduleResultListCmd extends AbstractCommonCommand<Map<String,O
} }
/** 加班计划*/ /** 加班计划*/
sql = "select b.jbry,b.ksrq,b.kssj,a.jblx,b.jsrq,b.jssj,b.jbsc from uf_jcl_kq_jbjh a left join uf_jcl_kq_jbjh_dt1 b on a.id=b.mainid where b.jbry =? and b.ksrq>=? and b.ksrq<=? and (b.jbcx=0 or b.jbcx is null)"; sql = "select b.jbry,b.ksrq,b.kssj,a.jblx,b.jsrq,b.jssj,b.jbsc,b.gsrq from uf_jcl_kq_jbjh a left join uf_jcl_kq_jbjh_dt1 b on a.id=b.mainid where b.jbry =? and b.gsrq>=? and b.gsrq<=? and (b.jbcx=0 or b.jbcx is null)";
Map<String,List<Map<String,Object>>> overtimePlanMap = DbTools.getSqlToList(sql,params.get("pbdx"),params.get("startDate"),params.get("endDate")).stream().collect(Collectors.groupingBy(e -> Util.null2String(e.get("ksrq")))); Map<String,List<Map<String,Object>>> overtimePlanMap = DbTools.getSqlToList(sql,params.get("pbdx"),params.get("startDate"),params.get("endDate")).stream().collect(Collectors.groupingBy(e -> Util.null2String(e.get("gsrq"))));
//考勤项目 //考勤项目
@ -222,7 +224,7 @@ public class GetScheduleResultListCmd extends AbstractCommonCommand<Map<String,O
schedulMap.put("schedulingResultsMap",resultMap); schedulMap.put("schedulingResultsMap",resultMap);
schedulMap.put("clockInTimeDataMap",clockInTimeDataMap); schedulMap.put("clockInTimeDataMap",clockInTimeDataMap);
log.info("SchedulingResults : [{}]",resultMap); log.info("SchedulingResults : [{}]",schedulMap);
return schedulMap; return schedulMap;
} }

@ -96,7 +96,7 @@ public class RecordDataCmd extends AbstractCommonCommand<Map<String,Object>> {
} }
sql = sql.substring(0,sql.length()-1) +" where ygid=? and rq=?"; sql = sql.substring(0,sql.length()-1) +" where ygid=? and rq=?";
log.info("update sql : {}",sql); log.debug("update sql : {}",sql);
DbTools.update(sql,userId,analysisDate); DbTools.update(sql,userId,analysisDate);
}else { }else {
sql = "select subcompanyid1,departmentid,jobtitle from hrmresource where id=?"; sql = "select subcompanyid1,departmentid,jobtitle from hrmresource where id=?";
@ -155,8 +155,8 @@ public class RecordDataCmd extends AbstractCommonCommand<Map<String,Object>> {
} }
value = value.substring(0,value.length()-1); value = value.substring(0,value.length()-1);
sql = sql +cloumns +") values ("+value+")"; sql = sql +cloumns +") values ("+value+")";
log.info("insert sql : {}",sql); log.debug("insert sql : {}",sql);
log.info("insert data : {}",insertDatas); log.debug("insert data : {}",insertDatas);
DbTools.update(sql,insertDatas.toArray()); DbTools.update(sql,insertDatas.toArray());
} }

@ -40,7 +40,6 @@ public class AdjustByWorkOverTimeCmd extends AbstractCommonCommand<Map<String, O
List<Map<String, Object>> scheduleResult = (List<Map<String, Object>>)params.get("scheduleResult"); List<Map<String, Object>> scheduleResult = (List<Map<String, Object>>)params.get("scheduleResult");
scheduleResult = scheduleResult.stream().filter(e -> !ClassSegmentTypeEnum.ASK_FOR_LEAVE.getKey().equals(e.get("bdlx")) && !ClassSegmentTypeEnum.EVECTION.getKey().equals(e.get("bdlx"))).collect(Collectors.toList()); scheduleResult = scheduleResult.stream().filter(e -> !ClassSegmentTypeEnum.ASK_FOR_LEAVE.getKey().equals(e.get("bdlx")) && !ClassSegmentTypeEnum.EVECTION.getKey().equals(e.get("bdlx"))).collect(Collectors.toList());
String analysisDate = params.get("analysisDate").toString(); String analysisDate = params.get("analysisDate").toString();
List<Map<String, Object>> askForLeaveAndEvctionScheduleList = (List<Map<String, Object>>)params.get("askForLeaveAndEvctionScheduleList");
List<ClockPointDTO> adjustClcokInPointList = Lists.newArrayList(); List<ClockPointDTO> adjustClcokInPointList = Lists.newArrayList();
for (int i=0;i<clcokInPointList.size();i++){ for (int i=0;i<clcokInPointList.size();i++){
ClockPointDTO clockPointDTO = clcokInPointList.get(i); ClockPointDTO clockPointDTO = clcokInPointList.get(i);

@ -1,74 +0,0 @@
package com.engine.attendance.attendanceanalysis.cmd.getclockInpoint;
import com.engine.attendance.attendanceanalysis.dto.clockpoint.ClockPointDTO;
import com.engine.attendance.attendanceanalysis.dto.clockpoint.ClockPointInfo;
import com.engine.attendance.enums.ClockPointEnum;
import com.engine.common.util.DateUtil;
import com.engine.common.util.Utils;
import java.time.ZoneOffset;
import java.util.Comparator;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
*
*/
public class AdjustWhenHaveTwoClockPoint implements AdjustClockPointAction{
@Override
public List<ClockPointDTO> execute(ClockPointInfo clockPointInfo) {
List<ClockPointDTO> clcokInPointList = clockPointInfo.getClcokInPointList();
List<Map<String, Object>> scheduleResult = clockPointInfo.getScheduleResult();
String analysisDate = clockPointInfo.getAnalysisDate();
clcokInPointList = clcokInPointList.stream().sorted(Comparator.comparing(e-> DateUtil.getTime(e.getClassTime()).toInstant(ZoneOffset.of("+8")).toEpochMilli())).collect(Collectors.toList());
if (clcokInPointList.size() ==2 && clcokInPointList.get(0).getPointType() == ClockPointEnum.START
&& clcokInPointList.get(1).getPointType() == ClockPointEnum.END){
if (clcokInPointList.get(0).getTimeType() == ClockPointEnum.EMPTY){
//当上班存在漏卡时则全天漏卡
for (Map<String, Object> map :scheduleResult){
if (!Utils.getkssjTime(map,analysisDate).equals(clcokInPointList.get(0).getClassTime())){
clcokInPointList.add(ClockPointDTO.builder().classTime(Utils.getkssjTime(map,analysisDate)).pointType(ClockPointEnum.START).timeType(ClockPointEnum.EMPTY).classSegmentType(map.get("bdlx").toString())
.record(false).build());
}
}
}
if (clcokInPointList.get(1).getTimeType() == ClockPointEnum.EMPTY){
//当上班存在漏卡时则全天漏卡
for (Map<String, Object> map :scheduleResult){
if (!Utils.getjssjTime(map,analysisDate).equals(clcokInPointList.get(1).getClassTime())){
clcokInPointList.add(ClockPointDTO.builder().classTime(Utils.getjssjTime(map,analysisDate)).pointType(ClockPointEnum.END).timeType(ClockPointEnum.EMPTY).classSegmentType(map.get("bdlx").toString())
.record(false).build());
}
}
}
if (clcokInPointList.get(1).getTimeType() != ClockPointEnum.EMPTY && clcokInPointList.get(0).getTimeType() != ClockPointEnum.EMPTY){
//上班时间
String toWorkTime = clcokInPointList.get(0).getClockTime().get("signdate")+" "+clcokInPointList.get(0).getClockTime().get("signtime");
//下班时间
String afterWorkTime = clcokInPointList.get(1).getClockTime().get("signdate")+" "+clcokInPointList.get(1).getClockTime().get("signtime");
if (clcokInPointList.get(0).getTimeType() == ClockPointEnum.AFTER){
//上班迟到
for (Map<String, Object> map :scheduleResult){
String kssj = Utils.getkssjTime(map,analysisDate);
String jssj = Utils.getjssjTime(map,analysisDate);
if (kssj.equals(clcokInPointList.get(0).getClassTime())){
}
}
}
if (clcokInPointList.get(1).getTimeType() == ClockPointEnum.BEFORE){
//下班早退
}
}
}
return null;
}
}

@ -56,11 +56,11 @@ public class GetClockInPointCmd extends AbstractCommonCommand<Map<String, Object
List<Map<String, Object>> needClockInList = scheduleResult.stream().filter(e -> !ClassSegmentTypeEnum.REST_AND_DINE.getKey().equals(e.get("bdlx")) && !ClassSegmentTypeEnum.REST_PERIOD.getKey().equals(e.get("bdlx")) && List<Map<String, Object>> needClockInList = scheduleResult.stream().filter(e -> !ClassSegmentTypeEnum.REST_AND_DINE.getKey().equals(e.get("bdlx")) && !ClassSegmentTypeEnum.REST_PERIOD.getKey().equals(e.get("bdlx")) &&
!ClassSegmentTypeEnum.DINING_PERIOD.getKey().equals(e.get("bdlx")) ).collect(Collectors.toList()); !ClassSegmentTypeEnum.DINING_PERIOD.getKey().equals(e.get("bdlx")) ).collect(Collectors.toList());
log.info("未重新计算卡点时 老的scheduleResult : [{}],askForLeaveAndEvctionScheduleList:[{}]",scheduleResult,askForLeaveAndEvctionScheduleList); log.debug("未重新计算卡点时 老的scheduleResult : [{}],askForLeaveAndEvctionScheduleList:[{}]",scheduleResult,askForLeaveAndEvctionScheduleList);
//调整加班计时间段的打卡 //调整加班计时间段的打卡
scheduleResult = adjustWorkOverTimeClock(scheduleResult,analysisDate); scheduleResult = adjustWorkOverTimeClock(scheduleResult,analysisDate);
log.info("经过adjustWorkOverTimeClock 加班调整过后的 的scheduleResult: [{}]",scheduleResult); log.debug("经过adjustWorkOverTimeClock 加班调整过后的 的scheduleResult: [{}]",scheduleResult);
/** /**
* *
@ -244,6 +244,7 @@ public class GetClockInPointCmd extends AbstractCommonCommand<Map<String, Object
List<ClockPointDTO> clcokInPointList = getClockInPoint(analysisDate, scheduleResult, clockInTimeList,needClockDateList); List<ClockPointDTO> clcokInPointList = getClockInPoint(analysisDate, scheduleResult, clockInTimeList,needClockDateList);
log.info("clcokInPointList :[{}]",clcokInPointList); log.info("clcokInPointList :[{}]",clcokInPointList);
resultMap.put("clcokInPointList", clcokInPointList); resultMap.put("clcokInPointList", clcokInPointList);
resultMap.put("scheduleResult",scheduleResult); resultMap.put("scheduleResult",scheduleResult);
@ -414,7 +415,6 @@ public class GetClockInPointCmd extends AbstractCommonCommand<Map<String, Object
resetClcokDTO.setClockTime(newClockTimeMap); resetClcokDTO.setClockTime(newClockTimeMap);
} }
}else { }else {
resetClcokDTO.setTimeType(newtimeType); resetClcokDTO.setTimeType(newtimeType);
resetClcokDTO.setClockTime(newClockTimeMap); resetClcokDTO.setClockTime(newClockTimeMap);
} }
@ -431,6 +431,7 @@ public class GetClockInPointCmd extends AbstractCommonCommand<Map<String, Object
resetClcokDTO = beforeClcokDTO; resetClcokDTO = beforeClcokDTO;
} }
resetClcokDTO.setClockTime(null); resetClcokDTO.setClockTime(null);
resetClcokDTO.setTimeType(ClockPointEnum.EMPTY);
} }
} }
} }

@ -0,0 +1,176 @@
package com.engine.attendance.attendanceanalysis.cmd.getclockInpoint;
import com.engine.attendance.attendanceanalysis.dto.clockpoint.ClockPointDTO;
import com.engine.attendance.attendanceanalysis.dto.clockpoint.ClockPointInfo;
import com.engine.attendance.enums.ClockPointEnum;
import com.engine.common.util.DateUtil;
import com.engine.common.util.Utils;
import com.google.common.collect.Lists;
import lombok.extern.slf4j.Slf4j;
import java.time.ZoneOffset;
import java.util.Comparator;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
*
*/
@Slf4j
public class MergeApairClockPoint implements AdjustClockPointAction{
private String analysisDate;
@Override
public List<ClockPointDTO> execute(ClockPointInfo clockPointInfo) {
List<ClockPointDTO> clcokInPointList = clockPointInfo.getClcokInPointList();
List<Map<String, Object>> scheduleResult = clockPointInfo.getScheduleResult();
analysisDate = clockPointInfo.getAnalysisDate();
clcokInPointList = clcokInPointList.stream().sorted(Comparator.comparing(e-> DateUtil.getTime(e.getClassTime()).toInstant(ZoneOffset.of("+8")).toEpochMilli())).collect(Collectors.toList());
if (clcokInPointList.size() <= 1){
return clcokInPointList;
}
List<ClockPointDTO> adjustClcokInPointList = Lists.newArrayList();
for (int i=0;i<clcokInPointList.size()-1;i++){
ClockPointDTO startPointDTO = clcokInPointList.get(i);
ClockPointDTO endPointDTO = clcokInPointList.get(i+1);
if (startPointDTO.getPointType() == ClockPointEnum.START && endPointDTO.getPointType() == ClockPointEnum.END){
int startScheduleIndex = getStartScheduleIndex(startPointDTO.getClassTime(),scheduleResult);
int endScheduleIndex = getEndScheduleIndex(endPointDTO.getClassTime(),scheduleResult);
if (startScheduleIndex == endScheduleIndex){
//同属一个班段不用合并
i = i+1;
continue;
}
if (startPointDTO.getTimeType() == ClockPointEnum.EMPTY){
//开始漏卡
for (int j=startScheduleIndex+1;j<=endScheduleIndex;j++){
Map<String, Object> scheduleMap = scheduleResult.get(j);
if (!Utils.ifRestClassSegment(scheduleMap.get("bdlx").toString())){
ClockPointDTO clockPointDTO = ClockPointDTO.builder().classTime(Utils.getkssjTime(scheduleMap,analysisDate)).pointType(ClockPointEnum.START).timeType(ClockPointEnum.EMPTY)
.classSegmentType(scheduleMap.get("bdlx").toString()).record(false).build();
adjustClcokInPointList.add(clockPointDTO);
}
}
}
if (startPointDTO.getTimeType() == ClockPointEnum.AFTER){
//迟到
//打卡时间
String startClockTime = startPointDTO.getClockTime().get("signdate")+" "+startPointDTO.getClockTime().get("signtime");
if (DateUtil.getTime(startClockTime).compareTo(DateUtil.getTime(Utils.getjssjTime(scheduleResult.get(startScheduleIndex),analysisDate))) > 0){
int index = getAfterAccordWithScheduleIndex(startClockTime,scheduleResult,startScheduleIndex);
for (int j=startScheduleIndex+1;j<=index;j++){
Map<String, Object> scheduleMap = scheduleResult.get(j);
if (!Utils.ifRestClassSegment(scheduleMap.get("bdlx").toString())){
ClockPointDTO clockPointDTO = ClockPointDTO.builder().classTime(Utils.getkssjTime(scheduleMap,analysisDate)).pointType(ClockPointEnum.START).timeType(ClockPointEnum.AFTER)
.classSegmentType(scheduleMap.get("bdlx").toString()).record(false).clockTime(startPointDTO.getClockTime()).build();
// if (j<index){
// clockPointDTO.getClockTime().put("signdate",Utils.getjssjTime(scheduleMap,analysisDate).split(" ")[0]);
// clockPointDTO.getClockTime().put("signtime",Utils.getjssjTime(scheduleMap,analysisDate).split(" ")[1]);
// }
adjustClcokInPointList.add(clockPointDTO);
}
}
// startPointDTO.getClockTime().put("signdate",Utils.getjssjTime(scheduleResult.get(startScheduleIndex),analysisDate).split(" ")[0]);
// startPointDTO.getClockTime().put("signtime",Utils.getjssjTime(scheduleResult.get(startScheduleIndex),analysisDate).split(" ")[1]);
}
}
if (endPointDTO.getTimeType() == ClockPointEnum.EMPTY){
//结束漏卡
for (int j=startScheduleIndex;j<endScheduleIndex;j++){
Map<String, Object> scheduleMap = scheduleResult.get(j);
if (!Utils.ifRestClassSegment(scheduleMap.get("bdlx").toString())){
ClockPointDTO clockPointDTO = ClockPointDTO.builder().classTime(Utils.getjssjTime(scheduleMap,analysisDate)).pointType(ClockPointEnum.END).timeType(ClockPointEnum.EMPTY)
.classSegmentType(scheduleMap.get("bdlx").toString()).record(false).build();
adjustClcokInPointList.add(clockPointDTO);
}
}
}
if (endPointDTO.getTimeType() == ClockPointEnum.BEFORE){
//早退
//打卡时间
String endClockTime = endPointDTO.getClockTime().get("signdate")+" "+endPointDTO.getClockTime().get("signtime");
if (DateUtil.getTime(endClockTime).compareTo(DateUtil.getTime(Utils.getkssjTime(scheduleResult.get(endScheduleIndex),analysisDate))) < 0){
int index = getBeforeAccordWithScheduleIndex(endClockTime,scheduleResult,endScheduleIndex);
for (int j=index;j<endScheduleIndex;j++){
Map<String, Object> scheduleMap = scheduleResult.get(j);
if (!Utils.ifRestClassSegment(scheduleMap.get("bdlx").toString())){
ClockPointDTO clockPointDTO = ClockPointDTO.builder().classTime(Utils.getjssjTime(scheduleMap,analysisDate)).pointType(ClockPointEnum.END).timeType(ClockPointEnum.BEFORE)
.classSegmentType(scheduleMap.get("bdlx").toString()).record(false).clockTime(endPointDTO.getClockTime()).build();
// if (j>index){
// clockPointDTO.getClockTime().put("signdate",Utils.getkssjTime(scheduleMap,analysisDate).split(" ")[0]);
// clockPointDTO.getClockTime().put("signtime",Utils.getkssjTime(scheduleMap,analysisDate).split(" ")[1]);
// }
adjustClcokInPointList.add(clockPointDTO);
}
}
// endPointDTO.getClockTime().put("signdate",Utils.getkssjTime(scheduleResult.get(endScheduleIndex),analysisDate).split(" ")[0]);
// endPointDTO.getClockTime().put("signtime",Utils.getkssjTime(scheduleResult.get(endScheduleIndex),analysisDate).split(" ")[1]);
}
}
i = i+1;
}
}
adjustClcokInPointList.addAll(clcokInPointList);
log.debug("AdjustByWorkOverTimeCmd : [{}]",adjustClcokInPointList);
return adjustClcokInPointList;
}
/**
*
* @return
*/
public int getAfterAccordWithScheduleIndex(String startClockTime,List<Map<String, Object>> scheduleResult,int startScheduleIndex){
for (int i=startScheduleIndex+1;i<scheduleResult.size();i++){
String kssj = Utils.getkssjTime(scheduleResult.get(i),analysisDate);
String jssj = Utils.getjssjTime(scheduleResult.get(i),analysisDate);
if (DateUtil.getTime(startClockTime).compareTo(DateUtil.getTime(kssj))>=0 &&
DateUtil.getTime(startClockTime).compareTo(DateUtil.getTime(jssj)) <=0){
return i;
}
}
return scheduleResult.size()-1;
}
/**
*
* @return
*/
public int getBeforeAccordWithScheduleIndex(String endClockTime,List<Map<String, Object>> scheduleResult,int endScheduleIndex){
for (int i=endScheduleIndex-1;i>=0;i--){
String kssj = Utils.getkssjTime(scheduleResult.get(i),analysisDate);
String jssj = Utils.getjssjTime(scheduleResult.get(i),analysisDate);
if (DateUtil.getTime(endClockTime).compareTo(DateUtil.getTime(kssj))>=0 &&
DateUtil.getTime(endClockTime).compareTo(DateUtil.getTime(jssj)) <=0){
return i;
}
}
return 0;
}
public int getStartScheduleIndex(String time,List<Map<String, Object>> scheduleResult){
for (int i =0;i<scheduleResult.size();i++){
String dtkssj = Utils.getkssjTime(scheduleResult.get(i),analysisDate);
if (dtkssj.equals(time)){
return i;
}
}
return -1;
}
public int getEndScheduleIndex(String time,List<Map<String, Object>> scheduleResult){
for (int i =0;i<scheduleResult.size();i++){
String dtjssj = Utils.getjssjTime(scheduleResult.get(i),analysisDate);
if (dtjssj.equals(time)){
return i;
}
}
return -1;
}
}

@ -53,7 +53,7 @@ public class AbsenteeismItemCmd extends AbstractCommonCommand<Map<String,Object>
return false; return false;
} }
}).collect(Collectors.toList()); }).collect(Collectors.toList());
log.info("absenteeismCmd attendanceItems : [{}]",attendanceItems); log.debug("absenteeismCmd attendanceItems : [{}]",attendanceItems);
resultMap.put("attendanceItems",attendanceItems); resultMap.put("attendanceItems",attendanceItems);
return resultMap; return resultMap;

@ -48,7 +48,7 @@ public class BeAwayItemCmd extends AbstractCommonCommand<Map<String,Object>> {
return false; return false;
} }
}).collect(Collectors.toList()); }).collect(Collectors.toList());
log.info("absenteeismCmd attendanceItems : [{}]",attendanceItems); log.debug("absenteeismCmd attendanceItems : [{}]",attendanceItems);
resultMap.put("attendanceItems",attendanceItems); resultMap.put("attendanceItems",attendanceItems);
return resultMap; return resultMap;

@ -51,7 +51,7 @@ public class BeLateItemCmd extends AbstractCommonCommand<Map<String,Object>> {
return false; return false;
} }
}).collect(Collectors.toList()); }).collect(Collectors.toList());
log.info("absenteeismCmd attendanceItems : [{}]",attendanceItems); log.debug("absenteeismCmd attendanceItems : [{}]",attendanceItems);
resultMap.put("attendanceItems",attendanceItems); resultMap.put("attendanceItems",attendanceItems);
return resultMap; return resultMap;

@ -46,7 +46,7 @@ public class ForGetClockItemCmd extends AbstractCommonCommand<Map<String,Object>
return false; return false;
} }
}).collect(Collectors.toList()); }).collect(Collectors.toList());
log.info("ForGetClockItemCmd attendanceItems : [{}]",attendanceItems); log.debug("ForGetClockItemCmd attendanceItems : [{}]",attendanceItems);
resultMap.put("attendanceItems",attendanceItems); resultMap.put("attendanceItems",attendanceItems);
return resultMap; return resultMap;

@ -52,7 +52,6 @@ public class LeaveEarlyItemCmd extends AbstractCommonCommand<Map<String,Object>>
return false; return false;
} }
}).collect(Collectors.toList()); }).collect(Collectors.toList());
log.info("absenteeismCmd attendanceItems : [{}]",attendanceItems);
resultMap.put("attendanceItems",attendanceItems); resultMap.put("attendanceItems",attendanceItems);
return resultMap; return resultMap;

@ -46,7 +46,7 @@ public class VacationItemCmd extends AbstractCommonCommand<Map<String,Object>> {
return false; return false;
} }
}).collect(Collectors.toList()); }).collect(Collectors.toList());
log.info("absenteeismCmd attendanceItems : [{}]",attendanceItems); log.debug("absenteeismCmd attendanceItems : [{}]",attendanceItems);
resultMap.put("attendanceItems",attendanceItems); resultMap.put("attendanceItems",attendanceItems);
return resultMap; return resultMap;

@ -50,7 +50,6 @@ public class WorkOvertimeItemCmd extends AbstractCommonCommand<Map<String,Object
return false; return false;
} }
}).collect(Collectors.toList()); }).collect(Collectors.toList());
log.info("WorkOvertimeItemCmd attendanceItems : [{}]",attendanceItems);
resultMap.put("attendanceItems",attendanceItems); resultMap.put("attendanceItems",attendanceItems);
return resultMap; return resultMap;

@ -115,7 +115,7 @@ public class GetOvertimeDurationCmd extends AbstractCommonCommand<Map<String, Ob
if (CheckBoxEnum.CHECKED.getKey().equals(ksjbbxydk)) { if (CheckBoxEnum.CHECKED.getKey().equals(ksjbbxydk)) {
Map<String, Object> clcokInTimeData = clcokInTimeMap.get(kssj); Map<String, Object> clcokInTimeData = clcokInTimeMap.get(kssj);
if (clcokInTimeData == null) { if (clcokInTimeData == null) {
log.info("加班开始时间漏卡: {},clcokInTimeData:{}", kssj, clcokInTimeMap); log.debug("加班开始时间漏卡: {},clcokInTimeData:{}", kssj, clcokInTimeMap);
resultMap.put("jbsc","0"); resultMap.put("jbsc","0");
return resultMap; return resultMap;
} }
@ -131,7 +131,7 @@ public class GetOvertimeDurationCmd extends AbstractCommonCommand<Map<String, Ob
if (CheckBoxEnum.CHECKED.getKey().equals(jsjbbxydk)) { if (CheckBoxEnum.CHECKED.getKey().equals(jsjbbxydk)) {
Map<String, Object> clcokInTimeData = clcokInTimeMap.get(jssj); Map<String, Object> clcokInTimeData = clcokInTimeMap.get(jssj);
if (clcokInTimeData == null) { if (clcokInTimeData == null) {
log.info("加班结束时间漏卡: {},clcokInTimeData:{}", jssj, clcokInTimeData); log.debug("加班结束时间漏卡: {},clcokInTimeData:{}", jssj, clcokInTimeData);
resultMap.put("jbsc","0"); resultMap.put("jbsc","0");
return resultMap; return resultMap;
} }
@ -252,8 +252,8 @@ public class GetOvertimeDurationCmd extends AbstractCommonCommand<Map<String, Ob
*/ */
int dinnerTime = Utils.dinnerTime(realityStartTime, realityEndime, scheduleResult, analysisDate); int dinnerTime = Utils.dinnerTime(realityStartTime, realityEndime, scheduleResult, analysisDate);
log.info("未扣减过的加班时长: {}", jbsc); log.debug("未扣减过的加班时长: {}", jbsc);
log.info("beLateTime :[{}],leaveElaryTime :[{}],askForLeaveTime:[{}],evectionTime:[{}],dinnerTime:[{}]", beLateTime, leaveElaryTime, askForLeaveTime, evectionTime, dinnerTime); log.debug("beLateTime :[{}],leaveElaryTime :[{}],askForLeaveTime:[{}],evectionTime:[{}],dinnerTime:[{}]", beLateTime, leaveElaryTime, askForLeaveTime, evectionTime, dinnerTime);
BigDecimal jbscbig = new BigDecimal(jbsc); BigDecimal jbscbig = new BigDecimal(jbsc);
if (CheckBoxEnum.CHECKED.getKey().equals(zdkcjcxxsc)){ if (CheckBoxEnum.CHECKED.getKey().equals(zdkcjcxxsc)){
//扣除就餐时长 //扣除就餐时长
@ -266,7 +266,7 @@ public class GetOvertimeDurationCmd extends AbstractCommonCommand<Map<String, Ob
jbsc = Double.valueOf(Util.null2String(scheduleMap.get("edxss"))) * 60; jbsc = Double.valueOf(Util.null2String(scheduleMap.get("edxss"))) * 60;
} }
} }
log.info("扣减过的加班时长 :[{}]", jbsc); log.debug("扣减过的加班时长 :[{}]", jbsc);
resultMap.put("jbsc",jbsc); resultMap.put("jbsc",jbsc);
resultMap.put("realityStartTime",realityStartTime); resultMap.put("realityStartTime",realityStartTime);
resultMap.put("realityEndime",realityEndime); resultMap.put("realityEndime",realityEndime);

@ -134,7 +134,7 @@ public class SaveWorkOverTimeCmd extends AbstractCommonCommand<Map<String,Object
jbsc = maxMonthTime-monthTime; jbsc = maxMonthTime-monthTime;
} }
} }
log.info("最终加班时长: {}",jbsc); log.debug("最终加班时长: {}",jbsc);
workOverTimeItems.put("item",workTimeBeLateItems.get(0).get("key")); workOverTimeItems.put("item",workTimeBeLateItems.get(0).get("key"));
double itemduration = Utils.getItemdurationDown(workOverTimeHsl,workOverTimeHsdw,Long.valueOf(Math.round(jbsc)).intValue(),AccountingUnitEnum.MINUTES); double itemduration = Utils.getItemdurationDown(workOverTimeHsl,workOverTimeHsdw,Long.valueOf(Math.round(jbsc)).intValue(),AccountingUnitEnum.MINUTES);
workOverTimeItems.put("itemduration",itemduration); workOverTimeItems.put("itemduration",itemduration);

@ -6,10 +6,8 @@ import com.engine.attendance.attendanceplan.service.AttendancePlanService;
import com.engine.attendance.attendanceplan.service.impl.AttendancePlanServiceImpl; import com.engine.attendance.attendanceplan.service.impl.AttendancePlanServiceImpl;
import com.engine.attendance.workflow.service.AllowanceService; import com.engine.attendance.workflow.service.AllowanceService;
import com.engine.attendance.workflow.service.impl.AllowanceServiceImpl; import com.engine.attendance.workflow.service.impl.AllowanceServiceImpl;
import com.engine.common.util.DateUtil; import com.engine.common.exception.AttendanceRunTimeException;
import com.engine.common.util.DbTools; import com.engine.common.util.*;
import com.engine.common.util.ServiceUtil;
import com.engine.common.util.Utils;
import com.google.common.collect.Maps; import com.google.common.collect.Maps;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import weaver.general.Util; import weaver.general.Util;
@ -32,13 +30,13 @@ public class AttendanceAnalysisJob extends BaseCronJob {
private String executeDate; private String executeDate;
@Override @Override
public void execute() { public void execute() {
log.info("********AttendanceAnalysisJob start********"); log.debug("********AttendanceAnalysisJob start********");
String queryUserSql = "select id from hrmresource"; String queryUserSql = "select id from hrmresource";
List<Map<String,Object>> userList = DbTools.getSqlToList(queryUserSql); List<Map<String,Object>> userList = DbTools.getSqlToList(queryUserSql);
String beforeFourDayDate = DateUtil.getCurrentDateMinusDay(4); String beforeFourDayDate = DateUtil.getCurrentDateMinusDay(4);
String nowDate = DateUtil.getCurrentDateMinusDay(1); String nowDate = DateUtil.getCurrentDate();
if (executeDate != null && !"".equals(executeDate)){ if (executeDate != null && !"".equals(executeDate)){
nowDate = executeDate; nowDate = executeDate;
beforeFourDayDate = DateUtil.beforeDay(executeDate,4); beforeFourDayDate = DateUtil.beforeDay(executeDate,4);
@ -57,6 +55,10 @@ public class AttendanceAnalysisJob extends BaseCronJob {
List<Map<String,Object>> attendaceResult = DbTools.getSqlToList(sql,DateUtil.beforeDay(nowDate,2),DateUtil.beforeDay(nowDate,1)); List<Map<String,Object>> attendaceResult = DbTools.getSqlToList(sql,DateUtil.beforeDay(nowDate,2),DateUtil.beforeDay(nowDate,1));
Map<String,List<Map<String,Object>>> attendaceGroupById = attendaceResult.stream().collect(Collectors.groupingBy(e->e.get("ygid").toString())); Map<String,List<Map<String,Object>>> attendaceGroupById = attendaceResult.stream().collect(Collectors.groupingBy(e->e.get("ygid").toString()));
//初始化扩展类
CommonUtil.initExtensionClassHolder();
for (Map<String,Object> userMap:userList){ for (Map<String,Object> userMap:userList){
String userId = Util.null2String(userMap.get("id")); String userId = Util.null2String(userMap.get("id"));
//日期对应的打卡数据 //日期对应的打卡数据
@ -80,6 +82,6 @@ public class AttendanceAnalysisJob extends BaseCronJob {
param.put("startDate",DateUtil.beforeDay(nowDate,1)); param.put("startDate",DateUtil.beforeDay(nowDate,1));
param.put("endDate",nowDate); param.put("endDate",nowDate);
allowanceService.addAllowanceRecords(param); allowanceService.addAllowanceRecords(param);
log.info("********AttendanceAnalysisJob end********"); log.debug("********AttendanceAnalysisJob end********");
} }
} }

@ -282,7 +282,7 @@ public class AbnormalAttendanceServiceImpl extends Service implements AbnormalAt
String hsdw = Util.null2String(beEarlyItems.get(0).get("hsdw")); String hsdw = Util.null2String(beEarlyItems.get(0).get("hsdw"));
double hsl = Double.valueOf(Util.null2String(beEarlyItems.get(0).get("hsl"))); double hsl = Double.valueOf(Util.null2String(beEarlyItems.get(0).get("hsl")));
if (!"".equals(jbzzhlfzs) && between > Integer.valueOf(jbzzhlfzs)){ if (!"".equals(jbzzhlfzs) && between > Integer.valueOf(jbzzhlfzs)){
log.info("between :{},jbzzhlfzs:{}",between,jbzzhlfzs); log.debug("between :{},jbzzhlfzs:{}",between,jbzzhlfzs);
String kczgsc = Util.null2String(beEarlyItems.get(0).get("kczgsc")); String kczgsc = Util.null2String(beEarlyItems.get(0).get("kczgsc"));
double itemduration = Utils.getItemduration(hsl,hsdw,between,AccountingUnitEnum.MINUTES); double itemduration = Utils.getItemduration(hsl,hsdw,between,AccountingUnitEnum.MINUTES);
Map<String,Object> saveWorkTimeBeLateParam = Maps.newHashMap(); Map<String,Object> saveWorkTimeBeLateParam = Maps.newHashMap();
@ -350,14 +350,15 @@ public class AbnormalAttendanceServiceImpl extends Service implements AbnormalAt
if (workTimeBeLateItems.size() == 0){ if (workTimeBeLateItems.size() == 0){
workTimeBeLateItems = (List<Map<String,Object>>)commandExecutor.execute(new AbsenteeismItemCmd(lateParams)).get("attendanceItems"); workTimeBeLateItems = (List<Map<String,Object>>)commandExecutor.execute(new AbsenteeismItemCmd(lateParams)).get("attendanceItems");
} }
if (workTimeBeLateItems.size() == 0){ //未找到时匹配未缺勤
List<Map<String,Object>> attendanceItems = (List<Map<String,Object>>)lateParams.get("attendanceItems"); // if (workTimeBeLateItems.size() == 0){
workTimeBeLateItems = attendanceItems.stream().filter(e->SystemItemEnum.MISSING_ABSENTEEISM.getKey().equals(e.get("key"))).collect(Collectors.toList()); // List<Map<String,Object>> attendanceItems = (List<Map<String,Object>>)lateParams.get("attendanceItems");
workTimeBeLateItems.get(0).put("kczgsc",CheckBoxEnum.CHECKED.getKey()); // workTimeBeLateItems = attendanceItems.stream().filter(e->SystemItemEnum.MISSING_ABSENTEEISM.getKey().equals(e.get("key"))).collect(Collectors.toList());
workTimeBeLateItems.get(0).put("qbkcsc","1"); // workTimeBeLateItems.get(0).put("kczgsc",CheckBoxEnum.CHECKED.getKey());
workTimeBeLateItems.get(0).put("cckcbc","1"); // workTimeBeLateItems.get(0).put("qbkcsc","1");
// workTimeBeLateItems.get(0).put("cckcbc","1");
} //
// }
return workTimeBeLateItems; return workTimeBeLateItems;
} }
/** /**
@ -370,14 +371,15 @@ public class AbnormalAttendanceServiceImpl extends Service implements AbnormalAt
if (workTimeBeLateItems.size() == 0){ if (workTimeBeLateItems.size() == 0){
workTimeBeLateItems = (List<Map<String,Object>>)commandExecutor.execute(new AbsenteeismItemCmd(earlyParams)).get("attendanceItems"); workTimeBeLateItems = (List<Map<String,Object>>)commandExecutor.execute(new AbsenteeismItemCmd(earlyParams)).get("attendanceItems");
} }
if (workTimeBeLateItems.size() == 0){ //未找到时匹配未缺勤
List<Map<String,Object>> attendanceItems = (List<Map<String,Object>>)earlyParams.get("attendanceItems"); // if (workTimeBeLateItems.size() == 0){
workTimeBeLateItems = attendanceItems.stream().filter(e->SystemItemEnum.MISSING_ABSENTEEISM.getKey().equals(e.get("key"))).collect(Collectors.toList()); // List<Map<String,Object>> attendanceItems = (List<Map<String,Object>>)earlyParams.get("attendanceItems");
workTimeBeLateItems.get(0).put("kczgsc",CheckBoxEnum.CHECKED.getKey()); // workTimeBeLateItems = attendanceItems.stream().filter(e->SystemItemEnum.MISSING_ABSENTEEISM.getKey().equals(e.get("key"))).collect(Collectors.toList());
workTimeBeLateItems.get(0).put("qbkcsc","1"); // workTimeBeLateItems.get(0).put("kczgsc",CheckBoxEnum.CHECKED.getKey());
workTimeBeLateItems.get(0).put("cckcbc","1"); // workTimeBeLateItems.get(0).put("qbkcsc","1");
// workTimeBeLateItems.get(0).put("cckcbc","1");
} //
// }
return workTimeBeLateItems; return workTimeBeLateItems;
} }

@ -66,7 +66,7 @@ public class ComprehensiveWorkingHourServiceImpl extends Service implements Comp
String rqlx = Utils.getDateType(analysisDate,Util.null2String(workHourItem.get("qyrl"))); String rqlx = Utils.getDateType(analysisDate,Util.null2String(workHourItem.get("qyrl")));
if (!CommonUtil.ifContainStr(hsgsdrqlx,rqlx,",")){ if (!CommonUtil.ifContainStr(hsgsdrqlx,rqlx,",")){
log.info("userId :[{}],analysisDate :[{}] 综合工时执行的日期不在设置的日期类型内",userId,analysisDate); log.debug("userId :[{}],analysisDate :[{}] 综合工时执行的日期不在设置的日期类型内",userId,analysisDate);
resultMap.put("message","综合工时执行的日期不在设置的日期类型内"); resultMap.put("message","综合工时执行的日期不在设置的日期类型内");
resultMap.put("excute",false); resultMap.put("excute",false);
return resultMap; return resultMap;
@ -100,7 +100,7 @@ public class ComprehensiveWorkingHourServiceImpl extends Service implements Comp
} }
double adjustBetWeenMinute = Utils.getItemdurationDown(ljcqscdhsfzs, AccountingUnitEnum.MINUTES.getKey(),betweenMinute,AccountingUnitEnum.MINUTES); double adjustBetWeenMinute = Utils.getItemdurationDown(ljcqscdhsfzs, AccountingUnitEnum.MINUTES.getKey(),betweenMinute,AccountingUnitEnum.MINUTES);
double adjustBetweenHour = new BigDecimal(adjustBetWeenMinute).divide(new BigDecimal(60),2, RoundingMode.HALF_UP).doubleValue(); double adjustBetweenHour = new BigDecimal(adjustBetWeenMinute).divide(new BigDecimal(60),2, RoundingMode.HALF_UP).doubleValue();
log.info("betweenMinute : [{}],adjustBetWeenMinute: [{}],betweenHour:[{}]",betweenMinute,adjustBetWeenMinute,adjustBetweenHour); log.debug("betweenMinute : [{}],adjustBetWeenMinute: [{}],betweenHour:[{}]",betweenMinute,adjustBetWeenMinute,adjustBetweenHour);
if (clockInTimeList.size() > 1){ if (clockInTimeList.size() > 1){
String reportTime = clockInTimeList.get(0).get("signdate")+" "+clockInTimeList.get(0).get("signtime"); String reportTime = clockInTimeList.get(0).get("signdate")+" "+clockInTimeList.get(0).get("signtime");
@ -121,7 +121,7 @@ public class ComprehensiveWorkingHourServiceImpl extends Service implements Comp
//早退 //早退
earlyLeaveMinute = Double.valueOf(rgzscyq*60-(betweenMinute+lateDurationTime)).intValue(); earlyLeaveMinute = Double.valueOf(rgzscyq*60-(betweenMinute+lateDurationTime)).intValue();
} }
log.info("lateDurationTime : [{}],earlyLeaveMinute:[{}]",lateDurationTime,earlyLeaveMinute); log.debug("lateDurationTime : [{}],earlyLeaveMinute:[{}]",lateDurationTime,earlyLeaveMinute);
if (rgzscbzhsyc.equals(CheckBoxEnum.CHECKED.getKey())){ if (rgzscbzhsyc.equals(CheckBoxEnum.CHECKED.getKey())){
if (lateDurationTime > 0){ if (lateDurationTime > 0){
//计入迟到项目 //计入迟到项目
@ -334,7 +334,7 @@ public class ComprehensiveWorkingHourServiceImpl extends Service implements Comp
} }
} }
log.info("newClockInTimeList : [{}]",newClockInTimeList); log.debug("newClockInTimeList : [{}]",newClockInTimeList);
return newClockInTimeList; return newClockInTimeList;
} }
@ -356,7 +356,7 @@ public class ComprehensiveWorkingHourServiceImpl extends Service implements Comp
String time2 = clockInTimeList.get(index2).get("signdate") +" "+clockInTimeList.get(index2).get("signtime"); String time2 = clockInTimeList.get(index2).get("signdate") +" "+clockInTimeList.get(index2).get("signtime");
betweenMinute += DateUtil.getBetWeenMinutes(time1,time2); betweenMinute += DateUtil.getBetWeenMinutes(time1,time2);
} }
log.info("betweenMinute : [{}]",betweenMinute); log.debug("betweenMinute : [{}]",betweenMinute);
return betweenMinute; return betweenMinute;
} }
@ -381,7 +381,7 @@ public class ComprehensiveWorkingHourServiceImpl extends Service implements Comp
resultMap.put("j"+(i+1),clockInTimeList.get(index1).get("signdate")+" "+clockInTimeList.get(index1).get("signtime")); resultMap.put("j"+(i+1),clockInTimeList.get(index1).get("signdate")+" "+clockInTimeList.get(index1).get("signtime"));
resultMap.put("c"+(i+1),clockInTimeList.get(index1).get("signdate")+" "+clockInTimeList.get(index2).get("signtime")); resultMap.put("c"+(i+1),clockInTimeList.get(index1).get("signdate")+" "+clockInTimeList.get(index2).get("signtime"));
} }
log.info("betweenMinute : [{}]",resultMap); log.debug("betweenMinute : [{}]",resultMap);
return resultMap; return resultMap;
} }
} }

@ -255,7 +255,7 @@ public class ShiftServiceImpl extends Service implements ShiftService {
getClockTimeParam.put("clockInTimeCollect",collect); getClockTimeParam.put("clockInTimeCollect",collect);
getClockTimeParam.put("userId",empId); getClockTimeParam.put("userId",empId);
//打卡数据 //打卡数据
log.info("getClockTimeParam : [{}]",getClockTimeParam); log.debug("getClockTimeParam : [{}]",getClockTimeParam);
List<Map<String, Object>> clockInTimeList = utilService.getClockInTime(getClockTimeParam); List<Map<String, Object>> clockInTimeList = utilService.getClockInTime(getClockTimeParam);
//3-组装出差和请假的数据 //3-组装出差和请假的数据
Map<String,Object> workingHourparam = Maps.newHashMap(); Map<String,Object> workingHourparam = Maps.newHashMap();
@ -352,8 +352,8 @@ public class ShiftServiceImpl extends Service implements ShiftService {
resultMap.put(punchDate,classs); resultMap.put(punchDate,classs);
/** 加班计划*/ /** 加班计划*/
sql = "select b.jbry,b.ksrq,b.kssj,a.jblx,b.jsrq,b.jssj,b.jbsc from uf_jcl_kq_jbjh a left join uf_jcl_kq_jbjh_dt1 b on a.id=b.mainid where b.jbry =? and b.ksrq>=? and b.ksrq<=? and (b.jbcx=0 or b.jbcx is null)"; sql = "select b.jbry,b.ksrq,b.kssj,a.jblx,b.jsrq,b.jssj,b.jbsc,b.gsrq from uf_jcl_kq_jbjh a left join uf_jcl_kq_jbjh_dt1 b on a.id=b.mainid where b.jbry =? and b.gsrq>=? and b.gsrq<=? and (b.jbcx=0 or b.jbcx is null)";
Map<String,List<Map<String,Object>>> overtimePlanMap = DbTools.getSqlToList(sql,params.get("pbdx"),punchDate,punchDate).stream().collect(Collectors.groupingBy(e -> Util.null2String(e.get("ksrq")))); Map<String,List<Map<String,Object>>> overtimePlanMap = DbTools.getSqlToList(sql,params.get("pbdx"),punchDate,punchDate).stream().collect(Collectors.groupingBy(e -> Util.null2String(e.get("gsrq"))));
//考勤项目 //考勤项目
List<Map<String,Object>> attendanceItems = new ArrayList<>(); List<Map<String,Object>> attendanceItems = new ArrayList<>();
@ -459,7 +459,7 @@ public class ShiftServiceImpl extends Service implements ShiftService {
} }
} }
log.info("SchedulingResults : [{}]",resultMap); log.debug("SchedulingResults : [{}]",resultMap);
return resultMap; return resultMap;
} }

@ -2,13 +2,17 @@ package com.engine.attendance.attendanceanalysis.service.impl;
import com.engine.attendance.attendanceanalysis.cmd.*; import com.engine.attendance.attendanceanalysis.cmd.*;
import com.engine.attendance.attendanceanalysis.cmd.getclockInpoint.AdjustByWorkOverTimeCmd; import com.engine.attendance.attendanceanalysis.cmd.getclockInpoint.AdjustByWorkOverTimeCmd;
import com.engine.attendance.attendanceanalysis.cmd.getclockInpoint.AdjustClockPointAction;
import com.engine.attendance.attendanceanalysis.cmd.getclockInpoint.GetClockInPointCmd; import com.engine.attendance.attendanceanalysis.cmd.getclockInpoint.GetClockInPointCmd;
import com.engine.attendance.attendanceanalysis.dto.clockpoint.ClockPointDTO; import com.engine.attendance.attendanceanalysis.dto.clockpoint.ClockPointDTO;
import com.engine.attendance.attendanceanalysis.dto.clockpoint.ClockPointInfo;
import com.engine.attendance.attendanceanalysis.service.UtilService; import com.engine.attendance.attendanceanalysis.service.UtilService;
import com.engine.attendance.component.persongroup.service.SchedulingResultsService; import com.engine.attendance.component.persongroup.service.SchedulingResultsService;
import com.engine.attendance.component.persongroup.service.impl.SchedulingResultsServiceImpl; import com.engine.attendance.component.persongroup.service.impl.SchedulingResultsServiceImpl;
import com.engine.attendance.enums.*; import com.engine.attendance.enums.*;
import com.engine.common.util.DateUtil; import com.engine.common.util.DateUtil;
import com.engine.common.util.DbTools;
import com.engine.common.util.ExtensionClassHolder;
import com.engine.common.util.ServiceUtil; import com.engine.common.util.ServiceUtil;
import com.engine.core.impl.Service; import com.engine.core.impl.Service;
import com.google.common.collect.Maps; import com.google.common.collect.Maps;
@ -148,12 +152,30 @@ public class UtilServiceImpl extends Service implements UtilService {
*/ */
@Override @Override
public List<ClockPointDTO> getClockInPointCmd(Map<String,Object> params) { public List<ClockPointDTO> getClockInPointCmd(Map<String,Object> params) {
List<Map<String, Object>> scheduleResult = (List<Map<String, Object>>) params.get("scheduleResult");
Map<String,Object> resultMap = commandExecutor.execute(new GetClockInPointCmd(params)); Map<String,Object> resultMap = commandExecutor.execute(new GetClockInPointCmd(params));
List<Map<String, Object>> newscheduleResult = (List<Map<String, Object>>)resultMap.get("scheduleResult");
List<Map<String, Object>> askForLeaveAndEvctionScheduleList = (List<Map<String, Object>>)resultMap.get("askForLeaveAndEvctionScheduleList");
params.putAll(resultMap); params.putAll(resultMap);
resultMap = commandExecutor.execute(new AdjustByWorkOverTimeCmd(params)); resultMap = commandExecutor.execute(new AdjustByWorkOverTimeCmd(params));
List<ClockPointDTO> clcokInPointList = (List<ClockPointDTO>)resultMap.get("clcokInPointList"); List<ClockPointDTO> clcokInPointList = (List<ClockPointDTO>)resultMap.get("clcokInPointList");
if (!scheduleResult.equals(newscheduleResult)){
scheduleResult.removeAll(scheduleResult);
scheduleResult.addAll(newscheduleResult);
}
clcokInPointList = clcokInPointList.stream().sorted(Comparator.comparing(e->DateUtil.getTime(e.getClassTime()).toInstant(ZoneOffset.of("+8")).toEpochMilli())).collect(Collectors.toList()); clcokInPointList = clcokInPointList.stream().sorted(Comparator.comparing(e->DateUtil.getTime(e.getClassTime()).toInstant(ZoneOffset.of("+8")).toEpochMilli())).collect(Collectors.toList());
return clcokInPointList;
ClockPointInfo clockPointInfo = ClockPointInfo.builder().analysisDate(Util.null2String(params.get("analysisDate"))).clcokInPointList(clcokInPointList)
.scheduleResult(newscheduleResult).askForLeaveAndEvctionScheduleList(askForLeaveAndEvctionScheduleList).clockInTimeList((List<Map<String, Object>>) params.get("clockInTimeList")).build();
List<AdjustClockPointAction> adjustClockPointActionList = ExtensionClassHolder.getAdjustClockPointAction();
for (AdjustClockPointAction action:adjustClockPointActionList){
List<ClockPointDTO> clockPointDTOS = action.execute(clockPointInfo);
clockPointInfo.setClcokInPointList(clockPointDTOS);
}
log.info("after adjustClockPointAction : [{}]",clockPointInfo.getClcokInPointList());
return clockPointInfo.getClcokInPointList();
} }
/** /**

@ -251,7 +251,7 @@ public class AttendanceJucailinButtonAction {
" values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"; " values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
boolean isOk = rs.executeUpdate(punchSql,userId,userType,signType,signDate,signTime,clientAddress,isInCom, boolean isOk = rs.executeUpdate(punchSql,userId,userType,signType,signDate,signTime,clientAddress,isInCom,
timeZone,belongdate,signfrom,longitude,latitude,addr,deviceInfo,showaddress); timeZone,belongdate,signfrom,longitude,latitude,addr,deviceInfo,showaddress);
log.info(user.getLastname()+":PunchButtonCmd:punchSql:"+punchSql+":isOk:"+isOk); log.debug(user.getLastname()+":PunchButtonCmd:punchSql:"+punchSql+":isOk:"+isOk);
retmap.put("status", "1"); retmap.put("status", "1");
retmap.put("signdate", signDate); retmap.put("signdate", signDate);

@ -44,10 +44,9 @@ 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-06-11"); // paramMap.put("startDate","2024-05-10");
// paramMap.put("endDate","2024-06-11"); // paramMap.put("endDate","2024-05-10");
// paramMap.put("userIds","31"); // paramMap.put("userIds","81");
String startDate = Util.null2String(paramMap.get("startDate")); String startDate = Util.null2String(paramMap.get("startDate"));
String startBeforeDate = DateUtil.beforeDay(startDate,2); String startBeforeDate = DateUtil.beforeDay(startDate,2);
@ -55,6 +54,8 @@ public class AttendanceanalysisAction {
String endAfterDate = DateUtil.AfterDay(endDate,2); String endAfterDate = DateUtil.AfterDay(endDate,2);
String userIds = Util.null2String(paramMap.get("userIds")); String userIds = Util.null2String(paramMap.get("userIds"));
int betweenDays = DateUtil.getBetWeenDays(startDate,endDate); int betweenDays = DateUtil.getBetWeenDays(startDate,endDate);
//初始化扩展类
CommonUtil.initExtensionClassHolder();
if ("".equals(userIds)){ if ("".equals(userIds)){
String queryUserSql = "select id from hrmresource"; String queryUserSql = "select id from hrmresource";
List<Map<String,Object>> userList = DbTools.getSqlToList(queryUserSql); List<Map<String,Object>> userList = DbTools.getSqlToList(queryUserSql);
@ -75,7 +76,9 @@ public class AttendanceanalysisAction {
for (Map<String,Object> userMap :userList){ for (Map<String,Object> userMap :userList){
String userId = userMap.get("id").toString(); String userId = userMap.get("id").toString();
log.debug("***********analysis userId:{} start***********", userId);
//出勤结果,进出时间 //出勤结果,进出时间
Map<String,Map<String,Object>> clockInTimeMap = Maps.newHashMap(); Map<String,Map<String,Object>> clockInTimeMap = Maps.newHashMap();
/**获得人员考勤项目*/ /**获得人员考勤项目*/
@ -109,7 +112,7 @@ public class AttendanceanalysisAction {
Map<String, List<Map<String, Object>>> attendaceResultMap = Maps.newHashMap(); Map<String, List<Map<String, Object>>> attendaceResultMap = Maps.newHashMap();
if (attendaceResult != null && attendaceResult.size() > 0) { if (attendaceGroupById.get(userId) != null && attendaceGroupById.get(userId).size() > 0) {
attendaceResultMap = attendaceGroupById.get(userId).stream().collect(Collectors.groupingBy(e -> e.get("rq").toString())); attendaceResultMap = attendaceGroupById.get(userId).stream().collect(Collectors.groupingBy(e -> e.get("rq").toString()));
} }
@ -173,7 +176,7 @@ public class AttendanceanalysisAction {
Map<String, List<Map<String, Object>>> attendaceResultMap = Maps.newHashMap(); Map<String, List<Map<String, Object>>> attendaceResultMap = Maps.newHashMap();
if (attendaceResult != null && attendaceResult.size() > 0) { if (attendaceGroupById.get(userId) != null && attendaceGroupById.get(userId).size() > 0) {
attendaceResultMap = attendaceGroupById.get(userId).stream().collect(Collectors.groupingBy(e -> e.get("rq").toString())); attendaceResultMap = attendaceGroupById.get(userId).stream().collect(Collectors.groupingBy(e -> e.get("rq").toString()));
} }
for (int i=0; i<=betweenDays;i++){ for (int i=0; i<=betweenDays;i++){
@ -239,7 +242,7 @@ public class AttendanceanalysisAction {
Map<String, List<Map<String,Object>>> evectioncollect = evectionList.stream().collect(Collectors.groupingBy(e -> Util.null2String(e.get("ccr")))); Map<String, List<Map<String,Object>>> evectioncollect = evectionList.stream().collect(Collectors.groupingBy(e -> Util.null2String(e.get("ccr"))));
//加班计划 //加班计划
sql = "select b.jbry,b.ksrq,b.kssj,a.jblx,b.jsrq,b.jssj,b.jbsc from uf_jcl_kq_jbjh a left join uf_jcl_kq_jbjh_dt1 b on a.id=b.mainid where b.jbry in ("+userIds+") and b.ksrq>=? and b.ksrq<=? and (b.jbcx=0 or b.jbcx is null) order by b.ksrq,b.kssj"; sql = "select b.jbry,b.ksrq,b.kssj,a.jblx,b.jsrq,b.jssj,b.jbsc,b.gsrq from uf_jcl_kq_jbjh a left join uf_jcl_kq_jbjh_dt1 b on a.id=b.mainid where b.jbry in ("+userIds+") and b.gsrq>=? and b.gsrq<=? and (b.jbcx=0 or b.jbcx is null) order by b.ksrq,b.kssj";
List<Map<String,Object>> overPlanDataList = DbTools.getSqlToList(sql,startDate,endDate); List<Map<String,Object>> overPlanDataList = DbTools.getSqlToList(sql,startDate,endDate);
for (Map<String,Object> map :overPlanDataList){ for (Map<String,Object> map :overPlanDataList){
map.put("jblx_name",itemMap.get(map.get("jblx"))); map.put("jblx_name",itemMap.get(map.get("jblx")));

@ -39,14 +39,13 @@ public class AttendanceAnalysisWrapper extends Service {
* @param dataList * @param dataList
* @param attendanceItems * @param attendanceItems
*/ */
public void attendanceAnalysis(String userId, String analysisDate, List<Map<String, Object>> dataList, List<Map<String, Object>> attendanceItems, List<Map<String, Object>> workHourItems, Map<String, Map<String, Object>> clockInTimeMap, List<Map<String, Object>> attendaceResult) { public void attendanceAnalysis(String userId, String nowDate, List<Map<String, Object>> dataList, List<Map<String, Object>> attendanceItems, List<Map<String, Object>> workHourItems, Map<String, Map<String, Object>> clockInTimeMap, List<Map<String, Object>> attendaceResult) {
log.info("***********analysis userId:{} start***********", userId); log.info("***********analysis userId:{} start***********", userId);
log.info("clockInTimeDate : [{}]", dataList); log.info("clockInTimeDate : [{}]", dataList);
String beforeFourDayDate = DateUtil.beforeDay(analysisDate, 4); String beforeFourDayDate = DateUtil.beforeDay(nowDate, 4);
String beforeTwoDayDate = DateUtil.beforeDay(analysisDate, 2); String beforeTwoDayDate = DateUtil.beforeDay(nowDate, 2);
String beforeOneDayDate = DateUtil.beforeDay(analysisDate, 1); String beforeOneDayDate = DateUtil.beforeDay(nowDate, 1);
String nowDate = analysisDate;
/** 打卡数据 */ /** 打卡数据 */
Map<String, List<Map<String, Object>>> collect = Maps.newHashMap(); Map<String, List<Map<String, Object>>> collect = Maps.newHashMap();
if (dataList != null && dataList.size() > 0) { if (dataList != null && dataList.size() > 0) {
@ -83,10 +82,8 @@ public class AttendanceAnalysisWrapper extends Service {
if (beforeOneDayDateattendaceResult == null || beforeOneDayDateattendaceResult.size() == 0 || (!CheckBoxEnum.CHECKED.getKey().equals(beforeOneDayDateattendaceResult.get(0).get("sgsj")) && if (beforeOneDayDateattendaceResult == null || beforeOneDayDateattendaceResult.size() == 0 || (!CheckBoxEnum.CHECKED.getKey().equals(beforeOneDayDateattendaceResult.get(0).get("sgsj")) &&
!"3".equals(beforeOneDayDateattendaceResult.get(0).get("sjzt")))) { !"3".equals(beforeOneDayDateattendaceResult.get(0).get("sjzt")))) {
log.info("getClockTimeParam : [{}]", getClockTimeParam);
//前一天打卡数据 //前一天打卡数据
List<Map<String, Object>> beforeOneDayClockInTimeList = utilService.getClockInTime(getClockTimeParam); List<Map<String, Object>> beforeOneDayClockInTimeList = utilService.getClockInTime(getClockTimeParam);
log.info("beforeOneDayClockInTimeList : [{}]", beforeOneDayClockInTimeList);
//分析前一天考勤 //分析前一天考勤
Map<String, Object> recordDataTime1 = analysis(userId, beforeOneDayDate, beforeOneDayClockInTimeList, schedulingResultsMap.get(beforeOneDayDate), attendanceItems, workHourItems,(Map<String,Object>)schedulMap.get("clockInTimeDataMap")); Map<String, Object> recordDataTime1 = analysis(userId, beforeOneDayDate, beforeOneDayClockInTimeList, schedulingResultsMap.get(beforeOneDayDate), attendanceItems, workHourItems,(Map<String,Object>)schedulMap.get("clockInTimeDataMap"));
clockInTimeMap.put(beforeOneDayDate, recordDataTime1); clockInTimeMap.put(beforeOneDayDate, recordDataTime1);
@ -98,7 +95,7 @@ public class AttendanceAnalysisWrapper extends Service {
!"3".equals(beforeTwoDayDateattendaceResult.get(0).get("sjzt")))) { !"3".equals(beforeTwoDayDateattendaceResult.get(0).get("sjzt")))) {
//前第二天打卡数据 //前第二天打卡数据
List<Map<String, Object>> beforeTwoDayClockInTimeList = utilService.getClockInTime(getClockTimeParam); List<Map<String, Object>> beforeTwoDayClockInTimeList = utilService.getClockInTime(getClockTimeParam);
log.info("beforeTwoDayClockInTimeList : [{}]", beforeTwoDayClockInTimeList); log.debug("beforeTwoDayClockInTimeList : [{}]", beforeTwoDayClockInTimeList);
//分析前第二天考勤 //分析前第二天考勤
Map<String, Object> recordDataTime2 = analysis(userId, beforeTwoDayDate, beforeTwoDayClockInTimeList, schedulingResultsMap.get(beforeTwoDayDate), attendanceItems, workHourItems,(Map<String,Object>)schedulMap.get("clockInTimeDataMap")); Map<String, Object> recordDataTime2 = analysis(userId, beforeTwoDayDate, beforeTwoDayClockInTimeList, schedulingResultsMap.get(beforeTwoDayDate), attendanceItems, workHourItems,(Map<String,Object>)schedulMap.get("clockInTimeDataMap"));
clockInTimeMap.put(beforeTwoDayDate, recordDataTime2); clockInTimeMap.put(beforeTwoDayDate, recordDataTime2);
@ -136,7 +133,6 @@ public class AttendanceAnalysisWrapper extends Service {
getClockTimeParam.put("clockInTimeCollect", collect); getClockTimeParam.put("clockInTimeCollect", collect);
getClockTimeParam.put("userId", userId); getClockTimeParam.put("userId", userId);
//打卡数据 //打卡数据
log.info("getClockTimeParam : [{}]", getClockTimeParam);
List<Map<String, Object>> clockInTimeList = utilService.getClockInTime(getClockTimeParam); List<Map<String, Object>> clockInTimeList = utilService.getClockInTime(getClockTimeParam);
Map<String, Object> recordDataTime = analysis(userId, analysisDate, clockInTimeList, schedulingResultsMap.get(analysisDate), attendanceItems, workHourItems,(Map<String,Object>)schedulMap.get("clockInTimeDataMap")); Map<String, Object> recordDataTime = analysis(userId, analysisDate, clockInTimeList, schedulingResultsMap.get(analysisDate), attendanceItems, workHourItems,(Map<String,Object>)schedulMap.get("clockInTimeDataMap"));
clockInTimeMap.put(analysisDate, recordDataTime); clockInTimeMap.put(analysisDate, recordDataTime);
@ -260,8 +256,7 @@ public class AttendanceAnalysisWrapper extends Service {
recordAbnormalParam.put("formmodeIdMap", formModeIdMap); recordAbnormalParam.put("formmodeIdMap", formModeIdMap);
log.info("recordAbnormalParam clcokInTimeList:{},attendanceItems size :{},scheduleResult :{},analysisDate:[{}],userId:[{}],rqlx:[{}],modeId:[{}]", clcokInTimeData,
attendanceItems.size(), scheduleResult, analysisDate, userId, scheduleResult.get(0).get("rqlx"));
/** /**
@ -307,7 +302,7 @@ public class AttendanceAnalysisWrapper extends Service {
List<Map<String, Object>> abnormalClockInListByAskForLeave = (List<Map<String, Object>>) vactionMap.get("abnormalClockInList"); List<Map<String, Object>> abnormalClockInListByAskForLeave = (List<Map<String, Object>>) vactionMap.get("abnormalClockInList");
List<Map<String, Object>> vactionList = (List<Map<String, Object>>) vactionMap.get("resultList"); List<Map<String, Object>> vactionList = (List<Map<String, Object>>) vactionMap.get("resultList");
recordAbnormalParam.put("offsetAskForLeaveAnomaly", vactionMap.get("offsetAskForLeaveAnomaly")); recordAbnormalParam.put("offsetAskForLeaveAnomaly", vactionMap.get("offsetAskForLeaveAnomaly"));
log.info("请假后消除的异常 : [{}]", vactionMap.get("offsetAskForLeaveAnomaly")); log.debug("请假后消除的异常 : [{}]", vactionMap.get("offsetAskForLeaveAnomaly"));
/** /**
* *
*/ */
@ -319,7 +314,7 @@ public class AttendanceAnalysisWrapper extends Service {
recordAbnormalParam.put("abnormalClockInList", abnormalClockInListByEvction); recordAbnormalParam.put("abnormalClockInList", abnormalClockInListByEvction);
recordAbnormalParam.put("offsetEvectionAnomaly", recordEvection.get("offsetEvectionAnomaly")); recordAbnormalParam.put("offsetEvectionAnomaly", recordEvection.get("offsetEvectionAnomaly"));
log.info("出差外出后消除的异常 : [{}]", recordEvection.get("offsetEvectionAnomaly")); log.debug("出差外出后消除的异常 : [{}]", recordEvection.get("offsetEvectionAnomaly"));
/** /**
* *
*/ */

@ -97,12 +97,13 @@ public class UpdateAttendanceResultWrapper extends Service {
missCardParams.put("userId",userId); missCardParams.put("userId",userId);
missCardParams.put("point",clcokInTimedto); missCardParams.put("point",clcokInTimedto);
missCardParams.put("scheduleResult",scheduleResult); missCardParams.put("scheduleResult",scheduleResult);
log.info("missCardParams classInfo: [{}],clcokInTimeData:[{}]",classInfo,clcokInTimeData); log.debug("missCardParams classInfo: [{}],clcokInTimeData:[{}]",classInfo,clcokInTimeData);
List<Map<String,Object>> iforgetClockIn = forgetClockInService.forgetClockIn(missCardParams); List<Map<String,Object>> iforgetClockIn = forgetClockInService.forgetClockIn(missCardParams);
if (iforgetClockIn.size() >0){ if (iforgetClockIn.size() >0){
iforgetClockIn.get(0).put("pointTime",pointTime); iforgetClockIn.get(0).put("pointTime",pointTime);
iforgetClockIn.get(0).put("bdlx",classInfo.get("bdlx")); iforgetClockIn.get(0).put("bdlx",classInfo.get("bdlx"));
iforgetClockIn.get(0).put("record",clcokInTimedto.isRecord()); iforgetClockIn.get(0).put("record",clcokInTimedto.isRecord());
iforgetClockIn.get(0).put("clcokInTimeData",clcokInTimeData);
resultList.add(iforgetClockIn.get(0)); resultList.add(iforgetClockIn.get(0));
} }
@ -120,12 +121,13 @@ public class UpdateAttendanceResultWrapper extends Service {
beLateParams.put("evectionList",evectionList); beLateParams.put("evectionList",evectionList);
beLateParams.put("evectionItems",evectionItems); beLateParams.put("evectionItems",evectionItems);
beLateParams.put("scheduleResult",scheduleResult); beLateParams.put("scheduleResult",scheduleResult);
log.info("beLateParams classInfo: [{}],clcokInTimeData:[{}]",classInfo,clcokInTimeData); log.debug("beLateParams classInfo: [{}],clcokInTimeData:[{}]",classInfo,clcokInTimeData);
List<Map<String,Object>> ifBeLate = beLateService.beLate(beLateParams); List<Map<String,Object>> ifBeLate = beLateService.beLate(beLateParams);
if (ifBeLate.size() > 0){ if (ifBeLate.size() > 0){
ifBeLate.get(0).put("pointTime",pointTime); ifBeLate.get(0).put("pointTime",pointTime);
ifBeLate.get(0).put("bdlx",classInfo.get("bdlx")); ifBeLate.get(0).put("bdlx",classInfo.get("bdlx"));
ifBeLate.get(0).put("record",clcokInTimedto.isRecord()); ifBeLate.get(0).put("record",clcokInTimedto.isRecord());
ifBeLate.get(0).put("clcokInTimeData",clcokInTimeData);
resultList.add(ifBeLate.get(0)); resultList.add(ifBeLate.get(0));
} }
}else if (ClockPointEnum.END.equals(pointType) && ClockPointEnum.BEFORE.equals(timeType)){ }else if (ClockPointEnum.END.equals(pointType) && ClockPointEnum.BEFORE.equals(timeType)){
@ -142,12 +144,13 @@ public class UpdateAttendanceResultWrapper extends Service {
leaveEarlyParams.put("evectionList",evectionList); leaveEarlyParams.put("evectionList",evectionList);
leaveEarlyParams.put("evectionItems",evectionItems); leaveEarlyParams.put("evectionItems",evectionItems);
leaveEarlyParams.put("scheduleResult",scheduleResult); leaveEarlyParams.put("scheduleResult",scheduleResult);
log.info("leaveEarlyParams classInfo: [{}],clcokInTimeData:[{}]",classInfo,clcokInTimeData); log.debug("leaveEarlyParams classInfo: [{}],clcokInTimeData:[{}]",classInfo,clcokInTimeData);
List<Map<String,Object>> ifLeaveEarly = beLateService.leaveEarly(leaveEarlyParams); List<Map<String,Object>> ifLeaveEarly = beLateService.leaveEarly(leaveEarlyParams);
if (ifLeaveEarly.size() > 0){ if (ifLeaveEarly.size() > 0){
ifLeaveEarly.get(0).put("pointTime",pointTime); ifLeaveEarly.get(0).put("pointTime",pointTime);
ifLeaveEarly.get(0).put("bdlx",classInfo.get("bdlx")); ifLeaveEarly.get(0).put("bdlx",classInfo.get("bdlx"));
ifLeaveEarly.get(0).put("record",clcokInTimedto.isRecord()); ifLeaveEarly.get(0).put("record",clcokInTimedto.isRecord());
ifLeaveEarly.get(0).put("clcokInTimeData",clcokInTimeData);
resultList.add(ifLeaveEarly.get(0)); resultList.add(ifLeaveEarly.get(0));
} }
} }
@ -157,7 +160,7 @@ public class UpdateAttendanceResultWrapper extends Service {
// if (iforgetClockIn || ifBeLate ||ifLeaveEarly){ // if (iforgetClockIn || ifBeLate ||ifLeaveEarly){
// return true; // return true;
// } // }
log.info("abnormalClockInList : [{}]",resultList); log.debug("abnormalClockInList : [{}]",resultList);
return resultList; return resultList;
} }
@ -247,7 +250,7 @@ public class UpdateAttendanceResultWrapper extends Service {
if (CheckBoxEnum.CHECKED.getKey().equals(zdycbcndfgzsd)){ if (CheckBoxEnum.CHECKED.getKey().equals(zdycbcndfgzsd)){
timeMinutes = Utils.removeRestTime(kssj,jssj,scheduleResult,analysisDate); timeMinutes = Utils.removeRestTime(kssj,jssj,scheduleResult,analysisDate);
} }
log.info("recordAskForLeave timeMinutes [{}] ,hsl:{},hsdw",timeMinutes,hsl,hsdw); log.debug("recordAskForLeave timeMinutes [{}] ,hsl:{},hsdw",timeMinutes,hsl,hsdw);
itemduration = Utils.getItemduration(hsl,hsdw,timeMinutes,AccountingUnitEnum.MINUTES); itemduration = Utils.getItemduration(hsl,hsdw,timeMinutes,AccountingUnitEnum.MINUTES);
resultMap.put("itemduration",itemduration); resultMap.put("itemduration",itemduration);
param.put("kssj",kssj); param.put("kssj",kssj);
@ -341,7 +344,7 @@ public class UpdateAttendanceResultWrapper extends Service {
if (CheckBoxEnum.CHECKED.getKey().equals(zdycbcndfgzsd)){ if (CheckBoxEnum.CHECKED.getKey().equals(zdycbcndfgzsd)){
timeMinutes = Utils.removeRestTime(kssj,jssj,scheduleResult,analysisDate); timeMinutes = Utils.removeRestTime(kssj,jssj,scheduleResult,analysisDate);
} }
log.info("recordEvection timeMinutes [{}] ,hsl:{},hsdw",timeMinutes,hsl,hsdw); log.debug("recordEvection timeMinutes [{}] ,hsl:{},hsdw",timeMinutes,hsl,hsdw);
itemduration = Utils.getItemduration(hsl,hsdw,timeMinutes,AccountingUnitEnum.MINUTES); itemduration = Utils.getItemduration(hsl,hsdw,timeMinutes,AccountingUnitEnum.MINUTES);
resultMap.put("itemduration",itemduration); resultMap.put("itemduration",itemduration);
param.put("kssj",kssj); param.put("kssj",kssj);
@ -413,7 +416,7 @@ public class UpdateAttendanceResultWrapper extends Service {
//津贴 //津贴
Map<String,Object> allowanceMap = (Map<String,Object>)params.get("allowanceMap"); Map<String,Object> allowanceMap = (Map<String,Object>)params.get("allowanceMap");
log.info("userId : {} ,analysisDate: {} have no class",userId,analysisDate); log.debug("userId : {} ,analysisDate: {} have no class",userId,analysisDate);
Map<String,Object> recordParam = Maps.newHashMap(); Map<String,Object> recordParam = Maps.newHashMap();
recordParam.put("userId",userId); recordParam.put("userId",userId);

@ -66,7 +66,7 @@ public class GetAttendanceItemsByPersonDataCmd extends AbstractCommonCommand<Map
String pdeptids = ""; String pdeptids = "";
pdeptids = new DepartmentComInfo().getAllParentDepartId(Util.null2String(departMentMap.get("departmentid")), pdeptids); pdeptids = new DepartmentComInfo().getAllParentDepartId(Util.null2String(departMentMap.get("departmentid")), pdeptids);
pdeptids = deptid + pdeptids; pdeptids = deptid + pdeptids;
log.info("pdeptids : [{}]",pdeptids);
for (Map<String,Object> departmentOrganization :departmentOrganizationList){ for (Map<String,Object> departmentOrganization :departmentOrganizationList){
String dx = Util.null2String(departmentOrganization.get("dx")); String dx = Util.null2String(departmentOrganization.get("dx"));
String ids = dx.split("-")[0]; String ids = dx.split("-")[0];
@ -93,10 +93,10 @@ public class GetAttendanceItemsByPersonDataCmd extends AbstractCommonCommand<Map
if (personGroupOrganizationList != null){ if (personGroupOrganizationList != null){
Set<String> personGroupIds = personGroupOrganizationList.stream().map(e -> Util.null2String(e.get("dx")).split("-")[0]).collect(Collectors.toSet()); Set<String> personGroupIds = personGroupOrganizationList.stream().map(e -> Util.null2String(e.get("dx")).split("-")[0]).collect(Collectors.toSet());
sql = "select mainid,empid,filters,bdate,edate from uf_ryqz_dt1 where mainid in ("+String.join(",",personGroupIds)+")"; sql = "select mainid,empid,filters,bdate,edate from uf_ryqz_dt1 where mainid in ("+String.join(",",personGroupIds)+")";
log.info("query personGroupData : {}",sql);
List<Map<String,Object>> personGroupData = DbTools.getSqlToList(sql); List<Map<String,Object>> personGroupData = DbTools.getSqlToList(sql);
Set<String> personnelGroupIds = PersongroupCommonUtil.getPersonnelGroupingByPerson(personGroupData,resourceId,startDate,endDate); Set<String> personnelGroupIds = PersongroupCommonUtil.getPersonnelGroupingByPerson(personGroupData,resourceId,startDate,endDate);
log.info("personnelGroupIds : {}",personnelGroupIds);
for (Map<String,Object> personGroupOrganization :personGroupOrganizationList){ for (Map<String,Object> personGroupOrganization :personGroupOrganizationList){
String personnelGroupId = Util.null2String(personGroupOrganization.get("dx")).split("-")[0]; String personnelGroupId = Util.null2String(personGroupOrganization.get("dx")).split("-")[0];
if (personnelGroupIds.contains(personnelGroupId)){ if (personnelGroupIds.contains(personnelGroupId)){
@ -108,10 +108,10 @@ public class GetAttendanceItemsByPersonDataCmd extends AbstractCommonCommand<Map
sql = "select id keyid,mc kqxm,a.* from uf_jcl_kq_kqxm a where tyxm=1"; sql = "select id keyid,mc kqxm,a.* from uf_jcl_kq_kqxm a where tyxm=1";
List<Map<String,Object>> attendanceItems = DbTools.getSqlToList(sql); List<Map<String,Object>> attendanceItems = DbTools.getSqlToList(sql);
log.info("dataIds : {}",dataIds);
sql = "select b.id keyid,b.mc kqxm,c.mc famc,b.* from uf_jcl_kq_kqfa_dt1 a left join uf_jcl_kq_kqxm b on a.kqxm=b.id left join uf_jcl_kq_kqfa c on a.mainid=c.id where mainid in ("+String.join(",",dataIds)+")"; sql = "select b.id keyid,b.mc kqxm,c.mc famc,b.* from uf_jcl_kq_kqfa_dt1 a left join uf_jcl_kq_kqxm b on a.kqxm=b.id left join uf_jcl_kq_kqfa c on a.mainid=c.id where mainid in ("+String.join(",",dataIds)+")";
if (dataIds.size() > 0){ if (dataIds.size() > 0){
log.info("query attendanceItems sql : {}",sql);
attendanceItems.addAll(DbTools.getSqlToList(sql)); attendanceItems.addAll(DbTools.getSqlToList(sql));
} }
resultMap.put("data",attendanceItems); resultMap.put("data",attendanceItems);

@ -65,7 +65,7 @@ public class GetWorkHoursItemByPersonCmd extends AbstractCommonCommand<Map<Strin
String pdeptids = ""; String pdeptids = "";
pdeptids = new DepartmentComInfo().getAllParentDepartId(Util.null2String(departMentMap.get("departmentid")), pdeptids); pdeptids = new DepartmentComInfo().getAllParentDepartId(Util.null2String(departMentMap.get("departmentid")), pdeptids);
pdeptids = deptid + pdeptids; pdeptids = deptid + pdeptids;
log.info("pdeptids : [{}]",pdeptids); log.debug("pdeptids : [{}]",pdeptids);
for (Map<String,Object> departmentOrganization :departmentOrganizationList){ for (Map<String,Object> departmentOrganization :departmentOrganizationList){
String dx = Util.null2String(departmentOrganization.get("dx")); String dx = Util.null2String(departmentOrganization.get("dx"));
String ids = dx.split("-")[0]; String ids = dx.split("-")[0];
@ -92,10 +92,10 @@ public class GetWorkHoursItemByPersonCmd extends AbstractCommonCommand<Map<Strin
if (personGroupOrganizationList != null){ if (personGroupOrganizationList != null){
Set<String> personGroupIds = personGroupOrganizationList.stream().map(e -> Util.null2String(e.get("dx")).split("-")[0]).collect(Collectors.toSet()); Set<String> personGroupIds = personGroupOrganizationList.stream().map(e -> Util.null2String(e.get("dx")).split("-")[0]).collect(Collectors.toSet());
sql = "select mainid,empid,filters,bdate,edate from uf_ryqz_dt1 where mainid in ("+String.join(",",personGroupIds)+")"; sql = "select mainid,empid,filters,bdate,edate from uf_ryqz_dt1 where mainid in ("+String.join(",",personGroupIds)+")";
log.info("query personGroupData : {}",sql); log.debug("query personGroupData : {}",sql);
List<Map<String,Object>> personGroupData = DbTools.getSqlToList(sql); List<Map<String,Object>> personGroupData = DbTools.getSqlToList(sql);
Set<String> personnelGroupIds = PersongroupCommonUtil.getPersonnelGroupingByPerson(personGroupData,resourceId,startDate,endDate); Set<String> personnelGroupIds = PersongroupCommonUtil.getPersonnelGroupingByPerson(personGroupData,resourceId,startDate,endDate);
log.info("personnelGroupIds : {}",personnelGroupIds); log.debug("personnelGroupIds : {}",personnelGroupIds);
for (Map<String,Object> personGroupOrganization :personGroupOrganizationList){ for (Map<String,Object> personGroupOrganization :personGroupOrganizationList){
String personnelGroupId = Util.null2String(personGroupOrganization.get("dx")).split("-")[0]; String personnelGroupId = Util.null2String(personGroupOrganization.get("dx")).split("-")[0];
if (personnelGroupIds.contains(personnelGroupId)){ if (personnelGroupIds.contains(personnelGroupId)){
@ -106,10 +106,10 @@ public class GetWorkHoursItemByPersonCmd extends AbstractCommonCommand<Map<Strin
List<Map<String,Object>> attendanceItems = Lists.newArrayList(); List<Map<String,Object>> attendanceItems = Lists.newArrayList();
log.info("dataIds : {}",dataIds); log.debug("dataIds : {}",dataIds);
sql = "select * from uf_jcl_kq_zhgs where id in ("+String.join(",",dataIds)+")"; sql = "select * from uf_jcl_kq_zhgs where id in ("+String.join(",",dataIds)+")";
if (dataIds.size() > 0){ if (dataIds.size() > 0){
log.info("query GetWorkHoursItemByPersonCmd sql : {}",sql); log.debug("query GetWorkHoursItemByPersonCmd sql : {}",sql);
attendanceItems.addAll(DbTools.getSqlToList(sql)); attendanceItems.addAll(DbTools.getSqlToList(sql));
} }
resultMap.put("data",attendanceItems); resultMap.put("data",attendanceItems);

@ -51,7 +51,7 @@ public class ExcelExportImportServiceImpl extends Service implements ExcelExport
paramMap.put("pageSize", total); paramMap.put("pageSize", total);
} }
paramMap.put("pageindex", "1"); paramMap.put("pageindex", "1");
log.info("查询条件:{}",paramMap); log.debug("查询条件:{}",paramMap);
Map<String, Object> scheduleResult = getWorkRulesService(user).getDepartSchedule(paramMap); Map<String, Object> scheduleResult = getWorkRulesService(user).getDepartSchedule(paramMap);
List<WeaTableColumn> columns = buildScheduleColumns((List<Map<String, Object>>) scheduleResult.get("columns")); List<WeaTableColumn> columns = buildScheduleColumns((List<Map<String, Object>>) scheduleResult.get("columns"));
List<Map<String, Object>> records = buildScheduleRecords((List<Map<String, Object>>) scheduleResult.get("datas")); List<Map<String, Object>> records = buildScheduleRecords((List<Map<String, Object>>) scheduleResult.get("datas"));
@ -139,11 +139,11 @@ public class ExcelExportImportServiceImpl extends Service implements ExcelExport
//标题 //标题
List<String> titles = ExcelSupport.getSheetHeader(sheet, 0); List<String> titles = ExcelSupport.getSheetHeader(sheet, 0);
String title = titles.get(0); String title = titles.get(0);
log.info("处理前年月信息:{}",title); log.debug("处理前年月信息:{}",title);
//年月格式的转换处理 //年月格式的转换处理
if (StrUtil.isNotBlank(title) && title.length() > 7) { if (StrUtil.isNotBlank(title) && title.length() > 7) {
title = title.substring(0, 7); title = title.substring(0, 7);
log.info("处理后年月信息:{}",title); log.debug("处理后年月信息:{}",title);
} }
if (StrUtil.isNotBlank(title) && !DateUtil.checkYearMonth(title.replace("/", "-"))) { if (StrUtil.isNotBlank(title) && !DateUtil.checkYearMonth(title.replace("/", "-"))) {
throw new AttendanceRunTimeException("excel首行'年月'时间格式错误,正确格式为yyyy-mm或者yyyy-mm-dd或者yyyy/mm或者yyyy/mm/dd"); throw new AttendanceRunTimeException("excel首行'年月'时间格式错误,正确格式为yyyy-mm或者yyyy-mm-dd或者yyyy/mm或者yyyy/mm/dd");
@ -151,14 +151,14 @@ public class ExcelExportImportServiceImpl extends Service implements ExcelExport
int monthDays = DateUtil.getDays(title, Calendar.DAY_OF_MONTH); int monthDays = DateUtil.getDays(title, Calendar.DAY_OF_MONTH);
// 表头 // 表头
List<String> headers = ExcelSupport.getSheetHeader(sheet, 1); List<String> headers = ExcelSupport.getSheetHeader(sheet, 1);
log.info("headers数据{}", headers); log.debug("headers数据{}", headers);
// 错误sheet数据 // 错误sheet数据
List<Map<String, Object>> errorData = new LinkedList<>(); List<Map<String, Object>> errorData = new LinkedList<>();
// 错误提示 // 错误提示
List<Map<String, String>> excelComments = new LinkedList<>(); List<Map<String, String>> excelComments = new LinkedList<>();
// 处理数值 // 处理数值
List<Map<String, Object>> data = ExcelParseHelper.parse2Map(sheet, 2, 1); List<Map<String, Object>> data = ExcelParseHelper.parse2Map(sheet, 2, 1);
log.info("excel导入数据[{}]", data); log.debug("excel导入数据[{}]", data);
//单行记录 //单行记录
Map<String, Object> map; Map<String, Object> map;
for (int i = 0; i < data.size(); i++) { for (int i = 0; i < data.size(); i++) {
@ -173,7 +173,7 @@ public class ExcelExportImportServiceImpl extends Service implements ExcelExport
} }
singleCheck.put(key, Optional.ofNullable(map.get(key)).orElse("").toString()); singleCheck.put(key, Optional.ofNullable(map.get(key)).orElse("").toString());
} }
log.info(i + 3 + "-singleCheck{}", singleCheck); log.debug(i + 3 + "-singleCheck{}", singleCheck);
isError = singleScheduleLineCheck(singleCheck, title, monthDays, toImportScheduleInfos, employeeInfoList, shiftMapWithMc, excelComments, i + 3, formModeId, empIds); isError = singleScheduleLineCheck(singleCheck, title, monthDays, toImportScheduleInfos, employeeInfoList, shiftMapWithMc, excelComments, i + 3, formModeId, empIds);
if (isError) { if (isError) {
errorCount += 1; errorCount += 1;

@ -45,7 +45,7 @@ public class WorkRulesServiceImpl extends Service implements WorkRulesService {
@Override @Override
public Map<String, Object> getWorkRulesList(String resourceIds) { public Map<String, Object> getWorkRulesList(String resourceIds) {
Map<String, Object> resultMap = new HashMap<>(4); Map<String, Object> resultMap = new HashMap<>(4);
log.info("getWorkRulesList : [{}]",resourceIds); log.debug("getWorkRulesList : [{}]",resourceIds);
String modeId = Utils.getFormmodeIdMap().get("uf_jcl_kq_bcxx"); String modeId = Utils.getFormmodeIdMap().get("uf_jcl_kq_bcxx");
Set<String> bcids = Sets.newHashSet(); Set<String> bcids = Sets.newHashSet();
for (String resourceId :resourceIds.split(",")){ for (String resourceId :resourceIds.split(",")){
@ -195,13 +195,13 @@ public class WorkRulesServiceImpl extends Service implements WorkRulesService {
}else if (PersonGroupListTypeEnum.CONDITION.getKey().equals(list_type) && !"".equals(filters)){ }else if (PersonGroupListTypeEnum.CONDITION.getKey().equals(list_type) && !"".equals(filters)){
filters = filters.replace("","and"); filters = filters.replace("","and");
filters = filters.replace("","or"); filters = filters.replace("","or");
sql = "select id,seclevel from hrmresource where "+conditions; sql = "select id,seclevel from hrmresource where 1=1 ";
if (filters.contains("field")){ if (filters.contains("field")){
sql = "select a.id from hrmresource a left join cus_fielddata b on a.id=b.id where scope='HrmCustomFieldByInfoType' and "+filters+" and "+conditions; sql = "select a.id from hrmresource a left join cus_fielddata b on a.id=b.id where scope='HrmCustomFieldByInfoType' and "+filters;
}else { }else {
sql = sql+ " and "+filters; sql = sql+ " and "+filters;
} }
log.info("getPersonnelGroupingByPerson filter sql : {}",sql); log.debug("getPersonnelGroupingByPerson filter sql : {}",sql);
List<Map<String,Object>> dataList = DbTools.getSqlToList(sql); List<Map<String,Object>> dataList = DbTools.getSqlToList(sql);
for (Map<String,Object> dataMap :dataList){ for (Map<String,Object> dataMap :dataList){
String hrmId = Util.null2String(dataMap.get("id")); String hrmId = Util.null2String(dataMap.get("id"));
@ -264,7 +264,7 @@ public class WorkRulesServiceImpl extends Service implements WorkRulesService {
List<Map<String, Object>> dataTableList = (List<Map<String, Object>>)result.get("dataTableList"); List<Map<String, Object>> dataTableList = (List<Map<String, Object>>)result.get("dataTableList");
dataTableList = Utils.getSchedulingList(dataTableList); dataTableList = Utils.getSchedulingList(dataTableList);
log.info("dataTableList : [{}]",dataTableList); log.debug("dataTableList : [{}]",dataTableList);
for (Map<String, Object> scheduleMap :dataTableList){ for (Map<String, Object> scheduleMap :dataTableList){
String bcrq = Util.null2String(scheduleMap.get("bcrq")); String bcrq = Util.null2String(scheduleMap.get("bcrq"));
String bcxx = Util.null2String(scheduleMap.get("bcxx")); String bcxx = Util.null2String(scheduleMap.get("bcxx"));
@ -386,7 +386,6 @@ public class WorkRulesServiceImpl extends Service implements WorkRulesService {
Map<String,Object> resultMap = Maps.newHashMap(); Map<String,Object> resultMap = Maps.newHashMap();
List<String> resourceList = Arrays.asList(resourceIds.split(",")); List<String> resourceList = Arrays.asList(resourceIds.split(","));
List<String> dateList = Arrays.asList(dateArrs.split(",")); List<String> dateList = Arrays.asList(dateArrs.split(","));
List<Map<String,Object>> insertDataList = Lists.newArrayList();
String formmodeid = Utils.getFormmodeIdMap().get("uf_pbjg"); String formmodeid = Utils.getFormmodeIdMap().get("uf_pbjg");
List<Map<String,Object>> organizationList = Lists.newArrayList(); List<Map<String,Object>> organizationList = Lists.newArrayList();
for (String date : dateList){ for (String date : dateList){
@ -403,22 +402,21 @@ public class WorkRulesServiceImpl extends Service implements WorkRulesService {
map.put("dx",str); map.put("dx",str);
map.put("dxlx", "0"); map.put("dxlx", "0");
map.put("rqlx",CommonUtil.getRqlx(str,date)); map.put("rqlx",CommonUtil.getRqlx(str,date));
map.put("pbtj",RegularScheduleTypeEnum.CALENDAR.getKey());
map.put("bcrq",date);
map.put("sfxx", CommonUtil.ifrestByClass(bcxxId));
map.put("sfdkpp",CheckBoxEnum.UNCHECKED.getKey());
map.put("bcxx",bcxxId);
map.put("pbrq",DateUtil.getCurrentDate());
map.put("pbsj",DateUtil.getCurrentTime("yyyy-MM-dd HH:mm").split(" ")[1]);
organizationList.add(map); organizationList.add(map);
} }
Map<String,Object> insertDataMap = Maps.newHashMap();
insertDataList.add(insertDataMap);
insertDataMap.put("pbtj",RegularScheduleTypeEnum.CALENDAR.getKey());
insertDataMap.put("bcrq",date);
insertDataMap.put("sfxx", CommonUtil.ifrestByClass(bcxxId));
insertDataMap.put("sfdkpp",CheckBoxEnum.UNCHECKED.getKey());
insertDataMap.put("bcxx",bcxxId);
insertDataMap.put("pbrq",DateUtil.getCurrentDate());
insertDataMap.put("pbsj",DateUtil.getCurrentTime("yyyy-MM-dd HH:mm").split(" ")[1]);
} }
/**插入排班结果表*/ /**插入排班结果表*/
resultMap.put("result",PersongroupCommonUtil.insertShiftSchedulingResults(organizationList,insertDataList,formmodeid)); resultMap.put("result",PersongroupCommonUtil.insertSchedulingResults(organizationList,formmodeid));
return resultMap; return resultMap;
} }
@ -442,7 +440,7 @@ public class WorkRulesServiceImpl extends Service implements WorkRulesService {
beContainIds.add(resourceId); beContainIds.add(resourceId);
} }
} }
log.info("be contain userIds : [{}]",beContainIds); log.debug("be contain userIds : [{}]",beContainIds);
return beContainIds; return beContainIds;
} }
} }

@ -81,8 +81,8 @@ public class GetDatatableCmd extends AbstractCommonCommand<Map<String,Object>> {
String queryDatatablesql = "select * from ("+sql+") where rn >"+startindex; String queryDatatablesql = "select * from ("+sql+") where rn >"+startindex;
log.info("queryDatatablesql : {}",queryDatatablesql); log.debug("queryDatatablesql : {}",queryDatatablesql);
log.info("param : {}",param); log.debug("param : {}",param);
List<Map<String,Object>> dataTable = DbTools.getSqlToList(queryDatatablesql,param.toArray()); List<Map<String,Object>> dataTable = DbTools.getSqlToList(queryDatatablesql,param.toArray());
resultMap.put("data",dataTable); resultMap.put("data",dataTable);
@ -93,17 +93,17 @@ public class GetDatatableCmd extends AbstractCommonCommand<Map<String,Object>> {
String queryDatatablesql = "select top "+pageSize+" a.id as keyid,b.lastname,a.* from "+tableName +" a left join hrmresource b on a.pbdxry=b.id where a.id>=("+sql+") "+conditions; String queryDatatablesql = "select top "+pageSize+" a.id as keyid,b.lastname,a.* from "+tableName +" a left join hrmresource b on a.pbdxry=b.id where a.id>=("+sql+") "+conditions;
log.info("queryDatatablesql : {}",queryDatatablesql); log.debug("queryDatatablesql : {}",queryDatatablesql);
param.addAll(param); param.addAll(param);
log.info("param : {}",param); log.debug("param : {}",param);
List<Map<String,Object>> dataTable = DbTools.getSqlToList(queryDatatablesql,param.toArray()); List<Map<String,Object>> dataTable = DbTools.getSqlToList(queryDatatablesql,param.toArray());
resultMap.put("data",dataTable); resultMap.put("data",dataTable);
}else { }else {
sql = sql + conditions +" limit "+startindex+",1"; sql = sql + conditions +" limit "+startindex+",1";
String queryDatatablesql = "select a.id as keyid,b.lastname,a.* from "+tableName +" a left join hrmresource b on a.pbdxry=b.id where a.id>=("+sql+") "+conditions+" limit "+pageSize; String queryDatatablesql = "select a.id as keyid,b.lastname,a.* from "+tableName +" a left join hrmresource b on a.pbdxry=b.id where a.id>=("+sql+") "+conditions+" limit "+pageSize;
log.info("queryDatatablesql : {}",queryDatatablesql); log.debug("queryDatatablesql : {}",queryDatatablesql);
param.addAll(param); param.addAll(param);
log.info("param : {}",param); log.debug("param : {}",param);
List<Map<String,Object>> dataTable = DbTools.getSqlToList(queryDatatablesql,param.toArray()); List<Map<String,Object>> dataTable = DbTools.getSqlToList(queryDatatablesql,param.toArray());
resultMap.put("data",dataTable); resultMap.put("data",dataTable);
} }

@ -63,8 +63,8 @@ public class GetDatatableCountCmd extends AbstractCommonCommand<Map<String,Objec
} }
sql = sql + conditions; sql = sql + conditions;
log.info("GetDatatableCountCmd sql :{}",sql); log.debug("GetDatatableCountCmd sql :{}",sql);
log.info("params : [{}]",params); log.debug("params : [{}]",params);
Map<String,Object> dataMap = DbTools.getSqlToMap(sql,params.toArray()); Map<String,Object> dataMap = DbTools.getSqlToMap(sql,params.toArray());
return dataMap; return dataMap;

@ -63,7 +63,7 @@ public class GetDatatableRecurrenceCmd extends AbstractCommonCommand<Map<String,
List<Object> param = Lists.newArrayList(); List<Object> param = Lists.newArrayList();
param.addAll(Dateparam); param.addAll(Dateparam);
param.add(pbdx); param.add(pbdx);
log.info("递归查询人员-人员节点sql:{},param:{}",querySqlbyPbdx,param); log.debug("递归查询人员-人员节点sql:{},param:{}",querySqlbyPbdx,param);
List<Map<String,Object>> dataList = DbTools.getSqlToList(querySqlbyPbdx,param.toArray()); List<Map<String,Object>> dataList = DbTools.getSqlToList(querySqlbyPbdx,param.toArray());
//人员数据 //人员数据
Map<String,List<Map<String,Object>>> personCollect = dataList.stream().collect(Collectors.groupingBy(e->e.get("pbtj").toString())); Map<String,List<Map<String,Object>>> personCollect = dataList.stream().collect(Collectors.groupingBy(e->e.get("pbtj").toString()));
@ -77,10 +77,10 @@ public class GetDatatableRecurrenceCmd extends AbstractCommonCommand<Map<String,
List<Map<String,Object>> personGroupData = DbTools.getSqlToList(queryryfz); List<Map<String,Object>> personGroupData = DbTools.getSqlToList(queryryfz);
Set<String> personnelGroupIds = PersongroupCommonUtil.getPersonnelGroupingByPerson(personGroupData,pbdx,null,null); Set<String> personnelGroupIds = PersongroupCommonUtil.getPersonnelGroupingByPerson(personGroupData,pbdx,null,null);
querySqlbyPbdx = sql +conditions + " and pbdxryfz in ("; querySqlbyPbdx = sql +conditions + " and pbdxryfz in (";
log.info("递归查询人员-人员分组节点sql:{},personnelGroupIds:{}",querySqlbyPbdx,personnelGroupIds); log.debug("递归查询人员-人员分组节点sql:{},personnelGroupIds:{}",querySqlbyPbdx,personnelGroupIds);
if(personnelGroupIds.size() > 0){ if(personnelGroupIds.size() > 0){
querySqlbyPbdx = querySqlbyPbdx + String.join(",",personnelGroupIds)+") order by bcrq"; querySqlbyPbdx = querySqlbyPbdx + String.join(",",personnelGroupIds)+") order by bcrq";
log.info("递归查询人员-人员分组节点sql:{}",querySqlbyPbdx); log.debug("递归查询人员-人员分组节点sql:{}",querySqlbyPbdx);
personGroupList = DbTools.getSqlToList(querySqlbyPbdx,Dateparam.toArray()); personGroupList = DbTools.getSqlToList(querySqlbyPbdx,Dateparam.toArray());
} }
Map<String,List<Map<String,Object>>> personGroupCollect = personGroupList.stream().collect(Collectors.groupingBy(e->e.get("pbtj").toString())); Map<String,List<Map<String,Object>>> personGroupCollect = personGroupList.stream().collect(Collectors.groupingBy(e->e.get("pbtj").toString()));
@ -94,9 +94,9 @@ public class GetDatatableRecurrenceCmd extends AbstractCommonCommand<Map<String,
String pdeptids = ""; String pdeptids = "";
pdeptids = new DepartmentComInfo().getAllParentDepartId(Util.null2String(dataMap.get("departmentid")), pdeptids); pdeptids = new DepartmentComInfo().getAllParentDepartId(Util.null2String(dataMap.get("departmentid")), pdeptids);
pdeptids = Util.null2String(dataMap.get("departmentid")) + pdeptids; pdeptids = Util.null2String(dataMap.get("departmentid")) + pdeptids;
log.info("pdeptids : [{}]",pdeptids); log.debug("pdeptids : [{}]",pdeptids);
querySqlbyPbdx = sql + conditions + " and pbdxbm in ("; querySqlbyPbdx = sql + conditions + " and pbdxbm in (";
log.info("递归查询人员-部门节点sql:{},pdeptids:{}",querySqlbyPbdx,pdeptids); log.debug("递归查询人员-部门节点sql:{},pdeptids:{}",querySqlbyPbdx,pdeptids);
querySqlbyPbdx = querySqlbyPbdx + pdeptids+") order by bcrq"; querySqlbyPbdx = querySqlbyPbdx + pdeptids+") order by bcrq";
departmentList = DbTools.getSqlToList(querySqlbyPbdx,Dateparam.toArray()); departmentList = DbTools.getSqlToList(querySqlbyPbdx,Dateparam.toArray());
Map<String,List<Map<String,Object>>> departmentCollect = departmentList.stream().collect(Collectors.groupingBy(e->e.get("pbtj").toString())); Map<String,List<Map<String,Object>>> departmentCollect = departmentList.stream().collect(Collectors.groupingBy(e->e.get("pbtj").toString()));
@ -106,7 +106,7 @@ public class GetDatatableRecurrenceCmd extends AbstractCommonCommand<Map<String,
List<Map<String,Object>> subCompanyList = Lists.newArrayList(); List<Map<String,Object>> subCompanyList = Lists.newArrayList();
//查询人员分部 //查询人员分部
querySqlbyPbdx = sql + conditions + " and pbdxfb = ? order by bcrq"; querySqlbyPbdx = sql + conditions + " and pbdxfb = ? order by bcrq";
log.info("递归查询人员-分部节点sql:{},pdeptids:{}",querySqlbyPbdx,dataMap.get("subcompanyid1")); log.debug("递归查询人员-分部节点sql:{},pdeptids:{}",querySqlbyPbdx,dataMap.get("subcompanyid1"));
param.clear(); param.clear();
param.addAll(Dateparam); param.addAll(Dateparam);
param.add(dataMap.get("subcompanyid1")); param.add(dataMap.get("subcompanyid1"));
@ -154,7 +154,7 @@ public class GetDatatableRecurrenceCmd extends AbstractCommonCommand<Map<String,
//分部分部数据 //分部分部数据
querySqlbyPbdx = sql +conditions + " and pbdxfb = ? order by bcrq"; querySqlbyPbdx = sql +conditions + " and pbdxfb = ? order by bcrq";
log.info("递归查询部门-分部节点sql:{},pdeptids:{}",querySqlbyPbdx,departMentMap.get("subcompanyid1")); log.debug("递归查询部门-分部节点sql:{},pdeptids:{}",querySqlbyPbdx,departMentMap.get("subcompanyid1"));
param.clear(); param.clear();
param.addAll(Dateparam); param.addAll(Dateparam);
param.add(departMentMap.get("subcompanyid1")); param.add(departMentMap.get("subcompanyid1"));
@ -188,7 +188,7 @@ public class GetDatatableRecurrenceCmd extends AbstractCommonCommand<Map<String,
log.error("catch error : {}",e); log.error("catch error : {}",e);
} }
resultMap.put("dataTableList",dataTableList); resultMap.put("dataTableList",dataTableList);
log.info("dataTableList total size : {}",dataTableList.size()); log.debug("dataTableList total size : {}",dataTableList.size());
return resultMap; return resultMap;
} }
@ -207,10 +207,10 @@ public class GetDatatableRecurrenceCmd extends AbstractCommonCommand<Map<String,
List<Map<String,Object>> personGroupData = DbTools.getSqlToList(queryryfz); List<Map<String,Object>> personGroupData = DbTools.getSqlToList(queryryfz);
Set<String> personnelGroupIds = PersongroupCommonUtil.getPersonnelGroupingByPerson(personGroupData,pbdx,null,null); Set<String> personnelGroupIds = PersongroupCommonUtil.getPersonnelGroupingByPerson(personGroupData,pbdx,null,null);
String querySqlbyPbdx = sql +conditions + " and pbdxryfz in ("; String querySqlbyPbdx = sql +conditions + " and pbdxryfz in (";
log.info("递归查询人员-人员分组节点sql:{},personnelGroupIds:{}",querySqlbyPbdx,personnelGroupIds); log.debug("递归查询人员-人员分组节点sql:{},personnelGroupIds:{}",querySqlbyPbdx,personnelGroupIds);
if(personnelGroupIds.size() > 0){ if(personnelGroupIds.size() > 0){
querySqlbyPbdx = querySqlbyPbdx + String.join(",",personnelGroupIds)+") order by bcrq"; querySqlbyPbdx = querySqlbyPbdx + String.join(",",personnelGroupIds)+") order by bcrq";
log.info("递归查询人员-人员分组节点sql:{}",querySqlbyPbdx); log.debug("递归查询人员-人员分组节点sql:{}",querySqlbyPbdx);
dataList = DbTools.getSqlToList(querySqlbyPbdx,Dateparam.toArray()); dataList = DbTools.getSqlToList(querySqlbyPbdx,Dateparam.toArray());
} }
if (dataList.size() == 0){ if (dataList.size() == 0){
@ -220,15 +220,15 @@ public class GetDatatableRecurrenceCmd extends AbstractCommonCommand<Map<String,
String pdeptids = ""; String pdeptids = "";
pdeptids = new DepartmentComInfo().getAllParentDepartId(Util.null2String(dataMap.get("departmentid")), pdeptids); pdeptids = new DepartmentComInfo().getAllParentDepartId(Util.null2String(dataMap.get("departmentid")), pdeptids);
pdeptids = Util.null2String(dataMap.get("departmentid")) + pdeptids; pdeptids = Util.null2String(dataMap.get("departmentid")) + pdeptids;
log.info("pdeptids : [{}]",pdeptids); log.debug("pdeptids : [{}]",pdeptids);
querySqlbyPbdx = sql + conditions + " and pbdxbm in ("; querySqlbyPbdx = sql + conditions + " and pbdxbm in (";
log.info("递归查询人员-部门节点sql:{},pdeptids:{}",querySqlbyPbdx,pdeptids); log.debug("递归查询人员-部门节点sql:{},pdeptids:{}",querySqlbyPbdx,pdeptids);
querySqlbyPbdx = querySqlbyPbdx + pdeptids+") order by bcrq"; querySqlbyPbdx = querySqlbyPbdx + pdeptids+") order by bcrq";
dataList = DbTools.getSqlToList(querySqlbyPbdx,Dateparam.toArray()); dataList = DbTools.getSqlToList(querySqlbyPbdx,Dateparam.toArray());
if (dataList.size() == 0){ if (dataList.size() == 0){
//查询人员分部 //查询人员分部
querySqlbyPbdx = sql + conditions + " and pbdxfb = ? order by bcrq"; querySqlbyPbdx = sql + conditions + " and pbdxfb = ? order by bcrq";
log.info("递归查询人员-分部节点sql:{},pdeptids:{}",querySqlbyPbdx,dataMap.get("subcompanyid1")); log.debug("递归查询人员-分部节点sql:{},pdeptids:{}",querySqlbyPbdx,dataMap.get("subcompanyid1"));
List<Object> param = Lists.newArrayList(); List<Object> param = Lists.newArrayList();
param.clear(); param.clear();
param.addAll(Dateparam); param.addAll(Dateparam);

@ -29,7 +29,7 @@ public class PersongroupCommonUtil {
} }
mainids = mainids.substring(0,mainids.length()-1); mainids = mainids.substring(0,mainids.length()-1);
sql = sql +" ("+mainids+") "; sql = sql +" ("+mainids+") ";
log.info("sql : {}",sql); log.debug("sql : {}",sql);
List<Map<String,Object>> list = DbTools.getSqlToList(sql); List<Map<String,Object>> list = DbTools.getSqlToList(sql);
Map<String,List<Map<String,Object>>> collect = list.stream().collect(Collectors.groupingBy(e -> e.get("mainid").toString())); Map<String,List<Map<String,Object>>> collect = list.stream().collect(Collectors.groupingBy(e -> e.get("mainid").toString()));
@ -75,7 +75,7 @@ public class PersongroupCommonUtil {
sql = "select rlmc,nd,rq,rqlx from uf_jcl_kq_rlxx where rlmc=?"; sql = "select rlmc,nd,rq,rqlx from uf_jcl_kq_rlxx where rlmc=?";
// List<Map<String,Object>> calendarList = DbTools.getSqlToList(sql,qyrl); // List<Map<String,Object>> calendarList = DbTools.getSqlToList(sql,qyrl);
// Map<String,String> calendarMap = calendarList.stream().collect(Collectors.toMap(e->Util.null2String(e.get("nd")),e->Util.null2String(e.get("id")))); // Map<String,String> calendarMap = calendarList.stream().collect(Collectors.toMap(e->Util.null2String(e.get("nd")),e->Util.null2String(e.get("id"))));
// log.info("calendarMap : {}",calendarMap); // log.debug("calendarMap : {}",calendarMap);
// Map<String, List<Map<String,Object>>> detailDataGroupingByYear = calendarList.stream().collect(Collectors.groupingBy(e ->e.get("nd").toString())); // Map<String, List<Map<String,Object>>> detailDataGroupingByYear = calendarList.stream().collect(Collectors.groupingBy(e ->e.get("nd").toString()));
// //
//生效日期与当前日期相差年份 //生效日期与当前日期相差年份
@ -87,7 +87,7 @@ public class PersongroupCommonUtil {
if (betweenYears == 0){ if (betweenYears == 0){
String dateCondition = "rq >='"+bdate+"' and rq <'"+nowDate+"'"; String dateCondition = "rq >='"+bdate+"' and rq <'"+nowDate+"'";
int needSkipDay = getNeedSkipDay(jjrcl,gxrcl,qyrl,dateCondition); int needSkipDay = getNeedSkipDay(jjrcl,gxrcl,qyrl,dateCondition);
log.info("needSkipDay : [{}]",needSkipDay); log.debug("needSkipDay : [{}]",needSkipDay);
betweenDays = betweenDays-needSkipDay; betweenDays = betweenDays-needSkipDay;
}else if(betweenYears > 0){ }else if(betweenYears > 0){
@ -109,7 +109,7 @@ public class PersongroupCommonUtil {
needSkipDay += getNeedSkipDay(jjrcl,gxrcl,qyrl,dateCondition); needSkipDay += getNeedSkipDay(jjrcl,gxrcl,qyrl,dateCondition);
} }
} }
log.info("needSkipDay : [{}]",needSkipDay); log.debug("needSkipDay : [{}]",needSkipDay);
betweenDays = betweenDays-needSkipDay; betweenDays = betweenDays-needSkipDay;
} }
return betweenDays; return betweenDays;
@ -134,14 +134,14 @@ public class PersongroupCommonUtil {
if (!"".equals(conditionSql)){ if (!"".equals(conditionSql)){
sql = sql + " and ( "+conditionSql+")"; sql = sql + " and ( "+conditionSql+")";
} }
log.info("getNeedSkipDay sql : {},rlmc : {}",sql,rlmc); log.debug("getNeedSkipDay sql : {},rlmc : {}",sql,rlmc);
Map<String,Object> objectMap = DbTools.getSqlToMap(sql,rlmc); Map<String,Object> objectMap = DbTools.getSqlToMap(sql,rlmc);
int needSkipDay = Integer.valueOf(objectMap.get("num").toString()); int needSkipDay = Integer.valueOf(objectMap.get("num").toString());
return needSkipDay; return needSkipDay;
} }
/** /**
* *
* @param organizationList * @param organizationList
* @param insertDataList * @param insertDataList
* @param formmodeid * @param formmodeid
@ -220,30 +220,112 @@ public class PersongroupCommonUtil {
boolean result = false; boolean result = false;
if (psersons.size() >0){ if (psersons.size() >0){
String deleteSql = sql + " and pbdxry in ("+String.join(",",psersons)+")"; String deleteSql = sql + " and pbdxry in ("+String.join(",",psersons)+")";
log.info("deleteSql : {}",deleteSql); log.debug("deleteSql : {}",deleteSql);
DbTools.update(rs,deleteSql,startDate,endDate); DbTools.update(rs,deleteSql,startDate,endDate);
} }
if (psersonsGroups.size() >0){ if (psersonsGroups.size() >0){
String deleteSql = sql + " and pbdxryfz in ("+String.join(",",psersonsGroups)+")"; String deleteSql = sql + " and pbdxryfz in ("+String.join(",",psersonsGroups)+")";
log.info("deleteSql : {}",deleteSql,startDate,endDate); log.debug("deleteSql : {}",deleteSql,startDate,endDate);
DbTools.update(rs,deleteSql,startDate,endDate); DbTools.update(rs,deleteSql,startDate,endDate);
} }
if (departments.size() >0){ if (departments.size() >0){
String deleteSql = sql + " and pbdxbm in ("+String.join(",",departments)+")"; String deleteSql = sql + " and pbdxbm in ("+String.join(",",departments)+")";
log.info("deleteSql : {}",deleteSql,startDate,endDate); log.debug("deleteSql : {}",deleteSql,startDate,endDate);
DbTools.update(rs,deleteSql,startDate,endDate); DbTools.update(rs,deleteSql,startDate,endDate);
} }
if (subCompanys.size() >0){ if (subCompanys.size() >0){
String deleteSql = sql + " and pbdxfb in ("+String.join(",",subCompanys)+")"; String deleteSql = sql + " and pbdxfb in ("+String.join(",",subCompanys)+")";
log.info("deleteSql : {}",deleteSql,startDate,endDate); log.debug("deleteSql : {}",deleteSql,startDate,endDate);
DbTools.update(rs,deleteSql,startDate,endDate); DbTools.update(rs,deleteSql,startDate,endDate);
} }
if (addlist.size() >0){ if (addlist.size() >0){
log.info("addlist :[{}]",addlist); log.debug("addlist :[{}]",addlist);
String insertSql = "insert into uf_pbjg (pbtj,pbgl,dxlx,pbdxry,pbdxryfz,pbdxbm,pbdxfb,bcrq,rqlx,sfxx,sfdkpp,bcxx,hxbz,pbrq,pbsj,formmodeid,modedatacreater,modedatacreatertype,modedatacreatedate,modedatacreatetime,MODEUUID) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"; String insertSql = "insert into uf_pbjg (pbtj,pbgl,dxlx,pbdxry,pbdxryfz,pbdxbm,pbdxfb,bcrq,rqlx,sfxx,sfdkpp,bcxx,hxbz,pbrq,pbsj,formmodeid,modedatacreater,modedatacreatertype,modedatacreatedate,modedatacreatetime,MODEUUID) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
result =rs.executeBatchSql(insertSql,addlist); result =rs.executeBatchSql(insertSql,addlist);
log.info("result :[{}]",result); log.debug("result :[{}]",result);
}
return result;
}
/**
*
* @param organizationList
* @param formmodeid
* @return
*/
public static boolean insertSchedulingResults(List<Map<String,Object>> organizationList,String formmodeid){
RecordSet rs = new RecordSet();
List<List> addlist = Lists.newArrayList();
Set<String> psersons = Sets.newHashSet();
Set<String> psersonsGroups = Sets.newHashSet();
Set<String> departments = Sets.newHashSet();
Set<String> subCompanys = Sets.newHashSet();
for (Map<String,Object> organization: organizationList){
String rqlx = Util.null2String(organization.get("rqlx"));
ArrayList<Object> list = new ArrayList<>();
list.add(organization.get("pbtj"));
list.add(organization.get("pbgl"));
list.add(organization.get("dxlx"));
if ("0".equals(organization.get("dxlx"))){
//人员
list.add(Util.null2String(organization.get("dx")).split("-")[0]);
list.add(null);
list.add(null);
list.add(null);
psersons.add(Util.null2String(organization.get("dx")).split("-")[0]);
}else if ("1".equals(organization.get("dxlx"))){
//人员分组
list.add(null);
list.add(Util.null2String(organization.get("dx")).split("-")[0]);
list.add(null);
list.add(null);
psersonsGroups.add(Util.null2String(organization.get("dx")).split("-")[0]);
}else if ("2".equals(organization.get("dxlx"))){
//部门
list.add(null);
list.add(null);
list.add(Util.null2String(organization.get("dx")).split("-")[0]);
list.add(null);
departments.add(Util.null2String(organization.get("dx")).split("-")[0]);
}else if ("3".equals(organization.get("dxlx"))){
//分部
list.add(null);
list.add(null);
list.add(null);
list.add(Util.null2String(organization.get("dx")).split("-")[0]);
subCompanys.add(Util.null2String(organization.get("dx")).split("-")[0]);
}
list.add(organization.get("bcrq"));
if (!rqlx.equals("")){
list.add(rqlx);
}else {
list.add(organization.get("rqlx"));
}
list.add(organization.get("sfxx"));
list.add(organization.get("sfdkpp"));
list.add(organization.get("bcxx"));
list.add(organization.get("hxbz"));
list.add(organization.get("pbrq"));
list.add(organization.get("pbsj"));
list.add(formmodeid);
list.add(1);
list.add(0);
list.add(DateUtil.getCurrentDate());
list.add(DateUtil.getCurrentTime().split(" ")[1]);
list.add(UUID.randomUUID().toString());
addlist.add(list);
}
boolean result = false;
if (addlist.size() >0){
log.debug("addlist :[{}]",addlist);
String insertSql = "insert into uf_pbjg (pbtj,pbgl,dxlx,pbdxry,pbdxryfz,pbdxbm,pbdxfb,bcrq,rqlx,sfxx,sfdkpp,bcxx,hxbz,pbrq,pbsj,formmodeid,modedatacreater,modedatacreatertype,modedatacreatedate,modedatacreatetime,MODEUUID) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
result =rs.executeBatchSql(insertSql,addlist);
log.debug("result :[{}]",result);
} }
return result; return result;
} }
@ -258,7 +340,7 @@ public class PersongroupCommonUtil {
public static Set<String> getPersonnelGroupingByPerson(List<Map<String,Object>> personnelGrouping,String userId,String startDate,String endDate){ public static Set<String> getPersonnelGroupingByPerson(List<Map<String,Object>> personnelGrouping,String userId,String startDate,String endDate){
Map<String,List<Map<String,Object>>> collect = personnelGrouping.stream().collect(Collectors.groupingBy(e -> Util.null2String(e.get("mainid")))); Map<String,List<Map<String,Object>>> collect = personnelGrouping.stream().collect(Collectors.groupingBy(e -> Util.null2String(e.get("mainid"))));
Set<String> personnelGroupIds = Sets.newHashSet(); Set<String> personnelGroupIds = Sets.newHashSet();
log.info("getPersonnelGroupingByPerson collect : {}",collect); log.debug("getPersonnelGroupingByPerson collect : {}",collect);
if (userId == null || "".equals(userId)){ if (userId == null || "".equals(userId)){
return personnelGroupIds; return personnelGroupIds;
} }
@ -277,14 +359,20 @@ public class PersongroupCommonUtil {
} }
String empid = Util.null2String(data.get("empid")); String empid = Util.null2String(data.get("empid"));
String filters = Util.null2String(data.get("filters")); String filters = Util.null2String(data.get("filters"));
log.info(" empid : {},userId : {}",empid,userId); log.debug(" empid : {},userId : {}",empid,userId);
if (empid.equals(userId)){ if (empid.equals(userId)){
personnelGroupIds.add(e.getKey()); personnelGroupIds.add(e.getKey());
}else if (!"".equals(filters)){ }else if (!"".equals(filters)){
filters = filters.replace("","and"); filters = filters.replace("","and");
filters = filters.replace("","or"); filters = filters.replace("","or");
String sql = "select id from hrmresource where 1=1 and " +filters; //条件清单
log.info("getPersonnelGroupingByPerson filter sql : {}",sql); String sql = "select id,seclevel from hrmresource where 1=1 ";
if (filters.contains("field")){
sql = "select a.id,a.seclevel from hrmresource a left join cus_fielddata b on a.id=b.id where scope='HrmCustomFieldByInfoType' and "+filters;
}else {
sql = sql+ " and "+filters;
}
log.debug("getPersonnelGroupingByPerson filter sql : {}",sql);
List<Map<String,Object>> dataList = DbTools.getSqlToList(sql); List<Map<String,Object>> dataList = DbTools.getSqlToList(sql);
for (Map<String,Object> dataMap :dataList){ for (Map<String,Object> dataMap :dataList){
String hrmId = Util.null2String(dataMap.get("id")); String hrmId = Util.null2String(dataMap.get("id"));
@ -307,7 +395,7 @@ public class PersongroupCommonUtil {
*/ */
public static Set<String> getUserIdsByPersonnelGrouping(List<Map<String,Object>> personnelGroupingList){ public static Set<String> getUserIdsByPersonnelGrouping(List<Map<String,Object>> personnelGroupingList){
Set<String> userIds = Sets.newHashSet(); Set<String> userIds = Sets.newHashSet();
log.info("getUserIdsByPersonnelGrouping personnelGroupingList :[{}]",personnelGroupingList); log.debug("getUserIdsByPersonnelGrouping personnelGroupingList :[{}]",personnelGroupingList);
for (Map<String,Object> data:personnelGroupingList){ for (Map<String,Object> data:personnelGroupingList){
String empid = Util.null2String(data.get("empid")); String empid = Util.null2String(data.get("empid"));
String filters = Util.null2String(data.get("filters")); String filters = Util.null2String(data.get("filters"));
@ -325,7 +413,7 @@ public class PersongroupCommonUtil {
}else { }else {
sql = sql+ " and "+filters; sql = sql+ " and "+filters;
} }
log.info("getPersonnelGroupingByPerson filter sql : {}",sql); log.debug("getPersonnelGroupingByPerson filter sql : {}",sql);
List<Map<String,Object>> dataList = DbTools.getSqlToList(sql); List<Map<String,Object>> dataList = DbTools.getSqlToList(sql);
for (Map<String,Object> dataMap :dataList){ for (Map<String,Object> dataMap :dataList){
String hrmId = Util.null2String(dataMap.get("id")); String hrmId = Util.null2String(dataMap.get("id"));
@ -333,7 +421,7 @@ public class PersongroupCommonUtil {
} }
} }
} }
log.info("userIds size :[{}]",userIds.size()); log.debug("userIds size :[{}]",userIds.size());
return userIds; return userIds;
} }

@ -40,7 +40,7 @@ public class SchedulingJob extends BaseCronJob {
String modeId = formmodeIdMap.get("uf_jcl_kq_glpb"); String modeId = formmodeIdMap.get("uf_jcl_kq_glpb");
//排班结果模块 //排班结果模块
String formmodeid = formmodeIdMap.get("uf_pbjg"); String formmodeid = formmodeIdMap.get("uf_pbjg");
log.info("dataList : [{}]",dataList); log.debug("dataList : [{}]",dataList);
try { try {
dataList.forEach(e -> { dataList.forEach(e -> {
e.put("modeId",modeId); e.put("modeId",modeId);

@ -30,7 +30,6 @@ public class DayRegularScheduling implements RegularScheduling{
@Override @Override
public void compute(Map<String, Object> data) { public void compute(Map<String, Object> data) {
log.info("import DayRegularScheduling :[{}]",data);
//主表数据id //主表数据id
String id = Util.null2String(data.get("id")); String id = Util.null2String(data.get("id"));
//规律排班模块Id //规律排班模块Id
@ -72,13 +71,11 @@ public class DayRegularScheduling implements RegularScheduling{
sql = "select rlmc,nd,rq,rqlx from uf_jcl_kq_rlxx where rlmc=?"; sql = "select rlmc,nd,rq,rqlx from uf_jcl_kq_rlxx where rlmc=?";
List<Map<String,Object>> calendarList = DbTools.getSqlToList(sql,qyrl); List<Map<String,Object>> calendarList = DbTools.getSqlToList(sql,qyrl);
// Map<String,String> calendarMap = calendarList.stream().collect(Collectors.toMap(e->Util.null2String(e.get("nd")),e->Util.null2String(e.get("id")))); // Map<String,String> calendarMap = calendarList.stream().collect(Collectors.toMap(e->Util.null2String(e.get("nd")),e->Util.null2String(e.get("id"))));
// log.info("calendarMap : {}",calendarMap); // log.debug("calendarMap : {}",calendarMap);
Map<String, List<Map<String,Object>>> detailDataGroupingByYear = calendarList.stream().collect(Collectors.groupingBy(e ->e.get("nd").toString())); Map<String, List<Map<String,Object>>> detailDataGroupingByYear = calendarList.stream().collect(Collectors.groupingBy(e ->e.get("nd").toString()));
log.info("detailDataGroupingByYear : {}",detailDataGroupingByYear);
//循环总天数 //循环总天数
int circulateDays = Integer.valueOf(detailDataList.get(detailDataList.size()-1).get("jsts").toString()); int circulateDays = Integer.valueOf(detailDataList.get(detailDataList.size()-1).get("jsts").toString());
int betweenDays = PersongroupCommonUtil.getBetweenDays(data); int betweenDays = PersongroupCommonUtil.getBetweenDays(data);
log.info("betweenDays : [{}]",betweenDays);
/**按照天数规律循环遍历插入*/ /**按照天数规律循环遍历插入*/
//从第几天开始循环 //从第几天开始循环
int leaveDay = betweenDays%circulateDays + 1; int leaveDay = betweenDays%circulateDays + 1;
@ -104,7 +101,7 @@ public class DayRegularScheduling implements RegularScheduling{
dataMap.put("bcrq",bcrq); dataMap.put("bcrq",bcrq);
if (jsts >= leaveDay && ksts <=leaveDay){ if (jsts >= leaveDay && ksts <=leaveDay){
String dateTime =bcrq; String dateTime =bcrq;
log.info("dateTime :{},count: {},map : {}",dateTime,count,map); log.debug("dateTime :{},count: {},map : {}",dateTime,count,map);
List<Map<String,Object>> detailList = detailDataGroupingByYear.get(dateTime.split("-")[0]); List<Map<String,Object>> detailList = detailDataGroupingByYear.get(dateTime.split("-")[0]);
if (detailList == null){ if (detailList == null){
continue; continue;

@ -31,7 +31,7 @@ public class MonthRegularScheduling implements RegularScheduling{
@Override @Override
public void compute(Map<String, Object> data) { public void compute(Map<String, Object> data) {
log.info("import MonthRegularScheduling :[{}]",data); log.debug("import MonthRegularScheduling :[{}]",data);
//主表数据id //主表数据id
String id = Util.null2String(data.get("id")); String id = Util.null2String(data.get("id"));
//规律排班模块Id //规律排班模块Id
@ -72,7 +72,7 @@ public class MonthRegularScheduling implements RegularScheduling{
sql = "select rlmc,nd,rq,rqlx from uf_jcl_kq_rlxx where rlmc=?"; sql = "select rlmc,nd,rq,rqlx from uf_jcl_kq_rlxx where rlmc=?";
List<Map<String,Object>> calendarList = DbTools.getSqlToList(sql,qyrl); List<Map<String,Object>> calendarList = DbTools.getSqlToList(sql,qyrl);
Map<String, List<Map<String,Object>>> detailDataGroupingByYear = calendarList.stream().collect(Collectors.groupingBy(e ->e.get("nd").toString())); Map<String, List<Map<String,Object>>> detailDataGroupingByYear = calendarList.stream().collect(Collectors.groupingBy(e ->e.get("nd").toString()));
log.info("detailDataGroupingByYear : {}",detailDataGroupingByYear); log.debug("detailDataGroupingByYear : {}",detailDataGroupingByYear);
//结束日 //结束日
List<Map<String,Object>> insertDataList = Lists.newArrayList(); List<Map<String,Object>> insertDataList = Lists.newArrayList();
@ -95,7 +95,7 @@ public class MonthRegularScheduling implements RegularScheduling{
dataMap.put("bcrq",bcrq); dataMap.put("bcrq",bcrq);
if (jsr >= leaveDay && ksr <=leaveDay){ if (jsr >= leaveDay && ksr <=leaveDay){
String dateTime =bcrq; String dateTime =bcrq;
log.info("dateTime :{},count: {},map : {}",dateTime,count,map); log.debug("dateTime :{},count: {},map : {}",dateTime,count,map);
List<Map<String,Object>> detailList = detailDataGroupingByYear.get(dateTime.split("-")[0]); List<Map<String,Object>> detailList = detailDataGroupingByYear.get(dateTime.split("-")[0]);
if (detailList == null){ if (detailList == null){
continue; continue;

@ -31,7 +31,7 @@ public class WeekRegularScheduling implements RegularScheduling{
@Override @Override
public void compute(Map<String, Object> data) { public void compute(Map<String, Object> data) {
log.info("import WeekRegularScheduling :[{}]",data); log.debug("import WeekRegularScheduling :[{}]",data);
//主表数据id //主表数据id
String id = Util.null2String(data.get("id")); String id = Util.null2String(data.get("id"));
//规律排班模块Id //规律排班模块Id
@ -72,7 +72,7 @@ public class WeekRegularScheduling implements RegularScheduling{
sql = "select rlmc,nd,rq,rqlx from uf_jcl_kq_rlxx where rlmc=?"; sql = "select rlmc,nd,rq,rqlx from uf_jcl_kq_rlxx where rlmc=?";
List<Map<String,Object>> calendarList = DbTools.getSqlToList(sql,qyrl); List<Map<String,Object>> calendarList = DbTools.getSqlToList(sql,qyrl);
// Map<String,String> calendarMap = calendarList.stream().collect(Collectors.toMap(e->Util.null2String(e.get("nd")),e->Util.null2String(e.get("id")))); // Map<String,String> calendarMap = calendarList.stream().collect(Collectors.toMap(e->Util.null2String(e.get("nd")),e->Util.null2String(e.get("id"))));
// log.info("calendarMap : {}",calendarMap); // log.debug("calendarMap : {}",calendarMap);
Map<String, List<Map<String,Object>>> detailDataGroupingByYear = calendarList.stream().collect(Collectors.groupingBy(e ->e.get("nd").toString())); Map<String, List<Map<String,Object>>> detailDataGroupingByYear = calendarList.stream().collect(Collectors.groupingBy(e ->e.get("nd").toString()));
// int betweenDays = CommonUtil.getBetweenDays(data); // int betweenDays = CommonUtil.getBetweenDays(data);
//星期 //星期
@ -99,7 +99,7 @@ public class WeekRegularScheduling implements RegularScheduling{
dataMap.put("bcrq",bcrq); dataMap.put("bcrq",bcrq);
if (jsxq >= leaveDay && ksxq <=leaveDay){ if (jsxq >= leaveDay && ksxq <=leaveDay){
String dateTime =bcrq; String dateTime =bcrq;
log.info("dateTime :{},count: {},map : {}",dateTime,count,map); log.debug("dateTime :{},count: {},map : {}",dateTime,count,map);
List<Map<String,Object>> detailList = detailDataGroupingByYear.get(dateTime.split("-")[0]); List<Map<String,Object>> detailList = detailDataGroupingByYear.get(dateTime.split("-")[0]);
if (detailList == null){ if (detailList == null){
continue; continue;

@ -31,7 +31,7 @@ public class YearRegularScheduling implements RegularScheduling{
@Override @Override
public void compute(Map<String, Object> data) { public void compute(Map<String, Object> data) {
log.info("import YearRegularScheduling :[{}]",data); log.debug("import YearRegularScheduling :[{}]",data);
//主表数据id //主表数据id
String id = Util.null2String(data.get("id")); String id = Util.null2String(data.get("id"));
//规律排班模块Id //规律排班模块Id
@ -72,7 +72,7 @@ public class YearRegularScheduling implements RegularScheduling{
sql = "select rlmc,nd,rq,rqlx from uf_jcl_kq_rlxx where rlmc=?"; sql = "select rlmc,nd,rq,rqlx from uf_jcl_kq_rlxx where rlmc=?";
List<Map<String,Object>> calendarList = DbTools.getSqlToList(sql,qyrl); List<Map<String,Object>> calendarList = DbTools.getSqlToList(sql,qyrl);
// Map<String,String> calendarMap = calendarList.stream().collect(Collectors.toMap(e->Util.null2String(e.get("nd")),e->Util.null2String(e.get("id")))); // Map<String,String> calendarMap = calendarList.stream().collect(Collectors.toMap(e->Util.null2String(e.get("nd")),e->Util.null2String(e.get("id"))));
// log.info("calendarMap : {}",calendarMap); // log.debug("calendarMap : {}",calendarMap);
Map<String, List<Map<String,Object>>> detailDataGroupingByYear = calendarList.stream().collect(Collectors.groupingBy(e ->e.get("nd").toString())); Map<String, List<Map<String,Object>>> detailDataGroupingByYear = calendarList.stream().collect(Collectors.groupingBy(e ->e.get("nd").toString()));
// int betweenDays = CommonUtil.getBetweenDays(data); // int betweenDays = CommonUtil.getBetweenDays(data);
//星期 //星期
@ -103,7 +103,7 @@ public class YearRegularScheduling implements RegularScheduling{
} }
if (endDate.compareTo(leaveDay) >=0 && beginDate.compareTo(leaveDay) <=0){ if (endDate.compareTo(leaveDay) >=0 && beginDate.compareTo(leaveDay) <=0){
String dateTime =bcrq; String dateTime =bcrq;
log.info("dateTime :{},count: {},map : {}",dateTime,count,map); log.debug("dateTime :{},count: {},map : {}",dateTime,count,map);
List<Map<String,Object>> detailList = detailDataGroupingByYear.get(dateTime.split("-")[0]); List<Map<String,Object>> detailList = detailDataGroupingByYear.get(dateTime.split("-")[0]);
if (detailList == null){ if (detailList == null){
continue; continue;

@ -39,7 +39,7 @@ public class PersonGroupServiceImpl extends Service implements PersonGroupServic
" select fieldid, fieldname, fieldlabel ,ismand ,fielddbtype ,fieldhtmltype ,type , dmlurl,fieldorder ,isuse ,isModify ,allowModify, groupid, allowhide from hrm_formfield) hrmallfield where groupid in (select id from hrm_fieldgroup where (grouptype = '1' or grouptype = '-1' or grouptype = '3')) "; " select fieldid, fieldname, fieldlabel ,ismand ,fielddbtype ,fieldhtmltype ,type , dmlurl,fieldorder ,isuse ,isModify ,allowModify, groupid, allowhide from hrm_formfield) hrmallfield where groupid in (select id from hrm_fieldgroup where (grouptype = '1' or grouptype = '-1' or grouptype = '3')) ";
sql = sql +condition+" order by hrmallfield.groupid, hrmallfield.fieldorder "; sql = sql +condition+" order by hrmallfield.groupid, hrmallfield.fieldorder ";
log.info("sql :[{}]",sql); log.debug("sql :[{}]",sql);
List<Map<String,Object>> dataList = DbTools.getSqlToList(sql); List<Map<String,Object>> dataList = DbTools.getSqlToList(sql);
sql = "select fieldid,selectvalue,selectname from hrm_selectitem"; sql = "select fieldid,selectvalue,selectname from hrm_selectitem";
List<Map<String,Object>> selectItemLists = DbTools.getSqlToList(sql); List<Map<String,Object>> selectItemLists = DbTools.getSqlToList(sql);
@ -50,7 +50,7 @@ public class PersonGroupServiceImpl extends Service implements PersonGroupServic
Map<String, List<Map<String,Object>>> custSelectItemMap = custSelectItemLists.stream().collect(Collectors.groupingBy(e -> e.get("fieldid").toString())); Map<String, List<Map<String,Object>>> custSelectItemMap = custSelectItemLists.stream().collect(Collectors.groupingBy(e -> e.get("fieldid").toString()));
log.info("selectItemMap : [{}]",selectItemMap); log.debug("selectItemMap : [{}]",selectItemMap);
//sql = "select type,linkurl from wf_browser_config group by type"; //sql = "select type,linkurl from wf_browser_config group by type";
sql = "select type,linkurl from wf_browser_config "; sql = "select type,linkurl from wf_browser_config ";
@ -59,7 +59,7 @@ public class PersonGroupServiceImpl extends Service implements PersonGroupServic
for (Map<String,Object> browserType:browserTypeLists){ for (Map<String,Object> browserType:browserTypeLists){
browserTypeMaps.put(Util.null2String(browserType.get("type")),Util.null2String(browserType.get("linkurl"))); browserTypeMaps.put(Util.null2String(browserType.get("type")),Util.null2String(browserType.get("linkurl")));
} }
log.info("browserTypeMaps : [{}]",browserTypeMaps); log.debug("browserTypeMaps : [{}]",browserTypeMaps);
for (Map<String,Object> map :dataList){ for (Map<String,Object> map :dataList){
Integer fieldlable = Integer.valueOf(map.get("fieldlable").toString()); Integer fieldlable = Integer.valueOf(map.get("fieldlable").toString());
@ -93,7 +93,7 @@ public class PersonGroupServiceImpl extends Service implements PersonGroupServic
RecordSet rs = new RecordSet(); RecordSet rs = new RecordSet();
boolean updateResult = DbTools.update(rs,sql,modeId,billId); boolean updateResult = DbTools.update(rs,sql,modeId,billId);
List<List> addLists = new ArrayList<>(); List<List> addLists = new ArrayList<>();
log.info("updateResult : {}",updateResult); log.debug("updateResult : {}",updateResult);
String insertSql = "insert into uf_jcl_syzz (dxlx,dx,aqjb,modeid,dataid) values (?,?,?,?,?)"; String insertSql = "insert into uf_jcl_syzz (dxlx,dx,aqjb,modeid,dataid) values (?,?,?,?,?)";
if (updateResult){ if (updateResult){
dataList.forEach(e->{ dataList.forEach(e->{
@ -106,7 +106,7 @@ public class PersonGroupServiceImpl extends Service implements PersonGroupServic
addLists.add(list); addLists.add(list);
}); });
} }
log.info("insert data : [{}]",addLists); log.debug("insert data : [{}]",addLists);
resultMap.put("result",rs.executeBatchSql(insertSql,addLists)); resultMap.put("result",rs.executeBatchSql(insertSql,addLists));
return resultMap; return resultMap;
} }

@ -65,7 +65,6 @@ public class SchedulingResultsServiceImpl extends Service implements SchedulingR
for (Map<String, Object> map:dataTableList){ for (Map<String, Object> map:dataTableList){
SetBrowSerName(map); SetBrowSerName(map);
} }
log.info("dataTableList : {}",dataTableList);
resultMap.put("data",dataTableList); resultMap.put("data",dataTableList);
}else { }else {
@ -90,7 +89,7 @@ public class SchedulingResultsServiceImpl extends Service implements SchedulingR
* @param map * @param map
*/ */
public void SetBrowSerName(Map<String,Object> map){ public void SetBrowSerName(Map<String,Object> map){
log.info("personGroupMap :{},departMentMap:{},subCompanyMap:{},classesInformationMap:{},candidateTeamMap:{}" log.debug("personGroupMap :{},departMentMap:{},subCompanyMap:{},classesInformationMap:{},candidateTeamMap:{}"
,personGroupMap.hashCode(),departMentMap.hashCode(),subCompanyMap.hashCode(),classesInformationMap.hashCode(),candidateTeamMap.hashCode()); ,personGroupMap.hashCode(),departMentMap.hashCode(),subCompanyMap.hashCode(),classesInformationMap.hashCode(),candidateTeamMap.hashCode());
String dxlx = Util.null2String(map.get("dxlx")); String dxlx = Util.null2String(map.get("dxlx"));
if (dxlx.equals("0")){ if (dxlx.equals("0")){
@ -137,7 +136,6 @@ public class SchedulingResultsServiceImpl extends Service implements SchedulingR
List<Map<String, Object>> dataTableList = (List<Map<String, Object>>)paramMap.get("data"); List<Map<String, Object>> dataTableList = (List<Map<String, Object>>)paramMap.get("data");
List<Map<String, Object>> resultList = Lists.newArrayList(); List<Map<String, Object>> resultList = Lists.newArrayList();
resultMap.put("data",Utils.getSchedulingList(dataTableList)); resultMap.put("data",Utils.getSchedulingList(dataTableList));
log.info("queryDataTableActualUse schedule : [{}]",resultList);
return resultMap; return resultMap;
} }

@ -55,7 +55,7 @@ public class HandleOverdueVocationCmd extends AbstractCommonCommand<Map<String,O
List<List<String>> needCancelPartions = Lists.partition(needCancelHolidayIds,200); List<List<String>> needCancelPartions = Lists.partition(needCancelHolidayIds,200);
for (List<String> list : needCancelPartions){ for (List<String> list : needCancelPartions){
String updateSql = sql+String.join(",",list)+")"; String updateSql = sql+String.join(",",list)+")";
log.info("needCancelPartions updateSql : [{}]",updateSql ); log.debug("needCancelPartions updateSql : [{}]",updateSql );
DbTools.update(updateSql); DbTools.update(updateSql);
} }
Map<String,List<String>> updateData = Maps.newHashMap(); Map<String,List<String>> updateData = Maps.newHashMap();
@ -118,7 +118,7 @@ public class HandleOverdueVocationCmd extends AbstractCommonCommand<Map<String,O
List<List<String>> needExtendPartions = Lists.partition(ids,200); List<List<String>> needExtendPartions = Lists.partition(ids,200);
for (List<String> list : needExtendPartions){ for (List<String> list : needExtendPartions){
String updateSql = sql+String.join(",",list)+")"; String updateSql = sql+String.join(",",list)+")";
log.info("needExtendPartions updateSql : [{}]",updateSql); log.debug("needExtendPartions updateSql : [{}]",updateSql);
DbTools.update(updateSql,key.split("&")[0],key.split("&")[1],key.split("&")[2]); DbTools.update(updateSql,key.split("&")[0],key.split("&")[1],key.split("&")[2]);
} }
} }

@ -39,7 +39,7 @@ public class VocationCmd extends AbstractCommonCommand<Map<String,Object>> {
Map<String,Object> userMap = userfilter.size()>0?userfilter.get(0):Maps.newHashMap(); Map<String,Object> userMap = userfilter.size()>0?userfilter.get(0):Maps.newHashMap();
for (Map<String,Object> vocation : vocationList){ for (Map<String,Object> vocation : vocationList){
log.info("qsrq : [{}],yjzd : [{}]",vocation.get("qsrq"),vocation.get("yjzd")); log.debug("qsrq : [{}],yjzd : [{}]",vocation.get("qsrq"),vocation.get("yjzd"));
String qsrq = Util.null2String(vocation.get("qsrq")).toLowerCase(); String qsrq = Util.null2String(vocation.get("qsrq")).toLowerCase();
String yjzd = Util.null2String(vocation.get("yjzd")).toLowerCase(); String yjzd = Util.null2String(vocation.get("yjzd")).toLowerCase();
String ljcrglyfslwz = Util.null2String(vocation.get("ljcrglyfslwz")); String ljcrglyfslwz = Util.null2String(vocation.get("ljcrglyfslwz"));
@ -77,7 +77,7 @@ public class VocationCmd extends AbstractCommonCommand<Map<String,Object>> {
vocation.put("ljcrglyfslwzValue",ljcrglyfslwzValue); vocation.put("ljcrglyfslwzValue",ljcrglyfslwzValue);
vocation.put("zyzValue",getUserIds(vocation)); vocation.put("zyzValue",getUserIds(vocation));
} }
log.info("VocationCmd params: [{}]",params); log.debug("VocationCmd params: [{}]",params);
String edfffs = Util.null2String(vocationList.get(0).get("edfffs")); String edfffs = Util.null2String(vocationList.get(0).get("edfffs"));
for (HolidayGenerationWay holidayGenerationWay :rulers){ for (HolidayGenerationWay holidayGenerationWay :rulers){
if (holidayGenerationWay.support(Integer.valueOf(edfffs))){ if (holidayGenerationWay.support(Integer.valueOf(edfffs))){

@ -41,7 +41,7 @@ public class VocationServiceImpl extends Service implements VocationService {
List<Map<String,Object>> dataList = Lists.newArrayList(); List<Map<String,Object>> dataList = Lists.newArrayList();
for (List<String> list : userPartions){ for (List<String> list : userPartions){
String querySql = sql + String.join(",",list) +")"; String querySql = sql + String.join(",",list) +")";
log.info("querySql : [{}]",querySql); log.debug("querySql : [{}]",querySql);
List<Map<String,Object>> resultList = DbTools.getSqlToListKeySmallLetter(querySql); List<Map<String,Object>> resultList = DbTools.getSqlToListKeySmallLetter(querySql);
resultList = resultList.stream().filter(e->"HrmCustomFieldByInfoType".equals(e.get("scope")) || "".equals(Util.null2String(e.get("scope")))).collect(Collectors.toList()); resultList = resultList.stream().filter(e->"HrmCustomFieldByInfoType".equals(e.get("scope")) || "".equals(Util.null2String(e.get("scope")))).collect(Collectors.toList());
dataList.addAll(resultList); dataList.addAll(resultList);
@ -64,7 +64,7 @@ public class VocationServiceImpl extends Service implements VocationService {
needGenerateVocationMap.put(Util.null2String(map.get("key")),vocationMap.get(map.get("key"))); needGenerateVocationMap.put(Util.null2String(map.get("key")),vocationMap.get(map.get("key")));
} }
} }
log.info("VocationServiceImpl userId:{}, userList:{}",userId,userIdMap.get(userId)); log.debug("VocationServiceImpl userId:{}, userList:{}",userId,userIdMap.get(userId));
for (Map.Entry<String, Object> e:needGenerateVocationMap.entrySet()){ for (Map.Entry<String, Object> e:needGenerateVocationMap.entrySet()){
if (e.getValue() != null && ((List<Map<String,Object>>)e.getValue()).size() > 0){ if (e.getValue() != null && ((List<Map<String,Object>>)e.getValue()).size() > 0){
Map<String,Object> vocationParam = Maps.newHashMap(); Map<String,Object> vocationParam = Maps.newHashMap();

@ -54,7 +54,7 @@ public class VocationCommonUtil {
qsrq = qsrq.split("-")[0]+"-"+qsrq.split("-")[1]+"-01"; qsrq = qsrq.split("-")[0]+"-"+qsrq.split("-")[1]+"-01";
} }
log.info("getAfterAdjustTime qsrq : [{}]",qsrq); log.debug("getAfterAdjustTime qsrq : [{}]",qsrq);
return qsrq; return qsrq;
} }
@ -143,7 +143,7 @@ public class VocationCommonUtil {
}else if (edyxq.equals(StartingUnitEnum.NATURAL_DAY.getKey())){ }else if (edyxq.equals(StartingUnitEnum.NATURAL_DAY.getKey())){
time = releaseDate.split(" ")[0]+" "+ffdtffsj; time = releaseDate.split(" ")[0]+" "+ffdtffsj;
} }
log.info("excuteTime : [{}]",time); log.debug("excuteTime : [{}]",time);
return time; return time;
} }
*/ */
@ -443,7 +443,7 @@ public class VocationCommonUtil {
* @param dataMap * @param dataMap
*/ */
public static void updateHolidayBalance(String tableName,Map<String,Object> dataMap,List<Map<String,Object>> dataList){ public static void updateHolidayBalance(String tableName,Map<String,Object> dataMap,List<Map<String,Object>> dataList){
log.info("updateHolidayBalance dataMap:[{}]",dataMap); log.debug("updateHolidayBalance dataMap:[{}]",dataMap);
String lyid = Util.null2String(dataMap.get("lyid")); String lyid = Util.null2String(dataMap.get("lyid"));
String ygid = Util.null2String(dataMap.get("ygid")); String ygid = Util.null2String(dataMap.get("ygid"));
String jqid = Util.null2String(dataMap.get("jqid")); String jqid = Util.null2String(dataMap.get("jqid"));
@ -488,7 +488,7 @@ public class VocationCommonUtil {
* @return * @return
*/ */
public static List<Map<String,Object>> ifexist(String tableName,Map<String,Object> dataMap){ public static List<Map<String,Object>> ifexist(String tableName,Map<String,Object> dataMap){
log.info("ifexist dataMap:[{}]",dataMap); log.debug("ifexist dataMap:[{}]",dataMap);
String lyid = Util.null2String(dataMap.get("lyid")); String lyid = Util.null2String(dataMap.get("lyid"));
String ygid = Util.null2String(dataMap.get("ygid")); String ygid = Util.null2String(dataMap.get("ygid"));
String jqid = Util.null2String(dataMap.get("jqid")); String jqid = Util.null2String(dataMap.get("jqid"));

@ -23,7 +23,7 @@ public class MakeUpClockImportAction implements Action {
@Override @Override
public String execute(RequestInfo requestInfo) { public String execute(RequestInfo requestInfo) {
log.info("**********MakeUpClockImportAction import data start**********"); log.debug("**********MakeUpClockImportAction import data start**********");
// 流程表单主表数据 // 流程表单主表数据
HashMap<String,String> mainTableData = CommonUtil.getMainTableInfo(requestInfo); HashMap<String,String> mainTableData = CommonUtil.getMainTableInfo(requestInfo);
// 流程表单明细表数据 // 流程表单明细表数据
@ -61,7 +61,7 @@ public class MakeUpClockImportAction implements Action {
requestInfo.getRequestManager().setMessagecontent("添加失败!"); requestInfo.getRequestManager().setMessagecontent("添加失败!");
return Action.FAILURE_AND_CONTINUE; return Action.FAILURE_AND_CONTINUE;
} }
log.info("**********MakeUpClockImportAction import data end**********"); log.debug("**********MakeUpClockImportAction import data end**********");
return Action.SUCCESS; return Action.SUCCESS;
} }

@ -101,7 +101,6 @@ public class MakeUpClockInAction implements Action {
dataGroupByBdlxs.put(startDate+","+endDate,datas); dataGroupByBdlxs.put(startDate+","+endDate,datas);
} }
} }
log.info("dataGroupByBdlxs : [{}]",dataGroupByBdlxs);
/** /**
* *
*/ */
@ -142,11 +141,11 @@ public class MakeUpClockInAction implements Action {
} }
sql = "select bdkry,dkrq from uf_jcl_kq_bdkjl where bdkry=? and bdklx=?"; sql = "select bdkry,dkrq from uf_jcl_kq_bdkjl where bdkry=? and bdklx=?";
List<Map<String,Object>> existsList = DbTools.getSqlToList(sql,userId,bdklx); List<Map<String,Object>> existsList = DbTools.getSqlToList(sql,userId,bdklx);
log.info("existsList : [{}]",existsList); log.debug("existsList : [{}]",existsList);
existsList = existsList.stream().filter(e->DateUtil.getTime(startDate).compareTo(DateUtil.getTime(e.get("dkrq").toString())) <=0 && existsList = existsList.stream().filter(e->DateUtil.getTime(startDate).compareTo(DateUtil.getTime(e.get("dkrq").toString())) <=0 &&
DateUtil.getTime(endDate).compareTo(DateUtil.getTime(e.get("dkrq").toString())) >=0).collect(Collectors.toList()); DateUtil.getTime(endDate).compareTo(DateUtil.getTime(e.get("dkrq").toString())) >=0).collect(Collectors.toList());
clockTimes +=existsList.size(); clockTimes +=existsList.size();
log.info("clockTimes : [{}],maxclockTimes : [{}]",clockTimes,maxclockTimes); log.debug("clockTimes : [{}],maxclockTimes : [{}]",clockTimes,maxclockTimes);
if (clockTimes > maxclockTimes){ if (clockTimes > maxclockTimes){
//已达到请假上限 //已达到请假上限
log.error("考勤项目已达到补打卡上限"); log.error("考勤项目已达到补打卡上限");

@ -32,7 +32,7 @@ public class RevokeEliminationsAskForLeaveAction implements Action {
@Override @Override
public String execute(RequestInfo requestInfo) { public String execute(RequestInfo requestInfo) {
log.info("RevokeEliminationsAskForLeaveAction,do action on request:" + requestInfo.getRequestid()); log.debug("RevokeEliminationsAskForLeaveAction,do action on request:" + requestInfo.getRequestid());
String requestid = requestInfo.getRequestid(); String requestid = requestInfo.getRequestid();
try { try {
@ -44,7 +44,7 @@ public class RevokeEliminationsAskForLeaveAction implements Action {
Map<String, Object> holidayItem = DbTools.getSqlToMap(queryItemsql, qjlx); Map<String, Object> holidayItem = DbTools.getSqlToMap(queryItemsql, qjlx);
DetailTable[] detailTable = requestInfo.getDetailTableInfo().getDetailTable(); DetailTable[] detailTable = requestInfo.getDetailTableInfo().getDetailTable();
log.info("RevokeLeaveAction detailTable : [{}], length : {}", Arrays.toString(detailTable), detailTable.length); log.debug("RevokeLeaveAction detailTable : [{}], length : {}", Arrays.toString(detailTable), detailTable.length);
List<Map<String, String>> updateList = new ArrayList<>(); List<Map<String, String>> updateList = new ArrayList<>();
if (detailTable.length > 0) { if (detailTable.length > 0) {
for (DetailTable dt : detailTable) { for (DetailTable dt : detailTable) {
@ -57,7 +57,7 @@ public class RevokeEliminationsAskForLeaveAction implements Action {
for (Cell c : h) { for (Cell c : h) {
//列 //列
String name = Util.null2String(c.getName()); String name = Util.null2String(c.getName());
log.info("RevokeLeaveAction key : {}, value : {}",c.getName(), c.getValue()); log.debug("RevokeLeaveAction key : {}, value : {}",c.getName(), c.getValue());
if ("cxsm".equals(name)) { if ("cxsm".equals(name)) {
itemMap.put("cxsm", Util.null2String(c.getValue())); itemMap.put("cxsm", Util.null2String(c.getValue()));
} }
@ -68,31 +68,31 @@ public class RevokeEliminationsAskForLeaveAction implements Action {
itemMap.put("cx", Util.null2String(c.getValue())); itemMap.put("cx", Util.null2String(c.getValue()));
} }
} }
log.info("RevokeEliminationsAskForLeaveAction itemMap : [{}]",itemMap); log.debug("RevokeEliminationsAskForLeaveAction itemMap : [{}]",itemMap);
if (Util.null2String(itemMap.get("cx")).equals("1")) { if (Util.null2String(itemMap.get("cx")).equals("1")) {
updateList.add(itemMap); updateList.add(itemMap);
} }
} }
} }
} }
log.info("RevokeLeaveAction updateList : [{}]",updateList); log.debug("RevokeLeaveAction updateList : [{}]",updateList);
if (updateList.size() > 0) { if (updateList.size() > 0) {
updateList.forEach(f -> { updateList.forEach(f -> {
if (StringUtils.isNotBlank(f.get("cxlyid"))) { if (StringUtils.isNotBlank(f.get("cxlyid"))) {
String sql = "update uf_jcl_kq_qjjl_dt1" +" set "+"cxly=0,cxqj=1,cxsm=?,cxid=? where id = ?"; String sql = "update uf_jcl_kq_qjjl_dt1" +" set "+"cxly=0,cxqj=1,cxsm=?,cxid=? where id = ?";
log.info("RevokeEliminationsAskForLeaveAction sql : [{}]",sql); log.debug("RevokeEliminationsAskForLeaveAction sql : [{}]",sql);
DbTools.update(sql, Util.null2String(f.get("cxsm")), requestid, f.get("cxlyid")); DbTools.update(sql, Util.null2String(f.get("cxsm")), requestid, f.get("cxlyid"));
log.info("RevokeEliminationsAskForLeaveAction cxsm : {}, requestid : {}, cxlyid : {}",Util.null2String(f.get("cxsm")), requestid, f.get("cxlyid")); log.debug("RevokeEliminationsAskForLeaveAction cxsm : {}, requestid : {}, cxlyid : {}",Util.null2String(f.get("cxsm")), requestid, f.get("cxlyid"));
updateHoliday(f.get("cxlyid"),holidayItem.get("hsdw").toString()); updateHoliday(f.get("cxlyid"),holidayItem.get("hsdw").toString());
} }
}); });
} }
} catch (Exception e) { } catch (Exception e) {
log.info("流程数据报错:RevokeLeaveAction:"); log.debug("流程数据报错:RevokeLeaveAction:");
StringWriter errorsWriter = new StringWriter(); StringWriter errorsWriter = new StringWriter();
e.printStackTrace(new PrintWriter(errorsWriter)); e.printStackTrace(new PrintWriter(errorsWriter));
log.info(errorsWriter.toString()); log.debug(errorsWriter.toString());
requestInfo.getRequestManager().setMessageid("11111" + requestInfo.getRequestid() + "22222"); requestInfo.getRequestManager().setMessageid("11111" + requestInfo.getRequestid() + "22222");
requestInfo.getRequestManager().setMessagecontent("【更改请假撤销状态action】报错请联系管理员"); requestInfo.getRequestManager().setMessagecontent("【更改请假撤销状态action】报错请联系管理员");
return Action.FAILURE_AND_CONTINUE; return Action.FAILURE_AND_CONTINUE;
@ -109,9 +109,9 @@ public class RevokeEliminationsAskForLeaveAction implements Action {
* @param hsdw * @param hsdw
*/ */
public void updateHoliday(String dt1Id,String hsdw){ public void updateHoliday(String dt1Id,String hsdw){
String sql = "select a.glmxid,a.jqye,sysc,b.qjsc,b.qtj,b.btj from uf_jcl_kq_qjjl_dt2 a left join uf_jcl_kq_qjjl_dt1 b on a.mainid=b.mainid and a.glrq=b.ksrq where b.id=?"; String sql = "select a.glmxid,a.jqye,sysc,b.qjsc,b.qtj,b.btj from uf_jcl_kq_qjjl_dt2 a left join uf_jcl_kq_qjjl_dt1 b on a.mainid=b.mainid and a.glmxid=b.glmxid where b.id=?";
List<Map<String,Object>> dataList = DbTools.getSqlToList(sql,dt1Id); List<Map<String,Object>> dataList = DbTools.getSqlToList(sql,dt1Id);
log.info("updateHoliday dataList :[{}]",dataList); log.debug("updateHoliday dataList :[{}]",dataList);
Map<String,List<Map<String,Object>>> datagroupbyId = dataList.stream().collect(Collectors.groupingBy(e->e.get("jqye").toString())); Map<String,List<Map<String,Object>>> datagroupbyId = dataList.stream().collect(Collectors.groupingBy(e->e.get("jqye").toString()));
for(Map.Entry<String,List<Map<String,Object>>> entry: datagroupbyId.entrySet()){ for(Map.Entry<String,List<Map<String,Object>>> entry: datagroupbyId.entrySet()){
String jqyeId = entry.getKey(); String jqyeId = entry.getKey();
@ -127,7 +127,7 @@ public class RevokeEliminationsAskForLeaveAction implements Action {
qjsc = qjscTotal + (qtjTotal+btjTotal)*8; qjsc = qjscTotal + (qtjTotal+btjTotal)*8;
} }
sql = "update uf_jcl_kq_jqye set yxsc=yxsc-"+qjsc+",wxsc=wxsc+"+qjsc+" where id=?"; sql = "update uf_jcl_kq_jqye set yxsc=yxsc-"+qjsc+",wxsc=wxsc+"+qjsc+" where id=?";
log.info("updateHoliday sql : [{}]",sql); log.debug("updateHoliday sql : [{}]",sql);
DbTools.update(sql,jqyeId); DbTools.update(sql,jqyeId);
} }

@ -21,7 +21,7 @@ public class RevokeLeaveAction implements Action {
@Override @Override
public String execute(RequestInfo requestInfo) { public String execute(RequestInfo requestInfo) {
log.info("RevokeLeaveAction,do action on request:" + requestInfo.getRequestid()); log.debug("RevokeLeaveAction,do action on request:" + requestInfo.getRequestid());
String requestid = requestInfo.getRequestid(); String requestid = requestInfo.getRequestid();
try { try {
@ -35,7 +35,7 @@ public class RevokeLeaveAction implements Action {
// } // }
DetailTable[] detailTable = requestInfo.getDetailTableInfo().getDetailTable(); DetailTable[] detailTable = requestInfo.getDetailTableInfo().getDetailTable();
log.info("RevokeLeaveAction detailTable : [{}], length : {}", Arrays.toString(detailTable), detailTable.length); log.debug("RevokeLeaveAction detailTable : [{}], length : {}", Arrays.toString(detailTable), detailTable.length);
List<Map<String, String>> updateList = new ArrayList<>(); List<Map<String, String>> updateList = new ArrayList<>();
if (detailTable.length > 0) { if (detailTable.length > 0) {
for (DetailTable dt : detailTable) { for (DetailTable dt : detailTable) {
@ -48,7 +48,7 @@ public class RevokeLeaveAction implements Action {
for (Cell c : h) { for (Cell c : h) {
//列 //列
String name = Util.null2String(c.getName()); String name = Util.null2String(c.getName());
log.info("RevokeLeaveAction key : {}, value : {}",c.getName(), c.getValue()); log.debug("RevokeLeaveAction key : {}, value : {}",c.getName(), c.getValue());
if ("cxsm".equals(name)) { if ("cxsm".equals(name)) {
itemMap.put("cxsm", Util.null2String(c.getValue())); itemMap.put("cxsm", Util.null2String(c.getValue()));
} }
@ -59,30 +59,30 @@ public class RevokeLeaveAction implements Action {
itemMap.put("cx", Util.null2String(c.getValue())); itemMap.put("cx", Util.null2String(c.getValue()));
} }
} }
log.info("RevokeLeaveAction itemMap : [{}]",itemMap); log.debug("RevokeLeaveAction itemMap : [{}]",itemMap);
if (Util.null2String(itemMap.get("cx")).equals("1")) { if (Util.null2String(itemMap.get("cx")).equals("1")) {
updateList.add(itemMap); updateList.add(itemMap);
} }
} }
} }
} }
log.info("RevokeLeaveAction updateList : [{}]",updateList); log.debug("RevokeLeaveAction updateList : [{}]",updateList);
if (updateList.size() > 0) { if (updateList.size() > 0) {
updateList.forEach(f -> { updateList.forEach(f -> {
if (StringUtils.isNotBlank(f.get("cxlyid"))) { if (StringUtils.isNotBlank(f.get("cxlyid"))) {
String sql = "update uf_jcl_kq_ccjl_dt1" +" set "+"cxly=0,cxcc=1,cxsm=?,cxid=? where id = ?"; String sql = "update uf_jcl_kq_ccjl_dt1" +" set "+"cxly=0,cxcc=1,cxsm=?,cxid=? where id = ?";
log.info("RevokeLeaveAction sql : [{}]",sql); log.debug("RevokeLeaveAction sql : [{}]",sql);
DbTools.update(sql, Util.null2String(f.get("cxsm")), requestid, f.get("cxlyid")); DbTools.update(sql, Util.null2String(f.get("cxsm")), requestid, f.get("cxlyid"));
log.info("RevokeLeaveAction cxsm : {}, requestid : {}, cxlyid : {}",Util.null2String(f.get("cxsm")), requestid, f.get("cxlyid")); log.debug("RevokeLeaveAction cxsm : {}, requestid : {}, cxlyid : {}",Util.null2String(f.get("cxsm")), requestid, f.get("cxlyid"));
} }
}); });
} }
} catch (Exception e) { } catch (Exception e) {
log.info("流程数据报错:RevokeLeaveAction:"); log.debug("流程数据报错:RevokeLeaveAction:");
StringWriter errorsWriter = new StringWriter(); StringWriter errorsWriter = new StringWriter();
e.printStackTrace(new PrintWriter(errorsWriter)); e.printStackTrace(new PrintWriter(errorsWriter));
log.info(errorsWriter.toString()); log.debug(errorsWriter.toString());
requestInfo.getRequestManager().setMessageid("11111" + requestInfo.getRequestid() + "22222"); requestInfo.getRequestManager().setMessageid("11111" + requestInfo.getRequestid() + "22222");
requestInfo.getRequestManager().setMessagecontent("【更改出差撤销状态action】报错请联系管理员"); requestInfo.getRequestManager().setMessagecontent("【更改出差撤销状态action】报错请联系管理员");
return Action.FAILURE_AND_CONTINUE; return Action.FAILURE_AND_CONTINUE;

@ -21,14 +21,14 @@ public class AskForLeaveWorkFlowArchivingAction implements Action {
// 流程表单主表数据 // 流程表单主表数据
HashMap<String,String> mainTableData = CommonUtil.getMainTableInfo(requestInfo); HashMap<String,String> mainTableData = CommonUtil.getMainTableInfo(requestInfo);
log.info("mainTableData : [{}]",mainTableData); log.debug("mainTableData : [{}]",mainTableData);
// 流程表单明细表1数据 // 流程表单明细表1数据
List<Map<String, String>> detailTableData = CommonUtil.getDetailTableInfo(requestInfo,0); List<Map<String, String>> detailTableData = CommonUtil.getDetailTableInfo(requestInfo,0);
log.info("detailTableData : [{}]",detailTableData); log.debug("detailTableData : [{}]",detailTableData);
//流程表单明细表2数据 //流程表单明细表2数据
List<Map<String, String>> detailTable2 = CommonUtil.getDetailTableInfo(requestInfo,1); List<Map<String, String>> detailTable2 = CommonUtil.getDetailTableInfo(requestInfo,1);
log.info("detailTableData : [{}]",detailTable2); log.debug("detailTableData : [{}]",detailTable2);
//请假人员 //请假人员

@ -31,13 +31,13 @@ public class AskForLeaveWorkFlowSubmitAction implements Action {
// 流程表单主表数据 // 流程表单主表数据
HashMap<String, String> mainTableData = CommonUtil.getMainTableInfo(requestInfo); HashMap<String, String> mainTableData = CommonUtil.getMainTableInfo(requestInfo);
log.info("mainTableData : [{}]", mainTableData); log.debug("mainTableData : [{}]", mainTableData);
// 流程表单明细表1数据 // 流程表单明细表1数据
List<Map<String, String>> detailTableData = CommonUtil.getDetailTableInfo(requestInfo, 0); List<Map<String, String>> detailTableData = CommonUtil.getDetailTableInfo(requestInfo, 0);
log.info("detailTableData : [{}]", detailTableData); log.debug("detailTableData : [{}]", detailTableData);
String detail2TableName = requestInfo.getDetailTableInfo().getDetailTable()[1].getTableDBName(); String detail2TableName = requestInfo.getDetailTableInfo().getDetailTable()[1].getTableDBName();
log.info("detail2TableName : [{}]", detail2TableName); log.debug("detail2TableName : [{}]", detail2TableName);
//请假人员 //请假人员
String qjry = mainTableData.get("qjry"); String qjry = mainTableData.get("qjry");
//实际假期类型 //实际假期类型
@ -201,7 +201,7 @@ public class AskForLeaveWorkFlowSubmitAction implements Action {
if (hsdw.equals(AccountingUnitEnum.HOUR.getKey()) && (cxjqj.equals(AskAndEvctionWayEnum.ALLDAY.getKey()) || cxjqj.equals(AskAndEvctionWayEnum.HALFDAY.getKey()))) { if (hsdw.equals(AccountingUnitEnum.HOUR.getKey()) && (cxjqj.equals(AskAndEvctionWayEnum.ALLDAY.getKey()) || cxjqj.equals(AskAndEvctionWayEnum.HALFDAY.getKey()))) {
leaveDuration = leaveDuration * 8; leaveDuration = leaveDuration * 8;
} }
log.info("leaveDuration : [{}]", leaveDuration); log.debug("leaveDuration : [{}]", leaveDuration);
// List<Map<String, Object>> holidayBalancefilterList = holidayBalanceList.stream().filter(e -> DateUtil.getTime(e.get("yqsxrq").toString()).compareTo(DateUtil.getTime(ksrq)) >= 0).collect(Collectors.toList()); // List<Map<String, Object>> holidayBalancefilterList = holidayBalanceList.stream().filter(e -> DateUtil.getTime(e.get("yqsxrq").toString()).compareTo(DateUtil.getTime(ksrq)) >= 0).collect(Collectors.toList());
for (Map<String, Object> holidayBalance : holidayBalanceList) { for (Map<String, Object> holidayBalance : holidayBalanceList) {
//额定未休时长 //额定未休时长
@ -235,7 +235,7 @@ public class AskForLeaveWorkFlowSubmitAction implements Action {
return Action.FAILURE_AND_CONTINUE; return Action.FAILURE_AND_CONTINUE;
} }
} }
log.info("detailTable2 : [{}]", detailTable2); log.debug("detailTable2 : [{}]", detailTable2);
//更新流程明细表2 //更新流程明细表2
String delteSql = "delete from " + detail2TableName + " where mainid=?"; String delteSql = "delete from " + detail2TableName + " where mainid=?";

@ -34,7 +34,7 @@ public class GetAskForLeaveRecordListCmd extends AbstractCommonCommand<Map<Strin
String businessTripsType = Util.null2String(params.get("businessTripsType")); String businessTripsType = Util.null2String(params.get("businessTripsType"));
String startDate = Util.null2String(params.get("startDate")); String startDate = Util.null2String(params.get("startDate"));
String endDate = Util.null2String(params.get("endDate")); String endDate = Util.null2String(params.get("endDate"));
log.info("targetUserId : {}, businessTripsType : {}, startDate : {}, endDate : {}", targetUserId, businessTripsType, startDate, endDate); log.debug("targetUserId : {}, businessTripsType : {}, startDate : {}, endDate : {}", targetUserId, businessTripsType, startDate, endDate);
String detailSql = "select a.id,a.cxqj,a.ksrq,a.kssj,a.jsrq,a.jssj,a.qjsc,a.qtj,a.btj,a.cxsm from uf_jcl_kq_qjjl_dt1 a left join uf_jcl_kq_qjjl b on a.mainid=b.id where (a.cxqj is null or a.cxqj<>1) and b.qjry =? and a.ksrq >= ? and a.ksrq <= ? and b.jqlx=?"; String detailSql = "select a.id,a.cxqj,a.ksrq,a.kssj,a.jsrq,a.jssj,a.qjsc,a.qtj,a.btj,a.cxsm from uf_jcl_kq_qjjl_dt1 a left join uf_jcl_kq_qjjl b on a.mainid=b.id where (a.cxqj is null or a.cxqj<>1) and b.qjry =? and a.ksrq >= ? and a.ksrq <= ? and b.jqlx=?";
List<Map<String, Object>> detailList = DbTools.getSqlToList(detailSql,targetUserId,startDate,endDate,businessTripsType); List<Map<String, Object>> detailList = DbTools.getSqlToList(detailSql,targetUserId,startDate,endDate,businessTripsType);
@ -43,7 +43,7 @@ public class GetAskForLeaveRecordListCmd extends AbstractCommonCommand<Map<Strin
} else { } else {
retmap.put("result", null); retmap.put("result", null);
} }
log.info("detailList : [{}]", detailList); log.debug("detailList : [{}]", detailList);
return retmap; return retmap;
} }

@ -29,7 +29,7 @@ public class GetEliminationsEvctionListCmd extends AbstractCommonCommand<Map<Str
String businessTripsType = Util.null2String(params.get("businessTripsType")); String businessTripsType = Util.null2String(params.get("businessTripsType"));
String startDate = Util.null2String(params.get("startDate")); String startDate = Util.null2String(params.get("startDate"));
String endDate = Util.null2String(params.get("endDate")); String endDate = Util.null2String(params.get("endDate"));
log.info("targetUserId : {}, businessTripsType : {}, startDate : {}, endDate : {}",targetUserId, businessTripsType, startDate, endDate); log.debug("targetUserId : {}, businessTripsType : {}, startDate : {}, endDate : {}",targetUserId, businessTripsType, startDate, endDate);
String sql = "select * from uf_jcl_kq_qjjl where qjry="+targetUserId; String sql = "select * from uf_jcl_kq_qjjl where qjry="+targetUserId;
if (!businessTripsType.equals("")) { if (!businessTripsType.equals("")) {
sql += " and jqlx = " + businessTripsType; sql += " and jqlx = " + businessTripsType;
@ -40,7 +40,7 @@ public class GetEliminationsEvctionListCmd extends AbstractCommonCommand<Map<Str
if (!endDate.equals("")) { if (!endDate.equals("")) {
sql += " and jsrq <= '" + endDate+"'"; sql += " and jsrq <= '" + endDate+"'";
} }
log.info(sql); log.debug(sql);
List<String> maidList = new ArrayList<>(); List<String> maidList = new ArrayList<>();
if (!targetUserId.equals("")) { if (!targetUserId.equals("")) {
List<Map<String,Object>> datas = DbTools.getSqlToList(sql); List<Map<String,Object>> datas = DbTools.getSqlToList(sql);
@ -50,7 +50,7 @@ public class GetEliminationsEvctionListCmd extends AbstractCommonCommand<Map<Str
}); });
} }
} }
log.info("maidList : [{}]",maidList); log.debug("maidList : [{}]",maidList);
//查询子表数据 //查询子表数据
if (maidList.size() > 0) { if (maidList.size() > 0) {
String detailSql = "select a.id,a.ksrq,a.kssj,a.jsrq,a.jssj,a.qjsc,a.qtj,a.btj,a.cxqj from uf_jcl_kq_qjjl_dt1 a where mainid in ("+String.join(",",maidList)+")"; String detailSql = "select a.id,a.ksrq,a.kssj,a.jsrq,a.jssj,a.qjsc,a.qtj,a.btj,a.cxqj from uf_jcl_kq_qjjl_dt1 a where mainid in ("+String.join(",",maidList)+")";
@ -60,7 +60,7 @@ public class GetEliminationsEvctionListCmd extends AbstractCommonCommand<Map<Str
} else { } else {
retmap.put("result", null); retmap.put("result", null);
} }
log.info("detailList : [{}]",detailList); log.debug("detailList : [{}]",detailList);
} else { } else {
retmap.put("result", null); retmap.put("result", null);
} }

@ -45,11 +45,11 @@ public class GetKqCycleTimeIntervalCmd extends AbstractCommonCommand<Map<String,
yearSet.add(map.get(submitStr).toString().split("-")[0]); yearSet.add(map.get(submitStr).toString().split("-")[0]);
} }
log.info("GetKqCycleTimeIntervalCmd userId:[{}],submitDateList:[{}],submitStr:[{}]",userId,submitDataList,submitStr); log.debug("GetKqCycleTimeIntervalCmd userId:[{}],submitDateList:[{}],submitStr:[{}]",userId,submitDataList,submitStr);
String modeId = Utils.getFormmodeIdMap().get("uf_jcl_kq_kqzqmc"); String modeId = Utils.getFormmodeIdMap().get("uf_jcl_kq_kqzqmc");
Set<String> attendanceSetIdsSets = CommonUtil.getDataIds(userId,modeId,null,null); Set<String> attendanceSetIdsSets = CommonUtil.getDataIds(userId,modeId,null,null);
log.info("attendanceSetIdsSets : {}",attendanceSetIdsSets); log.debug("attendanceSetIdsSets : {}",attendanceSetIdsSets);
if (attendanceSetIdsSets.size() == 0){ if (attendanceSetIdsSets.size() == 0){
//取默认周期 //取默认周期
String sql = "select id from uf_jcl_kq_kqzqmc where mrzq=1"; String sql = "select id from uf_jcl_kq_kqzqmc where mrzq=1";
@ -71,7 +71,7 @@ public class GetKqCycleTimeIntervalCmd extends AbstractCommonCommand<Map<String,
try { try {
pdeptids = new DepartmentComInfo().getAllParentDepartId(Util.null2String(departMentMap.get("departmentid")), pdeptids); pdeptids = new DepartmentComInfo().getAllParentDepartId(Util.null2String(departMentMap.get("departmentid")), pdeptids);
pdeptids = deptid + pdeptids; pdeptids = deptid + pdeptids;
log.info("pdeptids : [{}]",pdeptids); log.debug("pdeptids : [{}]",pdeptids);
sql = "select a.zt,a.ksrq,a.jsrq,a.gzrq,a.gzsj,b.zt dtzt,b.tsbm,b.gzrq dtgzrq,b.gzsj dtgzsj from uf_jcl_kq_kqzq a left join uf_jcl_kq_kqzq_dt1 b on a.id=b.mainid where a.mc=? and a.nd in ("+String.join(",",yearSet)+")"; sql = "select a.zt,a.ksrq,a.jsrq,a.gzrq,a.gzsj,b.zt dtzt,b.tsbm,b.gzrq dtgzrq,b.gzsj dtgzsj from uf_jcl_kq_kqzq a left join uf_jcl_kq_kqzq_dt1 b on a.id=b.mainid where a.mc=? and a.nd in ("+String.join(",",yearSet)+")";
if (attendanceSetIdsSets.toArray().length == 0){ if (attendanceSetIdsSets.toArray().length == 0){
@ -79,12 +79,12 @@ public class GetKqCycleTimeIntervalCmd extends AbstractCommonCommand<Map<String,
return resultMap; return resultMap;
} }
List<Map<String,Object>> list = DbTools.getSqlToList(sql,attendanceSetIdsSets.toArray()[0]); List<Map<String,Object>> list = DbTools.getSqlToList(sql,attendanceSetIdsSets.toArray()[0]);
log.info("GetKqCycleTimeIntervalCmd list : [{}]",list); log.debug("GetKqCycleTimeIntervalCmd list : [{}]",list);
for (Map<String,Object> detailData:submitDataList){ for (Map<String,Object> detailData:submitDataList){
String ksrq = Util.null2String(detailData.get(submitStr)).split(" ")[0]; String ksrq = Util.null2String(detailData.get(submitStr)).split(" ")[0];
List<Map<String,Object>> cycleTime = list.stream().filter(e->DateUtil.getTime(e.get("ksrq").toString()).compareTo(DateUtil.getTime(ksrq)) <= 0 && List<Map<String,Object>> cycleTime = list.stream().filter(e->DateUtil.getTime(e.get("ksrq").toString()).compareTo(DateUtil.getTime(ksrq)) <= 0 &&
DateUtil.getTime(e.get("jsrq").toString()).compareTo(DateUtil.getTime(ksrq)) >=0).collect(Collectors.toList()); DateUtil.getTime(e.get("jsrq").toString()).compareTo(DateUtil.getTime(ksrq)) >=0).collect(Collectors.toList());
log.info("数据业务日期:[{}],周期数据:[{}]",ksrq,cycleTime); log.debug("数据业务日期:[{}],周期数据:[{}]",ksrq,cycleTime);
if (cycleTime.size() > 0){ if (cycleTime.size() > 0){
Map<String,Object> date = Maps.newHashMap(); Map<String,Object> date = Maps.newHashMap();
date.put("startDate",cycleTime.get(0).get("ksrq")); date.put("startDate",cycleTime.get(0).get("ksrq"));
@ -126,8 +126,8 @@ public class GetKqCycleTimeIntervalCmd extends AbstractCommonCommand<Map<String,
}catch (Exception e){ }catch (Exception e){
log.error("catch error :{}",e); log.error("catch error :{}",e);
} }
log.info("GetKqCycleTimeIntervalCmd closeList : [{}]",closeList); log.debug("GetKqCycleTimeIntervalCmd closeList : [{}]",closeList);
log.info("GetKqCycleTimeIntervalCmd nocycleList : [{}]",nocycleList); log.debug("GetKqCycleTimeIntervalCmd nocycleList : [{}]",nocycleList);
resultMap.put("closeList",closeList); resultMap.put("closeList",closeList);
resultMap.put("nocycleList",nocycleList); resultMap.put("nocycleList",nocycleList);

@ -64,7 +64,7 @@ public class AskForLeaveServiceImpl extends Service implements AskForLeaveServic
for (Map<String, String> detail:detailTableData){ for (Map<String, String> detail:detailTableData){
String ksrq = detail.get("ksrq"); String ksrq = detail.get("ksrq");
List<Map<String,Object>> list = holidayBalanceList.stream().filter(e-> DateUtil.getTime(e.get("yqsxrq").toString()).compareTo(DateUtil.getTime(ksrq))>=0).collect(Collectors.toList()); List<Map<String,Object>> list = holidayBalanceList.stream().filter(e-> DateUtil.getTime(e.get("yqsxrq").toString()).compareTo(DateUtil.getTime(ksrq))>=0).collect(Collectors.toList());
log.info("ksrq : [{}], list : [{}]",ksrq,list); log.debug("ksrq : [{}], list : [{}]",ksrq,list);
double totalUnearnedLeave = list.stream().mapToDouble(e->Double.valueOf(e.get("wxsc").toString())).sum(); double totalUnearnedLeave = list.stream().mapToDouble(e->Double.valueOf(e.get("wxsc").toString())).sum();
if (totalUnearnedLeave == 0){ if (totalUnearnedLeave == 0){
List<Map<String,String>> details = (List<Map<String,String>>)useItemMap.get(holidayItem.get("id")); List<Map<String,String>> details = (List<Map<String,String>>)useItemMap.get(holidayItem.get("id"));

@ -27,7 +27,7 @@ public class BusinessTripsApplyServiceImpl extends Service implements BusinessTr
String businessTripsType = Util.null2String(params.get("businessTripsType")); String businessTripsType = Util.null2String(params.get("businessTripsType"));
String startDate = Util.null2String(params.get("startDate")); String startDate = Util.null2String(params.get("startDate"));
String endDate = Util.null2String(params.get("endDate")); String endDate = Util.null2String(params.get("endDate"));
log.info("targetUserId : {}, businessTripsType : {}, startDate : {}, endDate : {}", targetUserId, businessTripsType, startDate, endDate); log.debug("targetUserId : {}, businessTripsType : {}, startDate : {}, endDate : {}", targetUserId, businessTripsType, startDate, endDate);
//查询子表数据 //查询子表数据
String detailSql = "select a.id,a.cxcc,a.ksrq,a.kssj,a.jsrq,a.jssj,a.ccsc,a.qtcc,a.btcc,a.cxsm from uf_jcl_kq_ccjl_dt1 a left join uf_jcl_kq_ccjl b on a.mainid=b.id where (a.cxcc is null or a.cxcc<>1) and a.ccr =? and a.ksrq >= ? and a.ksrq <= ? and b.cclx=?"; String detailSql = "select a.id,a.cxcc,a.ksrq,a.kssj,a.jsrq,a.jssj,a.ccsc,a.qtcc,a.btcc,a.cxsm from uf_jcl_kq_ccjl_dt1 a left join uf_jcl_kq_ccjl b on a.mainid=b.id where (a.cxcc is null or a.cxcc<>1) and a.ccr =? and a.ksrq >= ? and a.ksrq <= ? and b.cclx=?";
@ -37,7 +37,7 @@ public class BusinessTripsApplyServiceImpl extends Service implements BusinessTr
} else { } else {
retmap.put("result", null); retmap.put("result", null);
} }
log.info("detailList : [{}]", detailList); log.debug("detailList : [{}]", detailList);
return retmap; return retmap;
} }

@ -29,7 +29,7 @@ public class ProcessSubmitCheckServiceImpl extends Service implements ProcessSub
resultMap.put("result","0"); resultMap.put("result","0");
Set<String> attendanceSetIdsSets = CommonUtil.getDataIds(userId,modeId,null,null); Set<String> attendanceSetIdsSets = CommonUtil.getDataIds(userId,modeId,null,null);
log.info("attendanceSetIdsSets : {}",attendanceSetIdsSets); log.debug("attendanceSetIdsSets : {}",attendanceSetIdsSets);
for (String submitDate:submitDates.split(",")){ for (String submitDate:submitDates.split(",")){
LocalDateTime localDateTime = DateUtil.getTime(submitDate); LocalDateTime localDateTime = DateUtil.getTime(submitDate);
int year = localDateTime.getYear(); int year = localDateTime.getYear();
@ -41,7 +41,7 @@ public class ProcessSubmitCheckServiceImpl extends Service implements ProcessSub
try { try {
pdeptids = new DepartmentComInfo().getAllParentDepartId(Util.null2String(departMentMap.get("departmentid")), pdeptids); pdeptids = new DepartmentComInfo().getAllParentDepartId(Util.null2String(departMentMap.get("departmentid")), pdeptids);
pdeptids = deptid + pdeptids; pdeptids = deptid + pdeptids;
log.info("pdeptids : [{}]",pdeptids); log.debug("pdeptids : [{}]",pdeptids);
sql = "select a.zt,a.ksrq,a.gzrq,a.gzsj,b.zt dtzt,b.tsbm,b.gzrq dtgzrq,b.gzsj dtgzsj from uf_jcl_kq_kqzq a left join uf_jcl_kq_kqzq_dt1 b on a.id=b.mainid where a.nd=? and a.mc=? and a.yf=?"; sql = "select a.zt,a.ksrq,a.gzrq,a.gzsj,b.zt dtzt,b.tsbm,b.gzrq dtgzrq,b.gzsj dtgzsj from uf_jcl_kq_kqzq a left join uf_jcl_kq_kqzq_dt1 b on a.id=b.mainid where a.nd=? and a.mc=? and a.yf=?";
if (attendanceSetIdsSets.toArray().length > 0){ if (attendanceSetIdsSets.toArray().length > 0){
List<Map<String,Object>> list = DbTools.getSqlToList(sql,year,attendanceSetIdsSets.toArray()[0],month); List<Map<String,Object>> list = DbTools.getSqlToList(sql,year,attendanceSetIdsSets.toArray()[0],month);

@ -133,16 +133,16 @@ public class GetPersonDateBySuitOrganzation extends AbstractCommonCommand<Map<St
List<Map<String,Object>> hrmListByDepartAndSubCompanyIds = DbTools.getSqlToList(sql); List<Map<String,Object>> hrmListByDepartAndSubCompanyIds = DbTools.getSqlToList(sql);
//部门id-人员id集合 //部门id-人员id集合
Map<String,List<Map<String,Object>>> hrmListGroupByDepart = hrmListByDepartAndSubCompanyIds.stream().collect(Collectors.groupingBy(e->Util.null2String(e.get("departmentid")))); Map<String,List<Map<String,Object>>> hrmListGroupByDepart = hrmListByDepartAndSubCompanyIds.stream().collect(Collectors.groupingBy(e->Util.null2String(e.get("departmentid"))));
log.info("hrmListGroupByDepart : [{}]",hrmListGroupByDepart); log.debug("hrmListGroupByDepart : [{}]",hrmListGroupByDepart);
//分部id-人员id集合 //分部id-人员id集合
Map<String,List<Map<String,Object>>> hrmListGroupBySubCompany = hrmListByDepartAndSubCompanyIds.stream().collect(Collectors.groupingBy(e->Util.null2String(e.get("subcompanyid1")))); Map<String,List<Map<String,Object>>> hrmListGroupBySubCompany = hrmListByDepartAndSubCompanyIds.stream().collect(Collectors.groupingBy(e->Util.null2String(e.get("subcompanyid1"))));
log.info("hrmListGroupBySubCompany : [{}]",hrmListGroupBySubCompany); log.debug("hrmListGroupBySubCompany : [{}]",hrmListGroupBySubCompany);
//人员分组id-人员id集合 //人员分组id-人员id集合
if (personOrganzationIds.size() >0){ if (personOrganzationIds.size() >0){
//人员分组id-假别假期规则id //人员分组id-假别假期规则id
Map<String,Set<String>> personGroupUserIds = getPersonGroupUserIds(personOrganzationIds); Map<String,Set<String>> personGroupUserIds = getPersonGroupUserIds(personOrganzationIds);
log.info("personGroupUserIds : [{}]",personGroupUserIds); log.debug("personGroupUserIds : [{}]",personGroupUserIds);
log.info("personOrganzationMap : [{}]",personOrganzationMap); log.debug("personOrganzationMap : [{}]",personOrganzationMap);
for (Map.Entry<String,Object> entry : personOrganzationMap.entrySet()){ for (Map.Entry<String,Object> entry : personOrganzationMap.entrySet()){
String personGroupId = entry.getKey(); String personGroupId = entry.getKey();
//人员分组假别假期规则id //人员分组假别假期规则id
@ -165,9 +165,9 @@ public class GetPersonDateBySuitOrganzation extends AbstractCommonCommand<Map<St
} }
} }
log.info("before personMap : [{}]",personMap); log.debug("before personMap : [{}]",personMap);
//部门id //部门id
log.info("departMentMap : [{}]",departMentMap); log.debug("departMentMap : [{}]",departMentMap);
for (Map.Entry<String,Object> entry : departMentMap.entrySet()){ for (Map.Entry<String,Object> entry : departMentMap.entrySet()){
String departMentId = entry.getKey(); String departMentId = entry.getKey();
//部门假别假期规则id //部门假别假期规则id
@ -190,7 +190,7 @@ public class GetPersonDateBySuitOrganzation extends AbstractCommonCommand<Map<St
} }
} }
//分部id //分部id
log.info("subCompanyMap : [{}]",subCompanyMap); log.debug("subCompanyMap : [{}]",subCompanyMap);
for (Map.Entry<String,Object> entry : subCompanyMap.entrySet()){ for (Map.Entry<String,Object> entry : subCompanyMap.entrySet()){
String subCompanyId = entry.getKey(); String subCompanyId = entry.getKey();
//分部假别假期规则id //分部假别假期规则id
@ -212,7 +212,7 @@ public class GetPersonDateBySuitOrganzation extends AbstractCommonCommand<Map<St
} }
} }
} }
log.info("personMap : [{}]",personMap); log.debug("personMap : [{}]",personMap);
Map<String,Object> newpersonMap = Maps.newHashMap(); Map<String,Object> newpersonMap = Maps.newHashMap();
for (Map.Entry<String,Object> entry :personMap.entrySet()){ for (Map.Entry<String,Object> entry :personMap.entrySet()){
String userId = entry.getKey(); String userId = entry.getKey();
@ -267,7 +267,7 @@ public class GetPersonDateBySuitOrganzation extends AbstractCommonCommand<Map<St
}else { }else {
sql = sql+ " and "+filters; sql = sql+ " and "+filters;
} }
log.info("getPersonnelGroupingByPerson filter sql : {}",sql); log.debug("getPersonnelGroupingByPerson filter sql : {}",sql);
List<Map<String,Object>> dataList = DbTools.getSqlToList(sql); List<Map<String,Object>> dataList = DbTools.getSqlToList(sql);
for (Map<String,Object> dataMap :dataList){ for (Map<String,Object> dataMap :dataList){
String hrmId = Util.null2String(dataMap.get("id")); String hrmId = Util.null2String(dataMap.get("id"));

@ -44,8 +44,8 @@ public class QueryCommonCmd extends AbstractCommonCommand<Map<String,Object>> {
conditionSql = conditionSql.substring(0,conditionSql.length()-3); conditionSql = conditionSql.substring(0,conditionSql.length()-3);
sentenceSql = sentenceSql +" where "+ conditionSql; sentenceSql = sentenceSql +" where "+ conditionSql;
} }
log.info("sql : [{}]",sentenceSql); log.debug("sql : [{}]",sentenceSql);
log.info("objs : [{}]",objs); log.debug("objs : [{}]",objs);
List<Map<String,Object>> lists = DbTools.getSqlToList(sentenceSql,objs); List<Map<String,Object>> lists = DbTools.getSqlToList(sentenceSql,objs);
resultMap.put("data",lists); resultMap.put("data",lists);

@ -23,7 +23,7 @@ public class CommonServiceImpl extends Service implements CommonService {
@Override @Override
public Map<String, Object> updateCommon(Map<String, Object> param) { public Map<String, Object> updateCommon(Map<String, Object> param) {
Map<String, Object> result = new HashMap<>(); Map<String, Object> result = new HashMap<>();
log.info("updateCommon param:[{}]",param); log.debug("updateCommon param:[{}]",param);
result.put("result", DbTools.update(CommonUtil.makeUpdateSql(Util.null2String(param.get("tableName")),Utils.resolveMap(Util.null2String(param.get("data"))),Utils.resolveMap(Util.null2String(param.get("condition")))))); result.put("result", DbTools.update(CommonUtil.makeUpdateSql(Util.null2String(param.get("tableName")),Utils.resolveMap(Util.null2String(param.get("data"))),Utils.resolveMap(Util.null2String(param.get("condition"))))));
return result; return result;
} }
@ -31,7 +31,7 @@ public class CommonServiceImpl extends Service implements CommonService {
@Override @Override
public Map<String, Object> insertCommon(Map<String, Object> param) { public Map<String, Object> insertCommon(Map<String, Object> param) {
Map<String, Object> result = new HashMap<>(); Map<String, Object> result = new HashMap<>();
log.info("insertCommon param:[{}]",param); log.debug("insertCommon param:[{}]",param);
Map<String,Object> params = Utils.resolveMap(Util.null2String(param.get("params"))); Map<String,Object> params = Utils.resolveMap(Util.null2String(param.get("params")));
String tableName = Util.null2String(params.get("tableName")); String tableName = Util.null2String(params.get("tableName"));
params.remove("tableName"); params.remove("tableName");

@ -1,9 +1,11 @@
package com.engine.common.util; package com.engine.common.util;
import com.engine.attendance.attendanceanalysis.cmd.getclockInpoint.AdjustClockPointAction;
import com.engine.attendance.component.persongroup.commonutil.PersongroupCommonUtil; import com.engine.attendance.component.persongroup.commonutil.PersongroupCommonUtil;
import com.engine.attendance.enums.ApplicableOrganizationEnum; import com.engine.attendance.enums.ApplicableOrganizationEnum;
import com.engine.attendance.enums.CheckBoxEnum; import com.engine.attendance.enums.CheckBoxEnum;
import com.engine.attendance.enums.PersonGroupListTypeEnum; import com.engine.attendance.enums.PersonGroupListTypeEnum;
import com.engine.common.exception.AttendanceRunTimeException;
import com.google.common.collect.Maps; import com.google.common.collect.Maps;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.google.common.collect.Sets; import com.google.common.collect.Sets;
@ -49,8 +51,8 @@ public class CommonUtil {
key = key.substring(0,key.length()-1) + ")"; key = key.substring(0,key.length()-1) + ")";
value = value.substring(0,value.length()-1)+")"; value = value.substring(0,value.length()-1)+")";
insertSql = insertSql + key +" values "+value; insertSql = insertSql + key +" values "+value;
log.info("makeInsertSql : [{}]",insertSql); log.debug("makeInsertSql : [{}]",insertSql);
log.info("needInsertDate: [{}]",dataList); log.debug("needInsertDate: [{}]",dataList);
return DbTools.update(insertSql,dataList); return DbTools.update(insertSql,dataList);
} }
@ -72,7 +74,7 @@ public class CommonUtil {
for (Map.Entry<String,Object> e : condition.entrySet()){ for (Map.Entry<String,Object> e : condition.entrySet()){
updateSql = updateSql + " and "+ e.getKey()+"='"+e.getValue()+"'"; updateSql = updateSql + " and "+ e.getKey()+"='"+e.getValue()+"'";
} }
log.info("makeUpdateSql : [{}]",updateSql); log.debug("makeUpdateSql : [{}]",updateSql);
return updateSql; return updateSql;
@ -95,7 +97,7 @@ public class CommonUtil {
key = key.substring(0,key.length()-1) + ")"; key = key.substring(0,key.length()-1) + ")";
value = value.substring(0,value.length()-1)+")"; value = value.substring(0,value.length()-1)+")";
sql = sql + key +" values "+value; sql = sql + key +" values "+value;
log.info("insertBatch sql :"+sql); log.debug("insertBatch sql :"+sql);
List<List> insertDataList = Lists.newArrayList(); List<List> insertDataList = Lists.newArrayList();
for (Map<String,Object> dataMap : dataList){ for (Map<String,Object> dataMap : dataList){
ArrayList<Object> list = new ArrayList<>(); ArrayList<Object> list = new ArrayList<>();
@ -104,7 +106,7 @@ public class CommonUtil {
} }
insertDataList.add(list); insertDataList.add(list);
} }
log.info("insertBatch : [{}]",insertDataList); log.debug("insertBatch : [{}]",insertDataList);
return DbTools.updateBatch(sql,insertDataList); return DbTools.updateBatch(sql,insertDataList);
} }
@ -144,10 +146,10 @@ public class CommonUtil {
if (personGroupOrganizationList != null && dataIds.size() ==0){ if (personGroupOrganizationList != null && dataIds.size() ==0){
Set<String> personGroupIds = personGroupOrganizationList.stream().map(e -> Util.null2String(e.get("dx")).split("-")[0]).collect(Collectors.toSet()); Set<String> personGroupIds = personGroupOrganizationList.stream().map(e -> Util.null2String(e.get("dx")).split("-")[0]).collect(Collectors.toSet());
sql = "select mainid,empid,filters,bdate,edate from uf_ryqz_dt1 where mainid in ("+String.join(",",personGroupIds)+")"; sql = "select mainid,empid,filters,bdate,edate from uf_ryqz_dt1 where mainid in ("+String.join(",",personGroupIds)+")";
log.info("query personGroupData : {}",sql); log.debug("query personGroupData : {}",sql);
List<Map<String,Object>> personGroupData = DbTools.getSqlToList(sql); List<Map<String,Object>> personGroupData = DbTools.getSqlToList(sql);
Set<String> personnelGroupIds = PersongroupCommonUtil.getPersonnelGroupingByPerson(personGroupData,resourceId,startDate,endDate); Set<String> personnelGroupIds = PersongroupCommonUtil.getPersonnelGroupingByPerson(personGroupData,resourceId,startDate,endDate);
log.info("personnelGroupIds : {}",personnelGroupIds); log.debug("personnelGroupIds : {}",personnelGroupIds);
for (Map<String,Object> personGroupOrganization :personGroupOrganizationList){ for (Map<String,Object> personGroupOrganization :personGroupOrganizationList){
String personnelGroupId = Util.null2String(personGroupOrganization.get("dx")).split("-")[0]; String personnelGroupId = Util.null2String(personGroupOrganization.get("dx")).split("-")[0];
if (personnelGroupIds.contains(personnelGroupId)){ if (personnelGroupIds.contains(personnelGroupId)){
@ -161,7 +163,7 @@ public class CommonUtil {
String pdeptids = ""; String pdeptids = "";
pdeptids = new DepartmentComInfo().getAllParentDepartId(Util.null2String(departMentMap.get("departmentid")), pdeptids); pdeptids = new DepartmentComInfo().getAllParentDepartId(Util.null2String(departMentMap.get("departmentid")), pdeptids);
pdeptids = deptid + pdeptids; pdeptids = deptid + pdeptids;
log.info("pdeptids : [{}]",pdeptids); log.debug("pdeptids : [{}]",pdeptids);
for (Map<String,Object> departmentOrganization :departmentOrganizationList){ for (Map<String,Object> departmentOrganization :departmentOrganizationList){
String dx = Util.null2String(departmentOrganization.get("dx")); String dx = Util.null2String(departmentOrganization.get("dx"));
String ids = dx.split("-")[0]; String ids = dx.split("-")[0];
@ -187,7 +189,7 @@ public class CommonUtil {
} }
log.info("dataIds : {}",dataIds); log.debug("dataIds : {}",dataIds);
return dataIds; return dataIds;
} }
@ -229,10 +231,10 @@ public class CommonUtil {
if (personGroupOrganizationList != null){ if (personGroupOrganizationList != null){
Set<String> personGroupIds = personGroupOrganizationList.stream().map(e -> Util.null2String(e.get("dx")).split("-")[0]).collect(Collectors.toSet()); Set<String> personGroupIds = personGroupOrganizationList.stream().map(e -> Util.null2String(e.get("dx")).split("-")[0]).collect(Collectors.toSet());
sql = "select mainid,empid,filters,bdate,edate from uf_ryqz_dt1 where mainid in ("+String.join(",",personGroupIds)+")"; sql = "select mainid,empid,filters,bdate,edate from uf_ryqz_dt1 where mainid in ("+String.join(",",personGroupIds)+")";
log.info("query personGroupData : {}",sql); log.debug("query personGroupData : {}",sql);
List<Map<String,Object>> personGroupData = DbTools.getSqlToList(sql); List<Map<String,Object>> personGroupData = DbTools.getSqlToList(sql);
Set<String> personnelGroupIds = PersongroupCommonUtil.getPersonnelGroupingByPerson(personGroupData,resourceId,startDate,endDate); Set<String> personnelGroupIds = PersongroupCommonUtil.getPersonnelGroupingByPerson(personGroupData,resourceId,startDate,endDate);
log.info("personnelGroupIds : {}",personnelGroupIds); log.debug("personnelGroupIds : {}",personnelGroupIds);
for (Map<String,Object> personGroupOrganization :personGroupOrganizationList){ for (Map<String,Object> personGroupOrganization :personGroupOrganizationList){
String personnelGroupId = Util.null2String(personGroupOrganization.get("dx")).split("-")[0]; String personnelGroupId = Util.null2String(personGroupOrganization.get("dx")).split("-")[0];
if (personnelGroupIds.contains(personnelGroupId)){ if (personnelGroupIds.contains(personnelGroupId)){
@ -246,7 +248,7 @@ public class CommonUtil {
String pdeptids = ""; String pdeptids = "";
pdeptids = new DepartmentComInfo().getAllParentDepartId(Util.null2String(departMentMap.get("departmentid")), pdeptids); pdeptids = new DepartmentComInfo().getAllParentDepartId(Util.null2String(departMentMap.get("departmentid")), pdeptids);
pdeptids = deptid + pdeptids; pdeptids = deptid + pdeptids;
log.info("pdeptids : [{}]",pdeptids); log.debug("pdeptids : [{}]",pdeptids);
for (Map<String,Object> departmentOrganization :departmentOrganizationList){ for (Map<String,Object> departmentOrganization :departmentOrganizationList){
String dx = Util.null2String(departmentOrganization.get("dx")); String dx = Util.null2String(departmentOrganization.get("dx"));
String ids = dx.split("-")[0]; String ids = dx.split("-")[0];
@ -272,7 +274,7 @@ public class CommonUtil {
} }
log.info("dataIds : {}",dataIds); log.debug("dataIds : {}",dataIds);
return dataIds; return dataIds;
} }
@ -315,7 +317,7 @@ public class CommonUtil {
DetailTable[] detailtables = request.getDetailTableInfo().getDetailTable();// 获取明细表数据 DetailTable[] detailtables = request.getDetailTableInfo().getDetailTable();// 获取明细表数据
if (detailtables.length > index) { if (detailtables.length > index) {
DetailTable dt = detailtables[index];// 获取明细表 0代表明细表1 DetailTable dt = detailtables[index];// 获取明细表 0代表明细表1
log.info("getDetailTableInfo :[{}]",dt.getTableDBName()); log.debug("getDetailTableInfo :[{}]",dt.getTableDBName());
Row[] rows = dt.getRow();// 获取明细表中所有行的信息 Row[] rows = dt.getRow();// 获取明细表中所有行的信息
for (int i = 0; i < rows.length; i++) { for (int i = 0; i < rows.length; i++) {
Row row = rows[i];// 获取具体行信息 Row row = rows[i];// 获取具体行信息
@ -388,7 +390,7 @@ public class CommonUtil {
} }
} }
//人员类型 //人员类型
log.info("empIdInfos : " + empIdInfos); log.debug("empIdInfos : " + empIdInfos);
for (Map<String, String> map : empIdInfos) { for (Map<String, String> map : empIdInfos) {
String id = map.get("id"); String id = map.get("id");
String minSecurityLevel = map.get("minSecurityLevel"); String minSecurityLevel = map.get("minSecurityLevel");
@ -402,20 +404,20 @@ public class CommonUtil {
querySql = querySql + " and seclevel <= " +maxSecurityLevel; querySql = querySql + " and seclevel <= " +maxSecurityLevel;
} }
Map<String,Object> data = DbTools.getSqlToMap(querySql); Map<String,Object> data = DbTools.getSqlToMap(querySql);
log.info("querySql : " + querySql); log.debug("querySql : " + querySql);
if (data.size() > 0) { if (data.size() > 0) {
empIdList.add(id); empIdList.add(id);
} }
} }
//人员分组类型 //人员分组类型
log.info("empGroupIdInfos : " + empGroupIdInfos); log.debug("empGroupIdInfos : " + empGroupIdInfos);
for (Map<String, String> map : empGroupIdInfos) { for (Map<String, String> map : empGroupIdInfos) {
String id = map.get("id"); String id = map.get("id");
String minSecurityLevel = map.get("minSecurityLevel"); String minSecurityLevel = map.get("minSecurityLevel");
String maxSecurityLevel = map.get("maxSecurityLevel"); String maxSecurityLevel = map.get("maxSecurityLevel");
//获取分组包含人员id //获取分组包含人员id
Set<String> empIdsByGroup = getEmpGroupUserIds(id); Set<String> empIdsByGroup = getEmpGroupUserIds(id);
log.info("empGroupId : " + id + ", empIdsByGroup : " + empIdsByGroup); log.debug("empGroupId : " + id + ", empIdsByGroup : " + empIdsByGroup);
//查询目标人员信息 //查询目标人员信息
if (empIdsByGroup.size() > 0) { if (empIdsByGroup.size() > 0) {
String querySql = "select * from hrmresource where id in ("+String.join(",",empIdsByGroup)+")"; String querySql = "select * from hrmresource where id in ("+String.join(",",empIdsByGroup)+")";
@ -426,15 +428,15 @@ public class CommonUtil {
querySql = querySql + " and seclevel <= " +maxSecurityLevel; querySql = querySql + " and seclevel <= " +maxSecurityLevel;
} }
List<Map<String,Object>> datas = DbTools.getSqlToListKeySmallLetter(querySql); List<Map<String,Object>> datas = DbTools.getSqlToListKeySmallLetter(querySql);
log.info("querySql : " + querySql); log.debug("querySql : " + querySql);
if (datas.size() > 0) { if (datas.size() > 0) {
log.info("datas.size : " + datas.size()); log.debug("datas.size : " + datas.size());
datas.forEach(f -> empIdList.add(f.get("id").toString())); datas.forEach(f -> empIdList.add(f.get("id").toString()));
} }
} }
} }
//部门类型 //部门类型
log.info("depIdInfos : " + depIdInfos); log.debug("depIdInfos : " + depIdInfos);
for (Map<String, String> map : depIdInfos) { for (Map<String, String> map : depIdInfos) {
String id = map.get("id"); String id = map.get("id");
String minSecurityLevel = map.get("minSecurityLevel"); String minSecurityLevel = map.get("minSecurityLevel");
@ -448,14 +450,14 @@ public class CommonUtil {
querySql = querySql + " and seclevel <= " +maxSecurityLevel; querySql = querySql + " and seclevel <= " +maxSecurityLevel;
} }
List<Map<String,Object>> datas = DbTools.getSqlToListKeySmallLetter(querySql); List<Map<String,Object>> datas = DbTools.getSqlToListKeySmallLetter(querySql);
log.info("querySql : " + querySql); log.debug("querySql : " + querySql);
if (datas.size() > 0) { if (datas.size() > 0) {
log.info("datas.size : " + datas.size()); log.debug("datas.size : " + datas.size());
datas.forEach(f -> empIdList.add(f.get("id").toString())); datas.forEach(f -> empIdList.add(f.get("id").toString()));
} }
} }
//分部类型 //分部类型
log.info("subCompanyIdInfos : " + subCompanyIdInfos); log.debug("subCompanyIdInfos : " + subCompanyIdInfos);
for (Map<String, String> map : subCompanyIdInfos) { for (Map<String, String> map : subCompanyIdInfos) {
String id = map.get("id"); String id = map.get("id");
String minSecurityLevel = map.get("minSecurityLevel"); String minSecurityLevel = map.get("minSecurityLevel");
@ -469,9 +471,9 @@ public class CommonUtil {
querySql = querySql + " and seclevel <= " +maxSecurityLevel; querySql = querySql + " and seclevel <= " +maxSecurityLevel;
} }
List<Map<String,Object>> datas = DbTools.getSqlToListKeySmallLetter(querySql); List<Map<String,Object>> datas = DbTools.getSqlToListKeySmallLetter(querySql);
log.info("querySql : " + querySql); log.debug("querySql : " + querySql);
if (datas.size() > 0) { if (datas.size() > 0) {
log.info("datas.size : " + datas.size()); log.debug("datas.size : " + datas.size());
datas.forEach(f -> empIdList.add(f.get("id").toString())); datas.forEach(f -> empIdList.add(f.get("id").toString()));
} }
} }
@ -509,7 +511,7 @@ public class CommonUtil {
}else { }else {
sql = sql+ " and "+filters; sql = sql+ " and "+filters;
} }
log.info("getPersonnelGroupingByPerson filter sql : {}",sql); log.debug("getPersonnelGroupingByPerson filter sql : {}",sql);
List<Map<String,Object>> dataList = DbTools.getSqlToListKeySmallLetter(sql); List<Map<String,Object>> dataList = DbTools.getSqlToListKeySmallLetter(sql);
for (Map<String,Object> dataMap :dataList){ for (Map<String,Object> dataMap :dataList){
String hrmId = Util.null2String(dataMap.get("id")); String hrmId = Util.null2String(dataMap.get("id"));
@ -559,7 +561,7 @@ public class CommonUtil {
}else { }else {
sql = sql+ " and "+filters; sql = sql+ " and "+filters;
} }
log.info("getPersonnelGroupingByPerson filter sql : {}",sql); log.debug("getPersonnelGroupingByPerson filter sql : {}",sql);
List<Map<String,Object>> dataList = DbTools.getSqlToListKeySmallLetter(sql); List<Map<String,Object>> dataList = DbTools.getSqlToListKeySmallLetter(sql);
for (Map<String,Object> dataMap :dataList){ for (Map<String,Object> dataMap :dataList){
String hrmId = Util.null2String(dataMap.get("id")); String hrmId = Util.null2String(dataMap.get("id"));
@ -619,7 +621,7 @@ public class CommonUtil {
public static String getRqlx(String userId,String date){ public static String getRqlx(String userId,String date){
String modeId = Utils.getFormmodeIdMap().get("uf_jcl_kq_rlmc"); String modeId = Utils.getFormmodeIdMap().get("uf_jcl_kq_rlmc");
Set<String> calendarSetIdsSets = CommonUtil.getDataIds(userId,modeId,DateUtil.getCurrentDate(),DateUtil.getCurrentDate()); Set<String> calendarSetIdsSets = CommonUtil.getDataIds(userId,modeId,DateUtil.getCurrentDate(),DateUtil.getCurrentDate());
log.info("getRqlx calendarSetIdsSets : [{}]",calendarSetIdsSets); log.debug("getRqlx calendarSetIdsSets : [{}]",calendarSetIdsSets);
String rqlx = ""; String rqlx = "";
if (calendarSetIdsSets.size() > 0){ if (calendarSetIdsSets.size() > 0){
String sql = "select rqlx from uf_jcl_kq_rlxx where rlmc=? and rq=?"; String sql = "select rqlx from uf_jcl_kq_rlxx where rlmc=? and rq=?";
@ -650,7 +652,7 @@ public class CommonUtil {
public static List<Map<String,Object>> getYearCalendarList(String userId,String year){ public static List<Map<String,Object>> getYearCalendarList(String userId,String year){
String modeId = Utils.getFormmodeIdMap().get("uf_jcl_kq_rlmc"); String modeId = Utils.getFormmodeIdMap().get("uf_jcl_kq_rlmc");
Set<String> calendarSetIdsSets = CommonUtil.getDataIds(userId,modeId,DateUtil.getCurrentDate(),DateUtil.getCurrentDate()); Set<String> calendarSetIdsSets = CommonUtil.getDataIds(userId,modeId,DateUtil.getCurrentDate(),DateUtil.getCurrentDate());
log.info("getRqlx calendarSetIdsSets : [{}]",calendarSetIdsSets); log.debug("getRqlx calendarSetIdsSets : [{}]",calendarSetIdsSets);
List<Map<String,Object>> resultList = Lists.newArrayList(); List<Map<String,Object>> resultList = Lists.newArrayList();
if (calendarSetIdsSets.size() > 0){ if (calendarSetIdsSets.size() > 0){
String sql = "select rqlx,rq from uf_jcl_kq_rlxx where rlmc=? and nd=?"; String sql = "select rqlx,rq from uf_jcl_kq_rlxx where rlmc=? and nd=?";
@ -741,4 +743,28 @@ public class CommonUtil {
} }
return resultMap; return resultMap;
} }
/**
*
*/
public static void initExtensionClassHolder(){
String sql = "select jkdzlwj,jkdzsxlx,zt,zhsx from uf_jcl_kq_ywdmjc a left join uf_jcl_kq_ywdmjc_dt1 b on a.id=b.mainid where a.zt=0";
List<Map<String,Object>> dataList = DbTools.getSqlToList(sql);
try {
//打卡卡点扩展类
List<AdjustClockPointAction> adjustClockPointAction = Lists.newArrayList();
List<Map<String,Object>> adjustClockPointActionResultList = dataList.stream().filter(e->"0".equals(e.get("jkdzsxlx"))).sorted(Comparator.comparing(e->Integer.valueOf(e.get("zhsx").toString()))).collect(Collectors.toList());
for (Map<String,Object> adjustClockPointActionMap:adjustClockPointActionResultList){
String classPath = adjustClockPointActionMap.get("jkdzlwj").toString();
AdjustClockPointAction action = (AdjustClockPointAction)Class.forName(classPath).newInstance();
adjustClockPointAction.add(action);
}
ExtensionClassHolder.setAdjustClockPointAction(adjustClockPointAction);
}catch (Exception e){
log.error("initExtensionClassHolder fail");
throw new AttendanceRunTimeException("初始化扩展类失败");
}
}
} }

@ -0,0 +1,23 @@
package com.engine.common.util;
import com.engine.attendance.attendanceanalysis.cmd.getclockInpoint.AdjustClockPointAction;
import java.util.List;
/**
*
*/
public class ExtensionClassHolder {
/**
*
*/
private static ThreadLocal<List<AdjustClockPointAction>> adjustClockPointActionThreadLocal = new ThreadLocal<>();
public static void setAdjustClockPointAction(List<AdjustClockPointAction> adjustClockPointActionList) {
adjustClockPointActionThreadLocal.set(adjustClockPointActionList);
}
public static List<AdjustClockPointAction> getAdjustClockPointAction() {
return adjustClockPointActionThreadLocal.get();
}
}

@ -55,7 +55,7 @@ public class ResponseResult<T, R> {
public String run(Function<T, R> f, T t) { public String run(Function<T, R> f, T t) {
try { try {
if (isLog) { if (isLog) {
log.info("run attendance api , param {}", t); log.debug("run attendance api , param {}", t);
} }
return Ok(f.apply(t)); return Ok(f.apply(t));
} catch (AttendanceRunTimeException e) { } catch (AttendanceRunTimeException e) {
@ -85,7 +85,7 @@ public class ResponseResult<T, R> {
public String run(Consumer<T> f, T t) { public String run(Consumer<T> f, T t) {
try { try {
if (isLog) { if (isLog) {
log.info("run attendance api , param {}", t); log.debug("run attendance api , param {}", t);
} }
f.accept(t); f.accept(t);
return Ok(); return Ok();
@ -108,7 +108,7 @@ public class ResponseResult<T, R> {
public String run(Supplier<R> f) { public String run(Supplier<R> f) {
try { try {
if (isLog) { if (isLog) {
log.info("run attendance api"); log.debug("run attendance api");
} }
return Ok(f.get()); return Ok(f.get());
} catch (AttendanceRunTimeException e) { } catch (AttendanceRunTimeException e) {
@ -149,7 +149,7 @@ public class ResponseResult<T, R> {
apidatas.put("data", r); apidatas.put("data", r);
String success = getJsonString(apidatas); String success = getJsonString(apidatas);
if (isLog) { if (isLog) {
log.info("run attendance api success return {}", success); log.debug("run attendance api success return {}", success);
} }
return success; return success;
} }

@ -395,7 +395,7 @@ public class Utils<T> {
*/ */
public static int removeTime(String kssj,String jssj,List<Map<String, Object>> scheduleResult,String analysisDate){ public static int removeTime(String kssj,String jssj,List<Map<String, Object>> scheduleResult,String analysisDate){
int betweenMinutes = 0; int betweenMinutes = 0;
log.info("removeRestTime scheduleResult : {}",scheduleResult); log.debug("removeRestTime scheduleResult : {}",scheduleResult);
for (Map<String, Object> restSchedule :scheduleResult){ for (Map<String, Object> restSchedule :scheduleResult){
String dtkssj = Utils.getkssjTime(restSchedule,analysisDate); String dtkssj = Utils.getkssjTime(restSchedule,analysisDate);
String dtjssj = Utils.getjssjTime(restSchedule,analysisDate); String dtjssj = Utils.getjssjTime(restSchedule,analysisDate);
@ -403,19 +403,19 @@ public class Utils<T> {
if (DateUtil.getTime(kssj).compareTo(DateUtil.getTime(dtkssj)) <=0 && DateUtil.getTime(jssj).compareTo(DateUtil.getTime(dtjssj)) >=0){ if (DateUtil.getTime(kssj).compareTo(DateUtil.getTime(dtkssj)) <=0 && DateUtil.getTime(jssj).compareTo(DateUtil.getTime(dtjssj)) >=0){
//休息时间在请假时间中间 //休息时间在请假时间中间
betweenMinutes = DateUtil.getBetWeenMinutes(dtkssj,dtjssj); betweenMinutes = DateUtil.getBetWeenMinutes(dtkssj,dtjssj);
log.info("休息时间在请假时间中间"); log.debug("休息时间在请假时间中间");
}else if (DateUtil.getTime(kssj).compareTo(DateUtil.getTime(dtkssj)) <=0 && DateUtil.getTime(jssj).compareTo(DateUtil.getTime(dtjssj)) <=0 && DateUtil.getTime(jssj).compareTo(DateUtil.getTime(dtkssj)) >=0){ }else if (DateUtil.getTime(kssj).compareTo(DateUtil.getTime(dtkssj)) <=0 && DateUtil.getTime(jssj).compareTo(DateUtil.getTime(dtjssj)) <=0 && DateUtil.getTime(jssj).compareTo(DateUtil.getTime(dtkssj)) >=0){
//休息时间在请假时间 右边 //休息时间在请假时间 右边
betweenMinutes = DateUtil.getBetWeenMinutes(dtkssj,jssj); betweenMinutes = DateUtil.getBetWeenMinutes(dtkssj,jssj);
log.info("休息时间在请假时间 右边"); log.debug("休息时间在请假时间 右边");
}else if (DateUtil.getTime(kssj).compareTo(DateUtil.getTime(dtkssj)) >=0 && DateUtil.getTime(jssj).compareTo(DateUtil.getTime(dtjssj)) >=0 && DateUtil.getTime(kssj).compareTo(DateUtil.getTime(dtjssj)) <=0){ }else if (DateUtil.getTime(kssj).compareTo(DateUtil.getTime(dtkssj)) >=0 && DateUtil.getTime(jssj).compareTo(DateUtil.getTime(dtjssj)) >=0 && DateUtil.getTime(kssj).compareTo(DateUtil.getTime(dtjssj)) <=0){
//休息时间在请假时间 左边 //休息时间在请假时间 左边
betweenMinutes = DateUtil.getBetWeenMinutes(kssj,dtjssj); betweenMinutes = DateUtil.getBetWeenMinutes(kssj,dtjssj);
log.info("休息时间在请假时间 左边"); log.debug("休息时间在请假时间 左边");
}else if (DateUtil.getTime(kssj).compareTo(DateUtil.getTime(dtkssj)) >=0 && DateUtil.getTime(jssj).compareTo(DateUtil.getTime(dtjssj)) <=0){ }else if (DateUtil.getTime(kssj).compareTo(DateUtil.getTime(dtkssj)) >=0 && DateUtil.getTime(jssj).compareTo(DateUtil.getTime(dtjssj)) <=0){
//请假时间在休息时间中间 //请假时间在休息时间中间
betweenMinutes = 0; betweenMinutes = 0;
log.info("请假时间在休息时间中间"); log.debug("请假时间在休息时间中间");
} }
} }
return betweenMinutes; return betweenMinutes;
@ -445,19 +445,19 @@ public class Utils<T> {
if (DateUtil.getTime(kssj).compareTo(DateUtil.getTime(leavekssj)) <=0 && DateUtil.getTime(jssj).compareTo(DateUtil.getTime(leavejssj)) >=0){ if (DateUtil.getTime(kssj).compareTo(DateUtil.getTime(leavekssj)) <=0 && DateUtil.getTime(jssj).compareTo(DateUtil.getTime(leavejssj)) >=0){
//请假外出时间在中间 //请假外出时间在中间
betweenMinutes = DateUtil.getBetWeenMinutes(leavekssj,leavejssj); betweenMinutes = DateUtil.getBetWeenMinutes(leavekssj,leavejssj);
log.info("请假外出时间在中间"); log.debug("请假外出时间在中间");
}else if (DateUtil.getTime(kssj).compareTo(DateUtil.getTime(leavekssj)) <=0 && DateUtil.getTime(jssj).compareTo(DateUtil.getTime(leavejssj)) <=0 && DateUtil.getTime(jssj).compareTo(DateUtil.getTime(leavekssj)) >=0){ }else if (DateUtil.getTime(kssj).compareTo(DateUtil.getTime(leavekssj)) <=0 && DateUtil.getTime(jssj).compareTo(DateUtil.getTime(leavejssj)) <=0 && DateUtil.getTime(jssj).compareTo(DateUtil.getTime(leavekssj)) >=0){
//请假外出时间 右边 //请假外出时间 右边
betweenMinutes = DateUtil.getBetWeenMinutes(leavekssj,jssj); betweenMinutes = DateUtil.getBetWeenMinutes(leavekssj,jssj);
log.info("请假外出时间 右边"); log.debug("请假外出时间 右边");
}else if (DateUtil.getTime(kssj).compareTo(DateUtil.getTime(leavekssj)) >=0 && DateUtil.getTime(jssj).compareTo(DateUtil.getTime(leavejssj)) >=0 && DateUtil.getTime(kssj).compareTo(DateUtil.getTime(leavejssj)) <=0){ }else if (DateUtil.getTime(kssj).compareTo(DateUtil.getTime(leavekssj)) >=0 && DateUtil.getTime(jssj).compareTo(DateUtil.getTime(leavejssj)) >=0 && DateUtil.getTime(kssj).compareTo(DateUtil.getTime(leavejssj)) <=0){
//休请假外出时间 左边 //休请假外出时间 左边
betweenMinutes = DateUtil.getBetWeenMinutes(kssj,leavejssj); betweenMinutes = DateUtil.getBetWeenMinutes(kssj,leavejssj);
log.info("请假外出时间 左边"); log.debug("请假外出时间 左边");
}else if (DateUtil.getTime(kssj).compareTo(DateUtil.getTime(leavekssj)) >=0 && DateUtil.getTime(jssj).compareTo(DateUtil.getTime(leavejssj)) <=0){ }else if (DateUtil.getTime(kssj).compareTo(DateUtil.getTime(leavekssj)) >=0 && DateUtil.getTime(jssj).compareTo(DateUtil.getTime(leavejssj)) <=0){
//请假外出时间中间 //请假外出时间中间
betweenMinutes = DateUtil.getBetWeenMinutes(kssj,jssj); betweenMinutes = DateUtil.getBetWeenMinutes(kssj,jssj);
log.info("加班实际在请假外出时间中间"); log.debug("加班实际在请假外出时间中间");
} }
return betweenMinutes; return betweenMinutes;
} }
@ -473,19 +473,19 @@ public class Utils<T> {
if (DateUtil.getTime(kssj).compareTo(DateUtil.getTime(leavekssj)) <=0 && DateUtil.getTime(jssj).compareTo(DateUtil.getTime(leavejssj)) >=0){ if (DateUtil.getTime(kssj).compareTo(DateUtil.getTime(leavekssj)) <=0 && DateUtil.getTime(jssj).compareTo(DateUtil.getTime(leavejssj)) >=0){
//时间在中间 //时间在中间
betweenMinutes = removeRestTime(leavekssj,leavejssj,scheduleResult,analysisDate); betweenMinutes = removeRestTime(leavekssj,leavejssj,scheduleResult,analysisDate);
log.info("时间在中间,被包含"); log.debug("时间在中间,被包含");
}else if (DateUtil.getTime(kssj).compareTo(DateUtil.getTime(leavekssj)) <=0 && DateUtil.getTime(jssj).compareTo(DateUtil.getTime(leavejssj)) <=0 && DateUtil.getTime(jssj).compareTo(DateUtil.getTime(leavekssj)) >=0){ }else if (DateUtil.getTime(kssj).compareTo(DateUtil.getTime(leavekssj)) <=0 && DateUtil.getTime(jssj).compareTo(DateUtil.getTime(leavejssj)) <=0 && DateUtil.getTime(jssj).compareTo(DateUtil.getTime(leavekssj)) >=0){
//时间 右边 //时间 右边
betweenMinutes = removeRestTime(leavekssj,jssj,scheduleResult,analysisDate); betweenMinutes = removeRestTime(leavekssj,jssj,scheduleResult,analysisDate);
log.info("时间 右边"); log.debug("时间 右边");
}else if (DateUtil.getTime(kssj).compareTo(DateUtil.getTime(leavekssj)) >=0 && DateUtil.getTime(jssj).compareTo(DateUtil.getTime(leavejssj)) >=0 && DateUtil.getTime(kssj).compareTo(DateUtil.getTime(leavejssj)) <=0){ }else if (DateUtil.getTime(kssj).compareTo(DateUtil.getTime(leavekssj)) >=0 && DateUtil.getTime(jssj).compareTo(DateUtil.getTime(leavejssj)) >=0 && DateUtil.getTime(kssj).compareTo(DateUtil.getTime(leavejssj)) <=0){
//时间 左边 //时间 左边
betweenMinutes = removeRestTime(kssj,leavejssj,scheduleResult,analysisDate); betweenMinutes = removeRestTime(kssj,leavejssj,scheduleResult,analysisDate);
log.info("时间 左边"); log.debug("时间 左边");
}else if (DateUtil.getTime(kssj).compareTo(DateUtil.getTime(leavekssj)) >=0 && DateUtil.getTime(jssj).compareTo(DateUtil.getTime(leavejssj)) <=0){ }else if (DateUtil.getTime(kssj).compareTo(DateUtil.getTime(leavekssj)) >=0 && DateUtil.getTime(jssj).compareTo(DateUtil.getTime(leavejssj)) <=0){
//请假外出时间中间 //请假外出时间中间
betweenMinutes = removeRestTime(kssj,jssj,scheduleResult,analysisDate); betweenMinutes = removeRestTime(kssj,jssj,scheduleResult,analysisDate);
log.info("时间在中间,包含"); log.debug("时间在中间,包含");
} }
return betweenMinutes; return betweenMinutes;
} }
@ -580,7 +580,7 @@ public class Utils<T> {
List<Map<String, Object>> classList = entry.getValue(); List<Map<String, Object>> classList = entry.getValue();
if (classList.size() > 1){ if (classList.size() > 1){
classList = classList.stream().filter(e->!e.get("pbtj").equals(RegularScheduleTypeEnum.REGULAR.getKey())).collect(Collectors.toList()); classList = classList.stream().filter(e->!e.get("pbtj").equals(RegularScheduleTypeEnum.REGULAR.getKey())).collect(Collectors.toList());
classList = classList.stream().sorted(Comparator.comparing(e->DateUtil.getTime(e.get("pbrq")+" "+e.get("pbsj")).toInstant(ZoneOffset.of("+8")).toEpochMilli())).collect(Collectors.toList()); classList = classList.stream().sorted(Comparator.comparing(e->DateUtil.getTime(e.get("modedatacreatedate")+" "+e.get("modedatacreatetime")).toInstant(ZoneOffset.of("+8")).toEpochMilli())).collect(Collectors.toList());
if (classList.size() > 0){ if (classList.size() > 0){
resultList.add(classList.get(classList.size()-1)); resultList.add(classList.get(classList.size()-1));
}else { }else {

@ -156,10 +156,10 @@ public class ExcelParseHelper {
public static List<Map<String, Object>> parse2Map(Sheet sheet, int rowIndex) { public static List<Map<String, Object>> parse2Map(Sheet sheet, int rowIndex) {
int rowCount = sheet.getPhysicalNumberOfRows(); // 总行数 int rowCount = sheet.getPhysicalNumberOfRows(); // 总行数
int cellCount = sheet.getRow(PARSE_EXCEL_ROW_VALID_CELL_INDEX).getPhysicalNumberOfCells(); // 总列数 int cellCount = sheet.getRow(PARSE_EXCEL_ROW_VALID_CELL_INDEX).getPhysicalNumberOfCells(); // 总列数
log.info("rowCount: {}", rowCount); log.debug("rowCount: {}", rowCount);
log.info("cellCount: {}", cellCount); log.debug("cellCount: {}", cellCount);
List<String> sheetHeader = ExcelSupport.getSheetHeader(sheet, PARSE_EXCEL_ROW_VALID_CELL_INDEX); List<String> sheetHeader = ExcelSupport.getSheetHeader(sheet, PARSE_EXCEL_ROW_VALID_CELL_INDEX);
log.info("sheetHeader: {}", sheetHeader); log.debug("sheetHeader: {}", sheetHeader);
List<Map<String, Object>> result = new ArrayList<>(); List<Map<String, Object>> result = new ArrayList<>();
for (; rowIndex < rowCount; rowIndex++) { for (; rowIndex < rowCount; rowIndex++) {

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

Loading…
Cancel
Save