From 5d818f39c862884b7087488d588fef5b7ce47386 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期三, 28 十月 2026 18:33:55 +0800
Subject: [PATCH] feat(mes): 增加销售退货单与出库单关联功能

---
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productsales/MesWmProductSalesServiceImpl.java |   38 +-------------------------------------
 1 files changed, 1 insertions(+), 37 deletions(-)

diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productsales/MesWmProductSalesServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productsales/MesWmProductSalesServiceImpl.java
index b72e8f0..9ea5427 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productsales/MesWmProductSalesServiceImpl.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productsales/MesWmProductSalesServiceImpl.java
@@ -29,7 +29,6 @@
 import cn.iocoder.yudao.module.mes.enums.MesBizTypeConstants;
 import cn.iocoder.yudao.module.mes.enums.pro.MesProBagCodeQcStatusEnum;
 import cn.iocoder.yudao.module.mes.enums.wm.MesWmProductSalesStatusEnum;
-import cn.iocoder.yudao.module.mes.enums.wm.MesWmQualityStatusEnum;
 import cn.iocoder.yudao.module.mes.enums.wm.MesWmSalesNoticeStatusEnum;
 import cn.iocoder.yudao.module.mes.enums.wm.MesWmStockReserveBizTypeEnum;
 import cn.iocoder.yudao.module.mes.enums.wm.MesWmTransactionTypeEnum;
@@ -43,10 +42,8 @@
 import cn.iocoder.yudao.module.mes.service.wm.stockreserve.MesWmStockReserveService;
 import cn.iocoder.yudao.module.mes.service.wm.transaction.MesWmTransactionService;
 import cn.iocoder.yudao.module.mes.service.wm.transaction.dto.MesWmTransactionSaveReqDTO;
-import cn.iocoder.yudao.module.mes.service.qc.oqc.MesQcOqcService;
 import jakarta.annotation.Resource;
 import lombok.extern.slf4j.Slf4j;
-import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.validation.annotation.Validated;
@@ -103,9 +100,6 @@
     private MesWmMaterialStockService materialStockService;
     @Resource
     private MesWmStockReserveService stockReserveService;
-    @Resource
-    @Lazy
-    private MesQcOqcService oqcService;
 
     @Resource
     private MesTraceIntegrityService integrityService;
@@ -179,37 +173,7 @@
             }
         }
 
-        // 鑾峰彇鍑哄簱鍗曚俊鎭�
-        MesWmProductSalesDO sales = productSalesMapper.selectById(id);
-
-        // 妫�鏌ユ墍鏈夎鐨� oqcCheckFlag锛氬鏋滄湁闇�瑕� OQC 妫�楠岀殑琛岋紝杩涘叆寰呮娴嬬姸鎬�
-        boolean needOqc = CollectionUtils.anyMatch(lines,
-                line -> Boolean.TRUE.equals(line.getOqcCheckFlag()));
-        if (needOqc) {
-            // 涓洪渶瑕� OQC 妫�楠屼笖灏氭湭鍒涘缓妫�楠屽崟鐨勬槑缁嗗垱寤� OQC 妫�楠屽崟
-            List<MesWmProductSalesLineDO> oqcLines = CollectionUtils.filterList(lines,
-                    line -> Boolean.TRUE.equals(line.getOqcCheckFlag()) && line.getOqcId() == null);
-            for (MesWmProductSalesLineDO line : oqcLines) {
-                // 鐩存帴璋冪敤锛岃寮傚父鎶涘嚭锛屼繚璇佹暟鎹竴鑷存��
-                Long oqcId = oqcService.createOqcFromProductSales(
-                        sales.getId(), line, sales.getCode(), sales.getClientId());
-                // 鏇存柊鍑哄簱鏄庣粏鐨� oqcId
-                productSalesLineMapper.updateById(new MesWmProductSalesLineDO()
-                        .setId(line.getId())
-                        .setOqcId(oqcId));
-            }
-
-            // 鎵归噺鍒濆鍖� OQC 琛岀殑璐ㄩ噺鐘舵�佷负"寰呮楠�"
-            List<Long> oqcLineIds = convertList(
-                    CollectionUtils.filterList(lines, line -> Boolean.TRUE.equals(line.getOqcCheckFlag())),
-                    MesWmProductSalesLineDO::getId);
-            productSalesLineService.updateProductSalesLineQualityStatus(oqcLineIds, MesWmQualityStatusEnum.PENDING.getStatus());
-            // 闇�瑕佹楠岋紝杩涘叆寰呮娴�
-            productSalesMapper.updateById(new MesWmProductSalesDO()
-                    .setId(id).setStatus(MesWmProductSalesStatusEnum.CONFIRMED.getStatus()));
-            return;
-        }
-        // 涓嶉渶瑕佹楠岋紝鐩存帴杩涘叆寰呮嫞璐�
+        // 閿�鍞粨搴撴祦杞笉缁忚繃璐ㄦ锛屾彁浜ゅ悗鐩存帴杩涘叆寰呮嫞璐�
         productSalesMapper.updateById(new MesWmProductSalesDO()
                 .setId(id).setStatus(MesWmProductSalesStatusEnum.APPROVING.getStatus()));
     }

--
Gitblit v1.9.3