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/sale/ErpSaleOrderService.java | 74 ++++++++++++++++++++++++++-----------
1 files changed, 52 insertions(+), 22 deletions(-)
diff --git a/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/service/sale/ErpSaleOrderService.java b/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/service/sale/ErpSaleOrderService.java
index 530faa9..9d0fe8e 100644
--- a/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/service/sale/ErpSaleOrderService.java
+++ b/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/service/sale/ErpSaleOrderService.java
@@ -3,6 +3,8 @@
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.erp.controller.admin.sale.vo.order.ErpSaleOrderPageReqVO;
import cn.iocoder.yudao.module.erp.controller.admin.sale.vo.order.ErpSaleOrderSaveReqVO;
+import cn.iocoder.yudao.module.erp.controller.admin.sale.vo.order.ErpSaleOrderImportExcelVO;
+import cn.iocoder.yudao.module.erp.controller.admin.sale.vo.order.ErpSaleOrderImportRespVO;
import cn.iocoder.yudao.module.erp.dal.dataobject.sale.ErpSaleOrderDO;
import cn.iocoder.yudao.module.erp.dal.dataobject.sale.ErpSaleOrderItemDO;
import jakarta.validation.Valid;
@@ -15,7 +17,7 @@
/**
* ERP 閿�鍞鍗� Service 鎺ュ彛
*
- * @author 鑺嬮亾婧愮爜
+ * @author 瓒呯骇绠$悊鍛�
*/
public interface ErpSaleOrderService {
@@ -28,6 +30,14 @@
Long createSaleOrder(@Valid ErpSaleOrderSaveReqVO createReqVO);
/**
+ * 瀵煎叆閿�鍞鍗曪紙瀵煎叆鍚庝负鈥滄湭鎻愪氦鈥濈姸鎬侊紝鍙户缁紪杈戞垨鎻愪氦瀹℃壒锛�
+ *
+ * @param importList 瀵煎叆鏁版嵁锛堟瘡涓�琛� = 涓�鏉℃槑缁嗭紝鐩稿悓閿�鍞崟缂栧彿鍚堝苟涓轰竴寮犺鍗曪級
+ * @return 瀵煎叆缁撴灉
+ */
+ ErpSaleOrderImportRespVO importSaleOrderList(List<ErpSaleOrderImportExcelVO> importList);
+
+ /**
* 鏇存柊閿�鍞鍗�
*
* @param updateReqVO 鏇存柊淇℃伅
@@ -35,28 +45,44 @@
void updateSaleOrder(@Valid ErpSaleOrderSaveReqVO updateReqVO);
/**
- * 鏇存柊閿�鍞鍗曠殑鐘舵��
+ * 鎻愪氦閿�鍞鍗曞鎵癸紙鍗忓悓鍔炲叕 BPM锛�
+ *
+ * 鏈彁浜ゆ垨宸查┏鍥炵殑閿�鍞鍗曞彲鎻愪氦锛屾彁浜ゅ悗杩涘叆鍗忓悓鍔炲叕瀹℃壒娴佺▼
*
* @param id 缂栧彿
- * @param status 鐘舵��
+ * @param processDefinitionKey 娴佺▼瀹氫箟鐨勬爣璇�
+ * @param userId 鎻愪氦浜虹紪鍙�
*/
- void updateSaleOrderStatus(Long id, Integer status);
+ void submitSaleOrder(Long id, String processDefinitionKey, Long userId);
/**
- * 鎻愪氦閿�鍞鍗曞鎵�
+ * 鏇存柊閿�鍞鍗曠殑瀹℃壒鐘舵�侊紙鍗忓悓鍔炲叕瀹℃壒缁撴灉鍥炶皟锛�
*
* @param id 缂栧彿
- * @param userId 鐢ㄦ埛缂栧彿
- */
- void submitSaleOrder(Long id, Long userId);
-
- /**
- * 鏇存柊閿�鍞鍗曠殑瀹℃壒鐘舵��
- *
- * @param id 缂栧彿
- * @param bpmResult BPM 瀹℃壒缁撴灉
+ * @param bpmResult BPM 瀹℃壒缁撴灉锛堥�氳繃/椹冲洖/鍙栨秷锛�
*/
void updateSaleOrderAuditStatus(Long id, Integer bpmResult);
+
+ /**
+ * 鑾峰緱閿�鍞鍗曞鎵规祦绋嬪畾涔夊垪琛�
+ *
+ * @return 娴佺▼瀹氫箟鍒楄〃锛坕d/key/name锛�
+ */
+ List<Map<String, Object>> getSaleOrderApproveProcessDefinitionList();
+
+ /**
+ * 浣滃簾閿�鍞鍗�
+ *
+ * @param id 缂栧彿
+ */
+ void cancelSaleOrder(Long id);
+
+ /**
+ * 閲嶆柊鍚敤閿�鍞鍗�
+ *
+ * @param id 缂栧彿
+ */
+ void enableSaleOrder(Long id);
/**
* 鏇存柊閿�鍞鍗曠殑鍑哄簱鏁伴噺
@@ -65,14 +91,6 @@
* @param outCountMap 鍑哄簱鏁伴噺 Map锛歬ey 閿�鍞鍗曢」缂栧彿锛泇alue 鍑哄簱鏁伴噺
*/
void updateSaleOrderOutCount(Long id, Map<Long, BigDecimal> outCountMap);
-
- /**
- * 鏇存柊閿�鍞鍗曠殑閫�璐ф暟閲�
- *
- * @param orderId 缂栧彿
- * @param returnCountMap 閫�璐ф暟閲� Map锛歬ey 閿�鍞鍗曢」缂栧彿锛泇alue 閫�璐ф暟閲�
- */
- void updateSaleOrderReturnCount(Long orderId, Map<Long, BigDecimal> returnCountMap);
/**
* 鍒犻櫎閿�鍞鍗�
@@ -123,4 +141,16 @@
*/
List<ErpSaleOrderItemDO> getSaleOrderItemListByOrderIds(Collection<Long> orderIds);
+ /**
+ * 鏇存柊閿�鍞鍗曠殑鍑哄簱鐘舵��
+ *
+ * 鏍规嵁鏄庣粏鍑哄簱鏁伴噺鑷姩璁$畻璁㈠崟鐘舵�侊細
+ * - 鎵�鏈夋槑缁嗛兘瀹屾垚鍑哄簱 鈫� 鍏ㄩ儴鍑哄簱鐘舵��
+ * - 閮ㄥ垎鏄庣粏瀹屾垚鍑哄簱 鈫� 閮ㄥ垎鍑哄簱鐘舵��
+ * - 鏃犳槑缁嗗嚭搴� 鈫� 鏈嚭搴撶姸鎬�
+ *
+ * @param orderId 璁㈠崟缂栧彿
+ */
+ void updateSaleOrderOutStatus(Long orderId);
+
}
\ No newline at end of file
--
Gitblit v1.9.3