using Newtonsoft.Json;
|
using Rhea.Common;
|
using System;
|
using System.ComponentModel;
|
using Tiger.Model;
|
using Tiger.Model.Entitys.MES.Position;
|
|
namespace Tiger.IBusiness
|
{
|
/// <summary>
|
/// 步骤基类
|
/// </summary>
|
public interface IStep<InputT, OutputT>
|
{
|
#region Propertys & Variables
|
/// <summary>
|
/// 步骤ID
|
/// </summary>
|
public string ID { get; set; }
|
/// <summary>
|
/// 步骤名称
|
/// </summary>
|
public string Name { get; set; }
|
/// <summary>
|
/// 步骤序号
|
/// </summary>
|
public int Sequence { get; set; }
|
/// <summary>
|
/// 步骤状态
|
/// </summary>
|
public StepStatus Status { get; set; }
|
/// <summary>
|
/// 步骤消息
|
/// </summary>
|
public Locale Message { get; set; }
|
/// <summary>
|
/// 步骤消息历史
|
/// </summary>
|
public List<Locale> MsgHistory { get; }
|
#endregion Propertys & Variables
|
|
#region Functions
|
/// <summary>
|
/// 尝试开始执行
|
/// </summary>
|
/// <returns></returns>
|
public abstract ApiAction<OutputT> TryBegin(InputT input);
|
/// <summary>
|
/// 提交数据
|
/// </summary>
|
/// <param name="input"></param>
|
/// <returns></returns>
|
public abstract ApiAction<OutputT> Submit(InputT input);
|
/// <summary>
|
/// 结束执行
|
/// </summary>
|
/// <returns></returns>
|
public abstract ApiAction<OutputT> End(InputT input);
|
/// <summary>
|
/// 获取工步当前耗时
|
/// </summary>
|
/// <returns></returns>
|
public TimeSpan GetElapsedTime();
|
#endregion Functions
|
}
|
|
public enum StepStatus
|
{
|
[Description("正常")]
|
Normal,
|
[Description("成功")]
|
Success,
|
[Description("错误")]
|
Error,
|
[Description("警告")]
|
Warning,
|
[Description("完成")]
|
Finished,
|
}
|
}
|