Browse Source

2025-06-07

技术参数卡升版操作:目前是在流程结束的时候才升版,需要是在***节点结束时执行升版操作(放到特殊管控中 - 执行确认前的节点)
master
fengyuan_yang 7 months ago
parent
commit
af122df1e9
  1. 104
      src/main/java/com/spring/modules/change/service/impl/ChangeManagementServiceImpl.java

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

@ -1424,7 +1424,62 @@ public class ChangeManagementServiceImpl extends ServiceImpl<ChangeManagementMap
changeManagementMapper.updateProcessNode(paramData.getSite(), paramData.getBu() == null ? "" : paramData.getBu(), paramData.getRequestId(), paramData.getClassificationNo(), paramData.getNodeId(), paramData.getNodeConclusion(), paramData.getRejectOpinion(), paramData.getDomainControlAccount());
changeManagementMapper.updateProcessForm2(paramData);
}
// =========================
// 技术参数卡升版操作目前是在流程结束的时候才升版需要是在***节点结束时执行升版操作放到特殊管控中 - 执行确认前的节点
PlmProcessControllBaseData cData = new PlmProcessControllBaseData();
cData.setSite(paramData.getSite());
cData.setNodeId(paramData.getNodeId());
cData.setWorkflowId(paramData.getWorkflowId());
cData.setRoleId(7);
List<PlmProcessControllBaseData> controlList = requestManageMapper.getProcessSelect2(cData);
// 如果是ECN则执行升版操作且节点勾选了特殊管控
if (Constant.ECN.equals(type) && !controlList.isEmpty()) {
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());
// 执行复制方法
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());
// 执行升版方法
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);
}
}
}
if (isRemarks.isEmpty()) { // 已结束
// 反刷单据状态为 "已完成"
paramData.setStatus("已完成");
@ -1439,53 +1494,6 @@ public class ChangeManagementServiceImpl extends ServiceImpl<ChangeManagementMap
// 2025-05-31 流程结束时按照如下SQL插入到process表中调整后需要调整存储过程
changeManagementMapper.saveProcessFormBySql(paramData.getSite(), paramData.getDocNo(), paramData.getClassificationNo());
// 如果是ECN则执行升版操作
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());
// 执行复制方法
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());
// 执行升版方法
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);
}
}
}
// 2025-05-13 删除异构系统指定人员待办流程异常信息
for (OaUserData oaUser : oaUserList) {
deleteUserRequestInfoParam.setUserId(oaUser.getId());

Loading…
Cancel
Save