From 7bd10d34e8a8dc2437ec8551eb511e37634d7306 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期一, 02 十一月 2026 16:51:52 +0800
Subject: [PATCH] feat(mes): 生产计划审批改走协同办公,修复工单领料与产成品入库校验
---
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/workorder/MesProWorkOrderMapper.java | 23 +++++++++++++++++++++++
1 files changed, 23 insertions(+), 0 deletions(-)
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/workorder/MesProWorkOrderMapper.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/workorder/MesProWorkOrderMapper.java
index d6d43f9..e619d1d 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/workorder/MesProWorkOrderMapper.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/workorder/MesProWorkOrderMapper.java
@@ -20,6 +20,11 @@
@Mapper
public interface MesProWorkOrderMapper extends BaseMapperX<MesProWorkOrderDO> {
+ default List<MesProWorkOrderDO> lockScheduleOrders(List<Long> ids) {
+ return selectList(new LambdaQueryWrapperX<MesProWorkOrderDO>()
+ .in(MesProWorkOrderDO::getId, ids).orderByAsc(MesProWorkOrderDO::getId).last("FOR UPDATE"));
+ }
+
default PageResult<MesProWorkOrderDO> selectPage(MesProWorkOrderPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<MesProWorkOrderDO>()
.likeIfPresent(MesProWorkOrderDO::getCode, reqVO.getCode())
@@ -28,6 +33,8 @@
.likeIfPresent(MesProWorkOrderDO::getOrderSourceCode, reqVO.getOrderSourceCode())
.eqIfPresent(MesProWorkOrderDO::getProductId, reqVO.getProductId())
.eqIfPresent(MesProWorkOrderDO::getClientId, reqVO.getClientId())
+ .eqIfPresent(MesProWorkOrderDO::getFactoryId, reqVO.getFactoryId())
+ .eqIfPresent(MesProWorkOrderDO::getWorkshopId, reqVO.getWorkshopId())
.eqIfPresent(MesProWorkOrderDO::getStatus, reqVO.getStatus())
.betweenIfPresent(MesProWorkOrderDO::getRequestDate, reqVO.getRequestDate())
.orderByDesc(MesProWorkOrderDO::getId));
@@ -44,6 +51,8 @@
.likeIfPresent(MesProWorkOrderDO::getOrderSourceCode, reqVO.getOrderSourceCode())
.eqIfPresent(MesProWorkOrderDO::getProductId, reqVO.getProductId())
.eqIfPresent(MesProWorkOrderDO::getClientId, reqVO.getClientId())
+ .eqIfPresent(MesProWorkOrderDO::getFactoryId, reqVO.getFactoryId())
+ .eqIfPresent(MesProWorkOrderDO::getWorkshopId, reqVO.getWorkshopId())
.eqIfPresent(MesProWorkOrderDO::getStatus, reqVO.getStatus())
.betweenIfPresent(MesProWorkOrderDO::getRequestDate, reqVO.getRequestDate())
.orderByDesc(MesProWorkOrderDO::getId);
@@ -58,6 +67,20 @@
return selectPage(reqVO, wrapper);
}
+ /**
+ * 鍒嗛〉鏌ヨ锛堝甫瀹㈡埛鏉冮檺杩囨护涓旀敮鎸佽皟搴︾姸鎬佹煡璇級
+ */
+ default PageResult<MesProWorkOrderDO> selectSchedulePage(MesProWorkOrderPageReqVO pageReqVO, List<Long> permittedClientIds) {
+ com.baomidou.mybatisplus.core.metadata.IPage<MesProWorkOrderDO> mpPage = cn.iocoder.yudao.framework.mybatis.core.util.MyBatisUtils.buildPage(pageReqVO);
+ com.baomidou.mybatisplus.core.metadata.IPage<MesProWorkOrderDO> result = selectSchedulePage(mpPage, pageReqVO, permittedClientIds);
+ return new PageResult<>(result.getRecords(), result.getTotal());
+ }
+
+ com.baomidou.mybatisplus.core.metadata.IPage<MesProWorkOrderDO> selectSchedulePage(
+ com.baomidou.mybatisplus.core.metadata.IPage<MesProWorkOrderDO> page,
+ @org.apache.ibatis.annotations.Param("pageReqVO") MesProWorkOrderPageReqVO pageReqVO,
+ @org.apache.ibatis.annotations.Param("permittedClientIds") List<Long> permittedClientIds);
+
default MesProWorkOrderDO selectByCode(String code) {
return selectOne(MesProWorkOrderDO::getCode, code);
}
--
Gitblit v1.9.3