From f71dabccb0e4c2fa410683e6058eb906a7dbf094 Mon Sep 17 00:00:00 2001
From: xiaoyi <908147524@qq.com>
Date: 星期三, 26 八月 2026 18:12:07 +0800
Subject: [PATCH] feat 采购修正

---
 yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/api/purchase/ErpPurchaseOrderApiImpl.java |   33 ++++++++++++++++++++++++++++++---
 1 files changed, 30 insertions(+), 3 deletions(-)

diff --git a/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/api/purchase/ErpPurchaseOrderApiImpl.java b/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/api/purchase/ErpPurchaseOrderApiImpl.java
index 3b04bf6..609354e 100644
--- a/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/api/purchase/ErpPurchaseOrderApiImpl.java
+++ b/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/api/purchase/ErpPurchaseOrderApiImpl.java
@@ -2,8 +2,10 @@
 
 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
 import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
+import cn.iocoder.yudao.module.erp.api.purchase.dto.ErpPurchaseOrderCreateReqDTO;
 import cn.iocoder.yudao.module.erp.api.purchase.dto.ErpPurchaseOrderItemRespDTO;
 import cn.iocoder.yudao.module.erp.api.purchase.dto.ErpPurchaseOrderRespDTO;
+import cn.iocoder.yudao.module.erp.controller.admin.purchase.vo.order.ErpPurchaseOrderSaveReqVO;
 import cn.iocoder.yudao.module.erp.dal.dataobject.purchase.ErpPurchaseOrderDO;
 import cn.iocoder.yudao.module.erp.dal.dataobject.purchase.ErpPurchaseOrderItemDO;
 import cn.iocoder.yudao.module.erp.dal.mysql.purchase.ErpPurchaseOrderItemMapper;
@@ -23,12 +25,12 @@
 /**
  * ERP 閲囪喘璁㈠崟 API 瀹炵幇绫�
  *
- * @author 鑺嬮亾婧愮爜
+ * @author 瓒呯骇绠$悊鍛�
  */
 @RestController
-@RequestMapping(ErpPurchaseOrderApi.PREFIX)
+@RequestMapping({ErpPurchaseOrderApi.PREFIX, PurchaseOrderApi.PREFIX})
 @Validated
-public class ErpPurchaseOrderApiImpl implements ErpPurchaseOrderApi {
+public class ErpPurchaseOrderApiImpl implements PurchaseOrderApi {
 
     @Resource
     private ErpPurchaseOrderService purchaseOrderService;
@@ -107,4 +109,29 @@
         return success(true);
     }
 
+    @Override
+    public CommonResult<Long> createPurchaseOrder(ErpPurchaseOrderCreateReqDTO createReqDTO) {
+        ErpPurchaseOrderSaveReqVO saveReqVO = BeanUtils.toBean(createReqDTO, ErpPurchaseOrderSaveReqVO.class);
+        if (createReqDTO.getItems() != null) {
+            saveReqVO.setItems(BeanUtils.toBean(createReqDTO.getItems(), ErpPurchaseOrderSaveReqVO.Item.class));
+        }
+        return success(purchaseOrderService.createPurchaseOrder(saveReqVO));
+    }
+
+    @Override
+    public CommonResult<List<ErpPurchaseOrderItemRespDTO>> getPurchaseOrderItemListBySource(Integer sourceType, Long sourceId) {
+        if (sourceType == null || sourceId == null) {
+            return success(Collections.emptyList());
+        }
+        // 1. 鎸夋潵婧愭煡璇㈤噰璐鍗�
+        List<ErpPurchaseOrderDO> orders = purchaseOrderService.getPurchaseOrderListBySource(sourceType, sourceId);
+        if (orders.isEmpty()) {
+            return success(Collections.emptyList());
+        }
+        // 2. 鏌ヨ鎵�鏈夎鍗曠殑鏄庣粏
+        List<Long> orderIds = orders.stream().map(ErpPurchaseOrderDO::getId).toList();
+        List<ErpPurchaseOrderItemDO> items = purchaseOrderItemMapper.selectListByOrderIds(orderIds);
+        return success(BeanUtils.toBean(items, ErpPurchaseOrderItemRespDTO.class));
+    }
+
 }
\ No newline at end of file

--
Gitblit v1.9.3