Merge branch 'release/2.19.1.2501.01' into custom/汇通建设集团

# Conflicts:
#	src/com/engine/salary/service/impl/AddUpDeductionServiceImpl.java
#	src/com/engine/salary/service/impl/SalaryAcctEmployeeServiceImpl.java
This commit is contained in:
Harryxzy 2025-05-23 14:12:55 +08:00
commit f49b2bf95b
135 changed files with 4640 additions and 707 deletions

View File

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

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,72 @@
CREATE TABLE hrsa_hrm_snapshot (
ID NUMBER(38,0) primary key NOT NULL,
snapshot_time date,
employee_id NUMBER(38,0),
loginid varchar2(100),
LASTNAME varchar2(60),
SEX char(1),
BIRTHDAY char(10) ,
NATIONALITY int ,
MARITALSTATUS char(1) ,
TELEPHONE varchar2(60),
MOBILE varchar2(60) ,
MOBILECALL varchar2(60) ,
EMAIL varchar2(60),
LOCATIONID int,
WORKROOM varchar2(60),
HOMEADDRESS varchar2(100),
RESOURCETYPE char(1) ,
STARTDATE char(10) ,
ENDDATE char(10),
JOBTITLE int ,
JOBTITLENAME varchar2(200) ,
JOBACTIVITYDESC varchar2(200),
JOBLEVEL int ,
SECLEVEL int ,
DEPARTMENTID int ,
DEPARTMENTNAME varchar2(200) ,
SUBCOMPANYID1 int ,
SUBCOMPANYNAME varchar2(200) ,
COSTCENTERID int ,
MANAGERID int ,
ASSISTANTID int,
BANKID1 int ,
ACCOUNTID1 varchar2(100) ,
LASTLOGINDATE char(10) ,
CERTIFICATENUM varchar2(60) ,
NATIVEPLACE varchar2(100) ,
EDUCATIONLEVEL int ,
BEMEMBERDATE char(10) ,
BEPARTYDATE char(10) ,
WORKCODE varchar2(60) ,
REGRESIDENTPLACE varchar2(200) ,
HEALTHINFO char(1) ,
RESIDENTPLACE varchar2(200) ,
POLICY varchar2(30) ,
DEGREE varchar2(30) ,
USEKIND int ,
JOBCALL int ,
jobcallname varchar2(200) ,
ACCUMFUNDACCOUNT varchar2(30),
BIRTHPLACE varchar2(60) ,
FOLK varchar2(30) ,
RESIDENTPHONE varchar2(60) ,
RESIDENTPOSTCODE varchar2(60) ,
EXTPHONE varchar2(50) ,
MANAGERSTR varchar2(500),
STATUS int ,
FAX varchar2(60) ,
ISLABOUUNION char(1),
TEMPRESIDENTNUMBER varchar2(60),
PROBATIONENDDATE char(10),
COUNTRYID int ,
ACCOUNTTYPE int ,
BELONGTO int ,
ACCOUNTNAME varchar2(200) ,
companystartdate varchar2(10),
workstartdate varchar2(10) ,
companyworkyear number ,
workyear number
);
/

View File

@ -0,0 +1,3 @@
alter table hrsa_page_list_template add file_id int;
/

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,72 @@
CREATE TABLE hrsa_hrm_snapshot (
ID NUMBER(38,0) primary key NOT NULL,
snapshot_time date,
employee_id NUMBER(38,0),
loginid varchar2(100),
LASTNAME varchar2(60),
SEX char(1),
BIRTHDAY char(10) ,
NATIONALITY int ,
MARITALSTATUS char(1) ,
TELEPHONE varchar2(60),
MOBILE varchar2(60) ,
MOBILECALL varchar2(60) ,
EMAIL varchar2(60),
LOCATIONID int,
WORKROOM varchar2(60),
HOMEADDRESS varchar2(100),
RESOURCETYPE char(1) ,
STARTDATE char(10) ,
ENDDATE char(10),
JOBTITLE int ,
JOBTITLENAME varchar2(200) ,
JOBACTIVITYDESC varchar2(200),
JOBLEVEL int ,
SECLEVEL int ,
DEPARTMENTID int ,
DEPARTMENTNAME varchar2(200) ,
SUBCOMPANYID1 int ,
SUBCOMPANYNAME varchar2(200) ,
COSTCENTERID int ,
MANAGERID int ,
ASSISTANTID int,
BANKID1 int ,
ACCOUNTID1 varchar2(100) ,
LASTLOGINDATE char(10) ,
CERTIFICATENUM varchar2(60) ,
NATIVEPLACE varchar2(100) ,
EDUCATIONLEVEL int ,
BEMEMBERDATE char(10) ,
BEPARTYDATE char(10) ,
WORKCODE varchar2(60) ,
REGRESIDENTPLACE varchar2(200) ,
HEALTHINFO char(1) ,
RESIDENTPLACE varchar2(200) ,
POLICY varchar2(30) ,
DEGREE varchar2(30) ,
USEKIND int ,
JOBCALL int ,
jobcallname varchar2(200) ,
ACCUMFUNDACCOUNT varchar2(30),
BIRTHPLACE varchar2(60) ,
FOLK varchar2(30) ,
RESIDENTPHONE varchar2(60) ,
RESIDENTPOSTCODE varchar2(60) ,
EXTPHONE varchar2(50) ,
MANAGERSTR varchar2(500),
STATUS int ,
FAX varchar2(60) ,
ISLABOUUNION char(1),
TEMPRESIDENTNUMBER varchar2(60),
PROBATIONENDDATE char(10),
COUNTRYID int ,
ACCOUNTTYPE int ,
BELONGTO int ,
ACCOUNTNAME varchar2(200) ,
companystartdate varchar2(10),
workstartdate varchar2(10) ,
companyworkyear number ,
workyear number
);
/

View File

@ -0,0 +1,3 @@
alter table hrsa_page_list_template add file_id int;
/

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,72 @@
CREATE TABLE hrsa_hrm_snapshot (
ID NUMBER(38,0) primary key NOT NULL,
snapshot_time date,
employee_id NUMBER(38,0),
loginid varchar2(100),
LASTNAME varchar2(60),
SEX char(1),
BIRTHDAY char(10) ,
NATIONALITY int ,
MARITALSTATUS char(1) ,
TELEPHONE varchar2(60),
MOBILE varchar2(60) ,
MOBILECALL varchar2(60) ,
EMAIL varchar2(60),
LOCATIONID int,
WORKROOM varchar2(60),
HOMEADDRESS varchar2(100),
RESOURCETYPE char(1) ,
STARTDATE char(10) ,
ENDDATE char(10),
JOBTITLE int ,
JOBTITLENAME varchar2(200) ,
JOBACTIVITYDESC varchar2(200),
JOBLEVEL int ,
SECLEVEL int ,
DEPARTMENTID int ,
DEPARTMENTNAME varchar2(200) ,
SUBCOMPANYID1 int ,
SUBCOMPANYNAME varchar2(200) ,
COSTCENTERID int ,
MANAGERID int ,
ASSISTANTID int,
BANKID1 int ,
ACCOUNTID1 varchar2(100) ,
LASTLOGINDATE char(10) ,
CERTIFICATENUM varchar2(60) ,
NATIVEPLACE varchar2(100) ,
EDUCATIONLEVEL int ,
BEMEMBERDATE char(10) ,
BEPARTYDATE char(10) ,
WORKCODE varchar2(60) ,
REGRESIDENTPLACE varchar2(200) ,
HEALTHINFO char(1) ,
RESIDENTPLACE varchar2(200) ,
POLICY varchar2(30) ,
DEGREE varchar2(30) ,
USEKIND int ,
JOBCALL int ,
jobcallname varchar2(200) ,
ACCUMFUNDACCOUNT varchar2(30),
BIRTHPLACE varchar2(60) ,
FOLK varchar2(30) ,
RESIDENTPHONE varchar2(60) ,
RESIDENTPOSTCODE varchar2(60) ,
EXTPHONE varchar2(50) ,
MANAGERSTR varchar2(500),
STATUS int ,
FAX varchar2(60) ,
ISLABOUUNION char(1),
TEMPRESIDENTNUMBER varchar2(60),
PROBATIONENDDATE char(10),
COUNTRYID int ,
ACCOUNTTYPE int ,
BELONGTO int ,
ACCOUNTNAME varchar2(200) ,
companystartdate varchar2(10),
workstartdate varchar2(10) ,
companyworkyear number ,
workyear number
);
/

View File

@ -0,0 +1,3 @@
alter table hrsa_page_list_template add file_id 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,71 @@
CREATE TABLE hrsa_hrm_snapshot (
ID bigint(0) NOT NULL,
snapshot_time datetime(0),
employee_id bigint(0),
loginid varchar(100),
LASTNAME varchar(60),
SEX char(1),
BIRTHDAY char(10) ,
NATIONALITY int(0) ,
MARITALSTATUS char(1) ,
TELEPHONE varchar(60),
MOBILE varchar(60) ,
MOBILECALL varchar(60) ,
EMAIL varchar(60),
LOCATIONID int(0),
WORKROOM varchar(60),
HOMEADDRESS varchar(100),
RESOURCETYPE char(1) ,
STARTDATE char(10) ,
ENDDATE char(10),
JOBTITLE int(0) ,
JOBTITLENAME varchar(200) ,
JOBACTIVITYDESC varchar(200),
JOBLEVEL int(0) ,
SECLEVEL int(0) ,
DEPARTMENTID int(0) ,
DEPARTMENTNAME varchar(200) ,
SUBCOMPANYID1 int(0) ,
SUBCOMPANYNAME varchar(200) ,
COSTCENTERID int(0) ,
MANAGERID int(0) ,
ASSISTANTID int(0),
BANKID1 int(0) ,
ACCOUNTID1 varchar(100) ,
LASTLOGINDATE char(10) ,
CERTIFICATENUM varchar(60) ,
NATIVEPLACE varchar(100) ,
EDUCATIONLEVEL int(0) ,
BEMEMBERDATE char(10) ,
BEPARTYDATE char(10) ,
WORKCODE varchar(60) ,
REGRESIDENTPLACE varchar(200) ,
HEALTHINFO char(1) ,
RESIDENTPLACE varchar(200) ,
POLICY varchar(30) ,
DEGREE varchar(30) ,
USEKIND int(0) ,
JOBCALL int(0) ,
jobcallname varchar(200) ,
ACCUMFUNDACCOUNT varchar(30),
BIRTHPLACE varchar(60) ,
FOLK varchar(30) ,
RESIDENTPHONE varchar(60) ,
RESIDENTPOSTCODE varchar(60) ,
EXTPHONE varchar(50) ,
MANAGERSTR varchar(500),
STATUS int(0) ,
FAX varchar(60) ,
ISLABOUUNION char(1),
TEMPRESIDENTNUMBER varchar(60),
PROBATIONENDDATE char(10),
COUNTRYID int(0) ,
ACCOUNTTYPE int(0) ,
BELONGTO int(0) ,
ACCOUNTNAME varchar(200) ,
companystartdate varchar(10),
workstartdate varchar(10) ,
companyworkyear decimal(10, 2) ,
workyear decimal(10, 2) ,
PRIMARY KEY (ID) USING BTREE
) ;

View File

@ -0,0 +1 @@
ALTER TABLE hrsa_page_list_template ADD COLUMN file_id int(0);

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,72 @@
CREATE TABLE hrsa_hrm_snapshot (
ID NUMBER(38,0) primary key NOT NULL,
snapshot_time date,
employee_id NUMBER(38,0),
loginid varchar2(100),
LASTNAME varchar2(60),
SEX char(1),
BIRTHDAY char(10) ,
NATIONALITY int ,
MARITALSTATUS char(1) ,
TELEPHONE varchar2(60),
MOBILE varchar2(60) ,
MOBILECALL varchar2(60) ,
EMAIL varchar2(60),
LOCATIONID int,
WORKROOM varchar2(60),
HOMEADDRESS varchar2(100),
RESOURCETYPE char(1) ,
STARTDATE char(10) ,
ENDDATE char(10),
JOBTITLE int ,
JOBTITLENAME varchar2(200) ,
JOBACTIVITYDESC varchar2(200),
JOBLEVEL int ,
SECLEVEL int ,
DEPARTMENTID int ,
DEPARTMENTNAME varchar2(200) ,
SUBCOMPANYID1 int ,
SUBCOMPANYNAME varchar2(200) ,
COSTCENTERID int ,
MANAGERID int ,
ASSISTANTID int,
BANKID1 int ,
ACCOUNTID1 varchar2(100) ,
LASTLOGINDATE char(10) ,
CERTIFICATENUM varchar2(60) ,
NATIVEPLACE varchar2(100) ,
EDUCATIONLEVEL int ,
BEMEMBERDATE char(10) ,
BEPARTYDATE char(10) ,
WORKCODE varchar2(60) ,
REGRESIDENTPLACE varchar2(200) ,
HEALTHINFO char(1) ,
RESIDENTPLACE varchar2(200) ,
POLICY varchar2(30) ,
DEGREE varchar2(30) ,
USEKIND int ,
JOBCALL int ,
jobcallname varchar2(200) ,
ACCUMFUNDACCOUNT varchar2(30),
BIRTHPLACE varchar2(60) ,
FOLK varchar2(30) ,
RESIDENTPHONE varchar2(60) ,
RESIDENTPOSTCODE varchar2(60) ,
EXTPHONE varchar2(50) ,
MANAGERSTR varchar2(500),
STATUS int ,
FAX varchar2(60) ,
ISLABOUUNION char(1),
TEMPRESIDENTNUMBER varchar2(60),
PROBATIONENDDATE char(10),
COUNTRYID int ,
ACCOUNTTYPE int ,
BELONGTO int ,
ACCOUNTNAME varchar2(200) ,
companystartdate varchar2(10),
workstartdate varchar2(10) ,
companyworkyear number ,
workyear number
)
/

View File

@ -0,0 +1,2 @@
alter table hrsa_page_list_template add file_id 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,71 @@
CREATE TABLE hrsa_hrm_snapshot (
ID bigint(0) NOT NULL,
snapshot_time timestamp,
employee_id bigint(0),
loginid varchar(100),
LASTNAME varchar(60),
SEX char(1),
BIRTHDAY char(10) ,
NATIONALITY int(0) ,
MARITALSTATUS char(1) ,
TELEPHONE varchar(60),
MOBILE varchar(60) ,
MOBILECALL varchar(60) ,
EMAIL varchar(60),
LOCATIONID int(0),
WORKROOM varchar(60),
HOMEADDRESS varchar(100),
RESOURCETYPE char(1) ,
STARTDATE char(10) ,
ENDDATE char(10),
JOBTITLE int(0) ,
JOBTITLENAME varchar(200) ,
JOBACTIVITYDESC varchar(200),
JOBLEVEL int(0) ,
SECLEVEL int(0) ,
DEPARTMENTID int(0) ,
DEPARTMENTNAME varchar(200) ,
SUBCOMPANYID1 int(0) ,
SUBCOMPANYNAME varchar(200) ,
COSTCENTERID int(0) ,
MANAGERID int(0) ,
ASSISTANTID int(0),
BANKID1 int(0) ,
ACCOUNTID1 varchar(100) ,
LASTLOGINDATE char(10) ,
CERTIFICATENUM varchar(60) ,
NATIVEPLACE varchar(100) ,
EDUCATIONLEVEL int(0) ,
BEMEMBERDATE char(10) ,
BEPARTYDATE char(10) ,
WORKCODE varchar(60) ,
REGRESIDENTPLACE varchar(200) ,
HEALTHINFO char(1) ,
RESIDENTPLACE varchar(200) ,
POLICY varchar(30) ,
DEGREE varchar(30) ,
USEKIND int(0) ,
JOBCALL int(0) ,
jobcallname varchar(200) ,
ACCUMFUNDACCOUNT varchar(30),
BIRTHPLACE varchar(60) ,
FOLK varchar(30) ,
RESIDENTPHONE varchar(60) ,
RESIDENTPOSTCODE varchar(60) ,
EXTPHONE varchar(50) ,
MANAGERSTR varchar(500),
STATUS int(0) ,
FAX varchar(60) ,
ISLABOUUNION char(1),
TEMPRESIDENTNUMBER varchar(60),
PROBATIONENDDATE char(10),
COUNTRYID int(0) ,
ACCOUNTTYPE int(0) ,
BELONGTO int(0) ,
ACCOUNTNAME varchar(200) ,
companystartdate varchar(10),
workstartdate varchar(10) ,
companyworkyear decimal(10, 2) ,
workyear decimal(10, 2) ,
PRIMARY KEY (ID)
) ;

View File

@ -0,0 +1 @@
alter table hrsa_page_list_template add file_id int;

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,72 @@
CREATE TABLE hrsa_hrm_snapshot (
ID bigint NOT NULL,
snapshot_time datetime,
employee_id bigint,
loginid varchar(100),
LASTNAME varchar(60),
SEX char(1),
BIRTHDAY char(10) ,
NATIONALITY int ,
MARITALSTATUS char(1) ,
TELEPHONE varchar(60),
MOBILE varchar(60) ,
MOBILECALL varchar(60) ,
EMAIL varchar(60),
LOCATIONID int,
WORKROOM varchar(60),
HOMEADDRESS varchar(100),
RESOURCETYPE char(1) ,
STARTDATE char(10) ,
ENDDATE char(10),
JOBTITLE int ,
JOBTITLENAME varchar(200) ,
JOBACTIVITYDESC varchar(200),
JOBLEVEL int ,
SECLEVEL int ,
DEPARTMENTID int ,
DEPARTMENTNAME varchar(200) ,
SUBCOMPANYID1 int ,
SUBCOMPANYNAME varchar(200) ,
COSTCENTERID int ,
MANAGERID int ,
ASSISTANTID int,
BANKID1 int ,
ACCOUNTID1 varchar(100) ,
LASTLOGINDATE char(10) ,
CERTIFICATENUM varchar(60) ,
NATIVEPLACE varchar(100) ,
EDUCATIONLEVEL int ,
BEMEMBERDATE char(10) ,
BEPARTYDATE char(10) ,
WORKCODE varchar(60) ,
REGRESIDENTPLACE varchar(200) ,
HEALTHINFO char(1) ,
RESIDENTPLACE varchar(200) ,
POLICY varchar(30) ,
DEGREE varchar(30) ,
USEKIND int ,
JOBCALL int ,
jobcallname varchar(200) ,
ACCUMFUNDACCOUNT varchar(30),
BIRTHPLACE varchar(60) ,
FOLK varchar(30) ,
RESIDENTPHONE varchar(60) ,
RESIDENTPOSTCODE varchar(60) ,
EXTPHONE varchar(50) ,
MANAGERSTR varchar(500),
STATUS int ,
FAX varchar(60) ,
ISLABOUUNION char(1),
TEMPRESIDENTNUMBER varchar(60),
PROBATIONENDDATE char(10),
COUNTRYID int ,
ACCOUNTTYPE int ,
BELONGTO int ,
ACCOUNTNAME varchar(200) ,
companystartdate varchar(10),
workstartdate varchar(10) ,
companyworkyear decimal(10, 2) ,
workyear decimal(10, 2),
PRIMARY KEY (id)
)
GO

View File

@ -0,0 +1,2 @@
alter table hrsa_page_list_template add file_id int
go

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,72 @@
CREATE TABLE hrsa_hrm_snapshot (
ID NUMBER(38,0) primary key NOT NULL,
snapshot_time date,
employee_id NUMBER(38,0),
loginid varchar2(100),
LASTNAME varchar2(60),
SEX char(1),
BIRTHDAY char(10) ,
NATIONALITY int ,
MARITALSTATUS char(1) ,
TELEPHONE varchar2(60),
MOBILE varchar2(60) ,
MOBILECALL varchar2(60) ,
EMAIL varchar2(60),
LOCATIONID int,
WORKROOM varchar2(60),
HOMEADDRESS varchar2(100),
RESOURCETYPE char(1) ,
STARTDATE char(10) ,
ENDDATE char(10),
JOBTITLE int ,
JOBTITLENAME varchar2(200) ,
JOBACTIVITYDESC varchar2(200),
JOBLEVEL int ,
SECLEVEL int ,
DEPARTMENTID int ,
DEPARTMENTNAME varchar2(200) ,
SUBCOMPANYID1 int ,
SUBCOMPANYNAME varchar2(200) ,
COSTCENTERID int ,
MANAGERID int ,
ASSISTANTID int,
BANKID1 int ,
ACCOUNTID1 varchar2(100) ,
LASTLOGINDATE char(10) ,
CERTIFICATENUM varchar2(60) ,
NATIVEPLACE varchar2(100) ,
EDUCATIONLEVEL int ,
BEMEMBERDATE char(10) ,
BEPARTYDATE char(10) ,
WORKCODE varchar2(60) ,
REGRESIDENTPLACE varchar2(200) ,
HEALTHINFO char(1) ,
RESIDENTPLACE varchar2(200) ,
POLICY varchar2(30) ,
DEGREE varchar2(30) ,
USEKIND int ,
JOBCALL int ,
jobcallname varchar2(200) ,
ACCUMFUNDACCOUNT varchar2(30),
BIRTHPLACE varchar2(60) ,
FOLK varchar2(30) ,
RESIDENTPHONE varchar2(60) ,
RESIDENTPOSTCODE varchar2(60) ,
EXTPHONE varchar2(50) ,
MANAGERSTR varchar2(500),
STATUS int ,
FAX varchar2(60) ,
ISLABOUUNION char(1),
TEMPRESIDENTNUMBER varchar2(60),
PROBATIONENDDATE char(10),
COUNTRYID int ,
ACCOUNTTYPE int ,
BELONGTO int ,
ACCOUNTNAME varchar2(200) ,
companystartdate varchar2(10),
workstartdate varchar2(10) ,
companyworkyear number ,
workyear number
);
/

View File

@ -0,0 +1,3 @@
alter table hrsa_page_list_template add file_id int;
/

View File

@ -96,15 +96,18 @@ public class CheckStopSalaryAction implements Action {
List<TaxAgentPO> taxAgentPOS = getTaxAgentMapper().listByName(taxAgentName);
if(CollectionUtils.isEmpty(taxAgentPOS)){
requestInfo.getRequestManager().setMessage("个税扣缴义务人不存在!");
log.error("停薪检查异常 requestId:{} msg:{}", requestInfo.getRequestid(), taxAgentName + "个税扣缴义务人不存在!");
return FAILURE_AND_CONTINUE;
}
Long taxAgentId = Long.valueOf( taxAgentPOS.get(0).getId() );
Long employeeId = Long.valueOf(importDataMap.getOrDefault("员工id", "-1").toString());
if( importDataMap.get("最后发薪日期") == null || StringUtils.isBlank(importDataMap.get("最后发薪日期").toString())){
requestInfo.getRequestManager().setMessage("缺少最后发薪日期字段!");
log.error("停薪检查异常 requestId:{} msg:{}", requestInfo.getRequestid(), "缺少最后发薪日期字段!");
return FAILURE_AND_CONTINUE;
}else if(SalaryDateUtil.stringToDate(importDataMap.get("最后发薪日期").toString()) == null){
requestInfo.getRequestManager().setMessage("最后发薪日期格式错误格式为yyyy-MM-dd");
log.error("停薪检查异常 requestId:{} msg:{}", requestInfo.getRequestid(), "最后发薪日期格式错误格式为yyyy-MM-dd" + importDataMap.get("最后发薪日期").toString());
return FAILURE_AND_CONTINUE;
}
@ -115,15 +118,17 @@ public class CheckStopSalaryAction implements Action {
List<SalaryArchivePO> salaryArchiveList = getSalaryArchiveService(user).listSome(SalaryArchivePO.builder().taxAgentId(taxAgentId).employeeId(employeeId).deleteType(NumberUtils.INTEGER_ZERO).build());
if(CollectionUtils.isEmpty(salaryArchiveList)){
requestInfo.getRequestManager().setMessage("该个税扣缴义务人下该员工不存在薪资档案,请检查后重试!");
log.error("停薪检查异常 requestId:{} msg:{}", requestInfo.getRequestid(), taxAgentId +"_"+ employeeId+"该个税扣缴义务人下该员工不存在薪资档案,请检查后重试!");
return FAILURE_AND_CONTINUE;
}
if(salaryArchiveList.size() > 1){
requestInfo.getRequestManager().setMessage("该个税扣缴义务人下该员工存在多条薪资档案记录,请检查后重试!");
log.error("停薪检查异常 requestId:{} msg:{}", requestInfo.getRequestid(), taxAgentId +"_"+ employeeId+"该个税扣缴义务人下该员工存在多条薪资档案记录,请检查后重试!");
return FAILURE_AND_CONTINUE;
}
} catch (Exception e) {
log.error("停薪校验异常", e);
log.error("停薪检查异常", e);
requestInfo.getRequestManager().setMessage(e.getMessage());
return FAILURE_AND_CONTINUE;
}

View File

@ -107,15 +107,18 @@ public class StopSalaryAction implements Action {
List<TaxAgentPO> taxAgentPOS = getTaxAgentMapper().listByName(taxAgentName);
if(CollectionUtils.isEmpty(taxAgentPOS)){
requestInfo.getRequestManager().setMessage("个税扣缴义务人不存在!");
log.error("停薪异常 requestId:{} msg:{}", requestInfo.getRequestid(), taxAgentName + "个税扣缴义务人不存在!");
return FAILURE_AND_CONTINUE;
}
Long taxAgentId = Long.valueOf( taxAgentPOS.get(0).getId() );
Long employeeId = Long.valueOf(importDataMap.getOrDefault("员工id", "-1").toString());
if( importDataMap.get("最后发薪日期") == null || StringUtils.isBlank(importDataMap.get("最后发薪日期").toString())){
requestInfo.getRequestManager().setMessage("缺少最后发薪日期字段!");
log.error("停薪异常 requestId:{} msg:{}", requestInfo.getRequestid(), "缺少最后发薪日期字段!");
return FAILURE_AND_CONTINUE;
}else if(SalaryDateUtil.stringToDate(importDataMap.get("最后发薪日期").toString()) == null){
requestInfo.getRequestManager().setMessage("最后发薪日期格式错误格式为yyyy-MM-dd");
log.error("停薪异常 requestId:{} msg:{}", requestInfo.getRequestid(), "最后发薪日期格式错误格式为yyyy-MM-dd" + importDataMap.get("最后发薪日期").toString());
return FAILURE_AND_CONTINUE;
}
@ -123,10 +126,12 @@ public class StopSalaryAction implements Action {
List<SalaryArchivePO> salaryArchiveList = getSalaryArchiveService(user).listSome(SalaryArchivePO.builder().taxAgentId(taxAgentId).employeeId(employeeId).deleteType(NumberUtils.INTEGER_ZERO).build());
if(CollectionUtils.isEmpty(salaryArchiveList)){
requestInfo.getRequestManager().setMessage("该个税扣缴义务人下该员工不存在薪资档案,请检查后重试!");
log.error("停薪异常 requestId:{} msg:{}", requestInfo.getRequestid(), taxAgentId +"_"+ employeeId+"该个税扣缴义务人下该员工不存在薪资档案,请检查后重试!");
return FAILURE_AND_CONTINUE;
}
if(salaryArchiveList.size() > 1){
requestInfo.getRequestManager().setMessage("该个税扣缴义务人下该员工存在多条薪资档案记录,请检查后重试!");
log.error("停薪异常 requestId:{} msg:{}", requestInfo.getRequestid(), taxAgentId +"_"+ employeeId+"该个税扣缴义务人下该员工存在多条薪资档案记录,请检查后重试!");
return FAILURE_AND_CONTINUE;
}
// 设置最后发薪日期

View File

@ -439,11 +439,11 @@ public class SIAccountBiz extends Service {
public List<Long> listCanPayEmpIds(Long paymentOrganization, String billMonth) {
List<Long> listCanPayEmpIds = new ArrayList<>();
//社保档案中可进行缴纳的人员
List<Long> socialCanPayEmpIds = getSocialSchemeMapper().listCanPayEmpIds(paymentOrganization, billMonth);
List<Long> socialCanPayEmpIds = getSocialSchemeMapper().listCanPayEmpIds(paymentOrganization, billMonth, 0);
//公积金档案中可进行缴纳的人员
List<Long> fundCanPayEmpIds = getFundSchemeMapper().listCanPayEmpIds(paymentOrganization, billMonth);
List<Long> fundCanPayEmpIds = getFundSchemeMapper().listCanPayEmpIds(paymentOrganization, billMonth, 0);
//其他福利档案中可进行缴纳的人员
List<Long> otherCanPayEmpIds = getOtherSchemeMapper().listCanPayEmpIds(paymentOrganization, billMonth);
List<Long> otherCanPayEmpIds = getOtherSchemeMapper().listCanPayEmpIds(paymentOrganization, billMonth, 0);
if (socialCanPayEmpIds != null && socialCanPayEmpIds.size() > 0) {
listCanPayEmpIds.addAll(socialCanPayEmpIds);
}

View File

@ -7,6 +7,8 @@ import com.engine.salary.entity.taxagent.dto.TaxAgentEmployeeTaxAgentDTO;
import com.engine.salary.mapper.salarybill.SalarySendRangeObjMapper;
import com.engine.salary.service.TaxAgentService;
import com.engine.salary.service.impl.TaxAgentServiceImpl;
import com.engine.salary.util.db.MapperProxyFactory;
import com.google.common.collect.Lists;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.ibatis.session.SqlSession;
import weaver.conn.mybatis.MyBatisFactory;
@ -23,6 +25,10 @@ public class SalarySendRangeObjBiz {
return ServiceUtil.getService(TaxAgentServiceImpl.class);
}
private SalarySendRangeObjMapper getSalarySendRangeObjMapper() {
return MapperProxyFactory.getProxy(SalarySendRangeObjMapper.class);
}
public <R> R applyMapper(Function<SalarySendRangeObjMapper, R> mapper) {
try (SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession()) {
final SalarySendRangeObjMapper salarySendRangeObjMapper = sqlSession.getMapper(SalarySendRangeObjMapper.class);
@ -41,7 +47,13 @@ public class SalarySendRangeObjBiz {
}
public List<SalarySendUserInfoDTO> getSalarySendUserInfoDTOs(List<Long> employees) {
List<SalarySendUserInfoDTO> userDTOs = applyMapper(mapper -> mapper.getUserInfoByEmployeeIds(employees));
List<SalarySendUserInfoDTO> userDTOs = new ArrayList<>();
List<List<Long>> partition = Lists.partition(employees, 500);
partition.forEach(l->{
List<SalarySendUserInfoDTO> userInfos = getSalarySendRangeObjMapper().getUserInfoByEmployeeIds(l);
userDTOs.addAll(userInfos);
});
Map<Long, SalarySendUserInfoDTO> userMap = userDTOs.stream()
.collect(Collectors.toMap(SalarySendUserInfoDTO::getResourceId, Function.identity()));

View File

@ -0,0 +1,57 @@
package com.engine.salary.entity.extemp.dto;
import com.engine.hrmelog.annotation.ElogTransform;
import com.engine.salary.annotation.TableTitle;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 外部人员
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
//hrsa_external_employee
@ElogTransform( name = "非系统人员")
public class ExtEmpDTO {
@ElogTransform(name = "主键id")
private Long id;
/**
* 姓名
*/
@TableTitle(title = "姓名", dataIndex = "username", key = "username")
private String username;
/**
* 部门
*/
@TableTitle(title = "部门", dataIndex = "departmentName", key = "departmentName")
private String departmentName;
/**
* 分部
*/
@TableTitle(title = "分部", dataIndex = "subcompanyName", key = "subcompanyName")
private String subcompanyName;
/**
* 入职日期
*/
@TableTitle(title = "入职日期", dataIndex = "companystartdate", key = "companystartdate")
private String companystartdate;
/**
* 工号
*/
@TableTitle(title = "工号", dataIndex = "workcode", key = "workcode")
private String workcode;
}

View File

@ -0,0 +1,434 @@
package com.engine.salary.entity.hrm.po;
import com.engine.hrmelog.annotation.ElogTransform;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
import java.util.Collection;
import java.util.Date;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class HrmSnapshotPO {
@ElogTransform(name = "id")
private Long id;
/**
* 快照时间
*/
@ElogTransform(name = "快照时间")
private Date snapshotTime;
/**
* 人员id
*/
@ElogTransform(name = "人员id")
private Long employeeId;
/**
* 姓名
*/
@ElogTransform(name = "姓名")
private String lastname;
/**
* 工资帐号1
*/
@ElogTransform(name = "工资帐号1")
private String accountid1;
/**
* 工资账号户名
*/
@ElogTransform(name = "工资账号户名")
private String accountname;
/**
* 帐号类型
*/
@ElogTransform(name = "帐号类型")
private Integer accounttype;
/**
* 公积金帐号
*/
@ElogTransform(name = "公积金帐号")
private String accumfundaccount;
/**
* 助理
*/
@ElogTransform(name = "助理")
private Integer assistantid;
/**
* 工资银行1
*/
@ElogTransform(name = "工资银行1")
private Integer bankid1;
/**
* 所属主帐号
*/
@ElogTransform(name = "所属主帐号")
private Integer belongto;
/**
* 入团时间
*/
@ElogTransform(name = "入团时间")
private String bememberdate;
/**
* 入党时间
*/
@ElogTransform(name = "入党时间")
private String bepartydate;
/**
* 生日
*/
@ElogTransform(name = "生日")
private String birthday;
/**
* 出生地
*/
@ElogTransform(name = "出生地")
private String birthplace;
/**
* 身份证号码
*/
@ElogTransform(name = "身份证号码")
private String certificatenum;
/**
* 公司开始日期
*/
@ElogTransform(name = "公司开始日期")
private String companystartdate;
/**
* 公司年限
*/
@ElogTransform(name = "公司年限")
private BigDecimal companyworkyear;
/**
* 所属成本中心
*/
@ElogTransform(name = "所属成本中心")
private Integer costcenterid;
/**
* 国家id
*/
@ElogTransform(name = "国家id")
private Integer countryid;
/**
* 学位
*/
@ElogTransform(name = "学位")
private String degree;
/**
* 所属部门
*/
@ElogTransform(name = "所属部门")
private Integer departmentid;
/**
* 部门名称
*/
@ElogTransform(name = "部门名称")
private String departmentname;
/**
* 学历
*/
@ElogTransform(name = "学历")
private Integer educationlevel;
/**
* 电子邮件
*/
@ElogTransform(name = "电子邮件")
private String email;
/**
* 合同结束日期
*/
@ElogTransform(name = "合同结束日期")
private String enddate;
/**
* 分机
*/
@ElogTransform(name = "分机")
private String extphone;
/**
* 传真
*/
@ElogTransform(name = "传真")
private String fax;
/**
* 民族
*/
@ElogTransform(name = "民族")
private String folk;
/**
* 健康状况
*/
@ElogTransform(name = "健康状况")
private String healthinfo;
/**
* 家庭住址
*/
@ElogTransform(name = "家庭住址")
private String homeaddress;
/**
* 是否为工会会员
*/
@ElogTransform(name = "是否为工会会员")
private String islabouunion;
/**
* 职责描述
*/
@ElogTransform(name = "职责描述")
private String jobactivitydesc;
/**
* 职称
*/
@ElogTransform(name = "职称")
private Integer jobcall;
/**
* 职称名称
*/
@ElogTransform(name = "职称名称")
private String jobcallname;
/**
* 工作级别
*/
@ElogTransform(name = "工作级别")
private Integer joblevel;
/**
* 岗位
*/
@ElogTransform(name = "岗位")
private Integer jobtitle;
/**
* 岗位名称
*/
@ElogTransform(name = "岗位名称")
private String jobtitlename;
/**
* 最后登陆日期
*/
@ElogTransform(name = "最后登陆日期")
private String lastlogindate;
/**
* 工作地点
*/
@ElogTransform(name = "工作地点")
private Integer locationid;
/**
* 系统登陆帐号
*/
@ElogTransform(name = "系统登陆帐号")
private String loginid;
/**
* 经理
*/
@ElogTransform(name = "经理")
private Integer managerid;
/**
* 所有上级
*/
@ElogTransform(name = "所有上级")
private String managerstr;
/**
* 婚姻状况
*/
@ElogTransform(name = "婚姻状况")
private String maritalstatus;
/**
* 手机
*/
@ElogTransform(name = "手机")
private String mobile;
/**
* 其他电话
*/
@ElogTransform(name = "其他电话")
private String mobilecall;
/**
* 国籍
*/
@ElogTransform(name = "国籍")
private Integer nationality;
/**
* 籍贯
*/
@ElogTransform(name = "籍贯")
private String nativeplace;
/**
* 政治面貌
*/
@ElogTransform(name = "政治面貌")
private String policy;
/**
* 试用期结束日期
*/
@ElogTransform(name = "试用期结束日期")
private String probationenddate;
/**
* 户口
*/
@ElogTransform(name = "户口")
private String regresidentplace;
/**
* 居住地电话
*/
@ElogTransform(name = "居住地电话")
private String residentphone;
/**
* 居住地
*/
@ElogTransform(name = "居住地")
private String residentplace;
/**
* 居住地邮编
*/
@ElogTransform(name = "居住地邮编")
private String residentpostcode;
/**
* 用户类别
*/
@ElogTransform(name = "用户类别")
private String resourcetype;
/**
* 安全级别
*/
@ElogTransform(name = "安全级别")
private Integer seclevel;
/**
* 性别
*/
@ElogTransform(name = "性别")
private String sex;
/**
* 合同开始日期
*/
@ElogTransform(name = "合同开始日期")
private String startdate;
/**
* 0试用<br>1正式<br>2临时<br>3试用延期<br>4解聘<br>5离职<br>6退休<br>7无效
*/
@ElogTransform(name = " 0试用<br>1正式<br>2临时<br>3试用延期<br>4解聘<br>5离职<br>6退休<br>7无效")
private Integer status;
/**
* 所属分部1
*/
@ElogTransform(name = "所属分部1")
private Integer subcompanyid1;
/**
* 分部名称
*/
@ElogTransform(name = "分部名称")
private String subcompanyname;
/**
* 电话
*/
@ElogTransform(name = "电话")
private String telephone;
/**
* 暂住证号码
*/
@ElogTransform(name = "暂住证号码")
private String tempresidentnumber;
/**
* 用工性质
*/
@ElogTransform(name = "用工性质")
private Integer usekind;
/**
* 编号
*/
@ElogTransform(name = "编号")
private String workcode;
/**
* 办公室
*/
@ElogTransform(name = "办公室")
private String workroom;
/**
* 工作开始日期
*/
@ElogTransform(name = "工作开始日期")
private String workstartdate;
/**
* 工作年限
*/
@ElogTransform(name = "工作年限")
private BigDecimal workyear;
//主键id集合
private Collection<Long> ids;
}

View File

@ -34,5 +34,7 @@ public class SalaryMySalaryBillListDTO {
private Long employeeId;
private String salaryCode;
}

View File

@ -1,5 +1,6 @@
package com.engine.salary.entity.salaryacct.bo;
import cn.hutool.core.util.StrUtil;
import com.engine.salary.constant.TaxDeclarationDataIndexConstant;
import com.engine.salary.entity.salaryacct.po.SalaryAcctResultPO;
import com.engine.salary.entity.salaryitem.po.SalaryItemPO;
@ -73,6 +74,9 @@ public class SalaryAcctConsolidatedTaxBO {
.filter(e -> Objects.equals(e.getSalaryItemId(), optional.get()))
.map(e -> SalaryEntityUtil.empty2Zero(e.getResultValue()))
.reduce(BigDecimal.ZERO, BigDecimal::add);
if (StrUtil.isBlank(resultValue)) {
resultValue = "0.00";
}
return new BigDecimal(resultValue).add(income).toPlainString();
}
// 个税调差为0
@ -98,6 +102,9 @@ public class SalaryAcctConsolidatedTaxBO {
.map(e -> SalaryEntityUtil.empty2Zero(e.getResultValue()))
.reduce(BigDecimal.ZERO, BigDecimal::add);
}
if (StrUtil.isBlank(resultValue)) {
resultValue = "0.00";
}
return new BigDecimal(resultValue).add(refundedOrSupplementedTax).subtract(taxAdjustment).toPlainString();
}
return resultValue;

View File

@ -6,12 +6,14 @@ import com.engine.salary.entity.salaryformula.dto.SalaryFormulaEmployeeDTO;
import com.engine.salary.entity.salaryitem.po.SalaryItemPO;
import com.engine.salary.entity.salarysob.po.SalarySobBackItemPO;
import com.engine.salary.entity.salarysob.po.SalarySobItemPO;
import com.engine.salary.enums.UserStatusEnum;
import com.engine.salary.enums.salaryitem.SalaryDataTypeEnum;
import com.engine.salary.util.JsonUtil;
import com.engine.salary.util.SalaryEntityUtil;
import com.engine.salary.util.SalaryI18nUtil;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import weaver.general.Util;
import java.math.BigDecimal;
import java.util.Collections;
@ -115,8 +117,8 @@ public class SalaryAcctFormulaBO {
.mobile(simpleEmployee.getMobile())
.telephone(simpleEmployee.getTelephone())
.sex(sexName)
.status(simpleEmployee.getStatus())
.statusName(simpleEmployee.getStatusName())
.status(salaryAcctEmployeePO.getStatus())
.statusName(UserStatusEnum.getDefaultLabelByValue(new Integer(Util.null2s(salaryAcctEmployeePO.getStatus(), "1"))))
.accountType(simpleEmployee.getAccountType())
.accountTypeName(simpleEmployee.getAccountTypeName())
.departmentName(salaryAcctEmployeePO.getDepartmentName())

View File

@ -20,7 +20,7 @@ import java.util.Collection;
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class SalaryAcctCalculateParam {
public class SalaryAcctCalculateParam {
//核算人员的id,不是employeeId而是salaryAcctEmpId
private Collection<Long> ids;

View File

@ -7,6 +7,7 @@ import lombok.Data;
import lombok.NoArgsConstructor;
import java.time.YearMonth;
import java.util.List;
/**
* 薪资核算列表查询参数
@ -31,6 +32,11 @@ public class SalaryAcctRecordQueryParam extends BaseQueryParam {
//账套名称")
private String name;
/**
* 扣缴义务人id集合
*/
private List<Long> taxAgentIds;
private String startMonthStr;
private String endMonthStr;
}

View File

@ -77,14 +77,12 @@ public class SalaryAcctRecordPO {
* 回算上次核算的薪资核算记录id
*/
@Deprecated
// //备用字段1", ignore = true)
private Long superId;
/**
* 回算最原始的那次薪资核算记录id
*/
@Deprecated
// //备用字段2", ignore = true)
private Long rootId;
/**

View File

@ -61,7 +61,7 @@ public class SalaryArchiveBO {
*
* @param salaryItems
*/
public static List<WeaTableColumn> buildSalaryArchiveTable(List<SalaryItemPO> salaryItems) {
public static List<WeaTableColumn> buildSalaryArchiveTable(List<SalaryItemPO> salaryItems, boolean openSecondaryAccount) {
// 表格表头
List<WeaTableColumn> columns = new ArrayList<>();
WeaTableColumn idColumn = new WeaTableColumn("100px", "id", "id");
@ -72,7 +72,9 @@ 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"));
if (openSecondaryAccount) {
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

@ -782,6 +782,7 @@ public class SalaryArchiveExcelBO extends Service {
// .modifier(importHandleParam.getCurrentEmployeeId())
.deleteType(NumberUtils.INTEGER_ZERO)
.tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY)
.employeeType(importHandleParam.isExtEmp() ? 1 : null)
.build();
// 定薪action 保持状态为待定薪
if (importHandleParam.isInit() && importHandleParam.getKeepStatus() != null && importHandleParam.getKeepStatus().equals(Boolean.TRUE)) {

View File

@ -4,6 +4,7 @@ import com.engine.salary.common.LocalDateRange;
import com.engine.salary.entity.salarysob.dto.SalarySobCycleDTO;
import com.engine.salary.entity.salarysob.po.SalarySobPO;
import com.engine.salary.enums.SalaryCycleTypeEnum;
import com.engine.salary.util.SalaryDateUtil;
import java.time.*;
import java.util.Date;
@ -30,7 +31,8 @@ public class SalarySobCycleBO {
if (salarySob == null) {
return null;
}
return SalarySobCycleDTO.builder()
SalarySobCycleDTO salarySobCycleDTO = SalarySobCycleDTO.builder()
.salarySobId(salarySob.getId())
.salaryMonth(salaryMonth)
.taxCycle(buildCycle(salaryMonth, salarySob.getTaxCycleType()))
@ -38,6 +40,18 @@ public class SalarySobCycleBO {
.salaryCycle(buildCycleDateRange(salaryMonth, salarySob.getSalaryCycleType(), salarySob.getSalaryCycleFromDay()))
.attendCycle(buildCycleDateRange(salaryMonth, salarySob.getAttendCycleType(), salarySob.getAttendCycleFromDay()))
.build();
salarySobCycleDTO.setSalaryDate(SalaryDateUtil.toDate(salarySobCycleDTO.getSalaryMonth(), 1));
salarySobCycleDTO.setTaxDate(SalaryDateUtil.toDate(salarySobCycleDTO.getTaxCycle(), 1));
salarySobCycleDTO.setSocialSecurityDate(SalaryDateUtil.toDate(salarySobCycleDTO.getSocialSecurityCycle(), 1));
LocalDateRange salaryCycle = salarySobCycleDTO.getSalaryCycle();
salarySobCycleDTO.setSalaryCycleFromDate(salaryCycle.getFromDate());
salarySobCycleDTO.setSalaryCycleEndDate(salaryCycle.getEndDate());
LocalDateRange attendCycle = salarySobCycleDTO.getAttendCycle();
salarySobCycleDTO.setAttendCycleFromDate(attendCycle.getFromDate());
salarySobCycleDTO.setAttendCycleEndDate(attendCycle.getEndDate());
return salarySobCycleDTO;
}
/**

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,66 @@ 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;
@TableTitle(title = "导出模板",dataIndex = "fileName",key = "fileName")
private String fileName;
private Integer fileId;
/**
* 限制
*/
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

@ -0,0 +1,24 @@
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;
import java.util.List;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class DownloadTemplateParam {
@DataCheck(require = true,message = "请选择表头")
private List<String> heads;
@DataCheck(require = true,message = "请选择设置")
private List<String> setting;
}

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

@ -40,4 +40,9 @@ public class PageListTemplateSaveParam {
*/
@DataCheck(require = true,message = "请选择设置")
private List<String> setting;
/**
* 导出模板id
*/
private Integer fileId;
}

View File

@ -30,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;
@ -11,12 +12,13 @@ import java.util.Date;
import java.util.List;
/**
* 薪资帐套
* 页面模板
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
//hrsa_page_list_template
public class PageListTemplatePO {
@ -44,16 +46,29 @@ 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;
/**
* excel模板文件id
*/
@ElogTransform(name = "模板文件id")
private Integer fileId;
/**
* 租户ID
@ -67,23 +82,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

@ -37,6 +37,10 @@ public class TaxDeclarationListDTO {
@TableTitle(title = "薪资类型", dataIndex = "incomeCategory", key = "incomeCategory")
private String incomeCategory;
@JsonFormat(pattern = "yyyy-MM", timezone = "GMT+8")
@TableTitle(title = "税款所属期", dataIndex = "taxCycle", key = "taxCycle")
private Date taxCycle;
@JsonFormat(pattern = "yyyy-MM", timezone = "GMT+8")
@TableTitle(title = "薪资所属月", dataIndex = "salaryMonth", key = "salaryMonth")
private Date salaryMonth;
@ -47,10 +51,6 @@ public class TaxDeclarationListDTO {
@TableTitle(title = "个税扣缴义务人", dataIndex = "taxAgentName", key = "taxAgentName")
private String taxAgentName;
@JsonFormat(pattern = "yyyy-MM", timezone = "GMT+8")
@TableTitle(title = "税款所属期", dataIndex = "taxCycle", key = "taxCycle")
private Date taxCycle;
//@TableTitle(title = "操作人id", dataIndex = "operateEmployeeId", key = "operateEmployeeId")
private Long operateEmployeeId;

View File

@ -1,9 +1,14 @@
package com.engine.salary.entity.taxdeclaration.param;
import com.engine.salary.common.BaseQueryParam;
import lombok.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.time.YearMonth;
import java.util.Date;
/**
* 个税申报记录查询条件
@ -20,12 +25,13 @@ import java.time.YearMonth;
public class TaxDeclarationListQueryParam extends BaseQueryParam {
//薪资所属月范围起点
private YearMonth fromSalaryMonth;
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date fromSalaryMonth;
//薪资所属月范围终点
private YearMonth endSalaryMonth;
//薪资所属月范围终点
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date endSalaryMonth;
private String fromSalaryMonthStr;
private String endSalaryMonthStr;
//个税扣缴义务人菜单")
private String taxAgentName;
}

View File

@ -1,11 +1,13 @@
package com.engine.salary.entity.taxdeclaration.param;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.time.YearMonth;
import java.util.Date;
/**
* 生成个税申报表参数
@ -42,4 +44,10 @@ public class TaxDeclarationSaveParam {
private String description;
private String salaryMonthStr;
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date taxCycle;
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date salaryDate;
}

View File

@ -86,6 +86,13 @@ public class TaxDeclarationPO {
LocalDateRange salaryMonths;
//"开始日期
private Date taxCycleFromDate;
//结束日期
private Date taxCycleEndDate;
private Collection<Long> taxAgentIds;
}

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

@ -54,7 +54,7 @@ public class AddUpSituationManager extends Service {
// 调用生成申报单接口
YearMonth yearMonth = YearMonth.of(localDate.getYear(), localDate.getMonth());
try {
getTaxDeclarationService().save(TaxDeclarationSaveParam.builder().salaryMonth(yearMonth).taxAgentId(po.getTaxAgentId()).build());
getTaxDeclarationService().save(TaxDeclarationSaveParam.builder().salaryMonth(yearMonth).salaryDate(po.getSalaryMonth()).taxCycle(po.getTaxCycle()).taxAgentId(po.getTaxAgentId()).build());
} catch (Exception e) {
bb.writeLog("错误:" + e);
result = false;

View File

@ -15,4 +15,6 @@ import java.util.Map;
**/
public interface SQLMapper {
List<Map> runSQL(@Param("sql") String sql);
List<Long> listLong(@Param("sql") String sql);
}

View File

@ -4,4 +4,9 @@
<select id="runSQL" resultType="java.util.Map">
${sql}
</select>
<select id="listLong" resultType="long">
${sql}
</select>
</mapper>

View File

@ -117,7 +117,7 @@
LEFT JOIN hrmdepartment d ON d.id = e.departmentid
LEFT JOIN hrmsubcompany c ON c.id = e.subcompanyid1
WHERE t.delete_type = 0
and t.employee_type is null
and (t.employee_type is null or t.employee_type = 0)
and e.status not in (7)
<if test="param.ids != null and param.ids.size()>0">
@ -221,7 +221,7 @@
LEFT JOIN hrmdepartment d ON d.id = e.departmentid
LEFT JOIN hrmsubcompany c ON c.id = e.subcompanyid1
WHERE t.delete_type = 0
and t.employee_type is null
and (t.employee_type is null or t.employee_type = 0)
and e.status not in (7)
<if test="param.ids != null and param.ids.size()>0">
@ -322,7 +322,7 @@
LEFT JOIN hrmdepartment d ON d.id = e.departmentid
LEFT JOIN hrmsubcompany c ON c.id = e.subcompanyid1
WHERE t.delete_type = 0
and t.employee_type is null
and (t.employee_type is null or t.employee_type = 0)
and e.status not in (7)
<if test="param.ids != null and param.ids.size()>0">
@ -441,7 +441,7 @@
hrsa_salary_archive t
LEFT JOIN hrsa_external_employee e ON e.id = t.employee_id
WHERE t.delete_type = 0
and t.employee_type is not null
and t.employee_type = 1
<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

@ -0,0 +1,87 @@
package com.engine.salary.mapper.hrm;
import com.engine.salary.entity.hrm.po.HrmSnapshotPO;
import org.apache.ibatis.annotations.Param;
import java.util.Collection;
import java.util.Date;
import java.util.List;
public interface HrmSnapshotMapper {
/**
* 查询所有记录
*
* @return 返回集合没有返回空List
*/
List<HrmSnapshotPO> listAll();
List<HrmSnapshotPO> snapshot(@Param("employeeId")Long employeeId, @Param("snapshotTime")Date snapshotTime);
/**
* 条件查询
*
* @return 返回集合没有返回空List
*/
List<HrmSnapshotPO> listSome(HrmSnapshotPO hrmSnapshot);
/**
* 根据主键查询
*
* @param id 主键
* @return 返回记录没有返回null
*/
HrmSnapshotPO getById(Long id);
/**
* 新增忽略null字段
*
* @param hrmSnapshot 新增的记录
* @return 返回影响行数
*/
int insertIgnoreNull(HrmSnapshotPO hrmSnapshot);
/**
* 修改修改所有字段
*
* @param hrmSnapshot 修改的记录
* @return 返回影响行数
*/
int update(HrmSnapshotPO hrmSnapshot);
/**
* 修改忽略null字段
*
* @param hrmSnapshot 修改的记录
* @return 返回影响行数
*/
int updateIgnoreNull(HrmSnapshotPO hrmSnapshot);
/**
* 删除记录
*
* @param hrmSnapshot 待删除的记录
* @return 返回影响行数
*/
int delete(HrmSnapshotPO hrmSnapshot);
/**
* 批量删除记录
*
* @param ids 主键id集合
*/
void deleteByIds(@Param("ids") Collection<Long> ids);
void deleteBySnapshotTime(Date snapshotTime);
/**
* 查询所有记录
*
* @return 返回集合没有返回空List
*/
List<HrmSnapshotPO> currentEmpData();
}

File diff suppressed because it is too large Load Diff

View File

@ -70,5 +70,4 @@ public interface PageLinkMapper {
*/
void deleteByIds(@Param("ids") Collection<Long> ids);
PageLinkPO getLink(@Param("employeeId")Long employeeId, @Param("page")String page);
}

View File

@ -220,13 +220,5 @@
</foreach>
</delete>
<select id="getLink" resultMap="BaseResultMap">
SELECT
<include refid="baseColumns"/>
FROM hrsa_page_link t
WHERE delete_type = 0
AND employee_id = #{employeeId}
AND page = #{page}
</select>
</mapper>

View File

@ -8,70 +8,71 @@ import java.util.List;
public interface PageListSettingMapper {
/**
/**
* 查询所有记录
*
* @return 返回集合没有返回空List
*/
List<PageListSettingPO> listAll();
List<PageListSettingPO> listAll();
/**
* 条件查询
*
* @return 返回集合没有返回空List
*/
List<PageListSettingPO> listSome(PageListSettingPO pageListSetting);
/**
/**
* 根据主键查询
*
* @param id 主键
* @return 返回记录没有返回null
*/
PageListSettingPO getById(Long id);
/**
PageListSettingPO getById(Long id);
/**
* 新增忽略null字段
*
* @param pageListSetting 新增的记录
* @return 返回影响行数
*/
int insertIgnoreNull(PageListSettingPO pageListSetting);
/**
int insertIgnoreNull(PageListSettingPO pageListSetting);
/**
* 修改修改所有字段
*
* @param pageListSetting 修改的记录
* @return 返回影响行数
*/
int update(PageListSettingPO pageListSetting);
/**
int update(PageListSettingPO pageListSetting);
/**
* 修改忽略null字段
*
* @param pageListSetting 修改的记录
* @return 返回影响行数
*/
int updateIgnoreNull(PageListSettingPO pageListSetting);
/**
int updateIgnoreNull(PageListSettingPO pageListSetting);
/**
* 删除记录
*
* @param pageListSetting 待删除的记录
* @return 返回影响行数
*/
int delete(PageListSettingPO pageListSetting);
int delete(PageListSettingPO pageListSetting);
/**
* 批量删除记录
*
* @param ids 主键id集合
*/
void deleteByIds(@Param("ids") Collection<Long> ids);
//获取页面默认配置
PageListSettingPO getByPage(String page);
//获取页面默认配置
PageListSettingPO getByPage(@Param("page") String page, @Param("defaultSetting") Integer defaultSetting, @Param("creator") Long creator);
//获取页面配置模板
List<PageListSettingPO> getTemplatesByPage(String page);
//获取页面配置模板
List<PageListSettingPO> getTemplatesByPage(String page);
}

View File

@ -10,6 +10,7 @@
<result column="update_time" property="updateTime"/>
<result column="delete_type" property="deleteType"/>
<result column="tenant_key" property="tenantKey"/>
<result column="default_setting" property="defaultSetting"/>
</resultMap>
<!-- 表字段 -->
@ -24,6 +25,7 @@
, t.setting
, t.tenant_key
, t.update_time
, t.default_setting
</sql>
<!-- 查询全部 -->
@ -70,6 +72,9 @@
<if test="updateTime != null">
AND update_time = #{updateTime}
</if>
<if test="defaultSetting != null">
AND default_setting = #{defaultSetting}
</if>
<if test="ids != null and ids.size()>0">
AND id IN
<foreach collection="ids" open="(" item="id" separator="," close=")">
@ -109,6 +114,9 @@
<if test="updateTime != null">
update_time,
</if>
<if test="defaultSetting != null">
default_setting,
</if>
</trim>
<trim prefix="VALUES (" suffix=")" suffixOverrides=",">
<if test="createTime != null">
@ -135,6 +143,9 @@
<if test="updateTime != null">
#{updateTime},
</if>
<if test="defaultSetting != null">
#{defaultSetting},
</if>
</trim>
</insert>
@ -150,6 +161,7 @@
setting=#{setting, jdbcType=ARRAY, typeHandler=com.engine.salary.handle.SalaryListTypeHandler},
tenant_key=#{tenantKey},
update_time=#{updateTime},
default_setting=#{defaultSetting},
</set>
WHERE id = #{id} AND delete_type = 0
</update>
@ -180,6 +192,9 @@
<if test="updateTime != null">
update_time=#{updateTime},
</if>
<if test="defaultSetting != null">
default_setting=#{defaultSetting},
</if>
</set>
WHERE id = #{id} AND delete_type = 0
</update>
@ -209,6 +224,10 @@
FROM hrsa_page_list_setting t
WHERE delete_type = 0
and page = #{page}
and default_setting = #{defaultSetting}
<if test="creator != null">
AND creator = #{creator}
</if>
</select>
<select id="getTemplatesByPage" resultMap="BaseResultMap">

View File

@ -6,13 +6,15 @@
<result column="creator" property="creator"/>
<result column="delete_type" property="deleteType"/>
<result column="id" property="id"/>
<result column="limit_ids" property="limitIds" typeHandler="com.engine.salary.handle.SalaryListTypeHandler"/>
<result column="limit_ids" property="limitIds" typeHandler="com.engine.salary.handle.LongListTypeHandler"/>
<result column="name" property="name"/>
<result column="page" property="page"/>
<result column="setting" property="setting" typeHandler="com.engine.salary.handle.SalaryListTypeHandler" />
<result column="setting" property="setting" typeHandler="com.engine.salary.handle.SalaryListTypeHandler"/>
<result column="shared_type" property="sharedType"/>
<result column="system_type" property="systemType"/>
<result column="tenant_key" property="tenantKey"/>
<result column="update_time" property="updateTime"/>
<result column="file_id" property="fileId"/>
</resultMap>
<!-- 表字段 -->
@ -28,8 +30,10 @@
, t.page
, t.setting
, t.shared_type
, t.system_type
, t.tenant_key
, t.update_time
, t.file_id
</sql>
<!-- 查询全部 -->
@ -73,12 +77,18 @@
<if test="page != null">
AND page = #{page}
</if>
<if test="fileId != null">
AND file_id = #{fileId}
</if>
<if test="setting != null">
AND setting = #{setting}
</if>
<if test="sharedType != null">
AND shared_type = #{sharedType}
</if>
<if test="systemType != null">
AND system_type = #{systemType}
</if>
<if test="tenantKey != null">
AND tenant_key = #{tenantKey}
</if>
@ -127,12 +137,18 @@
<if test="sharedType != null">
shared_type,
</if>
<if test="systemType != null">
system_type,
</if>
<if test="tenantKey != null">
tenant_key,
</if>
<if test="updateTime != null">
update_time,
</if>
<if test="fileId != null">
file_id,
</if>
</trim>
<trim prefix="VALUES (" suffix=")" suffixOverrides=",">
<if test="createTime != null">
@ -162,12 +178,18 @@
<if test="sharedType != null">
#{sharedType},
</if>
<if test="systemType != null">
#{systemType},
</if>
<if test="tenantKey != null">
#{tenantKey},
</if>
<if test="updateTime != null">
#{updateTime},
</if>
<if test="fileId != null">
#{fileId},
</if>
</trim>
</insert>
@ -183,8 +205,10 @@
page=#{page},
setting=#{setting, jdbcType=ARRAY, typeHandler=com.engine.salary.handle.SalaryListTypeHandler},
shared_type=#{sharedType},
system_type=#{systemType},
tenant_key=#{tenantKey},
update_time=#{updateTime},
file_id=#{fileId},
</set>
WHERE id = #{id} AND delete_type = 0
</update>
@ -218,12 +242,16 @@
<if test="sharedType != null">
shared_type=#{sharedType},
</if>
<if test="systemType != null">
system_type=#{systemType},
</if>
<if test="tenantKey != null">
tenant_key=#{tenantKey},
</if>
<if test="updateTime != null">
update_time=#{updateTime},
</if>
file_id=#{fileId},
</set>
WHERE id = #{id} AND delete_type = 0
</update>

View File

@ -28,6 +28,8 @@ public interface SIAccountDetailTempMapper {
*/
void batchDelByEmpIdsAndMonthAndPayOrg(@Param("employeeIds") Collection<Long> employeeIds, @Param("billMonth") String billMonth, @Param("paymentOrganization") Long paymentOrganization);
void batchDelByMonthAndPayOrg(@Param("billMonth") String billMonth, @Param("paymentOrganization") Long paymentOrganization);
/**
* 批量保存
* @param accounts

View File

@ -139,6 +139,14 @@
</foreach>
</delete>
<update id="batchDelByMonthAndPayOrg">
UPDATE hrsa_bill_detail_temp
SET delete_type = 1
WHERE delete_type = 0
AND bill_month = #{billMonth}
AND payment_organization = #{paymentOrganization}
</update>
<insert id="batchSaveAccountTempDetails">
INSERT INTO hrsa_bill_detail_temp

View File

@ -67,7 +67,7 @@ public interface FundSchemeMapper {
* @param paymentOrganization
* @return
*/
List<Long> listCanPayEmpIds(@Param("paymentOrganization")Long paymentOrganization, @Param("billMonth")String billMonth);
List<Long> listCanPayEmpIds(@Param("paymentOrganization")Long paymentOrganization, @Param("billMonth")String billMonth, @Param("nonPayment") Integer nonPayment);
List<InsuranceArchivesFundSchemePO> listAll();

View File

@ -266,6 +266,7 @@
AND fund_scheme_id is not null
AND fund_start_time is not null AND fund_start_time <![CDATA[ <= ]]> #{billMonth}
AND (fund_end_time is null OR fund_end_time <![CDATA[ >= ]]> #{billMonth} OR fund_end_time ='')
AND non_payment = #{nonPayment}
</select>
<select id="listAll" resultMap="BaseResultMap">

View File

@ -66,7 +66,7 @@ public interface OtherSchemeMapper {
* @param paymentOrganization
* @return
*/
List<Long> listCanPayEmpIds(@Param("paymentOrganization")Long paymentOrganization, @Param("billMonth")String billMonth);
List<Long> listCanPayEmpIds(@Param("paymentOrganization")Long paymentOrganization, @Param("billMonth")String billMonth, @Param("nonPayment") Integer nonPayment);
List<InsuranceArchivesOtherSchemePO> listAll();

View File

@ -249,6 +249,7 @@
AND other_scheme_id is not null
AND other_start_time is not null AND other_start_time <![CDATA[ <= ]]> #{billMonth}
AND (other_end_time is null OR other_end_time <![CDATA[ >= ]]> #{billMonth} OR other_end_time ='')
AND non_payment = #{nonPayment}
</select>
<select id="listAll" resultMap="BaseResultMap">

View File

@ -92,7 +92,7 @@ public interface SocialSchemeMapper {
* @param paymentOrganization
* @return
*/
List<Long> listCanPayEmpIds(@Param("paymentOrganization")Long paymentOrganization, @Param("billMonth")String billMonth);
List<Long> listCanPayEmpIds(@Param("paymentOrganization")Long paymentOrganization, @Param("billMonth")String billMonth, @Param("nonPayment")Integer nonPayment);
List<InsuranceArchivesSocialSchemePO> listAll();

View File

@ -909,6 +909,7 @@
AND social_scheme_id is not null
AND social_start_time is not null AND social_start_time <![CDATA[ <= ]]> #{billMonth}
AND (social_end_time is null OR social_end_time <![CDATA[ >= ]]> #{billMonth} OR social_end_time ='')
AND non_payment = #{nonPayment}
</select>
<select id="listAll" resultMap="BaseResultMap">

View File

@ -61,6 +61,12 @@
<if test="salaryMonths != null and salaryMonths.endDate != null">
AND salary_month <![CDATA[ <= ]]> #{salaryMonths.endDate}
</if>
<if test="taxCycleFromDate != null">
AND tax_cycle <![CDATA[ >= ]]> #{taxCycleFromDate}
</if>
<if test="taxCycleEndDate != null">
AND tax_cycle <![CDATA[ <= ]]> #{taxCycleEndDate}
</if>
<if test="taxAgentIds != null and taxAgentIds.size()>0">
AND tax_agent_id IN
<foreach collection="taxAgentIds" open="(" item="id" separator="," close=")">

View File

@ -2,12 +2,15 @@ package com.engine.salary.remote.attend.service.impl;
import com.alibaba.druid.support.json.JSONUtils;
import com.alibaba.fastjson.JSONObject;
import com.engine.common.util.ServiceUtil;
import com.engine.core.impl.Service;
import com.engine.kq.cmd.report.GetKQReportCmd;
import com.engine.salary.mapper.datacollection.AttendQuoteFieldMapper;
import com.engine.salary.remote.attend.cmd.GetSearchListCmd;
import com.engine.salary.remote.attend.entity.Attend4Salary;
import com.engine.salary.remote.attend.service.RemoteAttend4SalaryService;
import com.engine.salary.sys.service.SalarySysConfService;
import com.engine.salary.sys.service.impl.SalarySysConfServiceImpl;
import com.engine.salary.util.SalaryDateUtil;
import com.engine.salary.util.SalaryEntityUtil;
import com.engine.salary.util.db.MapperProxyFactory;
@ -20,11 +23,14 @@ import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.math.NumberUtils;
import weaver.general.BaseBean;
import weaver.general.Util;
import weaver.hrm.User;
import java.time.LocalDate;
import java.util.*;
import java.util.stream.Collectors;
import static com.engine.salary.sys.constant.SalarySysConstant.ATTENDANCE_SERIAL_COLLECTION_BTN;
@Slf4j
public class RemoteAttend4SalaryServiceImpl extends Service implements RemoteAttend4SalaryService {
private final Boolean isLog = "true".equals(new BaseBean().getPropValue("hrmSalary", "log"));
@ -33,12 +39,23 @@ public class RemoteAttend4SalaryServiceImpl extends Service implements RemoteAtt
return MapperProxyFactory.getProxy(AttendQuoteFieldMapper.class);
}
private SalarySysConfService getSalarySysConfService(User user) {
return ServiceUtil.getService(SalarySysConfServiceImpl.class, user);
}
//是否采集考勤班次数据
boolean isCollectAttendanceSerial = "1".equals(getSalarySysConfService(user).getValueByCode(ATTENDANCE_SERIAL_COLLECTION_BTN));
@Override
public List<Map<String, String>> getColumns() {
//兼容获取班次信息字段
List<String> attendanceSerials = getAttendQuoteFieldMapper().getAttendanceSerials();
String attendanceSerial = Joiner.on(",").join((Iterable<?>) attendanceSerials);
//是否采集考勤班次数据
String attendanceSerial = "";
if (isCollectAttendanceSerial) {
List<String> attendanceSerials = getAttendQuoteFieldMapper().getAttendanceSerials();
attendanceSerial = Joiner.on(",").join((Iterable<?>) attendanceSerials);
}
Map<String, Object> paramsMap = new HashMap<String, Object>();
paramsMap.put("typeselect", "3");
@ -146,7 +163,7 @@ public class RemoteAttend4SalaryServiceImpl extends Service implements RemoteAtt
paramsMap.put("resourceId", String.join(",", resourceIds));
paramsMap.put("isNoAccount", "1");
//班次
paramsMap.put("attendanceSerial", attend4Salary.getAttendanceSerial());
paramsMap.put("attendanceSerial", isCollectAttendanceSerial ? attend4Salary.getAttendanceSerial() : "");
paramsMap.put("isFromMyAttendance", "1");
Map<String, Object> temp = new HashMap<String, Object>();
temp.put("data", JSONObject.toJSONString(paramsMap));

View File

@ -25,6 +25,9 @@ public class SalaryStatisticsEmployeeSalaryQueryParam extends BaseQueryParam {
// 关键字
private String keyword;
//人员ids
private List<Long> employeeIds;
// 起始年月
private String startDateStr;
private Date startDate;

View File

@ -10,10 +10,10 @@ import com.engine.salary.entity.salaryacct.po.SalaryAcctRecordPO;
import com.engine.salary.entity.salaryacct.po.SalaryAcctResultPO;
import com.engine.salary.entity.salaryitem.po.SalaryItemPO;
import com.engine.salary.entity.salarysob.po.SalarySobPO;
import com.engine.salary.entity.setting.param.PageListSettingQueryParam;
import com.engine.salary.entity.taxagent.po.TaxAgentPO;
import com.engine.salary.enums.UserStatusEnum;
import com.engine.salary.enums.datacollection.UseEmployeeTypeEnum;
import com.engine.salary.enums.salaryitem.SalaryDataTypeEnum;
import com.engine.salary.enums.salarysob.SalaryEmployeeStatusEnum;
import com.engine.salary.mapper.salaryacct.SalaryAcctEmployeeMapper;
import com.engine.salary.report.common.constant.SalaryConstant;
@ -26,7 +26,10 @@ import com.engine.salary.report.entity.param.SalaryStatisticsEmployeeSalaryQuery
import com.engine.salary.report.service.SalaryStatisticsEmployeeService;
import com.engine.salary.service.*;
import com.engine.salary.service.impl.*;
import com.engine.salary.util.*;
import com.engine.salary.util.SalaryAssert;
import com.engine.salary.util.SalaryDateUtil;
import com.engine.salary.util.SalaryEntityUtil;
import com.engine.salary.util.SalaryI18nUtil;
import com.engine.salary.util.db.MapperProxyFactory;
import com.engine.salary.util.page.PageInfo;
import com.engine.salary.util.page.SalaryPageUtil;
@ -41,8 +44,6 @@ import weaver.hrm.User;
import java.util.*;
import java.util.stream.Collectors;
import static com.engine.salary.enums.setting.PageListSettingPageEnum.SALARY_DETAILS_REPORT;
/**
* 薪酬统计员工明细
* <p>Copyright: Copyright (c) 2022</p>
@ -248,12 +249,23 @@ public class SalaryStatisticsEmployeeServiceImpl extends Service implements Sala
List<SalaryAcctRecordPO> salaryAcctRecordPOS = getSalaryAcctRecordService(user).listAll();
Map<Long, Integer> salaryAcctRecordMap = SalaryEntityUtil.convert2Map(salaryAcctRecordPOS, SalaryAcctRecordPO::getId, SalaryAcctRecordPO::getAcctTimes);
List<SalaryItemPO> salaryItemPOList = getSalaryItemService(user).listAll();
Map<Long, String> itemDataTypeMap = SalaryEntityUtil.convert2Map(salaryItemPOList, SalaryItemPO::getId, SalaryItemPO::getDataType);
Map<Long, List<SalaryAcctResultPO>> acctResultValueList = SalaryEntityUtil.group2Map(salaryStatisticsEmployeeDetailResult.getSalaryAcctResultValueList(), SalaryAcctResultPO::getSalaryAcctEmpId);
Map<Long, Map<String, String>> acctResultValueMap = new HashMap<>();
Map<Long, Map<String, Object>> acctResultValueMap = new HashMap<>();
acctResultValueList.forEach((k, v) -> {
Map<String, String> map = new HashMap();
Map<String, Object> map = new HashMap();
v.forEach(l -> {
map.put(l.getSalaryItemId() + "", l.getResultValue());
String dataType = itemDataTypeMap.getOrDefault(l.getSalaryItemId(), "string");
SalaryDataTypeEnum typeEnum = SalaryDataTypeEnum.parseByValue(dataType);
String resultValue = l.getResultValue();
if (typeEnum == SalaryDataTypeEnum.NUMBER && NumberUtil.isNumber(resultValue)) {
map.put(l.getSalaryItemId() + "", Double.valueOf(resultValue));
} else {
map.put(l.getSalaryItemId() + "", resultValue);
}
});
acctResultValueMap.put(k, map);
});
@ -265,7 +277,7 @@ public class SalaryStatisticsEmployeeServiceImpl extends Service implements Sala
Map<String, Object> map;
for (SalaryAcctEmployeePO se : salaryStatisticsEmployeeDetailResult.getSalaryAcctEmployeeList()) {
map = Maps.newHashMap();
Map<String, String> resultValueMap = Optional.ofNullable(acctResultValueMap.get(se.getId())).orElse(Maps.newHashMap());
Map<String, Object> resultValueMap = Optional.ofNullable(acctResultValueMap.get(se.getId())).orElse(Maps.newHashMap());
Map<String, Object> finalMap = map;
resultValueMap.forEach((k, v) -> {
finalMap.put(k + SalaryConstant.DYNAMIC_SUFFIX, v);
@ -282,6 +294,7 @@ public class SalaryStatisticsEmployeeServiceImpl extends Service implements Sala
map.put("jobTitle", Util.null2String(emp.getJobtitleName()));
map.put("status", Util.null2String(NumberUtil.isNumber(emp.getStatus()) ? SalaryEmployeeStatusEnum.parseByValue(Integer.valueOf(emp.getStatus())).getDefaultLabel() : null));
map.put("workCode", Util.null2String(emp.getWorkcode()));
map.put("idNo", Util.null2String(emp.getIdNo()));
map.put("companystartdate", Util.null2String(emp.getCompanystartdate()));
// IncomeCategoryEnum incomeCategoryEnum = IncomeCategoryEnum.parseByValue(Integer.parseInt(se.getIncomeCategory()));
@ -325,12 +338,19 @@ public class SalaryStatisticsEmployeeServiceImpl extends Service implements Sala
// 根据关键词过滤
if (StringUtils.isNotBlank(queryParam.getKeyword())) {
employeeList = employeeList.stream()
.filter(e -> (e.getUsername().contains(queryParam.getKeyword()) || (StringUtils.isNotEmpty(e.getWorkcode()) && e.getWorkcode().contains(queryParam.getKeyword()))))
.filter(e -> (StringUtils.isNotEmpty(e.getUsername()) && e.getUsername().contains(queryParam.getKeyword()) || (StringUtils.isNotEmpty(e.getWorkcode()) && e.getWorkcode().contains(queryParam.getKeyword()))))
.collect(Collectors.toList());
}
List<Long> employeeIds = employeeList.stream().map(DataCollectionEmployee::getEmployeeId).collect(Collectors.toList());
salaryAcctEmployeeList = salaryAcctEmployeeList.stream().filter(acctEmp -> employeeIds.contains(acctEmp.getEmployeeId())).collect(Collectors.toList());
}
//人员浏览按钮筛选
List<Long> employeeIds = queryParam.getEmployeeIds();
if(CollectionUtils.isNotEmpty(employeeIds)){
salaryAcctEmployeeList = salaryAcctEmployeeList.stream().filter(acctEmp -> employeeIds.contains(acctEmp.getEmployeeId())).collect(Collectors.toList());
}
if (CollectionUtils.isEmpty(salaryAcctEmployeeList)) {
return new PageInfo<>();
}
@ -350,10 +370,23 @@ public class SalaryStatisticsEmployeeServiceImpl extends Service implements Sala
@Override
public SalaryStatisticsEmployeeDetailResultDTO getDetailSalaryAcctResultByAcctEmp(List<SalaryAcctEmployeePO> salaryAcctEmployeeList) {
// 3.获取薪资项目
PageListSettingQueryParam param = PageListSettingQueryParam.builder().page(SALARY_DETAILS_REPORT.getValue()).build();
Map setting = getSettingService(user).getPageListSetting(param);
List<Long> checked = setting.get("checked") != null ? JsonUtil.parseList(setting.get("checked"), Long.class) : new ArrayList<>();
List<SalaryItemPO> salaryItemList = getSalaryItemService(user).listByIds(checked);
List<SalaryItemPO> salaryItemList = getSalaryItemService(user).listAll();
salaryItemList = salaryItemList.stream()
.sorted(new Comparator<SalaryItemPO>() {
@Override
public int compare(SalaryItemPO o1, SalaryItemPO o2) {
if (o1.getSortedIndex() == null && o2.getSortedIndex() == null) {
Integer systemType1 = o1.getSystemType() == null ? 0 : o1.getSystemType();
Integer systemType2 = o2.getSystemType() == null ? 0 : o2.getSystemType();
return systemType1.compareTo(systemType2);
} else {
Integer sortedIndex1 = o1.getSortedIndex() == null ? 0 : o1.getSortedIndex();
Integer sortedIndex2 = o2.getSortedIndex() == null ? 0 : o2.getSortedIndex();
return sortedIndex2.compareTo(sortedIndex1);
}
}
})
.collect(Collectors.toList());
if (CollectionUtils.isEmpty(salaryAcctEmployeeList)) {
return SalaryStatisticsEmployeeDetailResultDTO.builder()
.salaryAcctEmployeeList(Collections.emptyList())

View File

@ -818,7 +818,7 @@ public class SalaryStatisticsReportServiceImpl extends Service implements Salary
data.getList().forEach(employee -> {
if (employee.getSubcompanyId() != null && employee.getSubcompanyId() != null) {
subComIdNameMap.put(employee.getSubcompanyId(), employee.getSubcompanyName());
subComIds.add(employee.getDepartmentId());
subComIds.add(employee.getSubcompanyId());
empIdSubComMap.put(employee.getEmployeeId(), employee.getSubcompanyId());
}
});

View File

@ -1,7 +1,6 @@
package com.engine.salary.report.wrapper;
import com.cloudstore.eccom.constant.WeaBoolAttr;
import com.cloudstore.eccom.pc.table.WeaTable;
import com.cloudstore.eccom.pc.table.WeaTableColumn;
import com.cloudstore.eccom.result.WeaResultMsg;
import com.engine.common.util.ServiceUtil;
@ -11,6 +10,8 @@ import com.engine.salary.component.WeaTableColumnGroup;
import com.engine.salary.entity.salaryacct.po.SalaryAcctEmployeePO;
import com.engine.salary.entity.salaryarchive.dto.SalaryArchiveListDTO;
import com.engine.salary.entity.salaryitem.po.SalaryItemPO;
import com.engine.salary.entity.setting.param.PageListTemplateQueryParam;
import com.engine.salary.entity.setting.po.PageListTemplatePO;
import com.engine.salary.enums.salaryitem.SalaryDataTypeEnum;
import com.engine.salary.report.common.constant.SalaryConstant;
import com.engine.salary.report.entity.bo.SalaryStatisticsReportBO;
@ -30,6 +31,7 @@ import com.engine.salary.sys.service.SalarySysConfService;
import com.engine.salary.sys.service.impl.SalarySysConfServiceImpl;
import com.engine.salary.util.SalaryEntityUtil;
import com.engine.salary.util.SalaryI18nUtil;
import com.engine.salary.util.excel.ExcelFillUtils;
import com.engine.salary.util.excel.ExcelUtilPlus;
import com.engine.salary.util.page.PageInfo;
import com.engine.salary.util.page.SalaryPageUtil;
@ -39,10 +41,11 @@ import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.math.NumberUtils;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import weaver.general.PageIdConst;
import weaver.file.ImageFileManager;
import weaver.general.Util;
import weaver.hrm.User;
import java.io.InputStream;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
@ -184,17 +187,13 @@ public class SalaryStatisticsEmployeeWrapper extends Service {
pageInfo.setList(records);
pageInfo.setTotal(salaryAcctEmployeePageInfo.getTotal());
List<WeaTableColumn> weaTableColumns;
//显示方案1显示模板
if (templateShow) {
weaTableColumns = getSettingService(user).getPageListColumns(SALARY_DETAILS_REPORT.getValue());
} else {
// 显示方案0显示定制列,默认方式
weaTableColumns = buildDetailTableColumns(salaryStatisticsEmployeeDetailResult, true);
}
List<WeaTableColumn> weaTableColumns = getSettingService(user).getPageListColumns(SALARY_DETAILS_REPORT.getValue());
List<PageListTemplatePO> pageListTemplates = getSettingService(user).getPageListTemplates(PageListTemplateQueryParam.builder().page(SALARY_DETAILS_REPORT.getValue()).build());
Integer fileId = pageListTemplates.stream().filter(PageListTemplatePO::getChecked).findFirst().map(PageListTemplatePO::getFileId).orElse(null);
// 结果
resultMap.put("columns", weaTableColumns);
resultMap.put("pageInfo", pageInfo);
resultMap.put("fileId", fileId);
if (queryParam.isExport()) {
Map<String, Object> countResultMap = Maps.newHashMap();
List<SalaryItemPO> salaryItems = salaryStatisticsEmployeeDetailResult.getSalaryItemList();
@ -212,21 +211,7 @@ public class SalaryStatisticsEmployeeWrapper extends Service {
}
resultMap.put("salaryItems", salaryStatisticsEmployeeDetailResult.getSalaryItemList());
resultMap.put("countResult", countResultMap);
} else {
WeaTable table = new WeaTable();
String pageId = "b72ed4bb-725e-45de-aea1-4eb4c9184af7";
table.setPageID(pageId);
table.setPageUID(pageId + user.getUID());
table.setPagesize(PageIdConst.getPageSize(pageId, user.getUID()));
table.setBackfields("");
table.setColumns(weaTableColumns);
WeaResultMsg result = new WeaResultMsg(false);
result.putAll(table.makeDataResult());
result.success();
resultMap.put("dataKey", result.getResultMap());
}
resultMap.put("pageInfo", pageInfo);
return resultMap;
}
@ -292,8 +277,17 @@ public class SalaryStatisticsEmployeeWrapper extends Service {
Map<String, Object> resultMap = salaryList(queryParam);
List<WeaTableColumn> columns = (List<WeaTableColumn>) resultMap.get("columns");
List<Map<String, Object>> resultList = ((PageInfo<Map<String, Object>>) resultMap.get("pageInfo")).getList();
Map<String, Object> countResult = (Map<String, Object>) resultMap.get("countResult");
//根据上传的模板导出
Object fileId = resultMap.get("fileId");
if (fileId != null) {
InputStream inputStream = ImageFileManager.getInputStreamById((Integer) fileId);
XSSFWorkbook workbook = ExcelFillUtils.fillOneSheet(inputStream, 0, resultList);
return workbook;
}
//根据显示列表导出
Map<String, Object> countResult = (Map<String, Object>) resultMap.get("countResult");
Map<String, WeaTableColumn> columnMap = SalaryEntityUtil.convert2Map(columns, WeaTableColumn::getColumn);
// 获取薪资项目保留小数位数
List<SalaryItemPO> salaryItemPOList = getSalaryItemService(user).listAll();

View File

@ -472,7 +472,7 @@ public class SalaryStatisticsReportWrapper extends Service {
SalaryStatisticsItemPO salaryStatisticsItemPO = salaryStatisticsItemMap.get(salaryItemId);
if (salaryStatisticsItemPO != null) {
Optional<String> textItemOptional = Arrays.stream(salaryStatisticsItemPO.getItemValue().split(",")).filter(itemId -> !numberItemIds.contains(itemId)).findFirst();
row.add((!textItemOptional.isPresent() && NumberUtils.isCreatable(Utils.null2String(map.get(k)))) ? new BigDecimal(Utils.null2String(map.get(k))) : map.getOrDefault(k, StringUtils.EMPTY));
row.add((!textItemOptional.isPresent() && NumberUtils.isCreatable(Utils.null2String(map.get(k)).replaceAll(",", ""))) ? new BigDecimal(Utils.null2String(map.get(k)).replaceAll(",", "")) : map.getOrDefault(k, StringUtils.EMPTY));
} else {
row.add(map.getOrDefault(k, StringUtils.EMPTY));
}

View File

@ -100,14 +100,6 @@ public interface AddUpDeductionService {
*/
List<AddUpDeduction> getAddUpDeductionList(YearMonth declareMonth, List<Long> employeeIds, Long taxAgentId);
/**
* 根据年月获取已核算数据
*
* @param yearMonth
* @return
*/
List<SalaryAcctEmployeePO> getAccountedEmployeeData(String yearMonth);
List<SalaryAcctEmployeePO> getAccountedEmployeeDataByTaxYearMonth(String yearMonth);
/**

View File

@ -1,6 +1,7 @@
package com.engine.salary.service;
import com.engine.salary.entity.datacollection.DataCollectionEmployee;
import com.engine.salary.entity.extemp.dto.ExtEmpDTO;
import com.engine.salary.entity.extemp.param.ExtEmpImportParam;
import com.engine.salary.entity.extemp.param.ExtEmpQueryParam;
import com.engine.salary.entity.extemp.param.ExtEmpSaveParam;
@ -17,7 +18,7 @@ public interface ExtEmpService {
List<ExtEmpPO> list(ExtEmpQueryParam param);
PageInfo<ExtEmpPO> listPage (ExtEmpQueryParam param);
PageInfo<ExtEmpDTO> listPage (ExtEmpQueryParam param);
void save(ExtEmpSaveParam po);

View File

@ -162,4 +162,6 @@ public interface SIArchivesService {
List<InsuranceArchivesFundSchemePO> listInsuranceArchivesFundSchemeByIds(List<Long> ids);
List<InsuranceArchivesOtherSchemePO> listInsuranceArchivesOtherSchemeByIds(List<Long> ids);
List<InsuranceArchivesBaseInfoPO> listAll();
}

View File

@ -9,6 +9,7 @@ import com.engine.salary.entity.hrm.dto.EmployeeInfoExpandDTO;
import com.engine.salary.entity.salarysob.param.SalarySobRangeEmpQueryParam;
import com.engine.salary.enums.datacollection.UseEmployeeTypeEnum;
import java.util.Date;
import java.util.List;
import java.util.Map;
@ -40,9 +41,10 @@ public interface SalaryEmployeeService {
* 根据薪资账套id查询人员
*
* @param salarySobId 薪资账套id
* @param hasExtEmp 是否含非系统人员
* @return
*/
List<DataCollectionEmployee> listBySalarySobId(Long salarySobId);
List<DataCollectionEmployee> listBySalarySobId(Long salarySobId, boolean hasExtEmp);
/**
* 获取人员信息
@ -181,4 +183,6 @@ public interface SalaryEmployeeService {
* @return
*/
JobCallInfo getJobCallInfoById(Long jobCallId);
List<DataCollectionEmployee> snapshot(List<Long> employeeIds, Date snapshotTime);
}

View File

@ -2,24 +2,66 @@ package com.engine.salary.service;
import com.cloudstore.eccom.pc.table.WeaTableColumn;
import com.engine.salary.entity.setting.dto.PageListTemplateDTO;
import com.engine.salary.entity.setting.dto.PageListTemplateDetailDTO;
import com.engine.salary.entity.setting.param.*;
import com.engine.salary.entity.setting.po.PageListTemplatePO;
import com.engine.salary.util.page.PageInfo;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.util.List;
import java.util.Map;
public interface SettingService {
@Deprecated
void savePageListSetting(PageListSettingSaveParam pageListSettingSaveParam);
Map getPageListSetting(PageListSettingQueryParam param);
/**
* 获取原有显示列定制配置
* @param param
* @return
*/
PageListTemplateDetailDTO getDefaultPageListSetting(PageListSettingQueryParam param);
PageListTemplateDTO getPageListTemplate(PageListTemplateQueryParam param);
@Deprecated
void resetPageListSetting(PageListSettingResetParam param);
/**
* 获取指定模板配置或者指定页面默认配置
* @param param
* @return
*/
PageListTemplateDetailDTO getPageListTemplate(PageListTemplateQueryParam param);
/**
* 获取可选模板列表
* @param queryParam
* @return
*/
List<PageListTemplatePO> getPageListTemplates(PageListTemplateQueryParam queryParam);
/**
* 保存模板
* @param param
* @return
*/
PageListTemplatePO savePageListTemplate(PageListTemplateSaveParam param);
/**
* 下载导出模板文件
* @param param
* @return
*/
XSSFWorkbook downloadPageExportTemplateFile(DownloadTemplateParam param);
/**
* 更换模板
* @param param
*/
void changePageListTemplate(PageListTemplateChangeParam param);
List<WeaTableColumn> getPageListColumns(String page);
PageInfo<PageListTemplateDTO> getTemplates(PageListTemplateQueryParam param);
void deletePageListTemplate(PageListTemplateDeleteParam param);
}

View File

@ -10,10 +10,9 @@ import com.api.formmode.mybatis.util.SqlProxyHandle;
import com.cloudstore.dev.api.util.Util_DataCache;
import com.engine.common.util.ServiceUtil;
import com.engine.core.impl.Service;
import com.engine.salary.biz.AddUpDeductionBiz;
import com.engine.salary.common.LocalDateRange;
import com.engine.salary.config.SalaryElogConfig;
import com.engine.hrmelog.entity.dto.LoggerContext;
import com.engine.salary.biz.AddUpDeductionBiz;
import com.engine.salary.config.SalaryElogConfig;
import com.engine.salary.encrypt.EncryptUtil;
import com.engine.salary.entity.datacollection.AddUpDeduction;
import com.engine.salary.entity.datacollection.DataCollectionEmployee;
@ -26,6 +25,7 @@ import com.engine.salary.entity.datacollection.param.AddUpDeductionRecordParam;
import com.engine.salary.entity.datacollection.po.SpecialAddDeductionPO;
import com.engine.salary.entity.salaryacct.po.SalaryAcctEmployeePO;
import com.engine.salary.entity.salaryacct.po.SalaryAcctRecordPO;
import com.engine.salary.entity.salarysob.po.SalarySobPO;
import com.engine.salary.entity.taxagent.bo.TaxAgentBO;
import com.engine.salary.entity.taxagent.dto.TaxAgentEmployeeDTO;
import com.engine.salary.entity.taxagent.dto.TaxAgentManageRangeEmployeeDTO;
@ -33,6 +33,7 @@ import com.engine.salary.entity.taxagent.po.TaxAgentPO;
import com.engine.salary.enums.OperateTypeEnum;
import com.engine.salary.enums.UserStatusEnum;
import com.engine.salary.enums.salaryaccounting.SalaryAcctRecordStatusEnum;
import com.engine.salary.enums.salarysob.IncomeCategoryEnum;
import com.engine.salary.exception.SalaryRunTimeException;
import com.engine.salary.mapper.datacollection.AddUpDeductionMapper;
import com.engine.salary.mapper.sys.SalarySysConfMapper;
@ -116,6 +117,10 @@ public class AddUpDeductionServiceImpl extends Service implements AddUpDeduction
return ServiceUtil.getService(SpecialAddDeductionServiceImpl.class, user);
}
private SalarySobService getSalarySobService(User user) {
return ServiceUtil.getService(SalarySobServiceImpl.class, user);
}
@Override
public Map<String, Object> getSearchCondition(Map<String, Object> params) {
Map<String, Object> apidatas = new HashMap<String, Object>();
@ -188,7 +193,7 @@ public class AddUpDeductionServiceImpl extends Service implements AddUpDeduction
List<DataCollectionEmployee> employees = getSalaryEmployeeService(user).listEmployee();
// 已经核算过的不可操作
// 获取已经核算的数据
List<SalaryAcctEmployeePO> salaryAcctEmployees = getAccountedEmployeeData(declareMonthStr);
List<SalaryAcctEmployeePO> salaryAcctEmployees = getAccountedEmployeeDataByTaxYearMonth(declareMonthStr);
// 查询已有数据
Date declareMonth = SalaryDateUtil.localDateToDate(LocalDate.parse(declareMonthStr + "-01", SalaryDateUtil.DATE_FORMATTER));
List<AddUpDeduction> list = getAddUpDeductionMapper().listSome(AddUpDeduction.builder().declareMonth(declareMonth).build());
@ -459,7 +464,7 @@ public class AddUpDeductionServiceImpl extends Service implements AddUpDeduction
// 已经核算过的不可操作
// 获取已经核算的数据
List<SalaryAcctEmployeePO> salaryAcctEmployees = getAccountedEmployeeData(declareMonthStr);
List<SalaryAcctEmployeePO> salaryAcctEmployees = getAccountedEmployeeDataByTaxYearMonth(declareMonthStr);
// 判断是否有核算过
if (CollectionUtils.isNotEmpty(salaryAcctEmployees)) {
Optional<SalaryAcctEmployeePO> optionalAcctEmp = salaryAcctEmployees.stream().filter(f -> f.getEmployeeId().equals(addUpDeduction.getEmployeeId()) && f.getTaxAgentId().equals(addUpDeduction.getTaxAgentId())).findFirst();
@ -507,7 +512,7 @@ public class AddUpDeductionServiceImpl extends Service implements AddUpDeduction
List<DataCollectionEmployee> employees = getSalaryEmployeeService(user).listEmployee();
// 已经核算过的不可操作
// 获取已经核算的数据
List<SalaryAcctEmployeePO> salaryAcctEmployees = getAccountedEmployeeData(declareMonthStr);
List<SalaryAcctEmployeePO> salaryAcctEmployees = getAccountedEmployeeDataByTaxYearMonth(declareMonthStr);
// 查询已有数据
Date declareMonth = SalaryDateUtil.localDateToDate(LocalDate.parse(declareMonthStr + "-01", SalaryDateUtil.DATE_FORMATTER));
List<AddUpDeduction> list = getAddUpDeductionMapper().listSome(AddUpDeduction.builder().declareMonth(declareMonth).build());
@ -773,8 +778,7 @@ public class AddUpDeductionServiceImpl extends Service implements AddUpDeduction
List<AddUpDeduction> updateList = new ArrayList<>();
List<AddUpDeduction> insertList = new ArrayList<>();
List<Long> errorMessages = new ArrayList<>();
List<SalaryAcctEmployeePO> accountedEmployeeData =
getAccountedEmployeeData(DateUtil.format(yearMonth, "yyyy-MM"));
List<SalaryAcctEmployeePO> accountedEmployeeData = getAccountedEmployeeDataByTaxYearMonth(DateUtil.format(yearMonth, "yyyy-MM"));
for (TaxAgentPO taxAgent : taxAgents) {
List<SpecialAddDeductionPO> employeePOs = getSpecialAddDeductionService(user)
.getSpecialAddDeductionPOByEmployee(null, taxAgent.getId());
@ -1093,12 +1097,12 @@ public class AddUpDeductionServiceImpl extends Service implements AddUpDeduction
cellList.add(Util.null2String(dto.getDepartmentName()));
cellList.add(Util.null2String(dto.getJobNum()));
cellList.add(NumberUtil.isNumber(dto.getAddUpChildEducation()) ? new BigDecimal(dto.getAddUpChildEducation()) : Util.null2String(dto.getAddUpChildEducation()));
cellList.add(NumberUtil.isNumber(dto.getAddUpContinuingEducation()) ? new BigDecimal(dto.getAddUpContinuingEducation()) :Util.null2String(dto.getAddUpContinuingEducation()));
cellList.add(NumberUtil.isNumber(dto.getAddUpHousingLoanInterest()) ? new BigDecimal(dto.getAddUpHousingLoanInterest()) :Util.null2String(dto.getAddUpHousingLoanInterest()));
cellList.add(NumberUtil.isNumber(dto.getAddUpHousingRent()) ? new BigDecimal(dto.getAddUpHousingRent()) :Util.null2String(dto.getAddUpHousingRent()));
cellList.add(NumberUtil.isNumber(dto.getAddUpSupportElderly()) ? new BigDecimal(dto.getAddUpSupportElderly()) :Util.null2String(dto.getAddUpSupportElderly()));
cellList.add(NumberUtil.isNumber(dto.getAddUpIllnessMedical()) ? new BigDecimal(dto.getAddUpIllnessMedical()) :Util.null2String(dto.getAddUpIllnessMedical()));
cellList.add(NumberUtil.isNumber(dto.getAddUpInfantCare()) ? new BigDecimal(dto.getAddUpInfantCare()) :Util.null2String(dto.getAddUpInfantCare()));
cellList.add(NumberUtil.isNumber(dto.getAddUpContinuingEducation()) ? new BigDecimal(dto.getAddUpContinuingEducation()) : Util.null2String(dto.getAddUpContinuingEducation()));
cellList.add(NumberUtil.isNumber(dto.getAddUpHousingLoanInterest()) ? new BigDecimal(dto.getAddUpHousingLoanInterest()) : Util.null2String(dto.getAddUpHousingLoanInterest()));
cellList.add(NumberUtil.isNumber(dto.getAddUpHousingRent()) ? new BigDecimal(dto.getAddUpHousingRent()) : Util.null2String(dto.getAddUpHousingRent()));
cellList.add(NumberUtil.isNumber(dto.getAddUpSupportElderly()) ? new BigDecimal(dto.getAddUpSupportElderly()) : Util.null2String(dto.getAddUpSupportElderly()));
cellList.add(NumberUtil.isNumber(dto.getAddUpIllnessMedical()) ? new BigDecimal(dto.getAddUpIllnessMedical()) : Util.null2String(dto.getAddUpIllnessMedical()));
cellList.add(NumberUtil.isNumber(dto.getAddUpInfantCare()) ? new BigDecimal(dto.getAddUpInfantCare()) : Util.null2String(dto.getAddUpInfantCare()));
return cellList;
}).collect(Collectors.toList()))
@ -1243,12 +1247,12 @@ public class AddUpDeductionServiceImpl extends Service implements AddUpDeduction
cellList.add(Util.null2String(dto.getIdNo()));
cellList.add(Util.null2String(dto.getHiredate()));
cellList.add(NumberUtil.isNumber(dto.getAddUpChildEducation()) ? new BigDecimal(dto.getAddUpChildEducation()) : Util.null2String(dto.getAddUpChildEducation()));
cellList.add(NumberUtil.isNumber(dto.getAddUpContinuingEducation()) ? new BigDecimal(dto.getAddUpContinuingEducation()) :Util.null2String(dto.getAddUpContinuingEducation()));
cellList.add(NumberUtil.isNumber(dto.getAddUpHousingLoanInterest()) ? new BigDecimal(dto.getAddUpHousingLoanInterest()) :Util.null2String(dto.getAddUpHousingLoanInterest()));
cellList.add(NumberUtil.isNumber(dto.getAddUpHousingRent()) ? new BigDecimal(dto.getAddUpHousingRent()) :Util.null2String(dto.getAddUpHousingRent()));
cellList.add(NumberUtil.isNumber(dto.getAddUpSupportElderly()) ? new BigDecimal(dto.getAddUpSupportElderly()) :Util.null2String(dto.getAddUpSupportElderly()));
cellList.add(NumberUtil.isNumber(dto.getAddUpIllnessMedical()) ? new BigDecimal(dto.getAddUpIllnessMedical()) :Util.null2String(dto.getAddUpIllnessMedical()));
cellList.add(NumberUtil.isNumber(dto.getAddUpInfantCare()) ? new BigDecimal(dto.getAddUpInfantCare()) :Util.null2String(dto.getAddUpInfantCare()));
cellList.add(NumberUtil.isNumber(dto.getAddUpContinuingEducation()) ? new BigDecimal(dto.getAddUpContinuingEducation()) : Util.null2String(dto.getAddUpContinuingEducation()));
cellList.add(NumberUtil.isNumber(dto.getAddUpHousingLoanInterest()) ? new BigDecimal(dto.getAddUpHousingLoanInterest()) : Util.null2String(dto.getAddUpHousingLoanInterest()));
cellList.add(NumberUtil.isNumber(dto.getAddUpHousingRent()) ? new BigDecimal(dto.getAddUpHousingRent()) : Util.null2String(dto.getAddUpHousingRent()));
cellList.add(NumberUtil.isNumber(dto.getAddUpSupportElderly()) ? new BigDecimal(dto.getAddUpSupportElderly()) : Util.null2String(dto.getAddUpSupportElderly()));
cellList.add(NumberUtil.isNumber(dto.getAddUpIllnessMedical()) ? new BigDecimal(dto.getAddUpIllnessMedical()) : Util.null2String(dto.getAddUpIllnessMedical()));
cellList.add(NumberUtil.isNumber(dto.getAddUpInfantCare()) ? new BigDecimal(dto.getAddUpInfantCare()) : Util.null2String(dto.getAddUpInfantCare()));
return cellList;
}).collect(Collectors.toList()))
.orElse(Collections.emptyList());
@ -1256,45 +1260,24 @@ public class AddUpDeductionServiceImpl extends Service implements AddUpDeduction
}
/**
* 根据年月获取已核算数据
*
* @param yearMonth
* @return
*/
@Override
public List<SalaryAcctEmployeePO> getAccountedEmployeeData(String yearMonth) {
List<SalaryAcctEmployeePO> list = Lists.newArrayList();
LocalDate salaryMonthDate = LocalDate.parse(yearMonth + "-01", SalaryDateUtil.DATE_FORMATTER);
List<SalaryAcctRecordPO> salaryAcctRecords = getSalaryAcctRecordService(user).listBySalaryMonth(LocalDateRange.builder().fromDate(SalaryDateUtil.localDateToDate(salaryMonthDate)).endDate(SalaryDateUtil.localDateToDate(salaryMonthDate)).build());
salaryAcctRecords.forEach(e -> {
boolean isAccounted = e.getStatus() > SalaryAcctRecordStatusEnum.NOT_ARCHIVED.getValue();
if (isAccounted) {
// list.addAll(getSalaryAcctEmployeeService(user).listBySalaryAcctRecordIds(Collections.singleton(salaryAcctRecords.get(0).getId())));
list.addAll(getSalaryAcctEmployeeService(user).listBySalaryAcctRecordIds(Collections.singletonList(e.getId())));
}
});
return list;
}
@Override
public List<SalaryAcctEmployeePO> getAccountedEmployeeDataByTaxYearMonth(String yearMonth) {
List<SalaryAcctEmployeePO> list = Lists.newArrayList();
YearMonth month = YearMonth.parse(yearMonth);
LocalDate salaryMonthDate = month.atDay(1);
LocalDate salaryMonthEndDate = month.atEndOfMonth();
List<SalaryAcctRecordPO> salaryAcctRecords = getSalaryAcctRecordService(user).listByTaxCycle(
LocalDateRange.builder().fromDate(SalaryDateUtil.localDateToDate(salaryMonthDate))
.endDate(SalaryDateUtil.localDateToDate(salaryMonthEndDate)).build(),
null);
salaryAcctRecords.forEach(e -> {
boolean isAccounted = e.getStatus() > SalaryAcctRecordStatusEnum.NOT_ARCHIVED.getValue();
if (isAccounted) {
// list.addAll(getSalaryAcctEmployeeService(user).listBySalaryAcctRecordIds(Collections.singleton(salaryAcctRecords.get(0).getId())));
list.addAll(getSalaryAcctEmployeeService(user).listBySalaryAcctRecordIds(Collections.singletonList(e.getId())));
}
});
Date taxCycle = SalaryDateUtil.localDateToDate(month.atDay(1));
List<SalaryAcctRecordPO> salaryAcctRecords = getSalaryAcctRecordService(user).listSome(SalaryAcctRecordPO.builder().taxCycle(taxCycle).build());
List<SalarySobPO> salarySobPOS = getSalarySobService(user).listAll();
List<Long> sobIds = salarySobPOS.stream()
.filter(e -> IncomeCategoryEnum.WAGES_AND_SALARIES.getValue().equals(e.getIncomeCategory()))
.map(SalarySobPO::getId)
.collect(Collectors.toList());
salaryAcctRecords.stream()
.filter(e -> !SalaryAcctRecordStatusEnum.NOT_ARCHIVED.getValue().equals(e.getStatus()))
.filter(e -> sobIds.contains(e.getSalarySobId()))
.forEach(e -> {
list.addAll(getSalaryAcctEmployeeService(user).listBySalaryAcctRecordIds(Collections.singletonList(e.getId())));
});
return list;
}

View File

@ -952,7 +952,7 @@ public class AddUpSituationServiceImpl extends Service implements AddUpSituation
List<DataCollectionEmployee> employees = getSalaryEmployeeService(user).listEmployee();
// 已经核算过的不可操作
// 获取已经核算的数据
List<SalaryAcctEmployeePO> salaryAcctEmployees = getAddUpDeductionService(user).getAccountedEmployeeData(taxYearMonthStr);
List<SalaryAcctEmployeePO> salaryAcctEmployees = getAddUpDeductionService(user).getAccountedEmployeeDataByTaxYearMonth(taxYearMonthStr);
//税款所属期
Date taxYearMonth = SalaryDateUtil.localDateToDate(LocalDate.parse(taxYearMonthStr + "-01", SalaryDateUtil.DATE_FORMATTER));
// 查询已有数据
@ -1079,7 +1079,7 @@ public class AddUpSituationServiceImpl extends Service implements AddUpSituation
LocalDate salaryMonthDate = LocalDate.parse(declareMonthStr + "-01", SalaryDateUtil.DATE_FORMATTER);
salaryMonthDate = salaryMonthDate.plusMonths(1);
String format = salaryMonthDate.atStartOfDay().format(DateTimeFormatter.ofPattern("yyyy-MM"));
List<SalaryAcctEmployeePO> salaryAcctEmployees = getAddUpDeductionService(user).getAccountedEmployeeData(format);
List<SalaryAcctEmployeePO> salaryAcctEmployees = getAddUpDeductionService(user).getAccountedEmployeeDataByTaxYearMonth(format);
// 判断是否有核算过
List<AddUpSituation> deletePOList = new ArrayList<>();
List<Long> deleteList = new ArrayList<>();
@ -1157,7 +1157,7 @@ public class AddUpSituationServiceImpl extends Service implements AddUpSituation
LocalDate salaryMonthDate = LocalDate.parse(declareMonthStr + "-01", SalaryDateUtil.DATE_FORMATTER);
String format = salaryMonthDate.plusMonths(1).atStartOfDay().format(DateTimeFormatter.ofPattern("yyyy-MM"));
// 获取已经核算的数据
List<SalaryAcctEmployeePO> employees = getAddUpDeductionService(user).getAccountedEmployeeData(format);
List<SalaryAcctEmployeePO> employees = getAddUpDeductionService(user).getAccountedEmployeeDataByTaxYearMonth(format);
for (AddUpSituation item : list) {
if (CollectionUtils.isNotEmpty(employees)) {
Optional<SalaryAcctEmployeePO> optionalAcctEmp = employees.stream().filter(f -> f.getEmployeeId().equals(item.getEmployeeId()) && f.getTaxAgentId().equals(item.getTaxAgentId())).findFirst();

View File

@ -371,7 +371,7 @@ public class AttendQuoteDataServiceImpl extends Service implements AttendQuoteDa
SalarySobPO salarySobPO = getSalarySobService(user).getById(salarySobId);
// 根据薪资账套查询人员
List<DataCollectionEmployee> salaryEmployees = getSalaryEmployeeService(user).listBySalarySobId(salarySobId);
List<DataCollectionEmployee> salaryEmployees = getSalaryEmployeeService(user).listBySalarySobId(salarySobId,false);
if (CollectionUtils.isEmpty(salaryEmployees)) {
errorMsg = errorMsg + "" + salarySobPO.getName() + "】薪资账套没有人员; ";
} else {

View File

@ -5,6 +5,7 @@ import com.engine.core.impl.Service;
import com.engine.salary.config.SalaryElogConfig;
import com.engine.hrmelog.entity.dto.LoggerContext;
import com.engine.salary.entity.datacollection.DataCollectionEmployee;
import com.engine.salary.entity.extemp.dto.ExtEmpDTO;
import com.engine.salary.entity.extemp.param.ExtEmpImportParam;
import com.engine.salary.entity.extemp.param.ExtEmpQueryParam;
import com.engine.salary.entity.extemp.param.ExtEmpSaveParam;
@ -78,9 +79,21 @@ public class ExtEmpServiceImpl extends Service implements ExtEmpService {
}
@Override
public PageInfo<ExtEmpPO> listPage(ExtEmpQueryParam param) {
public PageInfo<ExtEmpDTO> listPage(ExtEmpQueryParam param) {
List<ExtEmpPO> extEmpPOS = list(param);
return SalaryPageUtil.buildPage(param.getCurrent(), param.getPageSize(), extEmpPOS, ExtEmpPO.class);
List<ExtEmpDTO> list = extEmpPOS.stream().map(po -> {
return ExtEmpDTO.builder()
.id(po.getId())
.username(po.getUsername())
.departmentName(po.getDepartmentName())
.subcompanyName(po.getSubcompanyName())
.companystartdate(po.getCompanystartdate())
.workcode(po.getWorkcode())
.build();
}).collect(Collectors.toList());
return SalaryPageUtil.buildPage(param.getCurrent(), param.getPageSize(), list, ExtEmpDTO.class);
}

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