From d39e4f7d839167c16425086dfa2f8747bccfdff9 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期四, 05 十一月 2026 17:39:01 +0800
Subject: [PATCH] feat: 打通销售采购财务闭环并完成累计业务优化

---
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/pendinginspect/MesQcPendingInspectServiceImpl.java |   26 ++++++++++++++++++++++++++
 1 files changed, 26 insertions(+), 0 deletions(-)

diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/pendinginspect/MesQcPendingInspectServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/pendinginspect/MesQcPendingInspectServiceImpl.java
index 3f8f060..8e58a32 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/pendinginspect/MesQcPendingInspectServiceImpl.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/pendinginspect/MesQcPendingInspectServiceImpl.java
@@ -6,6 +6,10 @@
 import cn.iocoder.yudao.module.mes.controller.admin.qc.pendinginspect.vo.MesQcPendingInspectRespVO;
 import cn.iocoder.yudao.module.mes.dal.mysql.qc.pendinginspect.MesQcPendingInspectMapper;
 import cn.iocoder.yudao.module.mes.service.pro.workorder.MesProWorkOrderService;
+import cn.iocoder.yudao.module.mes.enums.MesBizTypeConstants;
+import cn.iocoder.yudao.module.mes.dal.dataobject.wm.returnsales.MesWmReturnSalesLineDO;
+import cn.iocoder.yudao.module.mes.dal.mysql.wm.returnsales.MesWmReturnSalesLineMapper;
+import cn.iocoder.yudao.module.mes.service.wm.batch.MesWmBatchService;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import jakarta.annotation.Resource;
 import org.springframework.stereotype.Service;
@@ -22,6 +26,10 @@
     private MesQcPendingInspectMapper pendingInspectMapper;
     @Resource
     private MesProWorkOrderService workOrderService;
+    @Resource
+    private MesWmReturnSalesLineMapper returnSalesLineMapper;
+    @Resource
+    private MesWmBatchService batchService;
 
     @Override
     public PageResult<MesQcPendingInspectRespVO> getPendingInspectPage(MesQcPendingInspectPageReqVO pageReqVO) {
@@ -38,6 +46,24 @@
                 if (order != null) row.setReelNo(order.getReelNo());
             });
         }
+        var returnLineIds = page.getRecords().stream()
+                .filter(row -> java.util.Objects.equals(row.getSourceDocType(), MesBizTypeConstants.WM_RETURN_SALES))
+                .map(MesQcPendingInspectRespVO::getSourceLineId).filter(java.util.Objects::nonNull)
+                .collect(java.util.stream.Collectors.toSet());
+        if (!returnLineIds.isEmpty()) {
+            var lines = returnSalesLineMapper.selectBatchIds(returnLineIds);
+            var lineMap = lines.stream().collect(java.util.stream.Collectors.toMap(MesWmReturnSalesLineDO::getId, line -> line));
+            var batchIds = lines.stream().map(MesWmReturnSalesLineDO::getBatchId)
+                    .filter(java.util.Objects::nonNull).collect(java.util.stream.Collectors.toSet());
+            var batches = batchIds.isEmpty() ? java.util.Map.<Long, cn.iocoder.yudao.module.mes.dal.dataobject.wm.batch.MesWmBatchDO>of()
+                    : batchService.getBatchMap(batchIds);
+            page.getRecords().forEach(row -> {
+                if (!java.util.Objects.equals(row.getSourceDocType(), MesBizTypeConstants.WM_RETURN_SALES)) return;
+                var line = lineMap.get(row.getSourceLineId());
+                var batch = line == null || line.getBatchId() == null ? null : batches.get(line.getBatchId());
+                if (batch != null) row.setReelNo(batch.getReelNo());
+            });
+        }
         // 杩斿洖缁撴灉
         return new PageResult<>(page.getRecords(), page.getTotal());
     }

--
Gitblit v1.9.3