From c9b279049dd1c4e252bfb2b36021890649702011 Mon Sep 17 00:00:00 2001 From: sy Date: Tue, 21 Nov 2023 14:40:30 +0800 Subject: [PATCH] =?UTF-8?q?=E8=96=AA=E9=85=AC=E7=B3=BB=E7=BB=9F-=E7=A6=8F?= =?UTF-8?q?=E5=88=A9=E5=8F=B0=E8=B4=A6=EF=BC=8C=E7=A6=8F=E5=88=A9=E6=A0=B8?= =?UTF-8?q?=E7=AE=97=E5=87=BA=E7=8E=B0=E5=BC=82=E5=B8=B8=E6=97=B6=EF=BC=8C?= =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=A0=B8=E7=AE=97=E8=BF=9B=E5=BA=A6=E8=8E=B7?= =?UTF-8?q?=E5=8F=96=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/com/engine/salary/biz/SIAccountBiz.java | 6 +++--- src/com/engine/salary/util/SalaryDateUtil.java | 9 +++++++-- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/com/engine/salary/biz/SIAccountBiz.java b/src/com/engine/salary/biz/SIAccountBiz.java index 4ba839d57..1971cb6ff 100644 --- a/src/com/engine/salary/biz/SIAccountBiz.java +++ b/src/com/engine/salary/biz/SIAccountBiz.java @@ -260,7 +260,7 @@ public class SIAccountBiz extends Service { public void accounting(AccountParam param, Long employeeId, String tenantKey, String currentUserName) { //薪资核算进度暂未实现 ProgressDTO salaryAcctProgressDTO = getSalaryAcctProgressService(user).getProgress(SalaryCacheKey.ACCT_PROGRESS + param.getBillMonth()); - if (salaryAcctProgressDTO != null && salaryAcctProgressDTO.getProgress().compareTo(BigDecimal.ONE) < 0) { + if (salaryAcctProgressDTO != null && salaryAcctProgressDTO.isStatus() && salaryAcctProgressDTO.getProgress().compareTo(BigDecimal.ONE) < 0) { return; } @@ -399,8 +399,9 @@ public class SIAccountBiz extends Service { log.info("福利核算进度完成!"); } catch (Exception e) { log.error("account run fail", e); + getSalaryAcctProgressService(user).fail(SalaryCacheKey.ACCT_PROGRESS + param.getBillMonth(), SalaryI18nUtil.getI18nLabel(99642, "福利核算出错") + ": " + e.getMessage()); + List list = Lists.newArrayList(getInsuranceAccountBatchMapper().getByBillMonth(param.getBillMonth(), param.getPaymentOrganization())); - list = encryptUtil.decryptList(list, InsuranceAccountBatchPO.class); if (CollectionUtils.isNotEmpty(list)) { list.stream().forEach(f -> { getInsuranceAccountBatchMapper().deleteById(f.getId()); @@ -410,7 +411,6 @@ public class SIAccountBiz extends Service { //薪资核算进度暂未实现 //salaryAcctProgressService.del(tenantKey + param.getBillMonth(), employeeId, tenantKey); //logger.error("welfare account error:{}", e.getMessage(), e); - getSalaryAcctProgressService(user).fail(SalaryCacheKey.ACCT_PROGRESS + param.getBillMonth(), SalaryI18nUtil.getI18nLabel(99642, "福利核算出错") + ": " + e.getMessage()); } } diff --git a/src/com/engine/salary/util/SalaryDateUtil.java b/src/com/engine/salary/util/SalaryDateUtil.java index af3eb35e2..98d40fc39 100644 --- a/src/com/engine/salary/util/SalaryDateUtil.java +++ b/src/com/engine/salary/util/SalaryDateUtil.java @@ -2,6 +2,7 @@ package com.engine.salary.util; import cn.hutool.core.util.StrUtil; import com.engine.salary.common.LocalDateRange; +import com.engine.salary.exception.SalaryRunTimeException; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.math.NumberUtils; @@ -547,14 +548,18 @@ public class SalaryDateUtil { if (StringUtils.isNotBlank(startMonth)) { startMonth = startMonth + "-01"; Date socialStartDate = SalaryDateUtil.dateStrToLocalDate(startMonth); - if (billMonthDate.before(socialStartDate)) { + if(socialStartDate == null) { + throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(0, "年月解析异常,请检查档案中相关数据设置") + ":" + startMonth.substring(0, startMonth.length() - 3)); + } else if (billMonthDate.before(socialStartDate)) { inDataRange = false; } } if (StringUtils.isNotBlank(endMonth)) { endMonth = endMonth + "-01"; Date socialEndDate = SalaryDateUtil.dateStrToLocalDate(endMonth); - if (billMonthDate.after(socialEndDate)) { + if(socialEndDate == null) { + throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(0, "年月解析异常,请检查档案中相关数据设置") + ":" + endMonth.substring(0, endMonth.length() - 3)); + } else if (billMonthDate.after(socialEndDate)) { inDataRange = false; } }