From 3304ffdbd57edb386b6a3ab8e10804dfe876f1ae Mon Sep 17 00:00:00 2001 From: Harryxzy Date: Thu, 16 Mar 2023 16:19:23 +0800 Subject: [PATCH] =?UTF-8?q?=E8=96=AA=E8=B5=84=E6=A0=B8=E7=AE=97=E5=AF=BC?= =?UTF-8?q?=E5=85=A5=EF=BC=8C=E6=B7=BB=E5=8A=A0=E8=A1=A8=E5=A4=B4=E5=AD=97?= =?UTF-8?q?=E6=AE=B5=E7=BC=93=E5=AD=98=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../salary/constant/SalaryItemConstant.java | 7 +++++++ .../salaryacct/dto/SalaryAcctImportFieldDTO.java | 4 ++++ .../salaryacct/param/SalaryAcctImportParam.java | 5 +++++ .../salary/service/SalaryAcctExcelService.java | 2 ++ .../service/impl/SalaryAcctExcelServiceImpl.java | 15 ++++++++++++++- .../engine/salary/web/SalaryAcctController.java | 10 ++++++++++ 6 files changed, 42 insertions(+), 1 deletion(-) diff --git a/src/com/engine/salary/constant/SalaryItemConstant.java b/src/com/engine/salary/constant/SalaryItemConstant.java index 07e9a7bbc..790a288cb 100644 --- a/src/com/engine/salary/constant/SalaryItemConstant.java +++ b/src/com/engine/salary/constant/SalaryItemConstant.java @@ -14,4 +14,11 @@ public class SalaryItemConstant { * 列表中薪资项目动态列后缀标识 */ public static final String DYNAMIC_SUFFIX = "_salaryItem"; + + /** + * 薪资核算导入缓存表头字段key + */ + public static final String RESULT_IMPORT_FIELD_SIGN="_salaryAcctResultImportFieldSign"; + + } diff --git a/src/com/engine/salary/entity/salaryacct/dto/SalaryAcctImportFieldDTO.java b/src/com/engine/salary/entity/salaryacct/dto/SalaryAcctImportFieldDTO.java index b51422d68..d954e319a 100644 --- a/src/com/engine/salary/entity/salaryacct/dto/SalaryAcctImportFieldDTO.java +++ b/src/com/engine/salary/entity/salaryacct/dto/SalaryAcctImportFieldDTO.java @@ -6,6 +6,7 @@ import lombok.Data; import lombok.NoArgsConstructor; import java.util.Collection; +import java.util.List; /** * 薪资核算导入时生成导入模板的薪资项目 @@ -30,6 +31,9 @@ public class SalaryAcctImportFieldDTO { //输入项 private Collection inputItems; + // 缓存勾选项目 + private List checkItems; + @Data @Builder @NoArgsConstructor diff --git a/src/com/engine/salary/entity/salaryacct/param/SalaryAcctImportParam.java b/src/com/engine/salary/entity/salaryacct/param/SalaryAcctImportParam.java index 0c17eb0b7..21201a6d5 100644 --- a/src/com/engine/salary/entity/salaryacct/param/SalaryAcctImportParam.java +++ b/src/com/engine/salary/entity/salaryacct/param/SalaryAcctImportParam.java @@ -6,6 +6,8 @@ import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; +import java.util.List; + /** * *

Copyright: Copyright (c) 2022

@@ -28,4 +30,7 @@ public class SalaryAcctImportParam { @DataCheck(require = true,message = "薪资核算记录id为空") Long salaryAcctRecordId; + // 导入表单字段缓存项目 + List salaryItems; + } diff --git a/src/com/engine/salary/service/SalaryAcctExcelService.java b/src/com/engine/salary/service/SalaryAcctExcelService.java index de731313b..253b19156 100644 --- a/src/com/engine/salary/service/SalaryAcctExcelService.java +++ b/src/com/engine/salary/service/SalaryAcctExcelService.java @@ -105,6 +105,8 @@ public interface SalaryAcctExcelService { Map preview(SalaryAcctImportParam param); + void cacheImportField(List salaryItems); + // // /** // * 薪资核算结果校验异常导出 diff --git a/src/com/engine/salary/service/impl/SalaryAcctExcelServiceImpl.java b/src/com/engine/salary/service/impl/SalaryAcctExcelServiceImpl.java index 732adbeb9..fd09e74fd 100644 --- a/src/com/engine/salary/service/impl/SalaryAcctExcelServiceImpl.java +++ b/src/com/engine/salary/service/impl/SalaryAcctExcelServiceImpl.java @@ -1,11 +1,13 @@ package com.engine.salary.service.impl; import com.api.formmode.mybatis.util.SqlProxyHandle; +import com.cloudstore.dev.api.util.Util_DataCache; import com.cloudstore.eccom.pc.table.WeaTableColumn; import com.engine.common.util.ServiceUtil; import com.engine.core.impl.Service; import com.engine.salary.component.WeaTableColumnGroup; import com.engine.salary.constant.SalaryDefaultTenantConstant; +import com.engine.salary.constant.SalaryItemConstant; import com.engine.salary.entity.datacollection.DataCollectionEmployee; import com.engine.salary.entity.report.po.SalaryAcctResultReportPO; import com.engine.salary.entity.salaryacct.bo.SalaryAcctEmployeeBO; @@ -34,6 +36,7 @@ import com.engine.salary.sys.entity.po.SalarySysConfPO; import com.engine.salary.sys.enums.OpenEnum; import com.engine.salary.sys.service.SalarySysConfService; import com.engine.salary.sys.service.impl.SalarySysConfServiceImpl; +import com.engine.salary.util.JsonUtil; import com.engine.salary.util.SalaryEntityUtil; import com.engine.salary.util.SalaryI18nUtil; import com.engine.salary.util.excel.ExcelParseHelper; @@ -391,8 +394,12 @@ public class SalaryAcctExcelServiceImpl extends Service implements SalaryAcctExc .salaryItemName(salaryItemPO.getName()) .build()) .collect(Collectors.toList()); + // 缓存勾选 + String cacheKey = user.getUID() + SalaryItemConstant.RESULT_IMPORT_FIELD_SIGN; + String cacheValue = (String)Util_DataCache.getObjVal(cacheKey); + List checkItems = JsonUtil.parseList(cacheValue, Long.class) == null ? new ArrayList<>() : JsonUtil.parseList(cacheValue, Long.class); // 转换成dto - return SalaryAcctImportFieldDTO.builder().formulaItems(formulaItems).sqlItems(sqlItems).inputItems(inputItems).build(); + return SalaryAcctImportFieldDTO.builder().formulaItems(formulaItems).sqlItems(sqlItems).inputItems(inputItems).checkItems(checkItems).build(); } @Override @@ -575,6 +582,12 @@ public class SalaryAcctExcelServiceImpl extends Service implements SalaryAcctExc } } + @Override + public void cacheImportField(List salaryItems) { + String cacheKey = user.getUID() + SalaryItemConstant.RESULT_IMPORT_FIELD_SIGN; + Util_DataCache.setObjVal(cacheKey, JsonUtil.toJsonString(salaryItems)); + } + private Map batchImport(SalaryAcctImportParam param, String importType) { Map apidatas = new HashMap(); ValidUtil.doValidator(param); diff --git a/src/com/engine/salary/web/SalaryAcctController.java b/src/com/engine/salary/web/SalaryAcctController.java index 8d2db04ef..d561816bb 100644 --- a/src/com/engine/salary/web/SalaryAcctController.java +++ b/src/com/engine/salary/web/SalaryAcctController.java @@ -31,6 +31,7 @@ import java.net.URLEncoder; import java.time.LocalDate; import java.util.Arrays; import java.util.Collection; +import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -483,6 +484,15 @@ public class SalaryAcctController { return new ResponseResult(user).run(getSalaryAcctExcelService(user)::getImportField, salaryAcctRecordId); } + // 薪资核算导入字段缓存 + @POST + @Path("/acctresult/cacheImportField") + @Produces(MediaType.APPLICATION_JSON) + public String cacheImportField(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SalaryAcctImportParam param) { + User user = HrmUserVarify.getUser(request, response); + return new ResponseResult, String>(user).run(getSalaryAcctExcelService(user)::cacheImportField, param.getSalaryItems()); + } + //导出导入模板 @GET @Path("/acctresult/importtemplate/export")