|
|
|
@ -1662,33 +1662,42 @@ public class ChangeManagementServiceImpl extends ServiceImpl<ChangeManagementMap |
|
|
|
changeRequestEntity.setChangeNo(paramData.getDocNo()); |
|
|
|
List<ChangeRequestDetailEntity> codelist = changeManagementMapper.requestDetailSearch(changeRequestEntity); |
|
|
|
for (ChangeRequestDetailEntity detail : codelist) { |
|
|
|
// 查出BM版本号 |
|
|
|
PlmTechnicalSpecificationSheetData ptssd = changeManagementMapper.getTechnicalSpecification(detail.getSite(), detail.getCodeNo()); |
|
|
|
int revNo; |
|
|
|
try { |
|
|
|
revNo = Integer.parseInt(ptssd.getRevNo()) + 1; |
|
|
|
} catch (NumberFormatException e) { |
|
|
|
throw new RuntimeException("转换错误: 版本号不是一个有效的整数!"); |
|
|
|
} |
|
|
|
List<Object> params = new ArrayList<>(); |
|
|
|
params.add(detail.getSite()); |
|
|
|
params.add(detail.getCodeNo()); |
|
|
|
params.add(ptssd.getRevNo()); |
|
|
|
params.add(ptssd.getOriCodeNo()); |
|
|
|
params.add(revNo); |
|
|
|
params.add(paramData.getUserName()); |
|
|
|
//执行方法 |
|
|
|
List<Map<String, Object>> resultList = procedureDao.getProcedureData("plm_bm_upRevNo", params); |
|
|
|
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()); |
|
|
|
// 执行复制方法 |
|
|
|
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()); |
|
|
|
// 执行升版方法 |
|
|
|
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 (StringUtils.isNotBlank(detail.getNewPartNo())) { |
|
|
|
changeManagementMapper.updatePartActive(detail.getSite(), detail.getPartNo()); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} else { // 未结束 |
|
|
|
|