<?xml version="1.0" encoding="UTF-8"?>
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
<mapper namespace="com.mes.bigstorage.mapper.BigStorageCageMapper">
|
<resultMap id="downStorageCageDetails" type="com.mes.bigstorage.entity.dto.BigStorageSummaryDTO">
|
<result column="engineer_id" property="engineerId"/>
|
<result column="countTemp" property="countTemp"/>
|
<result column="countGlass" property="countGlass"/>
|
<result column="area" property="area"/>
|
<result column="fullTemp" property="fullTemp"/>
|
<result column="countSlot" property="countSlot"/>
|
<result column="percent" property="percent"/>
|
</resultMap>
|
|
|
<select id="queryFreeDeviceByUsed" resultType="java.lang.Integer">
|
SELECT T.DEVICE_ID
|
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}
|
and t.MIN_THICKNESS <= #{thickness}
|
AND T.ENABLE_STATE = 1
|
and t.device_id not in (5,6)
|
GROUP BY T.DEVICE_ID
|
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>
|
<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">-->
|
<!-- SELECT T.DEVICE_ID-->
|
<!-- 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}-->
|
<!-- AND T.ENABLE_STATE = 1-->
|
<!-- GROUP BY T.DEVICE_ID-->
|
<!-- ORDER BY COUNT(DISTINCT T1.ENGINEER_ID)-->
|
<!-- COUNT(DISTINCT T1.TEMPERING_LAYOUT_ID),-->
|
<!-- COUNT(DISTINCT T.SLOT) - COUNT(DISTINCT T1.SLOT) DESC-->
|
<!-- </select>-->
|
</mapper>
|