pdi回调方法

This commit is contained in:
yf001217 2026-06-10 19:32:12 +08:00
parent a84a34374b
commit 89442b6f54
3 changed files with 38 additions and 5 deletions

View File

@ -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;
}
}

View File

@ -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);
}

View File

@ -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();
}
}