wxw
2025-05-09 1ec3de8254a3dc8d77f01283ab4d85f52d446192
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
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
using System;
using System.Collections;
using System.Collections.Generic;
using System.Security.Policy;
using System.Text;
using System.Threading.Channels;
using System.Threading;
using System.Text.RegularExpressions;
 
namespace Model.InterFaceModel
{
    public class AgvCreateTaskModel
    {
        /// <summary>
        /// 任务类型
        /// </summary>
        public string taskType { get; set; } = "PF-LMR-COMMON";
        /// <summary>
        /// 执行步骤集合。本次任务机器人需要执行的关键路径,如货架起点 A 至出库工作台 B
        /// </summary>
        public List<targetRoute> targetRoute { get; set; }
        /// <summary>
        /// 任务执行的初始优先顺序,数值越大,优先级越高。但机器人调度系统会根据任务繁忙程度,机器人的工作状态,以及其他优先级修正条件,进行综合判定后,实时动态调整任务实际的优先级数值。范围:1~120
        /// </summary>
        public int initPriority { get; set; }
        /// <summary>
        /// 任务截止时间,任务优先级修正条件之一。截止时间之前需要任务执行完成, 超过时间后,系统会将任务单做出超时提示。格式:秒精度。
        /// </summary>
        public string deadline { get; set; }
        /// <summary>
        /// 要求调度系统仅在当前指定的范围内选择机器人执行该任务。可能出现任务与机器人类型不匹配的异常,需要业务系统确保任务与机器人类型的匹配。如果不指定,则调度系统会在所有可用机器人的范围内寻找最优方案。
        /// 固定枚举值:
        /// GROUPS机器人资源组编号
        /// ROBOTS机器人编号
        /// </summary>
        public string robotType { get; set; }
        /// <summary>
        /// 与 robotType 匹配的资源类型唯一标识。支持单个和多个编号。若写入多个编号时,之间用逗号隔开。
        /// </summary>
        public string robotCode { get; set; }
        /// <summary>
        /// 能否打断,
        /// 1:可打断
        /// 该货架中途有其他任务时,打断当前任务。
        /// 0:不可打断
        /// 该货架中途有其他任务时,不能打断当前任务。默认不可打断。
        /// </summary>
        public int interrupt { get; set; }
        /// <summary>
        /// 外部任务唯一编号,如果为空,系统生成任务号并返回。
        /// </summary>
        public string robotTaskCode { get; set; }
        /// <summary>
        /// 任务组编号,全局唯一
        /// </summary>
        public string groupCode { get; set; }
        /// <summary>
        /// 自定义扩展字段,可随业务的差异而传入不同的扩展内容,在业务流程的执行中使用
        /// </summary>
        public extra extra { get; set; }
    }
    /// <summary>
    /// 执行步骤集合。本次任务机器人需要执行的关键路径,如货架起点 A 至出库工作台 B
    /// </summary>
    public class targetRoute
    {
        /// <summary>
        /// 目标路径序列。从 0 开始。
        /// </summary>
        public int seq { get; set; }
        /// <summary>
        /// 目标类型。可扩展枚举值。
        /// 预制枚举值:
        /// ZONE目标所处区域编号
        /// SITE站点别名
        /// STORAGE仓位别名
        /// MAT_LABEL物料标签
        /// CARRIER载具编号
        /// STACK巷道编号
        /// STACK_LABEL巷道特征值
        /// CHANNEL通道编号
        /// EQPT 外部设备
        /// PTL_WALL
        /// CTU 缓存架
        /// CARRIER_TYPE载具类型
        /// BIN_TYPE仓位类型
        /// AREA_STATION区域工作台
        /// PILE_COUNT一次搬几个
        /// MIX_CONDITION条件组合
        /// DEGREE 热度
        /// MULTI_BIN_GROUP多深位组号
        /// </summary>
        public string type { get; set; }
        /// <summary>
        /// 机器人到达目标位置后的操作。国标要求,
        /// 非必要。对 AMR 动作无影响。可扩展的枚举值。
        /// 预制枚举值:
        /// COLLECT取货
        /// DELIVERY送货
        /// ROTATE旋转
        /// </summary>
        public string code { get; set; }
        /// <summary>
        /// 要求调度系统仅在当前指定的范围内选择机器人执行该步骤。可能出现任务步骤与机器人类型不匹配的异常,需要业务系统确保任务与机器人类型的匹配。如果指定当前步骤的机器人选择范围,则调度系统无视任务中设定的机器人选择范围;如果任务中也没有指定机器人选择范围,则调度系统会在所有可用机器人的范围内寻找最优方案。
        /// 固定枚举值:
        /// GROUPS机器人资源组编号
        /// ROBOTS机器人编号
        /// </summary>
        public string robotType { get; set; }
        /// <summary>
        /// 与 robotType 匹配的资源类型唯一标识。
        /// </summary>
        public string robotCode { get; set; }
        /// <summary>
        /// 自定义扩展字段,可随业务的差异而传入不同的扩展内容,在业务流程的执行中使用
        /// </summary>
        public extra extra { get; set; }
    }
    public class extra
    {
        /// <summary>
        /// 角度信息,包含角度类型与角度值。
        /// </summary>
        public angleInfo angleInfo { get; set; }
        /// <summary>
        /// 载具的信息,包含载具编号、层号。
        /// 使用场景:
        /// 1.装卸机或输送线专用
        /// 2.载具与站点没有绑定,但需要传入载具的场景。
        /// </summary>
        public List<carrierInfo> carrierInfo { get; set; }
    }
    public class angleInfo
    {
        /// <summary>
        /// 角度类型。可扩展枚举值。
        /// 预制枚举值:
        ///绝对角度(与工作站的方向有关)ABSOLUTE
        /// </summary>
        public string type { get; set; }
        /// <summary>
        /// 与 type 对应的值
        /// 角度值[0, 90, 180, -90, 360]
        /// </summary>
        public string code { get; set; }
    }
    public class carrierInfo
    {
        /// <summary>
        /// 载具类型
        /// </summary>
        public string carrierType { get; set; }
        /// <summary>
        /// 载具编号
        /// </summary>
        public string carrierCode { get; set; }
        /// <summary>
        /// 层号: 从 0 开始、从下往上编号
        /// </summary>
        public int layer { get; set; }
    }
 
    /// <summary>
    /// 返回实体
    /// </summary>
    public class ResponseAgvDto
    {
        /// <summary>
        /// 返回码
        /// SUCCESS:成功
        /// FAIL:失败
        /// 是否必填:是
        /// </summary>
        public string code { get; set; }
 
        /// <summary>
        /// 返回消息
        /// 是否必填:是
        /// </summary>
        public string message { get; set; }
 
        /// <summary>
        /// 返回的数据结构
        /// 是否必填:否
        /// </summary>
        public data data { get; set; }
    }
    public class data
    { 
        public string robotTaskCode { get; set; }
    }
 
    public class TaskDetial
    {
        /// <summary>
        /// 任务号
        /// </summary>
        public string Taskno { get; set; }
        /// <summary>
        /// 起始位置
        /// </summary>
        public string Startport { get; set; }
        /// <summary>
        /// 目标位置
        /// </summary>
        public string Endport { get; set; }
        /// <summary>
        /// 托盘号/桶号
        /// </summary>
 
        public string Pallno { get; set; }
        /// <summary>
        /// 任务类型 
        /// 0:申请储位
        /// 1:叫桶
        /// 2:同车间平层搬运
        /// </summary>
        public string Crtype { get; set; }
        /// <summary>
        /// 车间编码
        /// </summary>
        public string WareHouseNo { get; set; }
    }
 
 
    public class RCSCleanRequestModel
    {
        public string deviceID { get; set; }
        public string deviceStation { get; set; }
        public string status { get; set; }
    }
 
}