diff --git a/resource/sql/档案支持一对多.sql b/resource/sql/档案支持一对多.sql index 401484261..02026be5a 100644 --- a/resource/sql/档案支持一对多.sql +++ b/resource/sql/档案支持一对多.sql @@ -1,6 +1,20 @@ ALTER TABLE hrsa_salary_archive - ADD COLUMN tax_agent_id bigint(0) NULL COMMENT '个税扣缴义务人id' AFTER tenant_key; +ADD COLUMN tax_agent_id bigint(0) NULL COMMENT '个税扣缴义务人id' +ADD COLUMN pay_start_date datetime(0) NULL DEFAULT NULL COMMENT '起始发薪日期' , +ADD COLUMN pay_end_date datetime(0) NULL DEFAULT NULL COMMENT '最后发薪日期' ; + ALTER TABLE hrsa_salary_archive - ADD COLUMN pay_start_date datetime(0) NULL DEFAULT NULL COMMENT '起始发薪日期' AFTER tax_agent_id, -ADD COLUMN pay_end_date datetime(0) NULL DEFAULT NULL COMMENT '最后发薪日期' AFTER pay_start_date; \ No newline at end of file +ADD tax_agent_id bigint NULL , +pay_start_date datetime NULL , +pay_end_date datetime NULL +GO + + + +ALTER TABLE hrsa_salary_archive ADD ( + tax_agent_id NUMBER(38,0) NULL , + pay_start_date date NULL , + pay_end_date date NULL +) +/ \ No newline at end of file diff --git a/src/com/engine/salary/service/SalaryArchiveService.java b/src/com/engine/salary/service/SalaryArchiveService.java index 8a20a30cc..ee7ae86f2 100644 --- a/src/com/engine/salary/service/SalaryArchiveService.java +++ b/src/com/engine/salary/service/SalaryArchiveService.java @@ -125,13 +125,20 @@ public interface SalaryArchiveService { List getSalaryArchiveTaxAgentData(LocalDateRange localDateRange, Collection employeeIds); /** - * 导入 + * 导入,数据入库 * @param param * @return */ Map importSalaryArchive(SalaryArchiveImportHandleParam param); + /** + * 导入 + * @param param + * @param ifImportData 数据是否入库 + * @return + */ Map importSalaryArchive(SalaryArchiveImportHandleParam param,boolean ifImportData); + /** * 预览 * @param param diff --git a/src/com/engine/salary/service/impl/SalaryArchiveServiceImpl.java b/src/com/engine/salary/service/impl/SalaryArchiveServiceImpl.java index b54dbdbad..b34ef9be4 100644 --- a/src/com/engine/salary/service/impl/SalaryArchiveServiceImpl.java +++ b/src/com/engine/salary/service/impl/SalaryArchiveServiceImpl.java @@ -175,8 +175,7 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe return Collections.EMPTY_LIST; } List salaryArchiveItems = salaryArchiveItemMapper.getCurrentEffectiveItemList(SalaryArchiveItemQueryParam.builder().salaryArchivesIds(salaryArchivesIds).salaryItemIds(salaryItemIds).effectiveTime(new Date()).build()); - return salaryArchiveItems.stream() - .collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(f -> f.getSalaryArchiveId() + "-" + f.getSalaryItemId()))), ArrayList::new)); + return salaryArchiveItems.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(f -> f.getSalaryArchiveId() + "-" + f.getSalaryItemId()))), ArrayList::new)); } /** @@ -192,8 +191,7 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe } List salaryArchiveTaxAgents = salaryArchiveTaxAgentMapper.listByParam(SalaryArchiveTaxAgentQueryParam.builder().salaryArchivesIds(salaryArchivesIds).effectiveTime(new Date()).build()); - return salaryArchiveTaxAgents.stream() - .collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(SalaryArchiveTaxAgentPO::getSalaryArchiveId))), ArrayList::new)); + return salaryArchiveTaxAgents.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(SalaryArchiveTaxAgentPO::getSalaryArchiveId))), ArrayList::new)); } /** @@ -206,10 +204,7 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe * @return */ @Override - public List> buildSalaryArchiveData(Collection salaryArchives, - Collection taxAgentLists, - List salaryItems, - Boolean isPage) { + public List> buildSalaryArchiveData(Collection salaryArchives, Collection taxAgentLists, List salaryItems, Boolean isPage) { // 分页用于表格展示,否则用于导出 Collection ids = isPage ? salaryArchives.stream().map(SalaryArchiveListDTO::getId).collect(Collectors.toList()) : CollectionUtils.emptyCollection(); @@ -276,13 +271,7 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe String sheetName = SalaryI18nUtil.getI18nLabel(85368, "薪资档案"); // 获取所有可被引用的薪资项目 List salaryItems = salaryItemMapper.getCanAdjustSalaryItems(); - String[] header = { - SalaryI18nUtil.getI18nLabel(85429, "姓名"), - SalaryI18nUtil.getI18nLabel(86184, "个税扣缴义务人"), - SalaryI18nUtil.getI18nLabel(86185, "部门"), - SalaryI18nUtil.getI18nLabel(86186, "手机号"), - SalaryI18nUtil.getI18nLabel(91075, "状态") - }; + String[] header = {SalaryI18nUtil.getI18nLabel(85429, "姓名"), SalaryI18nUtil.getI18nLabel(86184, "个税扣缴义务人"), SalaryI18nUtil.getI18nLabel(86185, "部门"), SalaryI18nUtil.getI18nLabel(86186, "手机号"), SalaryI18nUtil.getI18nLabel(91075, "状态")}; // 2.表头 List headerList = new ArrayList<>(Arrays.asList(header)); for (SalaryItemPO salaryItem : salaryItems) { @@ -458,16 +447,9 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe po.setUpdateTime(now); salaryArchiveDimissionMapper.updateById(po); } else { - salaryArchiveDimissionMapper.insert(SalaryArchiveDimissionPO - .builder() + salaryArchiveDimissionMapper.insert(SalaryArchiveDimissionPO.builder() // .id(IdGenerator.generate()) - .dimissionTimeInterval(saveParam.getDimissionTimeInterval().getValue()) - .createTime(now) - .updateTime(now) - .creator((long) user.getUID()) - .tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY) - .build() - ); + .dimissionTimeInterval(saveParam.getDimissionTimeInterval().getValue()).createTime(now).updateTime(now).creator((long) user.getUID()).tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY).build()); } return StringUtils.EMPTY; } @@ -499,14 +481,9 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe List salaryItems = salaryItemMapper.getCanAdjustSalaryItems(); Collection salaryItemIds = salaryItems.stream().map(SalaryItemPO::getId).collect(Collectors.toList()); // 获取薪资项目调整数据,isOnlyTaxAgent为true时不需要薪资项目数据 - List salaryArchiveItemDataList = isOnlyTaxAgent || CollectionUtils.isEmpty(salaryItemIds) ? - Lists.newArrayList() : salaryArchiveItemMapper.listByParam(SalaryArchiveItemQueryParam.builder().salaryItemIds(salaryItemIds).employeeIds(employeeIds).effectiveTime(localDateRange.getEndDate()).build()); + List salaryArchiveItemDataList = isOnlyTaxAgent || CollectionUtils.isEmpty(salaryItemIds) ? Lists.newArrayList() : salaryArchiveItemMapper.listByParam(SalaryArchiveItemQueryParam.builder().salaryItemIds(salaryItemIds).employeeIds(employeeIds).effectiveTime(localDateRange.getEndDate()).build()); - return SalaryArchiveBO.buildSalaryArchiveData(salaryArchiveList, - salaryArchiveItemDataList, - localDateRange, - allEmployeeIds, - isOnlyTaxAgent); + return SalaryArchiveBO.buildSalaryArchiveData(salaryArchiveList, salaryArchiveItemDataList, localDateRange, allEmployeeIds, isOnlyTaxAgent); } /** @@ -710,17 +687,13 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe Collection salaryItemIds = salaryItems.stream().map(SalaryItemPO::getId).collect(Collectors.toList()); Date now = new Date(); - return SalaryArchiveImportHandleParam.builder() - .openDevolution(getTaxAgentService(user).isOpenDevolution()) - .listTaxAgentAndEmployeeTree(getTaxAgentService(user).listTaxAgentAndEmployeeTree(employeeId)) + return SalaryArchiveImportHandleParam.builder().openDevolution(getTaxAgentService(user).isOpenDevolution()).listTaxAgentAndEmployeeTree(getTaxAgentService(user).listTaxAgentAndEmployeeTree(employeeId)) // 获取租户下所有的人员 .employees(employBiz.listEmployee()) // 获取所有个税扣缴义务人 - .taxAgentList(getTaxAgentService(user).listAllTaxAgentsAsAdmin(employeeId)) - .salaryItems(salaryItems) + .taxAgentList(getTaxAgentService(user).listAllTaxAgentsAsAdmin(employeeId)).salaryItems(salaryItems) // 查询已有的薪资档案基本数据 - .salaryArchives(list(SalaryArchiveQueryParam.builder().build())) - .salaryItemIds(salaryItemIds) + .salaryArchives(list(SalaryArchiveQueryParam.builder().build())).salaryItemIds(salaryItemIds) // 查询已生效的薪资项目数据 .effectiveItemList(getEffectiveItemList(salaryItemIds)) // 查询未生效的薪资项目数据 @@ -742,8 +715,7 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe // 待删除薪资档案-个税扣缴义务人 .salaryArchiveTaxAgentDelTaxAgentIds(Lists.newArrayList()) // 待删除薪资档案-薪资项目 - .salaryArchiveItemDelSalaryItemIds(Lists.newArrayList()) - .build(); + .salaryArchiveItemDelSalaryItemIds(Lists.newArrayList()).build(); } /** @@ -776,11 +748,7 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe if (optionalInitImport.isPresent()) { SalaryArchiveInitImportDTO initImport = optionalInitImport.get(); List sames = initImport.getSames(); - sames.add(SalaryArchiveInitImportSameDTO.builder() - .isError(isError) - .rowNo(rowNo) - .row(map) - .build()); + sames.add(SalaryArchiveInitImportSameDTO.builder().isError(isError).rowNo(rowNo).row(map).build()); Optional optionalSame = sames.stream().filter(SalaryArchiveInitImportSameDTO::isError).findFirst(); // 只要是其中一行有错误 if (optionalSame.isPresent()) { @@ -826,11 +794,7 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe SalaryArchiveInitImportDTO initImport = new SalaryArchiveInitImportDTO(); initImport.setEmployeeId(employeeId); List sames = Lists.newArrayList(); - sames.add(SalaryArchiveInitImportSameDTO.builder() - .isError(isError) - .rowNo(rowNo) - .row(map) - .build()); + sames.add(SalaryArchiveInitImportSameDTO.builder().isError(isError).rowNo(rowNo).row(map).build()); initImport.setSames(sames); initImportData.add(initImport); } @@ -858,8 +822,7 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe * @param importHandleParam * @return */ - private boolean singleRowCheck(String importType, List allEmployeeIds, Map map, List headers, - List> excelComments, int errorCount, SalaryArchiveImportHandleParam importHandleParam) { + private boolean singleRowCheck(String importType, List allEmployeeIds, Map map, List headers, List> excelComments, int errorCount, SalaryArchiveImportHandleParam importHandleParam) { boolean isError = false; boolean isInit = importType.equals(SalaryArchiveImportTypeEnum.INIT.getValue()); @@ -876,21 +839,13 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe // 1.姓名 String userName = Optional.ofNullable(map.get(userNameI18n)).orElse("").toString(); String deparmentName = Optional.ofNullable(map.get(SalaryI18nUtil.getI18nLabel(86185, "部门"))).orElse("").toString(); - List emps = importHandleParam.getEmployees().stream() - .filter(e -> (StringUtils.isBlank(userName) || Objects.equals(e.getUsername(), userName)) - && (StringUtils.isBlank(deparmentName) || Objects.equals(e.getDepartmentName(), deparmentName))) - .collect(Collectors.toList()); + List emps = importHandleParam.getEmployees().stream().filter(e -> (StringUtils.isBlank(userName) || Objects.equals(e.getUsername(), userName)) && (StringUtils.isBlank(deparmentName) || Objects.equals(e.getDepartmentName(), deparmentName))).collect(Collectors.toList()); List employeeSameIds = new ArrayList<>(); if (CollectionUtils.isNotEmpty(emps) && emps.size() > 1) { - employeeSameIds = emps.stream() - .filter(e -> UserStatusEnum.getNormalStatus().contains(e.getStatus())) - .map(DataCollectionEmployee::getEmployeeId) - .collect(Collectors.toList()); + employeeSameIds = emps.stream().filter(e -> UserStatusEnum.getNormalStatus().contains(e.getStatus())).map(DataCollectionEmployee::getEmployeeId).collect(Collectors.toList()); } if (CollectionUtils.isNotEmpty(emps) && emps.size() == 1) { - employeeSameIds = emps.stream() - .map(DataCollectionEmployee::getEmployeeId) - .collect(Collectors.toList()); + employeeSameIds = emps.stream().map(DataCollectionEmployee::getEmployeeId).collect(Collectors.toList()); } Long employeeId = CollectionUtils.isNotEmpty(employeeSameIds) && employeeSameIds.size() == 1 && employeeSameIds.get(0) > 0 ? employeeSameIds.get(0) : null; @@ -948,13 +903,11 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe String cellVal = Optional.ofNullable(map.get(key)).orElse("").toString(); - boolean isEmpty = StringUtils.isEmpty(cellVal) && - (userNameI18n.equals(key) - // 个税扣缴义务人列判空(初始化导入或调整个税扣缴义务人) - || (taxAgentI18n.equals(key) && (isInit || isTaxAgentAdjust)) - || (effectiveTimeI18n.equals(key) && isSalaryItemAdjust) - // 调整原因列判空(调薪或调整个税扣缴义务人) - || (adjustReasonI18n.equals(key) && (isTaxAgentAdjust || isSalaryItemAdjust))); + boolean isEmpty = StringUtils.isEmpty(cellVal) && (userNameI18n.equals(key) + // 个税扣缴义务人列判空(初始化导入或调整个税扣缴义务人) + || (taxAgentI18n.equals(key) && (isInit || isTaxAgentAdjust)) || (effectiveTimeI18n.equals(key) && isSalaryItemAdjust) + // 调整原因列判空(调薪或调整个税扣缴义务人) + || (adjustReasonI18n.equals(key) && (isTaxAgentAdjust || isSalaryItemAdjust))); // 判空 if (userNameI18n.equals(key) && StringUtils.isEmpty(cellVal)) { Map errorMessageMap = Maps.newHashMap(); @@ -1037,8 +990,7 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe continue; } - isError = handleSalaryItem(isError, isInit, excelComments, - effectiveTime, finalSalaryArchive, adjustReason, importHandleParam, key, cellVal, map); + isError = handleSalaryItem(isError, isInit, excelComments, effectiveTime, finalSalaryArchive, adjustReason, importHandleParam, key, cellVal, map); } } @@ -1059,17 +1011,7 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe salaryArchive.setPayEndDate(payEndDate); } else if (employeeId != null && isInit) { // 新增档案 - salaryArchive = SalaryArchivePO.builder() - .id(IdGenerator.generate()) - .employeeId(employeeId) - .taxAgentId(taxAgentId) - .payStartDate(payStartDate) - .payEndDate(payEndDate) - .createTime(importHandleParam.getNowTime()) - .updateTime(importHandleParam.getNowTime()) - .creator((long) user.getUID()) - .tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY) - .build(); + salaryArchive = SalaryArchivePO.builder().id(IdGenerator.generate()).employeeId(employeeId).taxAgentId(taxAgentId).payStartDate(payStartDate).payEndDate(payEndDate).createTime(importHandleParam.getNowTime()).updateTime(importHandleParam.getNowTime()).creator((long) user.getUID()).tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY).build(); importHandleParam.getSalaryArchiveSaves().add(salaryArchive); } @@ -1090,9 +1032,7 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe * @param importHandleParam * @return */ - private boolean handleTaxAgent(boolean isError, boolean isInit, - List> excelComments, int errorCount, int j, - Long taxAgentId, Date effectiveTime, SalaryArchivePO finalSalaryArchive, String taxAgentAdjustReason, SalaryArchiveImportHandleParam importHandleParam, Map map) { + private boolean handleTaxAgent(boolean isError, boolean isInit, List> excelComments, int errorCount, int j, Long taxAgentId, Date effectiveTime, SalaryArchivePO finalSalaryArchive, String taxAgentAdjustReason, SalaryArchiveImportHandleParam importHandleParam, Map map) { String rowindex = "第" + map.get("index") + "行"; //分权 @@ -1225,18 +1165,7 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe if (!isBeforeError) { importHandleParam.getSalaryArchiveTaxAgentSaves().add(SalaryArchiveTaxAgentPO.builder() // .id(IdGenerator.generate()) - .salaryArchiveId(finalSalaryArchive.getId()) - .employeeId(finalSalaryArchive.getEmployeeId()) - .taxAgentId(taxAgentId) - .effectiveTime(effectiveTime) - .adjustReason(StringUtils.isEmpty(taxAgentAdjustReason) ? SalaryArchiveTaxAgentAdjustReasonEnum.INIT.getValue() : taxAgentAdjustReason) - .operator((long) user.getUID()) - .operateTime(importHandleParam.getNowTime()) - .createTime(importHandleParam.getNowTime()) - .updateTime(importHandleParam.getNowTime()) - .creator((long) user.getUID()) - .tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY) - .build()); + .salaryArchiveId(finalSalaryArchive.getId()).employeeId(finalSalaryArchive.getEmployeeId()).taxAgentId(taxAgentId).effectiveTime(effectiveTime).adjustReason(StringUtils.isEmpty(taxAgentAdjustReason) ? SalaryArchiveTaxAgentAdjustReasonEnum.INIT.getValue() : taxAgentAdjustReason).operator((long) user.getUID()).operateTime(importHandleParam.getNowTime()).createTime(importHandleParam.getNowTime()).updateTime(importHandleParam.getNowTime()).creator((long) user.getUID()).tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY).build()); } } return isError; @@ -1254,10 +1183,7 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe * @param cellVal * @return */ - private boolean handleSalaryItem(boolean isError, boolean isInit, - List> excelComments, - Date effectiveTime, SalaryArchivePO finalSalaryArchive, String salaryItemAdjustReason, SalaryArchiveImportHandleParam importHandleParam, - String key, String cellVal, Map map) { + private boolean handleSalaryItem(boolean isError, boolean isInit, List> excelComments, Date effectiveTime, SalaryArchivePO finalSalaryArchive, String salaryItemAdjustReason, SalaryArchiveImportHandleParam importHandleParam, String key, String cellVal, Map map) { String rowindex = "第" + map.get("index") + "行"; Optional optionalSalaryItem = importHandleParam.getSalaryItems().stream().filter(e -> e.getName().equals(key)).findFirst(); if (optionalSalaryItem.isPresent()) { @@ -1344,20 +1270,7 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe if (!isBeforeError) { importHandleParam.getSalaryArchiveItemSaves().add(SalaryArchiveItemPO.builder() // .id(IdGenerator.generate()) - .salaryArchiveId(finalSalaryArchive.getId()) - .employeeId(finalSalaryArchive.getEmployeeId()) - .effectiveTime(effectiveTime) - .adjustReason(StringUtils.isEmpty(salaryItemAdjustReason) ? SalaryArchiveItemAdjustReasonEnum.INIT.getValue() : salaryItemAdjustReason) - .salaryItemId(salaryItemId) - .itemValue(cellVal) - .description("") - .operator((long) user.getUID()) - .operateTime(importHandleParam.getNowTime()) - .createTime(importHandleParam.getNowTime()) - .updateTime(importHandleParam.getNowTime()) - .creator((long) user.getUID()) - .tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY) - .build()); + .salaryArchiveId(finalSalaryArchive.getId()).employeeId(finalSalaryArchive.getEmployeeId()).effectiveTime(effectiveTime).adjustReason(StringUtils.isEmpty(salaryItemAdjustReason) ? SalaryArchiveItemAdjustReasonEnum.INIT.getValue() : salaryItemAdjustReason).salaryItemId(salaryItemId).itemValue(cellVal).description("").operator((long) user.getUID()).operateTime(importHandleParam.getNowTime()).createTime(importHandleParam.getNowTime()).updateTime(importHandleParam.getNowTime()).creator((long) user.getUID()).tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY).build()); } // 用于初始化导入,同一个人的多行记录之间的薪资项目是否调整 map.put("salaryItemVal", Optional.ofNullable(map.get("salaryItemVal")).orElse("").toString() + salaryItemId + cellVal); @@ -1563,42 +1476,19 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe for (SalaryArchiveTaxAgentPO st : saTaxAgents) { Date finalEndDate = endDate; - List saItems = saItemList.stream().filter(si -> !si.getEffectiveTime().after(finalEndDate)) - .collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(f -> f.getSalaryArchiveId() + "-" + f.getSalaryItemId()))), ArrayList::new)); + List saItems = saItemList.stream().filter(si -> !si.getEffectiveTime().after(finalEndDate)).collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(f -> f.getSalaryArchiveId() + "-" + f.getSalaryItemId()))), ArrayList::new)); - SalaryArchivePO newSA = SalaryArchivePO.builder() - .id(IdGenerator.generate()) - .employeeId(sa.getEmployeeId()) - .taxAgentId(st.getTaxAgentId()) - .payStartDate(st.getEffectiveTime()) + SalaryArchivePO newSA = SalaryArchivePO.builder().id(IdGenerator.generate()).employeeId(sa.getEmployeeId()).taxAgentId(st.getTaxAgentId()).payStartDate(st.getEffectiveTime()) // .runStatus(SalaryArchiveStatusEnum.FIXED.getValue()) // .modifier(0L) - .createTime(today) - .updateTime(today) - .creator(currentEmployeeId) - .deleteType(NumberUtils.INTEGER_ZERO) - .tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY) - .build(); + .createTime(today).updateTime(today).creator(currentEmployeeId).deleteType(NumberUtils.INTEGER_ZERO).tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY).build(); salaryArchiveAddList.add(newSA); saItems.forEach(sf -> { salaryArchiveItemAddList.add(SalaryArchiveItemPO.builder() // .id(IdGenerator.generate()) - .salaryArchiveId(newSA.getId()) - .employeeId(newSA.getEmployeeId()) - .effectiveTime(sf.getEffectiveTime()) - .adjustReason(sf.getAdjustReason()) - .salaryItemId(sf.getSalaryItemId()) - .itemValue(sf.getItemValue()) - .description(sf.getDescription()) + .salaryArchiveId(newSA.getId()).employeeId(newSA.getEmployeeId()).effectiveTime(sf.getEffectiveTime()).adjustReason(sf.getAdjustReason()).salaryItemId(sf.getSalaryItemId()).itemValue(sf.getItemValue()).description(sf.getDescription()) // 不用设置操作人 - .operator(currentEmployeeId) - .operateTime(today) - .createTime(today) - .updateTime(today) - .creator(currentEmployeeId) - .deleteType(NumberUtils.INTEGER_ZERO) - .tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY) - .build()); + .operator(currentEmployeeId).operateTime(today).createTime(today).updateTime(today).creator(currentEmployeeId).deleteType(NumberUtils.INTEGER_ZERO).tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY).build()); }); // endDate = st.getEffectiveTime();