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.Week)]//按年分表 (自带分表支持 年、季、月、周、日)
[DataContract]
public class WCS_AgvTaskInfo
{
///
/// ID
///
[SugarColumn(ColumnDescription = "ID"), DataMember(Order = 0)]
public int ID { get; set; }
///
/// AGVID
///
[SugarColumn(ColumnDescription = "AGVID", Length = 20, IsNullable = true), DataMember(Order = 1)]
public string AgvID { 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)]
[DataMember(Order = 10)]
public DateTime? AgvUpdateTime { get; set; }
///
/// 更新用户
/// 仅记录用户ID
///
[SugarColumn(ColumnDescription = "更新用户", Length = 50, IsNullable = true)]
public string EditWho { get; set; }
///
/// 更新时间
///
[SugarColumn(ColumnDescription = "更新时间", IsNullable = true)]
public DateTime EditTime { get; set; }
}
///
/// AGV任务状态
///
public enum AGVTaskStatus
{
///
/// 新建
///
[Description("新建")]
NewBuild = 0,
///
/// 确认
///
[Description("确认")]
Confirm = 5,
///
/// 执行
///
[Description("执行")]
Execution = 10,
///
/// 请求/允许1 AGV请求,WCS允许 根据任务类型判断取放货
/// 工位一
///
[Description("请求/允许1")]
RequestOrPermission1 = 20,
///
/// 取放完成1
/// 工位一
///
[Description("取放完成1")]
Complete1 = 21,
///
/// 请求/允许 AGV请求,WCS允许 根据任务类型判断取放货
/// 工位二
///
[Description("请求/允许2")]
RequestOrPermission2 = 30,
///
/// 取放完成
/// 工位二
///
[Description("取放完成2")]
Complete2 = 31,
///
/// 任务完成
///
[Description("任务完成")]
MissionCompleted = 99,
///
/// 完成扫码
///
[Description("完成扫码")]
CompleteScanCode = 100,
///
/// 取消
///
[Description("取消")]
Cancel = 106
}
///
/// AGV任务类型
///
public enum AGVTaskType
{
///
/// 入库
///
[Description("入库")]
EnterDepot = 1,
///
/// 叫料
///
[Description("叫料")]
CallForMaterial = 2
}
}