package com.mes.device.service; import com.mes.device.entity.GlassInfo; import java.util.List; import java.util.Map; /** * 玻璃信息服务接口 * * @author mes * @since 2024-11-20 */ public interface GlassInfoService { /** * 根据玻璃ID查询玻璃信息 * * @param glassId 玻璃ID * @return 玻璃信息,如果不存在返回null */ GlassInfo getGlassInfo(String glassId); /** * 根据玻璃ID获取玻璃长度 * * @param glassId 玻璃ID * @return 玻璃长度(mm),如果不存在返回null */ Integer getGlassLength(String glassId); /** * 根据玻璃ID列表批量查询玻璃信息 * * @param glassIds 玻璃ID列表 * @return 玻璃信息列表 */ List getGlassInfos(List glassIds); /** * 根据玻璃ID列表批量获取玻璃长度映射 * * @param glassIds 玻璃ID列表 * @return 玻璃ID到长度的映射Map */ Map getGlassLengthMap(List glassIds); /** * 创建或更新玻璃信息 * * @param glassInfo 玻璃信息 * @return 是否成功 */ boolean saveOrUpdateGlassInfo(GlassInfo glassInfo); /** * 批量创建或更新玻璃信息 * * @param glassInfos 玻璃信息列表 * @return 是否成功 */ boolean batchSaveOrUpdateGlassInfo(List glassInfos); /** * 查询最近扫码的玻璃ID列表 * * @param minutesAgo 查询最近多少分钟内的记录,默认2分钟 * @param maxCount 最大返回数量,默认20 * @param workLine 工作线号(可选,用于过滤) * @return 玻璃ID列表 */ List getRecentScannedGlassIds(Integer minutesAgo, Integer maxCount, String workLine); }