package com.ruoyi.mill.mapper; import java.util.Date; import java.util.List; import java.util.Map; import com.ruoyi.mill.domain.MesRollChange; import org.apache.ibatis.annotations.Param; /** * 换辊记录Mapper接口 * * @author ruoyi * @date 2026-06-09 */ public interface MesRollChangeMapper { /** * 查询换辊记录 * * @param changeId 换辊记录主键 * @return 换辊记录 */ public MesRollChange selectMesRollChangeByChangeId(Long changeId); /** * 查询换辊记录列表 * * @param mesRollChange 换辊记录 * @return 换辊记录集合 */ public List selectMesRollChangeList(MesRollChange mesRollChange); /** * 新增换辊记录 * * @param mesRollChange 换辊记录 * @return 结果 */ public int insertMesRollChange(MesRollChange mesRollChange); /** * 修改换辊记录 * * @param mesRollChange 换辊记录 * @return 结果 */ public int updateMesRollChange(MesRollChange mesRollChange); /** * 删除换辊记录 * * @param changeId 换辊记录主键 * @return 结果 */ public int deleteMesRollChangeByChangeId(Long changeId); /** * 批量删除换辊记录 * * @param changeIds 需要删除的数据主键集合 * @return 结果 */ public int deleteMesRollChangeByChangeIds(Long[] changeIds); /** * 查询指定机架当前各辊位状态(最近一次换辊记录) * * @param lineId 产线ID * @param standNo 机架号 * @return 各辊位编号+辊径+换辊时间 */ public Map selectCurrentStateByStand(@Param("lineId") Long lineId, @Param("standNo") String standNo); /** * 查询指定机架+辊位的最新换辊记录 * * @param lineId 产线ID * @param standNo 机架号 * @param posType 辊位类型(upperWr/lowerWr/upperBr/lowerBr) * @return 换辊记录 */ public MesRollChange selectLatestByStandAndPosition(@Param("lineId") Long lineId, @Param("standNo") String standNo, @Param("posType") String posType); /** * 统计指定时间范围内的钢卷产量(长度/卷数/重量) * * @param startTime 起始时间 * @param endTime 结束时间(null表示至今) * @return 统计结果: workLength, coilCount, totalWeight */ public Map selectCoilStats(@Param("startTime") Date startTime, @Param("endTime") Date endTime); }