package com.mes.device.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.mes.device.entity.GlassInfo; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; import java.util.List; /** * 设备玻璃信息Mapper接口 * * @author mes * @since 2024-11-20 */ @Mapper public interface DeviceGlassInfoMapper extends BaseMapper { /** * 根据玻璃ID查询玻璃信息 * * @param glassId 玻璃ID * @return 玻璃信息 */ @Select("SELECT * FROM glass_info WHERE glass_id = #{glassId} AND is_deleted = 0 LIMIT 1") GlassInfo selectByGlassId(@Param("glassId") String glassId); /** * 根据玻璃ID列表批量查询玻璃信息 * * @param glassIds 玻璃ID列表 * @return 玻璃信息列表 */ List selectByGlassIds(@Param("glassIds") List glassIds); /** * 根据状态查询玻璃信息列表 * * @param status 状态 * @return 玻璃信息列表 */ @Select("SELECT * FROM glass_info WHERE status = #{status} AND is_deleted = 0 ORDER BY created_time DESC") List selectByStatus(@Param("status") String status); /** * 根据工程号查询玻璃ID列表 * * @param engineeringId 工程号 * @return 玻璃信息列表 */ @Select("SELECT * FROM glass_info WHERE engineering_id = #{engineeringId} AND is_deleted = 0") List selectByEngineeringId(@Param("engineeringId") String engineeringId); /** * 根据玻璃ID查询玻璃信息(包括逻辑删除的记录) * * @param glassId 玻璃ID * @return 玻璃信息 */ @Select("SELECT * FROM glass_info WHERE glass_id = #{glassId} LIMIT 1") GlassInfo selectByGlassIdIncludingDeleted(@Param("glassId") String glassId); /** * 恢复逻辑删除的记录并更新字段(绕过逻辑删除拦截器) * * @param id 记录ID * @param glassId 玻璃ID * @param glassLength 玻璃长度 * @param glassWidth 玻璃宽度 * @param glassThickness 玻璃厚度 * @param status 状态 * @param state 状态值 * @param engineeringId 工程号 * @param updatedTime 更新时间 * @param updatedBy 更新人 * @return 更新行数 */ @org.apache.ibatis.annotations.Update("UPDATE glass_info SET " + "is_deleted = 0, " + "glass_id = #{glassId}, " + "glass_length = #{glassLength}, " + "glass_width = #{glassWidth}, " + "glass_thickness = #{glassThickness}, " + "status = #{status}, " + "state = #{state}, " + "engineering_id = #{engineeringId}, " + "updated_time = #{updatedTime}, " + "updated_by = #{updatedBy} " + "WHERE id = #{id}") int restoreAndUpdateById(@Param("id") Long id, @Param("glassId") String glassId, @Param("glassLength") Integer glassLength, @Param("glassWidth") Integer glassWidth, @Param("glassThickness") java.math.BigDecimal glassThickness, @Param("status") String status, @Param("state") Integer state, @Param("engineeringId") String engineeringId, @Param("updatedTime") java.util.Date updatedTime, @Param("updatedBy") String updatedBy); }