package com.ld.igds.common; import java.util.List; import java.util.Map; import com.ld.igds.models.Device; import com.ld.igds.temp.dto.TempParam; /** * 设备接口 * * @author jiazx */ public interface CoreDeviceService { /** * 当前接口处理两个逻辑: 1,存放分机缓存数据-设备缓存比较特殊是以分机为KEy进行存放的 2,存放分机与仓库的关系缓存 * * @param listAll * @param companyId */ void setCacheAllDevice(List listAll, String companyId); /** * 根据分机ID更新缓存 * * @param listBySer * @param companyId * @param serId */ void updateCacheDeviceBySerId(List listBySer, String companyId, String serId); /** * 根据分机信息获取设备列表 * * @param companyId * @param serId * @return */ List getCacheDeviceBySerId(String companyId, String serId); /** * 根据仓库编码获取设备信息 * @param companyId * @param depotId * @return */ List getCacheDeviceByDepotId(String companyId, String depotId); /** * 根据分机信息获取设备 * * @param companyId * @param id * @return */ Device getCacheDeviceById(String companyId, String id); /** * 刷新缓存 * * @param companyId */ void refreshCache(String companyId); /** * 在操作温控设备后更新设备信息,主要更新为 当前状态,设定温度 Ext1 空调模式ext2 * * @param param */ void updateTempControlInfo(TempParam param); /** * 根据解析的状态更新设备状态 * * @param companyId * @param serId * @param statusMap key = serId + "_STATUS_" + passCode; value = status */ void updateStatus(String companyId, String serId, Map statusMap); /** * 根据 设备中的组织编码,分机,仓库编码更新设备信息 * * @param device * @param flushCache 是否更新缓存 */ void updateDeviceNoId(Device device, boolean flushCache); /** * 更新设备位置 * @param deviceId * @param posX * @param posY */ void updatePos(String deviceId, Double posX, Double posY); List getDeviceByTimId(String companyId, String timId); }