From e10c196ff7348a4461e8facee10a208779244ece Mon Sep 17 00:00:00 2001
From: 吴羡 <16976746+Xian-TT3@user.noreply.gitee.com>
Date: 星期三, 30 九月 2026 15:33:30 +0800
Subject: [PATCH] 宁夏万通需求:出库单行支持主/辅单位录入;考勤节假日配置改为时间段;物料型号维护;设备批量删除;来料检验默认方案解析

---
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productissue/MesWmProductIssueServiceImpl.java |   25 +++++++++++++++----------
 1 files changed, 15 insertions(+), 10 deletions(-)

diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productissue/MesWmProductIssueServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productissue/MesWmProductIssueServiceImpl.java
index ee24926..0b52b25 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productissue/MesWmProductIssueServiceImpl.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productissue/MesWmProductIssueServiceImpl.java
@@ -91,11 +91,11 @@
         validateProductIssueSaveData(createReqVO);
 
         // 2. 浠� task 鑷姩甯﹀叆 workOrderId 鍜� workstationId
-        MesProTaskDO task = taskService.validateTaskExists(createReqVO.getTaskId());
-        if (createReqVO.getWorkOrderId() == null) {
+        MesProTaskDO task = createReqVO.getTaskId() != null ? taskService.validateTaskExists(createReqVO.getTaskId()) : null;
+        if (task != null && createReqVO.getWorkOrderId() == null) {
             createReqVO.setWorkOrderId(task.getWorkOrderId());
         }
-        if (createReqVO.getWorkstationId() == null) {
+        if (task != null && createReqVO.getWorkstationId() == null) {
             createReqVO.setWorkstationId(task.getWorkstationId());
         }
 
@@ -115,11 +115,11 @@
         validateProductIssueSaveData(updateReqVO);
 
         // 2. 浠� task 鑷姩甯﹀叆 workOrderId 鍜� workstationId
-        MesProTaskDO task = taskService.validateTaskExists(updateReqVO.getTaskId());
-        if (updateReqVO.getWorkOrderId() == null) {
+        MesProTaskDO task = updateReqVO.getTaskId() != null ? taskService.validateTaskExists(updateReqVO.getTaskId()) : null;
+        if (task != null && updateReqVO.getWorkOrderId() == null) {
             updateReqVO.setWorkOrderId(task.getWorkOrderId());
         }
-        if (updateReqVO.getWorkstationId() == null) {
+        if (task != null && updateReqVO.getWorkstationId() == null) {
             updateReqVO.setWorkstationId(task.getWorkstationId());
         }
 
@@ -398,10 +398,10 @@
      */
     private void validateProductIssueSaveData(MesWmProductIssueSaveReqVO reqVO) {
         validateCodeUnique(reqVO.getId(), reqVO.getCode());
-        // 鏍¢獙 task 瀛樺湪
-        MesProTaskDO task = taskService.validateTaskExists(reqVO.getTaskId());
-        // 鏍¢獙 task 鍏宠仈鐨勫伐鍗曞凡纭
-        Long workOrderId = reqVO.getWorkOrderId() != null ? reqVO.getWorkOrderId() : task.getWorkOrderId();
+        // 鏍¢獙 task 瀛樺湪锛堢敓浜т换鍔¢潪蹇呭~锛屾湭閫夋椂璺宠繃锛�
+        MesProTaskDO task = reqVO.getTaskId() != null ? taskService.validateTaskExists(reqVO.getTaskId()) : null;
+        // 鏍¢獙鍏宠仈鐨勫伐鍗曞凡纭
+        Long workOrderId = reqVO.getWorkOrderId() != null ? reqVO.getWorkOrderId() : (task != null ? task.getWorkOrderId() : null);
         if (workOrderId != null) {
             workOrderService.validateWorkOrderConfirmed(workOrderId);
         }
@@ -410,4 +410,9 @@
         }
     }
 
+    @Override
+    public List<MesWmProductIssueDO> getFinishedIssuesByWorkOrderId(Long workOrderId) {
+        return issueMapper.selectListByWorkOrderIdAndStatus(workOrderId, MesWmProductIssueStatusEnum.FINISHED.getStatus());
+    }
+
 }

--
Gitblit v1.9.3