From 3edf8c4fc07f9784e2d04ee7a98692bb457749eb Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期一, 26 十月 2026 16:28:10 +0800
Subject: [PATCH] feat(mes): 新增工艺路线完整导入功能并优化相关验证

---
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/workorder/MesProWorkOrderProcessMapper.java |   35 ++++++++++++++++++++++++++++++++++-
 1 files changed, 34 insertions(+), 1 deletions(-)

diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/workorder/MesProWorkOrderProcessMapper.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/workorder/MesProWorkOrderProcessMapper.java
index 8a07f55..247ca56 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/workorder/MesProWorkOrderProcessMapper.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/workorder/MesProWorkOrderProcessMapper.java
@@ -5,6 +5,7 @@
 import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
 import cn.iocoder.yudao.module.mes.controller.admin.pro.workorder.vo.process.MesProWorkOrderProcessPageReqVO;
 import cn.iocoder.yudao.module.mes.dal.dataobject.pro.workorder.MesProWorkOrderProcessDO;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import org.apache.ibatis.annotations.Mapper;
 
 import java.util.List;
@@ -12,7 +13,7 @@
 /**
  * MES 鐢熶骇宸ュ崟宸ュ簭 Mapper
  *
- * @author 鑺嬮亾婧愮爜
+ * @author 瓒呯骇绠$悊鍛�
  */
 @Mapper
 public interface MesProWorkOrderProcessMapper extends BaseMapperX<MesProWorkOrderProcessDO> {
@@ -29,9 +30,41 @@
                 .orderByAsc(MesProWorkOrderProcessDO::getSort));
     }
 
+    default MesProWorkOrderProcessDO selectByWorkOrderIdAndProcessId(Long workOrderId, Long processId) {
+        return selectOne(new LambdaQueryWrapperX<MesProWorkOrderProcessDO>()
+                .eq(MesProWorkOrderProcessDO::getWorkOrderId, workOrderId)
+                .eq(MesProWorkOrderProcessDO::getProcessId, processId)
+                .orderByAsc(MesProWorkOrderProcessDO::getSort)
+                .last("LIMIT 1"));
+    }
+
+    default MesProWorkOrderProcessDO selectLastByWorkOrderId(Long workOrderId) {
+        return selectOne(new LambdaQueryWrapperX<MesProWorkOrderProcessDO>()
+                .eq(MesProWorkOrderProcessDO::getWorkOrderId, workOrderId)
+                .orderByDesc(MesProWorkOrderProcessDO::getSort)
+                .last("LIMIT 1"));
+    }
+
+    /**
+     * 鏇存柊鎶ュ伐浠撳簱锛氬厑璁哥疆绌猴紙updateById 浼氬拷鐣� null 瀛楁锛屾晠鍗曠嫭澶勭悊锛�
+     */
+    default void updateWarehouseById(Long id, Long warehouseId, Long locationId, Long areaId) {
+        update(null, new LambdaUpdateWrapper<MesProWorkOrderProcessDO>()
+                .set(MesProWorkOrderProcessDO::getWarehouseId, warehouseId)
+                .set(MesProWorkOrderProcessDO::getLocationId, locationId)
+                .set(MesProWorkOrderProcessDO::getAreaId, areaId)
+                .eq(MesProWorkOrderProcessDO::getId, id));
+    }
+
     default void deleteByWorkOrderId(Long workOrderId) {
         delete(new LambdaQueryWrapperX<MesProWorkOrderProcessDO>()
                 .eq(MesProWorkOrderProcessDO::getWorkOrderId, workOrderId));
     }
 
+    default List<MesProWorkOrderProcessDO> selectListByWorkOrderIds(java.util.Collection<Long> workOrderIds) {
+        return selectList(new LambdaQueryWrapperX<MesProWorkOrderProcessDO>()
+                .in(MesProWorkOrderProcessDO::getWorkOrderId, workOrderIds)
+                .orderByAsc(MesProWorkOrderProcessDO::getWorkOrderId, MesProWorkOrderProcessDO::getSort));
+    }
+
 }
\ No newline at end of file

--
Gitblit v1.9.3