From 71d8178fd7fc6b73941290df585b044cfec1e0f1 Mon Sep 17 00:00:00 2001 From: yf001217 <834502597@qq.com> Date: Mon, 15 Jun 2026 14:47:23 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E5=B7=A5=E5=8D=95=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../QmsIssueTicketControllerService.java | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) 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 c71222ab..1155f804 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 @@ -1181,6 +1181,7 @@ public class QmsIssueTicketControllerService { vo.setProjectNo(ticket.getProjectNo()); vo.setIncidentType(ticket.getIncidentType()); vo.setExceptionCode(ticket.getExceptionCode()); + vo.setImpactQuantity(ticket.getImpactQuantity()); vo.setSourceType(ticket.getSourceType()); vo.setCreateUserName(ticket.getCreateUserName()); vo.setCreateTime(ticket.getCreateTime()); @@ -1479,6 +1480,21 @@ public class QmsIssueTicketControllerService { filteredTaskResultIds ); } + + issueTicketToDoService.lambdaUpdate() + .eq(QmsIssueTicketToDo::getTicketId, entity.getId()) + .eq(QmsIssueTicketToDo::getHandlerUserId, entity.getCreateUserId()) + .eq(QmsIssueTicketToDo::getHasProcessed, false) + .set(QmsIssueTicketToDo::getHasProcessed, true) + .update(); + + issueTicketService.lambdaUpdate() + .eq(QmsIssueTicket::getId, entity.getId()) + .set(QmsIssueTicket::getStatus, (short) 1) + .set(QmsIssueTicket::getUpdateUserId, userId) + .set(QmsIssueTicket::getUpdateUserName, userName) + .set(QmsIssueTicket::getUpdateTime, now) + .update(); } private void addIssueTicketProcessAndTodo(Long issueTicketId, Long handlerUserId, List taskResultIds) { @@ -3345,7 +3361,11 @@ public class QmsIssueTicketControllerService { .set(QmsIssueTicket::getUpdateTime, now) .update(); - issueTicketToDoService.processed(ticket.getId()); + issueTicketToDoService.lambdaUpdate() + .eq(QmsIssueTicketToDo::getTicketId, ticket.getId()) + .eq(QmsIssueTicketToDo::getHasProcessed, false) + .set(QmsIssueTicketToDo::getHasProcessed, true) + .update(); // PDI工单关闭时:创建新任务单,复制内容,不合格项改为合格 if (ticket.getSourceType() != null && ticket.getSourceType() == 1 && ticket.getSourceId() != null) { From 1d9c480331bcceddc436e4e5a32dbec849af3133 Mon Sep 17 00:00:00 2001 From: zhangke Date: Mon, 15 Jun 2026 14:57:23 +0800 Subject: [PATCH 2/3] =?UTF-8?q?pdi=20=E7=9A=84=E6=A3=80=E6=B5=8B=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E6=B7=BB=E5=8A=A0=E6=A3=80=E6=B5=8B=E8=A7=84=E5=88=99?= =?UTF-8?q?ID=EF=BC=9B=E8=BF=94=E5=9B=9E=E7=9A=84=E6=A3=80=E6=B5=8B?= =?UTF-8?q?=E9=A1=B9=E6=B7=BB=E5=8A=A0=E8=BF=94=E5=9B=9E=E7=9A=84=E5=9B=BE?= =?UTF-8?q?=E7=89=87=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...PdiInspectionResultsControllerService.java | 6 ++-- .../QmsPdiTaskRecordControllerService.java | 28 ++++++++++++++++++- .../pojo/vo/QmsPdiTaskInspectionResultVO.java | 5 ++++ .../pojo/vo/QmsPdiTaskRecordDetailVO.java | 7 ++++- .../pojo/vo/QmsPdiTaskRecordSummaryVO.java | 5 ++++ 5 files changed, 46 insertions(+), 5 deletions(-) diff --git a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsPdiInspectionResultsControllerService.java b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsPdiInspectionResultsControllerService.java index 7e8a3657..59eec245 100644 --- a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsPdiInspectionResultsControllerService.java +++ b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsPdiInspectionResultsControllerService.java @@ -243,14 +243,14 @@ public class QmsPdiInspectionResultsControllerService { .update(); // 7. 根据总体判定+检测项结果设置状态:有不合格则=3(待流转),全合格则=2(已完成) - + // 校验 overdue 字段:无值时根据完成时间与要求完成时间比较设置,有值则保持原值 Boolean overdueValue = taskRecord.getOverdue(); if (overdueValue == null) { overdueValue = taskRecord.getRequiredCompletionTime() != null && now.isAfter(taskRecord.getRequiredCompletionTime()); } - + taskRecordService.lambdaUpdate() .eq(QmsPdiTaskRecord::getId, taskRecord.getId()) .set(QmsPdiTaskRecord::getDetectionCompletionTime, now) @@ -481,7 +481,7 @@ public class QmsPdiInspectionResultsControllerService { vo.setOrderNo(task.getOrderNo()); vo.setRequiredCompletionTime(task.getRequiredCompletionTime()); vo.setInspectionEnable(task.getInspectionEnable()); - + vo.setInspectionRuleId(task.getDetectionRulesId()); // 查询检测规则获取机型编号和检测版本 if (task.getDetectionRulesId() != null) { QmsPdiDetectionRules rules = detectionRulesService.getById(task.getDetectionRulesId()); 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 0380c449..8e6b57d3 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 @@ -1,5 +1,8 @@ package com.nflg.qms.admin.service; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjUtil; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.nflg.wms.common.constant.STATE; import com.nflg.wms.common.exception.NflgException; @@ -465,6 +468,29 @@ public class QmsPdiTaskRecordControllerService { */ public PageData inspectionResultDetail(QmsPdiTaskInspectionResultQO request) { Page page = inspectionResultsService.listByTaskId(request); + if (ObjUtil.isNotNull(page) && CollectionUtil.isNotEmpty(page.getRecords())) { + page.getRecords().forEach(vo -> { + if (StrUtil.isNotBlank(vo.getInspectionItemImage())) { + List files = new ArrayList<>(); + String[] imgIds = vo.getInspectionItemImage().split(","); + for (String imgId : imgIds) { + FileUploadRecord fileUploadRecord = fileUploadRecordService. + lambdaQuery(). + eq(FileUploadRecord::getId, imgId).one(); + if (ObjUtil.isNotNull(fileUploadRecord)) { + QmsPdiTaskRecordDetailVO.FileDetailVO fo = new QmsPdiTaskRecordDetailVO.FileDetailVO(); + fo.setFileName(fileUploadRecord.getFileName()); + fo.setUrl(fileUploadRecord.getUrl()); + fo.setFileType(fileUploadRecord.getFileType()); + fo.setId(fileUploadRecord.getId()); + files.add(fo); + } + } + vo.setInspectionItemImages(files); + } + }); + } + PageData result = new PageData<>(); result.setItems(page.getRecords()); result.setTotal((int) page.getTotal()); @@ -488,7 +514,7 @@ public class QmsPdiTaskRecordControllerService { vo.setFactoryNo(record.getFactoryNo()); vo.setInspectionInspection(record.getInspectionInspection()); vo.setDetectionCompletionTime(record.getDetectionCompletionTime()); - + vo.setInspectionRuleId(record.getDetectionRulesId()); // 关联检测规则,获取机型编号、检查版本、检测类型、质检员 if (record.getDetectionRulesId() != null) { QmsPdiDetectionRules rules = detectionRulesService.getById(record.getDetectionRulesId()); diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsPdiTaskInspectionResultVO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsPdiTaskInspectionResultVO.java index e9dfec99..321678f6 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsPdiTaskInspectionResultVO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsPdiTaskInspectionResultVO.java @@ -3,6 +3,7 @@ package com.nflg.wms.common.pojo.vo; import lombok.Data; import java.time.LocalDateTime; +import java.util.List; /** * PDI任务检验结果详情VO(联查检测项和部件信息) @@ -40,6 +41,10 @@ public class QmsPdiTaskInspectionResultVO { */ private String inspectionItemImage; + /** + * 现场图片/视频详情列表 + */ + private List inspectionItemImages; /** * 检验项结果:false=不合格,true=合格 */ diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsPdiTaskRecordDetailVO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsPdiTaskRecordDetailVO.java index 065e6f56..21f1e3d7 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsPdiTaskRecordDetailVO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsPdiTaskRecordDetailVO.java @@ -115,7 +115,7 @@ public class QmsPdiTaskRecordDetailVO { */ private LocalDateTime inspectionTime; - /** + /* * 检测人 */ private String inspectionBy; @@ -172,6 +172,11 @@ public class QmsPdiTaskRecordDetailVO { * 检测完成时间 */ private LocalDateTime detectionCompletionTime; + + /** + * 检测规则ID + */ + private Long inspectionRuleId; } /** diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsPdiTaskRecordSummaryVO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsPdiTaskRecordSummaryVO.java index 08e3021f..a5d7f2b1 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsPdiTaskRecordSummaryVO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsPdiTaskRecordSummaryVO.java @@ -59,4 +59,9 @@ public class QmsPdiTaskRecordSummaryVO { * 质检状态:0=待检查,1=检验中,2=已完成,3=待流转 */ private Integer inspectionEnable; + + /** + * 检测规则ID + */ + private Long inspectionRuleId; } From 6054c508e1fa2868b69604a386d045971ec63422 Mon Sep 17 00:00:00 2001 From: yf001217 <834502597@qq.com> Date: Mon, 15 Jun 2026 14:58:46 +0800 Subject: [PATCH 3/3] =?UTF-8?q?pqc=E5=B7=A5=E5=8D=95=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../QmsIssueTicketProcessControllerService.java | 3 ++- ...msIssueTicketProcessMeasureControllerService.java | 12 ++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsIssueTicketProcessControllerService.java b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsIssueTicketProcessControllerService.java index c95c75d8..c3454e19 100644 --- a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsIssueTicketProcessControllerService.java +++ b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsIssueTicketProcessControllerService.java @@ -480,9 +480,10 @@ public class QmsIssueTicketProcessControllerService { public void submitPqcHandler(QmsIssueTicketProcessDraftQO request, QmsIssueTicket ticket, QmsIssueTicketProcess process, LocalDateTime now, Long currentUserId, String currentUserName) { + QmsIssueTicketProcess latestProcess = issueTicketProcessService.getById(process.getId()); Short approvalStatus = request.getApprovalStatus() != null ? request.getApprovalStatus() - : process.getApprovalStatus(); + : latestProcess.getApprovalStatus(); VUtil.trueThrowBusinessError(approvalStatus == null).throwMessage("提交时审批状态不能为空"); VUtil.trueThrowBusinessError(approvalStatus != 0 && approvalStatus != 1) .throwMessage("不支持的审批状态"); diff --git a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsIssueTicketProcessMeasureControllerService.java b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsIssueTicketProcessMeasureControllerService.java index ea2b0ccf..a78fff4f 100644 --- a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsIssueTicketProcessMeasureControllerService.java +++ b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsIssueTicketProcessMeasureControllerService.java @@ -187,6 +187,18 @@ public class QmsIssueTicketProcessMeasureControllerService { } else if (sourceType == 3) { // PQC工单(无领导审批) if (isHandler) { + if (Objects.equals(request.getApprovalStatus(), (short) 1)) { + issueTicketProcessService.lambdaUpdate() + .eq(QmsIssueTicketProcess::getId, processId) + .set(QmsIssueTicketProcess::getApprovalStatus, request.getApprovalStatus()) + .set(request.getApprovalOpinion() != null, + QmsIssueTicketProcess::getApprovalOpinion, request.getApprovalOpinion()) + .set(QmsIssueTicketProcess::getApprovalUserId, currentUserId) + .set(QmsIssueTicketProcess::getApprovalUserName, UserUtil.getUserName()) + .update(); + return; + } + // 处理人处理:保存根本原因、审批状态和措施 issueTicketProcessService.lambdaUpdate() .eq(QmsIssueTicketProcess::getId, processId)