using Kean.Application.Command.ViewModels; using System; using System.Collections.Generic; using System.Threading.Tasks; namespace Kean.Application.Command.Interfaces { /// /// 表示库存命令服务 /// public interface IStockService { /// /// 入库 /// /// 库存视图 /// 是否满载 /// 目标位置 /// 失败信息 Task Inbound(Stock stock, bool? full, int? destination); /// /// 出库 /// /// 库存视图 /// 失败信息 Task Outbound(Stock stock); /// /// 更新 /// /// 库存视图 /// 失败信息 Task Update(Stock stock); /// /// 合并 /// /// 库存视图 /// 是否满载 /// 目标位置 /// 失败信息 Task Combine(Stock stock, bool? full, int? destination); /// /// 盘点 /// /// 库存视图 /// 失败信息 Task Inventory(Stock stock); //////////////////////// /// /// 扫描入库 /// /// 库存视图 /// 是否满载 /// 目标位置 /// 失败信息 Task<(string Device, Failure Failure)> ScanInbound(Stock stock, bool? full, int? destination); /// /// 空托盘入库 /// /// 库存视图 /// 是否满载 /// 目标位置 /// 失败信息 Task PalletIn(Stock stock, bool? full, int? destination); /// /// AGV申请入库 /// /// 库存视图 /// 是否满载 /// 目标位置 /// 失败信息 Task<(string Device, Failure Failure)> AgvApplyIn( string requestNo, string barcode, string postUser, string targetNo, IEnumerable batchs); /// /// 设置极片卷上传结果 /// Task SetRollResult(string batchNo, string code, string message, int @operator); /// /// 申请入库 /// /// 库存视图 /// 是否满载 /// 目标位置 /// 失败信息 Task<(string Device, Failure Failure)> ApplyIn(Stock stock, bool? full, int? destination); /// /// 冻结、解冻 /// /// 库存视图 /// 是否满载 /// 目标位置 /// 失败信息 Task<(int barcodeCount, Failure Failure)> SetQcStatus( int @operator, string operation, int? code, string batch, DateTime? mfgFrom, DateTime? mfgTo, DateTime? inboundTimeFrom, DateTime? inboundTimeTo, string barcode, string supplier, string[] barcodes); /// /// 属性更改,包括冻结/解冻 /// Task ChangeStorageProperty( string requestNo, Batch batch, string freezenStatus); /// /// 批量重新反馈 /// Task BatchReFeedback(int[] id); } }