From be5783c8a7e13bbc76d33c95643d75779cce21db Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期六, 18 七月 2026 15:39:05 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_business' into dev_business
---
yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/service/purchase/ErpPurchaseRequestService.java | 114 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 114 insertions(+), 0 deletions(-)
diff --git a/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/service/purchase/ErpPurchaseRequestService.java b/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/service/purchase/ErpPurchaseRequestService.java
new file mode 100644
index 0000000..a761923
--- /dev/null
+++ b/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/service/purchase/ErpPurchaseRequestService.java
@@ -0,0 +1,114 @@
+package cn.iocoder.yudao.module.erp.service.purchase;
+
+import cn.iocoder.yudao.framework.common.pojo.PageResult;
+import cn.iocoder.yudao.module.erp.controller.admin.purchase.vo.request.ErpPurchaseRequestPageReqVO;
+import cn.iocoder.yudao.module.erp.controller.admin.purchase.vo.request.ErpPurchaseRequestSaveReqVO;
+import cn.iocoder.yudao.module.erp.dal.dataobject.purchase.ErpPurchaseRequestDO;
+import cn.iocoder.yudao.module.erp.dal.dataobject.purchase.ErpPurchaseRequestItemDO;
+import jakarta.validation.Valid;
+
+import java.util.Collection;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * ERP 閲囪喘鐢宠 Service 鎺ュ彛
+ */
+public interface ErpPurchaseRequestService {
+
+ /**
+ * 鍒涘缓閲囪喘鐢宠
+ *
+ * @param createReqVO 鍒涘缓淇℃伅
+ * @return 缂栧彿
+ */
+ Long createPurchaseRequest(@Valid ErpPurchaseRequestSaveReqVO createReqVO);
+
+ /**
+ * 鏇存柊閲囪喘鐢宠
+ *
+ * @param updateReqVO 鏇存柊淇℃伅
+ */
+ void updatePurchaseRequest(@Valid ErpPurchaseRequestSaveReqVO updateReqVO);
+
+ /**
+ * 鍒犻櫎閲囪喘鐢宠
+ *
+ * @param ids 缂栧彿鏁扮粍
+ */
+ void deletePurchaseRequest(List<Long> ids);
+
+ /**
+ * 鑾峰緱閲囪喘鐢宠
+ *
+ * @param id 缂栧彿
+ * @return 閲囪喘鐢宠
+ */
+ ErpPurchaseRequestDO getPurchaseRequest(Long id);
+
+ /**
+ * 鑾峰緱閲囪喘鐢宠鍒嗛〉
+ *
+ * @param pageReqVO 鍒嗛〉鏌ヨ
+ * @return 閲囪喘鐢宠鍒嗛〉
+ */
+ PageResult<ErpPurchaseRequestDO> getPurchaseRequestPage(ErpPurchaseRequestPageReqVO pageReqVO);
+
+ /**
+ * 鑾峰緱閲囪喘鐢宠椤瑰垪琛�
+ *
+ * @param requestId 閲囪喘鐢宠缂栧彿
+ * @return 閲囪喘鐢宠椤瑰垪琛�
+ */
+ List<ErpPurchaseRequestItemDO> getPurchaseRequestItemListByRequestId(Long requestId);
+
+ /**
+ * 鑾峰緱閲囪喘鐢宠椤� List
+ *
+ * @param requestIds 閲囪喘鐢宠缂栧彿鏁扮粍
+ * @return 閲囪喘鐢宠椤� List
+ */
+ List<ErpPurchaseRequestItemDO> getPurchaseRequestItemListByRequestIds(Collection<Long> requestIds);
+
+ /**
+ * 鎻愪氦閲囪喘鐢宠瀹℃壒
+ *
+ * @param id 缂栧彿
+ * @param processDefinitionKey 娴佺▼瀹氫箟 Key
+ * @param userId 鐢ㄦ埛缂栧彿
+ */
+ void submitPurchaseRequest(Long id, String processDefinitionKey, Long userId);
+
+ /**
+ * 鑾峰彇閲囪喘鐢宠瀹℃壒娴佺▼鍒楄〃
+ *
+ * @return 娴佺▼瀹氫箟鍒楄〃
+ */
+ List<Map<String, Object>> getPurchaseRequestApproveProcessDefinitionList();
+
+ /**
+ * 鏇存柊閲囪喘鐢宠瀹℃壒缁撴灉锛圔PM 鍥炶皟锛�
+ *
+ * @param id 缂栧彿
+ * @param bpmResult BPM 瀹℃壒缁撴灉
+ */
+ void updatePurchaseRequestAuditStatus(Long id, Integer bpmResult);
+
+ /**
+ * 鐢熸垚閲囪喘璁㈠崟
+ *
+ * @param id 閲囪喘鐢宠缂栧彿
+ * @param supplierId 渚涘簲鍟嗙紪鍙�
+ * @return 閲囪喘璁㈠崟缂栧彿
+ */
+ Long generatePurchaseOrder(Long id, Long supplierId);
+
+ /**
+ * 鏍规嵁缂栧彿鍒楄〃鑾峰彇閲囪喘鐢宠鍒楄〃
+ *
+ * @param ids 缂栧彿鍒楄〃
+ * @return 閲囪喘鐢宠鍒楄〃
+ */
+ List<ErpPurchaseRequestDO> getPurchaseRequestList(List<Long> ids);
+
+}
\ No newline at end of file
--
Gitblit v1.9.3