From 2a67ca9238c65bb721f5c4abfcb1645c90994d92 Mon Sep 17 00:00:00 2001 From: sy Date: Tue, 23 Jan 2024 13:55:49 +0800 Subject: [PATCH] =?UTF-8?q?=E8=96=AA=E9=85=AC=E7=B3=BB=E7=BB=9F-=E5=B7=A5?= =?UTF-8?q?=E8=B5=84=E5=8D=95=E6=A8=A1=E6=9D=BF=EF=BC=8C=E5=A4=8D=E5=88=B6?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=E6=94=B9=E9=80=A02?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/SalaryTemplateServiceImpl.java | 32 ++++++++++++++++--- 1 file changed, 28 insertions(+), 4 deletions(-) diff --git a/src/com/engine/salary/service/impl/SalaryTemplateServiceImpl.java b/src/com/engine/salary/service/impl/SalaryTemplateServiceImpl.java index cf325731f..c778138ad 100644 --- a/src/com/engine/salary/service/impl/SalaryTemplateServiceImpl.java +++ b/src/com/engine/salary/service/impl/SalaryTemplateServiceImpl.java @@ -1,5 +1,6 @@ package com.engine.salary.service.impl; +import cn.hutool.core.util.StrUtil; import cn.hutool.json.JSONUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; @@ -294,7 +295,8 @@ public class SalaryTemplateServiceImpl extends Service implements SalaryTemplate List salarySobItemPOS = getSalarySobItemService(user).listBySalarySobIdWithHideItem(copyParam.getSalarySobId()); List salaryItemIdList = salarySobItemPOS.stream().map(SalarySobItemPO::getSalaryItemId).collect(Collectors.toList()); //拷贝数据中的薪资项目 - List salaryItemSettingList = JSONArray.parseArray(salaryTemplate.getSalaryItemSetting(), SalaryTemplateSalaryItemSetListDTO.class); + List salaryItemSettingList = StrUtil.isNotBlank(salaryTemplate.getSalaryItemSetting()) + ? JSONArray.parseArray(salaryTemplate.getSalaryItemSetting(), SalaryTemplateSalaryItemSetListDTO.class) : new ArrayList<>(); for (SalaryTemplateSalaryItemSetListDTO salaryItemSetting : salaryItemSettingList) { if ("111111111111111111".equals(salaryItemSetting.getGroupId()) && salaryItemSetting.getItems() != null) { List newItems = new ArrayList<>(); @@ -307,7 +309,20 @@ public class SalaryTemplateServiceImpl extends Service implements SalaryTemplate } } salaryItemSetting.setItems(newItems); - } else { + } else if (salaryItemSetting.getItems() != null){ + List newItems = new ArrayList<>(); + for (SalaryTemplateSalaryItemListDTO templateItem : salaryItemSetting.getItems()) { + if (salaryItemIdList.contains(Long.valueOf(templateItem.getSalaryItemId()))) { + newItems.add(templateItem); + } + } + salaryItemSetting.setItems(newItems); + } + } + List replenishSalaryItemSettingList = StrUtil.isNotBlank(salaryTemplate.getReplenishSalaryItemSetting()) + ? JSONArray.parseArray(salaryTemplate.getReplenishSalaryItemSetting(), SalaryTemplateSalaryItemSetListDTO.class): new ArrayList<>(); + for (SalaryTemplateSalaryItemSetListDTO salaryItemSetting : replenishSalaryItemSettingList) { + if ("111111111111111111".equals(salaryItemSetting.getGroupId()) && salaryItemSetting.getItems() != null) { List newItems = new ArrayList<>(); for (SalaryTemplateSalaryItemListDTO templateItem : salaryItemSetting.getItems()) { SalarySobEmpFieldPO empFieldPO = getSalarySobEmpFieldMapper().getById(Long.valueOf(templateItem.getSalaryItemId())); @@ -318,10 +333,19 @@ public class SalaryTemplateServiceImpl extends Service implements SalaryTemplate } } salaryItemSetting.setItems(newItems); + } else if (!"333333333333333333".equals(salaryItemSetting.getGroupId()) && salaryItemSetting.getItems() != null){ + List newItems = new ArrayList<>(); + for (SalaryTemplateSalaryItemListDTO templateItem : salaryItemSetting.getItems()) { + if (salaryItemIdList.contains(Long.valueOf(templateItem.getSalaryItemId()))) { + newItems.add(templateItem); + } + } + salaryItemSetting.setItems(newItems); } } - List replenishSalaryItemSettingList = JSONArray.parseArray(salaryTemplate.getReplenishSalaryItemSetting(), SalaryTemplateSalaryItemSetListDTO.class); - + salaryTemplateNew.setSalaryItemSetting(salaryItemSettingList.size() > 0 ? JSONUtil.toJsonStr(salaryItemSettingList) : ""); + salaryTemplateNew.setReplenishSalaryItemSetting(replenishSalaryItemSettingList.size() > 0 ? JSONUtil.toJsonStr(replenishSalaryItemSettingList) : ""); + salaryTemplateNew.setSalarySobId(copyParam.getSalarySobId()); } mapper.insert(salaryTemplateNew);