|
|
|
@ -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()); |
|
|
|
|