From 962f78c8383e7c884ddb08c951c15e5ba6eb4cb8 Mon Sep 17 00:00:00 2001
From: liu <2021943741@qq.com>
Date: 星期五, 23 十月 2026 15:43:33 +0800
Subject: [PATCH] fix: 完善审批流程与业务状态校验

---
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/returnvendor/MesWmReturnVendorDetailServiceImpl.java |   16 +++++++++++++---
 1 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/returnvendor/MesWmReturnVendorDetailServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/returnvendor/MesWmReturnVendorDetailServiceImpl.java
index efc903c..1baf365 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/returnvendor/MesWmReturnVendorDetailServiceImpl.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/returnvendor/MesWmReturnVendorDetailServiceImpl.java
@@ -32,6 +32,10 @@
     @Resource
     @Lazy
     private MesWmReturnVendorLineService returnVendorLineService;
+    // 涓� ReturnVendorServiceImpl 鐩镐簰寮曠敤锛岄』鐢� @Lazy 鎵撶牬寰幆
+    @Resource
+    @Lazy
+    private MesWmReturnVendorService returnVendorService;
     @Resource
     private MesMdmItemService mdmItemService;
     @Resource
@@ -66,6 +70,8 @@
      * 鏍¢獙鏄庣粏鍒涘缓/淇敼鐨勫叕鍏辨暟鎹�
      */
     private void validateDetailSaveData(MesWmReturnVendorDetailSaveReqVO reqVO) {
+        // 鏍¢獙鐖跺崟锛堥��璐у崟锛夊浜庡噯澶囦腑鐘舵�侊紝瀹℃壒鏈熼棿鍙婁箣鍚庣姝㈠鍒犳敼鏄庣粏
+        returnVendorService.validateReturnVendorExistsAndPrepare(reqVO.getReturnId());
         // 鏍¢獙鐖舵暟鎹紙琛岋級瀛樺湪
         MesWmReturnVendorLineDO line = returnVendorLineService.validateReturnVendorLineExists(reqVO.getLineId());
         if (ObjUtil.notEqual(line.getReturnId(), reqVO.getReturnId())) {
@@ -85,7 +91,9 @@
     @Override
     public void deleteReturnVendorDetail(Long id) {
         // 鏍¢獙瀛樺湪
-        validateReturnVendorDetailExists(id);
+        MesWmReturnVendorDetailDO detail = validateReturnVendorDetailExists(id);
+        // 鏍¢獙鐖跺崟澶勪簬鍑嗗涓姸鎬侊紝瀹℃壒鏈熼棿鍙婁箣鍚庣姝㈠垹闄ゆ槑缁�
+        returnVendorService.validateReturnVendorExistsAndPrepare(detail.getReturnId());
         // 鍒犻櫎
         returnVendorDetailMapper.deleteById(id);
     }
@@ -115,10 +123,12 @@
         returnVendorDetailMapper.deleteByLineId(lineId);
     }
 
-    private void validateReturnVendorDetailExists(Long id) {
-        if (returnVendorDetailMapper.selectById(id) == null) {
+    private MesWmReturnVendorDetailDO validateReturnVendorDetailExists(Long id) {
+        MesWmReturnVendorDetailDO detail = returnVendorDetailMapper.selectById(id);
+        if (detail == null) {
             throw exception(WM_RETURN_VENDOR_DETAIL_NOT_EXISTS);
         }
+        return detail;
     }
 
     /**

--
Gitblit v1.9.3