From 74b0d9c5ab1dc316b29f8525dcffe45225d4c43c Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期五, 16 十月 2026 10:29:23 +0800
Subject: [PATCH] Merge branch 'dev_海西州_惠牧' into dev_business

---
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/batch/MesWmBatchServiceImpl.java |   49 +++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 45 insertions(+), 4 deletions(-)

diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/batch/MesWmBatchServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/batch/MesWmBatchServiceImpl.java
index a84dda6..f537261 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/batch/MesWmBatchServiceImpl.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/batch/MesWmBatchServiceImpl.java
@@ -6,9 +6,14 @@
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
 import cn.iocoder.yudao.module.mes.controller.admin.wm.batch.vo.MesWmBatchGenerateReqVO;
 import cn.iocoder.yudao.module.mes.controller.admin.wm.batch.vo.MesWmBatchPageReqVO;
+import cn.iocoder.yudao.module.mes.controller.admin.wm.batch.vo.MesWmBatchProcessTraceRespVO;
+import cn.iocoder.yudao.module.mes.controller.admin.wm.batch.vo.MesWmBatchPurchaseSourceRespVO;
+import cn.iocoder.yudao.module.mes.controller.admin.wm.batch.vo.MesWmBatchSalesTargetRespVO;
 import cn.iocoder.yudao.module.mes.dal.dataobject.mdm.MesMdmItemDO;
 import cn.iocoder.yudao.module.mes.dal.dataobject.wm.batch.MesWmBatchDO;
+import cn.iocoder.yudao.module.mes.dal.dataobject.wm.sn.MesWmSnDO;
 import cn.iocoder.yudao.module.mes.dal.mysql.wm.batch.MesWmBatchMapper;
+import cn.iocoder.yudao.module.mes.dal.mysql.wm.sn.MesWmSnMapper;
 import cn.iocoder.yudao.module.mes.enums.MesBizTypeConstants;
 import cn.iocoder.yudao.module.mes.enums.md.autocode.MesMdAutoCodeRuleCodeEnum;
 import cn.iocoder.yudao.module.mes.service.md.autocode.MesMdAutoCodeRecordService;
@@ -24,6 +29,7 @@
 import org.springframework.validation.annotation.Validated;
 
 import java.util.ArrayList;
+import java.util.Comparator;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
@@ -34,7 +40,7 @@
 /**
  * 鎵规绠$悊 Service 瀹炵幇绫�
  *
- * @author 鑺嬮亾婧愮爜
+ * @author 瓒呯骇绠$悊鍛�
  */
 @Service
 @Validated
@@ -52,6 +58,8 @@
     @Resource
     private MesMdmItemService mdmItemService;
     @Resource
+    private MesWmSnMapper snMapper;
+    @Resource
     private MdmItemBatchConfigApi itemBatchConfigApi;
     @Resource
     private MesMdAutoCodeRecordService autoCodeRecordService;
@@ -62,9 +70,7 @@
 
     @Override
     public PageResult<MesWmBatchDO> getBatchPage(MesWmBatchPageReqVO pageReqVO) {
-        // 鑾峰彇鐢ㄦ埛鏈夋潈闄愮殑瀹㈡埛 ID 鍒楄〃
-        List<Long> permittedClientIds = customerApi.getPermittedCustomerIds();
-        return batchMapper.selectPage(pageReqVO, permittedClientIds);
+        return batchMapper.selectPage(pageReqVO, (List<Long>) null);
     }
 
     @Override
@@ -372,4 +378,39 @@
         return batchMapper.selectCountByToolId(toolId);
     }
 
+    @Override
+    public List<MesWmBatchPurchaseSourceRespVO> getPurchaseSourceList(String code) {
+        return batchMapper.selectPurchaseSourceList(code);
+    }
+
+    @Override
+    public List<MesWmBatchSalesTargetRespVO> getSalesTargetList(String code) {
+        return batchMapper.selectSalesTargetList(code);
+    }
+
+    @Override
+    public List<MesWmBatchProcessTraceRespVO> getProcessTraceList(String code) {
+        List<MesWmBatchProcessTraceRespVO> list = batchMapper.selectProcessTraceList(code);
+        if (CollUtil.isEmpty(list)) {
+            return list;
+        }
+        // 鎸夊伐鍗曘�佸伐搴忓簭鍙枫�佷簨浠舵椂闂存帓搴忥紙sort 鍙兘涓虹┖锛岀┖鍊煎厹搴曪級
+        list.sort(Comparator.comparing(MesWmBatchProcessTraceRespVO::getWorkOrderId,
+                        Comparator.nullsLast(Comparator.naturalOrder()))
+                .thenComparing(MesWmBatchProcessTraceRespVO::getProcessSort,
+                        Comparator.nullsLast(Comparator.naturalOrder()))
+                .thenComparing(MesWmBatchProcessTraceRespVO::getEventTime,
+                        Comparator.nullsLast(Comparator.naturalOrder())));
+        return list;
+    }
+
+    @Override
+    public MesWmBatchDO getBatchBySn(String sn) {
+        MesWmSnDO snDO = snMapper.selectOne(MesWmSnDO::getCode, sn);
+        if (snDO == null || StrUtil.isBlank(snDO.getBatchCode())) {
+            return null;
+        }
+        return batchMapper.selectByCode(snDO.getBatchCode());
+    }
+
 }

--
Gitblit v1.9.3