修改出勤结果逻辑

zm_dev
liuliang 10 months ago
parent 9107be551e
commit cb829cc11a

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

@ -11,39 +11,35 @@
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="baeb3dfb-5097-46c5-933e-6d1dab18b815" name="Changes" comment=""> <list default="true" id="baeb3dfb-5097-46c5-933e-6d1dab18b815" name="Changes" comment="">
<change beforePath="$PROJECT_DIR$/.idea/dataSources/ade958e9-d72b-48ba-8be1-0441de7da9a5/entities/entities.dat" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/dataSources/ade958e9-d72b-48ba-8be1-0441de7da9a5/entities/entities.dat" afterDir="false" /> <change beforePath="$PROJECT_DIR$/.idea/dataSources/ade958e9-d72b-48ba-8be1-0441de7da9a5/entities/entities.dat" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/dataSources/ade958e9-d72b-48ba-8be1-0441de7da9a5/entities/entities.dat" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/dataSources/ade958e9-d72b-48ba-8be1-0441de7da9a5/entities/entities.dat.values" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/dataSources/ade958e9-d72b-48ba-8be1-0441de7da9a5/entities/entities.dat.values" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/dataSources/ade958e9-d72b-48ba-8be1-0441de7da9a5/entities/entities.dat.values.at" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/dataSources/ade958e9-d72b-48ba-8be1-0441de7da9a5/entities/entities.dat.values.at" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/dataSources/ade958e9-d72b-48ba-8be1-0441de7da9a5/entities/entities.dat.values.s" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/dataSources/ade958e9-d72b-48ba-8be1-0441de7da9a5/entities/entities.dat.values.s" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/dataSources/ade958e9-d72b-48ba-8be1-0441de7da9a5/entities/entities.dat_i" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/dataSources/ade958e9-d72b-48ba-8be1-0441de7da9a5/entities/entities.dat_i" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" /> <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/WEB-INF/sqllog/ecologysql" beforeDir="false" afterPath="$PROJECT_DIR$/WEB-INF/sqllog/ecologysql" afterDir="false" /> <change beforePath="$PROJECT_DIR$/WEB-INF/sqllog/ecologysql" beforeDir="false" afterPath="$PROJECT_DIR$/WEB-INF/sqllog/ecologysql" afterDir="false" />
<change beforePath="$PROJECT_DIR$/log/sdk.log" beforeDir="false" afterPath="$PROJECT_DIR$/log/sdk.log" afterDir="false" /> <change beforePath="$PROJECT_DIR$/log/sdk.log" beforeDir="false" afterPath="$PROJECT_DIR$/log/sdk.log" afterDir="false" />
<change beforePath="$PROJECT_DIR$/out/artifacts/hrm_attendance/hrm-attendance.jar" beforeDir="false" afterPath="$PROJECT_DIR$/out/artifacts/hrm_attendance/hrm-attendance.jar" afterDir="false" /> <change beforePath="$PROJECT_DIR$/out/artifacts/hrm_attendance/hrm-attendance.jar" beforeDir="false" afterPath="$PROJECT_DIR$/out/artifacts/hrm_attendance/hrm-attendance.jar" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/ComputeAttendanceDurationCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/ComputeAttendanceDurationCmd.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/GetEvectionCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/GetEvectionCmd.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/getclockInpoint/GetClockInPointCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/getclockInpoint/GetClockInPointCmd.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/web/AttendanceanalysisAction.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/web/AttendanceanalysisAction.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/web/AttendanceanalysisAction.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/web/AttendanceanalysisAction.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/component/calendarscheduling/service/impl/WorkRulesServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/component/calendarscheduling/service/impl/WorkRulesServiceImpl.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/wrapper/UpdateAttendanceResultWrapper.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/wrapper/UpdateAttendanceResultWrapper.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/cmd/GetDatatableCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/cmd/GetDatatableCmd.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/cmd/GetDatatableCountCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/cmd/GetDatatableCountCmd.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/cmd/GetDatatableRecurrenceCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/cmd/GetDatatableRecurrenceCmd.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/commonutil/PersongroupCommonUtil.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/commonutil/PersongroupCommonUtil.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/commonutil/PersongroupCommonUtil.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/commonutil/PersongroupCommonUtil.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/job/scheduling/tactics/DayRegularScheduling.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/job/scheduling/tactics/DayRegularScheduling.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/com/engine/common/util/Utils.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/common/util/Utils.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/job/scheduling/tactics/MonthRegularScheduling.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/job/scheduling/tactics/MonthRegularScheduling.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/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$/src/com/engine/attendance/component/persongroup/job/scheduling/tactics/WeekRegularScheduling.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/job/scheduling/tactics/WeekRegularScheduling.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/GetEvectionCmd$1.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/GetEvectionCmd$1.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/job/scheduling/tactics/YearRegularScheduling.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/job/scheduling/tactics/YearRegularScheduling.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/getclockInpoint/GetClockInPointCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/getclockInpoint/GetClockInPointCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/service/impl/PersonGroupServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/service/impl/PersonGroupServiceImpl.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/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$/src/com/engine/attendance/component/persongroup/service/impl/SchedulingResultsServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/service/impl/SchedulingResultsServiceImpl.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/wrapper/UpdateAttendanceResultWrapper$1.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/wrapper/UpdateAttendanceResultWrapper$1.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/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/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/component/persongroup/cmd/GetDatatableCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/persongroup/cmd/GetDatatableCmd.class" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/persongroup/service/impl/PersonGroupServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/persongroup/service/impl/PersonGroupServiceImpl.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/persongroup/cmd/GetDatatableCountCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/persongroup/cmd/GetDatatableCountCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/persongroup/cmd/GetDatatableRecurrenceCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/persongroup/cmd/GetDatatableRecurrenceCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/persongroup/commonutil/PersongroupCommonUtil.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/persongroup/commonutil/PersongroupCommonUtil.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/persongroup/job/scheduling/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/SchedulingResultsServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/persongroup/service/impl/SchedulingResultsServiceImpl.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/service/AskForLeaveService.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/service/AskForLeaveService.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/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/AskForLeaveServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/service/impl/AskForLeaveServiceImpl.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/web/AskForLeaveAction.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/web/AskForLeaveAction.class" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/common/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/DateUtil.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/common/util/DateUtil.class" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/common/util/Utils$2.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/common/util/Utils$2.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/common/util/Utils$3.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/common/util/Utils$3.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/common/util/Utils.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/common/util/Utils.class" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/common/util/Utils.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/common/util/Utils.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/test-classes/web/TestSchedulingResultsAction.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/test-classes/web/TestSchedulingResultsAction.class" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/test-classes/TestAttendanceAllowance/Test.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/test-classes/TestAttendanceAllowance/Test.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/test/web/TestSchedulingResultsAction.java" beforeDir="false" afterPath="$PROJECT_DIR$/test/web/TestSchedulingResultsAction.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/test/TestAttendanceAllowance/Test.java" beforeDir="false" afterPath="$PROJECT_DIR$/test/TestAttendanceAllowance/Test.java" afterDir="false" />
</list> </list>
<option name="SHOW_DIALOG" value="false" /> <option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" /> <option name="HIGHLIGHT_CONFLICTS" value="true" />
@ -732,7 +728,11 @@
<workItem from="1719970461520" duration="6073000" /> <workItem from="1719970461520" duration="6073000" />
<workItem from="1719984929657" duration="11486000" /> <workItem from="1719984929657" duration="11486000" />
<workItem from="1720056499151" duration="5500000" /> <workItem from="1720056499151" duration="5500000" />
<workItem from="1720071605340" duration="5847000" /> <workItem from="1720071605340" duration="6183000" />
<workItem from="1720083750296" duration="7573000" />
<workItem from="1720099326817" duration="2000" />
<workItem from="1720144120321" duration="6353000" />
<workItem from="1720157535171" duration="1191000" />
</task> </task>
<servers /> <servers />
</component> </component>
@ -787,39 +787,44 @@
<option name="timeStamp" value="138" /> <option name="timeStamp" value="138" />
</line-breakpoint> </line-breakpoint>
<line-breakpoint enabled="true" type="java-line"> <line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/wrapper/UpdateAttendanceResultWrapper.java</url> <url>file://$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/cmd/DeleteBatchScheduleCmd.java</url>
<line>414</line> <line>28</line>
<option name="timeStamp" value="183" /> <option name="timeStamp" value="186" />
</line-breakpoint> </line-breakpoint>
<line-breakpoint enabled="true" type="java-line"> <line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/wrapper/UpdateAttendanceResultWrapper.java</url> <url>file://$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/RecordDataCmd.java</url>
<line>422</line> <line>100</line>
<option name="timeStamp" value="184" /> <option name="timeStamp" value="198" />
</line-breakpoint> </line-breakpoint>
<line-breakpoint enabled="true" type="java-line"> <line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/cmd/DeleteBatchScheduleCmd.java</url> <url>file://$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/ComputeAttendanceDurationCmd.java</url>
<line>28</line> <line>114</line>
<option name="timeStamp" value="186" /> <option name="timeStamp" value="199" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/ComputeAttendanceDurationCmd.java</url>
<line>69</line>
<option name="timeStamp" value="200" />
</line-breakpoint> </line-breakpoint>
<line-breakpoint enabled="true" type="java-line"> <line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/GetScheduleResultListCmd.java</url> <url>file://$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/getclockInpoint/GetClockInPointCmd.java</url>
<line>47</line> <line>330</line>
<option name="timeStamp" value="189" /> <option name="timeStamp" value="204" />
</line-breakpoint> </line-breakpoint>
<line-breakpoint enabled="true" type="java-line"> <line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/service/impl/SchedulingResultsServiceImpl.java</url> <url>file://$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/getclockInpoint/GetClockInPointCmd.java</url>
<line>35</line> <line>296</line>
<option name="timeStamp" value="190" /> <option name="timeStamp" value="205" />
</line-breakpoint> </line-breakpoint>
<line-breakpoint enabled="true" type="java-line"> <line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/service/impl/UtilServiceImpl.java</url> <url>file://$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/getclockInpoint/GetClockInPointCmd.java</url>
<line>42</line> <line>912</line>
<option name="timeStamp" value="191" /> <option name="timeStamp" value="208" />
</line-breakpoint> </line-breakpoint>
<line-breakpoint enabled="true" type="java-line"> <line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/service/impl/UtilServiceImpl.java</url> <url>file://$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/getclockInpoint/GetClockInPointCmd.java</url>
<line>40</line> <line>209</line>
<option name="timeStamp" value="192" /> <option name="timeStamp" value="209" />
</line-breakpoint> </line-breakpoint>
</breakpoints> </breakpoints>
</breakpoint-manager> </breakpoint-manager>
@ -840,7 +845,7 @@
<SUITE FILE_PATH="coverage/hrm_attendance$TestgetDepartSchedule_test2.ic" NAME="TestgetDepartSchedule.test2 Coverage Results" MODIFIED="1718071420719" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="idea" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false"> <SUITE FILE_PATH="coverage/hrm_attendance$TestgetDepartSchedule_test2.ic" NAME="TestgetDepartSchedule.test2 Coverage Results" MODIFIED="1718071420719" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="idea" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false">
<FILTER>calendarscheduling.*</FILTER> <FILTER>calendarscheduling.*</FILTER>
</SUITE> </SUITE>
<SUITE FILE_PATH="coverage/hrm_attendance$Test_testAnalysis.ic" NAME="Test.testAnalysis Coverage Results" MODIFIED="1718334152101" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="idea" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false"> <SUITE FILE_PATH="coverage/hrm_attendance$Test_testAnalysis.ic" NAME="Test.testAnalysis Coverage Results" MODIFIED="1720084643105" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="idea" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false">
<FILTER>TestAttendanceAllowance.*</FILTER> <FILTER>TestAttendanceAllowance.*</FILTER>
</SUITE> </SUITE>
<SUITE FILE_PATH="coverage/hrm_attendance$Test1_test1.ic" NAME="Test1.test1 Coverage Results" MODIFIED="1714384548356" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="idea" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false"> <SUITE FILE_PATH="coverage/hrm_attendance$Test1_test1.ic" NAME="Test1.test1 Coverage Results" MODIFIED="1714384548356" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="idea" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false">

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

@ -65,7 +65,7 @@ public class ComputeAttendanceDurationCmd extends AbstractCommonCommand<Map<Stri
* *
*/ */
//abnormalClockInList = abnormalClockInList.stream().filter(e->e.get("bdlx").equals(ClassSegmentTypeEnum.WORK_TIME.getKey())).collect(Collectors.toList()); //abnormalClockInList = abnormalClockInList.stream().filter(e->e.get("bdlx").equals(ClassSegmentTypeEnum.WORK_TIME.getKey())).collect(Collectors.toList());
Map<Object,List<Map<String,Object>>> abnormalClockInGroupMap = abnormalClockInList.stream().filter(e->e.get("bdlx").equals(ClassSegmentTypeEnum.WORK_TIME.getKey()) && e.get("clcokInTimeData") != null) Map<Object,List<Map<String,Object>>> abnormalClockInGroupMap = abnormalClockInList.stream().filter(e->(e.get("bdlx").equals(ClassSegmentTypeEnum.WORK_TIME.getKey()) || e.get("bdlx").equals(ClassSegmentTypeEnum.ASK_FOR_LEAVE.getKey()) || e.get("bdlx").equals(ClassSegmentTypeEnum.EVECTION.getKey())) && e.get("clcokInTimeData") != null)
.collect(Collectors.groupingBy(e->Util.null2String(e.get("clcokInTimeData")))); .collect(Collectors.groupingBy(e->Util.null2String(e.get("clcokInTimeData"))));
List<Map<String,Object>> filterAbnormalList = Lists.newArrayList(); List<Map<String,Object>> filterAbnormalList = Lists.newArrayList();
abnormalClockInGroupMap.entrySet().forEach(e->{ abnormalClockInGroupMap.entrySet().forEach(e->{
@ -78,7 +78,7 @@ public class ComputeAttendanceDurationCmd extends AbstractCommonCommand<Map<Stri
filterAbnormalList.add(list.get(0)); filterAbnormalList.add(list.get(0));
} }
}); });
filterAbnormalList.addAll(abnormalClockInList.stream().filter(e->e.get("bdlx").equals(ClassSegmentTypeEnum.WORK_TIME.getKey()) && e.get("clcokInTimeData") == null).collect(Collectors.toList())); filterAbnormalList.addAll(abnormalClockInList.stream().filter(e->(e.get("bdlx").equals(ClassSegmentTypeEnum.WORK_TIME.getKey()) || e.get("bdlx").equals(ClassSegmentTypeEnum.ASK_FOR_LEAVE.getKey()) || e.get("bdlx").equals(ClassSegmentTypeEnum.EVECTION.getKey())) && e.get("clcokInTimeData") == null).collect(Collectors.toList()));
double abnormalTime = 0; double abnormalTime = 0;
for (Map<String,Object> abnormalClockInMap : filterAbnormalList){ for (Map<String,Object> abnormalClockInMap : filterAbnormalList){
@ -184,11 +184,13 @@ public class ComputeAttendanceDurationCmd extends AbstractCommonCommand<Map<Stri
double employTime = 0; double employTime = 0;
double edsc = Double.valueOf(scheduleResult.get(0).get("edsc").toString()); double edsc = Double.valueOf(scheduleResult.get(0).get("edsc").toString());
for (int i=0;i<evectionList.size();i++){ for (int i=0;i<evectionList.size();i++){
//请假时长 //出差时长
String ccsc = Util.null2String(evectionList.get(i).get("ccsc")); String ccsc = Util.null2String(evectionList.get(i).get("ccsc"));
//请假项目 //出差时长分钟数
int ccscMinute = "".equals(ccsc)?0:Double.valueOf(Math.ceil(Double.valueOf(ccsc)*60)).intValue();
//出差项目
Map<String,Object> askForLeaveItem = evectionItems.get(evectionList.get(i).get("cclx")); Map<String,Object> askForLeaveItem = evectionItems.get(evectionList.get(i).get("cclx"));
//半天请假 //半天出差
String btcc = Util.null2String(evectionList.get(i).get("btcc")); String btcc = Util.null2String(evectionList.get(i).get("btcc"));
//作用时段 //作用时段
String zysd = Util.null2String(askForLeaveItem.get("zysd")); String zysd = Util.null2String(askForLeaveItem.get("zysd"));
@ -212,14 +214,19 @@ public class ComputeAttendanceDurationCmd extends AbstractCommonCommand<Map<Stri
} }
}else { }else {
//按照开始时间,结束时间请假 //按照开始时间,结束时间请假
int time = 0;
for (Map<String, Object> scheduleMap:scheduleResult){ for (Map<String, Object> scheduleMap:scheduleResult){
String dtkssj = Utils.getkssjTime(scheduleMap,analysisDate); String dtkssj = Utils.getkssjTime(scheduleMap,analysisDate);
String dtjssj = Utils.getjssjTime(scheduleMap,analysisDate); String dtjssj = Utils.getjssjTime(scheduleMap,analysisDate);
if (ClassSegmentTypeEnum.WORK_TIME.getKey().equals(scheduleMap.get("bdlx"))){ if (ClassSegmentTypeEnum.WORK_TIME.getKey().equals(scheduleMap.get("bdlx"))){
employTime +=Utils.getStartAndEndTime(dtkssj,dtjssj,evectionList.get(i)); time = time + Utils.getStartAndEndTime(dtkssj,dtjssj,evectionList.get(i));
}
} }
if (time > ccscMinute){
time = ccscMinute;
} }
employTime = employTime+time;
} }
} }
return employTime; return employTime;

@ -132,7 +132,7 @@ public class GetEvectionCmd extends AbstractCommonCommand<Map<String,Object>> {
put("bcxx", scheduleResult.get(0).get("bcxx")); put("bcxx", scheduleResult.get(0).get("bcxx"));
put("bcsdxx", scheduleResult.get(0).get("bcsdxx")); put("bcsdxx", scheduleResult.get(0).get("bcsdxx"));
put("edsc", scheduleResult.get(0).get("edsc")); put("edsc", scheduleResult.get(0).get("edsc"));
put("bdlx", ClassSegmentTypeEnum.ASK_FOR_LEAVE.getKey()); put("bdlx", ClassSegmentTypeEnum.EVECTION.getKey());
put("dtkssj",evectionData.get("kssj")); put("dtkssj",evectionData.get("kssj"));
put("dtjssj",evectionData.get("jssj")); put("dtjssj",evectionData.get("jssj"));
put("ksdk",evectionItem.get("lgsbxydk")); put("ksdk",evectionItem.get("lgsbxydk"));

@ -146,7 +146,7 @@ public class GetClockInPointCmd extends AbstractCommonCommand<Map<String, Object
String str = lists.get(0); String str = lists.get(0);
if (ClockPointEnum.START.getKey().equals(str.split("&")[1]) && CheckBoxEnum.CHECKED.getKey().equals(evctionjsdk)){ if (ClockPointEnum.START.getKey().equals(str.split("&")[1]) && CheckBoxEnum.CHECKED.getKey().equals(evctionjsdk)){
newNeedClockLists.add(str.split("&")[0]+"&"+str.split("&")[1]+"&0"); newNeedClockLists.add(str.split("&")[0]+"&"+str.split("&")[1]+"&0");
}else if (ClockPointEnum.END.getKey().equals(str.split("-")[1]) && CheckBoxEnum.CHECKED.getKey().equals(evctionksdk)){ }else if (ClockPointEnum.END.getKey().equals(str.split("&")[1]) && CheckBoxEnum.CHECKED.getKey().equals(evctionksdk)){
newNeedClockLists.add(str.split("&")[0]+"&"+str.split("&")[1]+"&0"); newNeedClockLists.add(str.split("&")[0]+"&"+str.split("&")[1]+"&0");
} }
}else if (lists.size() > 1){ }else if (lists.size() > 1){
@ -237,6 +237,9 @@ public class GetClockInPointCmd extends AbstractCommonCommand<Map<String, Object
} }
} }
needClockDateList = needClockDateList.stream().sorted(Comparator.comparing(e->DateUtil.getTime(e).toInstant(ZoneOffset.of("+8")).toEpochMilli())).collect(Collectors.toList());
this.needClockDateList=needClockDateList; this.needClockDateList=needClockDateList;
log.info("经过重新计算卡点时 新的scheduleResult : [{}]",scheduleResult); log.info("经过重新计算卡点时 新的scheduleResult : [{}]",scheduleResult);

@ -44,9 +44,9 @@ public class AttendanceanalysisAction {
try { try {
Map<String,Object> paramMap = ParamUtil.request2Map(request); Map<String,Object> paramMap = ParamUtil.request2Map(request);
// Map<String,Object> paramMap = Maps.newHashMap(); // Map<String,Object> paramMap = Maps.newHashMap();
// paramMap.put("startDate","2024-07-01"); // paramMap.put("startDate","2024-07-03");
// paramMap.put("endDate","2024-07-01"); // paramMap.put("endDate","2024-07-03");
// paramMap.put("userIds","31"); // paramMap.put("userIds","81");
String startDate = Util.null2String(paramMap.get("startDate")); String startDate = Util.null2String(paramMap.get("startDate"));
String startBeforeDate = DateUtil.beforeDay(startDate,2); String startBeforeDate = DateUtil.beforeDay(startDate,2);

@ -298,6 +298,7 @@ public class UpdateAttendanceResultWrapper extends Service {
} }
}else { }else {
//按照开始时间,结束时间请假 //按照开始时间,结束时间请假
int timeMinutes = DateUtil.getBetWeenMinutes(kssj,jssj); int timeMinutes = DateUtil.getBetWeenMinutes(kssj,jssj);
if (CheckBoxEnum.CHECKED.getKey().equals(zdycbcndfgzsd)){ if (CheckBoxEnum.CHECKED.getKey().equals(zdycbcndfgzsd)){
timeMinutes = Utils.removeRestTime(kssj,jssj,scheduleResult,analysisDate); timeMinutes = Utils.removeRestTime(kssj,jssj,scheduleResult,analysisDate);
@ -358,6 +359,8 @@ public class UpdateAttendanceResultWrapper extends Service {
List<Map<String,Object>> abnormalClockInList = (List<Map<String,Object>>)params.get("abnormalClockInList"); List<Map<String,Object>> abnormalClockInList = (List<Map<String,Object>>)params.get("abnormalClockInList");
//外出抵消异常 //外出抵消异常
List<Map<String,Object>> offsetEvectionAnomaly = Lists.newArrayList(); List<Map<String,Object>> offsetEvectionAnomaly = Lists.newArrayList();
//卡点
List<ClockPointDTO> clcokInTimeData = (List<ClockPointDTO>)params.get("clcokInTimeData");
Map<String, Object> map = Maps.newHashMap(); Map<String, Object> map = Maps.newHashMap();
List<Map<String, Object>> resultList = Lists.newArrayList(); List<Map<String, Object>> resultList = Lists.newArrayList();
@ -461,6 +464,8 @@ public class UpdateAttendanceResultWrapper extends Service {
} }
}else { }else {
//按照开始时间,结束时间出差 //按照开始时间,结束时间出差
int timeMinutes = DateUtil.getBetWeenMinutes(kssj,jssj); int timeMinutes = DateUtil.getBetWeenMinutes(kssj,jssj);
if (CheckBoxEnum.CHECKED.getKey().equals(zdycbcndfgzsd)){ if (CheckBoxEnum.CHECKED.getKey().equals(zdycbcndfgzsd)){
timeMinutes = Utils.removeRestTime(kssj,jssj,scheduleResult,analysisDate); timeMinutes = Utils.removeRestTime(kssj,jssj,scheduleResult,analysisDate);

@ -320,7 +320,7 @@ public class PersongroupCommonUtil {
if (addlist.size() >0){ if (addlist.size() >0){
log.debug("addlist :[{}]",addlist); log.debug("addlist :[{}]",addlist);
String insertSql = "insert into uf_pbjg (bcsdxx,pbtj,pbgl,dxlx,pbdxry,pbdxryfz,pbdxbm,pbdxfb,bcrq,rqlx,sfxx,sfdkpp,bcxx,hxbz,pbrq,pbsj,formmodeid,modedatacreater,modedatacreatertype,modedatacreatedate,modedatacreatetime,MODEUUID) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"; String insertSql = "insert into uf_pbjg (bcbdsj,pbtj,pbgl,dxlx,pbdxry,pbdxryfz,pbdxbm,pbdxfb,bcrq,rqlx,sfxx,sfdkpp,bcxx,hxbz,pbrq,pbsj,formmodeid,modedatacreater,modedatacreatertype,modedatacreatedate,modedatacreatetime,MODEUUID) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
result =rs.executeBatchSql(insertSql,addlist); result =rs.executeBatchSql(insertSql,addlist);
log.debug("result :[{}]",result); log.debug("result :[{}]",result);
} }

@ -1,5 +1,6 @@
package com.engine.common.util; package com.engine.common.util;
import com.engine.attendance.attendanceanalysis.dto.clockpoint.ClockPointDTO;
import com.engine.attendance.enums.*; import com.engine.attendance.enums.*;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.google.common.collect.Maps; import com.google.common.collect.Maps;
@ -933,6 +934,11 @@ public class Utils<T> {
public static double convertDouble(Object num){ public static double convertDouble(Object num){
return Util.null2String(num).equals("")?0:Double.valueOf(Util.null2String(num)); return Util.null2String(num).equals("")?0:Double.valueOf(Util.null2String(num));
} }
public static ClockPointDTO getClockPointDTO(List<ClockPointDTO> clockPointDTOList,ClockPointEnum pointType,String time){
return null;
}
} }

@ -27,8 +27,8 @@ Test extends beforlog{
@org.junit.Test @org.junit.Test
public void testAnalysis() throws Exception{ public void testAnalysis() throws Exception{
Map<String,Object> paramMap = Maps.newHashMap(); Map<String,Object> paramMap = Maps.newHashMap();
paramMap.put("startDate","2024-04-15"); paramMap.put("startDate","2024-07-03");
paramMap.put("endDate","2024-04-15"); paramMap.put("endDate","2024-07-03");
paramMap.put("userIds","31"); paramMap.put("userIds","31");
beforlog be = new beforlog(); beforlog be = new beforlog();

Loading…
Cancel
Save