From fcd6de629c4f6b8d9e610da854f15ef40115b058 Mon Sep 17 00:00:00 2001
From: guoyuji <guoyujie@ng.com>
Date: 星期二, 07 五月 2024 17:03:49 +0800
Subject: [PATCH] Merge branch 'master' of http://bore.pub:10439/r/ERP_override

---
 north-glass-erp/src/main/resources/mapper/pp/Report.xml |  204 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 204 insertions(+), 0 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 d4a9dcd..fa088b6 100644
--- a/north-glass-erp/src/main/resources/mapper/pp/Report.xml
+++ b/north-glass-erp/src/main/resources/mapper/pp/Report.xml
@@ -66,6 +66,26 @@
     </resultMap>
 
 
+    <resultMap id="reportMap" type="com.example.erp.entity.pp.Report">
+        <result column="process_id" property="processId"/>
+        <result column="customer_name" property="customerName"/>
+        <result column="project" property="project"/>
+        <result column="order_id" property="orderId"/>
+        <result column="batch" property="batch"/>
+        <result column="shape" property="shape"/>
+        <result column="order_number" property="orderNumber"/>
+        <result column="technology_number" property="technologyNumber"/>
+        <result column="process" property="technologyFlow"/>
+        <result column="quantity" property="orderNum"/>
+        <result column="child_width" property="childWidth"/>
+        <result column="child_height" property="childHeight"/>
+        <result column="stockNum" property="stockNum"/>
+        <result column="stockArea" property="stockArea"/>
+        <result column="product_name" property="productName"/>
+        <result column="bend_radius" property="bendRadius"/>
+    </resultMap>
+
+
 <!--    娴佺▼鍗¤繘搴�-->
     <select id="processCardProgressMp">
         select
@@ -160,4 +180,188 @@
         order by dd.id desc
     </select>
 
+    <select id="workInProgressMp">
+        select #{selectProcesses} as thisProcess,
+               fc.process_id,
+               o.customer_name,
+               o.project,
+               o.order_id,
+               o.batch,
+               od.shape,
+               ogd.order_number,
+               ogd.technology_number,
+               ogd.process,
+               od.quantity,
+               ogd.child_width,
+               ogd.child_height,
+               odpds.reporting_work_num_count + ifnull(c.patchNumSum, 0) - odpd.reporting_work_num_count -
+               odpd.broken_num as stockNum,
+               ROUND(ogd.child_width * ogd.child_height *
+                     (odpds.reporting_work_num_count + ifnull(c.patchNumSum, 0) - odpd.reporting_work_num_count -
+                      odpd.broken_num) / 1000000, 2) as stockArea,
+               od.product_name,
+               od.bend_radius
+
+        from sd.order_detail AS od
+                 LEFT JOIN sd.order_glass_detail AS ogd
+                           ON od.order_id = ogd.order_id
+                               AND od.order_number = ogd.order_number
+                 LEFT JOIN flow_card AS fc
+                           ON fc.order_id = ogd.order_id
+                               and fc.production_id = ogd.production_id
+                               AND fc.order_number = ogd.order_number
+                               AND fc.technology_number = ogd.technology_number
+                 left join sd.order_process_detail as odpd
+                           ON odpd.order_id = fc.order_id
+                               AND odpd.order_number = fc.order_number
+                               AND odpd.technology_number = fc.technology_number
+                               and odpd.process_id = fc.process_id
+                 left join sd.order_process_detail as odpds
+                           ON odpds.id = odpd.id - 1
+                 left join
+             (SELECT sum(rw.rework_num) as 'patchNumSum',
+                     rw.process_id,
+                     rw.order_sort,
+                     rw.technology_number,
+                     rwk.this_process
+              from rework as rw
+                       LEFT JOIN
+                   reporting_work as rwk
+                   on rw.reporting_work_id = rwk.reporting_work_id
+              where rwk.this_process = #{selectProcesses}
+                and rw.review_status = 1
+              GROUP BY rw.process_id, rw.order_sort, rw.technology_number) as c
+             on c.process_id = fc.process_id
+                 and c.order_sort = fc.order_number
+                 and c.technology_number = fc.technology_number
+                 left join sd.`order` as o
+                           on o.order_id = od.order_id
+        where LENGTH(fc.process_id) = 14
+          and odpds.reporting_work_num_count + ifnull(c.patchNumSum, 0) - odpd.reporting_work_num_count -
+              odpd.broken_num != 0
+          and odpd.process = #{selectProcesses} and o.create_time between #{selectTime1} and #{selectTime2}
+          and position(#{orderId} in od.order_id) and position(#{inputProject} in o.project)
+
+        group by fc.process_id, fc.order_number, fc.technology_number
+        order by fc.process_id, fc.order_number, fc.technology_number
+    </select>
+
+    <!--
+    <if test="Report.processId != null and Report.processId != ''">
+            and fc.process_id regexp #{Report.processId}
+        </if>
+        <if test="Report.customerName != null and Report.customerName != ''">
+            and o.customer_name regexp #{Report.customerName}
+        </if>
+        <if test="Report.project != null and Report.project != ''">
+            and o.project regexp #{Report.project}
+        </if>
+        <if test="Report.batch != null and Report.batch != ''">
+            and o.batch regexp #{Report.batch}
+        </if>
+        <if test="Report.shape != null and Report.shape != ''">
+            and od.shape regexp #{Report.shape}
+        </if>
+    -->
+
+<!--     <select id="getWorkInProgressTotal">-->
+<!--        select CEILING(count(fc.id) / #{pageSize}) as 'pageTotal',-->
+<!--               count(distinct fc.id)               as 'total'-->
+
+<!--        from sd.order_detail AS od-->
+<!--                 LEFT JOIN sd.order_glass_detail AS ogd-->
+<!--                           ON od.order_id = ogd.order_id-->
+<!--                               AND od.order_number = ogd.order_number-->
+<!--                 LEFT JOIN flow_card AS fc-->
+<!--                           ON fc.order_id = ogd.order_id-->
+<!--                               and fc.production_id = ogd.production_id-->
+<!--                               AND fc.order_number = ogd.order_number-->
+<!--                               AND fc.technology_number = ogd.technology_number-->
+<!--                 left join sd.order_process_detail as odpd-->
+<!--                           ON odpd.order_id = fc.order_id-->
+<!--                               AND odpd.order_number = fc.order_number-->
+<!--                               AND odpd.technology_number = fc.technology_number-->
+<!--                               and odpd.process_id = fc.process_id-->
+<!--                 left join sd.order_process_detail as odpds-->
+<!--                           ON odpds.id = odpd.id - 1-->
+<!--                 left join-->
+<!--             (SELECT sum(rw.rework_num) as 'patchNumSum',-->
+<!--                     rw.process_id,-->
+<!--                     rw.order_sort,-->
+<!--                     rw.technology_number,-->
+<!--                     rwk.this_process-->
+<!--              from rework as rw-->
+<!--                       LEFT JOIN-->
+<!--                   reporting_work as rwk-->
+<!--                   on rw.reporting_work_id = rwk.reporting_work_id-->
+<!--              where rwk.this_process = #{selectProcesses}-->
+<!--                and rw.review_status = 1-->
+<!--              GROUP BY rw.process_id, rw.order_sort, rw.technology_number) as c-->
+<!--             on c.process_id = fc.process_id-->
+<!--                 and c.order_sort = fc.order_number-->
+<!--                 and c.technology_number = fc.technology_number-->
+<!--                 left join sd.`order` as o-->
+<!--                           on o.order_id = od.order_id-->
+<!--        where LENGTH(fc.process_id) = 14-->
+<!--          and odpds.reporting_work_num_count + ifnull(c.patchNumSum, 0) - odpd.reporting_work_num_count - -->
+<!--              odpd.broken_num != 0-->
+<!--          and odpd.process = #{selectProcesses}-->
+<!--          and o.create_time between #{selectTime1} and #{selectTime2}-->
+<!--          and position(#{orderId} in od.order_id)-->
+<!--          and position(#{inputProject} in o.project)-->
+<!--        group by fc.process_id, fc.order_number, fc.technology_number-->
+<!--        order by fc.process_id, fc.order_number, fc.technology_number-->
+<!--        limit #{offset},#{pageSize};-->
+<!--    </select>-->
+
+    <select id="processToBeCompletedMp">
+        select DATE(o.create_time) as create_time,
+               DATE(o.delivery_date) as delivery_date,
+               o.order_id,
+               fc.process_id,
+               o.customer_name,
+               o.project,
+               o.batch,
+               od.order_number,
+               ogd.technology_number,
+               ogd.glass_child,
+               ogd.child_width,
+               ogd.child_height,
+               od.quantity,
+               ROUND(ogd.child_width * ogd.child_height / 1000000, 2)                 as childArea,
+               ROUND(ogd.child_width * ogd.child_height * od.quantity / 1000000, 2)   as actualArea,
+               odpd.reporting_work_num                                                as completeNum,
+               ROUND(ogd.child_width * ogd.child_height * odpd.reporting_work_num / 1000000,
+                     2)                                                               as completeArea,
+               od.quantity - odpd.reporting_work_num                                  as incompleteNum,
+               ROUND(ogd.child_width * ogd.child_height * (od.quantity - odpd.reporting_work_num) / 1000000,
+                     2)                                                               as incompleteArea,
+               od.product_name
+
+        from sd.order_detail AS od
+                 LEFT JOIN sd.order_glass_detail AS ogd
+                           ON od.order_id = ogd.order_id
+                               AND od.order_number = ogd.order_number
+                 LEFT JOIN flow_card AS fc
+                           ON fc.order_id = ogd.order_id
+                               and fc.production_id = ogd.production_id
+                               AND fc.order_number = ogd.order_number
+                               AND fc.technology_number = ogd.technology_number
+                 left join sd.order_process_detail as odpd
+                           ON odpd.order_id = fc.order_id
+                               AND odpd.order_number = fc.order_number
+                               AND odpd.technology_number = fc.technology_number
+                               and odpd.process_id = fc.process_id
+                 left join sd.`order` as o
+                           on o.order_id = od.order_id
+        where LENGTH(fc.process_id) = 14
+          and odpd.process = #{selectProcesses}
+          and o.create_time between #{selectTime1} and #{selectTime2}
+          and position(#{orderId} in od.order_id)
+          and position(#{inputProject} in o.project)
+          and od.quantity > odpd.reporting_work_num
+
+        group by fc.process_id, fc.order_number, fc.technology_number
+        order by fc.process_id, fc.order_number, fc.technology_number
+    </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0