From 05ab6e3f69a5e73624b2573db043f5923e8f7d8b Mon Sep 17 00:00:00 2001
From: xiaoyi <908147524@qq.com>
Date: 星期四, 05 十一月 2026 14:17:19 +0800
Subject: [PATCH] fix 修复bug

---
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/md/item/MesMdItemMapper.java |   16 +++++++++++++++-
 1 files changed, 15 insertions(+), 1 deletions(-)

diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/md/item/MesMdItemMapper.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/md/item/MesMdItemMapper.java
index 2a9fd51..3e05bbe 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/md/item/MesMdItemMapper.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/md/item/MesMdItemMapper.java
@@ -34,15 +34,29 @@
         // 鍏宠仈鐗╂枡鍒嗙被锛屼粎鐢ㄤ簬鎺掑簭锛氬悓鍒嗙被鐨勭墿鏂欒仛鍦ㄤ竴璧凤紝鍒嗙被涔嬮棿鎸夊垎绫荤殑鏄剧ず鎺掑簭
         query.leftJoin(MesMdItemTypeDO.class, MesMdItemTypeDO::getId, MesMdItemDO::getItemTypeId)
                 .likeIfPresent(MesMdItemDO::getCode, reqVO.getCode())
-                .likeIfPresent(MesMdItemDO::getName, reqVO.getName())
                 .inIfPresent(MesMdItemDO::getItemTypeId, itemTypeIds)
                 .inIfPresent(MesMdItemDO::getId,
                         StrUtil.isBlank(reqVO.getIds()) ? null : StrUtils.splitToLong(reqVO.getIds(), ","))
+                .likeIfPresent(MesMdItemDO::getColor, reqVO.getColor())
                 .eqIfPresent(MesMdItemDO::getStatus, reqVO.getStatus())
                 .betweenIfPresent(MesMdItemDO::getCreateTime, reqVO.getCreateTime())
                 .orderByAsc(MesMdItemTypeDO::getSort)
                 .orderByAsc(MesMdItemTypeDO::getCode)
                 .orderByAsc(MesMdItemDO::getCode);
+        if (StrUtil.isNotBlank(reqVO.getName())) {
+            String keyword = reqVO.getName().replaceAll("[\\s\\u3000-]+", "").replace("鍏�", "g");
+            if (keyword.isEmpty()) {
+                query.like(MesMdItemDO::getName, reqVO.getName());
+            } else {
+                query.and(w -> w.like(MesMdItemDO::getName, reqVO.getName())
+                        .or().apply("REPLACE(REPLACE(REPLACE(CONCAT(COALESCE(t.name,''),COALESCE(t.specification,'')), ' ', ''), '-', ''), '鍏�', 'g') LIKE {0}",
+                                "%" + keyword + "%"));
+            }
+        }
+        if (StrUtil.isNotBlank(reqVO.getSpecification())) {
+            String specification = reqVO.getSpecification().replace("鍏�", "g");
+            query.apply("REPLACE(t.specification, '鍏�', 'g') LIKE {0}", "%" + specification + "%");
+        }
         return selectPage(reqVO, query);
     }
 

--
Gitblit v1.9.3