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-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/mps/MesProMpsServiceImpl.java |   27 +++++++++++++++++----------
 1 files changed, 17 insertions(+), 10 deletions(-)

diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/mps/MesProMpsServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/mps/MesProMpsServiceImpl.java
index f516574..60962e5 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/mps/MesProMpsServiceImpl.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/mps/MesProMpsServiceImpl.java
@@ -10,6 +10,7 @@
 import cn.iocoder.yudao.module.mes.controller.admin.pro.mps.vo.MesProMpsImportRespVO;
 import cn.iocoder.yudao.module.mes.controller.admin.pro.mps.vo.MesProMpsPageReqVO;
 import cn.iocoder.yudao.module.mes.controller.admin.pro.mps.vo.MesProMpsSaveReqVO;
+import cn.iocoder.yudao.module.mes.api.event.ProductionCanceledEvent;
 import cn.iocoder.yudao.module.mes.controller.admin.pro.workorder.vo.MesProWorkOrderSaveReqVO;
 import cn.iocoder.yudao.module.mes.dal.dataobject.pro.mps.MesProMpsDO;
 import cn.iocoder.yudao.module.mes.dal.dataobject.pro.mps.MesProMpsMergeItemDO;
@@ -23,6 +24,7 @@
 import cn.iocoder.yudao.module.mes.dal.dataobject.md.item.MesMdItemDO;
 import cn.iocoder.yudao.module.mes.dal.dataobject.md.item.MesMdItemTypeDO;
 import cn.iocoder.yudao.module.mes.enums.md.MesMdItemTypeEnum;
+import cn.iocoder.yudao.module.mes.enums.md.autocode.MesMdAutoCodeRuleCodeEnum;
 import cn.iocoder.yudao.module.mes.service.md.item.MesMdItemTypeService;
 import cn.iocoder.yudao.module.mes.dal.dataobject.pro.route.MesProRouteProcessDO;
 import cn.iocoder.yudao.module.mes.dal.dataobject.pro.workorder.MesProWorkOrderDO;
@@ -41,6 +43,7 @@
 import jakarta.annotation.Resource;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
+import org.springframework.context.ApplicationEventPublisher;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.validation.annotation.Validated;
 
@@ -70,11 +73,6 @@
 @Slf4j
 public class MesProMpsServiceImpl implements MesProMpsService {
 
-    /**
-     * MPS 缂栫爜瑙勫垯
-     */
-    private static final String MPS_CODE_RULE = "MPS";
-
     @Resource
     private MesProMpsMapper mpsMapper;
     @Resource
@@ -99,6 +97,8 @@
     private MesProRouteProcessService routeProcessService;
     @Resource
     private MesProWorkOrderProcessService workOrderProcessService;
+    @Resource
+    private ApplicationEventPublisher eventPublisher;
 
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -312,6 +312,10 @@
         mpsMapper.updateById(new MesProMpsDO()
                 .setId(id)
                 .setStatus(MesProMpsStatusEnum.CANCELED.getStatus()));
+        // 鏉ユ簮浜庨攢鍞鍗曟椂锛屽悓姝ユ仮澶嶉攢鍞鍗曠敓浜х姸鎬侊紝鍏佽閲嶆柊鍒涘缓鐢熶骇璁″垝
+        if (mps.getSaleOrderId() != null) {
+            eventPublisher.publishEvent(new ProductionCanceledEvent(mps.getSaleOrderId()));
+        }
     }
 
     @Override
@@ -534,10 +538,11 @@
      */
     private String generateMpsCode() {
         try {
-            return autoCodeRecordService.generateAutoCode(MPS_CODE_RULE);
+            return autoCodeRecordService.generateAutoCode(MesMdAutoCodeRuleCodeEnum.PRO_MPS_CODE.getCode());
         } catch (Exception e) {
             // 濡傛灉缂栫爜瑙勫垯涓嶅瓨鍦紝浣跨敤鏃堕棿鎴崇敓鎴�
-            log.warn("[generateMpsCode] 缂栫爜瑙勫垯 {} 涓嶅瓨鍦紝浣跨敤鏃堕棿鎴崇敓鎴�", MPS_CODE_RULE);
+            log.warn("[generateMpsCode] 缂栫爜瑙勫垯 {} 涓嶅瓨鍦紝浣跨敤鏃堕棿鎴崇敓鎴�",
+                    MesMdAutoCodeRuleCodeEnum.PRO_MPS_CODE.getCode(), e);
             return "MPS" + System.currentTimeMillis();
         }
     }
@@ -681,11 +686,13 @@
      */
     private String generateWorkOrderCode() {
         try {
-            return autoCodeRecordService.generateAutoCode("WO");
+            return autoCodeRecordService.generateAutoCode(
+                    MesMdAutoCodeRuleCodeEnum.PRO_WORK_ORDER_CODE.getCode());
         } catch (Exception e) {
-            log.warn("[generateWorkOrderCode] 缂栫爜瑙勫垯 WO 涓嶅瓨鍦紝浣跨敤鏃堕棿鎴崇敓鎴�");
+            log.warn("[generateWorkOrderCode] 缂栫爜瑙勫垯 {} 涓嶅瓨鍦紝浣跨敤鏃堕棿鎴崇敓鎴�",
+                    MesMdAutoCodeRuleCodeEnum.PRO_WORK_ORDER_CODE.getCode(), e);
             return "WO" + System.currentTimeMillis();
         }
     }
 
-}
\ No newline at end of file
+}

--
Gitblit v1.9.3