From 261698358e2b756a61e992bc1651e01b3f45290b Mon Sep 17 00:00:00 2001
From: zhoushihao <zsh19950802@163.com>
Date: 星期四, 23 十月 2025 16:50:27 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
hangzhoumesParent/common/servicebase/src/main/resources/mapper/OrderMapper.xml | 114 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 112 insertions(+), 2 deletions(-)
diff --git a/hangzhoumesParent/common/servicebase/src/main/resources/mapper/OrderMapper.xml b/hangzhoumesParent/common/servicebase/src/main/resources/mapper/OrderMapper.xml
index d959a4c..ab29243 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,
@@ -17,7 +25,8 @@
a.area,
a.quantity,
a.create_time,
- round(ifnull(d.finishNum, 0) / a.quantity * 100) as 'percent'
+ round(ifnull(d.finishNum, 0) / a.quantity * 100) as 'percent',
+ ifnull(d.finishNum, 0)
from sd.`order` as a
LEFT JOIN (
SELECT sum(c.reporting_work_num) as 'finishNum',order_id
@@ -28,6 +37,107 @@
GROUP BY c.order_id
) as d
on a.order_id = d.order_id
- where a.warehousing != 2
+ 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" 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_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