From dc779f5b12cc2083b3ebb4d5a835105cc72b5d15 Mon Sep 17 00:00:00 2001 From: funny <834502597@qq.com> Date: Mon, 11 May 2026 16:03:20 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E7=8A=B6=E6=80=81=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../QmsIssueTicketControllerService.java | 24 ++++++++++++++++++- .../QmsPdiTaskRecordControllerService.java | 14 +++++++---- 2 files changed, 33 insertions(+), 5 deletions(-) diff --git a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsIssueTicketControllerService.java b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsIssueTicketControllerService.java index 11b18a53..1085f0bd 100644 --- a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsIssueTicketControllerService.java +++ b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsIssueTicketControllerService.java @@ -224,7 +224,12 @@ public class QmsIssueTicketControllerService { throw new NflgException(STATE.BusinessError, "PDI检测任务记录不存在"); } - // 2. 校验是否已存在工单 + // 2. 校验任务状态必须为3(待流转) + if (!Objects.equals(taskRecord.getInspectionEnable(), 3)) { + throw new NflgException(STATE.BusinessError, "只有待流转状态的任务才能创建工单,当前状态:" + taskRecord.getInspectionEnable()); + } + + // 3. 校验是否已存在工单 QmsIssueTicket existingTicket = issueTicketService.lambdaQuery() .eq(QmsIssueTicket::getSourceType, (short) 1) .eq(QmsIssueTicket::getSourceId, request.getTaskRecordId()) @@ -309,6 +314,12 @@ public class QmsIssueTicketControllerService { issueTicketService.save(entity); + // 创建工单成功后,将任务状态从3(待流转)改为2(已完成) + pdiTaskRecordService.lambdaUpdate() + .eq(QmsPdiTaskRecord::getId, taskRecord.getId()) + .set(QmsPdiTaskRecord::getInspectionEnable, 2) + .update(); + // 9. 查询该任务的不合格检测项 List unqualifiedItems = initiatePdiTicket(request.getTaskRecordId()); @@ -682,6 +693,11 @@ public class QmsIssueTicketControllerService { throw new NflgException(STATE.BusinessError, "PDI检测任务记录不存在"); } + // 校验任务状态必须为3(待流转) + if (!Objects.equals(taskRecord.getInspectionEnable(), 3)) { + throw new NflgException(STATE.BusinessError, "只有待流转状态的任务才能创建工单,当前状态:" + taskRecord.getInspectionEnable()); + } + // 校验是否已存在工单(同一taskRecordId只能创建一次工单) QmsIssueTicket existingTicket = issueTicketService.lambdaQuery() .eq(QmsIssueTicket::getSourceType, (short) 1) @@ -763,6 +779,12 @@ public class QmsIssueTicketControllerService { issueTicketService.save(entity); + // 创建工单成功后,将任务状态从3(待流转)改为2(已完成) + pdiTaskRecordService.lambdaUpdate() + .eq(QmsPdiTaskRecord::getId, taskRecord.getId()) + .set(QmsPdiTaskRecord::getInspectionEnable, 2) + .update(); + // 按处理人分组,异步新增工单处理记录并推送待办 Map> handlerToResultsMap = request.getHandlers().stream() .collect(Collectors.groupingBy( diff --git a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsPdiTaskRecordControllerService.java b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsPdiTaskRecordControllerService.java index b6da8ab3..135ff5e6 100644 --- a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsPdiTaskRecordControllerService.java +++ b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsPdiTaskRecordControllerService.java @@ -188,14 +188,17 @@ public class QmsPdiTaskRecordControllerService { vo.setComponentsDes(si.getComponentsDes()); vo.setInspectionContent(si.getInspectionContent()); // inspectionImage 是文件ID,需要转换为URL + String inspectionImageUrl = ""; if (si.getInspectionImage() != null && !si.getInspectionImage().isEmpty()) { try { Long imageId = Long.parseLong(si.getInspectionImage()); - vo.setInspectionImage(finalImageUrlMap.get(imageId)); + String url = finalImageUrlMap.get(imageId); + inspectionImageUrl = url != null ? url : ""; } catch (NumberFormatException e) { - vo.setInspectionImage(null); + inspectionImageUrl = ""; } } + vo.setInspectionImage(inspectionImageUrl); } // 现场图已经是List,无需转换(在下一步处理) vo.setInspectionItemImage(convertImageIdsToVO(r.getInspectionItemImage())); @@ -263,14 +266,17 @@ public class QmsPdiTaskRecordControllerService { vo.setComponentsDes(si.getComponentsDes()); vo.setInspectionContent(si.getInspectionContent()); // inspectionImage 是文件ID,需要转换为URL + String inspectionImageUrl = ""; if (si.getInspectionImage() != null && !si.getInspectionImage().isEmpty()) { try { Long imageId = Long.parseLong(si.getInspectionImage()); - vo.setInspectionImage(finalImageUrlMap.get(imageId)); + String url = finalImageUrlMap.get(imageId); + inspectionImageUrl = url != null ? url : ""; } catch (NumberFormatException e) { - vo.setInspectionImage(null); + inspectionImageUrl = ""; } } + vo.setInspectionImage(inspectionImageUrl); } vo.setInspectionItemImage(convertImageIdsToVO(r.getInspectionItemImage())); vo.setInspectionBy(r.getInspectionBy());