From 8b116fd4f2633194b050a0eca13964ce4f2e18f7 Mon Sep 17 00:00:00 2001
From: chenlu <1320612696@qq.com>
Date: 星期五, 01 八月 2025 16:41:22 +0800
Subject: [PATCH] 订单转生产订单根据工艺流程区分不同产品,报工修改逻辑调整

---
 north-glass-erp/src/main/resources/mapper/pp/Report.xml |   30 +++++++++++++++++++++++++-----
 1 files changed, 25 insertions(+), 5 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 a4051ac..18bccd0 100644
--- a/north-glass-erp/src/main/resources/mapper/pp/Report.xml
+++ b/north-glass-erp/src/main/resources/mapper/pp/Report.xml
@@ -178,6 +178,7 @@
 #                c.quantity,
                c.quantity as thisQuantity,/*鐢ㄤ簬鍒ゆ柇鏄惁鏀瑰彉棰滆壊*/
                e.reportWorkQuantity,
+               e.reportWorkQuantityShow,
                e.reportWorkQuantityCount,
                e.reportWorkTime,
                e.broken_num,
@@ -219,6 +220,10 @@
                                           GROUP_CONCAT(concat("\"", process, "\":\"", if(technology_number!=1 and (bd.nickname='stepD' || bd.nickname='stepB' ) ,0,reporting_work_num), "\"")),
                                           '}'
                                        )             as reportWorkQuantity,
+                                   concat('{',
+                                          GROUP_CONCAT(concat("\"", process, "\":\"", if(technology_number!=1 and (bd.nickname='stepD' || bd.nickname='stepB' ) ,0,reporting_work_num), "\"")),
+                                          '}'
+                                       )             as reportWorkQuantityShow,
                                    concat('{',
                                           GROUP_CONCAT(concat("\"", process, "\":\"", reporting_work_num_count, "\"")),
                                           '}'
@@ -2223,7 +2228,7 @@
     </select>
 
     <select id="workInProgressMpdataList1" resultMap="workInProgressMap">
-        select if(#{selectProcesses}='',d.process,#{selectProcesses}) as thisProcess,
+        select d.process as thisProcess,
         fc.process_id,
         o.customer_name,
         o.project,
@@ -2296,14 +2301,16 @@
 
         ) as d
         on d.process_id=fc.process_id and d.order_number=fc.order_number and d.technology_number=fc.technology_number
-        and position(#{selectProcesses} in d.process)
         left join sd.`order` as o on o.order_id=od.order_id
+        LEFT JOIN sd.basic_data AS bd ON bd.basic_name = d.process
         where  o.create_order>0
         and d.numCounts +d.patchNumSum - d.numCount - d.broken_num != 0
         and d.process!=SUBSTRING_INDEX(ogd.process, '->', 1)
-        and position(#{selectProcesses} in d.process)
         and position(#{orderId} in od.order_id)
         and position(#{inputProject} in o.project)
+        <if test="workInProgressDTO.thisProcess != null and workInProgressDTO.thisProcess != ''">
+            and d.process regexp #{workInProgressDTO.thisProcess}
+        </if>
         <if test="workInProgressDTO.customerName != null and workInProgressDTO.customerName != ''">
             and o.customer_name regexp #{workInProgressDTO.customerName}
         </if>
@@ -2328,8 +2335,21 @@
         <if test="workInProgressDTO.glassNumber != null and workInProgressDTO.glassNumber != ''">
             and ifnull(JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')),'') regexp #{workInProgressDTO.glassNumber}
         </if>
-        group by fc.process_id, fc.order_number, fc.technology_number,d.process
-        order by fc.process_id, fc.order_number, fc.technology_number
+        <choose>
+            <when test="laminating != null and laminating == 'stepC'">
+                GROUP BY fc.process_id, fc.order_number, ogd.`group`, d.process
+            </when>
+            <when test="laminating != null and laminating == 'stepD'">
+                GROUP BY fc.process_id, fc.order_number, d.process
+            </when>
+            <when test="laminating != null and laminating == 'stepB'">
+                GROUP BY fc.process_id, fc.order_number, d.process
+            </when>
+            <otherwise>
+                GROUP BY fc.process_id, fc.order_number, fc.technology_number, d.process
+            </otherwise>
+        </choose>
+        order by d.process,fc.process_id, fc.order_number, fc.technology_number
         limit #{offset},#{pageSize};
     </select>
 

--
Gitblit v1.8.0