山东雷驰
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.
 
 
 
 

137 lines
4.4 KiB

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