Merge branch 'release/2.17.1.2411.01' into custom/京贵投资

# Conflicts:
#	src/com/engine/salary/entity/salaryacct/bo/SalaryAcctRecordBO.java
#	src/com/engine/salary/report/wrapper/SalaryStatisticsEmployeeWrapper.java
#	src/com/engine/salary/service/impl/SalaryEmployeeServiceImpl.java
#	src/com/engine/salary/timer/AutoSyncEmpArchiveStartDateJob.java
#	src/com/engine/salary/wrapper/SalaryAcctRecordWrapper.java
This commit is contained in:
Harryxzy 2024-12-05 15:25:22 +08:00
commit 74bc71a24b
138 changed files with 3124 additions and 365 deletions

View File

@ -1,5 +1,5 @@
log=false
defaultCloseNonStandard149=true
AESEncryptScrect=990EB004A1C862721C1513AE90038C9E
version=2.16.1.2410.01
version=2.17.1.2411.01
openFormulaForcedEditing=false

View File

@ -0,0 +1,19 @@
CREATE TABLE hrsa_salary_approval_rule (
id NUMBER(38,0) primary key,
salary_sob_id NUMBER(38,0),
open_approval NUMBER,
approval_group_setting clob,
workflow_url varchar2(500) DEFAULT NULL,
delete_type NUMBER,
create_time DATE default sysdate,
update_time DATE default sysdate,
creator NUMBER(38,0)
);
/
alter table hrsa_salary_acct_record add approval_id varchar2(50);
/
alter table hrsa_salary_acct_record add approval_status varchar2(50);
/

View File

@ -0,0 +1,3 @@
alter table hrsa_salary_acct_emp add account_type NUMBER;
/

View File

@ -0,0 +1,5 @@
ALTER TABLE hrsa_page_list_setting add (
default_setting number
);
/

View File

@ -0,0 +1,8 @@
ALTER TABLE hrsa_page_list_template add (
system_type number
);
/
update hrsa_page_list_template set system_type=0;
/

View File

@ -0,0 +1,19 @@
CREATE TABLE hrsa_salary_approval_rule (
id NUMBER(38,0) primary key,
salary_sob_id NUMBER(38,0),
open_approval NUMBER,
approval_group_setting clob,
workflow_url varchar2(500) DEFAULT NULL,
delete_type NUMBER,
create_time DATE default sysdate,
update_time DATE default sysdate,
creator NUMBER(38,0)
);
/
alter table hrsa_salary_acct_record add approval_id varchar2(50);
/
alter table hrsa_salary_acct_record add approval_status varchar2(50);
/

View File

@ -0,0 +1,3 @@
alter table hrsa_salary_acct_emp add account_type NUMBER;
/

View File

@ -0,0 +1,5 @@
ALTER TABLE hrsa_page_list_setting add (
default_setting number
);
/

View File

@ -0,0 +1,8 @@
ALTER TABLE hrsa_page_list_template add (
system_type number
);
/
update hrsa_page_list_template set system_type=0;
/

View File

@ -0,0 +1,19 @@
CREATE TABLE hrsa_salary_approval_rule (
id NUMBER(38,0) primary key,
salary_sob_id NUMBER(38,0),
open_approval NUMBER,
approval_group_setting clob,
workflow_url varchar2(500) DEFAULT NULL,
delete_type NUMBER,
create_time DATE default sysdate,
update_time DATE default sysdate,
creator NUMBER(38,0)
);
/
alter table hrsa_salary_acct_record add approval_id varchar2(50);
/
alter table hrsa_salary_acct_record add approval_status varchar2(50);
/

View File

@ -0,0 +1,3 @@
alter table hrsa_salary_acct_emp add account_type NUMBER;
/

View File

@ -0,0 +1,5 @@
ALTER TABLE hrsa_page_list_setting add (
default_setting number
);
/

View File

@ -0,0 +1,8 @@
ALTER TABLE hrsa_page_list_template add (
system_type number
);
/
update hrsa_page_list_template set system_type=0;
/

View File

@ -0,0 +1,16 @@
CREATE TABLE hrsa_salary_approval_rule (
id bigint NOT NULL,
salary_sob_id bigint NOT NULL,
open_approval int NOT NULL,
approval_group_setting text NULL,
workflow_url varchar(500) NULL DEFAULT NULL,
delete_type int NOT NULL,
create_time datetime NOT NULL ,
update_time datetime NOT NULL,
creator bigint NOT NULL,
PRIMARY KEY (id)
);
alter table hrsa_salary_acct_record add approval_id varchar(50);
alter table hrsa_salary_acct_record add approval_status varchar(50);

View File

@ -0,0 +1 @@
ALTER TABLE hrsa_salary_acct_emp ADD COLUMN account_type int(0);

View File

@ -0,0 +1 @@
ALTER TABLE hrsa_page_list_setting ADD COLUMN default_setting int;

View File

@ -0,0 +1,3 @@
ALTER TABLE hrsa_page_list_template ADD COLUMN system_type int;
update hrsa_page_list_template set system_type=0;

View File

@ -0,0 +1,18 @@
CREATE TABLE hrsa_salary_approval_rule (
id NUMBER(38,0) primary key,
salary_sob_id NUMBER(38,0),
open_approval NUMBER,
approval_group_setting clob,
workflow_url varchar2(500) DEFAULT NULL,
delete_type NUMBER,
create_time DATE default sysdate,
update_time DATE default sysdate,
creator NUMBER(38,0)
)
/
alter table hrsa_salary_acct_record add approval_id varchar2(50)
/
alter table hrsa_salary_acct_record add approval_status varchar2(50)
/

View File

@ -0,0 +1,2 @@
alter table hrsa_salary_acct_emp add account_type NUMBER
/

View File

@ -0,0 +1,4 @@
ALTER TABLE hrsa_page_list_setting add (
default_setting number
)
/

View File

@ -0,0 +1,7 @@
ALTER TABLE hrsa_page_list_template add (
system_type number
)
/
update hrsa_page_list_template set system_type=0
/

View File

@ -0,0 +1,18 @@
CREATE TABLE hrsa_salary_approval_rule (
id bigint primary key,
salary_sob_id bigint,
open_approval int,
approval_group_setting text,
workflow_url varchar(500) DEFAULT NULL,
delete_type int,
create_time timestamp,
update_time timestamp,
creator bigint
)
/
alter table hrsa_salary_acct_record add approval_id varchar(50)
/
alter table hrsa_salary_acct_record add approval_status varchar(50)
/

View File

@ -0,0 +1 @@
alter table hrsa_salary_acct_emp add account_type int;

View File

@ -0,0 +1 @@
ALTER TABLE hrsa_page_list_setting ADD COLUMN default_setting int ;

View File

@ -0,0 +1,3 @@
ALTER TABLE hrsa_page_list_template ADD COLUMN system_type int ;
update hrsa_page_list_template set system_type=0;

View File

@ -0,0 +1,19 @@
CREATE TABLE hrsa_salary_approval_rule (
id bigint NOT NULL,
salary_sob_id bigint NOT NULL,
open_approval int NOT NULL,
approval_group_setting text NULL,
workflow_url varchar(500)NULL DEFAULT NULL,
delete_type int NOT NULL,
create_time datetime NOT NULL ,
update_time datetime NOT NULL,
creator bigint NOT NULL,
PRIMARY KEY (id)
)
GO
alter table hrsa_salary_acct_record add approval_id varchar(50)
GO
alter table hrsa_salary_acct_record add approval_status varchar(50)
GO

View File

@ -0,0 +1,2 @@
ALTER TABLE hrsa_salary_acct_emp ADD account_type int
GO

View File

@ -0,0 +1,2 @@
ALTER TABLE hrsa_page_list_setting ADD default_setting int NULL
GO

View File

@ -0,0 +1,5 @@
ALTER TABLE hrsa_page_list_template ADD system_type int NULL
GO
update hrsa_page_list_template set system_type=0
GO

View File

@ -0,0 +1,19 @@
CREATE TABLE hrsa_salary_approval_rule (
id NUMBER(38,0) primary key,
salary_sob_id NUMBER(38,0),
open_approval NUMBER,
approval_group_setting clob,
workflow_url varchar2(500) DEFAULT NULL,
delete_type NUMBER,
create_time DATE default sysdate,
update_time DATE default sysdate,
creator NUMBER(38,0)
);
/
alter table hrsa_salary_acct_record add approval_id varchar2(50);
/
alter table hrsa_salary_acct_record add approval_status varchar2(50);
/

View File

@ -0,0 +1,3 @@
alter table hrsa_salary_acct_emp add account_type NUMBER;
/

View File

@ -0,0 +1,5 @@
ALTER TABLE hrsa_page_list_setting add (
default_setting number
);
/

View File

@ -0,0 +1,8 @@
ALTER TABLE hrsa_page_list_template add (
system_type number
);
/
update hrsa_page_list_template set system_type=0;
/

View File

@ -25,5 +25,5 @@ where item.name = '工资薪金合计'
left join hrsa_salary_item c on c.id=i.salary_item_id
left join hrsa_tax_agent t on a.tax_agent_id=t.id
where a.delete_type=0 and i.delete_type=0 and t.delete_type=0 and c.delete_type=0
and a.employee_id=人员id and t.name=扣缴义务人名称
c.name='基本工资' order by effective_time desc
and a.employee_id=人员id and t.name=扣缴义务人名称
and c.name='基本工资' order by effective_time desc

View File

@ -7,6 +7,7 @@ import com.engine.salary.enums.salaryarchive.SalaryArchiveListTypeEnum;
import com.engine.salary.service.SalaryArchiveExcelService;
import com.engine.salary.service.impl.SalaryArchiveExcelServiceImpl;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import weaver.conn.RecordSet;
import weaver.general.Util;
import weaver.hrm.User;
@ -45,6 +46,17 @@ public class BatEditSalaryExcelAction implements Action {
this.operatorField = operatorField;
}
// 是否执行action的字段, 0代表不执行其余代表执行
private String enableField;
public String getEnableField() {
return enableField;
}
public void setEnableField(String enableField) {
this.enableField = enableField;
}
@Override
public String execute(RequestInfo requestInfo) {
try {
@ -53,6 +65,11 @@ public class BatEditSalaryExcelAction implements Action {
Map<String, String> fieldMap = Arrays.stream(properties).collect(Collectors.toMap(Property::getName,
property -> Util.null2String(property.getValue())));
String enable = fieldMap.get(enableField);
if (StringUtils.isNotBlank(enable) && enable.equals("0")) {
// 不执行action
return SUCCESS;
}
String docId = fieldMap.get(batSalaryExcelField);
RecordSet rs = new RecordSet();

View File

@ -7,6 +7,7 @@ import com.engine.salary.enums.salaryarchive.SalaryArchiveListTypeEnum;
import com.engine.salary.service.SalaryArchiveExcelService;
import com.engine.salary.service.impl.SalaryArchiveExcelServiceImpl;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import weaver.conn.RecordSet;
import weaver.general.Util;
import weaver.hrm.User;
@ -46,6 +47,17 @@ public class CheckBatEditSalaryExcelAction implements Action {
this.operatorField = operatorField;
}
// 是否执行action的字段, 0代表不执行其余代表执行
private String enableField;
public String getEnableField() {
return enableField;
}
public void setEnableField(String enableField) {
this.enableField = enableField;
}
@Override
public String execute(RequestInfo requestInfo) {
try {
@ -53,6 +65,11 @@ public class CheckBatEditSalaryExcelAction implements Action {
Map<String, String> fieldMap = Arrays.stream(properties).collect(Collectors.toMap(Property::getName,
property -> Util.null2String(property.getValue())));
String enable = fieldMap.get(enableField);
if (StringUtils.isNotBlank(enable) && enable.equals("0")) {
// 不执行action
return SUCCESS;
}
String docId = fieldMap.get(batSalaryExcelField);
RecordSet rs = new RecordSet();

View File

@ -7,6 +7,7 @@ import com.engine.salary.service.impl.SISchemeServiceImpl;
import com.engine.salary.util.SalaryEntityUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import weaver.conn.RecordSet;
import weaver.general.Util;
import weaver.hrm.User;
@ -42,6 +43,17 @@ public class CheckEditSIArchiveAction implements Action {
this.tableName = tableName;
}
// 是否执行action的字段, 0代表不执行其余代表执行
private String enableField;
public String getEnableField() {
return enableField;
}
public void setEnableField(String enableField) {
this.enableField = enableField;
}
@Override
public String execute(RequestInfo requestInfo) {
try {
@ -49,6 +61,11 @@ public class CheckEditSIArchiveAction implements Action {
Map<String, String> fieldMap = Arrays.stream(properties).collect(Collectors.toMap(Property::getName,
property -> Util.null2String(property.getValue())));
String enable = fieldMap.get(enableField);
if (StringUtils.isNotBlank(enable) && enable.equals("0")) {
// 不执行action
return SUCCESS;
}
RecordSet rs = new RecordSet();
String queryImageId = "select salaryname,processfield from " + tableName + " where workflowid = ?";

View File

@ -6,6 +6,7 @@ import com.engine.salary.util.SalaryEntityUtil;
import com.engine.salary.wrapper.SalaryArchiveWrapper;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import weaver.conn.RecordSet;
import weaver.general.Util;
import weaver.hrm.User;
@ -38,6 +39,17 @@ public class CheckEditSalaryAction implements Action {
this.tableName = tableName;
}
// 是否执行action的字段, 0代表不执行其余代表执行
private String enableField;
public String getEnableField() {
return enableField;
}
public void setEnableField(String enableField) {
this.enableField = enableField;
}
@Override
public String execute(RequestInfo requestInfo) {
try {
@ -46,7 +58,11 @@ public class CheckEditSalaryAction implements Action {
Map<String, String> fieldMap = Arrays.stream(properties).collect(Collectors.toMap(Property::getName,
property -> Util.null2String(property.getValue())));
String enable = fieldMap.get(enableField);
if (StringUtils.isNotBlank(enable) && enable.equals("0")) {
// 不执行action
return SUCCESS;
}
RecordSet rs = new RecordSet();
String queryImageId = "select salaryname,processfield from " + tableName + " where workflowid = ?";

View File

@ -60,6 +60,17 @@ public class CheckInitSalaryAction implements Action {
this.tableName = tableName;
}
// 是否执行action的字段, 0代表不执行其余代表执行
private String enableField;
public String getEnableField() {
return enableField;
}
public void setEnableField(String enableField) {
this.enableField = enableField;
}
@Override
public String execute(RequestInfo requestInfo) {
try {
@ -68,6 +79,11 @@ public class CheckInitSalaryAction implements Action {
Map<String, String> fieldMap = Arrays.stream(properties).collect(Collectors.toMap(Property::getName,
property -> Util.null2String(property.getValue())));
String enable = fieldMap.get(enableField);
if (StringUtils.isNotBlank(enable) && enable.equals("0")) {
// 不执行action
return SUCCESS;
}
RecordSet rs = new RecordSet();

View File

@ -9,6 +9,7 @@ import com.engine.salary.util.SalaryEntityUtil;
import com.engine.salary.util.db.MapperProxyFactory;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import weaver.conn.RecordSet;
import weaver.general.Util;
import weaver.hrm.User;
@ -49,6 +50,17 @@ public class CheckStayAddToPaySIArchiveAction implements Action {
this.tableName = tableName;
}
// 是否执行action的字段, 0代表不执行其余代表执行
private String enableField;
public String getEnableField() {
return enableField;
}
public void setEnableField(String enableField) {
this.enableField = enableField;
}
@Override
public String execute(RequestInfo requestInfo) {
try {
@ -57,6 +69,12 @@ public class CheckStayAddToPaySIArchiveAction implements Action {
Map<String, String> fieldMap = Arrays.stream(properties).collect(Collectors.toMap(Property::getName,
property -> Util.null2String(property.getValue())));
String enable = fieldMap.get(enableField);
if (StringUtils.isNotBlank(enable) && enable.equals("0")) {
// 不执行action
return SUCCESS;
}
RecordSet rs = new RecordSet();
String queryImageId = "select salaryname,processfield from " + tableName + " where workflowid = ?";

View File

@ -9,6 +9,7 @@ import com.engine.salary.util.SalaryEntityUtil;
import com.engine.salary.util.db.MapperProxyFactory;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import weaver.conn.RecordSet;
import weaver.general.Util;
import weaver.hrm.User;
@ -49,6 +50,17 @@ public class CheckStayDelToStopSIArchiveAction implements Action {
this.tableName = tableName;
}
// 是否执行action的字段, 0代表不执行其余代表执行
private String enableField;
public String getEnableField() {
return enableField;
}
public void setEnableField(String enableField) {
this.enableField = enableField;
}
@Override
public String execute(RequestInfo requestInfo) {
try {
@ -57,6 +69,11 @@ public class CheckStayDelToStopSIArchiveAction implements Action {
Map<String, String> fieldMap = Arrays.stream(properties).collect(Collectors.toMap(Property::getName,
property -> Util.null2String(property.getValue())));
String enable = fieldMap.get(enableField);
if (StringUtils.isNotBlank(enable) && enable.equals("0")) {
// 不执行action
return SUCCESS;
}
RecordSet rs = new RecordSet();
String queryImageId = "select salaryname,processfield from " + tableName + " where workflowid = ?";

View File

@ -54,6 +54,17 @@ public class CheckStopSalaryAction implements Action {
this.tableName = tableName;
}
// 是否执行action的字段, 0代表不执行其余代表执行
private String enableField;
public String getEnableField() {
return enableField;
}
public void setEnableField(String enableField) {
this.enableField = enableField;
}
@Override
public String execute(RequestInfo requestInfo) {
try {
@ -62,6 +73,11 @@ public class CheckStopSalaryAction implements Action {
Map<String, String> fieldMap = Arrays.stream(properties).collect(Collectors.toMap(Property::getName,
property -> Util.null2String(property.getValue())));
String enable = fieldMap.get(enableField);
if (StringUtils.isNotBlank(enable) && enable.equals("0")) {
// 不执行action
return SUCCESS;
}
RecordSet rs = new RecordSet();
String queryImageId = "select salaryname,processfield from " + tableName + " where workflowid = ?";

View File

@ -11,6 +11,7 @@ import com.engine.salary.util.SalaryEntityUtil;
import com.engine.salary.util.db.MapperProxyFactory;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import weaver.conn.RecordSet;
import weaver.general.Util;
import weaver.hrm.User;
@ -18,7 +19,10 @@ import weaver.interfaces.workflow.action.Action;
import weaver.soa.workflow.request.Property;
import weaver.soa.workflow.request.RequestInfo;
import java.util.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
@ -47,6 +51,17 @@ public class CopyToPaySIArchiveAction implements Action {
this.tableName = tableName;
}
// 是否执行action的字段, 0代表不执行其余代表执行
private String enableField;
public String getEnableField() {
return enableField;
}
public void setEnableField(String enableField) {
this.enableField = enableField;
}
@Override
public String execute(RequestInfo requestInfo) {
try {
@ -54,6 +69,11 @@ public class CopyToPaySIArchiveAction implements Action {
Map<String, String> fieldMap = Arrays.stream(properties).collect(Collectors.toMap(Property::getName,
property -> Util.null2String(property.getValue())));
String enable = fieldMap.get(enableField);
if (StringUtils.isNotBlank(enable) && enable.equals("0")) {
// 不执行action
return SUCCESS;
}
RecordSet rs = new RecordSet();
String queryImageId = "select salaryname,processfield from " + tableName + " where workflowid = ?";

View File

@ -7,6 +7,7 @@ import com.engine.salary.service.impl.SISchemeServiceImpl;
import com.engine.salary.util.SalaryEntityUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import weaver.conn.RecordSet;
import weaver.general.Util;
import weaver.hrm.User;
@ -41,6 +42,17 @@ public class EditSIArchiveAction implements Action {
this.tableName = tableName;
}
// 是否执行action的字段, 0代表不执行其余代表执行
private String enableField;
public String getEnableField() {
return enableField;
}
public void setEnableField(String enableField) {
this.enableField = enableField;
}
@Override
public String execute(RequestInfo requestInfo) {
try {
@ -48,6 +60,11 @@ public class EditSIArchiveAction implements Action {
Map<String, String> fieldMap = Arrays.stream(properties).collect(Collectors.toMap(Property::getName,
property -> Util.null2String(property.getValue())));
String enable = fieldMap.get(enableField);
if (StringUtils.isNotBlank(enable) && enable.equals("0")) {
// 不执行action
return SUCCESS;
}
RecordSet rs = new RecordSet();
String queryImageId = "select salaryname,processfield from " + tableName + " where workflowid = ?";

View File

@ -6,6 +6,7 @@ import com.engine.salary.util.SalaryEntityUtil;
import com.engine.salary.wrapper.SalaryArchiveWrapper;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import weaver.conn.RecordSet;
import weaver.general.Util;
import weaver.hrm.User;
@ -38,6 +39,17 @@ public class EditSalaryAction implements Action {
this.tableName = tableName;
}
// 是否执行action的字段, 0代表不执行其余代表执行
private String enableField;
public String getEnableField() {
return enableField;
}
public void setEnableField(String enableField) {
this.enableField = enableField;
}
@Override
public String execute(RequestInfo requestInfo) {
try {
@ -46,7 +58,11 @@ public class EditSalaryAction implements Action {
Map<String, String> fieldMap = Arrays.stream(properties).collect(Collectors.toMap(Property::getName,
property -> Util.null2String(property.getValue())));
String enable = fieldMap.get(enableField);
if (StringUtils.isNotBlank(enable) && enable.equals("0")) {
// 不执行action
return SUCCESS;
}
RecordSet rs = new RecordSet();
String queryImageId = "select salaryname,processfield from " + tableName + " where workflowid = ?";

View File

@ -15,6 +15,7 @@ import com.engine.salary.util.SalaryEntityUtil;
import com.engine.salary.util.db.MapperProxyFactory;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import weaver.conn.RecordSet;
import weaver.general.Util;
import weaver.hrm.User;
@ -59,6 +60,17 @@ public class EditToPaySIArchiveAction implements Action {
this.tableName = tableName;
}
// 是否执行action的字段, 0代表不执行其余代表执行
private String enableField;
public String getEnableField() {
return enableField;
}
public void setEnableField(String enableField) {
this.enableField = enableField;
}
@Override
public String execute(RequestInfo requestInfo) {
try {
@ -66,6 +78,11 @@ public class EditToPaySIArchiveAction implements Action {
Map<String, String> fieldMap = Arrays.stream(properties).collect(Collectors.toMap(Property::getName,
property -> Util.null2String(property.getValue())));
String enable = fieldMap.get(enableField);
if (StringUtils.isNotBlank(enable) && enable.equals("0")) {
// 不执行action
return SUCCESS;
}
RecordSet rs = new RecordSet();
String queryImageId = "select salaryname,processfield from " + tableName + " where workflowid = ?";

View File

@ -15,6 +15,7 @@ import com.engine.salary.util.SalaryEntityUtil;
import com.engine.salary.util.db.MapperProxyFactory;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import weaver.conn.RecordSet;
import weaver.general.Util;
import weaver.hrm.User;
@ -59,6 +60,17 @@ public class EditToStopSIArchiveAction implements Action {
this.tableName = tableName;
}
// 是否执行action的字段, 0代表不执行其余代表执行
private String enableField;
public String getEnableField() {
return enableField;
}
public void setEnableField(String enableField) {
this.enableField = enableField;
}
@Override
public String execute(RequestInfo requestInfo) {
try {
@ -66,6 +78,11 @@ public class EditToStopSIArchiveAction implements Action {
Map<String, String> fieldMap = Arrays.stream(properties).collect(Collectors.toMap(Property::getName,
property -> Util.null2String(property.getValue())));
String enable = fieldMap.get(enableField);
if (StringUtils.isNotBlank(enable) && enable.equals("0")) {
// 不执行action
return SUCCESS;
}
RecordSet rs = new RecordSet();
String queryImageId = "select salaryname,processfield from " + tableName + " where workflowid = ?";

View File

@ -63,6 +63,17 @@ public class InitSalaryAction implements Action {
this.tableName = tableName;
}
// 是否执行action的字段, 0代表不执行其余代表执行
private String enableField;
public String getEnableField() {
return enableField;
}
public void setEnableField(String enableField) {
this.enableField = enableField;
}
@Override
public String execute(RequestInfo requestInfo) {
try {
@ -70,6 +81,11 @@ public class InitSalaryAction implements Action {
Map<String, String> fieldMap = Arrays.stream(properties).collect(Collectors.toMap(Property::getName,
property -> Util.null2String(property.getValue())));
String enable = fieldMap.get(enableField);
if (StringUtils.isNotBlank(enable) && enable.equals("0")) {
// 不执行action
return SUCCESS;
}
RecordSet rs = new RecordSet();
String queryImageId = "select salaryname,processfield from " + tableName + " where workflowid = ?";

View File

@ -70,6 +70,17 @@ public class RehireAction implements Action {
this.tableName = tableName;
}
// 是否执行action的字段, 0代表不执行其余代表执行
private String enableField;
public String getEnableField() {
return enableField;
}
public void setEnableField(String enableField) {
this.enableField = enableField;
}
@Override
public String execute(RequestInfo requestInfo) {
try {
@ -78,6 +89,12 @@ public class RehireAction implements Action {
Map<String, String> fieldMap = Arrays.stream(properties).collect(Collectors.toMap(Property::getName,
property -> Util.null2String(property.getValue())));
String enable = fieldMap.get(enableField);
if (StringUtils.isNotBlank(enable) && enable.equals("0")) {
// 不执行action
return SUCCESS;
}
RecordSet rs = new RecordSet();
String queryImageId = "select salaryname,processfield from " + tableName + " where workflowid = ?";

View File

@ -65,12 +65,30 @@ public class SendSalaryAction implements Action {
*/
private String sendBy;
// 是否执行action的字段, 0代表不执行其余代表执行
private String enableField;
public String getEnableField() {
return enableField;
}
public void setEnableField(String enableField) {
this.enableField = enableField;
}
@Override
public String execute(RequestInfo requestInfo) {
Property[] properties = requestInfo.getMainTableInfo().getProperty();
Map<String, String> fieldMap = Arrays.stream(properties).collect(Collectors.toMap(Property::getName,
property -> Util.null2String(property.getValue())));
String enable = fieldMap.get(enableField);
if (StringUtils.isNotBlank(enable) && enable.equals("0")) {
// 不执行action
return SUCCESS;
}
String idStr = fieldMap.get(idFieldName);
if (StringUtils.isBlank(idStr)) {
requestInfo.getRequestManager().setMessage("核算记录id或工资单id不能为空");

View File

@ -12,6 +12,7 @@ import com.engine.salary.util.SalaryEntityUtil;
import com.engine.salary.util.db.MapperProxyFactory;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import weaver.conn.RecordSet;
import weaver.general.Util;
import weaver.hrm.User;
@ -54,6 +55,17 @@ public class StayAddToPaySIArchiveAction implements Action {
this.tableName = tableName;
}
// 是否执行action的字段, 0代表不执行其余代表执行
private String enableField;
public String getEnableField() {
return enableField;
}
public void setEnableField(String enableField) {
this.enableField = enableField;
}
@Override
public String execute(RequestInfo requestInfo) {
try {
@ -62,6 +74,11 @@ public class StayAddToPaySIArchiveAction implements Action {
Map<String, String> fieldMap = Arrays.stream(properties).collect(Collectors.toMap(Property::getName,
property -> Util.null2String(property.getValue())));
String enable = fieldMap.get(enableField);
if (StringUtils.isNotBlank(enable) && enable.equals("0")) {
// 不执行action
return SUCCESS;
}
RecordSet rs = new RecordSet();
String queryImageId = "select salaryname,processfield from " + tableName + " where workflowid = ?";

View File

@ -14,6 +14,7 @@ import com.engine.salary.util.SalaryEntityUtil;
import com.engine.salary.util.db.MapperProxyFactory;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import weaver.conn.RecordSet;
import weaver.general.Util;
import weaver.hrm.User;
@ -55,6 +56,17 @@ public class StayDelToStopSIArchiveAction implements Action {
this.tableName = tableName;
}
// 是否执行action的字段, 0代表不执行其余代表执行
private String enableField;
public String getEnableField() {
return enableField;
}
public void setEnableField(String enableField) {
this.enableField = enableField;
}
@Override
public String execute(RequestInfo requestInfo) {
try {
@ -63,6 +75,11 @@ public class StayDelToStopSIArchiveAction implements Action {
Map<String, String> fieldMap = Arrays.stream(properties).collect(Collectors.toMap(Property::getName,
property -> Util.null2String(property.getValue())));
String enable = fieldMap.get(enableField);
if (StringUtils.isNotBlank(enable) && enable.equals("0")) {
// 不执行action
return SUCCESS;
}
RecordSet rs = new RecordSet();
String queryImageId = "select salaryname,processfield from " + tableName + " where workflowid = ?";

View File

@ -60,6 +60,17 @@ public class StopSalaryAction implements Action {
this.tableName = tableName;
}
// 是否执行action的字段, 0代表不执行其余代表执行
private String enableField;
public String getEnableField() {
return enableField;
}
public void setEnableField(String enableField) {
this.enableField = enableField;
}
@Override
public String execute(RequestInfo requestInfo) {
try {
@ -68,6 +79,11 @@ public class StopSalaryAction implements Action {
Map<String, String> fieldMap = Arrays.stream(properties).collect(Collectors.toMap(Property::getName,
property -> Util.null2String(property.getValue())));
String enable = fieldMap.get(enableField);
if (StringUtils.isNotBlank(enable) && enable.equals("0")) {
// 不执行action
return SUCCESS;
}
RecordSet rs = new RecordSet();

View File

@ -55,12 +55,32 @@ public class UpdateSISchemeDetailAction implements Action {
this.tableName = tableName;
}
// 是否执行action的字段, 0代表不执行其余代表执行
private String enableField;
public String getEnableField() {
return enableField;
}
public void setEnableField(String enableField) {
this.enableField = enableField;
}
@Override
public String execute(RequestInfo requestInfo) {
try {
RequestManager requestManager = requestInfo.getRequestManager();
User user = requestManager.getUser();
Property[] properties = requestInfo.getMainTableInfo().getProperty();
Map<String, String> fieldMap = Arrays.stream(properties).collect(Collectors.toMap(Property::getName,
property -> Util.null2String(property.getValue())));
String enable = fieldMap.get(enableField);
if (StringUtils.isNotBlank(enable) && enable.equals("0")) {
// 不执行action
return SUCCESS;
}
DetailTable[] detailTables = requestInfo.getDetailTableInfo().getDetailTable();
List<Map<String, String>> detailList = new ArrayList<>();
if (detailTables.length > 0) {

View File

@ -0,0 +1,78 @@
package com.engine.salary.action;
import cn.hutool.core.util.NumberUtil;
import com.engine.common.util.ServiceUtil;
import com.engine.salary.entity.salaryacct.po.SalaryAcctRecordPO;
import com.engine.salary.mapper.salaryacct.SalaryAcctRecordMapper;
import com.engine.salary.service.SalaryAcctRecordService;
import com.engine.salary.service.impl.SalaryAcctRecordServiceImpl;
import com.engine.salary.util.db.MapperProxyFactory;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import weaver.general.Util;
import weaver.hrm.User;
import weaver.interfaces.workflow.action.Action;
import weaver.soa.workflow.request.Property;
import weaver.soa.workflow.request.RequestInfo;
import java.util.Arrays;
import java.util.Map;
import java.util.stream.Collectors;
/**
* @ClassName updateSalaryApprovalStatusAction
* @author Harryxzy
* @date 2024/4/24 15:44
* @description 跟新薪资核算审批状态
*/
@Slf4j
public class updateSalaryApprovalStatusAction implements Action {
private SalaryAcctRecordService getSalaryAcctRecordService(User user) {
return ServiceUtil.getService(SalaryAcctRecordServiceImpl.class, user);
}
private SalaryAcctRecordMapper getSalaryAcctRecordMapper() {
return MapperProxyFactory.getProxy(SalaryAcctRecordMapper.class);
}
// 记录薪资核算记录id的字段
private String salaryAcctRecordIdField;
// 修改为对应的状态
private String status;
@Override
public String execute(RequestInfo requestInfo) {
try {
if (StringUtils.isEmpty(salaryAcctRecordIdField)) {
requestInfo.getRequestManager().setMessage("薪资核算记录id字段不能为空");
return FAILURE_AND_CONTINUE;
}
Property[] properties = requestInfo.getMainTableInfo().getProperty();
Map<String, String> fieldMap = Arrays.stream(properties).collect(Collectors.toMap(Property::getName,
property -> Util.null2String(property.getValue())));
String salaryAcctRecordId = fieldMap.get(salaryAcctRecordIdField);
if (!NumberUtil.isNumber(salaryAcctRecordId)) {
requestInfo.getRequestManager().setMessage("核算记录id不为数字");
return FAILURE_AND_CONTINUE;
}
User user = new User();
user.setUid(1);
user.setLoginid("sysadmin");
SalaryAcctRecordPO salaryAcctRecordPO = getSalaryAcctRecordService(user).getById(Long.valueOf(salaryAcctRecordId));
if (salaryAcctRecordPO == null) {
requestInfo.getRequestManager().setMessage("核算记录不存在或已被删除");
return FAILURE_AND_CONTINUE;
}
salaryAcctRecordPO.setApprovalStatus(status);
getSalaryAcctRecordMapper().updateIgnoreNull(salaryAcctRecordPO);
} catch (Exception e) {
log.error("审批状态更新失败", e);
requestInfo.getRequestManager().setMessage(e.getMessage());
return FAILURE_AND_CONTINUE;
}
return SUCCESS;
}
}

View File

@ -114,6 +114,17 @@ public class DataCollectionEmployee {
@SalaryFormulaVar(defaultLabel = "证件号码", labelId = 98624, dataType = "string")
private String idNo;
@SalaryFormulaVar(defaultLabel = "账号类型", labelId = 98622, dataType = "string")
private String accountTypeName;
/**
* 账号类型
* 0/null主账号 1次账号
*/
@SalaryFormulaVar(defaultLabel = "账号类型编码", labelId = 98622, dataType = "string")
private Integer accountType;
//是否是系统管理员
private Boolean isAdmin;

View File

@ -146,6 +146,8 @@ public class SalaryBillBO {
.workcode(simpleEmployee.getWorkcode())
.idNo(simpleEmployee.getIdNo())
.statusName(simpleEmployee.getStatusName())
.accountType(simpleEmployee.getAccountType())
.accountTypeName(simpleEmployee.getAccountTypeName())
.build();
List<SalaryTemplateSalaryItemListDTO> items = employeeInformation.getItems();
// 1.SalaryAcctResultBO.buildEmployeeFieldName()的取法

View File

@ -8,6 +8,7 @@ import com.engine.salary.entity.salaryacct.po.SalaryAcctRecordPO;
import com.engine.salary.entity.salaryarchive.dto.SalaryArchiveDataDTO;
import com.engine.salary.entity.salaryarchive.dto.SalaryArchiveTaxAgentDataDTO;
import com.engine.salary.entity.taxagent.po.TaxAgentPO;
import com.engine.salary.enums.AccountTypeEnum;
import com.engine.salary.enums.UserStatusEnum;
import com.engine.salary.util.SalaryEntityUtil;
import com.google.common.collect.Lists;
@ -66,6 +67,7 @@ public class SalaryAcctEmployeeBO {
.departmentId(e.getDepartmentId())
.departmentName(e.getDepartmentName())
.status(UserStatusEnum.getDefaultLabelByValue(NumberUtils.toInt(e.getStatus())))
.accountType(AccountTypeEnum.getDefaultLabelByValue(e.getAccountType()))
.mobile(simpleEmployee.getMobile())
.jobNum(simpleEmployee.getWorkcode())
.hireDate(simpleEmployee.getCompanystartdate())
@ -110,6 +112,7 @@ public class SalaryAcctEmployeeBO {
.subcompanyId(emp.getSubcompanyid())
.subcompanyName(emp.getSubcompanyName())
.status(emp.getStatus())
.accountType(emp.getAccountType())
.creator(employeeId)
.createTime(now)
.updateTime(now)
@ -138,6 +141,8 @@ public class SalaryAcctEmployeeBO {
simpleEmployee.setJobtitleName(acctEmployeePO.getJobtitleName());
simpleEmployee.setStatusName(UserStatusEnum.getDefaultLabelByValue(new Integer(Util.null2s(acctEmployeePO.getStatus(), "1"))));
simpleEmployee.setStatus(acctEmployeePO.getStatus());
simpleEmployee.setAccountType(acctEmployeePO.getAccountType());
simpleEmployee.setAccountTypeName(AccountTypeEnum.getDefaultLabelByValue(acctEmployeePO.getAccountType()));
}

View File

@ -92,6 +92,8 @@ public class SalaryAcctFormulaBO {
.sex(sexName)
.status(simpleEmployee.getStatus())
.statusName(simpleEmployee.getStatusName())
.accountType(simpleEmployee.getAccountType())
.accountTypeName(simpleEmployee.getAccountTypeName())
.departmentName(simpleEmployee.getDepartmentName())
.departmentId(simpleEmployee.getDepartmentId())
.subcompanyName(simpleEmployee.getSubcompanyName())
@ -115,6 +117,8 @@ public class SalaryAcctFormulaBO {
.sex(sexName)
.status(simpleEmployee.getStatus())
.statusName(simpleEmployee.getStatusName())
.accountType(simpleEmployee.getAccountType())
.accountTypeName(simpleEmployee.getAccountTypeName())
.departmentName(salaryAcctEmployeePO.getDepartmentName())
.departmentId(salaryAcctEmployeePO.getDepartmentId())
.subcompanyName(salaryAcctEmployeePO.getSubcompanyName())

View File

@ -51,6 +51,10 @@ public class SalaryAcctRecordBO {
List<SalarySendCheckDTO> salarySendCheckResult,
List<TaxAgentPO> taxAgentPOS,
User user) {
List<TaxAgentPO> taxAgentPOS,
List<Long> needApprovalSalarySobIds,
boolean approvalCanFile,
boolean approvalCanReCalc) {
if (CollectionUtils.isEmpty(salaryAcctRecordPOS)) {
return Collections.emptyList();
}
@ -76,16 +80,22 @@ public class SalaryAcctRecordBO {
if(!Objects.equals(salaryAcctRecordPO.getBackCalcStatus(),NumberUtils.INTEGER_ONE) && !cannotDeleteEmpIds.contains(user.getUID())){
btnList.add(new WeaTableOperate("删除", null, "1"));
}
btnList.add(new WeaTableOperate("归档", null, "2"));
if (approvalCanFile || !needApprovalSalarySobIds.contains(salaryAcctRecordPO.getSalarySobId())) {
btnList.add(new WeaTableOperate("归档", null, "2"));
}
} else if (SalaryAcctRecordStatusEnum.ARCHIVED == salaryAcctRecordStatusEnum && ( salarySendMap.get(salaryAcctRecordPO.getId()) ==Boolean.TRUE ) ){
btnList.add(new WeaTableOperate("查看", null, "3"));
btnList.add(new WeaTableOperate("重新核算", null, "4"));
if (approvalCanReCalc || !needApprovalSalarySobIds.contains(salaryAcctRecordPO.getSalarySobId())) {
btnList.add(new WeaTableOperate("重新核算", null, "4"));
}
if(salaryAcctRecordPO.getBackCalcStatus() == null || salaryAcctRecordPO.getBackCalcStatus() == NumberUtils.INTEGER_ZERO) {
btnList.add(new WeaTableOperate("回算", null, "5"));
}
} else {
btnList.add(new WeaTableOperate("查看", null, "3"));
btnList.add(new WeaTableOperate("重新核算", null, "4"));
if (approvalCanReCalc || !needApprovalSalarySobIds.contains(salaryAcctRecordPO.getSalarySobId())) {
btnList.add(new WeaTableOperate("重新核算", null, "4"));
}
}
return SalaryAcctRecordListDTO.builder()
.id(salaryAcctRecordPO.getId())
@ -103,6 +113,7 @@ public class SalaryAcctRecordBO {
.accountantName(usernameMap.getOrDefault(salaryAcctRecordPO.getCreator(), StringUtils.EMPTY))
.updateTime(SalaryDateUtil.getFormatLocalDateTime(salaryAcctRecordPO.getUpdateTime()))
.description(salaryAcctRecordPO.getDescription())
.approvalStatus(salaryAcctRecordPO.getApprovalStatus())
.operate(btnList)
.build();
}).collect(Collectors.toList());

View File

@ -20,6 +20,7 @@ import com.engine.salary.entity.salarysob.dto.SalarySobItemDTO;
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.AccountTypeEnum;
import com.engine.salary.enums.SalaryValueTypeEnum;
import com.engine.salary.enums.UserStatusEnum;
import com.engine.salary.enums.salaryaccounting.LockStatusEnum;
@ -310,6 +311,10 @@ public class SalaryAcctResultBO {
map.put("status", e.getStatus());
} else if ("statusName".equals(salarySobEmpField.getFieldCode())) {
map.put("statusName", UserStatusEnum.getDefaultLabelByValue(new Integer(Util.null2s(e.getStatus(), "1"))));
} else if ("accountType".equals(salarySobEmpField.getFieldCode())) {
map.put("accountType", e.getAccountType());
} else if ("accountTypeName".equals(salarySobEmpField.getFieldCode())) {
map.put("accountTypeName", AccountTypeEnum.getDefaultLabelByValue(e.getAccountType()));
} else {
map.put(salarySobEmpField.getFieldCode(), fieldValueMap.get(salarySobEmpField.getFieldCode()));
}
@ -397,6 +402,10 @@ public class SalaryAcctResultBO {
map.put("status", salaryAcctEmployee.getStatus());
} else if ("statusName".equals(salarySobEmpField.getFieldCode())) {
map.put("statusName", UserStatusEnum.getDefaultLabelByValue(new Integer(Util.null2s(salaryAcctEmployee.getStatus(), "1"))));
} else if ("accountType".equals(salarySobEmpField.getFieldCode())) {
map.put("accountType", salaryAcctEmployee.getAccountType());
} else if ("accountTypeName".equals(salarySobEmpField.getFieldCode())) {
map.put("accountTypeName", AccountTypeEnum.getDefaultLabelByValue(salaryAcctEmployee.getAccountType()));
} else {
map.put(salarySobEmpField.getFieldCode(), fieldValueMap.get(salarySobEmpField.getFieldCode()));
}

View File

@ -30,7 +30,7 @@ public class SalaryAccEmployeeListDTO {
@TableTitle(title = "姓名", dataIndex = "employeeName", key = "employeeName")
private String employeeName;
//个税扣缴义务人id")
//个税扣缴义务人id
private Long taxAgentId;
@ -38,30 +38,28 @@ public class SalaryAccEmployeeListDTO {
@TableTitle(title = "个税扣缴义务人", dataIndex = "taxAgentName", key = "taxAgentName")
private String taxAgentName;
//部门id")
//部门id
private Long departmentId;
//部门")
@TableTitle(title = "部门", dataIndex = "departmentName", key = "departmentName")
private String departmentName;
//手机号
@TableTitle(title = "手机号", dataIndex = "mobile", key = "mobile")
private String mobile;
//工号")
@TableTitle(title = "工号", dataIndex = "jobNum", key = "jobNum")
private String jobNum;
//员工状态")
@TableTitle(title = "员工状态", dataIndex = "status", key = "status")
private String status;
@TableTitle(title = "账号类型", dataIndex = "accountType", key = "accountType")
private String accountType;
//入职日期")
@TableTitle(title = "入职日期", dataIndex = "hireDate", key = "hireDate")
private String hireDate;

View File

@ -73,6 +73,9 @@ public class SalaryAcctRecordListDTO {
@TableTitle(title = "备注", dataIndex = "description", key = "description")
private String description;
@TableTitle(title = "审批状态", dataIndex = "approvalStatus", key = "approvalStatus")
private String approvalStatus;
@TableTitle(title = "操作", dataIndex = "operate", key = "operate")
private List<WeaTableOperate> operate;
}

View File

@ -150,13 +150,20 @@ public class SalaryAcctEmployeePO {
/**
* 状态
*/
@SalaryFormulaVar(defaultLabel = "状态", labelId = 86321, dataType = "string")
@SalaryFormulaVar(defaultLabel = "状态编码", labelId = 86321, dataType = "string")
private String status;
//锁定的项目
private List<Long> lockItems;
/**
* 主次账号 0/null主账号 1次账号
*/
private Integer accountType;
//--------条件----------
//主键id集合
private Collection<Long> ids;

View File

@ -123,6 +123,16 @@ public class SalaryAcctRecordPO {
@ElogTransform( name = "更新时间" )
private Date updateTime;
/**
* 审批流程id
*/
private String approvalId;
/**
* 审批状态
*/
private String approvalStatus;
/**
* 锁定的薪资项目
*/

View File

@ -72,6 +72,7 @@ public class SalaryArchiveBO {
employeeIdColumn.setDisplay(WeaBoolAttr.FALSE);
columns.add(employeeIdColumn);
columns.add(new WeaTableColumn("100px", SalaryI18nUtil.getI18nLabel(85429, "姓名"), "username"));
columns.add(new WeaTableColumn("100px", SalaryI18nUtil.getI18nLabel(85429, "账号类型"), "accountType"));
columns.add(new WeaTableColumn("100px", SalaryI18nUtil.getI18nLabel(86184, "个税扣缴义务人"), "taxAgentName"));
columns.add(new WeaTableColumn("100px", SalaryI18nUtil.getI18nLabel(86185, "分部"), "subcompanyName"));
columns.add(new WeaTableColumn("100px", SalaryI18nUtil.getI18nLabel(86185, "部门"), "departmentName"));

View File

@ -783,6 +783,10 @@ public class SalaryArchiveExcelBO extends Service {
.deleteType(NumberUtils.INTEGER_ZERO)
.tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY)
.build();
// 定薪action 保持状态为待定薪
if (importHandleParam.isInit() && importHandleParam.getKeepStatus() != null && importHandleParam.getKeepStatus().equals(Boolean.TRUE)) {
salaryArchive.setRunStatus(SalaryArchiveStatusEnum.PENDING.getValue());
}
importHandleParam.getSalaryArchiveSaves().add(salaryArchive);
}
return salaryArchive;

View File

@ -121,4 +121,7 @@ public class SalaryArchiveListDTO {
*/
private String archiveStatus;
//主次账号 0/null主账号 1次账号
private Integer accountType;
}

View File

@ -69,6 +69,11 @@ public class SalaryFormulaEmployeeDTO {
@SalaryFormulaVar(defaultLabel = "状态", labelId = 98622, dataType = "string")
private String statusName;
@SalaryFormulaVar(defaultLabel = "账号类型", labelId = 98622, dataType = "string")
private String accountTypeName;
@SalaryFormulaVar(defaultLabel = "账号类型编码", labelId = 98622, dataType = "string")
private Integer accountType;
//工号
@SalaryFormulaVar(defaultLabel = "工号", labelId = 98622, dataType = "string")
private String workcode;

View File

@ -25,6 +25,9 @@ import java.util.Collection;
@AllArgsConstructor
public class SalaryItemSearchParam extends BaseQueryParam {
// 账套id
private Long salarySobId;
//名称
private String name;

View File

@ -0,0 +1,91 @@
package com.engine.salary.entity.salarysob.bo;
import com.engine.salary.entity.salaryitem.po.SalaryItemPO;
import com.engine.salary.entity.salarysob.dto.SalaryApprovalDTO;
import com.engine.salary.entity.salarysob.dto.SalarySobItemAggregateDTO;
import com.engine.salary.entity.salarysob.dto.SalarySobItemDTO;
import com.engine.salary.entity.salarysob.dto.SalarySobItemGroupDTO;
import com.engine.salary.entity.salarysob.po.SalaryApprovalRulePO;
import com.engine.salary.util.JsonUtil;
import com.engine.salary.util.SalaryEntityUtil;
import org.apache.commons.lang.StringUtils;
import weaver.hrm.User;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
* @author Harryxzy
* @ClassName SalaryApprovalBO
* @date 2024/04/23 17:47
* @description 薪资账套的薪资审批
*/
public class SalaryApprovalBO {
public static SalaryApprovalDTO convert2DTO(SalaryApprovalRulePO salaryApprovalRulePO, List<SalaryItemPO> salaryItemList) {
if (salaryApprovalRulePO == null) {
return new SalaryApprovalDTO();
}
Map<Long, String> salaryItemNameMap = SalaryEntityUtil.convert2Map(salaryItemList, SalaryItemPO::getId, SalaryItemPO::getName);
List<SalaryApprovalDTO.approvalItemGroup> approvalItemGroups = JsonUtil.parseList(salaryApprovalRulePO.getApprovalGroupSetting(), SalaryApprovalDTO.approvalItemGroup.class);
for (SalaryApprovalDTO.approvalItemGroup group : approvalItemGroups) {
for(SalaryApprovalDTO.approvalItem item : group.getApprovalItems()) {
item.setSalaryItemName(salaryItemNameMap.getOrDefault(item.getSalaryItemId(), ""));
}
}
return SalaryApprovalDTO.builder()
.id(salaryApprovalRulePO.getId())
.salarySobId(salaryApprovalRulePO.getSalarySobId())
.isOpenApproval(salaryApprovalRulePO.getOpenApproval().equals(1))
.approvalWorkflowUrl(StringUtils.isBlank(salaryApprovalRulePO.getWorkflowUrl()) ? "" : salaryApprovalRulePO.getWorkflowUrl())
.approvalItemGroup(approvalItemGroups)
.build();
}
/**
* 将账套薪资项目设置转换成审批中的项目设置信息
* @param aggregateBySalarySobId
*/
public static String sobItemAggregate2approvalGroupSetting(SalarySobItemAggregateDTO aggregateBySalarySobId) {
List<SalaryApprovalDTO.approvalItemGroup> groupList = new ArrayList<>();
// 薪资项目分组
List<SalarySobItemGroupDTO> itemGroups = aggregateBySalarySobId.getItemGroups();
for (SalarySobItemGroupDTO sobItemGroupDTO: itemGroups) {
SalaryApprovalDTO.approvalItemGroup approvalGroup = new SalaryApprovalDTO.approvalItemGroup();
approvalGroup.setGroupName(sobItemGroupDTO.getName());
approvalGroup.setSorted(sobItemGroupDTO.getSortedIndex());
List<SalaryApprovalDTO.approvalItem> approvalItemList = new ArrayList<>();
for (SalarySobItemDTO groupItem : sobItemGroupDTO.getItems()) {
SalaryApprovalDTO.approvalItem approvalItem = new SalaryApprovalDTO.approvalItem();
approvalItem.setSalaryItemId(groupItem.getSalaryItemId());
approvalItem.setSalaryItemName(groupItem.getName());
approvalItem.setSorted(groupItem.getSortedIndex());
approvalItemList.add(approvalItem);
}
approvalGroup.setApprovalItems(approvalItemList);
groupList.add(approvalGroup);
}
// 未分类
List<SalarySobItemDTO> items = aggregateBySalarySobId.getItems();
List<SalaryApprovalDTO.approvalItem> approvalItemList2 = new ArrayList<>();
for (SalarySobItemDTO groupItem : items) {
SalaryApprovalDTO.approvalItem approvalItem = new SalaryApprovalDTO.approvalItem();
approvalItem.setSalaryItemId(groupItem.getSalaryItemId());
approvalItem.setSalaryItemName(groupItem.getName());
approvalItem.setSorted(groupItem.getSortedIndex());
approvalItemList2.add(approvalItem);
}
SalaryApprovalDTO.approvalItemGroup approvalGroup = new SalaryApprovalDTO.approvalItemGroup();
approvalGroup.setGroupName("未分类");
approvalGroup.setSorted(groupList.size());
approvalGroup.setApprovalItems(approvalItemList2);
groupList.add(approvalGroup);
return JsonUtil.toJsonString(groupList);
}
}

View File

@ -0,0 +1,78 @@
package com.engine.salary.entity.salarysob.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
* 薪资审批设置列表
* <p>Copyright: Copyright (c) 2024</p>
* <p>Company: 泛微软件</p>
*
* @author xuzhuoyan
* @version 1.0
**/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class SalaryApprovalDTO {
// 主键id
private Long id;
// 薪资账套id
private Long salarySobId;
// 是否开启审批
private Boolean isOpenApproval;
// 审批流程地址
private String approvalWorkflowUrl;
// 审批项目信息
private List<approvalItemGroup> approvalItemGroup;
private Boolean canEdit;
/**
* 审批项目信息分组形式
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public static class approvalItemGroup {
// 分组名称
private String groupName;
// 项目信息
private List<approvalItem> approvalItems;
// 排序
private Integer sorted;
}
/**
* 审批薪资项目
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public static class approvalItem {
// 薪资项目id
private Long salaryItemId;
// 薪资项目名称
private String salaryItemName;
// 排序
private Integer sorted;
}
}

View File

@ -0,0 +1,27 @@
package com.engine.salary.entity.salarysob.param;
import com.engine.salary.util.valid.DataCheck;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @ClassName SalaryApprovalQueryParam
* @author Harryxzy
* @date 2024/4/23 15:05
* @description 薪资审批流程id保存参数
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ApprovalRequestSaveParam {
// 流程id
@DataCheck(require = true, message = "流程id不能为空")
private String requestId;
// 核算记录id
private Long salaryAcctRecordId;
}

View File

@ -0,0 +1,24 @@
package com.engine.salary.entity.salarysob.param;
import com.engine.salary.util.valid.DataCheck;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @ClassName SalaryApprovalQueryParam
* @author Harryxzy
* @date 2024/4/23 15:05
* @description 薪资审批设置查询参数
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class SalaryApprovalQueryParam {
// 薪资账套id
@DataCheck(require = true, message = "薪资账套的ID不允许为空")
private Long salarySobId;
}

View File

@ -0,0 +1,70 @@
package com.engine.salary.entity.salarysob.po;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Collection;
import java.util.Date;
/**
* @author Harryxzy
* @ClassName SalaryApprovalRulePO
* @date 2024/04/23 17:31
* @description 薪资核算审批规则
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class SalaryApprovalRulePO {
/**
* 主键id
*/
private Long id;
/**
* 薪资账套id
*/
private Long salarySobId;
/**
* 是否开启工资单审批
*/
private Integer openApproval;
/**
* 审批薪资项目设置
*/
private String approvalGroupSetting;
/**
* 审批流程地址
*/
private String workflowUrl;
/**
* 创建时间
*/
private Date createTime;
/**
* 创建人id
*/
private Long creator;
private Integer deleteType;
/**
* 修改时间
*/
private Date updateTime;
//主键id集合
private Collection<Long> ids;
//薪资账套id集合
private Collection<Long> salarySobIds;
}

View File

@ -1,6 +1,7 @@
package com.engine.salary.entity.setting.dto;
import com.cloudstore.eccom.pc.table.WeaTableColumn;
import com.engine.salary.annotation.TableTitle;
import com.engine.salary.enums.common.SharedTypeEnum;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
@ -8,13 +9,61 @@ import lombok.NoArgsConstructor;
import java.util.List;
/**
* 薪资帐套表
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
//hrsa_page_list_template
public class PageListTemplateDTO {
private List<WeaTableColumn> setting;
private List<WeaTableColumn> checked;
private Long id;
/**
* 模板名称
*/
@TableTitle(title = "模板名称",dataIndex = "name",key = "name")
private String name;
/**
* 页面
*/
private String page;
/**
* 设置
*/
private List<String> setting;
/**
* 是否共享,0否1是
* @see SharedTypeEnum
*/
private Integer sharedType;
@TableTitle(title = "可见性",dataIndex = "sharedTypeName",key = "sharedTypeName")
private String sharedTypeName;
/**
* 是否系统模板
*/
private Integer systemType;
@TableTitle(title = "是否系统模板",dataIndex = "systemTypeName",key = "systemTypeName")
private String systemTypeName;
@TableTitle(title = "范围",dataIndex = "limits",key = "limits")
private String limits;
/**
* 限制
*/
private List<Long> limitIds;
private Boolean canEdit;
}

View File

@ -0,0 +1,19 @@
package com.engine.salary.entity.setting.dto;
import com.cloudstore.eccom.pc.table.WeaTableColumn;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class PageListTemplateDetailDTO {
private List<WeaTableColumn> setting;
private List<WeaTableColumn> checked;
}

View File

@ -19,4 +19,5 @@ public class PageListSettingQueryParam {
private String page;
private String name;
}

View File

@ -0,0 +1,22 @@
package com.engine.salary.entity.setting.param;
import com.engine.salary.util.valid.DataCheck;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 恢复默认值
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class PageListSettingResetParam {
/**
* 页面0薪资明细
*/
@DataCheck(require = true,message = "请选择页面")
private String page;
}

View File

@ -17,6 +17,12 @@ import java.util.List;
@AllArgsConstructor
public class PageListSettingSaveParam {
/**
* 默认设置
*/
@DataCheck(require = true,message = "是否为默认设置")
private Integer defaultSetting;
/**
* 页面0薪资明细
*/
@ -27,5 +33,5 @@ public class PageListSettingSaveParam {
* 设置
*/
@DataCheck(require = true,message = "请选择设置")
private List<Long> setting;
private List<String> setting;
}

View File

@ -0,0 +1,18 @@
package com.engine.salary.entity.setting.param;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class PageListTemplateDeleteParam {
private List<Long> ids;
}

View File

@ -1,5 +1,6 @@
package com.engine.salary.entity.setting.param;
import com.engine.salary.common.BaseQueryParam;
import com.engine.salary.util.valid.DataCheck;
import lombok.AllArgsConstructor;
import lombok.Builder;
@ -13,7 +14,7 @@ import lombok.NoArgsConstructor;
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class PageListTemplateQueryParam {
public class PageListTemplateQueryParam extends BaseQueryParam {
private Long id;

View File

@ -10,13 +10,11 @@ import java.util.Collection;
import java.util.Date;
import java.util.List;
/**
* 薪资帐套表
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
//hrsa_page_list_setting
public class PageListSettingPO {
@ElogTransform(name = "id")
@ -32,7 +30,12 @@ public class PageListSettingPO {
* 设置
*/
@ElogTransform(name = "设置")
private List<Long> setting;
private List<String> setting;
/**
* 默认设置
*/
private Integer defaultSetting;
/**

View File

@ -1,6 +1,7 @@
package com.engine.salary.entity.setting.po;
import com.engine.hrmelog.annotation.ElogTransform;
import com.engine.salary.enums.common.SharedTypeEnum;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
@ -17,6 +18,7 @@ import java.util.List;
@Builder
@NoArgsConstructor
@AllArgsConstructor
//hrsa_page_list_template
public class PageListTemplatePO {
@ -44,16 +46,23 @@ public class PageListTemplatePO {
/**
* 是否共享,0否1是
* @see SharedTypeEnum
*/
@ElogTransform(name = "是否共享,0否1是")
@ElogTransform(name = "可见性1私有0共享")
private Integer sharedType;
/**
* 是否系统模板
*/
@ElogTransform(name = "是否系统模板,0否1是")
private Integer systemType;
/**
* 限制
*/
@ElogTransform(name = "限制")
private List<Long> limitIds;
/**
* 限制
*/
@ElogTransform(name = "限制")
private List<Long> limitIds;
/**
* 租户ID
@ -67,23 +76,23 @@ public class PageListTemplatePO {
@ElogTransform(name = "更新时间")
private Date updateTime;
/**
* 创建时间
*/
@ElogTransform(name = "创建时间")
private Date createTime;
/**
* 创建时间
*/
@ElogTransform(name = "创建时间")
private Date createTime;
/**
* 创建人
*/
@ElogTransform(name = "创建人")
private Long creator;
/**
* 创建人
*/
@ElogTransform(name = "创建人")
private Long creator;
/**
* 是否已删除0未删除1已删除
*/
@ElogTransform(name = "是否已删除。0未删除、1已删除")
private Integer deleteType;
/**
* 是否已删除0未删除1已删除
*/
@ElogTransform(name = "是否已删除。0未删除、1已删除")
private Integer deleteType;
//主键id集合

View File

@ -0,0 +1,68 @@
package com.engine.salary.enums;
import java.util.Arrays;
import java.util.Objects;
import java.util.Optional;
/**
* 账号类型
* <p>Copyright: Copyright (c) 2022</p>
* <p>Company: 泛微软件</p>
*
* @author qiantao
* @version 1.0
**/
public enum AccountTypeEnum implements BaseEnum {
MAIN(0, "主账号", 1),
SECOND(1, "次账号", 1);
private Integer value;
private String defaultLabel;
private int labelId;
AccountTypeEnum(Integer value, String defaultLabel, int labelId) {
this.value = value;
this.defaultLabel = defaultLabel;
this.labelId = labelId;
}
@Override
public Integer getValue() {
return value;
}
@Override
public String getDefaultLabel() {
return defaultLabel;
}
@Override
public Integer getLabelId() {
return labelId;
}
public static String getDefaultLabelByValue(Integer value) {
if (value == null) {
return MAIN.defaultLabel;
}
Optional<AccountTypeEnum> optional = Arrays.stream(AccountTypeEnum.values()).filter(r -> r.getValue().equals(value)).findFirst();
return optional.isPresent() ? optional.get().defaultLabel : "";
}
public static AccountTypeEnum parseByValue(Integer value) {
if (value == null) {
return MAIN;
}
for (AccountTypeEnum statusEnum : AccountTypeEnum.values()) {
if (Objects.equals(statusEnum.getValue(), value)) {
return statusEnum;
}
}
return MAIN;
}
}

View File

@ -0,0 +1,48 @@
package com.engine.salary.enums.common;
import com.engine.salary.enums.BaseEnum;
import java.util.Objects;
public enum SharedTypeEnum implements BaseEnum<Integer> {
PRIVATE(1, "私有", 86569),
PUBLIC(0, "共享", 86568);
private Integer value;
private String defaultLabel;
private Integer labelId;
SharedTypeEnum(Integer value, String defaultLabel, Integer labelId) {
this.value = value;
this.defaultLabel = defaultLabel;
this.labelId = labelId;
}
@Override
public Integer getValue() {
return this.value;
}
@Override
public Integer getLabelId() {
return this.labelId;
}
@Override
public String getDefaultLabel() {
return this.defaultLabel;
}
public static SharedTypeEnum parseByValue(Integer value) {
for (SharedTypeEnum enums : SharedTypeEnum.values()) {
if (Objects.equals(enums.getValue(), value)) {
return enums;
}
}
return PUBLIC;
}
}

View File

@ -0,0 +1,49 @@
package com.engine.salary.handle;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import lombok.extern.slf4j.Slf4j;
import org.apache.ibatis.type.BaseTypeHandler;
import org.apache.ibatis.type.JdbcType;
import java.sql.CallableStatement;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
/**
* 集合的转换
* <p>Copyright: Copyright (c) 2022</p>
* <p>Company: 泛微软件</p>
*
* @author qiantao
* @version 1.0
**/
@Slf4j
public class LongListTypeHandler extends BaseTypeHandler<List<Long>> {
@Override
public void setNonNullParameter(PreparedStatement preparedStatement, int i, List<Long> list, JdbcType jdbcType) throws SQLException {
preparedStatement.setString(i, JSON.toJSONString(list));
}
@Override
public List<Long> getNullableResult(ResultSet resultSet, String s) throws SQLException {
List jsonArray = JSONArray.parseArray(resultSet.getString(s), Long.class);
return jsonArray == null ? new ArrayList<>() : jsonArray;
}
@Override
public List<Long> getNullableResult(ResultSet resultSet, int i) throws SQLException {
List jsonArray = JSONArray.parseArray(resultSet.getString(i), Long.class);
return jsonArray == null ? new ArrayList<>() : jsonArray;
}
@Override
public List<Long> getNullableResult(CallableStatement callableStatement, int i) throws SQLException {
List jsonArray = JSONArray.parseArray(callableStatement.getString(i), Long.class);
return jsonArray == null ? new ArrayList<>() : jsonArray;
}
}

View File

@ -23,7 +23,7 @@
LEFT JOIN hrmdepartment d ON d.id = e.departmentid
LEFT JOIN hrmsubcompany c ON c.id = e.subcompanyid1
where e.status not in (7)
and (e.accounttype is null or e.accounttype = 0)
<!-- 排序 -->
<if test="param.orderRule != null">
ORDER BY ${param.orderRule.orderRule} ${param.orderRule.ascOrDesc}
@ -51,7 +51,7 @@
LEFT JOIN hrmdepartment d ON d.id = e.departmentid
LEFT JOIN hrmsubcompany c ON c.id = e.subcompanyid1
where e.status not in (7)
and (e.accounttype is null or e.accounttype = 0)
<!-- 排序 -->
<if test="param.orderRule != null">
ORDER BY ${param.orderRule.orderRule} ${param.orderRule.ascOrDesc}
@ -79,7 +79,7 @@
LEFT JOIN hrmdepartment d ON d.id = e.departmentid
LEFT JOIN hrmsubcompany c ON c.id = e.subcompanyid1
where e.status not in (7)
and (e.accounttype is null or e.accounttype = 0)
<!-- 排序 -->
<if test="param.orderRule != null">
ORDER BY ${param.orderRule.orderRule} ${param.orderRule.ascOrDesc}
@ -96,7 +96,7 @@
LEFT JOIN hrmresource e ON e.ID = a.employee_id
LEFT JOIN hrmdepartment d ON d.id = e.departmentid
where e.status not in (7)
and (e.accounttype is null or e.accounttype = 0)
</select>
<select id="exportExcelAccount" resultType="com.engine.salary.entity.siexport.po.ExcelAccountExportPO" databaseId="oracle">
SELECT
@ -108,7 +108,7 @@
LEFT JOIN hrmresource e ON e.ID = a.employee_id
LEFT JOIN hrmdepartment d ON d.id = e.departmentid
where e.status not in (7)
and (e.accounttype is null or e.accounttype = 0)
</select>
<select id="exportExcelAccount" resultType="com.engine.salary.entity.siexport.po.ExcelAccountExportPO" databaseId="sqlserver">
SELECT
@ -120,7 +120,7 @@
LEFT JOIN hrmresource e ON e.ID = a.employee_id
LEFT JOIN hrmdepartment d ON d.id = e.departmentid
where e.status not in (7)
and (e.accounttype is null or e.accounttype = 0)
</select>
@ -147,7 +147,7 @@
LEFT JOIN hrmdepartment d ON d.id = e.departmentid
LEFT JOIN hrmsubcompany c ON c.id = e.subcompanyid1
where e.status not in (7)
and (e.accounttype is null or e.accounttype = 0)
<!-- 排序 -->
<if test="param.orderRule != null">
ORDER BY ${param.orderRule.orderRule} ${param.orderRule.ascOrDesc}
@ -176,7 +176,7 @@
LEFT JOIN hrmdepartment d ON d.id = e.departmentid
LEFT JOIN hrmsubcompany c ON c.id = e.subcompanyid1
where e.status not in (7)
and (e.accounttype is null or e.accounttype = 0)
<!-- 排序 -->
<if test="param.orderRule != null">
ORDER BY ${param.orderRule.orderRule} ${param.orderRule.ascOrDesc}
@ -205,7 +205,7 @@
LEFT JOIN hrmdepartment d ON d.id = e.departmentid
LEFT JOIN hrmsubcompany c ON c.id = e.subcompanyid1
where e.status not in (7)
and (e.accounttype is null or e.accounttype = 0)
<!-- 排序 -->
<if test="param.orderRule != null">
ORDER BY ${param.orderRule.orderRule} ${param.orderRule.ascOrDesc}

View File

@ -101,6 +101,7 @@
, e.enddate as dismissdate
, e.status AS employeeStatus
,e.certificatenum as idNo
,e.accounttype as accountType
, d.departmentname AS departmentName
, c.subcompanyname AS subcompanyName
</sql>
@ -118,7 +119,7 @@
WHERE t.delete_type = 0
and t.employee_type is null
and e.status not in (7)
and (e.accounttype is null or e.accounttype = 0)
<if test="param.ids != null and param.ids.size()>0">
AND t.id IN
<foreach collection="param.ids" open="(" item="id" separator="," close=")">
@ -222,7 +223,7 @@
WHERE t.delete_type = 0
and t.employee_type is null
and e.status not in (7)
and (e.accounttype is null or e.accounttype = 0)
<if test="param.ids != null and param.ids.size()>0">
AND t.id IN
<foreach collection="param.ids" open="(" item="id" separator="," close=")">
@ -323,7 +324,7 @@
WHERE t.delete_type = 0
and t.employee_type is null
and e.status not in (7)
and (e.accounttype is null or e.accounttype = 0)
<if test="param.ids != null and param.ids.size()>0">
AND t.id IN
<foreach collection="param.ids" open="(" item="id" separator="," close=")">

View File

@ -556,7 +556,7 @@
WHERE
t1.delete_type = 0
AND e.status != '7'
and (e.accounttype is null or e.accounttype = 0)
<!-- 关键字(姓名、部门、个税扣缴义务人) -->
<if test="param.keyword != null and param.keyword != ''">
AND (
@ -580,7 +580,7 @@
WHERE
t1.delete_type = 0
AND e.status != '7'
and (e.accounttype is null or e.accounttype = 0)
<if test="param.keyword != null and param.keyword != ''">
AND (
e.lastname like '%'||#{param.keyword}||'%'
@ -602,7 +602,7 @@
WHERE
t1.delete_type = 0
AND e.status != '7'
and (e.accounttype is null or e.accounttype = 0)
<if test="param.keyword != null and param.keyword != ''">
AND (
e.lastname like '%'+#{param.keyword}+'%'

View File

@ -96,7 +96,7 @@
from hrmresource e
left join hrmdepartment d on e.departmentid = d.id
where e.status not in (7)
and (e.accounttype is null or e.accounttype = 0)
</select>
@ -326,7 +326,7 @@
WHERE
t1.delete_type = 0 AND t2.delete_type = 0
AND e.status not in (7)
and (e.accounttype is null or e.accounttype = 0)
<include refid="paramSql"/>
<!-- 排序 -->
<if test="param.orderRule != null">
@ -347,7 +347,7 @@
WHERE
t1.delete_type = 0 AND t2.delete_type = 0
AND e.status not in (7)
and (e.accounttype is null or e.accounttype = 0)
<include refid="paramSql"/>
<!-- 排序 -->
<if test="param.orderRule != null">
@ -367,7 +367,7 @@
WHERE
t1.delete_type = 0 AND t2.delete_type = 0
AND e.status not in (7)
and (e.accounttype is null or e.accounttype = 0)
<include refid="paramSql"/>
<!-- 排序 -->
<if test="param.orderRule != null">
@ -649,7 +649,7 @@
WHERE
t1.delete_type = 0 AND t2.delete_type = 0
AND e.status not in (7)
and (e.accounttype is null or e.accounttype = 0)
<include refid="paramSql"/>
ORDER BY t1.declare_month DESC
</select>
@ -664,7 +664,7 @@
WHERE
t1.delete_type = 0 AND t2.delete_type = 0
AND e.status not in (7)
and (e.accounttype is null or e.accounttype = 0)
<if test="taxAgentIds != null and taxAgentIds.size() != 0">
and tax_agent_id in
<foreach collection="taxAgentIds" item="taxAgentId" open="(" separator="," close=")">

View File

@ -336,7 +336,7 @@
t1.delete_type = 0
AND t2.delete_type = 0
AND e.status not in (7)
and (e.accounttype is null or e.accounttype = 0)
<include refid="paramSql"/>
<!-- 排序 -->
<if test="param.orderRule != null">
@ -360,7 +360,7 @@
t1.delete_type = 0
AND t2.delete_type = 0
AND e.status not in (7)
and (e.accounttype is null or e.accounttype = 0)
<include refid="paramSql"/>
<!-- 排序 -->
<if test="param.orderRule != null">
@ -384,7 +384,7 @@
t1.delete_type = 0
AND t2.delete_type = 0
AND e.status not in (7)
and (e.accounttype is null or e.accounttype = 0)
<include refid="paramSql"/>
<!-- 排序 -->
<if test="param.orderRule != null">
@ -405,7 +405,7 @@
t1.delete_type = 0
AND t2.delete_type = 0
AND e.status not in (7)
and (e.accounttype is null or e.accounttype = 0)
<include refid="paramSql"/>
ORDER BY t1.tax_year_month DESC
</select>

View File

@ -261,7 +261,7 @@
WHERE
t1.delete_type = 0
AND e.status not in (7)
and (e.accounttype is null or e.accounttype = 0)
<include refid="paramSql"/>
<!-- 排序 -->
<if test="param.orderRule != null">
@ -279,7 +279,7 @@
WHERE
t1.delete_type = 0
AND e.status not in (7)
and (e.accounttype is null or e.accounttype = 0)
<include refid="paramSql"/>
<!-- 排序 -->
<if test="param.orderRule != null">
@ -297,7 +297,7 @@
WHERE
t1.delete_type = 0
AND e.status not in (7)
and (e.accounttype is null or e.accounttype = 0)
<include refid="paramSql"/>
<!-- 排序 -->
<if test="param.orderRule != null">

View File

@ -10,11 +10,12 @@
e.mobile,
e.workcode,
e.certificatenum as idNo,
e.accounttype as accountType,
'false' as extEmp
from hrmresource e
left join hrmdepartment d on e.departmentid = d.id
where e.status not in (7)
and (e.accounttype is null or e.accounttype = 0)
</select>
<select id="getEmployeeByIds" resultType="com.engine.salary.entity.datacollection.DataCollectionEmployee">
@ -25,9 +26,10 @@
e.workcode as workcode,
e.companystartdate as companystartdate,
e.mobile as mobile,
e.accounttype as accountType,
e.workyear as workYear
from hrmresource e
where e.status not in (7) and (e.accounttype is null or e.accounttype = 0)
where e.status not in (7)
<if test="collection != null and collection.size()>0">
AND e.id IN
<foreach collection="collection" open="(" item="id" separator="," close=")">
@ -44,6 +46,7 @@
e.workcode as workcode,
e.companystartdate as companystartdate,
e.mobile as mobile,
e.accounttype as accountType,
e.workyear as workYear
from hrmresource e
where e.status not in (7)
@ -78,13 +81,14 @@
e.certificatenum as idNo,
e.enddate as dismissdate,
e.workyear,
e.accounttype as accountType,
e.companyworkyear
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)
where e.status not in (7)
<if test="collection != null and collection.size()>0">
AND e.id IN
<foreach collection="collection" open="(" item="id" separator="," close=")">
@ -126,6 +130,7 @@
c.id as jobtitleId,
e.companystartdate as companystartdate,
e.mobile as mobile,
e.accounttype as accountType,
sc.SUBCOMPANYNAME as subcompanyName,
sc.id as subcompanyid,
job.id as jobcallId,
@ -135,7 +140,7 @@
left join hrmdepartment d on e.departmentid = d.id
left join hrmjobtitles c on e.jobtitle = c.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)
WHERE e.status not in (7)
<if test="params != null and params.size() > 0">
AND ( 1=2
<foreach collection="params" item="param">
@ -184,10 +189,11 @@
h.certificatenum as idNo,
h.workcode as workcode,
h.companystartdate as companystartdate,
h.accounttype as accountType,
h.mobile as mobile
from hrmresourcevirtual v
left join hrmresource h on v.resourceid=h.id
WHERE h.status not in (7) and (h.accounttype is null or h.accounttype = 0)
WHERE h.status not in (7)
<if test="params != null and params.size() > 0">
AND ( 1=2
<foreach collection="params" item="param">
@ -231,6 +237,7 @@
e.companystartdate as companystartdate,
e.mobile as mobile,
e.enddate as dismissdate,
e.accounttype as accountType,
sc.SUBCOMPANYNAME as subcompanyName,
sc.id as subcompanyid
from hrmresource e
@ -238,7 +245,7 @@
left join HrmSubCompany sc on e.SUBCOMPANYID1=sc.id
left join hrmjobtitles c on e.jobtitle = c.id
where e.status not in (7)
and (e.accounttype is null or e.accounttype = 0)
AND e.id = #{id}
</select>
@ -278,6 +285,7 @@
e.certificatenum as idNo,
e.companystartdate as companystartdate,
e.mobile as mobile,
e.accounttype as accountType,
e.subcompanyid1 as subcompanyid,
d.departmentname as departmentName,
d.id as departmentId,
@ -287,7 +295,6 @@
left join hrmdepartment d on e.departmentid = d.id
left join hrmjobtitles c on e.jobtitle = c.id
where e.status not in (7)
and (e.accounttype is null or e.accounttype = 0)
</select>
<select id="listAll" resultType="com.engine.salary.entity.datacollection.DataCollectionEmployee">
@ -298,6 +305,7 @@
e.certificatenum as idNo,
e.companystartdate as companystartdate,
e.mobile as mobile,
e.accounttype as accountType,
e.subcompanyid1 as subcompanyid,
e.departmentid as departmentId,
d.DEPARTMENTNAME as departmentName,
@ -305,7 +313,7 @@
from hrmresource e
left join hrmdepartment d on e.departmentid = d.id
where e.status not in (7)
and (e.accounttype is null or e.accounttype = 0)
</select>
@ -319,6 +327,7 @@
e.mobile as mobile,
e.departmentid as departmentId,
e.subcompanyid1 as subcompanyid,
e.accounttype as accountType,
e.costcenterid as costcenterId,
e.locationid as locationId,
e.jobtitle as jobtitleId,
@ -327,7 +336,7 @@
from hrmresource e
left join hrmdepartment d on e.departmentid = d.id
where e.status not in (7)
and (e.accounttype is null or e.accounttype = 0)
</select>
@ -480,6 +489,7 @@
e.workcode as workcode,
e.companystartdate as companystartdate,
e.mobile as mobile,
e.accounttype as accountType,
e.enddate as dismissdate
from hrmresource e
where e.status in (4,5,6)
@ -557,11 +567,12 @@
c.jobtitlename as jobtitleName,
c.id as jobtitleId,
e.companystartdate as companystartdate,
e.accounttype as accountType,
e.mobile as mobile
from hrmresource e
left join hrmdepartment d on e.departmentid = d.id
left join hrmjobtitles c on e.jobtitle = c.id
WHERE e.status not in (7) and (e.accounttype is null or e.accounttype = 0)
WHERE e.status not in (7)
<if test="subCompanyIds != null and subCompanyIds.size()>0">
AND e.subcompanyid1 IN
<foreach collection="subCompanyIds" open="(" item="subCompanyId" separator="," close=")">
@ -580,6 +591,7 @@
resultType="com.engine.salary.entity.datacollection.DataCollectionEmployee">
select e.RESOURCEID as employeeId,
e.SUBCOMPANYID as subcompanyid,
h.accounttype as accountType,
e.DEPARTMENTID as departmentId
from hrmresourcevirtual e
left join hrmresource h on e.RESOURCEID=h.id
@ -597,6 +609,7 @@
select
e.RESOURCEID as employeeId,
e.SUBCOMPANYID as subcompanyid,
h.accounttype as accountType,
e.DEPARTMENTID as departmentId
from hrmresourcevirtual e
left join hrmresource h on e.RESOURCEID=h.id

View File

@ -280,7 +280,7 @@
WHERE
t1.delete_type = 0 AND t2.delete_type = 0
AND e.status not in (7)
and (e.accounttype is null or e.accounttype = 0)
<include refid="paramSql"/>
<!-- 排序 -->
<if test="param.orderRule != null">
@ -299,7 +299,7 @@
WHERE
t1.delete_type = 0 AND t2.delete_type = 0
AND e.status not in (7)
and (e.accounttype is null or e.accounttype = 0)
<include refid="paramSql"/>
ORDER BY t1.declare_month DESC
</select>

View File

@ -619,7 +619,7 @@
WHERE
t1.delete_type = 0 AND t2.delete_type = 0
AND e.status not in (7)
and (e.accounttype is null or e.accounttype = 0)
<include refid="paramSql"/>
ORDER BY t1.create_time desc
</select>
@ -633,7 +633,7 @@
WHERE
t1.delete_type = 0 AND t2.delete_type = 0
AND e.status not in (7)
and (e.accounttype is null or e.accounttype = 0)
<if test="taxAgentIds != null and taxAgentIds.size() != 0">
AND t1.tax_agent_id IN
<foreach collection="taxAgentIds" open="(" item="taxAgentId" separator="," close=")">
@ -653,7 +653,7 @@
WHERE
t1.delete_type = 0 AND t2.delete_type = 0
AND e.status not in (7)
and (e.accounttype is null or e.accounttype = 0)
<include refid="paramSql"/>
<if test="param.orderRule != null ">
order by ${param.orderRule.orderRule} ${param.orderRule.ascOrDesc}

View File

@ -116,7 +116,7 @@
LEFT JOIN hrsa_tax_agent a ON t.tax_agent_id = a.id
WHERE t.delete_type = 0
and e.status not in (7)
and (e.accounttype is null or e.accounttype = 0)
<!-- 个税扣缴义务人 -->
<if test="param.taxAgentIds != null and param.taxAgentIds.size()>0">
AND t.tax_agent_id IN
@ -173,7 +173,7 @@
LEFT JOIN hrsa_tax_agent a ON t.tax_agent_id = a.id
WHERE t.delete_type = 0
and e.status not in (7)
and (e.accounttype is null or e.accounttype = 0)
<!-- 个税扣缴义务人 -->
<if test="param.taxAgentIds != null and param.taxAgentIds.size()>0">
AND t.tax_agent_id IN
@ -230,7 +230,7 @@
LEFT JOIN hrsa_tax_agent a ON t.tax_agent_id = a.id
WHERE t.delete_type = 0
and e.status not in (7)
and (e.accounttype is null or e.accounttype = 0)
<!-- 个税扣缴义务人 -->
<if test="param.taxAgentIds != null and param.taxAgentIds.size()>0">
AND t.tax_agent_id IN

View File

@ -26,6 +26,7 @@
<result column="jobcall_id" property="jobcallId"/>
<result column="status" property="status"/>
<result column="lock_items" property="lockItems" typeHandler="com.engine.salary.handle.SalaryListTypeHandler"/>
<result column="account_type" property="accountType"/>
</resultMap>
<resultMap id="SalaryAccEmployeeCountMap"
@ -60,7 +61,8 @@
t.jobcall,
t.jobcall_id,
t.status,
t.lock_items
t.lock_items,
t.account_type
</sql>
<sql id="emp1Column">
@ -83,7 +85,8 @@
jobtitle_id,
jobcall,
jobcall_id,
status)
status,
account_type)
VALUES
<foreach collection="collection" item="emp" separator=",">
(
@ -107,7 +110,8 @@
#{emp.jobtitleId},
#{emp.jobcall},
#{emp.jobcallId},
#{emp.status}
#{emp.status},
#{emp.accountType}
)
</foreach>
</insert>
@ -123,7 +127,9 @@
jobtitle_id,
jobcall,
jobcall_id,
status)
status,
account_type
)
<foreach collection="collection" item="emp" separator="union all">
select
#{emp.salaryAcctRecordId,jdbcType=DOUBLE},
@ -146,7 +152,8 @@
#{emp.jobtitleId,jdbcType=DOUBLE},
#{emp.jobcall,jdbcType=VARCHAR},
#{emp.jobcallId,jdbcType=DOUBLE},
#{emp.status,jdbcType=VARCHAR}
#{emp.status,jdbcType=VARCHAR},
#{emp.accountType,jdbcType=INTEGER}
from dual
</foreach>
</insert>
@ -163,7 +170,9 @@
jobtitle_id,
jobcall,
jobcall_id,
status)
status,
account_type
)
VALUES
(
#{emp.salaryAcctRecordId},
@ -186,7 +195,8 @@
#{emp.jobtitleId},
#{emp.jobcall},
#{emp.jobcallId},
#{emp.status}
#{emp.status},
#{emp.accountType}
)
</foreach>
</insert>
@ -264,7 +274,6 @@
AND employee_id IN
(
SELECT id FROM hrmresource em WHERE em.status not in (7)
and (em.accounttype is null or em.accounttype = 0)
<if test="param.employeeName != null and param.employeeName != ''">
AND em.lastname LIKE '%'||#{param.employeeName}||'%'
</if>
@ -345,7 +354,7 @@
AND employee_id IN
(
SELECT id FROM hrmresource em WHERE em.status not in (7)
and (em.accounttype is null or em.accounttype = 0)
<if test="param.employeeName != null and param.employeeName != ''">
AND em.lastname LIKE '%'+#{param.employeeName}+'%'
</if>
@ -618,7 +627,7 @@
AND t.employee_id IN
(
SELECT id FROM hrmresource em WHERE em.status not in (7)
and (em.accounttype is null or em.accounttype = 0)
<if test="param.employeeName != null and param.employeeName != ''">
AND em.lastname LIKE CONCAT('%',#{param.employeeName},'%')
</if>
@ -712,7 +721,7 @@
AND t.employee_id IN
(
SELECT id FROM hrmresource em WHERE em.status not in (7)
and (em.accounttype is null or em.accounttype = 0)
<if test="param.employeeName != null and param.employeeName != ''">
AND em.lastname LIKE '%'||#{param.employeeName}||'%'
</if>
@ -804,7 +813,7 @@
AND t.employee_id IN
(
SELECT id FROM hrmresource em WHERE em.status not in (7)
and (em.accounttype is null or em.accounttype = 0)
<if test="param.employeeName != null and param.employeeName != ''">
AND em.lastname LIKE '%'+#{param.employeeName}+'%'
</if>
@ -1023,6 +1032,7 @@
<result column="jobcall_id" property="jobcallId"/>
<result column="status" property="status"/>
<result column="lock_items" property="lockItems" typeHandler="com.engine.salary.handle.SalaryListTypeHandler"/>
<result column="account_type" property="accountType"/>
</resultMap>
<!-- 表字段 -->
@ -1052,6 +1062,7 @@
, t.jobcall_id
, t.status
, t.lock_items
, t.account_type
</sql>
@ -1220,6 +1231,9 @@
<if test="salaryAcctEmployeePO.status != null" >
status=#{salaryAcctEmployeePO.status},
</if>
<if test="salaryAcctEmployeePO.accountType != null" >
account_type=#{salaryAcctEmployeePO.accountType},
</if>
</set>
WHERE id = #{salaryAcctEmployeePO.id} AND delete_type = 0
</update>

View File

@ -35,7 +35,9 @@
, t.delete_type
, t.tenant_key
, t.back_calc_status
,t.lock_salary_item_ids
, t.lock_salary_item_ids
, t.approval_status
, t.approval_id
</sql>
<!-- 查询全部 -->
@ -388,6 +390,12 @@
<if test="backCalcStatus != null">
back_calc_status=#{backCalcStatus},
</if>
<if test="approvalId != null">
approval_id=#{approvalId},
</if>
<if test="approvalStatus != null">
approval_status=#{approvalStatus},
</if>
</set>
WHERE id = #{id} AND delete_type = 0
</update>

View File

@ -0,0 +1,72 @@
package com.engine.salary.mapper.salarysob;
import com.engine.salary.entity.salarysob.po.SalaryApprovalRulePO;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @author Harryxzy
* @ClassName SalaryApprovalRuleMapper
* @date 2024/04/23 17:36
* @description
*/
public interface SalaryApprovalRuleMapper {
/**
* 查询所有记录
*
* @return 返回集合没有返回空List
*/
List<SalaryApprovalRulePO> listAll();
/**
* 条件查询
*
* @return 返回集合没有返回空List
*/
List<SalaryApprovalRulePO> listSome(SalaryApprovalRulePO salaryApprovalRule);
/**
* 根据主键查询
*
* @param id 主键
* @return 返回记录没有返回null
*/
SalaryApprovalRulePO getById(Long id);
/**
* 新增忽略null字段
*
* @param salaryApprovalRule 新增的记录
* @return 返回影响行数
*/
int insertIgnoreNull(SalaryApprovalRulePO salaryApprovalRule);
/**
* 修改修改所有字段
*
* @param salaryApprovalRule 修改的记录
* @return 返回影响行数
*/
int update(SalaryApprovalRulePO salaryApprovalRule);
/**
* 修改忽略null字段
*
* @param salaryApprovalRule 修改的记录
* @return 返回影响行数
*/
int updateIgnoreNull(SalaryApprovalRulePO salaryApprovalRule);
/**
* 删除记录
*
* @param salaryApprovalRule 待删除的记录
* @return 返回影响行数
*/
int delete(SalaryApprovalRulePO salaryApprovalRule);
void deleteBySalarySobId(@Param("salarySobId") Long salarySobId);
}

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