package com.ld.igds.common; import java.util.List; import com.bstek.bdf2.core.model.DefaultCompany; import com.ld.igds.common.dto.DepotSerData; import com.ld.igds.common.dto.THDto; import com.ld.igds.data.SimpleDepot; import com.ld.igds.inout.dto.InoutData; import com.ld.igds.models.*; /** * 仓库等基础数据信息接口维护,包括仓房,仓廒、系统配置等 * * @author Andy */ public interface CoreCommonService { String BEAN_ID = "core.commonService"; /** * 存放字典缓存 * * @param list 需要缓存的数据 * @param companyId 当前组织编码 */ void setCacheDepot(List list, String companyId); /** * 根据组织编号获取缓存中的数据 * * @param companyId 当前组织编码 * @return */ List getCacheDepotList(String companyId); /** * 根据组织编码和分库编号获取列表 * * @param companyId 组织编码 * @param deptId 分库编码 * @return */ List getCacheDepotList(String companyId, String deptId); /** * 根据组织编码和仓库编码获取仓库信息 * * @param companyId * @param depotId * @return */ Depot getCacheDepot(String companyId, String depotId); /** * 从数据库充查询 * * @param companyId * @param depotId * @return */ Depot getDepotById(String companyId, String depotId); /** * 将仓库配置参数信息存放在缓存中 * * @param list * @param companyId */ void setCacheDepotConf(List list, String companyId); /** * 根据组织编码和仓库编码获取仓库的参数配置信息 * * @param companyId * @param depotId * @return */ DepotConf getCacheDepotConf(String companyId, String depotId); DepotConf getCacheDepotConfBySerId(String companyId, String serId); /** * 根据分机ID获取相同配置 * * @param companyId * @param serId * @return */ List getCacheDepotConfBySerId2(String companyId, String serId); List getCacheDepotConf(String companyId); /** * 根据仓库的集合获取仓库与分机的关系信息,分机不能重复 * * @param companyId * @param depotIds 多个仓库Id的集合 * @return */ List getCacheDepotSerByDepots(String companyId, List depotIds); /** * 根据当前仓库编号信息获取与当前仓库相同建筑物的所有仓库集合 * * @param companyId * @param depotId * @return */ List getCacheCommonBuildingDepot(String companyId, String depotId); /** * 系统全局参数缓存 * * @param companyId * @param data */ void setCacheSysConf(String companyId, DicSysConf data); /** * 获取全局缓存配置,如果没有获取一个默认的值 * * @return */ DicSysConf getCacheSysConf(String companyId); /** * 仓库温湿度存放在缓存中,有效期半小时 * * @param data */ void setCacheTH(THDto data); /** * 根据组织编码-温湿度分机-温湿度配置获取缓的温湿度信息 * * @param companyId * @param thSerId * @param thConf * @return */ THDto getCacheTH(String companyId, String thSerId, String thConf); /** * 增加实际库存 * * @param companyId * @param depotId 仓库 * @param weight 重量 单位 KG void addStorage(String companyId, String depotId, Double weight); */ /** * 减少实际库存 * * @param companyId * @param depotId 仓库ID * @param weight 重量 单位 KG void reduceStorage(String companyId, String depotId, Double weight); */ /** * 更新当前仓库的实时库存 * * @param companyId * @param depotId * @param curStorage */ void updateDepotStorage(String companyId, String depotId, Double curStorage); /** * 更新当前仓库的实时库存 * * @param inoutData void updateDepotStorage(InoutData inoutData); */ /** * 根据组织编码和仓库编码更新当前仓库状态 * * @param companyId * @param depotId * @param status 目标状态 */ void updateDepotStatus(String companyId, String depotId, String status); /** * 根据数据跟新仓库信息 * * @param depot */ void updateDepot(Depot depot); /** * 根据仓库配置信息更新 * * @param depotConf */ void updateDepotConf(DepotConf depotConf); /** * 组织信息列表放入缓存 * * @param list */ void setCacheCompany(List list); /** * @return */ List getCompanyList(); /** * 根据仓库编码获取当前仓库最后一条记录 * * @param depotId * @return */ DepotStore getLastDepotStore(String depotId); /** * 新增加一个出入库库存记录 * * @param store */ void addDepotStore(DepotStore store, boolean updateDepot); }