From 5f708178b260cabf081f9049cf51e9ad66ae2911 Mon Sep 17 00:00:00 2001
From: tuqin <tuqin@tuqin.cn>
Date: 星期四, 10 九月 2026 14:49:29 +0800
Subject: [PATCH] feat(erp/mes): 新增采购订单/销售订单/计量器具 Excel 导入,含导入菜单权限 SQL
---
yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/service/purchase/ErpPurchaseOrderService.java | 64 +++++++++++++++++++++++++++++++
1 files changed, 63 insertions(+), 1 deletions(-)
diff --git a/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/service/purchase/ErpPurchaseOrderService.java b/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/service/purchase/ErpPurchaseOrderService.java
index 0fe2151..1bfd1ce 100644
--- a/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/service/purchase/ErpPurchaseOrderService.java
+++ b/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/service/purchase/ErpPurchaseOrderService.java
@@ -3,6 +3,8 @@
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.erp.controller.admin.purchase.vo.order.ErpPurchaseOrderPageReqVO;
import cn.iocoder.yudao.module.erp.controller.admin.purchase.vo.order.ErpPurchaseOrderSaveReqVO;
+import cn.iocoder.yudao.module.erp.controller.admin.purchase.vo.order.ErpPurchaseOrderImportExcelVO;
+import cn.iocoder.yudao.module.erp.controller.admin.purchase.vo.order.ErpPurchaseOrderImportRespVO;
import cn.iocoder.yudao.module.erp.dal.dataobject.purchase.ErpPurchaseOrderDO;
import cn.iocoder.yudao.module.erp.dal.dataobject.purchase.ErpPurchaseOrderItemDO;
import jakarta.validation.Valid;
@@ -15,7 +17,7 @@
/**
* ERP 閲囪喘璁㈠崟 Service 鎺ュ彛
*
- * @author 鑺嬮亾婧愮爜
+ * @author 瓒呯骇绠$悊鍛�
*/
public interface ErpPurchaseOrderService {
@@ -26,6 +28,15 @@
* @return 缂栧彿
*/
Long createPurchaseOrder(@Valid ErpPurchaseOrderSaveReqVO createReqVO);
+
+ /**
+ * 瀵煎叆閲囪喘璁㈠崟
+ *
+ * @param importList 瀵煎叆鏁版嵁锛堟瘡涓�琛� = 涓�鏉℃槑缁嗭紝鐩稿悓閲囪喘鍗曠紪鍙峰悎骞朵负涓�寮犺鍗曪級
+ * @param directApprove 鏄惁灏嗗鍏ョ殑璁㈠崟鐩存帴缃负鈥滃凡瀹℃牳鈥濓細true=宸插鏍�(20)锛宖alse=鏈鏍�(10)
+ * @return 瀵煎叆缁撴灉
+ */
+ ErpPurchaseOrderImportRespVO importPurchaseOrderList(List<ErpPurchaseOrderImportExcelVO> importList, Boolean directApprove);
/**
* 鏇存柊閲囪喘璁㈠崟
@@ -41,6 +52,30 @@
* @param status 鐘舵��
*/
void updatePurchaseOrderStatus(Long id, Integer status);
+
+ /**
+ * 鎻愪氦閲囪喘璁㈠崟瀹℃壒
+ *
+ * @param id 缂栧彿
+ * @param processDefinitionKey 娴佺▼瀹氫箟 Key
+ * @param userId 鐢ㄦ埛缂栧彿
+ */
+ void submitPurchaseOrder(Long id, String processDefinitionKey, Long userId);
+
+ /**
+ * 鑾峰彇閲囪喘璁㈠崟瀹℃壒娴佺▼鍒楄〃
+ *
+ * @return 娴佺▼瀹氫箟鍒楄〃
+ */
+ List<Map<String, Object>> getPurchaseOrderApproveProcessDefinitionList();
+
+ /**
+ * 鏇存柊閲囪喘璁㈠崟瀹℃壒缁撴灉锛圔PM 鍥炶皟锛�
+ *
+ * @param id 缂栧彿
+ * @param bpmResult BPM 瀹℃壒缁撴灉
+ */
+ void updatePurchaseOrderAuditStatus(Long id, Integer bpmResult);
/**
* 鏇存柊閲囪喘璁㈠崟鐨勫叆搴撴暟閲�
@@ -72,6 +107,14 @@
* @return 閲囪喘璁㈠崟
*/
ErpPurchaseOrderDO getPurchaseOrder(Long id);
+
+ /**
+ * 鏍规嵁 BPM 娴佺▼瀹炰緥缂栧彿鏌ヨ閲囪喘璁㈠崟锛堢敤浜庡崗鍚屽姙鍏弽瀹℃壒锛�
+ *
+ * @param processInstanceId 娴佺▼瀹炰緥缂栧彿
+ * @return 閲囪喘璁㈠崟
+ */
+ ErpPurchaseOrderDO getPurchaseOrderByProcessInstanceId(String processInstanceId);
/**
* 鏍¢獙閲囪喘璁㈠崟锛屽凡缁忓鏍搁�氳繃
@@ -125,6 +168,15 @@
List<ErpPurchaseOrderDO> getPurchaseOrderList(List<Long> ids);
/**
+ * 鎸夋潵婧愭煡璇㈤噰璐鍗曞垪琛�
+ *
+ * @param sourceType 鏉ユ簮绫诲瀷
+ * @param sourceId 鏉ユ簮鍗曟嵁缂栧彿
+ * @return 閲囪喘璁㈠崟鍒楄〃
+ */
+ List<ErpPurchaseOrderDO> getPurchaseOrderListBySource(Integer sourceType, Long sourceId);
+
+ /**
* 鏇存柊閲囪喘璁㈠崟鐨勫叆搴撶姸鎬�
*
* 鏍规嵁鏄庣粏鍏ュ簱鏁伴噺鑷姩璁$畻璁㈠崟鐘舵�侊細
@@ -136,4 +188,14 @@
*/
void updatePurchaseOrderInStatus(Long orderId);
+ /**
+ * 纭鏀惰揣
+ *
+ * 鐢熸垚鍒拌揣閫氱煡鍗曪紝鐘舵�佷负寰呭叆搴�
+ *
+ * @param id 閲囪喘璁㈠崟缂栧彿
+ * @return 鍒拌揣閫氱煡鍗曠紪鍙�
+ */
+ Long confirmReceipt(Long id);
+
}
\ No newline at end of file
--
Gitblit v1.9.3