From ee4dc5d6c9d3bc8ae8e704f93fa6b233e8b42e8f Mon Sep 17 00:00:00 2001
From: guoyuji <guoyujie@ng.com>
Date: 星期五, 31 五月 2024 11:49:55 +0800
Subject: [PATCH] 首页分成两张表格

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

diff --git a/north-glass-erp/src/main/resources/mapper/sd/OrderGlassDetailMapper.xml b/north-glass-erp/src/main/resources/mapper/sd/OrderGlassDetailMapper.xml
index 8e28fa3..fe328f7 100644
--- a/north-glass-erp/src/main/resources/mapper/sd/OrderGlassDetailMapper.xml
+++ b/north-glass-erp/src/main/resources/mapper/sd/OrderGlassDetailMapper.xml
@@ -13,6 +13,9 @@
             glass_child,
             child_width,
             child_height,
+            area,
+            total_area,
+
             process,
             `group`)
         select
@@ -21,8 +24,13 @@
             pd.glass_sort,
             if(pd.glass_sort=1,'(澶�)',if(pd2.glass_sort=pd.glass_sort,'(鍐�)','')),
             pd.detail,
-            od.width,
+            if( od.bend_radius!='',
+                round(od.width*(od.bend_radius-round(sum(t.thicknessCount),2))/od.bend_radius,0),
+                od.width
+              ),
             od.height,
+            od.area,
+            od.gross_area,
             pd.process,
             pd.glass_group
         from sd.product_detail as pd
@@ -30,12 +38,109 @@
             on od.product_id = pd.prod_id and pd.detail_type='glass'
         LEFT JOIN (SELECT max(id) as id ,max(glass_sort) as glass_sort  from product_detail GROUP BY prod_id)as pd2
             on pd2.id=pd.id
+        left join (
+            select
+                a.prod_id,
+                a.sort_num,
+                a.glass_sort,
+                (case
+                      when a.sort_num=1
+                          then left(detail,LOCATE('mm',detail)-1)/2
+                      else
+                          left(detail,LOCATE('mm',detail)-1)
+                end) as 'thicknessCount'
+
+            from product_detail as a
+            group  by prod_id,a.sort_num
+        ) as t
+        ON t.prod_id = od.product_id and t.sort_num &lt;=pd.sort_num
+
 
         where od.order_id = #{orderId}
+        group by od.order_number,pd.glass_sort
         ORDER BY od.order_number
     </insert>
 
     <select id="selectOrderGlassDetail">
         select * from order_glass_detail where order_id = #{orderId}
     </select>
+
+    <resultMap id="orderGlassDetailMap" type="com.example.erp.entity.sd.OrderGlassDetail" >
+        <id column="id" property="id"/>
+        <result column="order_id" property="orderId"/>
+        <result column="order_number" property="orderNumber"/>
+        <result column="glass_address" property="glassAddress"/>
+        <result column="technology_number" property="technologyNumber"/>
+        <result column="glass_child" property="glassChild"/>
+        <result column="child_width" property="childWidth"/>
+        <result column="child_height" property="childHeight"/>
+        <result column="icon" property="icon"/>
+        <result column="process" property="process"/>
+        <result column="area" property="area"/>
+        <result column="total_area" property="totalArea"/>
+        <!--鎺ユ敹鍏朵粬澶栭敭瀹炰綋绫绘暟鎹�-->
+        <association property="orderDetail" javaType="com.example.erp.entity.sd.OrderDetail">
+
+            <result column="building_number" property="buildingNumber"/>
+            <result column="product_name" property="productName"/>
+            <result column="width" property="width"/>
+            <result column="height" property="height"/>
+            <result column="shape" property="shape"/>
+            <result column="edging_type" property="edgingType"/>
+            <result column="quantity" property="quantity"/>
+            <result column="processing_note"  property="processingNote"/>
+            <result column="beizhu"  property="remarks"/>
+
+        </association>
+
+    </resultMap>
+
+    <select id="selectOrderGlassDetailByOrderId"  resultMap="orderGlassDetailMap">
+        select
+            a.order_id,
+            a.order_number,
+            b.building_number,
+            b.product_name,
+            a.glass_address,
+           a.technology_number,
+           a.glass_child,
+           b.width,
+           b.height,
+           b.shape,
+           a.total_area,
+           b.edging_type,
+           a.child_width,
+           a.child_height,
+           a.icon,
+           a.area,
+           b.quantity,
+           a.process,
+           b.remarks as 'beizhu',
+           b.processing_note
+        from order_glass_detail as a
+        left join order_detail as b
+        on a.order_id = b.order_id and a.order_number = b.order_number
+        where a.order_id = #{orderId}
+        order by a.order_number,a.technology_number
+    </select>
+    
+    <update id="updateSizeAndProcess" parameterType="java.util.List">
+        <foreach collection="orderGlassDetails"  item="item" index="index" open="" close="" separator=";">
+            update order_glass_detail as a,
+                order_detail as b
+            set
+                a.child_width = #{item.childWidth},
+                a.child_height = #{item.childHeight},
+                a.area = #{item.area},
+                a.total_area = #{item.area}*b.quantity,
+                a.icon = #{item.icon},
+                a.process = #{item.process}
+            where
+                a.order_id = b.order_id
+                and a.order_id = #{item.orderId}
+                and a.order_number = #{item.orderNumber}
+                and a.technology_number = #{item.technologyNumber}
+        </foreach>
+
+    </update>
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0