From 6fa82a1ad7c3ae061ef499f0d0806a16846e122b Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期二, 10 十一月 2026 16:55:02 +0800
Subject: [PATCH] feat(mes): 来料检验与不合格退货闭环优化

---
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/api/arrivalnotice/MesArrivalNoticeApiImpl.java |   35 ++++++++++++++++++++++++++++++++++-
 1 files changed, 34 insertions(+), 1 deletions(-)

diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/api/arrivalnotice/MesArrivalNoticeApiImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/api/arrivalnotice/MesArrivalNoticeApiImpl.java
index 37e7a0e..bd2ac3f 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/api/arrivalnotice/MesArrivalNoticeApiImpl.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/api/arrivalnotice/MesArrivalNoticeApiImpl.java
@@ -1,8 +1,19 @@
 package cn.iocoder.yudao.module.mes.api.arrivalnotice;
 
+import cn.hutool.core.collection.CollUtil;
+import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
+import cn.iocoder.yudao.module.mes.api.arrivalnotice.dto.MesArrivalNoticeRespDTO;
+import cn.iocoder.yudao.module.mes.dal.dataobject.wm.arrivalnotice.MesWmArrivalNoticeDO;
+import cn.iocoder.yudao.module.mes.dal.mysql.wm.arrivalnotice.MesWmArrivalNoticeMapper;
+import cn.iocoder.yudao.module.mes.enums.wm.MesWmArrivalNoticeStatusEnum;
 import cn.iocoder.yudao.module.mes.service.wm.arrivalnotice.MesWmArrivalNoticeService;
 import jakarta.annotation.Resource;
 import org.springframework.stereotype.Service;
+
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.List;
+import java.util.Objects;
 
 /**
  * MES 鍒拌揣閫氱煡鍗� API 瀹炵幇绫�
@@ -12,10 +23,32 @@
 
     @Resource
     private MesWmArrivalNoticeService arrivalNoticeService;
+    @Resource
+    private MesWmArrivalNoticeMapper arrivalNoticeMapper;
 
     @Override
     public Long generateArrivalNoticeFromPurchaseOrder(Long purchaseOrderId) {
         return arrivalNoticeService.generateArrivalNoticeFromPurchaseOrder(purchaseOrderId);
     }
 
-}
\ No newline at end of file
+    @Override
+    public List<MesArrivalNoticeRespDTO> getArrivalNoticeListByPurchaseOrderIds(Collection<Long> purchaseOrderIds) {
+        if (CollUtil.isEmpty(purchaseOrderIds)) {
+            return List.of();
+        }
+        List<MesWmArrivalNoticeDO> notices = arrivalNoticeMapper.selectListByPurchaseOrderIds(purchaseOrderIds);
+        if (CollUtil.isEmpty(notices)) {
+            return List.of();
+        }
+        return notices.stream().map(notice -> BeanUtils.toBean(notice, MesArrivalNoticeRespDTO.class,
+                resp -> resp.setStatusName(resolveStatusName(notice.getStatus())))).toList();
+    }
+
+    private String resolveStatusName(Integer status) {
+        return Arrays.stream(MesWmArrivalNoticeStatusEnum.values())
+                .filter(item -> Objects.equals(item.getStatus(), status))
+                .map(MesWmArrivalNoticeStatusEnum::getName)
+                .findFirst().orElse(null);
+    }
+
+}

--
Gitblit v1.9.3