From fec9f42e00f2df68a2a20cbf132b17bdeed8e63a Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期一, 25 八月 2025 09:19:52 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
north-glass-erp/src/main/resources/mapper/pp/GlassOptimize.xml | 154 ++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 146 insertions(+), 8 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 44f15fe..21931d2 100644
--- a/north-glass-erp/src/main/resources/mapper/pp/GlassOptimize.xml
+++ b/north-glass-erp/src/main/resources/mapper/pp/GlassOptimize.xml
@@ -196,13 +196,22 @@
op.project_name,
0 as patchState,
c.rack AS rackNo,
- 0 as layoutId
+ 0 as heatLayoutId,
+ d.process,
+ o.order_id AS orderNo,
+ o.customer_name AS customerName,
+ o.processing_note AS processingNote,
+ o.project AS projectName,
+ od.product_name AS productName,
+ od.building_number AS buildingNumber
FROM
pp.flow_card c
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 sd.ORDER o ON o.order_id = c.order_id
+ LEFT JOIN order_detail od ON c.order_id = od.order_id
WHERE
c.project_no IS NOT NULL
and c.project_no = #{projectNo}
@@ -226,7 +235,14 @@
op.project_name,
1 as patch_state,
a.id as rackNo,
- 0 as layoutId
+ 0 as heatLayoutId,
+ d.process,
+ o.order_id AS orderNo,
+ o.customer_name AS customerName,
+ o.processing_note AS processingNote,
+ o.project AS projectName,
+ od.product_name AS productName,
+ od.building_number AS buildingNumber
FROM
pp.patch_log c
LEFT JOIN sd.order_glass_detail d ON c.order_id = d.order_id
@@ -234,6 +250,8 @@
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 sd.ORDER o ON o.order_id = c.order_id
+ LEFT JOIN order_detail od ON c.order_id = od.order_id
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
@@ -311,7 +329,7 @@
<select id="computeAndOptimization">
SELECT
c.rack AS rackNo,
- h.layout_id as layoutId,
+ h.layout_id as heatLayoutId,
h.width AS width,
h.height AS height,
count( 1 ) AS quantity,
@@ -323,7 +341,14 @@
c.order_number,
h.order_sort AS orderSort,
d.icon AS markIcon,
- h.patch_state AS patchState
+ h.patch_state AS patchState,
+ d.process,
+ o.order_id AS orderNo,
+ o.customer_name AS customerName,
+ o.processing_note AS processingNote,
+ o.project AS projectName,
+ od.product_name AS productName,
+ od.building_number AS buildingNumber
from
pp.`optimize_heat_detail` h
LEFT JOIN pp.flow_card c ON h.process_id = c.process_id
@@ -332,6 +357,8 @@
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
+ LEFT JOIN sd.order o on o.order_id = c.order_id
+ LEFT JOIN order_detail od on c.order_id = od.order_id
WHERE
h.project_no = #{projectNo}
GROUP BY
@@ -1224,8 +1251,8 @@
order_sort,
stock_id,
polys_id,
- o_width,
- o_height,
+ p_width,
+ p_height,
width,
height,
x_axis,
@@ -1233,6 +1260,7 @@
patch_state,
mark_icon,
isRotate,
+ glass_point,
rack_no
) VALUES (
#{projectId},
@@ -1251,6 +1279,7 @@
#{glass.patchState},
#{glass.markIcon},
#{glass.isRotate},
+ #{glass.glassPoint},
#{glass.rackNo}
);
</foreach>
@@ -1281,12 +1310,15 @@
stock_id,
width,
height,
+ realwidth,
+ realheight,
usage_rate,
stock_code,
up_trim,
down_trim,
left_trim,
right_trim,
+ count,
glass_count,
glass_area,
create_time
@@ -1295,13 +1327,16 @@
#{glass.stockId},
#{glass.width},
#{glass.height},
+ #{glass.realWidth},
+ #{glass.realHeight},
#{glass.usageRate},
#{glass.stockCode},
#{glass.upTrim},
#{glass.downTrim},
#{glass.leftTrim},
#{glass.rightTrim},
- #{glass.glassCount},
+ #{glass.count},
+ #{glass.glassQuantity},
#{glass.glassArea},
now()
);
@@ -1365,6 +1400,26 @@
#{glassThickness}
)
+ </insert>
+ <insert id="addUpdateOffcut">
+ INSERT INTO pp.optimize_offcut (
+ project_no,
+ stock_id,
+ width,
+ height,
+ x_axis,
+ y_axis,
+ model,
+ thickness
+ ) VALUES (
+ #{processId},
+ 1,
+ #{detail.width},
+ #{detail.height},
+ #{detail.x},
+ #{detail.y},
+ #{glassType},
+ #{glassThickness})
</insert>
@@ -1464,6 +1519,14 @@
UPDATE pp.flow_card
SET rack = #{rackValue}
WHERE process_id = #{processId} AND technology_number = #{technologyNumber}
+ </update>
+ <update id="updateNormalDetails">
+ UPDATE pp.optimize_detail
+ SET
+ x_axis = #{detail.x},
+ y_axis = #{detail.y}
+ WHERE
+ project_no = #{processId} AND polys_id = #{detail.polySort}
</update>
<select id="simulatedTypesettingUsingOpt">
@@ -1659,6 +1722,16 @@
delete from pp.other_flow_card
where project_no = #{projectNumber}
</delete>
+ <delete id="deleteOptimizeOffcut">
+ DELETE
+ FROM
+ pp.optimize_offcut
+ WHERE
+ project_no = #{projectNumber}
+ </delete>
+ <delete id="deleteOffcutDetails">
+ delete from pp.optimize_offcut where project_no = #{processId}
+ </delete>
<select id="selectOptimizeProject">
@@ -1703,7 +1776,9 @@
opd.glass_id as glassId,
opd.project_no as engineerId,
opd.process_id as flowCardId,
- opd.order_sort as orderNumber,
+ od.order_id as orderNumber,
+ opd.order_sort as productSortNumber,
+ IF(LOCATE('涓┖', ogd.process ) > 0, JSON_UNQUOTE(JSON_EXTRACT(pd.separation, "$.lowE")), 0) as hollowCombineDirection,
opd.o_width as width,
opd.o_height as height,
op.glass_thickness as thickness,
@@ -1742,6 +1817,7 @@
and ogd.technology_number = fc.technology_number
left join pp.optimize_heat_detail ohd on ohd.layout_id = opd.heat_layout_id
and ohd.sort = opd.heat_layout_sort and ohd.project_no=opd.project_no
+ left join sd.product_detail pd on od.product_id=pd.prod_id and opd.layer=pd.glass_sort
where
opd.project_no = #{projectNo}
</select>
@@ -1783,6 +1859,68 @@
where
project_no = #{projectId}
</select>
+ <select id="getOptimizeLayoutsInfo" resultType="java.util.Map">
+ SELECT
+ width,
+ height,
+ realwidth,
+ realheight,
+ stock_id AS stockId,
+ stock_code AS stockCode,
+ usage_rate AS usageRate,
+ up_trim AS upTrim,
+ down_trim AS downTrim,
+ left_trim AS leftTrim,
+ right_trim AS rightTrim,
+ count AS quantity,
+ glass_count AS glassQuantity
+ FROM
+ pp.optimize_layout
+ where
+ project_no = #{projectId}
+ </select>
+ <select id="getOptimizeDetailsInfo" resultType="java.util.Map">
+ SELECT
+ 0 As isRemain,
+ width AS realWidth,
+ height AS realHeight,
+ p_width AS width,
+ p_height AS height,
+ process_id AS processId,
+ layer,
+ total_layer AS totalLayer,
+ order_sort As orderSort,
+ stock_id AS layoutId,
+ stock_number AS glassSort,
+ x_axis AS x,
+ y_axis AS y,
+ mark_icon AS markIcon,
+ isRotate,
+ glass_point AS glassPoint,
+ rack_no As rackNo
+ FROM
+ pp.optimize_detail
+ WHERE
+ project_no = #{projectId}
+ </select>
+ <select id="getOptimizeOffsetsInfo" resultType="java.util.Map">
+ SELECT
+ 1 AS isRemain,
+ 0 AS isRotate,
+ width AS realWidth,
+ height AS realHeight,
+ width AS width,
+ height AS height,
+ stock_id AS stockSort,
+ x_axis AS x,
+ y_axis AS y,
+ model AS glassType,
+ thickness AS glassThickness
+ FROM
+ pp.optimize_offcut
+ WHERE
+ project_no = #{projectId}
+ </select>
</mapper>
\ No newline at end of file
--
Gitblit v1.8.0