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

165 lines
4.8 KiB

3 months ago
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
namespace Kean.Domain.Wcs.SharedServices.Proxies
{
/// <summary>
/// 任务域代理
/// </summary>
public sealed class TaskProxy
{
private readonly IDomain _domain; // 域
/// <summary>
/// 依赖注入
/// </summary>
public TaskProxy(IDomain domain) => _domain = domain;
/// <summary>
/// 任务执行
/// </summary>
/// <param name="id">标识</param>
public Task Execute(int id) =>
_domain["Task"].SharedService["Execute"].Invoke(id);
/// <summary>
/// 任务阻塞
/// </summary>
/// <param name="id">标识</param>
/// <param name="message">异常信息</param>
public Task Block(int id, string message) =>
_domain["Task"].SharedService["Block"].Invoke(id, message);
/// <summary>
/// 任务完成
/// </summary>
/// <param name="id">标识</param>
public Task Complete(int id) =>
_domain["Task"].SharedService["Complete"].Invoke(id);
/// <summary>
/// 任务取消
/// </summary>
/// <param name="id">标识</param>
public Task Cancel(int id) =>
_domain["Task"].SharedService["Cancel"].Invoke(id);
/// <summary>
/// 上架
/// </summary>
/// <param name="warehouse">库房</param>
/// <param name="barcode">条码</param>
/// <param name="spec">负载规格</param>
/// <param name="original">操作位置</param>
/// <param name="destination">目标位置</param>
/// <param name="priority">优先级</param>
/// <param name="operator">操作者</param>
/// <param name="tag">标签</param>
/// <param name="previous">前序连接</param>
public Task Infeed(
int warehouse,
string barcode,
int? spec,
object original,
object destination,
int? priority,
int @operator,
string tag,
int? previous,
string parameters) =>
_domain["Task"].SharedService["Infeed"].Invoke(
warehouse,
barcode,
spec,
original,
destination,
priority,
@operator,
tag,
previous,
parameters);
/// <summary>
/// 申请出库
/// </summary>
public Task ApplyOut(
string warehouseCode,
string deviceCode,
string barcode,
string tag,
CancellationToken cancellationToken) =>
_domain["Task"].SharedService["ApplyOut"].Invoke(
warehouseCode,
deviceCode,
barcode,
tag,
cancellationToken);
/// <summary>
/// 任务中转
/// </summary>
/// <param name="id">标识</param>
public Task TransferRelocate(int id) =>
_domain["Task"].SharedService["TransferRelocate"].Invoke(id);
/// <summary>
/// 任务错误
/// </summary>
/// <param name="id">标识</param>
public Task ScanError(string barcode, string parameters) =>
_domain["Task"].SharedService["ScanError"].Invoke(barcode, parameters);
/// <summary>
/// 任务错误
/// </summary>
/// <param name="id">标识</param>
public Task SetTaskState(int taskId, string barcode, string taskState,
string message, string type) =>
_domain["Task"].SharedService["SetTaskState"].Invoke(taskId, barcode, taskState, message, type);
/// <summary>
/// 输送
/// </summary>
public Task BypassHithum(
string barcode,
object original) =>
_domain["Task"].SharedService["BypassHithum"].Invoke(
barcode,
original);
/// <summary>
/// 直接输送
/// </summary>
public Task BypassEmpty(
string barcode,
object original) =>
_domain["Task"].SharedService["BypassEmpty"].Invoke(
barcode,
original);
public Task InfeedCheck(
int warehouse,
string barcode,
int? spec,
object original,
object destination,
int? priority,
int @operator,
string tag,
int? previous,
string parameters) =>
_domain["Task"].SharedService["InfeedCheck"].Invoke(
warehouse,
barcode,
spec,
original,
destination,
priority,
@operator,
tag,
previous,
parameters);
}
}