From 7d2ee3cef2e0d68ba6400bc5957640d2771bbf4c Mon Sep 17 00:00:00 2001
From: liu <2021943741@qq.com>
Date: 星期三, 16 九月 2026 18:05:40 +0800
Subject: [PATCH] refactor: 单据审核改为审批配置状态机(新增:audit接口/审核人字段/DB变更脚本)
---
yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/service/purchase/ErpPurchaseRequestService.java | 118 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 118 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..9919861
--- /dev/null
+++ b/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/service/purchase/ErpPurchaseRequestService.java
@@ -0,0 +1,118 @@
+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.Set;
+
+/**
+ * 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 缂栧彿
+ */
+ void submitPurchaseRequest(Long id);
+
+ /**
+ * 鑾峰彇閲囪喘鐢宠鐨勫鎵逛汉缂栧彿闆嗗悎锛堟垨绛撅細浠讳竴浜哄鏍稿嵆鍙級
+ *
+ * @return 瀹℃壒浜虹敤鎴风紪鍙�
+ */
+ Set<Long> getPurchaseRequestApproverUserIds();
+
+ /**
+ * 瀹℃牳閲囪喘鐢宠锛堥�氳繃 / 涓嶉�氳繃锛�
+ *
+ * 浠呴厤缃唴鐨勫鎵逛汉鍙墽琛岋紱瀹℃牳涓嶉�氳繃鏃跺繀椤诲~鍐欏師鍥狅紝閫�鍥炲悗鍙慨鏀瑰苟閲嶆柊鎻愪氦銆�
+ *
+ * @param id 缂栧彿
+ * @param pass 鏄惁瀹℃牳閫氳繃
+ * @param reviewRemark 瀹℃牳鎰忚
+ */
+ void auditPurchaseRequest(Long id, Boolean pass, String reviewRemark);
+
+ /**
+ * 鐢熸垚閲囪喘璁㈠崟
+ *
+ * @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