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/dv/machinery/MesDvMachineryServiceImpl.java |   16 +++++++++++++---
 1 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/dv/machinery/MesDvMachineryServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/dv/machinery/MesDvMachineryServiceImpl.java
index 45568db..b11c9f8 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/dv/machinery/MesDvMachineryServiceImpl.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/dv/machinery/MesDvMachineryServiceImpl.java
@@ -8,6 +8,8 @@
 import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
 import cn.iocoder.yudao.module.mdm.api.item.MdmItemApi;
 import cn.iocoder.yudao.module.mdm.api.item.dto.MdmItemCreateReqDTO;
+import cn.iocoder.yudao.module.mdm.api.category.MdmItemCategoryApi;
+import cn.iocoder.yudao.module.mdm.api.category.dto.MdmItemCategoryRespDTO;
 import cn.iocoder.yudao.module.mdm.api.unit.MdmUnitMeasureApi;
 import cn.iocoder.yudao.module.mdm.api.unit.dto.MdmUnitMeasureRespDTO;
 import cn.iocoder.yudao.module.mdm.enums.MdmItemTypeEnum;
@@ -104,6 +106,8 @@
     // ========== 璁惧鐗╂枡鑱斿姩渚濊禆 ==========
     @Resource
     private MdmItemApi mdmItemApi;
+    @Resource
+    private MdmItemCategoryApi mdmItemCategoryApi;
     @Resource
     private MdmUnitMeasureApi mdmUnitMeasureApi;
     @Resource
@@ -382,9 +386,15 @@
      * @return MDM 鐗╂枡缂栧彿锛�= MES 鐗╂枡缂栧彿锛�
      */
     private Long createEquipmentMaterial(String code, String name, String specification, String remark) {
-        // 1. 瑙f瀽鈥滆澶団�濈被鍨嬶紙MES 渚э級涓庘�滃彴鈥濆崟浣嶏紙MDM 渚� + MES 渚э級锛岀己澶卞垯鎻愮ず涓绘暟鎹湭鍒濆鍖�
+        // 1. 鍒嗗埆鎸夌紪鐮佽В鏋� MDM 鍒嗙被銆丮ES 绫诲瀷鍜屼袱渚у崟浣嶏紝绂佹渚濊禆涓ゅ琛ㄤ富閿伆濂戒竴鑷淬��
         MesMdItemTypeDO itemType = mesMdItemTypeService.getItemTypeByCode(EQUIPMENT_ITEM_TYPE_CODE);
         if (itemType == null) {
+            throw exception(DV_MACHINERY_EQUIP_MASTER_MISSING);
+        }
+        CommonResult<MdmItemCategoryRespDTO> categoryResult =
+                mdmItemCategoryApi.getItemCategoryByCode(EQUIPMENT_ITEM_TYPE_CODE);
+        MdmItemCategoryRespDTO mdmCategory = categoryResult.isSuccess() ? categoryResult.getData() : null;
+        if (mdmCategory == null) {
             throw exception(DV_MACHINERY_EQUIP_MASTER_MISSING);
         }
         if (mesMdUnitMeasureService.getUnitMeasureByCode(EQUIPMENT_UNIT_CODE) == null) {
@@ -396,13 +406,13 @@
             throw exception(DV_MACHINERY_EQUIP_MASTER_MISSING);
         }
 
-        // 2. 鍒涘缓 MDM 鐗╂枡锛涘垎绫讳娇鐢ㄢ�滆澶団�濆垎绫伙紙鍏� id 涓� MES 绫诲瀷 id 瀵归綈锛岀敱鍒濆鍖栬剼鏈繚璇侊級
+        // 2. 鍒涘缓 MDM 鐗╂枡锛涘垎绫诲彇 MDM 鑷韩涓婚敭锛屽厑璁镐笉鍚岀幆澧冧腑涓ゅ鍒嗙被琛ㄧ殑涓婚敭涓嶄竴鑷淬��
         MdmItemCreateReqDTO createReqDTO = new MdmItemCreateReqDTO();
         createReqDTO.setCode(code);
         createReqDTO.setName(name);
         createReqDTO.setSpecification(specification);
         createReqDTO.setRemark(remark);
-        createReqDTO.setCategoryId(itemType.getId());
+        createReqDTO.setCategoryId(mdmCategory.getId());
         createReqDTO.setUnitMeasureId(mdmUnit.getId());
         createReqDTO.setItemType(MdmItemTypeEnum.EQUIPMENT.getType());
         createReqDTO.setStatus(0);

--
Gitblit v1.9.3