using Tiger.Model;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq.Expressions;
using System.Text;
using System.Threading.Tasks;
using Rhea.Common;
using System.Net;
using System.Linq;
using Newtonsoft.Json;
using Tiger.IBusiness;
using Tiger.Business.MES;
using Tiger.Model.Entitys.MES.Position;
namespace Tiger.Business
{
public partial class Biz
{
///
/// 工步
///
public partial class WorkStep : IWorkStep
{
public WorkStep(string id, IWorkStep.Types type)
{
ID = id;
Type = type;
}
#region Propertys & Variables
public string ID { get; set; } = Guid.NewGuid().ToString("N");
public IWorkStep.Types Type { get; set; }
public int Sequence { get; set; }
public MES_WO_NODE Node { get; set; }
public MES_WO_NODE_ACT NodeAct { get; set; }
public MES_WO_ACTION Setting { get; set; }
public IPosition CurPosition { get; set; }
public IWorkAction CurAction { get; set; }
private bool _IsFinished = false;
public bool IsFinished
{
get => Type == IWorkStep.Types.Action ? CurAction.IsFinished : _IsFinished;
set { _IsFinished = value; }
}
public Action DBSubmitAction { get; set; } = () => { };
#endregion
#region Functions
///
/// 开始执行工步
///
///
///
public ApiAction Begin(IPosition position)
{
CurPosition = position;
CurAction = DI.Resolve(NodeAct.Definition.SERVICE_TYPE) as IWorkAction;
//CurAction = DI.Resolve("Tiger.IBusiness.IPrintLabel,Tiger.IBusiness") as IWorkAction;
return CurAction.Begin(this, position, NodeAct, Setting);
}
///
/// 工步提交数据
///
///
///
public ApiAction Submit(SubmitInput input)
{
return CurAction.Submit(input);
}
#endregion
}
}
}