83 lines
5.2 KiB
XML
83 lines
5.2 KiB
XML
<?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.klp.mes.roll.mapper.MesRollChangeMapper">
|
||
|
||
<!-- 查询指定机架最新一次换辊记录(即当前在机轧辊) -->
|
||
<select id="selectLatestByStand" resultType="com.klp.mes.roll.domain.vo.MesRollChangeVo">
|
||
SELECT change_id, change_no, change_time, stand_no, change_type, change_status, operator,
|
||
upper_wr_no, upper_wr_dia, lower_wr_no, lower_wr_dia,
|
||
upper_br_no, upper_br_dia, lower_br_no, lower_br_dia,
|
||
remark, create_time
|
||
FROM mes_roll_change
|
||
WHERE del_flag = 0
|
||
AND stand_no = #{standNo}
|
||
ORDER BY change_time DESC, change_id DESC
|
||
LIMIT 1
|
||
</select>
|
||
|
||
<!-- 按辊位查最新非空换辊记录(支持部分换辊) -->
|
||
<select id="selectLatestByStandAndPosition" resultType="com.klp.mes.roll.domain.vo.MesRollChangeVo">
|
||
SELECT change_id, change_no, change_time, stand_no, operator,
|
||
upper_wr_no, upper_wr_dia, lower_wr_no, lower_wr_dia,
|
||
upper_br_no, upper_br_dia, lower_br_no, lower_br_dia
|
||
FROM mes_roll_change
|
||
WHERE del_flag = 0 AND stand_no = #{standNo}
|
||
<choose>
|
||
<when test="posType == 'upperWr'">AND upper_wr_no IS NOT NULL AND upper_wr_no != ''</when>
|
||
<when test="posType == 'lowerWr'">AND lower_wr_no IS NOT NULL AND lower_wr_no != ''</when>
|
||
<when test="posType == 'upperBr'">AND upper_br_no IS NOT NULL AND upper_br_no != ''</when>
|
||
<when test="posType == 'lowerBr'">AND lower_br_no IS NOT NULL AND lower_br_no != ''</when>
|
||
</choose>
|
||
ORDER BY change_time DESC, change_id DESC
|
||
LIMIT 1
|
||
</select>
|
||
|
||
<!-- 组合查询各辊位当前实际在机状态(每个位置独立取最新非空记录) -->
|
||
<select id="selectCurrentStateByStand" resultType="map">
|
||
SELECT
|
||
(SELECT upper_wr_no FROM mes_roll_change WHERE stand_no = #{standNo} AND del_flag = 0 AND upper_wr_no IS NOT NULL AND upper_wr_no != '' ORDER BY change_time DESC, change_id DESC LIMIT 1) AS upperWrNo,
|
||
(SELECT upper_wr_dia FROM mes_roll_change WHERE stand_no = #{standNo} AND del_flag = 0 AND upper_wr_no IS NOT NULL AND upper_wr_no != '' ORDER BY change_time DESC, change_id DESC LIMIT 1) AS upperWrDia,
|
||
(SELECT lower_wr_no FROM mes_roll_change WHERE stand_no = #{standNo} AND del_flag = 0 AND lower_wr_no IS NOT NULL AND lower_wr_no != '' ORDER BY change_time DESC, change_id DESC LIMIT 1) AS lowerWrNo,
|
||
(SELECT lower_wr_dia FROM mes_roll_change WHERE stand_no = #{standNo} AND del_flag = 0 AND lower_wr_no IS NOT NULL AND lower_wr_no != '' ORDER BY change_time DESC, change_id DESC LIMIT 1) AS lowerWrDia,
|
||
(SELECT upper_br_no FROM mes_roll_change WHERE stand_no = #{standNo} AND del_flag = 0 AND upper_br_no IS NOT NULL AND upper_br_no != '' ORDER BY change_time DESC, change_id DESC LIMIT 1) AS upperBrNo,
|
||
(SELECT upper_br_dia FROM mes_roll_change WHERE stand_no = #{standNo} AND del_flag = 0 AND upper_br_no IS NOT NULL AND upper_br_no != '' ORDER BY change_time DESC, change_id DESC LIMIT 1) AS upperBrDia,
|
||
(SELECT lower_br_no FROM mes_roll_change WHERE stand_no = #{standNo} AND del_flag = 0 AND lower_br_no IS NOT NULL AND lower_br_no != '' ORDER BY change_time DESC, change_id DESC LIMIT 1) AS lowerBrNo,
|
||
(SELECT lower_br_dia FROM mes_roll_change WHERE stand_no = #{standNo} AND del_flag = 0 AND lower_br_no IS NOT NULL AND lower_br_no != '' ORDER BY change_time DESC, change_id DESC LIMIT 1) AS lowerBrDia,
|
||
(SELECT MAX(change_time) FROM mes_roll_change WHERE stand_no = #{standNo} AND del_flag = 0) AS changeTime
|
||
</select>
|
||
|
||
<!-- 查询同机架在本次换辊之后最近一次换辊的时间 -->
|
||
<select id="selectNextChangeTime" resultType="java.util.Date">
|
||
SELECT MIN(change_time)
|
||
FROM mes_roll_change
|
||
WHERE del_flag = 0
|
||
AND stand_no = #{standNo}
|
||
AND change_time > #{changeTime}
|
||
</select>
|
||
|
||
<!--
|
||
统计 [startTime, endTime) 时间段内,符合条件的卷料生产三项汇总:
|
||
coilCount — 卷数(COUNT DISTINCT coil_id)
|
||
totalLength — 实测长度之和(mm)
|
||
totalWeight — 净重之和(net_weight 原始单位)
|
||
endTime 为 null 时取 NOW() 作为上界。
|
||
-->
|
||
<select id="selectCoilStats" resultType="map">
|
||
SELECT
|
||
COUNT(DISTINCT mc.coil_id) AS coilCount,
|
||
IFNULL(SUM(mc.actual_length), 0) AS totalLength,
|
||
IFNULL(SUM(mc.net_weight), 0) AS totalWeight
|
||
FROM wms_coil_pending_action cpa
|
||
INNER JOIN wms_material_coil mc
|
||
ON FIND_IN_SET(mc.coil_id, cpa.processed_coil_ids) > 0
|
||
WHERE cpa.del_flag = 0
|
||
AND cpa.action_status = 2
|
||
AND cpa.action_type IN (205, 504, 524)
|
||
AND cpa.create_time >= #{startTime}
|
||
AND cpa.create_time < IFNULL(#{endTime}, NOW())
|
||
AND mc.create_time >= #{startTime}
|
||
AND mc.create_time < IFNULL(#{endTime}, NOW())
|
||
</select>
|
||
|
||
</mapper>
|