山东雷驰
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

107 lines
3.4 KiB

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