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

#nullable disable

namespace AMESCoreStudio.WebApi.Models.AMES
{
    /// <summary>
    /// 巡檢結果回覆明細資料檔
    /// </summary>
    [Keyless]
    [Table("INSPECTION_RESULT_DETAIL", Schema = "JHAMES")]
    public partial class InspectionResultDetail
    {
        /// <summary>
        /// 巡檢結果ID
        /// </summary>
        [Column("INSPECTION_ID")]
        [DataMember]
        [Required(ErrorMessage = "{0},不能空白")]
        public int InspectionID { get; set; }

        /// <summary>
        /// 巡檢項目ID
        /// </summary>
        [Column("INSPECTION_ITEMID")]
        [DataMember]
        [Required(ErrorMessage = "{0},不能空白")]
        public int InspectionItemID { get; set; }

        /// <summary>
        /// 線別
        /// </summary>
        [Column("LINE_ID")]
        [Display(Name = "線別")]
        [DataMember]
        [Required(ErrorMessage = "{0},不能空白")]
        public int LineID { get; set; }

        /// <summary>
        /// 站別ID
        /// </summary>
        [Column("STATION_ID")]
        [Display(Name = "抽驗站別")]
        [DataMember]
        [Required(ErrorMessage = "{0},不能空白")]
        public int RuleStationID { get; set; }

        /// <summary>
        /// 稽核結果  
        /// P-PASS(允收) ; F-FAIL(批退) ; NA-無 ; A初始狀態 ;
        /// </summary>
        [Column("INSPECTION_RESULT")]
        [StringLength(20)]
        [Display(Name = "稽核結果")]
        [DataMember]
        [Required(ErrorMessage = "{0},不能空白")]
        public string Result { get; set; }

        /// <summary>
        /// 區域
        /// </summary>
        [Column("AREA")]
        [StringLength(10)]
        [Display(Name = "區域")]
        [DataMember]
        public string Area { get; set; }

        /// <summary>
        /// 位置
        /// </summary>
        [Column("LOCATION")]
        [StringLength(10)]
        [Display(Name = "位置")]
        [DataMember]
        public string Location { get; set; }

        /// <summary>
        /// 缺失單位
        /// </summary>
        [Column("MISSING_UNIT_NO")]
        [StringLength(2)]
        [Display(Name = "缺失單位")]
        [DataMember]
        public string MissingUnitNo { get; set; }

        /// <summary>
        /// 缺失站別
        /// </summary>
        [Column("MISSING_STATION_ID")]
        [Display(Name = "缺失站別")]
        [DataMember]
        [Required(ErrorMessage = "{0},不能空白")]
        public int MissingStationID { get; set; }

        /// <summary>
        /// 缺失人員ID
        /// </summary>
        [Column("MISSING_USERID")]
        [Display(Name = "缺失人員")]
        [DataMember]
        public int MissingUserID { get; set; }

        /// <summary>
        /// 缺失類型
        /// </summary>
        [Column("MISSING_TYPE")]
        [StringLength(10)]
        [Display(Name = "缺失類型")]
        [DataMember]
        public string MissingType { get; set; }

        /// <summary>
        /// 缺失備註
        /// </summary>
        [Column("MISSING_REMARK")]
        [StringLength(100)]
        [Display(Name = "缺失備註")]
        [DataMember]
        public string MissingRemark { get; set; }

        /// <summary>
        /// 是否需要對策 METHOD : Y-YES : N-NO 
        /// </summary>
        [Column("METHOD")]
        [StringLength(100)]
        [Display(Name = "是否需要對策")]
        [DataMember]
        public string Method { get; set; }


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

        /// <summary>
        /// 回覆對策
        /// </summary>
        [Column("REPLY_METHOD")]
        [StringLength(100)]
        [Display(Name = "回覆對策")]
        [DataMember]
        public string ReplyMethod { get; set; }


        /// <summary>
        /// 回覆人員ID
        /// </summary>
        [Column("REPLY_USERID")]
        [Display(Name = "回覆人員")]
        [DataMember]
        public int ReplyUserID { 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>
        /// 更新者ID
        /// </summary>
        [Column("UPDATE_USERID")]
        [DataMember]
        public int UpdateUserID { get; set; } = 0;

        /// <summary>
        /// 更新日期
        /// </summary>
        [Column("UPDATE_DATE")]
        [DataMember]
        public DateTime UpdateDate { get; set; } = System.DateTime.Now;

        /// <summary>
        /// 線別
        /// </summary>
        public virtual LineInfo LineInfo { get; set; }

        /// <summary>
        /// 站別
        /// </summary>
        public virtual Stations Stations { get; set; }

        /// <summary>
        /// 人員
        /// </summary>
       // public virtual UserInfo User { get; set; }

        /// <summary>
        /// 人員
        /// </summary>
        //public virtual DeptInfo Dept { get; set; }

        /// <summary>
        /// 人員
        /// </summary>
        public virtual InspectionItem InspectionItem { get; set; }

        /// <summary>
        /// 人員
        /// </summary>
        //public virtual FactoryUnit FactoryUnit { get; set; }
    }
}