From f215b45afaab663c07377a2f5267c1539f22de02 Mon Sep 17 00:00:00 2001 From: sy Date: Fri, 26 Jan 2024 10:04:53 +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=A0=EF=BC=8C=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E5=B8=A6=E9=80=89=E6=8B=A9=E8=96=AA=E8=B5=84=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E6=94=B9=E9=80=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../param/SalaryBillSalaryItemQueryParam.java | 2 ++ .../entity/salarysob/po/SalarySobItemGroupPO.java | 2 +- .../salary/wrapper/SalaryTemplateWrapper.java | 15 ++++++++++++++- 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/src/com/engine/salary/entity/salaryBill/param/SalaryBillSalaryItemQueryParam.java b/src/com/engine/salary/entity/salaryBill/param/SalaryBillSalaryItemQueryParam.java index 26c819771..fa5540965 100644 --- a/src/com/engine/salary/entity/salaryBill/param/SalaryBillSalaryItemQueryParam.java +++ b/src/com/engine/salary/entity/salaryBill/param/SalaryBillSalaryItemQueryParam.java @@ -16,6 +16,8 @@ public class SalaryBillSalaryItemQueryParam extends BaseQueryParam { private Long groupId; + private String groupName; + private Boolean isReplenish; private List existSalaryItemIds; diff --git a/src/com/engine/salary/entity/salarysob/po/SalarySobItemGroupPO.java b/src/com/engine/salary/entity/salarysob/po/SalarySobItemGroupPO.java index 4a6b5502a..64ef8a52f 100644 --- a/src/com/engine/salary/entity/salarysob/po/SalarySobItemGroupPO.java +++ b/src/com/engine/salary/entity/salarysob/po/SalarySobItemGroupPO.java @@ -34,7 +34,7 @@ public class SalarySobItemGroupPO { private Long salarySobId; /** - * 薪资账套的名称 + * 薪资账套中薪资项目分组的名称 */ private String name; diff --git a/src/com/engine/salary/wrapper/SalaryTemplateWrapper.java b/src/com/engine/salary/wrapper/SalaryTemplateWrapper.java index 6149b500e..a1d54e5da 100644 --- a/src/com/engine/salary/wrapper/SalaryTemplateWrapper.java +++ b/src/com/engine/salary/wrapper/SalaryTemplateWrapper.java @@ -9,16 +9,19 @@ import com.engine.salary.entity.salaryBill.po.SalaryBillItemNamePO; import com.engine.salary.entity.salaryBill.po.SalaryTemplatePO; import com.engine.salary.entity.salaryitem.po.SalaryItemPO; import com.engine.salary.entity.salarysob.po.SalarySobBackItemPO; +import com.engine.salary.entity.salarysob.po.SalarySobItemGroupPO; import com.engine.salary.entity.salarysob.po.SalarySobPO; import com.engine.salary.enums.salarybill.SalaryTemplateReplenishRuleEnum; import com.engine.salary.enums.salarybill.SalaryTemplateVarEnum; import com.engine.salary.enums.salarybill.SalaryTemplateWhetherEnum; import com.engine.salary.exception.SalaryRunTimeException; +import com.engine.salary.mapper.salarysob.SalarySobItemGroupMapper; import com.engine.salary.service.*; import com.engine.salary.service.impl.*; import com.engine.salary.util.JsonUtil; import com.engine.salary.util.SalaryEntityUtil; import com.engine.salary.util.SalaryI18nUtil; +import com.engine.salary.util.db.MapperProxyFactory; import com.engine.salary.util.page.PageInfo; import com.mzlion.core.utils.BeanUtils; import org.apache.commons.collections4.CollectionUtils; @@ -71,6 +74,10 @@ public class SalaryTemplateWrapper extends Service { return ServiceUtil.getService(SalaryBillItemNameServiceImpl.class, user); } + private SalarySobItemGroupMapper getSalarySobItemGroupMapper() { + return MapperProxyFactory.getProxy(SalarySobItemGroupMapper.class); + } + /** * 工资单模板列表 * @@ -479,7 +486,13 @@ public class SalaryTemplateWrapper extends Service { Boolean isReplenish = Optional.ofNullable(param.getIsReplenish()).orElse(false); List salaryItemSet = getSalaryTemplateService(user).getSalaryItemSetContainHide(param.getSalarySobId(), param.getSalaryTemplateId(), isReplenish); Long groupId = param.getGroupId(); - return salaryItemSet.stream().filter(s -> Objects.equals(s.getGroupId(), groupId + "")).map(SalaryTemplateSalaryItemSetListDTO::getItems).findFirst().orElse(Collections.emptyList()).stream().filter(item -> !Optional.ofNullable(param.getExistSalaryItemIds()).orElse(Collections.emptyList()).contains(item.getId())).collect(Collectors.toList()); + //工资单模板copy可能导致groupId不匹配 + List salarySobItemGroupPOS = getSalarySobItemGroupMapper().listSome(SalarySobItemGroupPO.builder().salarySobId(param.getSalarySobId()).name(param.getGroupName()).build()); + if (salarySobItemGroupPOS != null && salarySobItemGroupPOS.size() > 0) { + groupId = salarySobItemGroupPOS.get(0).getId(); + } + Long finalGroupId = groupId; + return salaryItemSet.stream().filter(s -> Objects.equals(s.getGroupId(), finalGroupId + "")).map(SalaryTemplateSalaryItemSetListDTO::getItems).findFirst().orElse(Collections.emptyList()).stream().filter(item -> !Optional.ofNullable(param.getExistSalaryItemIds()).orElse(Collections.emptyList()).contains(item.getId())).collect(Collectors.toList()); } /**