From faaf48208ab4331a65b013ee5cf5e915936029eb Mon Sep 17 00:00:00 2001
From: guoyujie <guoyujie@ng.com>
Date: 星期三, 15 十月 2025 13:47:51 +0800
Subject: [PATCH] 提交 标记内外添加配置文件

---
 north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml |  130 ++++++++++++++++++++++++++----------------
 1 files changed, 80 insertions(+), 50 deletions(-)

diff --git a/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml b/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
index 1b27a76..8541123 100644
--- a/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
+++ b/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
@@ -12,6 +12,7 @@
         <result column="layout_status" property="layoutStatus"/>
         <result column="merge" property="merge"/>
         <result column="rack" property="rack"/>
+        <result column="compute_gross_area" property="computeGrossArea"/>
         <!--鎺ユ敹鍏朵粬澶栭敭瀹炰綋绫绘暟鎹�-->
         <association property="order" javaType="com.example.erp.entity.sd.Order">
             <result column="project" property="project"/>
@@ -24,6 +25,8 @@
             <result column="salesman" property="salesman"/>
             <result column="processing_note" property="processingNote"/>
             <result column="delivery_address" property="deliveryAddress"/>
+            <result column="create_time" property="createTime"/>
+            <result column="update_time" property="updateTime"/>
         </association>
         <association property="orderDetail" javaType="com.example.erp.entity.sd.OrderDetail">
             <result column="product_id" property="productId"/>
@@ -31,7 +34,6 @@
             <result column="compute_gross_area" property="computeGrossArea"/>
             <result column="processing_note" property="processingNote"/>
             <result column="quantity" property="quantity"/>
-            <result column="compute_gross_area" property="computeGrossArea"/>
             <result column="perimeter" property="perimeter"/>
             <result column="order_number" property="orderNumber"/>
             <result column="width" property="width"/>
@@ -55,6 +57,75 @@
 
     <!--    娴佺▼鍗$鐞嗘煡璇�-->
     <select id="selectFlowCard" resultMap="flowCardMap">
+        select
+        a.order_Id,
+        a.process_Id,
+        c.product_id,
+        c.product_name,
+        b.project,
+        sum(a.quantity) as quantity,
+        sum(a.quantity) * c.area as compute_gross_area,
+        a.founder,
+        c.processing_note,
+        b.customer_name,
+        layout_status as layout_status,
+        a.merge,
+        a.rack,
+        b.batch,
+        b.create_time,
+        b.update_time
+        from (select id,order_id,process_id,order_number, quantity,founder,max(layout_status) as layout_status,create_time,max(merge) as merge,rack from flow_card
+        group by process_Id,order_number) as a
+        left join sd.`order` as b on a.order_Id=b.order_id
+        left join sd.order_detail as c on a.order_Id=c.order_id and a.order_Number=c.order_number
+        where date(a.create_time)>=#{selectTime1} and date(a.create_time) &lt;= #{selectTime2}
+        and b.create_order>0
+        <if test="flowCard.orderId != null and flowCard.orderId != ''">
+            and a.order_id regexp #{flowCard.orderId}
+        </if>
+        <if test="flowCard.processId != null and flowCard.processId != ''">
+            and a.process_Id regexp #{flowCard.processId}
+        </if>
+        <if test="flowCard.orderDetail.productId != null and flowCard.orderDetail.productId != ''">
+            and c.product_id regexp #{flowCard.orderDetail.productId}
+        </if>
+        <if test="flowCard.orderDetail.productName != null and flowCard.orderDetail.productName!= ''">
+            and c.product_name regexp #{flowCard.orderDetail.productName}
+        </if>
+
+        <if test="flowCard.order.project != null and flowCard.order.project!= ''">
+            and b.project regexp #{flowCard.order.project}
+        </if>
+        <if test="flowCard.layoutStatus != null and flowCard.layoutStatus != '' and  flowCard.layoutStatus == '涓嶅彲鎺掔増'">
+            and a.layout_status regexp 0
+        </if>
+        <if test="flowCard.layoutStatus != null and flowCard.layoutStatus != '' and  flowCard.layoutStatus == '鍙帓鐗�'">
+            and a.layout_status regexp 1
+        </if>
+        <if test="flowCard.layoutStatus != null and flowCard.layoutStatus != '' and  flowCard.layoutStatus == '宸叉帓鐗�'">
+            and a.layout_status regexp 2
+        </if>
+        <if test="flowCard.merge != null">
+            and a.merge regexp #{flowCard.merge}
+        </if>
+        <if test="flowCard.rack != null and flowCard.rack != ''">
+            and a.rack regexp #{flowCard.rack}
+        </if>
+        <if test="flowCard.order.customerName != null and flowCard.order.customerName!= ''">
+            and b.customer_name regexp #{flowCard.order.customerName}
+        </if>
+        group by a.process_Id
+        ORDER BY a.id desc
+        limit #{offset},#{pageSize};
+    </select>
+
+
+    <select id="getPageTotal">
+        SELECT SUM(quantity) as quantity,
+               SUM(compute_gross_area) as computeGrossArea,
+               CEILING(count(fcd.process_Id)/100) as 'pageTotal',
+               count(distinct fcd.process_Id) as 'total'
+        from (
         select
         a.order_Id,
         a.process_Id,
@@ -112,49 +183,7 @@
         </if>
         group by a.process_Id
         ORDER BY a.id desc
-        limit #{offset},#{pageSize};
-    </select>
-
-
-    <select id="getPageTotal">
-        select
-        CEILING(count(a.process_Id)/#{pageSize}) as 'pageTotal',
-        count(distinct a.process_Id) as 'total'
-        from flow_card as a left join sd.`order` as b on a.order_Id=b.order_id
-        left join sd.order_detail as c on a.order_Id=c.order_id and a.order_Number=c.order_number
-        where date(a.create_time)>=#{selectTime1} and date(a.create_time) &lt;= #{selectTime2}
-        and b.create_order>0
-        <if test="flowCard.orderId != null and flowCard.orderId != ''">
-            and a.order_id regexp #{flowCard.orderId}
-        </if>
-        <if test="flowCard.processId != null and flowCard.processId != ''">
-            and a.process_Id regexp #{flowCard.processId}
-        </if>
-        <if test="flowCard.orderDetail.productId != null and flowCard.orderDetail.productId != ''">
-            and c.product_id regexp #{flowCard.orderDetail.productId}
-        </if>
-        <if test="flowCard.orderDetail.productName != null and flowCard.orderDetail.productName!= ''">
-            and c.product_name regexp #{flowCard.orderDetail.productName}
-        </if>
-
-        <if test="flowCard.order.project != null and flowCard.order.project!= ''">
-            and b.project regexp #{flowCard.order.project}
-        </if>
-        <if test="flowCard.layoutStatus != null and flowCard.layoutStatus != '' and  flowCard.layoutStatus == '涓嶅彲鎺掔増'">
-            and a.layout_status regexp 0
-        </if>
-        <if test="flowCard.layoutStatus != null and flowCard.layoutStatus != '' and  flowCard.layoutStatus == '鍙帓鐗�'">
-            and a.layout_status regexp 1
-        </if>
-        <if test="flowCard.layoutStatus != null and flowCard.layoutStatus != '' and  flowCard.layoutStatus == '宸叉帓鐗�'">
-            and a.layout_status regexp 2
-        </if>
-        <if test="flowCard.merge != null">
-            and a.merge regexp #{flowCard.merge}
-        </if>
-
-        ORDER BY a.id desc
-        limit #{offset},#{pageSize};
+        ) as fcd
     </select>
 
     <!--鍒嗘灦鏌ヨ-->
@@ -298,7 +327,7 @@
                ods.S03,
                ods.S04,
                ods.S05,
-               od.building_number
+               od.building_number as 'buildingNumber'
         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
@@ -786,7 +815,7 @@
                               fcs.technology_number = fc.technology_number
                                and fcs.process = #{process}
         where fc.process_id = #{processId}
-          and position(fc.technology_number in #{technologyNumber})
+          and FIND_IN_SET(fc.technology_number , #{technologyNumber})
         group by fc.process_id, fc.order_number
         <choose>
             <!-- 褰� landingSequence != 1 涓� flashback != 1 鏃讹紝鎸� landing_sequence 鍊掑簭 -->
@@ -1454,7 +1483,7 @@
         from sd.order_detail as od
                  left join flow_card as fc on od.order_id = fc.order_id and od.order_number = fc.order_number
         where fc.process_id = #{processId}
-          and POSITION(fc.technology_number in #{technologyNumber})
+          and  FIND_IN_SET(fc.technology_number , #{technologyNumber})
         GROUP BY other_columns
         order by IF(fc.sort != NULL or fc.sort != '', fc.sort, fc.order_number)
     </select>
@@ -1604,7 +1633,7 @@
                               fcs.technology_number = fc.technology_number
                                and fcs.process = #{process}
         where fc.process_id = #{processId}
-          and position(fc.technology_number in #{technologyNumber})
+          and  FIND_IN_SET(fc.technology_number , #{technologyNumber})
         group by fc.process_id, fc.order_number, fc.technology_number
         <choose>
             <when test="landingSequence != 1 and flashback != 1">
@@ -3508,7 +3537,8 @@
         fcs.technology_number = fc.technology_number
         and fcs.process = #{process}
         where fc.process_id = #{processId}
-        and position(fc.technology_number in #{compound})
+        and
+        FIND_IN_SET(fc.technology_number , #{compound})
         group by fc.process_id, fc.order_number
         <choose>
             <when test="landingSequence != 1 and flashback != 1">
@@ -3564,7 +3594,7 @@
         fcs.technology_number = fc.technology_number
         and fcs.process = #{process}
         where fc.process_id = #{processId}
-        and position(fc.technology_number in #{compound})
+        and FIND_IN_SET(fc.technology_number , #{compound})
         group by fc.process_id, fc.order_number
         <choose>
             <when test="landingSequence != 1 and flashback != 1">

--
Gitblit v1.8.0