From b9e4e2edbb3767ee347a91d2238544ae736b53c0 Mon Sep 17 00:00:00 2001
From: chenlu <1320612696@qq.com>
Date: 星期二, 22 七月 2025 10:29:27 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10105/r/ERP_override

---
 north-glass-erp/src/main/resources/mapper/pp/GlassOptimize.xml |  156 ++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 110 insertions(+), 46 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 6c9cab4..afbd97d 100644
--- a/north-glass-erp/src/main/resources/mapper/pp/GlassOptimize.xml
+++ b/north-glass-erp/src/main/resources/mapper/pp/GlassOptimize.xml
@@ -95,39 +95,45 @@
 
     <!--绗竴娆′紭鍖栨煡璇�-->
     <select id="firstOptimization">
-        ( SELECT
-              c.project_no,
-              d.child_width as 'width',
-              d.child_height as 'height',
-              c.quantity,
-              o.shape,
-              concat( c.process_id, '-', c.technology_number ) AS 'process_id',
-              c.technology_number as layer,
-              c.layers_number as total_layer,
-              d.glass_child,
-              o.product_name,
-              o.price,
-              o.remarks,
-              o.building_number,
-              round( d.area * c.quantity, 4 ) as 'area',
-              c.order_number,
-              d.icon,
-              op.project_name,
-              0 as patch_state
-          FROM
-              pp.flow_card c
-                  LEFT JOIN sd.order_detail o ON c.order_id = o.order_id
-                  AND c.order_number = o.order_number
-                  LEFT JOIN sd.order_glass_detail d ON c.order_id = d.order_id
-                  AND c.order_number = d.order_number
-                  AND c.technology_number = d.technology_number
-                  INNER JOIN pp.optimize_project AS op ON op.project_no = c.project_no
-          WHERE
-              c.project_no IS NOT NULL
-            and c.project_no = #{projectNo}
-          ORDER BY
-              c.process_id,
-              c.order_number
+        (SELECT
+             c.project_no,
+             d.child_width as 'width',
+             d.child_height as 'height',
+             c.quantity,
+             o.shape,
+             concat( c.process_id, '-', c.technology_number ) AS 'process_id',
+             c.process_id AS 'process_ids',
+             c.technology_number as layer,
+             c.layers_number as total_layer,
+             d.glass_child,
+             o.product_name,
+             o.price,
+             o.remarks,
+             o.building_number,
+             round( d.area * c.quantity, 4 ) as 'area',
+             c.order_number,
+             d.icon,
+             op.project_name,
+             0 as patch_state,
+             a.id as rackNo
+         FROM
+             pp.flow_card c
+                 LEFT JOIN sd.order_detail o ON c.order_id = o.order_id
+                 AND c.order_number = o.order_number
+                 LEFT JOIN sd.order_glass_detail d ON c.order_id = d.order_id
+                 AND c.order_number = d.order_number
+                 AND c.technology_number = d.technology_number
+                 INNER JOIN pp.optimize_project AS op ON op.project_no = c.project_no
+                 left join
+             (select (@row_number := @row_number + 1) as id,process_id as process_id,technology_number as technology_number from (select process_id,technology_number from pp.flow_card tt where project_no =#{projectNo} group by process_id,technology_number) tt,(select @row_number := 0) as t) a
+             on a.process_id=c.process_id and a.technology_number=c.technology_number
+         WHERE
+             c.project_no IS NOT NULL
+           and c.project_no = #{projectNo}
+         ORDER BY
+             a.id,
+             c.process_id,
+             c.order_number
         ) union
         (
             SELECT
@@ -137,6 +143,7 @@
                 c.patch_num as quantity,
                 o.shape,
                 concat( c.process_id, '-', c.technology_number ) AS 'process_id',
+                c.process_id AS 'process_ids',
                 c.technology_number as layer,
                 fc.layers_number as total_layer,
                 d.glass_child,
@@ -148,7 +155,8 @@
                 c.order_sort as order_number,
                 d.icon,
                 op.project_name,
-                1 as patch_state
+                1 as patch_state,
+                a.id as rackNo
             FROM
                 pp.patch_log c
                     LEFT JOIN sd.order_detail o ON c.order_id = o.order_id
@@ -158,10 +166,14 @@
                     AND c.technology_number = d.technology_number
                     INNER JOIN pp.optimize_project AS op ON op.project_no = c.project_no
                     LEFT JOIN pp.flow_card fc ON c.process_id = fc.process_id and fc.technology_number=c.technology_number
+                    left join
+                    (select (@row_number := @row_number + 1) as id,process_id as process_id,technology_number as technology_number from (select process_id,technology_number from pp.flow_card tt where project_no =#{projectNo} group by process_id,technology_number) tt,(select @row_number := 0) as t) a
+            on a.process_id=c.process_id and a.technology_number=c.technology_number
             WHERE
                 c.project_no IS NOT NULL
               and c.project_no = #{projectNo}
             ORDER BY
+                a.id,
                 c.process_id,
                 c.order_sort)
     </select>
@@ -171,7 +183,7 @@
     <select id="analogComputationOptimization">
         SELECT
             h.project_no,
-            h.layout_id,
+            h.layout_id as rackNo,
             h.width AS width,
             h.height AS height,
             count( 1 ) AS quantity,
@@ -225,6 +237,57 @@
         ORDER BY
             LENGTH( h.layout_id ),
             h.layout_id;
+    </select>
+
+
+    <select id="getOptimizeDetail">
+        SELECT
+            h.project_no,
+            h.heat_layout_id as rackNo,
+            h.o_width AS width,
+            h.o_height AS height,
+            (h.height-h.o_height)/2 as shortGrind1,
+            (h.height-h.o_height)/2 as shortGrind2,
+            (h.width-h.o_width)/2 as longGrind2,
+            (h.width-h.o_width)/2  as longGrind1,
+            count( 1 ) AS quantity,
+            o.shape,
+            concat( h.process_id, '-', h.layer ) AS 'process_id',
+            h.process_id as process_ids,
+            h.layer,
+            h.total_layer as total_layer,
+            d.glass_child,
+            o.product_name,
+            o.price,
+            o.remarks,
+            o.building_number,
+            round( d.area * count( 1 ), 4 ) AS 'area',
+            c.order_number,
+            d.icon,
+            o.price,
+            h.patch_state
+        from
+            pp.`optimize_detail` h
+                LEFT JOIN pp.flow_card c ON h.process_id = c.process_id
+                AND h.layer = c.technology_number
+                AND h.order_sort = c.order_number
+                LEFT JOIN sd.order_detail o ON c.order_id = o.order_id
+                AND c.order_number = o.order_number
+                LEFT JOIN sd.order_glass_detail d ON c.order_id = d.order_id
+                AND c.order_number = d.order_number
+                AND c.technology_number = d.technology_number
+        WHERE
+            h.project_no =#{projectNo}
+        GROUP BY
+            h.project_no,
+            h.heat_layout_id,
+            h.width,
+            h.height,
+            h.process_id,
+            h.layer,
+            c.order_number
+        ORDER BY
+            h.heat_layout_id;
     </select>
 
     <!--宸ョ▼淇℃伅娴佺▼鍗�-->
@@ -482,7 +545,7 @@
                鏁伴噺 as quantity,
                褰㈢姸 as shape,
                椤圭洰 as project,
-               鍗曠墖鍚嶇О as glass_child,
+               浜у搧鍚嶇О as glass_child,
                闈㈢Н as area,
                GlassType as glassType,
                patch_state
@@ -498,7 +561,7 @@
                鏁伴噺 as quantity,
                褰㈢姸 as shape,
                椤圭洰 as project,
-               鍗曠墖鍚嶇О as glass_child,
+               浜у搧鍚嶇О as glass_child,
                闈㈢Н as area,
                GlassType as glassType,
                patch_state
@@ -514,7 +577,7 @@
                鏁伴噺 as quantity,
                褰㈢姸 as shape,
                椤圭洰 as project,
-               鍗曠墖鍚嶇О as glass_child,
+               浜у搧鍚嶇О as glass_child,
                闈㈢Н as area,
                GlassType as glassType,
                patch_state
@@ -664,7 +727,8 @@
             p.remark,
             a.name,
             p.create_time,
-            p.update_time
+            p.update_time,
+            p.optimize_state
         FROM
             (
                 pp.optimize_project p
@@ -1063,8 +1127,8 @@
             #{glass.orderSort},
             #{glass.stockSort},
             #{glass.polySort},
-            #{glass.realwidth},
-            #{glass.realheight},
+            #{glass.realWidth},
+            #{glass.realHeight},
             #{glass.width},
             #{glass.height},
             #{glass.x},
@@ -1219,7 +1283,7 @@
                JSON_EXTRACT( oc.config_detail, '$.load_length' ) as load_length,
                JSON_EXTRACT( oc.config_detail, '$.x_space' ) as x_space,
                JSON_EXTRACT( oc.config_detail, '$.y_space' ) as y_space
-        from pp.optimize_admin oa left join pp.optimize_config oc on oa.h_id=oc.id where name='admin'
+        from pp.optimize_admin oa where config_type=1 and creater=#{username}
     </select>
 
     <select id="getEdgeTrimming">
@@ -1229,7 +1293,7 @@
                JSON_EXTRACT( oc.config_detail, '$.down_trim' ) as downTrim,
                JSON_EXTRACT( oc.config_detail, '$.auto_fill_trim' ) as autoFillTrim,
                JSON_EXTRACT( oc.config_detail, '$.quick_trim' ) as quickTrim
-        from  pp.optimize_config oc where config_type=5
+        from  pp.optimize_config oc where config_type=5 and creater=#{username}
     </select>
 
     <select id="getGrindingTrimming">
@@ -1240,12 +1304,12 @@
                JSON_EXTRACT( oc.config_detail, '$.auto_fill_edge' ) as autoFillEdge,
                JSON_EXTRACT( oc.config_detail, '$.quick_edge' ) as quickEdge,
                 JSON_EXTRACT( oc.config_detail, '$.min_auto_lenght' ) as minAutoLenght
-        from  pp.optimize_config oc where config_type=4
+        from  pp.optimize_config oc where config_type=4 and creater=#{username}
     </select>
 
     <update id="updateOptimizeConfig">
         UPDATE pp.optimize_config set config_detail=#{json},create_time=now()
-        where config_type=#{type}
+        where config_type=#{type} and creater=#{username}
     </update>
 
     <select id="simulatedTypesettingUsingOpt">
@@ -1297,7 +1361,7 @@
                鏁伴噺 as quantity,
                褰㈢姸 as shape,
                椤圭洰 as project,
-               鍗曠墖鍚嶇О as glass_child,
+               浜у搧鍚嶇О as glass_child,
                闈㈢Н as area,
                GlassType as glassType,
                patch_state

--
Gitblit v1.8.0