下载核算导入模板,直接从缓存拿选的字段

This commit is contained in:
Harryxzy 2023-11-02 16:39:58 +08:00
parent 05b2c1868b
commit f85f0af44a
1 changed files with 19 additions and 4 deletions

View File

@ -567,12 +567,27 @@ public class SalaryAcctExcelServiceImpl extends Service implements SalaryAcctExc
@Override
public XSSFWorkbook exportImportTemplate(SalaryAcctImportTemplateParam param) {
ValidUtil.doValidator(param);
// ValidUtil.doValidator(param);
// 从缓存中获取所选的薪资项目
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);
// 必须选择导入模板所需的薪资项目
if (CollectionUtils.isEmpty(param.getSalaryItemIds())) {
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(99019, "参数错误,请选择导入模板所需的薪资项目"));
if (CollectionUtils.isEmpty(checkItems)) {
// 获取所有可以选择的薪资项目
SalaryAcctRecordPO salaryAcctRecordPO = getSalaryAcctRecordService(user).getById(param.getSalaryAcctRecordId());
if (Objects.isNull(salaryAcctRecordPO)) {
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(98747, "薪资核算记录不存在或已被删除"));
}
// 查询薪资核算记录所用的薪资账套的薪资项目副本
List<SalarySobItemPO> salarySobItems = getSalarySobItemService(user).listBySalarySobId(salaryAcctRecordPO.getSalarySobId());
List<Long> salaryItemIds = SalaryEntityUtil.properties(salarySobItems, SalarySobItemPO::getSalaryItemId, Collectors.toList());
if (CollectionUtils.isEmpty(salaryItemIds)) {
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(0, "该核算记录不存在薪资项目"));
}
checkItems = salaryItemIds;
}
param.setSalaryItemIds(checkItems);
// 查询薪资核算记录
SalaryAcctRecordPO salaryAcctRecordPO = getSalaryAcctRecordService(user).getById(param.getSalaryAcctRecordId());
if (Objects.isNull(salaryAcctRecordPO)) {