From 83f738105416c9b11e3b7c5246a0980e41b6650e Mon Sep 17 00:00:00 2001
From: zhoushihao <zsh19950802@163.com>
Date: 星期一, 13 十月 2025 16:59:48 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
hangzhoumesParent/moduleService/hollowGlassModule/src/main/resources/mapper/HollowGlassRelationInfoMapper.xml | 209 ++++++++++++++++------------------------------------
1 files changed, 64 insertions(+), 145 deletions(-)
diff --git a/hangzhoumesParent/moduleService/hollowGlassModule/src/main/resources/mapper/HollowGlassRelationInfoMapper.xml b/hangzhoumesParent/moduleService/hollowGlassModule/src/main/resources/mapper/HollowGlassRelationInfoMapper.xml
index f63ee25..bdb9005 100644
--- a/hangzhoumesParent/moduleService/hollowGlassModule/src/main/resources/mapper/HollowGlassRelationInfoMapper.xml
+++ b/hangzhoumesParent/moduleService/hollowGlassModule/src/main/resources/mapper/HollowGlassRelationInfoMapper.xml
@@ -2,14 +2,6 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.mes.hollow.mapper.HollowGlassRelationInfoMapper">
- <resultMap id="baseMap" type="com.mes.hollow.entity.dto.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>
<resultMap id="lackBaseMap" type="com.mes.hollow.entity.dto.LackDetailsDTO">
<result column="flow_card_id" property="flowCardId"/>
<result column="layer" property="layer"/>
@@ -21,89 +13,50 @@
<result column="lack_count" property="lackCount"/>
<result column="damage_count" property="damageCount"/>
</resultMap>
-
- <select id="queryFlowCardIdMaxLayerGlassInfo" resultMap="baseMap">
- 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="baseMap">
- 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 id="queryLackByFlowCard" resultType="com.mes.hollow.entity.dto.LackDetailsDTO">
+ with hollow_flow_temp AS (
+ SELECT DISTINCT flow_card_id
+ FROM hollow_big_storage_cage_details
+ WHERE state = 100
+ <if test="flowCardId != null and flowCardId != ''">
+ and flow_card_id = #{flowCardId}
+ </if>
+ )
+ , glass_temp as (
+ select t1.*
+ from hollow_flow_temp t
+ INNER JOIN glass_info t1 on t.flow_card_id = t1.flow_card_id
+ )
+ , detail_temp as (
+ select t.*
+ from glass_temp t
+ left join hollow_big_storage_cage_details t1 on t.glass_id = t1.glass_id
+ where t1.glass_id is null
+ )
+ , damage_ranked AS (
+ SELECT t.flow_card_id,
+ t.layer,
+ t.glass_id,
+ t.glass_type,
+ t.width,
+ t.height,
+ t.filmsId,
+ t.thickness,
+ case
+ when type in (8, 9) and status = 1 then ''
+ else t1.working_procedure end as working_procedure,
+ ROW_NUMBER() OVER (PARTITION BY t1.glass_id ORDER BY t1.id DESC) as rn
+ FROM detail_temp t
+ inner join damage t1 on t.glass_id = t1.glass_id
+ )
+ , damage_latest AS (
+ SELECT *
+ FROM damage_ranked
+ WHERE rn = 1
+ )
select *
- from result
+ from damage_latest
+
</select>
<select id="queryAllLackByFlowCard" resultMap="lackBaseMap">
WITH flow_card_id_info AS (
@@ -152,7 +105,7 @@
t.width,
t.height,
COUNT(DISTINCT t.glass_id) as lack_count,
- COUNT(DISTINCT CASE WHEN t1.type IN (7,8) AND t1.status = 1 THEN t.glass_id END) as damage_count
+ COUNT(DISTINCT CASE WHEN t1.type IN (8,9) AND t1.status = 1 THEN t.glass_id END) as damage_count
FROM detail_temp t
LEFT JOIN damage_latest t1 ON t.glass_id = t1.glass_id
GROUP BY
@@ -173,50 +126,13 @@
from hollow_glass_relation_info
where flow_card_id = #{flowCardId}
</select>
- <select id="queryProductNameByFlowCardId" resultType="com.mes.hollow.entity.dto.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}
- <if test="productName != null and productName != ''">
- and t.product_name like concat('%', #{productName}, '%')
- </if>
- <if test="customerName != null and customerName != ''">
- and t1.customer_name like concat('%', #{customerName}, '%')
- </if>
- )
- limit 1
- </select>
- <select id="queryLackGlassByFlowCard" resultType="com.mes.glassinfo.entity.GlassInfo">
- with glass_id_info as (
- select glass_id,order_sort from hollow_glass_relation_info where flow_card_id=#{flowCardId} and
- order_sort=#{orderSort} and layer=#{layer} and glass_id is not null
- ),
- damage_glass_id as (
- select glass_id from damage where process_id=#{flowCardId} and order_number=#{orderSort} and
- technology_number=#{layer} and type=8 and status < 3 and glass_id is not null
- )
- select t.* from glass_info t left join glass_id_info t1 on t.glass_id=t1.glass_id
- left join damage_glass_id t2 on t.glass_id=t2.glass_id
- where t.flow_card_id=#{flowCardId} and t.glass_type=#{orderSort} and t.layer=#{layer} and t1.glass_id is null
- and t2.glass_id is null
- </select>
- <select id="queryLackByFlowCard" resultType="com.mes.hollow.entity.dto.LackDetailsDTO">
- with hollow_flow_temp AS (
- SELECT DISTINCT flow_card_id
- FROM hollow_big_storage_cage_details
- WHERE state = 100
- <if test="flowCardId != null and flowCardId != ''">
- and flow_card_id = #{flowCardId}
- </if>
- )
- , glass_temp as (
- select t1.*
- from hollow_flow_temp t
- INNER JOIN glass_info t1 on t.flow_card_id = t1.flow_card_id
+ <select id="queryLackGlassByFlowCard" resultType="com.mes.hollow.entity.dto.LackDetailsDTO">
+ with glass_temp as (
+ select *
+ from glass_info
+ where flow_card_id = #{flowCardId}
+ and glass_type = #{orderSort}
+ and layer = #{layer}
)
, detail_temp as (
select t.*
@@ -234,9 +150,9 @@
t.filmsId,
t.thickness,
case
- when type in (7, 8) and status = 1 then ''
- else t1.working_procedure end as working_procedure,
- ROW_NUMBER() OVER (PARTITION BY t1.glass_id ORDER BY t1.id DESC) as rn
+ when type in (8, 9) and status = 1 then ''
+ else t1.working_procedure end as working_procedure,
+ ROW_NUMBER() OVER (PARTITION BY t1.glass_id ORDER BY t1.id DESC) as rn
FROM detail_temp t
inner join damage t1 on t.glass_id = t1.glass_id
)
@@ -247,18 +163,21 @@
)
select *
from damage_latest
-
</select>
+
<update id="clearDirtyFlowCardData">
- update tempering_glass_relation_info
- set shelf_order = null
- , state = 0
+ update hollow_glass_relation_info
+ set glass_id = null,
+ tempering_layout_id = null,
+ tempering_feed_sequence = null,
+ engineer_id = null,
+ state = 0
where flow_card_id = #{flowCardId}
and layer = #{layer}
- and shelf_order not in (
- select shelf_order
- from vertical_sheet_cage_details
+ and glass_id not in (
+ select glass_id
+ from hollow_big_storage_cage_details
where flow_card_id = #{flowCardId}
and layer = #{layer}
and state in (100, 102, 103, 104)
--
Gitblit v1.8.0