From 01d8334aaf05ff0ac0e4c0de3e43b4ee6d6fa73b Mon Sep 17 00:00:00 2001
From: chenlu <1320612696@qq.com>
Date: 星期五, 09 八月 2024 10:39:52 +0800
Subject: [PATCH] 修改流程卡打印查询,补片流程卡同步流程卡的修改

---
 north-glass-erp/src/main/resources/mapper/pp/Report.xml |   88 ++++++++++++++++++++++++++++++++++++++------
 1 files changed, 76 insertions(+), 12 deletions(-)

diff --git a/north-glass-erp/src/main/resources/mapper/pp/Report.xml b/north-glass-erp/src/main/resources/mapper/pp/Report.xml
index 340de15..69fc697 100644
--- a/north-glass-erp/src/main/resources/mapper/pp/Report.xml
+++ b/north-glass-erp/src/main/resources/mapper/pp/Report.xml
@@ -1203,8 +1203,8 @@
         if(od.shape=1,'鏅舰',if(od.shape=2,'寮傚舰','')) as shape,
         sum( pd.thickness ) as thickness,
         od.edging_type,
-        rwd.completed_quantity,
-        ROUND(MAX( ogd.child_width )*MAX( ogd.child_height )*rwd.completed_quantity/1000000,2) as area,
+        opd.reporting_work_num as completed_quantity,
+        ROUND(MAX( ogd.child_width )*MAX( ogd.child_height )*opd.reporting_work_num/1000000,2) as area,
         od.product_name,
         JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S01' )) AS code
         FROM
@@ -1226,9 +1226,12 @@
         sd.product_detail
         WHERE
         detail_type = "glass"
-        ) AS pd ON pd.prod_id = od.product_id
-        AND pd.glass_sort = rwd.technology_number
-        where rw.reviewed_state=1 and rw.reporting_work_time between #{selectTime1} and #{selectTime2}
+        ) AS pd ON pd.prod_id = od.product_id AND pd.glass_sort = rwd.technology_number
+        LEFT JOIN sd.order_process_detail AS opd ON opd.order_id = o.order_id
+        AND opd.process_id = rw.process_id
+        AND opd.order_number = ogd.order_number
+        AND opd.technology_number = ogd.technology_number
+        where opd.reporting_work_num > 0 and rw.reviewed_state=1 and rw.reporting_work_time between #{selectTime1} and #{selectTime2}
         and position(#{selectProcesses} in rw.this_process)
         <if test="teamOutputDTO.thisProcess != null and teamOutputDTO.thisProcess != ''">
             and rw.this_process regexp #{teamOutputDTO.thisProcess}
@@ -1250,17 +1253,75 @@
         </if>
 
         GROUP BY
-        rwd.order_number,
         rw.this_process,
         rw.teams_groups_name,
         rw.process_id,
-        rw.reporting_work_id
+        rwd.order_number
         ORDER BY
         rw.this_process,
+        rw.process_id,
+        rwd.order_number,
         rw.reporting_work_time,
-        rw.teams_groups_name,
-        rw.process_id
+        rw.teams_groups_name
         limit #{offset},#{pageSize};
+    </select>
+
+    <select id="exportTeamOutputMp">
+        SELECT
+        rw.reporting_work_time,
+        rw.this_process,
+        rw.teams_groups_name,
+        o.project,
+        rw.process_id,
+        rwd.order_number,
+        MAX( ogd.child_width ) as width,
+        MAX( ogd.child_height ) as height,
+        if(od.shape=1,'鏅舰',if(od.shape=2,'寮傚舰','')) as shape,
+        sum( pd.thickness ) as thickness,
+        od.edging_type,
+        opd.reporting_work_num as completed_quantity,
+        ROUND(MAX( ogd.child_width )*MAX( ogd.child_height )*opd.reporting_work_num/1000000,2) as area,
+        od.product_name,
+        JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S01' )) AS code
+        FROM
+        reporting_work AS rw
+        LEFT JOIN reporting_work_detail AS rwd ON rw.reporting_work_id = rwd.reporting_work_id
+        LEFT JOIN sd.`order` AS o ON o.order_id = rw.order_id
+        LEFT JOIN sd.order_detail AS od ON od.order_id = o.order_id
+        AND od.order_number = rwd.order_number
+        LEFT JOIN sd.order_glass_detail AS ogd ON ogd.order_id = o.order_id
+        AND ogd.order_number = rwd.order_number
+        AND ogd.technology_number = rwd.technology_number
+        AND ogd.order_number = od.order_number
+        LEFT JOIN (
+        SELECT
+        prod_id,
+        glass_sort,
+        REPLACE ( JSON_UNQUOTE( JSON_EXTRACT( separation, '$.thickness' )), 'mm', '' ) AS thickness
+        FROM
+        sd.product_detail
+        WHERE
+        detail_type = "glass"
+        ) AS pd ON pd.prod_id = od.product_id AND pd.glass_sort = rwd.technology_number
+        LEFT JOIN sd.order_process_detail AS opd ON opd.order_id = o.order_id
+        AND opd.process_id = rw.process_id
+        AND opd.order_number = ogd.order_number
+        AND opd.technology_number = ogd.technology_number
+        where opd.reporting_work_num > 0 and rw.reviewed_state=1
+          and date(rw.reporting_work_time) >= #{date[0]}
+          and date(rw.reporting_work_time) &lt;= #{date[1]}
+        and position(#{process} in rw.this_process)
+        GROUP BY
+        rw.this_process,
+        rw.teams_groups_name,
+        rw.process_id,
+        rwd.order_number
+        ORDER BY
+        rw.this_process,
+        rw.process_id,
+        rwd.order_number,
+        rw.reporting_work_time,
+        rw.teams_groups_name
     </select>
 
     <select id="teamOutputPageTotal">
@@ -1286,9 +1347,12 @@
         sd.product_detail
         WHERE
         detail_type = "glass"
-        ) AS pd ON pd.prod_id = od.product_id
-        AND pd.glass_sort = rwd.technology_number
-        where rw.reviewed_state=1 and rw.reporting_work_time between #{selectTime1} and #{selectTime2}
+        ) AS pd ON pd.prod_id = od.product_id AND pd.glass_sort = rwd.technology_number
+        LEFT JOIN sd.order_process_detail AS opd ON opd.order_id = o.order_id
+        AND opd.process_id = rw.process_id
+        AND opd.order_number = ogd.order_number
+        AND opd.technology_number = ogd.technology_number
+        where opd.reporting_work_num > 0 and rw.reviewed_state=1 and rw.reporting_work_time between #{selectTime1} and #{selectTime2}
         and position(#{selectProcesses} in rw.this_process)
         <if test="teamOutputDTO.thisProcess != null and teamOutputDTO.thisProcess != ''">
             and rw.this_process regexp #{teamOutputDTO.thisProcess}

--
Gitblit v1.8.0