From e09f103259fa602382bb5ce2a03361a6397af46a Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期四, 15 十月 2026 11:49:15 +0800
Subject: [PATCH] feat(mes): 优化MES模块生产调度与数据管理功能

---
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/dv/repair/MesDvRepairMapper.java |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/dv/repair/MesDvRepairMapper.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/dv/repair/MesDvRepairMapper.java
index 8605e9c..f27e46f 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/dv/repair/MesDvRepairMapper.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/dv/repair/MesDvRepairMapper.java
@@ -15,6 +15,11 @@
 @Mapper
 public interface MesDvRepairMapper extends BaseMapperX<MesDvRepairDO> {
 
+    default MesDvRepairDO lockForSpare(Long id) {
+        return selectOne(new LambdaQueryWrapperX<MesDvRepairDO>()
+                .eq(MesDvRepairDO::getId, id).last("FOR UPDATE"));
+    }
+
     default PageResult<MesDvRepairDO> selectPage(MesDvRepairPageReqVO reqVO) {
         return selectPage(reqVO, new LambdaQueryWrapperX<MesDvRepairDO>()
                 .likeIfPresent(MesDvRepairDO::getCode, reqVO.getCode())
@@ -23,6 +28,10 @@
                 .eqIfPresent(MesDvRepairDO::getResult, reqVO.getResult())
                 .eqIfPresent(MesDvRepairDO::getStatus, reqVO.getStatus())
                 .betweenIfPresent(MesDvRepairDO::getRequireDate, reqVO.getRequireDate())
+                // 鍙傛暟缁戝畾锛屾寜璁惧鍙拌处褰撳墠鍚嶇О妯$硦鏌ヨ锛涘垪琛ㄤ笌瀵煎嚭鍏变韩鏉′欢銆�
+                .apply(cn.hutool.core.util.StrUtil.isNotBlank(reqVO.getMachineryName()),
+                        "machinery_id IN (SELECT id FROM mes_dv_machinery WHERE deleted=0 AND name LIKE {0})",
+                        "%" + cn.hutool.core.util.StrUtil.trimToEmpty(reqVO.getMachineryName()) + "%")
                 .orderByDesc(MesDvRepairDO::getId));
     }
 

--
Gitblit v1.9.3