From 104db2c4423867a7fa4f41343213f45985ae3110 Mon Sep 17 00:00:00 2001
From: liu <2021943741@qq.com>
Date: 星期三, 19 八月 2026 18:00:35 +0800
Subject: [PATCH] 补充上传资料上传人上传时间文件附件

---
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/workorder/MesProWorkOrderMapper.java |   32 ++++++++++++++++++++++++++++++--
 1 files changed, 30 insertions(+), 2 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 ce532cb..da54452 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
@@ -15,7 +15,7 @@
 /**
  * MES 鐢熶骇宸ュ崟 Mapper
  *
- * @author 鑺嬮亾婧愮爜
+ * @author 瓒呯骇绠$悊鍛�
  */
 @Mapper
 public interface MesProWorkOrderMapper extends BaseMapperX<MesProWorkOrderDO> {
@@ -51,10 +51,26 @@
             if (CollUtil.isEmpty(permittedClientIds)) {
                 return PageResult.empty();
             }
-            wrapper.in(MesProWorkOrderDO::getClientId, permittedClientIds);
+            // 鍏佽 client_id 涓虹┖鐨勮褰曪紙鏃犲鎴峰伐鍗曞鎵�鏈夋湁鏉冮檺鐢ㄦ埛鍙锛�
+            wrapper.and(w -> w.in(MesProWorkOrderDO::getClientId, permittedClientIds)
+                    .or().isNull(MesProWorkOrderDO::getClientId));
         }
         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);
@@ -66,6 +82,18 @@
                 .setSql("quantity_produced = IFNULL(quantity_produced, 0) + " + incrQuantityProduced));
     }
 
+    /**
+     * 绱姞宸ュ崟鐨勫凡鎺掍骇鏁伴噺
+     *
+     * @param id 宸ュ崟缂栧彿
+     * @param incrQuantityScheduled 鏈鎺掍骇鏁伴噺澧為噺
+     */
+    default void updateScheduledQuantity(Long id, BigDecimal incrQuantityScheduled) {
+        update(null, new LambdaUpdateWrapper<MesProWorkOrderDO>()
+                .eq(MesProWorkOrderDO::getId, id)
+                .setSql("quantity_scheduled = IFNULL(quantity_scheduled, 0) + " + incrQuantityScheduled));
+    }
+
     default Long selectCountByVendorId(Long vendorId) {
         return selectCount(MesProWorkOrderDO::getVendorId, vendorId);
     }

--
Gitblit v1.9.3