From a647bc8a43c0212f482bee0630ebd14dca120a8a Mon Sep 17 00:00:00 2001
From: 吴羡 <16976746+Xian-TT3@user.noreply.gitee.com>
Date: 星期一, 28 九月 2026 14:13:28 +0800
Subject: [PATCH] feat: CRM 发票/合同导入、MES 质检批量导入与检测台账、回款与报价校验、权限码细化

---
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/md/item/MesMdItemMapper.java |   33 +++++++++++++++++++++++++++++----
 1 files changed, 29 insertions(+), 4 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 26502d5..2a9fd51 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
@@ -1,18 +1,22 @@
 package cn.iocoder.yudao.module.mes.dal.mysql.md.item;
 
 import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.StrUtil;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
+import cn.iocoder.yudao.framework.common.util.string.StrUtils;
 import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
-import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
+import cn.iocoder.yudao.framework.mybatis.core.query.MPJLambdaWrapperX;
 import cn.iocoder.yudao.module.mes.controller.admin.md.item.vo.MesMdItemPageReqVO;
 import cn.iocoder.yudao.module.mes.dal.dataobject.md.item.MesMdItemDO;
+import cn.iocoder.yudao.module.mes.dal.dataobject.md.item.MesMdItemTypeDO;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Select;
+import org.apache.ibatis.annotations.Update;
 
 import java.util.Collection;
 import java.util.Collections;
 import java.util.List;
 import java.util.Set;
-import java.util.stream.Collectors;
 
 import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet;
 
@@ -25,13 +29,21 @@
 public interface MesMdItemMapper extends BaseMapperX<MesMdItemDO> {
 
     default PageResult<MesMdItemDO> selectPage(MesMdItemPageReqVO reqVO, Collection<Long> itemTypeIds) {
-        return selectPage(reqVO, new LambdaQueryWrapperX<MesMdItemDO>()
+        MPJLambdaWrapperX<MesMdItemDO> query = new MPJLambdaWrapperX<>();
+        query.selectAll(MesMdItemDO.class);
+        // 鍏宠仈鐗╂枡鍒嗙被锛屼粎鐢ㄤ簬鎺掑簭锛氬悓鍒嗙被鐨勭墿鏂欒仛鍦ㄤ竴璧凤紝鍒嗙被涔嬮棿鎸夊垎绫荤殑鏄剧ず鎺掑簭
+        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(), ","))
                 .eqIfPresent(MesMdItemDO::getStatus, reqVO.getStatus())
                 .betweenIfPresent(MesMdItemDO::getCreateTime, reqVO.getCreateTime())
-                .orderByDesc(MesMdItemDO::getId));
+                .orderByAsc(MesMdItemTypeDO::getSort)
+                .orderByAsc(MesMdItemTypeDO::getCode)
+                .orderByAsc(MesMdItemDO::getCode);
+        return selectPage(reqVO, query);
     }
 
     default MesMdItemDO selectByCode(String code) {
@@ -55,6 +67,19 @@
     }
 
     /**
+     * 鎸� ID 鏌ヨ璁板綍锛堜笉杩囨护閫昏緫鍒犻櫎锛屽惈宸插垹闄よ锛�
+     * 鐢ㄤ簬"鍙栨秷鍚屾锛堥�昏緫鍒犻櫎锛夊悗閲嶆柊鍚屾"鏃跺垽鏂富閿槸鍚﹁鍗犵敤
+     */
+    @Select("SELECT * FROM mes_md_item WHERE id = #{id} LIMIT 1")
+    MesMdItemDO selectAnyById(Long id);
+
+    /**
+     * 鎭㈠閫昏緫鍒犻櫎鐨勮褰曪紙deleted 缃� 0锛�
+     */
+    @Update("UPDATE mes_md_item SET deleted = 0, update_time = NOW() WHERE id = #{id}")
+    int restoreById(Long id);
+
+    /**
      * 鎵归噺鏌ヨ宸插瓨鍦ㄧ殑 MDM 鐗╂枡 ID 闆嗗悎
      *
      * @param mdmItemIds MDM 鐗╂枡 ID 鍒楄〃

--
Gitblit v1.9.3