diff --git a/src/com/engine/salary/service/impl/SalarySobRangeServiceImpl.java b/src/com/engine/salary/service/impl/SalarySobRangeServiceImpl.java index bf8ee527b..165f5aa6a 100644 --- a/src/com/engine/salary/service/impl/SalarySobRangeServiceImpl.java +++ b/src/com/engine/salary/service/impl/SalarySobRangeServiceImpl.java @@ -372,6 +372,7 @@ public class SalarySobRangeServiceImpl extends Service implements SalarySobRange } // 入库 + eligibleData = handleImportData(eligibleData); // 查询已有的人员范围 List salarySobRangePOS = listBySalarySobIdAndIncludeType(salarySobId, 1); SalarySobRangeSaveParam saveParam = new SalarySobRangeSaveParam(); @@ -398,6 +399,17 @@ public class SalarySobRangeServiceImpl extends Service implements SalarySobRange return apidatas; } + // 处理导入数据 + private List handleImportData(List pos) { + if (CollectionUtils.isEmpty(pos)) { + return Collections.emptyList(); + } + // 多条相同人的则以第一条为准,如果逆序排列(用于重复的则以最后一条为准)Collections.reverse(pos); + // 去重(通过记录的唯一条件(人员id) + List finalPos = pos.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(f -> f.getTargetId() ))), ArrayList::new)); + return finalPos; + } + private void checkImportParam(SalarySobRangeImportParam importParam) { //excel文件id String imageId = Util.null2String(importParam.getImageId()); diff --git a/src/com/engine/salary/service/impl/TaxAgentManageRangeServiceImpl.java b/src/com/engine/salary/service/impl/TaxAgentManageRangeServiceImpl.java index bca6205b8..7755ea899 100644 --- a/src/com/engine/salary/service/impl/TaxAgentManageRangeServiceImpl.java +++ b/src/com/engine/salary/service/impl/TaxAgentManageRangeServiceImpl.java @@ -320,7 +320,7 @@ public class TaxAgentManageRangeServiceImpl extends Service implements TaxAgentM result.getNeedInsertTaxAgentManageRanges().forEach(range -> getTaxAgentManageRangeMapper().insertIgnoreNull(range)); } if (CollectionUtils.isNotEmpty(result.getNeedUpdateTaxAgentManageRanges())) { - result.getNeedInsertTaxAgentManageRanges().forEach(range -> getTaxAgentManageRangeMapper().updateIgnoreNull(range)); + result.getNeedUpdateTaxAgentManageRanges().forEach(range -> getTaxAgentManageRangeMapper().updateIgnoreNull(range)); } /* 同步本地人员范围的关联人员=========================== */ @@ -674,6 +674,7 @@ public class TaxAgentManageRangeServiceImpl extends Service implements TaxAgentM } //入库-----------------start + eligibleData = handleImportData(eligibleData); taxAgentRangeSaveParam.setTargetParams(eligibleData); // 查询已有的管理范围 List taxAgentManageAllRanges = listByTaxAgentId(taxAgentId); @@ -720,6 +721,17 @@ public class TaxAgentManageRangeServiceImpl extends Service implements TaxAgentM return apidatas; } + // 处理导入数据 + private List handleImportData(List pos) { + if (CollectionUtils.isEmpty(pos)) { + return Collections.emptyList(); + } + // 多条相同人的则以第一条为准,如果逆序排列(用于重复的则以最后一条为准)Collections.reverse(pos); + // 去重(通过记录的唯一条件(人员id) + List finalPos = pos.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(f -> f.getTargetId() ))), ArrayList::new)); + return finalPos; + } + private void checkImportParam(TaxAgentImportParam importParam) { //excel文件id String imageId = Util.null2String(importParam.getImageId());