using SqlSugar;
using System;
using System.ComponentModel;
using System.Runtime.Serialization;
namespace WCS.Entity
{
///
/// AGV任务中间表
///
[SugarTable(nameof(WCS_AgvTaskInfo) + "_{year}{month}{day}", "AGV任务中间表")]
[SplitTable(SplitType.Month)]//按年分表 (自带分表支持 年、季、月、周、日)
[DataContract]
public class WCS_AgvTaskInfo
{
///
/// ID
///
[SugarColumn(IsPrimaryKey = true, ColumnDescription = "ID"), DataMember(Order = 0)]
public int ID { get; set; }
///
/// AGVID
///
[SugarColumn(ColumnDescription = "AGVID", Length = 50, IsNullable = true), DataMember(Order = 1)]
public string AgvID { get; set; }
///
/// wcsTaskId
///
[SugarColumn(ColumnDescription = "wcsTaskId", IsNullable = true), DataMember(Order = 2)]
public int TaskId { get; set; }
[Navigate(NavigateType.OneToOne, nameof(TaskId))]
public WCS_TaskInfo Task { get; set; }
///
/// 任务类型
///
[SugarColumn(ColumnDescription = "任务类型")]
[DataMember(Order = 2)]
public AGVTaskType TaskType { get; set; }
///
/// WCS AGV任务状态
///
[SugarColumn(ColumnDescription = "WCS AGV任务状态")]
[DataMember(Order = 3)]
public AGVTaskStatus Status { get; set; }
///
/// AGV自身状态
///
[SugarColumn(ColumnDescription = "AGV自身状态")]
[DataMember(Order = 4)]
public AGVTaskStatus AgvStatus { get; set; }
///
/// 车间
///
[SugarColumn(ColumnDescription = "车间")]
[DataMember(Order = 5)]
public int WorkShop { get; set; }
///
/// 站台
///
[SugarColumn(ColumnDescription = "站台", Length = 20, IsNullable = true)]
[DataMember(Order = 6)]
public string Station { get; set; }
///
/// 位置
///
[SugarColumn(ColumnDescription = "位置", Length = 20, IsNullable = true)]
[DataMember(Order = 7)]
public string Position { get; set; }
///
/// 货物数量(1.两个位置放1个货物,2.两个位置放2个货物)
///
[SugarColumn(ColumnDescription = "货物数量(1.两个位置放1个货物,2.两个位置放2个货物)")]
[DataMember(Order = 11)]
public int GoodsSum { get; set; }
///
/// 创建用户
/// 仅记录用户ID
///
[SugarColumn(ColumnDescription = "创建用户", Length = 50)]
public string AddWho { get; set; }
///
/// 创建时间
///
[SugarColumn(ColumnDescription = "创建时间", InsertServerTime = true)]
public DateTime AddTime { get; set; }
///
/// AGV更新时间
///
[SugarColumn(ColumnDescription = "AGV更新时间", UpdateServerTime = true, IsNullable = true)]
[DataMember(Order = 10)]
public DateTime AgvUpdateTime { get; set; }
///
/// 更新用户
/// 仅记录用户ID
///
[SugarColumn(ColumnDescription = "更新用户", Length = 50, IsNullable = true)]
public string EditWho { get; set; }
///
/// 更新时间
///
[SugarColumn(ColumnDescription = "更新时间", IsNullable = true, UpdateServerTime = true)]
public DateTime EditTime { get; set; }
}
///
/// AGV任务状态
///
public enum AGVTaskStatus
{
///
/// 新建
///
[Description("新建")]
NewBuild = 0,
///
/// 确认
///
[Description("确认")]
Confirm = 5,
///
/// 执行
///
[Description("执行")]
Execution = 10,
///
/// 走出储位
///
ExitStorage = 11,
///
/// 走入储位
///
WalkIntoStorage = 12,
///
/// 巷道/工位分配申请
///
[Description("巷道/工位分配申请")]
RequestOrPermission1 = 20,
///
/// 完成巷道/工位分配申请
///
[Description("完成巷道/工位分配申请")]
Complete1 = 21,
#region 安全交互
///
/// 取站台前安全交互申请
///
[Description("取放站台前安全交互申请")]
RequestOrPermission2 = 30,
///
/// 完成交互
/// 完成交互
///
[Description("取放站台前安全交互申请")]
Complete = 31,
///
/// 放站台前安全交互申请
///
[Description("取放站台前安全交互申请")]
PutRequestOrPermission = 40,
#endregion 安全交互
///
/// 小车离开取货位
///
[Description("小车离开取货位")]
LeaveGet = 32,
///
/// 小车离开放货位
///
[Description("小车离开放货位")]
LeavePut = 33,
///
/// 任务完成
///
[Description("任务完成")]
MissionCompleted = 99,
///
/// 完成扫码
///
[Description("完成扫码")]
CompleteScanCode = 100,
///
/// 取消
///
[Description("取消")]
Cancel = 106
}
///
/// AGV任务类型
///
public enum AGVTaskType
{
///
/// 入库
///
[Description("入库")]
EnterDepot = 1,
///
/// 背负式补空
///
[Description("背负式补空")]
CallForMaterial = 2,
///
/// 叉车机台补空任务
///
[Description("叉车机台补空任务")]
ForkliftFilling = 3,
///
/// 叫料
///
[Description("叫料")]
CallMaterial = 4,
///
/// 搬运/运输
///
[Description("搬运/运输")]
Transport = 5,
}
}