From b03389088870daf55208b44f627a538df077e91b Mon Sep 17 00:00:00 2001
From: ZengTao <2773468879@qq.com>
Date: 星期六, 11 十月 2025 08:39:22 +0800
Subject: [PATCH] 1、中空部分直接查询ERP数据库修改为使用OrderServices
---
hangzhoumesParent/common/servicebase/src/main/resources/mapper/OrderMapper.xml | 108 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 108 insertions(+), 0 deletions(-)
diff --git a/hangzhoumesParent/common/servicebase/src/main/resources/mapper/OrderMapper.xml b/hangzhoumesParent/common/servicebase/src/main/resources/mapper/OrderMapper.xml
index 7eafcca..0cc59de 100644
--- a/hangzhoumesParent/common/servicebase/src/main/resources/mapper/OrderMapper.xml
+++ b/hangzhoumesParent/common/servicebase/src/main/resources/mapper/OrderMapper.xml
@@ -10,6 +10,14 @@
<result column="create_time" property="createTime"/>
<result column="percent" property="percent"/>
</resultMap>
+ <resultMap id="baseMapHollowDetail" type="com.mes.order.entity.HollowGlassDetailsDTO">
+ <result column="process_id" property="flowCardId"/>
+ <result column="child_width" property="width"/>
+ <result column="child_height" property="height"/>
+ <result column="order_number" property="orderSort"/>
+ <result column="technology_number" property="layer"/>
+ <result column="quantity" property="quantity"/>
+ </resultMap>
<select id="selectOrderPercent" resultMap="baseMap">
SELECT a.order_id,
a.customer_name,
@@ -32,4 +40,104 @@
where a.warehousing != 2 and a.warehousing >= 0
ORDER BY a.order_id desc
</select>
+ <select id="queryOrderByFlowCardId" resultType="com.mes.order.entity.HollowOrderDTO">
+ select t1.*
+ from pp.flow_card t
+ inner join sd.order t1 on t.order_id = t1.order_id
+ where t.process_id = #{flowCardId}
+ limit 1
+ </select>
+ <select id="queryFlowCardIdMaxLayerGlassInfo" resultType="com.mes.order.entity.HollowGlassDetailsDTO">
+ with temp_flow as (SELECT t.process_id,
+ t.order_id,
+ t.order_number,
+ t.technology_number,
+ t.quantity,
+ t1.child_width,
+ t1.child_height
+
+ from pp.flow_card t
+ LEFT JOIN sd.order_glass_detail t1
+ on t.order_id = t1.order_id
+ and t.order_number = t1.order_number
+ and t.technology_number = t1.technology_number
+ where t.process_id = #{flowCardId}),
+ glass_info_temp as (
+ select process_id,
+ order_id,
+ GREATEST(child_width, child_height) as first_length,
+ least(child_width, child_height) as second_length,
+ child_width,
+ child_height,
+ order_number,
+ technology_number,
+ quantity
+ from temp_flow
+ where technology_number = #{totalLayer}
+ )
+ select row_number() over (order by second_length desc,first_length desc) as rn, t.*
+ from glass_info_temp t
+ </select>
+ <select id="queryFlowCardIdLayerGlassInfo" resultMap="baseMapHollowDetail">
+ with temp_flow as (SELECT t.process_id,
+ t.order_id,
+ t.order_number,
+ t.technology_number,
+ t.quantity,
+ t1.child_width,
+ t1.child_height
+ from pp.flow_card t
+ LEFT JOIN sd.order_glass_detail t1
+ on t.order_id = t1.order_id
+ and t.order_number = t1.order_number
+ and t.technology_number = t1.technology_number
+ where t.process_id = #{flowCardId}),
+ glass_info_max_layer_temp as (
+ select process_id,
+ order_id,
+ GREATEST(child_width, child_height) as first_length,
+ least(child_width, child_height) as second_length,
+ child_width,
+ child_height,
+ order_number,
+ technology_number,
+ quantity
+ from temp_flow
+ where technology_number = #{totalLayer}
+ ),
+ glass_info_layer_temp as (
+ select process_id,
+ order_id,
+ GREATEST(child_width, child_height) as first_length,
+ least(child_width, child_height) as second_length,
+ child_width,
+ child_height,
+ order_number,
+ technology_number,
+ quantity
+ from temp_flow
+ where technology_number = #{layer}
+ ),
+ max_layer_sequence as (
+ select row_number() over (order by second_length desc,first_length desc) as rn, t.order_number
+ from glass_info_max_layer_temp t
+ ),
+ result as (select t.*
+ from glass_info_layer_temp t
+ INNER join max_layer_sequence t1 on t.order_number = t1.order_number
+ order by t1.rn)
+ select *
+ from result
+ </select>
+ <select id="queryProductNameByFlowCardId" resultType="com.mes.order.entity.OrderDetailsDTO">
+ select t.product_name, t1.customer_name
+ from sd.order_detail t
+ inner join sd.order t1 on t.order_id = t1.order_id
+ where (t.order_id, t.order_number) = (
+ select min(order_id) as order_id, min(order_number) as order_number
+ from pp.flow_card
+ where process_id = #{flowCardId}
+ )
+ limit 1
+ </select>
</mapper>
--
Gitblit v1.8.0