From 06c312e584b99df613728d5ea8b32df4e156f3cc Mon Sep 17 00:00:00 2001
From: liu <2021943741@qq.com>
Date: 星期一, 07 九月 2026 17:40:09 +0800
Subject: [PATCH] feat(mes): 采购退货关联采购订单后自动带入物料并锁定选料

---
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/returnissue/MesWmReturnIssueLineServiceImpl.java |   21 +++++++++++++++++++--
 1 files changed, 19 insertions(+), 2 deletions(-)

diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/returnissue/MesWmReturnIssueLineServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/returnissue/MesWmReturnIssueLineServiceImpl.java
index f966893..4d93f66 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/returnissue/MesWmReturnIssueLineServiceImpl.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/returnissue/MesWmReturnIssueLineServiceImpl.java
@@ -8,6 +8,7 @@
 import cn.iocoder.yudao.module.mes.controller.admin.wm.returnissue.vo.line.MesWmReturnIssueLineSaveReqVO;
 import cn.iocoder.yudao.module.mes.dal.dataobject.wm.returnissue.MesWmReturnIssueDO;
 import cn.iocoder.yudao.module.mes.dal.dataobject.wm.returnissue.MesWmReturnIssueLineDO;
+import cn.iocoder.yudao.module.mes.dal.dataobject.wm.returnissue.MesWmReturnIssueLinePageVO;
 import cn.iocoder.yudao.module.mes.dal.mysql.wm.returnissue.MesWmReturnIssueLineMapper;
 import cn.iocoder.yudao.module.mes.enums.wm.MesWmQualityStatusEnum;
 import cn.iocoder.yudao.module.mes.enums.wm.MesWmReturnIssueStatusEnum;
@@ -19,6 +20,8 @@
 import org.springframework.validation.annotation.Validated;
 
 import java.math.BigDecimal;
+import java.util.Collection;
+import java.util.Collections;
 import java.util.List;
 import java.util.Objects;
 
@@ -51,6 +54,8 @@
 
         // 鎻掑叆
         MesWmReturnIssueLineDO line = BeanUtils.toBean(createReqVO, MesWmReturnIssueLineDO.class);
+        // 鍏滃簳锛氬墠绔湭浼犻渶瑕佽川妫�鏃堕粯璁や笉闇�瑕佽川妫�
+        line.setRqcCheckFlag(Boolean.TRUE.equals(line.getRqcCheckFlag()));
         line.setQualityStatus(calculateQualityStatus(line.getRqcCheckFlag(), issue.getType())); // 璐ㄩ噺鐘舵�佽嚜鍔ㄨ祴鍊�
         issueLineMapper.insert(line);
         return line.getId();
@@ -59,12 +64,16 @@
     @Override
     public void updateReturnIssueLine(MesWmReturnIssueLineSaveReqVO updateReqVO) {
         // 鏍¢獙瀛樺湪
-        validateReturnIssueLineExists(updateReqVO.getId());
+        MesWmReturnIssueLineDO line = validateReturnIssueLineExists(updateReqVO.getId());
         // 鏍¢獙鏁版嵁
         MesWmReturnIssueDO issue = validateReturnIssueLineSaveData(updateReqVO);
 
         // 鏇存柊
         MesWmReturnIssueLineDO updateObj = BeanUtils.toBean(updateReqVO, MesWmReturnIssueLineDO.class);
+        // 鍏滃簳锛氱紪杈戞椂鏈紶闇�瑕佽川妫�瀛楁锛屾部鐢ㄥ師鍊硷紝閬垮厤璇鐩�
+        if (updateObj.getRqcCheckFlag() == null) {
+            updateObj.setRqcCheckFlag(line.getRqcCheckFlag());
+        }
         updateObj.setQualityStatus(calculateQualityStatus(updateObj.getRqcCheckFlag(), issue.getType())); // 璐ㄩ噺鐘舵�佽嚜鍔ㄨ祴鍊�
         issueLineMapper.updateById(updateObj);
     }
@@ -87,7 +96,7 @@
     }
 
     @Override
-    public PageResult<MesWmReturnIssueLineDO> getReturnIssueLinePage(MesWmReturnIssueLinePageReqVO pageReqVO) {
+    public PageResult<MesWmReturnIssueLinePageVO> getReturnIssueLinePage(MesWmReturnIssueLinePageReqVO pageReqVO) {
         return issueLineMapper.selectPage(pageReqVO);
     }
 
@@ -198,4 +207,12 @@
         }
     }
 
+    @Override
+    public List<MesWmReturnIssueLineDO> getReturnIssueLineListByIssueLineIds(Collection<Long> issueLineIds) {
+        if (CollUtil.isEmpty(issueLineIds)) {
+            return Collections.emptyList();
+        }
+        return issueLineMapper.selectListByIssueLineIds(issueLineIds);
+    }
+
 }

--
Gitblit v1.9.3