From 8f878c56003027d0b7408c82b53d2abfc0f1df10 Mon Sep 17 00:00:00 2001
From: guoyujie <guoyujie@ng.com>
Date: 星期二, 09 十二月 2025 12:27:30 +0800
Subject: [PATCH] 提交按照配置文件错误问题

---
 north-glass-erp/src/main/resources/mapper/sd/OrderProcessDetailMapper.xml |  120 +++++++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 106 insertions(+), 14 deletions(-)

diff --git a/north-glass-erp/src/main/resources/mapper/sd/OrderProcessDetailMapper.xml b/north-glass-erp/src/main/resources/mapper/sd/OrderProcessDetailMapper.xml
index d801a5f..d513211 100644
--- a/north-glass-erp/src/main/resources/mapper/sd/OrderProcessDetailMapper.xml
+++ b/north-glass-erp/src/main/resources/mapper/sd/OrderProcessDetailMapper.xml
@@ -6,7 +6,7 @@
 
     <insert id="insertOrderProcessDetail" >
         insert into
-            order_process_detail(
+            sd.order_process_detail(
                 order_id,
                 order_number,
                 technology_number,
@@ -78,11 +78,13 @@
                             when 'stepA' then 3
                             when 'stepD' then 4
                             when 'stepB' then 4
-                     end as sort
+                            else 1
+                     end as sortByprocess,
+                    b.sort as 'sort2'
 
 
         from order_process_detail
-        left join (select DISTINCT basic_name,nickname from basic_data where basic_category = 'process') as b
+        left join (select DISTINCT basic_name,nickname,sort from basic_data where basic_category = 'process') as b
         on b.basic_name = process
         where order_id = #{orderId}
         group by process) as a
@@ -99,7 +101,7 @@
                                                     group by opd.id) as a
                     GROUP BY process)   as sort1
         on sort1.process = a.process
-        order by sort,sort1.count,id
+        order by sortByprocess,sort1.count,sort2,id
 
     </select>
 
@@ -118,18 +120,40 @@
     <select id="getGlassLRow">
         select
              max(a.technology_number) as rowCount,
-             RowNum
-        from sd.order_process_detail as a
+             RowNum,
+             a.order_number,
+             a.process_id
+        from pp.flow_card as a
         left join
             (select min((@i:=@i+1)) AS RowNum,c.*
-             from sd.order_glass_detail as c,
+             from pp.flow_card  as c,
                   (SELECT @i:=-1) as d
              where order_id = #{orderId}
-             GROUP BY order_number
+             GROUP BY order_number,process_id
              ) as b
-        on b.order_number = a.order_number
+        on b.id = a.id
         where a.order_id = #{orderId}
-        group by a.order_number
+        group by a.order_number,a.process_id
+        order by a.process_id,a.order_number
+
+    </select>
+
+    <select id="getProcessGlassLRow">
+        select
+            max(a.technology_number) as rowCount,
+            RowNum
+        from pp.flow_card as a
+                 left join
+             (select min((@i:=@i+1)) AS RowNum,c.*
+              from pp.flow_card  as c,
+                   (SELECT @i:=-1) as d
+              where order_id = #{orderId}
+              GROUP BY process_id
+             ) as b
+             on b.id = a.id
+        where a.order_id = #{orderId}
+        group by a.process_id
+        order by RowNum
 
     </select>
     <update id="insertByReportingWorkDetail">
@@ -194,12 +218,24 @@
     </select>
 
     <select id="selectShiftQuantitySv">
-        select * from(select CAST(concat(b.order_id,'/',a.order_number,'/',a.technology_number) as char ) as 'order_id',
+        select *
+        <if test="step != null and step != ''">
+            ,sum(e.break) as 'breakage_quantity'
+            ,Round(sum(e.break)*e.area,2) as 'breakage_area'
+        </if>
+        <if test="step == null || step == ''">
+            ,e.break as 'breakage_quantity'
+            ,Round(e.break*e.area,2) as 'breakage_area'
+        </if>
+        from(select CAST(concat(b.order_id,'/',a.order_number,'/',a.technology_number) as char ) as 'order_id',
                c.child_width,
                c.child_height,
                a.completed_quantity,
-               a.breakage_quantity,
-               a.order_number
+               a.breakage_quantity as break,
+               a.order_number,
+               b.reporting_work_id,
+               round(c.area*a.completed_quantity,2) as finish_area,
+               c.area
         from pp.reporting_work as b
         left join pp.reporting_work_detail as a
             on a.reporting_work_id = b.reporting_work_id
@@ -212,7 +248,63 @@
         and UNIX_TIMESTAMP(b.reporting_work_time) BETWEEN UNIX_TIMESTAMP(#{startDatetime}) and UNIX_TIMESTAMP(#{endDatetime})
         order by b.id desc ) as e
         <if test="step != null and step != ''">
-            group by e.order_number
+            group by e.order_number,e.reporting_work_id
         </if>
     </select>
+    
+    <select id="getBehindProcess">
+        select group_concat(process) from sd.order_process_detail as a
+        where a.order_id = #{orderId}
+        and a.process_id = #{processId}
+        and a.order_number =#{orderNumber}
+        and a.technology_number =#{technologyNumber}
+        and a.id>(select id
+                  from sd.order_process_detail as b
+                  where b.order_id = #{orderId}
+                    and b.process_id = #{processId}
+                    and b.order_number =#{orderNumber}
+                    and b.technology_number =#{technologyNumber}
+                  and b.process = #{thisProcess}
+                )
+    </select>
+
+    <select id="selectProcessCardProgressSv">
+        select a.*,(b.quantity-b.termination_quantity) as 'quantity'
+        from order_process_detail as a
+        inner join pp.flow_card as b
+            on a.order_id = b.order_id
+            and a.process_id = b.process_id
+            and a.order_number = b.order_number
+            and a.technology_number = b.technology_number
+        where termination_status = 0
+          <if test="orderId != null and orderId != ''">
+            and a.order_id=#{orderId}
+          </if>
+          <if test="processId != null and processId != ''">
+            and a.process_id=#{processId}
+          </if>
+          <if test="orderNumber != null and orderNumber != ''">
+            and a.order_number=#{orderNumber}
+          </if>
+          <if test="technologyNumber != null and technologyNumber != ''">
+            and a.technology_number=#{technologyNumber}
+          </if>
+          <if test="process != null and process != ''">
+            and a.process=#{process}
+          </if>
+
+    </select>
+    
+    <select id="selectProcessSort">
+        select a.process,
+               ROW_NUMBER() OVER (ORDER BY (SELECT NULL)) AS sort,
+               ifnull(b.nickname,"") as recombination
+        from sd.order_process_detail as a
+        inner join sd.basic_data as b
+                on a.process = b.basic_name and b.basic_category = 'process'
+                where a.order_id = #{orderId}
+                and a.process_id = #{processId}
+                and a.order_number =#{orderNumber}
+                and a.technology_number =#{technologyNumber}
+    </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0