From f1bd47f8b7cf6c7ae6b97419db0b460d22798868 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=92=B1=E6=B6=9B?= <15850646081@163.com> Date: Mon, 27 Oct 2025 11:22:51 +0800 Subject: [PATCH 01/11] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=A0=B8=E7=AE=97?= =?UTF-8?q?=E5=A4=9A=E6=9D=A1=E4=BB=B6=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/SalaryAcctResultServiceImpl.java | 25 +++++++++++++------ 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/src/com/engine/salary/service/impl/SalaryAcctResultServiceImpl.java b/src/com/engine/salary/service/impl/SalaryAcctResultServiceImpl.java index 26433f489..7f39ec784 100644 --- a/src/com/engine/salary/service/impl/SalaryAcctResultServiceImpl.java +++ b/src/com/engine/salary/service/impl/SalaryAcctResultServiceImpl.java @@ -327,14 +327,25 @@ public class SalaryAcctResultServiceImpl extends Service implements SalaryAcctRe if (CollectionUtils.isNotEmpty(otherConditions)) { List items = SalaryEntityUtil.properties(otherConditions, SalaryAcctResultQueryParam.OtherCondition::getItemId, Collectors.toList()); List list = listBySalaryAcctRecordIdsAndSalaryItemIds(Collections.singletonList(queryParam.getSalaryAcctRecordId()), items); - for (int i = 0; i < otherConditions.size(); i++) { - SalaryAcctResultQueryParam.OtherCondition otherCondition = otherConditions.get(i); - Long itemId = otherCondition.getItemId(); - FilterEnum filter = otherCondition.getFilter(); - List params = otherCondition.getParams(); - list = list.stream().filter(a -> Objects.equals(a.getSalaryItemId(), itemId)).filter(a -> filter.filter(params).test(a.getResultValue())).collect(Collectors.toList()); + Map> acctEmpResultsMap = SalaryEntityUtil.group2Map(list, SalaryAcctResultPO::getSalaryAcctEmpId); + Set removeAcctEmpIds = new HashSet<>(); + for (Long acctEmpId : acctEmpResultsMap.keySet()) { + List acctEmpResults = acctEmpResultsMap.get(acctEmpId); + //如果有一个条件不成立就删除 + for (int i = 0; i < otherConditions.size(); i++) { + SalaryAcctResultQueryParam.OtherCondition otherCondition = otherConditions.get(i); + Long itemId = otherCondition.getItemId(); + FilterEnum filter = otherCondition.getFilter(); + List params = otherCondition.getParams(); + for (SalaryAcctResultPO po : acctEmpResults) { + if(Objects.equals(po.getSalaryItemId(), itemId) && !filter.filter(params).test(po.getResultValue())){ + removeAcctEmpIds.add(po.getSalaryAcctEmpId()); + } + } + } } - List salaryAcctEmpId = SalaryEntityUtil.properties(list, SalaryAcctResultPO::getSalaryAcctEmpId, Collectors.toList()); + acctEmpResultsMap.keySet().removeAll(removeAcctEmpIds); + List salaryAcctEmpId = Lists.newArrayList(acctEmpResultsMap.keySet()); if (CollectionUtils.isEmpty(salaryAcctEmpId)) { //条件不满足直接返回空列表 From b4994dab3f4f77a3caf271592724596e8d470f8b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=92=B1=E6=B6=9B?= <15850646081@163.com> Date: Wed, 29 Oct 2025 15:46:24 +0800 Subject: [PATCH 02/11] =?UTF-8?q?=E5=B8=B8=E7=94=A8sql?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resource/wiki/删除档案.txt | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/resource/wiki/删除档案.txt b/resource/wiki/删除档案.txt index 22d1976b0..a9aab191b 100644 --- a/resource/wiki/删除档案.txt +++ b/resource/wiki/删除档案.txt @@ -46,11 +46,13 @@ update hrsa_other_archives set delete_type=3; update hrsa_tax_agent_emp set delete_type=3; --- 删除核算记录和工资单信息 -update hrsa_salary_acct_record set delete_type=3 where delete_type=0; -update hrsa_salary_acct_emp set delete_type=3 where delete_type=0; -update hrsa_salary_acct_result set delete_type=3 where delete_type=0; -update hrsa_salary_send set delete_type=3 where delete_type=0; -update hrsa_salary_send_info set delete_type=3 where delete_type=0; +-- 删除核算记录 +update hrsa_salary_acct_record set delete_type=3 where delete_type=0 and id= 核算记录id; +update hrsa_salary_acct_emp set delete_type=3 where delete_type=0 and salary_acct_record_id=核算记录id; +update hrsa_salary_acct_result set delete_type=3 where delete_type=0 and salary_acct_record_id = 核算记录id; + +--删除工资单信息 +update hrsa_salary_send set delete_type=3 where delete_type=0 and salary_accounting_id = 核算记录id; +update hrsa_salary_send_info set delete_type=3 where delete_type=0 and salary_acct_record_id = 核算记录id; From 3dd8db37dc12fea3d0d955ea3e18f5f9f54b3e85 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=92=B1=E6=B6=9B?= <15850646081@163.com> Date: Mon, 3 Nov 2025 13:35:06 +0800 Subject: [PATCH 03/11] =?UTF-8?q?=E8=B4=A6=E5=A5=97sql=E7=B1=BB=E5=9E=8B?= =?UTF-8?q?=E7=9A=84=E4=BA=BA=E5=91=98=E8=8C=83=E5=9B=B4=E6=8E=A5=E5=85=A5?= =?UTF-8?q?=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/SalaryEmployeeServiceImpl.java | 33 +++++++++++-------- 1 file changed, 19 insertions(+), 14 deletions(-) diff --git a/src/com/engine/salary/service/impl/SalaryEmployeeServiceImpl.java b/src/com/engine/salary/service/impl/SalaryEmployeeServiceImpl.java index cf04d1e76..7c0d23b2d 100644 --- a/src/com/engine/salary/service/impl/SalaryEmployeeServiceImpl.java +++ b/src/com/engine/salary/service/impl/SalaryEmployeeServiceImpl.java @@ -1,5 +1,6 @@ package com.engine.salary.service.impl; +import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.NumberUtil; import com.alibaba.fastjson.JSON; import com.api.formmode.mybatis.util.SqlProxyHandle; @@ -174,7 +175,7 @@ public class SalaryEmployeeServiceImpl extends Service implements SalaryEmployee } //外部人员 - if(hasExtEmp){ + if (hasExtEmp) { List salarySobExtRangePOS = getSalarySobExtRangeService(user).listBySalarySobId(salarySobId); if (CollectionUtils.isNotEmpty(salarySobExtRangePOS)) { List ids = SalaryEntityUtil.properties(salarySobExtRangePOS, SalarySobExtRangePO::getTargetId, Collectors.toList()); @@ -418,20 +419,24 @@ public class SalaryEmployeeServiceImpl extends Service implements SalaryEmployee result.addAll(employBiz.listByVirtualParams(virtualParams)); - List empIds = new ArrayList<>(); - includeQueryParams.stream() - .filter(param -> param.getTargetType().equals(TargetTypeEnum.SQL.name())) - .forEach(param -> { - String sql = param.getTarget(); - RecordSet rs = new RecordSet(); - if (rs.execute(sql)) { - while (rs.next()) { - empIds.add((long) rs.getInt("id")); - } + for (SalarySobRangeEmpQueryParam param:includeQueryParams) { + if(param.getTargetType().equals(TargetTypeEnum.SQL.name())){ + List empIds = new ArrayList<>(); + String sql = param.getTarget(); + RecordSet rs = new RecordSet(); + if (rs.execute(sql)) { + while (rs.next()) { + empIds.add((long) rs.getInt("id")); } - }); - List employees = getSalaryEmployeeService(user).getEmployeeByIdsAll(empIds); - result.addAll(employees); + } + if(CollUtil.isNotEmpty(empIds)){ + Collection employeeStatus = param.getEmployeeStatus(); + List employeeByIdsAll = getSalaryEmployeeService(user).getEmployeeByIdsAll(empIds); + List collect = employeeByIdsAll.stream().filter(e -> employeeStatus.contains(e.getStatus())).collect(Collectors.toList()); + result.addAll(collect); + } + } + } // 从hrmresource和hrmresourcevirtual可能获取到重复人员数据,需要根据人员id去重 result = result.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparingLong(DataCollectionEmployee::getEmployeeId))), ArrayList::new)); From e6a474261c1dca37fd01ceb7a5552bc8eb9fb51d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=92=B1=E6=B6=9B?= <15850646081@163.com> Date: Thu, 6 Nov 2025 11:27:41 +0800 Subject: [PATCH 04/11] =?UTF-8?q?=E8=A1=A5=E7=BC=B4=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E6=8F=90=E7=A4=BA=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../engine/salary/service/impl/SIAccountServiceImpl.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/com/engine/salary/service/impl/SIAccountServiceImpl.java b/src/com/engine/salary/service/impl/SIAccountServiceImpl.java index 4725c5790..62012d45c 100644 --- a/src/com/engine/salary/service/impl/SIAccountServiceImpl.java +++ b/src/com/engine/salary/service/impl/SIAccountServiceImpl.java @@ -1736,7 +1736,7 @@ public class SIAccountServiceImpl extends Service implements SIAccountService { // Long taxAgentId = 0L; List list = new ArrayList<>(); - + String username = (String) map.getOrDefault("姓名", ""); String billMonth = (String) map.getOrDefault("账单月份", ""); String taxAgentName = (String) map.getOrDefault("个税扣缴义务人", ""); String supplementaryMonth = (String) map.getOrDefault("补缴月份", ""); @@ -1840,11 +1840,11 @@ public class SIAccountServiceImpl extends Service implements SIAccountService { //校验补缴人员是否存在福利档案基础信息,并且runStatus处于正在缴纳或者待减员 InsuranceArchivesBaseInfoPO insuranceBaseInfo = getInsuranceBaseInfoMapper().getOneByEmployeeIdAndPayOrg(paymentOrganization, employeeId); if (insuranceBaseInfo == null || !(insuranceBaseInfo.getRunStatus().equals(EmployeeStatusEnum.STAY_DEL.getValue()) || insuranceBaseInfo.getRunStatus().equals(EmployeeStatusEnum.PAYING.getValue())) ) { - throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(0, "补缴人员中存在未设置福利档案人员或相关人员不在福利在缴人员中,不可新建补缴信息!")); + throw new SalaryRunTimeException(username + SalaryI18nUtil.getI18nLabel(0, "补缴未设置福利档案人员或不在福利在缴人员中,不可新建补缴信息!")); } List empIdsInPayMonthRange = listCanPayEmpIds(paymentOrganization, billMonth.substring(0, 7)); if (!empIdsInPayMonthRange.contains(employeeId)) { - throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(99920, "无核算人员")); + throw new SalaryRunTimeException(username + SalaryI18nUtil.getI18nLabel(99920, "无核算人员")); } DataCollectionEmployee employee = getSalaryEmployeeService(user).getEmployeeById(employeeId); // 封装InsuranceAccountDetailPO From 6a061592e5e8a11f2914797ce4d48c4977c92a64 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=92=B1=E6=B6=9B?= <15850646081@163.com> Date: Thu, 13 Nov 2025 11:37:46 +0800 Subject: [PATCH 05/11] =?UTF-8?q?=E5=A4=84=E7=90=86pg=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resource/sqlupgrade/PG/sql202501150103.sql | 43 +++++++++++----------- 1 file changed, 22 insertions(+), 21 deletions(-) diff --git a/resource/sqlupgrade/PG/sql202501150103.sql b/resource/sqlupgrade/PG/sql202501150103.sql index d62aea72f..3841048c5 100644 --- a/resource/sqlupgrade/PG/sql202501150103.sql +++ b/resource/sqlupgrade/PG/sql202501150103.sql @@ -1,41 +1,42 @@ -CREATE TABLE hrsa_hrm_snapshot ( - ID bigint(0) NOT NULL, +CREATE TABLE hrsa_hrm_snapshot +( + ID bigint NOT NULL, snapshot_time timestamp, - employee_id bigint(0), + employee_id bigint, loginid varchar(100), LASTNAME varchar(60), SEX char(1), BIRTHDAY char(10) , - NATIONALITY int(0) , + NATIONALITY int , MARITALSTATUS char(1) , TELEPHONE varchar(60), MOBILE varchar(60) , MOBILECALL varchar(60) , EMAIL varchar(60), - LOCATIONID int(0), + LOCATIONID int, WORKROOM varchar(60), HOMEADDRESS varchar(100), RESOURCETYPE char(1) , STARTDATE char(10) , ENDDATE char(10), - JOBTITLE int(0) , + JOBTITLE int , JOBTITLENAME varchar(200) , JOBACTIVITYDESC varchar(200), - JOBLEVEL int(0) , - SECLEVEL int(0) , - DEPARTMENTID int(0) , + JOBLEVEL int , + SECLEVEL int , + DEPARTMENTID int , DEPARTMENTNAME varchar(200) , - SUBCOMPANYID1 int(0) , + SUBCOMPANYID1 int , SUBCOMPANYNAME varchar(200) , - COSTCENTERID int(0) , - MANAGERID int(0) , - ASSISTANTID int(0), - BANKID1 int(0) , + COSTCENTERID int , + MANAGERID int , + ASSISTANTID int, + BANKID1 int , ACCOUNTID1 varchar(100) , LASTLOGINDATE char(10) , CERTIFICATENUM varchar(60) , NATIVEPLACE varchar(100) , - EDUCATIONLEVEL int(0) , + EDUCATIONLEVEL int , BEMEMBERDATE char(10) , BEPARTYDATE char(10) , WORKCODE varchar(60) , @@ -44,8 +45,8 @@ CREATE TABLE hrsa_hrm_snapshot ( RESIDENTPLACE varchar(200) , POLICY varchar(30) , DEGREE varchar(30) , - USEKIND int(0) , - JOBCALL int(0) , + USEKIND int , + JOBCALL int , jobcallname varchar(200) , ACCUMFUNDACCOUNT varchar(30), BIRTHPLACE varchar(60) , @@ -54,14 +55,14 @@ CREATE TABLE hrsa_hrm_snapshot ( RESIDENTPOSTCODE varchar(60) , EXTPHONE varchar(50) , MANAGERSTR varchar(500), - STATUS int(0) , + STATUS int , FAX varchar(60) , ISLABOUUNION char(1), TEMPRESIDENTNUMBER varchar(60), PROBATIONENDDATE char(10), - COUNTRYID int(0) , - ACCOUNTTYPE int(0) , - BELONGTO int(0) , + COUNTRYID int , + ACCOUNTTYPE int , + BELONGTO int , ACCOUNTNAME varchar(200) , companystartdate varchar(10), workstartdate varchar(10) , From 85e0b85871caf98e3085ea111350a504a0e1e21f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=92=B1=E6=B6=9B?= <15850646081@163.com> Date: Mon, 24 Nov 2025 17:20:11 +0800 Subject: [PATCH 06/11] =?UTF-8?q?=E6=89=B9=E9=87=8F=E6=93=8D=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../salary/web/SalaryBillController.java | 4 +- .../salary/wrapper/SalarySendWrapper.java | 60 +++++++++++++------ 2 files changed, 44 insertions(+), 20 deletions(-) diff --git a/src/com/engine/salary/web/SalaryBillController.java b/src/com/engine/salary/web/SalaryBillController.java index ab505d1ce..23e06b6ee 100644 --- a/src/com/engine/salary/web/SalaryBillController.java +++ b/src/com/engine/salary/web/SalaryBillController.java @@ -485,7 +485,7 @@ public class SalaryBillController { @Produces(MediaType.APPLICATION_JSON) public String batGrant(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SalarySendBatParam queryParam) { User user = HrmUserVarify.getUser(request, response); - return new ResponseResult>(user).run(getSalarySendWrapper(user)::batGrant, queryParam); + return new ResponseResult(user).run(getSalarySendWrapper(user)::batGrant, queryParam); } /** @@ -499,7 +499,7 @@ public class SalaryBillController { @Produces(MediaType.APPLICATION_JSON) public String batWithdraw(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SalarySendBatParam queryParam) { User user = HrmUserVarify.getUser(request, response); - return new ResponseResult>(user).run(getSalarySendWrapper(user)::batWithdraw, queryParam); + return new ResponseResult(user).run(getSalarySendWrapper(user)::batWithdraw, queryParam); } diff --git a/src/com/engine/salary/wrapper/SalarySendWrapper.java b/src/com/engine/salary/wrapper/SalarySendWrapper.java index 1772ba8b9..532d90d52 100644 --- a/src/com/engine/salary/wrapper/SalarySendWrapper.java +++ b/src/com/engine/salary/wrapper/SalarySendWrapper.java @@ -130,9 +130,9 @@ public class SalarySendWrapper extends Service implements SalarySendWrapperProxy list.stream().forEach(dto -> { // 回算过,但是查看的是普通工资单(不能查看详情);回算过,但是查看的是回算工资单(可以发);记录没回算过(可以发) - if(Objects.equals(dto.getSalaryAcctRecordType(), NumberUtils.INTEGER_ONE) && Objects.equals(dto.getSalaryAcctType(),NumberUtils.INTEGER_ZERO)){ + if (Objects.equals(dto.getSalaryAcctRecordType(), NumberUtils.INTEGER_ONE) && Objects.equals(dto.getSalaryAcctType(), NumberUtils.INTEGER_ZERO)) { dto.setCanSeeDetail(false); - }else{ + } else { dto.setCanSeeDetail(true); } }); @@ -155,7 +155,7 @@ public class SalarySendWrapper extends Service implements SalarySendWrapperProxy e.setTemplate(NumberUtils.INTEGER_ONE.equals(e.getSalaryAcctType()) ? salaryTemplatePO.getReplenishName() : salaryTemplatePO.getName()); e.setTemplateId(salaryTemplatePO.getId()); if ((salaryTemplatePO.getAckFeedbackStatus() != null && salaryTemplatePO.getAckFeedbackStatus() == 1) || - (salaryTemplatePO.getFeedbackStatus() != null && salaryTemplatePO.getFeedbackStatus() == 1) ) { + (salaryTemplatePO.getFeedbackStatus() != null && salaryTemplatePO.getFeedbackStatus() == 1)) { e.setAckFeedbackStatus(1); } else { e.setAckFeedbackStatus(0); @@ -701,6 +701,7 @@ public class SalarySendWrapper extends Service implements SalarySendWrapperProxy /** * 发送短信验证码 + * * @param param 短信验证码发送参数 */ public void sendMobileCode(SMSCodeSendParam param) { @@ -709,6 +710,7 @@ public class SalarySendWrapper extends Service implements SalarySendWrapperProxy /** * 校验短信验证码 + * * @param param * @return */ @@ -719,7 +721,7 @@ public class SalarySendWrapper extends Service implements SalarySendWrapperProxy public PayrollCheckTypeEnum payrollCheckType() { SalarySysConfPO conf = getSalarySysConfService(user).getOneByCode(SalarySysConstant.SALARY_PAYROLL_CHECK_TYPE); - if(conf == null){ + if (conf == null) { return PayrollCheckTypeEnum.PWD; } @@ -727,14 +729,14 @@ public class SalarySendWrapper extends Service implements SalarySendWrapperProxy } public void confirmSalaryBill(Long salaryInfoId) { - if(ObjectUtil.isNull(salaryInfoId)){ + if (ObjectUtil.isNull(salaryInfoId)) { throw new SalaryRunTimeException("工资单id不能为空!"); } getSalaryBillService(user).confirmSalaryBill(salaryInfoId); } public void feedBackSalaryBill(Long salaryInfoId) { - if(ObjectUtil.isNull(salaryInfoId)){ + if (ObjectUtil.isNull(salaryInfoId)) { throw new SalaryRunTimeException("工资单id不能为空!"); } getSalaryBillService(user).feedBackSalaryBill(salaryInfoId); @@ -753,26 +755,48 @@ public class SalarySendWrapper extends Service implements SalarySendWrapperProxy } - public void batGrant(SalarySendBatParam param) { + public String batGrant(SalarySendBatParam param) { List salarySendIds = param.getSalarySendIds(); + int successCount = 0; + int failCount = 0; + String failMsg = ""; for (int i = 0; i < salarySendIds.size(); i++) { - Long sendId = salarySendIds.get(i); - SalarySendGrantParam grantParam = SalarySendGrantParam.builder() - .salarySendId(sendId) - .build(); - grant(grantParam); + try { + Long sendId = salarySendIds.get(i); + SalarySendGrantParam grantParam = SalarySendGrantParam.builder() + .salarySendId(sendId) + .build(); + grant(grantParam); + successCount++; + } catch (Exception e) { + failCount++; + failMsg = failMsg + "第" + (i + 1) + "个发放失败!失败原因:" + e.getMessage() + "\n"; + } } + + return String.format("成功:" + successCount + "个,失败:" + failCount + "个%s", failCount == 0 ? "" : ",失败原因:" + failMsg); } - public void batWithdraw(SalarySendBatParam param) { + + public String batWithdraw(SalarySendBatParam param) { List salarySendIds = param.getSalarySendIds(); + int successCount = 0; + int failCount = 0; + String failMsg = ""; for (int i = 0; i < salarySendIds.size(); i++) { - Long sendId = salarySendIds.get(i); - SalarySendWithdrawParam grantParam = SalarySendWithdrawParam.builder() - .salarySendId(sendId) - .build(); - withdraw(grantParam); + try { + Long sendId = salarySendIds.get(i); + SalarySendWithdrawParam grantParam = SalarySendWithdrawParam.builder() + .salarySendId(sendId) + .build(); + withdraw(grantParam); + } catch (Exception e) { + failCount++; + failMsg = failMsg + "第" + (i + 1) + "个撤回失败!失败原因:" + e.getMessage() + "\n"; + } + } + return String.format("成功:" + successCount + "个,失败:" + failCount + "个%s", failCount == 0 ? "" : ",失败原因:" + failMsg); } } From 00fc87ffd83e0efd568d6a45eaf1e95e2b7d5bad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=92=B1=E6=B6=9B?= <15850646081@163.com> Date: Fri, 28 Nov 2025 15:41:42 +0800 Subject: [PATCH 07/11] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E7=94=9F=E6=88=90?= =?UTF-8?q?=E5=B9=B4=E7=BB=88=E5=A5=96=E7=94=B3=E6=8A=A5=E8=A1=A8null?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../engine/salary/entity/taxdeclaration/bo/TaxDeclarationBO.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/com/engine/salary/entity/taxdeclaration/bo/TaxDeclarationBO.java b/src/com/engine/salary/entity/taxdeclaration/bo/TaxDeclarationBO.java index e9500c680..091af8916 100644 --- a/src/com/engine/salary/entity/taxdeclaration/bo/TaxDeclarationBO.java +++ b/src/com/engine/salary/entity/taxdeclaration/bo/TaxDeclarationBO.java @@ -722,6 +722,7 @@ public class TaxDeclarationBO { private static String findStringValue(String fieldCode, Map> resultMap, Map salaryItemMap) { return resultMap.getOrDefault(salaryItemMap.getOrDefault(fieldCode, 0L), Collections.emptyList()).stream() .map(SalaryAcctResultPO::getResultValue) + .filter(Objects::nonNull) .findFirst().orElse(""); } From cb423962a2650bef688966c79baaee2303b6686e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=92=B1=E6=B6=9B?= <15850646081@163.com> Date: Tue, 2 Dec 2025 10:22:14 +0800 Subject: [PATCH 08/11] =?UTF-8?q?=E6=8A=A5=E8=A1=A8=E7=A9=BF=E9=80=8F?= =?UTF-8?q?=EF=BC=8C=E6=8C=89=E7=85=A7=E8=96=AA=E8=B5=84=E6=89=80=E5=B1=9E?= =?UTF-8?q?=E6=9C=88=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../report/service/impl/SalaryStatisticsReportServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/com/engine/salary/report/service/impl/SalaryStatisticsReportServiceImpl.java b/src/com/engine/salary/report/service/impl/SalaryStatisticsReportServiceImpl.java index dbf64ecb8..28f30de0b 100644 --- a/src/com/engine/salary/report/service/impl/SalaryStatisticsReportServiceImpl.java +++ b/src/com/engine/salary/report/service/impl/SalaryStatisticsReportServiceImpl.java @@ -530,7 +530,7 @@ public class SalaryStatisticsReportServiceImpl extends Service implements Salary throw new SalaryRunTimeException("该维度值中无数据!"); } // 同一个人放在一起 - listByDimensionValue = listByDimensionValue.stream().sorted(Comparator.comparing(SalaryAcctEmployeePO::getEmployeeId)).collect(Collectors.toList()); + listByDimensionValue = listByDimensionValue.stream().sorted((a,b)-> b.getSalaryMonth().compareTo(a.getSalaryMonth())).collect(Collectors.toList()); List salaryAcctEmployeePOList = SalaryPageUtil.subList(param.getCurrent(), param.getPageSize(), listByDimensionValue); // 获取此分页的核算人员 From 10a11dcca493f29a81f6a0f5b5424b07624bacb0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=92=B1=E6=B6=9B?= <15850646081@163.com> Date: Tue, 2 Dec 2025 14:55:50 +0800 Subject: [PATCH 09/11] =?UTF-8?q?=E5=A4=84=E7=90=86=E7=A4=BE=E4=BF=9D?= =?UTF-8?q?=E8=A1=A5=E7=BC=B4=E6=89=8B=E5=8A=A8=E5=A1=AB=E5=86=99=E5=BC=82?= =?UTF-8?q?=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/com/engine/salary/service/impl/SIRepairServiceImpl.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/com/engine/salary/service/impl/SIRepairServiceImpl.java b/src/com/engine/salary/service/impl/SIRepairServiceImpl.java index 64758d625..bb24354e2 100644 --- a/src/com/engine/salary/service/impl/SIRepairServiceImpl.java +++ b/src/com/engine/salary/service/impl/SIRepairServiceImpl.java @@ -485,8 +485,10 @@ public class SIRepairServiceImpl extends Service implements SIRepairService { socialMap = socialMap.entrySet().stream().filter(e -> "9002".equals(e.getKey())) .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue)); Map socialComMap = JSON.parseObject(socialSchemePO.getSocialPaymentComBaseString(), new HashMap().getClass()); - socialComMap = socialComMap.entrySet().stream().filter(e -> "9002".equals(e.getKey())) - .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue)); + if(socialComMap !=null){ + socialComMap = socialComMap.entrySet().stream().filter(e -> "9002".equals(e.getKey())) + .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue)); + } List socialIds = new ArrayList<>(); socialIds.addAll(socialMap == null ? Collections.emptyList() : socialMap.keySet()); socialIds.addAll(socialComMap == null ? Collections.emptyList() : socialComMap.keySet()); From b83a9166105b0883ff526037304242529f548689 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=92=B1=E6=B6=9B?= <15850646081@163.com> Date: Fri, 5 Dec 2025 14:18:39 +0800 Subject: [PATCH 10/11] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dnull?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/com/engine/salary/service/impl/RecordsBuildServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/com/engine/salary/service/impl/RecordsBuildServiceImpl.java b/src/com/engine/salary/service/impl/RecordsBuildServiceImpl.java index 29ee07ccc..c6283dd16 100644 --- a/src/com/engine/salary/service/impl/RecordsBuildServiceImpl.java +++ b/src/com/engine/salary/service/impl/RecordsBuildServiceImpl.java @@ -93,7 +93,7 @@ public class RecordsBuildServiceImpl extends Service implements RecordsBuildServ Map collect = employeeByIds.stream().collect(Collectors.toMap(DataCollectionEmployee::getEmployeeId, Function.identity())); list.forEach(item -> { Map record = new HashMap<>(); - DataCollectionEmployee simpleEmployee = collect.get(item.getEmployeeId()); + DataCollectionEmployee simpleEmployee = collect.get(item.getEmployeeId()) ==null?new DataCollectionEmployee():collect.get(item.getEmployeeId()); record.put("id", item.getId()); record.put("employeeId", item.getEmployeeId()); record.put("billMonth", item.getBillMonth()); From eb35dddfbd1038dfd34a1520d7ee2ed78a1d68fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=92=B1=E6=B6=9B?= <15850646081@163.com> Date: Wed, 7 Jan 2026 15:07:11 +0800 Subject: [PATCH 11/11] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/com/engine/salary/mapper/siarchives/SocialSchemeMapper.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/com/engine/salary/mapper/siarchives/SocialSchemeMapper.xml b/src/com/engine/salary/mapper/siarchives/SocialSchemeMapper.xml index 6bf5b3da9..7d4859ad4 100644 --- a/src/com/engine/salary/mapper/siarchives/SocialSchemeMapper.xml +++ b/src/com/engine/salary/mapper/siarchives/SocialSchemeMapper.xml @@ -377,7 +377,7 @@ WHERE 1=1 AND base.delete_type = 0 - AND base.employee_type is null + AND (base.employee_type is null or base.employee_type = 0) ORDER BY ${param.orderRule.orderRule} ${param.orderRule.ascOrDesc}