diff --git a/resource/WEB-INF/prop/hrmSalary.properties b/resource/WEB-INF/prop/hrmSalary.properties
index e8125608b..55360c99a 100644
--- a/resource/WEB-INF/prop/hrmSalary.properties
+++ b/resource/WEB-INF/prop/hrmSalary.properties
@@ -1,5 +1,5 @@
log=false
defaultCloseNonStandard149=true
AESEncryptScrect=990EB004A1C862721C1513AE90038C9E
-version=2.19.1.2501.01
+version=3.0.1.2503.01
openFormulaForcedEditing=false
\ No newline at end of file
diff --git a/resource/WEB-INF/salaryoptconfig.xml b/resource/WEB-INF/salaryoptconfig.xml
new file mode 100644
index 000000000..cc4c607b8
--- /dev/null
+++ b/resource/WEB-INF/salaryoptconfig.xml
@@ -0,0 +1,113 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/resource/sqlupgrade/DM/sql202409240201.sql b/resource/sqlupgrade/DM/sql202409240201.sql
new file mode 100644
index 000000000..36b6745cc
--- /dev/null
+++ b/resource/sqlupgrade/DM/sql202409240201.sql
@@ -0,0 +1,24 @@
+delete from HtmlLabelIndex where id = 548105 and ( trim(indexdesc) is null ) ;
+/
+
+insert into HtmlLabelIndex(id,indexdesc) select 548105,'业务线管理' from HtmlLabelIndex where not exists (select id from HtmlLabelIndex where id = 548105 and ( trim(indexdesc) is not null )) and rownum = 1 ;
+/
+
+delete from HtmlLabelInfo where indexid = 548105 and languageid=7 and ( trim(labelname) is null ) ;
+/
+
+insert into HtmlLabelInfo(indexid,labelname,languageid) select * from (select 548105 as indexid ,'业务线管理' as content,7 as languageid from HtmlLabelInfo) t where not exists (select indexid,languageid from HtmlLabelInfo where indexid = 548105 and languageid=7 and ( trim(labelname) is not null )) and rownum = 1 ;
+/
+
+delete from HtmlLabelInfo where indexid = 548105 and languageid=8 and ( trim(labelname) is null or length(labelname)!=lengthb(labelname) ) ;
+/
+
+insert into HtmlLabelInfo(indexid,labelname,languageid) select * from (select 548105 as indexid ,'Business Line Management' as content,8 as languageid from HtmlLabelInfo) t where not exists (select indexid,languageid from HtmlLabelInfo where indexid = 548105 and languageid=8 and ( trim(labelname) is not null and length(labelname)=lengthb(labelname) )) and rownum = 1 ;
+/
+
+delete from HtmlLabelInfo where indexid = 548105 and languageid=9 and ( trim(labelname) is null ) ;
+/
+
+insert into HtmlLabelInfo(indexid,labelname,languageid) select * from (select 548105 as indexid ,'業務線管理' as content,9 as languageid from HtmlLabelInfo) t where not exists (select indexid,languageid from HtmlLabelInfo where indexid = 548105 and languageid=9 and ( trim(labelname) is not null )) and rownum = 1 ;
+/
+
diff --git a/resource/sqlupgrade/DM/sql202409240302.sql b/resource/sqlupgrade/DM/sql202409240302.sql
new file mode 100644
index 000000000..9573a689b
--- /dev/null
+++ b/resource/sqlupgrade/DM/sql202409240302.sql
@@ -0,0 +1,15 @@
+Delete from LeftMenuInfo where id=100220;
+/
+
+Delete from LeftMenuConfig where infoid=100220;
+/
+
+call LMConfig_U_ByInfoInsert (2,100181,0);
+/
+
+call LMInfo_Insert (100220,548105,'','',2,100181,5,2);
+/
+
+update LeftMenuInfo set mobxrouteurl = '',iconClassName = '',fullrouteurl='/spa/hrmSalary/static/index.html#/main/hrmSalary/roleManagement' where id = 100220;
+/
+
diff --git a/resource/sqlupgrade/DM/sql202409240403.sql b/resource/sqlupgrade/DM/sql202409240403.sql
new file mode 100644
index 000000000..10b2b4813
--- /dev/null
+++ b/resource/sqlupgrade/DM/sql202409240403.sql
@@ -0,0 +1,113 @@
+CREATE TABLE hrsa_auth_data
+(
+ id NUMBER(38,0) primary key NOT NULL,
+ role_id NUMBER(38,0) NOT NULL,
+ link number NOT NULL,
+ target_type number NOT NULL,
+ target varchar2(4000),
+ target_name varchar2(4000),
+ sorted_index number NOT NULL,
+ creator NUMBER(38,0) NOT NULL,
+ create_time DATE NOT NULL,
+ update_time DATE NOT NULL,
+ delete_type number NOT NULL,
+ tenant_key varchar2(10)
+);
+/
+
+CREATE TABLE hrsa_auth_member
+(
+ id NUMBER(38,0) primary key NOT NULL,
+ role_id NUMBER(38,0) NOT NULL,
+ target_type number NOT NULL,
+ target varchar2(4000) NOT NULL,
+ target_name varchar2(4000) NOT NULL,
+ creator NUMBER(38,0) NOT NULL,
+ create_time DATE NOT NULL,
+ update_time DATE NOT NULL,
+ delete_type number NOT NULL,
+ tenant_key varchar2(10)
+);
+/
+
+CREATE TABLE hrsa_auth_opt
+(
+ id NUMBER(38,0) primary key NOT NULL,
+ role_id NUMBER(38,0) NOT NULL,
+ page varchar2(200) NOT NULL,
+ opt varchar2(200) NOT NULL,
+ creator NUMBER(38,0) NOT NULL,
+ create_time DATE NOT NULL,
+ update_time DATE NOT NULL,
+ delete_type number NOT NULL,
+ tenant_key varchar2(10)
+);
+/
+
+CREATE TABLE hrsa_auth_role
+(
+ id NUMBER(38,0) primary key NOT NULL,
+ name varchar2(255) NOT NULL,
+ description varchar2(400),
+ creator NUMBER(38,0) NOT NULL,
+ create_time DATE NOT NULL,
+ update_time DATE NOT NULL,
+ delete_type number NOT NULL,
+ tenant_key varchar2(10) NOT NULL
+);
+/
+
+CREATE TABLE hrsa_auth_role_data
+(
+ id NUMBER(38,0) primary key NOT NULL,
+ role_id NUMBER(38,0) NOT NULL,
+ employee_id NUMBER(38,0) NOT NULL,
+ creator NUMBER(38,0) NOT NULL,
+ create_time DATE NOT NULL,
+ update_time DATE NOT NULL,
+ delete_type number NOT NULL,
+ tenant_key varchar2(10) NOT NULL
+);
+/
+
+CREATE TABLE hrsa_auth_role_emp
+(
+ id NUMBER(38,0) primary key NOT NULL,
+ role_id NUMBER(38,0) NOT NULL,
+ employee_id NUMBER(38,0) NOT NULL,
+ creator NUMBER(38,0) NOT NULL,
+ create_time DATE NOT NULL,
+ update_time DATE NOT NULL,
+ delete_type number NOT NULL,
+ tenant_key varchar2(10) NOT NULL
+);
+/
+
+CREATE TABLE hrsa_auth_resource
+(
+ id NUMBER(38,0) primary key NOT NULL,
+ role_id NUMBER(38,0) NOT NULL,
+ target_type number NOT NULL,
+ target NUMBER(38,0) NOT NULL,
+ target_name varchar2(255),
+ creator NUMBER(38,0) NOT NULL,
+ create_time DATE NOT NULL,
+ update_time DATE NOT NULL,
+ delete_type number NOT NULL,
+ tenant_key varchar2(10)
+);
+/
+
+CREATE TABLE hrsa_sob_tax_link
+(
+ id NUMBER(38,0) primary key NOT NULL,
+ sob_id NUMBER(38,0) NOT NULL,
+ tax_agent_id NUMBER(38,0) NOT NULL,
+ creator NUMBER(38,0) NOT NULL,
+ create_time DATE NOT NULL,
+ update_time DATE NOT NULL,
+ delete_type number NOT NULL,
+ tenant_key varchar2(10)
+);
+/
+
diff --git a/resource/sqlupgrade/GS/sql202409240201.sql b/resource/sqlupgrade/GS/sql202409240201.sql
new file mode 100644
index 000000000..36b6745cc
--- /dev/null
+++ b/resource/sqlupgrade/GS/sql202409240201.sql
@@ -0,0 +1,24 @@
+delete from HtmlLabelIndex where id = 548105 and ( trim(indexdesc) is null ) ;
+/
+
+insert into HtmlLabelIndex(id,indexdesc) select 548105,'业务线管理' from HtmlLabelIndex where not exists (select id from HtmlLabelIndex where id = 548105 and ( trim(indexdesc) is not null )) and rownum = 1 ;
+/
+
+delete from HtmlLabelInfo where indexid = 548105 and languageid=7 and ( trim(labelname) is null ) ;
+/
+
+insert into HtmlLabelInfo(indexid,labelname,languageid) select * from (select 548105 as indexid ,'业务线管理' as content,7 as languageid from HtmlLabelInfo) t where not exists (select indexid,languageid from HtmlLabelInfo where indexid = 548105 and languageid=7 and ( trim(labelname) is not null )) and rownum = 1 ;
+/
+
+delete from HtmlLabelInfo where indexid = 548105 and languageid=8 and ( trim(labelname) is null or length(labelname)!=lengthb(labelname) ) ;
+/
+
+insert into HtmlLabelInfo(indexid,labelname,languageid) select * from (select 548105 as indexid ,'Business Line Management' as content,8 as languageid from HtmlLabelInfo) t where not exists (select indexid,languageid from HtmlLabelInfo where indexid = 548105 and languageid=8 and ( trim(labelname) is not null and length(labelname)=lengthb(labelname) )) and rownum = 1 ;
+/
+
+delete from HtmlLabelInfo where indexid = 548105 and languageid=9 and ( trim(labelname) is null ) ;
+/
+
+insert into HtmlLabelInfo(indexid,labelname,languageid) select * from (select 548105 as indexid ,'業務線管理' as content,9 as languageid from HtmlLabelInfo) t where not exists (select indexid,languageid from HtmlLabelInfo where indexid = 548105 and languageid=9 and ( trim(labelname) is not null )) and rownum = 1 ;
+/
+
diff --git a/resource/sqlupgrade/GS/sql202409240302.sql b/resource/sqlupgrade/GS/sql202409240302.sql
new file mode 100644
index 000000000..9573a689b
--- /dev/null
+++ b/resource/sqlupgrade/GS/sql202409240302.sql
@@ -0,0 +1,15 @@
+Delete from LeftMenuInfo where id=100220;
+/
+
+Delete from LeftMenuConfig where infoid=100220;
+/
+
+call LMConfig_U_ByInfoInsert (2,100181,0);
+/
+
+call LMInfo_Insert (100220,548105,'','',2,100181,5,2);
+/
+
+update LeftMenuInfo set mobxrouteurl = '',iconClassName = '',fullrouteurl='/spa/hrmSalary/static/index.html#/main/hrmSalary/roleManagement' where id = 100220;
+/
+
diff --git a/resource/sqlupgrade/GS/sql202409240403.sql b/resource/sqlupgrade/GS/sql202409240403.sql
new file mode 100644
index 000000000..10b2b4813
--- /dev/null
+++ b/resource/sqlupgrade/GS/sql202409240403.sql
@@ -0,0 +1,113 @@
+CREATE TABLE hrsa_auth_data
+(
+ id NUMBER(38,0) primary key NOT NULL,
+ role_id NUMBER(38,0) NOT NULL,
+ link number NOT NULL,
+ target_type number NOT NULL,
+ target varchar2(4000),
+ target_name varchar2(4000),
+ sorted_index number NOT NULL,
+ creator NUMBER(38,0) NOT NULL,
+ create_time DATE NOT NULL,
+ update_time DATE NOT NULL,
+ delete_type number NOT NULL,
+ tenant_key varchar2(10)
+);
+/
+
+CREATE TABLE hrsa_auth_member
+(
+ id NUMBER(38,0) primary key NOT NULL,
+ role_id NUMBER(38,0) NOT NULL,
+ target_type number NOT NULL,
+ target varchar2(4000) NOT NULL,
+ target_name varchar2(4000) NOT NULL,
+ creator NUMBER(38,0) NOT NULL,
+ create_time DATE NOT NULL,
+ update_time DATE NOT NULL,
+ delete_type number NOT NULL,
+ tenant_key varchar2(10)
+);
+/
+
+CREATE TABLE hrsa_auth_opt
+(
+ id NUMBER(38,0) primary key NOT NULL,
+ role_id NUMBER(38,0) NOT NULL,
+ page varchar2(200) NOT NULL,
+ opt varchar2(200) NOT NULL,
+ creator NUMBER(38,0) NOT NULL,
+ create_time DATE NOT NULL,
+ update_time DATE NOT NULL,
+ delete_type number NOT NULL,
+ tenant_key varchar2(10)
+);
+/
+
+CREATE TABLE hrsa_auth_role
+(
+ id NUMBER(38,0) primary key NOT NULL,
+ name varchar2(255) NOT NULL,
+ description varchar2(400),
+ creator NUMBER(38,0) NOT NULL,
+ create_time DATE NOT NULL,
+ update_time DATE NOT NULL,
+ delete_type number NOT NULL,
+ tenant_key varchar2(10) NOT NULL
+);
+/
+
+CREATE TABLE hrsa_auth_role_data
+(
+ id NUMBER(38,0) primary key NOT NULL,
+ role_id NUMBER(38,0) NOT NULL,
+ employee_id NUMBER(38,0) NOT NULL,
+ creator NUMBER(38,0) NOT NULL,
+ create_time DATE NOT NULL,
+ update_time DATE NOT NULL,
+ delete_type number NOT NULL,
+ tenant_key varchar2(10) NOT NULL
+);
+/
+
+CREATE TABLE hrsa_auth_role_emp
+(
+ id NUMBER(38,0) primary key NOT NULL,
+ role_id NUMBER(38,0) NOT NULL,
+ employee_id NUMBER(38,0) NOT NULL,
+ creator NUMBER(38,0) NOT NULL,
+ create_time DATE NOT NULL,
+ update_time DATE NOT NULL,
+ delete_type number NOT NULL,
+ tenant_key varchar2(10) NOT NULL
+);
+/
+
+CREATE TABLE hrsa_auth_resource
+(
+ id NUMBER(38,0) primary key NOT NULL,
+ role_id NUMBER(38,0) NOT NULL,
+ target_type number NOT NULL,
+ target NUMBER(38,0) NOT NULL,
+ target_name varchar2(255),
+ creator NUMBER(38,0) NOT NULL,
+ create_time DATE NOT NULL,
+ update_time DATE NOT NULL,
+ delete_type number NOT NULL,
+ tenant_key varchar2(10)
+);
+/
+
+CREATE TABLE hrsa_sob_tax_link
+(
+ id NUMBER(38,0) primary key NOT NULL,
+ sob_id NUMBER(38,0) NOT NULL,
+ tax_agent_id NUMBER(38,0) NOT NULL,
+ creator NUMBER(38,0) NOT NULL,
+ create_time DATE NOT NULL,
+ update_time DATE NOT NULL,
+ delete_type number NOT NULL,
+ tenant_key varchar2(10)
+);
+/
+
diff --git a/resource/sqlupgrade/JC/sql202409240201.sql b/resource/sqlupgrade/JC/sql202409240201.sql
new file mode 100644
index 000000000..36b6745cc
--- /dev/null
+++ b/resource/sqlupgrade/JC/sql202409240201.sql
@@ -0,0 +1,24 @@
+delete from HtmlLabelIndex where id = 548105 and ( trim(indexdesc) is null ) ;
+/
+
+insert into HtmlLabelIndex(id,indexdesc) select 548105,'业务线管理' from HtmlLabelIndex where not exists (select id from HtmlLabelIndex where id = 548105 and ( trim(indexdesc) is not null )) and rownum = 1 ;
+/
+
+delete from HtmlLabelInfo where indexid = 548105 and languageid=7 and ( trim(labelname) is null ) ;
+/
+
+insert into HtmlLabelInfo(indexid,labelname,languageid) select * from (select 548105 as indexid ,'业务线管理' as content,7 as languageid from HtmlLabelInfo) t where not exists (select indexid,languageid from HtmlLabelInfo where indexid = 548105 and languageid=7 and ( trim(labelname) is not null )) and rownum = 1 ;
+/
+
+delete from HtmlLabelInfo where indexid = 548105 and languageid=8 and ( trim(labelname) is null or length(labelname)!=lengthb(labelname) ) ;
+/
+
+insert into HtmlLabelInfo(indexid,labelname,languageid) select * from (select 548105 as indexid ,'Business Line Management' as content,8 as languageid from HtmlLabelInfo) t where not exists (select indexid,languageid from HtmlLabelInfo where indexid = 548105 and languageid=8 and ( trim(labelname) is not null and length(labelname)=lengthb(labelname) )) and rownum = 1 ;
+/
+
+delete from HtmlLabelInfo where indexid = 548105 and languageid=9 and ( trim(labelname) is null ) ;
+/
+
+insert into HtmlLabelInfo(indexid,labelname,languageid) select * from (select 548105 as indexid ,'業務線管理' as content,9 as languageid from HtmlLabelInfo) t where not exists (select indexid,languageid from HtmlLabelInfo where indexid = 548105 and languageid=9 and ( trim(labelname) is not null )) and rownum = 1 ;
+/
+
diff --git a/resource/sqlupgrade/JC/sql202409240302.sql b/resource/sqlupgrade/JC/sql202409240302.sql
new file mode 100644
index 000000000..9573a689b
--- /dev/null
+++ b/resource/sqlupgrade/JC/sql202409240302.sql
@@ -0,0 +1,15 @@
+Delete from LeftMenuInfo where id=100220;
+/
+
+Delete from LeftMenuConfig where infoid=100220;
+/
+
+call LMConfig_U_ByInfoInsert (2,100181,0);
+/
+
+call LMInfo_Insert (100220,548105,'','',2,100181,5,2);
+/
+
+update LeftMenuInfo set mobxrouteurl = '',iconClassName = '',fullrouteurl='/spa/hrmSalary/static/index.html#/main/hrmSalary/roleManagement' where id = 100220;
+/
+
diff --git a/resource/sqlupgrade/JC/sql202409240403.sql b/resource/sqlupgrade/JC/sql202409240403.sql
new file mode 100644
index 000000000..10b2b4813
--- /dev/null
+++ b/resource/sqlupgrade/JC/sql202409240403.sql
@@ -0,0 +1,113 @@
+CREATE TABLE hrsa_auth_data
+(
+ id NUMBER(38,0) primary key NOT NULL,
+ role_id NUMBER(38,0) NOT NULL,
+ link number NOT NULL,
+ target_type number NOT NULL,
+ target varchar2(4000),
+ target_name varchar2(4000),
+ sorted_index number NOT NULL,
+ creator NUMBER(38,0) NOT NULL,
+ create_time DATE NOT NULL,
+ update_time DATE NOT NULL,
+ delete_type number NOT NULL,
+ tenant_key varchar2(10)
+);
+/
+
+CREATE TABLE hrsa_auth_member
+(
+ id NUMBER(38,0) primary key NOT NULL,
+ role_id NUMBER(38,0) NOT NULL,
+ target_type number NOT NULL,
+ target varchar2(4000) NOT NULL,
+ target_name varchar2(4000) NOT NULL,
+ creator NUMBER(38,0) NOT NULL,
+ create_time DATE NOT NULL,
+ update_time DATE NOT NULL,
+ delete_type number NOT NULL,
+ tenant_key varchar2(10)
+);
+/
+
+CREATE TABLE hrsa_auth_opt
+(
+ id NUMBER(38,0) primary key NOT NULL,
+ role_id NUMBER(38,0) NOT NULL,
+ page varchar2(200) NOT NULL,
+ opt varchar2(200) NOT NULL,
+ creator NUMBER(38,0) NOT NULL,
+ create_time DATE NOT NULL,
+ update_time DATE NOT NULL,
+ delete_type number NOT NULL,
+ tenant_key varchar2(10)
+);
+/
+
+CREATE TABLE hrsa_auth_role
+(
+ id NUMBER(38,0) primary key NOT NULL,
+ name varchar2(255) NOT NULL,
+ description varchar2(400),
+ creator NUMBER(38,0) NOT NULL,
+ create_time DATE NOT NULL,
+ update_time DATE NOT NULL,
+ delete_type number NOT NULL,
+ tenant_key varchar2(10) NOT NULL
+);
+/
+
+CREATE TABLE hrsa_auth_role_data
+(
+ id NUMBER(38,0) primary key NOT NULL,
+ role_id NUMBER(38,0) NOT NULL,
+ employee_id NUMBER(38,0) NOT NULL,
+ creator NUMBER(38,0) NOT NULL,
+ create_time DATE NOT NULL,
+ update_time DATE NOT NULL,
+ delete_type number NOT NULL,
+ tenant_key varchar2(10) NOT NULL
+);
+/
+
+CREATE TABLE hrsa_auth_role_emp
+(
+ id NUMBER(38,0) primary key NOT NULL,
+ role_id NUMBER(38,0) NOT NULL,
+ employee_id NUMBER(38,0) NOT NULL,
+ creator NUMBER(38,0) NOT NULL,
+ create_time DATE NOT NULL,
+ update_time DATE NOT NULL,
+ delete_type number NOT NULL,
+ tenant_key varchar2(10) NOT NULL
+);
+/
+
+CREATE TABLE hrsa_auth_resource
+(
+ id NUMBER(38,0) primary key NOT NULL,
+ role_id NUMBER(38,0) NOT NULL,
+ target_type number NOT NULL,
+ target NUMBER(38,0) NOT NULL,
+ target_name varchar2(255),
+ creator NUMBER(38,0) NOT NULL,
+ create_time DATE NOT NULL,
+ update_time DATE NOT NULL,
+ delete_type number NOT NULL,
+ tenant_key varchar2(10)
+);
+/
+
+CREATE TABLE hrsa_sob_tax_link
+(
+ id NUMBER(38,0) primary key NOT NULL,
+ sob_id NUMBER(38,0) NOT NULL,
+ tax_agent_id NUMBER(38,0) NOT NULL,
+ creator NUMBER(38,0) NOT NULL,
+ create_time DATE NOT NULL,
+ update_time DATE NOT NULL,
+ delete_type number NOT NULL,
+ tenant_key varchar2(10)
+);
+/
+
diff --git a/resource/sqlupgrade/Mysql/sql202409240201.sql b/resource/sqlupgrade/Mysql/sql202409240201.sql
new file mode 100644
index 000000000..b81eb2e8d
--- /dev/null
+++ b/resource/sqlupgrade/Mysql/sql202409240201.sql
@@ -0,0 +1,16 @@
+delete from HtmlLabelIndex where id = 548105 and ( indexdesc is null or indexdesc = '' )
+;
+insert into HtmlLabelIndex(id,indexdesc) select 548105,'业务线管理' from HtmlLabelIndex where not exists (select id from HtmlLabelIndex where id = 548105 and ( indexdesc is not null and indexdesc <> '' )) limit 1
+;
+delete from HtmlLabelInfo where indexid = 548105 and languageid=7 and ( labelname is null or labelname = '' )
+;
+insert into HtmlLabelInfo(indexid,labelname,languageid) select * from (select 548105 as indexid ,'业务线管理' as content,7 as languageid from HtmlLabelInfo) t where not exists (select indexid,languageid from HtmlLabelInfo where indexid = 548105 and languageid=7 and ( labelname is not null and labelname <> '' )) limit 1
+;
+delete from HtmlLabelInfo where indexid = 548105 and languageid=8 and ( labelname is null or labelname = '' or length(labelname)!=char_length(labelname) )
+;
+insert into HtmlLabelInfo(indexid,labelname,languageid) select * from (select 548105 as indexid ,'Business Line Management' as content,8 as languageid from HtmlLabelInfo) t where not exists (select indexid,languageid from HtmlLabelInfo where indexid = 548105 and languageid=8 and ( labelname is not null and labelname <> '' and length(labelname)=char_length(labelname) )) limit 1
+;
+delete from HtmlLabelInfo where indexid = 548105 and languageid=9 and ( labelname is null or labelname = '' )
+;
+insert into HtmlLabelInfo(indexid,labelname,languageid) select * from (select 548105 as indexid ,'業務線管理' as content,9 as languageid from HtmlLabelInfo) t where not exists (select indexid,languageid from HtmlLabelInfo where indexid = 548105 and languageid=9 and ( labelname is not null and labelname <> '' )) limit 1
+;
diff --git a/resource/sqlupgrade/Mysql/sql202409240302.sql b/resource/sqlupgrade/Mysql/sql202409240302.sql
new file mode 100644
index 000000000..8b215461e
--- /dev/null
+++ b/resource/sqlupgrade/Mysql/sql202409240302.sql
@@ -0,0 +1,10 @@
+Delete from LeftMenuInfo where id=100220
+;
+Delete from LeftMenuConfig where infoid=100220
+;
+call LMConfig_U_ByInfoInsert (2,100181,0)
+;
+call LMInfo_Insert (100220,548105,'','',2,100181,5,2)
+;
+update LeftMenuInfo set mobxrouteurl = '',iconClassName = '',fullrouteurl='/spa/hrmSalary/static/index.html#/main/hrmSalary/roleManagement' where id = 100220
+;
\ No newline at end of file
diff --git a/resource/sqlupgrade/Mysql/sql202409240403.sql b/resource/sqlupgrade/Mysql/sql202409240403.sql
new file mode 100644
index 000000000..17c461f3c
--- /dev/null
+++ b/resource/sqlupgrade/Mysql/sql202409240403.sql
@@ -0,0 +1,120 @@
+CREATE TABLE hrsa_auth_data
+(
+ id bigint(0) NOT NULL,
+ role_id bigint(0) NOT NULL,
+ link int(0) NOT NULL,
+ target_type int(0) NOT NULL,
+ target varchar(4000),
+ target_name varchar(4000),
+ sorted_index int(0) NOT NULL,
+ creator bigint(0) NOT NULL,
+ create_time datetime(0) NOT NULL,
+ update_time datetime(0) NOT NULL,
+ delete_type int(0) NOT NULL,
+ tenant_key varchar(10),
+ PRIMARY KEY (id) USING BTREE
+);
+
+
+
+CREATE TABLE hrsa_auth_member
+(
+ id bigint(0) NOT NULL,
+ role_id bigint(0) NOT NULL,
+ target_type int(0) NOT NULL,
+ target varchar(4000) NOT NULL,
+ target_name varchar(4000) NOT NULL,
+ creator bigint(0) NOT NULL,
+ create_time datetime(0) NOT NULL,
+ update_time datetime(0) NOT NULL,
+ delete_type int(0) NOT NULL,
+ tenant_key varchar(10),
+ PRIMARY KEY (id) USING BTREE
+);
+
+
+CREATE TABLE hrsa_auth_opt
+(
+ id bigint(0) NOT NULL,
+ role_id bigint(0) NOT NULL,
+ page varchar(200) NOT NULL,
+ opt varchar(200) NOT NULL,
+ creator bigint(0) NOT NULL,
+ create_time datetime(0) NOT NULL,
+ update_time datetime(0) NOT NULL,
+ delete_type int(0) NOT NULL,
+ tenant_key varchar(10),
+ PRIMARY KEY (id) USING BTREE
+);
+
+
+CREATE TABLE hrsa_auth_role
+(
+ id bigint(0) NOT NULL,
+ name varchar(255) NOT NULL,
+ description varchar(400),
+ creator bigint(0) NOT NULL,
+ create_time datetime(0) NOT NULL,
+ update_time datetime(0) NOT NULL,
+ delete_type int(0) NOT NULL,
+ tenant_key varchar(10) NOT NULL,
+ PRIMARY KEY (id) USING BTREE
+);
+
+
+CREATE TABLE hrsa_auth_role_data
+(
+ id bigint(0) NOT NULL,
+ role_id bigint(0) NOT NULL,
+ employee_id bigint(0) NOT NULL,
+ creator bigint(0) NOT NULL,
+ create_time datetime(0) NOT NULL,
+ update_time datetime(0) NOT NULL,
+ delete_type int(0) NOT NULL,
+ tenant_key varchar(10) NOT NULL,
+ PRIMARY KEY (id) USING BTREE
+);
+
+
+CREATE TABLE hrsa_auth_role_emp
+(
+ id bigint(0) NOT NULL,
+ role_id bigint(0) NOT NULL,
+ employee_id bigint(0) NOT NULL,
+ creator bigint(0) NOT NULL,
+ create_time datetime(0) NOT NULL,
+ update_time datetime(0) NOT NULL,
+ delete_type int(0) NOT NULL,
+ tenant_key varchar(10) NOT NULL,
+ PRIMARY KEY (id) USING BTREE
+);
+
+
+CREATE TABLE hrsa_auth_resource
+(
+ id bigint(0) NOT NULL,
+ role_id bigint(0) NOT NULL,
+ target_type int(0) NOT NULL,
+ target bigint(0) NOT NULL,
+ target_name varchar(255),
+ creator bigint(0) NOT NULL,
+ create_time datetime(0) NOT NULL,
+ update_time datetime(0) NOT NULL,
+ delete_type int(0) NOT NULL,
+ tenant_key varchar(10),
+ PRIMARY KEY (id) USING BTREE
+);
+
+
+CREATE TABLE hrsa_sob_tax_link
+(
+ id bigint(0) NOT NULL,
+ sob_id bigint(0) NOT NULL,
+ tax_agent_id bigint(0) NOT NULL,
+ creator bigint(0) NOT NULL,
+ create_time datetime(0) NOT NULL,
+ update_time datetime(0) NOT NULL,
+ delete_type int(0) NOT NULL,
+ tenant_key varchar(10) ,
+ PRIMARY KEY (id) USING BTREE
+) ;
diff --git a/resource/sqlupgrade/Mysql/sql202411190103.sql b/resource/sqlupgrade/Mysql/sql202411190103.sql
new file mode 100644
index 000000000..9ceb2c5b9
--- /dev/null
+++ b/resource/sqlupgrade/Mysql/sql202411190103.sql
@@ -0,0 +1,35 @@
+CREATE TABLE hrsa_push_setting
+(
+ id bigint(0) NOT NULL,
+ name varchar(200),
+ able int(0),
+ salary_sob_ids varchar(2000),
+ mode_id int(0),
+ mode_name varchar(200),
+ table_name varchar(200),
+ creator bigint(0),
+ create_time datetime(0),
+ update_time datetime(0),
+ delete_type int(0),
+ tenant_key varchar(10),
+ PRIMARY KEY (id) USING BTREE
+);
+
+
+CREATE TABLE hrsa_push_setting_item
+(
+ id bigint(0) NOT NULL,
+ setting_id bigint(0),
+ source varchar(100),
+ item varchar(200),
+ item_name varchar(200),
+ field_name varchar(200),
+ field_type int(0),
+ creator bigint(0),
+ create_time datetime(0),
+ update_time datetime(0),
+ delete_type int(0),
+ tenant_key varchar(10),
+ PRIMARY KEY (id) USING BTREE
+);
+
diff --git a/resource/sqlupgrade/Oracle/sql202409240201.sql b/resource/sqlupgrade/Oracle/sql202409240201.sql
new file mode 100644
index 000000000..83a4826ec
--- /dev/null
+++ b/resource/sqlupgrade/Oracle/sql202409240201.sql
@@ -0,0 +1,16 @@
+delete from HtmlLabelIndex where id = 548105 and ( trim(indexdesc) is null )
+/
+insert into HtmlLabelIndex(id,indexdesc) select 548105,'业务线管理' from HtmlLabelIndex where not exists (select id from HtmlLabelIndex where id = 548105 and ( trim(indexdesc) is not null )) and rownum = 1
+/
+delete from HtmlLabelInfo where indexid = 548105 and languageid=7 and ( trim(labelname) is null )
+/
+insert into HtmlLabelInfo(indexid,labelname,languageid) select * from (select 548105 as indexid ,'业务线管理' as content,7 as languageid from HtmlLabelInfo) t where not exists (select indexid,languageid from HtmlLabelInfo where indexid = 548105 and languageid=7 and ( trim(labelname) is not null )) and rownum = 1
+/
+delete from HtmlLabelInfo where indexid = 548105 and languageid=8 and ( trim(labelname) is null or length(labelname)!=lengthb(labelname) )
+/
+insert into HtmlLabelInfo(indexid,labelname,languageid) select * from (select 548105 as indexid ,'Business Line Management' as content,8 as languageid from HtmlLabelInfo) t where not exists (select indexid,languageid from HtmlLabelInfo where indexid = 548105 and languageid=8 and ( trim(labelname) is not null and length(labelname)=lengthb(labelname) )) and rownum = 1
+/
+delete from HtmlLabelInfo where indexid = 548105 and languageid=9 and ( trim(labelname) is null )
+/
+insert into HtmlLabelInfo(indexid,labelname,languageid) select * from (select 548105 as indexid ,'業務線管理' as content,9 as languageid from HtmlLabelInfo) t where not exists (select indexid,languageid from HtmlLabelInfo where indexid = 548105 and languageid=9 and ( trim(labelname) is not null )) and rownum = 1
+/
\ No newline at end of file
diff --git a/resource/sqlupgrade/Oracle/sql202409240302.sql b/resource/sqlupgrade/Oracle/sql202409240302.sql
new file mode 100644
index 000000000..8435e8635
--- /dev/null
+++ b/resource/sqlupgrade/Oracle/sql202409240302.sql
@@ -0,0 +1,10 @@
+Delete from LeftMenuInfo where id=100220
+/
+Delete from LeftMenuConfig where infoid=100220
+/
+call LMConfig_U_ByInfoInsert (2,100181,0)
+/
+call LMInfo_Insert (100220,548105,'','',2,100181,5,2)
+/
+update LeftMenuInfo set mobxrouteurl = '',iconClassName = '',fullrouteurl='/spa/hrmSalary/static/index.html#/main/hrmSalary/roleManagement' where id = 100220
+/
\ No newline at end of file
diff --git a/resource/sqlupgrade/Oracle/sql202409240403.sql b/resource/sqlupgrade/Oracle/sql202409240403.sql
new file mode 100644
index 000000000..cf2f25c2e
--- /dev/null
+++ b/resource/sqlupgrade/Oracle/sql202409240403.sql
@@ -0,0 +1,120 @@
+CREATE TABLE hrsa_auth_data
+(
+ id NUMBER(38,0) primary key NOT NULL,
+ role_id NUMBER(38,0) NOT NULL,
+ link number NOT NULL,
+ target_type number NOT NULL,
+ target varchar2(4000),
+ target_name varchar2(4000),
+ sorted_index number NOT NULL,
+ creator NUMBER(38,0) NOT NULL,
+ create_time DATE NOT NULL,
+ update_time DATE NOT NULL,
+ delete_type number NOT NULL,
+ tenant_key varchar2(10)
+)
+/
+
+
+
+CREATE TABLE hrsa_auth_member
+(
+ id NUMBER(38,0) primary key NOT NULL,
+ role_id NUMBER(38,0) NOT NULL,
+ target_type number NOT NULL,
+ target varchar2(4000) NOT NULL,
+ target_name varchar2(4000) NOT NULL,
+ creator NUMBER(38,0) NOT NULL,
+ create_time DATE NOT NULL,
+ update_time DATE NOT NULL,
+ delete_type number NOT NULL,
+ tenant_key varchar2(10)
+)
+/
+
+
+CREATE TABLE hrsa_auth_opt
+(
+ id NUMBER(38,0) primary key NOT NULL,
+ role_id NUMBER(38,0) NOT NULL,
+ page varchar2(200) NOT NULL,
+ opt varchar2(200) NOT NULL,
+ creator NUMBER(38,0) NOT NULL,
+ create_time DATE NOT NULL,
+ update_time DATE NOT NULL,
+ delete_type number NOT NULL,
+ tenant_key varchar2(10)
+)
+/
+
+
+CREATE TABLE hrsa_auth_role
+(
+ id NUMBER(38,0) primary key NOT NULL,
+ name varchar2(255) NOT NULL,
+ description varchar2(400),
+ creator NUMBER(38,0) NOT NULL,
+ create_time DATE NOT NULL,
+ update_time DATE NOT NULL,
+ delete_type number NOT NULL,
+ tenant_key varchar2(10) NOT NULL
+)
+/
+
+
+CREATE TABLE hrsa_auth_role_data
+(
+ id NUMBER(38,0) primary key NOT NULL,
+ role_id NUMBER(38,0) NOT NULL,
+ employee_id NUMBER(38,0) NOT NULL,
+ creator NUMBER(38,0) NOT NULL,
+ create_time DATE NOT NULL,
+ update_time DATE NOT NULL,
+ delete_type number NOT NULL,
+ tenant_key varchar2(10) NOT NULL
+)
+/
+
+
+CREATE TABLE hrsa_auth_role_emp
+(
+ id NUMBER(38,0) primary key NOT NULL,
+ role_id NUMBER(38,0) NOT NULL,
+ employee_id NUMBER(38,0) NOT NULL,
+ creator NUMBER(38,0) NOT NULL,
+ create_time DATE NOT NULL,
+ update_time DATE NOT NULL,
+ delete_type number NOT NULL,
+ tenant_key varchar2(10) NOT NULL
+)
+/
+
+
+CREATE TABLE hrsa_auth_resource
+(
+ id NUMBER(38,0) primary key NOT NULL,
+ role_id NUMBER(38,0) NOT NULL,
+ target_type number NOT NULL,
+ target NUMBER(38,0) NOT NULL,
+ target_name varchar2(255),
+ creator NUMBER(38,0) NOT NULL,
+ create_time DATE NOT NULL,
+ update_time DATE NOT NULL,
+ delete_type number NOT NULL,
+ tenant_key varchar2(10)
+)
+/
+
+
+CREATE TABLE hrsa_sob_tax_link
+(
+ id NUMBER(38,0) primary key NOT NULL,
+ sob_id NUMBER(38,0) NOT NULL,
+ tax_agent_id NUMBER(38,0) NOT NULL,
+ creator NUMBER(38,0) NOT NULL,
+ create_time DATE NOT NULL,
+ update_time DATE NOT NULL,
+ delete_type number NOT NULL,
+ tenant_key varchar2(10)
+)
+/
\ No newline at end of file
diff --git a/resource/sqlupgrade/PG/sql202409240201.sql b/resource/sqlupgrade/PG/sql202409240201.sql
new file mode 100644
index 000000000..42589c50b
--- /dev/null
+++ b/resource/sqlupgrade/PG/sql202409240201.sql
@@ -0,0 +1,16 @@
+delete from HtmlLabelIndex where id = 548105 and ( indexdesc is null or indexdesc = '' ) ;
+/
+insert into HtmlLabelIndex(id,indexdesc) select 548105,'业务线管理' from HtmlLabelIndex where not exists (select id from HtmlLabelIndex where id = 548105 and ( indexdesc is not null and indexdesc <> '' )) limit 1 ;
+/
+delete from HtmlLabelInfo where indexid = 548105 and languageid=7 and ( labelname is null or labelname = '' ) ;
+/
+insert into HtmlLabelInfo(indexid,labelname,languageid) select * from (select 548105 as indexid ,'业务线管理' as content,7 as languageid from HtmlLabelInfo) t where not exists (select indexid,languageid from HtmlLabelInfo where indexid = 548105 and languageid=7 and ( labelname is not null and labelname <> '' )) limit 1 ;
+/
+delete from HtmlLabelInfo where indexid = 548105 and languageid=8 and ( labelname is null or labelname = '' or length(labelname)!=octet_length(labelname) ) ;
+/
+insert into HtmlLabelInfo(indexid,labelname,languageid) select * from (select 548105 as indexid ,'Business Line Management' as content,8 as languageid from HtmlLabelInfo) t where not exists (select indexid,languageid from HtmlLabelInfo where indexid = 548105 and languageid=8 and ( labelname is not null and labelname <> '' and length(labelname)=octet_length(labelname) )) limit 1 ;
+/
+delete from HtmlLabelInfo where indexid = 548105 and languageid=9 and ( labelname is null or labelname = '' ) ;
+/
+insert into HtmlLabelInfo(indexid,labelname,languageid) select * from (select 548105 as indexid ,'業務線管理' as content,9 as languageid from HtmlLabelInfo) t where not exists (select indexid,languageid from HtmlLabelInfo where indexid = 548105 and languageid=9 and ( labelname is not null and labelname <> '' )) limit 1 ;
+/
\ No newline at end of file
diff --git a/resource/sqlupgrade/PG/sql202409240302.sql b/resource/sqlupgrade/PG/sql202409240302.sql
new file mode 100644
index 000000000..755116704
--- /dev/null
+++ b/resource/sqlupgrade/PG/sql202409240302.sql
@@ -0,0 +1,10 @@
+Delete from LeftMenuInfo where id=100220
+;
+Delete from LeftMenuConfig where infoid=100220
+;
+select LMConfig_U_ByInfoInsert (2,100181,0)
+;
+select LMInfo_Insert (100220,548105,'','',2,100181,5,2)
+;
+update LeftMenuInfo set mobxrouteurl = '',iconClassName = '',fullrouteurl='/spa/hrmSalary/static/index.html#/main/hrmSalary/roleManagement' where id = 100220
+;
\ No newline at end of file
diff --git a/resource/sqlupgrade/PG/sql202409240403.sql b/resource/sqlupgrade/PG/sql202409240403.sql
new file mode 100644
index 000000000..1e8fb2d15
--- /dev/null
+++ b/resource/sqlupgrade/PG/sql202409240403.sql
@@ -0,0 +1,120 @@
+CREATE TABLE hrsa_auth_data
+(
+ id bigint NOT NULL,
+ role_id bigint NOT NULL,
+ link int NOT NULL,
+ target_type int NOT NULL,
+ target varchar(4000),
+ target_name varchar(4000),
+ sorted_index int NOT NULL,
+ creator bigint NOT NULL,
+ create_time timestamp NOT NULL,
+ update_time timestamp NOT NULL,
+ delete_type int NOT NULL,
+ tenant_key varchar(10),
+ PRIMARY KEY (id)
+);
+
+
+
+CREATE TABLE hrsa_auth_member
+(
+ id bigint NOT NULL,
+ role_id bigint NOT NULL,
+ target_type int NOT NULL,
+ target varchar(4000) NOT NULL,
+ target_name varchar(4000) NOT NULL,
+ creator bigint NOT NULL,
+ create_time timestamp NOT NULL,
+ update_time timestamp NOT NULL,
+ delete_type int NOT NULL,
+ tenant_key varchar(10),
+ PRIMARY KEY (id)
+);
+
+
+CREATE TABLE hrsa_auth_opt
+(
+ id bigint NOT NULL,
+ role_id bigint NOT NULL,
+ page varchar(200) NOT NULL,
+ opt varchar(200) NOT NULL,
+ creator bigint NOT NULL,
+ create_time timestamp NOT NULL,
+ update_time timestamp NOT NULL,
+ delete_type int NOT NULL,
+ tenant_key varchar(10),
+ PRIMARY KEY (id)
+);
+
+
+CREATE TABLE hrsa_auth_role
+(
+ id bigint NOT NULL,
+ name varchar(255) NOT NULL,
+ description varchar(400),
+ creator bigint NOT NULL,
+ create_time timestamp NOT NULL,
+ update_time timestamp NOT NULL,
+ delete_type int NOT NULL,
+ tenant_key varchar(10) NOT NULL,
+ PRIMARY KEY (id)
+);
+
+
+CREATE TABLE hrsa_auth_role_data
+(
+ id bigint NOT NULL,
+ role_id bigint NOT NULL,
+ employee_id bigint NOT NULL,
+ creator bigint NOT NULL,
+ create_time timestamp NOT NULL,
+ update_time timestamp NOT NULL,
+ delete_type int NOT NULL,
+ tenant_key varchar(10) NOT NULL,
+ PRIMARY KEY (id)
+);
+
+
+CREATE TABLE hrsa_auth_role_emp
+(
+ id bigint NOT NULL,
+ role_id bigint NOT NULL,
+ employee_id bigint NOT NULL,
+ creator bigint NOT NULL,
+ create_time timestamp NOT NULL,
+ update_time timestamp NOT NULL,
+ delete_type int NOT NULL,
+ tenant_key varchar(10) NOT NULL,
+ PRIMARY KEY (id)
+);
+
+
+CREATE TABLE hrsa_auth_resource
+(
+ id bigint NOT NULL,
+ role_id bigint NOT NULL,
+ target_type int NOT NULL,
+ target bigint NOT NULL,
+ target_name varchar(255),
+ creator bigint NOT NULL,
+ create_time timestamp NOT NULL,
+ update_time timestamp NOT NULL,
+ delete_type int NOT NULL,
+ tenant_key varchar(10),
+ PRIMARY KEY (id)
+);
+
+
+CREATE TABLE hrsa_sob_tax_link
+(
+ id bigint NOT NULL,
+ sob_id bigint NOT NULL,
+ tax_agent_id bigint NOT NULL,
+ creator bigint NOT NULL,
+ create_time timestamp NOT NULL,
+ update_time timestamp NOT NULL,
+ delete_type int NOT NULL,
+ tenant_key varchar(10) ,
+ PRIMARY KEY (id)
+) ;
\ No newline at end of file
diff --git a/resource/sqlupgrade/SQLServer/sql202409240201.sql b/resource/sqlupgrade/SQLServer/sql202409240201.sql
new file mode 100644
index 000000000..1aa307c31
--- /dev/null
+++ b/resource/sqlupgrade/SQLServer/sql202409240201.sql
@@ -0,0 +1,16 @@
+delete from HtmlLabelIndex where id = 548105 and ( indexdesc is null or indexdesc = '' )
+GO
+insert into HtmlLabelIndex(id,indexdesc) select top 1 548105,'业务线管理' from HtmlLabelIndex where not exists (select id from HtmlLabelIndex where id = 548105 and ( indexdesc is not null and indexdesc <> '' ))
+GO
+delete from HtmlLabelInfo where indexid = 548105 and languageid=7 and ( labelname is null or labelname = '' )
+GO
+insert into HtmlLabelInfo(indexid,labelname,languageid) select * from (select top 1 548105 as indexid ,'业务线管理' as content,7 as languageid from HtmlLabelInfo) t where not exists (select indexid,languageid from HtmlLabelInfo where indexid = 548105 and languageid=7 and ( labelname is not null and labelname <> '' ))
+GO
+delete from HtmlLabelInfo where indexid = 548105 and languageid=8 and ( labelname is null or labelname = '' or labelname like '%[吖-座]%' )
+GO
+insert into HtmlLabelInfo(indexid,labelname,languageid) select * from (select top 1 548105 as indexid ,'Business Line Management' as content,8 as languageid from HtmlLabelInfo) t where not exists (select indexid,languageid from HtmlLabelInfo where indexid = 548105 and languageid=8 and ( labelname is not null and labelname <> '' and labelname not like '%[吖-座]%' ))
+GO
+delete from HtmlLabelInfo where indexid = 548105 and languageid=9 and ( labelname is null or labelname = '' )
+GO
+insert into HtmlLabelInfo(indexid,labelname,languageid) select * from (select top 1 548105 as indexid ,'業務線管理' as content,9 as languageid from HtmlLabelInfo) t where not exists (select indexid,languageid from HtmlLabelInfo where indexid = 548105 and languageid=9 and ( labelname is not null and labelname <> '' ))
+GO
\ No newline at end of file
diff --git a/resource/sqlupgrade/SQLServer/sql202409240302.sql b/resource/sqlupgrade/SQLServer/sql202409240302.sql
new file mode 100644
index 000000000..718a8538f
--- /dev/null
+++ b/resource/sqlupgrade/SQLServer/sql202409240302.sql
@@ -0,0 +1,10 @@
+Delete from LeftMenuInfo where id=100220
+GO
+Delete from LeftMenuConfig where infoid=100220
+GO
+EXECUTE LMConfig_U_ByInfoInsert 2,100181,0
+GO
+EXECUTE LMInfo_Insert 100220,548105,'','',2,100181,5,2
+GO
+update LeftMenuInfo set mobxrouteurl = '',iconClassName = '',fullrouteurl='/spa/hrmSalary/static/index.html#/main/hrmSalary/roleManagement' where id = 100220
+GO
\ No newline at end of file
diff --git a/resource/sqlupgrade/SQLServer/sql202409240403.sql b/resource/sqlupgrade/SQLServer/sql202409240403.sql
new file mode 100644
index 000000000..6edd92d19
--- /dev/null
+++ b/resource/sqlupgrade/SQLServer/sql202409240403.sql
@@ -0,0 +1,117 @@
+CREATE TABLE hrsa_auth_data
+(
+ id bigint primary key,
+ role_id bigint NOT NULL,
+ link int NOT NULL,
+ target_type int NOT NULL,
+ target varchar(4000),
+ target_name varchar(4000),
+ sorted_index int NOT NULL,
+ creator bigint NOT NULL,
+ create_time datetime NOT NULL,
+ update_time datetime NOT NULL,
+ delete_type int NOT NULL,
+ tenant_key varchar(10)
+)
+GO
+
+
+CREATE TABLE hrsa_auth_member
+(
+ id bigint primary key,
+ role_id bigint NOT NULL,
+ target_type int NOT NULL,
+ target varchar(4000) NOT NULL,
+ target_name varchar(4000) NOT NULL,
+ creator bigint NOT NULL,
+ create_time datetime NOT NULL,
+ update_time datetime NOT NULL,
+ delete_type int NOT NULL,
+ tenant_key varchar(10)
+)
+GO
+
+
+CREATE TABLE hrsa_auth_opt
+(
+ id bigint primary key,
+ role_id bigint NOT NULL,
+ page varchar(200) NOT NULL,
+ opt varchar(200) NOT NULL,
+ creator bigint NOT NULL,
+ create_time datetime NOT NULL,
+ update_time datetime NOT NULL,
+ delete_type int NOT NULL,
+ tenant_key varchar(10)
+)
+GO
+
+
+CREATE TABLE hrsa_auth_role
+(
+ id bigint primary key,
+ name varchar(255) NOT NULL,
+ description varchar(400),
+ creator bigint NOT NULL,
+ create_time datetime NOT NULL,
+ update_time datetime NOT NULL,
+ delete_type int NOT NULL,
+ tenant_key varchar(10) NOT NULL
+)
+GO
+
+
+CREATE TABLE hrsa_auth_role_data
+(
+ id bigint primary key,
+ role_id bigint NOT NULL,
+ employee_id bigint NOT NULL,
+ creator bigint NOT NULL,
+ create_time datetime NOT NULL,
+ update_time datetime NOT NULL,
+ delete_type int NOT NULL,
+ tenant_key varchar(10) NOT NULL
+)
+GO
+
+
+CREATE TABLE hrsa_auth_role_emp
+(
+ id bigint primary key,
+ role_id bigint NOT NULL,
+ employee_id bigint NOT NULL,
+ creator bigint NOT NULL,
+ create_time datetime NOT NULL,
+ update_time datetime NOT NULL,
+ delete_type int NOT NULL,
+ tenant_key varchar(10) NOT NULL
+)
+GO
+
+CREATE TABLE hrsa_auth_resource
+(
+ id bigint NOT NULL,
+ role_id bigint NOT NULL,
+ target_type int NOT NULL,
+ target bigint NOT NULL,
+ target_name varchar(255),
+ creator bigint NOT NULL,
+ create_time datetime NOT NULL,
+ update_time datetime NOT NULL,
+ delete_type int NOT NULL,
+ tenant_key varchar(10)
+)
+GO
+
+CREATE TABLE hrsa_sob_tax_link
+(
+ id bigint NOT NULL,
+ sob_id bigint NOT NULL,
+ tax_agent_id bigint NOT NULL,
+ creator bigint NOT NULL,
+ create_time datetime NOT NULL,
+ update_time datetime NOT NULL,
+ delete_type int NOT NULL,
+ tenant_key varchar(10)
+)
+GO
\ No newline at end of file
diff --git a/resource/sqlupgrade/ST/sql202409240201.sql b/resource/sqlupgrade/ST/sql202409240201.sql
new file mode 100644
index 000000000..36b6745cc
--- /dev/null
+++ b/resource/sqlupgrade/ST/sql202409240201.sql
@@ -0,0 +1,24 @@
+delete from HtmlLabelIndex where id = 548105 and ( trim(indexdesc) is null ) ;
+/
+
+insert into HtmlLabelIndex(id,indexdesc) select 548105,'业务线管理' from HtmlLabelIndex where not exists (select id from HtmlLabelIndex where id = 548105 and ( trim(indexdesc) is not null )) and rownum = 1 ;
+/
+
+delete from HtmlLabelInfo where indexid = 548105 and languageid=7 and ( trim(labelname) is null ) ;
+/
+
+insert into HtmlLabelInfo(indexid,labelname,languageid) select * from (select 548105 as indexid ,'业务线管理' as content,7 as languageid from HtmlLabelInfo) t where not exists (select indexid,languageid from HtmlLabelInfo where indexid = 548105 and languageid=7 and ( trim(labelname) is not null )) and rownum = 1 ;
+/
+
+delete from HtmlLabelInfo where indexid = 548105 and languageid=8 and ( trim(labelname) is null or length(labelname)!=lengthb(labelname) ) ;
+/
+
+insert into HtmlLabelInfo(indexid,labelname,languageid) select * from (select 548105 as indexid ,'Business Line Management' as content,8 as languageid from HtmlLabelInfo) t where not exists (select indexid,languageid from HtmlLabelInfo where indexid = 548105 and languageid=8 and ( trim(labelname) is not null and length(labelname)=lengthb(labelname) )) and rownum = 1 ;
+/
+
+delete from HtmlLabelInfo where indexid = 548105 and languageid=9 and ( trim(labelname) is null ) ;
+/
+
+insert into HtmlLabelInfo(indexid,labelname,languageid) select * from (select 548105 as indexid ,'業務線管理' as content,9 as languageid from HtmlLabelInfo) t where not exists (select indexid,languageid from HtmlLabelInfo where indexid = 548105 and languageid=9 and ( trim(labelname) is not null )) and rownum = 1 ;
+/
+
diff --git a/resource/sqlupgrade/ST/sql202409240302.sql b/resource/sqlupgrade/ST/sql202409240302.sql
new file mode 100644
index 000000000..9573a689b
--- /dev/null
+++ b/resource/sqlupgrade/ST/sql202409240302.sql
@@ -0,0 +1,15 @@
+Delete from LeftMenuInfo where id=100220;
+/
+
+Delete from LeftMenuConfig where infoid=100220;
+/
+
+call LMConfig_U_ByInfoInsert (2,100181,0);
+/
+
+call LMInfo_Insert (100220,548105,'','',2,100181,5,2);
+/
+
+update LeftMenuInfo set mobxrouteurl = '',iconClassName = '',fullrouteurl='/spa/hrmSalary/static/index.html#/main/hrmSalary/roleManagement' where id = 100220;
+/
+
diff --git a/resource/sqlupgrade/ST/sql202409240403.sql b/resource/sqlupgrade/ST/sql202409240403.sql
new file mode 100644
index 000000000..10b2b4813
--- /dev/null
+++ b/resource/sqlupgrade/ST/sql202409240403.sql
@@ -0,0 +1,113 @@
+CREATE TABLE hrsa_auth_data
+(
+ id NUMBER(38,0) primary key NOT NULL,
+ role_id NUMBER(38,0) NOT NULL,
+ link number NOT NULL,
+ target_type number NOT NULL,
+ target varchar2(4000),
+ target_name varchar2(4000),
+ sorted_index number NOT NULL,
+ creator NUMBER(38,0) NOT NULL,
+ create_time DATE NOT NULL,
+ update_time DATE NOT NULL,
+ delete_type number NOT NULL,
+ tenant_key varchar2(10)
+);
+/
+
+CREATE TABLE hrsa_auth_member
+(
+ id NUMBER(38,0) primary key NOT NULL,
+ role_id NUMBER(38,0) NOT NULL,
+ target_type number NOT NULL,
+ target varchar2(4000) NOT NULL,
+ target_name varchar2(4000) NOT NULL,
+ creator NUMBER(38,0) NOT NULL,
+ create_time DATE NOT NULL,
+ update_time DATE NOT NULL,
+ delete_type number NOT NULL,
+ tenant_key varchar2(10)
+);
+/
+
+CREATE TABLE hrsa_auth_opt
+(
+ id NUMBER(38,0) primary key NOT NULL,
+ role_id NUMBER(38,0) NOT NULL,
+ page varchar2(200) NOT NULL,
+ opt varchar2(200) NOT NULL,
+ creator NUMBER(38,0) NOT NULL,
+ create_time DATE NOT NULL,
+ update_time DATE NOT NULL,
+ delete_type number NOT NULL,
+ tenant_key varchar2(10)
+);
+/
+
+CREATE TABLE hrsa_auth_role
+(
+ id NUMBER(38,0) primary key NOT NULL,
+ name varchar2(255) NOT NULL,
+ description varchar2(400),
+ creator NUMBER(38,0) NOT NULL,
+ create_time DATE NOT NULL,
+ update_time DATE NOT NULL,
+ delete_type number NOT NULL,
+ tenant_key varchar2(10) NOT NULL
+);
+/
+
+CREATE TABLE hrsa_auth_role_data
+(
+ id NUMBER(38,0) primary key NOT NULL,
+ role_id NUMBER(38,0) NOT NULL,
+ employee_id NUMBER(38,0) NOT NULL,
+ creator NUMBER(38,0) NOT NULL,
+ create_time DATE NOT NULL,
+ update_time DATE NOT NULL,
+ delete_type number NOT NULL,
+ tenant_key varchar2(10) NOT NULL
+);
+/
+
+CREATE TABLE hrsa_auth_role_emp
+(
+ id NUMBER(38,0) primary key NOT NULL,
+ role_id NUMBER(38,0) NOT NULL,
+ employee_id NUMBER(38,0) NOT NULL,
+ creator NUMBER(38,0) NOT NULL,
+ create_time DATE NOT NULL,
+ update_time DATE NOT NULL,
+ delete_type number NOT NULL,
+ tenant_key varchar2(10) NOT NULL
+);
+/
+
+CREATE TABLE hrsa_auth_resource
+(
+ id NUMBER(38,0) primary key NOT NULL,
+ role_id NUMBER(38,0) NOT NULL,
+ target_type number NOT NULL,
+ target NUMBER(38,0) NOT NULL,
+ target_name varchar2(255),
+ creator NUMBER(38,0) NOT NULL,
+ create_time DATE NOT NULL,
+ update_time DATE NOT NULL,
+ delete_type number NOT NULL,
+ tenant_key varchar2(10)
+);
+/
+
+CREATE TABLE hrsa_sob_tax_link
+(
+ id NUMBER(38,0) primary key NOT NULL,
+ sob_id NUMBER(38,0) NOT NULL,
+ tax_agent_id NUMBER(38,0) NOT NULL,
+ creator NUMBER(38,0) NOT NULL,
+ create_time DATE NOT NULL,
+ update_time DATE NOT NULL,
+ delete_type number NOT NULL,
+ tenant_key varchar2(10)
+);
+/
+
diff --git a/resource/wiki/甯哥敤鏌ヨ.md b/resource/wiki/甯哥敤鏌ヨ.md
index 637ebc08f..1d72b1e99 100644
--- a/resource/wiki/甯哥敤鏌ヨ.md
+++ b/resource/wiki/甯哥敤鏌ヨ.md
@@ -20,10 +20,27 @@ where item.name = '宸ヨ祫钖噾鍚堣'
# 鑾峰彇妗f淇℃伅
- select i.item_value from hrsa_salary_archive_item i
- left join hrsa_salary_archive a on a.id = i.salary_archive_id
- left join hrsa_salary_item c on c.id=i.salary_item_id
- left join hrsa_tax_agent t on a.tax_agent_id=t.id
- where a.delete_type=0 and i.delete_type=0 and t.delete_type=0 and c.delete_type=0
- and a.employee_id=浜哄憳id and t.name=鎵g即涔夊姟浜哄悕绉
- and c.name='鍩烘湰宸ヨ祫' order by effective_time desc
\ No newline at end of file
+select i.item_value from hrsa_salary_archive_item i
+left join hrsa_salary_archive a on a.id = i.salary_archive_id
+left join hrsa_salary_item c on c.id=i.salary_item_id
+left join hrsa_tax_agent t on a.tax_agent_id=t.id
+where a.delete_type=0 and i.delete_type=0 and t.delete_type=0 and c.delete_type=0
+and a.employee_id=浜哄憳id and t.name=鎵g即涔夊姟浜哄悕绉
+ and c.name='鍩烘湰宸ヨ祫' order by effective_time desc
+
+
+# 鍒犻櫎绯荤粺椤圭洰
+UPDATE set hrsa_sys_salary_item where delete_type =3 where delete_type =0;
+
+update hrsa_salary_sob_default_item set delete_type =3 where delete_type =0;
+
+
+update hrsa_salary_sob_item set delete_type= 3 where delete_type =0 and salary_item_id in (select id from hrsa_salary_item where delete_type=0 and system_type=1 and use_in_employee_salary =0 and code not in('ressueTotal','issuedTotal')
+);
+
+UPDATE hrsa_salary_item set delete_type = 3 where delete_type=0 and system_type=1 and use_in_employee_salary =0 and code not in('ressueTotal','issuedTotal');
+
+
+# 寮鍚郴缁熺畻绋
+update hrsa_salary_sys_conf set conf_value = '1' where conf_key = 'taxDeclarationFunction'
+
diff --git a/resource/wiki/钖叕杩樺師鑴氭湰.sql b/resource/wiki/钖叕杩樺師鑴氭湰.sql
index cf29ff247..62e7bae3c 100644
--- a/resource/wiki/钖叕杩樺師鑴氭湰.sql
+++ b/resource/wiki/钖叕杩樺師鑴氭湰.sql
@@ -64,8 +64,8 @@ delete from hrsa_salary_archive_item where 1=1
;
delete from hrsa_salary_archive_tax_agent where 1=1
;
-delete from hrsa_salary_item where 1=1
-;
+--delete from hrsa_salary_item where 1=1;
+
delete from hrsa_salary_send where 1=1
;
delete from hrsa_salary_send_info where 1=1
diff --git a/src/com/api/salary/web/AuthController.java b/src/com/api/salary/web/AuthController.java
new file mode 100644
index 000000000..3a2c0374c
--- /dev/null
+++ b/src/com/api/salary/web/AuthController.java
@@ -0,0 +1,8 @@
+package com.api.salary.web;
+
+import javax.ws.rs.Path;
+
+@Path("/bs/hrmsalary/auth")
+public class AuthController extends com.engine.salary.web.AuthController {
+
+}
diff --git a/src/com/api/salary/web/PushController.java b/src/com/api/salary/web/PushController.java
new file mode 100644
index 000000000..854a3b9b7
--- /dev/null
+++ b/src/com/api/salary/web/PushController.java
@@ -0,0 +1,8 @@
+package com.api.salary.web;
+
+import javax.ws.rs.Path;
+
+@Path("/bs/hrmsalary/push")
+public class PushController extends com.engine.salary.web.PushController{
+
+}
diff --git a/src/com/engine/salary/annotation/Auth.java b/src/com/engine/salary/annotation/Auth.java
new file mode 100644
index 000000000..78cc19097
--- /dev/null
+++ b/src/com/engine/salary/annotation/Auth.java
@@ -0,0 +1,29 @@
+package com.engine.salary.annotation;
+
+import com.engine.salary.enums.auth.AuthCheckTypeEnum;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * 鏉冮檺楠岃瘉瀛楁
+ *
Copyright: Copyright (c) 2022
+ * Company: 娉涘井杞欢
+ *
+ * @author qiantao
+ * @version 1.0
+ **/
+@Target(ElementType.TYPE)
+@Retention(RetentionPolicy.RUNTIME)
+public @interface Auth {
+ String page();
+
+ AuthCheckTypeEnum checkType() default AuthCheckTypeEnum.TAX_EMP;
+
+ String taxAgentIdField() default "taxAgentId";
+ String employeeIdField() default "employeeId";
+ String sobIdField() default "salarySobId";
+ String optsField() default "opts";
+}
diff --git a/src/com/engine/salary/annotation/AuthField.java b/src/com/engine/salary/annotation/AuthField.java
new file mode 100644
index 000000000..b51cd44f3
--- /dev/null
+++ b/src/com/engine/salary/annotation/AuthField.java
@@ -0,0 +1,22 @@
+package com.engine.salary.annotation;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * 鏉冮檺楠岃瘉瀛楁
+ * Copyright: Copyright (c) 2022
+ * Company: 娉涘井杞欢
+ *
+ * @author qiantao
+ * @version 1.0
+ **/
+@Target(ElementType.FIELD)
+@Retention(RetentionPolicy.RUNTIME)
+public @interface AuthField {
+
+ String fieldType();
+
+}
diff --git a/src/com/engine/salary/annotation/AuthOpt.java b/src/com/engine/salary/annotation/AuthOpt.java
new file mode 100644
index 000000000..e4ffcb499
--- /dev/null
+++ b/src/com/engine/salary/annotation/AuthOpt.java
@@ -0,0 +1,20 @@
+package com.engine.salary.annotation;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * 鏉冮檺楠岃瘉瀛楁
+ * Copyright: Copyright (c) 2022
+ * Company: 娉涘井杞欢
+ *
+ * @author qiantao
+ * @version 1.0
+ **/
+@Target(ElementType.FIELD)
+@Retention(RetentionPolicy.RUNTIME)
+public @interface AuthOpt {
+
+}
diff --git a/src/com/engine/salary/biz/AddUpDeductionBiz.java b/src/com/engine/salary/biz/AddUpDeductionBiz.java
index 14ba5933c..3e7f8330c 100644
--- a/src/com/engine/salary/biz/AddUpDeductionBiz.java
+++ b/src/com/engine/salary/biz/AddUpDeductionBiz.java
@@ -96,7 +96,9 @@ public class AddUpDeductionBiz extends BaseBean {
try {
AddUpDeductionMapper mapper = sqlSession.getMapper(AddUpDeductionMapper.class);
List addUpDeductionRecordStrDTOS = mapper.recordList(param);
- return encryptUtil.decryptList(addUpDeductionRecordStrDTOS, AddUpDeductionRecordDTO.class);
+ encryptUtil.decryptList(addUpDeductionRecordStrDTOS, AddUpDeductionRecordDTO.class);
+ SalaryI18nUtil.i18nList(addUpDeductionRecordStrDTOS);
+ return addUpDeductionRecordStrDTOS;
} finally {
sqlSession.close();
}
diff --git a/src/com/engine/salary/biz/AddUpSituationBiz.java b/src/com/engine/salary/biz/AddUpSituationBiz.java
index 68515ff23..41068ef88 100644
--- a/src/com/engine/salary/biz/AddUpSituationBiz.java
+++ b/src/com/engine/salary/biz/AddUpSituationBiz.java
@@ -2,11 +2,9 @@ package com.engine.salary.biz;
import com.engine.salary.encrypt.EncryptUtil;
import com.engine.salary.entity.datacollection.AddUpSituation;
-import com.engine.salary.entity.datacollection.dto.AddUpSituationDTO;
import com.engine.salary.entity.datacollection.dto.AddUpSituationRecordDTO;
import com.engine.salary.entity.datacollection.param.AddUpSituationQueryParam;
import com.engine.salary.mapper.datacollection.AddUpSituationMapper;
-import com.engine.salary.util.SalaryI18nUtil;
import com.google.common.collect.Lists;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.ibatis.session.SqlSession;
@@ -20,23 +18,6 @@ public class AddUpSituationBiz extends BaseBean {
private EncryptUtil encryptUtil = new EncryptUtil();
- /**
- * 鍏宠仈鏌ヨ鏌ヨ鍒楄〃
- *
- * @param param
- * @return
- */
- public List list(AddUpSituationQueryParam param) {
- SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession();
- try {
- AddUpSituationMapper mapper = sqlSession.getMapper(AddUpSituationMapper.class);
- List list = mapper.list(param);
- encryptUtil.decryptList(list, AddUpSituationDTO.class);
- return SalaryI18nUtil.i18nList(list);
- } finally {
- sqlSession.close();
- }
- }
/**
* 鏉′欢鏌ヨ
diff --git a/src/com/engine/salary/common/BaseQueryParam.java b/src/com/engine/salary/common/BaseQueryParam.java
index dd9a8bc3c..703231be8 100644
--- a/src/com/engine/salary/common/BaseQueryParam.java
+++ b/src/com/engine/salary/common/BaseQueryParam.java
@@ -1,5 +1,6 @@
package com.engine.salary.common;
+import com.engine.salary.enums.auth.AuthFilterTypeEnum;
import com.engine.salary.sys.entity.vo.OrderRuleVO;
import lombok.AllArgsConstructor;
import lombok.Data;
@@ -24,4 +25,9 @@ public class BaseQueryParam {
* 鎺掑簭瑙勫垯
*/
private OrderRuleVO orderRule;
+
+ /**
+ * 鏁版嵁杩囨护绾у埆
+ */
+ private AuthFilterTypeEnum filterType ;
}
diff --git a/src/com/engine/salary/config/SalaryElogConfig.java b/src/com/engine/salary/config/SalaryElogConfig.java
index 7d9f79321..909fdb9c4 100644
--- a/src/com/engine/salary/config/SalaryElogConfig.java
+++ b/src/com/engine/salary/config/SalaryElogConfig.java
@@ -317,4 +317,9 @@ public class SalaryElogConfig {
* @return
*/
public static LoggerTemplate salaryStatReportLoggerTemplate = LoggerTemplateBuilder.build("hrsa", "statreport");
+
+ /**
+ * 涓氬姟绾
+ */
+ public static LoggerTemplate authLinkLoggerTemplate = LoggerTemplateBuilder.build("hrsa", "authlink");
}
diff --git a/src/com/engine/salary/constant/SalaryDefaultTenantConstant.java b/src/com/engine/salary/constant/SalaryDefaultTenantConstant.java
index 4e60d65e0..2d5ca8a1b 100644
--- a/src/com/engine/salary/constant/SalaryDefaultTenantConstant.java
+++ b/src/com/engine/salary/constant/SalaryDefaultTenantConstant.java
@@ -1,7 +1,7 @@
package com.engine.salary.constant;
/**
- * 榛樿绉熸埛
+ * 榛樿鐨勭鎴穔ey
* Copyright: Copyright (c) 2024
* Company: 娉涘井杞欢
*
diff --git a/src/com/engine/salary/entity/auth/dto/AuthDataDTO.java b/src/com/engine/salary/entity/auth/dto/AuthDataDTO.java
new file mode 100644
index 000000000..cd3d3600b
--- /dev/null
+++ b/src/com/engine/salary/entity/auth/dto/AuthDataDTO.java
@@ -0,0 +1,38 @@
+package com.engine.salary.entity.auth.dto;
+
+import com.engine.salary.annotation.TableTitle;
+import com.engine.salary.enums.auth.DataLinkEnum;
+import com.engine.salary.enums.auth.DataTargetTypeEnum;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class AuthDataDTO {
+
+ private Long id;
+
+ /**
+ * 杩炴帴绗︼紝浜ゃ佸苟銆佽ˉ
+ */
+ @TableTitle(title = "杩炴帴",dataIndex = "linkName",key = "linkName")
+ private String linkName;
+
+ private DataLinkEnum link;
+
+ @TableTitle(title = "瀵硅薄绫诲瀷",dataIndex = "targetTypeName",key = "targetTypeName")
+ private String targetTypeName;
+ private DataTargetTypeEnum targetType;
+
+ @TableTitle(title = "瀵硅薄",dataIndex = "targetName",key = "targetName")
+ private String targetName;
+ private String target;
+
+ @TableTitle(title = "鎵规",dataIndex = "sortedIndex",key = "sortedIndex")
+ private Integer sortedIndex;
+
+}
diff --git a/src/com/engine/salary/entity/auth/dto/AuthLimitDTO.java b/src/com/engine/salary/entity/auth/dto/AuthLimitDTO.java
new file mode 100644
index 000000000..1861a0251
--- /dev/null
+++ b/src/com/engine/salary/entity/auth/dto/AuthLimitDTO.java
@@ -0,0 +1,18 @@
+package com.engine.salary.entity.auth.dto;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
+
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class AuthLimitDTO {
+ private Long taxAgentId;
+
+ private List roleLimits;
+}
\ No newline at end of file
diff --git a/src/com/engine/salary/entity/auth/dto/AuthMemberDTO.java b/src/com/engine/salary/entity/auth/dto/AuthMemberDTO.java
new file mode 100644
index 000000000..fe0b24e98
--- /dev/null
+++ b/src/com/engine/salary/entity/auth/dto/AuthMemberDTO.java
@@ -0,0 +1,26 @@
+package com.engine.salary.entity.auth.dto;
+
+import com.engine.salary.annotation.TableTitle;
+import com.engine.salary.enums.auth.MemberTargetTypeEnum;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class AuthMemberDTO {
+
+ private Long id;
+
+ @TableTitle(title = "瀵硅薄绫诲瀷",dataIndex = "targetTypeName",key = "targetTypeName")
+ private String targetTypeName;
+ private MemberTargetTypeEnum targetType;
+
+ @TableTitle(title = "瀵硅薄",dataIndex = "targetName",key = "targetName")
+ private String targetName;
+ private String target;
+
+}
diff --git a/src/com/engine/salary/entity/auth/dto/AuthOptDTO.java b/src/com/engine/salary/entity/auth/dto/AuthOptDTO.java
new file mode 100644
index 000000000..2a71e4129
--- /dev/null
+++ b/src/com/engine/salary/entity/auth/dto/AuthOptDTO.java
@@ -0,0 +1,77 @@
+package com.engine.salary.entity.auth.dto;
+
+import com.thoughtworks.xstream.annotations.XStreamAlias;
+import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
+import com.thoughtworks.xstream.annotations.XStreamImplicit;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
+
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+@XStreamAlias("config")
+public class AuthOptDTO {
+ @XStreamAlias("name")
+ @XStreamAsAttribute
+ private String name;
+
+ @XStreamAlias("key")
+ @XStreamAsAttribute
+ private String key;
+
+ @XStreamImplicit(itemFieldName = "module")
+ private List modules;
+
+ @Data
+ public static class Module {
+ @XStreamAlias("name")
+ @XStreamAsAttribute
+ private String name;
+
+ @XStreamAlias("key")
+ @XStreamAsAttribute
+ private String key;
+
+ @XStreamImplicit(itemFieldName = "page")
+ private List pages;
+
+ @Data
+ public static class Page {
+ @XStreamAlias("name")
+ @XStreamAsAttribute
+ private String name;
+
+ @XStreamAlias("key")
+ @XStreamAsAttribute
+ private String key;
+
+ @XStreamAlias("limit")
+ @XStreamAsAttribute
+ private String limit;
+
+ @XStreamImplicit(itemFieldName = "opt")
+ private List opts;
+
+ @Data
+ public static class Opt {
+ @XStreamAlias("name")
+ @XStreamAsAttribute
+ private String name;
+
+ @XStreamAlias("key")
+ @XStreamAsAttribute
+ private String key;
+
+ @XStreamAlias("able")
+ @XStreamAsAttribute
+ private boolean able;
+ }
+ }
+ }
+}
+
diff --git a/src/com/engine/salary/entity/auth/dto/AuthRoleDTO.java b/src/com/engine/salary/entity/auth/dto/AuthRoleDTO.java
new file mode 100644
index 000000000..2dac34f8f
--- /dev/null
+++ b/src/com/engine/salary/entity/auth/dto/AuthRoleDTO.java
@@ -0,0 +1,53 @@
+package com.engine.salary.entity.auth.dto;
+
+import com.engine.salary.annotation.TableTitle;
+import com.engine.salary.entity.salarysob.po.SalarySobPO;
+import com.engine.salary.entity.taxagent.po.TaxAgentPO;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
+
+/**
+ * 瑙掕壊
+ */
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class AuthRoleDTO {
+
+ private Long id;
+
+ @TableTitle(title = "涓氬姟绾", dataIndex = "name", key = "name")
+ private String name;
+
+ @TableTitle(title = "鎻忚堪", dataIndex = "description", key = "description")
+ private String description;
+
+ /**
+ * 鎵g即涔夊姟浜鸿祫婧
+ */
+ private List taxAgentIds;
+
+ /**
+ * 璐﹀璧勬簮
+ */
+ private List sobIds;
+
+ @TableTitle(title = "璧勬簮", dataIndex = "resources", key = "resources")
+ private Integer resources;
+
+ @TableTitle(title = "鎴愬憳", dataIndex = "members", key = "members")
+ private Integer members;
+
+ @TableTitle(title = "鏉冮檺", dataIndex = "opts", key = "opts")
+ private Integer opts;
+
+ @TableTitle(title = "鏁版嵁", dataIndex = "datas", key = "datas")
+ private Integer datas;
+
+
+}
\ No newline at end of file
diff --git a/src/com/engine/salary/entity/auth/dto/AuthRoleDataDTO.java b/src/com/engine/salary/entity/auth/dto/AuthRoleDataDTO.java
new file mode 100644
index 000000000..58ca3cc21
--- /dev/null
+++ b/src/com/engine/salary/entity/auth/dto/AuthRoleDataDTO.java
@@ -0,0 +1,32 @@
+package com.engine.salary.entity.auth.dto;
+
+import com.engine.salary.annotation.I18n;
+import com.engine.salary.annotation.TableTitle;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class AuthRoleDataDTO {
+
+ private Long id;
+
+ @TableTitle(title = "濮撳悕",dataIndex = "username",key = "username")
+ private String username;
+
+ @TableTitle(title = "宸ュ彿",dataIndex = "workCode",key = "workCode")
+ private String workCode;
+
+
+ @I18n
+ @TableTitle(title = "閮ㄩ棬",dataIndex = "departmentName",key = "departmentName")
+ private String departmentName;
+
+ @I18n
+ @TableTitle(title = "宀椾綅",dataIndex = "jobtitleName",key = "jobtitleName")
+ private String jobtitleName;
+}
diff --git a/src/com/engine/salary/entity/auth/dto/AuthRoleEmpDTO.java b/src/com/engine/salary/entity/auth/dto/AuthRoleEmpDTO.java
new file mode 100644
index 000000000..981bf9b0d
--- /dev/null
+++ b/src/com/engine/salary/entity/auth/dto/AuthRoleEmpDTO.java
@@ -0,0 +1,32 @@
+package com.engine.salary.entity.auth.dto;
+
+import com.engine.salary.annotation.I18n;
+import com.engine.salary.annotation.TableTitle;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class AuthRoleEmpDTO {
+
+ private Long id;
+
+ @TableTitle(title = "濮撳悕",dataIndex = "username",key = "username")
+ private String username;
+
+ @TableTitle(title = "宸ュ彿",dataIndex = "workcode",key = "workcode")
+ private String workCode;
+
+
+ @I18n
+ @TableTitle(title = "閮ㄩ棬",dataIndex = "departmentName",key = "departmentName")
+ private String departmentName;
+
+ @I18n
+ @TableTitle(title = "宀椾綅",dataIndex = "jobtitleName",key = "jobtitleName")
+ private String jobtitleName;
+}
diff --git a/src/com/engine/salary/entity/auth/dto/AuthTreeDTO.java b/src/com/engine/salary/entity/auth/dto/AuthTreeDTO.java
new file mode 100644
index 000000000..9583bce12
--- /dev/null
+++ b/src/com/engine/salary/entity/auth/dto/AuthTreeDTO.java
@@ -0,0 +1,62 @@
+package com.engine.salary.entity.auth.dto;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
+
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class AuthTreeDTO {
+ private Long roleEmpId;
+
+ private List roles;
+
+ @Data
+ @Builder
+ @NoArgsConstructor
+ @AllArgsConstructor
+ public static class Role {
+ private Long roleId;
+
+ private String roleName;
+
+ private List resources;
+ private List opts;
+ private List datas;
+
+ @lombok.Data
+ @Builder
+ @NoArgsConstructor
+ @AllArgsConstructor
+ public static class Resource {
+ private Long resourceId;
+ private String resourceName;
+ private String resourceType;
+ }
+
+ @lombok.Data
+ @Builder
+ @NoArgsConstructor
+ @AllArgsConstructor
+ public static class Opt {
+ private Long optId;
+ private String page;
+ private String opt;
+ }
+
+ @lombok.Data
+ @Builder
+ @NoArgsConstructor
+ @AllArgsConstructor
+ public static class Data {
+ private Long dataId;
+ private Long employeeId;
+ }
+ }
+}
+
diff --git a/src/com/engine/salary/entity/auth/dto/EmpOpt.java b/src/com/engine/salary/entity/auth/dto/EmpOpt.java
new file mode 100644
index 000000000..d85e24fe4
--- /dev/null
+++ b/src/com/engine/salary/entity/auth/dto/EmpOpt.java
@@ -0,0 +1,19 @@
+package com.engine.salary.entity.auth.dto;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.Set;
+
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class EmpOpt {
+ private Long employeeId;
+
+ private Set opts;
+}
+
diff --git a/src/com/engine/salary/entity/auth/dto/Opt.java b/src/com/engine/salary/entity/auth/dto/Opt.java
new file mode 100644
index 000000000..f9171e390
--- /dev/null
+++ b/src/com/engine/salary/entity/auth/dto/Opt.java
@@ -0,0 +1,15 @@
+package com.engine.salary.entity.auth.dto;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class Opt {
+ private String opt;
+}
+
diff --git a/src/com/engine/salary/entity/auth/dto/PermissionDTO.java b/src/com/engine/salary/entity/auth/dto/PermissionDTO.java
new file mode 100644
index 000000000..eb13937eb
--- /dev/null
+++ b/src/com/engine/salary/entity/auth/dto/PermissionDTO.java
@@ -0,0 +1,5 @@
+package com.engine.salary.entity.auth.dto;
+
+public class PermissionDTO {
+
+}
diff --git a/src/com/engine/salary/entity/auth/dto/RoleLimit.java b/src/com/engine/salary/entity/auth/dto/RoleLimit.java
new file mode 100644
index 000000000..bad2017a1
--- /dev/null
+++ b/src/com/engine/salary/entity/auth/dto/RoleLimit.java
@@ -0,0 +1,19 @@
+package com.engine.salary.entity.auth.dto;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
+
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class RoleLimit {
+ private Long roleId;
+
+ private List sobIds;
+}
+
diff --git a/src/com/engine/salary/entity/auth/dto/SobOptAuth.java b/src/com/engine/salary/entity/auth/dto/SobOptAuth.java
new file mode 100644
index 000000000..cbae0bfd7
--- /dev/null
+++ b/src/com/engine/salary/entity/auth/dto/SobOptAuth.java
@@ -0,0 +1,19 @@
+package com.engine.salary.entity.auth.dto;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.Set;
+
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class SobOptAuth {
+ private Long sobId;
+
+ private Set opts;
+}
+
diff --git a/src/com/engine/salary/entity/auth/dto/TaxEmpOptAuth.java b/src/com/engine/salary/entity/auth/dto/TaxEmpOptAuth.java
new file mode 100644
index 000000000..fffb519db
--- /dev/null
+++ b/src/com/engine/salary/entity/auth/dto/TaxEmpOptAuth.java
@@ -0,0 +1,19 @@
+package com.engine.salary.entity.auth.dto;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
+
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class TaxEmpOptAuth {
+ private Long taxAgentId;
+
+ private List emps;
+}
+
diff --git a/src/com/engine/salary/entity/auth/dto/TaxOptAuth.java b/src/com/engine/salary/entity/auth/dto/TaxOptAuth.java
new file mode 100644
index 000000000..57b4765c7
--- /dev/null
+++ b/src/com/engine/salary/entity/auth/dto/TaxOptAuth.java
@@ -0,0 +1,19 @@
+package com.engine.salary.entity.auth.dto;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.Set;
+
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class TaxOptAuth {
+ private Long taxAgentId;
+
+ private Set opts;
+}
+
diff --git a/src/com/engine/salary/entity/auth/param/AuthDataQueryParam.java b/src/com/engine/salary/entity/auth/param/AuthDataQueryParam.java
new file mode 100644
index 000000000..28f53f712
--- /dev/null
+++ b/src/com/engine/salary/entity/auth/param/AuthDataQueryParam.java
@@ -0,0 +1,20 @@
+package com.engine.salary.entity.auth.param;
+
+import com.engine.salary.common.BaseQueryParam;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class AuthDataQueryParam extends BaseQueryParam {
+
+ private Long roleId;
+
+ private String username;
+
+}
diff --git a/src/com/engine/salary/entity/auth/param/AuthDataSaveParam.java b/src/com/engine/salary/entity/auth/param/AuthDataSaveParam.java
new file mode 100644
index 000000000..86784082f
--- /dev/null
+++ b/src/com/engine/salary/entity/auth/param/AuthDataSaveParam.java
@@ -0,0 +1,41 @@
+package com.engine.salary.entity.auth.param;
+
+
+import com.engine.salary.enums.auth.DataLinkEnum;
+import com.engine.salary.enums.auth.DataTargetTypeEnum;
+import com.engine.salary.util.valid.Modify;
+import com.engine.salary.util.valid.ModifyTypeEnum;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * 鏁版嵁
+ * Copyright: Copyright (c) 2024
+ * Company: 娉涘井杞欢
+ *
+ * @author qiantao
+ * @version 1.0
+ **/
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class AuthDataSaveParam {
+ private Long id;
+
+ private Long roleId;
+
+ private DataLinkEnum link;
+
+ private DataTargetTypeEnum targetType;
+
+ @Modify(modifyType = ModifyTypeEnum.RESTORE_SQL)
+ private String target;
+
+ @Modify(modifyType = ModifyTypeEnum.RESTORE_SQL)
+ private String targetName;
+
+ private Integer sortedIndex;
+}
\ No newline at end of file
diff --git a/src/com/engine/salary/entity/auth/param/AuthMemberQueryParam.java b/src/com/engine/salary/entity/auth/param/AuthMemberQueryParam.java
new file mode 100644
index 000000000..e540a1590
--- /dev/null
+++ b/src/com/engine/salary/entity/auth/param/AuthMemberQueryParam.java
@@ -0,0 +1,20 @@
+package com.engine.salary.entity.auth.param;
+
+import com.engine.salary.common.BaseQueryParam;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class AuthMemberQueryParam extends BaseQueryParam {
+
+ private Long roleId;
+
+ private String username;
+
+}
diff --git a/src/com/engine/salary/entity/auth/param/AuthMemberSaveParam.java b/src/com/engine/salary/entity/auth/param/AuthMemberSaveParam.java
new file mode 100644
index 000000000..9486d1e96
--- /dev/null
+++ b/src/com/engine/salary/entity/auth/param/AuthMemberSaveParam.java
@@ -0,0 +1,29 @@
+package com.engine.salary.entity.auth.param;
+
+
+import com.engine.salary.enums.auth.MemberTargetTypeEnum;
+import com.engine.salary.util.valid.Modify;
+import com.engine.salary.util.valid.ModifyTypeEnum;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class AuthMemberSaveParam {
+
+ private Long id;
+
+ private Long roleId;
+
+ private MemberTargetTypeEnum targetType;
+
+ @Modify(modifyType = ModifyTypeEnum.RESTORE_SQL)
+ private String target;
+
+ @Modify(modifyType = ModifyTypeEnum.RESTORE_SQL)
+ private String targetName;
+}
\ No newline at end of file
diff --git a/src/com/engine/salary/entity/auth/param/AuthOptSaveParam.java b/src/com/engine/salary/entity/auth/param/AuthOptSaveParam.java
new file mode 100644
index 000000000..c720fedcc
--- /dev/null
+++ b/src/com/engine/salary/entity/auth/param/AuthOptSaveParam.java
@@ -0,0 +1,26 @@
+package com.engine.salary.entity.auth.param;
+
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
+
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class AuthOptSaveParam {
+ private Long roleId;
+ private List opts;
+
+ @Data
+ public static class Opt {
+
+ private String page;
+
+ private String opt;
+ }
+}
\ No newline at end of file
diff --git a/src/com/engine/salary/entity/auth/param/AuthRoleListQueryParam.java b/src/com/engine/salary/entity/auth/param/AuthRoleListQueryParam.java
new file mode 100644
index 000000000..ab71eb23a
--- /dev/null
+++ b/src/com/engine/salary/entity/auth/param/AuthRoleListQueryParam.java
@@ -0,0 +1,59 @@
+package com.engine.salary.entity.auth.param;
+
+import com.engine.salary.common.BaseQueryParam;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
+
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class AuthRoleListQueryParam extends BaseQueryParam {
+
+ /**
+ * 涓氬姟绾垮悕绉
+ */
+ private String name;
+
+ /**
+ * 涓氬姟绾縤d
+ */
+ private List roleIds;
+
+ /**
+ * 鎵g即涔夊姟浜鸿祫婧
+ */
+ private List taxAgentIds;
+
+ /**
+ * 璐﹀璧勬簮
+ */
+ private List sobIds;
+
+ /**
+ * 鎴愬憳id
+ */
+ private List roleEmpIds;
+
+
+ /**
+ * 鏉冮檺椤甸潰
+ */
+ private List pages;
+
+ /**
+ * 鏉冮檺椤
+ */
+ private List opts;
+
+
+ /**
+ * 鏁版嵁id
+ */
+ private List employeeIds;
+
+}
\ No newline at end of file
diff --git a/src/com/engine/salary/entity/auth/param/AuthRoleSaveParam.java b/src/com/engine/salary/entity/auth/param/AuthRoleSaveParam.java
new file mode 100644
index 000000000..f1075d4ab
--- /dev/null
+++ b/src/com/engine/salary/entity/auth/param/AuthRoleSaveParam.java
@@ -0,0 +1,44 @@
+package com.engine.salary.entity.auth.param;
+
+import com.engine.salary.util.valid.DataCheck;
+import com.engine.salary.util.valid.RuntimeTypeEnum;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import com.engine.salary.entity.taxagent.po.TaxAgentPO;
+import com.engine.salary.entity.salarysob.po.SalarySobPO;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
+
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class AuthRoleSaveParam {
+
+ @JsonSerialize(using = ToStringSerializer.class)
+ @DataCheck(require = true, runtime = {RuntimeTypeEnum.UPDATE}, message = "id涓嶅厑璁镐负绌")
+ private Long id;
+
+
+ @DataCheck(require = true, max = 40, message = "鍚嶇О涓嶅厑璁镐负绌,鍚嶇О涓嶈兘瓒呰繃40涓瓧绗")
+ private String name;
+
+ @DataCheck(require = false, max = 400, message = "鎻忚堪涓嶈兘瓒呰繃400涓瓧绗")
+ private String description;
+
+ /**
+ * 鎵g即涔夊姟浜鸿祫婧
+ */
+ private List taxAgentIds;
+
+
+ /**
+ * 璐﹀璧勬簮
+ */
+ private List sobIds;
+
+}
\ No newline at end of file
diff --git a/src/com/engine/salary/entity/auth/param/AuthSyncParam.java b/src/com/engine/salary/entity/auth/param/AuthSyncParam.java
new file mode 100644
index 000000000..1ac9be40c
--- /dev/null
+++ b/src/com/engine/salary/entity/auth/param/AuthSyncParam.java
@@ -0,0 +1,17 @@
+package com.engine.salary.entity.auth.param;
+
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class AuthSyncParam {
+
+ private Long roleId;
+
+}
\ No newline at end of file
diff --git a/src/com/engine/salary/entity/auth/param/AuthTreeQueryParam.java b/src/com/engine/salary/entity/auth/param/AuthTreeQueryParam.java
new file mode 100644
index 000000000..101faec0e
--- /dev/null
+++ b/src/com/engine/salary/entity/auth/param/AuthTreeQueryParam.java
@@ -0,0 +1,28 @@
+package com.engine.salary.entity.auth.param;
+
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
+
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class AuthTreeQueryParam {
+
+ private Long roleEmpId;
+
+ private List roleIds;
+
+ private List employeeIds;
+
+ private List pages;
+
+ private List opts;
+
+
+}
\ No newline at end of file
diff --git a/src/com/engine/salary/entity/auth/po/AuthDataPO.java b/src/com/engine/salary/entity/auth/po/AuthDataPO.java
new file mode 100644
index 000000000..b29b6992a
--- /dev/null
+++ b/src/com/engine/salary/entity/auth/po/AuthDataPO.java
@@ -0,0 +1,92 @@
+package com.engine.salary.entity.auth.po;
+
+import com.engine.hrmelog.annotation.ElogTransform;
+import com.engine.salary.enums.auth.DataLinkEnum;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.Collection;
+import java.util.Date;
+
+/**
+ * 鏁版嵁
+ */
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class AuthDataPO {
+ @ElogTransform(name = "id")
+ private Long id;
+
+ /**
+ * 瑙掕壊id
+ */
+ @ElogTransform(name = "瑙掕壊id")
+ private Long roleId;
+
+ /**
+ * 杩炴帴绗︼紝浜ゃ佸苟銆佽ˉ
+ * @see DataLinkEnum
+ */
+ @ElogTransform(name = "杩炴帴绗︼紝浜ゃ佸苟銆佽ˉ")
+ private Integer link;
+
+ /**
+ * 鏁版嵁绫诲瀷锛1锛氫汉鍛樸2锛氶儴闂ㄣ3锛氬矖浣嶃4锛氬垎閮ㄣ5锛氳鑹层6锛氬畨鍏ㄧ骇鍒 銆7锛氭墍鏈変汉 銆8锛氱櫥褰曚汉銆9锛氳处濂椼10锛歴ql
+ */
+ @ElogTransform(name = "鏁版嵁绫诲瀷")
+ private Integer targetType;
+
+ /**
+ * 瀵硅薄id
+ */
+ @ElogTransform(name = "瀵硅薄id")
+ private String target;
+
+ /**
+ * 瀵硅薄鍚嶇О
+ */
+ @ElogTransform(name = "瀵硅薄鍚嶇О")
+ private String targetName;
+
+ @ElogTransform(name = "鎺掑簭")
+ private Integer sortedIndex;
+
+ /**
+ * 鍒涘缓浜
+ */
+ @ElogTransform(name = "鍒涘缓浜")
+ private Long creator;
+
+ /**
+ * 鍒涘缓鏃堕棿
+ */
+ @ElogTransform(name = "鍒涘缓鏃堕棿")
+ private Date createTime;
+
+ /**
+ * 鏇存柊鏃堕棿
+ */
+ @ElogTransform(name = "鏇存柊鏃堕棿")
+ private Date updateTime;
+
+ /**
+ * 鏄惁宸插垹闄ゃ0锛氭湭鍒犻櫎銆1锛氬凡鍒犻櫎
+ */
+ @ElogTransform(name = "鏄惁宸插垹闄ゃ0锛氭湭鍒犻櫎銆1锛氬凡鍒犻櫎")
+ private Integer deleteType;
+
+ /**
+ * 绉熸埛ID
+ */
+ @ElogTransform(name = "绉熸埛ID")
+ private String tenantKey;
+
+
+ //涓婚敭id闆嗗悎
+ private Collection ids;
+
+}
\ No newline at end of file
diff --git a/src/com/engine/salary/entity/auth/po/AuthMemberPO.java b/src/com/engine/salary/entity/auth/po/AuthMemberPO.java
new file mode 100644
index 000000000..218c1b3ae
--- /dev/null
+++ b/src/com/engine/salary/entity/auth/po/AuthMemberPO.java
@@ -0,0 +1,71 @@
+package com.engine.salary.entity.auth.po;
+
+import com.engine.hrmelog.annotation.ElogTransform;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.Collection;
+import java.util.Date;
+
+/**
+ * 鎴愬憳
+ */
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+@ElogTransform( name="鎴愬憳" )
+public class AuthMemberPO {
+ private Long id;
+ /**
+ * 瑙掕壊id
+ */
+ @ElogTransform( name="瑙掕壊id" )
+ private Long roleId;
+ /**
+ * 瀵硅薄绫诲瀷锛1锛氫汉鍛樸2锛氶儴闂ㄣ3锛氬矖浣嶃4锛氬垎閮ㄣ5锛氳鑹层6锛歴ql
+ */
+ @ElogTransform( name="瀵硅薄绫诲瀷" )
+ private Integer targetType;
+ /**
+ * 瀵硅薄
+ */
+ @ElogTransform( name="瀵硅薄" )
+ private String target;
+ /**
+ * 瀵硅薄
+ */
+ @ElogTransform( name="瀵硅薄鏄剧ず鍚" )
+ private String targetName;
+ /**
+ * 鍒涘缓浜
+ */
+ @ElogTransform( name="鍒涘缓浜" )
+ private Long creator;
+ /**
+ * 鍒涘缓鏃堕棿
+ */
+ @ElogTransform( name="鍒涘缓鏃堕棿" )
+ private Date createTime;
+ /**
+ * 鏇存柊鏃堕棿
+ */
+ @ElogTransform( name="鏇存柊鏃堕棿" )
+ private Date updateTime;
+ /**
+ * 鏄惁宸插垹闄ゃ0锛氭湭鍒犻櫎銆1锛氬凡鍒犻櫎
+ */
+ @ElogTransform( name="鏄惁宸插垹闄ゃ0锛氭湭鍒犻櫎銆1锛氬凡鍒犻櫎" )
+ private Integer deleteType;
+ /**
+ * 绉熸埛ID
+ */
+ @ElogTransform( name="绉熸埛ID" )
+ private String tenantKey;
+
+ //涓婚敭id闆嗗悎
+ private Collection ids;
+
+}
\ No newline at end of file
diff --git a/src/com/engine/salary/entity/auth/po/AuthOptPO.java b/src/com/engine/salary/entity/auth/po/AuthOptPO.java
new file mode 100644
index 000000000..10da3aed9
--- /dev/null
+++ b/src/com/engine/salary/entity/auth/po/AuthOptPO.java
@@ -0,0 +1,75 @@
+package com.engine.salary.entity.auth.po;
+
+import com.engine.hrmelog.annotation.ElogTransform;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.Collection;
+import java.util.Date;
+
+/**
+ * 鏉冮檺椤
+ */
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class AuthOptPO {
+ @ElogTransform(name = "id")
+ private Long id;
+
+ /**
+ * 瑙掕壊id
+ */
+ @ElogTransform(name = "瑙掕壊id")
+ private Long roleId;
+
+ /**
+ * 椤甸潰
+ */
+ @ElogTransform(name = "椤甸潰")
+ private String page;
+
+ /**
+ * 鏉冮檺椤
+ */
+ @ElogTransform(name = "鏉冮檺椤")
+ private String opt;
+
+ /**
+ * 鍒涘缓浜
+ */
+ @ElogTransform(name = "鍒涘缓浜")
+ private Long creator;
+
+ /**
+ * 鍒涘缓鏃堕棿
+ */
+ @ElogTransform(name = "鍒涘缓鏃堕棿")
+ private Date createTime;
+
+ /**
+ * 鏇存柊鏃堕棿
+ */
+ @ElogTransform(name = "鏇存柊鏃堕棿")
+ private Date updateTime;
+
+ /**
+ * 鏄惁宸插垹闄ゃ0锛氭湭鍒犻櫎銆1锛氬凡鍒犻櫎
+ */
+ @ElogTransform(name = "鏄惁宸插垹闄ゃ0锛氭湭鍒犻櫎銆1锛氬凡鍒犻櫎")
+ private Integer deleteType;
+
+ /**
+ * 绉熸埛ID
+ */
+ @ElogTransform(name = "绉熸埛ID")
+ private String tenantKey;
+
+
+ //涓婚敭id闆嗗悎
+ private Collection ids;
+
+}
\ No newline at end of file
diff --git a/src/com/engine/salary/entity/auth/po/AuthResourcePO.java b/src/com/engine/salary/entity/auth/po/AuthResourcePO.java
new file mode 100644
index 000000000..a7fecdd46
--- /dev/null
+++ b/src/com/engine/salary/entity/auth/po/AuthResourcePO.java
@@ -0,0 +1,83 @@
+package com.engine.salary.entity.auth.po;
+
+import com.engine.hrmelog.annotation.ElogTransform;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.Collection;
+import java.util.Date;
+
+/**
+ * 瑙掕壊
+ */
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class AuthResourcePO {
+
+
+ @ElogTransform(name = "")
+ private Long id;
+
+ /**
+ * 瑙掕壊id
+ */
+ @ElogTransform(name = "瑙掕壊id")
+ private Long roleId;
+
+ /**
+ * 瀵硅薄绫诲瀷锛1锛氭墸缂翠箟鍔′汉 2锛氳处濂
+ */
+ @ElogTransform( name="瀵硅薄绫诲瀷" )
+ private Integer targetType;
+
+ /**
+ * 瀵硅薄
+ */
+ @ElogTransform( name="瀵硅薄" )
+ private Long target;
+
+ /**
+ * 瀵硅薄
+ */
+ @ElogTransform( name="瀵硅薄鏄剧ず鍚" )
+ private String targetName;
+
+ /**
+ * 鍒涘缓鏃堕棿
+ */
+ @ElogTransform(name = "鍒涘缓鏃堕棿")
+ private Date createTime;
+
+
+ /**
+ * 鏇存柊鏃堕棿
+ */
+ @ElogTransform(name = "鏇存柊鏃堕棿")
+ private Date updateTime;
+
+ /**
+ * 鍒涘缓浜
+ */
+ @ElogTransform(name = "鍒涘缓浜")
+ private Long creator;
+
+ /**
+ * 鏄惁宸插垹闄ゃ0锛氭湭鍒犻櫎銆1锛氬凡鍒犻櫎
+ */
+ @ElogTransform(name = "鏄惁宸插垹闄ゃ0锛氭湭鍒犻櫎銆1锛氬凡鍒犻櫎")
+ private Integer deleteType;
+
+ /**
+ * 绉熸埛ID
+ */
+ @ElogTransform(name = "绉熸埛ID")
+ private String tenantKey;
+
+ //涓婚敭id闆嗗悎
+ private Collection ids;
+
+}
\ No newline at end of file
diff --git a/src/com/engine/salary/entity/auth/po/AuthRoleDataPO.java b/src/com/engine/salary/entity/auth/po/AuthRoleDataPO.java
new file mode 100644
index 000000000..a28e5dbe1
--- /dev/null
+++ b/src/com/engine/salary/entity/auth/po/AuthRoleDataPO.java
@@ -0,0 +1,69 @@
+package com.engine.salary.entity.auth.po;
+
+import com.engine.hrmelog.annotation.ElogTransform;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.Collection;
+import java.util.Date;
+
+/**
+ * 瑙掕壊鏁版嵁鏄庣粏
+ */
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class AuthRoleDataPO {
+ @ElogTransform(name = "id")
+ private Long id;
+
+ /**
+ * 瑙掕壊id
+ */
+ @ElogTransform(name = "瑙掕壊id")
+ private Long roleId;
+
+ /**
+ * 浜哄憳id
+ */
+ @ElogTransform(name = "浜哄憳id")
+ private Long employeeId;
+
+ /**
+ * 鍒涘缓浜
+ */
+ @ElogTransform(name = "鍒涘缓浜")
+ private Long creator;
+
+ /**
+ * 鍒涘缓鏃堕棿
+ */
+ @ElogTransform(name = "鍒涘缓鏃堕棿")
+ private Date createTime;
+
+ /**
+ * 鏇存柊鏃堕棿
+ */
+ @ElogTransform(name = "鏇存柊鏃堕棿")
+ private Date updateTime;
+
+ /**
+ * 鏄惁宸插垹闄ゃ0锛氭湭鍒犻櫎銆1锛氬凡鍒犻櫎
+ */
+ @ElogTransform(name = "鏄惁宸插垹闄ゃ0锛氭湭鍒犻櫎銆1锛氬凡鍒犻櫎")
+ private Integer deleteType;
+
+ /**
+ * 绉熸埛ID
+ */
+ @ElogTransform(name = "绉熸埛ID")
+ private String tenantKey;
+
+
+ //涓婚敭id闆嗗悎
+ private Collection ids;
+
+}
\ No newline at end of file
diff --git a/src/com/engine/salary/entity/auth/po/AuthRoleEmpPO.java b/src/com/engine/salary/entity/auth/po/AuthRoleEmpPO.java
new file mode 100644
index 000000000..f3963f3f7
--- /dev/null
+++ b/src/com/engine/salary/entity/auth/po/AuthRoleEmpPO.java
@@ -0,0 +1,61 @@
+package com.engine.salary.entity.auth.po;
+
+import com.engine.hrmelog.annotation.ElogTransform;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.Collection;
+import java.util.Date;
+
+/**
+ * 瑙掕壊
+ */
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class AuthRoleEmpPO {
+ @ElogTransform(name = "")
+ private Long id;
+ /**
+ * 瑙掕壊id
+ */
+ @ElogTransform(name = "瑙掕壊id")
+ private Long roleId;
+ /**
+ * 浜哄憳id
+ */
+ @ElogTransform(name = "浜哄憳id")
+ private Long employeeId;
+ /**
+ * 鍒涘缓浜
+ */
+ @ElogTransform(name = "鍒涘缓浜")
+ private Long creator;
+ /**
+ * 鍒涘缓鏃堕棿
+ */
+ @ElogTransform(name = "鍒涘缓鏃堕棿")
+ private Date createTime;
+ /**
+ * 鏇存柊鏃堕棿
+ */
+ @ElogTransform(name = "鏇存柊鏃堕棿")
+ private Date updateTime;
+ /**
+ * 鏄惁宸插垹闄ゃ0锛氭湭鍒犻櫎銆1锛氬凡鍒犻櫎
+ */
+ @ElogTransform(name = "鏄惁宸插垹闄ゃ0锛氭湭鍒犻櫎銆1锛氬凡鍒犻櫎")
+ private Integer deleteType;
+ /**
+ * 绉熸埛ID
+ */
+ @ElogTransform(name = "绉熸埛ID")
+ private String tenantKey;
+
+ //涓婚敭id闆嗗悎
+ private Collection ids;
+
+}
\ No newline at end of file
diff --git a/src/com/engine/salary/entity/auth/po/AuthRolePO.java b/src/com/engine/salary/entity/auth/po/AuthRolePO.java
new file mode 100644
index 000000000..0475c9b08
--- /dev/null
+++ b/src/com/engine/salary/entity/auth/po/AuthRolePO.java
@@ -0,0 +1,69 @@
+package com.engine.salary.entity.auth.po;
+
+import com.engine.hrmelog.annotation.ElogTransform;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.Collection;
+import java.util.Date;
+
+/**
+ * 瑙掕壊
+ */
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+@ElogTransform(name = "涓氬姟绾")
+public class AuthRolePO {
+
+ private Long id;
+
+ /**
+ * 鍚嶇О
+ */
+ @ElogTransform(name = "鍚嶇О")
+ private String name;
+
+ /**
+ * 鎻忚堪
+ */
+ @ElogTransform(name = "鎻忚堪")
+ private String description;
+
+ /**
+ * 鍒涘缓浜
+ */
+ @ElogTransform(name = "鍒涘缓浜")
+ private Long creator;
+
+ /**
+ * 鍒涘缓鏃堕棿
+ */
+ @ElogTransform(name = "鍒涘缓鏃堕棿")
+ private Date createTime;
+
+ /**
+ * 鏇存柊鏃堕棿
+ */
+ @ElogTransform(name = "鏇存柊鏃堕棿")
+ private Date updateTime;
+
+ /**
+ * 鏄惁宸插垹闄ゃ0锛氭湭鍒犻櫎銆1锛氬凡鍒犻櫎
+ */
+ @ElogTransform(name = "鏄惁宸插垹闄ゃ0锛氭湭鍒犻櫎銆1锛氬凡鍒犻櫎")
+ private Integer deleteType;
+
+ /**
+ * 绉熸埛ID
+ */
+ @ElogTransform(name = "绉熸埛ID")
+ private String tenantKey;
+
+ //涓婚敭id闆嗗悎
+ private Collection ids;
+
+}
\ No newline at end of file
diff --git a/src/com/engine/salary/entity/auth/vo/Permission.java b/src/com/engine/salary/entity/auth/vo/Permission.java
new file mode 100644
index 000000000..6faaa3a62
--- /dev/null
+++ b/src/com/engine/salary/entity/auth/vo/Permission.java
@@ -0,0 +1,40 @@
+package com.engine.salary.entity.auth.vo;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
+
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class Permission {
+ /**
+ * 鏄惁寮鍚簡鍒嗘潈
+ */
+ private Boolean isOpenDevolution;
+
+ /**
+ * 鏄惁鎬荤鐞嗗憳
+ */
+ private Boolean isChief;
+
+ /**
+ * 鏄惁鎵g即涔夊姟浜虹鐞嗗憳
+ */
+ private Boolean isAdminEnable;
+
+ /**
+ * 褰撳墠椤甸潰鏄惁鏈夋潈闄
+ */
+ private boolean able;
+
+ /**
+ * 鏉冮檺椤
+ */
+ private List opts;
+
+}
diff --git a/src/com/engine/salary/entity/datacollection/AddUpSituation.java b/src/com/engine/salary/entity/datacollection/AddUpSituation.java
index b6d456bb8..b9d7278c6 100644
--- a/src/com/engine/salary/entity/datacollection/AddUpSituation.java
+++ b/src/com/engine/salary/entity/datacollection/AddUpSituation.java
@@ -1,9 +1,6 @@
package com.engine.salary.entity.datacollection;
-import com.engine.salary.annotation.Encrypt;
-import com.engine.salary.annotation.SalaryFormulaVar;
-import com.engine.salary.annotation.SalaryTable;
-import com.engine.salary.annotation.SalaryTableOperate;
+import com.engine.salary.annotation.*;
import com.engine.hrmelog.annotation.ElogTransform;
import lombok.AllArgsConstructor;
import lombok.Builder;
@@ -13,6 +10,7 @@ import lombok.NoArgsConstructor;
import java.util.Collection;
import java.util.Date;
import java.util.List;
+import java.util.Set;
/**
* 鏁版嵁閲囬泦-绱鎯呭喌琛
@@ -24,6 +22,7 @@ import java.util.List;
@SalaryTable(pageId = "a4f83287-e3f9-4275-9527-7d06e54y6238", fields = "id,addUpSubtraction", operates = {@SalaryTableOperate(text = "鍒犻櫎",index = "0")})
//hrsa_add_up_situation
@ElogTransform(name = "寰鏈熺疮璁℃儏鍐")
+@Auth(page = "addUpSituation")
public class AddUpSituation {
/**
* 涓婚敭id
@@ -234,4 +233,7 @@ public class AddUpSituation {
Collection employeeIds;
Collection taxAgentIds;
+
+ private Set opts;
+
}
\ No newline at end of file
diff --git a/src/com/engine/salary/entity/datacollection/bo/VariableArchiveExcelBO.java b/src/com/engine/salary/entity/datacollection/bo/VariableArchiveExcelBO.java
index 313ddc1d4..56f7a14b0 100644
--- a/src/com/engine/salary/entity/datacollection/bo/VariableArchiveExcelBO.java
+++ b/src/com/engine/salary/entity/datacollection/bo/VariableArchiveExcelBO.java
@@ -1,14 +1,14 @@
package com.engine.salary.entity.datacollection.bo;
+import cn.hutool.core.util.NumberUtil;
import com.engine.core.impl.Service;
-import com.engine.salary.constant.SalaryArchiveConstant;
import com.engine.salary.constant.SalaryDefaultTenantConstant;
import com.engine.salary.entity.datacollection.DataCollectionEmployee;
import com.engine.salary.entity.datacollection.param.VariableArchiveImportHandleParam;
import com.engine.salary.entity.datacollection.po.VariableArchiveItemPO;
import com.engine.salary.entity.datacollection.po.VariableArchivePO;
import com.engine.salary.entity.datacollection.po.VariableItemPO;
-import com.engine.salary.entity.taxagent.dto.TaxAgentManageRangeEmployeeDTO;
+import com.engine.salary.entity.taxagent.po.TaxAgentPO;
import com.engine.salary.enums.UserStatusEnum;
import com.engine.salary.enums.salaryarchive.SalaryArchiveFieldTypeEnum;
import com.engine.salary.util.SalaryI18nUtil;
@@ -23,7 +23,6 @@ import weaver.general.Util;
import weaver.hrm.User;
import java.util.*;
-import java.util.regex.Pattern;
import java.util.stream.Collectors;
/**
@@ -178,7 +177,7 @@ public class VariableArchiveExcelBO extends Service {
// 涓◣鎵g即涔夊姟浜
String taxAgentCellVal = Optional.ofNullable(map.get(taxAgentI18n)).orElse("").toString();
map.put("taxAgent", taxAgentCellVal);
- Optional optionalTaxAgent = importHandleParam.getTaxAgentList().stream().filter(m -> m.getTaxAgentName().equals(taxAgentCellVal)).findFirst();
+ Optional optionalTaxAgent = importHandleParam.getTaxAgentList().stream().filter(m -> m.getName().equals(taxAgentCellVal)).findFirst();
if (!optionalTaxAgent.isPresent()) {
Map errorMessageMap = Maps.newHashMap();
errorMessageMap.put("message", rowindex + "涓◣鎵g即涔夊姟浜轰笉瀛樺湪锛屾垨涓嶅湪鏉冮檺鑼冨洿鍐");
@@ -186,12 +185,12 @@ public class VariableArchiveExcelBO extends Service {
isError = true;
return isError;
}
- Long taxAgentId = optionalTaxAgent.get().getTaxAgentId();
+ Long taxAgentId = optionalTaxAgent.get().getId();
map.put("taxAgentId", taxAgentId);
// 鐢ㄤ簬鍒濆鍖栧鍏ユ暟鎹牎楠
map.put("employeeId", employeeId);
- String repeatKey = optionalTaxAgent.get().getTaxAgentId() + "-" + employeeId.toString();
+ String repeatKey = optionalTaxAgent.get().getId() + "-" + employeeId.toString();
if (allTodoVariableArchives.contains(repeatKey)) {
Map errorMessageMap = Maps.newHashMap();
errorMessageMap.put("message", rowindex + "瀛樺湪閲嶅鏁版嵁");
@@ -232,7 +231,7 @@ public class VariableArchiveExcelBO extends Service {
if (optionalVariableItem.isPresent()) {
VariableItemPO variableItemPO = optionalVariableItem.get();
// 鏁板肩被鍨嬪垽鏂
- boolean isNotNumber = variableItemPO.getDataType().equals(SalaryArchiveFieldTypeEnum.NUMBER.getValue()) && StringUtils.isNotEmpty(cellVal) && !Pattern.matches(SalaryArchiveConstant.NUMBER_REGEX, cellVal);
+ boolean isNotNumber = variableItemPO.getDataType().equals(SalaryArchiveFieldTypeEnum.NUMBER.getValue()) && StringUtils.isNotEmpty(cellVal) && !NumberUtil.isNumber(cellVal);
if (isNotNumber) {
Map errorMessageMap = Maps.newHashMap();
errorMessageMap.put("message", rowindex + key + numberErr);
diff --git a/src/com/engine/salary/entity/datacollection/dto/AddUpDeductionDTO.java b/src/com/engine/salary/entity/datacollection/dto/AddUpDeductionDTO.java
index b16ebacf6..78b4ac20a 100644
--- a/src/com/engine/salary/entity/datacollection/dto/AddUpDeductionDTO.java
+++ b/src/com/engine/salary/entity/datacollection/dto/AddUpDeductionDTO.java
@@ -9,6 +9,8 @@ import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
+import java.util.Set;
+
/**
* 鏁版嵁閲囬泦-绱涓撻」闄勫姞鎵i櫎
* Copyright: Copyright (c) 2022
@@ -24,6 +26,7 @@ import lombok.NoArgsConstructor;
@SalaryTable(pageId = "a4f85287-e3f9-4275-adn9-7d06e54y67j8", tableType = WeaTableType.CHECKBOX, operates = {
@SalaryTableOperate(text = "鏌ョ湅鏄庣粏")
})
+@Auth(page = "addUpDeduction")
public class AddUpDeductionDTO {
/**
@@ -163,5 +166,5 @@ public class AddUpDeductionDTO {
@SalaryTableColumn(text = "鎿嶄綔", width = "20%", column = "operate")
@TableTitle(title = "鎿嶄綔", dataIndex = "operate", key = "operate")
- private String operate;
+ private Set opts;
}
diff --git a/src/com/engine/salary/entity/datacollection/dto/AddUpDeductionRecordDTO.java b/src/com/engine/salary/entity/datacollection/dto/AddUpDeductionRecordDTO.java
index 4de554f12..2c34eaef4 100644
--- a/src/com/engine/salary/entity/datacollection/dto/AddUpDeductionRecordDTO.java
+++ b/src/com/engine/salary/entity/datacollection/dto/AddUpDeductionRecordDTO.java
@@ -10,6 +10,7 @@ import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
+import java.util.Set;
@Data
@@ -18,6 +19,7 @@ import java.util.Date;
@AllArgsConstructor
//鏁版嵁閲囬泦-绱涓撻」闄勫姞鎵i櫎璁板綍
@SalaryTable(pageId = "a4f85287-3354-4275-adn9-7d06e54y6rj8", tableType = WeaTableType.CHECKBOX)
+@Auth(page = "addUpDeduction")
public class AddUpDeductionRecordDTO {
//涓婚敭id
@@ -124,4 +126,6 @@ public class AddUpDeductionRecordDTO {
@Encrypt
private String addUpInfantCare;
+ private Set opts;
+
}
diff --git a/src/com/engine/salary/entity/datacollection/dto/AddUpSituationDTO.java b/src/com/engine/salary/entity/datacollection/dto/AddUpSituationDTO.java
index bd4a80aaa..e4aac1565 100644
--- a/src/com/engine/salary/entity/datacollection/dto/AddUpSituationDTO.java
+++ b/src/com/engine/salary/entity/datacollection/dto/AddUpSituationDTO.java
@@ -10,6 +10,8 @@ import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
+import java.util.Set;
+
/**
* 鏁版嵁閲囬泦-绱鎯呭喌琛
*/
@@ -20,6 +22,7 @@ import lombok.NoArgsConstructor;
@SalaryTable(pageId = "a4f85287-e3f9-7841-adn9-7d06e54y6rj8", tableType = WeaTableType.CHECKBOX, operates = {
@SalaryTableOperate(text = "鏌ョ湅鏄庣粏")
})
+@Auth(page = "addUpSituation")
public class AddUpSituationDTO {
//涓婚敭id
@JsonSerialize(using = ToStringSerializer.class)
@@ -215,5 +218,5 @@ public class AddUpSituationDTO {
@SalaryTableColumn(text = "鎿嶄綔", width = "20%", column = "operate")
@TableTitle(title = "鎿嶄綔", dataIndex = "operate", key = "operate")
- private String operate;
+ private Set opts;
}
\ No newline at end of file
diff --git a/src/com/engine/salary/entity/datacollection/dto/AddUpSituationRecordDTO.java b/src/com/engine/salary/entity/datacollection/dto/AddUpSituationRecordDTO.java
index e8c2fd0aa..5a9686b89 100644
--- a/src/com/engine/salary/entity/datacollection/dto/AddUpSituationRecordDTO.java
+++ b/src/com/engine/salary/entity/datacollection/dto/AddUpSituationRecordDTO.java
@@ -1,10 +1,7 @@
package com.engine.salary.entity.datacollection.dto;
import com.cloudstore.eccom.pc.table.WeaTableType;
-import com.engine.salary.annotation.Encrypt;
-import com.engine.salary.annotation.SalaryTable;
-import com.engine.salary.annotation.SalaryTableColumn;
-import com.engine.salary.annotation.TableTitle;
+import com.engine.salary.annotation.*;
import com.engine.salary.util.excel.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
@@ -28,6 +25,7 @@ import java.util.Date;
@NoArgsConstructor
@AllArgsConstructor
@SalaryTable(pageId = "a5f85287-3354-4275-adn9-7d06e54y6rj8",tableType = WeaTableType.CHECKBOX)
+@Auth(page = "addUpSituation")
public class AddUpSituationRecordDTO {
@SalaryTableColumn(column = "id", display = false)
diff --git a/src/com/engine/salary/entity/datacollection/dto/AttendQuoteListDTO.java b/src/com/engine/salary/entity/datacollection/dto/AttendQuoteListDTO.java
index f058c3d91..f5c6fce5f 100644
--- a/src/com/engine/salary/entity/datacollection/dto/AttendQuoteListDTO.java
+++ b/src/com/engine/salary/entity/datacollection/dto/AttendQuoteListDTO.java
@@ -1,9 +1,7 @@
package com.engine.salary.entity.datacollection.dto;
-import com.engine.salary.annotation.SalaryTable;
-import com.engine.salary.annotation.SalaryTableColumn;
-import com.engine.salary.annotation.SalaryTableOperate;
-import com.engine.salary.annotation.TableTitle;
+import com.engine.salary.annotation.*;
+import com.engine.salary.enums.auth.AuthCheckTypeEnum;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
@@ -13,6 +11,7 @@ import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
+import java.util.Set;
/**
* 鏁版嵁閲囬泦-鑰冨嫟寮曠敤鍒楄〃
@@ -30,6 +29,7 @@ import java.util.Date;
@SalaryTableOperate(text = "鏌ョ湅", index = "0"),
@SalaryTableOperate(text = "鍒犻櫎", index = "1")
})
+@Auth(page = "attendQuote",checkType = AuthCheckTypeEnum.SOB)
public class AttendQuoteListDTO {
@SalaryTableColumn(column = "id", display = false)
@@ -79,4 +79,6 @@ public class AttendQuoteListDTO {
* 钖祫璐﹀id
*/
private Long salarySobId;
+
+ private Set opts;
}
diff --git a/src/com/engine/salary/entity/datacollection/dto/OtherDeductionListDTO.java b/src/com/engine/salary/entity/datacollection/dto/OtherDeductionListDTO.java
index 94f3580d0..a3c68530c 100644
--- a/src/com/engine/salary/entity/datacollection/dto/OtherDeductionListDTO.java
+++ b/src/com/engine/salary/entity/datacollection/dto/OtherDeductionListDTO.java
@@ -2,12 +2,15 @@ package com.engine.salary.entity.datacollection.dto;
import com.cloudstore.eccom.pc.table.WeaTableType;
import com.engine.salary.annotation.*;
+import com.engine.salary.enums.auth.AuthCheckTypeEnum;
import com.engine.salary.util.excel.ExcelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
+import java.util.Set;
+
/**
* 鏁版嵁閲囬泦-鍏朵粬鍏嶇◣鎵i櫎鍒楄〃
* Copyright: Copyright (c) 2022
@@ -23,6 +26,7 @@ import lombok.NoArgsConstructor;
@SalaryTable(pageId = "a4f85287-e3f9-6612-adn9-7d06e54y6rj8", tableType = WeaTableType.CHECKBOX, operates = {
@SalaryTableOperate(text = "鏌ョ湅鏄庣粏")
})
+@Auth(page = "otherDeduction", checkType = AuthCheckTypeEnum.TAX_EMP)
public class OtherDeductionListDTO {
@@ -119,4 +123,6 @@ public class OtherDeductionListDTO {
@SalaryTableColumn(text = "鎿嶄綔", width = "20%", column = "operate")
@TableTitle(title = "鎿嶄綔", dataIndex = "operate", key = "operate")
private String operate;
+
+ private Set opts;
}
diff --git a/src/com/engine/salary/entity/datacollection/dto/SpecialAddDeductionListDTO.java b/src/com/engine/salary/entity/datacollection/dto/SpecialAddDeductionListDTO.java
index 5e480bb21..5a993906f 100644
--- a/src/com/engine/salary/entity/datacollection/dto/SpecialAddDeductionListDTO.java
+++ b/src/com/engine/salary/entity/datacollection/dto/SpecialAddDeductionListDTO.java
@@ -8,6 +8,8 @@ import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
+import java.util.Set;
+
/**
* 鏁版嵁閲囬泦-涓撻」闄勫姞鎵i櫎鍒楄〃
* Copyright: Copyright (c) 2022
@@ -23,6 +25,7 @@ import lombok.NoArgsConstructor;
@SalaryTable(pageId = "a4f85287-e3f9-6612-adn9-7d06e54y6rj8", tableType = WeaTableType.CHECKBOX, operates = {
@SalaryTableOperate(text = "鏌ョ湅鏄庣粏")
})
+@Auth(page = "specialAddDeduction")
public class SpecialAddDeductionListDTO {
@@ -133,5 +136,5 @@ public class SpecialAddDeductionListDTO {
@SalaryTableColumn(text = "鎿嶄綔", width = "20%", column = "operate")
@TableTitle(title = "鎿嶄綔", dataIndex = "operate", key = "operate")
- private String operate;
+ private Set opts;
}
diff --git a/src/com/engine/salary/entity/datacollection/dto/SpecialAddDeductionRecordDTO.java b/src/com/engine/salary/entity/datacollection/dto/SpecialAddDeductionRecordDTO.java
index f872279e1..f371232f5 100644
--- a/src/com/engine/salary/entity/datacollection/dto/SpecialAddDeductionRecordDTO.java
+++ b/src/com/engine/salary/entity/datacollection/dto/SpecialAddDeductionRecordDTO.java
@@ -1,10 +1,7 @@
package com.engine.salary.entity.datacollection.dto;
import com.cloudstore.eccom.pc.table.WeaTableType;
-import com.engine.salary.annotation.Encrypt;
-import com.engine.salary.annotation.SalaryTable;
-import com.engine.salary.annotation.SalaryTableColumn;
-import com.engine.salary.annotation.TableTitle;
+import com.engine.salary.annotation.*;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
@@ -23,6 +20,7 @@ import lombok.NoArgsConstructor;
@NoArgsConstructor
@AllArgsConstructor
@SalaryTable(pageId = "a4f85287-e3f9-6612-adn9-7d98e54y6rj8", tableType = WeaTableType.CHECKBOX)
+@Auth(page = "specialAddDeduction")
public class SpecialAddDeductionRecordDTO {
//涓婚敭id
diff --git a/src/com/engine/salary/entity/datacollection/dto/VariableArchiveListDTO.java b/src/com/engine/salary/entity/datacollection/dto/VariableArchiveListDTO.java
index 6d5905390..b3faa7e4c 100644
--- a/src/com/engine/salary/entity/datacollection/dto/VariableArchiveListDTO.java
+++ b/src/com/engine/salary/entity/datacollection/dto/VariableArchiveListDTO.java
@@ -1,6 +1,7 @@
package com.engine.salary.entity.datacollection.dto;
import com.cloudstore.eccom.pc.table.WeaTableType;
+import com.engine.salary.annotation.Auth;
import com.engine.salary.annotation.I18n;
import com.engine.salary.annotation.SalaryTable;
import com.engine.salary.annotation.TableTitle;
@@ -10,6 +11,7 @@ import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
+import java.util.Set;
/**
* 娴姩钖祫妗f鍒楄〃
@@ -24,6 +26,7 @@ import java.util.Date;
@NoArgsConstructor
@AllArgsConstructor
@SalaryTable(pageId = "bd985583-f84j-p2aj-p288-2hw3hosy6r6,", tableType = WeaTableType.CHECKBOX)
+@Auth(page = "variableArchive")
public class VariableArchiveListDTO {
@TableTitle(title = "id", dataIndex = "id", key = "id")
@@ -96,4 +99,6 @@ public class VariableArchiveListDTO {
*/
private String dismissdate;
+ private Set opts;
+
}
diff --git a/src/com/engine/salary/entity/datacollection/param/VariableArchiveImportHandleParam.java b/src/com/engine/salary/entity/datacollection/param/VariableArchiveImportHandleParam.java
index ab12ad1a0..b5ef4a61a 100644
--- a/src/com/engine/salary/entity/datacollection/param/VariableArchiveImportHandleParam.java
+++ b/src/com/engine/salary/entity/datacollection/param/VariableArchiveImportHandleParam.java
@@ -4,7 +4,7 @@ import com.engine.salary.entity.datacollection.DataCollectionEmployee;
import com.engine.salary.entity.datacollection.po.VariableArchiveItemPO;
import com.engine.salary.entity.datacollection.po.VariableArchivePO;
import com.engine.salary.entity.datacollection.po.VariableItemPO;
-import com.engine.salary.entity.taxagent.dto.TaxAgentManageRangeEmployeeDTO;
+import com.engine.salary.entity.taxagent.po.TaxAgentPO;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
@@ -75,7 +75,7 @@ public class VariableArchiveImportHandleParam {
/**
* 鑾峰彇鎵鏈変釜绋庢墸缂翠箟鍔′汉
*/
- Collection taxAgentList;
+ Collection taxAgentList;
/**
* 褰撳墠鏃堕棿
diff --git a/src/com/engine/salary/entity/datacollection/po/OtherDeductionPO.java b/src/com/engine/salary/entity/datacollection/po/OtherDeductionPO.java
index 83f1ec932..033c82842 100644
--- a/src/com/engine/salary/entity/datacollection/po/OtherDeductionPO.java
+++ b/src/com/engine/salary/entity/datacollection/po/OtherDeductionPO.java
@@ -1,8 +1,9 @@
package com.engine.salary.entity.datacollection.po;
+import com.engine.hrmelog.annotation.ElogTransform;
+import com.engine.salary.annotation.Auth;
import com.engine.salary.annotation.Encrypt;
import com.engine.salary.annotation.SalaryFormulaVar;
-import com.engine.hrmelog.annotation.ElogTransform;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
@@ -20,6 +21,7 @@ import java.util.List;
@NoArgsConstructor
@AllArgsConstructor
@ElogTransform( name = "鍏朵粬鍏嶇◣鎵i櫎")
+@Auth(page = "otherDeduction")
public class OtherDeductionPO {
/**
diff --git a/src/com/engine/salary/entity/push/dto/PushRecordDTO.java b/src/com/engine/salary/entity/push/dto/PushRecordDTO.java
new file mode 100644
index 000000000..af5dd4d2a
--- /dev/null
+++ b/src/com/engine/salary/entity/push/dto/PushRecordDTO.java
@@ -0,0 +1,118 @@
+package com.engine.salary.entity.push.dto;
+
+import com.engine.hrmelog.annotation.ElogTransform;
+import com.engine.salary.annotation.TableTitle;
+import com.engine.salary.enums.push.PushRecordStatusEnum;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.Collection;
+import java.util.Date;
+
+/**
+ * 鏁版嵁鎺ㄩ佽褰曞垪琛
+ */
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class PushRecordDTO {
+
+ @ElogTransform(name = "")
+ private Long id;
+
+
+ /**
+ * 璁板綍鍚
+ */
+ @TableTitle(title = "璁板綍鍚", dataIndex = "name", key = "name")
+ private String name;
+
+
+ /**
+ * 鏍哥畻璁板綍id
+ */
+ private Long acctRecordId;
+
+
+ /**
+ * 鎺ㄩ侀厤缃甶d
+ */
+ private Long settingId;
+
+ /**
+ * 寤烘āid
+ */
+ private Integer modeId;
+
+ /**
+ * 鏁版嵁搴撹〃鍚
+ */
+ @TableTitle(title = "璁板綍鍚", dataIndex = "name", key = "name")
+ private String tableName;
+
+
+ /**
+ * 鎺ㄩ佺姸鎬
+ *
+ * @see PushRecordStatusEnum
+ */
+ @TableTitle(title = "鎺ㄩ佺姸鎬", dataIndex = "status", key = "status")
+ private Integer status;
+
+ /**
+ * 鎵ц鏃堕棿
+ */
+ @TableTitle(title = "鎵ц鏃堕棿", dataIndex = "startTime", key = "startTime")
+ private Date startTime;
+
+ /**
+ * 缁撴潫鏃堕棿
+ */
+ @ElogTransform(name = "缁撴潫鏃堕棿")
+ private Date endTime;
+
+
+ /**
+ * 鎺ㄩ佺被鍨嬶紝0鎺ㄩ侊紝1鎾ゅ洖
+ */
+ @ElogTransform(name = "鎺ㄩ佺被鍨")
+ private Integer type;
+
+ /**
+ * 鍒涘缓鏃堕棿
+ */
+ @ElogTransform(name = "鍒涘缓鏃堕棿")
+ private Date createTime;
+
+ /**
+ * 鍒涘缓浜
+ */
+ @ElogTransform(name = "鍒涘缓浜")
+ private Long creator;
+
+ /**
+ * 鏄惁宸插垹闄ゃ0锛氭湭鍒犻櫎銆1锛氬凡鍒犻櫎
+ */
+ @ElogTransform(name = "鏄惁宸插垹闄ゃ0锛氭湭鍒犻櫎銆1锛氬凡鍒犻櫎")
+ private Integer deleteType;
+
+ /**
+ * 绉熸埛ID
+ */
+ @ElogTransform(name = "绉熸埛ID")
+ private String tenantKey;
+
+ /**
+ * 鏇存柊鏃堕棿
+ */
+ @ElogTransform(name = "鏇存柊鏃堕棿")
+ private Date updateTime;
+
+
+ //涓婚敭id闆嗗悎
+ private Collection ids;
+
+}
\ No newline at end of file
diff --git a/src/com/engine/salary/entity/push/dto/PushRecordDetailDTO.java b/src/com/engine/salary/entity/push/dto/PushRecordDetailDTO.java
new file mode 100644
index 000000000..2807eaf69
--- /dev/null
+++ b/src/com/engine/salary/entity/push/dto/PushRecordDetailDTO.java
@@ -0,0 +1,90 @@
+package com.engine.salary.entity.push.dto;
+
+import com.engine.hrmelog.annotation.ElogTransform;
+import com.engine.salary.annotation.TableTitle;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.Collection;
+import java.util.Date;
+
+/**
+ * 鏁版嵁鎺ㄩ侀厤缃
+ */
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class PushRecordDetailDTO {
+
+
+ @ElogTransform(name = "id")
+ private Long id;
+
+ /**
+ * 鎺ㄩ佽褰昳d
+ */
+ private Long recordId;
+
+ /**
+ * 鏍哥畻浜哄憳id
+ */
+ private Long acctEmpId;
+
+ /**
+ * 鎵ц鐘舵
+ * @see com.engine.salary.enums.push.PushRecordDetailStatusEnum
+ */
+ @TableTitle(title = "鎵ц鐘舵", dataIndex = "status",key = "status")
+ private Integer status;
+
+ /**
+ * 澶辫触鍘熷洜
+ */
+ @TableTitle(title = "澶辫触鍘熷洜", dataIndex = "fail_reason",key = "status")
+ private String fail_reason;
+
+ /**
+ * 鎵цsql
+ */
+ @ElogTransform(name = "鎵цsql")
+ private String execute;
+
+ /**
+ * 鍒涘缓鏃堕棿
+ */
+ @ElogTransform(name = "鍒涘缓鏃堕棿")
+ private Date createTime;
+
+ /**
+ * 鍒涘缓浜
+ */
+ @ElogTransform(name = "鍒涘缓浜")
+ private Long creator;
+
+ /**
+ * 鏄惁宸插垹闄ゃ0锛氭湭鍒犻櫎銆1锛氬凡鍒犻櫎
+ */
+ @ElogTransform(name = "鏄惁宸插垹闄ゃ0锛氭湭鍒犻櫎銆1锛氬凡鍒犻櫎")
+ private Integer deleteType;
+
+
+ /**
+ * 绉熸埛ID
+ */
+ @ElogTransform(name = "绉熸埛ID")
+ private String tenantKey;
+
+ /**
+ * 鏇存柊鏃堕棿
+ */
+ @ElogTransform(name = "鏇存柊鏃堕棿")
+ private Date updateTime;
+
+
+ //涓婚敭id闆嗗悎
+ private Collection ids;
+
+}
\ No newline at end of file
diff --git a/src/com/engine/salary/entity/push/dto/PushSettingDTO.java b/src/com/engine/salary/entity/push/dto/PushSettingDTO.java
new file mode 100644
index 000000000..114d6fa5b
--- /dev/null
+++ b/src/com/engine/salary/entity/push/dto/PushSettingDTO.java
@@ -0,0 +1,61 @@
+package com.engine.salary.entity.push.dto;
+
+import com.engine.hrmelog.annotation.ElogTransform;
+import com.engine.salary.annotation.TableTitle;
+import com.engine.salary.entity.salarysob.po.SalarySobPO;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
+
+/**
+ * 鏁版嵁鎺ㄩ侀厤缃
+ */
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class PushSettingDTO {
+
+ @ElogTransform(name = "")
+ private Long id;
+
+
+
+ @TableTitle(title = "浠诲姟鍚嶇О", key = "name", dataIndex = "name")
+ private String name;
+
+ /**
+ * 鏄惁鍚敤锛0鍚 1鏄
+ */
+ @TableTitle(title = "鏄惁鍚敤", key = "able", dataIndex = "able")
+ private Integer able;
+
+
+ /**
+ * 钖祫甯愬闆嗗悎
+ */
+ @TableTitle(title = "钖祫甯愬闆嗗悎", key = "salarySobs", dataIndex = "salarySobs")
+ private List salarySobs;
+
+ /**
+ * 寤烘āid
+ */
+ @TableTitle(title = "寤烘āid", key = "modeId", dataIndex = "modeId")
+ private Integer modeId;
+
+ /**
+ * 妯″潡鍚嶇О
+ */
+ @TableTitle(title = "妯″潡鍚嶇О", key = "modeName", dataIndex = "modeName")
+ private String modeName;
+
+ /**
+ * 鏁版嵁搴撹〃
+ */
+ @TableTitle(title = "鏁版嵁搴撹〃鍚", key = "tableName", dataIndex = "tableName")
+ private String tableName;
+
+}
\ No newline at end of file
diff --git a/src/com/engine/salary/entity/push/dto/PushSettingItemDTO.java b/src/com/engine/salary/entity/push/dto/PushSettingItemDTO.java
new file mode 100644
index 000000000..a45d4635f
--- /dev/null
+++ b/src/com/engine/salary/entity/push/dto/PushSettingItemDTO.java
@@ -0,0 +1,62 @@
+package com.engine.salary.entity.push.dto;
+
+import com.engine.salary.annotation.TableTitle;
+import com.engine.salary.enums.push.PushItemFieldEnum;
+import com.engine.salary.enums.salaryformula.SalarySQLReferenceEnum;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * 鏁版嵁鎺ㄩ侀厤缃槑缁
+ */
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class PushSettingItemDTO {
+
+
+ private Long id;
+
+ /**
+ * 璁剧疆id
+ */
+ private Long settingId;
+
+ /**
+ * 椤圭洰
+ */
+ private String item;
+
+ /**
+ * 椤圭洰鍚
+ */
+ @TableTitle(title = "椤圭洰鍚", dataIndex = "itemName", key = "itemName")
+ private String itemName;
+
+ /**
+ * 椤圭洰绫诲瀷
+ * @see SalarySQLReferenceEnum
+ */
+ private String source;
+
+ private String sourceName;
+
+ /**
+ * 鏁版嵁搴撳瓧娈
+ */
+ @TableTitle(title = "鏁版嵁搴撳瓧娈", dataIndex = "fieldName", key = "fieldName")
+ private String fieldName;
+
+ /**
+ * 瀛楁绫诲瀷
+ * @see PushItemFieldEnum
+ */
+ private PushItemFieldEnum fieldType;
+
+ @TableTitle(title = "瀛楁绫诲瀷", dataIndex = "fieldTypeName", key = "fieldTypeName")
+ private String fieldTypeName;
+
+}
\ No newline at end of file
diff --git a/src/com/engine/salary/entity/push/param/PushParam.java b/src/com/engine/salary/entity/push/param/PushParam.java
new file mode 100644
index 000000000..24f8c257e
--- /dev/null
+++ b/src/com/engine/salary/entity/push/param/PushParam.java
@@ -0,0 +1,19 @@
+package com.engine.salary.entity.push.param;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class PushParam {
+
+
+ private Long salaryAcctRecordId;
+
+
+}
\ No newline at end of file
diff --git a/src/com/engine/salary/entity/push/param/PushSettingItemQueryParam.java b/src/com/engine/salary/entity/push/param/PushSettingItemQueryParam.java
new file mode 100644
index 000000000..a24bc3b40
--- /dev/null
+++ b/src/com/engine/salary/entity/push/param/PushSettingItemQueryParam.java
@@ -0,0 +1,22 @@
+package com.engine.salary.entity.push.param;
+
+import com.engine.salary.common.BaseQueryParam;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * 鏁版嵁鎺ㄩ侀厤缃
+ */
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class PushSettingItemQueryParam extends BaseQueryParam {
+
+ private Long settingId;
+
+
+
+}
\ No newline at end of file
diff --git a/src/com/engine/salary/entity/push/param/PushSettingItemSaveParam.java b/src/com/engine/salary/entity/push/param/PushSettingItemSaveParam.java
new file mode 100644
index 000000000..57f46c330
--- /dev/null
+++ b/src/com/engine/salary/entity/push/param/PushSettingItemSaveParam.java
@@ -0,0 +1,66 @@
+package com.engine.salary.entity.push.param;
+
+import com.engine.salary.enums.push.PushItemFieldEnum;
+import com.engine.salary.enums.salaryformula.SalarySQLReferenceEnum;
+import com.engine.salary.util.valid.DataCheck;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.Collection;
+
+/**
+ * 鏁版嵁鎺ㄩ侀厤缃槑缁
+ */
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class PushSettingItemSaveParam {
+
+
+ private Long id;
+
+ /**
+ * 璁剧疆id
+ */
+ @DataCheck(require = true, message = "璁剧疆id涓虹┖")
+ private Long settingId;
+
+ /**
+ * 椤圭洰
+ */
+ @DataCheck(require = true, message = "椤圭洰涓虹┖")
+ private String item;
+
+ /**
+ * 椤圭洰鍚
+ */
+ @DataCheck(require = true, message = "椤圭洰鍚嶄负绌")
+ private String itemName;
+
+ /**
+ * 椤圭洰绫诲瀷
+ * @see SalarySQLReferenceEnum
+ */
+ @DataCheck(require = true, message = "鏁版嵁鏉ユ簮")
+ private String source;
+
+ /**
+ * 鏁版嵁搴撳瓧娈
+ */
+ @DataCheck(require = true, message = "鏁版嵁搴撳瓧娈典负绌")
+ private String fieldName;
+
+ /**
+ * 瀛楁绫诲瀷
+ */
+ @DataCheck(require = true, message = "瀛楁绫诲瀷涓虹┖")
+ private PushItemFieldEnum fieldType;
+
+
+ //涓婚敭id闆嗗悎
+ private Collection ids;
+
+}
\ No newline at end of file
diff --git a/src/com/engine/salary/entity/push/param/PushSettingQueryParam.java b/src/com/engine/salary/entity/push/param/PushSettingQueryParam.java
new file mode 100644
index 000000000..8d0a96e10
--- /dev/null
+++ b/src/com/engine/salary/entity/push/param/PushSettingQueryParam.java
@@ -0,0 +1,28 @@
+package com.engine.salary.entity.push.param;
+
+import com.engine.salary.common.BaseQueryParam;
+import com.engine.salary.util.valid.DataCheck;
+import com.engine.salary.util.valid.ValidTypeEnum;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * 鏁版嵁鎺ㄩ侀厤缃
+ */
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class PushSettingQueryParam extends BaseQueryParam {
+
+
+ /**
+ * 浠诲姟鍚嶇О
+ */
+ @DataCheck(require = true, type = ValidTypeEnum.STRING, max = 50, labelId = 86185, message = "浠诲姟鍚嶇О涓虹┖")
+ private String name;
+
+
+}
\ No newline at end of file
diff --git a/src/com/engine/salary/entity/push/param/PushSettingSaveParam.java b/src/com/engine/salary/entity/push/param/PushSettingSaveParam.java
new file mode 100644
index 000000000..cdc28d327
--- /dev/null
+++ b/src/com/engine/salary/entity/push/param/PushSettingSaveParam.java
@@ -0,0 +1,59 @@
+package com.engine.salary.entity.push.param;
+
+import com.engine.salary.util.valid.DataCheck;
+import com.engine.salary.util.valid.ValidTypeEnum;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
+
+/**
+ * 鏁版嵁鎺ㄩ侀厤缃
+ */
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class PushSettingSaveParam {
+
+ private Long id;
+
+ /**
+ * 浠诲姟鍚嶇О
+ */
+ @DataCheck(require = true, type = ValidTypeEnum.STRING, max = 50, labelId = 86185, message = "浠诲姟鍚嶇О涓虹┖")
+ private String name;
+
+ /**
+ * 鏄惁鍚敤锛0鍚 1鏄
+ */
+ @DataCheck(require = true, type = ValidTypeEnum.NUMBER, message = "鏄惁鍚敤涓虹┖")
+ private Integer able;
+
+
+ /**
+ * 钖祫甯愬闆嗗悎
+ */
+ private List salarySobIds;
+
+ /**
+ * 寤烘āid
+ */
+ private Integer modeId;
+
+ /**
+ * 妯″潡鍚嶇О
+ */
+ private String modeName;
+
+
+ /**
+ * 鏁版嵁搴撹〃
+ */
+ @DataCheck(require = true, message = "鏁版嵁搴撹〃涓虹┖")
+ private String tableName;
+
+
+}
\ No newline at end of file
diff --git a/src/com/engine/salary/entity/push/param/RecordDetailListQueryParam.java b/src/com/engine/salary/entity/push/param/RecordDetailListQueryParam.java
new file mode 100644
index 000000000..7a4619d2d
--- /dev/null
+++ b/src/com/engine/salary/entity/push/param/RecordDetailListQueryParam.java
@@ -0,0 +1,22 @@
+package com.engine.salary.entity.push.param;
+
+import com.engine.salary.common.BaseQueryParam;
+import com.engine.salary.util.valid.DataCheck;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class RecordDetailListQueryParam extends BaseQueryParam {
+
+ @DataCheck(require = true, message = "鎺ㄩ佽褰昳d涓嶈兘涓虹┖")
+ private Long recordId;
+
+ private String name;
+
+}
\ No newline at end of file
diff --git a/src/com/engine/salary/entity/push/param/RecordListQueryParam.java b/src/com/engine/salary/entity/push/param/RecordListQueryParam.java
new file mode 100644
index 000000000..0dfe41108
--- /dev/null
+++ b/src/com/engine/salary/entity/push/param/RecordListQueryParam.java
@@ -0,0 +1,17 @@
+package com.engine.salary.entity.push.param;
+
+import com.engine.salary.common.BaseQueryParam;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class RecordListQueryParam extends BaseQueryParam {
+ private String name;
+
+}
\ No newline at end of file
diff --git a/src/com/engine/salary/entity/push/po/PushRecordDetailPO.java b/src/com/engine/salary/entity/push/po/PushRecordDetailPO.java
new file mode 100644
index 000000000..64e27ed08
--- /dev/null
+++ b/src/com/engine/salary/entity/push/po/PushRecordDetailPO.java
@@ -0,0 +1,91 @@
+package com.engine.salary.entity.push.po;
+
+import com.engine.hrmelog.annotation.ElogTransform;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.Collection;
+import java.util.Date;
+
+/**
+ * 鏁版嵁鎺ㄩ侀厤缃
+ */
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class PushRecordDetailPO {
+
+
+ @ElogTransform(name = "id")
+ private Long id;
+
+ /**
+ * 鎺ㄩ佽褰昳d
+ */
+ @ElogTransform(name = "鎺ㄩ佽褰昳d")
+ private Long recordId;
+
+ /**
+ * 鏍哥畻浜哄憳id
+ */
+ @ElogTransform(name = "鏍哥畻浜哄憳id")
+ private Long acctEmpId;
+
+ /**
+ * 鎵ц鐘舵
+ * @see com.engine.salary.enums.push.PushRecordDetailStatusEnum
+ */
+ @ElogTransform(name = "鎵ц鐘舵")
+ private Integer status;
+
+ /**
+ * 澶辫触鍘熷洜
+ */
+ @ElogTransform(name = "澶辫触鍘熷洜")
+ private String fail_reason;
+
+ /**
+ * 鎵цsql
+ */
+ @ElogTransform(name = "鎵цsql")
+ private String execute;
+
+ /**
+ * 鍒涘缓鏃堕棿
+ */
+ @ElogTransform(name = "鍒涘缓鏃堕棿")
+ private Date createTime;
+
+ /**
+ * 鍒涘缓浜
+ */
+ @ElogTransform(name = "鍒涘缓浜")
+ private Long creator;
+
+ /**
+ * 鏄惁宸插垹闄ゃ0锛氭湭鍒犻櫎銆1锛氬凡鍒犻櫎
+ */
+ @ElogTransform(name = "鏄惁宸插垹闄ゃ0锛氭湭鍒犻櫎銆1锛氬凡鍒犻櫎")
+ private Integer deleteType;
+
+
+ /**
+ * 绉熸埛ID
+ */
+ @ElogTransform(name = "绉熸埛ID")
+ private String tenantKey;
+
+ /**
+ * 鏇存柊鏃堕棿
+ */
+ @ElogTransform(name = "鏇存柊鏃堕棿")
+ private Date updateTime;
+
+
+ //涓婚敭id闆嗗悎
+ private Collection ids;
+
+}
\ No newline at end of file
diff --git a/src/com/engine/salary/entity/push/po/PushRecordPO.java b/src/com/engine/salary/entity/push/po/PushRecordPO.java
new file mode 100644
index 000000000..6101e4b18
--- /dev/null
+++ b/src/com/engine/salary/entity/push/po/PushRecordPO.java
@@ -0,0 +1,123 @@
+package com.engine.salary.entity.push.po;
+
+import com.engine.hrmelog.annotation.ElogTransform;
+import com.engine.salary.enums.push.PushRecordStatusEnum;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.Collection;
+import java.util.Date;
+
+/**
+ * 鏁版嵁鎺ㄩ侀厤缃
+ */
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class PushRecordPO {
+
+ @ElogTransform(name = "id")
+ private Long id;
+
+ /**
+ * 璁板綍鍚
+ */
+ @ElogTransform(name = "璁板綍鍚")
+ private String name;
+
+
+ /**
+ * 鏍哥畻璁板綍id
+ */
+ @ElogTransform(name = "鏍哥畻璁板綍id")
+ private Long acctRecordId;
+
+
+ /**
+ * 鎺ㄩ侀厤缃甶d
+ */
+ @ElogTransform(name = "鎺ㄩ侀厤缃甶d")
+ private Long settingId;
+
+ /**
+ * 寤烘āid
+ */
+ private Integer modeId;
+
+ /**
+ * 鏁版嵁搴撹〃鍚
+ */
+ private String tableName;
+
+
+ /**
+ * 鎺ㄩ佺姸鎬
+ * @see PushRecordStatusEnum
+ */
+ @ElogTransform(name = "鎺ㄩ佺姸鎬")
+ private Integer status;
+
+ /**
+ * 澶辫触鍘熷洜
+ */
+ @ElogTransform(name = "澶辫触鍘熷洜")
+ private String fail_reason;
+
+ /**
+ * 寮濮嬫椂闂
+ */
+ @ElogTransform(name = "寮濮嬫椂闂")
+ private Date startTime;
+
+ /**
+ *
+ */
+ @ElogTransform(name = "缁撴潫鏃堕棿")
+ private Date endTime;
+
+
+
+ /**
+ * 鎺ㄩ佺被鍨
+ */
+ @ElogTransform(name = "鎺ㄩ佺被鍨")
+ private Integer type;
+
+ /**
+ * 鍒涘缓鏃堕棿
+ */
+ @ElogTransform(name = "鍒涘缓鏃堕棿")
+ private Date createTime;
+
+ /**
+ * 鍒涘缓浜
+ */
+ @ElogTransform(name = "鍒涘缓浜")
+ private Long creator;
+
+ /**
+ * 鏄惁宸插垹闄ゃ0锛氭湭鍒犻櫎銆1锛氬凡鍒犻櫎
+ */
+ @ElogTransform(name = "鏄惁宸插垹闄ゃ0锛氭湭鍒犻櫎銆1锛氬凡鍒犻櫎")
+ private Integer deleteType;
+
+ /**
+ * 绉熸埛ID
+ */
+ @ElogTransform(name = "绉熸埛ID")
+ private String tenantKey;
+
+ /**
+ * 鏇存柊鏃堕棿
+ */
+ @ElogTransform(name = "鏇存柊鏃堕棿")
+ private Date updateTime;
+
+
+ //涓婚敭id闆嗗悎
+ private Collection ids;
+
+}
\ No newline at end of file
diff --git a/src/com/engine/salary/entity/push/po/PushSettingItemPO.java b/src/com/engine/salary/entity/push/po/PushSettingItemPO.java
new file mode 100644
index 000000000..ad7f97da1
--- /dev/null
+++ b/src/com/engine/salary/entity/push/po/PushSettingItemPO.java
@@ -0,0 +1,99 @@
+package com.engine.salary.entity.push.po;
+
+import com.engine.hrmelog.annotation.ElogTransform;
+import com.engine.salary.enums.push.PushItemFieldEnum;
+import com.engine.salary.enums.salaryformula.SalarySQLReferenceEnum;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.Collection;
+import java.util.Date;
+
+/**
+ * 鏁版嵁鎺ㄩ侀厤缃槑缁
+ */
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class PushSettingItemPO {
+
+
+ @ElogTransform(name = "")
+ private Long id;
+
+ /**
+ * 璁剧疆id
+ */
+ @ElogTransform(name = "璁剧疆id")
+ private Long settingId;
+
+ /**
+ * 椤圭洰
+ */
+ @ElogTransform(name = "椤圭洰")
+ private String item;
+
+ /**
+ * 椤圭洰鍚
+ */
+ @ElogTransform(name = "椤圭洰鍚")
+ private String itemName;
+
+ /**
+ * 椤圭洰绫诲瀷
+ * @see SalarySQLReferenceEnum
+ */
+ @ElogTransform(name = "椤圭洰绫诲瀷")
+ private String source;
+
+ /**
+ * 鏁版嵁搴撳瓧娈
+ */
+ @ElogTransform(name = "鏁版嵁搴撳瓧娈")
+ private String fieldName;
+
+ /**
+ * 瀛楁绫诲瀷
+ * @see PushItemFieldEnum
+ */
+ @ElogTransform(name = "瀛楁绫诲瀷")
+ private Integer fieldType;
+
+ /**
+ * 绉熸埛ID
+ */
+ @ElogTransform(name = "绉熸埛ID")
+ private String tenantKey;
+
+ /**
+ * 鏇存柊鏃堕棿
+ */
+ @ElogTransform(name = "鏇存柊鏃堕棿")
+ private Date updateTime;
+
+ /**
+ * 鍒涘缓鏃堕棿
+ */
+ @ElogTransform(name = "鍒涘缓鏃堕棿")
+ private Date createTime;
+
+ /**
+ * 鍒涘缓浜
+ */
+ @ElogTransform(name = "鍒涘缓浜")
+ private Long creator;
+
+ /**
+ * 鏄惁宸插垹闄ゃ0锛氭湭鍒犻櫎銆1锛氬凡鍒犻櫎
+ */
+ @ElogTransform(name = "鏄惁宸插垹闄ゃ0锛氭湭鍒犻櫎銆1锛氬凡鍒犻櫎")
+ private Integer deleteType;
+
+
+ //涓婚敭id闆嗗悎
+ private Collection ids;
+
+}
\ No newline at end of file
diff --git a/src/com/engine/salary/entity/push/po/PushSettingPO.java b/src/com/engine/salary/entity/push/po/PushSettingPO.java
new file mode 100644
index 000000000..a997593f9
--- /dev/null
+++ b/src/com/engine/salary/entity/push/po/PushSettingPO.java
@@ -0,0 +1,93 @@
+package com.engine.salary.entity.push.po;
+
+import com.engine.hrmelog.annotation.ElogTransform;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.Collection;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 鏁版嵁鎺ㄩ侀厤缃
+ */
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class PushSettingPO {
+
+ @ElogTransform(name = "")
+ private Long id;
+
+ /**
+ * 鏄惁鍚敤锛0鍚 1鏄
+ */
+ @ElogTransform(name = "鏄惁鍚敤锛0鍚 1鏄")
+ private Integer able;
+
+
+ @ElogTransform(name = "浠诲姟鍚嶇О")
+ private String name;
+
+ /**
+ * 钖祫甯愬闆嗗悎
+ */
+ @ElogTransform(name = "钖祫甯愬闆嗗悎")
+ private List salarySobIds;
+
+ /**
+ * 寤烘āid
+ */
+ @ElogTransform(name = "寤烘āid")
+ private Integer modeId;
+
+ /**
+ * 妯″潡鍚嶇О
+ */
+ @ElogTransform(name = "妯″潡鍚嶇О")
+ private String modeName;
+
+ /**
+ * 鏁版嵁搴撹〃
+ */
+ @ElogTransform(name = "鏁版嵁搴撹〃")
+ private String tableName;
+
+ /**
+ * 绉熸埛ID
+ */
+ @ElogTransform(name = "绉熸埛ID")
+ private String tenantKey;
+
+ /**
+ * 鏇存柊鏃堕棿
+ */
+ @ElogTransform(name = "鏇存柊鏃堕棿")
+ private Date updateTime;
+
+ /**
+ * 鍒涘缓鏃堕棿
+ */
+ @ElogTransform(name = "鍒涘缓鏃堕棿")
+ private Date createTime;
+
+ /**
+ * 鍒涘缓浜
+ */
+ @ElogTransform(name = "鍒涘缓浜")
+ private Long creator;
+
+ /**
+ * 鏄惁宸插垹闄ゃ0锛氭湭鍒犻櫎銆1锛氬凡鍒犻櫎
+ */
+ @ElogTransform(name = "鏄惁宸插垹闄ゃ0锛氭湭鍒犻櫎銆1锛氬凡鍒犻櫎")
+ private Integer deleteType;
+
+
+ //涓婚敭id闆嗗悎
+ private Collection ids;
+
+}
\ No newline at end of file
diff --git a/src/com/engine/salary/entity/salaryBill/bo/SalaryBillBO.java b/src/com/engine/salary/entity/salaryBill/bo/SalaryBillBO.java
index 4e219c477..b36deb78b 100644
--- a/src/com/engine/salary/entity/salaryBill/bo/SalaryBillBO.java
+++ b/src/com/engine/salary/entity/salaryBill/bo/SalaryBillBO.java
@@ -120,55 +120,36 @@ public class SalaryBillBO {
/**
* 鏋勫缓宸ヨ祫鍗曚腑鐨勪汉鍛樹俊鎭
*
- * @param simpleEmployee
*/
- public static void buildEmployeeInfo(SalaryBillSendDTO salaryBillSendParam, DataCollectionEmployee simpleEmployee) {
+ public static void buildEmployeeInfo(SalaryBillSendDTO salaryBillSendParam, Map empInfo) {
SalaryTemplateSalaryItemSetListDTO employeeInformation = salaryBillSendParam.getEmployeeInformation();
Map employeeField = salaryBillSendParam.getEmployeeField();
- if (employeeInformation == null || simpleEmployee == null) {
+ if (employeeInformation == null || empInfo == null) {
return;
}
if (CollectionUtils.isNotEmpty(employeeInformation.getItems())) {
//鑾峰彇鍛樺伐淇℃伅鐨勫瓧娈靛悕鍜屼腑鏂囨弿杩扮殑map鍏崇郴
SalaryFormulaEmployeeDTO salaryFormulaEmployeeDTO = SalaryFormulaEmployeeDTO.builder()
- .employeeId(simpleEmployee.getEmployeeId())
- .taxAgentName(salaryBillSendParam.getTaxAgentName())
- .departmentName(simpleEmployee.getDepartmentName())
- .companystartdate(simpleEmployee.getCompanystartdate())
- .email(StringUtils.isEmpty(simpleEmployee.getEmail()) ? "" : simpleEmployee.getEmail())
- .sex(simpleEmployee.getSex() == null ? "" : simpleEmployee.getSex())
- .mobile(StringUtils.isEmpty(simpleEmployee.getMobile()) ? "" : simpleEmployee.getMobile()).jobtitleName(simpleEmployee.getJobtitleName())
- .status(StringUtils.isEmpty(simpleEmployee.getStatus()) ? "" : simpleEmployee.getStatus())
- .telephone(StringUtils.isEmpty(simpleEmployee.getTelephone()) ? "" : simpleEmployee.getTelephone())
- .username(StringUtils.isEmpty(simpleEmployee.getUsername()) ? "" : simpleEmployee.getUsername())
- .workcode(simpleEmployee.getWorkcode())
- .idNo(simpleEmployee.getIdNo())
- .statusName(simpleEmployee.getStatusName())
- .accountType(simpleEmployee.getAccountType())
- .accountTypeName(simpleEmployee.getAccountTypeName())
+ .employeeId((long) empInfo.getOrDefault("employeeId", 0L))
+ .taxAgentName(Util.null2String(empInfo.get("taxAgentName")))
+ .departmentName(Util.null2String(empInfo.get("departmentName")))
+ .companystartdate(Util.null2String(empInfo.get("companystartdate")))
+ .email(Util.null2String(empInfo.get("email")))
+ .sex(Util.null2String(empInfo.get("sex")))
+ .mobile(Util.null2String(empInfo.get("mobile")))
+ .jobtitleName(Util.null2String(empInfo.get("jobtitleName")))
+ .status(Util.null2String(empInfo.get("status")))
+ .telephone(Util.null2String(empInfo.get("telephone")))
+ .username(Util.null2String(empInfo.get("username")))
+ .workcode(Util.null2String(empInfo.get("workcode")))
+ .idNo(Util.null2String(empInfo.get("idNo")))
+ .statusName(Util.null2String(empInfo.get("statusName")))
+// .accountType((Integer) empInfo.getOrDefault("accountType",0))
+ .accountTypeName(Util.null2String(empInfo.get("accountTypeName")))
.build();
List items = employeeInformation.getItems();
- // 1.SalaryAcctResultBO.buildEmployeeFieldName()鐨勫彇娉
-// Set> entries = employeeField.entrySet();
-// for (SalaryTemplateSalaryItemListDTO e : items) {
-// Optional> entry = entries.stream().filter(f -> Objects.equals(e.getName(), f.getValue())).findFirst();
-// if (entry.isPresent()) {
-// String key = entry.get().getKey();
-// if (StringUtils.isNotBlank(key)) {
-// String getter = "get" + key.substring(0, 1).toUpperCase() + key.substring(1);
-// try {
-// Method method = salaryFormulaEmployeeDTO.getClass().getMethod(getter);
-// Object invoke = method.invoke(salaryFormulaEmployeeDTO);
-// e.setSalaryItemValue((String) invoke);
-// } catch (NoSuchMethodException | IllegalAccessException | InvocationTargetException ex) {
-// log.error("no such method", e);
-// }
-// }
-// }
-// }
- // 2.SalaryBillBO.buildEmployeeFieldName()
for (SalaryTemplateSalaryItemListDTO e : items) {
String employeeFieldName = employeeField.get(e.getName());
if (!StringUtils.isEmpty(employeeFieldName)) {
@@ -267,7 +248,7 @@ public class SalaryBillBO {
}
Util_Message.store(messageBean);
} catch (IOException e) {
- log.error("娑堟伅鍙戦佸け璐",e);
+ log.error("娑堟伅鍙戦佸け璐", e);
}
}
diff --git a/src/com/engine/salary/entity/salaryBill/dto/SalaryBillSendDTO.java b/src/com/engine/salary/entity/salaryBill/dto/SalaryBillSendDTO.java
index c77c0bd7a..dc9d31b73 100644
--- a/src/com/engine/salary/entity/salaryBill/dto/SalaryBillSendDTO.java
+++ b/src/com/engine/salary/entity/salaryBill/dto/SalaryBillSendDTO.java
@@ -59,7 +59,7 @@ public class SalaryBillSendDTO {
private String picUrl;
//鎵g即涔夊姟浜哄悕绉
- private String taxAgentName;
+// private String taxAgentName;
//宸ヨ祫鍗曟ā鏉-钖祫椤圭洰璁剧疆
private List salaryItemSetList;
diff --git a/src/com/engine/salary/entity/salaryBill/dto/SalarySendDetailListDTO.java b/src/com/engine/salary/entity/salaryBill/dto/SalarySendDetailListDTO.java
index 4e87a6ad8..ae647ab04 100644
--- a/src/com/engine/salary/entity/salaryBill/dto/SalarySendDetailListDTO.java
+++ b/src/com/engine/salary/entity/salaryBill/dto/SalarySendDetailListDTO.java
@@ -44,6 +44,7 @@ public class SalarySendDetailListDTO {
// 涓◣鎵g即涔夊姟浜")
private String taxAgent;
+ private Long taxAgentId;
// 閮ㄩ棬")
@I18n
diff --git a/src/com/engine/salary/entity/salaryBill/dto/SalarySendListDTO.java b/src/com/engine/salary/entity/salaryBill/dto/SalarySendListDTO.java
index 915045c89..ff2bb7d2a 100644
--- a/src/com/engine/salary/entity/salaryBill/dto/SalarySendListDTO.java
+++ b/src/com/engine/salary/entity/salaryBill/dto/SalarySendListDTO.java
@@ -1,8 +1,10 @@
package com.engine.salary.entity.salaryBill.dto;
+import com.engine.salary.annotation.Auth;
import com.engine.salary.annotation.SalaryTable;
import com.engine.salary.annotation.SalaryTableColumn;
import com.engine.salary.annotation.SalaryTableOperate;
+import com.engine.salary.enums.auth.AuthCheckTypeEnum;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.AllArgsConstructor;
import lombok.Builder;
@@ -10,6 +12,7 @@ import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
+import java.util.Set;
/**
* @Description: 宸ヨ祫鍗曞彂鏀
@@ -19,10 +22,11 @@ import java.util.Date;
@NoArgsConstructor
@AllArgsConstructor
@SalaryTable(pageId = "a4f85287-289dff07669d7a23de0ef88d2f7129e7", operates = {
- @SalaryTableOperate(index = "0", text = "鍙戞斁" ),
+ @SalaryTableOperate(index = "0", text = "鍙戞斁"),
@SalaryTableOperate(index = "1", text = "鏌ョ湅璇︽儏"),
@SalaryTableOperate(index = "2", text = "鏇存柊妯℃澘")
})
+@Auth(page = "salaryBill", checkType = AuthCheckTypeEnum.SOB, sobIdField = "salarySobId")
public class SalarySendListDTO {
// 涓婚敭id
@@ -37,7 +41,7 @@ public class SalarySendListDTO {
// )
// @JsonFormat(pattern = "yyyy-MM")
-// 钖祫鎵灞炴湀
+ // 钖祫鎵灞炴湀
@SalaryTableColumn(text = "钖祫鎵灞炴湀", width = "10%", column = "salaryYearMonth")
private Date salaryYearMonth;
@@ -54,15 +58,15 @@ public class SalarySendListDTO {
// tableColumn = @TableColumn(width = "35%")
// )
-// 钖祫璐﹀
+ // 钖祫璐﹀
@SalaryTableColumn(text = "钖祫璐﹀", width = "35%", column = "username")
private String salarySob;
-// 鏍哥畻娆℃暟")
+ // 鏍哥畻娆℃暟")
// 鏍哥畻娆℃暟
private String acctTimes;
-// 宸ヨ祫鍗曟ā鏉")
+ // 宸ヨ祫鍗曟ā鏉")
// @WeaFormat(
// label = "宸ヨ祫鍗曟ā鏉",
// labelId = 93214,
@@ -72,7 +76,7 @@ public class SalarySendListDTO {
// 宸ヨ祫鍗曟ā鏉
private String template;
-// 宸ヨ祫鍗曟ā鏉縄d")
+ // 宸ヨ祫鍗曟ā鏉縄d")
// 宸ヨ祫鍗曟ā鏉縄d
@SalaryTableColumn(text = "宸ヨ祫鍗曟ā鏉縤d", width = "0%", column = "templateId", display = false)
private Long templateId;
@@ -91,7 +95,7 @@ public class SalarySendListDTO {
@SalaryTableColumn(text = "鍙戦佹绘暟", width = "0%", column = "sendTotal", display = false)
private Integer sendTotal;
-// 宸插彂鏀")
+ // 宸插彂鏀")
// @WeaFormat(
// label = "宸插彂鏀",
// labelId = 93212,
@@ -101,7 +105,7 @@ public class SalarySendListDTO {
@SalaryTableColumn(text = "宸插彂鏀", width = "15%", column = "sendSituation")
private String sendSituation;
-// 鏈鍚庡彂閫佹椂闂")
+ // 鏈鍚庡彂閫佹椂闂")
// @WeaFormat(
// label = "鏈鍚庡彂閫佹椂闂",
// labelId = 93213,
@@ -146,5 +150,5 @@ public class SalarySendListDTO {
*/
private Integer ackFeedbackStatus;
-
+ private Set opts;
}
diff --git a/src/com/engine/salary/entity/salaryBill/dto/SalaryTemplateListDTO.java b/src/com/engine/salary/entity/salaryBill/dto/SalaryTemplateListDTO.java
index 3538a3387..5fdaaef98 100644
--- a/src/com/engine/salary/entity/salaryBill/dto/SalaryTemplateListDTO.java
+++ b/src/com/engine/salary/entity/salaryBill/dto/SalaryTemplateListDTO.java
@@ -1,15 +1,15 @@
package com.engine.salary.entity.salaryBill.dto;
-import com.engine.salary.annotation.SalaryTable;
-import com.engine.salary.annotation.SalaryTableColumn;
-import com.engine.salary.annotation.SalaryTableOperate;
-import com.engine.salary.annotation.TableTitle;
import com.engine.hrmelog.annotation.ElogTransform;
+import com.engine.salary.annotation.*;
+import com.engine.salary.enums.auth.AuthCheckTypeEnum;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
+import java.util.Set;
+
/**
* @Description: 宸ヨ祫鍗曟ā鏉
*/
@@ -24,6 +24,7 @@ import lombok.NoArgsConstructor;
@SalaryTableOperate(index = "3", text = "鎿嶄綔鏃ュ織" )
})
@ElogTransform(name = "宸ヨ祫鍗曟ā鏉")
+@Auth(page = "salaryBill", checkType = AuthCheckTypeEnum.SOB)
public class SalaryTemplateListDTO {
//涓婚敭id
@@ -65,4 +66,7 @@ public class SalaryTemplateListDTO {
// 钖祫璐﹀id
private Long salarySobId;
+
+
+ private Set opts;
}
diff --git a/src/com/engine/salary/entity/salaryacct/bo/CalculateFormulaVarBO.java b/src/com/engine/salary/entity/salaryacct/bo/CalculateFormulaVarBO.java
index b341f162d..cd66dd76c 100644
--- a/src/com/engine/salary/entity/salaryacct/bo/CalculateFormulaVarBO.java
+++ b/src/com/engine/salary/entity/salaryacct/bo/CalculateFormulaVarBO.java
@@ -101,6 +101,11 @@ public class CalculateFormulaVarBO {
*/
private List> variableArchiveList;
+ /**
+ * 涓婃湀鏍哥畻缁撴灉
+ */
+ List lastMonthResultPOS;
+
public CalculateFormulaVarBO(List simpleEmployees,
List salaryArchiveData,
List addUpSituationPOS,
@@ -109,7 +114,8 @@ public class CalculateFormulaVarBO {
List> welfareData,
List attendQuoteDataDTOS,
List salaryAcctResultPOS,
- List> variableArchiveList) {
+ List> variableArchiveList,
+ List lastMonthResultPOS) {
this.simpleEmployees = simpleEmployees;
this.salaryArchiveData = salaryArchiveData;
this.addUpSituationPOS = addUpSituationPOS;
@@ -119,6 +125,7 @@ public class CalculateFormulaVarBO {
this.attendQuoteDataDTOS = attendQuoteDataDTOS;
this.salaryAcctResultPOS = salaryAcctResultPOS;
this.variableArchiveList = variableArchiveList;
+ this.lastMonthResultPOS = lastMonthResultPOS;
}
/**
@@ -147,7 +154,10 @@ public class CalculateFormulaVarBO {
handleAttendQuoteData(salaryAcctCalculateBO, resultMap);
//澶勭悊鏍哥畻浜哄憳淇℃伅
handleSalaryAcctEmployee(salaryAcctCalculateBO, resultMap);
+ //澶勭悊浜哄憳淇℃伅
handleSimpleEmployees(resultMap);
+ //澶勭悊涓婃湀钖祫鏍哥畻缁撴灉
+ handleLastMonthResult(salaryAcctCalculateBO, resultMap);
return resultMap;
}
@@ -221,7 +231,7 @@ public class CalculateFormulaVarBO {
formulaVarValues.addAll(salaryAcctCalculateBO.getIssuedFieldIds().stream()
.map(fieldId -> {
String originResultValue = salaryAcctResultPOMap.getOrDefault(
- salaryCodeItemMap.get(fieldId),SalaryAcctResultPO.builder().originResultValue("").build())
+ salaryCodeItemMap.get(fieldId), SalaryAcctResultPO.builder().originResultValue("").build())
.getOriginResultValue();
String fieldId2 = SalaryFormulaReferenceEnum.ISSUED.getValue()
+ SalaryFormulaFieldConstant.FIELD_ID_SEPARATOR
@@ -231,6 +241,25 @@ public class CalculateFormulaVarBO {
});
}
+ private void handleLastMonthResult(SalaryAcctCalculateBO salaryAcctCalculateBO, Map> resultMap) {
+ // key:钖祫椤圭洰鐨刬d銆乿alue:钖祫椤圭洰鐨刢ode
+ Map salaryItemCodeMap = SalaryEntityUtil.convert2Map(salaryAcctCalculateBO.getSalaryItemPOS(), SalaryItemPO::getId, SalaryItemPO::getCode);
+ // key:employeeId_taxAgentId銆乿alue:钖祫鏍哥畻缁撴灉闆嗗悎
+ Map> salaryAcctResultMap = SalaryEntityUtil.group2Map(lastMonthResultPOS,
+ salaryAcctResultPO -> salaryAcctResultPO.getEmployeeId() + "_" + salaryAcctResultPO.getTaxAgentId());
+ // 濉厖鍒拌繑鍥炵粨鏋滈泦涓
+ salaryAcctResultMap.forEach((key, salaryAcctResultPOS) -> {
+ List formulaVarValues = resultMap.computeIfAbsent(key, k -> Lists.newArrayList());
+ formulaVarValues.addAll(salaryAcctResultPOS.stream()
+ .map(salaryAcctResultPO -> {
+ String fieldId = SalaryFormulaReferenceEnum.LAST_MONTH_CALC.getValue()
+ + SalaryFormulaFieldConstant.FIELD_ID_SEPARATOR
+ + salaryItemCodeMap.getOrDefault(salaryAcctResultPO.getSalaryItemId(), StringUtils.EMPTY);
+ return new FormulaVarValue().setFieldId(fieldId).setFieldValue(salaryAcctResultPO.getResultValue());
+ })
+ .collect(Collectors.toList()));
+ });
+ }
/**
* 澶勭悊钖祫妗f锛堜細娑夊強璋冭柂璁¤柂瑙勫垯锛+澶勭悊鏍哥畻鏃ユ湡
@@ -474,9 +503,9 @@ public class CalculateFormulaVarBO {
// 绀句繚绂忓埄鍙夊瓧娈
List fieldNames = Lists.newArrayList(salaryAcctCalculateBO.getWelfareColumns().values());
// 绀句繚绂忓埄鏁版嵁
- Map> tempMap = Maps.newHashMapWithExpectedSize(welfareData.size());
+ Map> tempMap = new HashMap<>();
welfareData.forEach(map -> {
- String key = String.valueOf(map.getOrDefault("employeeId", StringUtils.EMPTY));
+ String key = map.getOrDefault("employeeId", StringUtils.EMPTY) + "_" + map.getOrDefault("taxAgentId", StringUtils.EMPTY);
List formulaVarValues = tempMap.computeIfAbsent(key, k -> Lists.newArrayList());
formulaVarValues.addAll(fieldNames.stream().map(fieldName -> {
String fieldId = SalaryFormulaReferenceEnum.WELFARE.getValue()
@@ -489,7 +518,7 @@ public class CalculateFormulaVarBO {
for (SalaryAcctEmployeePO salaryAcctEmployeePO : salaryAcctCalculateBO.getSalaryAcctEmployeePOS()) {
List formulaVarValues = resultMap.computeIfAbsent(salaryAcctEmployeePO.getEmployeeId() + "_" + salaryAcctEmployeePO.getTaxAgentId(),
k -> Lists.newArrayList());
- formulaVarValues.addAll(tempMap.getOrDefault(String.valueOf(salaryAcctEmployeePO.getEmployeeId()), Collections.emptyList()));
+ formulaVarValues.addAll(tempMap.getOrDefault(salaryAcctEmployeePO.getEmployeeId() + "_" + salaryAcctEmployeePO.getTaxAgentId(), Collections.emptyList()));
}
}
@@ -586,8 +615,8 @@ public class CalculateFormulaVarBO {
// 濉厖鍒拌繑鍥炵粨鏋滈泦涓
employeeMap.forEach((key, po) -> {
// 鑾峰彇po鐨勭姸鎬
- if(po.getStatus() != null && NumberUtil.isNumber(po.getStatus())) {
- po.setStatusName(UserStatusEnum.getDefaultLabelByValue(new Integer(Util.null2s(po.getStatus(),"1"))));
+ if (po.getStatus() != null && NumberUtil.isNumber(po.getStatus())) {
+ po.setStatusName(UserStatusEnum.getDefaultLabelByValue(new Integer(Util.null2s(po.getStatus(), "1"))));
}
List formulaVarValues = resultMap.computeIfAbsent(key, k -> Lists.newArrayList());
Map map = JsonUtil.parseMap(po, String.class);
diff --git a/src/com/engine/salary/entity/salaryacct/bo/SalaryAcctRecordBO.java b/src/com/engine/salary/entity/salaryacct/bo/SalaryAcctRecordBO.java
index ad98f4ad7..408da743f 100644
--- a/src/com/engine/salary/entity/salaryacct/bo/SalaryAcctRecordBO.java
+++ b/src/com/engine/salary/entity/salaryacct/bo/SalaryAcctRecordBO.java
@@ -89,10 +89,11 @@ public class SalaryAcctRecordBO {
btnList.add(new WeaTableOperate("閲嶆柊鏍哥畻", null, "4"));
}
}
+ String taxAgentName = salarySobPO.getTaxAgentIds().stream().map(id -> taxAgentMap.getOrDefault(id, "")).collect(Collectors.joining(","));
return SalaryAcctRecordListDTO.builder()
.id(salaryAcctRecordPO.getId())
.salarySobName(Optional.ofNullable(salarySobPO).map(SalarySobPO::getName).orElse(StringUtils.EMPTY))
- .taxAgentName(taxAgentMap.get(Optional.ofNullable(salarySobPO).map(SalarySobPO::getTaxAgentId).orElse(0L)))
+ .taxAgentName(taxAgentName)
.salaryMonth(SalaryDateUtil.localDate2YearMonth(salaryAcctRecordPO.getSalaryMonth()).toString())
.taxCycle(SalaryDateUtil.localDate2YearMonth(salaryAcctRecordPO.getTaxCycle()).toString())
.status(Optional.ofNullable(salaryAcctRecordStatusEnum)
@@ -107,6 +108,7 @@ public class SalaryAcctRecordBO {
.description(salaryAcctRecordPO.getDescription())
.approvalStatus(salaryAcctRecordPO.getApprovalStatus())
.operate(btnList)
+ .opts(salaryAcctRecordPO.getOpts())
.build();
}).collect(Collectors.toList());
}
diff --git a/src/com/engine/salary/entity/salaryacct/bo/SalaryAcctResultBO.java b/src/com/engine/salary/entity/salaryacct/bo/SalaryAcctResultBO.java
index c80d67dfe..b906a6a37 100644
--- a/src/com/engine/salary/entity/salaryacct/bo/SalaryAcctResultBO.java
+++ b/src/com/engine/salary/entity/salaryacct/bo/SalaryAcctResultBO.java
@@ -274,71 +274,79 @@ public class SalaryAcctResultBO {
}
SalaryI18nUtil.i18nList(salaryAcctEmployees);
Map employeeMap = SalaryEntityUtil.convert2Map(simpleEmployees, DataCollectionEmployee::getEmployeeId);
- Map> acctResultMap = SalaryEntityUtil.group2Map(salaryAccountingResults, SalaryAcctResultPO::getEmployeeId);
Map taxAgentNameMap = SalaryEntityUtil.convert2Map(taxAgents, TaxAgentPO::getId, TaxAgentPO::getName);
- return salaryAcctEmployees.stream().map(e -> {
- Map resultValueMap = SalaryEntityUtil.convert2Map(acctResultMap.getOrDefault(e.getEmployeeId(), Collections.emptyList()),
- SalaryAcctResultPO::getSalaryItemId, SalaryAcctResultPO::getResultValue);
- // 钖祫椤圭洰鐨勫
- Map map = SalaryEntityUtil.convert2Map(salaryItems, o -> "" + o.getId(), o -> resultValueMap.getOrDefault(o.getId(), StringUtils.EMPTY));
- // 钖祫椤圭洰鐨勫瓧娈电被鍨嬶紙鍓嶇渚濇嵁杩欎釜鍒ゆ柇鏄惁闇瑕佸睍绀哄崈鍒嗕綅锛
- Map dataTypeMap = SalaryEntityUtil.convert2Map(salaryItems, salaryItemPO -> salaryItemPO.getId() + DATA_TYPE_SUFFIX, SalaryItemPO::getDataType);
- map.putAll(dataTypeMap);
- // 浜哄憳淇℃伅瀛楁鐨勫
- Map fieldValueMap = SalaryAcctFormulaBO.convert2FormulaEmployee(employeeMap.get(e.getEmployeeId()), e, true);
- for (SalarySobEmpFieldPO salarySobEmpField : salarySobEmpFields) {
- // 鍛樺伐淇℃伅瀛楁鐨勫瓧娈电被鍨
- if (dynamicEmpInfo) {
- map.put(salarySobEmpField.getFieldCode(), fieldValueMap.get(salarySobEmpField.getFieldCode()));
- } else {
- if ("departmentName".equals(salarySobEmpField.getFieldCode())) {
- map.put("departmentName", e.getDepartmentName());
- } else if ("departmentId".equals(salarySobEmpField.getFieldCode())) {
- map.put("departmentId", e.getDepartmentId());
- } else if ("subcompanyName".equals(salarySobEmpField.getFieldCode())) {
- map.put("subcompanyName", e.getSubcompanyName());
- }else if ("subcompanyId".equals(salarySobEmpField.getFieldCode())) {
- map.put("subcompanyId", e.getSubcompanyId());
- } else if ("jobcall".equals(salarySobEmpField.getFieldCode())) {
- map.put("jobcall", e.getJobcall());
- } else if ("jobcallId".equals(salarySobEmpField.getFieldCode())) {
- map.put("jobcallId", e.getJobcallId());
- } else if ("jobtitleName".equals(salarySobEmpField.getFieldCode())) {
- map.put("jobtitleName", e.getJobtitleName());
- } else if ("jobtitleId".equals(salarySobEmpField.getFieldCode())) {
- map.put("jobtitleId", e.getJobtitleId());
- } else if ("status".equals(salarySobEmpField.getFieldCode())) {
- map.put("status", e.getStatus());
- } else if ("statusName".equals(salarySobEmpField.getFieldCode())) {
- map.put("statusName", UserStatusEnum.getDefaultLabelByValue(new Integer(Util.null2s(e.getStatus(), "1"))));
- } else if ("accountType".equals(salarySobEmpField.getFieldCode())) {
- map.put("accountType", e.getAccountType());
- } else if ("accountTypeName".equals(salarySobEmpField.getFieldCode())) {
- map.put("accountTypeName", AccountTypeEnum.getDefaultLabelByValue(e.getAccountType()));
- } else {
+ Map> taxAcctEmpsMap = SalaryEntityUtil.group2Map(salaryAcctEmployees, SalaryAcctEmployeePO::getTaxAgentId);
+ Map> taxAcctResultMap = SalaryEntityUtil.group2Map(salaryAccountingResults, SalaryAcctResultPO::getTaxAgentId);
+
+ List> result = new ArrayList<>();
+ for (Long taxAgentId : taxAcctEmpsMap.keySet()) {
+ Map> acctResultMap = SalaryEntityUtil.group2Map(taxAcctResultMap.get(taxAgentId), SalaryAcctResultPO::getEmployeeId);
+ List> collect = taxAcctEmpsMap.get(taxAgentId).stream().map(e -> {
+ Map resultValueMap = SalaryEntityUtil.convert2Map(acctResultMap.getOrDefault(e.getEmployeeId(), Collections.emptyList()),
+ SalaryAcctResultPO::getSalaryItemId, SalaryAcctResultPO::getResultValue);
+ // 钖祫椤圭洰鐨勫
+ Map map = SalaryEntityUtil.convert2Map(salaryItems, o -> "" + o.getId(), o -> resultValueMap.getOrDefault(o.getId(), StringUtils.EMPTY));
+ // 钖祫椤圭洰鐨勫瓧娈电被鍨嬶紙鍓嶇渚濇嵁杩欎釜鍒ゆ柇鏄惁闇瑕佸睍绀哄崈鍒嗕綅锛
+ Map dataTypeMap = SalaryEntityUtil.convert2Map(salaryItems, salaryItemPO -> salaryItemPO.getId() + DATA_TYPE_SUFFIX, SalaryItemPO::getDataType);
+ map.putAll(dataTypeMap);
+ // 浜哄憳淇℃伅瀛楁鐨勫
+ Map fieldValueMap = SalaryAcctFormulaBO.convert2FormulaEmployee(employeeMap.get(e.getEmployeeId()), e, true);
+ for (SalarySobEmpFieldPO salarySobEmpField : salarySobEmpFields) {
+ // 鍛樺伐淇℃伅瀛楁鐨勫瓧娈电被鍨
+ if (dynamicEmpInfo) {
map.put(salarySobEmpField.getFieldCode(), fieldValueMap.get(salarySobEmpField.getFieldCode()));
+ } else {
+ if ("departmentName".equals(salarySobEmpField.getFieldCode())) {
+ map.put("departmentName", e.getDepartmentName());
+ } else if ("departmentId".equals(salarySobEmpField.getFieldCode())) {
+ map.put("departmentId", e.getDepartmentId());
+ } else if ("subcompanyName".equals(salarySobEmpField.getFieldCode())) {
+ map.put("subcompanyName", e.getSubcompanyName());
+ } else if ("subcompanyId".equals(salarySobEmpField.getFieldCode())) {
+ map.put("subcompanyId", e.getSubcompanyId());
+ } else if ("jobcall".equals(salarySobEmpField.getFieldCode())) {
+ map.put("jobcall", e.getJobcall());
+ } else if ("jobcallId".equals(salarySobEmpField.getFieldCode())) {
+ map.put("jobcallId", e.getJobcallId());
+ } else if ("jobtitleName".equals(salarySobEmpField.getFieldCode())) {
+ map.put("jobtitleName", e.getJobtitleName());
+ } else if ("jobtitleId".equals(salarySobEmpField.getFieldCode())) {
+ map.put("jobtitleId", e.getJobtitleId());
+ } else if ("status".equals(salarySobEmpField.getFieldCode())) {
+ map.put("status", e.getStatus());
+ } else if ("statusName".equals(salarySobEmpField.getFieldCode())) {
+ map.put("statusName", UserStatusEnum.getDefaultLabelByValue(new Integer(Util.null2s(e.getStatus(), "1"))));
+ } else if ("accountType".equals(salarySobEmpField.getFieldCode())) {
+ map.put("accountType", e.getAccountType());
+ } else if ("accountTypeName".equals(salarySobEmpField.getFieldCode())) {
+ map.put("accountTypeName", AccountTypeEnum.getDefaultLabelByValue(e.getAccountType()));
+ } else {
+ map.put(salarySobEmpField.getFieldCode(), fieldValueMap.get(salarySobEmpField.getFieldCode()));
+ }
}
+ map.put(salarySobEmpField.getFieldCode() + DATA_TYPE_SUFFIX, SalaryDataTypeEnum.STRING.getValue());
}
- map.put(salarySobEmpField.getFieldCode() + DATA_TYPE_SUFFIX, SalaryDataTypeEnum.STRING.getValue());
- }
- // 涓婚敭id
- map.put("id", e.getId());
- //閿佸畾鏁版嵁
- map.put("lockItems", e.getLockItems() != null ? e.getLockItems().stream().filter(Objects::nonNull).map(Object::toString).collect(Collectors.toList()) : new ArrayList<>());
- //浜哄憳id
- map.put("employeeId", e.getEmployeeId());
- // 涓◣鎵g即涔夊姟浜
- String taxAgentName = taxAgentNameMap.getOrDefault(e.getTaxAgentId(), StringUtils.EMPTY);
- map.put("taxAgentName", taxAgentName);
- // 鏄惁灞炰簬"鍚堝苟璁$◣"鐨勬爣璁
- map.put("consolidatedTaxation", StringUtils.isNotEmpty(taxAgentName) && consolidatedTaxSalaryAcctEmpIds.contains(e.getId()));
- // 涓◣鎵g即涔夊姟浜虹殑瀛楁绫诲瀷
- map.put("taxAgentName" + DATA_TYPE_SUFFIX, SalaryDataTypeEnum.STRING.getValue());
- // 鍏紡璇︽儏
- customParameters.putAll(customBackCalcParameters);
- map.put("customParameters", customParameters);
- return map;
- }).collect(Collectors.toList());
+ // 涓婚敭id
+ map.put("id", e.getId());
+ //閿佸畾鏁版嵁
+ map.put("lockItems", e.getLockItems() != null ? e.getLockItems().stream().filter(Objects::nonNull).map(Object::toString).collect(Collectors.toList()) : new ArrayList<>());
+ //浜哄憳id
+ map.put("employeeId", e.getEmployeeId());
+ // 涓◣鎵g即涔夊姟浜
+ String taxAgentName = taxAgentNameMap.getOrDefault(e.getTaxAgentId(), StringUtils.EMPTY);
+ map.put("taxAgentName", taxAgentName);
+ // 鏄惁灞炰簬"鍚堝苟璁$◣"鐨勬爣璁
+ map.put("consolidatedTaxation", StringUtils.isNotEmpty(taxAgentName) && consolidatedTaxSalaryAcctEmpIds.contains(e.getId()));
+ // 涓◣鎵g即涔夊姟浜虹殑瀛楁绫诲瀷
+ map.put("taxAgentName" + DATA_TYPE_SUFFIX, SalaryDataTypeEnum.STRING.getValue());
+ // 鍏紡璇︽儏
+ customParameters.putAll(customBackCalcParameters);
+ map.put("customParameters", customParameters);
+ return map;
+ }).collect(Collectors.toList());
+ result.addAll(collect);
+ }
+ return result;
}
/**
diff --git a/src/com/engine/salary/entity/salaryacct/dto/SalaryAcctRecordListDTO.java b/src/com/engine/salary/entity/salaryacct/dto/SalaryAcctRecordListDTO.java
index edc4d99dd..e3d9b8fcc 100644
--- a/src/com/engine/salary/entity/salaryacct/dto/SalaryAcctRecordListDTO.java
+++ b/src/com/engine/salary/entity/salaryacct/dto/SalaryAcctRecordListDTO.java
@@ -8,6 +8,7 @@ import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
+import java.util.Set;
/**
* 钖祫鏍哥畻鍒楄〃
@@ -21,29 +22,19 @@ import java.util.List;
@Builder
@NoArgsConstructor
@AllArgsConstructor
-//@SalaryTable(
-// value = {
-// @SalaryTableOperate(index = 0, text = "鏍哥畻", labelId = 94146),
-// @SalaryTableOperate(index = 1, text = "褰掓。", labelId = 92144),
-// @SalaryTableOperate(index = 2, text = "鏌ョ湅", labelId = 90821, outer = false),
-// @SalaryTableOperate(index = 3, text = "鍒犻櫎", labelId = 87061, outer = false),
-// @SalaryTableOperate(index = 4, text = "鎿嶄綔鏃ュ織", labelId = 87775, outer = false),
-// @SalaryTableOperate(index = 5, text = "閲嶆柊鏍哥畻", labelId = 98820)
-// }, tableType = WeaTableTypeEnum.NONE, pageUid = "salaryAcctRecordList"
-//)
public class SalaryAcctRecordListDTO {
//涓婚敭id
private Long id;
- @TableTitle(title = "涓◣鎵g即涔夊姟浜", dataIndex = "taxAgentName", key = "taxAgentName")
- private String taxAgentName;
+ @TableTitle(title = "钖祫鎵灞炴湀", dataIndex = "salaryMonth", key = "salaryMonth")
+ private String salaryMonth;
@TableTitle(title = "钖祫璐﹀", dataIndex = "salarySobName", key = "salarySobName")
private String salarySobName;
- @TableTitle(title = "钖祫鎵灞炴湀", dataIndex = "salaryMonth", key = "salaryMonth")
- private String salaryMonth;
+ @TableTitle(title = "涓◣鎵g即涔夊姟浜", dataIndex = "taxAgentName", key = "taxAgentName")
+ private String taxAgentName;
@TableTitle(title = "鏄惁鍥炵畻杩", dataIndex = "backCalcStatus", key = "backCalcStatus")
private Integer backCalcStatus;
@@ -78,4 +69,6 @@ public class SalaryAcctRecordListDTO {
@TableTitle(title = "鎿嶄綔", dataIndex = "operate", key = "operate")
private List operate;
+
+ private Set opts;
}
diff --git a/src/com/engine/salary/entity/salaryacct/po/SalaryAcctEmployeePO.java b/src/com/engine/salary/entity/salaryacct/po/SalaryAcctEmployeePO.java
index e9d0a10bc..c456e80da 100644
--- a/src/com/engine/salary/entity/salaryacct/po/SalaryAcctEmployeePO.java
+++ b/src/com/engine/salary/entity/salaryacct/po/SalaryAcctEmployeePO.java
@@ -1,6 +1,7 @@
package com.engine.salary.entity.salaryacct.po;
import com.engine.hrmelog.annotation.ElogTransform;
+import com.engine.salary.annotation.Auth;
import com.engine.salary.annotation.I18n;
import com.engine.salary.annotation.SalaryFormulaVar;
import com.engine.salary.enums.datacollection.DataCollectionEmployeeTypeEnum;
@@ -29,6 +30,7 @@ import java.util.List;
@AllArgsConstructor
//hrsa_salary_acct_emp
@ElogTransform(name = "钖祫鏍哥畻浜哄憳")
+@Auth(page = "salaryAcct")
public class SalaryAcctEmployeePO {
/**
diff --git a/src/com/engine/salary/entity/salaryacct/po/SalaryAcctRecordPO.java b/src/com/engine/salary/entity/salaryacct/po/SalaryAcctRecordPO.java
index c2b8fd33c..a17ecf398 100644
--- a/src/com/engine/salary/entity/salaryacct/po/SalaryAcctRecordPO.java
+++ b/src/com/engine/salary/entity/salaryacct/po/SalaryAcctRecordPO.java
@@ -1,7 +1,9 @@
package com.engine.salary.entity.salaryacct.po;
-import com.engine.salary.common.LocalDateRange;
import com.engine.hrmelog.annotation.ElogTransform;
+import com.engine.salary.annotation.Auth;
+import com.engine.salary.common.LocalDateRange;
+import com.engine.salary.enums.auth.AuthCheckTypeEnum;
import com.engine.salary.enums.salaryaccounting.SalaryAcctRecordStatusEnum;
import lombok.AllArgsConstructor;
import lombok.Builder;
@@ -12,6 +14,7 @@ import lombok.experimental.Accessors;
import java.util.Collection;
import java.util.Date;
import java.util.List;
+import java.util.Set;
/**
* 钖祫鏍哥畻琛
@@ -28,6 +31,7 @@ import java.util.List;
@Builder
@ElogTransform( name = "钖祫鏍哥畻璁板綍" )
//hrsa_salary_acct_record
+@Auth(page = "salaryAcct",checkType = AuthCheckTypeEnum.SOB)
public class SalaryAcctRecordPO {
/**
@@ -121,6 +125,8 @@ public class SalaryAcctRecordPO {
@ElogTransform( name = "鏇存柊鏃堕棿" )
private Date updateTime;
+ private Long taxAgentId;
+
/**
* 瀹℃壒娴佺▼id
*/
@@ -137,6 +143,9 @@ public class SalaryAcctRecordPO {
@Deprecated
private List lockSalaryItemIds;
+
+ private Set opts;
+
//鏌ヨ鏉′欢-------------------------------
Collection ids;
diff --git a/src/com/engine/salary/entity/salaryarchive/bo/SalaryArchiveBO.java b/src/com/engine/salary/entity/salaryarchive/bo/SalaryArchiveBO.java
index 4261d8da2..75b26f972 100644
--- a/src/com/engine/salary/entity/salaryarchive/bo/SalaryArchiveBO.java
+++ b/src/com/engine/salary/entity/salaryarchive/bo/SalaryArchiveBO.java
@@ -108,75 +108,6 @@ public class SalaryArchiveBO {
LocalDateRange localDateRange,
List allEmployeeIds,
boolean isOnlyTaxAgent) {
-// // 寮濮嬫棩鏈
-// Date start = localDateRange.getFromDate();
-// // 缁撴潫鏃ユ湡
-// Date end = localDateRange.getEndDate();
-//
-// List list = new ArrayList<>();
-// allEmployeeIds.forEach(e -> {
-// // 鍚屼竴涓汉鐨勬。妗堟暟鎹
-// List salaryArchives = salaryArchiveList.stream().filter(f -> f.getEmployeeId().equals(e)).collect(Collectors.toList());
-// List salaryArchiveIds = salaryArchives.stream().map(SalaryArchivePO::getId).collect(Collectors.toList());
-// // 鍚屼竴涓汉鐨勮柂璧勯」鐩皟鏁村巻鍙叉暟鎹
-// List salaryArchiveItems = salaryArchiveItemDataList.stream().filter(d -> salaryArchiveIds.contains(d.getSalaryArchiveId())).collect(Collectors.toList());
-// List salaryArchiveItemIds = salaryArchiveItems.stream().map(SalaryArchiveItemPO::getSalaryItemId).distinct().collect(Collectors.toList());
-//
-// SalaryArchiveDataDTO salaryArchiveData = new SalaryArchiveDataDTO();
-// salaryArchiveData.setEmployeeId(e);
-// List taxAgents = new ArrayList<>();
-// // 鎸変釜绋庢墸缂翠箟鍔′汉鐢熸晥鏃ユ湡鏃堕棿娈靛垏鍓
-// for (SalaryArchivePO salaryArchive : salaryArchives) {
-// Date fromDate = salaryArchive.getPayStartDate();
-// Date endDate = salaryArchive.getPayEndDate();
-// // 璧峰鍙戣柂鏃ヤ笉涓虹┖锛屼笖涓嶈兘姣旂粨鏉熸棩鏈熸櫄锛屾渶鍚庡彂钖棩鍙┖鍙笉绌猴紝浣嗘槸濡傛灉涓嶄负绌猴紝灏变笉鑳芥瘮寮濮嬫棩鏈熸棭锛屼笖璧峰鍙戣柂鏃ヤ笉鑳芥櫄浜庢渶鍚庡彂钖棩
-// boolean isEnable = fromDate != null && !fromDate.after(end) && (endDate == null || (!fromDate.after(endDate) && !endDate.before(start)));
-// if (isEnable) {
-// SalaryArchiveTaxAgentDataDTO taxAgent = new SalaryArchiveTaxAgentDataDTO();
-// taxAgent.setTaxAgentId(salaryArchive.getTaxAgentId());
-//// taxAgent.setIncomeCategory(salaryArchive.getIncomeCategory());
-// taxAgent.setEffectiveDateRange(LocalDateRange.builder().fromDate((fromDate.before(start) ? start : fromDate)).endDate(endDate == null || endDate.after(end) ? end : endDate).build());
-// // 钖祫椤圭洰鏁版嵁鎸変釜绋庢墸缂翠箟鍔′汉鍒囧壊
-// if (!isOnlyTaxAgent) {
-// // 寮濮嬫棩鏈
-// Date startItem = taxAgent.getEffectiveDateRange().getFromDate();
-// // 缁撴潫鏃ユ湡
-// Date endItem = taxAgent.getEffectiveDateRange().getEndDate();
-// Date endTempItem = endItem;
-// List salaryItemValues = new ArrayList<>();
-// for (Long salaryArchiveItemId : salaryArchiveItemIds) {
-// for (SalaryArchiveItemPO salaryArchiveItem : salaryArchiveItems) {
-// if (!salaryArchiveItemId.equals(salaryArchiveItem.getSalaryItemId()) || !salaryArchiveItem.getSalaryArchiveId().equals(salaryArchive.getId())) {
-// continue;
-// }
-// Date fromDateItem = salaryArchiveItem.getEffectiveTime();
-// if (fromDateItem.after(endTempItem) || (!endTempItem.after(startItem) && !endTempItem.equals(startItem))) {
-// continue;
-// }
-// SalaryArchiveItemDataDTO salaryArchiveItemData = new SalaryArchiveItemDataDTO();
-// salaryArchiveItemData.setEffectiveDateRange(LocalDateRange.builder().fromDate((fromDateItem.before(startItem) ? startItem : fromDateItem)).endDate(endTempItem).build());
-// //fixme 鎺掗櫎1鍙疯皟钖紝涔嬪墠鐨勫巻鍙插懆鏈熶负2022-01-01-2022-01-01杩欑鎯呭喌
-// if (!salaryArchiveItemData.getEffectiveDateRange().getFromDate().before(salaryArchiveItemData.getEffectiveDateRange().getEndDate())) {
-// continue;
-// }
-// salaryArchiveItemData.setSalaryItemId(salaryArchiveItem.getSalaryItemId());
-// salaryArchiveItemData.setValue(salaryArchiveItem.getItemValue());
-// salaryItemValues.add(salaryArchiveItemData);
-// endTempItem = fromDateItem;
-// }
-// endTempItem = endItem;
-// }
-// taxAgent.setSalaryItemValues(salaryItemValues);
-// }
-// taxAgents.add(taxAgent);
-// }
-// }
-// salaryArchiveData.setTaxAgents(taxAgents);
-// list.add(salaryArchiveData);
-// });
-//
-// return list;
-
// 寮濮嬫棩鏈
Date start = localDateRange.getFromDate();
diff --git a/src/com/engine/salary/entity/salaryarchive/bo/SalaryArchiveExcelBO.java b/src/com/engine/salary/entity/salaryarchive/bo/SalaryArchiveExcelBO.java
index 41b6050bb..fb69bb2df 100644
--- a/src/com/engine/salary/entity/salaryarchive/bo/SalaryArchiveExcelBO.java
+++ b/src/com/engine/salary/entity/salaryarchive/bo/SalaryArchiveExcelBO.java
@@ -1,7 +1,7 @@
package com.engine.salary.entity.salaryarchive.bo;
+import cn.hutool.core.util.NumberUtil;
import com.engine.core.impl.Service;
-import com.engine.salary.constant.SalaryArchiveConstant;
import com.engine.salary.constant.SalaryDefaultTenantConstant;
import com.engine.salary.entity.datacollection.DataCollectionEmployee;
import com.engine.salary.entity.salaryarchive.dto.SalaryArchiveInitImportDTO;
@@ -35,7 +35,6 @@ import weaver.hrm.User;
import java.time.LocalDate;
import java.util.*;
import java.util.concurrent.atomic.AtomicInteger;
-import java.util.regex.Pattern;
import java.util.stream.Collectors;
/**
@@ -826,7 +825,7 @@ public class SalaryArchiveExcelBO extends Service {
if (isEnable) {
SalaryItemPO salaryItemPO = optionalSalaryItem.get();
// 鏁板肩被鍨嬪垽鏂
- boolean isNotNumber = salaryItemPO.getDataType().equals(SalaryArchiveFieldTypeEnum.NUMBER.getValue()) && StringUtils.isNotEmpty(cellVal) && !Pattern.matches(SalaryArchiveConstant.NUMBER_REGEX, cellVal);
+ boolean isNotNumber = salaryItemPO.getDataType().equals(SalaryArchiveFieldTypeEnum.NUMBER.getValue()) && StringUtils.isNotEmpty(cellVal) && !NumberUtil.isNumber(cellVal);
if (isNotNumber) {
Map errorMessageMap = Maps.newHashMap();
errorMessageMap.put("message", rowindex + key + numberErr);
diff --git a/src/com/engine/salary/entity/salaryarchive/dto/SalaryArchiveListDTO.java b/src/com/engine/salary/entity/salaryarchive/dto/SalaryArchiveListDTO.java
index 7719f7c15..f25a6f588 100644
--- a/src/com/engine/salary/entity/salaryarchive/dto/SalaryArchiveListDTO.java
+++ b/src/com/engine/salary/entity/salaryarchive/dto/SalaryArchiveListDTO.java
@@ -1,10 +1,7 @@
package com.engine.salary.entity.salaryarchive.dto;
import com.cloudstore.eccom.pc.table.WeaTableType;
-import com.engine.salary.annotation.I18n;
-import com.engine.salary.annotation.SalaryTable;
-import com.engine.salary.annotation.SalaryTableOperate;
-import com.engine.salary.annotation.TableTitle;
+import com.engine.salary.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Builder;
@@ -12,6 +9,7 @@ import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
+import java.util.Set;
/**
* 钖祫妗f鍒楄〃
@@ -29,12 +27,14 @@ import java.util.Date;
@SalaryTableOperate(index = "0", text = "缂栬緫"),
@SalaryTableOperate(index = "1", text = "鍒犻櫎")
})
+@Auth(page = "salaryArchive")
public class SalaryArchiveListDTO {
@TableTitle(title = "id", dataIndex = "id", key = "id")
private Long id;
@TableTitle(title = "浜哄憳淇℃伅琛ㄧ殑涓婚敭id", dataIndex = "employeeId", key = "employeeId")
+ @AuthField(fieldType = "employeeId")
private Long employeeId;
private Integer employeeType;
@@ -51,6 +51,7 @@ public class SalaryArchiveListDTO {
*/
@TableTitle(title = "涓◣鎵g即涔夊姟浜", dataIndex = "taxAgentName", key = "taxAgentName")
private String taxAgentName;
+ @AuthField(fieldType = "taxAgentId")
private Long taxAgentId;
/**
@@ -124,4 +125,6 @@ public class SalaryArchiveListDTO {
//涓绘璐﹀彿 0/null锛氫富璐﹀彿 1锛氭璐﹀彿
private Integer accountType;
+ private Set opts;
+
}
diff --git a/src/com/engine/salary/entity/salaryarchive/dto/SalaryItemAdjustRecordListDTO.java b/src/com/engine/salary/entity/salaryarchive/dto/SalaryItemAdjustRecordListDTO.java
index ede032ccb..db2b4cb2b 100644
--- a/src/com/engine/salary/entity/salaryarchive/dto/SalaryItemAdjustRecordListDTO.java
+++ b/src/com/engine/salary/entity/salaryarchive/dto/SalaryItemAdjustRecordListDTO.java
@@ -1,6 +1,7 @@
package com.engine.salary.entity.salaryarchive.dto;
import com.engine.salary.annotation.Encrypt;
+import com.engine.salary.annotation.I18n;
import com.engine.salary.annotation.TableTitle;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
@@ -42,6 +43,7 @@ public class SalaryItemAdjustRecordListDTO {
private String username;
@TableTitle(title = "閮ㄩ棬", dataIndex = "departmentName", key = "departmentName")
+ @I18n
private String departmentName;
@TableTitle(title = "鍛樺伐鐘舵", dataIndex = "employeeStatus", key = "employeeStatus")
@@ -66,6 +68,7 @@ public class SalaryItemAdjustRecordListDTO {
private Date effectiveTime;
@TableTitle(title = "鎿嶄綔浜", dataIndex = "operator", key = "operator")
+ @I18n
private String operator;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
diff --git a/src/com/engine/salary/entity/salaryarchive/po/SalaryArchivePO.java b/src/com/engine/salary/entity/salaryarchive/po/SalaryArchivePO.java
index a1762c54b..25ad7601a 100644
--- a/src/com/engine/salary/entity/salaryarchive/po/SalaryArchivePO.java
+++ b/src/com/engine/salary/entity/salaryarchive/po/SalaryArchivePO.java
@@ -1,6 +1,7 @@
package com.engine.salary.entity.salaryarchive.po;
import com.engine.hrmelog.annotation.ElogTransform;
+import com.engine.salary.annotation.Auth;
import com.engine.salary.enums.datacollection.DataCollectionEmployeeTypeEnum;
import com.engine.salary.enums.salaryarchive.SalaryArchiveStatusEnum;
import com.engine.salary.enums.salaryarchive.SalaryArchiveAddTypeEnum;
@@ -14,6 +15,7 @@ import lombok.NoArgsConstructor;
import java.util.Collection;
import java.util.Date;
import java.util.List;
+import java.util.Set;
/**
* 钖祫妗f
@@ -29,6 +31,7 @@ import java.util.List;
@AllArgsConstructor
//hrsa_salary_archive
@ElogTransform(name = "钖祫妗f")
+@Auth(page = "salaryArchive")
public class SalaryArchivePO {
/**
@@ -136,4 +139,6 @@ public class SalaryArchivePO {
*/
@JsonIgnore
private List runStatusList;
+
+ private Set opts;
}
diff --git a/src/com/engine/salary/entity/salarysob/bo/SalarySobBO.java b/src/com/engine/salary/entity/salarysob/bo/SalarySobBO.java
index e84a890ee..cf06eec07 100644
--- a/src/com/engine/salary/entity/salarysob/bo/SalarySobBO.java
+++ b/src/com/engine/salary/entity/salarysob/bo/SalarySobBO.java
@@ -2,18 +2,16 @@ package com.engine.salary.entity.salarysob.bo;
import com.engine.salary.constant.SalaryDefaultTenantConstant;
import com.engine.salary.entity.salarysob.dto.SalarySobBasicFormDTO;
-import com.engine.salary.entity.salarysob.dto.SalarySobListDTO;
import com.engine.salary.entity.salarysob.param.SalarySobBasicSaveParam;
import com.engine.salary.entity.salarysob.po.SalarySobPO;
import com.engine.salary.enums.SalaryCycleTypeEnum;
import com.engine.salary.exception.SalaryRunTimeException;
import com.engine.salary.util.SalaryI18nUtil;
-import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.math.NumberUtils;
-import java.util.*;
-import java.util.stream.Collectors;
+import java.util.Date;
+import java.util.Objects;
/**
* 钖祫璐﹀
@@ -53,40 +51,17 @@ public class SalarySobBO {
.updateTime(now)
.deleteType(NumberUtils.INTEGER_ZERO)
.tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY)
- .taxAgentId(saveParam.getTaxAgentId())
+ .taxAgentId(saveParam.getTaxAgentIds().get(0))
.build();
}
- /**
- * 钖祫璐﹀po杞崲鎴愬垪琛╠to
- *
- * @param salarySobs 钖祫璐﹀po
- * @return
- */
- public static List convert2ListDTO(Collection salarySobs,Map taxAgentIdTONameMap) {
- if (CollectionUtils.isEmpty(salarySobs)) {
- return Collections.emptyList();
- }
- return salarySobs.stream()
- .map(salarySobPO -> SalarySobListDTO.builder()
- .id(salarySobPO.getId())
- .name(salarySobPO.getName())
- .taxAgentName(taxAgentIdTONameMap.get(salarySobPO.getTaxAgentId()))
- .taxAgentId(salarySobPO.getTaxAgentId())
- .salaryCycle(buildSalaryCycle(salarySobPO))
- .disable(salarySobPO.getDisable())
- .description(salarySobPO.getDescription())
- .build())
- .collect(Collectors.toList());
- }
-
/**
* 瑙f瀽钖祫璐﹀鍒楄〃鐨勮柂璧勫懆鏈
*
* @param salarySobPO
* @return
*/
- private static String buildSalaryCycle(SalarySobPO salarySobPO) {
+ public static String buildSalaryCycle(SalarySobPO salarySobPO) {
String salaryCycleStr;
SalaryCycleTypeEnum salaryCycleTypeEnum = SalaryCycleTypeEnum.parseByValue(salarySobPO.getSalaryCycleType());
if (salaryCycleTypeEnum == null) {
@@ -130,7 +105,7 @@ public class SalarySobBO {
* @param salarySobPO 钖祫璐﹀po
* @return
*/
- public static SalarySobBasicFormDTO convert2FormDTO(SalarySobBasicFormDTO basicForm,SalarySobPO salarySobPO) {
+ public static SalarySobBasicFormDTO convert2FormDTO(SalarySobBasicFormDTO basicForm, SalarySobPO salarySobPO) {
return basicForm
.setId(salarySobPO.getId())
.setName(salarySobPO.getName())
@@ -142,7 +117,7 @@ public class SalarySobBO {
.setAttendCycleType(salarySobPO.getAttendCycleType())
.setAttendCycleFromDay(salarySobPO.getAttendCycleFromDay())
.setSocialSecurityCycleType(salarySobPO.getSocialSecurityCycleType())
- .setTaxAgentId(salarySobPO.getTaxAgentId())
+ .setTaxAgentIds(salarySobPO.getTaxAgentIds())
.setDescription(salarySobPO.getDescription());
}
diff --git a/src/com/engine/salary/entity/salarysob/dto/SalarySobBasicFormDTO.java b/src/com/engine/salary/entity/salarysob/dto/SalarySobBasicFormDTO.java
index 131668372..77b7221d7 100644
--- a/src/com/engine/salary/entity/salarysob/dto/SalarySobBasicFormDTO.java
+++ b/src/com/engine/salary/entity/salarysob/dto/SalarySobBasicFormDTO.java
@@ -30,16 +30,20 @@ import java.util.List;
@AllArgsConstructor
public class SalarySobBasicFormDTO {
- //涓婚敭id")
+ //涓婚敭
@JsonSerialize(using = ToStringSerializer.class)
private Long id;
-// //钖祫璐﹀鐨勫悕绉")
+ /**
+ * 鍚嶇О
+ */
private String name;
- private Long taxAgentId;
-// private String taxAgentName;
+ /**
+ * 鎵g即涔夊姟浜
+ */
+ private List taxAgentIds;
/**
* 钖祫绫诲瀷
diff --git a/src/com/engine/salary/entity/salarysob/dto/SalarySobListDTO.java b/src/com/engine/salary/entity/salarysob/dto/SalarySobListDTO.java
index cb100ef55..4d892d643 100644
--- a/src/com/engine/salary/entity/salarysob/dto/SalarySobListDTO.java
+++ b/src/com/engine/salary/entity/salarysob/dto/SalarySobListDTO.java
@@ -12,6 +12,9 @@ import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
+import java.util.List;
+import java.util.Set;
+
/**
* 钖祫璐﹀鍒楄〃
* Copyright: Copyright (c) 2022
@@ -47,7 +50,7 @@ public class SalarySobListDTO {
private String taxAgentName;
// 涓◣鎵g即涔夊姟浜篒D
- private Long taxAgentId;
+ private List taxAgentIds;
@SalaryTableColumn(text = "钖祫鍛ㄦ湡", width = "10%", column = "salaryCycle", transmethod = "com.engine.salary.transmethod.TransMethod.buildSalaryCycle", otherPara = "column:salaryCycleFromDay")
@TableTitle(title = "钖祫鍛ㄦ湡", key = "salaryCycle", dataIndex = "salaryCycle")
@@ -66,5 +69,5 @@ public class SalarySobListDTO {
@SalaryTableColumn(text = "鎿嶄綔", width = "20%", column = "operate")
@TableTitle(title = "鎿嶄綔", key = "operate", dataIndex = "operate")
- private String operate;
+ private Set opts;
}
diff --git a/src/com/engine/salary/entity/salarysob/param/SalarySobBasicSaveParam.java b/src/com/engine/salary/entity/salarysob/param/SalarySobBasicSaveParam.java
index bd86de4d6..f8fcfd5fe 100644
--- a/src/com/engine/salary/entity/salarysob/param/SalarySobBasicSaveParam.java
+++ b/src/com/engine/salary/entity/salarysob/param/SalarySobBasicSaveParam.java
@@ -9,6 +9,8 @@ import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
+import java.util.List;
+
/**
* 钖祫璐﹀淇濆瓨鍙傛暟
@@ -36,8 +38,7 @@ public class SalarySobBasicSaveParam {
/**
* 涓◣鎵g即涔夊姟浜虹殑涓婚敭id
*/
- @DataCheck(require = true, message = "涓◣鎵g即涔夊姟浜虹殑涓婚敭id涓嶅厑璁镐负绌")
- private Long taxAgentId;
+ private List taxAgentIds;
/**
* 钖祫绫诲瀷涓嶅厑璁镐负绌
diff --git a/src/com/engine/salary/entity/salarysob/param/SalarySobDuplicateParam.java b/src/com/engine/salary/entity/salarysob/param/SalarySobDuplicateParam.java
index 19e213fdc..3e5cb8da9 100644
--- a/src/com/engine/salary/entity/salarysob/param/SalarySobDuplicateParam.java
+++ b/src/com/engine/salary/entity/salarysob/param/SalarySobDuplicateParam.java
@@ -3,6 +3,8 @@ package com.engine.salary.entity.salarysob.param;
import com.engine.salary.util.valid.DataCheck;
import lombok.Data;
+import java.util.List;
+
/**
* 钖祫璐﹀澶嶅埗鍙傛暟
* Copyright: Copyright (c) 2022
@@ -27,9 +29,5 @@ public class SalarySobDuplicateParam {
@DataCheck(require = true, max = 40, message = "鍚嶇О涓嶅厑璁镐负绌轰笖鍚嶇О涓嶈兘瓒呰繃40涓瓧绗﹂暱搴")
private String name;
- /**
- * 涓◣鎵g即涔夊姟浜篿d
- */
- @DataCheck(require = true, message = "涓◣鎵g即涔夊姟浜轰笉鍏佽涓虹┖")
- private Long taxAgentId;
+ private List taxAgentIds;
}
diff --git a/src/com/engine/salary/entity/salarysob/param/SalarySobListQueryParam.java b/src/com/engine/salary/entity/salarysob/param/SalarySobListQueryParam.java
index e8811bf3f..e71a6e449 100644
--- a/src/com/engine/salary/entity/salarysob/param/SalarySobListQueryParam.java
+++ b/src/com/engine/salary/entity/salarysob/param/SalarySobListQueryParam.java
@@ -5,12 +5,13 @@ import lombok.Data;
import lombok.EqualsAndHashCode;
/**
- * @description: 钖祫璐﹀鍒楄〃鏌ヨ鍙傛暟
- * @author: xiajun
- * @modified By: xiajun
- * @date: Created in 1/18/22 3:04 PM
- * @version:v1.0
- */
+ * 璐﹀鏌ヨ
+ * Copyright: Copyright (c) 2024
+ * Company: 娉涘井杞欢
+ *
+ * @author qiantao
+ * @version 1.0
+ **/
@Data
@EqualsAndHashCode(callSuper = true)
public class SalarySobListQueryParam extends BaseQueryParam {
diff --git a/src/com/engine/salary/entity/salarysob/param/SalarySobQueryParam.java b/src/com/engine/salary/entity/salarysob/param/SalarySobQueryParam.java
new file mode 100644
index 000000000..d0555321d
--- /dev/null
+++ b/src/com/engine/salary/entity/salarysob/param/SalarySobQueryParam.java
@@ -0,0 +1,31 @@
+package com.engine.salary.entity.salarysob.param;
+
+import com.engine.salary.common.BaseQueryParam;
+import com.engine.salary.enums.auth.AuthFilterTypeEnum;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.List;
+
+
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class SalarySobQueryParam extends BaseQueryParam {
+
+ /**
+ * 鍚嶇О
+ */
+ private String name;
+
+ /**
+ * 鎵g即涔夊姟浜篿d
+ */
+ private Long taxAgentId;
+
+ private List taxAgentIds;
+
+ /**
+ * 鏁版嵁杩囨护绾у埆
+ */
+ private AuthFilterTypeEnum filterType;
+}
diff --git a/src/com/engine/salary/entity/salarysob/po/SalarySobPO.java b/src/com/engine/salary/entity/salarysob/po/SalarySobPO.java
index 231d6f866..a24fd7b06 100644
--- a/src/com/engine/salary/entity/salarysob/po/SalarySobPO.java
+++ b/src/com/engine/salary/entity/salarysob/po/SalarySobPO.java
@@ -1,6 +1,8 @@
package com.engine.salary.entity.salarysob.po;
import com.engine.hrmelog.annotation.ElogTransform;
+import com.engine.salary.annotation.Auth;
+import com.engine.salary.enums.auth.AuthCheckTypeEnum;
import com.engine.salary.util.valid.Compare;
import com.thoughtworks.xstream.annotations.XStreamAlias;
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
@@ -13,6 +15,8 @@ import lombok.experimental.Accessors;
import java.util.Collection;
import java.util.Date;
+import java.util.List;
+import java.util.Set;
/**
* 钖祫甯愬琛
@@ -25,6 +29,7 @@ import java.util.Date;
@ElogTransform( name="钖祫璐﹀" )
//hrsa_salary_sob
@XStreamAlias("SalarySob")
+@Auth(page = "salarySob",checkType = AuthCheckTypeEnum.SOB,sobIdField="id")
public class SalarySobPO {
/**
@@ -50,8 +55,12 @@ public class SalarySobPO {
@ElogTransform( name="涓◣鎵g即涔夊姟浜篿d" )
@XStreamAlias("taxAgentId")
@XStreamAsAttribute
+ @Deprecated
private Long taxAgentId;
+ @XStreamOmitField
+ List taxAgentIds;
+
/**
* 搴旂◣椤圭洰銆1:姝e父宸ヨ祫钖噾鎵寰
*/
@@ -172,6 +181,8 @@ public class SalarySobPO {
private String tenantKey;
Collection ids;
- Collection taxAgentIds;
+
+
+ private Set opts;
}
\ No newline at end of file
diff --git a/src/com/engine/salary/entity/salarysob/po/SobTaxLinkPO.java b/src/com/engine/salary/entity/salarysob/po/SobTaxLinkPO.java
new file mode 100644
index 000000000..de4a47135
--- /dev/null
+++ b/src/com/engine/salary/entity/salarysob/po/SobTaxLinkPO.java
@@ -0,0 +1,74 @@
+package com.engine.salary.entity.salarysob.po;
+
+import com.engine.hrmelog.annotation.ElogTransform;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.Collection;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 鏁版嵁
+ */
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class SobTaxLinkPO {
+
+ @ElogTransform(name = "id")
+ private Long id;
+
+ /**
+ * 璐﹀id
+ */
+ @ElogTransform(name = "璐﹀id")
+ private Long sobId;
+
+ /**
+ * 鎵g即涔夊姟浜篿d
+ */
+ @ElogTransform(name = "鎵g即涔夊姟浜篿d")
+ private Long taxAgentId;
+
+
+ /**
+ * 鏄惁宸插垹闄ゃ0锛氭湭鍒犻櫎銆1锛氬凡鍒犻櫎
+ */
+ @ElogTransform(name = "鏄惁宸插垹闄ゃ0锛氭湭鍒犻櫎銆1锛氬凡鍒犻櫎")
+ private Integer deleteType;
+
+
+ /**
+ * 鏇存柊鏃堕棿
+ */
+ @ElogTransform(name = "鏇存柊鏃堕棿")
+ private Date updateTime;
+
+ /**
+ * 鍒涘缓鏃堕棿
+ */
+ @ElogTransform(name = "鍒涘缓鏃堕棿")
+ private Date createTime;
+
+ /**
+ * 鍒涘缓浜
+ */
+ @ElogTransform(name = "鍒涘缓浜")
+ private Long creator;
+
+
+ /**
+ * 绉熸埛ID
+ */
+ @ElogTransform(name = "绉熸埛ID")
+ private String tenantKey;
+
+ //涓婚敭id闆嗗悎
+ private Collection ids;
+ private List taxAgentIds;
+
+}
\ No newline at end of file
diff --git a/src/com/engine/salary/entity/siaccount/bo/InsuranceAccountBO.java b/src/com/engine/salary/entity/siaccount/bo/InsuranceAccountBO.java
index 8aa28ab09..f2af2ac95 100644
--- a/src/com/engine/salary/entity/siaccount/bo/InsuranceAccountBO.java
+++ b/src/com/engine/salary/entity/siaccount/bo/InsuranceAccountBO.java
@@ -67,6 +67,7 @@ public class InsuranceAccountBO {
.paymentOrganization(e.getPaymentOrganization() != null ? MapperProxyFactory.getProxy(TaxAgentMapper.class).getById(e.getPaymentOrganization()).getName() : "")
.paymentOrganizationId(e.getPaymentOrganization())
.creator(e.getCreator())
+ .opts(e.getOpts())
.build()
).collect(Collectors.toList());
}
diff --git a/src/com/engine/salary/entity/siaccount/dto/InsuranceAccountBatchListDTO.java b/src/com/engine/salary/entity/siaccount/dto/InsuranceAccountBatchListDTO.java
index 23afba707..28939613b 100644
--- a/src/com/engine/salary/entity/siaccount/dto/InsuranceAccountBatchListDTO.java
+++ b/src/com/engine/salary/entity/siaccount/dto/InsuranceAccountBatchListDTO.java
@@ -2,7 +2,6 @@ package com.engine.salary.entity.siaccount.dto;
import com.cloudstore.eccom.pc.table.WeaTableType;
import com.engine.salary.annotation.SalaryTable;
-import com.engine.salary.annotation.SalaryTableColumn;
import com.engine.salary.annotation.SalaryTableOperate;
import com.engine.salary.annotation.TableTitle;
import lombok.AllArgsConstructor;
@@ -10,6 +9,8 @@ import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
+import java.util.Set;
+
/**
* @Author weaver_cl
* @Description: 绂忓埄鍙拌处鍒楄〃
@@ -111,6 +112,8 @@ public class InsuranceAccountBatchListDTO {
@TableTitle(title = "澶囨敞", dataIndex = "remarks", key = "remarks")
private String remarks;
+ private Set opts;
+
diff --git a/src/com/engine/salary/entity/siaccount/po/InsuranceAccountBatchPO.java b/src/com/engine/salary/entity/siaccount/po/InsuranceAccountBatchPO.java
index 310bd8e17..5b610e6da 100644
--- a/src/com/engine/salary/entity/siaccount/po/InsuranceAccountBatchPO.java
+++ b/src/com/engine/salary/entity/siaccount/po/InsuranceAccountBatchPO.java
@@ -1,13 +1,16 @@
package com.engine.salary.entity.siaccount.po;
-import com.engine.salary.annotation.Encrypt;
import com.engine.hrmelog.annotation.ElogTransform;
+import com.engine.salary.annotation.Auth;
+import com.engine.salary.annotation.Encrypt;
+import com.engine.salary.enums.auth.AuthCheckTypeEnum;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
+import java.util.Set;
/**
@@ -22,6 +25,7 @@ import java.util.Date;
@AllArgsConstructor
//hrsa_bill_batch
@ElogTransform(name = "绂忓埄鍙拌处涓昏〃")
+@Auth(page = "siAccount", checkType = AuthCheckTypeEnum.TAX, taxAgentIdField = "paymentOrganization")
public class InsuranceAccountBatchPO {
/**
@@ -138,4 +142,8 @@ public class InsuranceAccountBatchPO {
private String jobcall;
private Long jobcallId;
private String status;
+
+
+ private Set opts;
+
}
diff --git a/src/com/engine/salary/entity/siarchives/dto/InsuranceArchivesBaseHistoryDTO.java b/src/com/engine/salary/entity/siarchives/dto/InsuranceArchivesBaseHistoryDTO.java
index a0c2d57e8..97f88e52c 100644
--- a/src/com/engine/salary/entity/siarchives/dto/InsuranceArchivesBaseHistoryDTO.java
+++ b/src/com/engine/salary/entity/siarchives/dto/InsuranceArchivesBaseHistoryDTO.java
@@ -1,12 +1,15 @@
package com.engine.salary.entity.siarchives.dto;
+import com.engine.salary.annotation.Auth;
import com.engine.salary.annotation.TableTitle;
+import com.engine.salary.enums.auth.AuthCheckTypeEnum;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
+import java.util.Set;
/**
* @Author: sy
@@ -17,6 +20,7 @@ import java.util.Date;
@Builder
@NoArgsConstructor
@AllArgsConstructor
+@Auth(page = "siArchive", checkType = AuthCheckTypeEnum.TAX_EMP, taxAgentIdField = "paymentOrganization", employeeIdField = "employeeId")
public class InsuranceArchivesBaseHistoryDTO {
private Long id;
@@ -94,4 +98,7 @@ public class InsuranceArchivesBaseHistoryDTO {
private String operatorName;
@TableTitle(title = "鎿嶄綔鏃堕棿", dataIndex = "operateTime", key = "operateTime")
private Date operateTime;
+
+
+ private Set opts;
}
diff --git a/src/com/engine/salary/entity/siarchives/po/InsuranceArchivesBaseInfoPO.java b/src/com/engine/salary/entity/siarchives/po/InsuranceArchivesBaseInfoPO.java
index 7de87c044..fcd72acd7 100644
--- a/src/com/engine/salary/entity/siarchives/po/InsuranceArchivesBaseInfoPO.java
+++ b/src/com/engine/salary/entity/siarchives/po/InsuranceArchivesBaseInfoPO.java
@@ -1,6 +1,8 @@
package com.engine.salary.entity.siarchives.po;
import com.engine.hrmelog.annotation.ElogTransform;
+import com.engine.salary.annotation.Auth;
+import com.engine.salary.enums.auth.AuthCheckTypeEnum;
import com.engine.salary.enums.datacollection.DataCollectionEmployeeTypeEnum;
import com.engine.salary.enums.siaccount.EmployeeStatusEnum;
import lombok.AllArgsConstructor;
@@ -10,6 +12,7 @@ import lombok.NoArgsConstructor;
import java.util.Collection;
import java.util.Date;
+import java.util.Set;
/**
* @Author: sy
@@ -22,6 +25,7 @@ import java.util.Date;
@AllArgsConstructor
//hrsa_insurance_base_info
@ElogTransform(name = "绂忓埄妗f涓昏〃")
+@Auth(page = "siArchive", checkType = AuthCheckTypeEnum.TAX_EMP, employeeIdField = "employeeId", taxAgentIdField = "paymentOrganization")
public class InsuranceArchivesBaseInfoPO {
/**
* 涓婚敭id
@@ -107,4 +111,7 @@ public class InsuranceArchivesBaseInfoPO {
//---------鏉′欢-------
private Collection ids;
private Collection employeeIds;
+
+
+ private Set opts;
}
diff --git a/src/com/engine/salary/entity/siarchives/po/InsuranceArchivesEmployeePO.java b/src/com/engine/salary/entity/siarchives/po/InsuranceArchivesEmployeePO.java
index 2fb5297ce..9df1f4c3a 100644
--- a/src/com/engine/salary/entity/siarchives/po/InsuranceArchivesEmployeePO.java
+++ b/src/com/engine/salary/entity/siarchives/po/InsuranceArchivesEmployeePO.java
@@ -1,13 +1,16 @@
package com.engine.salary.entity.siarchives.po;
+import com.engine.salary.annotation.Auth;
import com.engine.salary.annotation.I18n;
import com.engine.salary.enums.UserStatusEnum;
+import com.engine.salary.enums.auth.AuthCheckTypeEnum;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
+import java.util.Set;
/**
* @Author weaver_cl
@@ -19,6 +22,7 @@ import java.math.BigDecimal;
@Builder
@NoArgsConstructor
@AllArgsConstructor
+@Auth(page = "siArchive", checkType = AuthCheckTypeEnum.TAX_EMP, taxAgentIdField = "paymentOrganization", employeeIdField = "employeeId")
public class InsuranceArchivesEmployeePO {
private Long employeeId;//鍛樺伐id
@@ -81,4 +85,6 @@ public class InsuranceArchivesEmployeePO {
private Long fundId;
private Long otherId;
+
+ private Set opts;
}
diff --git a/src/com/engine/salary/entity/taxagent/bo/TaxAgentBO.java b/src/com/engine/salary/entity/taxagent/bo/TaxAgentBO.java
index caf20dca6..fa550a4dd 100644
--- a/src/com/engine/salary/entity/taxagent/bo/TaxAgentBO.java
+++ b/src/com/engine/salary/entity/taxagent/bo/TaxAgentBO.java
@@ -2,6 +2,7 @@ package com.engine.salary.entity.taxagent.bo;
import com.engine.salary.constant.SalaryDefaultTenantConstant;
import com.engine.salary.entity.agency.po.PaymentAgencyPO;
+import com.engine.salary.entity.auth.po.AuthRolePO;
import com.engine.salary.entity.datacollection.DataCollectionEmployee;
import com.engine.salary.entity.hrm.DeptInfo;
import com.engine.salary.entity.hrm.HrmStatus;
@@ -83,44 +84,17 @@ public class TaxAgentBO {
// String paymentAgency = SalaryI18nUtil.getI18nLabel(112448, "绀句繚绂忓埄浠g即鏈烘瀯");
String description = SalaryI18nUtil.getI18nLabel(84961, "澶囨敞");
String sortedIndex = SalaryI18nUtil.getI18nLabel(84962, "鏄剧ず椤哄簭");
+
+ columns.add(new Column(name, "name", "name"));
+ columns.add(new Column(employeeRange, "employeeRange", "employeeRange"));
if (isOpenDevolution) {
- columns.add(new Column(name, "name", "name%"));
- columns.add(new Column(employeeRange, "employeeRange", "employeeRange"));
- columns.add(new Column(admins, "admins", "admins%"));
-// columns.add(new Column(subAdmins, "subAdmins", "20%"));
-// columns.add(new Column(paymentAgency, "paymentAgency", "30%"));
- columns.add(new Column(description, "description", "name"));
- columns.add(new Column(sortedIndex, "sortedIndex", "sortedIndex"));
- } else {
- columns.add(new Column(name, "name", "name"));
- columns.add(new Column(employeeRange, "employeeRange", "employeeRange"));
-// columns.add(new WeaTableColumn(paymentAgency, "paymentAgency", "30%"));
- columns.add(new Column(description, "description", "description"));
- columns.add(new Column(sortedIndex, "sortedIndex", "sortedIndex"));
+ columns.add(new Column(admins, "admins", "admins"));
}
+ columns.add(new Column(description, "description", "description"));
+ columns.add(new Column(sortedIndex, "sortedIndex", "sortedIndex"));
listPage.setColumns(columns);
}
-// private static List> getDefaultOperatesPermission(int operateSize, int recordSize) {
-// List> permissionList = Lists.newArrayList();
-// for (int i = 0; i < recordSize; i++) {
-// List permissions = Lists.newArrayList();
-// for (int j = 0; j < operateSize; j++) {
-// permissions.add(new Permission(true, false));
-// }
-// permissionList.add(permissions);
-// }
-// return permissionList;
-// }
-//
-// private static List getDefaultCheckBoxPermission(int recordSize) {
-// List permissionList = Lists.newArrayList();
-// for (int i = 0; i < recordSize; i++) {
-// permissionList.add(new Permission(true, false));
-// }
-// return permissionList;
-// }
-
/**
* 琛ㄦ暟鎹浆鍒楄〃鏁版嵁
*
@@ -146,8 +120,8 @@ public class TaxAgentBO {
* @param taxAgents
* @return
*/
- public static List> convertToTableListDTO(List taxAgents, List paymentAgencyPOS, String setLabel) {
- return convertToTableListDTO(Boolean.FALSE, taxAgents, paymentAgencyPOS, null, null, setLabel);
+ public static List> convertToTableListDTO(List taxAgents, List paymentAgencyPOS) {
+ return convertToTableListDTO(Boolean.FALSE, taxAgents, paymentAgencyPOS, null, null);
}
/**
@@ -157,9 +131,8 @@ public class TaxAgentBO {
* @return
*/
public static List> convertToTableListDTO(List taxAgents, List paymentAgencyPOS, List taxAgentAdmins,
- List adminList,
- String setLabel) {
- return convertToTableListDTO(Boolean.TRUE, taxAgents, paymentAgencyPOS, taxAgentAdmins, adminList, setLabel);
+ List adminList) {
+ return convertToTableListDTO(Boolean.TRUE, taxAgents, paymentAgencyPOS, taxAgentAdmins, adminList);
}
/**
@@ -171,7 +144,7 @@ public class TaxAgentBO {
*/
public static List> convertToTableListDTO(Boolean isDevolution, List taxAgents, List paymentAgencyPOS,
List taxAgentAdmins,
- List adminList, String setLabel) {
+ List adminList) {
if (CollectionUtils.isEmpty(taxAgents)) {
return Collections.emptyList();
}
@@ -180,12 +153,13 @@ public class TaxAgentBO {
Map map = new LinkedHashMap<>();
map.put("id", e.getId());
map.put("name", e.getName());
- map.put("employeeRange", setLabel);
+ map.put("employeeRange", "璁剧疆");
+// map.put("role", rolelistMap.getOrDefault(e.getId(), Collections.emptyList()).stream().map(AuthRolePO::getName).collect(Collectors.joining(",")));
if (isDevolution) {
List empIds = taxAgentAdmins.stream().filter(t -> t.getTaxAgentId().equals(e.getId())).map(TaxAgentAdminPO::getEmployeeId).collect(Collectors.toList());
List admins = adminList.stream().filter(a -> empIds.contains(a.getEmployeeId())).map(DataCollectionEmployee::getUsername).collect(Collectors.toList());
map.put("admins", CollectionUtils.isEmpty(admins) ? "" : Joiner.on(",").join((Iterable>) admins));
- map.put("subAdmins", setLabel);
+ map.put("subAdmins", "璁剧疆");
}
map.put("paymentAgency", buildPaymentAgency(e.getPaymentAgency(), paymentAgencyPOS));
map.put("description", e.getDescription());
@@ -441,7 +415,6 @@ public class TaxAgentBO {
handleResult.getNeedInsertTaxAgentManageRanges().add(taxAgentManageRange);
}
}
-
return handleResult;
}
diff --git a/src/com/engine/salary/entity/taxagent/po/TaxAgentPO.java b/src/com/engine/salary/entity/taxagent/po/TaxAgentPO.java
index 65b688baa..f84602b40 100644
--- a/src/com/engine/salary/entity/taxagent/po/TaxAgentPO.java
+++ b/src/com/engine/salary/entity/taxagent/po/TaxAgentPO.java
@@ -1,6 +1,8 @@
package com.engine.salary.entity.taxagent.po;
import com.engine.hrmelog.annotation.ElogTransform;
+import com.engine.salary.annotation.Auth;
+import com.engine.salary.enums.auth.AuthCheckTypeEnum;
import com.thoughtworks.xstream.annotations.XStreamAlias;
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
import com.thoughtworks.xstream.annotations.XStreamOmitField;
@@ -11,9 +13,10 @@ import lombok.NoArgsConstructor;
import java.util.Collection;
import java.util.Date;
+import java.util.Set;
/**
- * 涓◣鎵g即涔夊姟浜
+ * 涓◣鎵g即涔夊姟浜 hrsa_tax_agent
* Copyright: Copyright (c) 2022
* Company: 娉涘井杞欢
*
@@ -24,10 +27,9 @@ import java.util.Date;
@Builder
@NoArgsConstructor
@AllArgsConstructor
-//hrsa_tax_agent")
-//涓◣鎵g即涔夊姟浜鸿〃")
@ElogTransform(name = "涓◣鎵g即涔夊姟浜")
@XStreamAlias("TaxAgent")
+@Auth(page = "", checkType = AuthCheckTypeEnum.TAX,taxAgentIdField = "id")
public class TaxAgentPO {
/**
@@ -109,4 +111,6 @@ public class TaxAgentPO {
private Collection ids;
+
+ Set opts;
}
diff --git a/src/com/engine/salary/entity/taxdeclaration/bo/TaxDeclarationBO.java b/src/com/engine/salary/entity/taxdeclaration/bo/TaxDeclarationBO.java
index e9500c680..66aec4865 100644
--- a/src/com/engine/salary/entity/taxdeclaration/bo/TaxDeclarationBO.java
+++ b/src/com/engine/salary/entity/taxdeclaration/bo/TaxDeclarationBO.java
@@ -71,6 +71,7 @@ public class TaxDeclarationBO {
.operateEmployeeName(employeeNameMap.getOrDefault(taxDeclarationPO.getCreator(), ""))
.operateTime(SalaryDateUtil.getFormatLocalDateTime(taxDeclarationPO.getCreateTime()))
.description(taxDeclarationPO.getDescription())
+ .opts(taxDeclarationPO.getOpts())
.build();
})
.collect(Collectors.toList());
diff --git a/src/com/engine/salary/entity/taxdeclaration/dto/TaxDeclarationListDTO.java b/src/com/engine/salary/entity/taxdeclaration/dto/TaxDeclarationListDTO.java
index f52ce6a86..5104871b5 100644
--- a/src/com/engine/salary/entity/taxdeclaration/dto/TaxDeclarationListDTO.java
+++ b/src/com/engine/salary/entity/taxdeclaration/dto/TaxDeclarationListDTO.java
@@ -13,6 +13,7 @@ import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
+import java.util.Set;
/**
* 涓◣鐢虫姤璁板綍鍒楄〃
@@ -63,4 +64,7 @@ public class TaxDeclarationListDTO {
@TableTitle(title = "澶囨敞", dataIndex = "description", key = "description")
private String description;
+
+ private Set opts;
+
}
diff --git a/src/com/engine/salary/entity/taxdeclaration/po/TaxDeclarationPO.java b/src/com/engine/salary/entity/taxdeclaration/po/TaxDeclarationPO.java
index 8319f9e4d..7a02a14d2 100644
--- a/src/com/engine/salary/entity/taxdeclaration/po/TaxDeclarationPO.java
+++ b/src/com/engine/salary/entity/taxdeclaration/po/TaxDeclarationPO.java
@@ -1,6 +1,8 @@
package com.engine.salary.entity.taxdeclaration.po;
+import com.engine.salary.annotation.Auth;
import com.engine.salary.common.LocalDateRange;
+import com.engine.salary.enums.auth.AuthCheckTypeEnum;
import com.engine.salary.enums.salarysob.IncomeCategoryEnum;
import lombok.AllArgsConstructor;
import lombok.Builder;
@@ -9,6 +11,7 @@ import lombok.NoArgsConstructor;
import java.util.Collection;
import java.util.Date;
+import java.util.Set;
/**
* 涓◣鐢虫姤璁板綍
@@ -23,6 +26,7 @@ import java.util.Date;
@NoArgsConstructor
@AllArgsConstructor
//hrsa_tax_declaration
+@Auth(page = "taxDeclaration",checkType = AuthCheckTypeEnum.TAX)
public class TaxDeclarationPO {
/**
@@ -88,4 +92,5 @@ public class TaxDeclarationPO {
private Collection taxAgentIds;
+ private Set opts;
}
diff --git a/src/com/engine/salary/enums/auth/AuthCheckTypeEnum.java b/src/com/engine/salary/enums/auth/AuthCheckTypeEnum.java
new file mode 100644
index 000000000..97538076c
--- /dev/null
+++ b/src/com/engine/salary/enums/auth/AuthCheckTypeEnum.java
@@ -0,0 +1,59 @@
+package com.engine.salary.enums.auth;
+
+import com.engine.salary.enums.BaseEnum;
+import com.engine.salary.exception.SalaryRunTimeException;
+
+import java.util.Objects;
+
+/**
+ * 鏉冮檺楠岃瘉鏂瑰紡
+ * Copyright: Copyright (c) 2024
+ * Company: 娉涘井杞欢
+ *
+ * @author qiantao
+ * @version 1.0
+ **/
+public enum AuthCheckTypeEnum implements BaseEnum {
+
+
+ TAX_EMP("TAX_EMP", "鎵g即涔夊姟浜哄拰浜哄憳娣峰悎楠岃瘉", 87627),
+ EMP("EMP", "浜哄憳楠岃瘉", 87626),
+ TAX("TAX", "鎵g即涔夊姟浜洪獙璇", 87626),
+ SOB("SOB", "璐﹀楠岃瘉", 87626);
+
+
+ private String value;
+ private String defaultLabel;
+ private int labelId;
+
+ AuthCheckTypeEnum(String value, String defaultLabel, int labelId) {
+ this.value = value;
+ this.defaultLabel = defaultLabel;
+ this.labelId = labelId;
+ }
+
+
+ @Override
+ public String getValue() {
+ return value;
+ }
+
+ @Override
+ public String getDefaultLabel() {
+ return defaultLabel;
+ }
+
+ @Override
+ public Integer getLabelId() {
+ return labelId;
+ }
+
+ public static AuthCheckTypeEnum parseByValue(String value) {
+ for (AuthCheckTypeEnum typeEnum : AuthCheckTypeEnum.values()) {
+ if (Objects.equals(typeEnum.getValue(), value)) {
+ return typeEnum;
+ }
+ }
+ throw new SalaryRunTimeException("鏈壘鍒板搴旂殑鏋氫妇");
+ }
+}
diff --git a/src/com/engine/salary/enums/auth/AuthFilterTypeEnum.java b/src/com/engine/salary/enums/auth/AuthFilterTypeEnum.java
new file mode 100644
index 000000000..c9af4e243
--- /dev/null
+++ b/src/com/engine/salary/enums/auth/AuthFilterTypeEnum.java
@@ -0,0 +1,59 @@
+package com.engine.salary.enums.auth;
+
+import com.engine.salary.enums.BaseEnum;
+import com.engine.salary.exception.SalaryRunTimeException;
+
+import java.util.Objects;
+
+/**
+ * 鏉冮檺杩囨护
+ * Copyright: Copyright (c) 2024
+ * Company: 娉涘井杞欢
+ *
+ * @author qiantao
+ * @version 1.0
+ **/
+public enum AuthFilterTypeEnum implements BaseEnum {
+
+ DATA_OPT("DATA_OPT", "鏁版嵁&鍔熻兘鏉冮檺", 87626),
+ QUERY_DATA("QUERY_DATA", "鑾峰彇鍙煡璇㈡暟鎹", 87627),
+ ADMIN_DATA("ADMIN_DATA", "鑾峰彇鍙鐞嗘暟鎹", 87627),
+ NO_AUTH("ADMIN_DATA", "鑾峰彇鍙鐞嗘暟鎹", 87627);
+
+
+
+ private String value;
+ private String defaultLabel;
+ private int labelId;
+
+ AuthFilterTypeEnum(String value, String defaultLabel, int labelId) {
+ this.value = value;
+ this.defaultLabel = defaultLabel;
+ this.labelId = labelId;
+ }
+
+
+ @Override
+ public String getValue() {
+ return value;
+ }
+
+ @Override
+ public String getDefaultLabel() {
+ return defaultLabel;
+ }
+
+ @Override
+ public Integer getLabelId() {
+ return labelId;
+ }
+
+ public static AuthFilterTypeEnum parseByValue(String value) {
+ for (AuthFilterTypeEnum typeEnum : AuthFilterTypeEnum.values()) {
+ if (Objects.equals(typeEnum.getValue(), value)) {
+ return typeEnum;
+ }
+ }
+ throw new SalaryRunTimeException("鏈壘鍒板搴旂殑鏋氫妇");
+ }
+}
diff --git a/src/com/engine/salary/enums/auth/DataLinkEnum.java b/src/com/engine/salary/enums/auth/DataLinkEnum.java
new file mode 100644
index 000000000..e99cbf9a6
--- /dev/null
+++ b/src/com/engine/salary/enums/auth/DataLinkEnum.java
@@ -0,0 +1,79 @@
+package com.engine.salary.enums.auth;
+
+import cn.hutool.core.collection.CollectionUtil;
+import com.engine.salary.enums.BaseEnum;
+import com.engine.salary.exception.SalaryRunTimeException;
+
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.Objects;
+import java.util.Set;
+
+/**
+ * 鎴栬呫佸苟涓斻佹帓闄
+ * Copyright: Copyright (c) 2024
+ * Company: 娉涘井杞欢
+ *
+ * @author qiantao
+ * @version 1.0
+ **/
+public enum DataLinkEnum implements BaseEnum {
+
+
+ OR(1, "骞堕泦杩愮畻", 87627) {
+ @Override
+ public Set calculation(Collection coll1, Collection coll2) {
+ return new HashSet<>(CollectionUtil.union(coll1, coll2));
+ }
+ },
+ AND(2, "浜ら泦杩愮畻", 87626) {
+ @Override
+ public Set calculation(Collection coll1, Collection coll2) {
+ return new HashSet<>(CollectionUtil.intersection(coll1, coll2));
+ }
+ },
+ NOT_IN(3, "琛ラ泦杩愮畻", 87626) {
+ @Override
+ public Set calculation(Collection coll1, Collection coll2) {
+ return new HashSet<>(CollectionUtil.disjunction(coll1, coll2));
+ }
+ };
+
+
+ private Integer value;
+ private String defaultLabel;
+ private int labelId;
+
+ DataLinkEnum(Integer value, String defaultLabel, int labelId) {
+ this.value = value;
+ this.defaultLabel = defaultLabel;
+ this.labelId = labelId;
+ }
+
+ public abstract Set calculation(Collection coll1, Collection coll2);
+
+
+ @Override
+ public Integer getValue() {
+ return value;
+ }
+
+ @Override
+ public String getDefaultLabel() {
+ return defaultLabel;
+ }
+
+ @Override
+ public Integer getLabelId() {
+ return labelId;
+ }
+
+ public static DataLinkEnum parseByValue(int value) {
+ for (DataLinkEnum typeEnum : DataLinkEnum.values()) {
+ if (Objects.equals(typeEnum.getValue(), value)) {
+ return typeEnum;
+ }
+ }
+ throw new SalaryRunTimeException("鏈壘鍒板搴旂殑鏋氫妇");
+ }
+}
diff --git a/src/com/engine/salary/enums/auth/DataTargetTypeEnum.java b/src/com/engine/salary/enums/auth/DataTargetTypeEnum.java
new file mode 100644
index 000000000..056b42fd4
--- /dev/null
+++ b/src/com/engine/salary/enums/auth/DataTargetTypeEnum.java
@@ -0,0 +1,176 @@
+package com.engine.salary.enums.auth;
+
+import com.engine.common.service.HrmCommonService;
+import com.engine.common.service.impl.HrmCommonServiceImpl;
+import com.engine.salary.entity.datacollection.DataCollectionEmployee;
+import com.engine.salary.entity.taxagent.po.TaxAgentEmpPO;
+import com.engine.salary.enums.BaseEnum;
+import com.engine.salary.enums.datacollection.UseEmployeeTypeEnum;
+import com.engine.salary.exception.SalaryRunTimeException;
+import com.engine.salary.service.impl.SalaryEmployeeServiceImpl;
+import com.engine.salary.service.impl.TaxAgentEmpServiceImpl;
+import com.engine.salary.util.SalaryEntityUtil;
+import com.google.common.collect.Lists;
+import weaver.conn.RecordSet;
+
+import java.util.*;
+
+/**
+ * 瀵硅薄绫诲瀷锛1锛氫汉鍛樸2锛氶儴闂ㄣ3锛氬矖浣嶃4锛氬垎閮ㄣ5锛氳鑹层6锛氬畨鍏ㄧ骇鍒 銆7锛氭墍鏈変汉 銆8锛氱櫥褰曚汉銆9锛氳处濂椼10锛歴ql
+ * Copyright: Copyright (c) 2024
+ * Company: 娉涘井杞欢
+ *
+ * @author qiantao
+ * @version 1.0
+ **/
+public enum DataTargetTypeEnum implements BaseEnum {
+
+
+ EMP(1, "浜哄憳", 87627) {
+ @Override
+ public Set getEmpIds(String target, Object... param) {
+ Set list = new HashSet<>();
+ list.add(Long.valueOf(target));
+ return list;
+ }
+ },
+ DEPARTMENT(2, "閮ㄩ棬", 87626) {
+ @Override
+ public Set getEmpIds(String target, Object... param) {
+ SalaryEmployeeServiceImpl salaryEmployeeService = new SalaryEmployeeServiceImpl();
+ return new HashSet<>(salaryEmployeeService.listByDepartment(Collections.singletonList(Long.valueOf(target))));
+ }
+ },
+ JOB(3, "宀椾綅", 87626) {
+ @Override
+ public Set getEmpIds(String target, Object... param) {
+ SalaryEmployeeServiceImpl salaryEmployeeService = new SalaryEmployeeServiceImpl();
+ return new HashSet<>(salaryEmployeeService.listByJob(Collections.singletonList(Long.valueOf(target))));
+ }
+ },
+ SUB_COMPANY(4, "鍒嗛儴", 87626) {
+ @Override
+ public Set getEmpIds(String target, Object... param) {
+ SalaryEmployeeServiceImpl salaryEmployeeService = new SalaryEmployeeServiceImpl();
+ return new HashSet<>(salaryEmployeeService.listBySubCompany(Collections.singletonList(Long.valueOf(target))));
+ }
+ },
+ ROLE(5, "瑙掕壊", 87626) {
+ @Override
+ public Set getEmpIds(String target, Object... param) {
+ HrmCommonService hrmCommonService = new HrmCommonServiceImpl();
+ Set memberList = new HashSet<>();
+ List ids = hrmCommonService.getRoleMembers(target, "2");
+ ids.forEach(id -> memberList.add(Long.parseLong(id.toString())));
+ return memberList;
+ }
+ },
+ LEVEL(6, "瀹夊叏绾у埆", 87626) {
+ @Override
+ public Set getEmpIds(String target, Object... param) {
+ String[] split = target.split("-");
+ int minLevel = split[0] == null ? 0 : Integer.parseInt(split[0]);
+ int maxLevel = split[1] == null ? 100 : Integer.parseInt(split[1]);
+ Set memberList = new HashSet<>();
+ RecordSet rs = new RecordSet();
+ if (rs.execute("select id from hrmresource where level between " + minLevel + " and " + maxLevel + " and status not in (7) and (accounttype is null or accounttype = 0) ")) {
+ while (rs.next()) {
+ memberList.add(Long.parseLong(rs.getString("id")));
+ }
+ }
+ return memberList;
+ }
+ },
+// ALL(7, "鎵鏈変汉", 87626) {
+// @Override
+// public Set getEmpIds(String target, Object... param) {
+// Set memberList = new HashSet<>();
+// RecordSet rs = new RecordSet();
+// if (rs.execute("select id from hrmresource where status not in (7) and (accounttype is null or accounttype = 0) ")) {
+// while (rs.next()) {
+// memberList.add(Long.parseLong(rs.getString("id")));
+// }
+// }
+// return memberList;
+// }
+// },
+// LOGIN_PERSON(8, "鐧诲綍浜", 87626) {
+// //鍙傛暟1锛岀櫥褰曚汉淇℃伅
+// @Override
+// public Set getEmpIds(String target, Object... param) {
+// LoginPersonTargetTypeEnum loginPersonTargetTypeEnum = LoginPersonTargetTypeEnum.parseByValue(Integer.parseInt(target));
+// return loginPersonTargetTypeEnum.getEmpIds((DataCollectionEmployee) param[0]);
+// }
+// },
+ SOB(9, "璐﹀", 87626) {
+ @Override
+ public Set getEmpIds(String target, Object... param) {
+ SalaryEmployeeServiceImpl salaryEmployeeService = new SalaryEmployeeServiceImpl();
+ List employeeList = salaryEmployeeService.listBySalarySobId(Long.valueOf(target),true);
+ return SalaryEntityUtil.properties(employeeList, DataCollectionEmployee::getEmployeeId);
+ }
+ },
+ TAX(10, "鎵g即涔夊姟浜", 87626) {
+ @Override
+ public Set getEmpIds(String target, Object... param) {
+ TaxAgentEmpServiceImpl taxAgentEmpServiceImpl = new TaxAgentEmpServiceImpl();
+ List taxIds = Lists.newArrayList(Long.valueOf(target));
+ List taxAgentEmpPOS = taxAgentEmpServiceImpl.listByTaxAgentIds(taxIds, UseEmployeeTypeEnum.ORG);
+ return SalaryEntityUtil.properties(taxAgentEmpPOS, TaxAgentEmpPO::getEmployeeId);
+ }
+ },
+ SQL(11, "SQL", 87626) {
+ @Override
+ public Set getEmpIds(String target, Object... param) {
+ //鍙傛暟1锛岀櫥褰曚汉淇℃伅
+// DataCollectionEmployee employee = (DataCollectionEmployee) param[0];
+// target = target.replaceAll("$uid$", Util.null2String(employee.getEmployeeId()));
+ Set memberList = new HashSet<>();
+ RecordSet rs = new RecordSet();
+ if (rs.execute(target)) {
+ while (rs.next()) {
+ memberList.add(Long.parseLong(rs.getString("id")));
+ }
+ }
+ return memberList;
+ }
+ };
+
+
+ private Integer value;
+ private String defaultLabel;
+ private int labelId;
+
+ DataTargetTypeEnum(Integer value, String defaultLabel, int labelId) {
+ this.value = value;
+ this.defaultLabel = defaultLabel;
+ this.labelId = labelId;
+ }
+
+ public abstract Set getEmpIds(String target, Object... param);
+
+
+ @Override
+ public Integer getValue() {
+ return value;
+ }
+
+ @Override
+ public String getDefaultLabel() {
+ return defaultLabel;
+ }
+
+ @Override
+ public Integer getLabelId() {
+ return labelId;
+ }
+
+ public static DataTargetTypeEnum parseByValue(int value) {
+ for (DataTargetTypeEnum typeEnum : DataTargetTypeEnum.values()) {
+ if (Objects.equals(typeEnum.getValue(), value)) {
+ return typeEnum;
+ }
+ }
+ throw new SalaryRunTimeException("鏈壘鍒板搴旂殑鏋氫妇");
+ }
+}
diff --git a/src/com/engine/salary/enums/auth/LoginPersonTargetTypeEnum.java b/src/com/engine/salary/enums/auth/LoginPersonTargetTypeEnum.java
new file mode 100644
index 000000000..75c97749e
--- /dev/null
+++ b/src/com/engine/salary/enums/auth/LoginPersonTargetTypeEnum.java
@@ -0,0 +1,123 @@
+package com.engine.salary.enums.auth;
+
+import com.engine.salary.entity.datacollection.DataCollectionEmployee;
+import com.engine.salary.enums.BaseEnum;
+import com.engine.salary.exception.SalaryRunTimeException;
+import weaver.conn.RecordSet;
+
+import java.util.*;
+
+/**
+ * 鐧诲綍浜轰俊鎭被鍨
+ * Copyright: Copyright (c) 2024
+ * Company: 娉涘井杞欢
+ *
+ * @author qiantao
+ * @version 1.0
+ **/
+public enum LoginPersonTargetTypeEnum implements BaseEnum {
+
+
+ self(1, "鏈汉", 87627) {
+ @Override
+ public Set getEmpIds(DataCollectionEmployee employee) {
+ Set memberList = new HashSet<>();
+ memberList.add(employee.getEmployeeId());
+ return memberList;
+ }
+ },
+ SUBORDINATE(2, "涓嬪睘", 87626) {
+ @Override
+ public Set getEmpIds(DataCollectionEmployee employee) {
+ String sql = "select id from hrmresource where status not in (7) and (accounttype is null or accounttype = 0) and managerstr like '%," + employee.getEmployeeId() + ",%' and ";
+ Set memberList = new HashSet<>();
+ RecordSet rs = new RecordSet();
+ if (rs.execute(sql)) {
+ while (rs.next()) {
+ memberList.add(Long.parseLong(rs.getString("id")));
+ }
+ }
+ return memberList;
+ }
+ },
+ DEPARTMENT(3, "鏈儴闂", 87626) {
+ @Override
+ public Set getEmpIds(DataCollectionEmployee employee) {
+ String sql = "select id from hrmresource where status not in (7) and (accounttype is null or accounttype = 0) and departmentid =" + employee.getDepartmentId();
+ Set memberList = new HashSet<>();
+ RecordSet rs = new RecordSet();
+ if (rs.execute(sql)) {
+ while (rs.next()) {
+ memberList.add(Long.parseLong(rs.getString("id")));
+ }
+ }
+ return memberList;
+ }
+ },
+ SUB_COMPANY(4, "鏈垎閮", 87626) {
+ @Override
+ public Set getEmpIds(DataCollectionEmployee employee) {
+ String sql = "select id from hrmresource where status not in (7) and (accounttype is null or accounttype = 0) and subcompanyid1 =" + employee.getSubcompanyid();
+ Set memberList = new HashSet<>();
+ RecordSet rs = new RecordSet();
+ if (rs.execute(sql)) {
+ while (rs.next()) {
+ memberList.add(Long.parseLong(rs.getString("id")));
+ }
+ }
+ return memberList;
+ }
+ },
+ JOB(5, "鏈矖浣", 87626) {
+ @Override
+ public Set getEmpIds(DataCollectionEmployee employee) {
+ String sql = "select id from hrmresource where status not in (7) and (accounttype is null or accounttype = 0) and jobtitle =" + employee.getJobtitleId();
+ Set memberList = new HashSet<>();
+ RecordSet rs = new RecordSet();
+ if (rs.execute(sql)) {
+ while (rs.next()) {
+ memberList.add(Long.parseLong(rs.getString("id")));
+ }
+ }
+ return memberList;
+ }
+ };
+
+
+ private Integer value;
+ private String defaultLabel;
+ private int labelId;
+
+ LoginPersonTargetTypeEnum(Integer value, String defaultLabel, int labelId) {
+ this.value = value;
+ this.defaultLabel = defaultLabel;
+ this.labelId = labelId;
+ }
+
+ public abstract Set getEmpIds(DataCollectionEmployee employee);
+
+
+ @Override
+ public Integer getValue() {
+ return value;
+ }
+
+ @Override
+ public String getDefaultLabel() {
+ return defaultLabel;
+ }
+
+ @Override
+ public Integer getLabelId() {
+ return labelId;
+ }
+
+ public static LoginPersonTargetTypeEnum parseByValue(int value) {
+ for (LoginPersonTargetTypeEnum typeEnum : LoginPersonTargetTypeEnum.values()) {
+ if (Objects.equals(typeEnum.getValue(), value)) {
+ return typeEnum;
+ }
+ }
+ throw new SalaryRunTimeException("鏈壘鍒板搴旂殑鏋氫妇");
+ }
+}
diff --git a/src/com/engine/salary/enums/auth/MemberTargetTypeEnum.java b/src/com/engine/salary/enums/auth/MemberTargetTypeEnum.java
new file mode 100644
index 000000000..9c02cfef6
--- /dev/null
+++ b/src/com/engine/salary/enums/auth/MemberTargetTypeEnum.java
@@ -0,0 +1,121 @@
+package com.engine.salary.enums.auth;
+
+import com.engine.common.service.HrmCommonService;
+import com.engine.common.service.impl.HrmCommonServiceImpl;
+import com.engine.salary.enums.BaseEnum;
+import com.engine.salary.exception.SalaryRunTimeException;
+import com.engine.salary.service.impl.SalaryEmployeeServiceImpl;
+import weaver.conn.RecordSet;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+import java.util.Set;
+import java.util.stream.Collectors;
+
+/**
+ * 鎴愬憳绫诲瀷锛1锛氫汉鍛樸2锛氶儴闂ㄣ3锛氬矖浣嶃4锛氬垎閮ㄣ5锛氳鑹层6锛歴ql
+ * Copyright: Copyright (c) 2024
+ * Company: 娉涘井杞欢
+ *
+ * @author qiantao
+ * @version 1.0
+ **/
+public enum MemberTargetTypeEnum implements BaseEnum {
+
+
+ EMP(1, "浜哄憳", 87627) {
+ @Override
+ public List getEmpIds(Set targets) {
+ return targets.stream().map(Long::valueOf).collect(Collectors.toList());
+ }
+ },
+ DEPARTMENT(2, "閮ㄩ棬", 87626) {
+ @Override
+ public List getEmpIds(Set targets) {
+ List deptIds = targets.stream().map(Long::valueOf).collect(Collectors.toList());
+ SalaryEmployeeServiceImpl salaryEmployeeService = new SalaryEmployeeServiceImpl();
+ return salaryEmployeeService.listByDepartment(deptIds);
+ }
+ },
+ JOB(3, "宀椾綅", 87626) {
+ @Override
+ public List getEmpIds(Set targets) {
+ List ids = targets.stream().map(Long::valueOf).collect(Collectors.toList());
+ SalaryEmployeeServiceImpl salaryEmployeeService = new SalaryEmployeeServiceImpl();
+ return salaryEmployeeService.listByJob(ids);
+ }
+ },
+ SUB_COMPANY(4, "鍒嗛儴", 87626) {
+ @Override
+ public List getEmpIds(Set targets) {
+ List ids = targets.stream().map(Long::valueOf).collect(Collectors.toList());
+ SalaryEmployeeServiceImpl salaryEmployeeService = new SalaryEmployeeServiceImpl();
+ return salaryEmployeeService.listBySubCompany(ids);
+ }
+ },
+ ROLE(5, "瑙掕壊", 87626) {
+ @Override
+ public List getEmpIds(Set targets) {
+ HrmCommonService hrmCommonService = new HrmCommonServiceImpl();
+ List memberList = new ArrayList<>();
+ targets.forEach(roleId -> {
+ memberList.addAll(hrmCommonService.getRoleMembers(roleId, "2"));
+ });
+ return memberList.stream().map(id -> Long.parseLong(id.toString())).collect(Collectors.toList());
+ }
+ },
+ SQL(6, "sql", 87626) {
+ @Override
+ public List getEmpIds(Set targets) {
+ List memberList = new ArrayList<>();
+ targets.forEach(sql -> {
+ RecordSet rs = new RecordSet();
+ if (rs.execute(sql)) {
+ while (rs.next()) {
+ memberList.add(Long.parseLong(rs.getString("id")));
+ }
+ }
+ });
+ return memberList;
+ }
+ };
+
+
+ private Integer value;
+ private String defaultLabel;
+ private int labelId;
+
+ MemberTargetTypeEnum(Integer value, String defaultLabel, int labelId) {
+ this.value = value;
+ this.defaultLabel = defaultLabel;
+ this.labelId = labelId;
+ }
+
+ public abstract List getEmpIds(Set targets);
+
+
+ @Override
+ public Integer getValue() {
+ return value;
+ }
+
+ @Override
+ public String getDefaultLabel() {
+ return defaultLabel;
+ }
+
+ @Override
+ public Integer getLabelId() {
+ return labelId;
+ }
+
+ public static MemberTargetTypeEnum parseByValue(int value) {
+ for (MemberTargetTypeEnum typeEnum : MemberTargetTypeEnum.values()) {
+ if (Objects.equals(typeEnum.getValue(), value)) {
+ return typeEnum;
+ }
+ }
+ throw new SalaryRunTimeException("鏈壘鍒板搴旂殑鏋氫妇");
+ }
+}
diff --git a/src/com/engine/salary/enums/auth/ResourceTargetTypeEnum.java b/src/com/engine/salary/enums/auth/ResourceTargetTypeEnum.java
new file mode 100644
index 000000000..d4bfc372d
--- /dev/null
+++ b/src/com/engine/salary/enums/auth/ResourceTargetTypeEnum.java
@@ -0,0 +1,75 @@
+package com.engine.salary.enums.auth;
+
+import com.engine.salary.enums.BaseEnum;
+import com.engine.salary.exception.SalaryRunTimeException;
+import com.engine.salary.service.impl.SalaryEmployeeServiceImpl;
+
+import java.util.List;
+import java.util.Objects;
+import java.util.Set;
+import java.util.stream.Collectors;
+
+/**
+ * 璧勬簮绫诲瀷锛1锛氭墸缂翠箟鍔′汉 2锛氳处濂
+ * Copyright: Copyright (c) 2024
+ * Company: 娉涘井杞欢
+ *
+ * @author qiantao
+ * @version 1.0
+ **/
+public enum ResourceTargetTypeEnum implements BaseEnum {
+
+
+ TAX_AGENT(1, "鎵g即涔夊姟浜", 87627) {
+ @Override
+ public List