From 56fab901b298857ff4985b7429ef843c9a9d1471 Mon Sep 17 00:00:00 2001
From: wangfei <3597712270@qq.com>
Date: 星期三, 28 八月 2024 16:20:02 +0800
Subject: [PATCH] 钢化模块打印功能,新增表格字段

---
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/mapper/DownGlassInfoMapper.xml |  141 ++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 127 insertions(+), 14 deletions(-)

diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/mapper/DownGlassInfoMapper.xml b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/mapper/DownGlassInfoMapper.xml
index 76a9216..41072b0 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/mapper/DownGlassInfoMapper.xml
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/mapper/DownGlassInfoMapper.xml
@@ -10,7 +10,7 @@
     <resultMap id="downGlassInfo" type="com.mes.downworkstation.entity.dto.DownGlassInfoDTO">
         <result column="flow_card_id" property="flowCardId"/>
         <result column="layer" property="layer"/>
-        <result column="count" property="count"/>
+        <result column="racks_number" property="racksNumber"/>
         <collection property="glassInfoList" ofType="com.mes.glassinfo.entity.GlassInfo">
             <id column="id" property="id"/>
             <result column="flow_card_id" property="flowCardId"/>
@@ -38,38 +38,151 @@
         order by count desc limit 1
     </select>
     <select id="queryMaxSequence" resultType="java.lang.Integer">
-        SELECT max(sequence) + 1 as sequence
+        SELECT COALESCE(max(sequence) + 1, 1) as sequence
         FROM down_glass_info
         WHERE flow_card_id = #{flowCardId}
           AND layer = #{layer}
     </select>
 
     <select id="queryWorkStationIsIn" resultMap="downGlassInfo">
-        SELECT T.*
+        SELECT
+        T.FLOW_CARD_ID,
+        T.LAYER,
+        T.RACKS_NUMBER
         <if test="!isDownload">
             ,T1.*
         </if>
-        FROM (
-        SELECT T.FLOW_CARD_ID,
-        T.LAYER,
-        COUNT(T.LAYER) AS COUNT
         FROM
         DOWN_WORKSTATION T
-        LEFT JOIN DOWN_GLASS_INFO T1 ON T.FLOW_CARD_ID = T1.FLOW_CARD_ID
-        GROUP BY T.FLOW_CARD_ID,LAYER
-        HAVING T.FLOW_CARD_ID IS NOT NULL
-        ) T
         INNER JOIN GLASS_INFO T1 ON T.FLOW_CARD_ID = T1.FLOW_CARD_ID
         AND T.LAYER = T1.LAYER
         LEFT JOIN DOWN_GLASS_INFO T2 ON T1.GLASS_ID = T2.GLASS_ID
         <where>
-            <if test="isDownload">
+            t.workstation_id in
+            <foreach collection="workList" item="item" open='(' close=')' separator=','>
+                #{item}
+            </foreach>
+            <if test="!isDownload">
                 AND T2.GLASS_ID IS NULL
             </if>
-            <if test="!isDownload">
+            <if test="isDownload">
                 AND T2.GLASS_ID IS not NULL
             </if>
+
         </where>
-        order by t.count desc
+        ORDER BY
+        T.RACKS_NUMBER DESC,
+        T1.TEMPERING_LAYOUT_ID,
+        T1.TEMPERING_FEED_SEQUENCE DESC
     </select>
+    <select id="queryWorkStationFlowCard" resultMap="downGlassInfo">
+        SELECT
+        T.FLOW_CARD_ID,
+        T.LAYER,
+        T.RACKS_NUMBER
+        FROM
+        DOWN_WORKSTATION T
+        where
+        (t.flow_card_id is not null and t.flow_card_id != '')
+        and t.workstation_id in
+        <foreach collection="workList" item="item" open='(' close=')' separator=','>
+            #{item}
+        </foreach>
+        ORDER BY T.RACKS_NUMBER DESC
+    </select>
+
+    <select id="selectFlowCard" resultType="java.util.Map">
+        select fc.order_number,
+               concat(round(ogd.child_width), "*", round(ogd.child_height))   as child_width,
+               od.quantity,
+               round(ogd.total_area, 2)                                       as total_area,
+               od.perimeter,
+               od.bend_radius,
+               concat(IFNULL(od.processing_note, ''), IFNULL(od.remarks, '')) as remarks,
+               od.other_columns,
+               round(ogd.child_width)                                         as width,
+               round(ogd.child_height)                                        as height,
+               pd.separation,
+               fc.technology_number
+        from pp.flow_card as fc
+                 left join sd.order_glass_detail as ogd
+                           on fc.order_id = ogd.order_id and fc.order_number = ogd.order_number and
+                              fc.technology_number = ogd.technology_number
+                 left join sd.order_detail as od on od.order_id = fc.order_id and od.order_number = fc.order_number
+                 left join sd.product_detail as pd
+                           on pd.prod_id = od.product_id and pd.glass_sort = ogd.technology_number
+        where fc.process_id = #{processId}
+          and position(fc.technology_number in #{technologyNumber})
+        group by fc.process_id, fc.order_number, fc.technology_number
+        order by IF(sort != NULL || sort != '', sort, fc.order_number)
+
+    </select>
+
+    <select id="selectProject" resultType="java.util.Map">
+        select o.customer_name,
+               o.project,
+               (select process
+                from sd.order_glass_detail
+                where order_id = fc.order_id
+                  and order_number = fc.order_number
+                  and technology_number = fc.technology_number) as process,
+               od.edging_type,
+               (select glass_child
+                from sd.order_glass_detail
+                where order_id = fc.order_id
+                  and order_number = fc.order_number
+                  and technology_number = fc.technology_number) as glass_child,
+               od.product_name,
+               o.processing_note,
+               fc.process_id,
+               SUM(od.quantity)                                 as quantity,
+               round(SUM(ogd.total_area), 2)                    as gross_area,
+               sum(od.weight)                                   as weight,
+               1                                                as technologyNumber,
+               concat(fc.process_id, '/', 1)                    as processIdNumber,
+               concat('瀵瑰簲鎴戝徃鍗曞彿', o.batch)                        AS otherRemarks
+        from pp.flow_card as fc
+                 left join sd.order_glass_detail as ogd
+                           on fc.order_id = ogd.order_id and fc.order_number = ogd.order_number and
+                              fc.technology_number = ogd.technology_number
+                 left join sd.order_detail as od on od.order_id = fc.order_id and od.order_number = fc.order_number
+                 left join sd.`order` as o on o.order_id = fc.order_id
+                 left join sd.product as p on p.id = od.product_id
+                 left join (select ogd.order_id,
+                                   ogd.order_number,
+                                   ogd.technology_number,
+                                   ogd.glass_child,
+                                   GROUP_CONCAT(glass_child SEPARATOR ' ') AS concatenated_glass_child
+                            from sd.order_glass_detail as ogd
+                            where ogd.order_id = left (#{processId}
+                                , 10)
+                              and position (ogd.technology_number in #{technologyNumber})
+                            GROUP BY order_id, order_number) as ogdc
+                           on ogdc.order_id = ogd.order_id and ogdc.order_number = ogd.order_number and
+                              ogdc.technology_number = ogd.technology_number
+        where fc.process_id = #{processId}
+          and position(fc.technology_number in #{technologyNumber})
+        group by fc.process_id
+    </select>
+
+    <select id="downGlassLabelPrint" resultType="java.util.Map">
+        select a.flow_card_id,
+               a.layer,
+               a.width,
+               a.height,
+               a.filmsid,
+               a.thickness,
+               a.glass_type,
+               COUNT(*) AS quantity,
+               b.tempering_layout_id,
+               b.tempering_feed_sequence
+        from down_glass_info a
+                 inner join glass_info b on a.glass_id = b.glass_id
+        where a.flow_card_id = #{processId}
+          and a.layer = #{technologyNumber}
+        group by a.flow_card_id, a.layer, a.width, a.height, a.filmsid, a.thickness, a.glass_type, a.id
+        order by a.id
+    </select>
+
+
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0