薪资核算导入,添加表头字段缓存功能
This commit is contained in:
parent
b9c40955ac
commit
3304ffdbd5
|
|
@ -14,4 +14,11 @@ public class SalaryItemConstant {
|
|||
* 列表中薪资项目动态列后缀标识
|
||||
*/
|
||||
public static final String DYNAMIC_SUFFIX = "_salaryItem";
|
||||
|
||||
/**
|
||||
* 薪资核算导入缓存表头字段key
|
||||
*/
|
||||
public static final String RESULT_IMPORT_FIELD_SIGN="_salaryAcctResultImportFieldSign";
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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<ImportFieldDTO> inputItems;
|
||||
|
||||
// 缓存勾选项目
|
||||
private List<Long> checkItems;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
|
|
|
|||
|
|
@ -6,6 +6,8 @@ import lombok.Builder;
|
|||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
*
|
||||
* <p>Copyright: Copyright (c) 2022</p>
|
||||
|
|
@ -28,4 +30,7 @@ public class SalaryAcctImportParam {
|
|||
@DataCheck(require = true,message = "薪资核算记录id为空")
|
||||
Long salaryAcctRecordId;
|
||||
|
||||
// 导入表单字段缓存项目
|
||||
List<Long> salaryItems;
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -105,6 +105,8 @@ public interface SalaryAcctExcelService {
|
|||
|
||||
Map<String, Object> preview(SalaryAcctImportParam param);
|
||||
|
||||
void cacheImportField(List<Long> salaryItems);
|
||||
|
||||
//
|
||||
// /**
|
||||
// * 薪资核算结果校验异常导出
|
||||
|
|
|
|||
|
|
@ -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<Long> 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<Long> salaryItems) {
|
||||
String cacheKey = user.getUID() + SalaryItemConstant.RESULT_IMPORT_FIELD_SIGN;
|
||||
Util_DataCache.setObjVal(cacheKey, JsonUtil.toJsonString(salaryItems));
|
||||
}
|
||||
|
||||
private Map<String, Object> batchImport(SalaryAcctImportParam param, String importType) {
|
||||
Map<String, Object> apidatas = new HashMap<String, Object>();
|
||||
ValidUtil.doValidator(param);
|
||||
|
|
|
|||
|
|
@ -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<Long, SalaryAcctImportFieldDTO>(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<List<Long>, String>(user).run(getSalaryAcctExcelService(user)::cacheImportField, param.getSalaryItems());
|
||||
}
|
||||
|
||||
//导出导入模板
|
||||
@GET
|
||||
@Path("/acctresult/importtemplate/export")
|
||||
|
|
|
|||
Loading…
Reference in New Issue