From d54fbc9d4f8981fa0f7f613b33a28a8cd4f764ea Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期日, 25 十月 2026 16:29:53 +0800
Subject: [PATCH] feat(system): 优化用户搜索功能并完善ERP和MES模块验证逻辑

---
 yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/service/purchase/ErpPurchasePlanService.java |   71 +++++++++++++++++++++++++++++++----
 1 files changed, 62 insertions(+), 9 deletions(-)

diff --git a/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/service/purchase/ErpPurchasePlanService.java b/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/service/purchase/ErpPurchasePlanService.java
index 954d1d4..b22df64 100644
--- a/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/service/purchase/ErpPurchasePlanService.java
+++ b/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/service/purchase/ErpPurchasePlanService.java
@@ -1,14 +1,18 @@
 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.plan.ErpPurchasePlanImportExcelVO;
+import cn.iocoder.yudao.module.erp.controller.admin.purchase.vo.plan.ErpPurchasePlanImportReqVO;
+import cn.iocoder.yudao.module.erp.controller.admin.purchase.vo.plan.ErpPurchasePlanImportRespVO;
 import cn.iocoder.yudao.module.erp.controller.admin.purchase.vo.plan.ErpPurchasePlanPageReqVO;
+import cn.iocoder.yudao.module.erp.controller.admin.purchase.vo.plan.ErpPurchasePlanRespVO;
 import cn.iocoder.yudao.module.erp.controller.admin.purchase.vo.plan.ErpPurchasePlanSaveReqVO;
 import cn.iocoder.yudao.module.erp.dal.dataobject.purchase.ErpPurchasePlanDO;
 import cn.iocoder.yudao.module.erp.dal.dataobject.purchase.ErpPurchasePlanItemDO;
 
 import java.util.Collection;
 import java.util.List;
-import java.util.Map;
+import java.util.Set;
 
 /**
  * ERP 閲囪喘璁″垝 Service 鎺ュ彛
@@ -72,28 +76,67 @@
     PageResult<ErpPurchasePlanDO> getPurchasePlanPage(ErpPurchasePlanPageReqVO pageReqVO);
 
     /**
-     * 鎻愪氦閲囪喘璁″垝瀹℃壒
+     * 鎻愪氦閲囪喘璁″垝瀹℃牳
      *
-     * @param id                   缂栧彿
-     * @param processDefinitionKey BPM 娴佺▼瀹氫箟 Key
-     * @param userId               鐢ㄦ埛缂栧彿
+     * 鎻愪氦鍓嶆牎楠岄�氱敤瀹℃壒閰嶇疆锛坆izType = purchase_plan_approve锛夊凡鍚敤涓旈厤缃簡鏈夋晥瀹℃壒浜猴紱
+     * 鏍¢獙閫氳繃鍚庣姸鎬佺疆涓恒�屽鎵逛腑銆嶃�傝崏绋夸笌瀹℃牳涓嶉�氳繃鐘舵�佸潎鍙彁浜ゃ��
+     *
+     * @param id 缂栧彿
      */
-    void submitPurchasePlan(Long id, String processDefinitionKey, Long userId);
+    void submitPurchasePlan(Long id);
 
     /**
-     * 鑾峰彇閲囪喘璁″垝瀹℃壒娴佺▼鍒楄〃
+     * 鑾峰緱閲囪喘璁″垝鐨勫鎵逛汉鐢ㄦ埛缂栧彿闆嗗悎
      *
-     * @return 娴佺▼瀹氫箟鍒楄〃
+     * 渚涘墠绔垪琛ㄩ〉鍒ゆ柇鏄惁灞曠ず銆屽鏍搞�嶆寜閽紝鏈厤缃椂杩斿洖绌洪泦鍚堛��
+     *
+     * @return 瀹℃壒浜虹敤鎴风紪鍙烽泦鍚�
      */
-    List<Map<String, Object>> getPurchasePlanApproveProcessDefinitionList();
+    Set<Long> getPurchasePlanApproverUserIds();
+
+    /**
+     * 瀹℃牳閲囪喘璁″垝锛堝鎵逛腑 鈫� 瀹℃牳閫氳繃 / 瀹℃牳涓嶉�氳繃锛�
+     *
+     * 浠呴�氱敤瀹℃壒閰嶇疆涓寚瀹氱殑瀹℃壒浜烘湰浜哄彲璋冪敤锛涘鏍镐笉閫氳繃鏃堕』濉啓鍘熷洜銆�
+     * 瀹℃牳閫氳繃鍚庡皢鑷姩鐢熸垚閲囪喘鐢宠銆�
+     *
+     * @param id           閲囪喘璁″垝缂栧彿
+     * @param pass         鏄惁閫氳繃
+     * @param reviewRemark 瀹℃牳鎰忚锛堜笉閫氳繃鏃朵负蹇呭~鐨勫師鍥狅級
+     */
+    void auditPurchasePlan(Long id, Boolean pass, String reviewRemark);
 
     /**
      * BPM 瀹℃壒缁撴灉鍥炶皟鏇存柊閲囪喘璁″垝鐘舵��
+     *
+     * 鍘嗗彶鍏煎鎺ュ彛锛氭敼閫犱负杞婚噺绾у鎵瑰悗涓嶅啀鐢� BPM 浜嬩欢瑙﹀彂锛屼繚鐣欎互鍏煎鏃㈡湁鐩戝惉鍣ㄣ��
      *
      * @param id        閲囪喘璁″垝缂栧彿
      * @param bpmResult BPM 瀹℃壒缁撴灉
      */
     void updatePurchasePlanAuditStatus(Long id, Integer bpmResult);
+
+    /**
+     * BPM 瀹℃壒缁撴灉鍥炶皟鏇存柊閲囪喘璁″垝鐘舵�侊紙甯﹀鏍告剰瑙侊級
+     *
+     * 鐢� BPM 娴佺▼瀹炰緥缁撴潫浜嬩欢瑙﹀彂锛屽皢瀹℃壒缁撴灉鍥炲啓涓轰笟鍔$姸鎬侊細
+     * 瀹℃壒閫氳繃 鈫� 瀹℃牳閫氳繃锛堝苟鑷姩鐢熸垚閲囪喘鐢宠锛夛紱瀹℃壒涓嶉�氳繃 鈫� 瀹℃牳涓嶉�氳繃锛涙祦绋嬪彇娑� 鈫� 宸插彇娑堛��
+     *
+     * @param id        閲囪喘璁″垝缂栧彿
+     * @param bpmStatus BPM 瀹℃壒缁撴灉鐘舵��
+     * @param reason    瀹℃牳鎰忚锛圔PM 瀹℃壒鎰忚锛�
+     */
+    void updatePurchasePlanAuditStatus(Long id, Integer bpmStatus, String reason);
+
+    /**
+     * 鑾峰彇搴撳瓨棰勮寤鸿閲囪喘鏄庣粏
+     *
+     * <p>閬嶅巻鍚敤瀹夊叏搴撳瓨鐨勭墿鏂欙紝鎸夐粯璁や粨搴撳綋鍓嶅簱瀛樹綆浜庢渶浣庡簱瀛樻椂锛�
+     * 琛ヨ冻鍒板畨鍏ㄥ簱瀛橈紙鏈厤缃垯鍥炶惤鏈�楂�/鏈�浣庡簱瀛橈級寰楀埌寤鸿閲囪喘鏄庣粏锛屼笉钀藉簱锛屼緵鏂板寮圭獥鍥炲~鏍稿銆�
+     *
+     * @return 寤鸿閲囪喘鏄庣粏鍒楄〃
+     */
+    List<ErpPurchasePlanRespVO.Item> getStockAlertSuggestItems();
 
     /**
      * 鏍规嵁搴撳瓨棰勮鑷姩鐢熸垚閲囪喘璁″垝锛堣崏绋匡級
@@ -115,4 +158,14 @@
      */
     List<Long> generatePurchaseRequests(Long id);
 
+    /**
+     * 瀵煎叆閲囪喘璁″垝
+     *
+     * @param importPlans 瀵煎叆鐨勯噰璐鍒掑垪琛紙涓�琛屼竴鏉℃槑缁嗭級
+     * @param importReqVO 瀵煎叆鍙傛暟
+     * @return 瀵煎叆缁撴灉
+     */
+    ErpPurchasePlanImportRespVO importPurchasePlanList(List<ErpPurchasePlanImportExcelVO> importPlans,
+                                                       ErpPurchasePlanImportReqVO importReqVO);
+
 }

--
Gitblit v1.9.3