using AUCMA.STORE.Entity.DAO; using AUCMA.STORE.Entity.DTO; using AUCMA.STORE.Entity.Enums; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace AUCMA.STORE.Business.Interface { /// /// 出库业务逻辑 /// public interface IOutStoreBusiness { /// /// 根据箱体码获取物料规格信息 /// /// /// Task GetMaterialInfo(string boxCode); /// /// 判断堆垛机状态 /// /// /// List EstimatePilerStatus(); /// /// 判断物料所在库位 /// /// /// Task> EstimateMaterialLocation(BaseMaterialInfo baseMaterialInfo); /// /// 选取最优库位 /// /// /// /// BaseLocationInfo FiltrateLocation(List pilerStatusDTOs, List baseLocationInfos); /// /// 筛选最佳库位 /// /// /// BaseLocationInfo FiltrateBestlocation(List baseLocationInfos); /// /// 创建出库任务 /// /// /// /// /// Task CreateOutStoreTask(BaseLocationInfo baseLocationInfo, List pilerStatusDTOs, BaseMaterialInfo baseMaterialInfo); /// /// 创建出库任务 /// /// /// /// Task CreateTask(BaseLocationInfo baseLocationInfo, BaseMaterialInfo baseMaterialInfo, OperationType operationType); /// /// 创建待出库 /// /// /// Task CreatePrepareOutStore(TaskDTO taskDTO); /// /// 修改库位状态 /// /// /// /// Task updateLocationStatus(TaskDTO task, LocationStatus locationStatus); /// /// 修改出库任务状态 /// /// /// Task UpdateOutStoreStatus(TaskDTO taskDTO); /// /// 修改待出库记录状态 /// /// /// Task UpdatePrePareOutStoreStatus(TaskDTO taskDTO); /// /// 创建出库记录 /// /// /// Task SaveOutStoreRecord(TaskDTO taskDTO); /// /// 清楚物料与库位绑定记录 /// /// /// Task DeleteMaterialLocation(TaskDTO taskDTO); /// /// 更新库存 /// /// Task UpdateStock(BaseMaterialInfo baseMaterialInfo); /// /// 保存出库操作指令记录 /// /// /// Task SaveOutStoreDirecticeOperation(RecordDirectiveOperation recordDirectiveOperation); bool SaveBarCode(string P_Bar_Code, string P_Device_Code); } }