using Kean.Application.Command.ViewModels;
using Kean.Domain.Stock.Commands;
using System.Threading.Tasks;
namespace Kean.Application.Command.Interfaces
{
///
/// 表示库存交互聚合颗粒
///
partial interface IAggregateGrain
{
///
/// 入库
///
/// 命令
/// 失败信息
Task Inbound(InboundCommand command);
///
/// 出库
///
/// 命令
/// 失败信息
Task Outbound(OutboundCommand command);
///
/// 更新
///
/// 命令
/// 失败信息
Task Update(UpdateCommand command);
///
/// 合并
///
/// 命令
/// 失败信息
Task Combine(CombineCommand command);
///
/// 盘点
///
/// 命令
/// 失败信息
Task Inventory(InventoryCommand command);
///////////////////////////////////////////////
///
/// 扫描入库
///
/// 命令
/// 失败信息
Task<(string Device, Failure Failure)> ScanInbound(ScanInboundCommand command);
///
/// 空托盘入库
///
/// 命令
/// 失败信息
Task PalletIn(PalletInCommand command);
///
/// 扫描入库数据准备
///
/// 命令
/// 失败信息
Task<(string Device, Failure Failure)> PreScanInbound(PreScanInboundCommand command);
///
/// 接口记录
///
/// 命令
/// 失败信息
Task RecordInterface(InterfaceRecordCommand command);
///
/// 设置极片卷上传结果
///
/// 命令
/// 失败信息
Task SetRollResult(SetRollResultCommand command);
///
/// 设置库存状态数据准备
///
/// 命令
/// 失败信息
Task<(int barcodeCount, Failure Failure)> PreSetQcStatus(PreSetQcStatusCommand command);
///
/// 属性更改,包括冻结/解冻
///
/// 命令
/// 失败信息
Task ChangeStorageProperty(ChangeStoragePropertyCommand command);
///
/// 批量重新反馈
///
/// 命令
/// 失败信息
Task BatchReFeedback(BatchReFeedbackCommand command);
}
}