Browse Source

2026-04-23

优化
master
fengyuan_yang 2 months ago
parent
commit
8af56ff00a
  1. 22
      src/main/java/com/spring/modules/part/service/impl/PartInformationServiceImpl.java

22
src/main/java/com/spring/modules/part/service/impl/PartInformationServiceImpl.java

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

Loading…
Cancel
Save