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")