Files
klp-oa/klp-mes/src/main/resources/mapper/roll/MesRollGrindMapper.xml
Joshi 7b80ef035a fix(mes/roll): 修正磨削记录查询排序逻辑
1. 将磨削记录列表的默认排序由升序改为降序,确保最新记录优先展示
2. 移除冗余的grind_id排序条件,简化排序规则
2026-06-03 11:36:36 +08:00

49 lines
2.3 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.MesRollGrindMapper">
<select id="selectByRollId" resultType="com.klp.mes.roll.domain.vo.MesRollGrindVo">
SELECT grind_id, roll_id, roll_no, grind_time, team,
dia_before, dia_after, grind_amount, roll_shape,
flaw_result,
CASE WHEN hardness = '未倒角' THEN 0 ELSE CAST(hardness AS DECIMAL(10,1)) END AS hardness,
operator, remark, create_time
FROM mes_roll_grind
WHERE del_flag = 0 AND roll_id = #{rollId}
ORDER BY grind_time Desc
</select>
<select id="selectList" resultType="com.klp.mes.roll.domain.vo.MesRollGrindVo">
SELECT g.grind_id, g.roll_id, g.roll_no, g.grind_time, g.team,
g.dia_before, g.dia_after, g.grind_amount, g.roll_shape,
g.flaw_result,
CASE WHEN g.hardness = '未倒角' THEN 0 ELSE CAST(g.hardness AS DECIMAL(10,1)) END AS hardness,
g.operator, g.remark, g.create_time,
ri.roll_type
FROM mes_roll_grind g
LEFT JOIN mes_roll_info ri ON g.roll_id = ri.roll_id
WHERE g.del_flag = 0
<if test="rollId != null">AND g.roll_id = #{rollId}</if>
<if test="lineId != null">AND g.line_id = #{lineId}</if>
<if test="beginTime != null and beginTime != ''">AND g.grind_time &gt;= #{beginTime}</if>
<if test="endTime != null and endTime != ''">AND g.grind_time &lt;= #{endTime}</if>
<if test="team != null and team != ''">AND g.team = #{team}</if>
<if test="rollType != null and rollType != ''">AND ri.roll_type = #{rollType}</if>
ORDER BY g.grind_time DESC
</select>
<select id="selectMonthlyStats" resultType="map">
SELECT
DATE_FORMAT(grind_time, '%Y-%m') AS month,
COUNT(*) AS grindCount,
IFNULL(SUM(grind_amount), 0) AS totalGrindAmount
FROM mes_roll_grind
WHERE del_flag = 0
AND roll_id = #{rollId}
AND YEAR(grind_time) = #{year}
GROUP BY DATE_FORMAT(grind_time, '%Y-%m')
ORDER BY month ASC
</select>
</mapper>