/*
 *代码由框架生成,任何更改都可能导致被代码生成器覆盖
 *如果数据库字段发生变化,请在代码生器重新生成此Model
 */
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEA_Entity.SystemModels;

namespace WIDESEA_Entity.DomainModels
{
    [Entity(TableCnName = "AGV任务", TableName = "dt_agvtask")]
    public partial class dt_agvtask : BaseEntity
    {
        /// <summary>
        ///任务Id
        /// </summary>
        [Key]
        [Display(Name = "任务Id")]
        [Column(TypeName = "uniqueidentifier")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public Guid agv_id { get; set; }

        /// <summary>
        ///任务编号
        /// </summary>
        [Display(Name = "任务编号")]
        [MaxLength(50)]
        [Column(TypeName = "nvarchar(50)")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public string agv_tasknum { get; set; }

        /// <summary>
        ///起点地址
        /// </summary>
        [Display(Name = "起点地址")]
        [MaxLength(50)]
        [Column(TypeName = "nvarchar(50)")]
        [Editable(true)]
        public string agv_fromaddress { get; set; }

        /// <summary>
        ///终点地址
        /// </summary>
        [Display(Name = "终点地址")]
        [MaxLength(50)]
        [Column(TypeName = "nvarchar(50)")]
        [Editable(true)]
        public string agv_toaddress { get; set; }

        /// <summary>
        ///AGV编号
        /// </summary>
        //[Display(Name = "AGV编号")]
        //[MaxLength(50)]
        //[Column(TypeName = "nvarchar(50)")]
        //[Editable(true)]
        //[Required(AllowEmptyStrings = false)]
        //public string agv_code { get; set; }
        /// <summary>
        ///托盘状态
        /// </summary>
        [Display(Name = "托盘状态")]
        [MaxLength(50)]
        [Column(TypeName = "nvarchar(50)")]
        [Editable(true)]
        //[Required(AllowEmptyStrings = false)]
        public string agv_TrayStatus { get; set; }


        /// <summary>
        ///任务状态
        /// </summary>
        [Display(Name = "任务状态")]
        [MaxLength(20)]
        [Column(TypeName = "nvarchar(20)")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public string agv_taskstate { get; set; }

        /// <summary>
        ///工单类型(17-机加工 28-检测线 101移库外协)
        /// </summary>
        [Display(Name = "AGV工作类型")]
        [Column(TypeName = "int")]
        [Editable(true)]
        public int? agv_worktype { get; set; }

        /// <summary>
        ///物料类型
        /// </summary>
        [Display(Name = "物料类型")]
        [MaxLength(50)]
        [Column(TypeName = "nvarchar(50)")]
        [Editable(true)]
        public string agv_materielid { get; set; }

        /// <summary>
        ///数量
        /// </summary>
        [Display(Name = "数量")]
        [Column(TypeName = "int")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public int agv_qty { get; set; }

        /// <summary>
        ///起点数量
        /// </summary>
        [Display(Name = "起点数量")]
        [Column(TypeName = "int")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public int StarQuantity { get; set; } = 0;

        /// <summary>
        ///终点数量
        /// </summary>
        [Display(Name = "终点数量")]
        [Column(TypeName = "int")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public int EndQuantity { get; set; } = 0;

        /// <summary>
        ///创建时间
        /// </summary>
        [Display(Name = "创建时间")]
        [Column(TypeName = "datetime")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public DateTime agv_createtime { get; set; }

        /// <summary>
        ///执行时间
        /// </summary>
        [Display(Name = "执行时间")]
        [Column(TypeName = "datetime")]
        [Editable(true)]
        public DateTime? agv_realesstime { get; set; }

        /// <summary>
        ///完成时间
        /// </summary>
        [Display(Name = "完成时间")]
        [Column(TypeName = "datetime")]
        [Editable(true)]
        public DateTime? agv_finishedtime { get; set; }

        /// <summary>
        ///任务类型
        /// </summary>
        [Display(Name = "任务类型")]
        [MaxLength(20)]
        [Column(TypeName = "nvarchar(20)")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public string agv_tasktype { get; set; }

        /// <summary>
        ///备注
        /// </summary>
        [Display(Name = "备注")]
        [MaxLength(100)]
        [Column(TypeName = "nvarchar(100)")]
        [Editable(true)]
        public string agv_remark { get; set; }

        /// <summary>
        ///任务等级  0、暂缓1、正常2、加急 3、特急
        /// </summary>
        [Display(Name = "任务等级")]
        [Column(TypeName = "int")]
        [Editable(true)]
        public int? agv_grade { get; set; }

        /// <summary>
        ///创建者
        /// </summary>
        [Display(Name = "创建者")]
        [MaxLength(20)]
        [Column(TypeName = "nvarchar(20)")]
        [Editable(true)]
        public string agv_userid { get; set; }

        /// <summary>
        ///托盘类型/托盘码
        /// </summary>
        [Display(Name = "托盘码")]
        [MaxLength(30)]
        [Column(TypeName = "nvarchar(30)")]
        [Editable(true)]
        //[Required(AllowEmptyStrings = false)]//不能为空
        public string agv_Traytype { get; set; }

        /// <summary>
        ///物料码
        /// </summary>
        [Display(Name = "物料码")]
        [MaxLength(50)]
        [Column(TypeName = "nvarchar(50)")]
        [Editable(true)]
        public string agv_materbarcode { get; set; }

        /// <summary>
        ///起始点执行中
        /// </summary>
        [Display(Name = "起始点执行中")]
        [Column(TypeName = "datetime")]
        [Editable(true)]
        public DateTime? agv_executingBeginTime { get; set; }

        /// <summary>
        ///起始点完成
        /// </summary>
        [Display(Name = "起始点完成")]
        [Column(TypeName = "datetime")]
        [Editable(true)]
        public DateTime? agv_executingEndTime { get; set; }

        /// <summary>
        ///目的点执行中
        /// </summary>
        [Display(Name = "目的点执行中")]
        [Column(TypeName = "datetime")]
        [Editable(true)]
        public DateTime? agv_completeBeginTime { get; set; }

        /// <summary>
        ///工单号/工作令号
        /// </summary>
        [Display(Name = "工单号")]
        [Column(TypeName = "nvarchar(40)")]
        [Editable(true)]
        public string jobID { get; set; }

        /// <summary>
        ///车轮SN号
        /// </summary>
        [Display(Name = "车轮SN号")]
        [MaxLength(500)]
        [Column(TypeName = "nvarchar(500)")]
        public string bindSN { get; set; }

    }
}