From 5485f7d2605b7f082153c5974a33c747db704e52 Mon Sep 17 00:00:00 2001 From: Harryxzy Date: Fri, 1 Mar 2024 17:40:19 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E7=A4=BE=E4=BF=9D=E7=A6=8F=E5=88=A9?= =?UTF-8?q?=E5=8F=B0=E8=B4=A6=E5=AF=BC=E5=85=A5=EF=BC=8C=E8=A1=A8=E5=8D=95?= =?UTF-8?q?=E5=AD=97=E6=AE=B5=E7=BC=93=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../salary/constant/SalaryItemConstant.java | 10 ++++++ .../InsuranceAcctDetailImportFieldDTO.java | 4 +++ .../salary/service/SIAccountService.java | 4 +++ .../service/impl/SIAccountServiceImpl.java | 14 ++++++++ .../salary/web/SIAccountController.java | 33 +++++++++++++++++-- .../salary/wrapper/SalaryFormulaWrapper.java | 30 ++++++++++++++--- 6 files changed, 89 insertions(+), 6 deletions(-) diff --git a/src/com/engine/salary/constant/SalaryItemConstant.java b/src/com/engine/salary/constant/SalaryItemConstant.java index 26bac736b..217f1d4ea 100644 --- a/src/com/engine/salary/constant/SalaryItemConstant.java +++ b/src/com/engine/salary/constant/SalaryItemConstant.java @@ -20,6 +20,16 @@ public class SalaryItemConstant { */ public static final String RESULT_IMPORT_FIELD_SIGN="_salaryAcctResultImportFieldSign"; + /** + * 社保福利台账导入缓存表头字段key(正常缴纳、补缴) + */ + public static final String SI_ACCOUNT_IMPORT_FIELD_SIGN="_SIAccountImportFieldSign"; + + /** + * 社保福利台账导入缓存表头字段key(补差) + */ + public static final String SI_ACCOUNT_BALANCE_IMPORT_FIELD_SIGN="_SIAccountBalanceImportFieldSign"; + /** * 薪资核算导出缓存表头字段key */ diff --git a/src/com/engine/salary/entity/siaccount/dto/InsuranceAcctDetailImportFieldDTO.java b/src/com/engine/salary/entity/siaccount/dto/InsuranceAcctDetailImportFieldDTO.java index 1f3cc912c..4db8801bc 100644 --- a/src/com/engine/salary/entity/siaccount/dto/InsuranceAcctDetailImportFieldDTO.java +++ b/src/com/engine/salary/entity/siaccount/dto/InsuranceAcctDetailImportFieldDTO.java @@ -20,4 +20,8 @@ public class InsuranceAcctDetailImportFieldDTO { //薪资项目名称 private String salaryItemName; + + //是否勾选 + private Boolean checked; + } diff --git a/src/com/engine/salary/service/SIAccountService.java b/src/com/engine/salary/service/SIAccountService.java index 6a496845b..5e468d541 100644 --- a/src/com/engine/salary/service/SIAccountService.java +++ b/src/com/engine/salary/service/SIAccountService.java @@ -316,5 +316,9 @@ public interface SIAccountService { boolean checkBalancePayInsurance(InsuranceAccountDetailPO po); List buildRecords(List list, Map paymentMap); + + void cacheWelfareField(List welfareNames); + + void cacheBalanceWelfareField(List welfareNames); } diff --git a/src/com/engine/salary/service/impl/SIAccountServiceImpl.java b/src/com/engine/salary/service/impl/SIAccountServiceImpl.java index 8f5a3970e..07a8ce0a6 100644 --- a/src/com/engine/salary/service/impl/SIAccountServiceImpl.java +++ b/src/com/engine/salary/service/impl/SIAccountServiceImpl.java @@ -6,6 +6,7 @@ import com.api.browser.bean.SearchConditionGroup; import com.api.browser.bean.SearchConditionItem; import com.api.browser.bean.SearchConditionOption; import com.api.formmode.mybatis.util.SqlProxyHandle; +import com.cloudstore.dev.api.util.Util_DataCache; import com.cloudstore.eccom.pc.table.*; import com.cloudstore.eccom.result.WeaResultMsg; import com.engine.common.util.ServiceUtil; @@ -14,6 +15,7 @@ import com.engine.salary.biz.*; import com.engine.salary.cache.SalaryCacheKey; import com.engine.salary.component.SalaryWeaTable; import com.engine.salary.constant.SalaryDefaultTenantConstant; +import com.engine.salary.constant.SalaryItemConstant; import com.engine.salary.encrypt.EncryptUtil; import com.engine.salary.entity.datacollection.DataCollectionEmployee; import com.engine.salary.entity.progress.ProgressDTO; @@ -6145,6 +6147,18 @@ public class SIAccountServiceImpl extends Service implements SIAccountService { return viewDTOS; } + @Override + public void cacheWelfareField(List welfareNames) { + String cacheKey = user.getUID() + SalaryItemConstant.SI_ACCOUNT_IMPORT_FIELD_SIGN; + Util_DataCache.setObjVal(cacheKey, JsonUtil.toJsonString(welfareNames)); + } + + @Override + public void cacheBalanceWelfareField(List welfareNames) { + String cacheKey = user.getUID() + SalaryItemConstant.SI_ACCOUNT_BALANCE_IMPORT_FIELD_SIGN; + Util_DataCache.setObjVal(cacheKey, JsonUtil.toJsonString(welfareNames)); + } + public void accountOtherView(InsuranceAccountViewListDTO dto, List pos) { int otherNum = 0; BigDecimal otherPaySum = new BigDecimal("0"); diff --git a/src/com/engine/salary/web/SIAccountController.java b/src/com/engine/salary/web/SIAccountController.java index ab9a41c9c..29daf6ee7 100644 --- a/src/com/engine/salary/web/SIAccountController.java +++ b/src/com/engine/salary/web/SIAccountController.java @@ -12,6 +12,7 @@ import com.engine.salary.entity.siaccount.dto.InsuranceCompensationDTO; import com.engine.salary.entity.siaccount.param.*; import com.engine.salary.entity.siaccount.po.InsuranceAccountBatchPO; import com.engine.salary.entity.taxagent.po.TaxAgentPO; +import com.engine.salary.service.SIAccountService; import com.engine.salary.service.impl.SIAccountServiceImpl; import com.engine.salary.util.ResponseResult; import com.engine.salary.util.page.PageInfo; @@ -25,7 +26,6 @@ import org.apache.commons.lang3.StringUtils; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import weaver.hrm.HrmUserVarify; import weaver.hrm.User; -import com.engine.salary.service.SIAccountService; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -34,7 +34,6 @@ import javax.ws.rs.core.Context; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; import javax.ws.rs.core.StreamingOutput; - import java.io.UnsupportedEncodingException; import java.net.URLEncoder; import java.time.LocalDate; @@ -444,6 +443,36 @@ public class SIAccountController { return new ResponseResult>(user).run(getSalaryFormulaWrapper(user)::welfareList); } + /** + * 社保福利(核算)项列表缓存(正常缴纳、补缴) + * @param request + * @param response + * @param param + * @return + */ + @POST + @Path("/cacheWelfareList") + @Produces(MediaType.APPLICATION_JSON) + public String cacheWelfareList(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody InsuranceAcctDetailImportTemplateParam param) { + User user = HrmUserVarify.getUser(request, response); + return new ResponseResult, Void>(user).run(getService(user)::cacheWelfareField, param.getWelfareNames()); + } + + /** + * 社保福利(核算)项列表缓存(正常缴纳、补缴) + * @param request + * @param response + * @param param + * @return + */ + @POST + @Path("/cacheBalanceWelfareList") + @Produces(MediaType.APPLICATION_JSON) + public String cacheBalanceWelfareList(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody InsuranceAcctDetailImportTemplateParam param) { + User user = HrmUserVarify.getUser(request, response); + return new ResponseResult, Void>(user).run(getService(user)::cacheBalanceWelfareField, param.getWelfareNames()); + } + // /** // * 导出“福利核算导入”模板 // */ diff --git a/src/com/engine/salary/wrapper/SalaryFormulaWrapper.java b/src/com/engine/salary/wrapper/SalaryFormulaWrapper.java index ba43a041c..1c62d921c 100644 --- a/src/com/engine/salary/wrapper/SalaryFormulaWrapper.java +++ b/src/com/engine/salary/wrapper/SalaryFormulaWrapper.java @@ -1,8 +1,10 @@ package com.engine.salary.wrapper; +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.SalaryItemBiz; +import com.engine.salary.constant.SalaryItemConstant; import com.engine.salary.entity.salaryformula.ExpressFormula; import com.engine.salary.entity.salaryformula.bo.SalaryFormulaBO; import com.engine.salary.entity.salaryformula.dto.ExpressFormulaDTO; @@ -22,6 +24,7 @@ import com.engine.salary.service.SalaryFormulaService; import com.engine.salary.service.impl.FormulaRunServiceImpl; import com.engine.salary.service.impl.RemoteExcelServiceImpl; import com.engine.salary.service.impl.SalaryFormulaServiceImpl; +import com.engine.salary.util.JsonUtil; import com.engine.salary.util.db.MapperProxyFactory; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; @@ -121,11 +124,20 @@ public class SalaryFormulaWrapper extends Service { } - welfareList.add(new InsuranceAcctDetailImportFieldDTO("socialSum","社保合计")); - welfareList.add(new InsuranceAcctDetailImportFieldDTO("fundSum","公积金合计")); - welfareList.add(new InsuranceAcctDetailImportFieldDTO("otherSum","其他福利合计")); - welfareList.add(new InsuranceAcctDetailImportFieldDTO("total","合计")); + welfareList.add(new InsuranceAcctDetailImportFieldDTO("socialSum","社保合计", false)); + welfareList.add(new InsuranceAcctDetailImportFieldDTO("fundSum","公积金合计",false)); + welfareList.add(new InsuranceAcctDetailImportFieldDTO("otherSum","其他福利合计", false)); + welfareList.add(new InsuranceAcctDetailImportFieldDTO("total","合计", false)); + // 缓存勾选 + String cacheKey = user.getUID() + SalaryItemConstant.SI_ACCOUNT_IMPORT_FIELD_SIGN; + String cacheValue = (String) Util_DataCache.getObjVal(cacheKey); + List checkFields = JsonUtil.parseList(cacheValue, String.class) == null ? new ArrayList<>() : JsonUtil.parseList(cacheValue, String.class); + welfareList.stream().forEach(field -> { + if (checkFields.contains(field.getFieldId())) { + field.setChecked(true); + } + }); return welfareList; } @@ -144,6 +156,16 @@ public class SalaryFormulaWrapper extends Service { } + // 缓存勾选 + String cacheKey = user.getUID() + SalaryItemConstant.SI_ACCOUNT_BALANCE_IMPORT_FIELD_SIGN; + String cacheValue = (String) Util_DataCache.getObjVal(cacheKey); + List checkFields = JsonUtil.parseList(cacheValue, String.class) == null ? new ArrayList<>() : JsonUtil.parseList(cacheValue, String.class); + welfareList.stream().forEach(field -> { + if (checkFields.contains(field.getFieldId())) { + field.setChecked(true); + } + }); + return welfareList; } From 28f7c57e125643ef0ea15a6c4150cc69d4373852 Mon Sep 17 00:00:00 2001 From: Harryxzy Date: Mon, 4 Mar 2024 09:18:00 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E7=A4=BE=E4=BF=9D=E7=A6=8F=E5=88=A9?= =?UTF-8?q?=E5=8F=B0=E8=B4=A6=E5=AF=BC=E5=85=A5=EF=BC=8C=E8=A1=A8=E5=8D=95?= =?UTF-8?q?=E5=AD=97=E6=AE=B5=E7=BC=93=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../engine/salary/timer/AutoSyncResignationEmpArchiveJob.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/com/engine/salary/timer/AutoSyncResignationEmpArchiveJob.java b/src/com/engine/salary/timer/AutoSyncResignationEmpArchiveJob.java index b62f8ce6d..654c37dec 100644 --- a/src/com/engine/salary/timer/AutoSyncResignationEmpArchiveJob.java +++ b/src/com/engine/salary/timer/AutoSyncResignationEmpArchiveJob.java @@ -28,7 +28,7 @@ import java.util.*; * @date 2023/08/14 9:30 * @description 自动同步离职人员社保福利档案内容 */ -public class AutoSyncResignationEmpArchiveJob extends BaseCronJob { +public class AutoSyncResignationEmpArchiveJob extends BaseCronJob { private SalaryArchiveService getSalaryArchiveService(User user) { return ServiceUtil.getService(SalaryArchiveServiceImpl.class,user);