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

---
 src/main/resources/mapper/production/ProductionProductMainMapper.xml |   20 ++++++++++++++++----
 1 files changed, 16 insertions(+), 4 deletions(-)

diff --git a/src/main/resources/mapper/production/ProductionProductMainMapper.xml b/src/main/resources/mapper/production/ProductionProductMainMapper.xml
index 5a78a5b..432915d 100644
--- a/src/main/resources/mapper/production/ProductionProductMainMapper.xml
+++ b/src/main/resources/mapper/production/ProductionProductMainMapper.xml
@@ -81,6 +81,14 @@
             <if test="c.productMainId != null">
                 and ppm.id = #{c.productMainId}
             </if>
+            <!-- 鐝粍闀垮彲浠ョ湅鍒版墍鏈夊叧鑱旇鍗曠殑鏁版嵁锛屾垚鍛樺彧鑳界湅鍒拌嚜宸辩殑鎶ュ伐 -->
+            <if test="currentUserId != null">
+                and (
+                    po.team_leader_user_id = #{currentUserId}
+                    or pot.team_user_id = #{currentUserId}
+                    or ppm.user_id = #{currentUserId}
+                )
+            </if>
         </where>
         order by ppm.create_time desc
     </select>
@@ -100,13 +108,17 @@
                ifnull(ppo.scrap_qty, 0) as scrapQty,
                date(pa.scheduling_date) as schedulingDate,
                pa.scheduling_user_name as schedulingUserName,
+               cast(ifnull(ppm.work_hour, 0) as decimal(18,4)) as workHour,
                cast(ifnull(pa.work_hours, 0) as decimal(18,4)) as workHours,
                cast(
-                   ifnull(pa.work_hours, 0) * ifnull(pa.finished_num, 0) *
                    case
-                       when substring_index(pm.model, '*', -1) regexp '^[0-9]+(\\.[0-9]+)?$'
-                       then cast(substring_index(pm.model, '*', -1) as decimal(18,4))
-                       else 1
+                       when poro.type = 0 then ifnull(pa.work_hours, 0) * ifnull(ppm.work_hour, 0)
+                       else ifnull(pa.work_hours, 0) * ifnull(pa.finished_num, 0) *
+                            case
+                                when substring_index(pm.model, '*', -1) regexp '^[0-9]+(\\.[0-9]+)?$'
+                                then cast(substring_index(pm.model, '*', -1) as decimal(18,4))
+                                else 1
+                            end
                    end
                    as decimal(18,4)
                ) as wages

--
Gitblit v1.9.3