diff --git a/resource/WEB-INF/prop/hrmSalary.properties b/resource/WEB-INF/prop/hrmSalary.properties index f60ec7a4f..e8125608b 100644 --- a/resource/WEB-INF/prop/hrmSalary.properties +++ b/resource/WEB-INF/prop/hrmSalary.properties @@ -1,5 +1,5 @@ log=false defaultCloseNonStandard149=true AESEncryptScrect=990EB004A1C862721C1513AE90038C9E -version=2.18.1.2412.01 +version=2.19.1.2501.01 openFormulaForcedEditing=false \ No newline at end of file diff --git a/resource/sqlupgrade/DM/sql202501150103.sql b/resource/sqlupgrade/DM/sql202501150103.sql new file mode 100644 index 000000000..a51508d84 --- /dev/null +++ b/resource/sqlupgrade/DM/sql202501150103.sql @@ -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 +); +/ + diff --git a/resource/sqlupgrade/GS/sql202501150103.sql b/resource/sqlupgrade/GS/sql202501150103.sql new file mode 100644 index 000000000..a51508d84 --- /dev/null +++ b/resource/sqlupgrade/GS/sql202501150103.sql @@ -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 +); +/ + diff --git a/resource/sqlupgrade/JC/sql202501150103.sql b/resource/sqlupgrade/JC/sql202501150103.sql new file mode 100644 index 000000000..a51508d84 --- /dev/null +++ b/resource/sqlupgrade/JC/sql202501150103.sql @@ -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 +); +/ + diff --git a/resource/sqlupgrade/Mysql/sql202501150103.sql b/resource/sqlupgrade/Mysql/sql202501150103.sql new file mode 100644 index 000000000..2bff4f801 --- /dev/null +++ b/resource/sqlupgrade/Mysql/sql202501150103.sql @@ -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 +) ; \ No newline at end of file diff --git a/resource/sqlupgrade/Oracle/sql202501150103.sql b/resource/sqlupgrade/Oracle/sql202501150103.sql new file mode 100644 index 000000000..ee779a50f --- /dev/null +++ b/resource/sqlupgrade/Oracle/sql202501150103.sql @@ -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 +) + +/ \ No newline at end of file diff --git a/resource/sqlupgrade/PG/sql202501150103.sql b/resource/sqlupgrade/PG/sql202501150103.sql new file mode 100644 index 000000000..d62aea72f --- /dev/null +++ b/resource/sqlupgrade/PG/sql202501150103.sql @@ -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) +) ; \ No newline at end of file diff --git a/resource/sqlupgrade/SQLServer/sql202501150103.sql b/resource/sqlupgrade/SQLServer/sql202501150103.sql new file mode 100644 index 000000000..e500a3b90 --- /dev/null +++ b/resource/sqlupgrade/SQLServer/sql202501150103.sql @@ -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 \ No newline at end of file diff --git a/resource/sqlupgrade/ST/sql202501150103.sql b/resource/sqlupgrade/ST/sql202501150103.sql new file mode 100644 index 000000000..a51508d84 --- /dev/null +++ b/resource/sqlupgrade/ST/sql202501150103.sql @@ -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 +); +/ + diff --git a/src/com/engine/salary/mapper/archive/SalaryArchiveMapper.xml b/src/com/engine/salary/mapper/archive/SalaryArchiveMapper.xml index 833128372..17229b2e9 100644 --- a/src/com/engine/salary/mapper/archive/SalaryArchiveMapper.xml +++ b/src/com/engine/salary/mapper/archive/SalaryArchiveMapper.xml @@ -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) @@ -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) @@ -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) diff --git a/src/com/engine/salary/report/service/impl/SalaryStatisticsReportServiceImpl.java b/src/com/engine/salary/report/service/impl/SalaryStatisticsReportServiceImpl.java index 5ee5edea8..2b62276cd 100644 --- a/src/com/engine/salary/report/service/impl/SalaryStatisticsReportServiceImpl.java +++ b/src/com/engine/salary/report/service/impl/SalaryStatisticsReportServiceImpl.java @@ -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()); } }); diff --git a/src/com/engine/salary/service/AddUpDeductionService.java b/src/com/engine/salary/service/AddUpDeductionService.java index e80a3e53d..fb44ffe3d 100644 --- a/src/com/engine/salary/service/AddUpDeductionService.java +++ b/src/com/engine/salary/service/AddUpDeductionService.java @@ -100,14 +100,6 @@ public interface AddUpDeductionService { */ List getAddUpDeductionList(YearMonth declareMonth, List employeeIds, Long taxAgentId); - /** - * 根据年月获取已核算数据 - * - * @param yearMonth - * @return - */ - List getAccountedEmployeeData(String yearMonth); - List getAccountedEmployeeDataByTaxYearMonth(String yearMonth); /** diff --git a/src/com/engine/salary/service/SalaryEmployeeService.java b/src/com/engine/salary/service/SalaryEmployeeService.java index e5b25c281..eac54cc5e 100644 --- a/src/com/engine/salary/service/SalaryEmployeeService.java +++ b/src/com/engine/salary/service/SalaryEmployeeService.java @@ -41,9 +41,10 @@ public interface SalaryEmployeeService { * 根据薪资账套id查询人员 * * @param salarySobId 薪资账套id + * @param hasExtEmp 是否含非系统人员 * @return */ - List listBySalarySobId(Long salarySobId); + List listBySalarySobId(Long salarySobId, boolean hasExtEmp); /** * 获取人员信息 diff --git a/src/com/engine/salary/service/impl/AddUpDeductionServiceImpl.java b/src/com/engine/salary/service/impl/AddUpDeductionServiceImpl.java index d453b6c96..b81e9573d 100644 --- a/src/com/engine/salary/service/impl/AddUpDeductionServiceImpl.java +++ b/src/com/engine/salary/service/impl/AddUpDeductionServiceImpl.java @@ -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 getSearchCondition(Map params) { Map apidatas = new HashMap(); @@ -188,7 +193,7 @@ public class AddUpDeductionServiceImpl extends Service implements AddUpDeduction List employees = getSalaryEmployeeService(user).listEmployee(); // 已经核算过的不可操作 // 获取已经核算的数据 - List salaryAcctEmployees = getAccountedEmployeeData(declareMonthStr); + List salaryAcctEmployees = getAccountedEmployeeDataByTaxYearMonth(declareMonthStr); // 查询已有数据 Date declareMonth = SalaryDateUtil.localDateToDate(LocalDate.parse(declareMonthStr + "-01", SalaryDateUtil.DATE_FORMATTER)); List list = getAddUpDeductionMapper().listSome(AddUpDeduction.builder().declareMonth(declareMonth).build()); @@ -459,7 +464,7 @@ public class AddUpDeductionServiceImpl extends Service implements AddUpDeduction // 已经核算过的不可操作 // 获取已经核算的数据 - List salaryAcctEmployees = getAccountedEmployeeData(declareMonthStr); + List salaryAcctEmployees = getAccountedEmployeeDataByTaxYearMonth(declareMonthStr); // 判断是否有核算过 if (CollectionUtils.isNotEmpty(salaryAcctEmployees)) { Optional 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 employees = getSalaryEmployeeService(user).listEmployee(); // 已经核算过的不可操作 // 获取已经核算的数据 - List salaryAcctEmployees = getAccountedEmployeeData(declareMonthStr); + List salaryAcctEmployees = getAccountedEmployeeDataByTaxYearMonth(declareMonthStr); // 查询已有数据 Date declareMonth = SalaryDateUtil.localDateToDate(LocalDate.parse(declareMonthStr + "-01", SalaryDateUtil.DATE_FORMATTER)); List list = getAddUpDeductionMapper().listSome(AddUpDeduction.builder().declareMonth(declareMonth).build()); @@ -773,8 +778,7 @@ public class AddUpDeductionServiceImpl extends Service implements AddUpDeduction List updateList = new ArrayList<>(); List insertList = new ArrayList<>(); List errorMessages = new ArrayList<>(); - List accountedEmployeeData = - getAccountedEmployeeData(DateUtil.format(yearMonth, "yyyy-MM")); + List accountedEmployeeData = getAccountedEmployeeDataByTaxYearMonth(DateUtil.format(yearMonth, "yyyy-MM")); for (TaxAgentPO taxAgent : taxAgents) { List 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 getAccountedEmployeeData(String yearMonth) { - List list = Lists.newArrayList(); - LocalDate salaryMonthDate = LocalDate.parse(yearMonth + "-01", SalaryDateUtil.DATE_FORMATTER); - List 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.singleton(e.getId()))); - } - }); - - return list; - } - @Override public List getAccountedEmployeeDataByTaxYearMonth(String yearMonth) { List list = Lists.newArrayList(); YearMonth month = YearMonth.parse(yearMonth); - LocalDate salaryMonthDate = month.atDay(1); - LocalDate salaryMonthEndDate = month.atEndOfMonth(); - List 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.singleton(e.getId()))); - } - }); + Date taxCycle = SalaryDateUtil.localDateToDate(month.atDay(1)); + + List salaryAcctRecords = getSalaryAcctRecordService(user).listSome(SalaryAcctRecordPO.builder().taxCycle(taxCycle).build()); + List salarySobPOS = getSalarySobService(user).listAll(); + List 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.singleton(e.getId()))); + }); return list; } diff --git a/src/com/engine/salary/service/impl/AddUpSituationServiceImpl.java b/src/com/engine/salary/service/impl/AddUpSituationServiceImpl.java index e2976bbaf..de39b7c99 100644 --- a/src/com/engine/salary/service/impl/AddUpSituationServiceImpl.java +++ b/src/com/engine/salary/service/impl/AddUpSituationServiceImpl.java @@ -952,7 +952,7 @@ public class AddUpSituationServiceImpl extends Service implements AddUpSituation List employees = getSalaryEmployeeService(user).listEmployee(); // 已经核算过的不可操作 // 获取已经核算的数据 - List salaryAcctEmployees = getAddUpDeductionService(user).getAccountedEmployeeData(taxYearMonthStr); + List 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 salaryAcctEmployees = getAddUpDeductionService(user).getAccountedEmployeeData(format); + List salaryAcctEmployees = getAddUpDeductionService(user).getAccountedEmployeeDataByTaxYearMonth(format); // 判断是否有核算过 List deletePOList = new ArrayList<>(); List 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 employees = getAddUpDeductionService(user).getAccountedEmployeeData(format); + List employees = getAddUpDeductionService(user).getAccountedEmployeeDataByTaxYearMonth(format); for (AddUpSituation item : list) { if (CollectionUtils.isNotEmpty(employees)) { Optional optionalAcctEmp = employees.stream().filter(f -> f.getEmployeeId().equals(item.getEmployeeId()) && f.getTaxAgentId().equals(item.getTaxAgentId())).findFirst(); diff --git a/src/com/engine/salary/service/impl/AttendQuoteDataServiceImpl.java b/src/com/engine/salary/service/impl/AttendQuoteDataServiceImpl.java index 48648cc57..ee7e00713 100644 --- a/src/com/engine/salary/service/impl/AttendQuoteDataServiceImpl.java +++ b/src/com/engine/salary/service/impl/AttendQuoteDataServiceImpl.java @@ -371,7 +371,7 @@ public class AttendQuoteDataServiceImpl extends Service implements AttendQuoteDa SalarySobPO salarySobPO = getSalarySobService(user).getById(salarySobId); // 根据薪资账套查询人员 - List salaryEmployees = getSalaryEmployeeService(user).listBySalarySobId(salarySobId); + List salaryEmployees = getSalaryEmployeeService(user).listBySalarySobId(salarySobId,false); if (CollectionUtils.isEmpty(salaryEmployees)) { errorMsg = errorMsg + "【" + salarySobPO.getName() + "】薪资账套没有人员; "; } else { diff --git a/src/com/engine/salary/service/impl/OtherDeductionServiceImpl.java b/src/com/engine/salary/service/impl/OtherDeductionServiceImpl.java index 8347f1045..eb87e88a7 100644 --- a/src/com/engine/salary/service/impl/OtherDeductionServiceImpl.java +++ b/src/com/engine/salary/service/impl/OtherDeductionServiceImpl.java @@ -220,7 +220,7 @@ public class OtherDeductionServiceImpl extends Service implements OtherDeduction //税款所属期 Date declareMonth = SalaryDateUtil.stringToDate(declareMonthStr + "-01"); // 获取已经核算的数据 - List salaryAcctEmployees = getAddUpDeductionService(user).getAccountedEmployeeData(declareMonthStr); + List salaryAcctEmployees = getAddUpDeductionService(user).getAccountedEmployeeDataByTaxYearMonth(declareMonthStr); // 查询已有数据 List list = getOtherDeductionMapper().listSome(OtherDeductionPO.builder().declareMonth(declareMonth).build()); @@ -663,7 +663,7 @@ public class OtherDeductionServiceImpl extends Service implements OtherDeduction throw new SalaryRunTimeException("该个税扣缴义务人无权限编辑此数据!"); } // 获取已经核算的数据 - List salaryAcctEmployees = getAddUpDeductionService(user).getAccountedEmployeeData(declareMonthStr); + List salaryAcctEmployees = getAddUpDeductionService(user).getAccountedEmployeeDataByTaxYearMonth(declareMonthStr); // 判断是否有核算过 if (CollectionUtils.isNotEmpty(salaryAcctEmployees)) { Optional optionalAcctEmp = salaryAcctEmployees.stream().filter(f -> f.getEmployeeId().equals(otherDeductionParam.getEmployeeId()) && f.getTaxAgentId().equals(otherDeductionParam.getTaxAgentId())).findFirst(); @@ -718,7 +718,7 @@ public class OtherDeductionServiceImpl extends Service implements OtherDeduction //税款所属期 Date declareMonth = SalaryDateUtil.stringToDate(declareMonthStr + "-01"); // 获取已经核算的数据 - List salaryAcctEmployees = getAddUpDeductionService(user).getAccountedEmployeeData(declareMonthStr); + List salaryAcctEmployees = getAddUpDeductionService(user).getAccountedEmployeeDataByTaxYearMonth(declareMonthStr); // 查询已有数据 List list = getOtherDeductionMapper().listSome(OtherDeductionPO.builder().declareMonth(declareMonth).build()); //合规数据 @@ -795,7 +795,7 @@ public class OtherDeductionServiceImpl extends Service implements OtherDeduction List deleteIds = deleteParam.getIds(); // 已经核算过的不可操作 // 获取已经核算的数据 - List salaryAcctEmployees = getAddUpDeductionService(user).getAccountedEmployeeData(declareMonthStr); + List salaryAcctEmployees = getAddUpDeductionService(user).getAccountedEmployeeDataByTaxYearMonth(declareMonthStr); // 判断是否有核算过 List deleteList = new ArrayList<>(); List resultList = new ArrayList<>(); @@ -869,7 +869,7 @@ public class OtherDeductionServiceImpl extends Service implements OtherDeduction // 获取所有想要删除的数据 List list = otherDeductionBiz.listSome(queryParam); // 获取已经核算的数据 - List salaryAcctEmployees = getAddUpDeductionService(user).getAccountedEmployeeData(declareMonthStr); + List salaryAcctEmployees = getAddUpDeductionService(user).getAccountedEmployeeDataByTaxYearMonth(declareMonthStr); for (OtherDeductionPO item : list) { if (CollectionUtils.isNotEmpty(salaryAcctEmployees)) { Optional optionalAcctEmp = salaryAcctEmployees.stream().filter(f -> f.getEmployeeId().equals(item.getEmployeeId()) && f.getTaxAgentId().equals(item.getTaxAgentId())).findFirst(); @@ -921,9 +921,7 @@ public class OtherDeductionServiceImpl extends Service implements OtherDeduction @Override public String extendToLastMonth(OtherDeductionExtendLastParam param) { //查询已经核算的数据 - List salaryAcctEmployees = - getAddUpDeductionService(user) - .getAccountedEmployeeData(param.getDeclareMonth()); + List salaryAcctEmployees = getAddUpDeductionService(user).getAccountedEmployeeDataByTaxYearMonth(param.getDeclareMonth()); Map> acctInfoMap = salaryAcctEmployees.stream() .distinct().collect(Collectors.groupingBy( i -> i.getTaxAgentId() + "" + i.getEmployeeId())); diff --git a/src/com/engine/salary/service/impl/SIAccountServiceImpl.java b/src/com/engine/salary/service/impl/SIAccountServiceImpl.java index 18d48fccd..fbf15b7f4 100644 --- a/src/com/engine/salary/service/impl/SIAccountServiceImpl.java +++ b/src/com/engine/salary/service/impl/SIAccountServiceImpl.java @@ -5076,8 +5076,11 @@ public class SIAccountServiceImpl extends Service implements SIAccountService { List employeeList = new ArrayList<>(); if (!isFirstFlag) { // 不是首次核算,需要把社保历史数据取出 - historyDetailData.addAll(getInsuranceAccountDetailMapper().list(InsuranceAccountDetailParam.builder().billMonth(billMonth).paymentOrganization(paymentOrganization.toString()).employeeIds(ids).build())); - historyDetailData.addAll(getInsuranceAccountDetailMapper().extList(InsuranceAccountDetailParam.builder().billMonth(billMonth).paymentOrganization(paymentOrganization.toString()).employeeIds(ids).build())); + List> partition = Lists.partition(ids, 100); + partition.forEach(part -> { + historyDetailData.addAll(getInsuranceAccountDetailMapper().list(InsuranceAccountDetailParam.builder().billMonth(billMonth).paymentOrganization(paymentOrganization.toString()).employeeIds(part).build())); + historyDetailData.addAll(getInsuranceAccountDetailMapper().extList(InsuranceAccountDetailParam.builder().billMonth(billMonth).paymentOrganization(paymentOrganization.toString()).employeeIds(part).build())); + }); } else { employeeList = getSalaryEmployeeService(user).listByIds(ids); } diff --git a/src/com/engine/salary/service/impl/SalaryAcctEmployeeServiceImpl.java b/src/com/engine/salary/service/impl/SalaryAcctEmployeeServiceImpl.java index 3932486e6..abd8d6216 100644 --- a/src/com/engine/salary/service/impl/SalaryAcctEmployeeServiceImpl.java +++ b/src/com/engine/salary/service/impl/SalaryAcctEmployeeServiceImpl.java @@ -297,12 +297,15 @@ public class SalaryAcctEmployeeServiceImpl extends Service implements SalaryAcct return Collections.emptyList(); } Set lastMonthSalaryAcctRecordIds = SalaryEntityUtil.properties(salaryAcctRecordPOS, SalaryAcctRecordPO::getId); - // 上个月的核算人员 - List lastMonthSalaryAcctEmployeePOS = listBySalaryAcctRecordIds(lastMonthSalaryAcctRecordIds); - Map lastMonthSalaryAcctEmployeePOMap = SalaryEntityUtil.convert2Map(lastMonthSalaryAcctEmployeePOS, salaryAcctEmployeePO -> salaryAcctEmployeePO.getEmployeeId() + "-" + salaryAcctEmployeePO.getTaxAgentId()); // 本月的核算人员 - List salaryAcctEmployeePOS = listByParam(queryParam); + List salaryAcctEmployeePOS = listBySalaryAcctRecordId(queryParam.getSalaryAcctRecordId()); Set keySet = SalaryEntityUtil.properties(salaryAcctEmployeePOS, salaryAcctEmployeePO -> salaryAcctEmployeePO.getEmployeeId() + "-" + salaryAcctEmployeePO.getTaxAgentId()); + // 上个月的核算人员 + queryParam.setSalaryAcctRecordId(null); + queryParam.setSalaryAcctRecordIds(lastMonthSalaryAcctRecordIds); + List lastMonthSalaryAcctEmployeePOS = listByParam(queryParam); + Map lastMonthSalaryAcctEmployeePOMap = SalaryEntityUtil.convert2Map(lastMonthSalaryAcctEmployeePOS, salaryAcctEmployeePO -> salaryAcctEmployeePO.getEmployeeId() + "-" + salaryAcctEmployeePO.getTaxAgentId()); + List resultList = Lists.newArrayList(); if (CollectionUtils.isNotEmpty(keySet)) { lastMonthSalaryAcctEmployeePOMap.forEach((k, v) -> { @@ -561,7 +564,7 @@ public class SalaryAcctEmployeeServiceImpl extends Service implements SalaryAcct @Override public void initBySalaryAcctRecord(SalaryAcctRecordPO salaryAcctRecordPO) { // 根据薪资账套查询人员 - List salaryEmployees = getSalaryEmployeeService(user).listBySalarySobId(salaryAcctRecordPO.getSalarySobId()); + List salaryEmployees = getSalaryEmployeeService(user).listBySalarySobId(salaryAcctRecordPO.getSalarySobId(), true); if (CollectionUtils.isEmpty(salaryEmployees)) { return; } @@ -607,7 +610,7 @@ public class SalaryAcctEmployeeServiceImpl extends Service implements SalaryAcct } // 根据薪资账套查询人员 - List salaryEmployees = getSalaryEmployeeService(user).listBySalarySobId(salaryAcctRecordPO.getSalarySobId()); + List salaryEmployees = getSalaryEmployeeService(user).listBySalarySobId(salaryAcctRecordPO.getSalarySobId(), true); if (CollectionUtils.isEmpty(salaryEmployees)) { throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(98747, "未查询到账套下关联人员")); } diff --git a/src/com/engine/salary/service/impl/SalaryArchiveItemServiceImpl.java b/src/com/engine/salary/service/impl/SalaryArchiveItemServiceImpl.java index 431b56170..9e353083e 100644 --- a/src/com/engine/salary/service/impl/SalaryArchiveItemServiceImpl.java +++ b/src/com/engine/salary/service/impl/SalaryArchiveItemServiceImpl.java @@ -29,6 +29,7 @@ import com.engine.salary.mapper.archive.SalaryArchiveItemMapper; import com.engine.salary.mapper.salaryitem.SalaryItemMapper; import com.engine.salary.service.*; import com.engine.salary.sys.entity.vo.UploadConfigResponse; +import com.engine.salary.util.SalaryDateUtil; import com.engine.salary.util.SalaryEntityUtil; import com.engine.salary.util.SalaryI18nUtil; import com.engine.salary.util.SalaryLoggerUtil; @@ -41,6 +42,7 @@ import com.google.common.collect.Lists; import lombok.extern.slf4j.Slf4j; 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.hrm.User; @@ -706,7 +708,7 @@ public class SalaryArchiveItemServiceImpl extends Service implements SalaryArchi String userstatus = queryParam.getUserstatus(); r.setUsername(employee.getUsername()); r.setDepartmentName(employee.getDepartmentName()); - r.setEmployeeStatus(UserStatusEnum.getDefaultLabelByValue(Integer.parseInt(employee.getStatus()))); + r.setEmployeeStatus(UserStatusEnum.getDefaultLabelByValue(Integer.parseInt(NumberUtils.isCreatable(employee.getStatus()) ? employee.getStatus() : "-1"))); r.setAdjustReason(SalaryArchiveItemAdjustReasonEnum.getDefaultLabelByValue(r.getAdjustReason())); return (StringUtils.isBlank(username) || employee.getUsername().contains(username)) && (CollectionUtils.isEmpty(departmentIds) || departmentIds.contains(employee.getDepartmentId())) @@ -739,7 +741,7 @@ public class SalaryArchiveItemServiceImpl extends Service implements SalaryArchi row.add(dto.getAdjustBefore()); row.add(dto.getAdjustAfter()); row.add(dto.getAdjustReason()); - row.add(dto.getEffectiveTime() + ""); + row.add(SalaryDateUtil.getFormatDate(dto.getEffectiveTime())); row.add(dto.getOperator()); row.add(format.format(dto.getOperateTime())); row.add(dto.getDescription()); diff --git a/src/com/engine/salary/service/impl/SalaryEmployeeServiceImpl.java b/src/com/engine/salary/service/impl/SalaryEmployeeServiceImpl.java index 1dedb0bfb..cf04d1e76 100644 --- a/src/com/engine/salary/service/impl/SalaryEmployeeServiceImpl.java +++ b/src/com/engine/salary/service/impl/SalaryEmployeeServiceImpl.java @@ -141,7 +141,7 @@ public class SalaryEmployeeServiceImpl extends Service implements SalaryEmployee } @Override - public List listBySalarySobId(Long salarySobId) { + public List listBySalarySobId(Long salarySobId, boolean hasExtEmp) { List includeSalaryEmployees = new ArrayList<>(); @@ -174,13 +174,15 @@ public class SalaryEmployeeServiceImpl extends Service implements SalaryEmployee } //外部人员 - List salarySobExtRangePOS = getSalarySobExtRangeService(user).listBySalarySobId(salarySobId); - if (CollectionUtils.isNotEmpty(salarySobExtRangePOS)) { - List ids = SalaryEntityUtil.properties(salarySobExtRangePOS, SalarySobExtRangePO::getTargetId, Collectors.toList()); - List extEmps = getExtEmpService(user).getEmployeeByIds(ids); - extEmps = extEmps.stream().distinct().collect(Collectors.toList()); + if(hasExtEmp){ + List salarySobExtRangePOS = getSalarySobExtRangeService(user).listBySalarySobId(salarySobId); + if (CollectionUtils.isNotEmpty(salarySobExtRangePOS)) { + List ids = SalaryEntityUtil.properties(salarySobExtRangePOS, SalarySobExtRangePO::getTargetId, Collectors.toList()); + List extEmps = getExtEmpService(user).getEmployeeByIds(ids); + extEmps = extEmps.stream().distinct().collect(Collectors.toList()); - includeSalaryEmployees.addAll(extEmps); + includeSalaryEmployees.addAll(extEmps); + } } if (!openSecondaryAccount) { @@ -639,11 +641,11 @@ public class SalaryEmployeeServiceImpl extends Service implements SalaryEmployee .departmentName(hrmSnapshotPO.getDepartmentname()) .departmentId(hrmSnapshotPO.getDepartmentid() == null ? null : NumberUtil.parseLong(Util.null2String(hrmSnapshotPO.getDepartmentid()))) .subcompanyName(hrmSnapshotPO.getSubcompanyname()) - .subcompanyid(hrmSnapshotPO.getSubcompanyid1() == null ? null :NumberUtil.parseLong(Util.null2String(hrmSnapshotPO.getSubcompanyid1()))) - .costcenterId(hrmSnapshotPO.getCostcenterid() == null ? null :NumberUtil.parseLong(Util.null2String(hrmSnapshotPO.getCostcenterid()))) - .locationId(hrmSnapshotPO.getLocationid() == null ? null :NumberUtil.parseLong(Util.null2String(hrmSnapshotPO.getLocationid()))) + .subcompanyid(hrmSnapshotPO.getSubcompanyid1() == null ? null : NumberUtil.parseLong(Util.null2String(hrmSnapshotPO.getSubcompanyid1()))) + .costcenterId(hrmSnapshotPO.getCostcenterid() == null ? null : NumberUtil.parseLong(Util.null2String(hrmSnapshotPO.getCostcenterid()))) + .locationId(hrmSnapshotPO.getLocationid() == null ? null : NumberUtil.parseLong(Util.null2String(hrmSnapshotPO.getLocationid()))) .jobtitleName(hrmSnapshotPO.getJobtitlename()) - .jobtitleId(hrmSnapshotPO.getJobtitle() == null ? null :NumberUtil.parseLong(Util.null2String(hrmSnapshotPO.getJobtitle()))) + .jobtitleId(hrmSnapshotPO.getJobtitle() == null ? null : NumberUtil.parseLong(Util.null2String(hrmSnapshotPO.getJobtitle()))) .companystartdate(hrmSnapshotPO.getCompanystartdate()) .mobile(hrmSnapshotPO.getMobile()) // .dismissdate() @@ -654,7 +656,7 @@ public class SalaryEmployeeServiceImpl extends Service implements SalaryEmployee .email(hrmSnapshotPO.getEmail()) .telephone(hrmSnapshotPO.getTelephone()) .jobcall(hrmSnapshotPO.getJobcallname()) - .jobcallId(hrmSnapshotPO.getJobcall() == null ? null :NumberUtil.parseLong(Util.null2String(hrmSnapshotPO.getJobcall()))) + .jobcallId(hrmSnapshotPO.getJobcall() == null ? null : NumberUtil.parseLong(Util.null2String(hrmSnapshotPO.getJobcall()))) .birthday(hrmSnapshotPO.getBirthday()) .workYear(hrmSnapshotPO.getWorkyear() == null ? null : hrmSnapshotPO.getWorkyear().doubleValue()) .companyWorkYear(hrmSnapshotPO.getCompanyworkyear() == null ? null : hrmSnapshotPO.getCompanyworkyear().doubleValue())