diff --git a/resource/WEB-INF/prop/hrmSalary.properties b/resource/WEB-INF/prop/hrmSalary.properties index 9d28cdcde..11d134f08 100644 --- a/resource/WEB-INF/prop/hrmSalary.properties +++ b/resource/WEB-INF/prop/hrmSalary.properties @@ -1,5 +1,5 @@ log=false defaultCloseNonStandard149=true AESEncryptScrect=990EB004A1C862721C1513AE90038C9E -version=2.14.1.240514.01 +version=2.14.2.240530.02 openFormulaForcedEditing=false \ No newline at end of file diff --git a/resource/sqlupgrade/DM/sql202404260903.sql b/resource/sqlupgrade/DM/sql202404260903.sql new file mode 100644 index 000000000..8e4f496a6 --- /dev/null +++ b/resource/sqlupgrade/DM/sql202404260903.sql @@ -0,0 +1,19 @@ +create table hrsa_salary_acct_sob_config +( + id number primary key , + create_time date, + update_time date, + creator number, + delete_type int default 0, + tenant_key varchar2(10), + salary_acct_record_id number, + basic_config clob, + employee_field_config clob, + item_config clob, + item_group_config clob, + back_item_config clob, + adjust_rule_config clob, + check_rule_config clob +); +/ + diff --git a/resource/sqlupgrade/DM/sql202404290103.sql b/resource/sqlupgrade/DM/sql202404290103.sql new file mode 100644 index 000000000..64ed7e662 --- /dev/null +++ b/resource/sqlupgrade/DM/sql202404290103.sql @@ -0,0 +1,6 @@ +ALTER TABLE hrsa_salary_sob_item ADD item_hide NUMBER(20,0); +/ + +ALTER TABLE hrsa_salary_sob_item_group ADD item_hide NUMBER(20,0); +/ + diff --git a/resource/sqlupgrade/DM/sql202404290603.sql b/resource/sqlupgrade/DM/sql202404290603.sql new file mode 100644 index 000000000..6a05dfadf --- /dev/null +++ b/resource/sqlupgrade/DM/sql202404290603.sql @@ -0,0 +1,12 @@ +update hrsa_salary_sob_item set item_hide = 0; +/ + +update hrsa_salary_sob_item_group set item_hide = 0; +/ + +UPDATE hrsa_salary_sob_item a SET item_hide = (SELECT b.item_hide FROM hrsa_salary_item_hide b WHERE a.salary_item_id = b.salary_item_id and a.salary_sob_id = b.salary_sob_id and a.delete_type=0 and b.delete_type=0 ) WHERE EXISTS (SELECT 1 FROM hrsa_salary_item_hide b WHERE b.item_hide = a.item_hide); +/ + +UPDATE hrsa_salary_sob_item_group a SET item_hide = (SELECT b.item_hide FROM hrsa_salary_item_hide b WHERE a.id = b.salary_item_id and a.salary_sob_id = b.salary_sob_id and a.delete_type=0 and b.delete_type=0 ) WHERE EXISTS (SELECT 1 FROM hrsa_salary_item_hide b WHERE b.item_hide = a.item_hide); +/ + diff --git a/resource/sqlupgrade/DM/sql202405280703.sql b/resource/sqlupgrade/DM/sql202405280703.sql new file mode 100644 index 000000000..905ff7b4f --- /dev/null +++ b/resource/sqlupgrade/DM/sql202405280703.sql @@ -0,0 +1,3 @@ +ALTER TABLE hrsa_salary_acct_emp ADD lock_status NUMBER(11, 0); +/ + diff --git a/resource/sqlupgrade/GS/sql202404260903.sql b/resource/sqlupgrade/GS/sql202404260903.sql new file mode 100644 index 000000000..8e4f496a6 --- /dev/null +++ b/resource/sqlupgrade/GS/sql202404260903.sql @@ -0,0 +1,19 @@ +create table hrsa_salary_acct_sob_config +( + id number primary key , + create_time date, + update_time date, + creator number, + delete_type int default 0, + tenant_key varchar2(10), + salary_acct_record_id number, + basic_config clob, + employee_field_config clob, + item_config clob, + item_group_config clob, + back_item_config clob, + adjust_rule_config clob, + check_rule_config clob +); +/ + diff --git a/resource/sqlupgrade/GS/sql202404290103.sql b/resource/sqlupgrade/GS/sql202404290103.sql new file mode 100644 index 000000000..64ed7e662 --- /dev/null +++ b/resource/sqlupgrade/GS/sql202404290103.sql @@ -0,0 +1,6 @@ +ALTER TABLE hrsa_salary_sob_item ADD item_hide NUMBER(20,0); +/ + +ALTER TABLE hrsa_salary_sob_item_group ADD item_hide NUMBER(20,0); +/ + diff --git a/resource/sqlupgrade/GS/sql202404290603.sql b/resource/sqlupgrade/GS/sql202404290603.sql new file mode 100644 index 000000000..6a05dfadf --- /dev/null +++ b/resource/sqlupgrade/GS/sql202404290603.sql @@ -0,0 +1,12 @@ +update hrsa_salary_sob_item set item_hide = 0; +/ + +update hrsa_salary_sob_item_group set item_hide = 0; +/ + +UPDATE hrsa_salary_sob_item a SET item_hide = (SELECT b.item_hide FROM hrsa_salary_item_hide b WHERE a.salary_item_id = b.salary_item_id and a.salary_sob_id = b.salary_sob_id and a.delete_type=0 and b.delete_type=0 ) WHERE EXISTS (SELECT 1 FROM hrsa_salary_item_hide b WHERE b.item_hide = a.item_hide); +/ + +UPDATE hrsa_salary_sob_item_group a SET item_hide = (SELECT b.item_hide FROM hrsa_salary_item_hide b WHERE a.id = b.salary_item_id and a.salary_sob_id = b.salary_sob_id and a.delete_type=0 and b.delete_type=0 ) WHERE EXISTS (SELECT 1 FROM hrsa_salary_item_hide b WHERE b.item_hide = a.item_hide); +/ + diff --git a/resource/sqlupgrade/GS/sql202405280703.sql b/resource/sqlupgrade/GS/sql202405280703.sql new file mode 100644 index 000000000..905ff7b4f --- /dev/null +++ b/resource/sqlupgrade/GS/sql202405280703.sql @@ -0,0 +1,3 @@ +ALTER TABLE hrsa_salary_acct_emp ADD lock_status NUMBER(11, 0); +/ + diff --git a/resource/sqlupgrade/JC/sql202404260903.sql b/resource/sqlupgrade/JC/sql202404260903.sql new file mode 100644 index 000000000..8e4f496a6 --- /dev/null +++ b/resource/sqlupgrade/JC/sql202404260903.sql @@ -0,0 +1,19 @@ +create table hrsa_salary_acct_sob_config +( + id number primary key , + create_time date, + update_time date, + creator number, + delete_type int default 0, + tenant_key varchar2(10), + salary_acct_record_id number, + basic_config clob, + employee_field_config clob, + item_config clob, + item_group_config clob, + back_item_config clob, + adjust_rule_config clob, + check_rule_config clob +); +/ + diff --git a/resource/sqlupgrade/JC/sql202404290103.sql b/resource/sqlupgrade/JC/sql202404290103.sql new file mode 100644 index 000000000..64ed7e662 --- /dev/null +++ b/resource/sqlupgrade/JC/sql202404290103.sql @@ -0,0 +1,6 @@ +ALTER TABLE hrsa_salary_sob_item ADD item_hide NUMBER(20,0); +/ + +ALTER TABLE hrsa_salary_sob_item_group ADD item_hide NUMBER(20,0); +/ + diff --git a/resource/sqlupgrade/JC/sql202404290603.sql b/resource/sqlupgrade/JC/sql202404290603.sql new file mode 100644 index 000000000..6a05dfadf --- /dev/null +++ b/resource/sqlupgrade/JC/sql202404290603.sql @@ -0,0 +1,12 @@ +update hrsa_salary_sob_item set item_hide = 0; +/ + +update hrsa_salary_sob_item_group set item_hide = 0; +/ + +UPDATE hrsa_salary_sob_item a SET item_hide = (SELECT b.item_hide FROM hrsa_salary_item_hide b WHERE a.salary_item_id = b.salary_item_id and a.salary_sob_id = b.salary_sob_id and a.delete_type=0 and b.delete_type=0 ) WHERE EXISTS (SELECT 1 FROM hrsa_salary_item_hide b WHERE b.item_hide = a.item_hide); +/ + +UPDATE hrsa_salary_sob_item_group a SET item_hide = (SELECT b.item_hide FROM hrsa_salary_item_hide b WHERE a.id = b.salary_item_id and a.salary_sob_id = b.salary_sob_id and a.delete_type=0 and b.delete_type=0 ) WHERE EXISTS (SELECT 1 FROM hrsa_salary_item_hide b WHERE b.item_hide = a.item_hide); +/ + diff --git a/resource/sqlupgrade/JC/sql202405280703.sql b/resource/sqlupgrade/JC/sql202405280703.sql new file mode 100644 index 000000000..905ff7b4f --- /dev/null +++ b/resource/sqlupgrade/JC/sql202405280703.sql @@ -0,0 +1,3 @@ +ALTER TABLE hrsa_salary_acct_emp ADD lock_status NUMBER(11, 0); +/ + diff --git a/resource/sqlupgrade/Mysql/sql202404260903.sql b/resource/sqlupgrade/Mysql/sql202404260903.sql new file mode 100644 index 000000000..163981fec --- /dev/null +++ b/resource/sqlupgrade/Mysql/sql202404260903.sql @@ -0,0 +1,18 @@ +create table hrsa_salary_acct_sob_config +( + id bigint primary key comment 'ID' , + create_time datetime comment '����ʱ��' , + update_time datetime comment '�޸�ʱ��' , + creator bigint comment '������id' , + delete_type int default 0 comment '�Ƿ�ɾ��' , + tenant_key varchar(10) comment '�⻧KEY' , + salary_acct_record_id bigint comment 'н�ʺ����¼��id' , + basic_config text comment 'н�����׵Ļ�����Ϣ' , + employee_field_config text comment 'н�����׵�Ա����Ϣ�ֶ�' , + item_config text comment 'н�����׵�н����Ŀ' , + item_group_config text comment 'н�����׵�н����Ŀ����' , + back_item_config text comment 'н����Ŀ�Ļ���н����Ŀ' , + adjust_rule_config text comment 'н����Ŀ�ĵ�н����' , + check_rule_config text comment 'н����Ŀ��У�����' +) +; \ No newline at end of file diff --git a/resource/sqlupgrade/Mysql/sql202404290103.sql b/resource/sqlupgrade/Mysql/sql202404290103.sql new file mode 100644 index 000000000..dfba50c80 --- /dev/null +++ b/resource/sqlupgrade/Mysql/sql202404290103.sql @@ -0,0 +1,3 @@ +alter table hrsa_salary_sob_item add item_hide bigint; + +alter table hrsa_salary_sob_item_group add item_hide bigint; \ No newline at end of file diff --git a/resource/sqlupgrade/Mysql/sql202404290603.sql b/resource/sqlupgrade/Mysql/sql202404290603.sql new file mode 100644 index 000000000..4e471b74a --- /dev/null +++ b/resource/sqlupgrade/Mysql/sql202404290603.sql @@ -0,0 +1,7 @@ +update hrsa_salary_sob_item set item_hide = 0; + +update hrsa_salary_sob_item_group set item_hide = 0; + +update hrsa_salary_sob_item a INNER JOIN hrsa_salary_item_hide b on a.salary_item_id = b.salary_item_id and a.salary_sob_id = b.salary_sob_id set a.item_hide = b.item_hide where a.delete_type=0 and b.delete_type=0 and b.is_group=0 and b.item_hide is not null; + +update hrsa_salary_sob_item_group a INNER JOIN hrsa_salary_item_hide b on a.id = b.salary_item_id and a.salary_sob_id = b.salary_sob_id set a.item_hide = b.item_hide where a.delete_type=0 and b.delete_type=0 and b.is_group=1 and b.item_hide is not null; \ No newline at end of file diff --git a/resource/sqlupgrade/Mysql/sql202405280703.sql b/resource/sqlupgrade/Mysql/sql202405280703.sql new file mode 100644 index 000000000..329bd939c --- /dev/null +++ b/resource/sqlupgrade/Mysql/sql202405280703.sql @@ -0,0 +1 @@ +ALTER TABLE hrsa_salary_acct_emp ADD COLUMN lock_status int(0) NULL ; \ No newline at end of file diff --git a/resource/sqlupgrade/Oracle/sql202404260903.sql b/resource/sqlupgrade/Oracle/sql202404260903.sql new file mode 100644 index 000000000..a5e92e92d --- /dev/null +++ b/resource/sqlupgrade/Oracle/sql202404260903.sql @@ -0,0 +1,18 @@ +create table hrsa_salary_acct_sob_config +( + id number primary key , + create_time date, + update_time date, + creator number, + delete_type int default 0, + tenant_key varchar2(10), + salary_acct_record_id number, + basic_config clob, + employee_field_config clob, + item_config clob, + item_group_config clob, + back_item_config clob, + adjust_rule_config clob, + check_rule_config clob +) +/ \ No newline at end of file diff --git a/resource/sqlupgrade/Oracle/sql202404290103.sql b/resource/sqlupgrade/Oracle/sql202404290103.sql new file mode 100644 index 000000000..9b87751a9 --- /dev/null +++ b/resource/sqlupgrade/Oracle/sql202404290103.sql @@ -0,0 +1,5 @@ +ALTER TABLE hrsa_salary_sob_item ADD item_hide NUMBER(20,0) +/ + +ALTER TABLE hrsa_salary_sob_item_group ADD item_hide NUMBER(20,0) +/ \ No newline at end of file diff --git a/resource/sqlupgrade/Oracle/sql202404290603.sql b/resource/sqlupgrade/Oracle/sql202404290603.sql new file mode 100644 index 000000000..c854f060f --- /dev/null +++ b/resource/sqlupgrade/Oracle/sql202404290603.sql @@ -0,0 +1,9 @@ +update hrsa_salary_sob_item set item_hide = 0 +/ +update hrsa_salary_sob_item_group set item_hide = 0 +/ +UPDATE hrsa_salary_sob_item a SET item_hide = (SELECT b.item_hide FROM hrsa_salary_item_hide b WHERE a.salary_item_id = b.salary_item_id and a.salary_sob_id = b.salary_sob_id and a.delete_type=0 and b.delete_type=0 ) WHERE EXISTS (SELECT 1 FROM hrsa_salary_item_hide b WHERE b.item_hide = a.item_hide) +/ + +UPDATE hrsa_salary_sob_item_group a SET item_hide = (SELECT b.item_hide FROM hrsa_salary_item_hide b WHERE a.id = b.salary_item_id and a.salary_sob_id = b.salary_sob_id and a.delete_type=0 and b.delete_type=0 ) WHERE EXISTS (SELECT 1 FROM hrsa_salary_item_hide b WHERE b.item_hide = a.item_hide) +/ \ No newline at end of file diff --git a/resource/sqlupgrade/Oracle/sql202405280703.sql b/resource/sqlupgrade/Oracle/sql202405280703.sql new file mode 100644 index 000000000..24fc81139 --- /dev/null +++ b/resource/sqlupgrade/Oracle/sql202405280703.sql @@ -0,0 +1,2 @@ +ALTER TABLE hrsa_salary_acct_emp ADD lock_status NUMBER(11, 0) +/ \ No newline at end of file diff --git a/resource/sqlupgrade/PG/sql202404260903.sql b/resource/sqlupgrade/PG/sql202404260903.sql new file mode 100644 index 000000000..036c82461 --- /dev/null +++ b/resource/sqlupgrade/PG/sql202404260903.sql @@ -0,0 +1,18 @@ +create table hrsa_salary_acct_sob_config +( + id bigint primary key , + create_time timestamp, + update_time timestamp, + creator bigint, + delete_type int default 0, + tenant_key varchar(10), + salary_acct_record_id bigint, + basic_config text, + employee_field_config text, + item_config text, + item_group_config text, + back_item_config text, + adjust_rule_config text, + check_rule_config text +); +/ \ No newline at end of file diff --git a/resource/sqlupgrade/PG/sql202404290103.sql b/resource/sqlupgrade/PG/sql202404290103.sql new file mode 100644 index 000000000..890044022 --- /dev/null +++ b/resource/sqlupgrade/PG/sql202404290103.sql @@ -0,0 +1,3 @@ +ALTER TABLE hrsa_salary_sob_item ADD COLUMN item_hide bigint; + +ALTER TABLE hrsa_salary_sob_item_group ADD COLUMN item_hide bigint; \ No newline at end of file diff --git a/resource/sqlupgrade/PG/sql202404290603.sql b/resource/sqlupgrade/PG/sql202404290603.sql new file mode 100644 index 000000000..df6dfdff9 --- /dev/null +++ b/resource/sqlupgrade/PG/sql202404290603.sql @@ -0,0 +1,7 @@ +update hrsa_salary_sob_item set item_hide = 0; + +update hrsa_salary_sob_item_group set item_hide = 0; + +UPDATE hrsa_salary_sob_item a SET item_hide = (SELECT b.item_hide FROM hrsa_salary_item_hide b WHERE a.salary_item_id = b.salary_item_id and a.salary_sob_id = b.salary_sob_id and a.delete_type=0 and b.delete_type=0 ) WHERE EXISTS (SELECT 1 FROM hrsa_salary_item_hide b WHERE b.item_hide = a.item_hide); + +UPDATE hrsa_salary_sob_item_group a SET item_hide = (SELECT b.item_hide FROM hrsa_salary_item_hide b WHERE a.id = b.salary_item_id and a.salary_sob_id = b.salary_sob_id and a.delete_type=0 and b.delete_type=0 ) WHERE EXISTS (SELECT 1 FROM hrsa_salary_item_hide b WHERE b.item_hide = a.item_hide); \ No newline at end of file diff --git a/resource/sqlupgrade/PG/sql202405280703.sql b/resource/sqlupgrade/PG/sql202405280703.sql new file mode 100644 index 000000000..902cfab0d --- /dev/null +++ b/resource/sqlupgrade/PG/sql202405280703.sql @@ -0,0 +1 @@ +ALTER TABLE hrsa_salary_acct_emp ADD COLUMN lock_status int NULL ; \ No newline at end of file diff --git a/resource/sqlupgrade/SQLServer/sql202404260903.sql b/resource/sqlupgrade/SQLServer/sql202404260903.sql new file mode 100644 index 000000000..fcb78e500 --- /dev/null +++ b/resource/sqlupgrade/SQLServer/sql202404260903.sql @@ -0,0 +1,18 @@ +create table hrsa_salary_acct_sob_config +( + id bigint primary key , + create_time datetime, + update_time datetime, + creator bigint, + delete_type int default 0, + tenant_key nvarchar(10), + salary_acct_record_id bigint, + basic_config ntext, + employee_field_config ntext, + item_config ntext, + item_group_config ntext, + back_item_config ntext, + adjust_rule_config ntext, + check_rule_config ntext +) +GO \ No newline at end of file diff --git a/resource/sqlupgrade/SQLServer/sql202404290103.sql b/resource/sqlupgrade/SQLServer/sql202404290103.sql new file mode 100644 index 000000000..a3c0c3a2d --- /dev/null +++ b/resource/sqlupgrade/SQLServer/sql202404290103.sql @@ -0,0 +1,5 @@ +alter table hrsa_salary_sob_item add item_hide bigint +GO + +alter table hrsa_salary_sob_item_group add item_hide bigint +GO \ No newline at end of file diff --git a/resource/sqlupgrade/SQLServer/sql202404290603.sql b/resource/sqlupgrade/SQLServer/sql202404290603.sql new file mode 100644 index 000000000..66025a94d --- /dev/null +++ b/resource/sqlupgrade/SQLServer/sql202404290603.sql @@ -0,0 +1,14 @@ +update hrsa_salary_sob_item set item_hide = 0 +GO + +update hrsa_salary_sob_item_group set item_hide = 0 +GO + +UPDATE hrsa_salary_sob_item SET item_hide = b.item_hide FROM hrsa_salary_sob_item a INNER JOIN hrsa_salary_item_hide b ON a.salary_item_id = b.salary_item_id and a.salary_sob_id = b.salary_sob_id + WHERE a.delete_type=0 and b.delete_type=0 and b.is_group=0 and b.item_hide is not null +GO + + +UPDATE hrsa_salary_sob_item_group SET item_hide = b.item_hide FROM hrsa_salary_sob_item_group a INNER JOIN hrsa_salary_item_hide b ON a.id = b.salary_item_id and a.salary_sob_id = b.salary_sob_id + WHERE a.delete_type=0 and b.delete_type=0 and b.is_group=1 and b.item_hide is not null +GO \ No newline at end of file diff --git a/resource/sqlupgrade/SQLServer/sql202405280703.sql b/resource/sqlupgrade/SQLServer/sql202405280703.sql new file mode 100644 index 000000000..086ab3bf5 --- /dev/null +++ b/resource/sqlupgrade/SQLServer/sql202405280703.sql @@ -0,0 +1,2 @@ +ALTER TABLE hrsa_salary_acct_emp ADD lock_status int NULL +GO \ No newline at end of file diff --git a/resource/sqlupgrade/ST/sql202404260903.sql b/resource/sqlupgrade/ST/sql202404260903.sql new file mode 100644 index 000000000..8e4f496a6 --- /dev/null +++ b/resource/sqlupgrade/ST/sql202404260903.sql @@ -0,0 +1,19 @@ +create table hrsa_salary_acct_sob_config +( + id number primary key , + create_time date, + update_time date, + creator number, + delete_type int default 0, + tenant_key varchar2(10), + salary_acct_record_id number, + basic_config clob, + employee_field_config clob, + item_config clob, + item_group_config clob, + back_item_config clob, + adjust_rule_config clob, + check_rule_config clob +); +/ + diff --git a/resource/sqlupgrade/ST/sql202404290103.sql b/resource/sqlupgrade/ST/sql202404290103.sql new file mode 100644 index 000000000..64ed7e662 --- /dev/null +++ b/resource/sqlupgrade/ST/sql202404290103.sql @@ -0,0 +1,6 @@ +ALTER TABLE hrsa_salary_sob_item ADD item_hide NUMBER(20,0); +/ + +ALTER TABLE hrsa_salary_sob_item_group ADD item_hide NUMBER(20,0); +/ + diff --git a/resource/sqlupgrade/ST/sql202404290603.sql b/resource/sqlupgrade/ST/sql202404290603.sql new file mode 100644 index 000000000..6a05dfadf --- /dev/null +++ b/resource/sqlupgrade/ST/sql202404290603.sql @@ -0,0 +1,12 @@ +update hrsa_salary_sob_item set item_hide = 0; +/ + +update hrsa_salary_sob_item_group set item_hide = 0; +/ + +UPDATE hrsa_salary_sob_item a SET item_hide = (SELECT b.item_hide FROM hrsa_salary_item_hide b WHERE a.salary_item_id = b.salary_item_id and a.salary_sob_id = b.salary_sob_id and a.delete_type=0 and b.delete_type=0 ) WHERE EXISTS (SELECT 1 FROM hrsa_salary_item_hide b WHERE b.item_hide = a.item_hide); +/ + +UPDATE hrsa_salary_sob_item_group a SET item_hide = (SELECT b.item_hide FROM hrsa_salary_item_hide b WHERE a.id = b.salary_item_id and a.salary_sob_id = b.salary_sob_id and a.delete_type=0 and b.delete_type=0 ) WHERE EXISTS (SELECT 1 FROM hrsa_salary_item_hide b WHERE b.item_hide = a.item_hide); +/ + diff --git a/resource/sqlupgrade/ST/sql202405280703.sql b/resource/sqlupgrade/ST/sql202405280703.sql new file mode 100644 index 000000000..905ff7b4f --- /dev/null +++ b/resource/sqlupgrade/ST/sql202405280703.sql @@ -0,0 +1,3 @@ +ALTER TABLE hrsa_salary_acct_emp ADD lock_status NUMBER(11, 0); +/ + diff --git a/resource/wiki/人员生成不了档案.sql b/resource/wiki/人员生成不了档案.sql index d66d7df39..75b03ff39 100644 --- a/resource/wiki/人员生成不了档案.sql +++ b/resource/wiki/人员生成不了档案.sql @@ -1,7 +1,6 @@ +select id from hrsa_tax_agent_emp +where tax_agent_id =扣缴义务人id and delete_type = 0 and employee_id not in (select employee_id from hrsa_salary_archive where tax_agent_id =扣缴义务人id and delete_type = 0) + + update hrsa_tax_agent_emp set delete_type = 3 -where id in( - - select id from hrsa_tax_agent_emp - where tax_agent_id =27 and delete_type = 0 and employee_id not in (select employee_id from hrsa_salary_archive where tax_agent_id =27 and delete_type = 0) - -) \ No newline at end of file +where tax_agent_id=扣缴义务人id and delete_type = 0 and employee_id not in (select employee_id from hrsa_salary_archive where tax_agent_id =扣缴义务人id and delete_type = 0) \ No newline at end of file diff --git a/resource/wiki/常用查询.md b/resource/wiki/常用查询.md index 51576d16d..594b14bf8 100644 --- a/resource/wiki/常用查询.md +++ b/resource/wiki/常用查询.md @@ -17,5 +17,5 @@ left join hrmresource e on e.id= result.employee_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=$main.ygid$ and t.name='$main.dzqgskjywr$' + and a.employee_id=人员id and t.name=扣缴义务人名称 and effective_time <= now() and c.name='基本工资' order by effective_time desc \ No newline at end of file diff --git a/src/com/engine/salary/biz/SIArchivesBiz.java b/src/com/engine/salary/biz/SIArchivesBiz.java index bbaf325ab..0bf32a63f 100644 --- a/src/com/engine/salary/biz/SIArchivesBiz.java +++ b/src/com/engine/salary/biz/SIArchivesBiz.java @@ -813,6 +813,7 @@ public class SIArchivesBiz { .paymentOrganization(param.getPaymentOrganization()) .build(); + StringBuilder errorMsg = new StringBuilder(""); if (oldOtherInfoList.size() == 1) { InsuranceArchivesOtherSchemePO oldOtherInfo = oldOtherInfoList.get(0); //设置福利档案基数调整记录数据 @@ -839,15 +840,17 @@ public class SIArchivesBiz { .otherPaymentBaseString(paramReq.getPaymentForm()) .build(); //校验福利基数是否符合上下限要求, - if (!checkWelBaseLimit(updateOtherInfo.getOtherSchemeId(),updateOtherInfo.getOtherPaymentBaseString(), PaymentScopeEnum.SCOPE_PERSON.getValue())) { - throw new SalaryRunTimeException("其他福利明细中的基数更新内容不符合相关基数上下限要求,请检查后重试!"); + if (!checkWelBaseLimit(updateOtherInfo.getOtherSchemeId(),updateOtherInfo.getOtherPaymentBaseString(), PaymentScopeEnum.SCOPE_PERSON.getValue(), errorMsg)) { + // throw new SalaryRunTimeException("其他福利明细中的基数更新内容不符合相关基数上下限要求,请检查后重试!"); + throw new SalaryRunTimeException("其他福利个人:" + errorMsg.toString()); } //需要拆分个人和公司福利基数时 if (welBaseDiffSign) { updateOtherInfo.setOtherPaymentComBaseString(paramReq.getPaymentComForm()); //校验福利基数是否符合上下限要求 - if (!checkWelBaseLimit(updateOtherInfo.getOtherSchemeId(),updateOtherInfo.getOtherPaymentComBaseString(), PaymentScopeEnum.SCOPE_COMPANY.getValue())) { - throw new SalaryRunTimeException("其他福利明细中的基数更新内容不符合相关基数上下限要求,请检查后重试!"); + if (!checkWelBaseLimit(updateOtherInfo.getOtherSchemeId(),updateOtherInfo.getOtherPaymentComBaseString(), PaymentScopeEnum.SCOPE_COMPANY.getValue(), errorMsg)) { + // throw new SalaryRunTimeException("其他福利明细中的基数更新内容不符合相关基数上下限要求,请检查后重试!"); + throw new SalaryRunTimeException("其他福利公司:" + errorMsg.toString()); } } encryptUtil.encrypt(updateOtherInfo, InsuranceArchivesOtherSchemePO.class); @@ -884,15 +887,17 @@ public class SIArchivesBiz { .otherPaymentBaseString(paramReq.getPaymentForm()) .build(); //校验福利基数是否符合上下限要求, - if (!checkWelBaseLimit(insertOtherInfo.getOtherSchemeId(),insertOtherInfo.getOtherPaymentBaseString(), PaymentScopeEnum.SCOPE_PERSON.getValue())) { - throw new SalaryRunTimeException("其他福利明细中的基数更新内容不符合相关基数上下限要求,请检查后重试!"); + if (!checkWelBaseLimit(insertOtherInfo.getOtherSchemeId(),insertOtherInfo.getOtherPaymentBaseString(), PaymentScopeEnum.SCOPE_PERSON.getValue(), errorMsg)) { + // throw new SalaryRunTimeException("其他福利明细中的基数更新内容不符合相关基数上下限要求,请检查后重试!"); + throw new SalaryRunTimeException("其他福利个人:" + errorMsg.toString()); } //需要拆分个人和公司福利基数时 if (welBaseDiffSign) { insertOtherInfo.setOtherPaymentComBaseString(paramReq.getPaymentComForm()); //校验福利基数是否符合上下限要求 - if (!checkWelBaseLimit(insertOtherInfo.getOtherSchemeId(),insertOtherInfo.getOtherPaymentComBaseString(), PaymentScopeEnum.SCOPE_COMPANY.getValue())) { - throw new SalaryRunTimeException("其他福利明细中的基数更新内容不符合相关基数上下限要求,请检查后重试!"); + if (!checkWelBaseLimit(insertOtherInfo.getOtherSchemeId(),insertOtherInfo.getOtherPaymentComBaseString(), PaymentScopeEnum.SCOPE_COMPANY.getValue(), errorMsg)) { + // throw new SalaryRunTimeException("其他福利明细中的基数更新内容不符合相关基数上下限要求,请检查后重试!"); + throw new SalaryRunTimeException("其他福利公司:" + errorMsg.toString()); } } encryptUtil.encrypt(insertOtherInfo, InsuranceArchivesOtherSchemePO.class); @@ -959,6 +964,7 @@ public class SIArchivesBiz { .paymentOrganization(param.getPaymentOrganization()) .build(); + StringBuilder errorMsg = new StringBuilder(""); if (oldFundInfoList.size() == 1) { InsuranceArchivesFundSchemePO oldFundInfo = oldFundInfoList.get(0); //设置福利档案基数调整记录数据 @@ -986,15 +992,17 @@ public class SIArchivesBiz { .employeeId(param.getEmployeeId()) .build(); //校验福利基数是否符合上下限要求, - if (!checkWelBaseLimit(updateFundInfo.getFundSchemeId(),updateFundInfo.getFundPaymentBaseString(), PaymentScopeEnum.SCOPE_PERSON.getValue())) { - throw new SalaryRunTimeException("公积金福利明细中的基数更新内容不符合相关基数上下限要求,请检查后重试!"); + if (!checkWelBaseLimit(updateFundInfo.getFundSchemeId(),updateFundInfo.getFundPaymentBaseString(), PaymentScopeEnum.SCOPE_PERSON.getValue(), errorMsg)) { + // throw new SalaryRunTimeException("公积金福利明细中的基数更新内容不符合相关基数上下限要求,请检查后重试!"); + throw new SalaryRunTimeException("公积金个人:" + errorMsg.toString()); } //需要拆分个人和公司福利基数时 if (welBaseDiffSign) { updateFundInfo.setFundPaymentComBaseString(paramReq.getPaymentComForm()); //校验福利基数是否符合上下限要求 - if (!checkWelBaseLimit(updateFundInfo.getFundSchemeId(),updateFundInfo.getFundPaymentComBaseString(), PaymentScopeEnum.SCOPE_COMPANY.getValue())) { - throw new SalaryRunTimeException("公积金福利明细中的基数更新内容不符合相关基数上下限要求,请检查后重试!"); + if (!checkWelBaseLimit(updateFundInfo.getFundSchemeId(),updateFundInfo.getFundPaymentComBaseString(), PaymentScopeEnum.SCOPE_COMPANY.getValue(), errorMsg)) { + // throw new SalaryRunTimeException("公积金福利明细中的基数更新内容不符合相关基数上下限要求,请检查后重试!"); + throw new SalaryRunTimeException("公积金公司:" + errorMsg.toString()); } } encryptUtil.encrypt(updateFundInfo, InsuranceArchivesFundSchemePO.class); @@ -1033,15 +1041,17 @@ public class SIArchivesBiz { .employeeId(param.getEmployeeId()) .build(); //校验福利基数是否符合上下限要求, - if (!checkWelBaseLimit(insertFundInfo.getFundSchemeId(),insertFundInfo.getFundPaymentBaseString(), PaymentScopeEnum.SCOPE_PERSON.getValue())) { - throw new SalaryRunTimeException("公积金福利明细中的基数更新内容不符合相关基数上下限要求,请检查后重试!"); + if (!checkWelBaseLimit(insertFundInfo.getFundSchemeId(),insertFundInfo.getFundPaymentBaseString(), PaymentScopeEnum.SCOPE_PERSON.getValue(), errorMsg)) { + // throw new SalaryRunTimeException("公积金福利明细中的基数更新内容不符合相关基数上下限要求,请检查后重试!"); + throw new SalaryRunTimeException("公积金个人:" + errorMsg.toString()); } //需要拆分个人和公司福利基数时 if (welBaseDiffSign) { insertFundInfo.setFundPaymentComBaseString(paramReq.getPaymentComForm()); //校验福利基数是否符合上下限要求 - if (!checkWelBaseLimit(insertFundInfo.getFundSchemeId(),insertFundInfo.getFundPaymentComBaseString(), PaymentScopeEnum.SCOPE_COMPANY.getValue())) { - throw new SalaryRunTimeException("公积金福利明细中的基数更新内容不符合相关基数上下限要求,请检查后重试!"); + if (!checkWelBaseLimit(insertFundInfo.getFundSchemeId(),insertFundInfo.getFundPaymentComBaseString(), PaymentScopeEnum.SCOPE_COMPANY.getValue(), errorMsg)) { + // throw new SalaryRunTimeException("公积金福利明细中的基数更新内容不符合相关基数上下限要求,请检查后重试!"); + throw new SalaryRunTimeException("公积金公司:" + errorMsg.toString()); } } encryptUtil.encrypt(insertFundInfo, InsuranceArchivesFundSchemePO.class); @@ -1115,6 +1125,7 @@ public class SIArchivesBiz { .paymentOrganization(param.getPaymentOrganization()) .build(); + StringBuilder errorMsg = new StringBuilder(); //组装新数据 if (oldSocialInfoList.size() == 1) { //老数据 @@ -1144,15 +1155,17 @@ public class SIArchivesBiz { .paymentOrganization(param.getPaymentOrganization()) .build(); //校验福利基数是否符合上下限要求 - if (!checkWelBaseLimit(updateSocialInfo.getSocialSchemeId(),updateSocialInfo.getSocialPaymentBaseString(), PaymentScopeEnum.SCOPE_PERSON.getValue())) { - throw new SalaryRunTimeException("社保福利明细中的基数更新内容不符合相关基数上下限要求,请检查后重试!"); + if (!checkWelBaseLimit(updateSocialInfo.getSocialSchemeId(),updateSocialInfo.getSocialPaymentBaseString(), PaymentScopeEnum.SCOPE_PERSON.getValue(), errorMsg)) { + // throw new SalaryRunTimeException("社保福利明细中的基数更新内容不符合相关基数上下限要求,请检查后重试!"); + throw new SalaryRunTimeException("社保个人:" + errorMsg.toString()); } //需要拆分个人和公司福利基数时 if (welBaseDiffSign) { updateSocialInfo.setSocialPaymentComBaseString(paramReq.getPaymentComForm()); //校验福利基数是否符合上下限要求 - if (!checkWelBaseLimit(updateSocialInfo.getSocialSchemeId(),updateSocialInfo.getSocialPaymentComBaseString(), PaymentScopeEnum.SCOPE_COMPANY.getValue())) { - throw new SalaryRunTimeException("社保福利明细中的基数更新内容不符合相关基数上下限要求,请检查后重试!"); + if (!checkWelBaseLimit(updateSocialInfo.getSocialSchemeId(),updateSocialInfo.getSocialPaymentComBaseString(), PaymentScopeEnum.SCOPE_COMPANY.getValue(), errorMsg)) { + // throw new SalaryRunTimeException("社保福利明细中的基数更新内容不符合相关基数上下限要求,请检查后重试!"); + throw new SalaryRunTimeException("社保公司:" + errorMsg.toString()); } } encryptUtil.encrypt(updateSocialInfo, InsuranceArchivesSocialSchemePO.class); @@ -1191,15 +1204,17 @@ public class SIArchivesBiz { .paymentOrganization(param.getPaymentOrganization()) .build(); //校验福利基数是否符合上下限要求 - if (!checkWelBaseLimit(insertSocialInfo.getSocialSchemeId(),insertSocialInfo.getSocialPaymentBaseString(), PaymentScopeEnum.SCOPE_PERSON.getValue())) { - throw new SalaryRunTimeException("社保福利明细中的基数更新内容不符合相关基数上下限要求,请检查后重试!"); + if (!checkWelBaseLimit(insertSocialInfo.getSocialSchemeId(),insertSocialInfo.getSocialPaymentBaseString(), PaymentScopeEnum.SCOPE_PERSON.getValue(), errorMsg)) { + // throw new SalaryRunTimeException("社保福利明细中的基数更新内容不符合相关基数上下限要求,请检查后重试!"); + throw new SalaryRunTimeException("社保个人:" + errorMsg.toString()); } //需要拆分个人和公司福利基数时 if (welBaseDiffSign) { insertSocialInfo.setSocialPaymentComBaseString(paramReq.getPaymentComForm()); //校验福利基数是否符合上下限要求 - if (!checkWelBaseLimit(insertSocialInfo.getSocialSchemeId(),insertSocialInfo.getSocialPaymentComBaseString(), PaymentScopeEnum.SCOPE_COMPANY.getValue())) { - throw new SalaryRunTimeException("社保福利明细中的基数更新内容不符合相关基数上下限要求,请检查后重试!"); + if (!checkWelBaseLimit(insertSocialInfo.getSocialSchemeId(),insertSocialInfo.getSocialPaymentComBaseString(), PaymentScopeEnum.SCOPE_COMPANY.getValue(), errorMsg)) { + // throw new SalaryRunTimeException("社保福利明细中的基数更新内容不符合相关基数上下限要求,请检查后重试!"); + throw new SalaryRunTimeException("社保公司:" + errorMsg.toString()); } } encryptUtil.encrypt(insertSocialInfo, InsuranceArchivesSocialSchemePO.class); @@ -1239,7 +1254,7 @@ public class SIArchivesBiz { * @param paymentBaseString * @return */ - public Boolean checkWelBaseLimit(Long primaryId, String paymentBaseString, Integer paymentScope) { + public Boolean checkWelBaseLimit(Long primaryId, String paymentBaseString, Integer paymentScope, StringBuilder errorMsg) { if (primaryId ==null || paymentBaseString == null) { return true; @@ -1255,6 +1270,7 @@ public class SIArchivesBiz { if (entry.getValue() == null || entry.getValue().length() == 0) { continue; } else if (!isNumeric(entry.getValue())) { + errorMsg.append("福利值非数字"); log.info("福利值非数字!"); return false; } @@ -1263,6 +1279,7 @@ public class SIArchivesBiz { List insuranceSchemeDetailPOList = getInsuranceSchemeDetailMapper().getByPI(primaryId, Long.valueOf(entry.getKey())); log.info("福利方案id: {},, 福利明细项id:{}", primaryId, Long.valueOf(entry.getKey())); if (insuranceSchemeDetailPOList.size() == 0) { + errorMsg.append("根据福利方案id、险种id、缴纳对象查询明细为null!福利方案id: " + primaryId + ", 福利明细项id:" + Long.valueOf(entry.getKey())); log.info("根据福利方案id、险种id、缴纳对象查询明细为null!福利方案id: {}, 福利明细项id:{}", primaryId, Long.valueOf(entry.getKey())); return false; } @@ -1276,11 +1293,13 @@ public class SIArchivesBiz { String upperLimit = "0.000".equals(insuranceSchemeDetailPO.getUpperLimit()) ? null : insuranceSchemeDetailPO.getUpperLimit(); if (lowerLimit != null && lowerLimit.length() > 0 && Double.parseDouble(entry.getValue()) < Double.parseDouble(lowerLimit)) { //数值低于对应福利明细下限 + errorMsg.append("基数:"+ entry.getKey() + " 数值:" + entry.getValue() +"低于对应福利明细下限:" + lowerLimit); log.info("社保基数 {} 数值 {} 低于对应福利明细下限 {}!", entry.getKey(), entry.getValue(), lowerLimit); return false; } if (upperLimit != null && upperLimit.length() > 0 && Double.parseDouble(entry.getValue()) > Double.parseDouble(upperLimit)) { //数值高于对应福利明细上限 + errorMsg.append("基数:"+ entry.getKey() + " 数值:" + entry.getValue() +"高于对应福利明细上限:" + upperLimit); log.info("社保基数 {} 数值 {} 高于对应福利明细上限 {} !", entry.getKey(), entry.getValue(), upperLimit); return false; } diff --git a/src/com/engine/salary/biz/SalarySobItemBiz.java b/src/com/engine/salary/biz/SalarySobItemBiz.java index 66ac63d0c..233eae306 100644 --- a/src/com/engine/salary/biz/SalarySobItemBiz.java +++ b/src/com/engine/salary/biz/SalarySobItemBiz.java @@ -1,6 +1,5 @@ package com.engine.salary.biz; -import com.engine.salary.entity.salarysob.po.SalarySobItemHidePO; import com.engine.salary.entity.salarysob.po.SalarySobItemPO; import com.engine.salary.mapper.salarysob.SalarySobItemMapper; import com.google.common.collect.Lists; @@ -34,16 +33,6 @@ public class SalarySobItemBiz { } } - public List listBySalarySobIdWithHideItem(SalarySobItemPO build) { - SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession(); - try { - SalarySobItemMapper mapper = sqlSession.getMapper(SalarySobItemMapper.class); - return mapper.listBySalarySobIdWithHideItem(build); - } finally { - sqlSession.close(); - } - } - public void batchInsert(Collection salarySobItemPOS) { if (CollectionUtils.isEmpty(salarySobItemPOS)) { @@ -83,19 +72,7 @@ public class SalarySobItemBiz { } } - public void InsertItemShow(SalarySobItemHidePO salarySobItemHidePO) { - if (salarySobItemHidePO == null) { - return; - } - SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession(); - try { - SalarySobItemMapper mapper = sqlSession.getMapper(SalarySobItemMapper.class); - mapper.insertItemShow(salarySobItemHidePO); - sqlSession.commit(); - } finally { - sqlSession.close(); - } - } + public List listBySalarySobIdAndGroupId(Long salarySobId, Collection salarySobItemGroupIds) { SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession(); @@ -141,21 +118,6 @@ public class SalarySobItemBiz { } - public void batchInsertItemShow(List list) { - if (CollectionUtils.isEmpty(list)) { - return; - } - SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession(); - try { - SalarySobItemMapper mapper = sqlSession.getMapper(SalarySobItemMapper.class); - List> partition = Lists.partition( list, 100); - partition.forEach(mapper::batchInsertItemShow); - sqlSession.commit(); - } finally { - sqlSession.close(); - } - } - public void update(SalarySobItemPO salarySobItemPO) { if (Objects.isNull(salarySobItemPO)) { return; diff --git a/src/com/engine/salary/biz/SalarySobItemGroupBiz.java b/src/com/engine/salary/biz/SalarySobItemGroupBiz.java index 9f4f6af68..781c60a72 100644 --- a/src/com/engine/salary/biz/SalarySobItemGroupBiz.java +++ b/src/com/engine/salary/biz/SalarySobItemGroupBiz.java @@ -64,15 +64,6 @@ public class SalarySobItemGroupBiz { } } - public List listSomeWithItemHide(SalarySobItemGroupPO build) { - SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession(); - try { - SalarySobItemGroupMapper mapper = sqlSession.getMapper(SalarySobItemGroupMapper.class); - return mapper.listSomeWithItemHide(build); - } finally { - sqlSession.close(); - } - } public void deleteByIds(List ids) { diff --git a/src/com/engine/salary/constant/des.json b/src/com/engine/salary/constant/des.json index f82a626bd..0b35d5f80 100644 --- a/src/com/engine/salary/constant/des.json +++ b/src/com/engine/salary/constant/des.json @@ -399,7 +399,7 @@ "name": "IDCARD", "chineseName": "身份证函数", "description": "从身份证号码中获取相关信息,比如:生日(BD)、年龄(AGE)、籍贯(NA)、性别(GENDER)。", - "example": "IDCARD( ‘43070319980706334X’ , ‘BD’ )", + "example": "IDCARD( ‘******19980706****’ , ‘BD’ )", "result": "'1998-07-06'", "paramDescs": [ "*身份证号码*(必选)", diff --git a/src/com/engine/salary/entity/datacollection/dto/AttendQuoteDataBaseDTO.java b/src/com/engine/salary/entity/datacollection/dto/AttendQuoteDataBaseDTO.java index a3b7ea962..839c3f779 100644 --- a/src/com/engine/salary/entity/datacollection/dto/AttendQuoteDataBaseDTO.java +++ b/src/com/engine/salary/entity/datacollection/dto/AttendQuoteDataBaseDTO.java @@ -53,4 +53,9 @@ public class AttendQuoteDataBaseDTO { * 工号 */ private String jobNum; + + /** + * 证件号码 + */ + private String idNo; } diff --git a/src/com/engine/salary/entity/salaryBill/bo/SalaryBillBO.java b/src/com/engine/salary/entity/salaryBill/bo/SalaryBillBO.java index 0b0a2aaf8..f4d5b3643 100644 --- a/src/com/engine/salary/entity/salaryBill/bo/SalaryBillBO.java +++ b/src/com/engine/salary/entity/salaryBill/bo/SalaryBillBO.java @@ -172,7 +172,7 @@ public class SalaryBillBO { try { Method method = salaryFormulaEmployeeDTO.getClass().getMethod(getter); Object invoke = method.invoke(salaryFormulaEmployeeDTO); - e.setSalaryItemValue((String) invoke); + e.setSalaryItemValue(Util.null2String(invoke)); } catch (NoSuchMethodException | IllegalAccessException | InvocationTargetException ex) { log.error("no such method", e); } @@ -386,7 +386,6 @@ public class SalaryBillBO { } try { - log.info("发送短信内容, {}", content); if (e.get("mobile") != null) { MessageUtil.sendSMS(e.get("mobile").toString(), content); } else { diff --git a/src/com/engine/salary/entity/salaryBill/bo/SalaryTemplateBO.java b/src/com/engine/salary/entity/salaryBill/bo/SalaryTemplateBO.java index 7f09f2048..9977e0a63 100644 --- a/src/com/engine/salary/entity/salaryBill/bo/SalaryTemplateBO.java +++ b/src/com/engine/salary/entity/salaryBill/bo/SalaryTemplateBO.java @@ -88,7 +88,7 @@ public class SalaryTemplateBO { .build(); } - public static List convertSalarySobItemAggregateToSalaryItemSet(SalarySobItemAggregateDTO salarySobItemAggregateDTO, Long currentEmployeeId, boolean isReplenish) { + public static List convertSalarySobItemAggregateToSalaryItemSet(SalarySobItemAggregateDTO salarySobItemAggregateDTO, boolean isReplenish) { List groups = new LinkedList<>(); if (salarySobItemAggregateDTO!=null) { // 1.员工信息 diff --git a/src/com/engine/salary/entity/salaryacct/bo/SalaryAcctConfig.java b/src/com/engine/salary/entity/salaryacct/bo/SalaryAcctConfig.java new file mode 100644 index 000000000..70d8b96c9 --- /dev/null +++ b/src/com/engine/salary/entity/salaryacct/bo/SalaryAcctConfig.java @@ -0,0 +1,84 @@ +package com.engine.salary.entity.salaryacct.bo; + +import com.engine.salary.entity.salaryacct.po.SalaryAcctRecordPO; +import com.engine.salary.entity.salaryacct.po.SalaryAcctSobConfigPO; +import com.engine.salary.entity.salarysob.po.*; +import com.engine.salary.enums.sicategory.DeleteTypeEnum; +import com.engine.salary.util.JsonUtil; +import com.engine.salary.util.db.IdGenerator; +import lombok.Builder; +import lombok.Data; + +import java.util.Date; +import java.util.List; + +@Data +@Builder +public class SalaryAcctConfig { + + private SalaryAcctRecordPO salaryAcctRecord; + + private SalarySobPO salarySob; + + private List salarySobEmpFields; + + private List salarySobItems; + + private List salarySobItemGroups; + + private List salarySobBackItems; + + @Deprecated + private List salarySobAdjustRules; + + @Deprecated + private List salarySobCheckRules; + + public SalaryAcctConfig(SalaryAcctRecordPO salaryAcctRecord, + SalarySobPO salarySob, + List salarySobEmpFields, + List salarySobItems, + List salarySobItemGroups, + List salarySobBackItems, + List salarySobAdjustRules, + List salarySobCheckRules) { + this.salaryAcctRecord = salaryAcctRecord; + this.salarySob = salarySob; + this.salarySobEmpFields = salarySobEmpFields; + this.salarySobItems = salarySobItems; + this.salarySobItemGroups = salarySobItemGroups; + this.salarySobBackItems = salarySobBackItems; + this.salarySobAdjustRules = salarySobAdjustRules; + this.salarySobCheckRules = salarySobCheckRules; + } + + public SalaryAcctSobConfigPO buildAcctSobConfig() { + Date now = new Date(); + return SalaryAcctSobConfigPO.builder() + .id(IdGenerator.generate()) + .salaryAcctRecordId(salaryAcctRecord.getId()) + .basicConfig(JsonUtil.toJsonString(salarySob)) + .employeeFieldConfig(JsonUtil.toJsonString(salarySobEmpFields)) + .itemConfig(JsonUtil.toJsonString(salarySobItems)) + .itemGroupConfig(JsonUtil.toJsonString(salarySobItemGroups)) + .backItemConfig(JsonUtil.toJsonString(salarySobBackItems)) + .adjustRuleConfig(JsonUtil.toJsonString(salarySobAdjustRules)) + .checkRuleConfig(JsonUtil.toJsonString(salarySobCheckRules)) + .tenantKey(salaryAcctRecord.getTenantKey()) + .deleteType(DeleteTypeEnum.NOT_DELETED.getValue()) + .creator(salaryAcctRecord.getCreator()) + .createTime(now) + .updateTime(now) + .build(); + } + + public static SalaryAcctConfig parse(SalaryAcctSobConfigPO po) { + return SalaryAcctConfig.builder() + .salarySob(JsonUtil.parseObject(po.getBasicConfig(), SalarySobPO.class)) + .salarySobEmpFields(JsonUtil.parseList(po.getEmployeeFieldConfig(), SalarySobEmpFieldPO.class)) + .salarySobItemGroups(JsonUtil.parseList(po.getItemGroupConfig(), SalarySobItemGroupPO.class)) + .salarySobItems(JsonUtil.parseList(po.getItemConfig(), SalarySobItemPO.class)) + .salarySobBackItems(JsonUtil.parseList(po.getBackItemConfig(), SalarySobBackItemPO.class)) + .build(); + } +} diff --git a/src/com/engine/salary/entity/salaryacct/bo/SalaryAcctResultBO.java b/src/com/engine/salary/entity/salaryacct/bo/SalaryAcctResultBO.java index 64f6bcfe5..121092602 100644 --- a/src/com/engine/salary/entity/salaryacct/bo/SalaryAcctResultBO.java +++ b/src/com/engine/salary/entity/salaryacct/bo/SalaryAcctResultBO.java @@ -181,9 +181,9 @@ public class SalaryAcctResultBO { List childrenColumns = Lists.newArrayList(); for (SalarySobItemDTO salarySobItemDTO : salarySobItemGroupDTO.getItems()) { if (lockSalaryItemIds.contains(salarySobItemDTO.getSalaryItemId())) { - childrenColumns.add(new WeaTableColumnGroup(SalaryPageUtil.selfAdaption(salarySobItemDTO.getName(), salarySobItemDTO.getWidth()), salarySobItemDTO.getName(), "" + salarySobItemDTO.getSalaryItemId(), LockStatusEnum.LOCK.getValue(), salarySobItemDTO.getPattern(), salarySobItemDTO.getDataType())); + childrenColumns.add(new WeaTableColumnGroup(SalaryPageUtil.selfAdaption(salarySobItemDTO.getName(), salarySobItemDTO.getWidth()), salarySobItemDTO.getName(), "" + salarySobItemDTO.getSalaryItemId(), LockStatusEnum.LOCK.getDefaultLabel(), salarySobItemDTO.getPattern(), salarySobItemDTO.getDataType())); } else { - childrenColumns.add(new WeaTableColumnGroup(SalaryPageUtil.selfAdaption(salarySobItemDTO.getName(), salarySobItemDTO.getWidth()), salarySobItemDTO.getName(), "" + salarySobItemDTO.getSalaryItemId(), LockStatusEnum.UNLOCK.getValue(), salarySobItemDTO.getPattern(), salarySobItemDTO.getDataType())); + childrenColumns.add(new WeaTableColumnGroup(SalaryPageUtil.selfAdaption(salarySobItemDTO.getName(), salarySobItemDTO.getWidth()), salarySobItemDTO.getName(), "" + salarySobItemDTO.getSalaryItemId(), LockStatusEnum.UNLOCK.getDefaultLabel(), salarySobItemDTO.getPattern(), salarySobItemDTO.getDataType())); } } WeaTableColumnGroup weaTableColumnWapper = new WeaTableColumnGroup(SalaryPageUtil.selfAdaption(salarySobItemGroupDTO.getName(), 0), salarySobItemGroupDTO.getName(), String.valueOf(salarySobItemGroupDTO.getId()), childrenColumns); @@ -192,18 +192,18 @@ public class SalaryAcctResultBO { // 没有分类的薪资项目 for (SalarySobItemDTO salarySobItemDTO : salarySobItemAggregateDTO.getItems()) { if (lockSalaryItemIds.contains(salarySobItemDTO.getSalaryItemId())) { - columns.add(new WeaTableColumnGroup(SalaryPageUtil.selfAdaption(salarySobItemDTO.getName(), salarySobItemDTO.getWidth()), salarySobItemDTO.getName(), "" + salarySobItemDTO.getSalaryItemId(), LockStatusEnum.LOCK.getValue(), salarySobItemDTO.getPattern(), salarySobItemDTO.getDataType())); + columns.add(new WeaTableColumnGroup(SalaryPageUtil.selfAdaption(salarySobItemDTO.getName(), salarySobItemDTO.getWidth()), salarySobItemDTO.getName(), "" + salarySobItemDTO.getSalaryItemId(), LockStatusEnum.LOCK.getDefaultLabel(), salarySobItemDTO.getPattern(), salarySobItemDTO.getDataType())); } else { - columns.add(new WeaTableColumnGroup(SalaryPageUtil.selfAdaption(salarySobItemDTO.getName(), salarySobItemDTO.getWidth()), salarySobItemDTO.getName(), "" + salarySobItemDTO.getSalaryItemId(), LockStatusEnum.UNLOCK.getValue(), salarySobItemDTO.getPattern(), salarySobItemDTO.getDataType())); + columns.add(new WeaTableColumnGroup(SalaryPageUtil.selfAdaption(salarySobItemDTO.getName(), salarySobItemDTO.getWidth()), salarySobItemDTO.getName(), "" + salarySobItemDTO.getSalaryItemId(), LockStatusEnum.UNLOCK.getDefaultLabel(), salarySobItemDTO.getPattern(), salarySobItemDTO.getDataType())); } } // 回算的薪资项目 for (SalarySobItemDTO salarySobItemDTO : salarySobItemAggregateDTO.getBackCalcItems()) { if (lockSalaryItemIds.contains(salarySobItemDTO.getSalaryItemId())) { - columns.add(new WeaTableColumnGroup(SalaryPageUtil.selfAdaption(salarySobItemDTO.getName(), 0), salarySobItemDTO.getName(), "" + salarySobItemDTO.getSalaryItemId(), LockStatusEnum.LOCK.getValue(), salarySobItemDTO.getPattern(), salarySobItemDTO.getDataType())); + columns.add(new WeaTableColumnGroup(SalaryPageUtil.selfAdaption(salarySobItemDTO.getName(), 0), salarySobItemDTO.getName(), "" + salarySobItemDTO.getSalaryItemId(), LockStatusEnum.LOCK.getDefaultLabel(), salarySobItemDTO.getPattern(), salarySobItemDTO.getDataType())); } else { - columns.add(new WeaTableColumnGroup(SalaryPageUtil.selfAdaption(salarySobItemDTO.getName(), 0), salarySobItemDTO.getName(), "" + salarySobItemDTO.getSalaryItemId(), LockStatusEnum.UNLOCK.getValue(), salarySobItemDTO.getPattern(), salarySobItemDTO.getDataType())); + columns.add(new WeaTableColumnGroup(SalaryPageUtil.selfAdaption(salarySobItemDTO.getName(), 0), salarySobItemDTO.getName(), "" + salarySobItemDTO.getSalaryItemId(), LockStatusEnum.UNLOCK.getDefaultLabel(), salarySobItemDTO.getPattern(), salarySobItemDTO.getDataType())); } } @@ -288,6 +288,8 @@ public class SalaryAcctResultBO { } // 主键id map.put("id", e.getId()); + //锁定状态 + map.put("lockStatus", LockStatusEnum.getByValue(e.getLockStatus()).getDefaultLabel()); //人员id map.put("employeeId", e.getEmployeeId()); // 个税扣缴义务人 @@ -552,7 +554,7 @@ public class SalaryAcctResultBO { // .canEdit(Objects.equals(Optional.ofNullable(salaryItemPO).map(SalaryItemPO::getUseInEmployeeSalary).orElse(0), 0)) .canEdit(true) .pattern(salarySobItemPO.getPattern()) - .lockStatus(lockItems.contains(salarySobItemPO.getSalaryItemId()) ? LockStatusEnum.LOCK.getValue() : LockStatusEnum.UNLOCK.getValue()) + .lockStatus(lockItems.contains(salarySobItemPO.getSalaryItemId()) ? LockStatusEnum.LOCK.getDefaultLabel() : LockStatusEnum.UNLOCK.getDefaultLabel()) .build(); } diff --git a/src/com/engine/salary/entity/salaryacct/param/SalaryAcctResultUpdateLockStatusParam.java b/src/com/engine/salary/entity/salaryacct/param/SalaryAcctResultUpdateLockStatusParam.java index 1e6042977..c4ed999fd 100644 --- a/src/com/engine/salary/entity/salaryacct/param/SalaryAcctResultUpdateLockStatusParam.java +++ b/src/com/engine/salary/entity/salaryacct/param/SalaryAcctResultUpdateLockStatusParam.java @@ -21,19 +21,19 @@ import java.util.Set; @AllArgsConstructor @NoArgsConstructor public class SalaryAcctResultUpdateLockStatusParam { - //锁定状态 private LockStatusEnum lockStatus; - //薪资项目的Id") - private Long salaryItemId; - //薪资核算人员的id") -// private Set idStrSet; + //薪资核算记录的id + private Long salaryAcctRecordId; + + //薪资项目的Id + private Long salaryItemId; //薪资项目的IdList private Set salaryItemIds; - //薪资核算记录的id") - private Long salaryAcctRecordId; + //薪资核算人员的id + private Set acctEmpIds; } diff --git a/src/com/engine/salary/entity/salaryacct/po/SalaryAcctEmployeePO.java b/src/com/engine/salary/entity/salaryacct/po/SalaryAcctEmployeePO.java index 322fc6c68..cc67bfe05 100644 --- a/src/com/engine/salary/entity/salaryacct/po/SalaryAcctEmployeePO.java +++ b/src/com/engine/salary/entity/salaryacct/po/SalaryAcctEmployeePO.java @@ -1,7 +1,7 @@ package com.engine.salary.entity.salaryacct.po; -import com.engine.salary.annotation.SalaryFormulaVar; import com.engine.hrmelog.annotation.ElogTransform; +import com.engine.salary.annotation.SalaryFormulaVar; import com.engine.salary.enums.datacollection.DataCollectionEmployeeTypeEnum; import lombok.AllArgsConstructor; import lombok.Builder; @@ -108,6 +108,11 @@ public class SalaryAcctEmployeePO { @ElogTransform(name = "更新时间") private Date updateTime; + + @ElogTransform(name = "锁定状态") + private Integer lockStatus; + + //--------条件---------- //主键id集合 private Collection ids; diff --git a/src/com/engine/salary/entity/salaryacct/po/SalaryAcctSobConfigPO.java b/src/com/engine/salary/entity/salaryacct/po/SalaryAcctSobConfigPO.java new file mode 100644 index 000000000..b6d09ecf8 --- /dev/null +++ b/src/com/engine/salary/entity/salaryacct/po/SalaryAcctSobConfigPO.java @@ -0,0 +1,100 @@ +package com.engine.salary.entity.salaryacct.po; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Collection; +import java.util.Date; + +/** + * 账套快照 + *

Copyright: Copyright (c) 2024

+ *

Company: 泛微软件

+ * + * @author qiantao + * @version 1.0 + **/ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +//hrsa_salary_acct_sob_config +public class SalaryAcctSobConfigPO { + + /** + * 主键id + */ + private Long id; + + /** + * 薪资核算记录id + */ + private Long salaryAcctRecordId; + + /** + * 薪资账套基本信息 + */ + private String basicConfig; + + /** + * 员工信息字段 + */ + private String employeeFieldConfig; + + /** + * 薪资项目 + */ + private String itemConfig; + + /** + * 薪资项目分类 + */ + private String itemGroupConfig; + + /** + * 回算薪资项目 + */ + private String backItemConfig; + + /** + * 调薪规则 + */ + @Deprecated + private String adjustRuleConfig; + + /** + * 校验规则 + */ + @Deprecated + private String checkRuleConfig; + + /** + * 租户key + */ + private String tenantKey; + + /** + * 创建人id + */ + private Long creator; + + /** + * 是否删除 + */ + private Integer deleteType; + + /** + * 创建时间 + */ + private Date createTime; + + /** + * 更新时间 + */ + private Date updateTime; + + //主键id集合 + private Collection ids; +} diff --git a/src/com/engine/salary/entity/salaryarchive/bo/SalaryArchiveBO.java b/src/com/engine/salary/entity/salaryarchive/bo/SalaryArchiveBO.java index 62d9196a6..fabbfd1b0 100644 --- a/src/com/engine/salary/entity/salaryarchive/bo/SalaryArchiveBO.java +++ b/src/com/engine/salary/entity/salaryarchive/bo/SalaryArchiveBO.java @@ -78,6 +78,7 @@ public class SalaryArchiveBO { columns.add(new WeaTableColumn("100px", SalaryI18nUtil.getI18nLabel(86185, "部门"), "departmentName")); columns.add(new WeaTableColumn("100px", SalaryI18nUtil.getI18nLabel(86185, "工号"), "workcode")); columns.add(new WeaTableColumn("100px", SalaryI18nUtil.getI18nLabel(86186, "手机号"), "mobile")); + columns.add(new WeaTableColumn("100px", SalaryI18nUtil.getI18nLabel(86186, "证件号码"), "idNo")); columns.add(new WeaTableColumn("100px", SalaryI18nUtil.getI18nLabel(86187, "员工状态"), "employeeStatus")); columns.add(new WeaTableColumn("100px", SalaryI18nUtil.getI18nLabel(86187, "起始发薪日期"), "payStartDate")); columns.add(new WeaTableColumn("100px", SalaryI18nUtil.getI18nLabel(86187, "最后发薪日期"), "payEndDate")); diff --git a/src/com/engine/salary/entity/salaryarchive/bo/SalaryArchiveExcelBO.java b/src/com/engine/salary/entity/salaryarchive/bo/SalaryArchiveExcelBO.java index cfe3d8d43..3332fff79 100644 --- a/src/com/engine/salary/entity/salaryarchive/bo/SalaryArchiveExcelBO.java +++ b/src/com/engine/salary/entity/salaryarchive/bo/SalaryArchiveExcelBO.java @@ -349,6 +349,7 @@ public class SalaryArchiveExcelBO extends Service { String deparmentName = Optional.ofNullable(map.get(departmentI18n)).orElse("").toString(); String mobileName = Optional.ofNullable(map.get("手机号")).orElse("").toString(); String workcode = Optional.ofNullable(map.get("工号")).orElse("").toString(); + String idNo = Optional.ofNullable(map.get("证件号码")).orElse("").toString(); String validType = importHandleParam.getEmpValidType(); List emps = new ArrayList<>(); @@ -369,6 +370,10 @@ public class SalaryArchiveExcelBO extends Service { emps = importHandleParam.getEmployees().stream().filter(e -> (StringUtils.isBlank(workcode) || Objects.equals(e.getWorkcode(), workcode))) .collect(Collectors.toList()); } + else if ("2".equals(validType)) { + emps = importHandleParam.getEmployees().stream().filter(e -> (StringUtils.isBlank(idNo) || Objects.equals(e.getIdNo(), idNo))) + .collect(Collectors.toList()); + } } List employeeSameIds = new ArrayList<>(); diff --git a/src/com/engine/salary/entity/salaryarchive/dto/SalaryArchiveListDTO.java b/src/com/engine/salary/entity/salaryarchive/dto/SalaryArchiveListDTO.java index 82b97bf05..1083ca4dd 100644 --- a/src/com/engine/salary/entity/salaryarchive/dto/SalaryArchiveListDTO.java +++ b/src/com/engine/salary/entity/salaryarchive/dto/SalaryArchiveListDTO.java @@ -89,6 +89,12 @@ public class SalaryArchiveListDTO { @TableTitle(title = "工号", dataIndex = "workcode", key = "workcode") private String workcode; + /** + * 证件号码 + */ + @TableTitle(title = "证件号码", dataIndex = "idNo", key = "idNo") + private String idNo; + /** * 员工状态 */ diff --git a/src/com/engine/salary/entity/salarysob/bo/SalarySobItemBO.java b/src/com/engine/salary/entity/salarysob/bo/SalarySobItemBO.java index 0b4ae442d..3dfde99ef 100644 --- a/src/com/engine/salary/entity/salarysob/bo/SalarySobItemBO.java +++ b/src/com/engine/salary/entity/salarysob/bo/SalarySobItemBO.java @@ -67,8 +67,6 @@ public class SalarySobItemBO { List defaultSalaryItemPOS, Long employeeId, String tenantKey) { Date now = new Date(); - // 需要保存的隐藏项目 - List needInsertItemHides = new ArrayList<>(); // 处理薪资账套默认的薪资项目分类 Map salarySobItemGroupIdMap = Maps.newHashMapWithExpectedSize(salarySobDefaultItemGroupPOS.size()); List salarySobItemGroups = Lists.newArrayListWithExpectedSize(salarySobDefaultItemGroupPOS.size()); @@ -87,20 +85,6 @@ public class SalarySobItemBO { .deleteType(NumberUtils.INTEGER_ZERO) .build()); salarySobItemGroupIdMap.put(salarySobDefaultItemGroupPO.getId(), salarySobItemGroupId); - - // 保存薪资项目分类隐藏信息 - needInsertItemHides.add(SalarySobItemHidePO.builder() - .id(IdGenerator.generate()) - .salarySobId(salarySobId) - .salaryItemId(salarySobItemGroupId) - .isGroup(1) - .itemHide(0L) - .creator(employeeId) - .createTime(now) - .updateTime(now) - .deleteType(NumberUtils.INTEGER_ZERO) - .tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY) - .build()); } @@ -127,20 +111,6 @@ public class SalarySobItemBO { .tenantKey(tenantKey) .deleteType(NumberUtils.INTEGER_ZERO) .build()); - - // 保存薪资项目隐藏信息 - needInsertItemHides.add(SalarySobItemHidePO.builder() - .id(IdGenerator.generate()) - .salarySobId(salarySobId) - .salaryItemId(salaryItemPO.getId()) - .isGroup(0) - .itemHide(Long.valueOf(salaryItemPO.getHideDefault()== null ? 0 : salaryItemPO.getHideDefault())) - .creator(employeeId) - .createTime(now) - .updateTime(now) - .deleteType(NumberUtils.INTEGER_ZERO) - .tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY) - .build()); } // 处理薪资账套默认的自定义薪资项目(开启了"默认使用") for (int i = 0; i < defaultSalaryItemPOS.size(); i++) { @@ -167,19 +137,6 @@ public class SalarySobItemBO { .tenantKey(tenantKey) .deleteType(NumberUtils.INTEGER_ZERO) .build()); - // 保存薪资项目隐藏信息 - needInsertItemHides.add(SalarySobItemHidePO.builder() - .id(IdGenerator.generate()) - .salarySobId(salarySobId) - .salaryItemId(salaryItemPO.getId()) - .isGroup(0) - .itemHide(Long.valueOf(salaryItemPO.getHideDefault() == null ? 0 : salaryItemPO.getHideDefault())) - .creator(employeeId) - .createTime(now) - .updateTime(now) - .deleteType(NumberUtils.INTEGER_ZERO) - .tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY) - .build()); } // 薪资账套默认的回算薪资项目 @@ -207,7 +164,7 @@ public class SalarySobItemBO { } return new Result().setNeedInsertSalarySobItems(salarySobItems).setNeedInsertSalarySobItemGroups(salarySobItemGroups) - .setNeedInsertSalarySobBackItems(salarySobBackItems).setNeedInsertItemHides(needInsertItemHides); + .setNeedInsertSalarySobBackItems(salarySobBackItems); } @Data @@ -228,10 +185,5 @@ public class SalarySobItemBO { * 需要保存的回算薪资项目 */ List needInsertSalarySobBackItems; - - /** - * 需要保存的薪资项目隐藏信息 - */ - List needInsertItemHides; } } diff --git a/src/com/engine/salary/entity/salarysob/dto/SalarySobRangeImportListDTO.java b/src/com/engine/salary/entity/salarysob/dto/SalarySobRangeImportListDTO.java index f1a29db50..86973e4a4 100644 --- a/src/com/engine/salary/entity/salarysob/dto/SalarySobRangeImportListDTO.java +++ b/src/com/engine/salary/entity/salarysob/dto/SalarySobRangeImportListDTO.java @@ -54,10 +54,16 @@ public class SalarySobRangeImportListDTO { @ExcelProperty(index = 3) private String jobNum; + //证件号码 + @SalaryTableColumn(text = "证件号码", width = "10%", column = "idNo") + @TableTitle(title = "证件号码", dataIndex = "idNo", key = "idNo") + @ExcelProperty(index = 4) + private String idNo; + //人员状态 @SalaryTableColumn(text = "员工状态", width = "10%", column = "employeeStatus") @TableTitle(title = "员工状态", dataIndex = "employeeStatus", key = "employeeStatus") - @ExcelProperty(index = 4) + @ExcelProperty(index = 5) private String employeeStatus; } diff --git a/src/com/engine/salary/entity/salarysob/po/SalarySobBackItemPO.java b/src/com/engine/salary/entity/salarysob/po/SalarySobBackItemPO.java index 659707a90..1b4981481 100644 --- a/src/com/engine/salary/entity/salarysob/po/SalarySobBackItemPO.java +++ b/src/com/engine/salary/entity/salarysob/po/SalarySobBackItemPO.java @@ -8,9 +8,13 @@ import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; +import org.apache.commons.collections4.CollectionUtils; import java.util.Collection; +import java.util.Comparator; import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; /** * @author Harryxzy @@ -116,4 +120,28 @@ public class SalarySobBackItemPO{ * 薪资项目id */ private Collection salaryItemIds; + + public String toCompareString() { + return "SalarySobBackItemPO{" + + "salarySobId=" + salarySobId + + ", salaryItemId=" + salaryItemId + + ", salaryItemCode='" + salaryItemCode + '\'' + + ", dataType='" + dataType + '\'' + + ", roundingMode=" + roundingMode + + ", pattern=" + pattern + + ", valueType=" + valueType + + ", formulaId=" + formulaId + + ", backCalcType=" + backCalcType + + '}'; + } + + public static String toCompareString(List salarySobBackItems) { + if (CollectionUtils.isEmpty(salarySobBackItems)) { + return ""; + } + return salarySobBackItems.stream() + .sorted(Comparator.comparingLong(SalarySobBackItemPO::getSalaryItemId)) + .map(SalarySobBackItemPO::toCompareString) + .collect(Collectors.joining(",")); + } } \ No newline at end of file diff --git a/src/com/engine/salary/entity/salarysob/po/SalarySobEmpFieldPO.java b/src/com/engine/salary/entity/salarysob/po/SalarySobEmpFieldPO.java index 01d44a0ed..ddac5dcf9 100644 --- a/src/com/engine/salary/entity/salarysob/po/SalarySobEmpFieldPO.java +++ b/src/com/engine/salary/entity/salarysob/po/SalarySobEmpFieldPO.java @@ -5,9 +5,13 @@ import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; import lombok.experimental.Accessors; +import org.apache.commons.collections4.CollectionUtils; import java.util.Collection; +import java.util.Comparator; import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; /** * 薪资账套-薪资项目-员工基本信息 @@ -76,4 +80,23 @@ public class SalarySobEmpFieldPO { private Date updateTime; Collection ids; + + public String toCompareString() { + return "SalarySobEmpFieldPO{" + + "salarySobId=" + salarySobId + + ", fieldCode='" + fieldCode + '\'' + + ", sortedIndex=" + sortedIndex + + ", canDelete=" + canDelete + + '}'; + } + + public static String toCompareString(List salarySobEmpFields) { + if (CollectionUtils.isEmpty(salarySobEmpFields)) { + return ""; + } + return salarySobEmpFields.stream() + .sorted(Comparator.comparingInt(SalarySobEmpFieldPO::getSortedIndex)) + .map(SalarySobEmpFieldPO::toCompareString) + .collect(Collectors.joining(",")); + } } diff --git a/src/com/engine/salary/entity/salarysob/po/SalarySobItemGroupPO.java b/src/com/engine/salary/entity/salarysob/po/SalarySobItemGroupPO.java index 64ef8a52f..97469a997 100644 --- a/src/com/engine/salary/entity/salarysob/po/SalarySobItemGroupPO.java +++ b/src/com/engine/salary/entity/salarysob/po/SalarySobItemGroupPO.java @@ -4,9 +4,13 @@ import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; +import org.apache.commons.collections4.CollectionUtils; import java.util.Collection; +import java.util.Comparator; import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; /** * 薪资账套薪资项目分组 @@ -77,4 +81,22 @@ public class SalarySobItemGroupPO { private Long itemHide; Collection ids; + + public String toCompareString() { + return "SalarySobItemGroupPO{" + + "name='" + name + '\'' + + ", sortedIndex=" + sortedIndex + + ", itemHide=" + itemHide + + '}'; + } + + public static String toCompareString(List salarySobItemGroups) { + if (CollectionUtils.isEmpty(salarySobItemGroups)) { + return ""; + } + return salarySobItemGroups.stream() + .sorted(Comparator.comparing(SalarySobItemGroupPO::getSortedIndex)) + .map(SalarySobItemGroupPO::toCompareString) + .collect(Collectors.joining(",")); + } } diff --git a/src/com/engine/salary/entity/salarysob/po/SalarySobItemPO.java b/src/com/engine/salary/entity/salarysob/po/SalarySobItemPO.java index 15704802b..dd33e7086 100644 --- a/src/com/engine/salary/entity/salarysob/po/SalarySobItemPO.java +++ b/src/com/engine/salary/entity/salarysob/po/SalarySobItemPO.java @@ -7,9 +7,13 @@ import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; +import org.apache.commons.collections4.CollectionUtils; import java.util.Collection; +import java.util.Comparator; import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; /** * 薪资账套薪资项目 @@ -124,4 +128,30 @@ public class SalarySobItemPO { Collection notInSalaryItemIds; + + public String toCompareString() { + return "SalarySobItemPO{" + + "salarySobId=" + salarySobId + + ", salaryItemId=" + salaryItemId + + ", salarySobItemGroupId=" + salarySobItemGroupId + + ", formulaId=" + formulaId + + ", sortedIndex=" + sortedIndex + + ", canDelete=" + canDelete + + ", roundingMode=" + roundingMode + + ", pattern=" + pattern + + ", valueType=" + valueType + + ", itemHide=" + itemHide + + '}'; + } + + public static String toCompareString(List salarySobItems) { + if (CollectionUtils.isEmpty(salarySobItems)) { + return ""; + } + return salarySobItems.stream() + .sorted(Comparator.comparingLong(SalarySobItemPO::getSalaryItemId)) + .map(SalarySobItemPO::toCompareString) + .collect(Collectors.joining(",")); + } + } diff --git a/src/com/engine/salary/entity/salarysob/po/SalarySobPO.java b/src/com/engine/salary/entity/salarysob/po/SalarySobPO.java index 1b314b536..942731380 100644 --- a/src/com/engine/salary/entity/salarysob/po/SalarySobPO.java +++ b/src/com/engine/salary/entity/salarysob/po/SalarySobPO.java @@ -1,6 +1,7 @@ package com.engine.salary.entity.salarysob.po; import com.engine.hrmelog.annotation.ElogTransform; +import com.engine.salary.util.valid.Compare; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -26,12 +27,14 @@ public class SalarySobPO { * 主键id */ @ElogTransform( name="主键" ) + @Compare private Long id; /** * 名称 */ @ElogTransform( name="名称" ) + @Compare private String name; /** @@ -44,42 +47,49 @@ public class SalarySobPO { * 应税项目。1:正常工资薪金所得 */ @ElogTransform( name="薪资类型" ) + @Compare private Integer incomeCategory; /** * 薪资周期。1:上上月、2:上月、3:本月、4:下月 */ @ElogTransform( name="薪资周期" ) + @Compare private Integer salaryCycleType; /** * 薪资周期的起始日期 */ @ElogTransform( name="薪资周期起始日期" ) + @Compare private Integer salaryCycleFromDay; /** * 税款所属期。1:上上月、2:上月、3:本月、4:下月 */ @ElogTransform( name="税款所属期" ) + @Compare private Integer taxCycleType; /** * 考勤周期。1:上上月、2:上月、3:本月、4:下月 */ @ElogTransform( name="考勤周期" ) + @Compare private Integer attendCycleType; /** * 考勤周期的起始日期 */ @ElogTransform( name="考勤周期起始日期" ) + @Compare private Integer attendCycleFromDay; /** * 社保福利所属期。1:上上月、2:上月、3:本月、4:下月 */ @ElogTransform( name="社保福利所属期" ) + @Compare private Integer socialSecurityCycleType; /** diff --git a/src/com/engine/salary/entity/siarchives/param/InsuranceArchivesSaveParam.java b/src/com/engine/salary/entity/siarchives/param/InsuranceArchivesSaveParam.java index 8d086b1ad..25f72a711 100644 --- a/src/com/engine/salary/entity/siarchives/param/InsuranceArchivesSaveParam.java +++ b/src/com/engine/salary/entity/siarchives/param/InsuranceArchivesSaveParam.java @@ -25,4 +25,9 @@ public class InsuranceArchivesSaveParam { private String paymentForm; private String paymentComForm; + + /** + * 是否修改数据为上限或下限 + */ + private Boolean changeData; } diff --git a/src/com/engine/salary/entity/siarchives/po/InsuranceArchivesEmployeePO.java b/src/com/engine/salary/entity/siarchives/po/InsuranceArchivesEmployeePO.java index 2aa206984..2fb5297ce 100644 --- a/src/com/engine/salary/entity/siarchives/po/InsuranceArchivesEmployeePO.java +++ b/src/com/engine/salary/entity/siarchives/po/InsuranceArchivesEmployeePO.java @@ -36,6 +36,8 @@ public class InsuranceArchivesEmployeePO { private String telephone; + private String idNo; + @I18n private String departmentName; diff --git a/src/com/engine/salary/entity/siexport/po/AccountExportPO.java b/src/com/engine/salary/entity/siexport/po/AccountExportPO.java index 574c08b5c..73c82c82e 100644 --- a/src/com/engine/salary/entity/siexport/po/AccountExportPO.java +++ b/src/com/engine/salary/entity/siexport/po/AccountExportPO.java @@ -2,6 +2,7 @@ package com.engine.salary.entity.siexport.po; import com.engine.salary.annotation.I18n; import com.engine.salary.entity.siaccount.po.InsuranceAccountDetailPO; +import lombok.Data; /** * @Author weaver_cl @@ -9,6 +10,7 @@ import com.engine.salary.entity.siaccount.po.InsuranceAccountDetailPO; * @Date 2022/3/7 * @Version V1.0 **/ +@Data public class AccountExportPO extends InsuranceAccountDetailPO { @I18n @@ -16,58 +18,12 @@ public class AccountExportPO extends InsuranceAccountDetailPO { private String telephone; + private String idNo; + @I18n private String departmentName; private Integer userStatus; private String workcode; - - public void setWorkcode(String workcode) { - this.workcode = workcode; - } - - public String getWorkcode() { - return workcode; - } - - public String getUserName() { - return userName; - } - - public void setUserName(String userName) { - this.userName = userName; - } - - public String getTelephone() { - return telephone; - } - - public void setTelephone(String telephone) { - this.telephone = telephone; - } - - public String getDepartmentName() { - return departmentName; - } - - public void setDepartmentName(String departmentName) { - this.departmentName = departmentName; - } - - public Integer getUserStatus() { - return userStatus; - } - - public void setUserStatus(Integer userStatus) { - this.userStatus = userStatus; - } - - // public UserStatusEnum getUserStatus() { -// return userStatus; -// } -// -// public void setUserStatus(UserStatusEnum userStatus) { -// this.userStatus = userStatus; -// } } diff --git a/src/com/engine/salary/entity/taxagent/dto/TaxAgentManageRangeEmployeeListDTO.java b/src/com/engine/salary/entity/taxagent/dto/TaxAgentManageRangeEmployeeListDTO.java index 8865e6742..efb2bd799 100644 --- a/src/com/engine/salary/entity/taxagent/dto/TaxAgentManageRangeEmployeeListDTO.java +++ b/src/com/engine/salary/entity/taxagent/dto/TaxAgentManageRangeEmployeeListDTO.java @@ -62,10 +62,16 @@ public class TaxAgentManageRangeEmployeeListDTO { @ExcelProperty(index = 3) private String jobNum; + // + @SalaryTableColumn(text = "证件号码", width = "10%", column = "idNo") + @TableTitle(title = "证件号码", dataIndex = "idNo", key = "idNo") + @ExcelProperty(index = 4) + private String idNo; + //人员状态 @SalaryTableColumn(text = "员工状态", width = "10%", column = "employeeStatus") @TableTitle(title = "员工状态", dataIndex = "employeeStatus", key = "employeeStatus") - @ExcelProperty(index = 4) + @ExcelProperty(index = 5) private String employeeStatus; diff --git a/src/com/engine/salary/enums/salaryaccounting/LockStatusEnum.java b/src/com/engine/salary/enums/salaryaccounting/LockStatusEnum.java index 316f9aa91..e7fa758c2 100644 --- a/src/com/engine/salary/enums/salaryaccounting/LockStatusEnum.java +++ b/src/com/engine/salary/enums/salaryaccounting/LockStatusEnum.java @@ -3,25 +3,25 @@ package com.engine.salary.enums.salaryaccounting; import com.engine.salary.enums.BaseEnum; -public enum LockStatusEnum implements BaseEnum { - DEFAULT("DEFAULT", "默认", 0), - LOCK("LOCK", "锁定", 0), - UNLOCK("UNLOCK", "未锁定", 0); +public enum LockStatusEnum implements BaseEnum { + LOCK(1, "LOCK", 0), + UNLOCK(0, "UNLOCK", 0); - private String value; + private Integer value; private String defaultLabel; private int labelId; - LockStatusEnum(String value, String defaultLabel, int labelId) { + + LockStatusEnum(Integer value, String defaultLabel, int labelId) { this.value = value; this.defaultLabel = defaultLabel; this.labelId = labelId; } @Override - public String getValue() { + public Integer getValue() { return value; } @@ -34,4 +34,13 @@ public enum LockStatusEnum implements BaseEnum { public String getDefaultLabel() { return defaultLabel; } + + public static LockStatusEnum getByValue(Integer value) { + for (LockStatusEnum lockStatusEnum : LockStatusEnum.values()) { + if (lockStatusEnum.getValue().equals(value)) { + return lockStatusEnum; + } + } + return UNLOCK; + } } diff --git a/src/com/engine/salary/formlua/constant/FormluaConstant.java b/src/com/engine/salary/formlua/constant/FormluaConstant.java index 4cce5e978..c3d7f4cb7 100644 --- a/src/com/engine/salary/formlua/constant/FormluaConstant.java +++ b/src/com/engine/salary/formlua/constant/FormluaConstant.java @@ -404,7 +404,7 @@ public class FormluaConstant { " \"name\": \"IDCARD\",\n" + " \"chineseName\": \"身份证函数\",\n" + " \"description\": \"从身份证号码中获取相关信息,比如:生日(BD)、年龄(AGE)、籍贯(NA)、性别(GENDER)。\",\n" + - " \"example\": \"IDCARD( ‘43070319980706334X’ , ‘BD’ )\",\n" + + " \"example\": \"IDCARD( ‘******19980706****’ , ‘BD’ )\",\n" + " \"result\": \"'1998-07-06'\",\n" + " \"paramDescs\": [\n" + " \"*身份证号码*(必选)\",\n" + diff --git a/src/com/engine/salary/formlua/entity/parameter/FuncDescUtil.java b/src/com/engine/salary/formlua/entity/parameter/FuncDescUtil.java index 666135c26..83d0a2c81 100644 --- a/src/com/engine/salary/formlua/entity/parameter/FuncDescUtil.java +++ b/src/com/engine/salary/formlua/entity/parameter/FuncDescUtil.java @@ -3,7 +3,6 @@ package com.engine.salary.formlua.entity.parameter; import com.engine.salary.util.SalaryI18nUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.springframework.stereotype.Component; import java.util.HashMap; import java.util.Map; @@ -74,7 +73,7 @@ public class FuncDescUtil { funcMap.put("RIGHT", SalaryI18nUtil.getI18nLabel(97740, "从文本右侧开始,返回指定字符数的文字。示例:
RIGHT('大家好', 2) 结果: '家好'")); funcMap.put("MID", SalaryI18nUtil.getI18nLabel(97741, "从文本指定位置之后开始,返回指定字符数的文字。示例:
MID('大家好', 2, 1) 结果: '家'")); funcMap.put("ISEMPTY", SalaryI18nUtil.getI18nLabel(97742, "变量为空或未填写,则返回真。示例:
ISEMPTY({员工表.电话})")); - funcMap.put("IDCARD", SalaryI18nUtil.getI18nLabel(97743, "从身份证号码中获取相关信息,比如:生日(BD)、年龄(AGE)、籍贯(NA)、性别(GENDER)。示例:
IDCARD( ‘43070319980706334X’ , ‘BD’ ) 结果: '1998-07-06'")); + funcMap.put("IDCARD", SalaryI18nUtil.getI18nLabel(97743, "从身份证号码中获取相关信息,比如:生日(BD)、年龄(AGE)、籍贯(NA)、性别(GENDER)。示例:
IDCARD( ‘******19980706****’ , ‘BD’ ) 结果: '1998-07-06'")); funcMap.put("SCORE", SalaryI18nUtil.getI18nLabel(97744, "获取选项型控件(单选框、复选框、下拉菜单)分数。示例:SCORE({当前数据.单选框}) 结果:选项分数
注:未设置选项分数时,结果为0")); funcMap.put("SUBSTRING", SalaryI18nUtil.getI18nLabel(97745, "字符截取函数,用于按起始位置截取字符。
示例:SUBSTRING('abcdefg',2,3)
结果:bc")); funcMap.put("SUBSTITUE", SalaryI18nUtil.getI18nLabel(97746, "字符查找替换函数,替换字符中的所有关键词为新字符。
示例:SUBSTITUE('泛微移动办公','泛微','eteams')
结果:eteams移动办公")); diff --git a/src/com/engine/salary/mapper/InsuranceExportMapper.xml b/src/com/engine/salary/mapper/InsuranceExportMapper.xml index 481c44a30..dbe86d9f6 100644 --- a/src/com/engine/salary/mapper/InsuranceExportMapper.xml +++ b/src/com/engine/salary/mapper/InsuranceExportMapper.xml @@ -7,6 +7,7 @@ e.MOBILE AS telephone, d.departmentname AS departmentName, e.STATUS AS userStatus, + e.certificatenum as idNo, e.workcode AS workcode FROM ( SELECT * @@ -32,6 +33,7 @@ e.MOBILE AS telephone, d.departmentname AS departmentName, e.STATUS AS userStatus, + e.certificatenum as idNo, e.workcode AS workcode FROM ( SELECT * @@ -57,6 +59,7 @@ e.MOBILE AS telephone, d.departmentname AS departmentName, e.STATUS AS userStatus, + e.certificatenum as idNo, e.workcode AS workcode FROM ( SELECT * @@ -121,6 +124,7 @@ e.MOBILE AS telephone, d.departmentname AS departmentName, e.STATUS AS userStatus, + e.certificatenum as idNo, e.workcode AS workcode FROM ( SELECT * @@ -147,6 +151,7 @@ e.MOBILE AS telephone, d.departmentname AS departmentName, e.STATUS AS userStatus, + e.certificatenum as idNo, e.workcode AS workcode FROM ( SELECT * @@ -173,6 +178,7 @@ e.MOBILE AS telephone, d.departmentname AS departmentName, e.STATUS AS userStatus, + e.certificatenum as idNo, e.workcode AS workcode FROM ( SELECT * diff --git a/src/com/engine/salary/mapper/archive/SalaryArchiveMapper.xml b/src/com/engine/salary/mapper/archive/SalaryArchiveMapper.xml index 0ad41c310..a1fa6af6b 100644 --- a/src/com/engine/salary/mapper/archive/SalaryArchiveMapper.xml +++ b/src/com/engine/salary/mapper/archive/SalaryArchiveMapper.xml @@ -94,11 +94,13 @@ , t.employee_type , e.mobile , e.workcode + , e.certificatenum as idNo , e.lastname as username , e.status AS employeeStatus , e.companystartdate as companystartdate , e.enddate as dismissdate , e.status AS employeeStatus + ,e.certificatenum as idNo , d.departmentname AS departmentName , c.subcompanyname AS subcompanyName diff --git a/src/com/engine/salary/mapper/datacollection/AttendQuoteDataMapper.xml b/src/com/engine/salary/mapper/datacollection/AttendQuoteDataMapper.xml index b02390a48..234d990b3 100644 --- a/src/com/engine/salary/mapper/datacollection/AttendQuoteDataMapper.xml +++ b/src/com/engine/salary/mapper/datacollection/AttendQuoteDataMapper.xml @@ -163,7 +163,8 @@ e.lastname as username, d.departmentname AS departmentName, e.mobile, - e.workcode as job_num + e.workcode as job_num, + e.certificatenum as idNo diff --git a/src/com/engine/salary/mapper/datacollection/EmployMapper.xml b/src/com/engine/salary/mapper/datacollection/EmployMapper.xml index 23264778a..db4af3bf7 100644 --- a/src/com/engine/salary/mapper/datacollection/EmployMapper.xml +++ b/src/com/engine/salary/mapper/datacollection/EmployMapper.xml @@ -9,6 +9,7 @@ e.status, e.mobile, e.workcode, + e.certificatenum as idNo, 'false' as extEmp from hrmresource e left join hrmdepartment d on e.departmentid = d.id diff --git a/src/com/engine/salary/mapper/salaryacct/SalaryAcctEmployeeMapper.java b/src/com/engine/salary/mapper/salaryacct/SalaryAcctEmployeeMapper.java index c27b10ac8..3b97e3084 100644 --- a/src/com/engine/salary/mapper/salaryacct/SalaryAcctEmployeeMapper.java +++ b/src/com/engine/salary/mapper/salaryacct/SalaryAcctEmployeeMapper.java @@ -7,6 +7,7 @@ import org.apache.ibatis.annotations.Param; import java.util.Collection; import java.util.List; +import java.util.Set; /** * 薪资核算人员 @@ -16,7 +17,7 @@ import java.util.List; * @author qiantao * @version 1.0 **/ -public interface SalaryAcctEmployeeMapper { +public interface SalaryAcctEmployeeMapper { /** * 批量插入 @@ -117,4 +118,8 @@ public interface SalaryAcctEmployeeMapper { * @return 返回记录,没有返回null */ SalaryAcctEmployeePO getById(Long id); + + void lockByAcctEmpIds(@Param("lockStatus") Integer lockStatus, @Param("acctEmpIds") Set acctEmpIds); + + void lockByRecordId(@Param("lockStatus") Integer lockStatus, @Param("recordId") Long recordId); } diff --git a/src/com/engine/salary/mapper/salaryacct/SalaryAcctEmployeeMapper.xml b/src/com/engine/salary/mapper/salaryacct/SalaryAcctEmployeeMapper.xml index 06d86e035..cc1dc0e33 100644 --- a/src/com/engine/salary/mapper/salaryacct/SalaryAcctEmployeeMapper.xml +++ b/src/com/engine/salary/mapper/salaryacct/SalaryAcctEmployeeMapper.xml @@ -15,6 +15,7 @@ + @@ -52,7 +54,7 @@ INSERT INTO hrsa_salary_acct_emp( salary_acct_record_id, salary_sob_id, employee_id, tax_agent_id, salary_month, - creator, create_time, update_time, delete_type, tenant_key,employee_type) + creator, create_time, update_time, delete_type, tenant_key,employee_type,lock_status) VALUES ( @@ -66,14 +68,15 @@ #{emp.updateTime}, #{emp.deleteType}, #{emp.tenantKey}, - #{emp.employeeType} + #{emp.employeeType}, + #{emp.lockStatus} ) INSERT INTO hrsa_salary_acct_emp( salary_acct_record_id, salary_sob_id, employee_id, tax_agent_id, salary_month, - creator, create_time, update_time, delete_type, tenant_key,employee_type) + creator, create_time, update_time, delete_type, tenant_key,employee_type,lock_status) select @@ -87,7 +90,8 @@ #{emp.updateTime,jdbcType=DATE}, #{emp.deleteType,jdbcType=INTEGER}, #{emp.tenantKey,jdbcType=VARCHAR}, - #{emp.employeeType,jdbcType=INTEGER} + #{emp.employeeType,jdbcType=INTEGER}, + #{emp.lockStatus,jdbcType=INTEGER} from dual @@ -95,7 +99,7 @@ INSERT INTO hrsa_salary_acct_emp( salary_acct_record_id, salary_sob_id, employee_id, tax_agent_id, salary_month, - creator, create_time, update_time, delete_type, tenant_key,employee_type) + creator, create_time, update_time, delete_type, tenant_key,employee_type,lock_status) VALUES ( #{emp.salaryAcctRecordId}, @@ -108,7 +112,8 @@ #{emp.updateTime}, #{emp.deleteType}, #{emp.tenantKey}, - #{emp.employeeType} + #{emp.employeeType}, + #{emp.lockStatus} ) @@ -1144,6 +1149,7 @@ + @@ -1162,6 +1168,7 @@ , t.delete_type , t.tenant_key , t.employee_type + , t.lock_status @@ -1252,4 +1259,22 @@ FROM hrsa_salary_acct_emp t WHERE id = #{id} AND delete_type = 0 + + + UPDATE hrsa_salary_acct_emp + SET lock_status = #{lockStatus} + WHERE delete_type = 0 + AND id IN + + #{acctEmpId} + + + + + UPDATE hrsa_salary_acct_emp + SET lock_status = #{lockStatus} + WHERE delete_type = 0 + AND salary_acct_record_id =#{recordId} + + diff --git a/src/com/engine/salary/mapper/salaryacct/SalaryAcctSobConfigMapper.java b/src/com/engine/salary/mapper/salaryacct/SalaryAcctSobConfigMapper.java new file mode 100644 index 000000000..9d8e0525f --- /dev/null +++ b/src/com/engine/salary/mapper/salaryacct/SalaryAcctSobConfigMapper.java @@ -0,0 +1,80 @@ +package com.engine.salary.mapper.salaryacct; + +import com.engine.salary.entity.salaryacct.po.SalaryAcctSobConfigPO; +import org.apache.ibatis.annotations.Param; + +import java.util.Collection; +import java.util.List; + +public interface SalaryAcctSobConfigMapper { + + /** + * 查询所有记录 + * + * @return 返回集合,没有返回空List + */ + List listAll(); + + /** + * 条件查询 + * + * @return 返回集合,没有返回空List + */ + List listSome(SalaryAcctSobConfigPO salaryAcctSobConfig); + + /** + * 根据核算id查询 + * @param salaryAcctRecordId + * @return + */ + SalaryAcctSobConfigPO getBySalaryAcctRecordId(Long salaryAcctRecordId); + + /** + * 根据主键查询 + * + * @param id 主键 + * @return 返回记录,没有返回null + */ + SalaryAcctSobConfigPO getById(Long id); + + /** + * 新增,忽略null字段 + * + * @param salaryAcctSobConfig 新增的记录 + * @return 返回影响行数 + */ + int insertIgnoreNull(SalaryAcctSobConfigPO salaryAcctSobConfig); + + /** + * 修改,修改所有字段 + * + * @param salaryAcctSobConfig 修改的记录 + * @return 返回影响行数 + */ + int update(SalaryAcctSobConfigPO salaryAcctSobConfig); + + /** + * 修改,忽略null字段 + * + * @param salaryAcctSobConfig 修改的记录 + * @return 返回影响行数 + */ + int updateIgnoreNull(SalaryAcctSobConfigPO salaryAcctSobConfig); + + /** + * 删除记录 + * + * @param salaryAcctSobConfig 待删除的记录 + * @return 返回影响行数 + */ + int delete(SalaryAcctSobConfigPO salaryAcctSobConfig); + + /** + * 批量删除记录 + * @param ids 主键id集合 + */ + void deleteByIds(@Param("ids") Collection ids); + + void deleteBySalaryAcctRecordIds(@Param("salaryAcctRecordIds") Collection salaryAcctRecordIds); + +} \ No newline at end of file diff --git a/src/com/engine/salary/mapper/salaryacct/SalaryAcctSobConfigMapper.xml b/src/com/engine/salary/mapper/salaryacct/SalaryAcctSobConfigMapper.xml new file mode 100644 index 000000000..97cf9eafa --- /dev/null +++ b/src/com/engine/salary/mapper/salaryacct/SalaryAcctSobConfigMapper.xml @@ -0,0 +1,316 @@ + + + + + + + + + + + + + + + + + + + + + + + t + . + adjust_rule_config + , t.back_item_config + , t.basic_config + , t.check_rule_config + , t.create_time + , t.creator + , t.delete_type + , t.employee_field_config + , t.id + , t.item_config + , t.item_group_config + , t.salary_acct_record_id + , t.tenant_key + , t.update_time + + + + + + + + + + + + + + + + + INSERT INTO hrsa_salary_acct_sob_config + + + + adjust_rule_config, + + + back_item_config, + + + basic_config, + + + check_rule_config, + + + create_time, + + + creator, + + + delete_type, + + + employee_field_config, + + + id, + + + item_config, + + + item_group_config, + + + salary_acct_record_id, + + + tenant_key, + + + update_time, + + + + + #{adjustRuleConfig}, + + + #{backItemConfig}, + + + #{basicConfig}, + + + #{checkRuleConfig}, + + + #{createTime}, + + + #{creator}, + + + #{deleteType}, + + + #{employeeFieldConfig}, + + + #{id}, + + + #{itemConfig}, + + + #{itemGroupConfig}, + + + #{salaryAcctRecordId}, + + + #{tenantKey}, + + + #{updateTime}, + + + + + + + UPDATE hrsa_salary_acct_sob_config + + adjust_rule_config=#{adjustRuleConfig}, + back_item_config=#{backItemConfig}, + basic_config=#{basicConfig}, + check_rule_config=#{checkRuleConfig}, + create_time=#{createTime}, + creator=#{creator}, + delete_type=#{deleteType}, + employee_field_config=#{employeeFieldConfig}, + item_config=#{itemConfig}, + item_group_config=#{itemGroupConfig}, + salary_acct_record_id=#{salaryAcctRecordId}, + tenant_key=#{tenantKey}, + update_time=#{updateTime}, + + WHERE id = #{id} AND delete_type = 0 + + + + + + UPDATE hrsa_salary_acct_sob_config + + + adjust_rule_config=#{adjustRuleConfig}, + + + back_item_config=#{backItemConfig}, + + + basic_config=#{basicConfig}, + + + check_rule_config=#{checkRuleConfig}, + + + create_time=#{createTime}, + + + creator=#{creator}, + + + delete_type=#{deleteType}, + + + employee_field_config=#{employeeFieldConfig}, + + + item_config=#{itemConfig}, + + + item_group_config=#{itemGroupConfig}, + + + salary_acct_record_id=#{salaryAcctRecordId}, + + + tenant_key=#{tenantKey}, + + + update_time=#{updateTime}, + + + WHERE id = #{id} AND delete_type = 0 + + + + + + UPDATE hrsa_salary_acct_sob_config + SET delete_type=1 + WHERE id = #{id} + AND delete_type = 0 + + + + UPDATE hrsa_salary_acct_sob_config + SET delete_type = 1 + WHERE delete_type = 0 + AND id IN + + #{id} + + + + + UPDATE hrsa_salary_acct_sob_config + SET delete_type = 1 + WHERE delete_type = 0 + AND salary_acct_record_id IN + + #{salaryAcctRecordId} + + + + + \ No newline at end of file diff --git a/src/com/engine/salary/mapper/salarysob/SalarySobItemGroupMapper.java b/src/com/engine/salary/mapper/salarysob/SalarySobItemGroupMapper.java index 82324c399..30a1ec4f4 100644 --- a/src/com/engine/salary/mapper/salarysob/SalarySobItemGroupMapper.java +++ b/src/com/engine/salary/mapper/salarysob/SalarySobItemGroupMapper.java @@ -22,8 +22,6 @@ public interface SalarySobItemGroupMapper { */ List listSome(SalarySobItemGroupPO salarySobItemGroup); - List listSomeWithItemHide(SalarySobItemGroupPO build); - /** * 根据主键查询 * diff --git a/src/com/engine/salary/mapper/salarysob/SalarySobItemGroupMapper.xml b/src/com/engine/salary/mapper/salarysob/SalarySobItemGroupMapper.xml index bd29320f7..7b89d50d7 100644 --- a/src/com/engine/salary/mapper/salarysob/SalarySobItemGroupMapper.xml +++ b/src/com/engine/salary/mapper/salarysob/SalarySobItemGroupMapper.xml @@ -29,6 +29,7 @@ , t.creator , t.delete_type , t.tenant_key + , t.item_hide @@ -95,33 +96,6 @@ - - @@ -158,6 +132,9 @@ tenant_key, + + item_hide, + @@ -190,6 +167,9 @@ #{tenantKey}, + + #{itemHide}, + @@ -206,6 +186,7 @@ creator=#{creator}, delete_type=#{deleteType}, tenant_key=#{tenantKey}, + item_hide=#{itemHide}, WHERE id = #{id} AND delete_type = 0 @@ -242,6 +223,9 @@ tenant_key=#{tenantKey}, + + item_hide=#{itemHide}, + WHERE id = #{id} AND delete_type = 0 @@ -278,7 +262,7 @@ INSERT INTO hrsa_salary_sob_item_group(id, salary_sob_id, name, sorted_index, description, create_time, - update_time, creator, tenant_key) + update_time, creator, tenant_key,item_hide) VALUES ( @@ -290,13 +274,14 @@ #{item.createTime}, #{item.updateTime}, #{item.creator}, - #{item.tenantKey} + #{item.tenantKey}, + #{item.itemHide} ) INSERT INTO hrsa_salary_sob_item_group(id, salary_sob_id, name, sorted_index, description, create_time, - update_time, creator, tenant_key) + update_time, creator, tenant_key,item_hide) select @@ -308,14 +293,15 @@ #{item.createTime,jdbcType=DATE}, #{item.updateTime,jdbcType=DATE}, #{item.creator,jdbcType=DOUBLE}, - #{item.tenantKey,jdbcType=VARCHAR} + #{item.tenantKey,jdbcType=VARCHAR}, + #{item.itemHide,jdbcType=VARCHAR} from dual INSERT INTO hrsa_salary_sob_item_group(id, salary_sob_id, name, sorted_index, description, create_time, - update_time, creator, tenant_key) + update_time, creator, tenant_key,item_hide) VALUES ( #{item.id}, @@ -326,7 +312,8 @@ #{item.createTime}, #{item.updateTime}, #{item.creator}, - #{item.tenantKey} + #{item.tenantKey}, + #{item.itemHide} ) diff --git a/src/com/engine/salary/mapper/salarysob/SalarySobItemMapper.java b/src/com/engine/salary/mapper/salarysob/SalarySobItemMapper.java index 0900cfa60..dd2e00621 100644 --- a/src/com/engine/salary/mapper/salarysob/SalarySobItemMapper.java +++ b/src/com/engine/salary/mapper/salarysob/SalarySobItemMapper.java @@ -1,6 +1,5 @@ package com.engine.salary.mapper.salarysob; -import com.engine.salary.entity.salarysob.po.SalarySobItemHidePO; import com.engine.salary.entity.salarysob.po.SalarySobItemPO; import org.apache.ibatis.annotations.Param; @@ -24,7 +23,6 @@ public interface SalarySobItemMapper { */ List listSome(SalarySobItemPO salarySobItemPO); - List listBySalarySobIdWithHideItem(SalarySobItemPO salarySobItemPO); /** @@ -35,14 +33,7 @@ public interface SalarySobItemMapper { */ SalarySobItemPO getById(Long id); - /** - * 新增,忽略null字段 - * - * @param salarySobItemPO 新增的记录 - * @return 返回影响行数 - */ - int insertIgnoreNull(SalarySobItemPO salarySobItemPO); - + /** * 修改,修改所有字段 * @@ -50,7 +41,7 @@ public interface SalarySobItemMapper { * @return 返回影响行数 */ int update(SalarySobItemPO salarySobItemPO); - + /** * 修改,忽略null字段 * @@ -97,12 +88,6 @@ public interface SalarySobItemMapper { */ void deleteItemShowBySalarySobId(@Param("salarySobIds")Collection salarySobIds); - /** - * 插入薪资项目分组是否显示 - * @param salarySobItemHidePO - */ - void insertItemShow(SalarySobItemHidePO salarySobItemHidePO); - /** * 根据账套id以及薪资项目分组获取 * @param @@ -112,9 +97,4 @@ public interface SalarySobItemMapper { void deleteByGroupIds(@Param("groupIds") List needDeleteGroupIds); - /** - * 批量插入薪资项目分组是否显示 - * @param list - */ - void batchInsertItemShow(@Param("collection")List list); } \ No newline at end of file diff --git a/src/com/engine/salary/mapper/salarysob/SalarySobItemMapper.xml b/src/com/engine/salary/mapper/salarysob/SalarySobItemMapper.xml index ed7016175..2c30f2bf7 100644 --- a/src/com/engine/salary/mapper/salarysob/SalarySobItemMapper.xml +++ b/src/com/engine/salary/mapper/salarysob/SalarySobItemMapper.xml @@ -15,6 +15,7 @@ + @@ -37,6 +38,7 @@ , t.rounding_mode , t.pattern , t.value_type + , t.item_hide @@ -147,122 +149,6 @@ - - - - - - INSERT INTO hrsa_salary_sob_item - - - - create_time, - - - creator, - - - delete_type, - - - description, - - - formula_id, - - - id, - - - salary_item_id, - - - salary_sob_id, - - - salary_sob_item_group_id, - - - sorted_index, - - - tenant_key, - - - update_time, - - - can_delete, - - - - - #{createTime}, - - - #{creator}, - - - #{deleteType}, - - - #{description}, - - - #{formulaId}, - - - #{id}, - - - #{salaryItemId}, - - - #{salarySobId}, - - - #{salarySobItemGroupId}, - - - #{sortedIndex}, - - - #{tenantKey}, - - - #{updateTime}, - - - can_delete, - - - - UPDATE hrsa_salary_sob_item @@ -282,6 +168,7 @@ rounding_mode=#{roundingMode}, pattern=#{pattern}, value_type=#{valueType}, + item_hide=#{itemHide}, WHERE id = #{id} AND delete_type = 0 @@ -336,6 +223,9 @@ value_type=#{valueType}, + + item_hide=#{itemHide}, + WHERE id = #{id} AND delete_type = 0 @@ -382,7 +272,7 @@ INSERT INTO hrsa_salary_sob_item(salary_sob_id, salary_item_id, salary_sob_item_group_id, formula_id, - sorted_index, description, create_time, update_time, creator, delete_type, tenant_key,can_delete,rounding_mode,pattern,value_type) + sorted_index, description, create_time, update_time, creator, delete_type, tenant_key,can_delete,rounding_mode,pattern,value_type,item_hide) VALUES ( @@ -400,13 +290,14 @@ #{item.canDelete}, #{item.roundingMode}, #{item.pattern}, - #{item.valueType} + #{item.valueType}, + #{item.itemHide} ) INSERT INTO hrsa_salary_sob_item( salary_sob_id, salary_item_id, salary_sob_item_group_id, formula_id, - sorted_index, description, create_time, update_time, creator, delete_type, tenant_key,can_delete,rounding_mode,pattern,value_type) + sorted_index, description, create_time, update_time, creator, delete_type, tenant_key,can_delete,rounding_mode,pattern,value_type,item_hide) select @@ -424,14 +315,15 @@ #{item.canDelete,jdbcType=INTEGER}, #{item.roundingMode,jdbcType=INTEGER}, #{item.pattern,jdbcType=INTEGER}, - #{item.valueType,jdbcType=INTEGER} + #{item.valueType,jdbcType=INTEGER}, + #{item.itemHide,jdbcType=DOUBLE} from dual INSERT INTO hrsa_salary_sob_item( salary_sob_id, salary_item_id, salary_sob_item_group_id, formula_id, - sorted_index, description, create_time, update_time, creator, delete_type, tenant_key,can_delete,rounding_mode,pattern,value_type) + sorted_index, description, create_time, update_time, creator, delete_type, tenant_key,can_delete,rounding_mode,pattern,value_type,item_hide) VALUES ( #{item.salarySobId}, @@ -448,77 +340,12 @@ #{item.canDelete}, #{item.roundingMode}, #{item.pattern}, - #{item.valueType} + #{item.valueType}, + #{item.itemHide} ) - - insert into hrsa_salary_item_hide (id,salary_sob_id,salary_item_id,is_group,item_hide, - creator,tenant_key,create_time,update_time,delete_type) - VALUES (#{id},#{salarySobId},#{salaryItemId}, - #{isGroup},#{itemHide},#{creator}, - #{tenantKey},#{createTime},#{updateTime},0) - - - - insert into hrsa_salary_item_hide (id,salary_sob_id,salary_item_id,is_group,item_hide, - creator,tenant_key,create_time,update_time,delete_type) - VALUES - - ( - #{item.id}, - #{item.salarySobId}, - #{item.salaryItemId}, - #{item.isGroup}, - #{item.itemHide}, - #{item.creator}, - #{item.tenantKey}, - #{item.createTime}, - #{item.updateTime}, - 0 - ) - - - - insert into hrsa_salary_item_hide (id,salary_sob_id,salary_item_id,is_group,item_hide, - creator,tenant_key,create_time,update_time,delete_type) - - select - #{item.id,jdbcType=DOUBLE}, - #{item.salarySobId,jdbcType=DOUBLE}, - #{item.salaryItemId,jdbcType=DOUBLE}, - #{item.isGroup,jdbcType=INTEGER}, - #{item.itemHide,jdbcType=INTEGER}, - #{item.creator,jdbcType=DOUBLE}, - #{item.tenantKey,jdbcType=VARCHAR}, - #{item.createTime,jdbcType=DATE}, - #{item.updateTime,jdbcType=DATE}, - 0 - from dual - - - - - insert into hrsa_salary_item_hide (id,salary_sob_id,salary_item_id,is_group,item_hide, - creator,tenant_key,create_time,update_time,delete_type) - VALUES - ( - #{item.id}, - #{item.salarySobId}, - #{item.salaryItemId}, - #{item.isGroup}, - #{item.itemHide}, - #{item.creator}, - #{item.tenantKey}, - #{item.createTime}, - #{item.updateTime}, - 0 - ) - - - - UPDATE hrsa_salary_sob_item SET delete_type = 1 diff --git a/src/com/engine/salary/mapper/siarchives/SocialSchemeMapper.xml b/src/com/engine/salary/mapper/siarchives/SocialSchemeMapper.xml index 14bc0be8e..1dba6c07f 100644 --- a/src/com/engine/salary/mapper/siarchives/SocialSchemeMapper.xml +++ b/src/com/engine/salary/mapper/siarchives/SocialSchemeMapper.xml @@ -355,7 +355,7 @@