|
|
|
@ -1316,9 +1316,13 @@ public class PartInformationServiceImpl extends ServiceImpl<PartInformationMappe |
|
|
|
@Override |
|
|
|
@Transactional |
|
|
|
public void partInformationDelete(PartInformationEntity data) { |
|
|
|
long startTime = System.currentTimeMillis(); |
|
|
|
log.info("Start deleting part: site={}, partNo={}", data.getSite(), data.getPartNo()); |
|
|
|
|
|
|
|
HashMap<String, Object> map1 = new HashMap<>(); |
|
|
|
HashMap<String, Object> map2 = new HashMap<>(); |
|
|
|
|
|
|
|
long validateStartTime = System.currentTimeMillis(); |
|
|
|
// 校验BOM 和 Routing是否存在 |
|
|
|
List<BomHeaderEntity> bomList = bomManagementMapper.selectList(new QueryWrapper<BomHeaderEntity>().eq("site", data.getSite()).eq("part_no", data.getPartNo())); |
|
|
|
if (!bomList.isEmpty()) { |
|
|
|
@ -1336,7 +1340,7 @@ public class PartInformationServiceImpl extends ServiceImpl<PartInformationMappe |
|
|
|
if (partInformationMapper.checkQuotationInformation(data.getSite(), data.getPlmPartNo()) > 0) { |
|
|
|
throw new RuntimeException("物料被询价单引用,不允许删除!"); |
|
|
|
} |
|
|
|
if (partInformationMapper.checkQuoteGroupDetail(data.getSite(), data.getPartNo()) > 0) { |
|
|
|
if (partInformationMapper.checkQuoteGroupDetail(data.getSite(), data.getPlmPartNo()) > 0) { |
|
|
|
throw new RuntimeException("物料被报价单引用,不允许删除!"); |
|
|
|
} |
|
|
|
if (partInformationMapper.checkTestInformation(data.getSite(), data.getPlmPartNo()) > 0) { |
|
|
|
@ -1345,18 +1349,22 @@ public class PartInformationServiceImpl extends ServiceImpl<PartInformationMappe |
|
|
|
if (partInformationMapper.checkProofingInformation(data.getSite(), data.getPlmPartNo()) > 0) { |
|
|
|
throw new RuntimeException("物料被打样单引用,不允许删除!"); |
|
|
|
} |
|
|
|
if (partInformationMapper.checkProjectToolApplyDetail(data.getSite(), data.getPartNo()) > 0) { |
|
|
|
if (partInformationMapper.checkProjectToolApplyDetail(data.getSite(), data.getPlmPartNo()) > 0) { |
|
|
|
throw new RuntimeException("物料被刀具申请单引用,不允许删除!"); |
|
|
|
} |
|
|
|
if (partInformationMapper.checkTechnicalSpecificationSheet(data.getSite(), data.getPlmPartNo()) > 0) { |
|
|
|
throw new RuntimeException("物料被技术参数卡引用,不允许删除!"); |
|
|
|
} |
|
|
|
if (partInformationMapper.checkChangeRequestDetail(data.getSite(), data.getPartNo()) > 0) { |
|
|
|
if (partInformationMapper.checkChangeRequestDetail(data.getSite(), data.getPlmPartNo()) > 0) { |
|
|
|
throw new RuntimeException("物料被工程变更单引用,不允许删除!"); |
|
|
|
} |
|
|
|
|
|
|
|
PartInformationEntity partEntity = partInformationMapper.selectOne(new QueryWrapper<PartInformationEntity>().eq("site", data.getSite()).eq("part_no", data.getPartNo())); |
|
|
|
long validateEndTime = System.currentTimeMillis(); |
|
|
|
log.info("Delete part [{}] - Validation phase took: {} ms", data.getPartNo(), (validateEndTime - validateStartTime)); |
|
|
|
|
|
|
|
// 如果是正式物料,调用IFS系统的物料删除接口 |
|
|
|
long ifsStartTime = System.currentTimeMillis(); |
|
|
|
if ("Y".equals(partEntity.getStatus())) { |
|
|
|
String username = com.spring.common.utils.ShiroUtils.getUserEntity().getUsername(); |
|
|
|
Server srv = getIfsServer(username); |
|
|
|
@ -1368,7 +1376,10 @@ public class PartInformationServiceImpl extends ServiceImpl<PartInformationMappe |
|
|
|
throw new RuntimeException("IFS物料删除异常:" + deleteInventoryPartResponse.get("resultMsg")); |
|
|
|
} |
|
|
|
} |
|
|
|
long ifsEndTime = System.currentTimeMillis(); |
|
|
|
log.info("Delete part [{}] - Call IFS interface took: {} ms", data.getPartNo(), (ifsEndTime - ifsStartTime)); |
|
|
|
|
|
|
|
long plmStartTime = System.currentTimeMillis(); |
|
|
|
// 条件 |
|
|
|
map1.put("site", data.getSite()); |
|
|
|
map1.put("part_no", data.getPartNo()); |
|
|
|
@ -1395,6 +1406,11 @@ public class PartInformationServiceImpl extends ServiceImpl<PartInformationMappe |
|
|
|
partInformationMapper.deletePartSubPropertiesValue(partData); |
|
|
|
// 判断有无项目物料,有则删除 |
|
|
|
partInformationMapper.delProjectPartByPartNo(data.getSite(), data.getPartNo()); |
|
|
|
long plmEndTime = System.currentTimeMillis(); |
|
|
|
log.info("Delete part [{}] - Delete PLM data took: {} ms", data.getPartNo(), (plmEndTime - plmStartTime)); |
|
|
|
|
|
|
|
long endTime = System.currentTimeMillis(); |
|
|
|
log.info("Delete part [{}] - Total time: {} ms", data.getPartNo(), (endTime - startTime)); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
|