From bb1210d95ccd0216ff8a352238f0ee25754a2ef2 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期二, 04 八月 2026 09:37:29 +0800
Subject: [PATCH] fix(crm): 修复权限切面中的空指针异常

---
 yudao-module-mdm/src/main/java/cn/iocoder/yudao/module/mdm/controller/admin/item/MdmItemController.java |   28 ++++++++++++++++++++++++++++
 1 files changed, 28 insertions(+), 0 deletions(-)

diff --git a/yudao-module-mdm/src/main/java/cn/iocoder/yudao/module/mdm/controller/admin/item/MdmItemController.java b/yudao-module-mdm/src/main/java/cn/iocoder/yudao/module/mdm/controller/admin/item/MdmItemController.java
index d271a28..461e65e 100644
--- a/yudao-module-mdm/src/main/java/cn/iocoder/yudao/module/mdm/controller/admin/item/MdmItemController.java
+++ b/yudao-module-mdm/src/main/java/cn/iocoder/yudao/module/mdm/controller/admin/item/MdmItemController.java
@@ -18,6 +18,7 @@
 import cn.iocoder.yudao.module.mdm.service.item.MdmItemService;
 import cn.iocoder.yudao.module.mdm.service.unit.MdmUnitMeasureService;
 import cn.iocoder.yudao.module.mdm.service.warehouse.MdmWarehouseService;
+import cn.iocoder.yudao.module.mes.api.item.MesMdItemApi;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.Parameter;
 import io.swagger.v3.oas.annotations.tags.Tag;
@@ -41,6 +42,9 @@
 
     @Resource
     private MdmItemService itemService;
+
+    @Resource
+    private MesMdItemApi mesMdItemApi;
 
     @Resource
     private MdmItemCategoryService itemCategoryService;
@@ -105,6 +109,8 @@
             enrichItemRespVO(resp);
             // 濉厖鎵规灞炴�ч厤缃�
             enrichItemBatchConfig(resp);
+            // 濉厖鍚屾鐘舵��
+            resp.setSyncedMes(mesMdItemApi.getSyncedMdmItemIds(Set.of(id)).contains(id));
         }
         return success(resp);
     }
@@ -122,6 +128,9 @@
                 convertSet(pageResult.getList(), MdmItemDO::getUnitMeasureId));
         // 杞崲
         List<MdmItemRespVO> respList = BeanUtils.toBean(pageResult.getList(), MdmItemRespVO.class);
+        // 鎵归噺鏌ヨ鍚屾鐘舵��
+        Set<Long> allIds = convertSet(respList, MdmItemRespVO::getId);
+        Set<Long> syncedIds = mesMdItemApi.getSyncedMdmItemIds(allIds);
         // 鎵归噺鍏宠仈鏌ヨ杈呭崟浣嶅悕绉�
         Set<Long> unitIds = new HashSet<>();
         respList.forEach(resp -> {
@@ -161,6 +170,8 @@
             if (warehouse != null) {
                 resp.setWarehouseName(warehouse.getName());
             }
+            // 鍚屾鐘舵��
+            resp.setSyncedMes(syncedIds.contains(resp.getId()));
         });
         return success(new PageResult<>(respList, pageResult.getTotal()));
     }
@@ -174,6 +185,23 @@
         return success(BeanUtils.toBean(list, MdmItemRespVO.class));
     }
 
+    @GetMapping("/simple-list")
+    @Operation(summary = "鑾峰彇鐗╂枡绮剧畝鍒楄〃锛堝惎鐢ㄧ姸鎬侊紝鐢ㄤ簬涓嬫媺閫夋嫨锛�")
+    public CommonResult<List<MdmItemRespVO>> getItemSimpleList() {
+        List<MdmItemDO> list = itemService.getItemSimpleList();
+        List<MdmItemRespVO> respList = BeanUtils.toBean(list, MdmItemRespVO.class);
+        // 濉厖鍗曚綅鍚嶇О绛夊叧鑱斿瓧娈碉紝纭繚涓嬫媺閫夋嫨鍚庡彲甯﹀嚭鍗曚綅绛変俊鎭�
+        Map<Long, MdmUnitMeasureDO> unitMap = unitMeasureService.getUnitMeasureMap(
+                convertSet(respList, MdmItemRespVO::getUnitMeasureId));
+        respList.forEach(resp -> {
+            MdmUnitMeasureDO unit = unitMap.get(resp.getUnitMeasureId());
+            if (unit != null) {
+                resp.setUnitMeasureName(unit.getName());
+            }
+        });
+        return success(respList);
+    }
+
     /**
      * 濉厖鐗╂枡鍝嶅簲 VO 鐨勫叧鑱斿悕绉帮紙鍒嗙被銆佷富鍗曚綅銆佽緟鍗曚綅銆佷粨搴撳悕绉帮級
      */

--
Gitblit v1.9.3