From 939ccc9c254870ed15cdd485b9d303bbb00a23f2 Mon Sep 17 00:00:00 2001
From: chenlu <1320612696@qq.com>
Date: 星期日, 28 九月 2025 14:16:27 +0800
Subject: [PATCH] 注释加上上海玻璃公司ip
---
north-glass-erp/src/main/resources/mapper/pp/GlassOptimize.xml | 198 +++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 182 insertions(+), 16 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..f684745 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
@@ -446,7 +473,7 @@
<!--搴撳瓨淇℃伅-->
<select id="materialStoreMp">
SELECT
- i.id AS id,
+ i.material_code AS id,
i.producer AS producer,
i.available_quantity-i.plan_quantity AS available_quantity,
null as processingQuantity,
@@ -543,7 +570,7 @@
<select id="materialStoreOptimizeUse">
- select ms.id AS id,
+ select ou.raw_stock_code AS id,
ou.use_count AS processingQuantity,
ou.width,
ou.height,
@@ -740,11 +767,11 @@
`p`.`frist_stock_qty` AS `Amount of original glass usage 1`,
concat(`p`.`frist_cut_pct`, ' %') AS `Average cutting rate 1`,
`p`.`remark` AS `Notes`,
- `a`.`name` AS `Creator`,
+ `u`.`user_name` AS `Creator`,
`p`.`create_time` AS `Create time`,
`p`.`update_time` AS `Modify time`
from pp.optimize_project as p
- left join pp.optimize_admin as a on p.creater = a.Id
+ left join erp_user_info.user as u on p.creater = u.login_name
where (`p`.`state` > 0)
# and (tempering_state>0 or optimize_state>0)
and DATE (`p`.`create_time`) BETWEEN #{startSelectTime} AND #{endSelectTime}
@@ -1081,14 +1108,14 @@
<update id="updateProjectMp">
update pp.optimize_project set project_name=#{projectNmae},glass_total=#{sumQuantity},glass_total_area= #{sumArea},
- type=#{type},process_qty=#{processIdCount},process_cards=#{processId} where project_no=#{projectId}
+ type=#{type},process_qty=#{processIdCount},process_cards=#{processId},creater = #{userName} where project_no=#{projectId}
</update>
<insert id="addProjectMp">
insert into pp.optimize_project (project_no, project_name, order_glass_type, order_glass_thickness,glass_type, glass_thickness,
- glass_total,glass_total_area,type,state,process_qty,process_cards)
+ glass_total,glass_total_area,type,state,process_qty,process_cards,creater )
values (#{projectId}, #{projectNmae}, #{glassType}, #{glassThickness}, #{glassType}, #{glassThickness},#{sumQuantity}, #{sumArea},
- #{type},1,#{processIdCount},#{processId})
+ #{type},1,#{processIdCount},#{processId},#{userName})
</insert>
@@ -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},
+ #{stockId},
+ #{detail.width},
+ #{detail.height},
+ #{detail.x},
+ #{detail.y},
+ #{glassType},
+ #{glassThickness})
</insert>
@@ -1464,6 +1519,24 @@
UPDATE pp.flow_card
SET rack = #{rackValue}
WHERE process_id = #{processId} AND technology_number = #{technologyNumber}
+ </update>
+ <update id="updateNormalDetails">
+ UPDATE pp.optimize_detail
+ SET
+ glass_point = #{detail.glassPoint},
+ x_axis = #{detail.x},
+ y_axis = #{detail.y}
+ WHERE
+ project_no = #{processId} AND polys_id = #{detail.polySort}
+ </update>
+ <update id="updateProjectOptimize">
+ update pp.optimize_project as p
+ set p.optimize_state = #{states},
+ p.avg_cut_pct = #{optimalResults.avgCutRate},
+ p.valid_cut_pct = #{optimalResults.validCutRate},
+ p.last_cut_pct = #{optimalResults.lastCutRate},
+ p.raw_stock_qty = #{optimalResults.totalQuantity}
+ where p.project_no = #{projectId}
</update>
<select id="simulatedTypesettingUsingOpt">
@@ -1648,7 +1721,10 @@
p.creater = a.Id
)))
WHERE
- ( p.state = 1 ) and p.tempering_state=0 and optimize_state=0 and p.project_no = #{projectNo}
+ ( p.state = 1 ) and
+# p.tempering_state=0 and
+# optimize_state=0 and
+ p.project_no = #{projectNo}
ORDER BY
p.create_time DESC,
p.project_no
@@ -1658,6 +1734,16 @@
<delete id="deleteOptimizeDetailThirdParty">
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>
@@ -1703,7 +1789,11 @@
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 and LOCATE('#', pd.separation ),
+ REPLACE(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 +1832,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 +1874,81 @@
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,
+ od.width AS realWidth,
+ od.height AS realHeight,
+ od.p_width AS width,
+ od.p_height AS height,
+ od.process_id AS processId,
+ od.layer,
+ od.total_layer AS totalLayer,
+ od.order_sort AS orderSort,
+ od.stock_id AS layoutId,
+ od.stock_number AS glassSort,
+ od.x_axis AS x,
+ od.y_axis AS y,
+ od.mark_icon AS markIcon,
+ od.isRotate,
+ od.glass_point AS glassPoint,
+ fc.order_id AS orderNo,
+ ogd.process,
+ o.customer_name AS customerName,
+ o.processing_note AS processingNote,
+ o.project AS projectName,
+ ord.product_name AS productName,
+ ord.building_number AS buildingNumber,
+ COALESCE(h.layout_id, 0) as heatLayoutId,
+ od.rack_no AS rackNo
+ FROM
+ pp.optimize_detail od
+ LEFT JOIN pp.flow_card fc on (od.process_id = fc.process_id and od.layer = fc.technology_number and od.order_sort = fc.order_number )
+ LEFT JOIN sd.order_glass_detail ogd ON (fc.order_id = ogd.order_id and od.order_sort = ogd.order_number)
+ LEFT JOIN sd.ORDER o ON o.order_id = fc.order_id
+ LEFT JOIN sd.order_detail ord ON (fc.order_id = ord.order_id and od.order_sort = ord.order_number)
+ LEFT JOIN pp.optimize_heat_detail h ON (h.process_id = fc.process_id and od.order_sort = h.sort)
+ WHERE
+ od.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