zm_dev
liuliang 1 year ago
parent 8251489d62
commit 135112a840

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="dataSourceStorageLocal" created-in="IU-212.4746.92">
<data-source name="Oracle - @192.168.0.106" uuid="ade958e9-d72b-48ba-8be1-0441de7da9a5">
<database-info product="Oracle" version="Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production&#10;With the Partitioning, OLAP, Data Mining and Real Application Testing options" jdbc-version="4.3" driver-name="Oracle JDBC driver" driver-version="21.5.0.0.0" dbms="ORACLE" exact-version="11.2.0.4.0" exact-driver-version="21.5">
<extra-name-characters>$#</extra-name-characters>
<identifier-quote-string>&quot;</identifier-quote-string>
</database-info>
<case-sensitivity plain-identifiers="upper" quoted-identifiers="exact" />
<secret-storage>master_key</secret-storage>
<user-name>hrm_test</user-name>
<schema-mapping>
<introspection-scope>
<node kind="schema">
<name qname="@" />
<name qname="PUBLIC" />
</node>
</introspection-scope>
</schema-mapping>
</data-source>
</component>
</project>

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="DataSourceManagerImpl" format="xml" multifile-model="true">
<data-source source="LOCAL" name="Oracle - @192.168.0.106" uuid="ade958e9-d72b-48ba-8be1-0441de7da9a5">
<driver-ref>oracle.19</driver-ref>
<synchronize>true</synchronize>
<auto-commit>false</auto-commit>
<jdbc-driver>oracle.jdbc.OracleDriver</jdbc-driver>
<jdbc-url>jdbc:oracle:thin:@192.168.0.106:1521:ecology</jdbc-url>
<working-dir>$ProjectFileDir$</working-dir>
</data-source>
</component>
</project>

File diff suppressed because it is too large Load Diff

@ -0,0 +1 @@
<EFBFBD>黿<EFBFBD>z<EFBFBD>W跿<EFBFBD>[<EFBFBD>p<EFBFBD>l缿<EFBFBD>x<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>

@ -0,0 +1,2 @@
#n:HRM_TEST
!<md> [1709049810000, 0, null, null, -2147483648, -2147483648]

@ -0,0 +1,2 @@
#n:PUBLIC
!<md> [1709049847000, 0, null, null, -2147483648, -2147483648]

@ -0,0 +1,2 @@
#n:SYS
!<md> [null, 0, null, null, -2147483648, -2147483648]

@ -0,0 +1,2 @@
#n:SYSTEM
!<md> [null, 0, null, null, -2147483648, -2147483648]

@ -13,20 +13,16 @@
<orderEntry type="module-library"> <orderEntry type="module-library">
<library> <library>
<CLASSES> <CLASSES>
<root url="file://$MODULE_DIR$/../../../weaver/ecology/WEB-INF/lib" /> <root url="file://$MODULE_DIR$/../../../weaver/ecology/classbean" />
</CLASSES> </CLASSES>
<JAVADOC /> <JAVADOC />
<SOURCES> <SOURCES />
<root url="file://$MODULE_DIR$/../../../weaver/ecology/WEB-INF/lib" />
</SOURCES>
<jarDirectory url="file://$MODULE_DIR$/../../../weaver/ecology/WEB-INF/lib" recursive="false" />
<jarDirectory url="file://$MODULE_DIR$/../../../weaver/ecology/WEB-INF/lib" recursive="false" type="SOURCES" />
</library> </library>
</orderEntry> </orderEntry>
<orderEntry type="module-library"> <orderEntry type="module-library">
<library> <library>
<CLASSES> <CLASSES>
<root url="file://$MODULE_DIR$/../../../weaver/ecology/classbean" /> <root url="jar://$MODULE_DIR$/../../easymock-4.2.jar!/" />
</CLASSES> </CLASSES>
<JAVADOC /> <JAVADOC />
<SOURCES /> <SOURCES />
@ -35,10 +31,14 @@
<orderEntry type="module-library"> <orderEntry type="module-library">
<library> <library>
<CLASSES> <CLASSES>
<root url="jar://$MODULE_DIR$/../../easymock-4.2.jar!/" /> <root url="file://$MODULE_DIR$/../../上海考勤产品/WEB-INF/lib" />
</CLASSES> </CLASSES>
<JAVADOC /> <JAVADOC />
<SOURCES /> <SOURCES>
<root url="file://$MODULE_DIR$/../../上海考勤产品/WEB-INF/lib" />
</SOURCES>
<jarDirectory url="file://$MODULE_DIR$/../../上海考勤产品/WEB-INF/lib" recursive="false" />
<jarDirectory url="file://$MODULE_DIR$/../../上海考勤产品/WEB-INF/lib" recursive="false" type="SOURCES" />
</library> </library>
</orderEntry> </orderEntry>
</component> </component>

@ -0,0 +1,4 @@
GET http://hrm/kq/jucailin/persongroup
###

@ -10,88 +10,71 @@
</component> </component>
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="baeb3dfb-5097-46c5-933e-6d1dab18b815" name="Changes" comment=""> <list default="true" id="baeb3dfb-5097-46c5-933e-6d1dab18b815" name="Changes" comment="">
<change afterPath="$PROJECT_DIR$/src/com/api/attendance/component/calendarscheduling/WorkRulesControllerApi.java" afterDir="false" /> <change afterPath="$PROJECT_DIR$/.idea/dataSources.xml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/item/ForGetClockItemCmd.java" afterDir="false" /> <change afterPath="$PROJECT_DIR$/src/com/api/attendance/jucailin/KQPersonGroupActionApi.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/com/engine/attendance/component/calendarscheduling/service/WorkRulesService.java" afterDir="false" /> <change afterPath="$PROJECT_DIR$/src/com/engine/common/util/genid/DefaultWorker.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/com/engine/attendance/component/calendarscheduling/service/impl/WorkRulesServiceImpl.java" afterDir="false" /> <change afterPath="$PROJECT_DIR$/src/com/engine/common/util/genid/IdGenerator.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/com/engine/attendance/component/calendarscheduling/web/WorkRulesController.java" afterDir="false" /> <change afterPath="$PROJECT_DIR$/src/com/engine/common/util/genid/SnowflakeId.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/com/engine/attendance/enums/PersonGroupListTypeEnum.java" afterDir="false" /> <change afterPath="$PROJECT_DIR$/src/com/engine/common/util/genid/Worker.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/com/engine/attendance/enums/RegularScheduleTypeEnum.java" afterDir="false" /> <change afterPath="$PROJECT_DIR$/src/com/engine/jucailin/enums/FieldHtmlTypeEnum.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/com/engine/attendance/vacation/README.md" afterDir="false" /> <change afterPath="$PROJECT_DIR$/src/com/engine/jucailin/service/KQCalendarSettingService.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/com/engine/common/util/ExceptionUtil.java" afterDir="false" /> <change afterPath="$PROJECT_DIR$/src/com/engine/jucailin/service/impl/KQPersonGroupServiceImpl.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/test/calendarscheduling/Testmain.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 beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" /> <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/log/sdk.log" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/out/artifacts/hrm_attendance/hrm-attendance.jar" beforeDir="false" afterPath="$PROJECT_DIR$/out/artifacts/hrm_attendance/hrm-attendance.jar" afterDir="false" /> <change beforePath="$PROJECT_DIR$/out/artifacts/hrm_attendance/hrm-attendance.jar" beforeDir="false" afterPath="$PROJECT_DIR$/out/artifacts/hrm_attendance/hrm-attendance.jar" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/api/attendance/persongroup/PersonGroupActionApi.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/api/attendance/component/persongroup/PersonGroupActionApi.java" 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/api/attendance/persongroup/SchedulingResultsActionApi.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/api/attendance/component/persongroup/SchedulingResultsActionApi.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/GetClockInPointCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/GetClockInPointCmd.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/GetClockInTimeItemCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/GetClockInTimeItemCmd.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/UpdateAttendanceResultsCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/UpdateAttendanceResultsCmd.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/recordDataCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/RecordDataCmd.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/service/ForgetClockInService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/service/ForgetClockInService.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/service/impl/ForgetClockInServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/service/impl/ForgetClockInServiceImpl.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/service/impl/UtilServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/service/impl/UtilServiceImpl.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/web/AttendanceanalysisAction.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/web/AttendanceanalysisAction.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/wrapper/AttendanceAnalysisWrapper.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/wrapper/AttendanceAnalysisWrapper.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceplan/cmd/GetAttendanceItemsByPersonDataCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/attendanceplan/cmd/GetAttendanceItemsByPersonDataCmd.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/component/README.md" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/component/README.md" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/cmd/GetDatatableCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/cmd/GetDatatableCmd.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/cmd/GetDatatableCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/cmd/GetDatatableCmd.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/cmd/GetDatatableCountCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/cmd/GetDatatableCountCmd.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/service/impl/PersonGroupServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/service/impl/PersonGroupServiceImpl.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/cmd/GetDatatableRecurrenceCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/cmd/GetDatatableRecurrenceCmd.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/com/engine/attendance/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/component/persongroup/commonutil/PersongroupCommonUtil.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/commonutil/PersongroupCommonUtil.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/com/engine/attendance/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/component/persongroup/job/scheduling/SchedulingJob.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/job/scheduling/SchedulingJob.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/com/engine/attendance/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/engine/attendance/component/persongroup/job/scheduling/tactics/DayRegularScheduling.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/job/scheduling/tactics/DayRegularScheduling.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/job/scheduling/tactics/MonthRegularScheduling.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/job/scheduling/tactics/MonthRegularScheduling.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/job/scheduling/tactics/WeekRegularScheduling.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/job/scheduling/tactics/WeekRegularScheduling.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/job/scheduling/tactics/YearRegularScheduling.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/job/scheduling/tactics/YearRegularScheduling.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/common/cmd/GetDateCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/common/cmd/GetDateCmd.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/common/exception/SalaryRunTimeException.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/common/exception/AttendanceRunTimeException.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/common/util/ResponseResult.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/common/util/ResponseResult.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/com/engine/common/util/ResponseResult.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/common/util/ResponseResult.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/common/util/Utils.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/common/util/Utils.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/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/api/attendance/persongroup/PersonGroupActionApi.class" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/api/attendance/persongroup/SchedulingResultsActionApi.class" beforeDir="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/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/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/UpdateAttendanceResultsCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/UpdateAttendanceResultsCmd.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/recordDataCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/recordDataCmd.class" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/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/service/ForgetClockInService.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/service/ForgetClockInService.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/service/impl/AbnormalAttendanceServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/service/impl/AbnormalAttendanceServiceImpl.class" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/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/service/impl/ForgetClockInServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/service/impl/ForgetClockInServiceImpl.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/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/service/impl/WorkOverTimeServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/service/impl/WorkOverTimeServiceImpl.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/web/AttendanceanalysisAction.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/web/AttendanceanalysisAction.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/wrapper/AttendanceAnalysisWrapper$1.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/wrapper/AttendanceAnalysisWrapper$1.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/wrapper/AttendanceAnalysisWrapper$2.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/wrapper/AttendanceAnalysisWrapper$2.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/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/AttendanceAnalysisWrapper.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/wrapper/AttendanceAnalysisWrapper.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/wrapper/UpdateAttendanceResultWrapper.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/wrapper/UpdateAttendanceResultWrapper.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceplan/cmd/GetAttendanceItemsByPersonDataCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceplan/cmd/GetAttendanceItemsByPersonDataCmd.class" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceplan/cmd/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/cmd/GetDatatableCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/persongroup/cmd/GetDatatableCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/persongroup/cmd/GetDatatableCountCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/persongroup/cmd/GetDatatableCountCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/persongroup/cmd/GetDatatableRecurrenceCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/persongroup/cmd/GetDatatableRecurrenceCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/persongroup/commonutil/PersongroupCommonUtil.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/persongroup/commonutil/PersongroupCommonUtil.class" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/persongroup/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/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/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/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/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/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/enums/ClassSegmentTypeEnum.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/enums/ClassSegmentTypeEnum.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/enums/WorkForTimeEnum.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/enums/WorkForTimeEnum.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/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/common/cmd/GetDateCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/common/cmd/GetDateCmd.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/common/exception/SalaryRunTimeException.class" beforeDir="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$/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/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$1.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/common/util/Utils$1.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/common/util/Utils$2.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/common/util/Utils$2.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/common/util/Utils$3.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/common/util/Utils$3.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/common/util/Utils.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/common/util/Utils.class" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/common/util/Utils.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/common/util/Utils.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/test-classes/TestGetClockInPoint$5.class" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/target/test-classes/TestGetClockInPoint$6.class" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/target/test-classes/TestGetClockInPoint.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/test-classes/TestGetClockInPoint.class" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/test-classes/TestGetClockInPoint.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/test-classes/TestGetClockInPoint.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/test-classes/TestObj$1.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/test-classes/TestObj$1.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" afterPath="$PROJECT_DIR$/target/test-classes/TestObj$2.class" afterDir="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" afterPath="$PROJECT_DIR$/target/test-classes/TestObj$3.class" afterDir="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$/target/test-classes/TestObj.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/test-classes/TestObj.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/test/TestGetClockInPoint.java" beforeDir="false" afterPath="$PROJECT_DIR$/test/TestGetClockInPoint.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/test/TestObj.java" beforeDir="false" afterPath="$PROJECT_DIR$/test/TestObj.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/test/TestObj.java" beforeDir="false" afterPath="$PROJECT_DIR$/test/TestObj.java" afterDir="false" />
</list> </list>
<option name="SHOW_DIALOG" value="false" /> <option name="SHOW_DIALOG" value="false" />
@ -127,39 +110,47 @@
<option name="showVisibilityIcons" value="true" /> <option name="showVisibilityIcons" value="true" />
</component> </component>
<component name="PropertiesComponent"> <component name="PropertiesComponent">
<property name="DatabaseDriversLRU" value="oracle" />
<property name="RunOnceActivity.OpenProjectViewOnStart" value="true" /> <property name="RunOnceActivity.OpenProjectViewOnStart" value="true" />
<property name="RunOnceActivity.ShowReadmeOnStart" value="true" /> <property name="RunOnceActivity.ShowReadmeOnStart" value="true" />
<property name="SHARE_PROJECT_CONFIGURATION_FILES" value="true" /> <property name="SHARE_PROJECT_CONFIGURATION_FILES" value="true" />
<property name="ToolWindowRun.ShowToolbar" value="false" /> <property name="ToolWindowRun.ShowToolbar" value="false" />
<property name="WebServerToolWindowFactoryState" value="false" /> <property name="WebServerToolWindowFactoryState" value="false" />
<property name="com.intellij.ide.scratch.ScratchImplUtil$2/New Scratch File" value="PLAIN_TEXT" /> <property name="com.intellij.ide.scratch.ScratchImplUtil$2/New Scratch File" value="PLAIN_TEXT" />
<property name="last_opened_file_path" value="$PROJECT_DIR$/src/com/api/attendance/component/calendarscheduling" /> <property name="last_opened_file_path" value="$PROJECT_DIR$/../../../project" />
<property name="nodejs_package_manager_path" value="npm" /> <property name="nodejs_package_manager_path" value="npm" />
<property name="project.structure.last.edited" value="Artifacts" /> <property name="project.structure.last.edited" value="Modules" />
<property name="project.structure.proportion" value="0.0" /> <property name="project.structure.proportion" value="0.15" />
<property name="project.structure.side.proportion" value="0.14124292" /> <property name="project.structure.side.proportion" value="0.14124292" />
<property name="settings.editor.selected.configurable" value="preferences.pluginManager" /> <property name="settings.editor.selected.configurable" value="preferences.pluginManager" />
</component> </component>
<component name="RecentsManager"> <component name="RecentsManager">
<key name="CopyFile.RECENT_KEYS"> <key name="CopyFile.RECENT_KEYS">
<recent name="D:\项目备份\考勤\hrm-attendance\src\com\api\attendance\component\calendarscheduling" /> <recent name="D:\项目备份\考勤\hrm-attendance\src\com\engine\jucailin\util" />
<recent name="D:\项目备份\考勤\hrm-attendance\src\com\engine\attendance\component\calendarscheduling" /> <recent name="D:\项目备份\考勤\hrm-attendance\src\com\engine\jucailin\cmd" />
<recent name="D:\项目备份\考勤\hrm-attendance\src\com\engine\attendance\vacation" /> <recent name="D:\项目备份\考勤\hrm-attendance\src\com\engine\jucailin\service\impl" />
<recent name="D:\项目备份\考勤\hrm-attendance\src\weaver\formmode\customjavacode\modeexpand" /> <recent name="D:\项目备份\考勤\hrm-attendance\src\com\engine\jucailin\service" />
<recent name="D:\项目备份\考勤\hrm-attendance\src\com\engine\attendance\component" /> <recent name="D:\项目备份\考勤\hrm-attendance\src\com\engine\jucailin\web" />
</key> </key>
<key name="CopyClassDialog.RECENTS_KEY"> <key name="CopyClassDialog.RECENTS_KEY">
<recent name="com.engine.common.util" /> <recent name="com.engine.jucailin.cmd.personGroup" />
<recent name="com.api.attendance.vocation" /> <recent name="com.engine.jucailin.cmd.calendar" />
<recent name="com.engine.attendance.vacation.web" /> <recent name="com.engine.jucailin.cmd.cycle" />
<recent name="com.engine.attendance.enums" /> <recent name="com.engine.jucailin.util" />
<recent name="com.api.attendance.attendanceAnalysis" /> <recent name="com.engine.jucailin.enums" />
</key> </key>
</component> </component>
<component name="RunManager" selected="Application.Testmain"> <component name="RunManager" selected="Application.TestObj">
<configuration name="TestByIntervalPayMentWay" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true"> <configuration name="TestMain" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
<option name="MAIN_CLASS_NAME" value="TestByIntervalPayMentWay" /> <option name="MAIN_CLASS_NAME" value="shuju.TestMain" />
<module name="hrm-attendance" /> <module name="hrm-attendance" />
<shortenClasspath name="MANIFEST" />
<extension name="coverage">
<pattern>
<option name="PATTERN" value="shuju.*" />
<option name="ENABLED" value="true" />
</pattern>
</extension>
<method v="2"> <method v="2">
<option name="Make" enabled="true" /> <option name="Make" enabled="true" />
</method> </method>
@ -167,13 +158,7 @@
<configuration name="TestObj" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true"> <configuration name="TestObj" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
<option name="MAIN_CLASS_NAME" value="TestObj" /> <option name="MAIN_CLASS_NAME" value="TestObj" />
<module name="hrm-attendance" /> <module name="hrm-attendance" />
<method v="2"> <shortenClasspath name="MANIFEST" />
<option name="Make" enabled="true" />
</method>
</configuration>
<configuration name="TestOneTimePayMentWay" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
<option name="MAIN_CLASS_NAME" value="TestOneTimePayMentWay" />
<module name="hrm-attendance" />
<method v="2"> <method v="2">
<option name="Make" enabled="true" /> <option name="Make" enabled="true" />
</method> </method>
@ -198,13 +183,22 @@
<option name="Make" enabled="true" /> <option name="Make" enabled="true" />
</method> </method>
</configuration> </configuration>
<configuration default="true" type="Application" factoryName="Application">
<shortenClasspath name="MANIFEST" />
<method v="2">
<option name="Make" enabled="true" />
</method>
</configuration>
<configuration name="generated-requests#1" type="HttpClient.HttpRequestRunConfigurationType" factoryName="HTTP Request" temporary="true" path="$APPLICATION_CONFIG_DIR$/scratches/generated-requests.http" runType="Run single request">
<method v="2" />
</configuration>
<recent_temporary> <recent_temporary>
<list> <list>
<item itemvalue="Application.Testmain" />
<item itemvalue="Application.TestObj" /> <item itemvalue="Application.TestObj" />
<item itemvalue="Application.TestMain" />
<item itemvalue="HTTP Request.generated-requests#1" />
<item itemvalue="Application.Testmain" />
<item itemvalue="Application.TestSinglePaymentFullWay" /> <item itemvalue="Application.TestSinglePaymentFullWay" />
<item itemvalue="Application.TestOneTimePayMentWay" />
<item itemvalue="Application.TestByIntervalPayMentWay" />
</list> </list>
</recent_temporary> </recent_temporary>
</component> </component>
@ -464,7 +458,48 @@
<workItem from="1705667466243" duration="1146000" /> <workItem from="1705667466243" duration="1146000" />
<workItem from="1705816217403" duration="1886000" /> <workItem from="1705816217403" duration="1886000" />
<workItem from="1705887116206" duration="29639000" /> <workItem from="1705887116206" duration="29639000" />
<workItem from="1705973725825" duration="26570000" /> <workItem from="1705973725825" duration="27499000" />
<workItem from="1706014202135" duration="380000" />
<workItem from="1706061099169" duration="13865000" />
<workItem from="1706144788773" duration="692000" />
<workItem from="1706166983296" duration="2199000" />
<workItem from="1706184350145" duration="1149000" />
<workItem from="1706497331334" duration="2907000" />
<workItem from="1706507182461" duration="6688000" />
<workItem from="1706516273211" duration="5208000" />
<workItem from="1706576552487" duration="8559000" />
<workItem from="1706681697750" duration="6494000" />
<workItem from="1706690789466" duration="2792000" />
<workItem from="1706842340855" duration="3137000" />
<workItem from="1706863688648" duration="133000" />
<workItem from="1707018131330" duration="638000" />
<workItem from="1707025574105" duration="608000" />
<workItem from="1707029537643" duration="4683000" />
<workItem from="1707096626876" duration="7090000" />
<workItem from="1707184390760" duration="1202000" />
<workItem from="1707202158129" duration="3801000" />
<workItem from="1708230615975" duration="9173000" />
<workItem from="1708305562993" duration="16934000" />
<workItem from="1708343724931" duration="3164000" />
<workItem from="1708393114658" duration="15759000" />
<workItem from="1708435379385" duration="3506000" />
<workItem from="1708481253866" duration="11483000" />
<workItem from="1708520200102" duration="1380000" />
<workItem from="1708524842014" duration="2879000" />
<workItem from="1708566211526" duration="8710000" />
<workItem from="1708601853292" duration="1825000" />
<workItem from="1708652227316" duration="1557000" />
<workItem from="1708669459480" duration="1574000" />
<workItem from="1708920958475" duration="39000" />
<workItem from="1708921010479" duration="9365000" />
<workItem from="1708949551375" duration="2639000" />
<workItem from="1708952270403" duration="3303000" />
<workItem from="1708997755084" duration="1693000" />
<workItem from="1709001150545" duration="10237000" />
<workItem from="1709034853130" duration="245000" />
<workItem from="1709035306210" duration="27000" />
<workItem from="1709085586029" duration="19632000" />
<workItem from="1709169508213" duration="1065000" />
</task> </task>
<servers /> <servers />
</component> </component>

File diff suppressed because it is too large Load Diff

@ -0,0 +1,17 @@
package com.api.attendance.jucailin;
import com.engine.jucailin.web.KQCalendarSettingAction;
import lombok.extern.slf4j.Slf4j;
import javax.ws.rs.Path;
/**
* @Author: sy
* @Description:
* @Date: 2024/2/27
**/
@Path("/hrm/kq/jucailin/calendarsetting")
@Slf4j
public class KQCalendarSettingActionApi extends KQCalendarSettingAction {
}

@ -0,0 +1,12 @@
package com.api.attendance.jucailin;
import com.engine.jucailin.web.KQCommonAction;
import lombok.extern.slf4j.Slf4j;
import javax.ws.rs.Path;
@Path("/hrm/kq/jucailin/common")
@Slf4j
public class KQCommonActionApi extends KQCommonAction {
}

@ -0,0 +1,12 @@
package com.api.attendance.jucailin;
import com.engine.jucailin.web.KQCycleSettingAction;
import lombok.extern.slf4j.Slf4j;
import javax.ws.rs.Path;
@Path("/hrm/kq/jucailin/cyclesetting")
@Slf4j
public class KQCycleSettingActionApi extends KQCycleSettingAction {
}

@ -0,0 +1,12 @@
package com.api.attendance.jucailin;
import com.engine.jucailin.web.KQPersonGroupAction;
import lombok.extern.slf4j.Slf4j;
import javax.ws.rs.Path;
@Path("/hrm/kq/jucailin/persongroup")
@Slf4j
public class KQPersonGroupActionApi extends KQPersonGroupAction {
}

@ -369,8 +369,8 @@ public class WorkOverTimeServiceImpl extends Service implements WorkOverTimeServ
} }
} }
if (CheckBoxEnum.CHECKED.getKey().equals(jbscbdccsqsc)){ if (CheckBoxEnum.CHECKED.getKey().equals(jbscbdccsqsc)){
if (jbsc > Integer.valueOf(Util.null2String(scheduleMap.get("jbsc")))*60){ if (jbsc > Double.valueOf(Util.null2String(scheduleMap.get("edxss")))*60){
jbsc = Integer.valueOf(Util.null2String(scheduleMap.get("jbsc")))*60; jbsc = Double.valueOf(Util.null2String(scheduleMap.get("edxss")))*60;
} }
} }
log.info("最终加班时长: {}",jbsc); log.info("最终加班时长: {}",jbsc);

@ -73,7 +73,7 @@ public class GetDatatableCmd extends AbstractCommonCommand<Map<String,Object>> {
String dbType = rs.getDBType(); String dbType = rs.getDBType();
if ("oracle".equals(dbType) || "dm".equals(dbType) || "jc".equals(dbType) || "st".equals(dbType)){ if ("oracle".equals(dbType) || "dm".equals(dbType) || "jc".equals(dbType) || "st".equals(dbType)){
sql = "select row_number() over(order by id asc) rownum ,id from "+tableName +" where pbtj=0 "; sql = "select row_number() over(order by id asc) rownum ,id from "+tableName +" where 1=1 ";
sql = sql+conditions; sql = sql+conditions;
sql = "select top 1 a.id from ( "+sql+" ) a where a.rownum>"+startindex; sql = "select top 1 a.id from ( "+sql+" ) a where a.rownum>"+startindex;
@ -86,7 +86,7 @@ public class GetDatatableCmd extends AbstractCommonCommand<Map<String,Object>> {
resultMap.put("data",dataTable); resultMap.put("data",dataTable);
}else if ("sqlserver".equals(dbType)){ }else if ("sqlserver".equals(dbType)){
sql = "select row_number() over(order by id asc) rownum ,id from "+tableName +" where pbtj=0 "; sql = "select row_number() over(order by id asc) rownum ,id from "+tableName +" where 1=1 ";
sql = sql+conditions; sql = sql+conditions;
sql = "select top 1 a.id from ( "+sql+" ) a where a.rownum>"+startindex; sql = "select top 1 a.id from ( "+sql+" ) a where a.rownum>"+startindex;

@ -85,12 +85,12 @@ public class PersonGroupServiceImpl extends Service implements PersonGroupServic
List<Map<String,String>> dataList = Utils.resolveList_Map(data); List<Map<String,String>> dataList = Utils.resolveList_Map(data);
//清空原有数据 //清空原有数据
String sql = "delete from "+tableName+" where modeid=? and dataid =?"; String sql = "delete from kq_groupmember where modeid=? and dataid =?";
RecordSet rs = new RecordSet(); RecordSet rs = new RecordSet();
boolean updateResult = DbTools.update(rs,sql,modeId,billId); boolean updateResult = DbTools.update(rs,sql,modeId,billId);
List<List> addLists = new ArrayList<>(); List<List> addLists = new ArrayList<>();
log.info("updateResult : {}",updateResult); log.info("updateResult : {}",updateResult);
String insertSql = "insert into "+tableName+" (dxlx,dx,aqjb,modeid,dataid) values (?,?,?,?,?)"; String insertSql = "insert into kq_groupmember (dxlx,dx,aqjb,modeid,dataid) values (?,?,?,?,?)";
if (updateResult){ if (updateResult){
dataList.forEach(e->{ dataList.forEach(e->{
ArrayList<Object> list = new ArrayList<>(); ArrayList<Object> list = new ArrayList<>();

@ -42,7 +42,7 @@ public class ByIntervalPayMentWay implements HolidayGenerationWay{
//额度有效期间单位 //额度有效期间单位
String edyxq = Util.null2String(vocationList.get(0).get("edyxq")); String edyxq = Util.null2String(vocationList.get(0).get("edyxq"));
//累计承认工龄月份数栏位值 //累计承认工龄月份数栏位值
String ljcrglyfslwz = Util.null2String(vocationList.get(0).get("ljcrglyfslwzValue")); String ljcrglyfslwz = Util.null2String(vocationList.get(0).get("ljcrglyfslwzValue")).equals("")?"0":Util.null2String(vocationList.get(0).get("ljcrglyfslwzValue"));
//依据字段 //依据字段
String yjzd = Util.null2String(vocationList.get(0).get("yjzdValue")); String yjzd = Util.null2String(vocationList.get(0).get("yjzdValue"));
//调整起算日期策略 //调整起算日期策略
@ -66,6 +66,9 @@ public class ByIntervalPayMentWay implements HolidayGenerationWay{
//首次获得额度控制生效日期 //首次获得额度控制生效日期
String schdedkzsxrq = Util.null2String(vocationList.get(0).get("schdedkzsxrq")); String schdedkzsxrq = Util.null2String(vocationList.get(0).get("schdedkzsxrq"));
if ("".equals(qsrq)){
return Maps.newHashMap();
}
qsrq = VocationCommonUtil.getAfterAdjustTime(qsrq, dzqsrq, fgrq); qsrq = VocationCommonUtil.getAfterAdjustTime(qsrq, dzqsrq, fgrq);
for (Map<String, Object> vocationMap : vocationList) { for (Map<String, Object> vocationMap : vocationList) {
vocationMap.put("qsrqValue", qsrq); vocationMap.put("qsrqValue", qsrq);

@ -44,7 +44,7 @@ public class BySchedulePaymentWay implements HolidayGenerationWay{
//额度有效期间单位 //额度有效期间单位
String edyxq = Util.null2String(vocationList.get(0).get("edyxq")); String edyxq = Util.null2String(vocationList.get(0).get("edyxq"));
//累计承认工龄月份数栏位值 //累计承认工龄月份数栏位值
String ljcrglyfslwz= Util.null2String(vocationList.get(0).get("ljcrglyfslwzValue")); String ljcrglyfslwz= Util.null2String(vocationList.get(0).get("ljcrglyfslwzValue")).equals("")?"0":Util.null2String(vocationList.get(0).get("ljcrglyfslwzValue"));
//依据字段 //依据字段
String yjzd= Util.null2String(vocationList.get(0).get("yjzdValue")); String yjzd= Util.null2String(vocationList.get(0).get("yjzdValue"));
//调整起算日期策略 //调整起算日期策略
@ -68,6 +68,9 @@ public class BySchedulePaymentWay implements HolidayGenerationWay{
//首次获得额度控制生效日期 //首次获得额度控制生效日期
String schdedkzsxrq = Util.null2String(vocationList.get(0).get("schdedkzsxrq")); String schdedkzsxrq = Util.null2String(vocationList.get(0).get("schdedkzsxrq"));
if ("".equals(qsrq)){
return Maps.newHashMap();
}
qsrq = VocationCommonUtil.getAfterAdjustTime(qsrq,dzqsrq,fgrq); qsrq = VocationCommonUtil.getAfterAdjustTime(qsrq,dzqsrq,fgrq);
for (Map<String, Object> vocationMap : vocationList) { for (Map<String, Object> vocationMap : vocationList) {
vocationMap.put("qsrqValue", qsrq); vocationMap.put("qsrqValue", qsrq);

@ -47,7 +47,7 @@ public class SinglePaymentInFullWay implements HolidayGenerationWay {
//额度有效期间单位 //额度有效期间单位
String edyxq = Util.null2String(vocationList.get(0).get("edyxq")); String edyxq = Util.null2String(vocationList.get(0).get("edyxq"));
//累计承认工龄月份数栏位值 //累计承认工龄月份数栏位值
String ljcrglyfslwz = Util.null2String(vocationList.get(0).get("ljcrglyfslwzValue")); String ljcrglyfslwz = Util.null2String(vocationList.get(0).get("ljcrglyfslwzValue")).equals("")?"0":Util.null2String(vocationList.get(0).get("ljcrglyfslwzValue"));
//依据字段 //依据字段
String yjzd = Util.null2String(vocationList.get(0).get("yjzdValue")); String yjzd = Util.null2String(vocationList.get(0).get("yjzdValue"));
//调整起算日期策略 //调整起算日期策略
@ -71,6 +71,9 @@ public class SinglePaymentInFullWay implements HolidayGenerationWay {
//首次获得额度控制生效日期 //首次获得额度控制生效日期
String schdedkzsxrq = Util.null2String(vocationList.get(0).get("schdedkzsxrq")); String schdedkzsxrq = Util.null2String(vocationList.get(0).get("schdedkzsxrq"));
if ("".equals(qsrq)){
return Maps.newHashMap();
}
if (!"1".equals(isOneTime)){ if (!"1".equals(isOneTime)){
qsrq = VocationCommonUtil.getAfterAdjustTime(qsrq, dzqsrq, fgrq); qsrq = VocationCommonUtil.getAfterAdjustTime(qsrq, dzqsrq, fgrq);
for (Map<String, Object> vocationMap : vocationList) { for (Map<String, Object> vocationMap : vocationList) {
@ -94,8 +97,8 @@ public class SinglePaymentInFullWay implements HolidayGenerationWay {
Map<String, Object> insertHoliDayParam = VocationCommonUtil.getInsertHoliDayParam(vocationList.get(0), userId, qsrq, releaseDate); Map<String, Object> insertHoliDayParam = VocationCommonUtil.getInsertHoliDayParam(vocationList.get(0), userId, qsrq, releaseDate);
// List<Map<String,Object>> dataList = VocationCommonUtil.ifexist("uf_jcl_kq_jqye", insertHoliDayParam); List<Map<String,Object>> dataList = VocationCommonUtil.ifexist("uf_jcl_kq_jqye", insertHoliDayParam);
List<Map<String,Object>> dataList = new ArrayList<>(); // List<Map<String,Object>> dataList = new ArrayList<>();
//已存在数据且不覆盖 //已存在数据且不覆盖
if (dataList.size()>0 && !"1".equals(cover)) { if (dataList.size()>0 && !"1".equals(cover)) {

@ -126,8 +126,8 @@ public class ResponseResult<T, R> {
private static String getJsonString(Object apidatas) throws JsonProcessingException { private static String getJsonString(Object apidatas) throws JsonProcessingException {
ObjectMapper mapper = new ObjectMapper(); // ObjectMapper mapper = new ObjectMapper();
return mapper.writeValueAsString(apidatas); return JSONObject.toJSONString(apidatas);
} }
/** /**

@ -0,0 +1,52 @@
package com.engine.common.util.genid;
import java.net.Inet4Address;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.util.Enumeration;
import java.util.Random;
public class DefaultWorker implements Worker{
private Random random = new Random();
public DefaultWorker() {
}
public long getWorkerId() {
int max = 100000;
int min = 10000;
int s = this.random.nextInt(max) % (max - min + 1) + min;
String ip = this.getHostIp();
long workerId = 0L;
if (ip != null) {
String str = ip.replaceAll("\\.", "") + s;
workerId = Long.parseLong(str);
workerId %= 1024L;
}
return workerId;
}
private String getHostIp() {
try {
Enumeration<NetworkInterface> allNetInterfaces = NetworkInterface.getNetworkInterfaces();
while(allNetInterfaces.hasMoreElements()) {
NetworkInterface netInterface = (NetworkInterface)allNetInterfaces.nextElement();
Enumeration<InetAddress> addresses = netInterface.getInetAddresses();
while(addresses.hasMoreElements()) {
InetAddress ip = (InetAddress)addresses.nextElement();
if (ip != null && ip instanceof Inet4Address
&& !ip.isLoopbackAddress() && ip.getHostAddress().indexOf(":") == -1) {
return ip.getHostAddress();
}
}
}
} catch (Exception var5) {
var5.printStackTrace();
}
return "127.0.0.1";
}
}

@ -0,0 +1,12 @@
package com.engine.common.util.genid;
/**
* id
*/
public class IdGenerator {
public static long generate() {
SnowflakeId snowflakeId = new SnowflakeId();
return snowflakeId.get();
}
}

@ -0,0 +1,93 @@
package com.engine.common.util.genid;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class SnowflakeId {
private static final Logger logger = LoggerFactory.getLogger(SnowflakeId.class);
private Worker worker;
private long startTime = this._curSecond();
private long time;
private long segment = 0L;
private long workerId = this.getWorker().getWorkerId();
private long sequence = 0L;
private static final long segmentBits = 9L;
private static final long workerIdBits = 10L;
private static final long sequenceBits = 13L;
private static final long timestampShift = 32L;
private static final long segmentShift = 23L;
private static final long workerIdShift = 13L;
private static final long sequenceMask = 8191L;
private static final long maxSegment = 511L;
private long twepoch = 1483200000L;
private long _counter = 0L;
public SnowflakeId() {
this.time = this.startTime - this.twepoch;
}
public Worker getWorker() {
return (Worker)(this.worker == null ? new DefaultWorker() : this.worker);
}
public void setWorker(Worker worker) {
this.worker = worker;
}
public synchronized long get() {
long id = this.getNextId();
this.testSpeedLimit();
return id;
}
public synchronized long[] getRangeId(int sizeOfIds) {
long[] r = new long[]{this.getNextId(), 0L};
this.sequence = this.sequence + (long)sizeOfIds - 1L - 1L;
this._counter = this._counter + (long)sizeOfIds - 1L - 1L;
if (this.sequence >> 13 > 0L) {
this.sequence &= 8191L;
if (this.segment >= 511L) {
++this.time;
this.segment = 0L;
} else {
++this.segment;
}
}
r[1] = this.getNextId();
this.testSpeedLimit();
return r;
}
private long getNextId() {
++this.sequence;
++this._counter;
if (this.sequence >> 13 > 0L) {
if (this.segment >= 511L) {
++this.time;
} else {
this.sequence = 0L;
++this.segment;
}
}
return this.time << 32 | this.segment << 23 | this.workerId << 13 | this.sequence;
}
private long _curSecond() {
return System.currentTimeMillis() / 1000L;
}
private synchronized void testSpeedLimit() {
long spentTime = this._curSecond() - this.startTime + 1L;
if (spentTime <= 0L || spentTime << 22 <= this._counter) {
try {
this.wait(10L);
this.testSpeedLimit();
} catch (Exception var4) {
logger.error(var4.getMessage(), var4);
}
}
}
}

@ -0,0 +1,5 @@
package com.engine.common.util.genid;
public interface Worker {
long getWorkerId();
}

@ -0,0 +1,132 @@
package com.engine.jucailin.cmd.calendar;
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;
/**
* @Author: sy
* @Description:
* @Date: 2024/2/27
**/
public class GetCalendarSettingFormCmd extends AbstractCommonCommand<Map<String, Object>> {
public GetCalendarSettingFormCmd(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_calendar_name where id=?",billid);
if (dateMap.size() > 0) {
hasFieldvalue = true;
}
}
HrmFieldBean hrmFieldBean = null;
hrmFieldBean = new HrmFieldBean();
hrmFieldBean.setFieldname("affiliation");//所属机构
hrmFieldBean.setFieldlabel("17868");
hrmFieldBean.setFieldhtmltype(FieldHtmlTypeEnum.BROWSER.getKey());
hrmFieldBean.setType("164");
hrmFieldBean.setIsFormField(true);
hrmFieldBean.setViewAttr(3);
hrmFieldBean.setFieldvalue(hasFieldvalue ? Util.null2String(dateMap.get("affiliation")) : "");
searchConditionItem = hrmFieldSearchConditionComInfo.getSearchConditionItem(hrmFieldBean, user);
searchConditionItem.setOptions(optionsList);
searchConditionItem.setRules("required|string");
itemList.add(searchConditionItem);
hrmFieldBean = new HrmFieldBean();
hrmFieldBean.setFieldname("calendar_name");//日历名称
hrmFieldBean.setFieldlabel("531231");
hrmFieldBean.setFieldhtmltype(FieldHtmlTypeEnum.CHECKBOX.getKey());
hrmFieldBean.setType("1");
hrmFieldBean.setIsFormField(true);
hrmFieldBean.setViewAttr(3);
hrmFieldBean.setFieldvalue(hasFieldvalue ? Util.null2String(dateMap.get("calendar_name")) : "");
searchConditionItem = hrmFieldSearchConditionComInfo.getSearchConditionItem(hrmFieldBean, user);
searchConditionItem.setOptions(optionsList);
searchConditionItem.setRules("required|string");
itemList.add(searchConditionItem);
hrmFieldBean = new HrmFieldBean();
hrmFieldBean.setFieldname("default_calendar");//默认日历
hrmFieldBean.setFieldlabel("546298");
hrmFieldBean.setFieldhtmltype(FieldHtmlTypeEnum.INPUT.getKey());
hrmFieldBean.setType("1");
hrmFieldBean.setIsFormField(true);
hrmFieldBean.setViewAttr(2);
hrmFieldBean.setFieldvalue(hasFieldvalue ? Util.null2String(dateMap.get("default_calendar")) : "");
searchConditionItem = hrmFieldSearchConditionComInfo.getSearchConditionItem(hrmFieldBean, user);
searchConditionItem.setOptions(optionsList);
searchConditionItem.setRules("");
itemList.add(searchConditionItem);
hrmFieldBean = new HrmFieldBean();
hrmFieldBean.setFieldname("attendance_organization");//适用范围
hrmFieldBean.setFieldlabel("511548");
hrmFieldBean.setFieldhtmltype(FieldHtmlTypeEnum.TEXTAREA.getKey());
hrmFieldBean.setType("1");
hrmFieldBean.setIsFormField(true);
hrmFieldBean.setViewAttr(2);
hrmFieldBean.setFieldvalue(hasFieldvalue ? Util.null2String(dateMap.get("attendance_organization")) : "");
searchConditionItem = hrmFieldSearchConditionComInfo.getSearchConditionItem(hrmFieldBean, user);
searchConditionItem.setOptions(optionsList);
//searchConditionItem.setRules("required|string");
itemList.add(searchConditionItem);
hrmFieldBean = new HrmFieldBean();
hrmFieldBean.setFieldname("calendar_desc");//日历说明
hrmFieldBean.setFieldlabel("546299");
hrmFieldBean.setFieldvalue(hasFieldvalue ? Util.null2String(dateMap.get("calendar_desc")) : "");
hrmFieldBean.setFieldhtmltype(FieldHtmlTypeEnum.TEXTAREA.getKey());
hrmFieldBean.setType("1");
hrmFieldBean.setIsFormField(true);
hrmFieldBean.setViewAttr(2);
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,88 @@
package com.engine.jucailin.cmd.calendar;
import com.cloudstore.eccom.constant.WeaBoolAttr;
import com.cloudstore.eccom.pc.table.WeaTable;
import com.cloudstore.eccom.pc.table.WeaTableColumn;
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 weaver.general.PageIdConst;
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/27
**/
public class GetCalendarSettingListCmd extends AbstractCommonCommand<Map<String, Object>> {
public GetCalendarSettingListCmd(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 backFields = "a.id,a.calendar_name,a.default_calendar,a.calendar_desc";
String sqlFrom = " kq_calendar_name a";
String sqlWhere = " (a.delete_type is null or a.delete_type <> '1') ";
String orderby = " id ";
String tableString = "";
String pageId = PageUidFactory.getHrmPageUid("KQCalendarSettingList");
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());
//主要用于 显示定制列以及 表格 每页展示记录数选择
// 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("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(546299, user.getLanguage()), "calendar_desc"));//日历说明
}};
}
//
}

@ -0,0 +1,42 @@
package com.engine.jucailin.cmd.common;
import com.engine.common.biz.AbstractCommonCommand;
import com.engine.common.entity.BizLogContext;
import com.engine.core.interceptor.CommandContext;
import com.engine.jucailin.util.DateUtil;
import com.engine.jucailin.util.DbTools;
import com.google.common.collect.Maps;
import lombok.extern.slf4j.Slf4j;
import weaver.general.Util;
import weaver.hrm.User;
import java.util.Map;
@Slf4j
public class DeleteDataCommonCmd extends AbstractCommonCommand<Map<String, Object>> {
public DeleteDataCommonCmd(Map<String, Object> params, User user){
this.params=params;
this.user=user;
}
@Override
public BizLogContext getLogContext() {
return null;
}
@Override
public Map<String, Object> execute(CommandContext commandContext) {
Map<String,Object> resultMap = Maps.newHashMap();
String tableNames = Util.null2String(params.get("tableName"));
String billids = Util.null2String(params.get("billids"));
String deleteType = Util.null2String(params.get("deleteType"));
if ("".equals(deleteType)){
deleteType = "delete_type";
}
String sql = "update "+tableNames +" set "+deleteType+"=1, update_time=? where id in ("+billids+")";
log.info("DeleteDataCommonCmd sql : [{}]",sql);
resultMap.put("result", DbTools.update(sql,DateUtil.getCurrentTime()));
return resultMap;
}
}

@ -0,0 +1,68 @@
package com.engine.jucailin.cmd.common;
import com.engine.common.biz.AbstractCommonCommand;
import com.engine.common.entity.BizLogContext;
import com.engine.core.interceptor.CommandContext;
import com.engine.jucailin.genid.IdGenerator;
import com.engine.jucailin.util.CommonUtil;
import com.engine.jucailin.util.DbTools;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import weaver.general.Util;
import weaver.hrm.User;
import java.util.List;
import java.util.Map;
public class InsertDataCommonCmd extends AbstractCommonCommand<Map<String, Object>> {
public InsertDataCommonCmd(Map<String, Object> params, User user){
this.params=params;
this.user=user;
}
@Override
public BizLogContext getLogContext() {
return null;
}
@Override
public Map<String, Object> execute(CommandContext commandContext) {
String tableName = Util.null2String(params.get("tableName"));
Map<String,Object> dataMap = (Map<String,Object>)params.get("data");
Map<String,Object> mainMap = Maps.newHashMap();
Map<String,List<Map<String,Object>>> detailMap = Maps.newHashMap();
for (Map.Entry<String, Object> entry: dataMap.entrySet()){
String key = entry.getKey();
if (key.startsWith("dt") && entry.getValue() instanceof List){
detailMap.put(key,(List<Map<String,Object>>)entry.getValue());
}else {
mainMap.put(entry.getKey(),entry.getValue());
}
}
long mainid = IdGenerator.generate();
mainMap.put("id",mainid);
Map<String,Object> resultMap = Maps.newHashMap();
for (Map.Entry<String,List<Map<String,Object>>> detail: detailMap.entrySet()){
String detailTableName = tableName+"_"+detail.getKey();
List<Map<String,Object>> dataList = detail.getValue();
if (dataList.size() > 0){
List<Long> billids = Lists.newArrayList();
for (Map<String,Object> data : dataList){
long detailId = IdGenerator.generate();
data.put("id",detailId);
data.put("mainid",mainid);
billids.add(detailId);
CommonUtil.fillSaveData(data,user);
}
if (!CommonUtil.insertBatch(dataList,detailTableName)){
resultMap.put(detailTableName,"fail");
}
}
}
if (!DbTools.update(CommonUtil.makeInsertSql(tableName,mainMap,user))){
resultMap.put(tableName,"fail");
}
return resultMap;
}
}

@ -0,0 +1,41 @@
package com.engine.jucailin.cmd.common;
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 com.google.common.collect.Maps;
import weaver.general.Util;
import weaver.hrm.User;
import java.util.Map;
public class QueryDataCommonCmd extends AbstractCommonCommand<Map<String, Object>> {
public QueryDataCommonCmd(Map<String, Object> params, User user){
this.params=params;
this.user=user;
}
@Override
public BizLogContext getLogContext() {
return null;
}
@Override
public Map<String, Object> execute(CommandContext commandContext) {
String tableNames = Util.null2String(params.get("tableNames"));
String billid = Util.null2String(params.get("billid"));
Map<String,Object> resultMap = Maps.newHashMap();
for (String tableName :tableNames.split(",")){
String sql = "select * from "+tableName+" where 1=1";
if (tableName.contains("_dt")){
sql += " and mainid="+billid;
}else {
sql += " and id="+billid;
}
resultMap.put(tableName, DbTools.getSqlToList(sql));
}
return resultMap;
}
}

@ -0,0 +1,73 @@
package com.engine.jucailin.cmd.common;
import com.engine.common.biz.AbstractCommonCommand;
import com.engine.common.entity.BizLogContext;
import com.engine.core.interceptor.CommandContext;
import com.engine.jucailin.genid.IdGenerator;
import com.engine.jucailin.util.CommonUtil;
import com.engine.jucailin.util.DbTools;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import weaver.general.Util;
import weaver.hrm.User;
import java.util.List;
import java.util.Map;
public class UpdateDataCommonCmd extends AbstractCommonCommand<Map<String, Object>> {
public UpdateDataCommonCmd(Map<String, Object> params, User user){
this.params=params;
this.user=user;
}
@Override
public BizLogContext getLogContext() {
return null;
}
@Override
public Map<String, Object> execute(CommandContext commandContext) {
String tableName = Util.null2String(params.get("tableName"));
Map<String,Object> dataMap = (Map<String,Object>)params.get("data");
String billid = Util.null2String(params.get("billid"));
Map<String, List<Map<String,Object>>> detailMap = Maps.newHashMap();
Map<String,Object> mainMap = Maps.newHashMap();
for (Map.Entry<String, Object> entry: dataMap.entrySet()){
String key = entry.getKey();
if (key.startsWith("dt") && entry.getValue() instanceof List){
detailMap.put(key,(List<Map<String,Object>>)entry.getValue());
}else {
mainMap.put(entry.getKey(),entry.getValue());
}
}
Map<String,Object> conditionMap = Maps.newHashMap();
conditionMap.put("id",billid);
Map<String,Object> resultMap = Maps.newHashMap();
if (!DbTools.update(CommonUtil.makeUpdateSql(tableName,mainMap,conditionMap))){
resultMap.put(tableName,"fail");
}
for (Map.Entry<String,List<Map<String,Object>>> detail: detailMap.entrySet()){
String detailTableName = tableName+"_"+detail.getKey();
List<Map<String,Object>> dataList = detail.getValue();
List<String> resultList = Lists.newArrayList();
for (Map<String,Object> data : dataList){
String id = Util.null2String(data.get("dtid"));
data.remove("dtid");
conditionMap.put("mainid",billid);
if (id.equals("")){
conditionMap.put("id", IdGenerator.generate());
}else {
conditionMap.put("id",Long.valueOf(id));
}
if (!DbTools.update(CommonUtil.makeUpdateSql(detailTableName,data,conditionMap))){
resultList.add(conditionMap.get("id").toString());
}
}
if (resultList.size() > 0){
resultMap.put(detailTableName,resultList);
}
}
return resultMap;
}
}

@ -0,0 +1,186 @@
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 weaver.hrm.User;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class GetCycleFormCmd extends AbstractCommonCommand<Map<String, Object>> {
public GetCycleFormCmd(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;
HrmFieldBean hrmFieldBean = null;
hrmFieldBean = new HrmFieldBean();
hrmFieldBean.setFieldname("organzation");//所属机构
hrmFieldBean.setFieldlabel("17868");
hrmFieldBean.setFieldhtmltype(FieldHtmlTypeEnum.BROWSER.getKey());
hrmFieldBean.setType("164");
hrmFieldBean.setIsFormField(true);
hrmFieldBean.setViewAttr(3);
searchConditionItem = hrmFieldSearchConditionComInfo.getSearchConditionItem(hrmFieldBean, user);
searchConditionItem.setOptions(optionsList);
searchConditionItem.setRules("required|string");
itemList.add(searchConditionItem);
hrmFieldBean = new HrmFieldBean();
hrmFieldBean.setFieldname("cyclename");//周期名称
hrmFieldBean.setFieldlabel("388722");
hrmFieldBean.setFieldhtmltype(FieldHtmlTypeEnum.INPUT.getKey());
hrmFieldBean.setType("1");
hrmFieldBean.setIsFormField(true);
hrmFieldBean.setViewAttr(3);
searchConditionItem = hrmFieldSearchConditionComInfo.getSearchConditionItem(hrmFieldBean, user);
searchConditionItem.setOptions(optionsList);
searchConditionItem.setRules("required|string");
itemList.add(searchConditionItem);
hrmFieldBean = new HrmFieldBean();
hrmFieldBean.setFieldname("attendcycle");//考勤周期
hrmFieldBean.setFieldlabel("15386");
hrmFieldBean.setFieldhtmltype(FieldHtmlTypeEnum.INPUT.getKey());
hrmFieldBean.setType("1");
hrmFieldBean.setIsFormField(true);
hrmFieldBean.setViewAttr(3);
searchConditionItem = hrmFieldSearchConditionComInfo.getSearchConditionItem(hrmFieldBean, user);
searchConditionItem.setOptions(optionsList);
searchConditionItem.setRules("required|string");
itemList.add(searchConditionItem);
hrmFieldBean = new HrmFieldBean();
hrmFieldBean.setFieldname("yearly");//年度
hrmFieldBean.setFieldlabel("17138");
hrmFieldBean.setFieldhtmltype(FieldHtmlTypeEnum.INPUT.getKey());
hrmFieldBean.setType("1");
hrmFieldBean.setIsFormField(true);
hrmFieldBean.setViewAttr(3);
searchConditionItem = hrmFieldSearchConditionComInfo.getSearchConditionItem(hrmFieldBean, user);
searchConditionItem.setOptions(optionsList);
searchConditionItem.setRules("required|string");
itemList.add(searchConditionItem);
hrmFieldBean = new HrmFieldBean();
hrmFieldBean.setFieldname("months");//月份
hrmFieldBean.setFieldlabel("887");
hrmFieldBean.setFieldhtmltype(FieldHtmlTypeEnum.INPUT.getKey());
hrmFieldBean.setType("1");
hrmFieldBean.setIsFormField(true);
hrmFieldBean.setViewAttr(3);
searchConditionItem = hrmFieldSearchConditionComInfo.getSearchConditionItem(hrmFieldBean, user);
searchConditionItem.setOptions(optionsList);
searchConditionItem.setRules("required|string");
itemList.add(searchConditionItem);
hrmFieldBean = new HrmFieldBean();
hrmFieldBean.setFieldname("startdate");// 开始日期
hrmFieldBean.setFieldlabel("85");
hrmFieldBean.setFieldhtmltype(FieldHtmlTypeEnum.BROWSER.getKey());
hrmFieldBean.setType("2");
hrmFieldBean.setIsFormField(true);
hrmFieldBean.setViewAttr(3);
searchConditionItem = hrmFieldSearchConditionComInfo.getSearchConditionItem(hrmFieldBean, user);
searchConditionItem.setOptions(optionsList);
searchConditionItem.setRules("required|string");
itemList.add(searchConditionItem);
hrmFieldBean = new HrmFieldBean();
hrmFieldBean.setFieldname("enddate");// 结束日期
hrmFieldBean.setFieldlabel("1323");
hrmFieldBean.setFieldhtmltype(FieldHtmlTypeEnum.BROWSER.getKey());
hrmFieldBean.setType("2");
hrmFieldBean.setIsFormField(true);
hrmFieldBean.setViewAttr(3);
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);
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");
itemList.add(searchConditionItem);
hrmFieldBean = new HrmFieldBean();
hrmFieldBean.setFieldname("closedate");// 关账日期
hrmFieldBean.setFieldlabel("85");
hrmFieldBean.setFieldhtmltype(FieldHtmlTypeEnum.BROWSER.getKey());
hrmFieldBean.setType("2");
hrmFieldBean.setIsFormField(true);
hrmFieldBean.setViewAttr(3);
searchConditionItem = hrmFieldSearchConditionComInfo.getSearchConditionItem(hrmFieldBean, user);
searchConditionItem.setOptions(optionsList);
searchConditionItem.setRules("required|string");
itemList.add(searchConditionItem);
hrmFieldBean = new HrmFieldBean();
hrmFieldBean.setFieldname("closetime");// 关账时间
hrmFieldBean.setFieldlabel("85");
hrmFieldBean.setFieldhtmltype(FieldHtmlTypeEnum.BROWSER.getKey());
hrmFieldBean.setType("19");
hrmFieldBean.setIsFormField(true);
hrmFieldBean.setViewAttr(3);
searchConditionItem = hrmFieldSearchConditionComInfo.getSearchConditionItem(hrmFieldBean, user);
searchConditionItem.setOptions(optionsList);
searchConditionItem.setRules("required|string");
itemList.add(searchConditionItem);
hrmFieldBean = new HrmFieldBean();
hrmFieldBean.setFieldname("memo");// 备注
hrmFieldBean.setFieldlabel("454");
hrmFieldBean.setFieldhtmltype(FieldHtmlTypeEnum.TEXTAREA.getKey());
hrmFieldBean.setType("1");
hrmFieldBean.setIsFormField(true);
hrmFieldBean.setViewAttr(3);
searchConditionItem = hrmFieldSearchConditionComInfo.getSearchConditionItem(hrmFieldBean, user);
searchConditionItem.setOptions(optionsList);
searchConditionItem.setRules("required|string");
itemList.add(searchConditionItem);
groupItem.put("items", itemList);
groupList.add(groupItem);
retmap.put("condition", groupList);
return retmap;
}
}

@ -0,0 +1,113 @@
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.kq.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 GetCycleListCmd extends AbstractCommonCommand<Map<String, Object>> {
public GetCycleListCmd(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 year = Util.null2String(params.get("year"));
String backFields = "a.id,a.cyclename,a.attendcycle,a.yearly,a.months,a.startdate,a.enddate,a.cyclestate,a.closedate,a.closetime,a.memo";
String sqlFrom = " kq_cycle a";
String sqlWhere = " (a.delete_type is null or a.delete_type <> '1') ";
String orderby = " id ";
String tableString = "";
if (cyclename.length() > 0) {
sqlWhere += " and a.cyclename = "+cyclename ;
}
if (year.length() > 0){
sqlWhere += "a.yearly = "+year;
}
String pageId = PageUidFactory.getHrmPageUid("KQCycleList");
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("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"));//备注
}};
}
/**
*
*/
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"));
}});
return weaTableOperates;
}
}

@ -0,0 +1,127 @@
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 GetCycleSettingFormCmd extends AbstractCommonCommand<Map<String, Object>> {
public GetCycleSettingFormCmd(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_setting where id=?",billid);
if (dateMap.size() > 0) {
hasFieldvalue = true;
}
}
HrmFieldBean hrmFieldBean = null;
hrmFieldBean = new HrmFieldBean();
hrmFieldBean.setFieldname("organzation");//所属机构
hrmFieldBean.setFieldlabel("17868");
hrmFieldBean.setFieldhtmltype(FieldHtmlTypeEnum.BROWSER.getKey());
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.setRules("required|string");
itemList.add(searchConditionItem);
hrmFieldBean = new HrmFieldBean();
hrmFieldBean.setFieldname("attendance_organization");//适用对象
hrmFieldBean.setFieldlabel("18126");
hrmFieldBean.setFieldhtmltype(FieldHtmlTypeEnum.TEXTAREA.getKey());
hrmFieldBean.setType("1");
hrmFieldBean.setIsFormField(true);
hrmFieldBean.setViewAttr(2);
hrmFieldBean.setFieldvalue(hasFieldvalue ? Util.null2String(dateMap.get("attendance_organization")) : "");
searchConditionItem = hrmFieldSearchConditionComInfo.getSearchConditionItem(hrmFieldBean, user);
searchConditionItem.setOptions(optionsList);
//searchConditionItem.setRules("required|string");
itemList.add(searchConditionItem);
hrmFieldBean = new HrmFieldBean();
hrmFieldBean.setFieldname("cyclename");//周期名称
hrmFieldBean.setFieldlabel("388722");
hrmFieldBean.setFieldhtmltype(FieldHtmlTypeEnum.INPUT.getKey());
hrmFieldBean.setType("1");
hrmFieldBean.setIsFormField(true);
hrmFieldBean.setViewAttr(3);
hrmFieldBean.setFieldvalue(hasFieldvalue ? Util.null2String(dateMap.get("cyclename")) : "");
searchConditionItem = hrmFieldSearchConditionComInfo.getSearchConditionItem(hrmFieldBean, user);
searchConditionItem.setOptions(optionsList);
searchConditionItem.setRules("required|string");
itemList.add(searchConditionItem);
hrmFieldBean = new HrmFieldBean();
hrmFieldBean.setFieldname("ifdefault");//默认周期
hrmFieldBean.setFieldlabel("149");
hrmFieldBean.setFieldhtmltype(FieldHtmlTypeEnum.CHECKBOX.getKey());
hrmFieldBean.setType("1");
hrmFieldBean.setIsFormField(true);
hrmFieldBean.setViewAttr(2);
hrmFieldBean.setFieldvalue(hasFieldvalue ? Util.null2String(dateMap.get("ifdefault")) : "");
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("required|string");
itemList.add(searchConditionItem);
groupItem.put("items", itemList);
groupList.add(groupItem);
retmap.put("condition", groupList);
return retmap;
}
}

@ -0,0 +1,102 @@
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.kq.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 GetCycleSettingListCmd extends AbstractCommonCommand<Map<String, Object>> {
public GetCycleSettingListCmd(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.ifdefault,a.cyclename,a.memo";
String sqlFrom = " kq_cycle_setting a";
String sqlWhere = " (a.delete_type is null or a.delete_type <> '1') ";
String orderby = " id ";
String tableString = "";
if (cyclename.length() > 0) {
sqlWhere += " and a.cyclename = like '%" + cyclename + "%' ";
}
String pageId = PageUidFactory.getHrmPageUid("KQCycleSettingList");
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%", "名称", "cyclename"));//名称
add(new WeaTableColumn("20%", "默认周期", "ifdefault"));//默认周期
add(new WeaTableColumn("20%", "说明", "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"));
}});
return weaTableOperates;
}
}

@ -0,0 +1,58 @@
package com.engine.jucailin.cmd.cycle;
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;
public class GetCycleSettingTreeCmd extends AbstractCommonCommand<Map<String, Object>> {
public GetCycleSettingTreeCmd(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,cyclename from kq_cycle_setting where 1=1";
if (keyword.length() > 0){
sql += " and cyclename 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("cyclename"));
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,113 @@
package com.engine.jucailin.cmd.personGroup;
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.kq.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 GetPersonGroupListCmd extends AbstractCommonCommand<Map<String, Object>> {
public GetPersonGroupListCmd(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 groupname = Util.null2String(params.get("groupname"));
String subcompanyId = Util.null2String(params.get("subcompanyid"));
String userfor = Util.null2String(params.get("userfor"));
String backFields = "a.id,a.organzation,a.groupname,a.userfor,a.memo";
String sqlFrom = " kq_persongroup a";
String sqlWhere = " (delete_type is null or delete_type <> '1') ";
String orderby = " id ";
String tableString = "";
if (subcompanyId.length() > 0) {
sqlWhere += " and organzation = " + subcompanyId;
}
if (groupname.length() > 0) {
sqlWhere += " and groupname like '%" + groupname + "%' ";
}
if (userfor.length() > 0) {
sqlWhere += " and userfor = " + userfor;
}
String pageId = PageUidFactory.getHrmPageUid("KQPersonGroupList");
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;
}
/**ListConversionMethod
*
*/
private List<WeaTableColumn> tableFields() {
return new ArrayList<WeaTableColumn>() {{
add(new WeaTableColumn("id").setDisplay(WeaBoolAttr.FALSE));
add(new WeaTableColumn("20%", "所属机构", "organzation"));//所属机构
add(new WeaTableColumn("20%", "分组名称", "groupname"));//分组名称
add(new WeaTableColumn("20%", "应用场景", "userfor","userfor").setTransmethod("com.engine.jucailin.util.ListConversionMethod.getPersonGroupUserFor").setOtherpara(user.getLanguage()+"").setColumn("userfor"));//应用场景
add(new WeaTableColumn("20%", "说明", "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"));
}});
return weaTableOperates;
}
}

@ -0,0 +1,298 @@
package com.engine.jucailin.cmd.personGroup;
import com.api.browser.bean.SearchConditionItem;
import com.api.browser.bean.SearchConditionOption;
import com.api.browser.util.ConditionFactory;
import com.api.browser.util.ConditionType;
import com.api.hrm.bean.HrmFieldBean;
import com.api.hrm.bean.SelectOption;
import com.api.hrm.bean.WeaRadioGroup;
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.hrm.moduledetach.ManageDetachComInfo;
import weaver.systeminfo.SystemEnv;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class GetSuitOrganzationFormCmd extends AbstractCommonCommand<Map<String, Object>> {
public GetSuitOrganzationFormCmd(Map<String, Object> params, User user) {
this.user = user;
this.params = params;
}
@Override
public Map<String, Object> execute(CommandContext commandContext) {
Map<String, Object> retmap = new HashMap<String, Object>();
Map<String,Object> groupitem = null;
List<Object> itemlist = null;
RecordSet rs = new RecordSet();
String sql = "";
try{
//必要的权限判断
if(!HrmUserVarify.checkUserRight("HrmKQGroup:Add",user)) {
retmap.put("status", "-1");
retmap.put("message", SystemEnv.getHtmlLabelName(2012, user.getLanguage()));
return retmap;
}
/*考勤组成员相关id*/
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=?";
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"));
}
}
HrmFieldSearchConditionComInfo hrmFieldSearchConditionComInfo = new HrmFieldSearchConditionComInfo();
SearchConditionItem searchConditionItem = null;
HrmFieldBean hrmFieldBean = null;
itemlist = new ArrayList<Object>();
groupitem = new HashMap<String,Object>();
//下拉
List<Object> condition = new ArrayList<Object>();
if("".equals(groupmemberId)) {
//类型、对象、成员级别
String[] fields = new String[]{"type,63,5,1", "resourceid,106,3,17", "subcompanyid,106,3,164", "departmentid,106,3,4",
"jobtitle,106,3,24", "jobtitlelevel,28169,5,1", "jobtitlesubcompany,19437,3,164", "jobtitledepartment,19438,3,4",
"seclevel,683,1,scope"};
groupitem.put("title", SystemEnv.getHtmlLabelName(1361, Util.getIntValue(user.getLanguage())));
groupitem.put("defaultshow", true);
for(int i=0;i<fields.length;i++){
String[] fieldinfo = fields[i].split(",");
hrmFieldBean = new HrmFieldBean();
hrmFieldBean.setFieldname(fieldinfo[0]);
hrmFieldBean.setFieldlabel(fieldinfo[1]);
hrmFieldBean.setFieldhtmltype(fieldinfo[2]);
hrmFieldBean.setType(fieldinfo[3]);
if(hrmFieldBean.getType().equals("scope")){
hrmFieldBean.setIsScope(true);
}
hrmFieldBean.setIsFormField(true);
searchConditionItem = hrmFieldSearchConditionComInfo.getSearchConditionItem(hrmFieldBean, user);
if(hrmFieldBean.getFieldhtmltype().equals("5")){
List<SearchConditionOption> statusOptions = new ArrayList<SearchConditionOption>();
if(hrmFieldBean.getFieldname().equals("type")){
statusOptions.add(new SearchConditionOption("1",SystemEnv.getHtmlLabelName(179,user.getLanguage()),true));
statusOptions.add(new SearchConditionOption("2",SystemEnv.getHtmlLabelName(141,user.getLanguage())));
statusOptions.add(new SearchConditionOption("3",SystemEnv.getHtmlLabelName(124,user.getLanguage())));
statusOptions.add(new SearchConditionOption("5",SystemEnv.getHtmlLabelName(6086,user.getLanguage())));
if(!new ManageDetachComInfo().appDetachDisableAll(user)) {
statusOptions.add(new SearchConditionOption("6", SystemEnv.getHtmlLabelName(1340, user.getLanguage())));
}
searchConditionItem.setOptions(statusOptions);
}else if(hrmFieldBean.getFieldname().equals("jobtitlelevel")){
statusOptions.add(new SearchConditionOption("1",SystemEnv.getHtmlLabelName(140,user.getLanguage()),true));
statusOptions.add(new SearchConditionOption("3",SystemEnv.getHtmlLabelName(19438,user.getLanguage())));
statusOptions.add(new SearchConditionOption("2",SystemEnv.getHtmlLabelName(19437,user.getLanguage())));
searchConditionItem.setOptions(statusOptions);
}
}
searchConditionItem.setLabelcol(6);
if(hrmFieldBean.getFieldname().equals("typevalue")||hrmFieldBean.getFieldname().equals("jobtitle")
||hrmFieldBean.getFieldname().equals("subcompanyid") || hrmFieldBean.getFieldname().equals("departmentid")){
searchConditionItem.setFieldcol(10);
}else{
searchConditionItem.setFieldcol(18);
}
if(!hrmFieldBean.getFieldname().equals("type")||!hrmFieldBean.getFieldname().equals("seclevel")){
searchConditionItem.setViewAttr(3);
}
if (fieldinfo[2].equals("3") && !"2".equals(fieldinfo[3])) {
searchConditionItem.getBrowserConditionParam().setViewAttr(3);
searchConditionItem.getBrowserConditionParam().setIsSingle(false);
}
if(hrmFieldBean.getFieldname().equals("jobtitlesubcompany")||hrmFieldBean.getFieldname().equals("jobtitledepartment")){
searchConditionItem.getBrowserConditionParam().setIsSingle(true);
}
if(hrmFieldBean.getFieldname().equals("seclevel")){
List<Object> value1 = new ArrayList<Object>();
value1.add(0);
value1.add(100);
searchConditionItem.setValue(value1);
searchConditionItem.setConditionType(ConditionType.INPUT_INTERVAL);
}
itemlist.add(searchConditionItem);
}
ConditionFactory conditionFactory = new ConditionFactory(user);
searchConditionItem = conditionFactory.createCondition(ConditionType.CHECKBOX, "125963","alllevel",true);
itemlist.add(searchConditionItem);
condition.add(itemlist.get(0));
List<Object> itemList = validateItemlist(hrmFieldSearchConditionComInfo, validateFrom, validateTo);
//人力
Map<String,Object> conditionMap = new HashMap<String, Object>();
List<Object> conditionlist = new ArrayList<Object>();
List<Object> conditionlist2 = new ArrayList<Object>();
conditionlist2.add(itemlist.get(1));
conditionlist.add(conditionlist2);
conditionlist2 = new ArrayList<>();
conditionlist2.add(itemList.get(0));
conditionlist.add(conditionlist2);
conditionlist2 = new ArrayList<>();
conditionlist2.add(itemList.get(1));
conditionlist.add(conditionlist2);
conditionMap.put("1",conditionlist);
//分部
conditionlist2 = new ArrayList<Object>();
conditionlist = new ArrayList<Object>();
conditionlist2.add(itemlist.get(2));
//暂不支持包含下级
//conditionlist2.add(itemlist.get(11));
conditionlist.add(conditionlist2);
conditionlist2 = new ArrayList<Object>();
conditionlist2.add(itemlist.get(8));
conditionlist.add(conditionlist2);
conditionlist2 = new ArrayList<>();
conditionlist2.add(itemList.get(0));
conditionlist.add(conditionlist2);
conditionlist2 = new ArrayList<>();
conditionlist2.add(itemList.get(1));
conditionlist.add(conditionlist2);
conditionMap.put("2",conditionlist);
//部门
conditionlist2 = new ArrayList<Object>();
conditionlist = new ArrayList<Object>();
conditionlist2.add(itemlist.get(3));
//暂不支持包含下级
//conditionlist2.add(itemlist.get(11));
conditionlist.add(conditionlist2);
conditionlist2 = new ArrayList<Object>();
conditionlist2.add(itemlist.get(8));
conditionlist.add(conditionlist2);
conditionlist2 = new ArrayList<>();
conditionlist2.add(itemList.get(0));
conditionlist.add(conditionlist2);
conditionlist2 = new ArrayList<>();
conditionlist2.add(itemList.get(1));
conditionlist.add(conditionlist2);
conditionMap.put("3",conditionlist);
//岗位
conditionlist2 = new ArrayList<Object>();
conditionlist = new ArrayList<Object>();
conditionlist2.add(itemlist.get(4));
conditionlist.add(conditionlist2);
conditionlist2 = new ArrayList<Object>();
conditionlist2.add(itemlist.get(5));
WeaRadioGroup wrg = new WeaRadioGroup();
wrg.setLabel(SystemEnv.getHtmlLabelName(28169, user.getLanguage()));
List<Object> option = new ArrayList<Object>();
Map<String, Object> selectLinkageDatas = new HashMap<String, Object>();
selectLinkageDatas.put("2" ,itemlist.get(6));
selectLinkageDatas.put("3" ,itemlist.get(7));
wrg.setSelectLinkageDatas(selectLinkageDatas);
option.add(new SelectOption("1",SystemEnv.getHtmlLabelName(140, user.getLanguage()),true));
option.add(new SelectOption("2",SystemEnv.getHtmlLabelName(19437, user.getLanguage())));
option.add(new SelectOption("3",SystemEnv.getHtmlLabelName(19438, user.getLanguage())));
List<String> domkey = new ArrayList<String>();
wrg.setOptions(option);
wrg.setConditionType("SELECT_LINKAGE");
wrg.setFieldcol(18);
wrg.setLabelcol(6);
domkey.add("jobtitlelevel");
wrg.setDomkey(domkey);
conditionlist2 = new ArrayList<Object>();
conditionlist2.add(wrg);
conditionlist.add(conditionlist2);
conditionlist2 = new ArrayList<Object>();
conditionlist2.add(itemlist.get(8));
conditionlist.add(conditionlist2);
conditionlist2 = new ArrayList<>();
conditionlist2.add(itemList.get(0));
conditionlist.add(conditionlist2);
conditionlist2 = new ArrayList<>();
conditionlist2.add(itemList.get(1));
conditionlist.add(conditionlist2);
conditionMap.put("5",conditionlist);
//所有人
conditionlist = new ArrayList<Object>();
conditionlist2 = new ArrayList<Object>();
conditionlist2.add(itemlist.get(8));
conditionlist.add(conditionlist2);
conditionlist2 = new ArrayList<>();
conditionlist2.add(itemList.get(0));
conditionlist.add(conditionlist2);
conditionlist2 = new ArrayList<>();
conditionlist2.add(itemList.get(1));
conditionlist.add(conditionlist2);
conditionMap.put("6",conditionlist);
condition.add(conditionMap);
} else {
List<Object> itemList = validateItemlist(hrmFieldSearchConditionComInfo, validateFrom, validateTo);
condition.add(itemList.get(0));
condition.add(itemList.get(1));
}
retmap.put("conditions", condition);
retmap.put("status", "1");
retmap.put("type", type);
}catch (Exception e) {
retmap.put("status", "-1");
retmap.put("message", SystemEnv.getHtmlLabelName(382661,user.getLanguage()));
writeLog(e);
}
return retmap;
}
private List<Object> validateItemlist(HrmFieldSearchConditionComInfo hrmFieldSearchConditionComInfo, String validateFromDate, String validateToDate) {
List<Object> itemlist = new ArrayList<>();
HrmFieldBean hrmFieldBean = new HrmFieldBean();
hrmFieldBean.setFieldname("validateFromDate");//开始日期
hrmFieldBean.setFieldlabel("19548");
hrmFieldBean.setFieldhtmltype("3");
hrmFieldBean.setType("2");
hrmFieldBean.setFieldvalue(validateFromDate);
hrmFieldBean.setIsFormField(true);
hrmFieldBean.setViewAttr(2);
hrmFieldBean.setTip(SystemEnv.getHtmlLabelName(546201,user.getLanguage()));
SearchConditionItem searchConditionItem = hrmFieldSearchConditionComInfo.getSearchConditionItem(hrmFieldBean, user);
itemlist.add(searchConditionItem);
hrmFieldBean = new HrmFieldBean();
hrmFieldBean.setFieldname("validateToDate");//结束日期
hrmFieldBean.setFieldlabel("19547");
hrmFieldBean.setFieldhtmltype("3");
hrmFieldBean.setType("2");
hrmFieldBean.setFieldvalue(validateToDate);
hrmFieldBean.setIsFormField(true);
hrmFieldBean.setViewAttr(2);
hrmFieldBean.setTip(SystemEnv.getHtmlLabelName(546202,user.getLanguage()));
searchConditionItem = hrmFieldSearchConditionComInfo.getSearchConditionItem(hrmFieldBean, user);
itemlist.add(searchConditionItem);
return itemlist;
}
@Override
public BizLogContext getLogContext() {
return null;
}
}

@ -0,0 +1,164 @@
package com.engine.jucailin.cmd.personGroup;
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 com.engine.jucailin.util.Constant;
import com.engine.kq.util.PageUidFactory;
import weaver.conn.RecordSet;
import weaver.general.Util;
import weaver.hrm.HrmUserVarify;
import weaver.hrm.User;
import weaver.hrm.moduledetach.ManageDetachComInfo;
import weaver.systeminfo.SystemEnv;
import weaver.systeminfo.systemright.CheckSubCompanyRight;
import java.util.HashMap;
import java.util.Map;
public class GetSuitOrganzationListCmd extends AbstractCommonCommand<Map<String, Object>> {
public GetSuitOrganzationListCmd(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>();
RecordSet rs = new RecordSet();
try {
if(!HrmUserVarify.checkUserRight("HrmKQGroup:Add",user)) {
retmap.put("status", "-1");
retmap.put("message", SystemEnv.getHtmlLabelName(2012, user.getLanguage()));
return retmap;
}
//String groupId = Util.null2String(params.get("groupId"));
// String subcompanyId = new KQGroupComInfo().getSubcompanyid(groupId);
CheckSubCompanyRight checkSubCompanyRight = new CheckSubCompanyRight();
ManageDetachComInfo manageDetachComInfo = new ManageDetachComInfo();
boolean hrmdetachable = manageDetachComInfo.isUseHrmManageDetach();//是否开启了人力资源模块的管理分权
//int operatelevel = -1;
int operatelevel = 2;
// if(hrmdetachable) {
// operatelevel = checkSubCompanyRight.ChkComRightByUserRightCompanyId(user.getUID(), "HrmKQGroup:Add", Util.getIntValue(subcompanyId, -1));
// }else{
// operatelevel = 2;
// }
//
// if(user.getUID() == 1){
// operatelevel = 2;
// }
String billid = Util.null2String(params.get("billid"));
String tableName = Util.null2String(params.get("tableName"));
String modeId = Constant.modeToTable.get(tableName);
String hrmName = Util.null2String(params.get("hrmName"));
String hrmJobtitle = Util.null2String(params.get("hrmJobtitle"));
String hrmSubcompany = Util.null2String(params.get("hrmSubcompany"));
String department = Util.null2String(params.get("department"));
String validateFromDate = Util.null2String(params.get("validateFromDate"));
String validateToDate = Util.null2String(params.get("validateToDate"));
String backfields = " * ";
String fromSql = " kq_groupmember_"+modeId+" a ";
String sqlWhere = " (delete_type is null "+(rs.getDBType().equals("oracle") ? "" : " or delete_type=0")+") ";
String orderby = " a.id asc " ;
if (billid.length() > 0){
sqlWhere += " and dataid="+billid;
}
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+"%')) ";
}
if(hrmJobtitle.length() > 0){
sqlWhere += " and a.membertype=5 and a.typevalue = "+hrmJobtitle;
}
if(hrmSubcompany.length() > 0){
sqlWhere += " and a.membertype=2 and a.typevalue = "+hrmSubcompany;
}
if(department.length() >0){
sqlWhere += " and a.membertype=3 and a.typevalue = "+department ;
}
if(validateFromDate.length() >0){
if(rs.getDBType().equalsIgnoreCase("oracle")) {
sqlWhere += " and ('"+validateFromDate+"' between nvl(a.validatefrom,'2000-01-01') and nvl(a.validateto,'2999-12-31')) ";
}else if((rs.getDBType()).equalsIgnoreCase("mysql")){
sqlWhere += " and ('"+validateFromDate+"' between ifnull(a.validatefrom,'2000-01-01') and ifnull(a.validateto,'2999-12-31')) ";
}else {
sqlWhere += " and ('"+validateFromDate+"' between isnull(a.validatefrom,'2000-01-01') and isnull(a.validateto,'2999-12-31')) ";
}
}
if(validateToDate.length() >0){
if(rs.getDBType().equalsIgnoreCase("oracle")) {
sqlWhere += " and ('"+validateToDate+"' between nvl(a.validatefrom,'2000-01-01') and nvl(a.validateto,'2999-12-31')) ";
}else if((rs.getDBType()).equalsIgnoreCase("mysql")){
sqlWhere += " and ('"+validateToDate+"' between ifnull(a.validatefrom,'2000-01-01') and ifnull(a.validateto,'2999-12-31')) ";
}else {
sqlWhere += " and ('"+validateToDate+"' between isnull(a.validatefrom,'2000-01-01') and isnull(a.validateto,'2999-12-31')) ";
}
}
String pageUid = PageUidFactory.getHrmPageUid("KQGroupMembersSearchList");
String operateString= "<operates width=\"20%\">";
// operateString+=" <popedom transmethod=\"com.engine.kq.util.TransMethod.getGroupMembersOperate\" otherpara=\""+groupId+"\"></popedom> ";
//operateString+=" <operate href=\"javascript:doEdit();\" text=\""+SystemEnv.getHtmlLabelName(93,user.getLanguage())+"\" index=\"0\"/>";
if(operatelevel > 1) {
operateString += " <operate href=\"javascript:doDel();\" text=\"" + SystemEnv.getHtmlLabelName(91, user.getLanguage()) + "\" index=\"0\"/>";
}
operateString+=" <operate href=\"javascript:doEdit();\" text=\""+SystemEnv.getHtmlLabelName(93,user.getLanguage())+"\" index=\"1\"/>";
operateString+="</operates>";
String tableString =" <table pageUid=\""+pageUid+"\" pagesize=\"10\" tabletype=\"checkbox\">"+
" <sql backfields=\""+backfields+"\" sqlform=\""+fromSql+"\" sqlwhere=\""+Util.toHtmlForSplitPage(sqlWhere)+"\" sqlorderby=\""+orderby+"\" sqlprimarykey=\"a.id\" sqlsortway=\"desc\" sqlisdistinct=\"\"/>"+
// " <checkboxpopedom showmethod=\"com.engine.kq.util.TransMethod.getKQGroupMembersCheckbox\" id=\"checkbox\" popedompara=\"column:id+"+groupId+"\" />"+
operateString+
" <head>"+
" <col width=\"0%\" hide=\"true\" text=\"\" column=\"id\"/>"+
" <col width=\"25%\" text=\""+SystemEnv.getHtmlLabelName(21956,user.getLanguage())+"\" column=\"membertype\" orderkey=\"membertype\" transmethod=\"com.engine.hrm.util.HrmTransMethod.getResourceType\" otherpara=\""+user.getLanguage()+"\"/>"+
" <col width=\"30%\" text=\""+SystemEnv.getHtmlLabelName(106,user.getLanguage())+"\" column=\"typevalue\" orderkey=\"typevalue\" transmethod=\"com.engine.hrm.util.HrmTransMethod.getResourceName\" otherpara=\"column:membertype+column:alllevel+"+user.getLanguage()+"+column:jobtitlelevel+column:jobtitlelevelvalue\" />"+
" <col width=\"25%\" text=\""+SystemEnv.getHtmlLabelName(683,user.getLanguage())+"\" column=\"seclevel\" orderkey=\"seclevel\" transmethod=\"com.engine.hrm.util.HrmTransMethod.getSecLevel\" otherpara=\"column:seclevelto\"/>"+
" <col width=\"25%\" text=\""+SystemEnv.getHtmlLabelName(19548,user.getLanguage())+"\" column=\"validatefrom\" orderkey=\"validatefrom\"/>"+
" <col width=\"25%\" text=\""+SystemEnv.getHtmlLabelName(19547,user.getLanguage())+"\" column=\"validateto\" orderkey=\"validateto\"/>"+
" </head>"+
" </table>";
//主要用于 显示定制列以及 表格 每页展示记录数选择
String sessionkey = pageUid + "_" + Util.getEncrypt(Util.getRandom());
Util_TableMap.setVal(sessionkey, tableString);
retmap.put("sessionkey", sessionkey);
retmap.put("status", "1");
if(operatelevel > 0){
retmap.put("canAdd", true);
}else{
retmap.put("canAdd", false);
}
if(operatelevel > 1){
retmap.put("canDel", true);
}else{
retmap.put("canDel", false);
}
} catch (Exception e) {
retmap.put("status", "-1");
retmap.put("message", SystemEnv.getHtmlLabelName(382661,user.getLanguage()));
writeLog(e);
}
return retmap;
}
}

@ -0,0 +1,296 @@
package com.engine.jucailin.cmd.personGroup;
import com.alibaba.fastjson.JSON;
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.genid.IdGenerator;
import com.engine.jucailin.util.Constant;
import com.engine.kq.biz.KQGroupComInfo;
import com.engine.kq.biz.KQGroupMemberComInfo;
import com.engine.kq.log.KQLog;
import weaver.conn.RecordSet;
import weaver.general.Util;
import weaver.hrm.HrmUserVarify;
import weaver.hrm.Reminder.KQAutoCardTask;
import weaver.hrm.User;
import weaver.systeminfo.SystemEnv;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class SaveSuitOrganzationCmd extends AbstractCommonCommand<Map<String, Object>> {
private KQLog kqLog = new KQLog();
private SimpleBizLogger logger;
public SaveSuitOrganzationCmd(Map<String, Object> params, User user) {
this.user = user;
this.params = params;
// String groupId = Util.null2String(params.get("groupId"));
// this.boforeLog(groupId);
}
@Override
public Map<String, Object> execute(CommandContext commandContext) {
Map<String, Object> retmap = new HashMap<String, Object>();
kqLog.info("params::::::::::::"+ JSON.toJSONString(params));
RecordSet rs = new RecordSet();
String sql = "";
try {
if (!HrmUserVarify.checkUserRight("HrmKQGroup:Add", user)) {
retmap.put("status", "-1");
retmap.put("message", SystemEnv.getHtmlLabelName(2012, user.getLanguage()));
return retmap;
}
String tableName = Util.null2String(params.get("tableName"));
String modeid = Constant.modeToTable.get(tableName);
String billid = Util.null2String(params.get("billid"));
String memberTableName = "kq_groupmember_"+modeid;
String type = Util.null2String(params.get("type"));
String resourceid = Util.null2String(params.get("resourceid"));
String subcompanyid = Util.null2String(params.get("subcompanyid"));
String departmentid = Util.null2String(params.get("departmentid"));
String alllevel = Util.null2String(params.get("alllevel")).trim();
String jobtitle = Util.null2String(params.get("jobtitle")).trim();
String jobtitlelevel = Util.null2String(params.get("jobtitlelevel")).trim();
String jobtitlesubcompany = Util.null2String(params.get("jobtitlesubcompany")).trim();
String jobtitledepartment = Util.null2String(params.get("jobtitledepartment")).trim();
String groupmemberId = Util.null2String(params.get("groupmemberId")).trim();
String validateFromDate = Util.null2String(params.get("validateFromDate")).trim();
String validateToDate = Util.null2String(params.get("validateToDate")).trim();
String seclevel = Util.null2String(params.get("seclevel")).trim();
String seclevelto = Util.null2String(params.get("seclevelto")).trim();
if(!"".equals(groupmemberId)) {
String searchSql = "select * from "+memberTableName+" where id="+groupmemberId;
rs.executeQuery(searchSql);
if(rs.next()) {
type = Util.null2String(rs.getString("membertype"));
if("1".equals(type)) {
resourceid = Util.null2String(rs.getString("typevalue"));
} else if("2".equals(type)) {
subcompanyid = Util.null2String(rs.getString("typevalue"));
} else if("3".equals(type)) {
departmentid = Util.null2String(rs.getString("typevalue"));
} else if("5".equals(type)) {
jobtitle = Util.null2String(rs.getString("typevalue"));
}
alllevel = Util.null2String(rs.getString("alllevel"));
jobtitlelevel = Util.null2String(rs.getString("jobtitlelevel"));
if("2".equals(jobtitlelevel)) {//岗位--分部
jobtitlesubcompany = Util.null2String(rs.getString("jobtitlelevelvalue"));
} else if("3".equals(jobtitlelevel)) {//岗位--部门
jobtitledepartment = Util.null2String(rs.getString("jobtitlelevelvalue"));
}
seclevel = Util.null2String(rs.getString("seclevel"));
seclevelto = Util.null2String(rs.getString("seclevelto"));
}
}
kqLog.info("validateFromDate1111>>>>>>>>"+validateFromDate+"::::validateToDate::::"+validateToDate);
if(!"".equals(validateFromDate) || !"".equals(validateToDate)) {
// 1. 查找同级别的有效期
sql = "select * from "+memberTableName+" where membertype=" + type + " and (delete_type is null or delete_type <> '1') and dataid="+billid+" " ;
if(!"".equals(groupmemberId)) {
sql += "and id != "+groupmemberId;
}
if (rs.getDBType().equalsIgnoreCase("sqlserver")
|| rs.getDBType().equalsIgnoreCase("mysql")) {
sql += " and (validatefrom is not null or validatefrom<>'')";
sql += " and (validateto is not null or validateto<>'')";
} else {
sql += " and ((validatefrom is not null)";
sql += " or (validateto is not null))";
}
switch (Util.getIntValue(type)) {
case 1:
sql += " and typevalue in(" + resourceid + ")";
break;
case 2:
sql += " and typevalue in(" + subcompanyid + ") and (" + seclevel + " between seclevel and seclevelto or " + seclevelto + " between seclevel and seclevelto)";
break;
case 3:
sql += " and typevalue in(" + departmentid + ") and (" + seclevel + " between seclevel and seclevelto or " + seclevelto + " between seclevel and seclevelto)";
break;
case 5:
sql += " and typevalue in(" + jobtitle + ") and (" + seclevel + " between seclevel and seclevelto or "
+ seclevelto + " between seclevel and seclevelto)";
if("2".equals(jobtitlelevel)) {
sql += " and (jobtitlelevelvalue in("+jobtitlesubcompany+") or jobtitlelevel=1)";
} else if("3".equals(jobtitlelevel)) {
sql += " and (jobtitlelevelvalue in("+jobtitledepartment+") or jobtitlelevel=1)";
}
break;
case 6:
sql += " and typevalue in(0)";
break;
default:
break;
}
rs.executeQuery(sql);
new KQLog().info("sql>>>>>>>>>>>>>>>>"+sql);
KQGroupComInfo kqGroupComInfo = new KQGroupComInfo();
while (rs.next()) {
String groupid = Util.null2String(rs.getString("groupid"));
String validatefrom = Util.null2String(rs.getString("validatefrom"));
validatefrom = "".equals(validatefrom) ? "2000-01-01" : validatefrom;
String validateto = Util.null2String(rs.getString("validateto"));
validateto = "".equals(validateto) ? "2999-12-31" : validateto;
if (validateFromDate.compareTo(validatefrom)<=0 && validateToDate.compareTo(validatefrom)>=0
|| validateFromDate.compareTo(validateto)<=0 && validateToDate.compareTo(validateto)>=0) {
retmap.put("status", "-1");
String kqGroupName = kqGroupComInfo.getGroupname(groupid);
retmap.put("message", "和'"+kqGroupName+"'考勤组的考勤组成员中有效期有交叉,不允许保存");
return retmap;
}
}
}
kqLog.info("validateFromDate2222>>>>>>>>"+validateFromDate+"::::validateToDate::::"+validateToDate+":::groupmemberId::"+groupmemberId);
if(!"".equals(groupmemberId)) {
sql = " UPDATE "+memberTableName+" set validatefrom=? ,validateto=? where id=?";
rs.executeUpdate(sql,(validateFromDate.length() == 0 ? "null" : validateFromDate),(validateToDate.length() == 0 ? "null" : validateToDate),groupmemberId);
} else {
String jobtitlelevelvalue = "";
if (jobtitlelevel.equals("2")) {
jobtitlelevelvalue = jobtitlesubcompany;
} else if (jobtitlelevel.equals("3")) {
jobtitlelevelvalue = jobtitledepartment;
}
String objId = "0";
switch (Util.getIntValue(type)) {
case 1:
objId = resourceid;
break;
case 2:
objId = subcompanyid;
break;
case 3:
objId = departmentid;
break;
case 5:
objId = jobtitle;
break;
default:
break;
}
String[] arrObjIds = Util.splitString(objId, ",");
new KQLog().info("arrObjIds>>>>>>>>>>>>>>>>" + objId);
if("".equals(validateFromDate) && "".equals(validateToDate)) {
for (int i = 0; i < arrObjIds.length; i++) {
//考勤组成员重复判断,单条判断下
sql = " select count(id) from "+memberTableName+" where dataid=" + billid +
" and (delete_type is null or delete_type <> '1') and typevalue = " + arrObjIds[i] + " and membertype = " + type;
if (alllevel.length() > 0) {
sql += " and alllevel = " + alllevel;
}
if (seclevel.length() > 0) {
sql += " and seclevel = " + seclevel;
}
if (seclevelto.length() > 0) {
sql += " and seclevelto = " + seclevelto;
}
if (jobtitlelevelvalue.length() > 0) {
sql += " and jobtitlelevelvalue = " + jobtitlelevelvalue;
}
if (jobtitlelevel.length() > 0) {
sql += " and jobtitlelevel = " + jobtitlelevel;
}
rs.executeQuery(sql);
new KQLog().info("sql2222>>>>>>>>>>>>>>>>" + sql);
if (rs.next() && rs.getInt(1) > 0) {
if (arrObjIds.length == 1) {
retmap.put("status", "-1");
retmap.put("message", SystemEnv.getHtmlLabelName(17567, user.getLanguage()));
return retmap;
} else {
continue;
}
}
}
}
//人员类型,后面的需要替换前面的数据
//TODO 现在有有效期,一个人是可以存在多个考勤组内的
// if(type.equals("1")){
// sql = "update kq_groupmember set delete_type=1 where type=1 and typevalue= ? ";
// rs.executeUpdate(sql,arrObjIds[i]);
// }
for (int i = 0; i < arrObjIds.length; i++) {
sql = " INSERT INTO "+memberTableName+" (id, dataid ,typevalue ,membertype ,alllevel ," +
" seclevel ,seclevelto ,jobtitlelevelvalue ,jobtitlelevel,validatefrom,validateto) " +
" VALUES ( "+ IdGenerator.generate()+", " + billid + ", " + arrObjIds[i] + " , '" + type + "', " +
" " + (alllevel.length() == 0 ? "null" : alllevel) + "," + (seclevel.length() == 0 ? "null" : seclevel) + "," +
" " + (seclevelto.length() == 0 ? "null" : seclevelto) + ", " + (jobtitlelevelvalue.length() == 0 ? "null" : jobtitlelevelvalue) + ","
+ (jobtitlelevel.length() == 0 ? "null" : jobtitlelevel) + "," + (validateFromDate.length() == 0 ? "null" : "'" + validateFromDate + "'") + ","
+ (validateToDate.length() == 0 ? "null" : "'" + validateToDate + "'") + ")";
rs.executeUpdate(sql);
}
}
new KQGroupMemberComInfo().removeCache();
//格式化考勤
// new KQFormatBiz().formatDateByGroupId(groupId, DateUtil.getCurrentDate());
KQGroupComInfo kQGroupComInfo = new KQGroupComInfo();
String auto_checkout = kQGroupComInfo.getAuto_checkout(billid);
String auto_checkin = kQGroupComInfo.getAuto_checkin(billid);
if("1".equalsIgnoreCase(auto_checkin) || "1".equalsIgnoreCase(auto_checkout)){
//如果开启了自动打卡,保存考勤组成员之后需要格式化下缓存
KQAutoCardTask kqAutoCardTask = new KQAutoCardTask();
kqAutoCardTask.initAutoCardTask(billid);
}
retmap.put("status", "1");
} catch (Exception e) {
retmap.put("status", "-1");
retmap.put("message", SystemEnv.getHtmlLabelName(382661, user.getLanguage()));
writeLog(e);
}
return retmap;
}
private void boforeLog(String id){
this.logger = new SimpleBizLogger();
BizLogContext logContext = new BizLogContext();
logContext.setDateObject(new Date());
logContext.setLogType(BizLogType.HRM_ENGINE);
logContext.setBelongType(BizLogSmallType4Hrm.HRM_ENGINE_KQGROUP);
logContext.setLogSmallType(BizLogSmallType4Hrm.HRM_ENGINE_KQGROUP);
logContext.setParams(params);
logger.setUser(user);//当前操作人
String mainSql = " select * from kq_group where id= " + id;
logger.setMainSql(mainSql);//主表sql
logger.setMainPrimarykey("id");//主日志表唯一key
logger.setMainTargetNameColumn("groupname");
SimpleBizLogger.SubLogInfo subLogInfo1 = logger.getNewSubLogInfo();
String subSql1 = "select * from kq_groupmember where (delete_type is null or delete_type <> '1') and groupid="+id;
subLogInfo1.setSubPrimarykey("id");
subLogInfo1.setSubTargetNameColumn("id");
subLogInfo1.setGroupId("0"); //所属分组, 按照groupid排序显示在详情中 不设置默认按照add的顺序。
subLogInfo1.setSubGroupNameLabel(388736); //在详情中显示的分组名称不设置默认显示明细x
subLogInfo1.setSubSql(subSql1);
logger.addSubLogInfo(subLogInfo1);
logger.before(logContext);
}
@Override
public BizLogContext getLogContext() {
return null;
}
@Override
public List<BizLogContext> getLogContexts() {
return logger.getBizLogContexts();
}
}

@ -0,0 +1,36 @@
package com.engine.jucailin.enums;
import com.finance.toolkit.BaseEnum;
/**
*
*/
public enum FieldHtmlTypeEnum implements BaseEnum {
INPUT("1","单行文本框"),
TEXTAREA("2","多行文本框"),
BROWSER("3","浏览按钮"),
CHECKBOX("4","Check框"),
SELECT("5","选择框"),
UPLOAD("6","附件"),
COLORPICKER("7","颜色选择"),
DESCRIPTION("8","描述类型");
private String key;
private String value;
FieldHtmlTypeEnum(String key, String value){
this.key=key;
this.value=value;
}
@Override
public String getKey() {
return this.key;
}
@Override
public String getValue() {
return this.value;
}
}

@ -0,0 +1,15 @@
package com.engine.jucailin.exception;
public class AttendanceRunTimeException extends RuntimeException {
public AttendanceRunTimeException(String message) {
super(message);
}
public AttendanceRunTimeException(Throwable cause) {
super(cause);
}
public AttendanceRunTimeException(String message, Throwable cause) {
super(message, cause);
}
}

@ -0,0 +1,17 @@
package com.engine.jucailin.exception;
public class ExceptionUtil {
public static String getRealMessage(Throwable e) {
while (e != null) {
Throwable cause = e.getCause();
if (cause == null) {
return e.getMessage();
}
e = cause;
}
return "";
}
}

@ -0,0 +1,52 @@
package com.engine.jucailin.genid;
import java.net.Inet4Address;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.util.Enumeration;
import java.util.Random;
public class DefaultWorker implements Worker{
private Random random = new Random();
public DefaultWorker() {
}
public long getWorkerId() {
int max = 100000;
int min = 10000;
int s = this.random.nextInt(max) % (max - min + 1) + min;
String ip = this.getHostIp();
long workerId = 0L;
if (ip != null) {
String str = ip.replaceAll("\\.", "") + s;
workerId = Long.parseLong(str);
workerId %= 1024L;
}
return workerId;
}
private String getHostIp() {
try {
Enumeration<NetworkInterface> allNetInterfaces = NetworkInterface.getNetworkInterfaces();
while(allNetInterfaces.hasMoreElements()) {
NetworkInterface netInterface = (NetworkInterface)allNetInterfaces.nextElement();
Enumeration<InetAddress> addresses = netInterface.getInetAddresses();
while(addresses.hasMoreElements()) {
InetAddress ip = (InetAddress)addresses.nextElement();
if (ip != null && ip instanceof Inet4Address
&& !ip.isLoopbackAddress() && ip.getHostAddress().indexOf(":") == -1) {
return ip.getHostAddress();
}
}
}
} catch (Exception var5) {
var5.printStackTrace();
}
return "127.0.0.1";
}
}

@ -0,0 +1,12 @@
package com.engine.jucailin.genid;
/**
* id
*/
public class IdGenerator {
public static long generate() {
SnowflakeId snowflakeId = new SnowflakeId();
return snowflakeId.get();
}
}

@ -0,0 +1,93 @@
package com.engine.jucailin.genid;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class SnowflakeId {
private static final Logger logger = LoggerFactory.getLogger(SnowflakeId.class);
private Worker worker;
private long startTime = this._curSecond();
private long time;
private long segment = 0L;
private long workerId = this.getWorker().getWorkerId();
private long sequence = 0L;
private static final long segmentBits = 9L;
private static final long workerIdBits = 10L;
private static final long sequenceBits = 13L;
private static final long timestampShift = 32L;
private static final long segmentShift = 23L;
private static final long workerIdShift = 13L;
private static final long sequenceMask = 8191L;
private static final long maxSegment = 511L;
private long twepoch = 1483200000L;
private long _counter = 0L;
public SnowflakeId() {
this.time = this.startTime - this.twepoch;
}
public Worker getWorker() {
return (Worker)(this.worker == null ? new DefaultWorker() : this.worker);
}
public void setWorker(Worker worker) {
this.worker = worker;
}
public synchronized long get() {
long id = this.getNextId();
this.testSpeedLimit();
return id;
}
public synchronized long[] getRangeId(int sizeOfIds) {
long[] r = new long[]{this.getNextId(), 0L};
this.sequence = this.sequence + (long)sizeOfIds - 1L - 1L;
this._counter = this._counter + (long)sizeOfIds - 1L - 1L;
if (this.sequence >> 13 > 0L) {
this.sequence &= 8191L;
if (this.segment >= 511L) {
++this.time;
this.segment = 0L;
} else {
++this.segment;
}
}
r[1] = this.getNextId();
this.testSpeedLimit();
return r;
}
private long getNextId() {
++this.sequence;
++this._counter;
if (this.sequence >> 13 > 0L) {
if (this.segment >= 511L) {
++this.time;
} else {
this.sequence = 0L;
++this.segment;
}
}
return this.time << 32 | this.segment << 23 | this.workerId << 13 | this.sequence;
}
private long _curSecond() {
return System.currentTimeMillis() / 1000L;
}
private synchronized void testSpeedLimit() {
long spentTime = this._curSecond() - this.startTime + 1L;
if (spentTime <= 0L || spentTime << 22 <= this._counter) {
try {
this.wait(10L);
this.testSpeedLimit();
} catch (Exception var4) {
logger.error(var4.getMessage(), var4);
}
}
}
}

@ -0,0 +1,5 @@
package com.engine.jucailin.genid;
public interface Worker {
long getWorkerId();
}

@ -0,0 +1,9 @@
package com.engine.jucailin.service;
import java.util.Map;
public interface KQCalendarSettingService {
Map<String, Object> getCalendarSettingList(Map<String, Object> params);
Map<String, Object> getCalendarSettingForm(Map<String, Object> params);
}

@ -0,0 +1,12 @@
package com.engine.jucailin.service;
import java.util.Map;
public interface KQCommonService {
Map<String,Object> saveKQData(Map<String,Object> param);
Map<String,Object> doQueryCommon(Map<String,Object> param);
Map<String,Object> delCommon(Map<String,Object> param);
}

@ -0,0 +1,15 @@
package com.engine.jucailin.service;
import java.util.Map;
public interface KQCycleSettingService {
Map<String, Object> getCycleSettingList(Map<String, Object> params);
Map<String, Object> getCycleSettingTree(Map<String, Object> params);
Map<String, Object> getCycleSettingForm(Map<String, Object> params);
Map<String, Object> getCycleList(Map<String, Object> params);
Map<String, Object> getCycleForm(Map<String, Object> params);
}

@ -0,0 +1,15 @@
package com.engine.jucailin.service;
import java.util.Map;
public interface KQPersonGroupService {
Map<String, Object> getPersonGroupList(Map<String, Object> params);
Map<String, Object> getSuitOrganzationList(Map<String, Object> params);
Map<String, Object> getSuitOrganzationForm(Map<String, Object> params);
Map<String, Object> saveSuitOrganzation(Map<String, Object> params);
Map<String, Object> delSuitOrganzation(Map<String, Object> params);
}

@ -0,0 +1,25 @@
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.service.KQCalendarSettingService;
import java.util.Map;
/**
* @Author: sy
* @Description:
* @Date: 2024/2/27
**/
public class KQCalendarSettingServiceImpl extends Service implements KQCalendarSettingService {
@Override
public Map<String, Object> getCalendarSettingList(Map<String, Object> params) {
return commandExecutor.execute(new GetCalendarSettingListCmd(params,user));
}
@Override
public Map<String, Object> getCalendarSettingForm(Map<String, Object> params) {
return commandExecutor.execute(new GetCalendarSettingFormCmd(params,user));
}
}

@ -0,0 +1,48 @@
package com.engine.jucailin.service.impl;
import com.engine.core.impl.Service;
import com.engine.jucailin.cmd.common.DeleteDataCommonCmd;
import com.engine.jucailin.cmd.common.InsertDataCommonCmd;
import com.engine.jucailin.cmd.common.QueryDataCommonCmd;
import com.engine.jucailin.cmd.common.UpdateDataCommonCmd;
import com.engine.jucailin.service.KQCommonService;
import com.google.common.collect.Maps;
import com.google.gson.Gson;
import weaver.general.Util;
import java.lang.reflect.Type;
import java.util.Map;
public class KQCommonServiceImpl extends Service implements KQCommonService {
@Override
public Map<String,Object> saveKQData(Map<String,Object> param) {
//1新增2更新
String type = Util.null2String(param.get("type"));
String data = Util.null2String(param.get("data"));
Gson gson = new Gson();
Map<String,Object> dataMap = gson.fromJson(data, (Type) Map.class);
param.put("data",dataMap);
Map<String,Object> resultMap = Maps.newHashMap();
if ("1".equals(type)){
resultMap = commandExecutor.execute(new InsertDataCommonCmd(param, user));
}else if ("2".equals(type)){
resultMap = commandExecutor.execute(new UpdateDataCommonCmd(param, user));
}
if (resultMap.size() > 0){
resultMap.put("message","保存失败");
}else {
resultMap.put("message","保存成功");
}
return resultMap;
}
@Override
public Map<String, Object> doQueryCommon(Map<String, Object> param) {
return commandExecutor.execute(new QueryDataCommonCmd(param, user));
}
@Override
public Map<String, Object> delCommon(Map<String, Object> param) {
return commandExecutor.execute(new DeleteDataCommonCmd(param, user));
}
}

@ -0,0 +1,34 @@
package com.engine.jucailin.service.impl;
import com.engine.core.impl.Service;
import com.engine.jucailin.cmd.cycle.*;
import com.engine.jucailin.service.KQCycleSettingService;
import java.util.Map;
public class KQCycleSettingServiceImpl extends Service implements KQCycleSettingService {
@Override
public Map<String, Object> getCycleSettingList(Map<String, Object> params) {
return commandExecutor.execute(new GetCycleSettingListCmd(params,user));
}
@Override
public Map<String, Object> getCycleSettingTree(Map<String, Object> params) {
return commandExecutor.execute(new GetCycleSettingTreeCmd(params,user));
}
@Override
public Map<String, Object> getCycleList(Map<String, Object> params) {
return commandExecutor.execute(new GetCycleListCmd(params,user));
}
@Override
public Map<String, Object> getCycleSettingForm(Map<String, Object> params) {
return commandExecutor.execute(new GetCycleSettingFormCmd(params,user));
}
@Override
public Map<String, Object> getCycleForm(Map<String, Object> params) {
return commandExecutor.execute(new GetCycleFormCmd(params,user));
}
}

@ -0,0 +1,44 @@
package com.engine.jucailin.service.impl;
import com.engine.core.impl.Service;
import com.engine.jucailin.cmd.common.DeleteDataCommonCmd;
import com.engine.jucailin.cmd.personGroup.GetPersonGroupListCmd;
import com.engine.jucailin.cmd.personGroup.GetSuitOrganzationFormCmd;
import com.engine.jucailin.cmd.personGroup.GetSuitOrganzationListCmd;
import com.engine.jucailin.cmd.personGroup.SaveSuitOrganzationCmd;
import com.engine.jucailin.service.KQPersonGroupService;
import com.engine.jucailin.util.Constant;
import weaver.general.Util;
import java.util.Map;
public class KQPersonGroupServiceImpl extends Service implements KQPersonGroupService {
@Override
public Map<String, Object> getPersonGroupList(Map<String, Object> params) {
return commandExecutor.execute(new GetPersonGroupListCmd(params,user));
}
@Override
public Map<String, Object> getSuitOrganzationList(Map<String, Object> params) {
return commandExecutor.execute(new GetSuitOrganzationListCmd(params,user));
}
@Override
public Map<String, Object> getSuitOrganzationForm(Map<String, Object> params) {
return commandExecutor.execute(new GetSuitOrganzationFormCmd(params,user));
}
@Override
public Map<String, Object> saveSuitOrganzation(Map<String, Object> params) {
return commandExecutor.execute(new SaveSuitOrganzationCmd(params,user));
}
@Override
public Map<String, Object> delSuitOrganzation(Map<String, Object> params) {
String tableName = Util.null2String(params.get("tableName"));
String modeid = Constant.modeToTable.get(tableName);
String memberTableName = "kq_groupmember_"+modeid;
params.put("tableName",memberTableName);
return commandExecutor.execute(new DeleteDataCommonCmd(params,user));
}
}

@ -0,0 +1,311 @@
package com.engine.jucailin.util;
import com.engine.kq.log.KQLog;
import com.google.common.collect.Lists;
import com.google.common.reflect.TypeToken;
import com.google.gson.Gson;
import org.jetbrains.annotations.NotNull;
import weaver.general.BaseBean;
import weaver.hrm.User;
import java.io.File;
import java.io.FileFilter;
import java.io.IOException;
import java.lang.reflect.Type;
import java.net.JarURLConnection;
import java.net.URL;
import java.net.URLDecoder;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.List;
import java.util.Map;
import java.util.jar.JarEntry;
import java.util.jar.JarFile;
public class CommonUtil<T> {
public static KQLog log = new KQLog();
public static Gson gson = new Gson();
public static Type list_map_type = new TypeToken<List<Map<String,String>>>(){}.getType();
public static Type map_type = new TypeToken<Map<String,Object>>(){}.getType();
public static BaseBean baseBean = new BaseBean();
/**
* insertsql
* @param tableName
* @param map
* @return
*/
public static String makeInsertSql(String tableName, Map<String,Object> map,User user){
fillSaveData(map,user);
String insertSql = "insert into "+tableName;
String key = "(";
String value = "(";
for (Map.Entry<String,Object> e : map.entrySet()){
key = key + e.getKey() +",";
value = value + "'"+e.getValue()+"'" +",";
}
key = key.substring(0,key.length()-1) + ")";
value = value.substring(0,value.length()-1)+")";
insertSql = insertSql + key +" values "+value;
log.info("makeInsertSql : "+insertSql);
return insertSql;
}
/**
* updatesql
* @param tableName
* @param map
* @param condition
* @return
*/
public static String makeUpdateSql(String tableName, Map<String,Object> map,Map<String,Object> condition){
fillUpdateData(map);
String updateSql = "update "+tableName+" set ";
for (Map.Entry<String,Object> e : map.entrySet()){
if (e.getValue() !=null && !"".equals(e.getValue())){
updateSql = updateSql + e.getKey()+"='"+e.getValue().toString()+"',";
}
}
updateSql = updateSql.substring(0,updateSql.length()-1) + " where 1=1";
for (Map.Entry<String,Object> e : condition.entrySet()){
updateSql = updateSql + " and "+ e.getKey()+"='"+e.getValue()+"'";
}
log.info("makeUpdateSql : "+updateSql);
return updateSql;
}
/**
*
* @param data
* @return
*/
public static void fillSaveData(Map<String,Object> data, User user){
data.put("create_time", DateUtil.getCurrentTime());
data.put("update_time", DateUtil.getCurrentTime());
data.put("creator",user.getUID());
data.put("delete_type","0");
data.put("tenant_key","jucailin");
}
/**
*
* @param data
* @return
*/
public static void fillUpdateData(Map<String,Object> data){
data.put("update_time", DateUtil.getCurrentTime());
}
/**
*
* @param dataList
* @param tableName
* @return
*/
public static boolean insertBatch(List<Map<String,Object>> dataList, String tableName){
String sql = "insert into "+tableName;
String key = "(";
String value = "(";
for (Map.Entry<String,Object> data : dataList.get(0).entrySet()){
key = key + data.getKey() +",";
value = value + "?,";
}
key = key.substring(0,key.length()-1) + ")";
value = value.substring(0,value.length()-1)+")";
sql = sql + key +" values "+value;
log.info("insertBatch sql :"+sql);
List<List> insertDataList = Lists.newArrayList();
for (Map<String,Object> dataMap : dataList){
ArrayList<Object> list = new ArrayList<>();
for (Map.Entry<String,Object> entry : dataMap.entrySet()){
list.add(entry.getValue());
}
insertDataList.add(list);
}
log.info(insertDataList);
return DbTools.updateBatch(sql,insertDataList);
}
/**
* [{a:b,c:d}]json
* @param json
* @return
*/
public static List<Map<String,String>> resolveList_Map(String json){
List<Map<String,String>> list= gson.fromJson(json,list_map_type);
return list;
}
/**
* {a:b,c:d}json
* @param json
* @return
*/
public static Map<String,Object> resolveMap(String json){
Map<String,Object> list= gson.fromJson(json,map_type);
return list;
}
/**
*
*/
public List<T> getAllClassByInterface(Class<?> c) {
List<T> returnClassList = null;
if (c.isInterface()) {
try {
// 获取当前的包名
String packageName = c.getPackage().getName();
// 获取当前包下以及子包下所以的类
List<Class<?>> allClass = getClasses(packageName);
if (allClass != null) {
returnClassList = new ArrayList();
for (Class<?> cls : allClass) {
// 判断是否是同一个接口
if (c.isAssignableFrom(cls)) {
// 本身不加入进去
if (!c.equals(cls)) {
returnClassList.add((T)cls.newInstance());
}
}
}
}
}catch (Exception e){
baseBean.writeLog(e);
}
}
return returnClassList;
}
/**
* packageClass
*
* @param packageName
* @return
*/
@NotNull
public static List<Class<?>> getClasses(String packageName) {
// 第一个class类的集合
List<Class<?>> classes = new ArrayList<Class<?>>();
// 是否循环迭代
boolean recursive = true;
// 获取包的名字 并进行替换
String packageDirName = packageName.replace('.', '/');
// 定义一个枚举的集合 并进行循环来处理这个目录下的things
Enumeration<URL> dirs;
try {
dirs = Thread.currentThread().getContextClassLoader().getResources(packageDirName);
// 循环迭代下去
while (dirs.hasMoreElements()) {
// 获取下一个元素
URL url = dirs.nextElement();
// 得到协议的名称
String protocol = url.getProtocol();
// 如果是以文件的形式保存在服务器上
if ("file".equals(protocol)) {
// 获取包的物理路径
String filePath = URLDecoder.decode(url.getFile(), "UTF-8");
// 以文件的方式扫描整个包下的文件 并添加到集合中
findAndAddClassesInPackageByFile(packageName, filePath, recursive, classes);
} else if ("jar".equals(protocol)) {
// 如果是jar包文件
// 定义一个JarFile
JarFile jar;
try {
// 获取jar
jar = ((JarURLConnection) url.openConnection()).getJarFile();
// 从此jar包 得到一个枚举类
Enumeration<JarEntry> entries = jar.entries();
// 同样的进行循环迭代
while (entries.hasMoreElements()) {
// 获取jar里的一个实体 可以是目录 和一些jar包里的其他文件 如META-INF等文件
JarEntry entry = entries.nextElement();
String name = entry.getName();
// 如果是以/开头的
if (name.charAt(0) == '/') {
// 获取后面的字符串
name = name.substring(1);
}
// 如果前半部分和定义的包名相同
if (name.startsWith(packageDirName)) {
int idx = name.lastIndexOf('/');
// 如果以"/"结尾 是一个包
if (idx != -1) {
// 获取包名 把"/"替换成"."
packageName = name.substring(0, idx).replace('/', '.');
}
// 如果可以迭代下去 并且是一个包
if ((idx != -1) || recursive) {
// 如果是一个.class文件 而且不是目录
if (name.endsWith(".class") && !entry.isDirectory()) {
// 去掉后面的".class" 获取真正的类名
String className = name.substring(packageName.length() + 1, name.length() - 6);
try {
// 添加到classes
classes.add(Class.forName(packageName + '.' + className));
} catch (ClassNotFoundException e) {
baseBean.writeLog(e);
}
}
}
}
}
} catch (IOException e) {
baseBean.writeLog(e);
}
}
}
} catch (IOException e) {
baseBean.writeLog(e);
}
return classes;
}
/**
* Class
*
* @param packageName
* @param packagePath
* @param recursive
* @param classes
*/
public static void findAndAddClassesInPackageByFile(String packageName, String packagePath, final boolean recursive, List<Class<?>> classes) {
// 获取此包的目录 建立一个File
File dir = new File(packagePath);
// 如果不存在或者 也不是目录就直接返回
if (!dir.exists() || !dir.isDirectory()) {
return;
}
// 如果存在 就获取包下的所有文件 包括目录
File[] dirfiles = dir.listFiles(new FileFilter() {
// 自定义过滤规则 如果可以循环(包含子目录) 或则是以.class结尾的文件(编译好的java类文件)
@Override
public boolean accept(File file) {
return (recursive && file.isDirectory()) || (file.getName().endsWith(".class"));
}
});
// 循环所有文件
for (File file : dirfiles) {
// 如果是目录 则继续扫描
if (file.isDirectory()) {
findAndAddClassesInPackageByFile(packageName + "." + file.getName(), file.getAbsolutePath(), recursive, classes);
} else {
// 如果是java类文件 去掉后面的.class 只留下类名
String className = file.getName().substring(0, file.getName().length() - 6);
try {
// 添加到集合中去
classes.add(Class.forName(packageName + '.' + className));
} catch (ClassNotFoundException e) {
e.printStackTrace();
baseBean.writeLog(e);
}
}
}
}
}

@ -0,0 +1,12 @@
package com.engine.jucailin.util;
import java.util.HashMap;
import java.util.Map;
public class Constant {
public static final Map<String,String> modeToTable = new HashMap(){{
//周期设置表
put("kq_cycle_setting","1");
}};
}

@ -0,0 +1,248 @@
package com.engine.jucailin.util;
import weaver.general.TimeUtil;
import java.time.*;
import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoUnit;
import java.util.Calendar;
public class DateUtil {
public static DateTimeFormatter yyyyMMdd = DateTimeFormatter.ofPattern("yyyy-MM-dd");
public static DateTimeFormatter yyyyMMddHHmmss = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
public static DateTimeFormatter yyyyMMddHHmm = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm");
public static DateTimeFormatter yyyyMM = DateTimeFormatter.ofPattern("yyyy-MM");
public static DateTimeFormatter yyyy = DateTimeFormatter.ofPattern("yyyy");
public static String beforeMonth(String time,int month){
LocalDateTime localDateTime = DateUtil.getTime(time);
return localDateTime.minusMonths(month).format(yyyyMMdd);
}
public static String lastMonth(String time){
LocalDateTime localDateTime = DateUtil.getTime(time);
return localDateTime.plusMonths(1).format(yyyyMM);
}
public static String lastMonth(String time,DateTimeFormatter dateTimeFormatter){
LocalDateTime localDateTime = DateUtil.getTime(time);
return localDateTime.plusMonths(1).format(dateTimeFormatter);
}
public static String nextMonth(String time,int month,DateTimeFormatter dateTimeFormatter){
LocalDateTime localDateTime = DateUtil.getTime(time);
return localDateTime.plusMonths(month).format(dateTimeFormatter);
}
public static String nextYear(String time,int year,DateTimeFormatter dateTimeFormatter){
LocalDateTime localDateTime = DateUtil.getTime(time);
return localDateTime.plusYears(year).format(dateTimeFormatter);
}
public static String beforeYear(String time,int year,DateTimeFormatter dateTimeFormatter){
LocalDateTime localDateTime = DateUtil.getTime(time);
return localDateTime.minusYears(year).format(dateTimeFormatter);
}
public static String beforeDay(String time,long day){
LocalDateTime localDateTime = LocalDate.parse(time, yyyyMMdd).atStartOfDay();
return localDateTime.minusDays(day).format(yyyyMMdd);
}
public static String AfterDay(String time,long day){
LocalDateTime localDateTime = LocalDate.parse(time, yyyyMMdd).atStartOfDay();
return localDateTime.plusDays(day).format(yyyyMMdd);
}
public static String beforeMinutes(String time,long minutes){
LocalDateTime localDateTime = DateUtil.getTime(time);
return localDateTime.minusMinutes(minutes).format(yyyyMMddHHmm);
}
public static String AfterMinutes(String time,long minutes){
LocalDateTime localDateTime = DateUtil.getTime(time);
return localDateTime.plusMinutes(minutes).format(yyyyMMddHHmm);
}
public static String nowMonth(String time){
LocalDateTime localDateTime = LocalDate.parse(time, yyyyMMdd).atStartOfDay();
return localDateTime.format(yyyyMM);
}
public static String getCurrentDate(){
return LocalDateTime.now().format(yyyyMMdd);
}
public static String getCurrentTime(){
return LocalDateTime.now().format(yyyyMMddHHmmss);
}
public static String getCurrentTime(String timeType){
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(timeType);
return LocalDateTime.now().format(formatter);
}
//获得往后日期
public static String getCurrentDatePlusDay(int day){
return LocalDateTime.now().plusDays(day).format(yyyyMMdd);
}
//获得往前日期
public static String getCurrentDateMinusDay(int day){
return LocalDateTime.now().minusDays(day).format(yyyyMMdd);
}
public static LocalDateTime getTime(String time){
int length = time.length();
switch (length){
case 10:
return LocalDate.parse(time, yyyyMMdd).atStartOfDay();
case 19:
return LocalDateTime.parse(time, yyyyMMddHHmmss);
case 16:
return LocalDateTime.parse(time, yyyyMMddHHmm);
}
return null;
}
/**
*
* @param startTime yyyy-MM-dd HH:mm:ss
* @return
*/
public static long getBetWeenHours(String startTime){
Duration duration = Duration.between(LocalDateTime.parse(startTime,yyyyMMddHHmmss),LocalDateTime.now());
return duration.toHours();
}
/**
*
* @param startTime yyyy-MM-dd
* @return
*/
public static int getBetWeenYears(String startTime){
Period duration = Period.between(LocalDate.parse(startTime,yyyyMMdd),LocalDateTime.now().toLocalDate());
return duration.getYears();
}
/**
*
* @param startTime yyyy-MM-dd
* @return
*/
public static int getBetWeenYears(String startTime,String endTime){
Period duration = Period.between(LocalDate.parse(startTime,yyyyMMdd),LocalDate.parse(endTime,yyyyMMdd));
return duration.getYears();
}
/**
*
* @param startTime yyyy-MM-dd
* @return
*/
public static int getBetWeenMonths(String startTime,String endTime){
LocalDateTime startDate = DateUtil.getTime(startTime);
LocalDateTime endDate = DateUtil.getTime(endTime);
YearMonth startYearMonth = YearMonth.from(startDate);
YearMonth endYearMonth = YearMonth.from(endDate);
int betweenMonth = (int) ChronoUnit.MONTHS.between(startYearMonth, endYearMonth);
if (startDate.getDayOfMonth()>endDate.getDayOfMonth()){
betweenMonth= betweenMonth-1;
}
return betweenMonth;
}
/**
*
* @param startTime yyyy-MM-dd
* @return
*/
public static int getBetWeenDays(String startTime){
LocalDate startDate = LocalDate.parse(startTime);
LocalDate endDate = LocalDateTime.now().toLocalDate();
long daysBetween = ChronoUnit.DAYS.between(startDate, endDate);
return Math.toIntExact(daysBetween);
}
/**
*
* @param startTime yyyy-MM-dd
* @return
*/
public static int getBetWeenDays(String startTime,String endTime){
LocalDate startDate = LocalDate.parse(startTime);
LocalDate endDate = LocalDate.parse(endTime);
long daysBetween = ChronoUnit.DAYS.between(startDate, endDate);
return Math.toIntExact(daysBetween);
}
/**
*
* @param startTime yyyy-MM-dd
* @return
*/
public static int getBetWeenMinutes(String startTime,String endTime,DateTimeFormatter formatter){
LocalDateTime startDate = LocalDateTime.parse(startTime,formatter);
LocalDateTime endDate = LocalDateTime.parse(endTime,formatter);
long daysBetween = ChronoUnit.MINUTES.between(startDate, endDate);
return Math.toIntExact(daysBetween);
}
/**
*
* @param startTime yyyy-MM-dd
* @return
*/
public static int getBetWeenMinutes(String startTime,String endTime){
LocalDateTime startDate = DateUtil.getTime(startTime);
LocalDateTime endDate = DateUtil.getTime(endTime);
long daysBetween = ChronoUnit.MINUTES.between(startDate, endDate);
return Math.toIntExact(daysBetween);
}
/**
*
* @param startTime yyyy-MM-dd HH:mm:ss
* @param endTime yyyy-MM-dd HH:mm:ss
* @return
*/
public static long getBetWeenHours(String startTime,String endTime){
Duration duration = Duration.between(getTime(startTime),getTime(endTime));
return duration.toHours();
}
/**
*
* @param startTime
* @param endTime
* @return
*/
public static int getBetweenWeeks(String startTime,String endTime){
int days = getBetWeenDays(startTime,endTime);
int dayOfWeek = TimeUtil.getDayOfWeek(startTime);
if (dayOfWeek == 0){
dayOfWeek = 7;
}
days = days-(7-dayOfWeek);
return days/7;
}
/**
*
* @param time
* @return
*/
public static int getDays(String time,int CalendarType){
Calendar calendar = Calendar.getInstance();
calendar.set(Integer.valueOf(time.split("-")[0]), Integer.valueOf(time.split("-")[1]) - 1, 1);
return calendar.getActualMaximum(CalendarType);
}
}

@ -0,0 +1,132 @@
package com.engine.jucailin.util;
import com.google.common.collect.Maps;
import weaver.conn.RecordSet;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class DbTools {
private static ThreadLocal<RecordSet> thread = ThreadLocal.withInitial(()->new RecordSet());
public static List<Map<String,String>> getSqlToList(String sql,Object...value){
RecordSet rs = thread.get();
List<Map<String,String>> result = new ArrayList<>();
if (value == null || value.length <=0 || "".equals(value)){
rs.executeQuery(sql);
}else {
rs.executeQuery(sql,value);
}
while (rs.next()){
Map<String,String> dataMap = new HashMap<>();
String[] columns = rs.getColumnName();
for (String column:columns){
dataMap.put(column,rs.getString(column));
}
result.add(dataMap);
}
return result;
}
public static List<Map<String,Object>> getSqlToListKeySmallLetter(String sql,Object...value){
RecordSet rs = thread.get();
List<Map<String,Object>> result = new ArrayList<>();
if (value == null || value.length <=0 || "".equals(value)){
rs.executeQuery(sql);
}else {
rs.executeQuery(sql,value);
}
while (rs.next()){
Map<String,Object> dataMap = new HashMap<>();
String[] columns = rs.getColumnName();
for (String column:columns){
dataMap.put(column.toLowerCase(),rs.getString(column));
}
result.add(dataMap);
}
return result;
}
public static Map<String,String> getSqlToMap(String sql,Object...value){
RecordSet rs = thread.get();
Map<String,String> result = Maps.newHashMap();
if (value == null || value.length <=0 || "".equals(value)){
rs.executeQuery(sql);
}else {
rs.executeQuery(sql,value);
}
if (rs.next()){
String[] columns = rs.getColumnName();
for (String column:columns){
result.put(column.toLowerCase(),rs.getString(column));
}
}
return result;
}
public static Map<String,Object> getSqlToMapList(String sql,Object...value){
RecordSet rs = thread.get();
Map<String,Object> result = Maps.newHashMap();
if (value == null || value.length <=0 || "".equals(value)){
rs.executeQuery(sql);
}else {
rs.executeQuery(sql,value);
}
while (rs.next()){
result.put(rs.getString("id"),rs.getString("name"));
}
return result;
}
public static boolean update(String sql,Object...value){
RecordSet rs = thread.get();
if (value == null || value.length <=0 || "".equals(value)){
return rs.executeUpdate(sql);
}else {
return rs.executeUpdate(sql,value);
}
}
public static boolean update(RecordSet rs,String sql,Object...value){
if (value == null || value.length <=0 || "".equals(value)){
return rs.executeUpdate(sql);
}else {
return rs.executeUpdate(sql,value);
}
}
/**
* sql
* @param sql
* @param value
* @return
*/
public static String getSql(String sql,Object...value){
RecordSet rs = thread.get();
rs.executeQuery(sql,value);
String sentenceSql = "";
if (rs.next()){
sentenceSql = rs.getString("sentence");
}
return sentenceSql;
}
public static boolean updateBatch(String sql,List<List> dataList){
RecordSet rs = thread.get();
return rs.executeBatchSql(sql,dataList);
}
}

@ -0,0 +1,12 @@
package com.engine.jucailin.util;
import java.sql.Date;
public class KQDateUtil {
public static Date getUpdateDate(){
Long now = System.currentTimeMillis();
Date date = new Date(now);
return date;
}
}

@ -0,0 +1,67 @@
package com.engine.jucailin.util;
import weaver.general.Util;
import java.util.Map;
/**
*
*/
public class ListConversionMethod {
/**
*
*
* @param userfor 0-1-2-3-4-
* @param languageId
* @return
*/
public String getPersonGroupUserFor(String userfor, String languageId) {
String userforShow = "";
int language = Util.getIntValue(languageId, 7);
if (userfor.equals("0")) {
userforShow = "通用";
} else if (userfor.equals("1")) {
userforShow = "排班";
} else if (userfor.equals("2")) {
userforShow = "打卡";
} else if (userfor.equals("3")) {
userforShow = "假期额度";
} else if (userfor.equals("4")) {
userforShow = "考勤方案";
}else if (userfor.equals("4")) {
userforShow = "管理员权限";
}
return userforShow;
}
/**
*
*
* @param languageId
* @return
*/
public String getCyclestate(String cyclestate, String languageId) {
String stateShow = "";
int language = Util.getIntValue(languageId, 7);
if (cyclestate.equals("0")) {
stateShow = "待关账";
} else if (cyclestate.equals("1")) {
stateShow = "已关账";
} else if (cyclestate.equals("2")) {
stateShow = "已结账";
}
return stateShow;
}
/**
*
* @return
*/
public String getCycleName(String cyclename, String languageId) {
String sql = "select cyclename from kq_cycle_setting where id="+cyclename;
Map<String,String> data = DbTools.getSqlToMap(sql);
return data.get("cyclename");
}
}

@ -0,0 +1,36 @@
package com.engine.jucailin.util;
import java.util.UUID;
/**
* Reactpageuid
*
* @author lvyi
*/
public class PageUidFactory {
/**
* ReactpageuidMainUID
*
* @return
*/
public static String getHrmPageUid(String param){
if("KQPersonGroupList".equals(param)){
return "d0c6abf5-b722-4187-ac6c-e8735a01c329";
}else if("KQCycleSettingList".equals(param)){
return "01c6e218-5d4a-4826-9e4a-d123924d58ce";
}else if("KQCycleList".equals(param)){
return "c1dc1669-8a8d-4c4f-b80c-c9a3e2eaa0dc";
}else{
return "";
}
}
public static void main(String[] args){
for(int i=0; i<10; i++){
UUID uuid = UUID.randomUUID();
System.err.println(uuid);
}
}
}

@ -0,0 +1,185 @@
package com.engine.jucailin.util;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.engine.common.service.HrmCommonService;
import com.engine.common.service.impl.HrmCommonServiceImpl;
import com.engine.core.exception.ECException;
import com.engine.jucailin.exception.AttendanceRunTimeException;
import com.engine.jucailin.exception.ExceptionUtil;
import com.engine.kq.log.KQLog;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.google.gson.Gson;
import weaver.general.BaseBean;
import weaver.hrm.User;
import java.util.HashMap;
import java.util.Map;
import java.util.function.Consumer;
import java.util.function.Function;
import java.util.function.Supplier;
/**
*
* <p>Copyright: Copyright (c) 2022</p>
* <p>Company: </p>
*
* @author qiantao
* @version 1.0
**/
public class ResponseResult<T, R> {
private static final long serialVersionUID = 1L;
private final User user;
private final HrmCommonService hrmCommonService = new HrmCommonServiceImpl();
private final BaseBean baseBean = new BaseBean();
private final Boolean isLog = true;
private KQLog log = new KQLog();
public ResponseResult(User user) {
this.user = user;
}
private static Gson gson = new Gson();
/**
*
*/
public String run(Function<T, R> f, T t) {
try {
if (isLog) {
log.info("run attendance api , param "+t);
}
return Ok(f.apply(t));
} catch (AttendanceRunTimeException e) {
log.error("attendance api run fail , param "+ t, e);
return Error(e.getMessage());
} catch (ECException e) {
log.error("attendance api run fail , param "+t, e);
Throwable cause = e.getCause();
String message = "";
while (cause != null) {
Throwable causeTmp = cause.getCause();
if (causeTmp == null) {
message = cause.getMessage();
}
cause = causeTmp;
}
return Error(message);
} catch (Exception e) {
log.error("attendance api run fail , param "+t, e);
return Error("系统异常!");
}
}
/**
*
*/
public String run(Consumer<T> f, T t) {
try {
if (isLog) {
log.info("run attendance api , param "+t);
}
f.accept(t);
return Ok();
} catch (AttendanceRunTimeException e) {
log.error("attendance api run fail , param "+t, e);
return Error(e.getMessage());
} catch (ECException e) {
log.error("attendance api run fail , param "+t, e);
return Error(ExceptionUtil.getRealMessage(e));
} catch (Exception e) {
log.error("attendance api run fail , param "+t, e);
return Error("系统异常!", e);
}
}
/**
*
*/
public String run(Supplier<R> f) {
try {
if (isLog) {
log.info("run attendance api");
}
return Ok(f.get());
} catch (AttendanceRunTimeException e) {
log.error("attendance api run fail", e);
return Error(e.getMessage());
} catch (ECException e) {
log.error("attendance api run fail", e);
Throwable cause = e.getCause();
return Error(cause.getMessage());
} catch (Exception e) {
log.error("attendance api run fail", e);
return Error("系统异常!", e);
}
}
private static String getJsonString(Object apidatas) throws JsonProcessingException {
// ObjectMapper mapper = new ObjectMapper();
// return mapper.writeValueAsString(apidatas);
return JSONObject.toJSONString(apidatas);
}
/**
*
*/
private String Ok() throws JsonProcessingException {
Map<String, Object> apidatas = new HashMap<>();
apidatas.put("api_status", true);
String success = getJsonString(apidatas);
return success;
}
/**
*
*/
private String Ok(R r) throws JsonProcessingException {
Map<String, Object> apidatas = new HashMap<>();
apidatas.put("api_status", true);
apidatas.put("data", r);
String success = getJsonString(apidatas);
if (isLog) {
log.info("run attendance api success return "+success);
}
return success;
}
/**
*
*/
private static String Error(String message) {
Map<String, Object> apidatas = new HashMap<>();
apidatas.put("api_status", false);
apidatas.put("api_errormsg", message);
return JSONObject.toJSONString(apidatas, SerializerFeature.DisableCircularReferenceDetect);
}
/**
*
*/
private static String Error(String message, Exception e) {
Map<String, Object> apidatas = new HashMap<>();
apidatas.put("api_status", false);
apidatas.put("api_errormsg", message);
apidatas.put("error", e.getMessage());
return JSONObject.toJSONString(apidatas, SerializerFeature.DisableCircularReferenceDetect);
}
}

@ -0,0 +1,60 @@
package com.engine.jucailin.web;
import com.engine.common.util.ParamUtil;
import com.engine.common.util.ServiceUtil;
import com.engine.jucailin.service.KQCalendarSettingService;
import com.engine.jucailin.service.impl.KQCalendarSettingServiceImpl;
import com.engine.jucailin.util.ResponseResult;
import weaver.hrm.HrmUserVarify;
import weaver.hrm.User;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import java.util.Map;
/**
* @Author: sy
* @Description:
* @Date: 2024/2/27
**/
public class KQCalendarSettingAction {
private KQCalendarSettingService getKQCalendarSettingService(User user) {
return ServiceUtil.getService(KQCalendarSettingServiceImpl.class,user);
}
/**
*
* @param request
* @param response
* @return
*/
@GET
@Path("/getCalendarSettingList")
@Produces(MediaType.APPLICATION_JSON)
public String getCalendarSettingList(@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) :: getCalendarSettingList,param);
}
/**
*
* @param request
* @param response
* @return
*/
@GET
@Path("/getCalendarSettingForm")
@Produces(MediaType.APPLICATION_JSON)
public String getCalendarSettingForm(@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) :: getCalendarSettingForm,param);
}
}

@ -0,0 +1,76 @@
package com.engine.jucailin.web;
import com.engine.common.util.ParamUtil;
import com.engine.common.util.ServiceUtil;
import com.engine.jucailin.service.KQCommonService;
import com.engine.jucailin.service.impl.KQCommonServiceImpl;
import com.engine.jucailin.util.ResponseResult;
import lombok.extern.slf4j.Slf4j;
import oracle.jdbc.proxy.annotation.Post;
import weaver.hrm.HrmUserVarify;
import weaver.hrm.User;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import java.util.Map;
@Slf4j
public class KQCommonAction {
private KQCommonService getKQCommonService(User user) {
return ServiceUtil.getService(KQCommonServiceImpl.class,user);
}
/**
*
* @param request
* @param response
* @return
*/
@GET
@Path("/doSubmit")
@Produces(MediaType.APPLICATION_JSON)
public String saveKQData(@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(getKQCommonService(user) :: saveKQData,param);
}
/**
*
* @param request
* @param response
* @return
*/
@GET
@Path("/doQueryCommon")
@Produces(MediaType.APPLICATION_JSON)
public String doQueryCommon(@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(getKQCommonService(user) :: doQueryCommon,param);
}
/**
*
* @param request
* @param response
* @return
*/
@GET
@Path("/delCommon")
@Produces(MediaType.APPLICATION_JSON)
public String delCommon(@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(getKQCommonService(user) :: delCommon,param);
}
}

@ -0,0 +1,99 @@
package com.engine.jucailin.web;
import com.engine.common.util.ParamUtil;
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;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import java.util.Map;
public class KQCycleSettingAction {
private KQCycleSettingService getKQCycleSettingService(User user) {
return ServiceUtil.getService(KQCycleSettingServiceImpl.class,user);
}
/**
*
* @param request
* @param response
* @return
*/
@GET
@Path("/getCycleSettingList")
@Produces(MediaType.APPLICATION_JSON)
public String getCycleSettingList(@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) :: getCycleSettingList,param);
}
/**
*
* @param request
* @param response
* @return
*/
@GET
@Path("/getCycleSettingTree")
@Produces(MediaType.APPLICATION_JSON)
public String getCycleSettingTree(@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) :: getCycleSettingTree,param);
}
/**
*
* @param request
* @param response
* @return
*/
@GET
@Path("/getCycleSettingForm")
@Produces(MediaType.APPLICATION_JSON)
public String getCycleSettingForm(@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) :: getCycleSettingForm,param);
}
/**
*
* @param request
* @param response
* @return
*/
@GET
@Path("/getCycleList")
@Produces(MediaType.APPLICATION_JSON)
public String getCycleList(@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) :: getCycleList,param);
}
/**
*
* @param request
* @param response
* @return
*/
@GET
@Path("/getCycleForm")
@Produces(MediaType.APPLICATION_JSON)
public String getCycleForm(@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) :: getCycleForm,param);
}
}

@ -0,0 +1,103 @@
package com.engine.jucailin.web;
import com.engine.common.util.ParamUtil;
import com.engine.common.util.ServiceUtil;
import com.engine.jucailin.service.KQPersonGroupService;
import com.engine.jucailin.service.impl.KQPersonGroupServiceImpl;
import com.engine.jucailin.util.ResponseResult;
import lombok.extern.slf4j.Slf4j;
import weaver.hrm.HrmUserVarify;
import weaver.hrm.User;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import java.util.Map;
@Slf4j
public class KQPersonGroupAction {
private KQPersonGroupService getKQCommonService(User user) {
return ServiceUtil.getService(KQPersonGroupServiceImpl.class,user);
}
/**
*
* @param request
* @param response
* @return
*/
@GET
@Path("/getPersonGroupList")
@Produces(MediaType.APPLICATION_JSON)
public String getPersonGroupList(@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(getKQCommonService(user) :: getPersonGroupList,param);
}
/**
*
* @param request
* @param response
* @return
*/
@GET
@Path("/getSuitOrganzationList")
@Produces(MediaType.APPLICATION_JSON)
public String getSuitOrganzationList(@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(getKQCommonService(user) :: getSuitOrganzationList,param);
}
/**
*
* @param request
* @param response
* @return
*/
@GET
@Path("/getSuitOrganzationForm")
@Produces(MediaType.APPLICATION_JSON)
public String getSuitOrganzationForm(@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(getKQCommonService(user) :: getSuitOrganzationForm,param);
}
/**
*
* @param request
* @param response
* @return
*/
@GET
@Path("/saveSuitOrganzation")
@Produces(MediaType.APPLICATION_JSON)
public String saveSuitOrganzation(@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(getKQCommonService(user) :: saveSuitOrganzation,param);
}
/**
*
* @param request
* @param response
* @return
*/
@GET
@Path("/delSuitOrganzation")
@Produces(MediaType.APPLICATION_JSON)
public String delSuitOrganzation(@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(getKQCommonService(user) :: delSuitOrganzation,param);
}
}

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

Loading…
Cancel
Save