using System;
namespace Kean.Domain.Task.SharedServices.Proxies
{
///
/// 库存域代理
///
public sealed class StockProxy
{
private readonly IDomain _domain; // 域
///
/// 依赖注入
///
public StockProxy(IDomain domain) =>
_domain = domain;
///
/// 获取托盘条码
///
/// 存储位置
/// 托盘条码
public System.Threading.Tasks.Task GetBarcode(int cell) =>
_domain["Stock"].SharedService["GetBarcode"].Invoke(cell);
///
/// 获取库存位置
///
/// 条码
/// 库存位置
public System.Threading.Tasks.Task GetCell(string barcode) =>
_domain["Stock"].SharedService["GetCell"].Invoke(barcode);
///
/// 获取库存规格
///
/// 条码
/// 库存规格
public System.Threading.Tasks.Task GetSpec(string barcode) =>
_domain["Stock"].SharedService["GetSpec"].Invoke(barcode);
///
/// 重定位库存
///
/// 事务
/// 托盘条码
/// 负载规格
/// 起始位置
/// 目标位置
/// 操作者
/// 标签
/// 时间戳
public System.Threading.Tasks.Task Relocate(
string transaction,
string barcode,
int? spec,
int original,
int destination,
int @operator,
string tag,
(DateTime, DateTime) timestamp) =>
_domain["Stock"].SharedService["Relocate"].Invoke(
transaction,
barcode,
spec,
original,
destination,
@operator,
tag,
timestamp);
/////////////////////////////////
///
/// 获取库存项
///
/// 存储位置
/// 托盘条码
public System.Threading.Tasks.Task ChooseStorageCell(
int destination,
int goodsid,
bool bEnable,
string isLocal,
string materialType,
string workOrderNo,
string qualityState,
string productDate) =>
_domain["Stock"].SharedService["ChooseStorageCell"].Invoke(
destination,
goodsid,
bEnable,
isLocal,
materialType,
workOrderNo,
qualityState,
productDate);
///
/// 出库
///
/// 托盘条码
/// 负载规格
/// 起始位置
/// 目标位置
/// 操作者
/// 标签
public System.Threading.Tasks.Task OutboundForPallet(
string barcode,
int @operator,
string tag) =>
_domain["Stock"].SharedService["OutboundForPallet"].Invoke(
barcode,
@operator,
tag);
///
/// 空托盘入库
///
public System.Threading.Tasks.Task PalletIn(
string barcode,
int destination,
int material,
int @operator,
string tag) =>
_domain["Stock"].SharedService["PalletIn"].Invoke(
barcode,
destination,
material,
@operator,
tag);
///
/// 自动出库
///
/// 托盘条码
/// 负载规格
/// 起始位置
/// 目标位置
/// 操作者
/// 标签
public System.Threading.Tasks.Task AutoOut(
string transaction,
string barcode,
int original,
int destination,
int @operator,
string tag,
DateTime timestamp) =>
_domain["Stock"].SharedService["AutoOut"].Invoke(
transaction,
barcode,
original,
destination,
@operator,
tag,
timestamp);
///
/// 获取库存的物料
///
/// 托盘条码
/// 托盘条码
public System.Threading.Tasks.Task GetStorageMaterial(string barcode) =>
_domain["Stock"].SharedService["GetStorageMaterial"].Invoke(barcode);
///
/// 记录
///
public System.Threading.Tasks.Task Record(
string transaction,
string barcode,
int original,
int destination,
int @operator,
string tag,
DateTime beginTime,
DateTime timestamp) =>
_domain["Stock"].SharedService["Record"].Invoke(
transaction,
barcode,
original,
destination,
@operator,
tag,
beginTime,
timestamp);
///
/// 获取极片卷数量
///
/// 存储位置
public System.Threading.Tasks.Task GetStorageLinesNum(int? cellId) =>
_domain["Stock"].SharedService["GetStorageLinesNum"].Invoke(cellId);
///
/// 重新上传海辰WMS数据
///
public System.Threading.Tasks.Task Reupload(
string transaction,
string barcode,
string tag,
string feedbackStatus) =>
_domain["Stock"].SharedService["Reupload"].Invoke(
transaction,
barcode,
tag,
feedbackStatus);
///
/// 设置膜卷质量状态
///
public System.Threading.Tasks.Task SetRollResult(
string barcode,
string code,
string message,
int @operator) =>
_domain["Stock"].SharedService["SetRollResult"].Invoke(
barcode,
code,
message,
@operator);
///
/// 向AGV下发任务
///
public System.Threading.Tasks.Task SendAGV(
string barcode,
string tag,
int destination) =>
_domain["Stock"].SharedService["SendAGV"].Invoke(
barcode,
tag,
destination);
///
/// 出库过账
///
public System.Threading.Tasks.Task SendOutToHiWMS(
string transaction,
string barcode,
string requestNo,
string feedbackStatus) =>
_domain["Stock"].SharedService["SendOutToHiWMS"].Invoke(
transaction,
barcode,
requestNo,
feedbackStatus);
}
}