服务端的TigerApi 框架,基于.NET6 2024 版本
Rodney Chen
2024-07-14 394189b16b4e0cb6fec8980c3bef15f2aaf10630
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
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
    {
        /// <summary>
        /// 工步
        /// </summary>
        public partial class WorkStep
        {
            public WorkStep(string id, Types type)
            {
                ID = id;
                Type = type;
            }
 
            #region Propertys & Variables
            public string ID { get; set; } = Guid.NewGuid().ToString("N");
            public enum Types { Node, Action }
            public Types Type { get; set; }
            public int Sequence { get; set; }
            //public bool IsFinished { get; set; } = false;
            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; }
            public bool IsFinished => (Type == Types.Action && CurAction.IsFinished) || Type == Types.Node;
            public Action DBSubmitAction { get; set; } = () => { };
            #endregion
 
            #region Functions
            public ApiAction<SubmitOutput> 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(ID, position, NodeAct, Setting);
            }
 
            public ApiAction<SubmitOutput> Submit(SubmitInput input)
            {
                return CurAction.Submit(input);
            }
            #endregion
 
        }
    }
}