using SqlSugar;
using System;
using System.ComponentModel;
namespace WCS.Entity
{
///
/// 任务表
///
[SugarTable(nameof(WCS_TaskInfo), "任务表")]
public class WCS_TaskInfo
{
#region 任务基本信息
///
/// ID
///
[SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnDescription = "ID")]
public int ID { get; set; }
///
/// 生产编码
///
[SugarColumn(ColumnDescription = "生产编码", Length = 50)]
public string BarCode { get; set; }
///
/// 任务类型
///
[SugarColumn(ColumnDescription = "任务类型")]
public TaskType Type { get; set; }
///
/// 任务状态
///
[SugarColumn(ColumnDescription = "任务状态")]
public TaskStatus Status { get; set; }
///
/// 起始地址
///
[SugarColumn(ColumnDescription = "起始地址", Length = 20)]
public string AddrFrom { get; set; }
///
/// 目标地址
///
[SugarColumn(ColumnDescription = "目标地址", Length = 20)]
public string AddrTo { get; set; }
///
/// 下一个地址
///
[SugarColumn(ColumnDescription = "下一个地址", Length = 20, IsNullable = true)]
public string AddrNext { get; set; }
///
/// 巷道
///
[SugarColumn(ColumnDescription = "巷道", Length = 10, IsNullable = true)]
public string Tunnel { get; set; }
///
/// 楼层
///
[SugarColumn(ColumnDescription = "楼层", IsNullable = true)]
public int Floor { get; set; }
///
/// 设备
///
[SugarColumn(ColumnDescription = "设备", Length = 20, IsNullable = true)]
public string Device { get; set; }
///
/// 最后一个交互点
///
[SugarColumn(ColumnDescription = "最后一个交互点", Length = 20, IsNullable = true)]
public string LastInteractionPoint { get; set; }
///
/// 堆垛机放货站台
///
[SugarColumn(ColumnDescription = "堆垛机放货站台", Length = 20, IsNullable = true)]
public string SrmStation { get; set; }
///
/// 客户现场的机台/产线编号
///
[SugarColumn(ColumnDescription = "客户现场的机台/产线编号", IsNullable = true)]
public string WorkBench { get; set; }
///
/// 仓库编号
///
[SugarColumn(ColumnDescription = "仓库编号", IsNullable = true)]
public string WarehouseCode { get; set; }
///
/// WMS任务号
///
[SugarColumn(ColumnDescription = "WMS任务号")]
public int WmsTask { get; set; }
///
/// 任务组ID
///
[SugarColumn(ColumnDescription = "任务组ID", IsNullable = true)]
public string TaskGroupKey { get; set; }
#endregion 任务基本信息
#region 码垛信息
///
/// 码垛单号
///
[SugarColumn(ColumnDescription = "单号", IsNullable = true)]
public int DocID { get; set; }
///
/// 生产单号
///
[SugarColumn(ColumnDescription = "生产单号", IsNullable = true)]
public string WorkOrder { get; set; }
///
/// 码垛托盘类型
///
[SugarColumn(ColumnDescription = "托盘类型", IsNullable = true)]
public short PalletType { get; set; }
///
/// 码垛工位
///
[SugarColumn(ColumnDescription = "码垛工位", IsNullable = true)]
public short ProdLine { get; set; }
///
/// 满盘数量
///
[SugarColumn(ColumnDescription = "满盘数量", IsNullable = true)]
public short FullQty { get; set; }
#endregion 码垛信息
#region 外形信息
///
/// 高度
///
[SugarColumn(ColumnDescription = "高度", IsNullable = true)]
public short Height { get; set; }
///
/// 重量
///
[SugarColumn(ColumnDescription = "重量", IsNullable = true)]
public float Weight { get; set; }
///
/// 长度
///
[SugarColumn(ColumnDescription = "产品长度", IsNullable = true)]
public decimal Length { get; set; }
#endregion 外形信息
#region 操作时间与用户
///
/// 创建时间
/// 新增数据时自动获取服务器时间
///
[SugarColumn(ColumnDescription = "创建时间", InsertServerTime = true)]
public DateTime AddTime { get; set; }
///
/// 创建用户
/// 仅记录用户ID
///
[SugarColumn(ColumnDescription = "创建用户", Length = 50)]
public string AddWho { get; set; }
///
/// 开始时间
///
[SugarColumn(ColumnDescription = "开始时间", IsNullable = true)]
public DateTime? StartTime { get; set; }
///
/// 更新用户
/// 仅记录用户ID
///
[SugarColumn(ColumnDescription = "更新用户", Length = 50, IsNullable = true)]
public string EditWho { get; set; }
///
/// 更新时间
/// 更新数据时自动获取服务器时间
///
[SugarColumn(ColumnDescription = "更新时间", UpdateServerTime = true, IsNullable = true)]
public DateTime EditTime { get; set; }
///
/// 结束时间
///
[SugarColumn(ColumnDescription = "结束时间", IsNullable = true)]
public DateTime? EndTime { get; set; }
#endregion 操作时间与用户
#region 条码物料相关信息
///
/// 物料编码
///
[SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]
public string MatCode { get; set; }
///
/// 材料号
///
[SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]
public string InvBarCode { get; set; }
///
/// 是否快投
///
[SugarColumn(ColumnDataType = "bit", IsNullable = true)]
public bool IsFast { get; set; }
///
/// 等级
///
[SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]
public string Grade { get; set; }
///
/// 是否改手盘
///
[SugarColumn(ColumnDataType = "bit", IsNullable = true)]
public bool IsSurplus { get; set; }
///
/// 是否返空
///
[SugarColumn(ColumnDataType = "bit", IsNullable = true)]
public bool IsRework { get; set; }
#endregion 条码物料相关信息
///
/// 更新状态
///
[SugarColumn(ColumnDescription = "更新状态")]
public TaskStatus Uploaded { get; set; }
///
/// AGV任务号
///
[SugarColumn(ColumnDescription = "AGV任务号", IsNullable = true)]
public int AgvTaskID { get; set; }
///
/// Agv任务信息
///
[Navigate(NavigateType.OneToOne, nameof(AgvTaskID))]
public WCS_AgvTaskInfo AgvTask { get; set; }
///
/// 优先级
///
[SugarColumn(ColumnDescription = "优先级")]
public int Priority { get; set; }
///
/// 手动处理备注
///
[SugarColumn(ColumnDescription = "手动处理备注", IsNullable = true)]
public string ManualRemarks { get; set; }
///
/// 出库任务类型
///
[SugarColumn(ColumnDescription = "出库任务类型", IsNullable = true)]
public OutTypeEnum OutType { get; set; }
///
/// 产品编码
///
[SugarColumn(ColumnDescription = "产品编码", IsNullable = true)]
public string MaterialCode { get; set; }
///
/// 是否可用
///
[SugarColumn(ColumnDescription = "是否可用")]
public bool Enabled { get; set; } = true;
///
/// 业务类型
///
[SugarColumn(ColumnDescription = "业务类型", IsNullable = true)]
public string BusType { get; set; }
///
/// 货位类型
///
[SugarColumn(ColumnDescription = "货位类型", IsNullable = true)]
public int GoodsType { get; set; }
///
/// 版本号
///
[SugarColumn(ColumnDescription = "版本号", ColumnDataType = "timestamp", IsNullable = true, IsOnlyIgnoreInsert = true, IsOnlyIgnoreUpdate = true)]
public byte[] VER { get; set; }
///
/// 行
///
[SugarColumn(ColumnDescription = "行", IsNullable = true)]
public int Line { get; set; }
///
/// 列
///
[SugarColumn(ColumnDescription = "列", IsNullable = true)]
public int Col { get; set; }
///
/// 层
///
[SugarColumn(ColumnDescription = "层", IsNullable = true)]
public int Layer { get; set; }
///
/// 深度
///
[SugarColumn(ColumnDescription = "深度", IsNullable = true)]
public int Depth { get; set; }
}
///
/// 任务类型
///
public enum TaskType
{
///
/// 组盘
///
[Description("组盘")]
SetPlate = 0,
///
/// 入库
///
[Description("入库")]
EnterDepot = 1,
///
/// 出库
///
[Description("出库")]
OutDepot = 2,
///
/// 移库
///
[Description("移库")]
TransferDepot = 3,
///
/// 搬运
///
[Description("搬运")]
Delivery = 5,
///
/// 空轮初始化
///
[Description("空轮初始化")]
EmptyInit = 6,
}
///
/// 任务状态
///
public enum TaskStatus
{
///
/// 新建
///
[Description("新建")]
NewBuild = 0,
///
/// 待执行
///
[Description("待执行")]
WaitingToExecute = 1,
///
/// 分流结束
///
[Description("分流结束")]
FinishOfShunt = 2,
///
/// 输送机执行中
///
[Description("输送机执行中")]
ConveyorExecution = 10,
///
/// RGV执行
///
[Description("RGV执行")]
RgvExecution = 19,
///
/// 堆垛机执行
///
[Description("堆垛机执行")]
StackerExecution = 20,
///
/// RGV完成
///
[Description("RGV完成")]
RgvCompleted = 29,
///
/// 堆垛机完成
///
[Description("堆垛机完成")]
StackerCompleted = 30,
///
/// AGV执行中
///
[Description("AGV执行中")]
AGVExecution = 40,
///
/// 已完成
///
[Description("已完成")]
Finish = 99,
///
/// 已取消
///
[Description("已取消")]
Cancel = 106
}
///
/// 出库任务类型
///
public enum OutTypeEnum
{
///
/// 自动出库任务
///
自动出库任务 = 0,
///
/// 全自动手动出库任务
///
全自动手动出库任务 = 1,
///
/// 半自动手动出库任务
///
半自动手动出库任务 = 2
}
}