ActionConfiguration.cs
3.42 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
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using Rcs.Domain.Enums;
namespace Rcs.Domain.Entities
{
/// <summary>
/// VDA动作配置实体 - 定义不同厂家、AGV类型和动作类别的动作配置
/// </summary>
[Table("action_configurations")]
public partial class ActionConfiguration : Entity
{
/// <summary>
/// 系统ID
/// </summary>
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.None)]
[Column("action_config_id")]
public Guid ActionConfigId { get; set; }
/// <summary>
/// 动作类别(取货、放货、充电等)
/// </summary>
[Column("action_category")]
public ActionCategory ActionCategory { get; set; }
/// <summary>
/// 动作类别名称
/// </summary>
[Column("action_category_name")]
[MaxLength(100)]
public string? ActionCategoryName { get; set; }
/// <summary>
/// 厂家名称(如:HikRobot、Jbt等)
/// </summary>
[Required]
[Column("manufacturer")]
[MaxLength(100)]
public string Manufacturer { get; set; } = string.Empty;
/// <summary>
/// AGV类型(叉取、潜伏、牵引等,或All表示所有类型)
/// </summary>
[Required]
[Column("robot_type")]
public RobotType RobotType { get; set; }
/// <summary>
/// 动作名称(VDA协议中的actionType,如:pick、drop、startCharging等)
/// </summary>
[Required]
[Column("action_name")]
[MaxLength(100)]
public string ActionName { get; set; } = string.Empty;
/// <summary>
/// 动作描述
/// </summary>
[Column("action_description")]
[MaxLength(500)]
public string? ActionDescription { get; set; }
/// <summary>
/// 执行范围(JSON格式,如:["node"]、["edge"]、["node","edge"])
/// </summary>
[Column("execution_scope", TypeName = "text")]
public string? ExecutionScope { get; set; }
/// <summary>
/// 阻塞类型(NONE、SOFT、HARD)
/// </summary>
[Column("blocking_type")]
public ActionBlockType BlockingType { get; set; }
/// <summary>
/// 是否启用
/// </summary>
[Column("is_enabled")]
public bool IsEnabled { get; set; } = true;
/// <summary>
/// 排序顺序
/// </summary>
[Column("sort_order")]
public int SortOrder { get; set; } = 0;
/// <summary>
/// 备注
/// </summary>
[Column("remarks")]
[MaxLength(1000)]
public string? Remarks { get; set; }
/// <summary>
/// 创建时间
/// </summary>
[Column("created_at", TypeName = "timestamp")]
public DateTime? CreatedAt { get; set; }
/// <summary>
/// 更新时间
/// </summary>
[Column("updated_at", TypeName = "timestamp")]
public DateTime? UpdatedAt { get; set; }
#region 导航属性
/// <summary>
/// 动作参数定义列表
/// </summary>
public virtual ICollection<ActionParameterDefinition> Parameters { get; set; } = new List<ActionParameterDefinition>();
#endregion
}
}