diff --git a/kernel-s-system/system-business-organization/src/main/java/cn/stylefeng/roses/kernel/system/modular/organization/pojo/request/HrOrgApproverRequest.java b/kernel-s-system/system-business-organization/src/main/java/cn/stylefeng/roses/kernel/system/modular/organization/pojo/request/HrOrgApproverRequest.java index ed6443d59..7baa7b8fe 100644 --- a/kernel-s-system/system-business-organization/src/main/java/cn/stylefeng/roses/kernel/system/modular/organization/pojo/request/HrOrgApproverRequest.java +++ b/kernel-s-system/system-business-organization/src/main/java/cn/stylefeng/roses/kernel/system/modular/organization/pojo/request/HrOrgApproverRequest.java @@ -30,7 +30,7 @@ public class HrOrgApproverRequest extends BaseRequest { * 组织审批类型:1-负责人,2-部长,3-体系负责人,4-部门助理,5-资产助理(专员),6-考勤专员,7-HRBP,8-门禁员,9-办公账号员,10-转岗须知员 */ @ChineseDescription("组织审批类型:1-负责人,2-部长,3-体系负责人,4-部门助理,5-资产助理(专员),6-考勤专员,7-HRBP,8-门禁员,9-办公账号员,10-转岗须知员") - @NotNull(message = "组织审批类型不能为空", groups = {delete.class}) + @NotNull(message = "组织审批类型不能为空", groups = {delete.class, add.class}) private Integer orgApproverType; /** diff --git a/kernel-s-system/system-business-organization/src/main/java/cn/stylefeng/roses/kernel/system/modular/organization/service/impl/HrOrgApproverServiceImpl.java b/kernel-s-system/system-business-organization/src/main/java/cn/stylefeng/roses/kernel/system/modular/organization/service/impl/HrOrgApproverServiceImpl.java index 45034ada6..817f59b8f 100644 --- a/kernel-s-system/system-business-organization/src/main/java/cn/stylefeng/roses/kernel/system/modular/organization/service/impl/HrOrgApproverServiceImpl.java +++ b/kernel-s-system/system-business-organization/src/main/java/cn/stylefeng/roses/kernel/system/modular/organization/service/impl/HrOrgApproverServiceImpl.java @@ -114,14 +114,7 @@ public class HrOrgApproverServiceImpl extends ServiceImpl hrOrgApproverLambdaQueryWrapper = new LambdaQueryWrapper<>(); - hrOrgApproverLambdaQueryWrapper.eq(HrOrgApprover::getOrgId, hrOrgApproverRequest.getOrgId()); - List orgTotalBindingList = this.list(hrOrgApproverLambdaQueryWrapper); - - // 将每个类型的用户分组 - Map> groupingByUsers = orgTotalBindingList.stream().collect(Collectors.groupingBy(HrOrgApprover::getOrgApproverType)); - + // 先初始化空的绑定情况列表 ArrayList resultList = new ArrayList<>(); for (OrgApproverTypeEnum orgApproverTypeEnum : values) { HrOrgApprover hrOrgApprover = new HrOrgApprover(); @@ -129,14 +122,28 @@ public class HrOrgApproverServiceImpl extends ServiceImpl userList = groupingByUsers.get(orgApproverTypeEnum.getCode()); - List bindUserItems = this.convertUserItem(userList); - - hrOrgApprover.setBindUserItemList(bindUserItems); resultList.add(hrOrgApprover); } + // 获取指定机构的绑定情况 + LambdaQueryWrapper hrOrgApproverLambdaQueryWrapper = new LambdaQueryWrapper<>(); + hrOrgApproverLambdaQueryWrapper.eq(HrOrgApprover::getOrgId, hrOrgApproverRequest.getOrgId()); + List orgTotalBindingList = this.list(hrOrgApproverLambdaQueryWrapper); + if (ObjectUtil.isEmpty(orgTotalBindingList)) { + return resultList; + } + + // 将每个类型的用户分组 + Map> groupingByUsers = orgTotalBindingList.stream().collect(Collectors.groupingBy(HrOrgApprover::getOrgApproverType)); + + // 再次遍历审批类型,将用户绑定到每个审批类分组中 + for (HrOrgApprover hrOrgApprover : resultList) { + // 获取改类型下有没有人 + List userList = groupingByUsers.get(hrOrgApprover.getOrgApproverType()); + List bindUserItems = this.convertUserItem(userList); + hrOrgApprover.setBindUserItemList(bindUserItems); + } + return resultList; }