Merge branch 'feature/权限' into feature/数据推送

# Conflicts:
#	src/com/engine/salary/service/impl/SalarySobServiceImpl.java
#	src/com/engine/salary/wrapper/SalaryAcctRecordWrapper.java
This commit is contained in:
钱涛 2024-11-15 14:20:51 +08:00
commit 5c4d7d8bde
213 changed files with 9908 additions and 2227 deletions

View File

@ -0,0 +1,113 @@
<?xml version="1.0" encoding="GB2312"?>
<config name="薪酬管理权限" key="salary">
<module name="算薪" key="calculate">
<page name="社保福利档案" key="siArchive">
<opt name="查询" key="query"/>
<opt name="管理" key="admin"/>
</page>
<page name="社保福利台账" key="siAccount">
<opt name="查询" key="query"/>
<opt name="管理" key="admin"/>
</page>
<page name="薪资账套" key="salarySob">
<opt name="查询" key="query"/>
<opt name="管理" key="admin"/>
</page>
<page name="薪资档案" key="salaryArchive">
<opt name="查询" key="query"/>
<opt name="管理" key="admin"/>
</page>
<page name="调薪管理" key="adjustRecord">
<opt name="查询" key="query"/>
<opt name="管理" key="admin"/>
</page>
<page name="薪资核算" key="salaryAcct">
<opt name="查询" key="query"/>
<opt name="管理" key="admin"/>
</page>
<page name="工资单" key="salaryBill">
<opt name="查询" key="query"/>
<opt name="管理" key="admin"/>
</page>
<page name="个税申报" key="taxDeclaration">
<opt name="查询" key="query"/>
<opt name="管理" key="admin"/>
</page>
</module>
<module name="数据采集" key="collection">
<page name="累计专项附加扣除" key="addUpDeduction">
<opt name="查询" key="query"/>
<opt name="管理" key="admin"/>
</page>
<page name="专项附加扣除" key="specialAddDeduction">
<opt name="查询" key="query"/>
<opt name="管理" key="admin"/>
</page>
<page name="其他免税扣除" key="otherDeduction">
<opt name="查询" key="query"/>
<opt name="管理" key="admin"/>
</page>
<page name="往期累计情况" key="addUpSituation">
<opt name="查询" key="query"/>
<opt name="管理" key="admin"/>
</page>
<page name="考勤引用" key="attendQuote">
<opt name="查询" key="query"/>
<opt name="管理" key="admin"/>
</page>
<page name="浮动数据" key="variableArchive">
<opt name="查询" key="query"/>
<opt name="管理" key="admin"/>
</page>
</module>
<module name="报表" key="report">
<page name="报表" key="report">
<opt name="查询" key="query"/>
<opt name="管理" key="admin"/>
</page>
</module>
<module name="设置" key="config">
<page name="个税扣缴义务人" key="taxAgent">
<opt name="查询" key="query"/>
<opt name="管理" key="admin"/>
</page>
<page name="社保福利方案" key="siScheme">
<opt name="查询" key="query"/>
<opt name="管理" key="admin"/>
</page>
<page name="薪资项目管理" key="salaryItem">
<opt name="查询" key="query"/>
<opt name="管理" key="admin"/>
</page>
<page name="字段管理" key="salaryField">
<opt name="查询" key="query"/>
<opt name="管理" key="admin"/>
</page>
</module>
</config>

View File

@ -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 ;
/

View File

@ -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;
/

View File

@ -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)
);
/

View File

@ -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 ;
/

View File

@ -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;
/

View File

@ -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)
);
/

View File

@ -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 ;
/

View File

@ -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;
/

View File

@ -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)
);
/

View File

@ -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
;

View File

@ -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
;

View File

@ -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
) ;

View File

@ -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
/

View File

@ -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
/

View File

@ -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)
)
/

View File

@ -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 ;
/

View File

@ -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
;

View File

@ -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)
) ;

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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 ;
/

View File

@ -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;
/

View File

@ -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)
);
/

View File

@ -20,10 +20,27 @@ where item.name = '工资薪金合计'
# 获取档案信息
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=扣缴义务人名称
and c.name='基本工资' order by effective_time desc
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=扣缴义务人名称
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'

View File

@ -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 {
}

View File

@ -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;
/**
* 权限验证字段
* <p>Copyright: Copyright (c) 2022</p>
* <p>Company: 泛微软件</p>
*
* @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";
}

View File

@ -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;
/**
* 权限验证字段
* <p>Copyright: Copyright (c) 2022</p>
* <p>Company: 泛微软件</p>
*
* @author qiantao
* @version 1.0
**/
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface AuthField {
String fieldType();
}

View File

@ -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;
/**
* 权限验证字段
* <p>Copyright: Copyright (c) 2022</p>
* <p>Company: 泛微软件</p>
*
* @author qiantao
* @version 1.0
**/
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface AuthOpt {
}

View File

@ -96,7 +96,9 @@ public class AddUpDeductionBiz extends BaseBean {
try {
AddUpDeductionMapper mapper = sqlSession.getMapper(AddUpDeductionMapper.class);
List<AddUpDeductionRecordDTO> addUpDeductionRecordStrDTOS = mapper.recordList(param);
return encryptUtil.decryptList(addUpDeductionRecordStrDTOS, AddUpDeductionRecordDTO.class);
encryptUtil.decryptList(addUpDeductionRecordStrDTOS, AddUpDeductionRecordDTO.class);
SalaryI18nUtil.i18nList(addUpDeductionRecordStrDTOS);
return addUpDeductionRecordStrDTOS;
} finally {
sqlSession.close();
}

View File

@ -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<AddUpSituationDTO> list(AddUpSituationQueryParam param) {
SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession();
try {
AddUpSituationMapper mapper = sqlSession.getMapper(AddUpSituationMapper.class);
List<AddUpSituationDTO> list = mapper.list(param);
encryptUtil.decryptList(list, AddUpSituationDTO.class);
return SalaryI18nUtil.i18nList(list);
} finally {
sqlSession.close();
}
}
/**
* 条件查询

View File

@ -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 ;
}

View File

@ -317,4 +317,9 @@ public class SalaryElogConfig {
* @return
*/
public static LoggerTemplate salaryStatReportLoggerTemplate = LoggerTemplateBuilder.build("hrsa", "statreport");
/**
* 业务线
*/
public static LoggerTemplate authLinkLoggerTemplate = LoggerTemplateBuilder.build("hrsa", "authlink");
}

View File

@ -1,7 +1,7 @@
package com.engine.salary.constant;
/**
* 默认租户
* 默认租户key
* <p>Copyright: Copyright (c) 2024</p>
* <p>Company: 泛微软件</p>
*

View File

@ -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;
}

View File

@ -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<RoleLimit> roleLimits;
}

View File

@ -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;
}

View File

@ -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<Module> modules;
@Data
public static class Module {
@XStreamAlias("name")
@XStreamAsAttribute
private String name;
@XStreamAlias("key")
@XStreamAsAttribute
private String key;
@XStreamImplicit(itemFieldName = "page")
private List<Page> 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<Opt> opts;
@Data
public static class Opt {
@XStreamAlias("name")
@XStreamAsAttribute
private String name;
@XStreamAlias("key")
@XStreamAsAttribute
private String key;
@XStreamAlias("able")
@XStreamAsAttribute
private boolean able;
}
}
}
}

View File

@ -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;
/**
* 扣缴义务人资源
*/
private List<TaxAgentPO> taxAgentIds;
/**
* 账套资源
*/
private List<SalarySobPO> 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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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<Role> roles;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public static class Role {
private Long roleId;
private String roleName;
private List<Resource> resources;
private List<Opt> opts;
private List<Data> 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;
}
}
}

View File

@ -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<String> opts;
}

View File

@ -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;
}

View File

@ -0,0 +1,5 @@
package com.engine.salary.entity.auth.dto;
public class PermissionDTO {
}

View File

@ -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<Long> sobIds;
}

View File

@ -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<String> opts;
}

View File

@ -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<EmpOpt> emps;
}

View File

@ -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<String> opts;
}

View File

@ -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;
}

View File

@ -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;
/**
* 数据
* <p>Copyright: Copyright (c) 2024</p>
* <p>Company: 泛微软件</p>
*
* @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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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<Opt> opts;
@Data
public static class Opt {
private String page;
private String opt;
}
}

View File

@ -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;
/**
* 业务线id
*/
private List<Long> roleIds;
/**
* 扣缴义务人资源
*/
private List<Long> taxAgentIds;
/**
* 账套资源
*/
private List<Long> sobIds;
/**
* 成员id
*/
private List<Long> roleEmpIds;
/**
* 权限页面
*/
private List<String> pages;
/**
* 权限项
*/
private List<String> opts;
/**
* 数据id
*/
private List<Long> employeeIds;
}

View File

@ -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;
/**
* 扣缴义务人资源
*/
private List<TaxAgentPO> taxAgentIds;
/**
* 账套资源
*/
private List<SalarySobPO> sobIds;
}

View File

@ -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;
}

View File

@ -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<Long> roleIds;
private List<Long> employeeIds;
private List<String> pages;
private List<String> opts;
}

View File

@ -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账套10sql
*/
@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<Long> ids;
}

View File

@ -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角色6sql
*/
@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<Long> ids;
}

View File

@ -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<Long> ids;
}

View File

@ -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<Long> ids;
}

View File

@ -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<Long> ids;
}

View File

@ -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<Long> ids;
}

View File

@ -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<Long> ids;
}

View File

@ -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;
/**
* 是否扣缴义务人管理员
*/
private Boolean isAdminEnable;
/**
* 当前页面是否有权限
*/
private boolean able;
/**
* 权限项
*/
private List<String> opts;
}

View File

@ -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<Long> employeeIds;
Collection<Long> taxAgentIds;
private Set<String> opts;
}

View File

@ -8,7 +8,7 @@ import com.engine.salary.entity.datacollection.param.VariableArchiveImportHandle
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;
@ -178,7 +178,7 @@ public class VariableArchiveExcelBO extends Service {
// 个税扣缴义务人
String taxAgentCellVal = Optional.ofNullable(map.get(taxAgentI18n)).orElse("").toString();
map.put("taxAgent", taxAgentCellVal);
Optional<TaxAgentManageRangeEmployeeDTO> optionalTaxAgent = importHandleParam.getTaxAgentList().stream().filter(m -> m.getTaxAgentName().equals(taxAgentCellVal)).findFirst();
Optional<TaxAgentPO> optionalTaxAgent = importHandleParam.getTaxAgentList().stream().filter(m -> m.getName().equals(taxAgentCellVal)).findFirst();
if (!optionalTaxAgent.isPresent()) {
Map<String, String> errorMessageMap = Maps.newHashMap();
errorMessageMap.put("message", rowindex + "个税扣缴义务人不存在,或不在权限范围内");
@ -186,12 +186,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<String, String> errorMessageMap = Maps.newHashMap();
errorMessageMap.put("message", rowindex + "存在重复数据");

View File

@ -9,6 +9,8 @@ import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Set;
/**
* 数据采集-累计专项附加扣除
* <p>Copyright: Copyright (c) 2022</p>
@ -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<String> opts;
}

View File

@ -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<String> opts;
}

View File

@ -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<String> opts;
}

View File

@ -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;
/**
* 数据采集-其他免税扣除列表
* <p>Copyright: Copyright (c) 2022</p>
@ -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<String> opts;
}

View File

@ -8,6 +8,8 @@ import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Set;
/**
* 数据采集-专项附加扣除列表
* <p>Copyright: Copyright (c) 2022</p>
@ -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 {
@ -131,7 +134,7 @@ public class SpecialAddDeductionListDTO {
@Encrypt
private String infantCare;
@SalaryTableColumn(text = "操作", width = "20%", column = "operate")
@TableTitle(title = "操作", dataIndex = "operate", key = "operate")
private String operate;
@SalaryTableColumn(text = "操作", width = "20%", column = "opts")
@TableTitle(title = "操作", dataIndex = "opts", key = "opts")
private Set<String> opts;
}

View File

@ -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

View File

@ -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;
/**
* 浮动薪资档案列表
@ -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<String> opts;
}

View File

@ -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<TaxAgentManageRangeEmployeeDTO> taxAgentList;
Collection<TaxAgentPO> taxAgentList;
/**
* 当前时间

View File

@ -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 = "其他免税扣除")
@Auth(page = "otherDeduction")
public class OtherDeductionPO {
/**

View File

@ -120,55 +120,36 @@ public class SalaryBillBO {
/**
* 构建工资单中的人员信息
*
* @param simpleEmployee
*/
public static void buildEmployeeInfo(SalaryBillSendDTO salaryBillSendParam, DataCollectionEmployee simpleEmployee) {
public static void buildEmployeeInfo(SalaryBillSendDTO salaryBillSendParam, Map<String, Object> empInfo) {
SalaryTemplateSalaryItemSetListDTO employeeInformation = salaryBillSendParam.getEmployeeInformation();
Map<String, String> 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<SalaryTemplateSalaryItemListDTO> items = employeeInformation.getItems();
// 1.SalaryAcctResultBO.buildEmployeeFieldName()的取法
// Set<Map.Entry<String, String>> entries = employeeField.entrySet();
// for (SalaryTemplateSalaryItemListDTO e : items) {
// Optional<Map.Entry<String, String>> 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);
}
}

View File

@ -59,7 +59,7 @@ public class SalaryBillSendDTO {
private String picUrl;
//扣缴义务人名称
private String taxAgentName;
// private String taxAgentName;
//工资单模板-薪资项目设置
private List<SalaryTemplateSalaryItemSetListDTO> salaryItemSetList;

View File

@ -44,6 +44,7 @@ public class SalarySendDetailListDTO {
// 个税扣缴义务人")
private String taxAgent;
private Long taxAgentId;
// 部门")
@I18n

View File

@ -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;
// 工资单模板Id")
// 工资单模板Id")
// 工资单模板Id
@SalaryTableColumn(text = "工资单模板id", 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<String> opts;
}

View File

@ -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<String> opts;
}

View File

@ -253,7 +253,7 @@ public class CalculateFormulaVarBO {
}
private void handleVariableArchiveData(SalaryAcctCalculateBO salaryAcctCalculateBO, Map<String, List<FormulaVarValue>> resultMap) {
Map<String, Map<String, Object>> variableArchiveMap = SalaryEntityUtil.convert2Map(variableArchiveList, map -> map.getOrDefault("taxAgentIds", "").toString() + "-" + map.getOrDefault("employeeId", "").toString());
Map<String, Map<String, Object>> variableArchiveMap = SalaryEntityUtil.convert2Map(variableArchiveList, map -> map.getOrDefault("taxAgentId", "").toString() + "-" + map.getOrDefault("employeeId", "").toString());
// 填充到返回结果集中
for (SalaryAcctEmployeePO salaryAcctEmployeePO : salaryAcctCalculateBO.getSalaryAcctEmployeePOS()) {
List<FormulaVarValue> formulaVarValues = resultMap.computeIfAbsent(salaryAcctEmployeePO.getEmployeeId() + "_" + salaryAcctEmployeePO.getTaxAgentId(),

View File

@ -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());
}

View File

@ -274,71 +274,79 @@ public class SalaryAcctResultBO {
}
SalaryI18nUtil.i18nList(salaryAcctEmployees);
Map<Long, DataCollectionEmployee> employeeMap = SalaryEntityUtil.convert2Map(simpleEmployees, DataCollectionEmployee::getEmployeeId);
Map<Long, List<SalaryAcctResultPO>> acctResultMap = SalaryEntityUtil.group2Map(salaryAccountingResults, SalaryAcctResultPO::getEmployeeId);
Map<Long, String> taxAgentNameMap = SalaryEntityUtil.convert2Map(taxAgents, TaxAgentPO::getId, TaxAgentPO::getName);
return salaryAcctEmployees.stream().map(e -> {
Map<Long, Object> resultValueMap = SalaryEntityUtil.convert2Map(acctResultMap.getOrDefault(e.getEmployeeId(), Collections.emptyList()),
SalaryAcctResultPO::getSalaryItemId, SalaryAcctResultPO::getResultValue);
// 薪资项目的值
Map<String, Object> map = SalaryEntityUtil.convert2Map(salaryItems, o -> "" + o.getId(), o -> resultValueMap.getOrDefault(o.getId(), StringUtils.EMPTY));
// 薪资项目的字段类型前端依据这个判断是否需要展示千分位
Map<String, String> dataTypeMap = SalaryEntityUtil.convert2Map(salaryItems, salaryItemPO -> salaryItemPO.getId() + DATA_TYPE_SUFFIX, SalaryItemPO::getDataType);
map.putAll(dataTypeMap);
// 人员信息字段的值
Map<String, String> 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<Long, List<SalaryAcctEmployeePO>> taxAcctEmpsMap = SalaryEntityUtil.group2Map(salaryAcctEmployees, SalaryAcctEmployeePO::getTaxAgentId);
Map<Long, List<SalaryAcctResultPO>> taxAcctResultMap = SalaryEntityUtil.group2Map(salaryAccountingResults, SalaryAcctResultPO::getTaxAgentId);
List<Map<String, Object>> result = new ArrayList<>();
for (Long taxAgentId : taxAcctEmpsMap.keySet()) {
Map<Long, List<SalaryAcctResultPO>> acctResultMap = SalaryEntityUtil.group2Map(taxAcctResultMap.get(taxAgentId), SalaryAcctResultPO::getEmployeeId);
List<Map<String, Object>> collect = taxAcctEmpsMap.get(taxAgentId).stream().map(e -> {
Map<Long, Object> resultValueMap = SalaryEntityUtil.convert2Map(acctResultMap.getOrDefault(e.getEmployeeId(), Collections.emptyList()),
SalaryAcctResultPO::getSalaryItemId, SalaryAcctResultPO::getResultValue);
// 薪资项目的值
Map<String, Object> map = SalaryEntityUtil.convert2Map(salaryItems, o -> "" + o.getId(), o -> resultValueMap.getOrDefault(o.getId(), StringUtils.EMPTY));
// 薪资项目的字段类型前端依据这个判断是否需要展示千分位
Map<String, String> dataTypeMap = SalaryEntityUtil.convert2Map(salaryItems, salaryItemPO -> salaryItemPO.getId() + DATA_TYPE_SUFFIX, SalaryItemPO::getDataType);
map.putAll(dataTypeMap);
// 人员信息字段的值
Map<String, String> 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());
// 个税扣缴义务人
String taxAgentName = taxAgentNameMap.getOrDefault(e.getTaxAgentId(), StringUtils.EMPTY);
map.put("taxAgentName", taxAgentName);
// 是否属于"合并计税"的标记
map.put("consolidatedTaxation", StringUtils.isNotEmpty(taxAgentName) && consolidatedTaxSalaryAcctEmpIds.contains(e.getId()));
// 个税扣缴义务人的字段类型
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());
// 个税扣缴义务人
String taxAgentName = taxAgentNameMap.getOrDefault(e.getTaxAgentId(), StringUtils.EMPTY);
map.put("taxAgentName", taxAgentName);
// 是否属于"合并计税"的标记
map.put("consolidatedTaxation", StringUtils.isNotEmpty(taxAgentName) && consolidatedTaxSalaryAcctEmpIds.contains(e.getId()));
// 个税扣缴义务人的字段类型
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;
}
/**

View File

@ -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 = "个税扣缴义务人", 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 = "个税扣缴义务人", 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<WeaTableOperate> operate;
private Set<String> opts;
}

View File

@ -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 {
/**

View File

@ -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 {
/**
@ -123,6 +127,8 @@ public class SalaryAcctRecordPO {
@ElogTransform( name = "更新时间" )
private Date updateTime;
private Long taxAgentId;
/**
* 审批流程id
*/
@ -139,6 +145,9 @@ public class SalaryAcctRecordPO {
@Deprecated
private List<Long> lockSalaryItemIds;
private Set<String> opts;
//查询条件-------------------------------
Collection<Long> ids;

View File

@ -106,75 +106,6 @@ public class SalaryArchiveBO {
LocalDateRange localDateRange,
List<Long> allEmployeeIds,
boolean isOnlyTaxAgent) {
// // 开始日期
// Date start = localDateRange.getFromDate();
// // 结束日期
// Date end = localDateRange.getEndDate();
//
// List<SalaryArchiveDataDTO> list = new ArrayList<>();
// allEmployeeIds.forEach(e -> {
// // 同一个人的档案数据
// List<SalaryArchivePO> salaryArchives = salaryArchiveList.stream().filter(f -> f.getEmployeeId().equals(e)).collect(Collectors.toList());
// List<Long> salaryArchiveIds = salaryArchives.stream().map(SalaryArchivePO::getId).collect(Collectors.toList());
// // 同一个人的薪资项目调整历史数据
// List<SalaryArchiveItemPO> salaryArchiveItems = salaryArchiveItemDataList.stream().filter(d -> salaryArchiveIds.contains(d.getSalaryArchiveId())).collect(Collectors.toList());
// List<Long> salaryArchiveItemIds = salaryArchiveItems.stream().map(SalaryArchiveItemPO::getSalaryItemId).distinct().collect(Collectors.toList());
//
// SalaryArchiveDataDTO salaryArchiveData = new SalaryArchiveDataDTO();
// salaryArchiveData.setEmployeeId(e);
// List<SalaryArchiveTaxAgentDataDTO> 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<SalaryArchiveItemDataDTO> 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();

View File

@ -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;
/**
* 薪资档案列表
@ -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 = "个税扣缴义务人", 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<String> opts;
}

View File

@ -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;
/**
* 薪资档案
@ -29,6 +31,7 @@ import java.util.List;
@AllArgsConstructor
//hrsa_salary_archive
@ElogTransform(name = "薪资档案")
@Auth(page = "salaryArchive")
public class SalaryArchivePO {
/**
@ -136,4 +139,6 @@ public class SalaryArchivePO {
*/
@JsonIgnore
private List<String> runStatusList;
private Set<String> opts;
}

View File

@ -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转换成列表dto
*
* @param salarySobs 薪资账套po
* @return
*/
public static List<SalarySobListDTO> convert2ListDTO(Collection<SalarySobPO> salarySobs,Map<Long, String> 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());
}
/**
* 解析薪资账套列表的薪资周期
*
* @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());
}

View File

@ -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;
/**
* 扣缴义务人
*/
private List<Long> taxAgentIds;
/**
* 薪资类型

View File

@ -12,6 +12,9 @@ import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
import java.util.Set;
/**
* 薪资账套列表
* <p>Copyright: Copyright (c) 2022</p>
@ -47,7 +50,7 @@ public class SalarySobListDTO {
private String taxAgentName;
// 个税扣缴义务人ID
private Long taxAgentId;
private List<Long> 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<String> opts;
}

View File

@ -9,6 +9,8 @@ import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
* 薪资账套保存参数
@ -36,8 +38,7 @@ public class SalarySobBasicSaveParam {
/**
* 个税扣缴义务人的主键id
*/
@DataCheck(require = true, message = "个税扣缴义务人的主键id不允许为空")
private Long taxAgentId;
private List<Long> taxAgentIds;
/**
* 薪资类型不允许为空

View File

@ -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;
/**
* 薪资账套复制参数
* <p>Copyright: Copyright (c) 2022</p>
@ -27,9 +29,5 @@ public class SalarySobDuplicateParam {
@DataCheck(require = true, max = 40, message = "名称不允许为空且名称不能超过40个字符长度")
private String name;
/**
* 个税扣缴义务人id
*/
@DataCheck(require = true, message = "个税扣缴义务人不允许为空")
private Long taxAgentId;
private List<Long> taxAgentIds;
}

View File

@ -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
*/
* 账套查询
* <p>Copyright: Copyright (c) 2024</p>
* <p>Company: 泛微软件</p>
*
* @author qiantao
* @version 1.0
**/
@Data
@EqualsAndHashCode(callSuper = true)
public class SalarySobListQueryParam extends BaseQueryParam {

View File

@ -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;
/**
* 扣缴义务人id
*/
private Long taxAgentId;
private List<Long> taxAgentIds;
/**
* 数据过滤级别
*/
private AuthFilterTypeEnum filterType;
}

View File

@ -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,11 @@ public class SalarySobPO {
@ElogTransform( name="个税扣缴义务人id" )
@XStreamAlias("taxAgentId")
@XStreamAsAttribute
@Deprecated
private Long taxAgentId;
List<Long> taxAgentIds;
/**
* 应税项目1:正常工资薪金所得
*/
@ -172,6 +180,8 @@ public class SalarySobPO {
private String tenantKey;
Collection<Long> ids;
Collection<Long> taxAgentIds;
private Set<String> opts;
}

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