From 80019a029c62baf7a6974a064f24da9f2324213e Mon Sep 17 00:00:00 2001 From: fcli Date: Sat, 28 Jan 2023 13:56:02 +0800 Subject: [PATCH 1/5] =?UTF-8?q?feat:=20=E8=8E=B7=E5=8F=96=E9=83=A8?= =?UTF-8?q?=E5=88=86=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../param/SalaryBillItemQueryParam.java | 16 ++++++++++++++++ .../salary/web/SalaryBillController.java | 18 ++++++++++++++++++ .../salary/wrapper/SalaryTemplateWrapper.java | 10 ++++++++++ 3 files changed, 44 insertions(+) create mode 100644 src/com/engine/salary/entity/salaryBill/param/SalaryBillItemQueryParam.java diff --git a/src/com/engine/salary/entity/salaryBill/param/SalaryBillItemQueryParam.java b/src/com/engine/salary/entity/salaryBill/param/SalaryBillItemQueryParam.java new file mode 100644 index 000000000..dcdfd62cc --- /dev/null +++ b/src/com/engine/salary/entity/salaryBill/param/SalaryBillItemQueryParam.java @@ -0,0 +1,16 @@ +package com.engine.salary.entity.salaryBill.param; + +import com.engine.salary.common.BaseQueryParam; +import lombok.*; + +@EqualsAndHashCode(callSuper = true) +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class SalaryBillItemQueryParam extends BaseQueryParam { + + private Long salarySobId; + + private Long groupId; +} diff --git a/src/com/engine/salary/web/SalaryBillController.java b/src/com/engine/salary/web/SalaryBillController.java index 6f2c743f3..7eafb8470 100644 --- a/src/com/engine/salary/web/SalaryBillController.java +++ b/src/com/engine/salary/web/SalaryBillController.java @@ -104,6 +104,24 @@ public class SalaryBillController { return new ResponseResult>(user).run(getSalaryTemplateWrapper(user)::getSalaryItemSet, salarySobId); } + /** + * 获取薪资项目设置 + * + * @param salarySobId + * @return + */ + @GET + @Path("/template/getGroupedSalaryItemSet") + @Produces(MediaType.APPLICATION_JSON) + public String getSalaryItemSet(@Context HttpServletRequest request, @Context HttpServletResponse response, + @QueryParam("salarySobId") Long salarySobId, @QueryParam("groupId") Long groupId) { + User user = HrmUserVarify.getUser(request, response); + return new ResponseResult>(user) + .run(getSalaryTemplateWrapper(user)::getSalaryItemSetGrouped, + SalaryBillItemQueryParam.builder() + .salarySobId(salarySobId).groupId(groupId).build()); + } + /** * 获取工资单模板补发设置表单 * diff --git a/src/com/engine/salary/wrapper/SalaryTemplateWrapper.java b/src/com/engine/salary/wrapper/SalaryTemplateWrapper.java index 993d30836..dbae4dc4a 100644 --- a/src/com/engine/salary/wrapper/SalaryTemplateWrapper.java +++ b/src/com/engine/salary/wrapper/SalaryTemplateWrapper.java @@ -386,4 +386,14 @@ public class SalaryTemplateWrapper extends Service { .build(); } + public List getSalaryItemSetGrouped(SalaryBillItemQueryParam param) { + List salaryItemSet + = getSalaryTemplateService(user).getSalaryItemSet(param.getSalarySobId(), false); + Long groupId = param.getGroupId(); + return salaryItemSet.stream() + .filter(s-> Objects.equals(s.getGroupId(), groupId+"")) + .map(SalaryTemplateSalaryItemSetListDTO::getItems) + .findFirst() + .orElse(Collections.emptyList()); + } } From dec7c89856eb1ac0bf6a87febd5c2e39c21cc355 Mon Sep 17 00:00:00 2001 From: fcli Date: Wed, 1 Feb 2023 11:22:38 +0800 Subject: [PATCH 2/5] =?UTF-8?q?feat:=20=E5=8F=91=E6=94=BE=E6=A8=A1?= =?UTF-8?q?=E6=9D=BF=E8=8E=B7=E5=8F=96=E5=8F=AF=E7=94=A8=E5=88=86=E7=BB=84?= =?UTF-8?q?=E6=88=96=E9=A1=B9=E7=9B=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SalaryBillSalaryGroupQueryParam.java | 18 ++++++++++ ...va => SalaryBillSalaryItemQueryParam.java} | 6 +++- .../salary/web/SalaryBillController.java | 30 ++++++++++------ .../salary/wrapper/SalaryTemplateWrapper.java | 35 +++++++++++++++---- 4 files changed, 71 insertions(+), 18 deletions(-) create mode 100644 src/com/engine/salary/entity/salaryBill/param/SalaryBillSalaryGroupQueryParam.java rename src/com/engine/salary/entity/salaryBill/param/{SalaryBillItemQueryParam.java => SalaryBillSalaryItemQueryParam.java} (65%) diff --git a/src/com/engine/salary/entity/salaryBill/param/SalaryBillSalaryGroupQueryParam.java b/src/com/engine/salary/entity/salaryBill/param/SalaryBillSalaryGroupQueryParam.java new file mode 100644 index 000000000..5064230c2 --- /dev/null +++ b/src/com/engine/salary/entity/salaryBill/param/SalaryBillSalaryGroupQueryParam.java @@ -0,0 +1,18 @@ +package com.engine.salary.entity.salaryBill.param; + +import com.engine.salary.common.BaseQueryParam; +import lombok.*; + +import java.util.List; + +@EqualsAndHashCode(callSuper = true) +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class SalaryBillSalaryGroupQueryParam extends BaseQueryParam { + + private Long salarySobId; + + private List existSalaryGroupIds; +} diff --git a/src/com/engine/salary/entity/salaryBill/param/SalaryBillItemQueryParam.java b/src/com/engine/salary/entity/salaryBill/param/SalaryBillSalaryItemQueryParam.java similarity index 65% rename from src/com/engine/salary/entity/salaryBill/param/SalaryBillItemQueryParam.java rename to src/com/engine/salary/entity/salaryBill/param/SalaryBillSalaryItemQueryParam.java index dcdfd62cc..cf2441c44 100644 --- a/src/com/engine/salary/entity/salaryBill/param/SalaryBillItemQueryParam.java +++ b/src/com/engine/salary/entity/salaryBill/param/SalaryBillSalaryItemQueryParam.java @@ -3,14 +3,18 @@ package com.engine.salary.entity.salaryBill.param; import com.engine.salary.common.BaseQueryParam; import lombok.*; +import java.util.List; + @EqualsAndHashCode(callSuper = true) @Data @Builder @NoArgsConstructor @AllArgsConstructor -public class SalaryBillItemQueryParam extends BaseQueryParam { +public class SalaryBillSalaryItemQueryParam extends BaseQueryParam { private Long salarySobId; private Long groupId; + + private List existSalaryItemIds; } diff --git a/src/com/engine/salary/web/SalaryBillController.java b/src/com/engine/salary/web/SalaryBillController.java index 7eafb8470..8f488f4fd 100644 --- a/src/com/engine/salary/web/SalaryBillController.java +++ b/src/com/engine/salary/web/SalaryBillController.java @@ -105,21 +105,29 @@ public class SalaryBillController { } /** - * 获取薪资项目设置 - * - * @param salarySobId - * @return + * 获取可用的薪资项目 */ @GET - @Path("/template/getGroupedSalaryItemSet") + @Path("/template/getAvailableSalaryGroupSet") @Produces(MediaType.APPLICATION_JSON) - public String getSalaryItemSet(@Context HttpServletRequest request, @Context HttpServletResponse response, - @QueryParam("salarySobId") Long salarySobId, @QueryParam("groupId") Long groupId) { + public String getAvailableSalaryGroupSet(@Context HttpServletRequest request, @Context HttpServletResponse response, + @RequestBody SalaryBillSalaryGroupQueryParam param) { User user = HrmUserVarify.getUser(request, response); - return new ResponseResult>(user) - .run(getSalaryTemplateWrapper(user)::getSalaryItemSetGrouped, - SalaryBillItemQueryParam.builder() - .salarySobId(salarySobId).groupId(groupId).build()); + return new ResponseResult>(user) + .run(getSalaryTemplateWrapper(user)::getSalaryGroupSet, param); + } + + /** + * 获取可用的薪资项目 + */ + @GET + @Path("/template/getAvailableSalaryItemSet") + @Produces(MediaType.APPLICATION_JSON) + public String getAvailableSalaryItemSet(@Context HttpServletRequest request, @Context HttpServletResponse response, + @RequestBody SalaryBillSalaryItemQueryParam param) { + User user = HrmUserVarify.getUser(request, response); + return new ResponseResult>(user) + .run(getSalaryTemplateWrapper(user)::getSalaryItemSetGrouped, param); } /** diff --git a/src/com/engine/salary/wrapper/SalaryTemplateWrapper.java b/src/com/engine/salary/wrapper/SalaryTemplateWrapper.java index dbae4dc4a..8d5d5c51d 100644 --- a/src/com/engine/salary/wrapper/SalaryTemplateWrapper.java +++ b/src/com/engine/salary/wrapper/SalaryTemplateWrapper.java @@ -337,7 +337,7 @@ public class SalaryTemplateWrapper extends Service { } List salaryItemPOS = getSalaryItemService(user).listByIds(salarySobBackItems.stream().map(SalarySobBackItemPO::getSalaryItemId).collect(Collectors.toList())); - String ruleTip = "(" + SalaryI18nUtil.getI18nLabel( 140142, "不等于0")+")"; + String ruleTip = "(" + SalaryI18nUtil.getI18nLabel(140142, "不等于0") + ")"; List> result = salaryItemPOS.stream().map(m -> { Map map = new HashMap<>(2); @@ -368,9 +368,9 @@ public class SalaryTemplateWrapper extends Service { if (id != null) { SalaryTemplatePO po = getSalaryTemplateService(user).getById(id); if (po == null) { - throw new SalaryRunTimeException(String.format(SalaryI18nUtil.getI18nLabel(100533, "工资单模板不存在")+"[id:%s]", id)); + throw new SalaryRunTimeException(String.format(SalaryI18nUtil.getI18nLabel(100533, "工资单模板不存在") + "[id:%s]", id)); } - BeanUtils.copyProperties(po, salaryTemplateReplenishSetDTO); + BeanUtils.copyProperties(po, salaryTemplateReplenishSetDTO); if (StringUtils.isNotEmpty(po.getReplenishSalaryItemSetting())) { replenishSalaryItemSetting = JsonUtil.fromJson(po.getReplenishSalaryItemSetting(), List.class); } else { @@ -386,14 +386,37 @@ public class SalaryTemplateWrapper extends Service { .build(); } - public List getSalaryItemSetGrouped(SalaryBillItemQueryParam param) { + /** + * 获取单个分组下,没有被加入到模板的薪资项目 + * @param param 入参 + * @return 单个分组下剩余的薪资项目 + */ + public List getSalaryItemSetGrouped(SalaryBillSalaryItemQueryParam param) { List salaryItemSet = getSalaryTemplateService(user).getSalaryItemSet(param.getSalarySobId(), false); Long groupId = param.getGroupId(); return salaryItemSet.stream() - .filter(s-> Objects.equals(s.getGroupId(), groupId+"")) + .filter(s -> Objects.equals(s.getGroupId(), groupId + "")) .map(SalaryTemplateSalaryItemSetListDTO::getItems) .findFirst() - .orElse(Collections.emptyList()); + .orElse(Collections.emptyList()) + .stream() + .filter(item -> !Optional.ofNullable(param.getExistSalaryItemIds()).orElse(Collections.emptyList()) + .contains(item.getId()) + ).collect(Collectors.toList()); + } + + /** + * 获取账套下没有被加入的分组 + * @param param 入参 + * @return 分组与下属 + */ + public List getSalaryGroupSet(SalaryBillSalaryGroupQueryParam param) { + return getSalaryTemplateService(user).getSalaryItemSet(param.getSalarySobId(), false) + .stream() + .filter(group -> !Optional.ofNullable(param.getExistSalaryGroupIds()).orElse(Collections.emptyList()) + .contains(group.getGroupId()) + ) + .collect(Collectors.toList()); } } From 5851ea20be5fe5b4dbc6c74cc01ccaa7aa8ae8c5 Mon Sep 17 00:00:00 2001 From: fcli Date: Wed, 1 Feb 2023 13:10:05 +0800 Subject: [PATCH 3/5] =?UTF-8?q?feat:=20=E5=8F=91=E6=94=BE=E6=A8=A1?= =?UTF-8?q?=E6=9D=BF=E8=8E=B7=E5=8F=96=E5=8F=AF=E7=94=A8=E5=88=86=E7=BB=84?= =?UTF-8?q?=E6=88=96=E9=A1=B9=E7=9B=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../salaryBill/param/SalaryBillSalaryGroupQueryParam.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/com/engine/salary/entity/salaryBill/param/SalaryBillSalaryGroupQueryParam.java b/src/com/engine/salary/entity/salaryBill/param/SalaryBillSalaryGroupQueryParam.java index 5064230c2..c138e2f41 100644 --- a/src/com/engine/salary/entity/salaryBill/param/SalaryBillSalaryGroupQueryParam.java +++ b/src/com/engine/salary/entity/salaryBill/param/SalaryBillSalaryGroupQueryParam.java @@ -12,7 +12,13 @@ import java.util.List; @AllArgsConstructor public class SalaryBillSalaryGroupQueryParam extends BaseQueryParam { + /** + * 薪资账套id + */ private Long salarySobId; + /** + * 前端已有的分组id + */ private List existSalaryGroupIds; } From 3f145e133b588c48221b2e4dd8929e7fb38fec18 Mon Sep 17 00:00:00 2001 From: fcli Date: Wed, 1 Feb 2023 13:39:14 +0800 Subject: [PATCH 4/5] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E6=98=AF?= =?UTF-8?q?=E5=90=A6=E8=A1=A5=E5=8F=91=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../salaryBill/param/SalaryBillSalaryGroupQueryParam.java | 2 ++ .../salaryBill/param/SalaryBillSalaryItemQueryParam.java | 2 ++ src/com/engine/salary/wrapper/SalaryTemplateWrapper.java | 8 ++++++-- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/com/engine/salary/entity/salaryBill/param/SalaryBillSalaryGroupQueryParam.java b/src/com/engine/salary/entity/salaryBill/param/SalaryBillSalaryGroupQueryParam.java index c138e2f41..8bf974208 100644 --- a/src/com/engine/salary/entity/salaryBill/param/SalaryBillSalaryGroupQueryParam.java +++ b/src/com/engine/salary/entity/salaryBill/param/SalaryBillSalaryGroupQueryParam.java @@ -17,6 +17,8 @@ public class SalaryBillSalaryGroupQueryParam extends BaseQueryParam { */ private Long salarySobId; + private Boolean isReplenish; + /** * 前端已有的分组id */ diff --git a/src/com/engine/salary/entity/salaryBill/param/SalaryBillSalaryItemQueryParam.java b/src/com/engine/salary/entity/salaryBill/param/SalaryBillSalaryItemQueryParam.java index cf2441c44..ee0be17f7 100644 --- a/src/com/engine/salary/entity/salaryBill/param/SalaryBillSalaryItemQueryParam.java +++ b/src/com/engine/salary/entity/salaryBill/param/SalaryBillSalaryItemQueryParam.java @@ -16,5 +16,7 @@ public class SalaryBillSalaryItemQueryParam extends BaseQueryParam { private Long groupId; + private Boolean isReplenish; + private List existSalaryItemIds; } diff --git a/src/com/engine/salary/wrapper/SalaryTemplateWrapper.java b/src/com/engine/salary/wrapper/SalaryTemplateWrapper.java index 8d5d5c51d..1c2f6d49f 100644 --- a/src/com/engine/salary/wrapper/SalaryTemplateWrapper.java +++ b/src/com/engine/salary/wrapper/SalaryTemplateWrapper.java @@ -392,8 +392,10 @@ public class SalaryTemplateWrapper extends Service { * @return 单个分组下剩余的薪资项目 */ public List getSalaryItemSetGrouped(SalaryBillSalaryItemQueryParam param) { + Boolean isReplenish = Optional.ofNullable(param.getIsReplenish()) + .orElse(false); List salaryItemSet - = getSalaryTemplateService(user).getSalaryItemSet(param.getSalarySobId(), false); + = getSalaryTemplateService(user).getSalaryItemSet(param.getSalarySobId(), isReplenish); Long groupId = param.getGroupId(); return salaryItemSet.stream() .filter(s -> Objects.equals(s.getGroupId(), groupId + "")) @@ -412,7 +414,9 @@ public class SalaryTemplateWrapper extends Service { * @return 分组与下属 */ public List getSalaryGroupSet(SalaryBillSalaryGroupQueryParam param) { - return getSalaryTemplateService(user).getSalaryItemSet(param.getSalarySobId(), false) + Boolean isReplenish = Optional.ofNullable(param.getIsReplenish()) + .orElse(false); + return getSalaryTemplateService(user).getSalaryItemSet(param.getSalarySobId(), isReplenish) .stream() .filter(group -> !Optional.ofNullable(param.getExistSalaryGroupIds()).orElse(Collections.emptyList()) .contains(group.getGroupId()) From 003dfe0d3575389c5ec5df2eb583e78ba4652476 Mon Sep 17 00:00:00 2001 From: fcli Date: Thu, 2 Feb 2023 15:47:17 +0800 Subject: [PATCH 5/5] =?UTF-8?q?feat:=20=E8=AF=B7=E6=B1=82=E6=96=B9?= =?UTF-8?q?=E5=BC=8F=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/com/engine/salary/web/SalaryBillController.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/com/engine/salary/web/SalaryBillController.java b/src/com/engine/salary/web/SalaryBillController.java index 8f488f4fd..cf6de1647 100644 --- a/src/com/engine/salary/web/SalaryBillController.java +++ b/src/com/engine/salary/web/SalaryBillController.java @@ -107,7 +107,7 @@ public class SalaryBillController { /** * 获取可用的薪资项目 */ - @GET + @POST @Path("/template/getAvailableSalaryGroupSet") @Produces(MediaType.APPLICATION_JSON) public String getAvailableSalaryGroupSet(@Context HttpServletRequest request, @Context HttpServletResponse response, @@ -120,7 +120,7 @@ public class SalaryBillController { /** * 获取可用的薪资项目 */ - @GET + @POST @Path("/template/getAvailableSalaryItemSet") @Produces(MediaType.APPLICATION_JSON) public String getAvailableSalaryItemSet(@Context HttpServletRequest request, @Context HttpServletResponse response,