From bb85dbc5fc9a9ddda99132ae16887fd27959a854 Mon Sep 17 00:00:00 2001
From: chenlu <1320612696@qq.com>
Date: 星期一, 06 一月 2025 16:18:48 +0800
Subject: [PATCH] 补充注释、语言,转工单时添加未勾选数据时的弹窗,修改报工新增查询复合工序不能查询出每一层的问题,修改次破报表响应超时问题

---
 north-glass-erp/src/main/resources/mapper/pp/GlassOptimize.xml |  159 ++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 134 insertions(+), 25 deletions(-)

diff --git a/north-glass-erp/src/main/resources/mapper/pp/GlassOptimize.xml b/north-glass-erp/src/main/resources/mapper/pp/GlassOptimize.xml
index c72d362..8dda058 100644
--- a/north-glass-erp/src/main/resources/mapper/pp/GlassOptimize.xml
+++ b/north-glass-erp/src/main/resources/mapper/pp/GlassOptimize.xml
@@ -89,6 +89,28 @@
             f.order_number;
     </select>
 
+    <!--宸ョ▼淇℃伅娴佺▼鍗�-->
+    <select id="getProcessCardMp">
+        SELECT
+            fc.process_id,
+            fc.order_number,
+            fc.quantity,
+            CONCAT(fc.technology_number, '/', COUNT(fc.technology_number)) AS layer,
+            so.project,
+            CONCAT(sd.child_width, ' 脳 ', sd.child_height) AS sizes
+        FROM
+            pp.flow_card AS fc
+                INNER JOIN sd.order AS so ON fc.order_id = so.order_id
+                INNER JOIN sd.order_glass_detail AS sd ON sd.order_id = so.order_id AND fc.order_id = sd.order_id
+                        AND fc.order_number = sd.order_number
+        WHERE
+            fc.project_no = #{projectNo}
+        GROUP BY
+            fc.order_id,
+            fc.technology_number,
+            fc.order_number
+    </select>
+
     <!--搴撳瓨淇℃伅-->
     <select id="materialStoreMp">
         SELECT
@@ -166,31 +188,48 @@
     </select>
 
     <select id="getFlowCardListMp">
-        select fc.process_id,
-               fc.technology_number,
-               fcss.TotalFloors,
-               COUNT(fc.order_number)                                      as TotalNumber,
-               SUM(fc.quantity)                                            as quantity,
-               ROUND(SUM(od.width * od.height * fc.quantity / 1000000), 2) as area,
-               o.project,
-               ogd.glass_child,
-               od.shape
-
-        from pp.flow_card as fc
-                 left join sd.`order` as o on fc.order_id = o.order_id
-                 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_glass_detail as ogd
-                           on ogd.order_id = fc.order_id and ogd.order_number = fc.order_number and
-                              ogd.technology_number = fc.technology_number
-                 left join (select fcs.process_id,
-                                   fcs.order_number,
-                                   COUNT(DISTINCT fcs.technology_number) as TotalFloors
-                            from pp.flow_card as fcs
-                            GROUP BY fcs.process_id, fcs.order_number) as fcss
-                           on fcss.process_id = fc.process_id and fcss.order_number = fc.order_number
-        where position(#{optionVal} in ogd.glass_child)
-        GROUP BY fc.process_id, fc.technology_number
-        ORDER BY fc.process_id, fc.technology_number
+        SELECT
+            fc.process_id,
+            fc.technology_number,
+            fcss.TotalFloors,
+            COUNT( fc.order_number ) AS TotalNumber,
+            SUM( fc.quantity ) AS quantity,
+            ROUND( SUM( od.width * od.height * fc.quantity / 1000000 ), 2 ) AS area,
+            o.project,
+            ogd.glass_child,
+            od.shape,
+            CONCAT( JSON_UNQUOTE( JSON_EXTRACT( pd.separation, '$.thickness' )), JSON_UNQUOTE( JSON_EXTRACT( pd.separation, '$.color' )) ) AS glassType
+        FROM
+            pp.flow_card AS fc
+                LEFT JOIN sd.`order` AS o ON fc.order_id = o.order_id
+                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_glass_detail AS ogd ON ogd.order_id = fc.order_id
+                AND ogd.order_number = fc.order_number
+                AND ogd.technology_number = fc.technology_number
+                LEFT JOIN (
+                SELECT
+                    fcs.process_id,
+                    fcs.order_number,
+                    COUNT( DISTINCT fcs.technology_number ) AS TotalFloors
+                FROM
+                    pp.flow_card AS fcs
+                GROUP BY
+                    fcs.process_id,
+                    fcs.order_number
+            ) AS fcss ON fcss.process_id = fc.process_id
+                AND fcss.order_number = fc.order_number
+                LEFT JOIN sd.product_detail AS pd ON pd.prod_id = od.product_id
+                AND pd.glass_sort = fc.technology_number
+        WHERE
+                CONCAT( JSON_UNQUOTE( JSON_EXTRACT( pd.separation, '$.thickness' )), JSON_UNQUOTE( JSON_EXTRACT( pd.separation, '$.color' )) )= #{optionVal}
+              and ISNULL(fc.project_no)
+        GROUP BY
+            fc.process_id,
+            fc.technology_number
+        ORDER BY
+            fc.process_id,
+            fc.technology_number
     </select>
 
         <!--宸ョ▼绠$悊-->
@@ -334,4 +373,74 @@
             p.state IN (1, 2)
           AND f.process_id = #{processId}
     </select>
+
+    <select id="getProcessCardDetailmMp">
+        select fc.order_number,
+               ogd.child_width,
+               ogd.child_height,
+               fc.quantity,
+               od.building_number,IF(od.shape!=2,'鏅舰','寮傚舰') as shape,
+               ROUND(ogd.child_width*ogd.child_height*fc.quantity/1000000,2) as grossArea,
+               pd.separation
+        from pp.flow_card as fc
+                 left join sd.order_glass_detail as ogd
+                           on ogd.order_id=fc.order_id and ogd.order_number=fc.order_number
+                               and ogd.technology_number=fc.technology_number
+                 left join sd.order_detail as od on od.order_id=ogd.order_id and od.order_number=ogd.order_number
+                 left join sd.product_detail as pd on pd.prod_id=od.product_id and pd.glass_sort=fc.technology_number
+        where fc.process_id=#{processId} and fc.technology_number=#{technologyNumber}
+        group by fc.process_id,fc.order_number,fc.technology_number
+        order by fc.order_number,fc.technology_number
+    </select>
+
+    <select id="selectGlassTypeMp">
+        SELECT
+            JSON_UNQUOTE(JSON_EXTRACT(type, '$.lowE')) AS lowE,
+            JSON_UNQUOTE(JSON_EXTRACT(type, '$.color')) AS color,
+            JSON_UNQUOTE(JSON_EXTRACT(type, '$.thickness')) AS thickness,
+            JSON_UNQUOTE(JSON_EXTRACT(type, '$.craft')) AS craft,
+            JSON_UNQUOTE(JSON_EXTRACT(type, '$.position')) AS position,
+    CONCAT(
+        JSON_UNQUOTE(JSON_EXTRACT(type, '$.thickness')),
+        JSON_UNQUOTE(JSON_EXTRACT(type, '$.color'))
+    ) AS glassType
+        FROM pp.v_optimize_create_process_type
+        GROUP BY
+            thickness,
+            color
+        ORDER BY
+            CAST(REPLACE(JSON_UNQUOTE(JSON_EXTRACT(type, '$.thickness')), 'mm', '') AS UNSIGNED);
+    </select>
+
+    <select id="getProjectIdSv">
+        SELECT IFNULL(
+                       (SELECT project_no
+                        FROM pp.optimize_project
+                        WHERE DATE(create_time) = CURDATE()
+           ORDER BY create_time DESC
+           LIMIT 1), '00') AS project_no;
+    </select>
+
+    <update id="updateFlowCardProject">
+        UPDATE pp.flow_card set project_no=#{projectId}
+                             where process_id=#{processId} and technology_number=#{technologyNumber}
+    </update>
+
+    <select id="getSelectArea">
+        select
+            ROUND(SUM(ogd.child_width*ogd.child_height*fc.quantity)/1000000,2) as grossArea
+        from pp.flow_card as fc
+                 left join sd.order_glass_detail as ogd
+                           on ogd.order_id=fc.order_id and ogd.order_number=fc.order_number
+                               and ogd.technology_number=fc.technology_number
+                 left join sd.order_detail as od on od.order_id=ogd.order_id and od.order_number=ogd.order_number
+                 left join sd.product_detail as pd on pd.prod_id=od.product_id and pd.glass_sort=fc.technology_number
+        where fc.process_id=#{processId} and fc.technology_number=#{technologyNumber}
+        group by fc.process_id,fc.technology_number
+    </select>
+
+    <insert id="addProjectMp">
+        insert into pp.optimize_project (project_no, project_name, order_glass_type, order_glass_thickness)
+        values (#{projectId}, #{projectNmae}, #{glassType}, #{glassThickness})
+    </insert>
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0