From 7ba23e6e4870465855d80d026cf31490e0f8d427 Mon Sep 17 00:00:00 2001
From: wangfei <3597712270@qq.com>
Date: 星期一, 22 九月 2025 11:20:47 +0800
Subject: [PATCH] 中空一线、二线。三线页面改造
---
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageMapper.xml | 101 +++++++++++++++++++++++++++++---------------------
1 files changed, 59 insertions(+), 42 deletions(-)
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageMapper.xml b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageMapper.xml
index 1e85334..cd0b4a2 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageMapper.xml
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageMapper.xml
@@ -17,54 +17,71 @@
FROM BIG_STORAGE_CAGE T
LEFT JOIN (SELECT * FROM BIG_STORAGE_CAGE_DETAILS WHERE STATE NOT IN (101, 8, 9)) T1
ON T.SLOT = T1.SLOT
- WHERE T.MAX_THICKNESS >= #{thickness}
+ WHERE T.MAX_THICKNESS >= #{thickness}
+ and t.MIN_THICKNESS <= #{thickness}
AND T.ENABLE_STATE = 1
GROUP BY T.DEVICE_ID
- ORDER BY min(T.MAX_THICKNESS),
- COUNT(DISTINCT T1.ENGINEER_ID), COUNT(DISTINCT T1.TEMPERING_LAYOUT_ID),
- COUNT(DISTINCT T1.SLOT)
+ HAVING count(t.slot) - COUNT(DISTINCT T1.slot) > 0
+ ORDER BY COUNT(DISTINCT T1.ENGINEER_ID), count(t.slot) - COUNT(DISTINCT T1.slot) desc
</select>
<select id="selectBigStorageSummary" resultType="com.mes.bigstorage.entity.dto.BigStorageSummaryDTO">
- SELECT
- engineer_id as engineerId,
- count( tempering_layout_id ) AS countTemp,
- sum( countGlass ) AS countGlass,
- round( sum( area ), 2 ) as area,
- sum( fullTemp ) AS fullTemp,
- sum( countSlot ) AS countSlot,
- sum( countGlass )/ sum( countGlass1 )* 100 AS percent,
- thickness
- FROM
- (
- SELECT
- bscd.engineer_id,
- bscd.tempering_layout_id,
- count(*) AS countGlass,
- sum( bscd.width * bscd.height / 1000000 ) AS area,
- IF
- ( gi.countGlass1 = count(*), 1, 0 ) AS fullTemp,
- count( DISTINCT bscd.slot ) AS countSlot,
- countGlass1,
- gi.thickness
- FROM
- big_storage_cage_details bscd
- INNER JOIN ( SELECT engineer_id, tempering_layout_id, count(*) AS countGlass1, thickness FROM glass_info GROUP BY engineer_id, tempering_layout_id ) gi ON bscd.engineer_id = gi.engineer_id
- AND bscd.tempering_layout_id = gi.tempering_layout_id
- WHERE
- bscd.state = 100
- GROUP BY
- bscd.engineer_id,
- bscd.tempering_layout_id
- ) AS cageSummary
- GROUP BY
- engineer_id
- ORDER BY
- percent DESC,
- countSlot DESC,
- thickness DESC
+ SELECT engineer_id as engineerId,
+ count(tempering_layout_id) AS countTemp,
+ sum(countGlass) AS countGlass,
+ round(sum(area), 2) as area,
+ sum(fullTemp) AS fullTemp,
+ sum(countSlot) AS countSlot,
+ sum(countGlass) / sum(countGlass1) * 100 AS percent,
+ thickness
+ FROM (
+ SELECT bscd.engineer_id,
+ bscd.tempering_layout_id,
+ count(*) AS countGlass,
+ sum(bscd.width * bscd.height / 1000000) AS area,
+ IF
+ (gi.countGlass1 = count(*), 1, 0) AS fullTemp,
+ count(DISTINCT bscd.slot) AS countSlot,
+ countGlass1,
+ gi.thickness
+ FROM big_storage_cage_details bscd
+ INNER JOIN (SELECT engineer_id, tempering_layout_id, count(*) AS countGlass1, thickness
+ FROM glass_info
+ GROUP BY engineer_id, tempering_layout_id) gi ON bscd.engineer_id = gi.engineer_id
+ AND bscd.tempering_layout_id = gi.tempering_layout_id
+ WHERE bscd.state = 100
+ GROUP BY bscd.engineer_id,
+ bscd.tempering_layout_id
+ ) AS cageSummary
+ GROUP BY engineer_id
+ ORDER BY percent DESC,
+ countSlot DESC,
+ thickness DESC
</select>
-
+ <select id="queryPieChart" resultType="com.mes.largenscreen.entity.PieChartVO">
+ SELECT round(sum(CASE WHEN e.station_cell = 5 THEN 1 ELSE 0 END), 2) as oneCompletedQuantity,
+ round(sum(CASE WHEN e.station_cell = 5 THEN bscd.width * bscd.height / 1000000 ELSE 0 END),
+ 2) as oneCompletedArea,
+ round(sum(CASE WHEN e.station_cell = 6 THEN 1 ELSE 0 END), 2) as twoCompletedQuantity,
+ round(sum(CASE WHEN e.station_cell = 6 THEN bscd.width * bscd.height / 1000000 ELSE 0 END),
+ 2) as twoCompletedArea,
+ round(sum(CASE WHEN e.station_cell = 5 and bscd.device_id is null THEN 1 ELSE 0 END),
+ 2) as oneUncompletedQuantity,
+ round(sum(CASE
+ WHEN e.station_cell = 5 and bscd.device_id is null THEN gi.width * gi.height / 1000000
+ ELSE 0 END),
+ 2) as oneUncompletedArea,
+ round(sum(CASE WHEN e.station_cell = 6 and bscd.device_id is null THEN 1 ELSE 0 END),
+ 2) as twoUncompletedQuantity,
+ round(sum(CASE
+ WHEN e.station_cell = 6 and bscd.device_id is null THEN gi.width * gi.height / 1000000
+ ELSE 0 END),
+ 2) as twoUncompletedArea
+ FROM glass_info gi
+ left join big_storage_cage_details bscd ON gi.glass_id = bscd.glass_id
+ left join engineering e on gi.engineer_id = e.engineer_id
+ WHERE date(e.create_time) = date(now())
+ </select>
<!-- <select id="queryFreeDeviceByNotUsed" resultType="java.lang.Integer">-->
--
Gitblit v1.8.0