<?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.BigStorageCageDetailsMapper">
|
|
<resultMap id="temperingLayoutDTO" type="com.mes.bigstorage.entity.dto.TemperingLayoutDTO">
|
<result column="engineer_id" property="engineerId"/>
|
<result column="tempering_layout_id" property="temperingLayoutId"/>
|
<result column="count" property="count"/>
|
<result column="slot_count" property="slotCount"/>
|
</resultMap>
|
|
<resultMap id="slotSequenceDTO" type="com.mes.bigstorage.entity.dto.SlotSequenceDTO">
|
<result column="engineer_id" property="engineerId"/>
|
<result column="tempering_layout_id" property="temperingLayoutId"/>
|
<result column="slot" property="slot"/>
|
<result column="max_sequence" property="maxSequence"/>
|
<result column="min_sequence" property="minSequence"/>
|
<result column="remain_width" property="remainWidth"/>
|
</resultMap>
|
|
<select id="temperingIsAll" resultMap="temperingLayoutDTO">
|
SELECT T.ENGINEER_ID,
|
T.TEMPERING_LAYOUT_ID,
|
COUNT(T.TEMPERING_FEED_SEQUENCE) AS COUNT
|
FROM
|
GLASS_INFO T
|
LEFT JOIN DAMAGE T1
|
ON T.ENGINEER_ID = T1.ENGINEER_ID
|
AND T.GLASS_ID = T1.GLASS_ID
|
LEFT JOIN BIG_STORAGE_CAGE_DETAILS T2 ON T.ENGINEER_ID = T2.ENGINEER_ID
|
AND T.GLASS_ID = T2.GLASS_ID
|
WHERE
|
T1.GLASS_ID IS NULL
|
AND T2.GLASS_ID IS NULL
|
AND ( T.ENGINEER_ID
|
, T.TEMPERING_LAYOUT_ID ) IN ( SELECT DISTINCT ENGINEER_ID
|
, TEMPERING_LAYOUT_ID FROM BIG_STORAGE_CAGE_DETAILS WHERE STATE = 100 )
|
GROUP BY
|
T.ENGINEER_ID,
|
T.TEMPERING_LAYOUT_ID
|
HAVING
|
COUNT = 0
|
ORDER BY
|
T.TEMPERING_LAYOUT_ID
|
LIMIT 1
|
</select>
|
|
<select id="queryTemperingOccupySlot" resultMap="temperingLayoutDTO">
|
SELECT TEMPERING_LAYOUT_ID,
|
COUNT(DISTINCT SLOT) as SLOT_COUNT
|
FROM BIG_STORAGE_CAGE_DETAILS
|
WHERE STATE = 100
|
GROUP BY ENGINEER_ID,
|
TEMPERING_LAYOUT_ID
|
HAVING SLOT_COUNT >= #{count} LIMIT 1
|
</select>
|
<select id="queryGlassMaxAndMin" resultMap="slotSequenceDTO">
|
SELECT T.*,
|
T1.REMAIN_WIDTH
|
FROM (
|
SELECT ENGINEER_ID,
|
TEMPERING_LAYOUT_ID,
|
SLOT,
|
MAX(TEMPERING_FEED_SEQUENCE) AS MAX_SEQUENCE,
|
MIN(TEMPERING_FEED_SEQUENCE) AS MIN_SEQUENCE
|
FROM BIG_STORAGE_CAGE_DETAILS
|
WHERE ENGINEER_ID = #{engineerId}
|
AND TEMPERING_LAYOUT_ID = #{temperingLayoutId}
|
GROUP BY ENGINEER_ID,
|
TEMPERING_LAYOUT_ID,
|
SLOT
|
) T
|
INNER JOIN BIG_STORAGE_CAGE T1 ON T.SLOT = T1.SLOT
|
ORDER BY T.MAX_SEQUENCE DESC
|
</select>
|
</mapper>
|