zm_dev
liuliang 1 year ago
parent 8b602159d9
commit 39c0a2cb94

@ -1 +1 @@
<EFBFBD>[<EFBFBD><EFBFBD>鵿<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD>[<EFBFBD><EFBFBD>鵿<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>

@ -10,49 +10,72 @@
</component>
<component name="ChangeListManager">
<list default="true" id="baeb3dfb-5097-46c5-933e-6d1dab18b815" name="Changes" comment="">
<change afterPath="$PROJECT_DIR$/test/TestAttendanceAllowance/Test.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/test/TestAttendanceAllowance/beforlog.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/dataSources/ade958e9-d72b-48ba-8be1-0441de7da9a5/entities/entities.dat" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/dataSources/ade958e9-d72b-48ba-8be1-0441de7da9a5/entities/entities.dat" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/dataSources/ade958e9-d72b-48ba-8be1-0441de7da9a5/entities/entities.dat.values" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/dataSources/ade958e9-d72b-48ba-8be1-0441de7da9a5/entities/entities.dat.values" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/dataSources/ade958e9-d72b-48ba-8be1-0441de7da9a5/entities/entities.dat.values.s" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/dataSources/ade958e9-d72b-48ba-8be1-0441de7da9a5/entities/entities.dat.values.s" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/WEB-INF/sqllog/ecologysql" beforeDir="false" afterPath="$PROJECT_DIR$/WEB-INF/sqllog/ecologysql" afterDir="false" />
<change beforePath="$PROJECT_DIR$/log/sdk.log" beforeDir="false" afterPath="$PROJECT_DIR$/log/sdk.log" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/service/AllowanceService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/service/AllowanceService.java" 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/GetClockInPointCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/GetClockInPointCmd.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/service/impl/AllowanceServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/service/impl/AllowanceServiceImpl.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/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/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/common/util/Utils.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/common/util/Utils.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/ComputeAttendanceDurationCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/ComputeAttendanceDurationCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/GetClockInPointCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/GetClockInPointCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/service/AllowanceService.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/service/AllowanceService.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/job/AttendanceAnalysisJob.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/job/AttendanceAnalysisJob.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/service/impl/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/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/UtilServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/service/impl/UtilServiceImpl.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/service/impl/WorkOverTimeServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/service/impl/WorkOverTimeServiceImpl.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/wrapper/AttendanceAnalysisWrapper$1.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/wrapper/AttendanceAnalysisWrapper$1.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/wrapper/AttendanceAnalysisWrapper$2.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/wrapper/AttendanceAnalysisWrapper$2.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.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/wrapper/UpdateAttendanceResultWrapper.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceplan/cmd/GetAttendanceItemsByPersonDataCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceplan/cmd/GetAttendanceItemsByPersonDataCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceplan/cmd/GetWorkHoursItemByPersonCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceplan/cmd/GetWorkHoursItemByPersonCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/calendarscheduling/service/impl/WorkRulesServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/calendarscheduling/service/impl/WorkRulesServiceImpl.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/persongroup/commonutil/PersongroupCommonUtil.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/persongroup/commonutil/PersongroupCommonUtil.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/persongroup/job/scheduling/SchedulingJob.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/persongroup/job/scheduling/SchedulingJob.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/persongroup/job/scheduling/tactics/DayRegularScheduling.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/persongroup/job/scheduling/tactics/DayRegularScheduling.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/persongroup/job/scheduling/tactics/MonthRegularScheduling.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/persongroup/job/scheduling/tactics/MonthRegularScheduling.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/persongroup/job/scheduling/tactics/WeekRegularScheduling.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/persongroup/job/scheduling/tactics/WeekRegularScheduling.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/persongroup/job/scheduling/tactics/YearRegularScheduling.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/persongroup/job/scheduling/tactics/YearRegularScheduling.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/persongroup/service/impl/PersonGroupServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/persongroup/service/impl/PersonGroupServiceImpl.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/vacation/cmd/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/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/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/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/common/util/Utils$1.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/common/util/Utils$1.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/common/util/Utils$2.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/common/util/Utils$2.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/common/util/Utils$3.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/common/util/Utils$3.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/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/AttendanceSummaryServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/service/impl/AttendanceSummaryServiceImpl.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/common/cmd/GetPersonDateBySuitOrganzation.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/common/cmd/GetPersonDateBySuitOrganzation.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/common/util/CommonUtil.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/common/util/CommonUtil.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/common/util/DbTools.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/common/util/DbTools.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/common/util/Utils.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/common/util/Utils.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/test-classes/ComprehensiveWorkingHourServiceImpl/Test1.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/test-classes/ComprehensiveWorkingHourServiceImpl/Test1.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/test-classes/TestGetClockInPoint$1.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/test-classes/TestGetClockInPoint$1.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/test-classes/TestGetClockInPoint$2.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/test-classes/TestGetClockInPoint$2.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/test-classes/TestGetClockInPoint$3.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/test-classes/TestGetClockInPoint$3.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/test-classes/TestGetClockInPoint$4.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/test-classes/TestGetClockInPoint$4.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/shuju/Test.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/test-classes/shuju/Test.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/test/TestObj.java" beforeDir="false" afterPath="$PROJECT_DIR$/test/TestObj.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/test/shuju/Test.java" beforeDir="false" afterPath="$PROJECT_DIR$/test/shuju/Test.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/test-classes/TestMergeAskForLeaveAndEvctionSchedule.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/test-classes/TestMergeAskForLeaveAndEvctionSchedule.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/test-classes/TestMethod.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/test-classes/TestMethod.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/test/TestGetClockInPoint.java" beforeDir="false" afterPath="$PROJECT_DIR$/test/TestGetClockInPoint.java" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
@ -95,7 +118,7 @@
<property name="WebServerToolWindowFactoryState" value="false" />
<property name="com.intellij.ide.scratch.ScratchImplUtil$2/New Scratch File" value="PLAIN_TEXT" />
<property name="last_directory_selection" value="$PROJECT_DIR$/src/com/engine/kq" />
<property name="last_opened_file_path" value="$PROJECT_DIR$/../../AO史密斯/aosmithProject" />
<property name="last_opened_file_path" value="$PROJECT_DIR$/../../../easyentry" />
<property name="nodejs_package_manager_path" value="npm" />
<property name="project.structure.last.edited" value="Modules" />
<property name="project.structure.proportion" value="0.15" />
@ -117,11 +140,11 @@
<recent name="D:\项目备份\考勤\hrm-attendance\src\com\engine\jucailin\cmd\calendar" />
</key>
<key name="CopyClassDialog.RECENTS_KEY">
<recent name="TestAttendanceAllowance" />
<recent name="ComprehensiveWorkingHourServiceImpl" />
<recent name="" />
<recent name="shuju" />
<recent name="com.engine.attendance.attendanceanalysis.service.impl" />
<recent name="com.engine.attendance.workflow.action" />
<recent name="com.api.attendance.workflow" />
</key>
</component>
<component name="RunAnythingCache">
@ -129,7 +152,7 @@
<command value="organzationList" />
</option>
</component>
<component name="RunManager" selected="Application.Test (1)">
<component name="RunManager" selected="JUnit.Test.testAnalysis">
<configuration name="Test (1)" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
<option name="MAIN_CLASS_NAME" value="shuju.Test" />
<module name="hrm-attendance" />
@ -144,30 +167,10 @@
<option name="Make" enabled="true" />
</method>
</configuration>
<configuration name="Test1" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
<option name="MAIN_CLASS_NAME" value="ComprehensiveWorkingHourServiceImpl.Test1" />
<configuration name="TestGetClockInPoint" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
<option name="MAIN_CLASS_NAME" value="TestGetClockInPoint" />
<module name="hrm-attendance" />
<shortenClasspath name="MANIFEST" />
<extension name="coverage">
<pattern>
<option name="PATTERN" value="ComprehensiveWorkingHourServiceImpl.*" />
<option name="ENABLED" value="true" />
</pattern>
</extension>
<method v="2">
<option name="Make" enabled="true" />
</method>
</configuration>
<configuration name="TestMain" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
<option name="MAIN_CLASS_NAME" value="shuju.TestMain" />
<module name="hrm-attendance" />
<shortenClasspath name="MANIFEST" />
<extension name="coverage">
<pattern>
<option name="PATTERN" value="shuju.*" />
<option name="ENABLED" value="true" />
</pattern>
</extension>
<method v="2">
<option name="Make" enabled="true" />
</method>
@ -203,6 +206,23 @@
<option name="Make" enabled="true" />
</method>
</configuration>
<configuration name="Test.testAnalysis" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
<module name="hrm-attendance" />
<shortenClasspath name="MANIFEST" />
<extension name="coverage">
<pattern>
<option name="PATTERN" value="TestAttendanceAllowance.*" />
<option name="ENABLED" value="true" />
</pattern>
</extension>
<option name="PACKAGE_NAME" value="TestAttendanceAllowance" />
<option name="MAIN_CLASS_NAME" value="TestAttendanceAllowance.Test" />
<option name="METHOD_NAME" value="testAnalysis" />
<option name="TEST_OBJECT" value="method" />
<method v="2">
<option name="Make" enabled="true" />
</method>
</configuration>
<configuration name="Tset_sy.test" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
<module name="hrm-attendance" />
<shortenClasspath name="MANIFEST" />
@ -223,11 +243,11 @@
</configuration>
<recent_temporary>
<list>
<item itemvalue="JUnit.Test.testAnalysis" />
<item itemvalue="Application.TestGetClockInPoint" />
<item itemvalue="Application.Test (1)" />
<item itemvalue="JUnit.Tset_sy.test" />
<item itemvalue="JUnit.Test1.test" />
<item itemvalue="Application.Test1" />
<item itemvalue="Application.TestMain" />
</list>
</recent_temporary>
</component>
@ -593,6 +613,9 @@
<workItem from="1712812681283" duration="23124000" />
<workItem from="1712885635868" duration="7005000" />
<workItem from="1712899728990" duration="7469000" />
<workItem from="1713158776480" duration="17419000" />
<workItem from="1713230394234" duration="7819000" />
<workItem from="1713245093631" duration="3537000" />
</task>
<servers />
</component>
@ -627,18 +650,39 @@
<option name="timeStamp" value="54" />
</breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/test/TestGetClockInPoint.java</url>
<line>301</line>
<option name="timeStamp" value="28" />
<url>file://$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/service/impl/AllowanceServiceImpl.java</url>
<line>107</line>
<option name="timeStamp" value="71" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/ComputeAttendanceDurationCmd.java</url>
<line>60</line>
<option name="timeStamp" value="73" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/ComputeAttendanceDurationCmd.java</url>
<line>50</line>
<option name="timeStamp" value="74" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/wrapper/AttendanceAnalysisWrapper.java</url>
<line>383</line>
<option name="timeStamp" value="76" />
</line-breakpoint>
</breakpoints>
</breakpoint-manager>
<pin-to-top-manager>
<pinned-members>
<PinnedItemInfo parentTag="java.util.HashMap$Node" memberName="value" />
</pinned-members>
</pin-to-top-manager>
<watches-manager>
<configuration name="Application">
<watch expression="((java.util.ArrayList)clcokInTimeData).get(1)" custom="java.util.ArrayList" />
<watch expression="afterClcokInTimeData" />
<watch expression="((HashMap.Node)((HashMap)beforeClcokInTimeData).entrySet().toArray()[0]).getValue()" custom="java.util.HashMap.Node,java.util.HashMap" />
<watch expression="clcokInTimeData" />
<watch expression="afterClcokInTimeData" />
</configuration>
</watches-manager>
</component>

@ -1753,3 +1753,413 @@
at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:235)
at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54)
"
"2024-04-16","14:01:40.055","loginID=null main-1","24""1-2011695710","null","null","update","update uf_jcl_kq_cqjg set cqsc=8.0,cqzt=0,fxrq='2024-04-16 14:01:39',rqlx=0,bc=1,bcbdxx='09:00-12:00|13:00-18:00',xm1=NULL,sc1=NULL,xm2=NULL,sc2=NULL,xm3=NULL,sc3=NULL,xm4=NULL,sc4=NULL,xm5=NULL,sc5=NULL,xm6=NULL,sc6=NULL,xm7=NULL,sc7=NULL,xm8=NULL,sc8=NULL,j1='09:42:00',j2=NULL,j3=NULL,j4=NULL,j5=NULL,j6=NULL,j7=NULL,c1='20:46:00',c2=NULL,c3=NULL,c4=NULL,c5=NULL,c6=NULL,c7=NULL where ygid=? and rq=?,[81, 2024-04-10]",")
at weaver.conn.RecordSet.executeSql(RecordSet.java:1372)
at weaver.conn.RecordSet.executeUpdate(RecordSet.java:988)
at com.engine.common.util.DbTools.update(DbTools.java:117)
at com.engine.attendance.attendanceanalysis.cmd.RecordDataCmd.execute(RecordDataCmd.java:99)
at com.engine.attendance.attendanceanalysis.cmd.RecordDataCmd.execute(RecordDataCmd.java:17)
at com.engine.core.interceptor.CommandInvoker.execute(CommandInvoker.java:38)
at com.engine.core.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:42)
at com.engine.core.interceptor.LogInterceptor.execute(LogInterceptor.java:19)
at com.engine.core.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:37)
at com.engine.core.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:42)
at com.engine.attendance.attendanceanalysis.service.impl.UtilServiceImpl.recordItem(UtilServiceImpl.java:216)
at com.engine.attendance.attendanceanalysis.wrapper.AttendanceAnalysisWrapper.analysis(AttendanceAnalysisWrapper.java:392)
at com.engine.attendance.attendanceanalysis.wrapper.AttendanceAnalysisWrapper.attendanceAnalysisForApi(AttendanceAnalysisWrapper.java:117)
at com.engine.attendance.attendanceanalysis.web.AttendanceanalysisAction.getSchedulingData(AttendanceanalysisAction.java:128)
at TestAttendanceAllowance.Test.testAnalysis(Test.java:19)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69)
at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33)
at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:235)
at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54)
"
"2024-04-16","14:01:40.151","loginID=null main-1","8""1-2011695710","null","null","delete","delete from uf_jcl_kq_jbjg where lyid=?,[5607]",")
at weaver.conn.RecordSetTrans.executeSql(RecordSetTrans.java:736)
at weaver.conn.RecordSetTrans.executeUpdate(RecordSetTrans.java:430)
at com.engine.attendance.attendanceanalysis.cmd.RecordDataCmd.updateWorkOverTimeDate(RecordDataCmd.java:170)
at com.engine.attendance.attendanceanalysis.cmd.RecordDataCmd.execute(RecordDataCmd.java:157)
at com.engine.attendance.attendanceanalysis.cmd.RecordDataCmd.execute(RecordDataCmd.java:17)
at com.engine.core.interceptor.CommandInvoker.execute(CommandInvoker.java:38)
at com.engine.core.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:42)
at com.engine.core.interceptor.LogInterceptor.execute(LogInterceptor.java:19)
at com.engine.core.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:37)
at com.engine.core.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:42)
at com.engine.attendance.attendanceanalysis.service.impl.UtilServiceImpl.recordItem(UtilServiceImpl.java:216)
at com.engine.attendance.attendanceanalysis.wrapper.AttendanceAnalysisWrapper.analysis(AttendanceAnalysisWrapper.java:392)
at com.engine.attendance.attendanceanalysis.wrapper.AttendanceAnalysisWrapper.attendanceAnalysisForApi(AttendanceAnalysisWrapper.java:117)
at com.engine.attendance.attendanceanalysis.web.AttendanceanalysisAction.getSchedulingData(AttendanceanalysisAction.java:128)
at TestAttendanceAllowance.Test.testAnalysis(Test.java:19)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69)
at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33)
at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:235)
at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54)
"
"2024-04-16","14:01:40.171","loginID=null main-1","7""1-2011695710","null","null","delete","delete from uf_jcl_kq_jqye where lyid=?,[5607]",")
at weaver.conn.RecordSetTrans.executeSql(RecordSetTrans.java:736)
at weaver.conn.RecordSetTrans.executeUpdate(RecordSetTrans.java:430)
at com.engine.attendance.attendanceanalysis.cmd.RecordDataCmd.updateWorkOverTimeDate(RecordDataCmd.java:172)
at com.engine.attendance.attendanceanalysis.cmd.RecordDataCmd.execute(RecordDataCmd.java:157)
at com.engine.attendance.attendanceanalysis.cmd.RecordDataCmd.execute(RecordDataCmd.java:17)
at com.engine.core.interceptor.CommandInvoker.execute(CommandInvoker.java:38)
at com.engine.core.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:42)
at com.engine.core.interceptor.LogInterceptor.execute(LogInterceptor.java:19)
at com.engine.core.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:37)
at com.engine.core.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:42)
at com.engine.attendance.attendanceanalysis.service.impl.UtilServiceImpl.recordItem(UtilServiceImpl.java:216)
at com.engine.attendance.attendanceanalysis.wrapper.AttendanceAnalysisWrapper.analysis(AttendanceAnalysisWrapper.java:392)
at com.engine.attendance.attendanceanalysis.wrapper.AttendanceAnalysisWrapper.attendanceAnalysisForApi(AttendanceAnalysisWrapper.java:117)
at com.engine.attendance.attendanceanalysis.web.AttendanceanalysisAction.getSchedulingData(AttendanceanalysisAction.java:128)
at TestAttendanceAllowance.Test.testAnalysis(Test.java:19)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69)
at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33)
at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:235)
at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54)
"
"2024-04-16","14:01:40.191","loginID=null main-1","8""1-2011695710","null","null","update","update uf_jcl_kq_jbjg set lyid =? where lyid=?,[5607, 81-2024-04-16]",")
at weaver.conn.RecordSetTrans.executeSql(RecordSetTrans.java:736)
at weaver.conn.RecordSetTrans.executeUpdate(RecordSetTrans.java:430)
at com.engine.attendance.attendanceanalysis.cmd.RecordDataCmd.updateWorkOverTimeDate(RecordDataCmd.java:174)
at com.engine.attendance.attendanceanalysis.cmd.RecordDataCmd.execute(RecordDataCmd.java:157)
at com.engine.attendance.attendanceanalysis.cmd.RecordDataCmd.execute(RecordDataCmd.java:17)
at com.engine.core.interceptor.CommandInvoker.execute(CommandInvoker.java:38)
at com.engine.core.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:42)
at com.engine.core.interceptor.LogInterceptor.execute(LogInterceptor.java:19)
at com.engine.core.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:37)
at com.engine.core.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:42)
at com.engine.attendance.attendanceanalysis.service.impl.UtilServiceImpl.recordItem(UtilServiceImpl.java:216)
at com.engine.attendance.attendanceanalysis.wrapper.AttendanceAnalysisWrapper.analysis(AttendanceAnalysisWrapper.java:392)
at com.engine.attendance.attendanceanalysis.wrapper.AttendanceAnalysisWrapper.attendanceAnalysisForApi(AttendanceAnalysisWrapper.java:117)
at com.engine.attendance.attendanceanalysis.web.AttendanceanalysisAction.getSchedulingData(AttendanceanalysisAction.java:128)
at TestAttendanceAllowance.Test.testAnalysis(Test.java:19)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69)
at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33)
at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:235)
at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54)
"
"2024-04-16","14:01:40.209","loginID=null main-1","8""1-2011695710","null","null","update","update uf_jcl_kq_jqye set lyid =? where lyid=?,[5607, 81-2024-04-16]",")
at weaver.conn.RecordSetTrans.executeSql(RecordSetTrans.java:736)
at weaver.conn.RecordSetTrans.executeUpdate(RecordSetTrans.java:430)
at com.engine.attendance.attendanceanalysis.cmd.RecordDataCmd.updateWorkOverTimeDate(RecordDataCmd.java:176)
at com.engine.attendance.attendanceanalysis.cmd.RecordDataCmd.execute(RecordDataCmd.java:157)
at com.engine.attendance.attendanceanalysis.cmd.RecordDataCmd.execute(RecordDataCmd.java:17)
at com.engine.core.interceptor.CommandInvoker.execute(CommandInvoker.java:38)
at com.engine.core.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:42)
at com.engine.core.interceptor.LogInterceptor.execute(LogInterceptor.java:19)
at com.engine.core.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:37)
at com.engine.core.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:42)
at com.engine.attendance.attendanceanalysis.service.impl.UtilServiceImpl.recordItem(UtilServiceImpl.java:216)
at com.engine.attendance.attendanceanalysis.wrapper.AttendanceAnalysisWrapper.analysis(AttendanceAnalysisWrapper.java:392)
at com.engine.attendance.attendanceanalysis.wrapper.AttendanceAnalysisWrapper.attendanceAnalysisForApi(AttendanceAnalysisWrapper.java:117)
at com.engine.attendance.attendanceanalysis.web.AttendanceanalysisAction.getSchedulingData(AttendanceanalysisAction.java:128)
at TestAttendanceAllowance.Test.testAnalysis(Test.java:19)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69)
at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33)
at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:235)
at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54)
"
"2024-04-16","14:36:49.803","loginID=null main-1","20""1-1237264838","null","null","update","update uf_jcl_kq_cqjg set cqsc=8.0,cqzt=1,fxrq='2024-04-16 14:36:49',rqlx=0,bc=1,bcbdxx='09:00-12:00|13:00-18:00',xm1=122,sc1=12.0,xm2=NULL,sc2=NULL,xm3=NULL,sc3=NULL,xm4=NULL,sc4=NULL,xm5=NULL,sc5=NULL,xm6=NULL,sc6=NULL,xm7=NULL,sc7=NULL,xm8=NULL,sc8=NULL,j1='09:42:00',j2=NULL,j3=NULL,j4=NULL,j5=NULL,j6=NULL,j7=NULL,c1='20:46:00',c2=NULL,c3=NULL,c4=NULL,c5=NULL,c6=NULL,c7=NULL where ygid=? and rq=?,[81, 2024-04-10]",")
at weaver.conn.RecordSet.executeSql(RecordSet.java:1372)
at weaver.conn.RecordSet.executeUpdate(RecordSet.java:988)
at com.engine.common.util.DbTools.update(DbTools.java:117)
at com.engine.attendance.attendanceanalysis.cmd.RecordDataCmd.execute(RecordDataCmd.java:99)
at com.engine.attendance.attendanceanalysis.cmd.RecordDataCmd.execute(RecordDataCmd.java:17)
at com.engine.core.interceptor.CommandInvoker.execute(CommandInvoker.java:38)
at com.engine.core.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:42)
at com.engine.core.interceptor.LogInterceptor.execute(LogInterceptor.java:19)
at com.engine.core.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:37)
at com.engine.core.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:42)
at com.engine.attendance.attendanceanalysis.service.impl.UtilServiceImpl.recordItem(UtilServiceImpl.java:216)
at com.engine.attendance.attendanceanalysis.wrapper.AttendanceAnalysisWrapper.analysis(AttendanceAnalysisWrapper.java:392)
at com.engine.attendance.attendanceanalysis.wrapper.AttendanceAnalysisWrapper.attendanceAnalysisForApi(AttendanceAnalysisWrapper.java:117)
at com.engine.attendance.attendanceanalysis.web.AttendanceanalysisAction.getSchedulingData(AttendanceanalysisAction.java:128)
at TestAttendanceAllowance.Test.testAnalysis(Test.java:19)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69)
at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33)
at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:235)
at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54)
"
"2024-04-16","14:36:49.891","loginID=null main-1","12""1-1237264838","null","null","delete","delete from uf_jcl_kq_jbjg where lyid=?,[5607]",")
at weaver.conn.RecordSetTrans.executeSql(RecordSetTrans.java:736)
at weaver.conn.RecordSetTrans.executeUpdate(RecordSetTrans.java:430)
at com.engine.attendance.attendanceanalysis.cmd.RecordDataCmd.updateWorkOverTimeDate(RecordDataCmd.java:170)
at com.engine.attendance.attendanceanalysis.cmd.RecordDataCmd.execute(RecordDataCmd.java:157)
at com.engine.attendance.attendanceanalysis.cmd.RecordDataCmd.execute(RecordDataCmd.java:17)
at com.engine.core.interceptor.CommandInvoker.execute(CommandInvoker.java:38)
at com.engine.core.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:42)
at com.engine.core.interceptor.LogInterceptor.execute(LogInterceptor.java:19)
at com.engine.core.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:37)
at com.engine.core.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:42)
at com.engine.attendance.attendanceanalysis.service.impl.UtilServiceImpl.recordItem(UtilServiceImpl.java:216)
at com.engine.attendance.attendanceanalysis.wrapper.AttendanceAnalysisWrapper.analysis(AttendanceAnalysisWrapper.java:392)
at com.engine.attendance.attendanceanalysis.wrapper.AttendanceAnalysisWrapper.attendanceAnalysisForApi(AttendanceAnalysisWrapper.java:117)
at com.engine.attendance.attendanceanalysis.web.AttendanceanalysisAction.getSchedulingData(AttendanceanalysisAction.java:128)
at TestAttendanceAllowance.Test.testAnalysis(Test.java:19)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69)
at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33)
at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:235)
at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54)
"
"2024-04-16","14:36:49.911","loginID=null main-1","8""1-1237264838","null","null","delete","delete from uf_jcl_kq_jqye where lyid=?,[5607]",")
at weaver.conn.RecordSetTrans.executeSql(RecordSetTrans.java:736)
at weaver.conn.RecordSetTrans.executeUpdate(RecordSetTrans.java:430)
at com.engine.attendance.attendanceanalysis.cmd.RecordDataCmd.updateWorkOverTimeDate(RecordDataCmd.java:172)
at com.engine.attendance.attendanceanalysis.cmd.RecordDataCmd.execute(RecordDataCmd.java:157)
at com.engine.attendance.attendanceanalysis.cmd.RecordDataCmd.execute(RecordDataCmd.java:17)
at com.engine.core.interceptor.CommandInvoker.execute(CommandInvoker.java:38)
at com.engine.core.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:42)
at com.engine.core.interceptor.LogInterceptor.execute(LogInterceptor.java:19)
at com.engine.core.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:37)
at com.engine.core.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:42)
at com.engine.attendance.attendanceanalysis.service.impl.UtilServiceImpl.recordItem(UtilServiceImpl.java:216)
at com.engine.attendance.attendanceanalysis.wrapper.AttendanceAnalysisWrapper.analysis(AttendanceAnalysisWrapper.java:392)
at com.engine.attendance.attendanceanalysis.wrapper.AttendanceAnalysisWrapper.attendanceAnalysisForApi(AttendanceAnalysisWrapper.java:117)
at com.engine.attendance.attendanceanalysis.web.AttendanceanalysisAction.getSchedulingData(AttendanceanalysisAction.java:128)
at TestAttendanceAllowance.Test.testAnalysis(Test.java:19)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69)
at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33)
at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:235)
at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54)
"
"2024-04-16","14:36:49.933","loginID=null main-1","6""1-1237264838","null","null","update","update uf_jcl_kq_jbjg set lyid =? where lyid=?,[5607, 81-2024-04-16]",")
at weaver.conn.RecordSetTrans.executeSql(RecordSetTrans.java:736)
at weaver.conn.RecordSetTrans.executeUpdate(RecordSetTrans.java:430)
at com.engine.attendance.attendanceanalysis.cmd.RecordDataCmd.updateWorkOverTimeDate(RecordDataCmd.java:174)
at com.engine.attendance.attendanceanalysis.cmd.RecordDataCmd.execute(RecordDataCmd.java:157)
at com.engine.attendance.attendanceanalysis.cmd.RecordDataCmd.execute(RecordDataCmd.java:17)
at com.engine.core.interceptor.CommandInvoker.execute(CommandInvoker.java:38)
at com.engine.core.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:42)
at com.engine.core.interceptor.LogInterceptor.execute(LogInterceptor.java:19)
at com.engine.core.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:37)
at com.engine.core.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:42)
at com.engine.attendance.attendanceanalysis.service.impl.UtilServiceImpl.recordItem(UtilServiceImpl.java:216)
at com.engine.attendance.attendanceanalysis.wrapper.AttendanceAnalysisWrapper.analysis(AttendanceAnalysisWrapper.java:392)
at com.engine.attendance.attendanceanalysis.wrapper.AttendanceAnalysisWrapper.attendanceAnalysisForApi(AttendanceAnalysisWrapper.java:117)
at com.engine.attendance.attendanceanalysis.web.AttendanceanalysisAction.getSchedulingData(AttendanceanalysisAction.java:128)
at TestAttendanceAllowance.Test.testAnalysis(Test.java:19)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69)
at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33)
at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:235)
at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54)
"
"2024-04-16","14:36:49.951","loginID=null main-1","9""1-1237264838","null","null","update","update uf_jcl_kq_jqye set lyid =? where lyid=?,[5607, 81-2024-04-16]",")
at weaver.conn.RecordSetTrans.executeSql(RecordSetTrans.java:736)
at weaver.conn.RecordSetTrans.executeUpdate(RecordSetTrans.java:430)
at com.engine.attendance.attendanceanalysis.cmd.RecordDataCmd.updateWorkOverTimeDate(RecordDataCmd.java:176)
at com.engine.attendance.attendanceanalysis.cmd.RecordDataCmd.execute(RecordDataCmd.java:157)
at com.engine.attendance.attendanceanalysis.cmd.RecordDataCmd.execute(RecordDataCmd.java:17)
at com.engine.core.interceptor.CommandInvoker.execute(CommandInvoker.java:38)
at com.engine.core.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:42)
at com.engine.core.interceptor.LogInterceptor.execute(LogInterceptor.java:19)
at com.engine.core.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:37)
at com.engine.core.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:42)
at com.engine.attendance.attendanceanalysis.service.impl.UtilServiceImpl.recordItem(UtilServiceImpl.java:216)
at com.engine.attendance.attendanceanalysis.wrapper.AttendanceAnalysisWrapper.analysis(AttendanceAnalysisWrapper.java:392)
at com.engine.attendance.attendanceanalysis.wrapper.AttendanceAnalysisWrapper.attendanceAnalysisForApi(AttendanceAnalysisWrapper.java:117)
at com.engine.attendance.attendanceanalysis.web.AttendanceanalysisAction.getSchedulingData(AttendanceanalysisAction.java:128)
at TestAttendanceAllowance.Test.testAnalysis(Test.java:19)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69)
at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33)
at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:235)
at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54)
"

File diff suppressed because it is too large Load Diff

@ -268,7 +268,7 @@ public class GetClockInPointCmd extends AbstractCommonCommand<Map<String, Object
tqdkfzs = DateUtil.getBetWeenMinutes(getBeforeClockTime(needClockDateList,dtkssj),dtkssj);
}else {
tqdkfzs = Integer.valueOf(needClockIn.get("tqdkfzs") == null?"0":needClockIn.get("tqdkfzs").toString());
tqdkfzs = Util.null2String(needClockIn.get("tqdkfzs")).equals("")?0:Integer.valueOf(needClockIn.get("tqdkfzs").toString());
}
Map<String, Map<String, Object>> ksdkNearestClcokInTime = Utils.getNearestClcokInTimeCmd(dtkssj, clockInTimeList);
@ -305,7 +305,7 @@ public class GetClockInPointCmd extends AbstractCommonCommand<Map<String, Object
if (Util.null2String(needClockIn.get("thdkfzs")).equals("") && !"".equals(getNextClockTime(needClockDateList,dtjssj))){
thdkfzs = DateUtil.getBetWeenMinutes(dtjssj,getNextClockTime(needClockDateList,dtjssj));
}else {
thdkfzs = Integer.valueOf(needClockIn.get("thdkfzs") == null?"0":needClockIn.get("thdkfzs").toString());
thdkfzs = Util.null2String(needClockIn.get("thdkfzs")).equals("")?0:Integer.valueOf(needClockIn.get("thdkfzs").toString());
}
if (DateUtil.getTime(dtkssj).compareTo(DateUtil.getTime(dtjssj)) > 0) {
@ -661,35 +661,69 @@ public class GetClockInPointCmd extends AbstractCommonCommand<Map<String, Object
String pointType = afterClcokInTime.split("\\|")[1];
//empty:漏卡equal:打卡时间和班次时间相等before打卡时间在班次时间之前after打卡时间在班次时间之后
String timeType = afterClcokInTime.split("\\|")[2];
String newPonit = afterClcokInTime.split("\\|")[0]+"|"+pointType;
if (pointType.equals(ClockPointEnum.END.getKey())){
if (nearestClcokInTime.get(ClockPointEnum.BEFORE.getKey()) != null && (i+2)<clcokInTimeData.size()){
newPonit = newPonit +"|"+ClockPointEnum.BEFORE.getKey();
if (afterClcokInTime.split("\\|").length ==4){
newPonit = newPonit +"|"+afterClcokInTime.split("\\|")[3];
}
clcokInTimeData.remove(afterClcokInTimeData);
afterClcokInTimeData = Maps.newHashMap();
afterClcokInTimeData.put(newPonit,nearestClcokInTime.get(ClockPointEnum.BEFORE.getKey()));
clcokInTimeData.add(afterClcokInTimeData);
}else {
afterClcokInTimeData.put(afterClcokInTime, null);
String time = afterClcokInTime.split("\\|")[0];
String newPonit = time+"|"+pointType;
String newtimeType = "";
if (timeType.equals(ClockPointEnum.BEFORE.getKey())){
newtimeType = ClockPointEnum.AFTER.getKey();
}else if (timeType.equals(ClockPointEnum.AFTER.getKey())){
newtimeType = ClockPointEnum.BEFORE.getKey();
}
if (nearestClcokInTime.get(newtimeType) != null && (i+2)<clcokInTimeData.size()){
newPonit = newPonit +"|"+newtimeType;
if (afterClcokInTime.split("\\|").length ==4){
newPonit = newPonit +"|"+afterClcokInTime.split("\\|")[3];
}
}else if (pointType.equals(ClockPointEnum.START.getKey())){
if (nearestClcokInTime.get(ClockPointEnum.AFTER.getKey()) != null){
newPonit = newPonit +"|"+ClockPointEnum.AFTER.getKey();
if (afterClcokInTime.split("\\|").length ==4){
newPonit = newPonit +"|"+afterClcokInTime.split("\\|")[3];
Map<String, Object> newClockTimeMap = nearestClcokInTime.get(newtimeType);
String newClockTime = newClockTimeMap.get("signdate")+ " "+newClockTimeMap.get("signtime");
if (newtimeType.equals(ClockPointEnum.BEFORE.getKey())){
if (!getBeforeClockTime(needClockDateList,time).equals("") && DateUtil.getTime(newClockTime).compareTo(DateUtil.getTime(getBeforeClockTime(needClockDateList,time))) <= 0){
newClockTimeMap = null;
}
}else if (newtimeType.equals(ClockPointEnum.AFTER.getKey())){
if (!getNextClockTime(needClockDateList,time).equals("") && DateUtil.getTime(newClockTime).compareTo(DateUtil.getTime(getNextClockTime(needClockDateList,time))) >= 0){
newClockTimeMap = null;
}
clcokInTimeData.remove(afterClcokInTimeData);
afterClcokInTimeData = Maps.newHashMap();
afterClcokInTimeData.put(newPonit,nearestClcokInTime.get(ClockPointEnum.AFTER.getKey()));
clcokInTimeData.add(i + 1,afterClcokInTimeData);
}else {
afterClcokInTimeData.put(afterClcokInTime, null);
}
int index = clcokInTimeData.indexOf(afterClcokInTimeData);
clcokInTimeData.remove(afterClcokInTimeData);
afterClcokInTimeData = Maps.newHashMap();
afterClcokInTimeData.put(newPonit,newClockTimeMap);
clcokInTimeData.add(index,afterClcokInTimeData);
}else {
afterClcokInTimeData.put(afterClcokInTime, null);
}
// if (pointType.equals(ClockPointEnum.END.getKey())){
// if (nearestClcokInTime.get(ClockPointEnum.BEFORE.getKey()) != null && (i+2)<clcokInTimeData.size()){
// newPonit = newPonit +"|"+ClockPointEnum.BEFORE.getKey();
// if (afterClcokInTime.split("\\|").length ==4){
// newPonit = newPonit +"|"+afterClcokInTime.split("\\|")[3];
// }
// clcokInTimeData.remove(afterClcokInTimeData);
// afterClcokInTimeData = Maps.newHashMap();
// afterClcokInTimeData.put(newPonit,nearestClcokInTime.get(ClockPointEnum.BEFORE.getKey()));
// clcokInTimeData.add(afterClcokInTimeData);
// }else {
// afterClcokInTimeData.put(afterClcokInTime, null);
// }
// }else if (pointType.equals(ClockPointEnum.START.getKey())){
// if (nearestClcokInTime.get(ClockPointEnum.AFTER.getKey()) != null){
// newPonit = newPonit +"|"+ClockPointEnum.AFTER.getKey();
// if (afterClcokInTime.split("\\|").length ==4){
// newPonit = newPonit +"|"+afterClcokInTime.split("\\|")[3];
// }
// clcokInTimeData.remove(afterClcokInTimeData);
// afterClcokInTimeData = Maps.newHashMap();
// afterClcokInTimeData.put(newPonit,nearestClcokInTime.get(ClockPointEnum.AFTER.getKey()));
// clcokInTimeData.add(i + 1,afterClcokInTimeData);
// }else {
// afterClcokInTimeData.put(afterClcokInTime, null);
// }
// }
} else if (DateUtil.getTime(signdateTime).compareTo(DateUtil.getTime(middileTime)) > 0) {
//该打卡归属后一个打卡点
beforeClcokInTimeData.put(beforeClcokInTime, null);

@ -29,10 +29,11 @@ public class AllowanceServiceImpl extends Service implements AllowanceService {
String userId = Util.null2String(param.get("userId"));
String analysisDate = Util.null2String(param.get("analysisDate"));
Map<String,Object> resultMap = Maps.newHashMap();
String sql = "select jtlx,sc,zt from uf_jcl_kq_cqjt where zt=1 and yg=? and rq=?";
List<Map<String,Object>> allowanceList = DbTools.getSqlToList(sql,userId,analysisDate);
List<Map<String,Object>> allowanceList = DbTools.getSqlToList(sql,userId,DateUtil.beforeDay(analysisDate,1));
if (allowanceList.size() == 0){
return null;
return resultMap;
}
Set<String> allowances = allowanceList.stream().map(e-> e.get("jtlx").toString()).collect(Collectors.toSet());
Map<String,List<Map<String,Object>>> allowanceGroupByList = allowanceList.stream().collect(Collectors.groupingBy(e->e.get("jtlx").toString()));
@ -40,7 +41,7 @@ public class AllowanceServiceImpl extends Service implements AllowanceService {
List<Map<String,Object>> itemList = DbTools.getSqlToList(sql);
Map<String,List<Map<String,Object>>> itemGroupbyList = itemList.stream().collect(Collectors.groupingBy(e->e.get("id").toString()));
Map<String,Object> resultMap = Maps.newHashMap();
allowanceGroupByList.entrySet().forEach(e -> {
String jtlx = e.getKey();
List<Map<String,Object>> list = e.getValue();
@ -97,13 +98,14 @@ public class AllowanceServiceImpl extends Service implements AllowanceService {
//早上打卡时间
String classEndTime = Util.null2String(lateMap.get("classEndTime"));
int index = 0;
for (Map<String,Object> abnormalClockIn:abnormalClockInList){
if (abnormalClockIn.get("itemType").equals(AttendanceItemTypeEnum.LATE) &&
abnormalClockIn.get("classStartTime").equals(lateMap.get("classStartTime")) ){
abnormalClockInList.remove(abnormalClockIn);
index = 0;
}
}
abnormalClockInList.remove(index);
//延迟上班后新的上班时间
String newClassStartTime = DateUtil.AfterMinutes(classStartTime,delayMinute);
@ -153,6 +155,8 @@ public class AllowanceServiceImpl extends Service implements AllowanceService {
saveWorkTimeBeLateParam.put("kczgsc",kczgsc);
saveWorkTimeBeLateParam.put("classStartTime",classStartTime);
saveWorkTimeBeLateParam.put("classEndTime",classEndTime);
saveWorkTimeBeLateParam.put("pointTime",lateMap.get("pointTime"));
saveWorkTimeBeLateParam.put("bdlx",lateMap.get("bdlx"));
abnormalClockInList.add(saveWorkTimeBeLateParam);
}

@ -156,10 +156,27 @@ public class UtilServiceImpl extends Service implements UtilService {
String kssjend = e.getKey() +" "+resultList.get(resultList.size()-1).get("dtkssj");
String kssj = e.getKey() +" "+overtimePlan.get("kssj");
if (DateUtil.getTime(kssj).compareTo(DateUtil.getTime(kssjbegin)) <0){
//加班计划在开头
if (resultList.get(0).get("dtkssj").equals(overtimePlan.get("jssj")) &&
resultList.get(0).get("ksdk").equals(CheckBoxEnum.CHECKED.getKey()) &&
map.get("ksdk").equals(CheckBoxEnum.CHECKED.getKey()) &&
map.get("jsdk").equals(CheckBoxEnum.CHECKED.getKey())){
//当加班结束时间和早上打卡时间重合时
}
resultList.add(0,map);
}else if (DateUtil.getTime(kssj).compareTo(DateUtil.getTime(kssjend)) >0){
//加班计划在末尾
if (resultList.get(0).get("dtjssj").equals(overtimePlan.get("kssj")) &&
resultList.get(0).get("jsdk").equals(CheckBoxEnum.CHECKED.getKey()) &&
map.get("ksdk").equals(CheckBoxEnum.CHECKED.getKey()) &&
map.get("jsdk").equals(CheckBoxEnum.CHECKED.getKey())){
//当加班结束时间和晚上下班时间重合时1
}
resultList.add(map);
}else {
//加班计划在中间
for (int j=1;j<resultList.size();j++){
String kssj1 = e.getKey() +" "+resultList.get(j).get("dtkssj");
String kssj2 = e.getKey() +" "+overtimePlan.get("kssj");

@ -37,7 +37,11 @@ public class AttendanceanalysisAction {
@Produces({"text/plain"})
public String getSchedulingData(@Context HttpServletRequest request, @Context HttpServletResponse response) {
try {
Map<String,Object> paramMap = ParamUtil.request2Map(request);
// Map<String,Object> paramMap = ParamUtil.request2Map(request);
Map<String,Object> paramMap = Maps.newHashMap();
paramMap.put("startDate","2024-04-10");
paramMap.put("endDate","2024-04-10");
paramMap.put("userIds","81");
String startDate = Util.null2String(paramMap.get("startDate"));
String startBeforeDate = DateUtil.beforeDay(startDate,1);
String endDate = Util.null2String(paramMap.get("endDate"));

@ -335,7 +335,7 @@ public class AttendanceAnalysisWrapper extends Service {
utilService.recordItem(recordParam);
return;
}
if (!"".equals(allowanceMap.get("delayMinute"))){
if (!"".equals(Util.null2String(allowanceMap.get("delayMinute")))){
recordAbnormalParam.put("delayMinute",allowanceMap.get("delayMinute"));
updateAttendanceResultWrapper.removeAbnormal(recordAbnormalParam);
}

@ -0,0 +1,22 @@
package TestAttendanceAllowance;
import com.engine.attendance.attendanceanalysis.web.AttendanceanalysisAction;
import com.google.common.collect.Maps;
import java.util.Map;
public class Test extends beforlog{
@org.junit.Test
public void testAnalysis(){
Map<String,Object> paramMap = Maps.newHashMap();
paramMap.put("startDate","2024-04-10");
paramMap.put("endDate","2024-04-10");
paramMap.put("userIds","81");
beforlog be = new beforlog();
AttendanceanalysisAction action = new AttendanceanalysisAction();
action.getSchedulingData(null,null);
}
}

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

@ -25,72 +25,79 @@ public class TestGetClockInPoint {
public static void main(String[] args) {
List<Map<String,Object>> schedulingList = Lists.newArrayList();
schedulingList.add(new HashMap(){{
put("edsc","9.50");
put("edsc","8");
put("bdlx","0");
put("jsdk","1");
put("tqdkfzs","720");
put("sfkt","1");
put("fgsjd","15:10");
put("jsdk","0");
put("tqdkfzs","120");
put("sfxx","0");
put("edxss","3.00");
put("sfkt","0");
put("dtjssj","12:00");
put("dtsfdx","0");
put("dtzddxfz","30");
put("btgz","0");
put("zddxfz","30");
put("bcxx","25");
put("bcxx","1");
put("dxhs","5");
put("bcsdxx","09:00-13:00|13:00-18:30");
put("bcsdxx","09:00-12:00|13:00-18:00");
put("sfdx","0");
put("dtkssj","09:00");
put("thdkfzs","720");
put("ksdk","0");
put("rqlx","11");
put("dtdxhs","5");
put("zgzsc","8.00");
put("thdkfzs","800");
put("ksdk","1");
put("rqlx","0");
}});
schedulingList.add(new HashMap(){{
put("edsc","9.50");
put("edsc","8");
put("bdlx","1");
put("fgsjd","15:10");
put("jsdk","0");
put("tqdkfzs","120");
put("sfkt","1");
put("tqdkfzs","");
put("sfxx","0");
put("edxss","3.00");
put("sfkt","0");
put("dtjssj","13:00");
put("dtsfdx","0");
put("dtzddxfz","30");
put("btgz","0");
put("zddxfz","30");
put("bcxx","25");
put("bcxx","1");
put("dxhs","5");
put("bcsdxx","09:00-13:00|13:00-18:30");
put("sfdx","1");
put("dtkssj","12:00");
put("thdkfzs","120");
put("bcsdxx","09:00-12:00|13:00-18:00");
put("sfdx","0");
put("dtkssj","09:00");
put("dtdxhs","5");
put("zgzsc","8.00");
put("thdkfzs","");
put("ksdk","0");
put("rqlx","11");
put("rqlx","0");
}});
schedulingList.add(new HashMap(){{
put("edsc","9.50");
put("bdlx","0");
put("jsdk","0");
put("tqdkfzs","720");
put("sfkt","1");
put("edsc","8");
put("bdlx","1");
put("fgsjd","15:10");
put("jsdk","1");
put("tqdkfzs","800");
put("sfxx","0");
put("edxss","3.00");
put("sfkt","0");
put("dtjssj","18:00");
put("dtsfdx","0");
put("dtzddxfz","30");
put("btgz","0");
put("zddxfz","30");
put("bcxx","25");
put("bcxx","1");
put("dxhs","5");
put("bcsdxx","09:00-13:00|13:00-18:30");
put("sfdx","1");
put("bcsdxx","09:00-12:00|13:00-18:00");
put("sfdx","0");
put("dtkssj","13:00");
put("thdkfzs","720");
put("ksdk","1");
put("rqlx","11");
}});
schedulingList.add(new HashMap(){{
put("edsc","9.50");
put("bdlx","1");
put("jsdk","0");
put("tqdkfzs","120");
put("sfkt","1");
put("dtjssj","19:00");
put("zddxfz","30");
put("bcxx","25");
put("dxhs","5");
put("bcsdxx","09:00-13:00|13:00-18:30");
put("sfdx","1");
put("dtkssj","18:00");
put("thdkfzs","120");
put("dtdxhs","5");
put("zgzsc","8.00");
put("thdkfzs","800");
put("ksdk","0");
put("rqlx","11");
put("rqlx","0");
}});
// schedulingList.add(new HashMap(){{
// put("edsc","9.50");
@ -112,18 +119,18 @@ public class TestGetClockInPoint {
List<Map<String,Object>> dataList = Lists.newArrayList();
// dataList.add(new HashMap(){{
// put("signtime","11:20:00");
// put("id","48");
// put("userid","53");
// put("signdate","2023-11-12");
// }});
// dataList.add(new HashMap(){{
// put("signtime","13:20:00");
// put("id","48");
// put("userid","53");
// put("signdate","2023-11-12");
// }});
dataList.add(new HashMap(){{
put("signtime","09:42:00");
put("id","48");
put("userid","81");
put("signdate","2024-04-10");
}});
dataList.add(new HashMap(){{
put("signtime","20:46:00");
put("id","48");
put("userid","81");
put("signdate","2024-04-10");
}});
// dataList.add(new HashMap(){{
// put("signtime","18:29:00");
// put("id","48");
@ -157,297 +164,16 @@ public class TestGetClockInPoint {
// put("ksdk","0");
// put("rqlx","11");
// }});
param.put("analysisDate","2023-11-12");
param.put("analysisDate","2024-04-10");
param.put("scheduleResult",schedulingList);
param.put("clockInTimeList",dataList);
param.put("askForLeaveAndEvctionSchedule",askForLeaveAndEvctionSchedule);
// List<Map<String, Map<String,Object>>> collect = getClockInPoint("2023-11-12",schedulingList,dataList);
List<Map<String, Map<String,Object>>> collect = (List<Map<String, Map<String, Object>>>)new GetClockInPointCmd(param).execute(null).get("clcokInTimeData");
// Map<String,Object> clock = getNeedRecordClockInTime(collect);
// System.out.println(clock);
}
public static List<Map<String, Map<String,Object>>> getClockInPoint(String analysisDate, List<Map<String, Object>> needClockInSchedule, List<Map<String, Object>> clockInTimeList){
List<Map<String,Map<String,Object>>> clcokInTimeData = Lists.newArrayList();
for (Map<String, Object> needClockIn :needClockInSchedule){
if (CheckBoxEnum.CHECKED.getKey().equals(needClockIn.get("ksdk"))){
String dtkssj = analysisDate+" "+needClockIn.get("dtkssj");
String dtjssj = analysisDate+" "+needClockIn.get("dtjssj");
if (DateUtil.getTime(dtkssj).compareTo(DateUtil.getTime(dtjssj)) > 0){
dtjssj = DateUtil.AfterDay(analysisDate,1) +" "+needClockIn.get("dtjssj");
}
int tqdkfzs = Integer.valueOf(Util.null2String(needClockIn.get("tqdkfzs")));
Map<String,Map<String,Object>> ksdkNearestClcokInTime = Utils.getNearestClcokInTimeCmd(dtkssj,clockInTimeList);
String timeType = ClockPointEnum.EMPTY.getKey();
Map<String,Map<String,Object>> clcokInTimeMap = Maps.newHashMap();
if (ksdkNearestClcokInTime.get(ClockPointEnum.EQUAL.getKey()) != null){
timeType=ClockPointEnum.EQUAL.getKey();
}
if (ClockPointEnum.EMPTY.getKey().equals(timeType) && ksdkNearestClcokInTime.get(ClockPointEnum.BEFORE.getKey()) != null){
String clockInTime = ksdkNearestClcokInTime.get(ClockPointEnum.BEFORE.getKey()).get("signdate") +" "+ksdkNearestClcokInTime.get(ClockPointEnum.BEFORE.getKey()).get("signtime");
if (DateUtil.getTime(clockInTime).compareTo(DateUtil.getTime(DateUtil.beforeMinutes(dtkssj,tqdkfzs))) >=0){
//打卡时间大于等于最早打卡时间
timeType=ClockPointEnum.BEFORE.getKey();
}
}
if (ClockPointEnum.EMPTY.getKey().equals(timeType) && ksdkNearestClcokInTime.get(ClockPointEnum.AFTER.getKey()) != null){
String clockInTime = ksdkNearestClcokInTime.get(ClockPointEnum.AFTER.getKey()).get("signdate") +" "+ksdkNearestClcokInTime.get(ClockPointEnum.AFTER.getKey()).get("signtime");
if (DateUtil.getTime(clockInTime).compareTo(DateUtil.getTime(dtjssj)) < 0){
//打卡时间小于结束时间
timeType=ClockPointEnum.AFTER.getKey();
}
}
clcokInTimeMap.put(dtkssj+"|"+ClockPointEnum.START.getKey()+"|"+timeType,ksdkNearestClcokInTime.get(timeType));
clcokInTimeData.add(clcokInTimeMap);
}
if (CheckBoxEnum.CHECKED.getKey().equals(needClockIn.get("jsdk"))){
String dtkssj = analysisDate+" "+needClockIn.get("dtkssj");
String dtjssj = analysisDate+" "+needClockIn.get("dtjssj");
int thdkfzs = Integer.valueOf(Util.null2String(needClockIn.get("thdkfzs")));
if (DateUtil.getTime(dtkssj).compareTo(DateUtil.getTime(dtjssj)) > 0){
dtjssj = DateUtil.AfterDay(analysisDate,1) +" "+needClockIn.get("dtjssj");
}
Map<String,Map<String,Object>> jsdkNearestClcokInTime = Utils.getNearestClcokInTimeCmd(dtjssj,clockInTimeList);
String timeType = ClockPointEnum.EMPTY.getKey();
Map<String,Map<String,Object>> clcokInTimeMap = Maps.newHashMap();
if (jsdkNearestClcokInTime.get(ClockPointEnum.EQUAL.getKey()) != null){
timeType=ClockPointEnum.EQUAL.getKey();
}
if (ClockPointEnum.EMPTY.getKey().equals(timeType) && jsdkNearestClcokInTime.get(ClockPointEnum.AFTER.getKey()) != null){
String clockInTime = jsdkNearestClcokInTime.get(ClockPointEnum.AFTER.getKey()).get("signdate") +" "+jsdkNearestClcokInTime.get(ClockPointEnum.AFTER.getKey()).get("signtime");
if (DateUtil.getTime(clockInTime).compareTo(DateUtil.getTime(DateUtil.AfterMinutes(dtjssj,thdkfzs))) <=0){
timeType=ClockPointEnum.AFTER.getKey();
}
}
if (ClockPointEnum.EMPTY.getKey().equals(timeType) && jsdkNearestClcokInTime.get(ClockPointEnum.BEFORE.getKey()) != null){
String clockInTime = jsdkNearestClcokInTime.get(ClockPointEnum.BEFORE.getKey()).get("signdate") +" "+jsdkNearestClcokInTime.get(ClockPointEnum.BEFORE.getKey()).get("signtime");
if (DateUtil.getTime(clockInTime).compareTo(DateUtil.getTime(dtkssj)) >0){
timeType=ClockPointEnum.BEFORE.getKey();
}
}
clcokInTimeMap.put(dtjssj+"|"+ClockPointEnum.END.getKey()+"|"+timeType,jsdkNearestClcokInTime.get(timeType));
clcokInTimeData.add(clcokInTimeMap);
}
}
clcokInTimeData = clcokInTimeData.stream().sorted(Comparator.comparing(e->{
//卡点
String point = "";
//当天打卡数据
for (Map.Entry<String,Map<String,Object>> entry :e.entrySet()){
point = entry.getKey();
}
return DateUtil.getTime(point.split("\\|")[0]).toInstant(ZoneOffset.of("+8")).toEpochMilli();
})).collect(Collectors.toList());
//当弹性上下班时
if (needClockInSchedule.size() > 0){
//是否弹性
String sfdx = Util.null2String(needClockInSchedule.get(0).get("sfdx"));
//最大弹性分钟
int zddxfz = Integer.valueOf(Util.null2String(needClockInSchedule.get(0).get("zddxfz")));
//弹性核算
int dxhs = Integer.valueOf(Util.null2String(needClockInSchedule.get(0).get("dxhs")));
if (CheckBoxEnum.CHECKED.getKey().equals(sfdx)){
//上下班弹性
List<Map<String, Object>> needClockInStartList = needClockInSchedule.stream().filter(e -> ClassSegmentTypeEnum.WORK_TIME.getKey().equals(e.get("bdlx")) && CheckBoxEnum.CHECKED.getKey().equals(e.get("ksdk"))).collect(Collectors.toList());
List<Map<String, Object>> needClockInEndList = needClockInSchedule.stream().filter(e -> ClassSegmentTypeEnum.WORK_TIME.getKey().equals(e.get("bdlx")) && CheckBoxEnum.CHECKED.getKey().equals(e.get("jsdk"))).collect(Collectors.toList());
if (needClockInStartList.size()>0 && needClockInEndList.size()>0){
Map<String, Object> ksdkMap = needClockInStartList.get(0);
String kssjStart = analysisDate + " " +Util.null2String(ksdkMap.get("dtkssj"));
String jssjStart = analysisDate +" "+Util.null2String(ksdkMap.get("dtjssj"));
Map<String, Object> jsdkMap = needClockInEndList.get(needClockInEndList.size()-1);
int thdkfzs = Integer.valueOf(Util.null2String(jsdkMap.get("thdkfzs")));
String kssjEnd = analysisDate + " " +Util.null2String(jsdkMap.get("dtkssj"));
String jssjEnd = analysisDate +" "+Util.null2String(jsdkMap.get("dtjssj"));
if (ksdkMap != jsdkMap){
if (DateUtil.getTime(kssjStart).compareTo(DateUtil.getTime(jssjStart)) > 0){
kssjStart = DateUtil.beforeDay(analysisDate,1)+" "+Util.null2String(ksdkMap.get("dtkssj"));
}
if (DateUtil.getTime(kssjEnd).compareTo(DateUtil.getTime(jssjEnd)) > 0){
jssjEnd = DateUtil.AfterDay(analysisDate,1)+" "+Util.null2String(jsdkMap.get("dtjssj"));
}
}else {
jssjEnd = DateUtil.AfterDay(analysisDate,1)+" "+Util.null2String(jsdkMap.get("dtjssj"));
}
//弹性上班卡
String flexibleWork = "";
for (int i=0;i<clcokInTimeData.size();i++){
Map<String,Map<String,Object>> clcokInTimeMap = clcokInTimeData.get(i);
//卡点
String point = "";
//当天打卡数据
Map<String,Object> clcokInTime = null;
for (Map.Entry<String,Map<String,Object>> entry :clcokInTimeMap.entrySet()){
point = entry.getKey();
clcokInTime = entry.getValue();
}
//需要计算的班次打卡时间点
String pointTime = point.split("\\|")[0];
//start开始打卡时间点end结束打卡时间点
String pointType = point.split("\\|")[1];
//empty:漏卡equal:打卡时间和班次时间相等before打卡时间在班次时间之前after打卡时间在班次时间之后
String timeType = point.split("\\|")[2];
if (pointTime.equals(kssjStart) && ClockPointEnum.START.getKey().equals(pointType) && clcokInTime != null){
String signTime = clcokInTime.get("signdate")+" "+clcokInTime.get("signtime");
//该卡点是弹性开始时间
if (ClockPointEnum.BEFORE.getKey().equals(timeType)){
int betWeenTime = DateUtil.getBetWeenMinutes(signTime,kssjStart);
String newPonit = point;
if (betWeenTime <= zddxfz){
betWeenTime = Double.valueOf(Utils.getItemdurationDown(5.0, AccountingUnitEnum.MINUTES.getKey(),betWeenTime,AccountingUnitEnum.MINUTES)).intValue();
flexibleWork = DateUtil.beforeMinutes(kssjStart,betWeenTime);
newPonit = pointTime+"|"+pointType+"|"+ClockPointEnum.EQUAL.getKey()+"|"+flexibleWork;
}else if (betWeenTime > zddxfz){
newPonit = point +"|"+DateUtil.beforeMinutes(kssjStart,zddxfz);
flexibleWork = DateUtil.beforeMinutes(kssjStart,zddxfz);
}
clcokInTimeMap.remove(point);
clcokInTimeMap.put(newPonit,clcokInTime);
}else if (ClockPointEnum.AFTER.getKey().equals(timeType)){
//迟到
String newPonit = point;
int betWeenTime = DateUtil.getBetWeenMinutes(kssjStart,signTime);
if (betWeenTime <= zddxfz){
betWeenTime = Double.valueOf(Utils.getItemduration(5.0, AccountingUnitEnum.MINUTES.getKey(),betWeenTime,AccountingUnitEnum.MINUTES)).intValue();
flexibleWork = DateUtil.AfterMinutes(kssjStart,betWeenTime);
newPonit = pointTime+"|"+pointType+"|"+ClockPointEnum.EQUAL.getKey()+"|"+flexibleWork;
}else if (betWeenTime > zddxfz){
newPonit = point +"|"+DateUtil.AfterMinutes(kssjStart,zddxfz);
flexibleWork = DateUtil.AfterMinutes(kssjStart,zddxfz);
}
clcokInTimeMap.remove(point);
clcokInTimeMap.put(newPonit,clcokInTime);
}
}else if (pointTime.equals(jssjEnd) && ClockPointEnum.END.getKey().equals(pointType) && clcokInTime != null){
//该卡点是弹性下班点
int betweenToWorkTime = DateUtil.getBetWeenMinutes(flexibleWork,kssjStart);
//弹性下班时间点
String flexibleOffWork = jssjEnd;
if (betweenToWorkTime >=0){
flexibleOffWork = DateUtil.beforeMinutes(flexibleOffWork,Math.abs(betweenToWorkTime));
}else if (betweenToWorkTime < 0){
flexibleOffWork = DateUtil.AfterMinutes(flexibleOffWork,Math.abs(betweenToWorkTime));
}
//根据弹性下班时间点重新计算
Map<String,Map<String,Object>> jsdkNearestClcokInTime = Utils.getNearestClcokInTimeCmd(flexibleOffWork,clockInTimeList);
String newtimeType = ClockPointEnum.EMPTY.getKey();
if (jsdkNearestClcokInTime.get(ClockPointEnum.EQUAL.getKey()) != null){
newtimeType=ClockPointEnum.EQUAL.getKey();
}
if (ClockPointEnum.EMPTY.getKey().equals(newtimeType) && jsdkNearestClcokInTime.get(ClockPointEnum.AFTER.getKey()) != null){
String clockInTime = jsdkNearestClcokInTime.get(ClockPointEnum.AFTER.getKey()).get("signdate") +" "+jsdkNearestClcokInTime.get(ClockPointEnum.AFTER.getKey()).get("signtime");
if (DateUtil.getTime(clockInTime).compareTo(DateUtil.getTime(DateUtil.AfterMinutes(flexibleOffWork,thdkfzs))) <=0){
newtimeType=ClockPointEnum.AFTER.getKey();
}
}
if (ClockPointEnum.EMPTY.getKey().equals(newtimeType) && jsdkNearestClcokInTime.get(ClockPointEnum.BEFORE.getKey()) != null){
String clockInTime = jsdkNearestClcokInTime.get(ClockPointEnum.BEFORE.getKey()).get("signdate") +" "+jsdkNearestClcokInTime.get(ClockPointEnum.BEFORE.getKey()).get("signtime");
if (DateUtil.getTime(clockInTime).compareTo(DateUtil.getTime(kssjEnd)) >0){
newtimeType=ClockPointEnum.BEFORE.getKey();
}
}
String newPonit = jssjEnd+"|"+ClockPointEnum.END.getKey()+"|"+newtimeType+"|"+flexibleOffWork;
clcokInTimeMap.remove(point);
clcokInTimeMap.put(newPonit,jsdkNearestClcokInTime.get(newtimeType));
}
}
}
}
}
//当有2笔需要打卡时可能会有打卡歧义的情况歧义情况取2个时间点的中间值当打卡时间小于中间值归属前一个打卡大于则相反
if (clcokInTimeData.size() >1){
for (int i=0;i<clcokInTimeData.size()-1;i++){
Map<String,Map<String,Object>> beforeClcokInTimeData = clcokInTimeData.get(i);
Map<String,Map<String,Object>> afterClcokInTimeData = clcokInTimeData.get(i+1);
Map<String,Object> beforeClcokInTimeMap = null;
String beforeClcokInTime = "";
String afterClcokInTime = "";
Map<String,Object> afterClcokInTimeMap = null;
for (Map.Entry<String,Map<String,Object>> beforeEntry :beforeClcokInTimeData.entrySet()){
beforeClcokInTimeMap = beforeEntry.getValue();
beforeClcokInTime = beforeEntry.getKey();
}
for (Map.Entry<String,Map<String,Object>> afterEntry :afterClcokInTimeData.entrySet()){
afterClcokInTimeMap = afterEntry.getValue();
afterClcokInTime = afterEntry.getKey();
}
//重复
if (beforeClcokInTimeMap != null && beforeClcokInTimeMap == afterClcokInTimeMap ){
String beforeTime = beforeClcokInTime.split("\\|")[0];
String afterTime = afterClcokInTime.split("\\|")[0];
long betWeenMinutes = DateUtil.getBetWeenMinutes(beforeTime,afterTime);
String middileTime = DateUtil.AfterMinutes(beforeTime,betWeenMinutes/2);
String signdateTime = beforeClcokInTimeMap.get("signdate") +" "+beforeClcokInTimeMap.get("signtime");
if (DateUtil.getTime(signdateTime).compareTo(DateUtil.getTime(middileTime)) <=0){
//该打卡归属前一个打卡点
afterClcokInTimeData.put(afterClcokInTime,null);
}else if (DateUtil.getTime(signdateTime).compareTo(DateUtil.getTime(middileTime)) >0){
//该打卡归属后一个打卡点
beforeClcokInTimeData.put(beforeClcokInTime,null);
}
}
}
}
return clcokInTimeData;
}
public static Map<String, Object> getNeedRecordClockInTime(List<Map<String,Map<String,Object>>> clcokInTimeData) {
Map<String, Object> resultMap = Maps.newHashMap();
int inIndex = 1;
int outIndex = 1;
for (Map<String,Map<String,Object>> clcokInTimeMap : clcokInTimeData){
//卡点
String point = "";
//当天打卡数据
Map<String,Object> clcokInTime = null;
for (Map.Entry<String,Map<String,Object>> entry :clcokInTimeMap.entrySet()){
point = entry.getKey();
clcokInTime = entry.getValue();
}
//需要计算的班次打卡时间点
String pointTime = point.split("\\|")[0];
//start开始打卡时间点end结束打卡时间点
String pointType = point.split("\\|")[1];
//empty:漏卡equal:打卡时间和班次时间相等before打卡时间在班次时间之前after打卡时间在班次时间之后
String timeType = point.split("\\|")[2];
if (ClockPointEnum.START.getKey().equals(pointType)){
//开始时间打卡
String key = "j"+inIndex;
if (!ClockPointEnum.EMPTY.getKey().equals(timeType) && clcokInTimeData != null){
String value = clcokInTime.get("signdate")+" "+clcokInTime.get("signtime");
resultMap.put(key,value);
}
inIndex++;
}else if (ClockPointEnum.END.getKey().equals(pointType)){
//结束时间打卡
String key = "c"+outIndex;
if (!ClockPointEnum.EMPTY.getKey().equals(timeType) && clcokInTimeData != null){
String value = clcokInTime.get("signdate")+" "+clcokInTime.get("signtime");
resultMap.put(key,value);
}
outIndex++;
}
}
return resultMap;
}
}

Loading…
Cancel
Save