Commit 2462289a by 王志超

feat: 主工单增加用户归属

parent 00db7ed3
...@@ -1300,6 +1300,10 @@ public class ChangeFlowBiz { ...@@ -1300,6 +1300,10 @@ public class ChangeFlowBiz {
changeRecordMapper.selectByCondition(changeFlowListQueryReq)); changeRecordMapper.selectByCondition(changeFlowListQueryReq));
List<ChangeRecord> changeRecords = changeRecordPageInfo.getList(); List<ChangeRecord> changeRecords = changeRecordPageInfo.getList();
List<ChangeFlowVO> list = new ArrayList<>(); List<ChangeFlowVO> list = new ArrayList<>();
// 获取当前用户(用于设置 userRole)
String currentUser = RequestLocalBean.getUid();
// 处理数据 // 处理数据
if (CollectionUtils.isNotEmpty(changeRecords)) { if (CollectionUtils.isNotEmpty(changeRecords)) {
// 批量查询所有变更行动工单,构建 Map<changeRecordId, List<subFlowId>>,提升性能 // 批量查询所有变更行动工单,构建 Map<changeRecordId, List<subFlowId>>,提升性能
...@@ -1368,49 +1372,68 @@ public class ChangeFlowBiz { ...@@ -1368,49 +1372,68 @@ public class ChangeFlowBiz {
List<String> subFlowIds = subFlowIdsMap.getOrDefault(c.getId(), new ArrayList<>()); List<String> subFlowIds = subFlowIdsMap.getOrDefault(c.getId(), new ArrayList<>());
changeFlowVO.setSubFlowIds(subFlowIds); changeFlowVO.setSubFlowIds(subFlowIds);
// 设置工单归属关系
if (StringUtils.isNotBlank(currentUser)) {
boolean isCreator = currentUser.equals(c.getCreator());
boolean isChangeCommander = currentUser.equals(c.getChangeCommander());
boolean isApprover = false;
String approverJson = c.getApprover();
if (StringUtils.isNotBlank(approverJson)) {
isApprover = approverJson.contains(currentUser);
}
FlowOwnershipVO flowOwnership = FlowOwnershipVO.builder()
.isCreator(isCreator)
.isChangeCommander(isChangeCommander)
.isApprover(isApprover)
.build();
changeFlowVO.setFlowOwnership(flowOwnership);
}
return changeFlowVO; return changeFlowVO;
}).collect(Collectors.toList()); }).collect(Collectors.toList());
try {
Set<String> commanderList = list.stream().map(ChangeFlowVO::getChangeCommander).collect(Collectors.toSet());
Set<String> creatorList = list.stream().map(ChangeFlowVO::getChangeCreator).collect(Collectors.toSet());
commanderList.addAll(creatorList);
IusDepartmentReq iusDepartmentReq = new IusDepartmentReq();
iusDepartmentReq.setUids(new ArrayList<>(commanderList));
iusDepartmentReq.setIcac(true);
HashMap<String, List<SecondaryDepartments>> orgMap = iusService.queryDepartment(iusDepartmentReq);
//AjaxResponse<List<IusUserInfoRsp>> userListInfo = iusRpcService.queryUserListInfo(UserQueryDTO.builder().uids(new ArrayList<>(commanderList)).build());
log.debug("query user: {} info: {}", commanderList, JSON.toJSONString(orgMap));
//List<IusUserInfoRsp> data = userListInfo.getData();
list.forEach(i -> {
List<SecondaryDepartments> commander = orgMap.get(i.getChangeCommander());
List<SecondaryDepartments> creator = orgMap.get(i.getChangeCreator());
//Optional<IusUserInfoRsp> commander = data.stream().filter(u -> u.getUid().equals(i.getChangeCommander())).findAny();
//Optional<IusUserInfoRsp> creator = data.stream().filter(u -> u.getUid().equals(i.getChangeCreator())).findAny();
if (!CollectionUtils.isEmpty(commander)) {
Optional<SecondaryDepartments> anyOrg = commander.stream().filter(o -> o.getOrgPosLevel() == 97).findAny();
String orgName = "无三级部门";
if (anyOrg.isPresent()) {
orgName = anyOrg.get().getOrgPosName();
}
i.setChangeCommander(commander.get(0).getUserName() + "(" + orgName + ")");
}
// 供应商查询不到数据,不会覆盖,展示供应商id
if (!CollectionUtils.isEmpty(creator)) {
Optional<SecondaryDepartments> anyOrg = creator.stream().filter(o -> o.getOrgPosLevel() == 97).findAny();
String orgName = "无三级部门";
if (anyOrg.isPresent()) {
orgName = anyOrg.get().getOrgPosName();
}
i.setChangeCreator(creator.get(0).getUserName() + "(" + orgName + ")");
}
});
} catch (Exception ex) {
log.error("add org has ex", ex);
}
} }
PageVO pageVO = PageUtils.buildPageVo(changeRecordPageInfo.getTotal(), pageSize, page); PageVO pageVO = PageUtils.buildPageVo(changeRecordPageInfo.getTotal(), pageSize, page);
ChangeFlowListVO changeFlowListVO = new ChangeFlowListVO(); ChangeFlowListVO changeFlowListVO = new ChangeFlowListVO();
changeFlowListVO.setPageVo(pageVO); changeFlowListVO.setPageVo(pageVO);
try {
Set<String> commanderList = list.stream().map(ChangeFlowVO::getChangeCommander).collect(Collectors.toSet());
Set<String> creatorList = list.stream().map(ChangeFlowVO::getChangeCreator).collect(Collectors.toSet());
commanderList.addAll(creatorList);
IusDepartmentReq iusDepartmentReq = new IusDepartmentReq();
iusDepartmentReq.setUids(new ArrayList<>(commanderList));
iusDepartmentReq.setIcac(true);
HashMap<String, List<SecondaryDepartments>> orgMap = iusService.queryDepartment(iusDepartmentReq);
//AjaxResponse<List<IusUserInfoRsp>> userListInfo = iusRpcService.queryUserListInfo(UserQueryDTO.builder().uids(new ArrayList<>(commanderList)).build());
log.debug("query user: {} info: {}", commanderList, JSON.toJSONString(orgMap));
//List<IusUserInfoRsp> data = userListInfo.getData();
list.forEach(i -> {
List<SecondaryDepartments> commander = orgMap.get(i.getChangeCommander());
List<SecondaryDepartments> creator = orgMap.get(i.getChangeCreator());
//Optional<IusUserInfoRsp> commander = data.stream().filter(u -> u.getUid().equals(i.getChangeCommander())).findAny();
//Optional<IusUserInfoRsp> creator = data.stream().filter(u -> u.getUid().equals(i.getChangeCreator())).findAny();
if (!CollectionUtils.isEmpty(commander)) {
Optional<SecondaryDepartments> anyOrg = commander.stream().filter(o -> o.getOrgPosLevel() == 97).findAny();
String orgName = "无三级部门";
if (anyOrg.isPresent()) {
orgName = anyOrg.get().getOrgPosName();
}
i.setChangeCommander(commander.get(0).getUserName() + "(" + orgName + ")");
}
// 供应商查询不到数据,不会覆盖,展示供应商id
if (!CollectionUtils.isEmpty(creator)) {
Optional<SecondaryDepartments> anyOrg = creator.stream().filter(o -> o.getOrgPosLevel() == 97).findAny();
String orgName = "无三级部门";
if (anyOrg.isPresent()) {
orgName = anyOrg.get().getOrgPosName();
}
i.setChangeCreator(creator.get(0).getUserName() + "(" + orgName + ")");
}
});
} catch (Exception ex) {
log.error("add org has ex", ex);
}
changeFlowListVO.setChangeFlowList(list); changeFlowListVO.setChangeFlowList(list);
return changeFlowListVO; return changeFlowListVO;
} }
......
...@@ -205,4 +205,9 @@ public class ChangeFlowVO { ...@@ -205,4 +205,9 @@ public class ChangeFlowVO {
* 变更行动工单ID列表(即subFlowId列表) * 变更行动工单ID列表(即subFlowId列表)
*/ */
private List<String> subFlowIds; private List<String> subFlowIds;
/**
* 工单归属关系(标识当前用户与工单的归属关系)
*/
private FlowOwnershipVO flowOwnership;
} }
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment