Commit 37b687d3 by 王志超

feat: 组装主工单商品信息

parent 6ae3cc04
...@@ -1022,16 +1022,85 @@ public class ChangeFlowBiz { ...@@ -1022,16 +1022,85 @@ public class ChangeFlowBiz {
// 获取附件 // 获取附件
List<ChangeFlowFile> changeFileList = changeFileService.getChangeFileList(changeRecord.getId()); List<ChangeFlowFile> changeFileList = changeFileService.getChangeFileList(changeRecord.getId());
changeFlowVO.setFiles(changeFileList); changeFlowVO.setFiles(changeFileList);
this.buildItemBasicInfoList(changeRecord, changeFlowVO);
changeFlowVO.setChangeState(changeRecord.getState());
changeFlowVO.setChangeStateDesc(ChangeStatusEnum.getDescByStatus(changeRecord.getState()));
changeFlowVO.setChangeCreator(changeRecord.getCreator());
List<ChangeFlowExecVO> changeFlowExecRecord = changeFlowExecService.getChangeFlowExecRecord(changeRecord.getId());
try {
Set<String> userEmail = changeFlowExecRecord.stream().map(ChangeFlowExecVO::getChangeExecUserEmail).collect(Collectors.toSet());
AjaxResponse<List<IusUserInfoRsp>> userListInfo = iusRpcService.queryUserListInfo(UserQueryDTO.builder().uids(new ArrayList<>(userEmail)).build());
List<IusUserInfoRsp> data = userListInfo.getData();
changeFlowExecRecord.forEach(i -> {
Optional<IusUserInfoRsp> anyExeUser = data.stream().filter(u -> u.getUid().equals(i.getChangeExecUserEmail())).findAny();
if (anyExeUser.isPresent()) {
i.setChangeExecUserName(anyExeUser.get().getName());
} else {
// 批量查询没查到的人名,通过全量查询单独再查一次
IusUserInfoRsp user = iusService.queryUserInfo(i.getChangeExecUserEmail());
if (user != null && StringUtils.isNotBlank(user.getName())) {
i.setChangeExecUserName(user.getName());
}
}
});
} catch (Exception ex) {
log.error("query user info has ex", ex);
}
changeFlowVO.setChangeExecProjectList(changeFlowExecRecord);
changeFlowVO.setTopoId(ChangeFlowEnum.NEW_CHANGE_FLOW.getTopoId());
try {
Set<String> commanderList = new HashSet<>();
commanderList.add(changeRecord.getChangeCommander());
commanderList.add(changeRecord.getCreator());
IusDepartmentReq iusDepartmentReq = new IusDepartmentReq();
iusDepartmentReq.setUids(new ArrayList<>(commanderList));
iusDepartmentReq.setIcac(true);
HashMap<String, List<SecondaryDepartments>> orgMap = iusService.queryDepartment(iusDepartmentReq);
List<SecondaryDepartments> commander = orgMap.get(changeRecord.getChangeCommander());
List<SecondaryDepartments> creator = orgMap.get(changeRecord.getCreator());
if (!CollectionUtils.isEmpty(commander)) {
Optional<SecondaryDepartments> anyOrg = commander.stream().filter(o -> o.getOrgPosLevel() == 97).findAny();
String orgName = "无三级部门";
if (anyOrg.isPresent()) {
orgName = anyOrg.get().getOrgPosName();
}
changeFlowVO.setChangeCommanderView(commander.get(0).getUserName() + "(" + orgName + ")");
}
// 非同舟端展示人名及三级部门名称
if (!CreateSourceEnum.TONG_ZHOU.getType().equals(changeRecord.getCreateSource()) && !CollectionUtils.isEmpty(creator)) {
Optional<SecondaryDepartments> anyOrg = creator.stream().filter(o -> o.getOrgPosLevel() == 97).findAny();
String orgName = "无三级部门";
if (anyOrg.isPresent()) {
orgName = anyOrg.get().getOrgPosName();
}
changeFlowVO.setChangeCreatorView(creator.get(0).getUserName() + "(" + orgName + ")");
}
// 同舟端发起变更,发起人展示供应商id
if (CreateSourceEnum.TONG_ZHOU.getType().equals(changeRecord.getCreateSource())) {
changeFlowVO.setChangeCreatorView(changeRecord.getCreateSupplier());
}
} catch (Exception ex) {
log.error("add org has ex", ex);
}
return changeFlowVO;
}
private void buildItemBasicInfoList(ChangeRecord changeRecord, ChangeFlowVO changeFlowVO) {
String itemJsonStr = changeRecord.getChangeItem(); String itemJsonStr = changeRecord.getChangeItem();
String changeSkuJson = changeRecord.getChangeSku(); if (StringUtils.isBlank(itemJsonStr)) {
if (StringUtils.isNotBlank(itemJsonStr)) { changeFlowVO.setItemBasicInfoList(null);
} else {
String changeSkuJson = changeRecord.getChangeSku();
List<ItemVO> itemList = JSON.parseArray(itemJsonStr, ItemVO.class); List<ItemVO> itemList = JSON.parseArray(itemJsonStr, ItemVO.class);
List<ItemSkuVO> itemSkuVOS = new ArrayList<>(); List<ItemSkuVO> itemSkuVOS = new ArrayList<>();
if (StringUtils.isNotBlank(changeSkuJson)) { if (StringUtils.isNotBlank(changeSkuJson)) {
itemSkuVOS.addAll(JSON.parseArray(changeSkuJson, ItemSkuVO.class)); itemSkuVOS.addAll(JSON.parseArray(changeSkuJson, ItemSkuVO.class));
} }
itemList.forEach(i -> { itemList.forEach(i -> {
Optional<ItemSkuVO> anySkuInfo = itemSkuVOS.stream().filter(s -> s.getItemId().equals(i.getItemId())).findAny(); Optional<ItemSkuVO> anySkuInfo = itemSkuVOS.stream().filter(s -> s.getItemId().equals(i.getItemId()))
.findAny();
if (anySkuInfo.isPresent()) { if (anySkuInfo.isPresent()) {
i.setSkuIds(anySkuInfo.get().getSkuId()); i.setSkuIds(anySkuInfo.get().getSkuId());
} }
...@@ -1045,14 +1114,14 @@ public class ChangeFlowBiz { ...@@ -1045,14 +1114,14 @@ public class ChangeFlowBiz {
List<Long> itemIds = itemList.stream().map(ItemVO::getItemId).collect(Collectors.toList()); List<Long> itemIds = itemList.stream().map(ItemVO::getItemId).collect(Collectors.toList());
// 批量查询spu信息 // 批量查询spu信息
List<SpuTO> spuTOS = itemService.batchQuerySpuInfo(BatchQuerySpuInfoParam.builder().ids(itemIds) List<SpuTO> spuTOS = itemService.batchQuerySpuInfo(BatchQuerySpuInfoParam.builder().ids(itemIds)
.commonProps(new ArrayList<>()).spuProps(Arrays.asList("itemSetupType", "businessForm")).build()); .commonProps(new ArrayList<>()).spuProps(Arrays.asList("itemSetupType", "businessForm")).build());
log.debug("[detail] spuTOS:{}", JSON.toJSONString(spuTOS)); log.debug("[detail] spuTOS:{}", JSON.toJSONString(spuTOS));
// 批量查询物理类目 // 批量查询物理类目
Map<Long, List<SimplePhyCateGoryResultCo>> categoryChain = itemService Map<Long, List<SimplePhyCateGoryResultCo>> categoryChain = itemService
.queryBySpuIds(CommonIdsParamQuery.builder().ids(itemIds).build()); .queryBySpuIds(CommonIdsParamQuery.builder().ids(itemIds).build());
// 查询商品对应负责人信息 // 查询商品对应负责人信息
Map<Long, ChangeGoodsPrincipalPO> longChangeGoodsPrincipalPOMap = interiorChangeConfigService Map<Long, ChangeGoodsPrincipalPO> longChangeGoodsPrincipalPOMap = interiorChangeConfigService
.queryGoodsPrincipalInfo(itemIds); .queryGoodsPrincipalInfo(itemIds);
List<ItemBasicInfoVO> itemBasicInfoVOS = itemList.stream().map(itemVO -> { List<ItemBasicInfoVO> itemBasicInfoVOS = itemList.stream().map(itemVO -> {
ItemBasicInfoVO itemBasicInfoVO = new ItemBasicInfoVO(); ItemBasicInfoVO itemBasicInfoVO = new ItemBasicInfoVO();
Long itemId = itemVO.getItemId(); Long itemId = itemVO.getItemId();
...@@ -1107,70 +1176,7 @@ public class ChangeFlowBiz { ...@@ -1107,70 +1176,7 @@ public class ChangeFlowBiz {
}).collect(Collectors.toList()); }).collect(Collectors.toList());
changeFlowVO.setItemBasicInfoList(itemBasicInfoVOS); changeFlowVO.setItemBasicInfoList(itemBasicInfoVOS);
} }
} else {
changeFlowVO.setItemBasicInfoList(null);
}
changeFlowVO.setChangeState(changeRecord.getState());
changeFlowVO.setChangeStateDesc(ChangeStatusEnum.getDescByStatus(changeRecord.getState()));
changeFlowVO.setChangeCreator(changeRecord.getCreator());
List<ChangeFlowExecVO> changeFlowExecRecord = changeFlowExecService.getChangeFlowExecRecord(changeRecord.getId());
try {
Set<String> userEmail = changeFlowExecRecord.stream().map(ChangeFlowExecVO::getChangeExecUserEmail).collect(Collectors.toSet());
AjaxResponse<List<IusUserInfoRsp>> userListInfo = iusRpcService.queryUserListInfo(UserQueryDTO.builder().uids(new ArrayList<>(userEmail)).build());
List<IusUserInfoRsp> data = userListInfo.getData();
changeFlowExecRecord.forEach(i -> {
Optional<IusUserInfoRsp> anyExeUser = data.stream().filter(u -> u.getUid().equals(i.getChangeExecUserEmail())).findAny();
if (anyExeUser.isPresent()) {
i.setChangeExecUserName(anyExeUser.get().getName());
} else {
// 批量查询没查到的人名,通过全量查询单独再查一次
IusUserInfoRsp user = iusService.queryUserInfo(i.getChangeExecUserEmail());
if (user != null && StringUtils.isNotBlank(user.getName())) {
i.setChangeExecUserName(user.getName());
}
}
});
} catch (Exception ex) {
log.error("query user info has ex", ex);
}
changeFlowVO.setChangeExecProjectList(changeFlowExecRecord);
changeFlowVO.setTopoId(ChangeFlowEnum.NEW_CHANGE_FLOW.getTopoId());
try {
Set<String> commanderList = new HashSet<>();
commanderList.add(changeRecord.getChangeCommander());
commanderList.add(changeRecord.getCreator());
IusDepartmentReq iusDepartmentReq = new IusDepartmentReq();
iusDepartmentReq.setUids(new ArrayList<>(commanderList));
iusDepartmentReq.setIcac(true);
HashMap<String, List<SecondaryDepartments>> orgMap = iusService.queryDepartment(iusDepartmentReq);
List<SecondaryDepartments> commander = orgMap.get(changeRecord.getChangeCommander());
List<SecondaryDepartments> creator = orgMap.get(changeRecord.getCreator());
if (!CollectionUtils.isEmpty(commander)) {
Optional<SecondaryDepartments> anyOrg = commander.stream().filter(o -> o.getOrgPosLevel() == 97).findAny();
String orgName = "无三级部门";
if (anyOrg.isPresent()) {
orgName = anyOrg.get().getOrgPosName();
}
changeFlowVO.setChangeCommanderView(commander.get(0).getUserName() + "(" + orgName + ")");
}
// 非同舟端展示人名及三级部门名称
if (!CreateSourceEnum.TONG_ZHOU.getType().equals(changeRecord.getCreateSource()) && !CollectionUtils.isEmpty(creator)) {
Optional<SecondaryDepartments> anyOrg = creator.stream().filter(o -> o.getOrgPosLevel() == 97).findAny();
String orgName = "无三级部门";
if (anyOrg.isPresent()) {
orgName = anyOrg.get().getOrgPosName();
}
changeFlowVO.setChangeCreatorView(creator.get(0).getUserName() + "(" + orgName + ")");
}
// 同舟端发起变更,发起人展示供应商id
if (CreateSourceEnum.TONG_ZHOU.getType().equals(changeRecord.getCreateSource())) {
changeFlowVO.setChangeCreatorView(changeRecord.getCreateSupplier());
}
} catch (Exception ex) {
log.error("add org has ex", ex);
} }
return changeFlowVO;
} }
public ChangeFlowListVO query(Integer page, Integer pageSize, ChangeFlowListQueryReq changeFlowListQueryReq) { public ChangeFlowListVO query(Integer page, Integer pageSize, ChangeFlowListQueryReq changeFlowListQueryReq) {
......
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