【7.2.5】【org】修复查询org为空的问题

pull/37/head
fengshuonan 2022-09-15 23:02:58 +08:00
parent 2d455b02ea
commit 0b7087940a
2 changed files with 21 additions and 14 deletions

View File

@ -30,7 +30,7 @@ public class HrOrgApproverRequest extends BaseRequest {
* 1-2-3-4-5-6-7-HRBP8-9-10-
*/
@ChineseDescription("组织审批类型1-负责人2-部长3-体系负责人4-部门助理5-资产助理专员6-考勤专员7-HRBP8-门禁员9-办公账号员10-转岗须知员")
@NotNull(message = "组织审批类型不能为空", groups = {delete.class})
@NotNull(message = "组织审批类型不能为空", groups = {delete.class, add.class})
private Integer orgApproverType;
/**

View File

@ -114,14 +114,7 @@ public class HrOrgApproverServiceImpl extends ServiceImpl<HrOrgApproverMapper, H
// 获取当前系统一共有哪些组织审批人类型
OrgApproverTypeEnum[] values = OrgApproverTypeEnum.values();
// 获取指定机构的绑定情况
LambdaQueryWrapper<HrOrgApprover> hrOrgApproverLambdaQueryWrapper = new LambdaQueryWrapper<>();
hrOrgApproverLambdaQueryWrapper.eq(HrOrgApprover::getOrgId, hrOrgApproverRequest.getOrgId());
List<HrOrgApprover> orgTotalBindingList = this.list(hrOrgApproverLambdaQueryWrapper);
// 将每个类型的用户分组
Map<Integer, List<HrOrgApprover>> groupingByUsers = orgTotalBindingList.stream().collect(Collectors.groupingBy(HrOrgApprover::getOrgApproverType));
// 先初始化空的绑定情况列表
ArrayList<HrOrgApprover> resultList = new ArrayList<>();
for (OrgApproverTypeEnum orgApproverTypeEnum : values) {
HrOrgApprover hrOrgApprover = new HrOrgApprover();
@ -129,14 +122,28 @@ public class HrOrgApproverServiceImpl extends ServiceImpl<HrOrgApproverMapper, H
// 设置类型
hrOrgApprover.setOrgApproverType(orgApproverTypeEnum.getCode());
// 获取改类型下有没有人
List<HrOrgApprover> userList = groupingByUsers.get(orgApproverTypeEnum.getCode());
List<BindUserItem> bindUserItems = this.convertUserItem(userList);
hrOrgApprover.setBindUserItemList(bindUserItems);
resultList.add(hrOrgApprover);
}
// 获取指定机构的绑定情况
LambdaQueryWrapper<HrOrgApprover> hrOrgApproverLambdaQueryWrapper = new LambdaQueryWrapper<>();
hrOrgApproverLambdaQueryWrapper.eq(HrOrgApprover::getOrgId, hrOrgApproverRequest.getOrgId());
List<HrOrgApprover> orgTotalBindingList = this.list(hrOrgApproverLambdaQueryWrapper);
if (ObjectUtil.isEmpty(orgTotalBindingList)) {
return resultList;
}
// 将每个类型的用户分组
Map<Integer, List<HrOrgApprover>> groupingByUsers = orgTotalBindingList.stream().collect(Collectors.groupingBy(HrOrgApprover::getOrgApproverType));
// 再次遍历审批类型,将用户绑定到每个审批类分组中
for (HrOrgApprover hrOrgApprover : resultList) {
// 获取改类型下有没有人
List<HrOrgApprover> userList = groupingByUsers.get(hrOrgApprover.getOrgApproverType());
List<BindUserItem> bindUserItems = this.convertUserItem(userList);
hrOrgApprover.setBindUserItemList(bindUserItems);
}
return resultList;
}