diff --git a/resource/WEB-INF/prop/hrmSalary.properties b/resource/WEB-INF/prop/hrmSalary.properties
index 11d134f08..c62ade2bb 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.2.240530.02
+version=2.14.3.2406.01
openFormulaForcedEditing=false
\ No newline at end of file
diff --git a/resource/sqlupgrade/DM/sql202406180103.sql b/resource/sqlupgrade/DM/sql202406180103.sql
new file mode 100644
index 000000000..0f51111b9
--- /dev/null
+++ b/resource/sqlupgrade/DM/sql202406180103.sql
@@ -0,0 +1,27 @@
+alter table hrsa_salary_acct_emp add subcompany_name varchar2(200) NULL;
+/
+
+alter table hrsa_salary_acct_emp add subcompany_id NUMBER null;
+/
+
+alter table hrsa_salary_acct_emp add department_name varchar2(200) NULL;
+/
+
+alter table hrsa_salary_acct_emp add department_id NUMBER null;
+/
+
+alter table hrsa_salary_acct_emp add jobtitle_name varchar2(200) NULL;
+/
+
+alter table hrsa_salary_acct_emp add jobtitle_id NUMBER NULL;
+/
+
+alter table hrsa_salary_acct_emp add jobcall varchar2(200) NULL;
+/
+
+alter table hrsa_salary_acct_emp add jobcall_id NUMBER NULL;
+/
+
+alter table hrsa_salary_acct_emp add status varchar2(200) NULL;
+/
+
diff --git a/resource/sqlupgrade/DM/sql202406180403.sql b/resource/sqlupgrade/DM/sql202406180403.sql
new file mode 100644
index 000000000..5e12f2f77
--- /dev/null
+++ b/resource/sqlupgrade/DM/sql202406180403.sql
@@ -0,0 +1,70 @@
+update hrsa_salary_acct_emp a
+set
+(
+ department_id ,
+ department_name,
+ subcompany_id ,
+ subcompany_name,
+ jobtitle_id ,
+ jobtitle_name ,
+ jobcall_id,
+ jobcall,
+ status
+)
+ =
+(
+ select
+ b.departmentId,
+ b.departmentName,
+ b.subcompanyid,
+ b.subcompanyName,
+ b.jobtitleId,
+ b.jobtitleName,
+ b.jobcallId,
+ b.jobcall,
+ b.status from
+ (
+ select
+ e.id as employeeId,
+ d.departmentname as departmentName,
+ d.id as departmentId,
+ sc.SUBCOMPANYNAME as subcompanyName,
+ sc.id as subcompanyid,
+ c.jobtitlename as jobtitleName,
+ c.id as jobtitleId,
+ e.status as status,
+ e.jobcall as jobcallId,
+ job.name as jobcall
+ from hrmresource e
+ left join hrmdepartment d on e.departmentid = d.id
+ left join hrmjobtitles c on e.jobtitle = c.id
+ left join HrmSubCompany sc on e.SUBCOMPANYID1=sc.id
+ left join hrmjobcall job on e.jobcall=job.id
+ where e.status not in (7) and (e.accounttype is null or e.accounttype = 0)
+ ) b
+ where a.employee_id = b.employeeId
+)
+where a.delete_type=0 and
+ exists (select 1 from (
+ select
+ e.id as employeeId,
+ d.departmentname as departmentName,
+ d.id as departmentId,
+ sc.SUBCOMPANYNAME as subcompanyName,
+ sc.id as subcompanyid,
+ c.jobtitlename as jobtitleName,
+ c.id as jobtitleId,
+ e.status as status,
+ e.jobcall as jobcallId,
+ job.name as jobcall
+ from hrmresource e
+ left join hrmdepartment d on e.departmentid = d.id
+ left join hrmjobtitles c on e.jobtitle = c.id
+ left join HrmSubCompany sc on e.SUBCOMPANYID1=sc.id
+ left join hrmjobcall job on e.jobcall=job.id
+ where e.status not in (7) and (e.accounttype is null or e.accounttype = 0)
+ ) b
+ where a.employee_id = b.employeeId
+ );
+/
+
diff --git a/resource/sqlupgrade/GS/sql202406180103.sql b/resource/sqlupgrade/GS/sql202406180103.sql
new file mode 100644
index 000000000..0f51111b9
--- /dev/null
+++ b/resource/sqlupgrade/GS/sql202406180103.sql
@@ -0,0 +1,27 @@
+alter table hrsa_salary_acct_emp add subcompany_name varchar2(200) NULL;
+/
+
+alter table hrsa_salary_acct_emp add subcompany_id NUMBER null;
+/
+
+alter table hrsa_salary_acct_emp add department_name varchar2(200) NULL;
+/
+
+alter table hrsa_salary_acct_emp add department_id NUMBER null;
+/
+
+alter table hrsa_salary_acct_emp add jobtitle_name varchar2(200) NULL;
+/
+
+alter table hrsa_salary_acct_emp add jobtitle_id NUMBER NULL;
+/
+
+alter table hrsa_salary_acct_emp add jobcall varchar2(200) NULL;
+/
+
+alter table hrsa_salary_acct_emp add jobcall_id NUMBER NULL;
+/
+
+alter table hrsa_salary_acct_emp add status varchar2(200) NULL;
+/
+
diff --git a/resource/sqlupgrade/GS/sql202406180403.sql b/resource/sqlupgrade/GS/sql202406180403.sql
new file mode 100644
index 000000000..5e12f2f77
--- /dev/null
+++ b/resource/sqlupgrade/GS/sql202406180403.sql
@@ -0,0 +1,70 @@
+update hrsa_salary_acct_emp a
+set
+(
+ department_id ,
+ department_name,
+ subcompany_id ,
+ subcompany_name,
+ jobtitle_id ,
+ jobtitle_name ,
+ jobcall_id,
+ jobcall,
+ status
+)
+ =
+(
+ select
+ b.departmentId,
+ b.departmentName,
+ b.subcompanyid,
+ b.subcompanyName,
+ b.jobtitleId,
+ b.jobtitleName,
+ b.jobcallId,
+ b.jobcall,
+ b.status from
+ (
+ select
+ e.id as employeeId,
+ d.departmentname as departmentName,
+ d.id as departmentId,
+ sc.SUBCOMPANYNAME as subcompanyName,
+ sc.id as subcompanyid,
+ c.jobtitlename as jobtitleName,
+ c.id as jobtitleId,
+ e.status as status,
+ e.jobcall as jobcallId,
+ job.name as jobcall
+ from hrmresource e
+ left join hrmdepartment d on e.departmentid = d.id
+ left join hrmjobtitles c on e.jobtitle = c.id
+ left join HrmSubCompany sc on e.SUBCOMPANYID1=sc.id
+ left join hrmjobcall job on e.jobcall=job.id
+ where e.status not in (7) and (e.accounttype is null or e.accounttype = 0)
+ ) b
+ where a.employee_id = b.employeeId
+)
+where a.delete_type=0 and
+ exists (select 1 from (
+ select
+ e.id as employeeId,
+ d.departmentname as departmentName,
+ d.id as departmentId,
+ sc.SUBCOMPANYNAME as subcompanyName,
+ sc.id as subcompanyid,
+ c.jobtitlename as jobtitleName,
+ c.id as jobtitleId,
+ e.status as status,
+ e.jobcall as jobcallId,
+ job.name as jobcall
+ from hrmresource e
+ left join hrmdepartment d on e.departmentid = d.id
+ left join hrmjobtitles c on e.jobtitle = c.id
+ left join HrmSubCompany sc on e.SUBCOMPANYID1=sc.id
+ left join hrmjobcall job on e.jobcall=job.id
+ where e.status not in (7) and (e.accounttype is null or e.accounttype = 0)
+ ) b
+ where a.employee_id = b.employeeId
+ );
+/
+
diff --git a/resource/sqlupgrade/JC/sql202406180103.sql b/resource/sqlupgrade/JC/sql202406180103.sql
new file mode 100644
index 000000000..0f51111b9
--- /dev/null
+++ b/resource/sqlupgrade/JC/sql202406180103.sql
@@ -0,0 +1,27 @@
+alter table hrsa_salary_acct_emp add subcompany_name varchar2(200) NULL;
+/
+
+alter table hrsa_salary_acct_emp add subcompany_id NUMBER null;
+/
+
+alter table hrsa_salary_acct_emp add department_name varchar2(200) NULL;
+/
+
+alter table hrsa_salary_acct_emp add department_id NUMBER null;
+/
+
+alter table hrsa_salary_acct_emp add jobtitle_name varchar2(200) NULL;
+/
+
+alter table hrsa_salary_acct_emp add jobtitle_id NUMBER NULL;
+/
+
+alter table hrsa_salary_acct_emp add jobcall varchar2(200) NULL;
+/
+
+alter table hrsa_salary_acct_emp add jobcall_id NUMBER NULL;
+/
+
+alter table hrsa_salary_acct_emp add status varchar2(200) NULL;
+/
+
diff --git a/resource/sqlupgrade/JC/sql202406180403.sql b/resource/sqlupgrade/JC/sql202406180403.sql
new file mode 100644
index 000000000..5e12f2f77
--- /dev/null
+++ b/resource/sqlupgrade/JC/sql202406180403.sql
@@ -0,0 +1,70 @@
+update hrsa_salary_acct_emp a
+set
+(
+ department_id ,
+ department_name,
+ subcompany_id ,
+ subcompany_name,
+ jobtitle_id ,
+ jobtitle_name ,
+ jobcall_id,
+ jobcall,
+ status
+)
+ =
+(
+ select
+ b.departmentId,
+ b.departmentName,
+ b.subcompanyid,
+ b.subcompanyName,
+ b.jobtitleId,
+ b.jobtitleName,
+ b.jobcallId,
+ b.jobcall,
+ b.status from
+ (
+ select
+ e.id as employeeId,
+ d.departmentname as departmentName,
+ d.id as departmentId,
+ sc.SUBCOMPANYNAME as subcompanyName,
+ sc.id as subcompanyid,
+ c.jobtitlename as jobtitleName,
+ c.id as jobtitleId,
+ e.status as status,
+ e.jobcall as jobcallId,
+ job.name as jobcall
+ from hrmresource e
+ left join hrmdepartment d on e.departmentid = d.id
+ left join hrmjobtitles c on e.jobtitle = c.id
+ left join HrmSubCompany sc on e.SUBCOMPANYID1=sc.id
+ left join hrmjobcall job on e.jobcall=job.id
+ where e.status not in (7) and (e.accounttype is null or e.accounttype = 0)
+ ) b
+ where a.employee_id = b.employeeId
+)
+where a.delete_type=0 and
+ exists (select 1 from (
+ select
+ e.id as employeeId,
+ d.departmentname as departmentName,
+ d.id as departmentId,
+ sc.SUBCOMPANYNAME as subcompanyName,
+ sc.id as subcompanyid,
+ c.jobtitlename as jobtitleName,
+ c.id as jobtitleId,
+ e.status as status,
+ e.jobcall as jobcallId,
+ job.name as jobcall
+ from hrmresource e
+ left join hrmdepartment d on e.departmentid = d.id
+ left join hrmjobtitles c on e.jobtitle = c.id
+ left join HrmSubCompany sc on e.SUBCOMPANYID1=sc.id
+ left join hrmjobcall job on e.jobcall=job.id
+ where e.status not in (7) and (e.accounttype is null or e.accounttype = 0)
+ ) b
+ where a.employee_id = b.employeeId
+ );
+/
+
diff --git a/resource/sqlupgrade/Mysql/sql202406180103.sql b/resource/sqlupgrade/Mysql/sql202406180103.sql
new file mode 100644
index 000000000..4217d5d31
--- /dev/null
+++ b/resource/sqlupgrade/Mysql/sql202406180103.sql
@@ -0,0 +1,10 @@
+ALTER TABLE hrsa_salary_acct_emp
+ADD COLUMN subcompany_name varchar(200) ,
+ADD COLUMN subcompany_id bigint(0),
+ADD COLUMN department_name varchar(200),
+ADD COLUMN department_id bigint(0),
+ADD COLUMN jobtitle_name varchar(200) ,
+ADD COLUMN jobtitle_id bigint(0) ,
+ADD COLUMN jobcall varchar(200),
+ADD COLUMN jobcall_id bigint(0),
+ADD COLUMN status varchar(200);
\ No newline at end of file
diff --git a/resource/sqlupgrade/Mysql/sql202406180403.sql b/resource/sqlupgrade/Mysql/sql202406180403.sql
new file mode 100644
index 000000000..c81607e2b
--- /dev/null
+++ b/resource/sqlupgrade/Mysql/sql202406180403.sql
@@ -0,0 +1,29 @@
+update hrsa_salary_acct_emp a INNER JOIN (
+ select e.id as employeeId,
+ d.departmentname as departmentName,
+ d.id as departmentId,
+ sc.SUBCOMPANYNAME as subcompanyName,
+ sc.id as subcompanyid,
+ c.jobtitlename as jobtitleName,
+ c.id as jobtitleId,
+ e.status as status,
+ e.jobcall as jobcallId,
+ job.name as jobcall
+ from hrmresource e
+ left join hrmdepartment d on e.departmentid = d.id
+ left join hrmjobtitles c on e.jobtitle = c.id
+ left join HrmSubCompany sc on e.SUBCOMPANYID1=sc.id
+ left join hrmjobcall job on e.jobcall=job.id
+ where e.status not in (7) and (e.accounttype is null or e.accounttype = 0)
+ ) as b
+on a.employee_id = b.employeeId
+ set a.department_id = b.departmentId,
+ a.department_name = b.departmentName,
+ a.subcompany_id = b.subcompanyid,
+ a.subcompany_name = b.subcompanyName,
+ a.jobtitle_id = b.jobtitleId,
+ a.jobtitle_name = b.jobtitleName,
+ a.jobcall_id = b.jobcallId,
+ a.jobcall = b.jobcall,
+ a.status = b.status
+where a.delete_type=0;
\ No newline at end of file
diff --git a/resource/sqlupgrade/Oracle/sql202406180103.sql b/resource/sqlupgrade/Oracle/sql202406180103.sql
new file mode 100644
index 000000000..ee99ea754
--- /dev/null
+++ b/resource/sqlupgrade/Oracle/sql202406180103.sql
@@ -0,0 +1,18 @@
+alter table hrsa_salary_acct_emp add subcompany_name varchar2(200) NULL
+/
+alter table hrsa_salary_acct_emp add subcompany_id NUMBER null
+/
+alter table hrsa_salary_acct_emp add department_name varchar2(200) NULL
+/
+alter table hrsa_salary_acct_emp add department_id NUMBER null
+/
+alter table hrsa_salary_acct_emp add jobtitle_name varchar2(200) NULL
+/
+alter table hrsa_salary_acct_emp add jobtitle_id NUMBER NULL
+/
+alter table hrsa_salary_acct_emp add jobcall varchar2(200) NULL
+/
+alter table hrsa_salary_acct_emp add jobcall_id NUMBER NULL
+/
+alter table hrsa_salary_acct_emp add status varchar2(200) NULL
+/
\ No newline at end of file
diff --git a/resource/sqlupgrade/Oracle/sql202406180403.sql b/resource/sqlupgrade/Oracle/sql202406180403.sql
new file mode 100644
index 000000000..246694499
--- /dev/null
+++ b/resource/sqlupgrade/Oracle/sql202406180403.sql
@@ -0,0 +1,69 @@
+update hrsa_salary_acct_emp a
+set
+(
+ department_id ,
+ department_name,
+ subcompany_id ,
+ subcompany_name,
+ jobtitle_id ,
+ jobtitle_name ,
+ jobcall_id,
+ jobcall,
+ status
+)
+ =
+(
+ select
+ b.departmentId,
+ b.departmentName,
+ b.subcompanyid,
+ b.subcompanyName,
+ b.jobtitleId,
+ b.jobtitleName,
+ b.jobcallId,
+ b.jobcall,
+ b.status from
+ (
+ select
+ e.id as employeeId,
+ d.departmentname as departmentName,
+ d.id as departmentId,
+ sc.SUBCOMPANYNAME as subcompanyName,
+ sc.id as subcompanyid,
+ c.jobtitlename as jobtitleName,
+ c.id as jobtitleId,
+ e.status as status,
+ e.jobcall as jobcallId,
+ job.name as jobcall
+ from hrmresource e
+ left join hrmdepartment d on e.departmentid = d.id
+ left join hrmjobtitles c on e.jobtitle = c.id
+ left join HrmSubCompany sc on e.SUBCOMPANYID1=sc.id
+ left join hrmjobcall job on e.jobcall=job.id
+ where e.status not in (7) and (e.accounttype is null or e.accounttype = 0)
+ ) b
+ where a.employee_id = b.employeeId
+)
+where a.delete_type=0 and
+ exists (select 1 from (
+ select
+ e.id as employeeId,
+ d.departmentname as departmentName,
+ d.id as departmentId,
+ sc.SUBCOMPANYNAME as subcompanyName,
+ sc.id as subcompanyid,
+ c.jobtitlename as jobtitleName,
+ c.id as jobtitleId,
+ e.status as status,
+ e.jobcall as jobcallId,
+ job.name as jobcall
+ from hrmresource e
+ left join hrmdepartment d on e.departmentid = d.id
+ left join hrmjobtitles c on e.jobtitle = c.id
+ left join HrmSubCompany sc on e.SUBCOMPANYID1=sc.id
+ left join hrmjobcall job on e.jobcall=job.id
+ where e.status not in (7) and (e.accounttype is null or e.accounttype = 0)
+ ) b
+ where a.employee_id = b.employeeId
+ )
+/
\ No newline at end of file
diff --git a/resource/sqlupgrade/PG/sql202406180103.sql b/resource/sqlupgrade/PG/sql202406180103.sql
new file mode 100644
index 000000000..59a96d245
--- /dev/null
+++ b/resource/sqlupgrade/PG/sql202406180103.sql
@@ -0,0 +1,9 @@
+alter table hrsa_salary_acct_emp add subcompany_name varchar(200);
+alter table hrsa_salary_acct_emp add subcompany_id bigint;
+alter table hrsa_salary_acct_emp add department_name varchar(200);
+alter table hrsa_salary_acct_emp add department_id bigint;
+alter table hrsa_salary_acct_emp add jobtitle_name varchar(200);
+alter table hrsa_salary_acct_emp add jobtitle_id bigint;
+alter table hrsa_salary_acct_emp add jobcall varchar(200);
+alter table hrsa_salary_acct_emp add jobcall_id bigint;
+alter table hrsa_salary_acct_emp add status varchar(200);
\ No newline at end of file
diff --git a/resource/sqlupgrade/PG/sql202406180403.sql b/resource/sqlupgrade/PG/sql202406180403.sql
new file mode 100644
index 000000000..a15174c5f
--- /dev/null
+++ b/resource/sqlupgrade/PG/sql202406180403.sql
@@ -0,0 +1,68 @@
+update hrsa_salary_acct_emp a
+set
+(
+ department_id ,
+ department_name,
+ subcompany_id ,
+ subcompany_name,
+ jobtitle_id ,
+ jobtitle_name ,
+ jobcall_id,
+ jobcall,
+ status
+)
+ =
+(
+ select
+ b.departmentId,
+ b.departmentName,
+ b.subcompanyid,
+ b.subcompanyName,
+ b.jobtitleId,
+ b.jobtitleName,
+ b.jobcallId,
+ b.jobcall,
+ b.status from
+ (
+ select
+ e.id as employeeId,
+ d.departmentname as departmentName,
+ d.id as departmentId,
+ sc.SUBCOMPANYNAME as subcompanyName,
+ sc.id as subcompanyid,
+ c.jobtitlename as jobtitleName,
+ c.id as jobtitleId,
+ e.status as status,
+ e.jobcall as jobcallId,
+ job.name as jobcall
+ from hrmresource e
+ left join hrmdepartment d on e.departmentid = d.id
+ left join hrmjobtitles c on e.jobtitle = c.id
+ left join HrmSubCompany sc on e.SUBCOMPANYID1=sc.id
+ left join hrmjobcall job on e.jobcall=job.id
+ where e.status not in (7) and (e.accounttype is null or e.accounttype = 0)
+ ) b
+ where a.employee_id = b.employeeId
+)
+where a.delete_type=0 and
+ exists (select 1 from (
+ select
+ e.id as employeeId,
+ d.departmentname as departmentName,
+ d.id as departmentId,
+ sc.SUBCOMPANYNAME as subcompanyName,
+ sc.id as subcompanyid,
+ c.jobtitlename as jobtitleName,
+ c.id as jobtitleId,
+ e.status as status,
+ e.jobcall as jobcallId,
+ job.name as jobcall
+ from hrmresource e
+ left join hrmdepartment d on e.departmentid = d.id
+ left join hrmjobtitles c on e.jobtitle = c.id
+ left join HrmSubCompany sc on e.SUBCOMPANYID1=sc.id
+ left join hrmjobcall job on e.jobcall=job.id
+ where e.status not in (7) and (e.accounttype is null or e.accounttype = 0)
+ ) b
+ where a.employee_id = b.employeeId
+ );
\ No newline at end of file
diff --git a/resource/sqlupgrade/SQLServer/sql202406180103.sql b/resource/sqlupgrade/SQLServer/sql202406180103.sql
new file mode 100644
index 000000000..87973812c
--- /dev/null
+++ b/resource/sqlupgrade/SQLServer/sql202406180103.sql
@@ -0,0 +1,11 @@
+ALTER TABLE hrsa_salary_acct_emp
+ADD subcompany_name varchar(200),
+subcompany_id bigint,
+department_name varchar(200),
+department_id bigint,
+jobtitle_name varchar(200),
+jobtitle_id bigint,
+jobcall varchar(200),
+jobcall_id bigint,
+status varchar(200)
+GO
\ No newline at end of file
diff --git a/resource/sqlupgrade/SQLServer/sql202406180403.sql b/resource/sqlupgrade/SQLServer/sql202406180403.sql
new file mode 100644
index 000000000..02b5785e9
--- /dev/null
+++ b/resource/sqlupgrade/SQLServer/sql202406180403.sql
@@ -0,0 +1,31 @@
+UPDATE hrsa_salary_acct_emp
+set department_id = b.departmentId,
+ department_name = b.departmentName,
+ subcompany_id = b.subcompanyid,
+ subcompany_name = b.subcompanyName,
+ jobtitle_id = b.jobtitleId,
+ jobtitle_name = b.jobtitleName,
+ jobcall_id = b.jobcallId,
+ jobcall = b.jobcall,
+ status = b.status
+FROM hrsa_salary_acct_emp a INNER JOIN (
+ select e.id as employeeId,
+ d.departmentname as departmentName,
+ d.id as departmentId,
+ sc.SUBCOMPANYNAME as subcompanyName,
+ sc.id as subcompanyid,
+ c.jobtitlename as jobtitleName,
+ c.id as jobtitleId,
+ e.status as status,
+ e.jobcall as jobcallId,
+ job.name as jobcall
+ from hrmresource e
+ left join hrmdepartment d on e.departmentid = d.id
+ left join hrmjobtitles c on e.jobtitle = c.id
+ left join HrmSubCompany sc on e.SUBCOMPANYID1=sc.id
+ left join hrmjobcall job on e.jobcall=job.id
+ where e.status not in (7) and (e.accounttype is null or e.accounttype = 0)
+ ) as b
+on a.employee_id = b.employeeId
+WHERE a.delete_type=0
+GO
\ No newline at end of file
diff --git a/resource/sqlupgrade/ST/sql202406180103.sql b/resource/sqlupgrade/ST/sql202406180103.sql
new file mode 100644
index 000000000..0f51111b9
--- /dev/null
+++ b/resource/sqlupgrade/ST/sql202406180103.sql
@@ -0,0 +1,27 @@
+alter table hrsa_salary_acct_emp add subcompany_name varchar2(200) NULL;
+/
+
+alter table hrsa_salary_acct_emp add subcompany_id NUMBER null;
+/
+
+alter table hrsa_salary_acct_emp add department_name varchar2(200) NULL;
+/
+
+alter table hrsa_salary_acct_emp add department_id NUMBER null;
+/
+
+alter table hrsa_salary_acct_emp add jobtitle_name varchar2(200) NULL;
+/
+
+alter table hrsa_salary_acct_emp add jobtitle_id NUMBER NULL;
+/
+
+alter table hrsa_salary_acct_emp add jobcall varchar2(200) NULL;
+/
+
+alter table hrsa_salary_acct_emp add jobcall_id NUMBER NULL;
+/
+
+alter table hrsa_salary_acct_emp add status varchar2(200) NULL;
+/
+
diff --git a/resource/sqlupgrade/ST/sql202406180403.sql b/resource/sqlupgrade/ST/sql202406180403.sql
new file mode 100644
index 000000000..5e12f2f77
--- /dev/null
+++ b/resource/sqlupgrade/ST/sql202406180403.sql
@@ -0,0 +1,70 @@
+update hrsa_salary_acct_emp a
+set
+(
+ department_id ,
+ department_name,
+ subcompany_id ,
+ subcompany_name,
+ jobtitle_id ,
+ jobtitle_name ,
+ jobcall_id,
+ jobcall,
+ status
+)
+ =
+(
+ select
+ b.departmentId,
+ b.departmentName,
+ b.subcompanyid,
+ b.subcompanyName,
+ b.jobtitleId,
+ b.jobtitleName,
+ b.jobcallId,
+ b.jobcall,
+ b.status from
+ (
+ select
+ e.id as employeeId,
+ d.departmentname as departmentName,
+ d.id as departmentId,
+ sc.SUBCOMPANYNAME as subcompanyName,
+ sc.id as subcompanyid,
+ c.jobtitlename as jobtitleName,
+ c.id as jobtitleId,
+ e.status as status,
+ e.jobcall as jobcallId,
+ job.name as jobcall
+ from hrmresource e
+ left join hrmdepartment d on e.departmentid = d.id
+ left join hrmjobtitles c on e.jobtitle = c.id
+ left join HrmSubCompany sc on e.SUBCOMPANYID1=sc.id
+ left join hrmjobcall job on e.jobcall=job.id
+ where e.status not in (7) and (e.accounttype is null or e.accounttype = 0)
+ ) b
+ where a.employee_id = b.employeeId
+)
+where a.delete_type=0 and
+ exists (select 1 from (
+ select
+ e.id as employeeId,
+ d.departmentname as departmentName,
+ d.id as departmentId,
+ sc.SUBCOMPANYNAME as subcompanyName,
+ sc.id as subcompanyid,
+ c.jobtitlename as jobtitleName,
+ c.id as jobtitleId,
+ e.status as status,
+ e.jobcall as jobcallId,
+ job.name as jobcall
+ from hrmresource e
+ left join hrmdepartment d on e.departmentid = d.id
+ left join hrmjobtitles c on e.jobtitle = c.id
+ left join HrmSubCompany sc on e.SUBCOMPANYID1=sc.id
+ left join hrmjobcall job on e.jobcall=job.id
+ where e.status not in (7) and (e.accounttype is null or e.accounttype = 0)
+ ) b
+ where a.employee_id = b.employeeId
+ );
+/
+
diff --git a/resource/wiki/常用查询.md b/resource/wiki/常用查询.md
index 594b14bf8..13ba2242f 100644
--- a/resource/wiki/常用查询.md
+++ b/resource/wiki/常用查询.md
@@ -18,4 +18,4 @@ left join hrmresource e on e.id= result.employee_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 effective_time <= now() and c.name='基本工资' order by effective_time desc
\ No newline at end of file
+ c.name='基本工资' order by effective_time desc
\ No newline at end of file
diff --git a/src/com/engine/salary/constant/des.json b/src/com/engine/salary/constant/des.json
index 0b35d5f80..f970e4448 100644
--- a/src/com/engine/salary/constant/des.json
+++ b/src/com/engine/salary/constant/des.json
@@ -980,7 +980,31 @@
"infinite": true
}
]
- }
+ },
+ {
+ "name": "DAYSINMONTH",
+ "chineseName": "返回指定月的天数",
+ "description": "返回指定月的天数。",
+ "example": "DAYSINMONTH('2024-01-01')",
+ "result": "31",
+ "paramDescs": [
+ "*日期*(必选)"
+ ],
+ "formatString": "DAYSINMONTH(日期)",
+ "paramArray": [],
+ "paramData": [],
+ "returnType": "number",
+ "type": "function",
+ "validForm": "days_in_month",
+ "paramCount": -1,
+ "paramStatuses": [
+ {
+ "dataType": "date",
+ "must": true,
+ "infinite": true
+ }
+ ]
+ },
],
"dataType": "date",
"name": "日期函数",
diff --git a/src/com/engine/salary/entity/salaryBill/bo/SalaryBillBO.java b/src/com/engine/salary/entity/salaryBill/bo/SalaryBillBO.java
index f4d5b3643..e7cc9af35 100644
--- a/src/com/engine/salary/entity/salaryBill/bo/SalaryBillBO.java
+++ b/src/com/engine/salary/entity/salaryBill/bo/SalaryBillBO.java
@@ -261,7 +261,7 @@ public class SalaryBillBO {
}
Util_Message.store(messageBean);
} catch (IOException e) {
- e.printStackTrace();
+ log.error("消息发送失败",e);
}
}
diff --git a/src/com/engine/salary/entity/salaryBill/param/SalaryPreviewParam.java b/src/com/engine/salary/entity/salaryBill/param/SalaryPreviewParam.java
new file mode 100644
index 000000000..8d48e5118
--- /dev/null
+++ b/src/com/engine/salary/entity/salaryBill/param/SalaryPreviewParam.java
@@ -0,0 +1,32 @@
+package com.engine.salary.entity.salaryBill.param;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * 工资单预览参数
+ *
Copyright: Copyright (c) 2024
+ * Company: 泛微软件
+ *
+ * @author qiantao
+ * @version 1.0
+ **/
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class SalaryPreviewParam {
+
+ /**
+ * 工资单id
+ */
+ private Long salaryInfoId;
+
+ /**
+ * 员工id
+ */
+ private Long recipient;
+
+}
diff --git a/src/com/engine/salary/entity/salaryacct/bo/SalaryAcctEmployeeBO.java b/src/com/engine/salary/entity/salaryacct/bo/SalaryAcctEmployeeBO.java
index 39499174c..60058a59c 100644
--- a/src/com/engine/salary/entity/salaryacct/bo/SalaryAcctEmployeeBO.java
+++ b/src/com/engine/salary/entity/salaryacct/bo/SalaryAcctEmployeeBO.java
@@ -15,6 +15,7 @@ import com.google.common.collect.Sets;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.math.NumberUtils;
+import weaver.general.Util;
import java.util.*;
import java.util.stream.Collectors;
@@ -121,9 +122,9 @@ public class SalaryAcctEmployeeBO {
}
public static List convert2Employee(Collection employee,
- SalaryAcctRecordPO salaryAcctRecord,
- List salaryArchiveTaxAgentData,
- Long employeeId) {
+ SalaryAcctRecordPO salaryAcctRecord,
+ List salaryArchiveTaxAgentData,
+ Long employeeId) {
if (CollectionUtils.isEmpty(employee)) {
return Collections.emptyList();
}
@@ -147,6 +148,15 @@ public class SalaryAcctEmployeeBO {
.employeeId(emp.getEmployeeId())
.employeeType(emp.isExtEmp() ? 1 : 0)
.taxAgentId(taxAgentId)
+ .departmentId(emp.getDepartmentId())
+ .departmentName(emp.getDepartmentName())
+ .jobcall(emp.getJobcall())
+ .jobcallId(emp.getJobcallId())
+ .jobtitleId(emp.getJobtitleId())
+ .jobtitleName(emp.getJobtitleName())
+ .subcompanyId(emp.getSubcompanyid())
+ .subcompanyName(emp.getSubcompanyName())
+ .status(emp.getStatus())
.creator(employeeId)
.createTime(now)
.updateTime(now)
@@ -159,6 +169,24 @@ public class SalaryAcctEmployeeBO {
return resultList;
}
+ /**
+ * 核算人员信息替换实时信息
+ * @param simpleEmployee
+ * @param acctEmployeePO
+ */
+ public static void copyAcctEmp(DataCollectionEmployee simpleEmployee, SalaryAcctEmployeePO acctEmployeePO) {
+ simpleEmployee.setDepartmentId(acctEmployeePO.getDepartmentId());
+ simpleEmployee.setDepartmentName(acctEmployeePO.getDepartmentName());
+ simpleEmployee.setSubcompanyid(acctEmployeePO.getSubcompanyId());
+ simpleEmployee.setSubcompanyName(acctEmployeePO.getSubcompanyName());
+ simpleEmployee.setJobcallId(acctEmployeePO.getJobcallId());
+ simpleEmployee.setJobcall(acctEmployeePO.getJobcall());
+ simpleEmployee.setJobtitleId(acctEmployeePO.getJobtitleId());
+ simpleEmployee.setJobtitleName(acctEmployeePO.getJobtitleName());
+ simpleEmployee.setStatusName(UserStatusEnum.getDefaultLabelByValue(new Integer(Util.null2s(acctEmployeePO.getStatus(), "1"))));
+ simpleEmployee.setStatus(acctEmployeePO.getStatus());
+ }
+
public static List> partitionByEmployeeId(List salaryAcctEmployees) {
if (CollectionUtils.isEmpty(salaryAcctEmployees)) {
diff --git a/src/com/engine/salary/entity/salaryacct/bo/SalaryAcctResultBO.java b/src/com/engine/salary/entity/salaryacct/bo/SalaryAcctResultBO.java
index 121092602..4989bd7f2 100644
--- a/src/com/engine/salary/entity/salaryacct/bo/SalaryAcctResultBO.java
+++ b/src/com/engine/salary/entity/salaryacct/bo/SalaryAcctResultBO.java
@@ -20,6 +20,7 @@ import com.engine.salary.entity.salarysob.dto.SalarySobItemGroupDTO;
import com.engine.salary.entity.salarysob.po.*;
import com.engine.salary.entity.taxagent.po.TaxAgentPO;
import com.engine.salary.enums.SalaryValueTypeEnum;
+import com.engine.salary.enums.UserStatusEnum;
import com.engine.salary.enums.salaryaccounting.LockStatusEnum;
import com.engine.salary.enums.salaryitem.SalaryDataTypeEnum;
import com.engine.salary.util.SalaryEntityUtil;
@@ -31,6 +32,7 @@ import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.math.NumberUtils;
import org.springframework.beans.BeanUtils;
+import weaver.general.Util;
import java.lang.reflect.Field;
import java.util.*;
@@ -251,7 +253,7 @@ public class SalaryAcctResultBO {
* @param taxAgents
* @param consolidatedTaxSalaryAcctEmpIds
* @param customBackCalcParameters
- * @param isBackCalc
+ * @param dynamicEmpInfo
* @return
*/
public static List