From 5eff7ea7b991be1d63dd3665fb992782acadbc91 Mon Sep 17 00:00:00 2001 From: yf001217 <834502597@qq.com> Date: Sat, 13 Jun 2026 17:59:20 +0800 Subject: [PATCH] =?UTF-8?q?pdi=E5=AF=BC=E5=85=A5=E9=80=BB=E8=BE=91?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../QmsPdiStatusItemControllerService.java | 53 ++++++++++++------- 1 file changed, 33 insertions(+), 20 deletions(-) diff --git a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsPdiStatusItemControllerService.java b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsPdiStatusItemControllerService.java index 6fe2f9fc..43c5b2bb 100644 --- a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsPdiStatusItemControllerService.java +++ b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsPdiStatusItemControllerService.java @@ -90,25 +90,13 @@ public class QmsPdiStatusItemControllerService { // 部件已存在,直接使用 componentsId = existingComponent.getId(); } else { - // 新部件,插入到部件表(sort按检测规则ID + 状态独立计算) - Integer maxComponentSort = componentAnagementService.lambdaQuery() - .eq(QmsPdiComponentAnagement::getDetectionRulesId, request.getDetectionRulesId()) - .eq(QmsPdiComponentAnagement::getStatus, request.getStatus()) - .orderByDesc(QmsPdiComponentAnagement::getSort) - .last("LIMIT 1") - .oneOpt() - .map(QmsPdiComponentAnagement::getSort) - .orElse(0); - - QmsPdiComponentAnagement component = new QmsPdiComponentAnagement(); - component.setComponentName(request.getComponentsDes()); - component.setDetectionRulesId(request.getDetectionRulesId()); - component.setStatus(request.getStatus() != null ? request.getStatus().shortValue() : null); - component.setSort(maxComponentSort + 1); - component.setCreateBy(operator); - component.setCreateTime(now); - componentAnagementService.save(component); - + QmsPdiComponentAnagement component = createComponent( + request.getDetectionRulesId(), + request.getStatus(), + request.getComponentsDes(), + operator, + now + ); componentsId = component.getId(); } } @@ -382,7 +370,7 @@ public class QmsPdiStatusItemControllerService { .eq(QmsPdiComponentAnagement::getComponentName, dto.getComponentsDes()) .one(); if (component == null) { - throw new NflgException(STATE.BusinessError, "部件名称不存在,无法导入:" + dto.getComponentsDes()); + component = createComponent(detectionRulesId, status, dto.getComponentsDes(), operator, now); } componentsId = component.getId(); componentNameToIdMap.put(dto.getComponentsDes(), componentsId); @@ -619,6 +607,31 @@ public class QmsPdiStatusItemControllerService { .orElse(0); } + private QmsPdiComponentAnagement createComponent(Long detectionRulesId, + Integer status, + String componentName, + String operator, + LocalDateTime now) { + Integer maxComponentSort = componentAnagementService.lambdaQuery() + .eq(QmsPdiComponentAnagement::getDetectionRulesId, detectionRulesId) + .eq(QmsPdiComponentAnagement::getStatus, status) + .orderByDesc(QmsPdiComponentAnagement::getSort) + .last("LIMIT 1") + .oneOpt() + .map(QmsPdiComponentAnagement::getSort) + .orElse(0); + + QmsPdiComponentAnagement component = new QmsPdiComponentAnagement(); + component.setComponentName(componentName); + component.setDetectionRulesId(detectionRulesId); + component.setStatus(status != null ? status.shortValue() : null); + component.setSort(maxComponentSort + 1); + component.setCreateBy(operator); + component.setCreateTime(now); + componentAnagementService.save(component); + return component; + } + /** * 若主表维护状态为未维护,则更新为已维护 */