JobParam.cs
3.4 KB
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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
using Common;
using DeviceLibrary.lift;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Web.UI.WebControls.WebParts;
namespace DeviceLibrary.bean
{
/// <summary>
/// Job运行参数
/// </summary>
public class JobParam
{
/// <summary>
/// 初始地点
/// </summary>
public Node SrcNode { get; set; }
/// <summary>
/// 过门信息
/// </summary>
public CrossDoor CrossDoor { get; set; } = new CrossDoor();
private service.model.MissionInfo missionInfo;
/// <summary>
/// 任务信息
/// </summary>
public service.model.MissionInfo GetMissionInfo()
{
return missionInfo;
}
/// <summary>
/// 电梯内的料架信息
/// </summary>
public LiftStatus LiftStatus;
/// <summary>
/// 任务信息
/// </summary>
public void SetMissionInfo(service.model.MissionInfo value)
{
missionInfo = value;
}
/// <summary>
/// 存放钢网料架的节点
/// </summary>
public Node SteelShelfNode { get; set; }
/// <summary>
/// 当前目标地点
/// </summary>
public Node CurTargetNode { get; set; }
/// <summary>
/// 所有目标点
/// </summary>
public List<Node> TargetNodes { get; set; }
/// <summary>
/// 料车信息
/// </summary>
public Shelf Shelf { get; set; }
public OpType OpType { get; set; } = OpType.ComToLine;
/// <summary>
/// 回调Job
/// </summary>
public JobCallBack CallbackJob;
public JobParam(Node srcplace, Node tarplace =null,Shelf shelf=null, service.model.MissionInfo MissionInfo =null)
{
SrcNode = srcplace;
CurTargetNode = tarplace;
Shelf = shelf;
this.missionInfo = MissionInfo;
TargetNodes = new List<Node>();
CrossDoor = new CrossDoor();
}
}
/// <summary>
/// 操作类型
/// </summary>
public enum OpType
{
/// <summary>
/// 手动操作
/// </summary>
Mannual,
/// <summary>
/// 访问接口
/// </summary>
RequestAPI,
/// <summary>
/// 与线体通讯
/// </summary>
ComToLine,
/// <summary>
/// 手动或者访问接口
/// </summary>
MaulAndAPI,
}
public class JobCallBack
{
public Type Type { get; set; }
public Job Job { get; set; }
public RunStep RunStep { get; set; }
public JobCallBack(Type type, RunStep step)
{
this.Type = type;
this.RunStep = step;
}
}
public class CrossDoor
{
/// <summary>
/// 当前位置
/// </summary>
public Node CurNode { get; set; }
/// <summary>
/// 下一位置
/// </summary>
public Node NextNode { get; set; }
/// <summary>
/// 是否是进入方向
/// </summary>
public bool IsIn { get; set; } = true;
/// <summary>
/// 是否是风淋门
/// </summary>
public bool IsAir { get; set; } = false;
}
}