using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Runtime.Serialization;
using AMESCoreStudio.WebApi.Models.SYS;

#nullable disable

namespace AMESCoreStudio.WebApi.Models.AMES
{
    /// <summary>
    /// 設備記錄檔
    /// </summary>

    [Table("OUTFIT_STATUS_LOG", Schema = "JHAMES")]
    public partial class OutfitStatusLog
    {
        /// <summary>
        /// 設備狀態ID
        /// </summary>
        [Key]
        [Column("OUTFIT_LOG_ID")]
        [DataMember]
        [Required]
        public int OutfitLogID { get; set; }

        /// <summary>
        /// 設備ID
        /// </summary>
        [Column("OUTFIT_ID")]
        [DataMember]
        [Required]
        [Display(Name = "使用設備")]
        public int OutfitID { get; set; }

        /// <summary>
        /// 設備狀態
        /// </summary>
        [Column("STATUS_NO")]
        [StringLength(2)]
        [DataMember]
        [Required]
        [Display(Name = "設備狀態")]
        public string StatusNo { get; set; }//


        /// <summary>
        /// 狀態人工號
        /// </summary>
        [Column("STATUS_USERID")]
        [DataMember]
        [Required]
        [Display(Name = "狀態人工號")]
        public int StatusUserID { get; set; }

        /// <summary>
        /// 狀態預計日期(送修/領用)
        /// </summary>
        [Column("STATUS_DATE")]
        [DataMember]
        [Required]
        [Display(Name = "狀態預計日期")]
        public DateTime StatusDate { get; set; }

        /// <summary>
        /// 備註
        /// </summary>
        [Column("REMARK")]
        [StringLength(50)]
        [DataMember]
        [Display(Name = "備註")]
        public string Remark { get; set; }

        /// <summary>
        /// 判定者
        /// </summary>
        [Column("CONFIRM_USERID")]
        [DataMember]
        [Display(Name = "判定者")]
        public int ConfirmUserID { get; set; }

        /// <summary>
        /// 責任人/製程
        /// </summary>
        [Column("DUTY")]
        [StringLength(300)]
        [DataMember]
        [Display(Name = "責任人/製程")]
        public string Duty { get; set; }

        /// <summary>
        /// 原因
        /// </summary>
        [Column("REASON")]
        [StringLength(100)]
        [DataMember]
        [Display(Name = "原因")]
        public string Reason { get; set; }

        /// <summary>
        /// 狀態數量
        /// </summary>
        [Column("STATUS_QTY")]
        [DataMember]
        [Display(Name = "數量")]
        public decimal StatusQty { get; set; } = 1;

        /// <summary>
        /// 工單
        /// </summary>
        [Column("WIP_NO")]
        [StringLength(100)]
        [DataMember]
        [Display(Name = "工單")]
        public string WipNo { get; set; }

        /// <summary>
        /// 測試桌號
        /// </summary>
        [Column("TABLE_NO")]
        [DataMember]
        [Display(Name = "測試桌號")]
        public string TableNo { get; set; }

        /// <summary>
        /// 創建者ID
        /// </summary>
        [Column("CREATE_USERID")]
        [DataMember]
        public int CreateUserID { get; set; } = 0;

        /// <summary>
        /// 創建日期
        /// </summary>
        [Column("CREATE_DATE")]
        [DataMember]
        public DateTime CreateDate { get; set; } = System.DateTime.Now;

        /// <summary>
        /// 
        /// </summary>
        //[ForeignKey("StatusUserID")]
        //public virtual UserInfo StatusUser { get; set; }
        //
        /// <summary>
        /// 
        /// </summary>
        //[ForeignKey("ConfirmUserID")]
        //public virtual UserInfo ConfirmUser { get; set; }
    }
}