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

251 lines
8.0 KiB

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