zm_dev
liuliang 1 year ago
parent 135112a840
commit bf3b5a7ab9

@ -1 +1 @@
<EFBFBD>黿<EFBFBD>z<EFBFBD>W跿<EFBFBD>[<EFBFBD>p<EFBFBD>l缿<EFBFBD>x<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Εƒψθ}ο~Ο~ψ|Γ<EFBFBD>σ|ς~φ~ΚΥ|μθ|ω~ς~ό}υ}ΰ}Με~κ<EFBFBD>υ|ΟΓ}ο}ήΨξ{Ψ{β}χxχnΟiΤjΖlΦjλjΰjθhίkΤjΛjπgςkφnζmΛ{ΡxΘu<EFBFBD>wΰuρwΡwνxΓzώwΕyΔyδxΚwηvδyοwΧzφuνvΚƒϋ<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>Ψ<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>π<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>αwωvυtϋuΤvΒtηxυpΰvιuμmΙsζpΖsδrζlΣq<EFBFBD>pζr<EFBFBD>qΪrφuΟtΨpζnΑrτpκrώoλZΧYΡ^η[Ζ_οVΞZφWΤ[ώ[ΡVΗpκvμ{ΧvΓzύ{Ψzθ}Οzφxωwρ|έzΗ|Οvς{ΫvΫ}ϋqμVθXγUΕVΑSε[ΜWΡ\άXΟbΙcΧdΚWκ[ΦZίXοTϊPφTΔUγ]ίVΚ\ΧUϋ\ΨZΪVεRξUοYοYΝ[φWωVγQΟWΝ[αXΗ]ψXΩpΥ~υπzΐ~φzγ{Σyή}ΧzΗ~Ϊ|ο|υ}Ην|ν|Ϋ}Υ}ηlΖMδLΕLΜLλL<EFBFBD>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έKηJΑJαJίKθKεKζKβKζKγKηKΣLδ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

@ -10,72 +10,105 @@
</component>
<component name="ChangeListManager">
<list default="true" id="baeb3dfb-5097-46c5-933e-6d1dab18b815" name="Changes" comment="">
<change afterPath="$PROJECT_DIR$/.idea/dataSources.xml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/com/api/attendance/jucailin/KQPersonGroupActionApi.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/com/engine/common/util/genid/DefaultWorker.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/com/engine/common/util/genid/IdGenerator.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/com/engine/common/util/genid/SnowflakeId.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/com/engine/common/util/genid/Worker.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/com/engine/jucailin/enums/FieldHtmlTypeEnum.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/com/engine/jucailin/service/KQCalendarSettingService.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/com/engine/jucailin/service/impl/KQPersonGroupServiceImpl.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/com/engine/jucailin/util/ResponseResult.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/test/shuju/K3CloudApiClientSon.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/test/shuju/TestMain.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/hrm-attendance.iml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/hrm-attendance.iml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/com/api/kq/browser/service/impl/jucailin/KQCycleSetBrowserService.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/com/engine/jucailin/cmd/calendar/holidaySet/AddHolidaySetWithCalendarSetCmd.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/com/engine/jucailin/cmd/calendar/holidaySet/EditHolidaySetWithCalendarSetCmd.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/com/engine/jucailin/cmd/calendar/holidaySet/GetCalendarSettingTreeCmd.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/com/engine/jucailin/cmd/calendar/holidaySet/GetHolidayCountWithCalendarSetCmd.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/com/engine/jucailin/cmd/calendar/holidaySet/GetHolidaySetCalendarWithCalendarSetCmd.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/com/engine/jucailin/cmd/calendar/holidaySet/GetHolidaySetFormWithCalendarSetCmd.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/com/engine/jucailin/cmd/calendar/holidaySet/GetImportFormWithCalendarSetCmd.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/com/engine/jucailin/cmd/calendar/holidaySet/GetRightMenuWithCalendarSetCmd.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/com/engine/jucailin/cmd/calendar/holidaySet/GetSearchListWithCalendarSetCmd.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/com/engine/jucailin/cmd/calendar/holidaySet/GetSyncFormWithCalendarSetCmd.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/com/engine/jucailin/cmd/calendar/holidaySet/HasRepeatDataWithCalendarSetCmd.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/com/engine/jucailin/cmd/calendar/holidaySet/InitHolidaySetWithCalendarSetCmd.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/com/engine/jucailin/cmd/calendar/holidaySet/SaveImportWithCalendarSetCmd.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/com/engine/jucailin/cmd/calendar/holidaySet/SyncHolidaySetWithCalendarSetCmd.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/com/engine/jucailin/cmd/cycle/GetCycleSearchConditionCmd.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/com/engine/jucailin/cmd/cycle/GetCycledetailFormCmd.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/com/engine/jucailin/cmd/cycle/GetCycledetailListCmd.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/com/engine/kq/jucailin/cmd/calendar/holidaySet/DeleteHolidaySetWithCalendarSetCmd.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/com/engine/kq/service/impl/KQHolidaySetServiceImpl.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/dataSources/ade958e9-d72b-48ba-8be1-0441de7da9a5/entities/entities.dat" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/dataSources/ade958e9-d72b-48ba-8be1-0441de7da9a5/entities/entities.dat" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/dataSources/ade958e9-d72b-48ba-8be1-0441de7da9a5/entities/entities.dat.values" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/dataSources/ade958e9-d72b-48ba-8be1-0441de7da9a5/entities/entities.dat.values" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/dataSources/ade958e9-d72b-48ba-8be1-0441de7da9a5/entities/entities.dat.values.at" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/dataSources/ade958e9-d72b-48ba-8be1-0441de7da9a5/entities/entities.dat.values.at" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/dataSources/ade958e9-d72b-48ba-8be1-0441de7da9a5/entities/entities.dat.values.s" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/dataSources/ade958e9-d72b-48ba-8be1-0441de7da9a5/entities/entities.dat.values.s" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/dataSources/ade958e9-d72b-48ba-8be1-0441de7da9a5/entities/entities.dat_i" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/dataSources/ade958e9-d72b-48ba-8be1-0441de7da9a5/entities/entities.dat_i" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/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/service/impl/WorkOverTimeServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/service/impl/WorkOverTimeServiceImpl.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/service/impl/PersonGroupServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/service/impl/PersonGroupServiceImpl.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/vacation/job/holidaygeneration/tactics/ByIntervalPayMentWay.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/vacation/job/holidaygeneration/tactics/ByIntervalPayMentWay.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/vacation/job/holidaygeneration/tactics/BySchedulePaymentWay.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/vacation/job/holidaygeneration/tactics/BySchedulePaymentWay.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/vacation/job/holidaygeneration/tactics/SinglePaymentInFullWay.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/vacation/job/holidaygeneration/tactics/SinglePaymentInFullWay.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/api/attendance/jucailin/KQCalendarSettingActionApi.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/api/kq/jucailin/KQCalendarSettingActionApi.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/api/attendance/jucailin/KQCommonActionApi.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/api/kq/jucailin/KQCommonActionApi.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/api/attendance/jucailin/KQCycleSettingActionApi.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/api/kq/jucailin/KQCycleSettingActionApi.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/api/attendance/jucailin/KQPersonGroupActionApi.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/api/kq/jucailin/KQPersonGroupActionApi.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/common/util/ResponseResult.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/common/util/ResponseResult.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/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/cmd/GetClockInTimeItemCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/GetClockInTimeItemCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/item/AbsenteeismItemCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/item/AbsenteeismItemCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/item/BeAwayItemCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/item/BeAwayItemCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/item/BeLateItemCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/item/BeLateItemCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/item/ForGetClockItemCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/item/ForGetClockItemCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/item/LeaveEarlyItemCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/item/LeaveEarlyItemCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/item/VacationItemCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/item/VacationItemCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/item/WorkOvertimeItemCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/item/WorkOvertimeItemCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/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/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/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.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/component/calendarscheduling/service/impl/WorkRulesServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/calendarscheduling/service/impl/WorkRulesServiceImpl.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/persongroup/cmd/GetDatatableCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/persongroup/cmd/GetDatatableCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/persongroup/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/job/holidaygeneration/tactics/ByIntervalPayMentWay.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/vacation/job/holidaygeneration/tactics/ByIntervalPayMentWay.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/vacation/job/holidaygeneration/tactics/BySchedulePaymentWay.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/vacation/job/holidaygeneration/tactics/BySchedulePaymentWay.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/vacation/job/holidaygeneration/tactics/OneTimePayMentWay.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/vacation/job/holidaygeneration/tactics/OneTimePayMentWay.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/vacation/job/holidaygeneration/tactics/SinglePaymentInFullWay.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/vacation/job/holidaygeneration/tactics/SinglePaymentInFullWay.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/vacation/service/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/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$/src/com/engine/jucailin/cmd/calendar/GetCalendarSettingFormCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailin/cmd/calendar/GetCalendarSettingFormCmd.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/jucailin/cmd/calendar/GetCalendarSettingListCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailin/cmd/calendar/GetCalendarSettingListCmd.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/jucailin/cmd/cycle/GetCycleFormCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailin/cmd/cycle/GetCycleFormCmd.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/jucailin/cmd/cycle/GetCycleListCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailin/cmd/cycle/GetCycleListCmd.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/jucailin/cmd/cycle/GetCycleSettingFormCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailin/cmd/cycle/GetCycleSettingFormCmd.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/jucailin/cmd/cycle/GetCycleSettingListCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailin/cmd/cycle/GetCycleSettingListCmd.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/jucailin/cmd/personGroup/GetSuitOrganzationFormCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailin/cmd/personGroup/GetSuitOrganzationFormCmd.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/jucailin/cmd/personGroup/GetSuitOrganzationListCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailin/cmd/personGroup/GetSuitOrganzationListCmd.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/jucailin/service/KQCalendarSettingService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailin/service/KQCalendarSettingService.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/jucailin/service/KQCycleSettingService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailin/service/KQCycleSettingService.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/jucailin/service/impl/KQCalendarSettingServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailin/service/impl/KQCalendarSettingServiceImpl.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/jucailin/service/impl/KQCycleSettingServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailin/service/impl/KQCycleSettingServiceImpl.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/jucailin/util/CommonUtil.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailin/util/CommonUtil.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/jucailin/util/Constant.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailin/util/Constant.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/jucailin/util/ListConversionMethod.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailin/util/ListConversionMethod.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/jucailin/util/PageUidFactory.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailin/util/PageUidFactory.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/jucailin/util/ResponseResult.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailin/util/ResponseResult.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/jucailin/web/KQCalendarSettingAction.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailin/web/KQCalendarSettingAction.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/jucailin/web/KQCycleSettingAction.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/jucailin/web/KQCycleSettingAction.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/api/attendance/jucailin/KQCalendarSettingActionApi.class" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/api/attendance/jucailin/KQCommonActionApi.class" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/api/attendance/jucailin/KQCycleSettingActionApi.class" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/api/attendance/jucailin/KQPersonGroupActionApi.class" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/common/util/ResponseResult.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/common/util/ResponseResult.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/common/util/Utils.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/common/util/Utils.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/test-classes/TestGetClockInPoint.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/test-classes/TestGetClockInPoint.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/test-classes/TestObj$1.class" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/target/test-classes/TestObj$2.class" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/target/test-classes/TestObj$3.class" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/target/test-classes/TestObj.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/test-classes/TestObj.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/test/TestObj.java" beforeDir="false" afterPath="$PROJECT_DIR$/test/TestObj.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailin/cmd/calendar/GetCalendarSettingFormCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailin/cmd/calendar/GetCalendarSettingFormCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailin/cmd/calendar/GetCalendarSettingListCmd$1.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailin/cmd/calendar/GetCalendarSettingListCmd$1.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailin/cmd/calendar/GetCalendarSettingListCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailin/cmd/calendar/GetCalendarSettingListCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailin/cmd/cycle/GetCycleFormCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailin/cmd/cycle/GetCycleFormCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailin/cmd/cycle/GetCycleListCmd$1.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailin/cmd/cycle/GetCycleListCmd$1.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailin/cmd/cycle/GetCycleListCmd$2.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailin/cmd/cycle/GetCycleListCmd$2.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailin/cmd/cycle/GetCycleListCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailin/cmd/cycle/GetCycleListCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailin/cmd/cycle/GetCycleSettingFormCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailin/cmd/cycle/GetCycleSettingFormCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailin/cmd/cycle/GetCycleSettingListCmd$1.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailin/cmd/cycle/GetCycleSettingListCmd$1.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailin/cmd/cycle/GetCycleSettingListCmd$2.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailin/cmd/cycle/GetCycleSettingListCmd$2.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailin/cmd/cycle/GetCycleSettingListCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailin/cmd/cycle/GetCycleSettingListCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailin/cmd/personGroup/GetSuitOrganzationFormCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailin/cmd/personGroup/GetSuitOrganzationFormCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailin/cmd/personGroup/GetSuitOrganzationListCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailin/cmd/personGroup/GetSuitOrganzationListCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailin/service/KQCalendarSettingService.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailin/service/KQCalendarSettingService.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailin/service/KQCycleSettingService.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailin/service/KQCycleSettingService.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailin/service/impl/KQCalendarSettingServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailin/service/impl/KQCalendarSettingServiceImpl.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailin/service/impl/KQCycleSettingServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailin/service/impl/KQCycleSettingServiceImpl.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailin/util/CommonUtil$3.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailin/util/CommonUtil$3.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailin/util/CommonUtil.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailin/util/CommonUtil.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailin/util/Constant$1.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailin/util/Constant$1.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailin/util/Constant.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailin/util/Constant.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailin/util/ListConversionMethod.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailin/util/ListConversionMethod.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailin/util/PageUidFactory.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailin/util/PageUidFactory.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailin/web/KQCalendarSettingAction.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailin/web/KQCalendarSettingAction.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/jucailin/web/KQCycleSettingAction.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/jucailin/web/KQCycleSettingAction.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/test-classes/Test$1.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/test-classes/Test$1.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/test-classes/Test$10.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/test-classes/Test$10.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/test-classes/Test$11.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/test-classes/Test$11.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/test-classes/Test$12.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/test-classes/Test$12.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/test-classes/Test$13.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/test-classes/Test$13.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/test-classes/Test$14.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/test-classes/Test$14.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/test-classes/Test$15.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/test-classes/Test$15.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/test-classes/Test$16.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/test-classes/Test$16.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/test-classes/Test$2.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/test-classes/Test$2.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/test-classes/Test$3.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/test-classes/Test$3.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/test-classes/Test$4.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/test-classes/Test$4.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/test-classes/Test$5.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/test-classes/Test$5.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/test-classes/Test$6.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/test-classes/Test$6.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/test-classes/Test$7.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/test-classes/Test$7.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/test-classes/Test$8.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/test-classes/Test$8.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/test-classes/Test$9.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/test-classes/Test$9.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/test-classes/Test.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/test-classes/Test.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/test/Test.java" beforeDir="false" afterPath="$PROJECT_DIR$/test/Test.java" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
@ -117,7 +150,8 @@
<property name="ToolWindowRun.ShowToolbar" value="false" />
<property name="WebServerToolWindowFactoryState" value="false" />
<property name="com.intellij.ide.scratch.ScratchImplUtil$2/New Scratch File" value="PLAIN_TEXT" />
<property name="last_opened_file_path" value="$PROJECT_DIR$/../../../project" />
<property name="last_directory_selection" value="$PROJECT_DIR$/src/com/engine/kq" />
<property name="last_opened_file_path" value="$PROJECT_DIR$" />
<property name="nodejs_package_manager_path" value="npm" />
<property name="project.structure.last.edited" value="Modules" />
<property name="project.structure.proportion" value="0.15" />
@ -127,20 +161,31 @@
<component name="RecentsManager">
<key name="CopyFile.RECENT_KEYS">
<recent name="D:\项目备份\考勤\hrm-attendance\src\com\engine\jucailin\util" />
<recent name="D:\项目备份\考勤\hrm-attendance\src\com\engine\jucailin\cmd" />
<recent name="D:\项目备份\考勤\hrm-attendance\src\com\engine\jucailin\service\impl" />
<recent name="D:\项目备份\考勤\hrm-attendance\src\com\engine\jucailin\service" />
<recent name="D:\项目备份\考勤\hrm-attendance\src\com\engine\jucailin\web" />
<recent name="D:\项目备份\考勤\hrm-attendance\src\com\engine\kq\service\impl" />
<recent name="D:\项目备份\考勤\hrm-attendance\src\com\engine\jucailin" />
<recent name="D:\项目备份\考勤\hrm-attendance\src\com\engine\jucailin\cmd\calendar" />
<recent name="D:\项目备份\考勤\hrm-attendance\src\com\engine\jucailin\cmd\personGroup" />
</key>
<key name="MoveFile.RECENT_KEYS">
<recent name="D:\项目备份\考勤\hrm-attendance\src\com\engine\jucailin\cmd\calendar" />
</key>
<key name="CopyClassDialog.RECENTS_KEY">
<recent name="com.engine.jucailin.cmd.personGroup" />
<recent name="com.engine.jucailin.cmd.calendar" />
<recent name="com.engine.kq.biz" />
<recent name="com.api.kq.browser.service.impl.jucailin" />
<recent name="com.engine.jucailin.cmd.cycle" />
<recent name="com.engine.jucailin.cmd.calendar" />
<recent name="com.engine.jucailin.util" />
<recent name="com.engine.jucailin.enums" />
</key>
</component>
<component name="RunManager" selected="Application.TestObj">
<component name="RunManager" selected="Application.Test">
<configuration name="Test" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
<option name="MAIN_CLASS_NAME" value="Test" />
<module name="hrm-attendance" />
<shortenClasspath name="MANIFEST" />
<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" />
@ -163,13 +208,6 @@
<option name="Make" enabled="true" />
</method>
</configuration>
<configuration name="TestSinglePaymentFullWay" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
<option name="MAIN_CLASS_NAME" value="TestSinglePaymentFullWay" />
<module name="hrm-attendance" />
<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="calendarscheduling.Testmain" />
<module name="hrm-attendance" />
@ -194,11 +232,11 @@
</configuration>
<recent_temporary>
<list>
<item itemvalue="Application.Test" />
<item itemvalue="Application.TestObj" />
<item itemvalue="Application.TestMain" />
<item itemvalue="HTTP Request.generated-requests#1" />
<item itemvalue="Application.Testmain" />
<item itemvalue="Application.TestSinglePaymentFullWay" />
</list>
</recent_temporary>
</component>
@ -499,7 +537,16 @@
<workItem from="1709034853130" duration="245000" />
<workItem from="1709035306210" duration="27000" />
<workItem from="1709085586029" duration="19632000" />
<workItem from="1709169508213" duration="1065000" />
<workItem from="1709169508213" duration="4068000" />
<workItem from="1709184613862" duration="7005000" />
<workItem from="1709261957490" duration="3640000" />
<workItem from="1709274348889" duration="14171000" />
<workItem from="1709529893216" duration="3562000" />
<workItem from="1709535712477" duration="107000" />
<workItem from="1709535857245" duration="593000" />
<workItem from="1709536661261" duration="856000" />
<workItem from="1709537572719" duration="6496000" />
<workItem from="1709604043774" duration="1269000" />
</task>
<servers />
</component>
@ -542,6 +589,14 @@
<line>301</line>
<option name="timeStamp" value="28" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-method">
<url>file://$PROJECT_DIR$/src/com/engine/jucailin/service/KQCycleSettingService.java</url>
<line>17</line>
<properties class="com.engine.jucailin.service.KQCycleSettingService" method="getCycledetailList">
<option name="EMULATED" value="true" />
</properties>
<option name="timeStamp" value="74" />
</line-breakpoint>
</breakpoints>
</breakpoint-manager>
<watches-manager>

@ -0,0 +1,95 @@
package com.api.kq.browser.service.impl.jucailin;
import com.api.browser.bean.ListHeadBean;
import com.api.browser.bean.SearchConditionItem;
import com.api.browser.bean.SplitTableBean;
import com.api.browser.bean.SplitTableColBean;
import com.api.browser.service.BrowserService;
import com.api.browser.util.*;
import weaver.conn.RecordSet;
import weaver.general.Util;
import weaver.systeminfo.SystemEnv;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
*
* type : cycleset
*/
public class KQCycleSetBrowserService extends BrowserService {
@Override
public Map<String, Object> getBrowserData(Map<String, Object> params) throws Exception {
Map<String, Object> apidatas = new HashMap<String, Object>();
String cyclename = Util.null2String(params.get("cyclename"));
String sqlWhere = Util.null2String(params.get("sqlWhere"));
String sqlwhere = " where 1=1 and (delete_type is null or delete_type <> '1') ";
if(!cyclename.equals("")){
sqlwhere += " and cyclename like '%";
sqlwhere += Util.fromScreen2(cyclename,user.getLanguage());
sqlwhere += "%'";
}
if(!sqlWhere.equals("")){
sqlwhere += " and "+sqlWhere;
}
sqlwhere = SqlUtils.replaceFirstAnd(sqlwhere);
// 设置好搜索条件
String backFields = " id ,cyclename ";
String fromSql = " kq_cycle_setting ";
List<SplitTableColBean> cols = new ArrayList<SplitTableColBean>();
cols.add(new SplitTableColBean("true","id"));
cols.add(new SplitTableColBean("100%",SystemEnv.getHtmlLabelName(388722, user.getLanguage()),"cyclename","cyclename").setIsInputCol(BoolAttr.TRUE).setShowType(1));
SplitTableBean tableBean = new SplitTableBean(backFields,fromSql,sqlwhere,"id","id","asc",cols);
apidatas.putAll(SplitTableUtil.makeListDataResult(tableBean));
return apidatas;
}
@Override
public Map<String, Object> getBrowserConditionInfo(Map<String, Object> params) throws Exception {
Map<String, Object> apidatas = new HashMap<String, Object>();
List<SearchConditionItem> conditions = new ArrayList<SearchConditionItem>();
apidatas.put(BrowserConstant.BROWSER_RESULT_CONDITIONS, conditions);
ConditionFactory conditionFactory = new ConditionFactory(user);
conditions.add(conditionFactory.createCondition(ConditionType.INPUT, 388722, "cyclename", true));
return apidatas;
}
@Override
public Map<String, Object> getMultBrowserDestData(Map<String, Object> params) throws Exception {
Map<String, Object> apidatas = new HashMap<String, Object>();
List<Map<String,Object>> datas = new ArrayList<Map<String,Object>>();
String selectids = Util.null2String(params.get(BrowserConstant.BROWSER_MULT_DEST_SELECTIDS));
if(user==null||"".equals(selectids)){
return apidatas;
}
RecordSet recordSet = new RecordSet();
String tempSql = " select id,cyclename from kq_cycle_setting where 1=1 and (delete_type is null or delete_type <> '1') and id in ("+selectids+") ";
recordSet.executeQuery(tempSql);
while (recordSet.next()){
Map<String,Object> item = new HashMap<String,Object>();
item.put("id", recordSet.getString("id"));
item.put("cyclename", Util.null2String(recordSet.getString("cyclename")));
datas.add(item);
}
List<ListHeadBean> tableHeadColumns = new ArrayList<ListHeadBean>();
tableHeadColumns.add(new ListHeadBean("id",BoolAttr.TRUE));
tableHeadColumns.add(new ListHeadBean("cyclename","",1,BoolAttr.TRUE));
apidatas.put(BrowserConstant.BROWSER_RESULT_COLUMN, tableHeadColumns);
apidatas.put(BrowserConstant.BROWSER_RESULT_DATA, datas);
apidatas.put(BrowserConstant.BROWSER_RESULT_TYPE, BrowserDataType.LIST_ALL_DATA.getTypeid());
return apidatas;
}
}

@ -1,4 +1,4 @@
package com.api.attendance.jucailin;
package com.api.kq.jucailin;
import com.engine.jucailin.web.KQCalendarSettingAction;
import lombok.extern.slf4j.Slf4j;

@ -1,4 +1,4 @@
package com.api.attendance.jucailin;
package com.api.kq.jucailin;
import com.engine.jucailin.web.KQCommonAction;
import lombok.extern.slf4j.Slf4j;

@ -1,4 +1,4 @@
package com.api.attendance.jucailin;
package com.api.kq.jucailin;
import com.engine.jucailin.web.KQCycleSettingAction;
import lombok.extern.slf4j.Slf4j;

@ -1,4 +1,4 @@
package com.api.attendance.jucailin;
package com.api.kq.jucailin;
import com.engine.jucailin.web.KQPersonGroupAction;
import lombok.extern.slf4j.Slf4j;

@ -135,7 +135,7 @@ public class ResponseResult<T, R> {
*/
private String Ok() {
Map<String, Object> apidatas = new HashMap<>();
apidatas.put("status", true);
apidatas.put("api_status", true);
return gson.toJson(apidatas);
}
@ -145,7 +145,7 @@ public class ResponseResult<T, R> {
*/
private String Ok(R r) throws JsonProcessingException {
Map<String, Object> apidatas = new HashMap<>();
apidatas.put("status", true);
apidatas.put("api_status", true);
apidatas.put("data", r);
String success = getJsonString(apidatas);
if (isLog) {
@ -160,7 +160,7 @@ public class ResponseResult<T, R> {
*/
private static String Error(String message) {
Map<String, Object> apidatas = new HashMap<>();
apidatas.put("status", false);
apidatas.put("api_status", false);
apidatas.put("errormsg", message);
return JSONObject.toJSONString(apidatas, SerializerFeature.DisableCircularReferenceDetect);
}
@ -171,7 +171,7 @@ public class ResponseResult<T, R> {
*/
private static String Error(String message, Exception e) {
Map<String, Object> apidatas = new HashMap<>();
apidatas.put("status", false);
apidatas.put("api_status", false);
apidatas.put("errormsg", message);
apidatas.put("error", e.getMessage());
return JSONObject.toJSONString(apidatas, SerializerFeature.DisableCircularReferenceDetect);

@ -0,0 +1,259 @@
package com.engine.jucailin.bean;
import weaver.conn.RecordSet;
import weaver.general.BaseBean;
import weaver.general.ThreadVarLanguage;
import weaver.general.Util;
import weaver.systeminfo.SystemEnv;
import java.util.regex.Pattern;
/**
* @Author: sy
* @Description: --Excel
* @Date: 2024/2/29
**/
public class KQHolidaySetWithCalendarSet extends BaseBean {
/**
*
*/
private String calendarName;
/**
* ID
*/
private String calendarId;
/**
*
*/
private String holidayDate;
/**
*
*/
private String changeTypeName;
/**
* 1-2-3-
*/
private int changeType = 1;
/**
*
*/
private String holidayDesc;
/**
*
*
*/
private String relatedDayName;
/**
* 6-0-1-2-3-4-5-
*
*/
private int relatedDay = -1;
/**
*
*/
private int userlanguage = 7;
public void setUserLanguage(String userlanguage) {
this.userlanguage = Util.getIntValue((String) userlanguage, 7);
}
/**
* --Excel
*
* @return
*/
public String valExcelData() {
//简单校验日期格式
String str = "[0-9]{4}-[0-1]{1}[0-9]{1}-[0-3]{1}[0-9]{1}";
String errorInfo = "";
// KQGroupComInfo kqGroupComInfo = new KQGroupComInfo();
if (Util.null2String(this.calendarName).length() == 0) {
errorInfo = SystemEnv.getHtmlLabelName(546310, userlanguage);//日历设置不能为空
return errorInfo;
} else if (getCalendarId(this.calendarName).equals("")) {
errorInfo = SystemEnv.getHtmlLabelName(546311, userlanguage);//没有找到对应的日历设置
return errorInfo;
} else if (Util.null2String(this.holidayDate).length() == 0) {
errorInfo = SystemEnv.getHtmlLabelName(388723, userlanguage);//日期不能为空
return errorInfo;
} else if(Util.null2String(this.holidayDate).length()!=0 && !Pattern.matches(str,this.holidayDate)){
errorInfo = SystemEnv.getHtmlLabelName(130208, userlanguage);//无效日期格式
return errorInfo;
}else if (getChengeType(this.changeTypeName) != 1 && getChengeType(this.changeTypeName) != 2 && getChengeType(this.changeTypeName) != 3) {
errorInfo = SystemEnv.getHtmlLabelName(83411, userlanguage);//类型不匹配
return errorInfo;
} else if (getChengeType(this.changeTypeName) == 2) {
// String kqType = kqGroupComInfo.getKqtype(this.groupId);
// if (kqType.equals("2")) {
// errorInfo = SystemEnv.getHtmlLabelName(526272, userlanguage);//暂时不支持排班制的考勤组设置调配工作日
// return errorInfo;
// }else if (getRelatedDay(this.relatedDayName) < 0 || getRelatedDay(this.relatedDayName) > 6) {
// errorInfo = SystemEnv.getHtmlLabelName(388724, userlanguage);//未找到对应的工作日
// return errorInfo;
// }
if (getRelatedDay(this.relatedDayName) < 0 || getRelatedDay(this.relatedDayName) > 6) {
errorInfo = SystemEnv.getHtmlLabelName(388724, userlanguage);//未找到对应的工作日
return errorInfo;
}
}
return errorInfo;
}
/**
*
*
* @return
*/
public String save() {
boolean flag = false;
try {
RecordSet recordSet = new RecordSet();
String sql = "select 1 from kq_HolidaySet where calendarId=" + this.calendarId + " and holidayDate='" + this.holidayDate + "'";
recordSet.executeQuery(sql);
if (recordSet.next()) {
sql = "delete from kq_HolidaySet where calendarId=" + this.calendarId + " and holidayDate='" + this.holidayDate + "'";
recordSet.executeUpdate(sql);
}
sql = " insert into kq_HolidaySet(calendarId,holidayDate,changeType,holidayDesc,relatedDay) values(?,?,?,?,?)";
flag = recordSet.executeUpdate(sql, this.calendarId, this.holidayDate, this.changeType, this.holidayDesc, this.relatedDay);
} catch (Exception e) {
writeLog(e);
} finally {
// KQHolidaySetComInfo kqHolidaySetComInfo = new KQHolidaySetComInfo();
// kqHolidaySetComInfo.removeCache();
//
// /*刷新考勤报表*/
// List<String> groupIdList = new ArrayList<String>();
// groupIdList.add(this.groupId);
// List<String> holidayDateList = new ArrayList<String>();
// holidayDateList.add(this.holidayDate);
// new KQHolidaySetThread(groupIdList,holidayDateList).start();
}
return String.valueOf(flag);
}
/**
* ID
*
* @param calendarName
* @return
*/
public String getCalendarId(String calendarName) {
String calendarId = "";
String sql = "select id from kq_calendar_name where (delete_type is null or isDelete <>1) and calendar_name='" + calendarName + "' ";
RecordSet recordSet = new RecordSet();
recordSet.executeQuery(sql);
if (recordSet.next()) {
calendarId = recordSet.getString("id");
}
this.calendarId = calendarId;
return calendarId;
}
/**
*
*
* @param changeTypeName
* @return
*/
public int getChengeType(String changeTypeName) {
int changeType = -1;
if (Util.null2String(changeTypeName).trim().equals(SystemEnv.getHtmlLabelName(16478, ThreadVarLanguage.getLang()).trim())) {
changeType = 1;
} else if (Util.null2String(changeTypeName).trim().equals(SystemEnv.getHtmlLabelName(16751, ThreadVarLanguage.getLang()).trim())) {
changeType = 2;
} else if (Util.null2String(changeTypeName).trim().equals(SystemEnv.getHtmlLabelName(16752, ThreadVarLanguage.getLang()).trim())) {
changeType = 3;
} else {
changeType = -1;
}
this.changeType = changeType;
return changeType;
}
/**
*
*
* @param relatedDayName 0-1-2-3-4-5-6-
* @return
*/
public int getRelatedDay(String relatedDayName) {
int relatedDay = -1;
if (Util.null2String(relatedDayName).trim().equals(SystemEnv.getHtmlLabelName(528000, ThreadVarLanguage.getLang()).trim())) {
relatedDay = 0;
} else if (Util.null2String(relatedDayName).trim().equals(SystemEnv.getHtmlLabelName(528001, ThreadVarLanguage.getLang()).trim())) {
relatedDay = 1;
} else if (Util.null2String(relatedDayName).trim().equals(SystemEnv.getHtmlLabelName(528002, ThreadVarLanguage.getLang()).trim())) {
relatedDay = 2;
} else if (Util.null2String(relatedDayName).trim().equals( SystemEnv.getHtmlLabelName(528003, ThreadVarLanguage.getLang()).trim())) {
relatedDay = 3;
} else if (Util.null2String(relatedDayName).trim().equals(SystemEnv.getHtmlLabelName(528004, ThreadVarLanguage.getLang()).trim())) {
relatedDay = 4;
} else if (Util.null2String(relatedDayName).trim().equals(SystemEnv.getHtmlLabelName(528005, ThreadVarLanguage.getLang()).trim())) {
relatedDay = 5;
} else if (Util.null2String(relatedDayName).trim().equals( SystemEnv.getHtmlLabelName(527999, ThreadVarLanguage.getLang()).trim())) {
relatedDay = 6;
} else {
relatedDay = -1;
}
this.relatedDay = relatedDay;
return relatedDay;
}
// /**
// * 加载缓存
// */
// public void removeCache() {
// try {
// KQHolidaySetComInfo kqHolidaySetComInfo = new KQHolidaySetComInfo();
// kqHolidaySetComInfo.removeCache();
// } catch (Exception e) {
// writeLog(e);
// }
// }
public String getCalendarName() {
return calendarName;
}
public void setCalendarName(String calendarName) {
this.calendarName = calendarName;
}
public String getHolidayDate() {
return holidayDate;
}
public void setHolidayDate(String holidayDate) {
this.holidayDate = holidayDate;
}
public String getChangeTypeName() {
return changeTypeName;
}
public void setChangeTypeName(String changeTypeName) {
this.changeTypeName = changeTypeName;
}
public String getHolidayDesc() {
return holidayDesc;
}
public void setHolidayDesc(String holidayDesc) {
this.holidayDesc = holidayDesc;
}
public String getRelatedDayName() {
return relatedDayName;
}
public void setRelatedDayName(String relatedDayName) {
this.relatedDayName = relatedDayName;
}
}

@ -0,0 +1,506 @@
package com.engine.jucailin.bean;
import com.engine.integration.util.MyX509TrustManager;
import com.engine.jucailin.util.ListConversionMethod;
import com.engine.kq.biz.*;
import com.engine.kq.log.KQLog;
import net.sf.json.JSONObject;
import weaver.common.DateUtil;
import weaver.conn.RecordSet;
import weaver.file.Prop;
import weaver.general.Util;
import weaver.hrm.User;
import weaver.systeminfo.SystemEnv;
import javax.net.ssl.HttpsURLConnection;
import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLSocketFactory;
import javax.net.ssl.TrustManager;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URL;
import java.util.*;
/**
* @Author: sy
* @Description:
* @Date: 2024/2/29
**/
public class KQHolidaySetWithCalendarSetBiz {
private static KQLog logger = new KQLog();
/**
* ID
*
* @param calendarId ID
* @param year
* @param month
* @return
*/
public static List getCalendarSetHolidaySetList(String calendarId, String year, String month) {
List<Map<String, Object>> valueList = new ArrayList<Map<String, Object>>();
Map<String, Object> valueMap = new HashMap<String, Object>();
/*指定年月*/
String startDate = year;
String endDate = month;
if (month.length() == 0) {
startDate = year + "-01" + "-01";
endDate = year + "-12" + "-31";
} else if (month.length() == 1) {
startDate = year + "-0" + month + "-01";
endDate = year + "-0" + month + "-31";
} else if (month.length() == 2) {
startDate = year + "-" + month + "-01";
endDate = year + "-" + month + "-31";
}
RecordSet recordSet = new RecordSet();
KQGroupMemberComInfo kqGroupMemberComInfo = new KQGroupMemberComInfo();
KQHolidaySetWithCalendarSetComInfo holidaySetWithCalendarSetComInfo = new KQHolidaySetWithCalendarSetComInfo();
boolean isEnd = false;
for (String date = startDate; !isEnd; ) {
if (date.compareTo(endDate) >= 0) {
isEnd = true;
}
String changeType = holidaySetWithCalendarSetComInfo.getChangeType(calendarId, date);
String holidayDesc = holidaySetWithCalendarSetComInfo.getHolidayDesc(calendarId, date);
if (!changeType.equals("")) {
valueMap = new HashMap<String, Object>();
valueMap.put("date", date);
valueMap.put("name", holidayDesc);
valueMap.put("type", changeType);
valueList.add(valueMap);
}
date = DateUtil.getDate(date, 1);
}
return valueList;
}
/**
* ID
*
* @param resourceId ID
* @param year
* @param month
* @return
*/
// public static List getKQHolidaySetList(String resourceId, String year, String month) {
//
// List<Map<String, Object>> valueList = new ArrayList<Map<String, Object>>();
//
// /*指定年月*/
// String startDate = year;
// String endDate = month;
// if (month.length() == 0) {
// startDate = year + "-01" + "-01";
// endDate = year + "-12" + "-31";
// } else if (month.length() == 1) {
// startDate = year + "-0" + month + "-01";
// endDate = year + "-0" + month + "-31";
// } else if (month.length() == 2) {
// startDate = year + "-" + month + "-01";
// endDate = year + "-" + month + "-31";
// }
// valueList = getHolidaySetListByScope(resourceId, startDate, endDate);
// return valueList;
// }
/**
*
*
* @param resourceId ID
* @param startDate
* @param endDate
* @return
*/
// public static List getHolidaySetListByScope(String resourceId, String startDate, String endDate) {
// Map<String, Object> valueMap = new HashMap<String, Object>();
// List<Map<String, Object>> valueList = new ArrayList<Map<String, Object>>();
//
//
// KQGroupMemberComInfo kqGroupMemberComInfo = new KQGroupMemberComInfo();
// KQHolidaySetComInfo holidaySetComInfo = new KQHolidaySetComInfo();
//
// boolean isEnd = false;
// for (String date = startDate; !isEnd; ) {
// if (date.compareTo(endDate) >= 0) {
// isEnd = true;
// }
//
//// /*获取考勤组的ID因为考勤组有有效期所以需要传入日期*/
//// String groupId = kqGroupMemberComInfo.getKQGroupId(resourceId, date);
//
// String changeType = holidaySetComInfo.getChangeType(groupId, date);
// String holidayDesc = holidaySetComInfo.getHolidayDesc(groupId, date);
// if (!changeType.equals("")&&!getWorkDay(resourceId, date)) {
// valueMap = new HashMap<String, Object>();
// valueMap.put("date", date);
// valueMap.put("name", holidayDesc);
// valueMap.put("type", changeType);
// valueList.add(valueMap);
// }
// date = DateUtil.getDate(date, 1);
// }
// return valueList;
// }
/**
* +
*
* @param resourceId ID
* @param date
* @return true-false
*/
// public static boolean isHoliday(String resourceId, String date) {
// return isHoliday(resourceId, date, false);
// }
/**
* ++
*
* @param resourceId ID
* @param date
* @param containWeekend truefalse
* @return true-false
*/
// public static boolean isHoliday(String resourceId, String date, boolean containWeekend) {
// boolean flag = false;
// if(getWorkDay(resourceId, date)){
// return flag;
// }
// /*获取考勤组的ID因为考勤组有有效期所以需要传入日期*/
// KQGroupMemberComInfo kqGroupMemberComInfo = new KQGroupMemberComInfo();
// String groupId = kqGroupMemberComInfo.getKQGroupId(resourceId, date);
//
// int changeType = getChangeType(groupId, date);
// /*如果需要包含周末,判断传入的日期是不是周末*/
// if (containWeekend && changeType != 2 && (DateUtil.getWeek(date) == 6 || DateUtil.getWeek(date) == 7)) {
// flag = true;
// }
// if (changeType == 1 || changeType == 3) {
// flag = true;
// }
// return flag;
// }
/**
* ++
*
* @param resourceId ID
* @param date
* @return true-false
*/
// public static boolean isDouble(String resourceId, String date) {
// boolean flag = false;
// /*获取考勤组的ID因为考勤组有有效期所以需要传入日期*/
// KQGroupMemberComInfo kqGroupMemberComInfo = new KQGroupMemberComInfo();
// String groupId = kqGroupMemberComInfo.getKQGroupId(resourceId, date);
//
// int changeType = getChangeType(groupId, date);
// if (changeType == 1 || changeType == 3) {
// flag = true;
// }
// return flag;
// }
/**
* ()
*
* @param resourceId ID
* @param date
* @return
*/
// public static boolean getWorkDay(String resourceId, String date) {
// boolean flag = false;
// /*获取考勤组的ID因为考勤组有有效期所以需要传入日期*/
// KQGroupMemberComInfo kqGroupMemberComInfo = new KQGroupMemberComInfo();
// String groupId = kqGroupMemberComInfo.getKQGroupId(resourceId, date);
// KQSettingsComInfo kqSettingsComInfo = new KQSettingsComInfo();
// String holiday_is_priority = Util.null2String(kqSettingsComInfo.getMain_val("holiday_is_priority"),"0");
// if("0".equals(holiday_is_priority)) {
// return flag;
// }
// /*排班制不支持调配节假日数据*/
// KQGroupComInfo kqGroupComInfo = new KQGroupComInfo();
// String KQType = kqGroupComInfo.getKqtype(groupId);//考勤类型1-固定班制、2-排班制、3-自由班制
// if (KQType.equals("2")) {
// flag = true;
// }
// return flag;
// }
/**
* ()
*
* @param groupId ID
* @param date
* @return 1-2-3--1-
*/
// public static int getChangeType(String groupId, String date) {
// int changeType = -1;//默认没有设置过节假日(节假日设置的类型1-公众假日、2-调配工作日、3-调配休息日)
// KQHolidaySetComInfo kqHolidaySetComInfo = new KQHolidaySetComInfo();
// String tmpChangetype = kqHolidaySetComInfo.getChangeType(groupId, date);
// if(null != tmpChangetype){
// changeType = Util.getIntValue(tmpChangetype, -1);
// }
//
// return changeType;
// }
/**
* ()
*
* @param resourceId ID
* @param date
* @return
*/
// public static int getRelatedDay(String resourceId, String date) {
// int relatedDay = -1;
//
// /*获取考勤组的ID因为考勤组有有效期所以需要传入日期*/
// KQGroupMemberComInfo kqGroupMemberComInfo = new KQGroupMemberComInfo();
// String groupId = kqGroupMemberComInfo.getKQGroupId(resourceId, date);
//
// /*排班制不支持调配节假日数据*/
// KQGroupComInfo kqGroupComInfo = new KQGroupComInfo();
// String KQType = kqGroupComInfo.getKqtype(groupId);//考勤类型1-固定班制、2-排班制、3-自由班制
// if (KQType.equals("2")) {
// return relatedDay;
// }
//
// /*只有当调配工作日时才有对应工作日*/
// KQHolidaySetComInfo kqHolidaySetComInfo = new KQHolidaySetComInfo();
// int changeType = Util.getIntValue(kqHolidaySetComInfo.getChangeType(groupId, date), -1);
// if (changeType == 2) {
// relatedDay = Util.getIntValue(kqHolidaySetComInfo.getRelatedDay(groupId, date), 0);
// }
//
// return relatedDay;
// }
/**
* ()
*
* @param calendarIds ID(ID,)
* @param year
* @return
*/
public static Map<String, Object> initHolidaySet(String calendarIds, String year, User user) {
Map<String, Object> resultMap = new HashMap<String, Object>();
List<String> errInfoList = new ArrayList<String>();//错误信息集合
/**
* API(JSON)(APIAPI)
* status1-0-
* sketch''
* holidayList[{holidayDate:'',changeType:'',holidayDesc:''},,{holidayDate:'',changeType:'',holidayDesc:''}]
*/
String url = Prop.getInstance().getPropValue("kq_settings", "KQHolidaySetUrl");
Map<String, Object> tempMap = httpRequest(url +"?year="+year+"&key="+Util.getEncrypt(Util.getRandom()), user);
if ("0".equals((String) tempMap.get("status"))) {
resultMap.put("status", "0");
resultMap.put("sketch", (String) tempMap.get("sketch"));
return resultMap;
}
List<String> holidayDateList = new ArrayList<String>();
try {
List<String> calendarIdList = Util.TokenizerString(calendarIds, ",");//企业日历D集合
for (int i = 0; i < calendarIdList.size(); i++) {
String calendarId = calendarIdList.get(i);
String calendarName = ListConversionMethod.getCalendarNameById(calendarId);
/**
*
*/
List<String> dateList = new ArrayList<String>();
KQHolidaySetWithCalendarSetComInfo holidaySetWithCalendarSetComInfo = new KQHolidaySetWithCalendarSetComInfo();
holidaySetWithCalendarSetComInfo.setTofirstRow();
while (holidaySetWithCalendarSetComInfo.next()) {
if (holidaySetWithCalendarSetComInfo.getCalendarId().equals(calendarId)) {
dateList.add(holidaySetWithCalendarSetComInfo.getHolidayDate());
}
}
/**
* ~
* 20240229relatedDay0
*/
int relatedDay = 0;
// for (int x = 0; x < 7; x++) {
// KQFixedSchedulceComInfo kqFixedSchedulceComInfo = new KQFixedSchedulceComInfo();
// String serialId = Util.null2String(kqFixedSchedulceComInfo.getSerialid(groupId, x));
// if (!serialId.equals("")) {
// relatedDay = x;
// break;
// }
// }
/**
* ()
*/
boolean flag = true;
RecordSet recordSet = new RecordSet();
// KQGroupComInfo kqGroupComInfo = new KQGroupComInfo();
List<Map<String, Object>> holidayList = (List<Map<String, Object>>) tempMap.get("holidayList");
Map<String, Object> holidayMap = new HashMap<String, Object>();
if(holidayList.size()>0){
String tmpsql = "delete from kq_HolidaySet where calendarId='"+calendarId+"' and holidayDate>='"+year+"-01-01' and holidayDate<='"+year+"-12-31' ";
recordSet.executeUpdate(tmpsql);
}
for (int j = 0; j < holidayList.size(); j++) {
holidayMap = holidayList.get(j);
String holidayDate = year + "-" + (String) holidayMap.get("holidayDate");
if (!holidayDateList.contains(holidayDate)) {
holidayDateList.add(holidayDate);
}
int changeType = (int) holidayMap.get("changeType");
// if (kqGroupComInfo.getKqtype(groupId).equals("2")&&changeType == 2 ) {
// //排班制的考勤组不能初始化调配工作日
// continue;
// }
String holidayDesc = (String) holidayMap.get("holidayDesc");
if (dateList.contains(holidayDate)) {
String deleteSql = "delete from kq_HolidaySet where calendarId=? and holidayDate=?";
recordSet.executeUpdate(deleteSql, calendarId, holidayDate);
}
String sql = "insert into kq_HolidaySet(calendarId,holidayDate,changeType,holidayDesc,relatedDay) values(?,?,?,?,?)";
flag = recordSet.executeUpdate(sql, calendarId, holidayDate, changeType, holidayDesc, relatedDay);
if (!flag) {
errInfoList.add(SystemEnv.getHtmlLabelName(5056701, user.getLanguage()).replace("$calendarName$", calendarName).replace("$holidayDate$", holidayDate));
}
}
}
/**
*
*/
if (errInfoList.size() > 0) {
resultMap.put("status", "0");
resultMap.put("sketch", SystemEnv.getHtmlLabelName(125960, user.getLanguage()));
resultMap.put("description", errInfoList);
} else {
resultMap.put("status", "1");
resultMap.put("sketch", SystemEnv.getHtmlLabelName(20196, user.getLanguage()));
}
} catch (Exception e) {
resultMap.put("status", "0");
resultMap.put("sketch", SystemEnv.getHtmlLabelName(382661, user.getLanguage()));
resultMap.put("desscription", errInfoList);
} finally {
// /*刷新缓存*/
// KQHolidaySetComInfo kqHolidaySetComInfo = new KQHolidaySetComInfo();
// kqHolidaySetComInfo.removeCache();
//
// /*刷新考勤报表*/
// logger.info("初始化节假日数据格式化考勤报表。groupIdList=" + com.alibaba.fastjson.JSONObject.toJSONString(groupIds) +
// "。holidayDateList=" + com.alibaba.fastjson.JSONObject.toJSONString(holidayDateList));
// List<String> groupIdList = Util.TokenizerString(groupIds, ",");//考勤组ID集合
// new KQHolidaySetThread(groupIdList,holidayDateList).start();
}
return resultMap;
}
/**
* API
*
* @param requestUrl
* @return
*/
private static Map<String, Object> httpRequest(String requestUrl, User user) {
Map<String, Object> resultMap = new HashMap<String, Object>();
//buffer用于接受返回的字符
StringBuffer buffer = new StringBuffer();
try {
TrustManager[] tm = {new MyX509TrustManager()};
SSLContext sslContext = SSLContext.getInstance("SSL", "SunJSSE");
sslContext.init(null, tm, new java.security.SecureRandom());
SSLSocketFactory ssf = sslContext.getSocketFactory();
URL url= new URL(null, requestUrl, new sun.net.www.protocol.https.Handler());
HttpsURLConnection httpUrlConn = (HttpsURLConnection) url.openConnection();
httpUrlConn.setSSLSocketFactory(ssf);
httpUrlConn.setDoOutput(true);
httpUrlConn.setDoInput(true);
httpUrlConn.setUseCaches(false);
httpUrlConn.setRequestMethod("GET");
httpUrlConn.connect();
//获得输入
InputStream inputStream = httpUrlConn.getInputStream();
InputStreamReader inputStreamReader = new InputStreamReader(inputStream, "utf-8");
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
//将bufferReader的值给放到buffer里
String str = null;
while ((str = bufferedReader.readLine()) != null) {
buffer.append(str);
}
//关闭bufferReader和输入流
bufferedReader.close();
inputStreamReader.close();
inputStream.close();
inputStream = null;
//断开连接
httpUrlConn.disconnect();
/**
* JSON
*/
String jsonStr = buffer.toString();
JSONObject jsonObject = JSONObject.fromObject(jsonStr).getJSONObject("data");
int code = jsonObject.optInt("code");//0服务正常。-1服务出错
if (code != 0) {
//初始化节假日失败,获取网络服务出错
resultMap.put("status", "0");
resultMap.put("sketch", SystemEnv.getHtmlLabelName(520011, user.getLanguage()));
return resultMap;
}
JSONObject holiday = jsonObject.getJSONObject("holiday");
if (holiday.size() == 0) {
//初始化节假日失败,暂未获取到所选年份的节假日数据
resultMap.put("status", "0");
resultMap.put("sketch", SystemEnv.getHtmlLabelName(505673, user.getLanguage()));
return resultMap;
}
Map<String, Object> holidayMap = new HashMap<String, Object>();
List<Map<String, Object>> holidayList = new ArrayList<Map<String, Object>>();
Iterator iterator = holiday.keys();
while (iterator.hasNext()) {
holidayMap = new HashMap<String, Object>();
String holidayDate = (String) iterator.next();
holidayMap.put("holidayDate", holidayDate);//日期
JSONObject detailInfo = holiday.getJSONObject(holidayDate);
int wage = detailInfo.optInt("wage");
if (wage == 1) {
holidayMap.put("changeType", 2);//调配工作日
} else if (wage == 2) {
holidayMap.put("changeType", 3);//调配休息日
} else if (wage == 3) {
holidayMap.put("changeType", 1);//公众假日
}
String holidayDesc = detailInfo.getString("name");
holidayMap.put("holidayDesc", holidayDesc);//说明
holidayList.add(holidayMap);
}
resultMap.put("status", "1");
resultMap.put("sketch", SystemEnv.getHtmlLabelName(505674, user.getLanguage()));
resultMap.put("holidayList", holidayList);
} catch (Exception e) {
e.printStackTrace();
resultMap.put("status", "0");
resultMap.put("sketch", SystemEnv.getHtmlLabelName(520011, user.getLanguage()));
return resultMap;
}
return resultMap;
}
}

@ -0,0 +1,199 @@
package com.engine.jucailin.bean;
import weaver.cache.*;
import weaver.conn.RecordSet;
/**
* @Author: sy
* @Description:
* @Date: 2024/2/29
**/
public class KQHolidaySetWithCalendarSetComInfo extends CacheBase {
/**
*
*/
protected static String TABLE_NAME = "kq_holidaySet";
/**
* sqlwherewhere
*/
protected static String TABLE_WHERE = null;
/**
* sqlorder byorder by
*/
protected static String TABLE_ORDER = "id";
/**
*
*/
@PKColumn(type = CacheColumnType.NUMBER)
protected static String PK_NAME = "id";
/**
* ID
*/
@CacheColumn(name = "id")
protected static int id;
/**
* ID
*/
@CacheColumn(name = "calendarId")
protected static int calendarId;
/**
*
*/
@CacheColumn(name = "holidayDate")
protected static int holidayDate;
/**
*
*/
@CacheColumn(name = "holidayDesc")
protected static int holidayDesc;
/**
*
* 1-2-3-
*/
@CacheColumn(name = "changeType")
protected static int changeType;
/**
*
* 1-2-3-4-5-6-7-
*
*/
@CacheColumn(name = "relatedDay")
protected static int relatedDay;
@Override
protected boolean autoInitIfNotFound() {
return false;
}
@Override
protected CacheMap initCache() throws Exception {
CacheMap localData = super.createCacheMap();
RecordSet rs = new RecordSet();
String sql = "select * from kq_HolidaySet order by id ";
rs.executeQuery(sql);
while (rs.next()) {
String calendarId = rs.getString("calendarId");
String holidayDate = rs.getString("holidayDate");
String PK = calendarId + "|" + holidayDate;
CacheItem row = createCacheItem();
parseResultSetToCacheItem(rs, row);
//这里需要记得调用这个转化方法,否则这些自己加载的数据就不能正确转化,当然你也可以直接在转化逻辑写在这里,不过这样先让代码重复了
modifyCacheItem(PK, row);
localData.put(PK, row);
}
return localData;
}
@Override
protected CacheItem initCache(String key) {
if (key == null || "".equals(key.trim())) {
return null;
}
String calendarId = "";//日历设置的ID
String holidayDate = "";//日期
String[] keyArr = key.split("\\|");
if (keyArr.length == 2) {
calendarId = keyArr[0];
holidayDate = keyArr[1];
String sql = "select * from kq_HolidaySet where calendarId=? and holidayDate=?";
RecordSet recordSet = new RecordSet();
recordSet.executeQuery(sql, calendarId, holidayDate);
if (recordSet.next()) {
CacheItem cacheItem = createCacheItem();
parseResultSetToCacheItem(recordSet, cacheItem);
modifyCacheItem(key, cacheItem);
return cacheItem;
}
return null;
} else {
return null;
}
}
private String getId(String key) {
return (String) getValue(id, key);
}
public String getId(String calendarId, String holidayDate) {
String PK = calendarId + "|" + holidayDate;
String id = getId(PK);
return id;
}
public String getCalendarId() {
return (String) getRowValue(calendarId);
}
private String getCalendarId(String key) {
return (String) getValue(calendarId, key);
}
public String getCalendarId(String calendarId, String holidayDate) {
String PK = calendarId + "|" + holidayDate;
return getCalendarId(PK);
}
public String getHolidayDate() {
return (String) getRowValue(holidayDate);
}
private String getHolidayDate(String key) {
return (String) getValue(holidayDate, key);
}
public String getHolidayDate(String calendarId, String holidayDate) {
String PK = calendarId + "|" + holidayDate;
return getHolidayDate(PK);
}
public String getHolidayDesc() {
return (String) getRowValue(holidayDesc);
}
private String getHolidayDesc(String key) {
return (String) getValue(holidayDesc, key);
}
public String getHolidayDesc(String calendarId, String holidayDate) {
String PK = calendarId + "|" + holidayDate;
return getHolidayDesc(PK);
}
public String getChangeType() {
return (String) getRowValue(changeType);
}
private String getChangeType(String key) {
return (String) getValue(changeType, key);
}
public String getChangeType(String calendarId, String holidayDate) {
String PK = calendarId + "|" + holidayDate;
return getChangeType(PK);
}
public String getRelatedDay() {
return (String) getRowValue(relatedDay);
}
private String getRelatedDay(String key) {
return (String) getValue(relatedDay, key);
}
public String getRelatedDay(String calendarId, String holidayDate) {
String PK = calendarId + "|" + holidayDate;
return getRelatedDay(PK);
}
}

@ -74,7 +74,7 @@ public class GetCalendarSettingFormCmd extends AbstractCommonCommand<Map<String,
hrmFieldBean = new HrmFieldBean();
hrmFieldBean.setFieldname("calendar_name");//日历名称
hrmFieldBean.setFieldlabel("531231");
hrmFieldBean.setFieldhtmltype(FieldHtmlTypeEnum.CHECKBOX.getKey());
hrmFieldBean.setFieldhtmltype(FieldHtmlTypeEnum.INPUT.getKey());
hrmFieldBean.setType("1");
hrmFieldBean.setIsFormField(true);
hrmFieldBean.setViewAttr(3);
@ -87,7 +87,7 @@ public class GetCalendarSettingFormCmd extends AbstractCommonCommand<Map<String,
hrmFieldBean = new HrmFieldBean();
hrmFieldBean.setFieldname("default_calendar");//默认日历
hrmFieldBean.setFieldlabel("546298");
hrmFieldBean.setFieldhtmltype(FieldHtmlTypeEnum.INPUT.getKey());
hrmFieldBean.setFieldhtmltype(FieldHtmlTypeEnum.CHECKBOX.getKey());
hrmFieldBean.setType("1");
hrmFieldBean.setIsFormField(true);
hrmFieldBean.setViewAttr(2);

@ -78,7 +78,7 @@ public class GetCalendarSettingListCmd extends AbstractCommonCommand<Map<String,
return new ArrayList<WeaTableColumn>() {{
add(new WeaTableColumn("id").setDisplay(WeaBoolAttr.FALSE));
add(new WeaTableColumn("10%", SystemEnv.getHtmlLabelName(531231, user.getLanguage()), "calendar_name"));//日历名称
add(new WeaTableColumn("10%", SystemEnv.getHtmlLabelName(546298, user.getLanguage()), "default_calendar"));//默认日历
add(new WeaTableColumn("10%", SystemEnv.getHtmlLabelName(546298, user.getLanguage()), "default_calendar").setTransmethod("com.engine.jucailin.util.ListConversionMethod.getCheckValue").setOtherpara(user.getLanguage()+"").setColumn("default_calendar"));//默认日历
add(new WeaTableColumn("10%", SystemEnv.getHtmlLabelName(546299, user.getLanguage()), "calendar_desc"));//日历说明
}};

@ -0,0 +1,190 @@
package com.engine.jucailin.cmd.calendar.holidaySet;
import com.engine.common.biz.AbstractCommonCommand;
import com.engine.common.biz.SimpleBizLogger;
import com.engine.common.constant.BizLogSmallType4Hrm;
import com.engine.common.constant.BizLogType;
import com.engine.common.entity.BizLogContext;
import com.engine.core.interceptor.CommandContext;
import weaver.conn.RecordSet;
import weaver.general.Util;
import weaver.hrm.HrmUserVarify;
import weaver.hrm.User;
import weaver.systeminfo.SystemEnv;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
/**
* @Author: sy
* @Description:
* @Date: 2024/2/28
**/
public class AddHolidaySetWithCalendarSetCmd extends AbstractCommonCommand<Map<String, Object>> {
private SimpleBizLogger logger;
public AddHolidaySetWithCalendarSetCmd(Map<String, Object> params, User user) {
this.user = user;
this.params = params;
this.logger = new SimpleBizLogger();
String calendarId = Util.null2String(params.get("calendarId"));//日历设置的ID取自kq_calendar_name中id
String syncCalendarIds = Util.null2String(params.get("syncCalendarIds"));//需要同步的日历设置ID
String calendarIds = calendarId + (syncCalendarIds.equals("") ? "" : ("," + syncCalendarIds));
BizLogContext bizLogContext = new BizLogContext();
bizLogContext.setLogType(BizLogType.HRM_ENGINE);//模块类型
bizLogContext.setBelongType(BizLogSmallType4Hrm.HRM_ENGINE_KQ_HOLIDAYSET);//所属大类型
bizLogContext.setLogSmallType(BizLogSmallType4Hrm.HRM_ENGINE_KQ_HOLIDAYSET);//当前小类型
bizLogContext.setParams(params);//当前request请求参数
logger.setUser(user);//当前操作人
String mainSql = "select * from kq_HolidaySet where calendarId in (" + calendarIds + ")";
logger.setMainSql(mainSql, "id");//主表sql
logger.setMainPrimarykey("id");//主日志表唯一key
logger.setMainTargetNameMethod("com.engine.kq.util.KQTransMethod.getTargetName4HolidaySet","column:calendarId+column:holidayDate+"+user.getLanguage());//当前targetName对应的列对应日志中的对象名
logger.before(bizLogContext);
}
@Override
public BizLogContext getLogContext() {
return null;
}
@Override
public List<BizLogContext> getLogContexts() {
return logger.getBizLogContexts();
}
@Override
public Map<String, Object> execute(CommandContext commandContext) {
Map<String, Object> resultMap = new HashMap<String, Object>();
String calendarId = Util.null2String(params.get("calendarId"));//日历设置的ID取自kq_calendar_name中id
String startDate = Util.null2String(params.get("startDate"));//开始日期
String endDate = Util.null2String(params.get("endDate"));//结束日期
String changeType = Util.null2String(params.get("changeType"));//类型1-公众假日、2-调配工作日、3-调配休息日
String holidayDesc = Util.null2String(params.get("holidayDesc"));//说明
int relatedDay = Util.getIntValue((String) params.get("relatedDay"), -1);//对应工作日0-星期一、1-星期二、2-星期三、3-星期四、4-星期五、5-星期六、6-星期日
String isSync = Util.null2String(params.get("isSync"));//是否需要同步到其他日历设置
String syncCalendarIds = Util.null2String(params.get("syncCalendarIds"));//需要同步的日历设置ID
try {
boolean canAdd = HrmUserVarify.checkUserRight("KQHolidaySetAdd:Add", user);
if (!canAdd) {
resultMap.put("status", "-1");
resultMap.put("message", SystemEnv.getHtmlLabelName(2012, user.getLanguage()));
return resultMap;
}
boolean flag = true;
String deleteSql = "delete from kq_HolidaySet where calendarId=? and holidayDate=?";
String insertSql = " insert into kq_HolidaySet(calendarId,holidayDate,changeType,holidayDesc,relatedDay) values(?,?,?,?,?)";
RecordSet recordSet = new RecordSet();
int days = Util.dayDiff(startDate, endDate);
for (int i = 0; i < days; i++) {
String holidayDate = getDateDel(startDate, i);
/**
*
*/
recordSet.executeUpdate(deleteSql, calendarId, holidayDate);
flag = recordSet.executeUpdate(insertSql, calendarId, holidayDate, changeType, holidayDesc, relatedDay);
if (flag) {
resultMap.put("sign", "1");
resultMap.put("message", SystemEnv.getHtmlLabelName(83551, user.getLanguage()));//保存成功
} else {
resultMap.put("sign", "-1");
resultMap.put("message", SystemEnv.getHtmlLabelName(84544, user.getLanguage()));//保存失败
return resultMap;
}
/**
*
*
*/
// KQGroupComInfo kqGroupComInfo = new KQGroupComInfo();
if (isSync.equals("1") || isSync.equals("true")) {
List<String> syncCalendarIdList = Util.TokenizerString(syncCalendarIds, ",");
for (int j = 0; j < syncCalendarIdList.size(); j++) {
String tempCalendarId = syncCalendarIdList.get(j);
// if (Util.null2String(kqGroupComInfo.getKqtype(tempGroupId)).equals("2") && changeType.equals("2")) {
// continue;
// }
recordSet.executeUpdate(deleteSql, tempCalendarId, holidayDate);
flag = recordSet.executeUpdate(insertSql, tempCalendarId, holidayDate, changeType, holidayDesc, relatedDay);
if (!flag) {
resultMap.put("sign", "-1");
resultMap.put("message", SystemEnv.getHtmlLabelName(84544, user.getLanguage()));//保存失败
return resultMap;
}
}
}
}
if (flag) {
resultMap.put("sign", "1");
resultMap.put("message", SystemEnv.getHtmlLabelName(83551, user.getLanguage()));//保存成功
} else {
resultMap.put("sign", "-1");
resultMap.put("message", SystemEnv.getHtmlLabelName(84544, user.getLanguage()));//保存失败
}
} catch (Exception e) {
resultMap.put("sign", "-1");
resultMap.put("message", SystemEnv.getHtmlLabelName(382661, user.getLanguage()));
writeLog(e);
} finally {
// /*刷新缓存*/
// KQHolidaySetComInfo holidaySetComInfo = new KQHolidaySetComInfo();
// holidaySetComInfo.removeCache();
//
// /*刷新报表*/
// List<String> calendarIdList = new ArrayList<String>();
// if (isSync.equals("1") || isSync.equals("true")) {
// calendarIdList = Util.TokenizerString(syncCalendarIds, ",");
// if (calendarIdList == null) {
// calendarIdList = new ArrayList<String>();
// }
// }
// calendarIdList.add(calendarId);
// List<String> holidayDateList = new ArrayList<String>();
// boolean isEnd = false;
// for (String holidayDate = startDate; !isEnd; holidayDate = DateUtil.getDate(holidayDate, 1)) {
// if (holidayDate.equals(endDate)) {
// isEnd = true;
// }
// if (!holidayDateList.contains(holidayDate)) {
// holidayDateList.add(holidayDate);
// }
// }
// new KQHolidaySetThread(calendarIdList,holidayDateList).start();
}
return resultMap;
}
/**
* datanum
*
* @param date
* @param num
* @return
*/
private static String getDateDel(String date, int num) {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
Calendar calendar = Calendar.getInstance();
Date tempDate = null;
try {
tempDate = simpleDateFormat.parse(date);
} catch (ParseException e) {
e.printStackTrace();
}
calendar.setTime(tempDate);
calendar.add(Calendar.DATE, num);
tempDate = calendar.getTime();
date = simpleDateFormat.format(tempDate);
return date;
}
}

@ -0,0 +1,148 @@
package com.engine.jucailin.cmd.calendar.holidaySet;
import com.engine.common.biz.AbstractCommonCommand;
import com.engine.common.biz.SimpleBizLogger;
import com.engine.common.constant.BizLogSmallType4Hrm;
import com.engine.common.constant.BizLogType;
import com.engine.common.entity.BizLogContext;
import com.engine.core.interceptor.CommandContext;
import weaver.conn.RecordSet;
import weaver.general.Util;
import weaver.hrm.HrmUserVarify;
import weaver.hrm.User;
import weaver.systeminfo.SystemEnv;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @Author: sy
* @Description: --
* @Date: 2024/2/28
**/
public class EditHolidaySetWithCalendarSetCmd extends AbstractCommonCommand<Map<String, Object>> {
private SimpleBizLogger logger;
public EditHolidaySetWithCalendarSetCmd(Map<String, Object> params, User user) {
this.user = user;
this.params = params;
this.logger = new SimpleBizLogger();
String calendarId = Util.null2String(params.get("calendarId"));//日历设置的ID取自kq_calendar_name中id
String syncCalendarIds = Util.null2String(params.get("syncCalendarIds"));//需要同步的日历设置ID
String calendarIds = calendarId + (syncCalendarIds.equals("") ? "" : ("," + syncCalendarIds));
BizLogContext bizLogContext = new BizLogContext();
bizLogContext.setLogType(BizLogType.HRM_ENGINE);//模块类型
bizLogContext.setBelongType(BizLogSmallType4Hrm.HRM_ENGINE_KQ_HOLIDAYSET);//所属大类型
bizLogContext.setLogSmallType(BizLogSmallType4Hrm.HRM_ENGINE_KQ_HOLIDAYSET);//当前小类型
bizLogContext.setParams(params);//当前request请求参数
logger.setUser(user);//当前操作人
String mainSql = "select * from kq_HolidaySet where calendarId in (" + calendarIds + ")";
logger.setMainSql(mainSql, "id");//主表sql
logger.setMainPrimarykey("id");//主日志表唯一key
logger.setMainTargetNameMethod("com.engine.kq.util.KQTransMethod.getTargetName4HolidaySet","column:calendarId+column:holidayDate+"+user.getLanguage());//当前targetName对应的列对应日志中的对象名
logger.before(bizLogContext);
}
@Override
public BizLogContext getLogContext() {
return null;
}
@Override
public List<BizLogContext> getLogContexts() {
return logger.getBizLogContexts();
}
@Override
public Map<String, Object> execute(CommandContext commandContext) {
Map<String, Object> resultMap = new HashMap<String, Object>();
String id = Util.null2String(params.get("id"));//ID
String calendarId = Util.null2String(params.get("calendarId"));//日历设置的ID取自kq_calendar_name中id
String holidayDate = Util.null2String(params.get("holidayDate"));//日期
String changeType = Util.null2String(params.get("changeType"));//类型1-公众假日、2-调配工作日、3-调配休息日
String holidayDesc = Util.null2String(params.get("holidayDesc"));//说明
int relatedDay = Util.getIntValue((String) params.get("relatedDay"), -1);//对应工作日0-星期一、1-星期二、2-星期三、3-星期四、4-星期五、5-星期六、6-星期日
String isSync = Util.null2String(params.get("isSync"));//是否需要同步到其他考勤组
String syncCalendarIds = Util.null2String(params.get("syncCalendarIds"));//需要同步的日历设置ID
try {
boolean canEdit = HrmUserVarify.checkUserRight("KQHolidaySetEdit:Edit", user);
if (!canEdit) {
resultMap.put("status", "-1");
resultMap.put("message", SystemEnv.getHtmlLabelName(2012, user.getLanguage()));
return resultMap;
}
String updateSql = "update kq_HolidaySet set changeType=?,holidayDesc=?,relatedDay=?,calendarId=?,holidayDate=? where id=?";
RecordSet recordSet = new RecordSet();
boolean flag = recordSet.executeUpdate(updateSql, changeType, holidayDesc, relatedDay, calendarId, holidayDate, id);
if (flag) {
resultMap.put("sign", "1");
resultMap.put("message", SystemEnv.getHtmlLabelName(83551, user.getLanguage()));//保存成功
} else {
resultMap.put("sign", "-1");
resultMap.put("message", SystemEnv.getHtmlLabelName(84544, user.getLanguage()));//保存失败
return resultMap;
}
/**
*
*
*/
String deleteSql = "delete from kq_HolidaySet where calendarId=? and holidayDate=?";
String insertSql = " insert into kq_HolidaySet(calendarId,holidayDate,changeType,holidayDesc,relatedDay) values(?,?,?,?,?)";
// KQGroupComInfo kqGroupComInfo = new KQGroupComInfo();
if (isSync.equals("1") || isSync.equals("true")) {
List<String> syncCalendarIdList = Util.TokenizerString(syncCalendarIds, ",");
for (int j = 0; j < syncCalendarIdList.size(); j++) {
String tempCalendarId = syncCalendarIdList.get(j);
// if (Util.null2String(kqGroupComInfo.getKqtype(tempGroupId)).equals("2") && changeType.equals("2")) {
// continue;
// }
recordSet.executeUpdate(deleteSql, tempCalendarId, holidayDate);
flag = recordSet.executeUpdate(insertSql, tempCalendarId, holidayDate, changeType, holidayDesc, relatedDay);
if (!flag) {
resultMap.put("sign", "-1");
resultMap.put("message", SystemEnv.getHtmlLabelName(84544, user.getLanguage()));//保存失败
return resultMap;
}
}
}
if (flag) {
resultMap.put("sign", "1");
resultMap.put("message", SystemEnv.getHtmlLabelName(83551, user.getLanguage()));//保存成功
} else {
resultMap.put("sign", "-1");
resultMap.put("message", SystemEnv.getHtmlLabelName(84544, user.getLanguage()));//保存失败
}
} catch (Exception e) {
resultMap.put("sign", "-1");
resultMap.put("message", SystemEnv.getHtmlLabelName(382661, user.getLanguage()));
writeLog(e);
}finally {
// /*刷新缓存*/
// Kring> holidayDateList = new ArrayList<String>();
// holidayQHolidaySetComInfo holidaySetComInfo = new KQHolidaySetComInfo();
//// holidaySetComInfo.removeCache();
////
//// /*刷新报表*/
//// List<String> groupIdList = new ArrayList<String>();
//// if (isSync.equals("1") || isSync.equals("true")) {
//// groupIdList = Util.TokenizerString(syncGroupIds, ",");
//// if(groupIdList==null){
//// groupIdList = new ArrayList<String>();
//// }
//// }
//// groupIdList.add(groupId);
//// List<StDateList.add(holidayDate);
// new KQHolidaySetThread(groupIdList,holidayDateList).start();
}
return resultMap;
}
}

@ -0,0 +1,63 @@
package com.engine.jucailin.cmd.calendar.holidaySet;
import com.api.hrm.bean.TreeNode;
import com.engine.common.biz.AbstractCommonCommand;
import com.engine.common.entity.BizLogContext;
import com.engine.core.interceptor.CommandContext;
import com.engine.jucailin.util.DbTools;
import weaver.general.Util;
import weaver.hrm.User;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @Author: sy
* @Description:
* @Date: 2024/2/28
**/
public class GetCalendarSettingTreeCmd extends AbstractCommonCommand<Map<String, Object>> {
public GetCalendarSettingTreeCmd(Map<String, Object> params, User user) {
this.user = user;
this.params = params;
}
@Override
public BizLogContext getLogContext() {
return null;
}
@Override
public Map<String, Object> execute(CommandContext commandContext) {
TreeNode root = new TreeNode();
String keyword = Util.null2String(params.get("keyword")).trim().toLowerCase();
root.setId("0");
root.setName("日历设置");
root.setType("0");
root.setIcon("icon-coms-LargeArea");
List<TreeNode> groups = new ArrayList<TreeNode>();
String sql = "select id,calendar_name from kq_calendar_name where 1=1";
if (keyword.length() > 0){
sql += " and calendar_name like '%" + keyword + "%' ";
}
List<Map<String,String>> dataList = DbTools.getSqlToList(sql);
for (Map<String,String> data:dataList){
TreeNode group = new TreeNode();
group.setId(data.get("id"));
group.setName(data.get("calendar_name"));
group.setPid("0");
group.setType("1");
group.setCanClick(true);
group.setIcon("icon-coms-LargeArea");
groups.add(group);
}
root.setIsParent(groups.size()>0);
root.setSubs(groups);
Map<String, Object> treeObj = new HashMap<String, Object>();
treeObj.put("rootCompany", root);
return treeObj;
}
}

@ -0,0 +1,101 @@
package com.engine.jucailin.cmd.calendar.holidaySet;
import com.engine.common.biz.AbstractCommonCommand;
import com.engine.common.entity.BizLogContext;
import com.engine.core.interceptor.CommandContext;
import weaver.conn.RecordSet;
import weaver.general.Util;
import weaver.hrm.HrmUserVarify;
import weaver.hrm.User;
import weaver.systeminfo.SystemEnv;
import java.util.*;
/**
* @Author: sy
* @Description: --
* @Date: 2024/2/28
**/
public class GetHolidayCountWithCalendarSetCmd extends AbstractCommonCommand<Map<String, Object>> {
public GetHolidayCountWithCalendarSetCmd(Map<String, Object> params, User user) {
this.user = user;
this.params = params;
}
@Override
public BizLogContext getLogContext() {
return null;
}
@Override
public Map<String, Object> execute(CommandContext commandContext) {
Map<String, Object> resultMap = new HashMap<String, Object>();
String calendarId = Util.null2String(params.get("calendarId"));//日历设置的ID取自kq_calendar_name中id
String currentYear = Util.null2String(params.get("currentYear"));//年份
boolean canAdd = HrmUserVarify.checkUserRight("KQHolidaySetAdd:Add", user);//是否具有新建权限
if (!canAdd) {
resultMap.put("status", "-1");
resultMap.put("message", SystemEnv.getHtmlLabelName(2012, user.getLanguage()));
return resultMap;
}
/*如果没有传入年份,默认为今年的年份*/
Calendar today = Calendar.getInstance();
if (currentYear.equals("")) {
currentYear = "" + today.get(Calendar.YEAR);
}
Map<String, Object> countMap = new HashMap<String, Object>();
List<Map<String, Object>> countList = new ArrayList<Map<String, Object>>();
int sumNum1 = 0;//公众假日总计
int sumNum2 = 0;//调配工作日总计
int sumNum3 = 0;//调配休息日总计
String sql = " select changeType,COUNT(*) AS sum_num from kq_HolidaySet where 1=1 ";
if (!calendarId.equals("")) {
sql += " and calendarId in (" + calendarId + ")";
}
if (!currentYear.equals("")) {
String dateFrom = currentYear + "-01-01";
String dateTo = currentYear + "-12-31";
sql += " and holidayDate>='" + dateFrom + "' and holidayDate<='" + dateTo + "'";
}
sql += " group by changeType ";
RecordSet recordSet = new RecordSet();
recordSet.executeQuery(sql);
while (recordSet.next()) {
String changeType = recordSet.getString("changeType");
if (changeType.equals("1")) {
sumNum1 = recordSet.getInt("sum_num");
} else if (changeType.equals("2")) {
sumNum2 = recordSet.getInt("sum_num");
} else if (changeType.equals("3")) {
sumNum3 = recordSet.getInt("sum_num");
}
}
countMap = new HashMap<String, Object>();
countMap.put("changeType", "1");
countMap.put("typeName", SystemEnv.getHtmlLabelName(16478, user.getLanguage()));
countMap.put("bgColor", "#00cc66");
countMap.put("value", sumNum1);
countList.add(countMap);
countMap = new HashMap<String, Object>();
countMap.put("changeType", "2");
countMap.put("typeName", SystemEnv.getHtmlLabelName(16751, user.getLanguage()));
countMap.put("bgColor", "#ff0000");
countMap.put("value", sumNum2);
countList.add(countMap);
countMap = new HashMap<String, Object>();
countMap.put("changeType", "3");
countMap.put("typeName", SystemEnv.getHtmlLabelName(16752, user.getLanguage()));
countMap.put("bgColor", "#0066ff");
countMap.put("value", sumNum3);
countList.add(countMap);
resultMap.put("type", countList);
return resultMap;
}
}

@ -0,0 +1,184 @@
package com.engine.jucailin.cmd.calendar.holidaySet;
import com.engine.common.biz.AbstractCommonCommand;
import com.engine.common.entity.BizLogContext;
import com.engine.core.interceptor.CommandContext;
import weaver.conn.RecordSet;
import weaver.general.Util;
import weaver.hrm.HrmUserVarify;
import weaver.hrm.User;
import weaver.systeminfo.SystemEnv;
import java.util.*;
/**
* @Author: sy
* @Description: --
* @Date: 2024/2/28
**/
public class GetHolidaySetCalendarWithCalendarSetCmd extends AbstractCommonCommand<Map<String, Object>> {
public GetHolidaySetCalendarWithCalendarSetCmd(Map<String, Object> params, User user) {
this.user = user;
this.params = params;
}
@Override
public BizLogContext getLogContext() {
return null;
}
@Override
public Map<String, Object> execute(CommandContext commandContext) {
Map<String, Object> resultMap = new HashMap<String, Object>();
RecordSet recordSet = new RecordSet();
String calendarId = Util.null2String(params.get("calendarId"));//日历设置的ID取自kq_calendar_name中id
String currentYear = Util.null2String(params.get("currentYear"));//年份
String changeType = Util.null2String(params.get("changeType"));//类型1-公众假日、2-调配工作日、3-调配休息日
boolean canAdd = HrmUserVarify.checkUserRight("KQHolidaySetAdd:Add", user);//是否具有新建权限
if (!canAdd) {
resultMap.put("status", "-1");
resultMap.put("message", SystemEnv.getHtmlLabelName(2012, user.getLanguage()));
return resultMap;
}
Map<String, Object> itemMap = new HashMap<String, Object>();
List<Map<String, Object>> itemList = new ArrayList<Map<String, Object>>();
List<Object> dataList = new ArrayList<Object>();
/*公众假日*/
Map<String, Object> holidayMap1 = new HashMap<String, Object>();
List<Object> holidayList1 = new ArrayList<Object>();
/*调配工作日*/
Map<String, Object> holidayMap2 = new HashMap<String, Object>();
List<Object> holidayList2 = new ArrayList<Object>();
/*调配休息日*/
Map<String, Object> holidayMap3 = new HashMap<String, Object>();
List<Object> holidayList3 = new ArrayList<Object>();
/*如果没有传入年份,默认为今年的年份*/
Calendar today = Calendar.getInstance();
if (currentYear.equals("")) {
currentYear = "" + today.get(Calendar.YEAR);
}
String sql = "select * from kq_HolidaySet where 1=1";
if (!calendarId.equals("")) {
sql += " and calendarId in (" + calendarId + ")";
}
if (!changeType.equals("")) {
sql += " and changeType in (" + changeType + ")";
} else {
sql += " and 1=2 ";//表示不显示任何节假日数据
}
if (!currentYear.equals("")) {
String dateFrom = currentYear + "-01-01";
String dateTo = currentYear + "-12-31";
sql += " and holidayDate>='" + dateFrom + "' and holidayDate<='" + dateTo + "'";
}
recordSet.executeQuery(sql);
while (recordSet.next()) {
Map<String, Object> holidayMap = new HashMap<String, Object>();
changeType = recordSet.getString("changeType");//类型1-公众假日、2-调配工作日、3-调配休息日
String holidayDate = recordSet.getString("holidayDate");//日期
String holidayDesc = recordSet.getString("holidayDesc");//说明
if (changeType.equals("1")) {
holidayMap.put("fontColor", "#FFF");
holidayMap.put("bgColor", "#00CC66");//绿色
holidayMap.put("changeType", "1");//1-公众假日
holidayMap.put("typeName", getTypeName("1"));
holidayMap.put("desc", holidayDesc);
holidayMap.put("id", recordSet.getInt("id"));
holidayMap.put("date", holidayDate);
holidayMap1.put(holidayDate, holidayMap);
holidayList1.add(holidayDate);
} else if (changeType.equals("2")) {
holidayMap.put("fontColor", "#FFF");
holidayMap.put("bgColor", "#FF0000");//红色
holidayMap.put("changeType", "2");//调配工作日
holidayMap.put("typeName", getTypeName("2"));
holidayMap.put("desc", holidayDesc);
holidayMap.put("id", recordSet.getInt("id"));
holidayMap.put("date", holidayDate);
holidayMap2.put(holidayDate, holidayMap);
holidayList2.add(holidayDate);
} else if (changeType.equals("3")) {
holidayMap.put("fontColor", "#FFF");
holidayMap.put("bgColor", "#0066FF");//蓝色
holidayMap.put("changeType", "3");//调配休息日
holidayMap.put("typeName", getTypeName("3"));
holidayMap.put("desc", holidayDesc);
holidayMap.put("id", recordSet.getInt("id"));
holidayMap.put("date", holidayDate);
holidayMap3.put(holidayDate, holidayMap);
holidayList3.add(holidayDate);
}
}
Calendar dateTemp = Calendar.getInstance();
String dateStr = "";
for (int i = 1; i <= 12; i++) {
itemList = new ArrayList<Map<String, Object>>();
for (int j = 1; j <= 31; j++) {
itemMap = new HashMap<String, Object>();
dateTemp.clear();
dateTemp.set(Util.getIntValue(currentYear), i - 1, j);
if (dateTemp.get(Calendar.MONTH) != i - 1) {//防止出现2月30号等错误日期参数
continue;
}
dateStr = Util.add0(dateTemp.get(Calendar.YEAR), 4) + "-" +
Util.add0(dateTemp.get(Calendar.MONTH) + 1, 2) + "-" +
Util.add0(dateTemp.get(Calendar.DAY_OF_MONTH), 2);
if (holidayList1.contains(dateStr)) {
itemMap = (Map<String, Object>) holidayMap1.get(dateStr);
} else if (holidayList2.contains(dateStr)) {
itemMap = (Map<String, Object>) holidayMap2.get(dateStr);
} else if (holidayList3.contains(dateStr)) {
itemMap = (Map<String, Object>) holidayMap3.get(dateStr);
} else if (dateTemp.getTime().getDay() == 6 || dateTemp.getTime().getDay() == 0) {//周末
itemMap.put("date", dateStr);
itemMap.put("fontColor", "#C0C0C0");//灰色
itemMap.put("bgColor", "");
itemMap.put("changeType", "");
itemMap.put("typeName", "");
itemMap.put("desc", "");
itemMap.put("id", "");
} else {
itemMap.put("date", dateStr);
itemMap.put("fontColor", "#000000");
itemMap.put("bgColor", "");
itemMap.put("changeType", "");
itemMap.put("typeName", "");
itemMap.put("desc", "");
itemMap.put("id", "");
}
itemList.add(itemMap);
}
dataList.add(itemList);
}
resultMap.put("data", dataList);
return resultMap;
}
/**
*
*
* @param type
* @return
*/
private String getTypeName(String type) {
String typeName = "";
if (type.equals("1")) {
typeName = SystemEnv.getHtmlLabelName(16478, user.getLanguage());//公众假日
} else if (type.equals("2")) {
typeName = SystemEnv.getHtmlLabelName(16751, user.getLanguage());//调配工作日
} else if (type.equals("3")) {
typeName = SystemEnv.getHtmlLabelName(16752, user.getLanguage());//调配休息日
} else {
typeName = "";
}
return typeName;
}
}

@ -0,0 +1,243 @@
package com.engine.jucailin.cmd.calendar.holidaySet;
import com.api.browser.bean.SearchConditionItem;
import com.api.browser.bean.SearchConditionOption;
import com.api.hrm.bean.HrmFieldBean;
import com.api.hrm.util.HrmFieldSearchConditionComInfo;
import com.engine.common.biz.AbstractCommonCommand;
import com.engine.common.entity.BizLogContext;
import com.engine.core.interceptor.CommandContext;
import weaver.conn.RecordSet;
import weaver.general.Util;
import weaver.hrm.HrmUserVarify;
import weaver.hrm.User;
import weaver.systeminfo.SystemEnv;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @Author: sy
* @Description: --
* @Date: 2024/2/28
**/
public class GetHolidaySetFormWithCalendarSetCmd extends AbstractCommonCommand<Map<String, Object>> {
public GetHolidaySetFormWithCalendarSetCmd(Map<String, Object> params, User user) {
this.user = user;
this.params = params;
}
@Override
public BizLogContext getLogContext() {
return null;
}
@Override
public Map<String, Object> execute(CommandContext commandContext) {
Map<String, Object> resultMap = new HashMap<String, Object>();
String id = Util.null2String(params.get("id"));//ID
String calendarId = Util.null2String(params.get("calendarId"));//日历设置的ID取自kq_calendar_name中id
String holidayDate = Util.null2String(params.get("holidayDate"));//节假日日期
String holidayDesc = "";//说明
String changeType = "1";//类型1-公众假日、2-调配工作日、3-调配休息日
String relatedDay = "";//对应工作日0-星期一、1-星期二、2-星期三、3-星期四、4-星期五、5-星期六、6-星期日
String shiftId = "";//班次ID
/*参数有误*/
if (id.equals("") && calendarId.equals("")) {
resultMap.put("status", "-1");
resultMap.put("message", SystemEnv.getHtmlLabelName(388858, user.getLanguage()));
return resultMap;
}
/*是否具有编辑的权限*/
boolean canEdit = HrmUserVarify.checkUserRight("KQHolidaySetEdit:Edit", user);
if (!canEdit) {
resultMap.put("status", "-1");
resultMap.put("message", SystemEnv.getHtmlLabelName(2012, user.getLanguage()));
return resultMap;
}
List<Map<String, Object>> groupList = new ArrayList<Map<String, Object>>();
Map<String, Object> groupItem = new HashMap<String, Object>();
List<Object> itemList = new ArrayList<Object>();
HrmFieldSearchConditionComInfo hrmFieldSearchConditionComInfo = new HrmFieldSearchConditionComInfo();
SearchConditionItem searchConditionItem = null;
HrmFieldBean hrmFieldBean = null;
List<Map<String, Object>> replaceDatas = new ArrayList<Map<String, Object>>();
Map<String, Object> datas = new HashMap<String, Object>();
boolean isEdit = false;
if (!id.equals("")) {
String sql = "select * from kq_HolidaySet where id=" + id;
RecordSet recordSet = new RecordSet();
recordSet.executeQuery(sql);
if (recordSet.next()) {
isEdit = true;
holidayDate = recordSet.getString("holidayDate");
calendarId = recordSet.getString("calendarId");
holidayDesc = recordSet.getString("holidayDesc");
changeType = recordSet.getString("changeType");
relatedDay = recordSet.getString("relatedDay");
shiftId = recordSet.getString("shiftId");
}
}
String calendarName = "";//日历名称
if (!"".equals(calendarId)) {
String sql = "select * from kq_calendar_name where id=" + calendarId;
RecordSet recordSet = new RecordSet();
recordSet.executeQuery(sql);
if (recordSet.next()) {
calendarName = recordSet.getString("calendarName");
}
}
hrmFieldBean = new HrmFieldBean();
hrmFieldBean.setFieldname("calendarId");//日历名称
hrmFieldBean.setFieldlabel("531231");
hrmFieldBean.setFieldhtmltype("3");
hrmFieldBean.setType("kqcalendar");
hrmFieldBean.setIsFormField(true);
hrmFieldBean.setViewAttr(1);
searchConditionItem = hrmFieldSearchConditionComInfo.getSearchConditionItem(hrmFieldBean, user);
replaceDatas = new ArrayList<Map<String, Object>>();
datas = new HashMap<String, Object>();
datas.put("id", calendarId);
datas.put("name", calendarName);
replaceDatas.add(datas);
searchConditionItem.getBrowserConditionParam().setReplaceDatas(replaceDatas);
Map<String, Object> OtherParamsMap = new HashMap<String, Object>();
OtherParamsMap.put("hasBorder", true);
searchConditionItem.setOtherParams(OtherParamsMap);
searchConditionItem.setRules("required|string");
itemList.add(searchConditionItem);
if (isEdit) {
hrmFieldBean = new HrmFieldBean();
hrmFieldBean.setFieldname("holidayDate");//日期
hrmFieldBean.setFieldlabel("97");
hrmFieldBean.setFieldhtmltype("3");
hrmFieldBean.setType("2");
hrmFieldBean.setFieldvalue(holidayDate);
hrmFieldBean.setIsFormField(true);
hrmFieldBean.setViewAttr(1);
searchConditionItem = hrmFieldSearchConditionComInfo.getSearchConditionItem(hrmFieldBean, user);
OtherParamsMap = new HashMap<String, Object>();
OtherParamsMap.put("hasBorder", true);
searchConditionItem.setOtherParams(OtherParamsMap);
searchConditionItem.setRules("required|string");
itemList.add(searchConditionItem);
} else {
hrmFieldBean = new HrmFieldBean();
hrmFieldBean.setFieldname("startDate");//开始日期
hrmFieldBean.setFieldlabel("740");
hrmFieldBean.setFieldhtmltype("3");
hrmFieldBean.setType("2");
hrmFieldBean.setFieldvalue(holidayDate);
hrmFieldBean.setIsFormField(true);
hrmFieldBean.setViewAttr(3);
searchConditionItem = hrmFieldSearchConditionComInfo.getSearchConditionItem(hrmFieldBean, user);
searchConditionItem.setRules("required|string");
itemList.add(searchConditionItem);
hrmFieldBean = new HrmFieldBean();
hrmFieldBean.setFieldname("endDate");//结束日期
hrmFieldBean.setFieldlabel("741");
hrmFieldBean.setFieldhtmltype("3");
hrmFieldBean.setType("2");
hrmFieldBean.setFieldvalue(holidayDate);
hrmFieldBean.setIsFormField(true);
hrmFieldBean.setViewAttr(3);
searchConditionItem = hrmFieldSearchConditionComInfo.getSearchConditionItem(hrmFieldBean, user);
searchConditionItem.setRules("required|string");
itemList.add(searchConditionItem);
}
hrmFieldBean = new HrmFieldBean();
hrmFieldBean.setFieldname("holidayDesc");//说明
hrmFieldBean.setFieldlabel("85");
hrmFieldBean.setFieldhtmltype("1");
hrmFieldBean.setType("1");
hrmFieldBean.setFieldvalue(holidayDesc);
searchConditionItem = hrmFieldSearchConditionComInfo.getSearchConditionItem(hrmFieldBean, user);
if (hrmFieldBean.getViewAttr() == 1) {
OtherParamsMap = new HashMap<String, Object>();
OtherParamsMap.put("hasBorder", true);
searchConditionItem.setOtherParams(OtherParamsMap);
}
itemList.add(searchConditionItem);
hrmFieldBean = new HrmFieldBean();
hrmFieldBean.setFieldname("changeType");//类型
hrmFieldBean.setFieldlabel("132033");
hrmFieldBean.setFieldhtmltype("5");
hrmFieldBean.setType("1");
hrmFieldBean.setFieldvalue(changeType);
hrmFieldBean.setIsFormField(true);
searchConditionItem = hrmFieldSearchConditionComInfo.getSearchConditionItem(hrmFieldBean, user);
List statusOptions = new ArrayList<SearchConditionOption>();
statusOptions.add(new SearchConditionOption("1", SystemEnv.getHtmlLabelName(16478, user.getLanguage()), changeType.equals("1")));
statusOptions.add(new SearchConditionOption("3", SystemEnv.getHtmlLabelName(16752, user.getLanguage()), changeType.equals("3")));
statusOptions.add(new SearchConditionOption("2", SystemEnv.getHtmlLabelName(16751, user.getLanguage()), changeType.equals("2")));
searchConditionItem.setOptions(statusOptions);
searchConditionItem.setHelpfulTip(SystemEnv.getHtmlLabelName(529901, user.getLanguage()));
searchConditionItem.setDetailtype(3);
itemList.add(searchConditionItem);
hrmFieldBean = new HrmFieldBean();
hrmFieldBean.setFieldname("relatedDay");//对应工作日
hrmFieldBean.setFieldlabel("16754");
hrmFieldBean.setFieldhtmltype("5");
hrmFieldBean.setType("1");
hrmFieldBean.setFieldvalue(relatedDay);
hrmFieldBean.setIsFormField(true);
searchConditionItem = hrmFieldSearchConditionComInfo.getSearchConditionItem(hrmFieldBean, user);
statusOptions = new ArrayList<SearchConditionOption>();
statusOptions.add(new SearchConditionOption("0", SystemEnv.getHtmlLabelName(392, user.getLanguage()), relatedDay.equals("0") || relatedDay.equals("")));
statusOptions.add(new SearchConditionOption("1", SystemEnv.getHtmlLabelName(393, user.getLanguage()), relatedDay.equals("1")));
statusOptions.add(new SearchConditionOption("2", SystemEnv.getHtmlLabelName(394, user.getLanguage()), relatedDay.equals("2")));
statusOptions.add(new SearchConditionOption("3", SystemEnv.getHtmlLabelName(395, user.getLanguage()), relatedDay.equals("3")));
statusOptions.add(new SearchConditionOption("4", SystemEnv.getHtmlLabelName(396, user.getLanguage()), relatedDay.equals("4")));
statusOptions.add(new SearchConditionOption("5", SystemEnv.getHtmlLabelName(397, user.getLanguage()), relatedDay.equals("5")));
statusOptions.add(new SearchConditionOption("6", SystemEnv.getHtmlLabelName(398, user.getLanguage()), relatedDay.equals("6")));
searchConditionItem.setOptions(statusOptions);
itemList.add(searchConditionItem);
hrmFieldBean = new HrmFieldBean();
hrmFieldBean.setFieldname("isSync");//同步到其他日历设置
hrmFieldBean.setFieldlabel("546305");
hrmFieldBean.setFieldhtmltype("4");
hrmFieldBean.setType("1");
hrmFieldBean.setIsFormField(true);
searchConditionItem = hrmFieldSearchConditionComInfo.getSearchConditionItem(hrmFieldBean, user);
Map<String, Object> otherParamsMap = new HashMap<String, Object>();
otherParamsMap.put("display", "switch");
searchConditionItem.setOtherParams(otherParamsMap);
itemList.add(searchConditionItem);
// XssUtil xssUtil = new XssUtil();
hrmFieldBean = new HrmFieldBean();
hrmFieldBean.setFieldname("syncCalendarIds");//同步日历设置-多选
hrmFieldBean.setFieldlabel("546306");
hrmFieldBean.setFieldhtmltype("3");
hrmFieldBean.setType("mkqcalendar");
hrmFieldBean.setIsFormField(true);
hrmFieldBean.setViewAttr(3);
searchConditionItem = hrmFieldSearchConditionComInfo.getSearchConditionItem(hrmFieldBean, user);
searchConditionItem.setRules("required|string");
Map<String,Object> dataMap = new HashMap<String,Object>();
// dataMap.put("sqlWhere",xssUtil.put(" kqtype!=2 "));
searchConditionItem.getBrowserConditionParam().setDataParams(dataMap);
itemList.add(searchConditionItem);
groupItem.put("items", itemList);
groupList.add(groupItem);
resultMap.put("condition", groupList);
return resultMap;
}
}

@ -0,0 +1,123 @@
package com.engine.jucailin.cmd.calendar.holidaySet;
import com.api.browser.bean.SearchConditionItem;
import com.api.browser.util.ConditionFactory;
import com.api.browser.util.ConditionType;
import com.engine.common.biz.AbstractCommonCommand;
import com.engine.common.entity.BizLogContext;
import com.engine.core.interceptor.CommandContext;
import weaver.hrm.User;
import weaver.systeminfo.SystemEnv;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @Author: sy
* @Description: --Excel
* @Date: 2024/2/28
**/
public class GetImportFormWithCalendarSetCmd extends AbstractCommonCommand<Map<String, Object>> {
public GetImportFormWithCalendarSetCmd(Map<String, Object> params, User user) {
this.user = user;
this.params = params;
}
@Override
public BizLogContext getLogContext() {
return null;
}
@Override
public Map<String, Object> execute(CommandContext commandContext) {
Map<String, Object> resultMap = new HashMap<String, Object>();
List<Map<String, Object>> groupList = new ArrayList<Map<String, Object>>();
Map<String, Object> groupItem = new HashMap<String, Object>();
List<Object> itemList = new ArrayList<Object>();
SearchConditionItem searchConditionItem = null;
String filePath = "/hrm/import/templet/KQHolidaySetWithCalendarSet.xls";
if(user.getLanguage()==9){
filePath = "/hrm/import/templet/traditional/KQHolidaySetWithCalendarSet.xls";
}else if(user.getLanguage()==8){
filePath = "/hrm/import/templet/englisgh/KQHolidaySetWithCalendarSet.xls";
}
groupItem.put("title", SystemEnv.getHtmlLabelName(384128, user.getLanguage()));//基本信息
groupItem.put("defaultshow", true);
//模板文件
ConditionFactory conditionFactory = new ConditionFactory(user);
searchConditionItem = conditionFactory.createCondition(ConditionType.INPUT, 28576, "templet");
searchConditionItem.setValue(filePath);
itemList.add(searchConditionItem);
//Excel文件
searchConditionItem = conditionFactory.createCondition(ConditionType.RESOURCEIMG, 16630, "excelfile");
itemList.add(searchConditionItem);
groupItem.put("items", itemList);
groupList.add(groupItem);
/*导入说明*/
Map<String, Object> itemMap = null;
itemList = new ArrayList<Object>();
groupItem = new HashMap<String, Object>();
groupItem.put("title", SystemEnv.getHtmlLabelName(33803, user.getLanguage()));
groupItem.put("defaultshow", true);
/*请先下载模板*/
itemMap = new HashMap<String, Object>();
itemMap.put("index", 0);
itemMap.put("value", SystemEnv.getHtmlLabelName(383083, user.getLanguage()));
itemMap.put("link", filePath);
itemList.add(itemMap);
/* 填写模板数据后将文件上传。 */
itemMap = new HashMap<String, Object>();
itemMap.put("index", 1);
itemMap.put("value", SystemEnv.getHtmlLabelName(125452, user.getLanguage()));
itemList.add(itemMap);
/*【日历设置】是必填列,请填写日历设置的名称*/
itemMap = new HashMap<String, Object>();
itemMap.put("index", 2);
itemMap.put("value", SystemEnv.getHtmlLabelName(546307, user.getLanguage()));
itemList.add(itemMap);
/*【日期】列是必填列日期格式为yyyy-MM-dd*/
itemMap = new HashMap<String, Object>();
itemMap.put("index", 3);
itemMap.put("value", SystemEnv.getHtmlLabelName(389753, user.getLanguage()));
itemList.add(itemMap);
/*【类型】列是必填列,只能选择公众假日、调配工作日、调配休息日中的一种,当选择类型为调配工作日时,【对应工作日】必须选择一个工作日*/
itemMap = new HashMap<String, Object>();
itemMap.put("index", 4);
itemMap.put("value", SystemEnv.getHtmlLabelName(389754, user.getLanguage()));
itemList.add(itemMap);
/* 【对应工作日】列只当【类型】列选择“调配工作日”时才需要选择 */
itemMap = new HashMap<String, Object>();
itemMap.put("index", 5);
itemMap.put("value", SystemEnv.getHtmlLabelName(389992, user.getLanguage()));
itemList.add(itemMap);
// /* 暂时不支持为排班制的考勤组设置节假日 */
// itemMap = new HashMap<String, Object>();
// itemMap.put("index", 6);
// itemMap.put("value", SystemEnv.getHtmlLabelName(526272, user.getLanguage()));
// itemList.add(itemMap);
groupItem.put("items", itemList);
groupList.add(groupItem);
resultMap.put("condition", groupList);
resultMap.put("status", "1");
return resultMap;
}
}

@ -0,0 +1,90 @@
package com.engine.jucailin.cmd.calendar.holidaySet;
import com.engine.common.biz.AbstractCommonCommand;
import com.engine.common.entity.BizLogContext;
import com.engine.core.interceptor.CommandContext;
import com.engine.kq.bean.RightMenu;
import com.engine.kq.bean.RightMenuType;
import weaver.general.Util;
import weaver.hrm.HrmUserVarify;
import weaver.hrm.User;
import weaver.systeminfo.SystemEnv;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @Author: sy
* @Description: ----
* @Date: 2024/2/28
**/
public class GetRightMenuWithCalendarSetCmd extends AbstractCommonCommand<Map<String, Object>> {
public GetRightMenuWithCalendarSetCmd(Map<String, Object> params, User user) {
this.user = user;
this.params = params;
}
@Override
public BizLogContext getLogContext() {
return null;
}
@Override
public Map<String, Object> execute(CommandContext commandContext) {
Map<String, Object> resultMap = new HashMap<String, Object>();
List<Object> rightMenuList = new ArrayList<Object>();//表示有权限可以看见的菜单List集合
int languageId = user.getLanguage();//用户选择的语言
RightMenu rightMenu = null;
String calendarId = Util.null2String(params.get("calendarId"));//日历设置的ID取自kq_calendar_name中id
if("".equals(calendarId)||calendarId.equals("0")){
resultMap.put("btnMenu", rightMenuList);
return resultMap;
}
boolean isList = Util.null2String(params.get("isList")).equals("true");//是日历还是清单
boolean canAdd = HrmUserVarify.checkUserRight("KQHolidaySetAdd:Add", user);//是否具有新建权限
boolean canDelete = HrmUserVarify.checkUserRight("KQHolidaySetDelete:Delete", user);//是否具有删除权限
boolean canLog = HrmUserVarify.checkUserRight("KQHolidaySet:Log", user);//是否具有查看日志的权限
if (canAdd) {
rightMenu = new RightMenu(languageId, RightMenuType.BTN_Addnew, "new", true);//新建
rightMenuList.add(rightMenu);
}
if (canAdd) {
rightMenu = new RightMenu(languageId, RightMenuType.BTN_Import, "import", true);//导入
rightMenuList.add(rightMenu);
}
if(canAdd && !isList){
rightMenu = new RightMenu(languageId, RightMenuType.BTN_Init, "init", true);//初始化
rightMenuList.add(rightMenu);
}
if (canDelete && isList) {
List<Map<String, Object>> menuList = new ArrayList<Map<String, Object>>();
if (canDelete) {
Map<String, Object> menuMap = new HashMap<String, Object>();
menuMap.put("key", "0");
menuMap.put("show", SystemEnv.getHtmlLabelName(32136, user.getLanguage()));//批量删除
menuMap.put("selected", true);
menuList.add(menuMap);
menuMap = new HashMap<String, Object>();
menuMap.put("key", "1");
menuMap.put("show", SystemEnv.getHtmlLabelName(19015, user.getLanguage()));//同步
menuList.add(menuMap);
}
resultMap.put("buttonSelect", menuList);
}
if (canLog) {
rightMenu = new RightMenu(languageId, RightMenuType.BTN_log, "log", false);//日志
rightMenuList.add(rightMenu);
}
if (isList) {
rightMenu = new RightMenu(languageId, RightMenuType.BTN_COLUMN, "custom", false); //显示列定制
rightMenuList.add(rightMenu);
}
resultMap.put("btnMenu", rightMenuList);
return resultMap;
}
}

@ -0,0 +1,93 @@
package com.engine.jucailin.cmd.calendar.holidaySet;
import com.cloudstore.dev.api.util.Util_TableMap;
import com.engine.common.biz.AbstractCommonCommand;
import com.engine.common.entity.BizLogContext;
import com.engine.core.interceptor.CommandContext;
import weaver.general.PageIdConst;
import weaver.general.Util;
import weaver.hrm.HrmUserVarify;
import weaver.hrm.User;
import weaver.systeminfo.SystemEnv;
import java.util.Calendar;
import java.util.HashMap;
import java.util.Map;
/**
* @Author: sy
* @Description: 111
* @Date: 2024/2/28
**/
public class GetSearchListWithCalendarSetCmd extends AbstractCommonCommand<Map<String, Object>> {
public GetSearchListWithCalendarSetCmd(Map<String, Object> params, User user) {
this.user = user;
this.params = params;
}
@Override
public BizLogContext getLogContext() {
return null;
}
@Override
public Map<String, Object> execute(CommandContext commandContext) {
Map<String, Object> resultMap = new HashMap<String, Object>();
String calendarId = Util.null2String(params.get("calendarId"));//日历设置的ID取自kq_calendar_name中id
String currentYear = Util.null2String(params.get("currentYear"));//年份
String holidayDesc = Util.null2String(params.get("holidayDesc"));//说明
String isSync = Util.null2String(params.get("isSync"));//同步还是批量删除true--同步、false--批量删除
boolean canEdit = HrmUserVarify.checkUserRight("KQHolidaySetEdit:Edit", user);//是否具有编辑的权限;
boolean canDelete = HrmUserVarify.checkUserRight("KQHolidaySetDelete:Delete", user);//是否具有删除的权限;
boolean canLog = HrmUserVarify.checkUserRight("KQHolidaySet:Log", user);//是否具有查看日志的权限;
/*如果没有传入年份,默认为今年的年份*/
Calendar today = Calendar.getInstance();
if (currentYear.equals("")) {
currentYear = "" + today.get(Calendar.YEAR);
}
String backFields = " * ";
String sqlFrom = " from kq_HolidaySet ";
String sqlWhere = " where 1=1 ";
String orderBy = " calendarId,holidayDate ";
if (!calendarId.equals("")) {
sqlWhere += " and calendarId in (" + calendarId + ")";
}
if (!currentYear.equals("")) {
String dateFrom = currentYear + "-01-01";
String dateTo = currentYear + "-12-31";
sqlWhere += " and holidayDate>='" + dateFrom + "' and holidayDate<='" + dateTo + "'";
}
if (!holidayDesc.equals("")) {
sqlWhere += " and holidayDesc like '%" + holidayDesc + "%'";
}
String pageUid = "70efc34c-7a61-da9b-87a7-69a4a4d72859";
String operateString = "";
operateString = "<operates width=\"20%\">";
operateString += "<popedom transmethod=\"weaver.hrm.common.SplitPageTagOperate.getBasicOperate\" otherpara=\"" + canEdit + ":" + canDelete + ":" + canLog + ":" + canEdit + "\"></popedom> ";
operateString += " <operate href=\"javascript:openDialog();\" text=\"" + SystemEnv.getHtmlLabelName(93, user.getLanguage()) + "\" index=\"0\"/>";
operateString += " <operate href=\"javascript:doDel()\" text=\"" + SystemEnv.getHtmlLabelName(91, user.getLanguage()) + "\" index=\"1\"/>";
operateString += " <operate href=\"javascript:onLog()\" text=\"" + SystemEnv.getHtmlLabelName(83, user.getLanguage()) + "\" index=\"2\"/>";
operateString += " <operate href=\"javascript:syns()\" text=\"" + SystemEnv.getHtmlLabelName(19015, user.getLanguage()) + "\" index=\"3\"/>";
operateString += "</operates>";
String tableString = "" +
"<table pageId=\"Hrm:HolidaySet\" pageUid=\"" + pageUid + "\" tabletype=\"checkbox\" pagesize=\"" + PageIdConst.getPageSize("Hrm:HolidaySet", user.getUID(), PageIdConst.HRM) + "\" >" +
" <sql backfields=\"" + backFields + "\" sqlform=\"" + sqlFrom + "\" sqlwhere=\"" + Util.toHtmlForSplitPage(sqlWhere) + "\" sqlorderby=\"" + orderBy + "\" sqlprimarykey=\"id\" sqlsortway=\"asc\" sqlisdistinct=\"false\"/>"
+ operateString +
" <head>" +
" <col width=\"20%\" text=\"" + SystemEnv.getHtmlLabelName(97, user.getLanguage()) + "\" column=\"holidayDate\" orderkey=\"holidayDate\"/>" +
" <col width=\"30%\" text=\"" + SystemEnv.getHtmlLabelName(85, user.getLanguage()) + "\" column=\"holidayDesc\" orderkey=\"holidayDesc\"/>" +
" <col width=\"20%\" text=\"" + SystemEnv.getHtmlLabelName(132033, user.getLanguage()) + "\" column=\"changeType\" transmethod=\"com.engine.kq.util.KQTransMethod.getChangeTypeName\" otherpara=\"" + user.getLanguage() + "\" orderkey=\"changeType\"/>" +
" <col width=\"30%\" text=\"" + SystemEnv.getHtmlLabelName(546308, user.getLanguage()) + "\" column=\"calendarId\" transmethod=\"com.engine.kq.jucailin.util.ListConversionMethod.getCalendarNameById\" orderkey=\"calendarId\"/>" +
" </head>" +
"</table>";
String sessionKey = pageUid + "_" + Util.getEncrypt(Util.getRandom());
Util_TableMap.setVal(sessionKey, tableString);
resultMap.put("sessionkey", sessionKey);
return resultMap;
}
}

@ -0,0 +1,66 @@
package com.engine.jucailin.cmd.calendar.holidaySet;
import com.api.browser.bean.SearchConditionItem;
import com.api.hrm.bean.HrmFieldBean;
import com.api.hrm.util.HrmFieldSearchConditionComInfo;
import com.engine.common.biz.AbstractCommonCommand;
import com.engine.common.entity.BizLogContext;
import com.engine.core.interceptor.CommandContext;
import weaver.hrm.User;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @Author: sy
* @Description: --
* @Date: 2024/2/28
**/
public class GetSyncFormWithCalendarSetCmd extends AbstractCommonCommand<Map<String, Object>> {
public GetSyncFormWithCalendarSetCmd(Map<String, Object> params, User user) {
this.user = user;
this.params = params;
}
@Override
public BizLogContext getLogContext() {
return null;
}
@Override
public Map<String, Object> execute(CommandContext commandContext) {
Map<String, Object> resultMap = new HashMap<String, Object>();
List<Map<String, Object>> groupList = new ArrayList<Map<String, Object>>();
Map<String, Object> groupItem = new HashMap<String, Object>();
List<Object> itemList = new ArrayList<Object>();
HrmFieldSearchConditionComInfo hrmFieldSearchConditionComInfo = new HrmFieldSearchConditionComInfo();
SearchConditionItem searchConditionItem = null;
HrmFieldBean hrmFieldBean = null;
// XssUtil xssUtil = new XssUtil();
hrmFieldBean = new HrmFieldBean();
hrmFieldBean.setFieldname("syncCalendarIds");//同步日历设置-多选
hrmFieldBean.setFieldlabel("546306");
hrmFieldBean.setFieldhtmltype("3");
hrmFieldBean.setType("mkqcalendar");
hrmFieldBean.setIsFormField(true);
hrmFieldBean.setViewAttr(3);
searchConditionItem = hrmFieldSearchConditionComInfo.getSearchConditionItem(hrmFieldBean, user);
// searchConditionItem.setHelpfulTip(SystemEnv.getHtmlLabelName(529901, user.getLanguage()));
searchConditionItem.setRules("required|string");
Map<String,Object> dataMap = new HashMap<String,Object>();
// dataMap.put("sqlWhere", xssUtil.put(" kqtype!=2 "));
searchConditionItem.getBrowserConditionParam().setDataParams(dataMap);
itemList.add(searchConditionItem);
groupItem.put("items", itemList);
groupList.add(groupItem);
resultMap.put("condition", groupList);
return resultMap;
}
}

@ -0,0 +1,91 @@
package com.engine.jucailin.cmd.calendar.holidaySet;
import com.engine.common.biz.AbstractCommonCommand;
import com.engine.common.entity.BizLogContext;
import com.engine.core.interceptor.CommandContext;
import weaver.conn.RecordSet;
import weaver.general.Util;
import weaver.hrm.HrmUserVarify;
import weaver.hrm.User;
import weaver.systeminfo.SystemEnv;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
/**
* @Author: sy
* @Description: --
* @Date: 2024/2/28
**/
public class HasRepeatDataWithCalendarSetCmd extends AbstractCommonCommand<Map<String, Object>> {
public HasRepeatDataWithCalendarSetCmd(Map<String, Object> params, User user) {
this.user = user;
this.params = params;
}
@Override
public BizLogContext getLogContext() {
return null;
}
@Override
public Map<String, Object> execute(CommandContext commandContext) {
Map<String, Object> resultMap = new HashMap<String, Object>();
String calendarId = Util.null2String(params.get("calendarId"));//日历设置的ID取自kq_calendar_name中id
String startDate = Util.null2String(params.get("startDate"));//开始日期
String endDate = Util.null2String(params.get("endDate"));//结束日期
try{
boolean canAdd = HrmUserVarify.checkUserRight("KQHolidaySetAdd:Add", user);
if (!canAdd) {
resultMap.put("status", "-1");
resultMap.put("message", SystemEnv.getHtmlLabelName(2012, user.getLanguage()));
return resultMap;
}
boolean hasRepeatData = false;
RecordSet recordSet = new RecordSet();
int days = Util.dayDiff(startDate, endDate);
for (int i = 0; i < days; i++) {
String holidayDate = getDateDel(startDate, i);
String sql = "select * from kq_HolidaySet where calendarId="+calendarId+" and holidayDate='"+holidayDate+"'";
recordSet.executeQuery(sql);
if(recordSet.next()){
hasRepeatData = true;
break;
}
}
resultMap.put("hasRepeatData",hasRepeatData);//为true表示所选的时间范围内有设置过数据请确认是否覆盖
}catch (Exception e){
e.printStackTrace();
}
return resultMap;
}
/**
* datanum
*
* @param date
* @param num
* @return
*/
private static String getDateDel(String date, int num) {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
Calendar calendar = Calendar.getInstance();
Date tempDate = null;
try {
tempDate = simpleDateFormat.parse(date);
} catch (ParseException e) {
e.printStackTrace();
}
calendar.setTime(tempDate);
calendar.add(Calendar.DATE, num);
tempDate = calendar.getTime();
date = simpleDateFormat.format(tempDate);
return date;
}
}

@ -0,0 +1,89 @@
package com.engine.jucailin.cmd.calendar.holidaySet;
import com.engine.common.biz.AbstractCommonCommand;
import com.engine.common.biz.SimpleBizLogger;
import com.engine.common.constant.BizLogSmallType4Hrm;
import com.engine.common.constant.BizLogType;
import com.engine.common.entity.BizLogContext;
import com.engine.core.interceptor.CommandContext;
import com.engine.jucailin.bean.KQHolidaySetWithCalendarSetBiz;
import weaver.general.Util;
import weaver.hrm.User;
import weaver.systeminfo.SystemEnv;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @Author: sy
* @Description:
* @Date: 2024/2/28
**/
public class InitHolidaySetWithCalendarSetCmd extends AbstractCommonCommand<Map<String, Object>> {
private SimpleBizLogger logger;
public InitHolidaySetWithCalendarSetCmd(Map<String, Object> params, User user) {
this.user = user;
this.params = params;
this.logger = new SimpleBizLogger();
String calendarId = Util.null2String(params.get("calendarId"));//日历设置的ID取自kq_calendar_name中id
BizLogContext bizLogContext = new BizLogContext();
bizLogContext.setLogType(BizLogType.HRM_ENGINE);//模块类型
bizLogContext.setBelongType(BizLogSmallType4Hrm.HRM_ENGINE_KQ_HOLIDAYSET);//所属大类型
bizLogContext.setLogSmallType(BizLogSmallType4Hrm.HRM_ENGINE_KQ_HOLIDAYSET);//当前小类型
bizLogContext.setParams(params);//当前request请求参数
logger.setUser(user);//当前操作人
String mainSql = "select * from kq_HolidaySet where calendarId=" + calendarId;
logger.setMainSql(mainSql, "id");//主表sql
logger.setMainPrimarykey("id");//主日志表唯一key
logger.setMainTargetNameMethod("com.engine.kq.util.KQTransMethod.getTargetName4HolidaySet","column:calendarId+column:holidayDate+"+user.getLanguage());//当前targetName对应的列对应日志中的对象名
logger.before(bizLogContext);
}
@Override
public BizLogContext getLogContext() {
return null;
}
@Override
public List<BizLogContext> getLogContexts() {
return logger.getBizLogContexts();
}
@Override
public Map<String, Object> execute(CommandContext commandContext) {
Map<String, Object> resultMap = new HashMap<String, Object>();
String calendarId = Util.null2String(params.get("calendarId"));//日历设置的ID取自kq_calendar_name中id
String currentYear = Util.null2String(params.get("currentYear"));//年份
try {
/**
* ()
*
* status 0-1-
* sketch ''
* description[
* '1',
* '2',
* 'N'
* ]
*/
Map<String, Object> tempMap = KQHolidaySetWithCalendarSetBiz.initHolidaySet(calendarId, currentYear,user);
if ("0".equals((String) tempMap.get("status"))) {
resultMap.put("status", "-1");
resultMap.put("message", tempMap.get("sketch"));
} else {
resultMap.put("status", "1");
resultMap.put("message", SystemEnv.getHtmlLabelName(20196, user.getLanguage()));
}
} catch (Exception e) {
writeLog(e);
resultMap.put("status", "-1");
resultMap.put("message", SystemEnv.getHtmlLabelName(125960, user.getLanguage()));
}
return resultMap;
}
}

@ -0,0 +1,70 @@
package com.engine.jucailin.cmd.calendar.holidaySet;
import com.engine.common.biz.AbstractCommonCommand;
import com.engine.common.entity.BizLogContext;
import com.engine.core.interceptor.CommandContext;
import com.engine.jucailin.util.ImportProcessWithCalendarSetUtil;
import weaver.general.Util;
import weaver.hrm.HrmUserVarify;
import weaver.hrm.User;
import weaver.systeminfo.SystemEnv;
import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @Author: sy
* @Description: --
* @Date: 2024/2/29
**/
public class SaveImportWithCalendarSetCmd extends AbstractCommonCommand<Map<String, Object>> {
private HttpServletRequest request;
public SaveImportWithCalendarSetCmd(Map<String, Object> params, HttpServletRequest request, User user) {
this.user = user;
this.params = params;
this.request = request;
}
@Override
public BizLogContext getLogContext() {
return null;
}
@Override
public Map<String, Object> execute(CommandContext commandContext) {
Map<String, Object> resultMap = new HashMap<String, Object>();
try {
boolean canAdd = HrmUserVarify.checkUserRight("KQHolidaySetAdd:Add", user);
if (!canAdd) {
resultMap.put("status", "-1");
resultMap.put("message", SystemEnv.getHtmlLabelName(2012, user.getLanguage()));
return resultMap;
}
List<Object> errorInfoList = new ArrayList<Object>();
ImportProcessWithCalendarSetUtil importProcessWithCalendarSetUtil = new ImportProcessWithCalendarSetUtil();
List errorInfo = importProcessWithCalendarSetUtil.importXls(params, user, request);
if (errorInfo != null && !errorInfo.isEmpty()) {
Map<String, Object> error = null;
for (int i = 0; i < errorInfo.size(); i++) {
error = new HashMap<String, Object>();
error.put("message", Util.null2String(errorInfo.get(i)));
errorInfoList.add(error);
}
}
resultMap.put("errorInfo", errorInfoList);
resultMap.put("status", "1");
resultMap.put("message", SystemEnv.getHtmlLabelName(24645, user.getLanguage()));
} catch (Exception e) {
writeLog("导入节假日设置数据失败:" + e);
resultMap.put("status", "-1");
resultMap.put("message", e.getMessage());
}
resultMap.put("pId", request.getSession(true).getAttribute("KQHolidaySetPId"));
return resultMap;
}
}

@ -0,0 +1,132 @@
package com.engine.jucailin.cmd.calendar.holidaySet;
import com.engine.common.biz.AbstractCommonCommand;
import com.engine.common.biz.SimpleBizLogger;
import com.engine.common.constant.BizLogSmallType4Hrm;
import com.engine.common.constant.BizLogType;
import com.engine.common.entity.BizLogContext;
import com.engine.core.interceptor.CommandContext;
import com.engine.kq.biz.KQHolidaySetComInfo;
import weaver.conn.RecordSet;
import weaver.general.Util;
import weaver.hrm.User;
import weaver.systeminfo.SystemEnv;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @Author: sy
* @Description: --
* @Date: 2024/2/28
**/
public class SyncHolidaySetWithCalendarSetCmd extends AbstractCommonCommand<Map<String, Object>> {
private SimpleBizLogger logger;
public SyncHolidaySetWithCalendarSetCmd(Map<String, Object> params, User user) {
this.user = user;
this.params = params;
this.logger = new SimpleBizLogger();
String syncCalendarIds = Util.null2String(params.get("syncCalendarIds"));//需要同步的日历设置ID
BizLogContext bizLogContext = new BizLogContext();
bizLogContext.setLogType(BizLogType.HRM_ENGINE);//模块类型
bizLogContext.setBelongType(BizLogSmallType4Hrm.HRM_ENGINE_KQ_HOLIDAYSET);//所属大类型
bizLogContext.setLogSmallType(BizLogSmallType4Hrm.HRM_ENGINE_KQ_HOLIDAYSET);//当前小类型
bizLogContext.setParams(params);//当前request请求参数
logger.setUser(user);//当前操作人
String mainSql = "select * from kq_HolidaySet where calendarId in (" + syncCalendarIds + ")";
logger.setMainSql(mainSql, "id");//主表sql
logger.setMainPrimarykey("id");//主日志表唯一key
logger.setMainTargetNameMethod("com.engine.kq.util.KQTransMethod.getTargetName4HolidaySet", "column:calendarId+column:holidayDate+" + user.getLanguage());//当前targetName对应的列对应日志中的对象名
logger.before(bizLogContext);
}
@Override
public BizLogContext getLogContext() {
return null;
}
@Override
public List<BizLogContext> getLogContexts() {
return logger.getBizLogContexts();
}
@Override
public Map<String, Object> execute(CommandContext commandContext) {
Map<String, Object> resultMap = new HashMap<String, Object>();
String ids = Util.null2String(params.get("ids"));//kq_HolidaySet的主键ID
String syncCalendarIds = Util.null2String(params.get("syncCalendarIds"));//需要同步的日历设置ID
try {
boolean flag = true;
String deleteSql = "delete from kq_HolidaySet where calendarId=? and holidayDate=?";
String insertSql = " insert into kq_HolidaySet(calendarId,holidayDate,changeType,holidayDesc,relatedDay) values(?,?,?,?,?)";
String[] idArr = ids.split(",");
String[] calendarIdArr = syncCalendarIds.split(",");
RecordSet recordSet = new RecordSet();
KQHolidaySetComInfo kqHolidaySetComInfo = new KQHolidaySetComInfo();
for (int i = 0; i < idArr.length; i++) {
String id = idArr[i];
String sql = "select * from kq_holidaySet where id=?";
recordSet.executeQuery(sql, id);
if(recordSet.next()) {
String holidayDate = recordSet.getString("holidayDate");
String holidayDesc = recordSet.getString("holidayDesc");
String changeType = recordSet.getString("changeType");
String relatedDay = recordSet.getString("relatedDay");
// KQGroupComInfo kqGroupComInfo = new KQGroupComInfo();
for (int j = 0; j < calendarIdArr.length; j++) {
String calendarId = calendarIdArr[j];
// if (Util.null2String(kqGroupComInfo.getKqtype(groupId)).equals("2") && changeType.equals("2")) {
// continue;
// }
recordSet.executeUpdate(deleteSql, calendarId, holidayDate);
flag = recordSet.executeUpdate(insertSql, calendarId, holidayDate, changeType, holidayDesc, relatedDay);
if (!flag) {
resultMap.put("sign", "-1");
resultMap.put("message", SystemEnv.getHtmlLabelName(84544, user.getLanguage()));//保存失败
return resultMap;
}
}
}
}
if (flag) {
resultMap.put("sign", "1");
resultMap.put("message", SystemEnv.getHtmlLabelName(83551, user.getLanguage()));//保存成功
} else {
resultMap.put("sign", "-1");
resultMap.put("message", SystemEnv.getHtmlLabelName(84544, user.getLanguage()));//保存失败
}
} catch (Exception e) {
e.printStackTrace();
resultMap.put("sign", "-1");
resultMap.put("message", SystemEnv.getHtmlLabelName(84544, user.getLanguage()));//保存失败
} finally {
// /*刷新缓存*/
// KQHolidaySetComInfo kqHolidaySetComInfo = new KQHolidaySetComInfo();
// kqHolidaySetComInfo.removeCache();
//
// /*刷新考勤报表*/
// List<String> holidatDateList = new ArrayList<String>();
// RecordSet recordSet = new RecordSet();
// String sql = " select * from kq_holidaySet where id in (" + ids + ") ";
// recordSet.executeQuery(sql);
// while (recordSet.next()) {
// String holidayDate = recordSet.getString("holidayDate");
// if (!holidatDateList.contains(holidayDate)) {
// holidatDateList.add(holidayDate);
// }
// }
// List<String> groupIdList = Util.TokenizerString(syncGroupIds,",");
// new KQHolidaySetThread(groupIdList,holidatDateList).start();
}
return resultMap;
}
}

@ -8,6 +8,9 @@ import com.engine.common.biz.AbstractCommonCommand;
import com.engine.common.entity.BizLogContext;
import com.engine.core.interceptor.CommandContext;
import com.engine.jucailin.enums.FieldHtmlTypeEnum;
import com.engine.jucailin.util.DbTools;
import com.google.common.collect.Maps;
import weaver.general.Util;
import weaver.hrm.User;
import java.util.ArrayList;
@ -38,6 +41,16 @@ public class GetCycleFormCmd extends AbstractCommonCommand<Map<String, Object>>
HrmFieldSearchConditionComInfo hrmFieldSearchConditionComInfo = new HrmFieldSearchConditionComInfo();
SearchConditionItem searchConditionItem = null;
String billid = Util.null2String(params.get("billid"));
boolean hasFieldvalue = false;
Map<String,String> dateMap = Maps.newHashMap();
if (billid.length() != 0) {
dateMap = DbTools.getSqlToMap("select * from kq_cycle where id=?",billid);
if (dateMap.size() > 0) {
hasFieldvalue = true;
}
}
HrmFieldBean hrmFieldBean = null;
hrmFieldBean = new HrmFieldBean();
hrmFieldBean.setFieldname("organzation");//所属机构
@ -46,8 +59,9 @@ public class GetCycleFormCmd extends AbstractCommonCommand<Map<String, Object>>
hrmFieldBean.setType("164");
hrmFieldBean.setIsFormField(true);
hrmFieldBean.setViewAttr(3);
hrmFieldBean.setFieldvalue(hasFieldvalue ? Util.null2String(dateMap.get("organzation")) : "");
searchConditionItem = hrmFieldSearchConditionComInfo.getSearchConditionItem(hrmFieldBean, user);
searchConditionItem.setOptions(optionsList);
//searchConditionItem.setOptions(optionsList);
searchConditionItem.setRules("required|string");
itemList.add(searchConditionItem);
@ -55,25 +69,39 @@ public class GetCycleFormCmd extends AbstractCommonCommand<Map<String, Object>>
hrmFieldBean = new HrmFieldBean();
hrmFieldBean.setFieldname("cyclename");//周期名称
hrmFieldBean.setFieldlabel("388722");
hrmFieldBean.setFieldhtmltype(FieldHtmlTypeEnum.INPUT.getKey());
hrmFieldBean.setType("1");
hrmFieldBean.setFieldhtmltype(FieldHtmlTypeEnum.BROWSER.getKey());
hrmFieldBean.setType("cycleset");
hrmFieldBean.setIsFormField(true);
hrmFieldBean.setViewAttr(3);
hrmFieldBean.setViewAttr(2);
hrmFieldBean.setFieldvalue(hasFieldvalue ? Util.null2String(dateMap.get("cyclename")) : "");
searchConditionItem = hrmFieldSearchConditionComInfo.getSearchConditionItem(hrmFieldBean, user);
searchConditionItem.setOptions(optionsList);
searchConditionItem.setRules("required|string");
List<Map<String, Object>> replaceDatas = new ArrayList<Map<String, Object>>();
Map<String, Object> datas = new HashMap<String, Object>();
if (hasFieldvalue && !Util.null2String(dateMap.get("cyclename")).equals("")){
datas.put("id", dateMap.get("cyclename"));
String sql = "select id,cyclename from kq_cycle_setting where (delete_type is null or delete_type <> '1') and id=?";
List<Map<String,String>> dataList = DbTools.getSqlToList(sql,dateMap.get("cyclename"));
datas.put("name", dataList.get(0).get("cyclename"));
replaceDatas.add(datas);
}
searchConditionItem.getBrowserConditionParam().setReplaceDatas(replaceDatas);
//searchConditionItem.setOptions(optionsList);
searchConditionItem.setRules("");
itemList.add(searchConditionItem);
hrmFieldBean = new HrmFieldBean();
hrmFieldBean.setFieldname("attendcycle");//考勤周期
hrmFieldBean.setFieldlabel("15386");
hrmFieldBean.setFieldlabel("546323");
hrmFieldBean.setFieldhtmltype(FieldHtmlTypeEnum.INPUT.getKey());
hrmFieldBean.setType("1");
hrmFieldBean.setIsFormField(true);
hrmFieldBean.setViewAttr(3);
hrmFieldBean.setViewAttr(2);
hrmFieldBean.setFieldvalue(hasFieldvalue ? Util.null2String(dateMap.get("attendcycle")) : "");
searchConditionItem = hrmFieldSearchConditionComInfo.getSearchConditionItem(hrmFieldBean, user);
searchConditionItem.setOptions(optionsList);
searchConditionItem.setRules("required|string");
//searchConditionItem.setOptions(optionsList);
searchConditionItem.setRules("");
itemList.add(searchConditionItem);
hrmFieldBean = new HrmFieldBean();
@ -83,8 +111,9 @@ public class GetCycleFormCmd extends AbstractCommonCommand<Map<String, Object>>
hrmFieldBean.setType("1");
hrmFieldBean.setIsFormField(true);
hrmFieldBean.setViewAttr(3);
hrmFieldBean.setFieldvalue(hasFieldvalue ? Util.null2String(dateMap.get("yearly")) : "");
searchConditionItem = hrmFieldSearchConditionComInfo.getSearchConditionItem(hrmFieldBean, user);
searchConditionItem.setOptions(optionsList);
//searchConditionItem.setOptions(optionsList);
searchConditionItem.setRules("required|string");
itemList.add(searchConditionItem);
@ -95,20 +124,22 @@ public class GetCycleFormCmd extends AbstractCommonCommand<Map<String, Object>>
hrmFieldBean.setType("1");
hrmFieldBean.setIsFormField(true);
hrmFieldBean.setViewAttr(3);
hrmFieldBean.setFieldvalue(hasFieldvalue ? Util.null2String(dateMap.get("months")) : "");
searchConditionItem = hrmFieldSearchConditionComInfo.getSearchConditionItem(hrmFieldBean, user);
searchConditionItem.setOptions(optionsList);
//searchConditionItem.setOptions(optionsList);
searchConditionItem.setRules("required|string");
itemList.add(searchConditionItem);
hrmFieldBean = new HrmFieldBean();
hrmFieldBean.setFieldname("startdate");// 开始日期
hrmFieldBean.setFieldlabel("85");
hrmFieldBean.setFieldlabel("740");
hrmFieldBean.setFieldhtmltype(FieldHtmlTypeEnum.BROWSER.getKey());
hrmFieldBean.setType("2");
hrmFieldBean.setIsFormField(true);
hrmFieldBean.setViewAttr(3);
hrmFieldBean.setFieldvalue(hasFieldvalue ? Util.null2String(dateMap.get("startdate")) : "");
searchConditionItem = hrmFieldSearchConditionComInfo.getSearchConditionItem(hrmFieldBean, user);
searchConditionItem.setOptions(optionsList);
//searchConditionItem.setOptions(optionsList);
searchConditionItem.setRules("required|string");
itemList.add(searchConditionItem);
@ -119,8 +150,9 @@ public class GetCycleFormCmd extends AbstractCommonCommand<Map<String, Object>>
hrmFieldBean.setType("2");
hrmFieldBean.setIsFormField(true);
hrmFieldBean.setViewAttr(3);
hrmFieldBean.setFieldvalue(hasFieldvalue ? Util.null2String(dateMap.get("enddate")) : "");
searchConditionItem = hrmFieldSearchConditionComInfo.getSearchConditionItem(hrmFieldBean, user);
searchConditionItem.setOptions(optionsList);
//searchConditionItem.setOptions(optionsList);
searchConditionItem.setRules("required|string");
itemList.add(searchConditionItem);
@ -130,38 +162,41 @@ public class GetCycleFormCmd extends AbstractCommonCommand<Map<String, Object>>
hrmFieldBean.setFieldhtmltype(FieldHtmlTypeEnum.SELECT.getKey());
hrmFieldBean.setType("1");
hrmFieldBean.setIsFormField(true);
hrmFieldBean.setViewAttr(3);
hrmFieldBean.setViewAttr(2);
hrmFieldBean.setFieldvalue(hasFieldvalue ? Util.null2String(dateMap.get("cyclestate")) : "");
searchConditionItem = hrmFieldSearchConditionComInfo.getSearchConditionItem(hrmFieldBean, user);
optionsList = new ArrayList<SearchConditionOption>();
optionsList.add(new SearchConditionOption("0", "待关账", true));//待关账
optionsList.add(new SearchConditionOption("1", "已关账"));//部门
optionsList.add(new SearchConditionOption("2", "已结账"));//已结账
searchConditionItem.setOptions(optionsList);
searchConditionItem.setRules("required|string");
searchConditionItem.setRules("");
itemList.add(searchConditionItem);
hrmFieldBean = new HrmFieldBean();
hrmFieldBean.setFieldname("closedate");// 关账日期
hrmFieldBean.setFieldlabel("85");
hrmFieldBean.setFieldlabel("546321");
hrmFieldBean.setFieldhtmltype(FieldHtmlTypeEnum.BROWSER.getKey());
hrmFieldBean.setType("2");
hrmFieldBean.setIsFormField(true);
hrmFieldBean.setViewAttr(3);
hrmFieldBean.setViewAttr(2);
hrmFieldBean.setFieldvalue(hasFieldvalue ? Util.null2String(dateMap.get("closedate")) : "");
searchConditionItem = hrmFieldSearchConditionComInfo.getSearchConditionItem(hrmFieldBean, user);
searchConditionItem.setOptions(optionsList);
searchConditionItem.setRules("required|string");
searchConditionItem.setRules("");
itemList.add(searchConditionItem);
hrmFieldBean = new HrmFieldBean();
hrmFieldBean.setFieldname("closetime");// 关账时间
hrmFieldBean.setFieldlabel("85");
hrmFieldBean.setFieldlabel("546322");
hrmFieldBean.setFieldhtmltype(FieldHtmlTypeEnum.BROWSER.getKey());
hrmFieldBean.setType("19");
hrmFieldBean.setIsFormField(true);
hrmFieldBean.setViewAttr(3);
hrmFieldBean.setFieldvalue(hasFieldvalue ? Util.null2String(dateMap.get("closetime")) : "");
searchConditionItem = hrmFieldSearchConditionComInfo.getSearchConditionItem(hrmFieldBean, user);
searchConditionItem.setOptions(optionsList);
searchConditionItem.setRules("required|string");
searchConditionItem.setRules("");
itemList.add(searchConditionItem);
hrmFieldBean = new HrmFieldBean();
@ -170,10 +205,11 @@ public class GetCycleFormCmd extends AbstractCommonCommand<Map<String, Object>>
hrmFieldBean.setFieldhtmltype(FieldHtmlTypeEnum.TEXTAREA.getKey());
hrmFieldBean.setType("1");
hrmFieldBean.setIsFormField(true);
hrmFieldBean.setViewAttr(3);
hrmFieldBean.setViewAttr(2);
hrmFieldBean.setFieldvalue(hasFieldvalue ? Util.null2String(dateMap.get("memo")) : "");
searchConditionItem = hrmFieldSearchConditionComInfo.getSearchConditionItem(hrmFieldBean, user);
searchConditionItem.setOptions(optionsList);
searchConditionItem.setRules("required|string");
//searchConditionItem.setOptions(optionsList);
searchConditionItem.setRules("");
itemList.add(searchConditionItem);

@ -9,7 +9,7 @@ import com.cloudstore.eccom.result.WeaResultMsg;
import com.engine.common.biz.AbstractCommonCommand;
import com.engine.common.entity.BizLogContext;
import com.engine.core.interceptor.CommandContext;
import com.engine.kq.util.PageUidFactory;
import com.engine.jucailin.util.PageUidFactory;
import weaver.general.PageIdConst;
import weaver.general.Util;
import weaver.hrm.User;
@ -86,16 +86,16 @@ public class GetCycleListCmd extends AbstractCommonCommand<Map<String, Object>>
private List<WeaTableColumn> tableFields() {
return new ArrayList<WeaTableColumn>() {{
add(new WeaTableColumn("id").setDisplay(WeaBoolAttr.FALSE));
add(new WeaTableColumn("10%", "周期名称", "cyclename","cyclename","com.engine.kq.jucailin.util.ListConversionMethod.getCycleName"));//周期名称
add(new WeaTableColumn("10%", "考勤周期", "attendcycle"));//考勤周期
add(new WeaTableColumn("10%", "年度", "yearly"));//年度
add(new WeaTableColumn("10%", "月份", "months"));//月份
add(new WeaTableColumn("10%", "开始日期", "startdate"));//开始日期
add(new WeaTableColumn("10%", "结束日期", "enddate"));//结束日期
add(new WeaTableColumn("10%", "状态", "cyclestate","cyclestate").setTransmethod("com.engine.kq.jucailin.util.ListConversionMethod.getCyclestate").setOtherpara(user.getLanguage()+"").setColumn("cyclestate"));//状态
add(new WeaTableColumn("10%", "关账日期", "closedate"));//关账日期
add(new WeaTableColumn("10%", "关账时间", "closedate"));//关账时间
add(new WeaTableColumn("10%", "备注", "memo"));//备注
add(new WeaTableColumn("10%", SystemEnv.getHtmlLabelName(388722, user.getLanguage()), "cyclename","cyclename").setTransmethod("com.engine.jucailin.util.ListConversionMethod.getCycleName").setOtherpara(user.getLanguage()+"").setColumn("cyclename"));//周期名称
add(new WeaTableColumn("10%", SystemEnv.getHtmlLabelName(546323, user.getLanguage()), "attendcycle"));//考勤周期
add(new WeaTableColumn("10%", SystemEnv.getHtmlLabelName(17138, user.getLanguage()), "yearly"));//年度
add(new WeaTableColumn("10%", SystemEnv.getHtmlLabelName(887, user.getLanguage()), "months"));//月份
add(new WeaTableColumn("10%", SystemEnv.getHtmlLabelName(740, user.getLanguage()), "startdate"));//开始日期
add(new WeaTableColumn("10%", SystemEnv.getHtmlLabelName(1323, user.getLanguage()), "enddate"));//结束日期
add(new WeaTableColumn("10%", SystemEnv.getHtmlLabelName(602, user.getLanguage()), "cyclestate","cyclestate").setTransmethod("com.engine.jucailin.util.ListConversionMethod.getCyclestate").setOtherpara(user.getLanguage()+"").setColumn("cyclestate"));//状态
add(new WeaTableColumn("10%", SystemEnv.getHtmlLabelName(546321, user.getLanguage()), "closedate"));//关账日期
add(new WeaTableColumn("10%", SystemEnv.getHtmlLabelName(546322, user.getLanguage()), "closedate"));//关账时间
add(new WeaTableColumn("10%", SystemEnv.getHtmlLabelName(454, user.getLanguage()), "memo"));//备注
}};
}
@ -106,7 +106,9 @@ public class GetCycleListCmd extends AbstractCommonCommand<Map<String, Object>>
WeaTableOperates weaTableOperates = new WeaTableOperates();
weaTableOperates.setOperate(new ArrayList<WeaTableOperate>() {{
add(new WeaTableOperate(SystemEnv.getHtmlLabelName(91, user.getLanguage()), "javascript:doDel()", "1"));
add(new WeaTableOperate(SystemEnv.getHtmlLabelName(83, user.getLanguage()), "javascript:onLog()", "2"));
add(new WeaTableOperate(SystemEnv.getHtmlLabelName(513033, user.getLanguage()), "javascript:appendBill()", "2"));
add(new WeaTableOperate(SystemEnv.getHtmlLabelName(546329, user.getLanguage()), "javascript:closeBill()", "3"));
add(new WeaTableOperate(SystemEnv.getHtmlLabelName(546330, user.getLanguage()), "javascript:endBill()", "4"));
}});
return weaTableOperates;
}

@ -0,0 +1,95 @@
package com.engine.jucailin.cmd.cycle;
import com.api.browser.bean.SearchConditionItem;
import com.api.browser.bean.SearchConditionOption;
import com.api.hrm.bean.HrmFieldBean;
import com.api.hrm.util.HrmFieldSearchConditionComInfo;
import com.engine.common.biz.AbstractCommonCommand;
import com.engine.common.entity.BizLogContext;
import com.engine.core.interceptor.CommandContext;
import com.engine.jucailin.enums.FieldHtmlTypeEnum;
import com.engine.jucailin.util.DbTools;
import weaver.hrm.User;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public class GetCycleSearchConditionCmd extends AbstractCommonCommand<Map<String, Object>> {
public GetCycleSearchConditionCmd(Map<String, Object> params, User user) {
this.user = user;
this.params = params;
}
@Override
public BizLogContext getLogContext() {
return null;
}
@Override
public Map<String, Object> execute(CommandContext commandContext) {
Map<String, Object> resultMap = new HashMap<String, Object>();
List<Map<String, Object>> groupList = new ArrayList<Map<String, Object>>();
Map<String, Object> groupItem = new HashMap<String, Object>();
List<Object> itemList = new ArrayList<Object>();
HrmFieldSearchConditionComInfo hrmFieldSearchConditionComInfo = new HrmFieldSearchConditionComInfo();
SearchConditionItem searchConditionItem = null;
HrmFieldBean hrmFieldBean = null;
hrmFieldBean = new HrmFieldBean();
hrmFieldBean.setFieldname("yearly");//年度
hrmFieldBean.setFieldlabel("17138");
hrmFieldBean.setFieldhtmltype(FieldHtmlTypeEnum.SELECT.getKey());
hrmFieldBean.setType("1");
hrmFieldBean.setIsFormField(true);
searchConditionItem = hrmFieldSearchConditionComInfo.getSearchConditionItem(hrmFieldBean, user);
List<SearchConditionOption> optionsList = new ArrayList<SearchConditionOption>();
String sql = "select yearly from kq_cycle where (delete_type is null or delete_type <> '1') group by yearly";
List<Map<String,String>> dataList = DbTools.getSqlToList(sql);
if (dataList.size() > 0){
optionsList.add(new SearchConditionOption(dataList.get(0).get("yearly"), dataList.get(0).get("yearly"),true));
for (int i=1;i<dataList.size();i++){
optionsList.add(new SearchConditionOption(dataList.get(i).get("yearly"), dataList.get(i).get("yearly")));
}
}
searchConditionItem.setOptions(optionsList);
itemList.add(searchConditionItem);
hrmFieldBean = new HrmFieldBean();
hrmFieldBean.setFieldname("cyclename");//周期名称
hrmFieldBean.setFieldlabel("388722");
hrmFieldBean.setFieldhtmltype(FieldHtmlTypeEnum.SELECT.getKey());
hrmFieldBean.setType("1");
hrmFieldBean.setIsFormField(true);
searchConditionItem = hrmFieldSearchConditionComInfo.getSearchConditionItem(hrmFieldBean, user);
Map<String,String> cycleMap = getCycleNameMap();
List<SearchConditionOption> cycleOptionsList = new ArrayList<SearchConditionOption>();
sql = "select cyclename from kq_cycle where (delete_type is null or delete_type <> '1') group by cyclename";
List<Map<String,String>> cyclenames = DbTools.getSqlToList(sql);
if (cyclenames.size() > 0){
cycleOptionsList.add(new SearchConditionOption(cyclenames.get(0).get("cyclename"), cycleMap.get(cyclenames.get(0).get("cyclename")),true));
for (int i=1;i<cyclenames.size();i++){
cycleOptionsList.add(new SearchConditionOption(cyclenames.get(i).get("cyclename"), cycleMap.get(cyclenames.get(i).get("cyclename"))));
}
}
searchConditionItem.setOptions(cycleOptionsList);
itemList.add(searchConditionItem);
groupItem.put("items", itemList);
groupList.add(groupItem);
resultMap.put("condition", groupList);
return resultMap;
}
public Map<String,String> getCycleNameMap(){
String sql = "select id,cyclename from kq_cycle_setting where (delete_type is null or delete_type <> '1') ";
List<Map<String,String>> dataList = DbTools.getSqlToList(sql);
Map<String,String> reusltMap = dataList.stream().collect(Collectors.toMap(e->e.get("id"),e->e.get("cyclename")));
return reusltMap;
}
}

@ -67,7 +67,7 @@ public class GetCycleSettingFormCmd extends AbstractCommonCommand<Map<String, Ob
hrmFieldBean = new HrmFieldBean();
hrmFieldBean.setFieldname("attendance_organization");//适用对象
hrmFieldBean.setFieldlabel("18126");
hrmFieldBean.setFieldlabel("511548");
hrmFieldBean.setFieldhtmltype(FieldHtmlTypeEnum.TEXTAREA.getKey());
hrmFieldBean.setType("1");
hrmFieldBean.setIsFormField(true);

@ -82,9 +82,9 @@ public class GetCycleSettingListCmd extends AbstractCommonCommand<Map<String, Ob
private List<WeaTableColumn> tableFields() {
return new ArrayList<WeaTableColumn>() {{
add(new WeaTableColumn("id").setDisplay(WeaBoolAttr.FALSE));
add(new WeaTableColumn("20%", "名称", "cyclename"));//名称
add(new WeaTableColumn("20%", "默认周期", "ifdefault"));//默认周期
add(new WeaTableColumn("20%", "说明", "memo"));//说明
add(new WeaTableColumn("20%", SystemEnv.getHtmlLabelName(195, user.getLanguage()), "cyclename"));//名称
add(new WeaTableColumn("20%", SystemEnv.getHtmlLabelName(149, user.getLanguage()), "ifdefault"));//默认周期
add(new WeaTableColumn("20%", SystemEnv.getHtmlLabelName(85, user.getLanguage()), "memo"));//说明
}};
}

@ -0,0 +1,129 @@
package com.engine.jucailin.cmd.cycle;
import com.api.browser.bean.SearchConditionItem;
import com.api.browser.bean.SearchConditionOption;
import com.api.hrm.bean.HrmFieldBean;
import com.api.hrm.util.HrmFieldSearchConditionComInfo;
import com.engine.common.biz.AbstractCommonCommand;
import com.engine.common.entity.BizLogContext;
import com.engine.core.interceptor.CommandContext;
import com.engine.jucailin.enums.FieldHtmlTypeEnum;
import com.engine.jucailin.util.DbTools;
import com.google.common.collect.Maps;
import weaver.general.Util;
import weaver.hrm.User;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class GetCycledetailFormCmd extends AbstractCommonCommand<Map<String, Object>> {
public GetCycledetailFormCmd(Map<String, Object> params, User user){
this.user = user;
this.params = params;
}
@Override
public BizLogContext getLogContext() {
return null;
}
@Override
public Map<String, Object> execute(CommandContext commandContext) {
Map<String, Object> retmap = new HashMap<String, Object>();
List<Map<String, Object>> groupList = new ArrayList<Map<String, Object>>();
Map<String, Object> groupItem = new HashMap<String, Object>();
List<SearchConditionOption> optionsList = new ArrayList<SearchConditionOption>();
List<Object> itemList = new ArrayList<Object>();
HrmFieldSearchConditionComInfo hrmFieldSearchConditionComInfo = new HrmFieldSearchConditionComInfo();
SearchConditionItem searchConditionItem = null;
String billid = Util.null2String(params.get("billid"));
boolean hasFieldvalue = false;
Map<String,String> dateMap = Maps.newHashMap();
if (billid.length() != 0) {
dateMap = DbTools.getSqlToMap("select * from kq_cycle_dt1 where id=?",billid);
if (dateMap.size() > 0) {
hasFieldvalue = true;
}
}
HrmFieldBean hrmFieldBean = null;
hrmFieldBean = new HrmFieldBean();
hrmFieldBean.setFieldname("department");//特殊部门
hrmFieldBean.setFieldlabel("546320");
hrmFieldBean.setFieldhtmltype(FieldHtmlTypeEnum.BROWSER.getKey());
hrmFieldBean.setType("4");
hrmFieldBean.setIsFormField(true);
hrmFieldBean.setViewAttr(3);
hrmFieldBean.setFieldvalue(hasFieldvalue ? Util.null2String(dateMap.get("department")) : "");
searchConditionItem = hrmFieldSearchConditionComInfo.getSearchConditionItem(hrmFieldBean, user);
//searchConditionItem.setOptions(optionsList);
searchConditionItem.setRules("required|string");
itemList.add(searchConditionItem);
hrmFieldBean = new HrmFieldBean();
hrmFieldBean.setFieldname("cyclestate");//状态
hrmFieldBean.setFieldlabel("602");
hrmFieldBean.setFieldhtmltype(FieldHtmlTypeEnum.SELECT.getKey());
hrmFieldBean.setType("1");
hrmFieldBean.setIsFormField(true);
hrmFieldBean.setViewAttr(3);
hrmFieldBean.setFieldvalue(hasFieldvalue ? Util.null2String(dateMap.get("cyclestate")) : "");
searchConditionItem = hrmFieldSearchConditionComInfo.getSearchConditionItem(hrmFieldBean, user);
optionsList.add(new SearchConditionOption("0","开账",true));
optionsList.add(new SearchConditionOption("1","关账"));
searchConditionItem.setOptions(optionsList);
searchConditionItem.setRules("required|string");
itemList.add(searchConditionItem);
hrmFieldBean = new HrmFieldBean();
hrmFieldBean.setFieldname("close_date");//关账日期
hrmFieldBean.setFieldlabel("546321");
hrmFieldBean.setFieldhtmltype(FieldHtmlTypeEnum.BROWSER.getKey());
hrmFieldBean.setType("2");
hrmFieldBean.setIsFormField(true);
hrmFieldBean.setViewAttr(3);
hrmFieldBean.setFieldvalue(hasFieldvalue ? Util.null2String(dateMap.get("close_date")) : "");
searchConditionItem = hrmFieldSearchConditionComInfo.getSearchConditionItem(hrmFieldBean, user);
//searchConditionItem.setOptions(optionsList);
searchConditionItem.setRules("required|string");
itemList.add(searchConditionItem);
hrmFieldBean = new HrmFieldBean();
hrmFieldBean.setFieldname("close_time");//关账时间
hrmFieldBean.setFieldlabel("546322");
hrmFieldBean.setFieldhtmltype(FieldHtmlTypeEnum.BROWSER.getKey());
hrmFieldBean.setType("19");
hrmFieldBean.setIsFormField(true);
hrmFieldBean.setViewAttr(3);
hrmFieldBean.setFieldvalue(hasFieldvalue ? Util.null2String(dateMap.get("close_time")) : "");
searchConditionItem = hrmFieldSearchConditionComInfo.getSearchConditionItem(hrmFieldBean, user);
//searchConditionItem.setOptions(optionsList);
searchConditionItem.setRules("required|string");
itemList.add(searchConditionItem);
hrmFieldBean = new HrmFieldBean();
hrmFieldBean.setFieldname("memo");//说明
hrmFieldBean.setFieldlabel("85");
hrmFieldBean.setFieldhtmltype(FieldHtmlTypeEnum.TEXTAREA.getKey());
hrmFieldBean.setType("1");
hrmFieldBean.setIsFormField(true);
hrmFieldBean.setViewAttr(2);
hrmFieldBean.setFieldvalue(hasFieldvalue ? Util.null2String(dateMap.get("memo")) : "");
searchConditionItem = hrmFieldSearchConditionComInfo.getSearchConditionItem(hrmFieldBean, user);
// searchConditionItem.setOptions(optionsList);
searchConditionItem.setRules("");
itemList.add(searchConditionItem);
groupItem.put("items", itemList);
groupList.add(groupItem);
retmap.put("condition", groupList);
return retmap;
}
}

@ -0,0 +1,101 @@
package com.engine.jucailin.cmd.cycle;
import com.cloudstore.eccom.constant.WeaBoolAttr;
import com.cloudstore.eccom.pc.table.WeaTable;
import com.cloudstore.eccom.pc.table.WeaTableColumn;
import com.cloudstore.eccom.pc.table.WeaTableOperate;
import com.cloudstore.eccom.pc.table.WeaTableOperates;
import com.cloudstore.eccom.result.WeaResultMsg;
import com.engine.common.biz.AbstractCommonCommand;
import com.engine.common.entity.BizLogContext;
import com.engine.core.interceptor.CommandContext;
import com.engine.jucailin.util.PageUidFactory;
import weaver.general.PageIdConst;
import weaver.general.Util;
import weaver.hrm.User;
import weaver.systeminfo.SystemEnv;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class GetCycledetailListCmd extends AbstractCommonCommand<Map<String, Object>> {
public GetCycledetailListCmd(Map<String, Object> params, User user){
this.user = user;
this.params = params;
}
@Override
public BizLogContext getLogContext() {
return null;
}
@Override
public Map<String, Object> execute(CommandContext commandContext) {
Map<String, Object> retmap = new HashMap<String, Object>();
String cyclename = Util.null2String(params.get("cyclename"));
String backFields = "a.id,a.cyclestate,a.memo,a.close_date,a.close_time,a.department";
String sqlFrom = " kq_cycle_dt1 a";
String sqlWhere = " (a.delete_type is null or a.delete_type <> '1') ";
String orderby = " id ";
String tableString = "";
String pageId = PageUidFactory.getHrmPageUid("KQCycledetailList");
WeaTable table = new WeaTable();
table.setPageID(pageId);
table.setPageUID(pageId + "_" + user.getUID());
String pageSize = PageIdConst.getPageSize(pageId, user.getUID());
table.setPagesize(pageSize);
table.setBackfields(backFields);
table.setSqlform(sqlFrom);
table.setSqlwhere(sqlWhere);
table.setSqlprimarykey("id");
table.setSqlorderby("id");
table.getColumns().addAll(tableFields());
table.setOperates(getWeaTableOperates());
//主要用于 显示定制列以及 表格 每页展示记录数选择
// String sessionkey = pageUid + "_" + Util.getEncrypt(Util.getRandom());
// Util_TableMap.setVal(sessionkey, tableString);
// retmap.put("sessionkey", sessionkey);
// retmap.put("status", "1");
WeaResultMsg result = new WeaResultMsg(false);
result.putAll(table.makeDataResult());
result.success();
retmap.putAll(result.getResultMap());
return retmap;
}
/**
*
*/
private List<WeaTableColumn> tableFields() {
return new ArrayList<WeaTableColumn>() {{
add(new WeaTableColumn("id").setDisplay(WeaBoolAttr.FALSE));
add(new WeaTableColumn("20%", SystemEnv.getHtmlLabelName(546320, user.getLanguage()), "department","department").setTransmethod("com.engine.jucailin.util.ListConversionMethod.getDepartMentName").setOtherpara(user.getLanguage()+"").setColumn("department"));//特殊部门
add(new WeaTableColumn("20%", SystemEnv.getHtmlLabelName(602, user.getLanguage()), "cyclestate","cyclestate").setTransmethod("com.engine.jucailin.util.ListConversionMethod.getCycledetailstate").setOtherpara(user.getLanguage()+"").setColumn("cyclestate"));//状态
add(new WeaTableColumn("20%", SystemEnv.getHtmlLabelName(546321, user.getLanguage()), "close_date"));//关账日期
add(new WeaTableColumn("20%", SystemEnv.getHtmlLabelName(546322, user.getLanguage()), "close_time"));//关账时间
add(new WeaTableColumn("20%", SystemEnv.getHtmlLabelName(85, user.getLanguage()), "memo"));//说明
}};
}
/**
*
*/
private WeaTableOperates getWeaTableOperates() {
WeaTableOperates weaTableOperates = new WeaTableOperates();
weaTableOperates.setOperate(new ArrayList<WeaTableOperate>() {{
add(new WeaTableOperate(SystemEnv.getHtmlLabelName(91, user.getLanguage()), "javascript:doDel()", "1"));
add(new WeaTableOperate(SystemEnv.getHtmlLabelName(83, user.getLanguage()), "javascript:onLog()", "2"));
add(new WeaTableOperate(SystemEnv.getHtmlLabelName(93, user.getLanguage()), "javascript:doEdit()", "3"));
}});
return weaTableOperates;
}
}

@ -11,6 +11,7 @@ import com.api.hrm.util.HrmFieldSearchConditionComInfo;
import com.engine.common.biz.AbstractCommonCommand;
import com.engine.common.entity.BizLogContext;
import com.engine.core.interceptor.CommandContext;
import com.engine.jucailin.util.Constant;
import weaver.conn.RecordSet;
import weaver.general.Util;
import weaver.hrm.HrmUserVarify;
@ -45,17 +46,22 @@ public class GetSuitOrganzationFormCmd extends AbstractCommonCommand<Map<String,
return retmap;
}
/*考勤组成员相关id*/
String billid = Util.null2String(params.get("billid"));
String tableName = Util.null2String(params.get("tableName"));
String modeId = Constant.modeToTable.get(tableName);
String memberTableName = "kq_groupmember_"+modeId;
String groupmemberId = Util.null2String(params.get("groupmemberId"));
String validateFrom = "";
String validateTo = "";
String type = "";
if(!"".equals(groupmemberId)) {
String editSql = "select * from kq_groupmember kg where (isDelete is null or isDelete<>1) and id=?";
String editSql = "select * from "+memberTableName+" kg where (delete_type is null or delete_type<>1) and id=?";
rs.executeQuery(editSql, groupmemberId);
if (rs.next()) {
validateFrom = Util.null2String(rs.getString("validatefrom"));
validateTo = Util.null2String(rs.getString("validateto"));
type = Util.null2String(rs.getString("type"));
type = Util.null2String(rs.getString("membertype"));
}
}

@ -78,10 +78,10 @@ public class GetSuitOrganzationListCmd extends AbstractCommonCommand<Map<String,
}
if(hrmName.length() > 0 ){
sqlWhere += " and ( exists ( select 1 from hrmresource where a.typevalue=id and a.membertype=1 and lastname like '%"+hrmName+"%') " +
" or exists ( select 1 from hrmjobtitles where a.typevalue=id and a.membertype=5 and jobtitlename like '%"+hrmName+"%')" +
" or exists ( select 1 from hrmsubcompany where a.typevalue=id and a.membertype=2 and subcompanyname like '%"+hrmName+"%')" +
" or exists ( select 1 from hrmdepartment where a.typevalue=id and a.membertype=3 and departmentname like '%"+hrmName+"%')) ";
sqlWhere += " and ( exists ( select 1 from hrmresource where a.typevalue=id and a.type=1 and lastname like '%"+hrmName+"%') " +
" or exists ( select 1 from hrmjobtitles where a.typevalue=id and a.type=5 and jobtitlename like '%"+hrmName+"%')" +
" or exists ( select 1 from hrmsubcompany where a.typevalue=id and a.type=2 and subcompanyname like '%"+hrmName+"%')" +
" or exists ( select 1 from hrmdepartment where a.typevalue=id and a.type=3 and departmentname like '%"+hrmName+"%')) ";
}
if(hrmJobtitle.length() > 0){

@ -6,4 +6,6 @@ public interface KQCalendarSettingService {
Map<String, Object> getCalendarSettingList(Map<String, Object> params);
Map<String, Object> getCalendarSettingForm(Map<String, Object> params);
Map<String, Object> getCalendarSettingTree(Map<String, Object> params);
}

@ -12,4 +12,14 @@ public interface KQCycleSettingService {
Map<String, Object> getCycleList(Map<String, Object> params);
Map<String, Object> getCycleForm(Map<String, Object> params);
Map<String, Object> getCycleSearchCondition(Map<String, Object> params);
Map<String, Object> getCycledetailList(Map<String, Object> params);
Map<String, Object> getCycledetailForm(Map<String, Object> params);
Map<String, Object> closeBill(Map<String, Object> params);
Map<String, Object> endBill(Map<String, Object> params);
}

@ -3,6 +3,7 @@ package com.engine.jucailin.service.impl;
import com.engine.core.impl.Service;
import com.engine.jucailin.cmd.calendar.GetCalendarSettingFormCmd;
import com.engine.jucailin.cmd.calendar.GetCalendarSettingListCmd;
import com.engine.jucailin.cmd.calendar.holidaySet.GetCalendarSettingTreeCmd;
import com.engine.jucailin.service.KQCalendarSettingService;
import java.util.Map;
@ -22,4 +23,9 @@ public class KQCalendarSettingServiceImpl extends Service implements KQCalendarS
public Map<String, Object> getCalendarSettingForm(Map<String, Object> params) {
return commandExecutor.execute(new GetCalendarSettingFormCmd(params,user));
}
@Override
public Map<String, Object> getCalendarSettingTree(Map<String, Object> params) {
return commandExecutor.execute(new GetCalendarSettingTreeCmd(params,user));
}
}

@ -1,8 +1,12 @@
package com.engine.jucailin.service.impl;
import com.engine.core.impl.Service;
import com.engine.jucailin.cmd.common.UpdateDataCommonCmd;
import com.engine.jucailin.cmd.cycle.*;
import com.engine.jucailin.service.KQCycleSettingService;
import com.engine.jucailin.util.Constant;
import com.google.common.collect.Maps;
import java.util.Map;
public class KQCycleSettingServiceImpl extends Service implements KQCycleSettingService {
@ -31,4 +35,38 @@ public class KQCycleSettingServiceImpl extends Service implements KQCycleSetting
public Map<String, Object> getCycleForm(Map<String, Object> params) {
return commandExecutor.execute(new GetCycleFormCmd(params,user));
}
@Override
public Map<String, Object> getCycleSearchCondition(Map<String, Object> params) {
return commandExecutor.execute(new GetCycleSearchConditionCmd(params,user));
}
@Override
public Map<String, Object> getCycledetailList(Map<String, Object> params) {
return commandExecutor.execute(new GetCycledetailListCmd(params,user));
}
@Override
public Map<String, Object> getCycledetailForm(Map<String, Object> params) {
return commandExecutor.execute(new GetCycledetailFormCmd(params,user));
}
@Override
public Map<String, Object> closeBill(Map<String, Object> params) {
params.put("tableName", Constant.kq_cycle);
Map<String,Object> dataMap = Maps.newHashMap();
dataMap.put("cyclestate","1");
params.put("data",dataMap);
return commandExecutor.execute(new UpdateDataCommonCmd(params,user));
}
@Override
public Map<String, Object> endBill(Map<String, Object> params) {
params.put("tableName", Constant.kq_cycle);
Map<String,Object> dataMap = Maps.newHashMap();
dataMap.put("cyclestate","2");
params.put("data",dataMap);
return commandExecutor.execute(new UpdateDataCommonCmd(params,user));
}
}

@ -41,8 +41,10 @@ public class CommonUtil<T> {
String key = "(";
String value = "(";
for (Map.Entry<String,Object> e : map.entrySet()){
key = key + e.getKey() +",";
value = value + "'"+e.getValue()+"'" +",";
if (e.getValue() != null && !"".equals(e.getValue())){
key = key + e.getKey() +",";
value = value + "'"+e.getValue()+"'" +",";
}
}
key = key.substring(0,key.length()-1) + ")";
value = value.substring(0,value.length()-1)+")";

@ -8,5 +8,9 @@ public class Constant {
public static final Map<String,String> modeToTable = new HashMap(){{
//周期设置表
put("kq_cycle_setting","1");
put("kq_calendar_name","2");
}};
//考勤周期表
public static final String kq_cycle="kq_cycle";
}

@ -0,0 +1,831 @@
package com.engine.jucailin.util;
import com.engine.common.util.ServiceUtil;
import com.engine.jucailin.bean.KQHolidaySetWithCalendarSet;
import com.engine.kq.bean.KQBalanceDetail;
import com.engine.kq.bean.KQBalanceOfLeave;
import com.engine.kq.bean.KQScheduleCode;
import com.engine.kq.biz.KQLeaveRulesBiz;
import com.engine.kq.biz.KQLeaveRulesComInfo;
import com.engine.kq.biz.KQLeaveRulesDetailComInfo;
import com.engine.kq.service.ImportLogService;
import com.engine.kq.service.impl.ImportLogServiceImpl;
import org.apache.poi.hssf.usermodel.*;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.ss.usermodel.DateUtil;
import weaver.conn.RecordSet;
import weaver.file.ImageFileManager;
import weaver.general.*;
import weaver.hrm.HrmUserVarify;
import weaver.hrm.User;
import weaver.hrm.common.Tools;
import weaver.hrm.moduledetach.ManageDetachComInfo;
import weaver.systeminfo.SystemEnv;
import javax.servlet.http.HttpServletRequest;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.text.SimpleDateFormat;
import java.util.*;
/**
* @Author: sy
* @Description: --Excel
* @Date: 2024/2/29
**/
public class ImportProcessWithCalendarSetUtil extends BaseBean {
/**
*
*/
private String importtype;
/**
*
*/
private String filename;
/**
* excel
*/
private Sheet sheet;
/**
* Excel
*/
private List<Object> lsImportSourceMap = new ArrayList<Object>();
/**
*
*/
private List<String> errorInfo = new ArrayList<String>();
/**
*
*/
private Map<String, Method> parameterTypes = new HashMap<String, Method>();
/**
*
*/
private Map<String, String> fieldTypes = new HashMap<String, String>();
/**
*
*/
private Map<String, String[]> mapImportSource = new HashMap<String, String[]>();
/**
*
*/
private Map<String, String> mapImportSourceName = new HashMap<String, String>();
/**
* excel
*/
private Map<String, String[]> mapImportSourceField = new HashMap<String, String[]>();
/**
* excel
*/
private Map<String, String[]> mapImportSourceFieldName = new HashMap<String, String[]>();
/**
* --
*/
private int userlanguage = 7;
/**
*
*/
private String voFields[];
/**
*
*/
private Class<?> importSourceClass;
/**
*
*/
private String keyField = "";
/**
*
*/
private String creater = "";
private User user;
/**
*
*/
private int pId = 0;
/**
*
*/
private String leaveRulesId = "";//假期规则的ID
/**
*
*/
private String belongYear = "";//所属年份
public ImportProcessWithCalendarSetUtil() {
mapImportSource.put("holidaySet", new String[]{KQHolidaySetWithCalendarSet.class.getName()});
mapImportSource.put("kqScheduleCode", new String[]{KQScheduleCode.class.getName()});
mapImportSourceName.put("holidaySet", ""+ SystemEnv.getHtmlLabelName(388727, ThreadVarLanguage.getLang())+"");
mapImportSourceName.put("kqScheduleCode", ""+ SystemEnv.getHtmlLabelName(511419, ThreadVarLanguage.getLang())+"");
mapImportSourceField.put("holidaySet", new String[]{"calendarName,holidayDate,changeTypeName,holidayDesc,relatedDayName"});
mapImportSourceField.put("kqScheduleCode", new String[]{"lastname,workcode,devicecode,schedulecode"});
mapImportSourceFieldName.put("holidaySet", new String[]{""+ SystemEnv.getHtmlLabelName(388700, ThreadVarLanguage.getLang())+"["+ SystemEnv.getHtmlLabelName(18019, ThreadVarLanguage.getLang())+"],"+ SystemEnv.getHtmlLabelName(31131, ThreadVarLanguage.getLang())+"["+ SystemEnv.getHtmlLabelName(18019, ThreadVarLanguage.getLang())+"],"+ SystemEnv.getHtmlLabelName(22256, ThreadVarLanguage.getLang())+"["+ SystemEnv.getHtmlLabelName(18019, ThreadVarLanguage.getLang())+"],"+ SystemEnv.getHtmlLabelName(85, ThreadVarLanguage.getLang())+","+ SystemEnv.getHtmlLabelName(16754, ThreadVarLanguage.getLang())+""});
mapImportSourceFieldName.put("kqScheduleCode", new String[]{""+ SystemEnv.getHtmlLabelName(413, ThreadVarLanguage.getLang())+","+ SystemEnv.getHtmlLabelName(714, ThreadVarLanguage.getLang())+","+ SystemEnv.getHtmlLabelName(10005347, ThreadVarLanguage.getLang())+","+ SystemEnv.getHtmlLabelName(10005348, ThreadVarLanguage.getLang())+"["+ SystemEnv.getHtmlLabelName(18019, ThreadVarLanguage.getLang())+"]"});
}
public List<String> importXls(Map<String, Object> params, User user, HttpServletRequest request) {
ImportLogService importLogService = (ImportLogServiceImpl) ServiceUtil.getService(ImportLogServiceImpl.class, user);
try {
this.user = user;
this.filename = (String) params.get("excelfile");
this.importtype = Util.null2String(params.get("importType"));
this.keyField = Util.null2String(params.get("keyField"));
this.creater = "" + user.getUID();
this.userlanguage = user.getLanguage();
/*根据假期规则的ID加载相关模板数据*/
if (this.importtype.equals("balanceOfLeave")) {
String ruleId = Util.null2String(params.get("ruleId"));//假期规则的ID
String searchYearSelect = Util.null2String(params.get("searchYearSelect"));//日期控件的选择值
String searchYear = Util.null2String(params.get("searchYear"));//年份
if (searchYearSelect.equals("5") || searchYearSelect.equals("8")) {
searchYear = TimeUtil.getDateByOption(searchYearSelect, "0").substring(0, 4);
}
this.leaveRulesId = ruleId;
this.belongYear = searchYear;
KQLeaveRulesComInfo rulesComInfo = new KQLeaveRulesComInfo();
String leaveName = Util.formatMultiLang(rulesComInfo.getLeaveName(this.leaveRulesId), "" + this.userlanguage);//假期名称
String UnitName = rulesComInfo.getUnitNameNew(this.leaveRulesId, user.getLanguage());//最小请假单位的单位名称,天/小时
/*判断该假期类型是否属于 法定年假+福利年假 的类型(暂不支持一个请假类型下既存在"按入职时长+工龄自动发放"的余额发放方式,又存在其他发放方式)*/
boolean isMixMode = KQLeaveRulesBiz.isMixMode(this.leaveRulesId);
//判断该假期类型是否属于 调休
boolean isTiaoXiu = KQLeaveRulesBiz.isTiaoXiu(this.leaveRulesId);
String[] mapImportSourceFieldNameArr = null;
String[] mapImportSourceFieldArr = null;
if (isMixMode) {
mapImportSourceFieldNameArr = new String[]{"ID("+ SystemEnv.getHtmlLabelName(10005349, ThreadVarLanguage.getLang())+"),"+ SystemEnv.getHtmlLabelName(714, ThreadVarLanguage.getLang())+"("+ SystemEnv.getHtmlLabelName(10005349, ThreadVarLanguage.getLang())+"),"+ SystemEnv.getHtmlLabelName(413, ThreadVarLanguage.getLang())+"("+ SystemEnv.getHtmlLabelName(10005349, ThreadVarLanguage.getLang())+"),"+ SystemEnv.getHtmlLabelName(500228, ThreadVarLanguage.getLang())+"" + UnitName + ","+ SystemEnv.getHtmlLabelName(389745, ThreadVarLanguage.getLang())+"" + UnitName + ","+ SystemEnv.getHtmlLabelName(389743, ThreadVarLanguage.getLang())+"" + UnitName + ","+ SystemEnv.getHtmlLabelName(500229, ThreadVarLanguage.getLang())+"" + UnitName + ","+ SystemEnv.getHtmlLabelName(389746, ThreadVarLanguage.getLang())+"" + UnitName + ","+ SystemEnv.getHtmlLabelName(389744, ThreadVarLanguage.getLang())+"" + UnitName};
mapImportSourceFieldArr = new String[]{"resourceId,workcode,lastName,baseAmount,extraAmount,usedAmount,baseAmount2,extraAmount2,usedAmount2"};
} else if (isTiaoXiu) {
mapImportSourceFieldNameArr = new String[]{"ID("+ SystemEnv.getHtmlLabelName(10005349, ThreadVarLanguage.getLang())+"),"+ SystemEnv.getHtmlLabelName(714, ThreadVarLanguage.getLang())+"("+ SystemEnv.getHtmlLabelName(10005349, ThreadVarLanguage.getLang())+"),"+ SystemEnv.getHtmlLabelName(413, ThreadVarLanguage.getLang())+"("+ SystemEnv.getHtmlLabelName(10005349, ThreadVarLanguage.getLang())+"),"+ SystemEnv.getHtmlLabelName(15933, ThreadVarLanguage.getLang())+","+ SystemEnv.getHtmlLabelName(887, ThreadVarLanguage.getLang())+","+ SystemEnv.getHtmlLabelName(130286, ThreadVarLanguage.getLang())+","+ SystemEnv.getHtmlLabelName(26642, ThreadVarLanguage.getLang())+","+ SystemEnv.getHtmlLabelName(508169, ThreadVarLanguage.getLang())+","+ SystemEnv.getHtmlLabelName(19547, ThreadVarLanguage.getLang())+""};
mapImportSourceFieldArr = new String[]{"resourceId,workcode,lastName,belongYear,belongMonth,totalAmount,usedAmount,effectiveDate,expirationDate"};
} else {
mapImportSourceFieldNameArr = new String[]{"ID("+ SystemEnv.getHtmlLabelName(10005349, ThreadVarLanguage.getLang())+"),"+ SystemEnv.getHtmlLabelName(714, ThreadVarLanguage.getLang())+"("+ SystemEnv.getHtmlLabelName(10005349, ThreadVarLanguage.getLang())+"),"+ SystemEnv.getHtmlLabelName(413, ThreadVarLanguage.getLang())+"("+ SystemEnv.getHtmlLabelName(10005349, ThreadVarLanguage.getLang())+")," + leaveName + ""+ SystemEnv.getHtmlLabelName(17638, ThreadVarLanguage.getLang())+"" + UnitName + ","+ SystemEnv.getHtmlLabelName(130286, ThreadVarLanguage.getLang())+"" + leaveName + UnitName + ","+ SystemEnv.getHtmlLabelName(26642, ThreadVarLanguage.getLang())+"" + leaveName + UnitName};
mapImportSourceFieldArr = new String[]{"resourceId,workcode,lastName,baseAmount,extraAmount,usedAmount"};
}
if (isTiaoXiu) {
mapImportSource.put("balanceOfLeave", new String[]{KQBalanceDetail.class.getName()});
mapImportSourceName.put("balanceOfLeave", ""+ SystemEnv.getHtmlLabelName(10005350, ThreadVarLanguage.getLang())+"");
mapImportSourceField.put("balanceOfLeave", mapImportSourceFieldArr);
mapImportSourceFieldName.put("balanceOfLeave", mapImportSourceFieldNameArr);
} else {
mapImportSource.put("balanceOfLeave", new String[]{KQBalanceOfLeave.class.getName()});
mapImportSourceName.put("balanceOfLeave", ""+ SystemEnv.getHtmlLabelName(389989, ThreadVarLanguage.getLang())+"");
mapImportSourceField.put("balanceOfLeave", mapImportSourceFieldArr);
mapImportSourceFieldName.put("balanceOfLeave", mapImportSourceFieldNameArr);
}
}
ImageFileManager manager = new ImageFileManager();
manager.getImageFileInfoById(Util.getIntValue(this.filename));
Workbook workbook = WorkbookFactory.create(manager.getInputStream());
params.put("operateType", "add");
Map<String, Object> retmap = importLogService.saveImportLog(params, request, user);
if (Util.null2String(retmap.get("status")).equals("1")) {
this.pId = Util.getIntValue(Util.null2String(retmap.get("pId")));
String pIdName = "hrm" + this.importtype + "PId";
request.getSession(true).setAttribute(pIdName, this.pId);
}
String[] tmpMapImportSource = mapImportSource.get(this.importtype);
int idx = 0;
for (String tmpImportSource : tmpMapImportSource) {
idx++;
this.sheet = workbook.getSheetAt(idx);
importSourceClass = Class.forName(tmpImportSource);
voFields = mapImportSourceField.get(this.importtype)[idx - 1].split(",");
initReflectParam();
/*校验模板有效性*/
if (idx == 1) {
String[] importSourceFieldName = mapImportSourceFieldName.get(this.importtype);
String valExcelTempInfo = valExcelTemp(importSourceFieldName[idx - 1]);
if (valExcelTempInfo.length() > 0) {
this.errorInfo.add(valExcelTempInfo);
break;
}
}
readexcel();
String importSourceName = "";
importSourceName = mapImportSourceName.get(this.importtype);
Object obj = null;
Method method = null;
String flag = "";
String valErrorInfo = "";
if (lsImportSourceMap == null || lsImportSourceMap.size() == 0) {
this.errorInfo.add("【" + importSourceName + "】" + SystemEnv.getHtmlLabelName(34195, userlanguage) + "");
}
for (int i = 0; lsImportSourceMap != null && i < lsImportSourceMap.size(); i++) {
obj = lsImportSourceMap.get(i);
/*设置关联的假期规则ID和所属年份*/
if (this.importtype.equals("balanceOfLeave")) {
method = importSourceClass.getMethod("setLeaveRulesId", String.class);
method.invoke(obj, this.leaveRulesId);
method = importSourceClass.getMethod("setBelongYear", String.class);
method.invoke(obj, this.belongYear);
method = importSourceClass.getMethod("setOperator", String.class);
method.invoke(obj, "" + user.getUID());
} else if (this.importtype.equals("kqScheduleCode")) {
method = importSourceClass.getMethod("setKeyField", String.class);
method.invoke(obj, "" + keyField);
}
method = importSourceClass.getMethod("setUserLanguage", String.class);
method.invoke(obj, "" + userlanguage);
method = importSourceClass.getMethod("valExcelData");
try {
valErrorInfo = (String) method.invoke(obj);
} catch (Exception e) {
//验证出错返回错误信息
params = new HashMap<String, Object>();
params.put("pId", this.pId);
params.put("lineNum", (i + 1));
params.put("relatedName", this.getRelatedName(obj));
params.put("msg", importSourceName + ""+ SystemEnv.getHtmlLabelName(15323, ThreadVarLanguage.getLang())+"" + (i + 1) + ""+ SystemEnv.getHtmlLabelName(10005351, ThreadVarLanguage.getLang())+"");
params.put("status", "0");
importLogService.saveImportDeitalLog(params, user);
continue;
}
if (valErrorInfo.length() == 0) {
method = importSourceClass.getMethod("save");
flag = (String) method.invoke(obj);
params = new HashMap<String, Object>();
params.put("pId", this.pId);
params.put("lineNum", (i + 1));
params.put("relatedName", this.getRelatedName(obj));
String msg = importSourceName + ""+ SystemEnv.getHtmlLabelName(15323, ThreadVarLanguage.getLang())+"" + (i + 1) + ""+ SystemEnv.getHtmlLabelName(10005352, ThreadVarLanguage.getLang())+"" + this.getRelatedName(obj);
params.put("msg", flag.equals("true") ? msg + SystemEnv.getHtmlLabelName(25750, ThreadVarLanguage.getLang()) : msg + SystemEnv.getHtmlLabelName(24945, ThreadVarLanguage.getLang()));
params.put("status", flag.equals("true") ? "1" : "0");
importLogService.saveImportDeitalLog(params, user);
} else {
//验证出错返回错误信息
params = new HashMap<String, Object>();
params.put("pId", this.pId);
params.put("lineNum", (i + 1));
params.put("relatedName", this.getRelatedName(obj));
params.put("msg", importSourceName + ""+ SystemEnv.getHtmlLabelName(15323, ThreadVarLanguage.getLang())+"" + (i + 1) + ""+ SystemEnv.getHtmlLabelName(10005352, ThreadVarLanguage.getLang())+"" + valErrorInfo);
params.put("status", "0");
importLogService.saveImportDeitalLog(params, user);
}
}
if (this.importtype.equals("holidaySet")) {
//加载缓存
method = importSourceClass.getMethod("removeCache");
if (obj != null) method.invoke(obj);
}
}
params = new HashMap<String, Object>();
params.put("pId", this.pId);
params.put("status", "over");
importLogService.saveImportLogStatus(params, user);
} catch (FileNotFoundException e) {
params = new HashMap<String, Object>();
params.put("pId", this.pId);
params.put("status", "error");
importLogService.saveImportLogStatus(params, user);
} catch (IOException e) {
this.errorInfo.add(SystemEnv.getHtmlLabelName(83618, userlanguage));
writeLog(e);
params = new HashMap<String, Object>();
params.put("pId", this.pId);
params.put("status", "error");
importLogService.saveImportLogStatus(params, user);
} catch (IndexOutOfBoundsException e) {
this.errorInfo.add(SystemEnv.getHtmlLabelName(125871, userlanguage));
writeLog(e);
params = new HashMap<String, Object>();
params.put("pId", this.pId);
params.put("status", "error");
importLogService.saveImportLogStatus(params, user);
} catch (Exception e) {
writeLog(e);
this.errorInfo.add(SystemEnv.getHtmlLabelName(125871, userlanguage));
params = new HashMap<String, Object>();
params.put("pId", this.pId);
params.put("status", "error");
importLogService.saveImportLogStatus(params, user);
}
return this.errorInfo;
}
/**
*
*
* @param importSourceFieldName
* @return
*/
public String valExcelTemp(String importSourceFieldName) {
String valExcelTempInfo = "";
Row row = null;
Cell cell = null;
String cellValue = "";
try {
String[] fieldname = importSourceFieldName.split(",");
row = sheet.getRow(0);
for (int cellIndex = 0; cellIndex < row.getLastCellNum(); cellIndex++) {
cell = row.getCell((short) cellIndex);
if (cell == null) continue;
cellValue = getCellValue(cell).trim();
if (!fieldname[cellIndex].trim().equals(cellValue)) {
valExcelTempInfo = SystemEnv.getHtmlLabelName(387156, user.getLanguage());
break;
}
}
} catch (Exception e) {
writeLog(e);
valExcelTempInfo = SystemEnv.getHtmlLabelName(387156, user.getLanguage()) + "1";
}
return valExcelTempInfo;
}
/**
* excel
*
* @param cell
* @return
*/
public String getCellValue(Cell cell) {
String cellValue = "";
if (cell == null)
return "";
switch (cell.getCellType()) {
case BOOLEAN: // 得到Boolean对象的方法
cellValue = String.valueOf(cell.getBooleanCellValue());
break;
case NUMERIC:
if (DateUtil.isCellDateFormatted(cell)) {// 先看是否是日期格式
SimpleDateFormat sft = new SimpleDateFormat("yyyy-MM-dd");
cellValue = String.valueOf(sft.format(cell.getDateCellValue())); // 读取日期格式
} else {
cellValue = String.valueOf(new Double(cell.getNumericCellValue())); // 读取数字
if (cellValue.endsWith(".0"))
cellValue = cellValue.substring(0, cellValue.indexOf("."));
}
break;
case FORMULA: // 读取公式
cellValue = cell.getCellFormula();
break;
case STRING: // 读取String
cellValue = cell.getStringCellValue();
break;
}
return cellValue;
}
/**
* excel
*/
public void readexcel() {
try {
Row row = null;
Cell cell = null;
String cellValue = null;
int rowNum = 0; // 行号
int cellNum = 0; // 列号
int firstRow = 1;
lsImportSourceMap.clear();
int lastRow = sheet.getLastRowNum();
for (int i = firstRow; i <= lastRow; i++) {
row = sheet.getRow(i);
if (row == null) {
errorInfo.add(SystemEnv.getHtmlLabelName(15323, userlanguage) + " " + (i + 1) + " " + SystemEnv.getHtmlLabelName(83622, userlanguage));
continue;
}
rowNum = row.getRowNum();
Object obj = importSourceClass.newInstance();
for (int cellIndex = 0; cellIndex < row.getLastCellNum(); cellIndex++) {
cell = row.getCell((short) cellIndex);
if (cell == null) continue;
cellValue = getCellValue(cell).trim();
setImportSourceValue(cellIndex, cellValue, obj, null);
}
lsImportSourceMap.add(obj);
}
} catch (Exception e) {
writeLog(e);
}
}
/**
*
*
* @param cellNum
* @param cellValue
* @param importSourceObj
* @param field
*/
public void setImportSourceValue(int cellNum, String cellValue, Object importSourceObj, String field) {
if (field == null) {
String excelField = voFields[cellNum];
String methodName = "set" + excelField.substring(0, 1).toUpperCase() + excelField.substring(1);
Method method = (Method) parameterTypes.get(methodName);
try {
String fieldType = (String) fieldTypes.get(excelField);
if (fieldType.equals("java.lang.String"))
method.invoke(importSourceObj, new Object[]{cellValue});
else if (fieldType.equals("java.lang.Integer") && !cellValue.equals("")) {
method.invoke(importSourceObj, new Object[]{new Integer(Integer.parseInt(cellValue))});
} else if (fieldType.equals("java.lang.Float") && !cellValue.equals(""))
method.invoke(importSourceObj, new Object[]{new Float(Float.parseFloat(cellValue))});
else if (fieldType.equals("java.lang.Short") && !cellValue.equals("")) {
method.invoke(importSourceObj, new Object[]{new Short(Short.parseShort(cellValue))});
} else if (fieldType.equals("double") && !cellValue.equals("")) {
method.invoke(importSourceObj, new Object[]{new Double(Double.parseDouble(cellValue))});
}
} catch (Exception e) {
writeLog(e);
}
} else {
String methodName = "set" + field.substring(0, 1).toUpperCase() + field.substring(1);
Method method = (Method) parameterTypes.get(methodName);
try {
method.invoke(importSourceObj, new Object[]{cellValue});
} catch (Exception e) {
writeLog(e);
}
}
}
/**
* MapparameterTypesfieldTypes
*/
public void initReflectParam() {
try {
parameterTypes.clear();
fieldTypes.clear();
Method hrmResourceMethods[] = importSourceClass.getDeclaredMethods();
for (int i = 0; i < hrmResourceMethods.length; i++) {
parameterTypes.put(hrmResourceMethods[i].getName(), hrmResourceMethods[i]);
}
Field importSourceFields[] = importSourceClass.getDeclaredFields();
for (int i = 0; i < importSourceFields.length; i++) {
Class<?> fieldTypeClass = importSourceFields[i].getType();
if (fieldTypeClass == Integer.TYPE) {
fieldTypeClass = Integer.class;
}
fieldTypes.put(importSourceFields[i].getName(), fieldTypeClass.getName());
}
} catch (Exception e) {
writeLog(e);
}
}
/**
* RelatedName
*
* @param obj
* @return
*/
private String getRelatedName(Object obj) {
String relatedName = "";
try {
if (this.importtype.equals("holidaySet")) {
Method method = importSourceClass.getMethod("getHolidayDate");
relatedName = Util.null2String(method.invoke(obj));
} else if (this.importtype.equals("balanceOfLeave")) {
Method method = importSourceClass.getMethod("getLastName");
relatedName = Util.null2String(method.invoke(obj));
} else if (this.importtype.equals("kqScheduleCode")) {
if (this.keyField.equals("lastname")) {
Method method = importSourceClass.getMethod("getLastname");
relatedName = Util.null2String(method.invoke(obj));
} else if (this.keyField.equals("workcode")) {
Method method = importSourceClass.getMethod("getWorkcode");
relatedName = Util.null2String(method.invoke(obj));
}
Method method = importSourceClass.getMethod("getSchedulecode");
relatedName += "|" + Util.null2String(method.invoke(obj));
}
} catch (Exception e) {
writeLog(e);
}
return relatedName;
}
/**
*
*
* @param leaveRulesId ID(kq_leaveRulesID)
* @param belongYear
* @param organizationType 0--1--2--
* @param organizationIds ID(ID)
*/
public void createTempletOfLeave(String leaveRulesId, String belongYear, String organizationType, String organizationIds,User user) {
HSSFSheet sheet = null;
HSSFRow row = null;
HSSFCell cell = null;
String cellValue = null;
try {
HSSFWorkbook workbook = new HSSFWorkbook();
sheet = workbook.createSheet();//获取页
workbook.setSheetName(0, ""+ SystemEnv.getHtmlLabelName(10005353, ThreadVarLanguage.getLang())+"");
LinkedHashMap<String, String> sheeetTitle = new LinkedHashMap<String, String>();
sheeetTitle.put(""+ SystemEnv.getHtmlLabelName(130664, ThreadVarLanguage.getLang())+"", ""+ SystemEnv.getHtmlLabelName(33803, ThreadVarLanguage.getLang())+"");
sheeetTitle.put("1", ""+ SystemEnv.getHtmlLabelName(389749, ThreadVarLanguage.getLang())+"");
sheeetTitle.put("2", ""+ SystemEnv.getHtmlLabelName(10005354, ThreadVarLanguage.getLang())+"ID"+ SystemEnv.getHtmlLabelName(10005355, ThreadVarLanguage.getLang())+"");
sheeetTitle.put("3", ""+ SystemEnv.getHtmlLabelName(10005356, ThreadVarLanguage.getLang())+"0");
sheeetTitle.put("4", ""+ SystemEnv.getHtmlLabelName(509971, ThreadVarLanguage.getLang())+"");
sheeetTitle.put("5", ""+ SystemEnv.getHtmlLabelName(10005357, ThreadVarLanguage.getLang())+"yyyy"+ SystemEnv.getHtmlLabelName(18541, ThreadVarLanguage.getLang())+"2019");
sheeetTitle.put("6", ""+ SystemEnv.getHtmlLabelName(10005358, ThreadVarLanguage.getLang())+"MM"+ SystemEnv.getHtmlLabelName(18541, ThreadVarLanguage.getLang())+"08");
sheeetTitle.put("7", ""+ SystemEnv.getHtmlLabelName(10005359, ThreadVarLanguage.getLang())+"yyyy-MM-dd"+ SystemEnv.getHtmlLabelName(18541, ThreadVarLanguage.getLang())+"2019-08-01");
int rowIndex = 0;
Iterator<Map.Entry<String, String>> iterator = sheeetTitle.entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry<String, String> entry = iterator.next();
String key = entry.getKey();
String value = Util.null2String(entry.getValue());
row = sheet.createRow(rowIndex++);//获取行
row.setHeight((short) 400);
cell = row.createCell((short) 0);//获取单元格
HSSFCellStyle cellStyle = workbook.createCellStyle();
HSSFFont font = workbook.createFont();
font.setFontName("宋体");//设置字体
font.setFontHeightInPoints((short) 12);//设置字体大小
cellStyle.setFont(font);
HSSFDataFormat format = workbook.createDataFormat();
cellStyle.setDataFormat(format.getFormat("@"));//@为文本占位符
cell.setCellStyle(cellStyle);//设置单元格样式
cell.setCellType(CellType.STRING);//设置单元格类型
cell.setCellValue(Util.formatMultiLang(key, "7"));//设置单元格的值
cell = row.createCell((short) 1);//获取该行第二列的单元格
cell.setCellStyle(cellStyle);
cell.setCellType(CellType.STRING);
cell.setCellValue(Util.formatMultiLang(value, "7"));
}
sheet.setColumnWidth((short) 0, (short) (2 * 1000));
sheet.setColumnWidth((short) 1, (short) (40 * 1000));
/**********************************************************************************************************/
/*假期类型的相关设置*/
KQLeaveRulesComInfo rulesComInfo = new KQLeaveRulesComInfo();
/*假期类型的名称*/
String leaveName = Util.formatMultiLang(rulesComInfo.getLeaveName(leaveRulesId), "" + ThreadVarLanguage.getLang());
/*最小请假单位1-按天请假、2-按半天请假、3-按小时请假、4-按整天请假*/
int minimumUnit = Util.getIntValue(rulesComInfo.getMinimumUnit(leaveRulesId), 1);
/*假期类型的最小请假单位名称*/
String unitName = rulesComInfo.getUnitNameNew(leaveRulesId, ThreadVarLanguage.getLang());//单位名称,天/小时
/**********************************************************************************************************/
/*假期规则(每个假期类型下可能存在多个假期规则)的相关设置*/
KQLeaveRulesDetailComInfo detailComInfo = new KQLeaveRulesDetailComInfo();
/*判断该假期类型是否属于 法定年假+福利年假 的类型(暂不支持一个请假类型下既存在"按入职时长+工龄自动发放"的余额发放方式,又存在其他发放方式)*/
boolean isMixMode = KQLeaveRulesBiz.isMixMode(leaveRulesId);
//判断该假期类型是否属于 调休
boolean isTiaoXiu = KQLeaveRulesBiz.isTiaoXiu(leaveRulesId);
/**********************************************************************************************************/
sheet = workbook.createSheet();
workbook.setSheetName(1, ""+ SystemEnv.getHtmlLabelName(10005360, ThreadVarLanguage.getLang())+"");
row = sheet.createRow(0);
row.setHeightInPoints((float) 15);
HSSFCellStyle cellStyle = workbook.createCellStyle();
HSSFFont font = workbook.createFont();
font.setFontName("宋体");
font.setFontHeightInPoints((short) 12);//设置字体大小
font.setBold(true);
cellStyle.setFont(font);
HSSFDataFormat format = workbook.createDataFormat();
cellStyle.setDataFormat(format.getFormat("@"));//@为文本占位符
cellStyle.setFillForegroundColor((short) 52);// 设置背景色
cellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);
cellStyle.setBorderRight(BorderStyle.THIN);//右边框
cellStyle.setBorderBottom(BorderStyle.THIN);//下边框
if (isMixMode) {
String fieldNameStr = "ID("+ SystemEnv.getHtmlLabelName(10005349, ThreadVarLanguage.getLang())+"),"+ SystemEnv.getHtmlLabelName(714, ThreadVarLanguage.getLang())+"("+ SystemEnv.getHtmlLabelName(10005349, ThreadVarLanguage.getLang())+"),"+ SystemEnv.getHtmlLabelName(413, ThreadVarLanguage.getLang())+"("+ SystemEnv.getHtmlLabelName(10005349, ThreadVarLanguage.getLang())+"),"+ SystemEnv.getHtmlLabelName(500228, ThreadVarLanguage.getLang())+"" + unitName + ","+ SystemEnv.getHtmlLabelName(389745, ThreadVarLanguage.getLang())+"" + unitName + ","+ SystemEnv.getHtmlLabelName(389743, ThreadVarLanguage.getLang())+"" + unitName + ","+ SystemEnv.getHtmlLabelName(500229, ThreadVarLanguage.getLang())+"" + unitName + ","+ SystemEnv.getHtmlLabelName(389746, ThreadVarLanguage.getLang())+"" + unitName + ","+ SystemEnv.getHtmlLabelName(389744, ThreadVarLanguage.getLang())+"" + unitName;
String[] fieldNameArr = fieldNameStr.split(",");
for (int i = 0; i < fieldNameArr.length; i++) {
cell = row.createCell((short) i);
cell.setCellStyle(cellStyle);
cell.setCellType(CellType.STRING);
cell.setCellValue(fieldNameArr[i]);
sheet.setColumnWidth((short) i, (short) (6 * 1000));
}
} else if (isTiaoXiu) {
String fieldNameStr = "ID("+ SystemEnv.getHtmlLabelName(10005349, ThreadVarLanguage.getLang())+"),"+ SystemEnv.getHtmlLabelName(714, ThreadVarLanguage.getLang())+"("+ SystemEnv.getHtmlLabelName(10005349, ThreadVarLanguage.getLang())+"),"+ SystemEnv.getHtmlLabelName(413, ThreadVarLanguage.getLang())+"("+ SystemEnv.getHtmlLabelName(10005349, ThreadVarLanguage.getLang())+"),"+ SystemEnv.getHtmlLabelName(15933, ThreadVarLanguage.getLang())+","+ SystemEnv.getHtmlLabelName(887, ThreadVarLanguage.getLang())+","+ SystemEnv.getHtmlLabelName(130286, ThreadVarLanguage.getLang())+","+ SystemEnv.getHtmlLabelName(26642, ThreadVarLanguage.getLang())+","+ SystemEnv.getHtmlLabelName(508169, ThreadVarLanguage.getLang())+","+ SystemEnv.getHtmlLabelName(19547, ThreadVarLanguage.getLang())+"";
String[] fieldNameArr = fieldNameStr.split(",");
for (int i = 0; i < fieldNameArr.length; i++) {
cell = row.createCell((short) i);
cell.setCellStyle(cellStyle);
cell.setCellType(CellType.STRING);
cell.setCellValue(fieldNameArr[i]);
sheet.setColumnWidth((short) i, (short) (6 * 1000));
}
} else {
String fieldNameStr = "ID("+ SystemEnv.getHtmlLabelName(10005349, ThreadVarLanguage.getLang())+"),"+ SystemEnv.getHtmlLabelName(714, ThreadVarLanguage.getLang())+"("+ SystemEnv.getHtmlLabelName(10005349, ThreadVarLanguage.getLang())+"),"+ SystemEnv.getHtmlLabelName(413, ThreadVarLanguage.getLang())+"("+ SystemEnv.getHtmlLabelName(10005349, ThreadVarLanguage.getLang())+")," + leaveName + ""+ SystemEnv.getHtmlLabelName(17638, ThreadVarLanguage.getLang())+"" + unitName + ","+ SystemEnv.getHtmlLabelName(130286, ThreadVarLanguage.getLang())+"" + leaveName + unitName + ","+ SystemEnv.getHtmlLabelName(26642, ThreadVarLanguage.getLang())+"" + leaveName + unitName;
String[] fieldNameArr = fieldNameStr.split(",");
for (int i = 0; i < fieldNameArr.length; i++) {
cell = row.createCell((short) i);
cell.setCellStyle(cellStyle);
cell.setCellType(CellType.STRING);
cell.setCellValue(fieldNameArr[i]);
sheet.setColumnWidth((short) i, (short) (6 * 1000));
}
}
String rightLevel = HrmUserVarify.getRightLevel("KQLeaveRulesEdit:Edit", user);
int departmentID = user.getUserDepartment();
int subcompanyID = user.getUserSubCompany1();
//是否开启了人力资源模块的管理分权
ManageDetachComInfo manageDetachComInfo = new ManageDetachComInfo();
boolean isUseHrmManageDetach = manageDetachComInfo.isUseHrmManageDetach();
/*插入模板数据*/
RecordSet recordSet = new RecordSet();
String sql = "select a.id,a.workCode,a.lastName,b.baseAmount,b.extraAmount,b.usedAmount,b.baseAmount2,b.extraAmount2,b.usedAmount2 " +
"from HrmResource a left join kq_balanceOfLeave b on a.id=b.resourceId " +
"and b.belongYear='" + belongYear + "' and b.leaveRulesId=" + leaveRulesId + " where a.status in (0,1,2,3) ";
if (isTiaoXiu) {
sql = "select a.id,a.workCode,a.lastName,'' as baseAmount,'' as extraAmount,'' as usedAmount,'' as baseAmount2,'' as extraAmount2,'' as usedAmount2 " +
" from HrmResource a where a.status in (0,1,2,3) ";
}
if (organizationType.equals("1")) {
sql += " and a.subCompanyId1 in (" + organizationIds + ") ";
} else if (organizationType.equals("2")) {
sql += " and a.departmentId in (" + organizationIds + ") ";
} else if (organizationType.equals("3")) {
sql += " and ("+ Tools.getOracleSQLIn(organizationIds,"a.id")+")";
}
if(!isUseHrmManageDetach){
if (rightLevel.equals("2")) {
// 总部级别的,什么也不返回
} else if (rightLevel.equals("1")) { // 分部级别的
sql += " and a.subCompanyId1=" + subcompanyID;
} else if (rightLevel.equals("0")) { // 部门级别
sql += " and a.departmentId=" + departmentID;
}
}
sql += " order by dspOrder,lastName ";
recordSet.executeQuery(sql);
cellStyle = workbook.createCellStyle();
font = workbook.createFont();
font.setFontName("宋体");
font.setFontHeightInPoints((short) 11);//设置字体大小
font.setColor((short) 55);
cellStyle.setFont(font);
format = workbook.createDataFormat();
cellStyle.setDataFormat(format.getFormat("@"));//@为文本占位符
HSSFCellStyle hssfCellStyle = workbook.createCellStyle();
font = workbook.createFont();
font.setFontName("宋体");
font.setFontHeightInPoints((short) 11);//设置字体大小
hssfCellStyle.setFont(font);
format = workbook.createDataFormat();
hssfCellStyle.setDataFormat(format.getFormat("@"));//@为文本占位符
rowIndex = 1;
while (recordSet.next()) {
int cellIndex = 0;
String id = recordSet.getString("id");
String lastName = recordSet.getString("lastName");
String workcode = recordSet.getString("workcode");
row = sheet.createRow(rowIndex++);
row.setHeightInPoints(13);
cell = row.createCell((short) cellIndex++);
cell.setCellStyle(cellStyle);
cell.setCellType(CellType.STRING);
cell.setCellValue(id);
cell = row.createCell((short) cellIndex++);
cell.setCellStyle(cellStyle);
cell.setCellType(CellType.STRING);
cell.setCellValue(Util.formatMultiLang(workcode, "7"));
cell = row.createCell((short) cellIndex++);
cell.setCellStyle(cellStyle);
cell.setCellType(CellType.STRING);
cell.setCellValue(Util.formatMultiLang(lastName, "7"));
if (isMixMode) {
String baseAmount = recordSet.getString("baseAmount");
String extraAmount = recordSet.getString("extraAmount");
String usedAmount = recordSet.getString("usedAmount");
String baseAmount2 = recordSet.getString("baseAmount2");
String extraAmount2 = recordSet.getString("extraAmount2");
String usedAmount2 = recordSet.getString("usedAmount2");
cell = row.createCell((short) cellIndex++);
cell.setCellType(CellType.STRING);
cell.setCellValue(baseAmount);
cell = row.createCell((short) cellIndex++);
cell.setCellType(CellType.STRING);
cell.setCellValue(extraAmount);
cell = row.createCell((short) cellIndex++);
cell.setCellType(CellType.STRING);
cell.setCellValue(usedAmount);
cell = row.createCell((short) cellIndex++);
cell.setCellType(CellType.STRING);
cell.setCellValue(baseAmount2);
cell = row.createCell((short) cellIndex++);
cell.setCellType(CellType.STRING);
cell.setCellValue(extraAmount2);
cell = row.createCell((short) cellIndex++);
cell.setCellType(CellType.STRING);
cell.setCellValue(usedAmount2);
} else if (isTiaoXiu) {
//调休的导入和其他假期类型的不太一样,调休的导入均为新增。
String belongMonth = "";
String totalAmount = "";
String usedAmount = "";
String effectiveDate = "";
String expirationDate = "";
cell = row.createCell((short) cellIndex++);
cell.setCellType(CellType.STRING);
cell.setCellStyle(hssfCellStyle);
cell.setCellValue(belongYear);
cell = row.createCell((short) cellIndex++);
cell.setCellType(CellType.STRING);
cell.setCellStyle(hssfCellStyle);
cell.setCellValue(belongMonth);
cell = row.createCell((short) cellIndex++);
cell.setCellType(CellType.STRING);
cell.setCellStyle(hssfCellStyle);
cell.setCellValue(totalAmount);
cell = row.createCell((short) cellIndex++);
cell.setCellType(CellType.STRING);
cell.setCellStyle(hssfCellStyle);
cell.setCellValue(usedAmount);
cell = row.createCell((short) cellIndex++);
cell.setCellType(CellType.STRING);
cell.setCellStyle(hssfCellStyle);
cell.setCellValue(effectiveDate);
cell = row.createCell((short) cellIndex++);
cell.setCellType(CellType.STRING);
cell.setCellStyle(hssfCellStyle);
cell.setCellValue(expirationDate);
} else {
String baseAmount = recordSet.getString("baseAmount");
String extraAmount = recordSet.getString("extraAmount");
String usedAmount = recordSet.getString("usedAmount");
cell = row.createCell((short) cellIndex++);
cell.setCellType(CellType.STRING);
cell.setCellValue(baseAmount);
cell = row.createCell((short) cellIndex++);
cell.setCellType(CellType.STRING);
cell.setCellValue(extraAmount);
cell = row.createCell((short) cellIndex++);
cell.setCellType(CellType.STRING);
cell.setCellValue(usedAmount);
}
}
String filePath = GCONST.getRootPath() + "hrm" + File.separator + "import" + File.separator + "templet" + File.separator + "KQBalanceOfLeave.xls";
FileOutputStream fileOut = new FileOutputStream(filePath);
workbook.write(fileOut);
fileOut.flush();
fileOut.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}

@ -1,6 +1,7 @@
package com.engine.jucailin.util;
import weaver.general.Util;
import weaver.hrm.company.DepartmentComInfo;
import java.util.Map;
@ -64,4 +65,59 @@ public class ListConversionMethod {
return data.get("cyclename");
}
/**
*
*
* @param languageId
* @return
*/
public String getCycledetailstate(String cyclestate, String languageId) {
String stateShow = "";
int language = Util.getIntValue(languageId, 7);
if (cyclestate.equals("0")) {
stateShow = "开账";
} else if (cyclestate.equals("1")) {
stateShow = "关账";
}
return stateShow;
}
/**
* check
*
* @param languageId
* @return
*/
public String getCheckValue(String value, String languageId) {
String stateShow = "";
int language = Util.getIntValue(languageId, 7);
if (value.equals("0")) {
stateShow = "否";
} else if (value.equals("1")) {
stateShow = "是";
}
return stateShow;
}
/**
*
*
* @param languageId
* @return
*/
public String getDepartMentName(String departMent, String languageId) {
String stateShow = "";
DepartmentComInfo departmentComInfo = new DepartmentComInfo();
int language = Util.getIntValue(languageId, 7);
return departmentComInfo.getDepartmentname(departMent);
}
/**
*
* @return
*/
public static String getCalendarNameById(String calendarId) {
String sql = "select calendar_name from kq_calendar_name where id="+calendarId;
Map<String,String> data = DbTools.getSqlToMap(sql);
return data.get("calendar_name");
}
}

@ -21,6 +21,8 @@ public class PageUidFactory {
return "01c6e218-5d4a-4826-9e4a-d123924d58ce";
}else if("KQCycleList".equals(param)){
return "c1dc1669-8a8d-4c4f-b80c-c9a3e2eaa0dc";
}else if("KQCycledetailList".equals(param)){
return "3ca1ab01-f670-4d39-8b81-86a7076c9458";
}else{
return "";
}

@ -137,7 +137,7 @@ public class ResponseResult<T, R> {
*/
private String Ok() throws JsonProcessingException {
Map<String, Object> apidatas = new HashMap<>();
apidatas.put("api_status", true);
apidatas.put("status", true);
String success = getJsonString(apidatas);
return success;
}
@ -148,7 +148,7 @@ public class ResponseResult<T, R> {
*/
private String Ok(R r) throws JsonProcessingException {
Map<String, Object> apidatas = new HashMap<>();
apidatas.put("api_status", true);
apidatas.put("status", true);
apidatas.put("data", r);
String success = getJsonString(apidatas);
if (isLog) {
@ -163,7 +163,7 @@ public class ResponseResult<T, R> {
*/
private static String Error(String message) {
Map<String, Object> apidatas = new HashMap<>();
apidatas.put("api_status", false);
apidatas.put("status", false);
apidatas.put("api_errormsg", message);
return JSONObject.toJSONString(apidatas, SerializerFeature.DisableCircularReferenceDetect);
}
@ -174,7 +174,7 @@ public class ResponseResult<T, R> {
*/
private static String Error(String message, Exception e) {
Map<String, Object> apidatas = new HashMap<>();
apidatas.put("api_status", false);
apidatas.put("status", false);
apidatas.put("api_errormsg", message);
apidatas.put("error", e.getMessage());
return JSONObject.toJSONString(apidatas, SerializerFeature.DisableCircularReferenceDetect);

@ -57,4 +57,19 @@ public class KQCalendarSettingAction {
Map<String,Object> param = ParamUtil.request2Map(request);
return new ResponseResult<Map<String, Object>, Map<String, Object>>(user).run(getKQCalendarSettingService(user) :: getCalendarSettingForm,param);
}
/**
*
* @param request
* @param response
* @return
*/
@GET
@Path("/getCalendarSettingTree")
@Produces(MediaType.APPLICATION_JSON)
public String getCalendarSettingTree(@Context HttpServletRequest request, @Context HttpServletResponse response) {
User user = HrmUserVarify.getUser(request, response);
Map<String,Object> param = ParamUtil.request2Map(request);
return new ResponseResult<Map<String, Object>, Map<String, Object>>(user).run(getKQCalendarSettingService(user) :: getCalendarSettingTree,param);
}
}

@ -1,10 +1,10 @@
package com.engine.jucailin.web;
import com.engine.common.util.ParamUtil;
import com.engine.common.util.ResponseResult;
import com.engine.common.util.ServiceUtil;
import com.engine.jucailin.service.KQCycleSettingService;
import com.engine.jucailin.service.impl.KQCycleSettingServiceImpl;
import com.engine.jucailin.util.ResponseResult;
import weaver.hrm.HrmUserVarify;
import weaver.hrm.User;
@ -96,4 +96,78 @@ public class KQCycleSettingAction {
return new ResponseResult<Map<String, Object>, Map<String, Object>>(user).run(getKQCycleSettingService(user) :: getCycleForm,param);
}
/**
*
* @param request
* @param response
* @return
*/
@GET
@Path("/getCycleSearchCondition")
@Produces(MediaType.APPLICATION_JSON)
public String getCycleSearchCondition(@Context HttpServletRequest request, @Context HttpServletResponse response) {
User user = HrmUserVarify.getUser(request, response);
Map<String,Object> param = ParamUtil.request2Map(request);
return new ResponseResult<Map<String, Object>, Map<String, Object>>(user).run(getKQCycleSettingService(user) :: getCycleSearchCondition,param);
}
/**
* 1
* @param request
* @param response
* @return
*/
@GET
@Path("/getCycledetailList")
@Produces(MediaType.APPLICATION_JSON)
public String getCycledetailList(@Context HttpServletRequest request, @Context HttpServletResponse response) {
User user = HrmUserVarify.getUser(request, response);
Map<String,Object> param = ParamUtil.request2Map(request);
return new ResponseResult<Map<String, Object>, Map<String, Object>>(user).run(getKQCycleSettingService(user) :: getCycledetailList,param);
}
/**
* 1
* @param request
* @param response
* @return
*/
@GET
@Path("/getCycledetailForm")
@Produces(MediaType.APPLICATION_JSON)
public String getCycledetailForm(@Context HttpServletRequest request, @Context HttpServletResponse response) {
User user = HrmUserVarify.getUser(request, response);
Map<String,Object> param = ParamUtil.request2Map(request);
return new ResponseResult<Map<String, Object>, Map<String, Object>>(user).run(getKQCycleSettingService(user) :: getCycledetailForm,param);
}
/**
*
* @param request
* @param response
* @return
*/
@GET
@Path("/closeBill")
@Produces(MediaType.APPLICATION_JSON)
public String closeBill(@Context HttpServletRequest request, @Context HttpServletResponse response) {
User user = HrmUserVarify.getUser(request, response);
Map<String,Object> param = ParamUtil.request2Map(request);
return new ResponseResult<Map<String, Object>, Map<String, Object>>(user).run(getKQCycleSettingService(user) :: closeBill,param);
}
/**
*
* @param request
* @param response
* @return
*/
@GET
@Path("/endBill")
@Produces(MediaType.APPLICATION_JSON)
public String endBill(@Context HttpServletRequest request, @Context HttpServletResponse response) {
User user = HrmUserVarify.getUser(request, response);
Map<String,Object> param = ParamUtil.request2Map(request);
return new ResponseResult<Map<String, Object>, Map<String, Object>>(user).run(getKQCycleSettingService(user) :: endBill,param);
}
}

@ -0,0 +1,282 @@
package com.engine.kq.biz;
import com.engine.kq.wfset.util.KQAttFlowCheckUtil;
import weaver.cache.CacheBase;
import weaver.cache.CacheColumn;
import weaver.cache.CacheColumnType;
import weaver.cache.PKColumn;
import weaver.general.Util;
import weaver.systeminfo.SystemEnv;
/**
*
*/
public class KQLeaveRulesComInfo extends CacheBase {
/**
*
*/
protected static String TABLE_NAME = "kq_leaveRules";
/**
* sqlwherewhere
*/
protected static String TABLE_WHERE = " (isDelete is null or isDelete !=1) ";
/**
* sqlorder byorder by
*/
protected static String TABLE_ORDER = " showOrder,id ";
/**
*
*/
@PKColumn(type = CacheColumnType.NUMBER)
protected static String PK_NAME = "id";
/**
*
*/
@CacheColumn(name = "leaveName")
protected static int leaveName;
/**
* 0-1-
*/
@CacheColumn(name = "isEnable")
protected static int isEnable;
/**
* 0-1-
*/
@CacheColumn(name = "scopeType")
protected static int scopeType;
/**
* ID(ID)
*/
@CacheColumn(name = "scopeValue")
protected static int scopeValue;
/**
*
* 1-
* 2-
* 3-
* 4-
*
*/
@CacheColumn(name = "minimumUnit")
protected static int minimumUnit;
/**
*
* XX=1
*/
@CacheColumn(name = "proportion")
protected static int proportion;
/**
* 1=XX
*/
@CacheColumn(name = "hoursToDay")
protected static int hoursToDay;
/**
* 0-1-2-3-
*/
@CacheColumn(name = "filterHolidays")
protected static int filterHolidays;
/**
*
* 1-
* 2-
*/
@CacheColumn(name = "computingMode")
protected static int computingMode;
/**
*
* 0-
* 1-
*/
@CacheColumn(name = "balanceEnable")
protected static int balanceEnable;
/**
*
*/
@CacheColumn(name = "leaveCode")
protected static int leaveCode;
/**
* 1- 2-
*/
@CacheColumn(name = "timeselection")
protected static int timeselection;
/**
* 1 2 3
*/
@CacheColumn(name = "conversion")
protected static int conversion;
public String getId(){
return (String)getRowValue(PK_INDEX);
}
public String getLeaveName() {
return (String)getRowValue(leaveName);
}
public String getLeaveName(String key){
return (String) getValue(leaveName,key);
}
public String getIsEnable() {
return (String)getRowValue(isEnable);
}
public String getIsEnable(String key){
return (String) getValue(isEnable,key);
}
public String getScopeType() {
return (String)getRowValue(scopeType);
}
public String getScopeType(String key){
return (String) getValue(scopeType,key);
}
public String getScopeValue() {
return (String)getRowValue(scopeValue);
}
public String getScopeValue(String key){
return (String) getValue(scopeValue,key);
}
public String getMinimumUnit() {
return (String)getRowValue(minimumUnit);
}
public String getMinimumUnit(String key){
return (String)getValue(minimumUnit,key);
}
public String getProportion() {
return (String)getRowValue(proportion);
}
public String getProportion(String key){
return (String)getValue(proportion,key);
}
public String getHoursToDay() {
return (String)getRowValue(hoursToDay);
}
public String getHoursToDay(String key){
return (String)getValue(hoursToDay,key);
}
public String getFilterHolidays() {
return (String)getRowValue(filterHolidays);
}
public String getFilterHolidays(String key){
return (String)getValue(filterHolidays,key);
}
public String getComputingMode() {
return (String)getRowValue(computingMode);
}
public String getComputingMode(String key){
return (String)getValue(computingMode,key);
}
public String getBalanceEnable() {
return (String)getRowValue(balanceEnable);
}
public String getBalanceEnable(String key){
return (String)getValue(balanceEnable,key);
}
public String getLeaveCode() {
return (String)getRowValue(leaveCode);
}
public String getLeaveCode(String key){
return (String)getValue(leaveCode,key);
}
public String getTimeSelection() {
String value = (String) getRowValue(timeselection);
if (value == null || value.equals("")) {
value = "1";
}
return value;
}
public String getTimeSelection(String key) {
String value = (String) getValue(timeselection, key);
if (value == null || value.equals("")) {
value = "1";
}
return value;
}
public String getConversion() {
return (String)getRowValue(conversion);
}
public String getConversion(String key){
return (String)getValue(conversion,key);
}
public String getUnitName(int language){
String unitName = "";//单位名称,天/小时
int minimumUnit = Util.getIntValue(getMinimumUnit(),1);
if (minimumUnit == 1 || minimumUnit == 2 || minimumUnit == 4) {
unitName = SystemEnv.getHtmlLabelName(389325, language);//(天)
} else {
unitName = SystemEnv.getHtmlLabelName(389326, language);//(小时)
}
return unitName;
}
public String getUnitName(String key,int language){
String unitName = "";//单位名称,天/小时
int minimumUnit = Util.getIntValue(getMinimumUnit(key),1);
if (minimumUnit == 1 || minimumUnit == 2 || minimumUnit == 4) {
unitName = SystemEnv.getHtmlLabelName(389325, language);//(天)
} else {
unitName = SystemEnv.getHtmlLabelName(389326, language);//(小时)
}
// KQTransMethod method = new KQTransMethod();
// unitName = "("+method.getMinimumUnitName4Browser(""+minimumUnit, ""+language)+")";
return unitName;
}
public String getUnitNameNew(String key,int language){
String unitName = "";//单位名称,天/小时
int minimumUnit = Util.getIntValue(getMinimumUnit(key),1);
if (minimumUnit == 1 || minimumUnit == 2 || minimumUnit == 4) {
unitName = SystemEnv.getHtmlLabelName(389325, language);//(天)
} else {
unitName = SystemEnv.getHtmlLabelName(389326, language);//(小时)
}
return unitName;
}
@Override
public void removeCache() {
super.removeCache();
KQAttFlowCheckUtil kqAttFlowCheckUtil = new KQAttFlowCheckUtil();
kqAttFlowCheckUtil.initLeaveUnit();
}
}

@ -0,0 +1,125 @@
package com.engine.kq.jucailin.cmd.calendar.holidaySet;
import com.engine.common.biz.AbstractCommonCommand;
import com.engine.common.biz.SimpleBizLogger;
import com.engine.common.constant.BizLogSmallType4Hrm;
import com.engine.common.constant.BizLogType;
import com.engine.common.entity.BizLogContext;
import com.engine.core.interceptor.CommandContext;
import weaver.conn.RecordSet;
import weaver.general.Util;
import weaver.hrm.HrmUserVarify;
import weaver.hrm.User;
import weaver.systeminfo.SystemEnv;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @Author: sy
* @Description: --
* @Date: 2024/2/28
**/
public class DeleteHolidaySetWithCalendarSetCmd extends AbstractCommonCommand<Map<String, Object>> {
private SimpleBizLogger logger;
public DeleteHolidaySetWithCalendarSetCmd(Map<String, Object> params, User user) {
this.user = user;
this.params = params;
this.logger = new SimpleBizLogger();
String ids = Util.null2String(params.get("ids"));//需要删除的Id
BizLogContext bizLogContext = new BizLogContext();
bizLogContext.setLogType(BizLogType.HRM_ENGINE);//模块类型
bizLogContext.setBelongType(BizLogSmallType4Hrm.HRM_ENGINE_KQ_HOLIDAYSET);//所属大类型
bizLogContext.setLogSmallType(BizLogSmallType4Hrm.HRM_ENGINE_KQ_HOLIDAYSET);//当前小类型
bizLogContext.setParams(params);//当前request请求参数
logger.setUser(user);//当前操作人
String mainSql = "select * from kq_HolidaySet where id in (" + ids + ")";
logger.setMainSql(mainSql, "id");//主表sql
logger.setMainPrimarykey("id");//主日志表唯一key
logger.setMainTargetNameMethod("com.engine.kq.util.KQTransMethod.getTargetName4HolidaySet","column:calendarId+column:holidayDate+"+user.getLanguage());//当前targetName对应的列对应日志中的对象名
logger.before(bizLogContext);
}
@Override
public BizLogContext getLogContext() {
return null;
}
@Override
public List<BizLogContext> getLogContexts() {
return logger.getBizLogContexts();
}
@Override
public Map<String, Object> execute(CommandContext commandContext) {
Map<String, Object> resultMap = new HashMap<String, Object>();
String ids = Util.null2String(params.get("ids"));//需要删除的Id
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
Map<String, Object> map = new HashMap<String, Object>();
try {
boolean canDelete = HrmUserVarify.checkUserRight("KQHolidaySetDelete:Delete", user);
if (!canDelete) {
resultMap.put("status", "-1");
resultMap.put("message", SystemEnv.getHtmlLabelName(2012, user.getLanguage()));
return resultMap;
}
/*预先加载删除了哪些考勤组的哪些日期的节假日设置*/
String formateSql = "select * from kq_HolidaySet where id in (" + ids + ")";
RecordSet recordSet = new RecordSet();
recordSet.executeQuery(formateSql);
while (recordSet.next()) {
String calendarId = recordSet.getString("calendarId");//日历设置的ID取自kq_calendar_name中id
String holidayDate = recordSet.getString("holidayDate");
map = new HashMap<String, Object>();
map.put("calendarId", calendarId);
map.put("holidayDate", holidayDate);
list.add(map);
}
/*删除节假日设置*/
String sql = "delete from kq_HolidaySet where id in (" + ids + ")";
boolean flag = recordSet.executeUpdate(sql);
if (flag) {
resultMap.put("sign", "1");
resultMap.put("message", SystemEnv.getHtmlLabelName(20461, user.getLanguage()));//删除成功
} else {
resultMap.put("sign", "-1");
resultMap.put("message", SystemEnv.getHtmlLabelName(20462, user.getLanguage()));//删除失败
}
} catch (Exception e) {
resultMap.put("status", "-1");
resultMap.put("message", SystemEnv.getHtmlLabelName(382661, user.getLanguage()));//发生未知错误,请与管理员联系
writeLog(e);
} finally {
// /*刷新缓存*/
// KQHolidaySetComInfo holidaySetComInfo = new KQHolidaySetComInfo();
// holidaySetComInfo.removeCache();
//
// /*刷新报表*/
// List<String> groupIdList = new ArrayList<String>();
// List<String> holidayDateList = new ArrayList<String>();
// for (int i = 0; i < list.size(); i++) {
// map = list.get(i);
// String groupId = (String) map.get("groupId");
// String holidayDate = (String) map.get("holidayDate");
// if(!groupIdList.contains(groupId)){
// groupIdList.add(groupId);
// }
// if(!holidayDateList.contains(holidayDate)){
// holidayDateList.add(holidayDate);
// }
// }
// new KQHolidaySetThread(groupIdList,holidayDateList).start();
}
return resultMap;
}
}

@ -0,0 +1,120 @@
package com.engine.kq.service.impl;
import com.engine.core.impl.Service;
import com.engine.kq.cmd.holidaySet.*;
import com.engine.jucailin.cmd.calendar.holidaySet.*;
import com.engine.kq.jucailin.cmd.calendar.holidaySet.DeleteHolidaySetWithCalendarSetCmd;
import com.engine.kq.service.KQHolidaySetService;
import weaver.hrm.User;
import javax.servlet.http.HttpServletRequest;
import java.util.Map;
/**
*
*/
public class KQHolidaySetServiceImpl extends Service implements KQHolidaySetService {
@Override
public Map<String, Object> getRightMenu(Map<String, Object> params, User user) {
// return commandExecutor.execute(new GetRightMenuCmd(params, user));
//用日历设置替换考勤组
return commandExecutor.execute(new GetRightMenuWithCalendarSetCmd(params, user));
}
@Override
public Map<String, Object> getSearchCondition(Map<String, Object> params, User user) {
return commandExecutor.execute(new GetSearchConditionCmd(params, user));
}
@Override
public Map<String, Object> getSearchList(Map<String, Object> params, User user) {
// return commandExecutor.execute(new GetSearchListCmd(params, user));
//用日历设置替换考勤组
return commandExecutor.execute(new GetSearchListWithCalendarSetCmd(params, user));
}
@Override
public Map<String, Object> getHolidaySetCalendar(Map<String, Object> params, User user) {
// return commandExecutor.execute(new GetHolidaySetCalendarCmd(params, user));
//用日历设置替换考勤组
return commandExecutor.execute(new GetHolidaySetCalendarWithCalendarSetCmd(params, user));
}
@Override
public Map<String, Object> getHolidaySetForm(Map<String, Object> params, User user) {
// return commandExecutor.execute(new GetHolidaySetFormCmd(params, user));
//用日历设置替换考勤组
return commandExecutor.execute(new GetHolidaySetFormWithCalendarSetCmd(params, user));
}
@Override
public Map<String, Object> addHolidaySet(Map<String, Object> params, User user) {
// return commandExecutor.execute(new AddHolidaySetCmd(params, user));
//用日历设置替换考勤组
return commandExecutor.execute(new AddHolidaySetWithCalendarSetCmd(params, user));
}
@Override
public Map<String, Object> editHolidaySet(Map<String, Object> params, User user) {
// return commandExecutor.execute(new EditHolidaySetCmd(params, user));
//用日历设置替换考勤组
return commandExecutor.execute(new EditHolidaySetWithCalendarSetCmd(params, user));
}
@Override
public Map<String, Object> deleteHolidaySet(Map<String, Object> params, User user) {
// return commandExecutor.execute(new DeleteHolidaySetCmd(params, user));
//用日历设置替换考勤组
return commandExecutor.execute(new DeleteHolidaySetWithCalendarSetCmd(params, user));
}
@Override
public Map<String, Object> getHolidayCount(Map<String, Object> params, User user) {
// return commandExecutor.execute(new GetHolidayCountCmd(params, user));
//用日历设置替换考勤组
return commandExecutor.execute(new GetHolidayCountWithCalendarSetCmd(params, user));
}
@Override
public Map<String, Object> getImportForm(Map<String, Object> params, User user) {
// return commandExecutor.execute(new GetImportFormCmd(params, user));
//用日历设置替换考勤组
return commandExecutor.execute(new GetImportFormWithCalendarSetCmd(params, user));
}
@Override
public Map<String, Object> saveImport(Map<String, Object> params, HttpServletRequest request, User user) {
// return commandExecutor.execute(new SaveImportCmd(params, request, user));
//用日历设置替换考勤组
return commandExecutor.execute(new SaveImportWithCalendarSetCmd(params, request, user));
}
@Override
public Map<String, Object> initHolidaySet(Map<String, Object> params, User user) {
// return commandExecutor.execute(new InitHolidaySetCmd(params, user));
//用日历设置替换考勤组
return commandExecutor.execute(new InitHolidaySetWithCalendarSetCmd(params, user));
}
@Override
public Map<String, Object> hasRepeactData(Map<String, Object> params, User user) {
// return commandExecutor.execute(new HasRepeatDataCmd(params, user));
//用日历设置替换考勤组
return commandExecutor.execute(new HasRepeatDataWithCalendarSetCmd(params, user));
}
@Override
public Map<String, Object> getSyncForm(Map<String, Object> params, User user) {
// return commandExecutor.execute(new GetSyncFormCmd(params, user));
//用日历设置替换考勤组
return commandExecutor.execute(new GetSyncFormWithCalendarSetCmd(params, user));
}
@Override
public Map<String, Object> syncHolidaySet(Map<String, Object> params, User user) {
// return commandExecutor.execute(new SyncHolidaySetCmd(params, user));
//用日历设置替换考勤组
return commandExecutor.execute(new SyncHolidaySetWithCalendarSetCmd(params, user));
}
}

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

Loading…
Cancel
Save