diff --git a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/controller/QmsIncomingInspectionTaskController.java b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/controller/QmsIncomingInspectionTaskController.java index 7faa9a75..7fd4ab35 100644 --- a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/controller/QmsIncomingInspectionTaskController.java +++ b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/controller/QmsIncomingInspectionTaskController.java @@ -108,7 +108,6 @@ public class QmsIncomingInspectionTaskController extends BaseController { /** * 提交检测项 */ - @Transactional @PostMapping("pad/add-check-item") public ApiResult addCheckItem(@Valid @RequestBody QmsIncomingInspectionTaskTodoCheckSubmitQO request){ incomingInspectionTaskControllerService.submitCheckItem(request); @@ -118,7 +117,6 @@ public class QmsIncomingInspectionTaskController extends BaseController { /** * 暂存检验结果 */ - @Transactional @PostMapping("pad/staging") public ApiResult staging(@Valid @RequestBody QmsIncomingInspectionTaskSubmitQO request){ incomingInspectionTaskControllerService.staging(request); @@ -128,7 +126,6 @@ public class QmsIncomingInspectionTaskController extends BaseController { /** * 提交检验结果 */ - @Transactional @PostMapping("pad/submit") public ApiResult submit(@Valid @RequestBody QmsIncomingInspectionTaskSubmitQO request){ incomingInspectionTaskControllerService.submit(request); @@ -140,7 +137,7 @@ public class QmsIncomingInspectionTaskController extends BaseController { */ @PostMapping("callback") public ApiResult callback(@RequestParam Long taskId){ - wmsIncomingInspectionTaskCallbackService.process(taskId, (short) 0); + wmsIncomingInspectionTaskCallbackService.process(taskId); return ApiResult.success(); } } diff --git a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/IncomingInspectionTaskControllerService.java b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/IncomingInspectionTaskControllerService.java index e97733df..7c91bb2a 100644 --- a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/IncomingInspectionTaskControllerService.java +++ b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/IncomingInspectionTaskControllerService.java @@ -943,6 +943,7 @@ public class IncomingInspectionTaskControllerService { updateWrapper.update(); } + @Transactional public void submit(@Valid QmsIncomingInspectionTaskSubmitQO request) { QmsIncomingInspectionTask task = incomingInspectionTaskService.getById(request.getTaskId()); VUtil.trueThrowBusinessError(Objects.isNull(task)).throwMessage("任务不存在"); @@ -985,7 +986,7 @@ public class IncomingInspectionTaskControllerService { updateWrapper.update(); if (task.getInspectionResult()) { - wmsIncomingInspectionTaskCallbackService.process(task.getId(), (short) 0); + wmsIncomingInspectionTaskCallbackService.process(task.getId()); } else { issueTicketControllerService.initiate(task.getId()); } diff --git a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/WmsIncomingInspectionTaskCallbackService.java b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/WmsIncomingInspectionTaskCallbackService.java index dcae7505..ba4928ce 100644 --- a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/WmsIncomingInspectionTaskCallbackService.java +++ b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/WmsIncomingInspectionTaskCallbackService.java @@ -8,8 +8,10 @@ import com.nflg.wms.common.pojo.vo.QmsIncomingInspectionTaskVO; import com.nflg.wms.common.util.VUtil; import com.nflg.wms.repository.entity.QmsIncomingInspectionTask; import com.nflg.wms.repository.entity.QmsIncomingInspectionTaskRecord; +import com.nflg.wms.repository.entity.QmsIssueTicket; import com.nflg.wms.repository.service.IQmsIncomingInspectionTaskRecordService; import com.nflg.wms.repository.service.IQmsIncomingInspectionTaskService; +import com.nflg.wms.repository.service.IQmsIssueTicketService; import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; @@ -17,6 +19,7 @@ import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import java.util.List; +import java.util.Objects; /** * Wms来料检验任务回调服务 @@ -40,6 +43,9 @@ public class WmsIncomingInspectionTaskCallbackService { @Resource private WmsApiService wmsApiService; + @Resource + private IQmsIssueTicketService issueTicketService; + /** * 向WMS系统发送来料检验任务回调 */ @@ -152,11 +158,31 @@ public class WmsIncomingInspectionTaskCallbackService { /** * WMS系统来料检验任务回调 * @param taskId 来料检验任务ID + */ + public void process(Long taskId) { + QmsIncomingInspectionTaskVO taskVO = incomingInspectionTaskService.getDetail(taskId); + VUtil.trueThrowBusinessError(Objects.equals(taskVO.getCallbackResult(), true)).throwMessage("请勿重复回调"); + VUtil.trueThrowBusinessError(taskVO.getInspectionStatus() != 2).throwMessage("来料检验任务状态不允许回调"); + if (taskVO.getInspectionResult()) { + process(taskVO, (short) 0); + } else { + QmsIssueTicket issueTicket = issueTicketService.lambdaQuery() + .eq(QmsIssueTicket::getSourceId, taskId) + .eq(QmsIssueTicket::getStatus, 2) + .orderByDesc(QmsIssueTicket::getId) + .last("limit 1") + .one(); + VUtil.trueThrowBusinessError(Objects.isNull(issueTicket)).throwMessage("未找到符合条件的工单"); + process(taskVO, issueTicket.getApprovalStatus()); + } + } + + /** + * WMS系统来料检验任务回调 + * @param taskVO 来料检验任务VO * @param processingResult 处理结果:0=通过,3=报废,4=维修,5=挑选使用,6=让渡使用 */ - public void process(Long taskId, Short processingResult) { - QmsIncomingInspectionTaskVO taskVO = incomingInspectionTaskService.getDetail(taskId); - VUtil.trueThrowBusinessError(taskVO.getCallbackResult()).throwMessage("请勿重复回调"); + private void process(QmsIncomingInspectionTaskVO taskVO, Short processingResult) { switch (taskVO.getInspectionType()) { case 1: incoming(taskVO,processingResult); @@ -169,4 +195,15 @@ public class WmsIncomingInspectionTaskCallbackService { break; } } + + /** + * WMS系统来料检验任务回调 + * @param taskId 来料检验任务ID + * @param processingResult 处理结果:0=通过,3=报废,4=维修,5=挑选使用,6=让渡使用 + */ + private void process(Long taskId, Short processingResult) { + QmsIncomingInspectionTaskVO taskVO = incomingInspectionTaskService.getDetail(taskId); + VUtil.trueThrowBusinessError(Objects.equals(taskVO.getCallbackResult(),true)).throwMessage("请勿重复回调"); + process(taskVO, processingResult); + } } diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsIncomingInspectionTaskVO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsIncomingInspectionTaskVO.java index f25eb69a..5062e71d 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsIncomingInspectionTaskVO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsIncomingInspectionTaskVO.java @@ -125,7 +125,7 @@ public class QmsIncomingInspectionTaskVO { /** * 已检数量 */ - private Integer inspectedQty; + private Integer inspectedQty = 0; /** * 未检数量 diff --git a/nflg-wms-repository/src/main/resources/mapper/QmsIncomingInspectionTaskMapper.xml b/nflg-wms-repository/src/main/resources/mapper/QmsIncomingInspectionTaskMapper.xml index 4de9005f..60ad19e1 100644 --- a/nflg-wms-repository/src/main/resources/mapper/QmsIncomingInspectionTaskMapper.xml +++ b/nflg-wms-repository/src/main/resources/mapper/QmsIncomingInspectionTaskMapper.xml @@ -105,40 +105,41 @@