From 89442b6f5433937592ef1e477be0bb5cda3738df Mon Sep 17 00:00:00 2001 From: yf001217 <834502597@qq.com> Date: Wed, 10 Jun 2026 19:32:12 +0800 Subject: [PATCH] =?UTF-8?q?pdi=E5=9B=9E=E8=B0=83=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../QmsIssueTicketControllerService.java | 13 +++++++++--- ...PdiInspectionResultsControllerService.java | 9 ++++++++ .../WmsPdiInspectionTaskCallbackService.java | 21 +++++++++++++++++-- 3 files changed, 38 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 5c26c12e..de3443c9 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 @@ -80,6 +80,9 @@ public class QmsIssueTicketControllerService { @Resource private WmsIncomingInspectionTaskCallbackService wmsIncomingInspectionTaskCallbackService; + @Resource + private WmsPdiInspectionTaskCallbackService wmsPdiInspectionTaskCallbackService; + @Resource private IRoleService roleService; @@ -3026,7 +3029,10 @@ public class QmsIssueTicketControllerService { // PDI工单关闭时:创建新任务单,复制内容,不合格项改为合格 if (ticket.getSourceType() != null && ticket.getSourceType() == 1 && ticket.getSourceId() != null) { - createPdiRepairTask(ticket.getSourceId(), now); + QmsPdiTaskRecord originalTask = createPdiRepairTask(ticket.getSourceId(), now); + if (originalTask != null) { + wmsPdiInspectionTaskCallbackService.callBack(originalTask, true); + } } } else if (request.getCreateApproval() == 1) { @@ -3128,11 +3134,11 @@ public class QmsIssueTicketControllerService { * PDI工单关闭时创建新任务单 * 复制原任务内容,将不合格项改为合格 */ - private void createPdiRepairTask(Long originalTaskId, LocalDateTime now) { + private QmsPdiTaskRecord createPdiRepairTask(Long originalTaskId, LocalDateTime now) { // 1. 获取原任务 QmsPdiTaskRecord originalTask = pdiTaskRecordService.getById(originalTaskId); if (originalTask == null) { - return; + return null; } // 2. 创建新任务单 @@ -3194,5 +3200,6 @@ public class QmsIssueTicketControllerService { } pdiInspectionResultsLoadingImageService.saveBatch(newImages); } + return originalTask; } } 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 4ee2a563..7e8a3657 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 @@ -76,6 +76,9 @@ public class QmsPdiInspectionResultsControllerService { @Resource private IQmsPdiComponentAnagementService componentAnagementService; + @Resource + private WmsPdiInspectionTaskCallbackService wmsPdiInspectionTaskCallbackService; + // ========================= 动静态检查项填写 ========================= /** @@ -255,6 +258,12 @@ public class QmsPdiInspectionResultsControllerService { .set(QmsPdiTaskRecord::getInspectionEnable, hasDefect ? 3 : 2) .update(); + taskRecord.setInspectionInspection(overallResult) + .setDetectionCompletionTime(now) + .setOverdue(overdueValue) + .setInspectionEnable(hasDefect ? 3 : 2); + wmsPdiInspectionTaskCallbackService.callBack(taskRecord, overallResult); + // 8. 返回不合格项(转换为VO,图片改为List格式) return buildInspectionResultVOList(failedItems); } diff --git a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/WmsPdiInspectionTaskCallbackService.java b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/WmsPdiInspectionTaskCallbackService.java index 070333ea..b9958687 100644 --- a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/WmsPdiInspectionTaskCallbackService.java +++ b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/WmsPdiInspectionTaskCallbackService.java @@ -1,6 +1,9 @@ package com.nflg.qms.admin.service; import com.nflg.wms.common.pojo.qo.PdiInspectionTaskCallbackQO; +import com.nflg.wms.repository.entity.QmsPdiDetectionRules; +import com.nflg.wms.repository.entity.QmsPdiTaskRecord; +import com.nflg.wms.repository.service.IQmsPdiDetectionRulesService; import jakarta.annotation.Resource; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; @@ -14,9 +17,23 @@ public class WmsPdiInspectionTaskCallbackService { @Resource private WmsApiService wmsApiService; - public void callBack(){ + @Resource + private IQmsPdiDetectionRulesService pdiDetectionRulesService; + + public void callBack(QmsPdiTaskRecord taskRecord, Boolean pass) { + PdiInspectionTaskCallbackQO qo = new PdiInspectionTaskCallbackQO() + .setOrderNo(taskRecord.getOrderNo()) + .setMaterialNo(getMaterialNo(taskRecord)) + .setPass(Boolean.TRUE.equals(pass)); - PdiInspectionTaskCallbackQO qo=new PdiInspectionTaskCallbackQO(); wmsApiService.post(pdiUrl, qo, "PDI任务回调WMS"); } + + private String getMaterialNo(QmsPdiTaskRecord taskRecord) { + if (taskRecord.getDetectionRulesId() == null) { + return null; + } + QmsPdiDetectionRules rules = pdiDetectionRulesService.getById(taskRecord.getDetectionRulesId()); + return rules == null ? null : rules.getModelNo(); + } }