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.
250 lines
8.0 KiB
250 lines
8.0 KiB
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);
|
|
|
|
}
|
|
}
|