From 549bad4e3b36337dc9d3b436efba0103cc0761ff Mon Sep 17 00:00:00 2001
From: huminmin <mac@MacBook-Pro.local>
Date: 星期五, 15 五月 2026 11:50:34 +0800
Subject: [PATCH] 班组长或者指定班组成员能看到对应数据

---
 src/main/resources/mapper/production/ProductionOperationTaskMapper.xml                  |    7 +++++++
 src/main/java/com/ruoyi/production/service/impl/ProductionOrderServiceImpl.java         |    3 ++-
 src/main/java/com/ruoyi/production/mapper/ProductionOperationTaskMapper.java            |    2 +-
 src/main/java/com/ruoyi/production/service/impl/ProductionOperationTaskServiceImpl.java |    3 ++-
 4 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/src/main/java/com/ruoyi/production/mapper/ProductionOperationTaskMapper.java b/src/main/java/com/ruoyi/production/mapper/ProductionOperationTaskMapper.java
index a09dd6f..667b9ca 100644
--- a/src/main/java/com/ruoyi/production/mapper/ProductionOperationTaskMapper.java
+++ b/src/main/java/com/ruoyi/production/mapper/ProductionOperationTaskMapper.java
@@ -27,7 +27,7 @@
 public interface ProductionOperationTaskMapper extends BaseMapper<ProductionOperationTask> {
 
     IPage<ProductionOperationTaskVo> pageProductionOperationTask(Page<ProductionOperationTaskVo> page,
-                                                                 @Param("c") ProductionOperationTaskDto dto);
+                                                                 @Param("c") ProductionOperationTaskDto dto, @Param("currentUserId") Long currentUserId);
 
     List<ProductionTaskStatisticsDto> selectTaskStatisticsByDate(@Param("startDate") LocalDate startDate,
                                                                  @Param("endDate") LocalDate endDate);
diff --git a/src/main/java/com/ruoyi/production/service/impl/ProductionOperationTaskServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/ProductionOperationTaskServiceImpl.java
index d374c50..68652ea 100644
--- a/src/main/java/com/ruoyi/production/service/impl/ProductionOperationTaskServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/ProductionOperationTaskServiceImpl.java
@@ -19,6 +19,7 @@
 import com.ruoyi.common.config.FileProperties;
 import com.ruoyi.common.exception.ServiceException;
 import com.ruoyi.common.utils.MatrixToImageWriter;
+import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.production.bean.dto.ProductionOperationTaskDto;
 import com.ruoyi.production.bean.vo.ProductionOperationTaskVo;
@@ -60,7 +61,7 @@
     public IPage<ProductionOperationTaskVo> pageProductionOperationTask(Page<ProductionOperationTaskDto> page, ProductionOperationTaskDto dto) {
         // 鍒嗛〉鏌ヨ鐢熶骇宸ュ簭浠诲姟
         Page<ProductionOperationTaskVo> voPage = new Page<>(page.getCurrent(), page.getSize(), page.getTotal());
-        IPage<ProductionOperationTaskVo> result = baseMapper.pageProductionOperationTask(voPage, dto);
+        IPage<ProductionOperationTaskVo> result = baseMapper.pageProductionOperationTask(voPage, dto, SecurityUtils.getLoginUser().getUserId());
         fillUserNames(result.getRecords());
         return result;
     }
diff --git a/src/main/java/com/ruoyi/production/service/impl/ProductionOrderServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/ProductionOrderServiceImpl.java
index 5a8ea9c..72e1ced 100644
--- a/src/main/java/com/ruoyi/production/service/impl/ProductionOrderServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/ProductionOrderServiceImpl.java
@@ -14,6 +14,7 @@
 import com.ruoyi.basic.utils.FileUtil;
 import com.ruoyi.common.constant.StorageAttachmentConstants;
 import com.ruoyi.common.exception.ServiceException;
+import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.production.bean.dto.ProductionOperationTaskDto;
 import com.ruoyi.production.bean.dto.ProductionOrderDto;
 import com.ruoyi.production.bean.vo.ProductionBomStructureVo;
@@ -805,7 +806,7 @@
         ProductionOperationTaskDto taskQuery = new ProductionOperationTaskDto();
         taskQuery.setProductionOrderId(productionOrderId);
         IPage<ProductionOperationTaskVo> workOrderPage = productionOperationTaskMapper.pageProductionOperationTask(
-                new Page<ProductionOperationTaskVo>(1, -1), taskQuery);
+                new Page<ProductionOperationTaskVo>(1, -1), taskQuery, SecurityUtils.getLoginUser().getUserId());
         List<ProductionOperationTaskVo> workOrderList = workOrderPage == null || workOrderPage.getRecords() == null
                 ? Collections.emptyList()
         // 閬嶅巻澶勭悊鏁版嵁骞剁粍瑁呯粨鏋�
diff --git a/src/main/resources/mapper/production/ProductionOperationTaskMapper.xml b/src/main/resources/mapper/production/ProductionOperationTaskMapper.xml
index 0361192..ee9a37b 100644
--- a/src/main/resources/mapper/production/ProductionOperationTaskMapper.xml
+++ b/src/main/resources/mapper/production/ProductionOperationTaskMapper.xml
@@ -72,6 +72,13 @@
             <if test="c != null and c.workOrderNo != null and c.workOrderNo != ''">
                 and pot.work_order_no like concat('%', #{c.workOrderNo}, '%')
             </if>
+            <!-- 鐝粍闀垮彲浠ョ湅鍒版墍鏈夊叧鑱旇鍗曠殑鏁版嵁锛屾垚鍛樺彧鑳界湅鍒拌嚜宸辩殑鎶ュ伐 -->
+            <if test="c != null and currentUserId != null">
+                and (
+                    po.team_leader_user_id = #{currentUserId}
+                    or pot.team_user_id = #{currentUserId}
+                )
+            </if>
         </where>
         order by pot.id desc
     </select>

--
Gitblit v1.9.3