Browse Source

2026-02-26

升版放在统一代办消息之前一步,如果是最后一个节点,就删除代办后判断升版
master
fengyuan_yang 2 days ago
parent
commit
54101307f0
  1. 107
      src/main/java/com/spring/modules/change/service/impl/ChangeManagementServiceImpl.java

107
src/main/java/com/spring/modules/change/service/impl/ChangeManagementServiceImpl.java

@ -1602,6 +1602,56 @@ public class ChangeManagementServiceImpl extends ServiceImpl<ChangeManagementMap
// throw new RuntimeException("删除异构系统指定人员待办流程异常信息:" + deleteUserRequestInfoResponses.getMsg());
// }
}
// 如果是ECN则执行升版操作且节点勾选了特殊管控 -- 2025-10-28 特殊权限改到存储过程判断 -- 2025-12-05 存储过程改为修改stepId以后再升版 -- 2026-02-26 最后一个节点删除代办后判断执行
if (Constant.ECN.equals(type)) {
ChangeRequestEntity changeRequestEntity = new ChangeRequestEntity();
changeRequestEntity.setSite(paramData.getSite());
changeRequestEntity.setChangeNo(paramData.getDocNo());
List<ChangeRequestDetailEntity> codelist = changeManagementMapper.requestDetailSearch(changeRequestEntity);
for (ChangeRequestDetailEntity detail : codelist) {
List<Object> params = new ArrayList<>();
List<Map<String, Object>> resultList;
// 判断有没有填写新物料编码
if (StringUtils.isNotBlank(detail.getNewPartNo())) { // 选择了新物料
params.add(detail.getSite());
params.add(detail.getCodeNo());
params.add(detail.getNewPartNo());
params.add(paramData.getUserName());
params.add(paramData.getDocNo());
params.add(paramData.getNodeId());
// 执行复制方法
resultList = procedureDao.getProcedureData("plm_copy_bm", params);
// 如果有新物料编码则停用之前的物料
changeManagementMapper.updatePartActive(detail.getSite(), detail.getPartNo());
} else {
// 查出BM版本号
PlmTechnicalSpecificationSheetData ptssd = changeManagementMapper.getTechnicalSpecification(detail.getSite(), detail.getCodeNo());
int revNo;
try {
revNo = Integer.parseInt(ptssd.getRevNo()) + 1;
} catch (NumberFormatException e) {
throw new RuntimeException("转换错误: 版本号不是一个有效的整数!");
}
params.add(detail.getSite());
params.add(detail.getCodeNo());
params.add(ptssd.getRevNo());
params.add(ptssd.getOriCodeNo());
params.add(revNo);
params.add(paramData.getUserName());
params.add(paramData.getDocNo());
params.add(paramData.getNodeId());
// 执行升版方法
resultList = procedureDao.getProcedureData("plm_bm_upRevNo", params);
}
//判断是否成功
String code = String.valueOf(resultList.get(0).get("resultCode"));
if ("400".equalsIgnoreCase(code)) {
String msg = String.valueOf(resultList.get(0).get("resultMsg"));
throw new RuntimeException(msg);
}
}
}
} else { // 未结束
// 调用获取最新节点ID的接口
String getWorkflowRequestURL = apiUrlOa + "/oa/interface/getWorkflowRequest";
@ -1737,34 +1787,7 @@ public class ChangeManagementServiceImpl extends ServiceImpl<ChangeManagementMap
// }
}
// 9统一待办接口
for (String key : dcas.keySet()) {
// 创建单点登录地址
String url = loginTokenUrl + "?dca=" + key + "&token=" + dcas.get(key).split("#")[0] + "&site=" + paramData.getSite() + "&path=" + paramData.getPath() + "&docNo=" + paramData.getDocNo();
ReceiveRequestInfoParam receiveRequestInfoParam = new ReceiveRequestInfoParam(
paramData.getUserId(),
"PLM",
paramData.getWorkflowId() + paramData.getRequestId(),
requestName,
paramData.getWorkflowName(),
String.valueOf(isRemarks.get(0).get("nodeName")),
url,
dcas.get(key).split("#")[2],
"0",
paramData.getUserId(),
DateUtils.getStringNow(),
dcas.get(key).split("#")[1],
DateUtils.getStringNow(),
String.valueOf(new Date().getTime()));
String receiveRequestInfoURL = apiUrlOa + "/oa/interface/receiveRequestInfoByJson";
ResponseData receiveRequestInfoResponse = HttpClientUtil.doPostByRawWithOA(receiveRequestInfoURL, receiveRequestInfoParam);
if (!"0".equals(receiveRequestInfoResponse.getCode())) {
throw new RuntimeException("统一待办异常信息:" + receiveRequestInfoResponse.getMsg());
}
}
}
// 如果是ECN则执行升版操作且节点勾选了特殊管控 -- 2025-10-28 特殊权限改到存储过程判断 -- 2025-12-05 存储过程改为修改stepId以后再升版
// 如果是ECN则执行升版操作且节点勾选了特殊管控 -- 2025-10-28 特殊权限改到存储过程判断 -- 2025-12-05 存储过程改为修改stepId以后再升版 -- 2026-02-26 存储过程改为升版操作放到统一代办接口前执行
if (Constant.ECN.equals(type)) {
ChangeRequestEntity changeRequestEntity = new ChangeRequestEntity();
changeRequestEntity.setSite(paramData.getSite());
@ -1813,6 +1836,34 @@ public class ChangeManagementServiceImpl extends ServiceImpl<ChangeManagementMap
}
}
}
// 9统一待办接口
for (String key : dcas.keySet()) {
// 创建单点登录地址
String url = loginTokenUrl + "?dca=" + key + "&token=" + dcas.get(key).split("#")[0] + "&site=" + paramData.getSite() + "&path=" + paramData.getPath() + "&docNo=" + paramData.getDocNo();
ReceiveRequestInfoParam receiveRequestInfoParam = new ReceiveRequestInfoParam(
paramData.getUserId(),
"PLM",
paramData.getWorkflowId() + paramData.getRequestId(),
requestName,
paramData.getWorkflowName(),
String.valueOf(isRemarks.get(0).get("nodeName")),
url,
dcas.get(key).split("#")[2],
"0",
paramData.getUserId(),
DateUtils.getStringNow(),
dcas.get(key).split("#")[1],
DateUtils.getStringNow(),
String.valueOf(new Date().getTime()));
String receiveRequestInfoURL = apiUrlOa + "/oa/interface/receiveRequestInfoByJson";
ResponseData receiveRequestInfoResponse = HttpClientUtil.doPostByRawWithOA(receiveRequestInfoURL, receiveRequestInfoParam);
if (!"0".equals(receiveRequestInfoResponse.getCode())) {
throw new RuntimeException("统一待办异常信息:" + receiveRequestInfoResponse.getMsg());
}
}
}
}
/**

Loading…
Cancel
Save