Commit 8849e836 by 胡园园

Merge branch 'release-2023011101' into 'master'

分支release-2023011101已上线,自动合并到master

See merge request !12
parents 6061b635 220e1bb5
Pipeline #44884 passed with stages
in 2 minutes 28 seconds
...@@ -303,8 +303,8 @@ public class ChangeFlowBiz { ...@@ -303,8 +303,8 @@ public class ChangeFlowBiz {
param.put("changeSubject", ChangeSubjectEnum.getChangeSubjectEnum(changeRecord.getChangeSubject()).getDesc()); param.put("changeSubject", ChangeSubjectEnum.getChangeSubjectEnum(changeRecord.getChangeSubject()).getDesc());
param.put("changeContent", changeRecord.getChangeContent()); param.put("changeContent", changeRecord.getChangeContent());
param.put("changeReason", changeRecord.getChangeReason()); param.put("changeReason", changeRecord.getChangeReason());
AjaxResponse<IusUserInfoRsp> user = iusRpcService.queryUserInfo(changeRecord.getChangeCommander()); IusUserInfoRsp user = iusService.queryUserInfo(changeRecord.getChangeCommander());
param.put("changeCommander", user.getData().getName()); param.put("changeCommander", user == null ? changeRecord.getChangeCommander() : user.getName());
param.put("changeCommanderEmail", changeRecord.getChangeCommander()); param.put("changeCommanderEmail", changeRecord.getChangeCommander());
param.put("flowUrl", changeRecord.getFlowId()); param.put("flowUrl", changeRecord.getFlowId());
List<ChangeExecuteEmailDTO> dataList = new ArrayList<>(); List<ChangeExecuteEmailDTO> dataList = new ArrayList<>();
...@@ -621,8 +621,8 @@ public class ChangeFlowBiz { ...@@ -621,8 +621,8 @@ public class ChangeFlowBiz {
param.put("changeSubject", ChangeSubjectEnum.getChangeSubjectEnum(changeRecord.getChangeSubject()).getDesc()); param.put("changeSubject", ChangeSubjectEnum.getChangeSubjectEnum(changeRecord.getChangeSubject()).getDesc());
param.put("changeContent", changeRecord.getChangeContent()); param.put("changeContent", changeRecord.getChangeContent());
param.put("changeReason", changeRecord.getChangeReason()); param.put("changeReason", changeRecord.getChangeReason());
AjaxResponse<IusUserInfoRsp> user = iusRpcService.queryUserInfo(changeRecord.getChangeCommander()); IusUserInfoRsp user = iusService.queryUserInfo(changeRecord.getChangeCommander());
param.put("changeCommander", user.getData().getName()); param.put("changeCommander", user == null ? changeRecord.getChangeCommander() : user.getName());
param.put("changeCommanderEmail", changeRecord.getChangeCommander()); param.put("changeCommanderEmail", changeRecord.getChangeCommander());
param.put("flowUrl", changeRecord.getFlowId()); param.put("flowUrl", changeRecord.getFlowId());
param.put("dataList", changeExecRecords); param.put("dataList", changeExecRecords);
...@@ -891,8 +891,8 @@ public class ChangeFlowBiz { ...@@ -891,8 +891,8 @@ public class ChangeFlowBiz {
cancelMap.put("changeId", changeRecord.getFlowId()); cancelMap.put("changeId", changeRecord.getFlowId());
cancelMap.put("changeSubject", ChangeSubjectEnum.getChangeSubjectEnum(changeRecord.getChangeSubject()).getDesc()); cancelMap.put("changeSubject", ChangeSubjectEnum.getChangeSubjectEnum(changeRecord.getChangeSubject()).getDesc());
cancelMap.put("changeContent", changeRecord.getChangeContent()); cancelMap.put("changeContent", changeRecord.getChangeContent());
AjaxResponse<IusUserInfoRsp> user = iusRpcService.queryUserInfo(changeRecord.getChangeCommander()); IusUserInfoRsp user = iusService.queryUserInfo(changeRecord.getChangeCommander());
cancelMap.put("changeCommander", user.getData().getName()); cancelMap.put("changeCommander", user == null ? changeRecord.getChangeCommander() : user.getName());
cancelMap.put("cancelReason", changeRecord.getCancelReason()); cancelMap.put("cancelReason", changeRecord.getCancelReason());
String cancelSubjectParam = changeRecord.getFlowId().toString(); String cancelSubjectParam = changeRecord.getFlowId().toString();
List<String> receiver = new ArrayList<>(Collections.singletonList(changeCommander)); List<String> receiver = new ArrayList<>(Collections.singletonList(changeCommander));
...@@ -1082,6 +1082,12 @@ public class ChangeFlowBiz { ...@@ -1082,6 +1082,12 @@ public class ChangeFlowBiz {
Optional<IusUserInfoRsp> anyExeUser = data.stream().filter(u -> u.getUid().equals(i.getChangeExecUserEmail())).findAny(); Optional<IusUserInfoRsp> anyExeUser = data.stream().filter(u -> u.getUid().equals(i.getChangeExecUserEmail())).findAny();
if (anyExeUser.isPresent()) { if (anyExeUser.isPresent()) {
i.setChangeExecUserName(anyExeUser.get().getName()); i.setChangeExecUserName(anyExeUser.get().getName());
} else {
// 批量查询没查到的人名,通过全量查询单独再查一次
IusUserInfoRsp user = iusService.queryUserInfo(i.getChangeExecUserEmail());
if (user != null && StringUtils.isNotBlank(user.getName())) {
i.setChangeExecUserName(user.getName());
}
} }
}); });
...@@ -1100,6 +1106,7 @@ public class ChangeFlowBiz { ...@@ -1100,6 +1106,7 @@ public class ChangeFlowBiz {
commanderList.add(changeRecord.getCreator()); commanderList.add(changeRecord.getCreator());
IusDepartmentReq iusDepartmentReq = new IusDepartmentReq(); IusDepartmentReq iusDepartmentReq = new IusDepartmentReq();
iusDepartmentReq.setUids(new ArrayList<>(commanderList)); iusDepartmentReq.setUids(new ArrayList<>(commanderList));
iusDepartmentReq.setIcac(true);
HashMap<String, List<SecondaryDepartments>> orgMap = iusService.queryDepartment(iusDepartmentReq); HashMap<String, List<SecondaryDepartments>> orgMap = iusService.queryDepartment(iusDepartmentReq);
List<SecondaryDepartments> commander = orgMap.get(changeRecord.getChangeCommander()); List<SecondaryDepartments> commander = orgMap.get(changeRecord.getChangeCommander());
List<SecondaryDepartments> creator = orgMap.get(changeRecord.getCreator()); List<SecondaryDepartments> creator = orgMap.get(changeRecord.getCreator());
...@@ -1184,6 +1191,7 @@ public class ChangeFlowBiz { ...@@ -1184,6 +1191,7 @@ public class ChangeFlowBiz {
commanderList.addAll(creatorList); commanderList.addAll(creatorList);
IusDepartmentReq iusDepartmentReq = new IusDepartmentReq(); IusDepartmentReq iusDepartmentReq = new IusDepartmentReq();
iusDepartmentReq.setUids(new ArrayList<>(commanderList)); iusDepartmentReq.setUids(new ArrayList<>(commanderList));
iusDepartmentReq.setIcac(true);
HashMap<String, List<SecondaryDepartments>> orgMap = iusService.queryDepartment(iusDepartmentReq); HashMap<String, List<SecondaryDepartments>> orgMap = iusService.queryDepartment(iusDepartmentReq);
//AjaxResponse<List<IusUserInfoRsp>> userListInfo = iusRpcService.queryUserListInfo(UserQueryDTO.builder().uids(new ArrayList<>(commanderList)).build()); //AjaxResponse<List<IusUserInfoRsp>> userListInfo = iusRpcService.queryUserListInfo(UserQueryDTO.builder().uids(new ArrayList<>(commanderList)).build());
log.debug("query user: {} info: {}", commanderList, JSON.toJSONString(orgMap)); log.debug("query user: {} info: {}", commanderList, JSON.toJSONString(orgMap));
...@@ -1201,6 +1209,7 @@ public class ChangeFlowBiz { ...@@ -1201,6 +1209,7 @@ public class ChangeFlowBiz {
} }
i.setChangeCommander(commander.get(0).getUserName() + "(" + orgName + ")"); i.setChangeCommander(commander.get(0).getUserName() + "(" + orgName + ")");
} }
// 供应商查询不到数据,不会覆盖,展示供应商id
if (!CollectionUtils.isEmpty(creator)) { if (!CollectionUtils.isEmpty(creator)) {
Optional<SecondaryDepartments> anyOrg = creator.stream().filter(o -> o.getOrgPosLevel() == 97).findAny(); Optional<SecondaryDepartments> anyOrg = creator.stream().filter(o -> o.getOrgPosLevel() == 97).findAny();
String orgName = "无三级部门"; String orgName = "无三级部门";
...@@ -1260,8 +1269,10 @@ public class ChangeFlowBiz { ...@@ -1260,8 +1269,10 @@ public class ChangeFlowBiz {
String changeCommander = changeRecord.getChangeCommander(); String changeCommander = changeRecord.getChangeCommander();
UserReachDTO userReachDTO = new UserReachDTO(); UserReachDTO userReachDTO = new UserReachDTO();
// 查询邮箱对应的名字 // 查询邮箱对应的名字
AjaxResponse<IusUserInfoRsp> user = iusRpcService.queryUserInfo(changeRecord.getChangeCommander()); IusUserInfoRsp user = iusService.queryUserInfo(changeRecord.getChangeCommander());
userReachDTO.setUserName(user.getData().getName()); // 流程拓扑图,如果没查询到名字,以邮箱兜底
userReachDTO.setUserName(
user == null || StringUtils.isBlank(user.getName()) ? changeRecord.getChangeCommander() : user.getName());
userReachDTO.setUid(changeCommander); userReachDTO.setUid(changeCommander);
List<UserReachDTO> totalUserList = Collections.singletonList(userReachDTO); List<UserReachDTO> totalUserList = Collections.singletonList(userReachDTO);
UserBaseContainerDTO userBaseContainer = new UserBaseContainerDTO(); UserBaseContainerDTO userBaseContainer = new UserBaseContainerDTO();
...@@ -1361,12 +1372,12 @@ public class ChangeFlowBiz { ...@@ -1361,12 +1372,12 @@ public class ChangeFlowBiz {
deliverMap.put("changeSubject", ChangeSubjectEnum.getChangeSubjectEnum(changeRecord.getChangeSubject()).getDesc()); deliverMap.put("changeSubject", ChangeSubjectEnum.getChangeSubjectEnum(changeRecord.getChangeSubject()).getDesc());
deliverMap.put("changeContent", changeRecord.getChangeContent()); deliverMap.put("changeContent", changeRecord.getChangeContent());
// 转交人名称 // 转交人名称
AjaxResponse<IusUserInfoRsp> oldUser = iusRpcService.queryUserInfo(changeCommander); IusUserInfoRsp oldUser = iusService.queryUserInfo(changeCommander);
deliverMap.put("changeCommander", oldUser.getData().getName()); deliverMap.put("changeCommander", oldUser == null ? changeCommander : oldUser.getName());
deliverMap.put("changeCommanderEmail", changeCommander); deliverMap.put("changeCommanderEmail", changeCommander);
// 被转交人名称 // 被转交人名称
AjaxResponse<IusUserInfoRsp> newUser = iusRpcService.queryUserInfo(deliverUser); IusUserInfoRsp newUser = iusService.queryUserInfo(deliverUser);
deliverMap.put("restsChangeCommander", newUser.getData().getName()); deliverMap.put("restsChangeCommander", newUser == null ? deliverUser : newUser.getName());
deliverMap.put("restsChangeCommanderEmail", deliverUser); deliverMap.put("restsChangeCommanderEmail", deliverUser);
String deliverSubjectParam = changeRecord.getFlowId().toString(); String deliverSubjectParam = changeRecord.getFlowId().toString();
// 转交,收件人:变更转交人(工单接收人)、变更负责人(工单转交人) // 转交,收件人:变更转交人(工单接收人)、变更负责人(工单转交人)
......
...@@ -33,10 +33,13 @@ import com.netease.mail.yanxuan.change.biz.service.change.ChangeTypeService; ...@@ -33,10 +33,13 @@ import com.netease.mail.yanxuan.change.biz.service.change.ChangeTypeService;
import com.netease.mail.yanxuan.change.biz.service.rpc.ItemService; import com.netease.mail.yanxuan.change.biz.service.rpc.ItemService;
import com.netease.mail.yanxuan.change.biz.service.rpc.IusService; import com.netease.mail.yanxuan.change.biz.service.rpc.IusService;
import com.netease.mail.yanxuan.change.biz.service.rpc.QCService; import com.netease.mail.yanxuan.change.biz.service.rpc.QCService;
import com.netease.mail.yanxuan.change.biz.service.rpc.SupplierService;
import com.netease.mail.yanxuan.change.common.enums.BusinessFormEnum; import com.netease.mail.yanxuan.change.common.enums.BusinessFormEnum;
import com.netease.mail.yanxuan.change.common.enums.ChangeLevelEnum;
import com.netease.mail.yanxuan.change.common.enums.ChangeResultEnum; import com.netease.mail.yanxuan.change.common.enums.ChangeResultEnum;
import com.netease.mail.yanxuan.change.common.enums.ChangeStatusEnum; import com.netease.mail.yanxuan.change.common.enums.ChangeStatusEnum;
import com.netease.mail.yanxuan.change.common.enums.ChangeSubjectEnum; import com.netease.mail.yanxuan.change.common.enums.ChangeSubjectEnum;
import com.netease.mail.yanxuan.change.common.enums.CreateSourceEnum;
import com.netease.mail.yanxuan.change.common.enums.ItemSetupTypeEnum; import com.netease.mail.yanxuan.change.common.enums.ItemSetupTypeEnum;
import com.netease.mail.yanxuan.change.common.enums.MainSpuStatusEnum; import com.netease.mail.yanxuan.change.common.enums.MainSpuStatusEnum;
import com.netease.mail.yanxuan.change.common.enums.ProfitTypeEnum; import com.netease.mail.yanxuan.change.common.enums.ProfitTypeEnum;
...@@ -53,7 +56,10 @@ import com.netease.mail.yanxuan.change.dal.meta.model.vo.ItemVO; ...@@ -53,7 +56,10 @@ import com.netease.mail.yanxuan.change.dal.meta.model.vo.ItemVO;
import com.netease.mail.yanxuan.change.integration.excel.ChangeFlowExcelDTO; import com.netease.mail.yanxuan.change.integration.excel.ChangeFlowExcelDTO;
import com.netease.mail.yanxuan.change.integration.excel.ChangeFlowExcelVo; import com.netease.mail.yanxuan.change.integration.excel.ChangeFlowExcelVo;
import com.netease.mail.yanxuan.change.integration.flow.UserQueryDTO; import com.netease.mail.yanxuan.change.integration.flow.UserQueryDTO;
import com.netease.mail.yanxuan.change.integration.flow.ius.req.IusDepartmentReq;
import com.netease.mail.yanxuan.change.integration.flow.ius.rsp.IusUserInfoRsp; import com.netease.mail.yanxuan.change.integration.flow.ius.rsp.IusUserInfoRsp;
import com.netease.mail.yanxuan.change.integration.flow.ius.rsp.SecondaryDepartments;
import com.netease.mail.yanxuan.change.integration.flow.supplier.rsp.SupplierSimpleRsp;
import com.netease.mail.yanxuan.change.integration.item.SimplePhyCateGoryResultCo; import com.netease.mail.yanxuan.change.integration.item.SimplePhyCateGoryResultCo;
import com.netease.mail.yanxuan.change.integration.item.meta.SpuTO; import com.netease.mail.yanxuan.change.integration.item.meta.SpuTO;
import com.netease.mail.yanxuan.change.integration.item.param.BatchQuerySpuInfoParam; import com.netease.mail.yanxuan.change.integration.item.param.BatchQuerySpuInfoParam;
...@@ -91,6 +97,9 @@ public class ChangeFlowExportCallback implements DesCallbackService { ...@@ -91,6 +97,9 @@ public class ChangeFlowExportCallback implements DesCallbackService {
@Autowired @Autowired
private IusService iusService; private IusService iusService;
@Autowired
private SupplierService supplierService;
@Override @Override
public ExcelTitle queryExcelTitle(CallbackQueryReq req) { public ExcelTitle queryExcelTitle(CallbackQueryReq req) {
log.info("[op: change flow export callback queryExcelTitle] req={}", JSON.toJSONString(req)); log.info("[op: change flow export callback queryExcelTitle] req={}", JSON.toJSONString(req));
...@@ -118,11 +127,31 @@ public class ChangeFlowExportCallback implements DesCallbackService { ...@@ -118,11 +127,31 @@ public class ChangeFlowExportCallback implements DesCallbackService {
ChangeFlowListQueryReq changeFlowListQueryReq = new ChangeFlowListQueryReq(); ChangeFlowListQueryReq changeFlowListQueryReq = new ChangeFlowListQueryReq();
BeanUtils.copyProperties(query, changeFlowListQueryReq); BeanUtils.copyProperties(query, changeFlowListQueryReq);
List<ChangeRecord> changeRecords = changeRecordMapper.selectByConditionAndLimit(changeFlowListQueryReq); List<ChangeRecord> changeRecords = changeRecordMapper.selectByConditionAndLimit(changeFlowListQueryReq);
log.debug("[getExportList] changeRecords:{}", changeRecords); log.debug("[getExportList] changeRecords:{}", JSON.toJSONString(changeRecords));
if (CollectionUtils.isEmpty(changeRecords)) { if (CollectionUtils.isEmpty(changeRecords)) {
return Lists.newArrayList(); return Lists.newArrayList();
} }
// 提前查询所有行动项用户名 // 过滤不为供应商的创建人
List<String> creatorList = changeRecords.stream()
.filter(c -> !CreateSourceEnum.TONG_ZHOU.getType().equals(c.getCreateSource()))
.map(ChangeRecord::getCreator).collect(Collectors.toList());
List<String> allQueryDepartmentList = new ArrayList<>();
if (CollectionUtils.isNotEmpty(creatorList)) {
allQueryDepartmentList.addAll(creatorList);
}
List<String> changeCommanderList = changeRecords.stream().map(ChangeRecord::getChangeCommander).collect(Collectors.toList());
if (CollectionUtils.isNotEmpty(changeCommanderList)) {
allQueryDepartmentList.addAll(changeCommanderList);
}
HashMap<String, List<SecondaryDepartments>> orgMap = null;
if (CollectionUtils.isNotEmpty(allQueryDepartmentList)) {
// 查询创建人部门名
IusDepartmentReq iusDepartmentReq = new IusDepartmentReq();
iusDepartmentReq.setUids(new ArrayList<>(allQueryDepartmentList));
iusDepartmentReq.setIcac(true);
orgMap = iusService.queryDepartment(iusDepartmentReq);
}
// 提前查询所有创建人及行动项用户名
List<String> allExecUserEmailList = new ArrayList<>(); List<String> allExecUserEmailList = new ArrayList<>();
for (ChangeRecord changeRecord : changeRecords) { for (ChangeRecord changeRecord : changeRecords) {
List<ChangeExecRecord> changeExecRecords = changeExecRecordMapper.selectByChangeRecordId(changeRecord.getId()); List<ChangeExecRecord> changeExecRecords = changeExecRecordMapper.selectByChangeRecordId(changeRecord.getId());
...@@ -184,7 +213,7 @@ public class ChangeFlowExportCallback implements DesCallbackService { ...@@ -184,7 +213,7 @@ public class ChangeFlowExportCallback implements DesCallbackService {
for (ChangeExecRecord changeExecRecord : changeExecRecords) { for (ChangeExecRecord changeExecRecord : changeExecRecords) {
Long itemId = itemVO.getItemId(); Long itemId = itemVO.getItemId();
// 组装通用信息,除商品信息,行动项以外其他字段一致 // 组装通用信息,除商品信息,行动项以外其他字段一致
ChangeFlowExcelDTO changeFlowExcelDTO = this.obtainCommon(record, changeSubjectEnum); ChangeFlowExcelDTO changeFlowExcelDTO = this.obtainCommon(record, changeSubjectEnum, orgMap);
changeFlowExcelDTO.setSupplier("/"); changeFlowExcelDTO.setSupplier("/");
changeFlowExcelDTO.setChangeItem(itemVO.getItemName()); changeFlowExcelDTO.setChangeItem(itemVO.getItemName());
changeFlowExcelDTO.setSPUId(itemId); changeFlowExcelDTO.setSPUId(itemId);
...@@ -235,12 +264,7 @@ public class ChangeFlowExportCallback implements DesCallbackService { ...@@ -235,12 +264,7 @@ public class ChangeFlowExportCallback implements DesCallbackService {
} }
// 组装行动项相关信息 // 组装行动项相关信息
obtainChangeExec(changeExecRecord, changeFlowExcelDTO, userListInfo); obtainChangeExec(changeExecRecord, changeFlowExcelDTO, userListInfo);
ChangeResultEnum resultEnum = ChangeResultEnum.getByStatus(record.getChangeResult()); this.obtainOther(record, changeFlowExcelDTO);
changeFlowExcelDTO.setChangeResult(resultEnum == null ? "": resultEnum.getDesc());
changeFlowExcelDTO
.setChangeEndTime(record.getState().equals(ChangeStatusEnum.END.getStatus())
? DateUtils.parseLongToString(record.getUpdateTime(), DateUtils.DATE_TIME_FORMAT)
: "");
changeFlowExcelDTOList.add(changeFlowExcelDTO); changeFlowExcelDTOList.add(changeFlowExcelDTO);
} }
} }
...@@ -251,8 +275,18 @@ public class ChangeFlowExportCallback implements DesCallbackService { ...@@ -251,8 +275,18 @@ public class ChangeFlowExportCallback implements DesCallbackService {
// 供应商变更,以行动项循环 // 供应商变更,以行动项循环
for (ChangeExecRecord changeExecRecord : changeExecRecords) { for (ChangeExecRecord changeExecRecord : changeExecRecords) {
// 组装通用信息,除商品信息,行动项以外其他字段一致 // 组装通用信息,除商品信息,行动项以外其他字段一致
ChangeFlowExcelDTO changeFlowExcelDTO = this.obtainCommon(record, changeSubjectEnum); ChangeFlowExcelDTO changeFlowExcelDTO = this.obtainCommon(record, changeSubjectEnum, orgMap);
changeFlowExcelDTO.setSupplier(StringUtils.isBlank(record.getChangeSupplier())? "/": record.getChangeSupplier()); String changeSupplier = StringUtils.isBlank(record.getChangeSupplier()) ? "" : record.getChangeSupplier();
String changeSupplierName = "";
if (StringUtils.isNotBlank(changeSupplier)) {
List<SupplierSimpleRsp> supplierSimple = supplierService.getSupplierName(changeSupplier);
if (CollectionUtils.isNotEmpty(supplierSimple)) {
SupplierSimpleRsp supplier = supplierSimple.get(0);
changeSupplierName = supplier.getSupplierName();
}
}
changeFlowExcelDTO.setSupplier(
StringUtils.isBlank(changeSupplier) ? "/" : changeSupplier + changeSupplierName);
changeFlowExcelDTO.setChangeItem(null); changeFlowExcelDTO.setChangeItem(null);
changeFlowExcelDTO.setSPUId(null); changeFlowExcelDTO.setSPUId(null);
changeFlowExcelDTO.setQcCategory(null); changeFlowExcelDTO.setQcCategory(null);
...@@ -266,12 +300,7 @@ public class ChangeFlowExportCallback implements DesCallbackService { ...@@ -266,12 +300,7 @@ public class ChangeFlowExportCallback implements DesCallbackService {
changeFlowExcelDTO.setGoodsProject(null); changeFlowExcelDTO.setGoodsProject(null);
// 组装行动项相关信息 // 组装行动项相关信息
this.obtainChangeExec(changeExecRecord, changeFlowExcelDTO, userListInfo); this.obtainChangeExec(changeExecRecord, changeFlowExcelDTO, userListInfo);
ChangeResultEnum resultEnum = ChangeResultEnum.getByStatus(record.getChangeResult()); this.obtainOther(record, changeFlowExcelDTO);
changeFlowExcelDTO.setChangeResult(resultEnum == null ? "": resultEnum.getDesc());
changeFlowExcelDTO
.setChangeEndTime(record.getState().equals(ChangeStatusEnum.END.getStatus())
? DateUtils.parseLongToString(record.getUpdateTime(), DateUtils.DATE_TIME_FORMAT)
: "/");
changeFlowExcelDTOList.add(changeFlowExcelDTO); changeFlowExcelDTOList.add(changeFlowExcelDTO);
} }
break; break;
...@@ -282,6 +311,18 @@ public class ChangeFlowExportCallback implements DesCallbackService { ...@@ -282,6 +311,18 @@ public class ChangeFlowExportCallback implements DesCallbackService {
} }
private void obtainOther(ChangeRecord record, ChangeFlowExcelDTO changeFlowExcelDTO) {
ChangeResultEnum resultEnum = ChangeResultEnum.getByStatus(record.getChangeResult());
log.debug("[obtainOther] record:{}, resultEnum:{}", JSON.toJSONString(record), resultEnum);
changeFlowExcelDTO.setChangeResult(resultEnum == null ? "/" : resultEnum.getDesc());
if (record.getState().equals(ChangeStatusEnum.CANCEL.getStatus())
|| record.getState().equals(ChangeStatusEnum.END.getStatus())) {
changeFlowExcelDTO.setChangeEndTime(DateUtils.parseLongToString(record.getUpdateTime(), DateUtils.DATE_TIME_FORMAT));
} else {
changeFlowExcelDTO.setChangeEndTime("/");
}
}
private void buildGoodsPrincipal(ChangeGoodsPrincipalPO changeGoodsPrincipalPO, ChangeFlowExcelDTO changeFlowExcelDTO) { private void buildGoodsPrincipal(ChangeGoodsPrincipalPO changeGoodsPrincipalPO, ChangeFlowExcelDTO changeFlowExcelDTO) {
String functionaryName = StringUtils.isBlank(changeGoodsPrincipalPO.getFunctionaryName()) ? "" : changeGoodsPrincipalPO.getFunctionaryName(); String functionaryName = StringUtils.isBlank(changeGoodsPrincipalPO.getFunctionaryName()) ? "" : changeGoodsPrincipalPO.getFunctionaryName();
String functionaryEmail = StringUtils.isBlank(changeGoodsPrincipalPO.getFunctionaryEmail()) ? "" : changeGoodsPrincipalPO.getFunctionaryEmail(); String functionaryEmail = StringUtils.isBlank(changeGoodsPrincipalPO.getFunctionaryEmail()) ? "" : changeGoodsPrincipalPO.getFunctionaryEmail();
...@@ -307,14 +348,19 @@ public class ChangeFlowExportCallback implements DesCallbackService { ...@@ -307,14 +348,19 @@ public class ChangeFlowExportCallback implements DesCallbackService {
changeFlowExcelDTO.setExecDepartment(changeExecRecord.getChangeExecDepartment()); changeFlowExcelDTO.setExecDepartment(changeExecRecord.getChangeExecDepartment());
Optional<IusUserInfoRsp> anyExeUser = userListInfo.stream() Optional<IusUserInfoRsp> anyExeUser = userListInfo.stream()
.filter(u -> u.getUid().equals(changeExecRecord.getChangeExecUserEmail())).findAny(); .filter(u -> u.getUid().equals(changeExecRecord.getChangeExecUserEmail())).findAny();
String execUserName = ""; String execUserName;
if (anyExeUser.isPresent()) { if (anyExeUser.isPresent()) {
execUserName = anyExeUser.get().getName(); execUserName = anyExeUser.get().getName();
} else {
// 批量查询没查到的人名,通过全量查询单独再查一次
IusUserInfoRsp user = iusService.queryUserInfo(changeExecRecord.getChangeExecUserEmail());
execUserName = user == null || StringUtils.isBlank(user.getName()) ? "" : user.getName();
} }
changeFlowExcelDTO.setChangeExecUser(execUserName + changeExecRecord.getChangeExecUserEmail()); changeFlowExcelDTO.setChangeExecUser(execUserName + changeExecRecord.getChangeExecUserEmail());
changeFlowExcelDTO.setChangeExecRiskDesc(changeExecRecord.getChangeRiskDesc()); changeFlowExcelDTO.setChangeExecRiskDesc(changeExecRecord.getChangeRiskDesc());
changeFlowExcelDTO.setChangeExecProject(changeExecRecord.getChangeExecProject()); changeFlowExcelDTO.setChangeExecProject(changeExecRecord.getChangeExecProject());
changeFlowExcelDTO.setChangeChecking(changeExecRecord.getChangeChecking()); changeFlowExcelDTO.setChangeChecking(
StringUtils.isBlank(changeExecRecord.getChangeChecking()) ? "/" : changeExecRecord.getChangeChecking());
Long changeExecFinishTime = changeExecRecord.getChangeExecFinishTime(); Long changeExecFinishTime = changeExecRecord.getChangeExecFinishTime();
if (changeExecFinishTime == 0L) { if (changeExecFinishTime == 0L) {
changeFlowExcelDTO.setChangeExecFinishTime("/"); changeFlowExcelDTO.setChangeExecFinishTime("/");
...@@ -322,7 +368,8 @@ public class ChangeFlowExportCallback implements DesCallbackService { ...@@ -322,7 +368,8 @@ public class ChangeFlowExportCallback implements DesCallbackService {
changeFlowExcelDTO.setChangeExecFinishTime( changeFlowExcelDTO.setChangeExecFinishTime(
DateUtils.parseLongToString(changeExecFinishTime, DateUtils.DATE_TIME_FORMAT)); DateUtils.parseLongToString(changeExecFinishTime, DateUtils.DATE_TIME_FORMAT));
} }
changeFlowExcelDTO.setChangeExecFinishDesc(changeExecRecord.getChangeExecFinishDesc()); changeFlowExcelDTO.setChangeExecFinishDesc(StringUtils.isBlank(changeExecRecord.getChangeExecFinishDesc()) ? "/"
: changeExecRecord.getChangeExecFinishDesc());
} }
/** /**
...@@ -331,23 +378,44 @@ public class ChangeFlowExportCallback implements DesCallbackService { ...@@ -331,23 +378,44 @@ public class ChangeFlowExportCallback implements DesCallbackService {
* @param changeSubjectEnum * @param changeSubjectEnum
* @return * @return
*/ */
private ChangeFlowExcelDTO obtainCommon(ChangeRecord record, ChangeSubjectEnum changeSubjectEnum) { private ChangeFlowExcelDTO obtainCommon(ChangeRecord record, ChangeSubjectEnum changeSubjectEnum, HashMap<String, List<SecondaryDepartments>> orgMap) {
ChangeFlowExcelDTO changeFlowExcelDTO = new ChangeFlowExcelDTO(); ChangeFlowExcelDTO changeFlowExcelDTO = new ChangeFlowExcelDTO();
changeFlowExcelDTO.setFlowId(record.getFlowId()); changeFlowExcelDTO.setFlowId(record.getFlowId());
String createTimeStr = DateUtils.parseLongToString(record.getCreateTime(), DateUtils.DATE_TIME_FORMAT); String createTimeStr = DateUtils.parseLongToString(record.getCreateTime(), DateUtils.DATE_TIME_FORMAT);
changeFlowExcelDTO.setCreateTime(createTimeStr); changeFlowExcelDTO.setCreateTime(createTimeStr);
changeFlowExcelDTO.setChangeCreator(record.getCreator()); // 供应商发起,展示供应商id,否则展示:用户名(部门名)
if (CreateSourceEnum.TONG_ZHOU.getType().equals(record.getCreateSource())) {
changeFlowExcelDTO.setChangeCreator(record.getCreateSupplier());
} else {
List<SecondaryDepartments> creator = orgMap.get(record.getCreator());
if (!CollectionUtils.isEmpty(creator)) {
Optional<SecondaryDepartments> anyOrg = creator.stream().filter(o -> o.getOrgPosLevel() == 97).findAny();
String orgName = "无三级部门";
if (anyOrg.isPresent()) {
orgName = anyOrg.get().getOrgPosName();
}
changeFlowExcelDTO.setChangeCreator(creator.get(0).getUserName() + "(" + orgName + ")");
}
}
changeFlowExcelDTO.setChangeSubject(changeSubjectEnum.getDesc()); changeFlowExcelDTO.setChangeSubject(changeSubjectEnum.getDesc());
ChangeType parentChangeType = changeTypeService.getChangeTypeById(record.getParentChangeClassId()); ChangeType parentChangeType = changeTypeService.getChangeTypeById(record.getParentChangeClassId());
ChangeType sonChangeType = changeTypeService.getChangeTypeById(record.getSonChangeClassId()); ChangeType sonChangeType = changeTypeService.getChangeTypeById(record.getSonChangeClassId());
changeFlowExcelDTO.setChangeType(parentChangeType.getTypeName() + ">" + sonChangeType.getTypeName()); changeFlowExcelDTO.setChangeType(parentChangeType.getTypeName() + ">" + sonChangeType.getTypeName());
changeFlowExcelDTO.setChangeLevel(record.getChangeLevel()); changeFlowExcelDTO.setChangeLevel(ChangeLevelEnum.getByType(record.getChangeLevel()));
changeFlowExcelDTO.setChangeDepartment(record.getChangeDepartment()); changeFlowExcelDTO.setChangeDepartment(record.getChangeDepartment());
changeFlowExcelDTO.setChangeCommander(record.getChangeCommander()); List<SecondaryDepartments> commander = orgMap.get(record.getChangeCommander());
if (!CollectionUtils.isEmpty(commander)) {
Optional<SecondaryDepartments> anyOrg = commander.stream().filter(o -> o.getOrgPosLevel() == 97).findAny();
String orgName = "无三级部门";
if (anyOrg.isPresent()) {
orgName = anyOrg.get().getOrgPosName();
}
changeFlowExcelDTO.setChangeCommander(commander.get(0).getUserName() + "(" + orgName + ")");
}
changeFlowExcelDTO.setChangeReason(record.getChangeReason()); changeFlowExcelDTO.setChangeReason(record.getChangeReason());
changeFlowExcelDTO.setChangeContent(record.getChangeContent()); changeFlowExcelDTO.setChangeContent(record.getChangeContent());
changeFlowExcelDTO.setChangeRiskDesc(record.getChangeRiskDesc()); changeFlowExcelDTO
// todo:变更收益类型和前端核对枚举 .setChangeRiskDesc(StringUtils.isBlank(record.getChangeRiskDesc()) ? "/" : record.getChangeRiskDesc());
changeFlowExcelDTO.setChangeProfit(ProfitTypeEnum.getByType(record.getChangeProfit())); changeFlowExcelDTO.setChangeProfit(ProfitTypeEnum.getByType(record.getChangeProfit()));
changeFlowExcelDTO.setChangeProfitDesc(record.getChangeProfitDesc()); changeFlowExcelDTO.setChangeProfitDesc(record.getChangeProfitDesc());
return changeFlowExcelDTO; return changeFlowExcelDTO;
......
...@@ -10,6 +10,7 @@ import java.util.List; ...@@ -10,6 +10,7 @@ import java.util.List;
import com.netease.mail.yanxuan.change.common.bean.RequestLocalBean; import com.netease.mail.yanxuan.change.common.bean.RequestLocalBean;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
...@@ -21,6 +22,7 @@ import com.netease.mail.yanxuan.change.common.bean.ResponseCodeEnum; ...@@ -21,6 +22,7 @@ import com.netease.mail.yanxuan.change.common.bean.ResponseCodeEnum;
import com.netease.mail.yanxuan.change.common.enums.ChangeFlowEnum; import com.netease.mail.yanxuan.change.common.enums.ChangeFlowEnum;
import com.netease.mail.yanxuan.change.common.enums.FlowxOperationEnum; import com.netease.mail.yanxuan.change.common.enums.FlowxOperationEnum;
import com.netease.mail.yanxuan.change.integration.flow.FlowRpcService; import com.netease.mail.yanxuan.change.integration.flow.FlowRpcService;
import com.netease.mail.yanxuan.change.integration.flow.ius.rsp.IusUserInfoRsp;
import com.netease.yanxuan.flowx.sdk.meta.controller.communal.AjaxResponse; import com.netease.yanxuan.flowx.sdk.meta.controller.communal.AjaxResponse;
import com.netease.yanxuan.flowx.sdk.meta.dto.base.FlowDataDTO; import com.netease.yanxuan.flowx.sdk.meta.dto.base.FlowDataDTO;
import com.netease.yanxuan.flowx.sdk.meta.dto.base.UserBaseDTO; import com.netease.yanxuan.flowx.sdk.meta.dto.base.UserBaseDTO;
...@@ -42,6 +44,9 @@ public class FlowService { ...@@ -42,6 +44,9 @@ public class FlowService {
@Autowired @Autowired
private FlowRpcService flowRpcService; private FlowRpcService flowRpcService;
@Autowired
private IusService iusService;
/** /**
* 创建工单 * 创建工单
* @param flowCreateReqDTO * @param flowCreateReqDTO
...@@ -78,6 +83,11 @@ public class FlowService { ...@@ -78,6 +83,11 @@ public class FlowService {
public String submitFlow(String flowId, FlowDataDTO flowDataDTO, String uid, String topoId, String content, public String submitFlow(String flowId, FlowDataDTO flowDataDTO, String uid, String topoId, String content,
boolean approved, String operateResult, String remark, Long createTime) { boolean approved, String operateResult, String remark, Long createTime) {
String name = RequestLocalBean.getName(); String name = RequestLocalBean.getName();
// 系统自动提交,没有登录态获取不到名字,查询ius系统填充人名,还未查询到以邮箱兜底
if (StringUtils.isBlank(name)) {
IusUserInfoRsp user = iusService.queryUserInfo(uid);
name = user == null || StringUtils.isBlank(user.getName()) ? uid : user.getName();
}
NodeSubmitReqDTO nodeSubmitReqDTO = new NodeSubmitReqDTO(); NodeSubmitReqDTO nodeSubmitReqDTO = new NodeSubmitReqDTO();
nodeSubmitReqDTO.setFlowId(flowId); nodeSubmitReqDTO.setFlowId(flowId);
nodeSubmitReqDTO.setNodeId(flowDataDTO.getFlowMeta().getCurrNodeDataList().get(0).getNodeId()); nodeSubmitReqDTO.setNodeId(flowDataDTO.getFlowMeta().getCurrNodeDataList().get(0).getNodeId());
......
...@@ -65,4 +65,20 @@ public class IusService { ...@@ -65,4 +65,20 @@ public class IusService {
return new ArrayList<>(); return new ArrayList<>();
} }
} }
/**
* 根据邮箱查询单个用户信息
*/
public IusUserInfoRsp queryUserInfo(String uid) {
log.info("[queryUserInfo] queryUserInfo req:{}", uid);
// icac==true未全局查询,需保证必须查到用户名
AjaxResponse<IusUserInfoRsp> response = iusRpcService.queryUserInfo(uid, true);
log.info("[queryUserInfo] response of queryUserInfo ={}", JSON.toJSONString(response));
if (ResponseCodeEnum.SUCCESS.getCode() == response.getCode()) {
return response.getData();
} else {
log.error("[queryUserInfo] queryUserInfo failed, query={}, errMsg={}", uid, JSON.toJSONString(response));
return null;
}
}
} }
\ No newline at end of file
...@@ -5,26 +5,33 @@ package com.netease.mail.yanxuan.change.common.enums; ...@@ -5,26 +5,33 @@ package com.netease.mail.yanxuan.change.common.enums;
* @date 2022/11/16/016$ * @date 2022/11/16/016$
*/ */
public enum ChangeLevelEnum { public enum ChangeLevelEnum {
IMPORTANT(1,"重要变更"),
PRINCIPAL(1,"重要变更"), COMMONLY(2,"一般变更");
ORDINARY(2,"一般变更");
private Integer type; private Integer type;
private String desc; private String desc;
ChangeLevelEnum(Integer status, String desc) { ChangeLevelEnum(Integer type, String desc) {
this.type = status; this.type = type;
this.desc = desc; this.desc = desc;
} }
public Integer getStatus() { public Integer getType() {
return type; return type;
} }
public String getDesc() { public String getDesc() {
return desc; return desc;
} }
public static String getByType(Integer type) {
for (ChangeLevelEnum value : ChangeLevelEnum.values()) {
if (value.getType().equals(type)) {
return value.getDesc();
}
}
return null;
}
} }
...@@ -12,9 +12,9 @@ package com.netease.mail.yanxuan.change.common.enums; ...@@ -12,9 +12,9 @@ package com.netease.mail.yanxuan.change.common.enums;
*/ */
public enum MainSpuStatusEnum { public enum MainSpuStatusEnum {
INIT(0,"未上架"), INIT(0,"未上架"),
NOT_ON_SHELVES(3,"未上架"), NOT_ON_SHELVES(1,"未上架"),
ON_SHELVES(4,"已上架"), ON_SHELVES(2,"已上架"),
PRESHELVING(5,"预上架"); PRESHELVING(4,"预上架");
private Integer status; private Integer status;
......
...@@ -13,7 +13,7 @@ package com.netease.mail.yanxuan.change.common.enums; ...@@ -13,7 +13,7 @@ package com.netease.mail.yanxuan.change.common.enums;
public enum ProfitTypeEnum { public enum ProfitTypeEnum {
RISK_CONTROL(1, "风险控制类"), RISK_CONTROL(1, "风险控制类"),
REDUCE_COST(2, "降本类"), REDUCE_COST(2, "降本类"),
PRODUCT_IMPROVE(3, "商品改善"), PRODUCT_IMPROVE(3, "商品改善"),
REPLACE_CERTIFICATES_WHEN_EXPIRE(4, "证件到期更换"), REPLACE_CERTIFICATES_WHEN_EXPIRE(4, "证件到期更换"),
OTHER(5, "其他"), OTHER(5, "其他"),
NO(6, "无"); NO(6, "无");
......
...@@ -52,7 +52,7 @@ public class ChangeFlowExcelDTO { ...@@ -52,7 +52,7 @@ public class ChangeFlowExcelDTO {
* 变更等级 * 变更等级
*/ */
@Excel(name = "变更等级") @Excel(name = "变更等级")
private Integer changeLevel; private String changeLevel;
/** /**
* 变更负责部门名 * 变更负责部门名
......
...@@ -62,7 +62,7 @@ public class ChangeFlowExcelVo { ...@@ -62,7 +62,7 @@ public class ChangeFlowExcelVo {
/** /**
* 变更负责部门名 * 变更负责部门名
*/ */
@ExcelTitleName(title = "变更负责部门", order = 7) @ExcelTitleName(title = "变更负责部门", order = 7)
private String changeDepartment; private String changeDepartment;
/** /**
...@@ -185,7 +185,7 @@ public class ChangeFlowExcelVo { ...@@ -185,7 +185,7 @@ public class ChangeFlowExcelVo {
/** /**
* 行动项变更风险描述 * 行动项变更风险描述
*/ */
@ExcelTitleName(title = "行动项变更风险描述", order = 28) @ExcelTitleName(title = "变更风险描述", order = 28)
private String changeExecRiskDesc; private String changeExecRiskDesc;
/** /**
......
...@@ -30,7 +30,8 @@ public interface IusRpcService { ...@@ -30,7 +30,8 @@ public interface IusRpcService {
* @return * @return
*/ */
@GetMapping("/v1/qc/user/get") @GetMapping("/v1/qc/user/get")
AjaxResponse<IusUserInfoRsp> queryUserInfo(@RequestParam(name = "uid")String uid); AjaxResponse<IusUserInfoRsp> queryUserInfo(@RequestParam(name = "uid") String uid,
@RequestParam(name = "icac") Boolean icac);
/** /**
* 获取指定用户信息,是否返回操作记录、关联的角色信息。当uid和userId都传时,需保证指向同一个用户。 * 获取指定用户信息,是否返回操作记录、关联的角色信息。当uid和userId都传时,需保证指向同一个用户。
...@@ -45,8 +46,8 @@ public interface IusRpcService { ...@@ -45,8 +46,8 @@ public interface IusRpcService {
* @param uid * @param uid
* @return * @return
*/ */
@GetMapping("/v1/qc/allTeam/pos/queryLeaderChain") /*@GetMapping("/v1/qc/allTeam/pos/queryLeaderChain")
AjaxResponse<List<OrgPosLeaderChainRsp>> queryLeaderChain(@RequestParam(name = "uid")String uid); AjaxResponse<List<OrgPosLeaderChainRsp>> queryLeaderChain(@RequestParam(name = "uid")String uid);*/
/** /**
* 查询用户的负责人链(直接上级和所有上级),返回(key=用户邮箱,value=用户所属所有部门的上级(包括本部门)负责人链) * 查询用户的负责人链(直接上级和所有上级),返回(key=用户邮箱,value=用户所属所有部门的上级(包括本部门)负责人链)
......
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