using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Runtime.Serialization;

namespace AMESCoreStudio.WebApi.Models.AMES
{
    /// <summary>
    /// 異常工時資料
    /// </summary>
    [Table("EXCEPTION_WORKTIME", Schema = "JHAMES")]

    public class ExceptionWorktime
    {
        /// <summary>
        /// 異常工時ID
        /// </summary>
        [Key]
        [Column("EXCEPTION_ID")]
        [Required(ErrorMessage = "{0},不能空白")]
        [DataMember]
        public int ExceptionID { get; set; }

        /// <summary>
        /// 廠別
        /// </summary>
        [Column("FACTORY_NO")]
        [DataMember]
        [Display(Name = "廠別")]
        public string FactoryNo { get; set; }

        /// <summary>
        /// 制程代碼
        /// </summary>
        [Column("UNIT_NO")]
        [DataMember]
        [Display(Name = "制程代碼")]
        public string UnitNo { get; set; }

        /// <summary>
        /// 線別
        /// </summary>
        [Column("LINE_ID")]
        [DataMember]
        [Display(Name = "線別")]
        public int LineID { get; set; }

        /// <summary>
        /// 異常日期
        /// </summary>
        [Column("EXCEPTION_DATE")]
        [DataMember]
        [Required(ErrorMessage = "{0},不能空白")]
        [Display(Name = "異常日期")]
        public DateTime ExceptionDate { get; set; }

        /// <summary>
        /// 異常班別
        /// </summary>
        [Column("CLASS_NO")]
        [DataMember]
        [Display(Name = "異常班別")]
        public string ClassNo { get; set; }

        /// <summary>
        /// 異常代碼
        /// </summary>
        [Column("EXCEPTION_NO")]
        [DataMember]
        [Required(ErrorMessage = "{0},不能空白")]
        [Display(Name = "異常代碼")]
        public string ExceptionNo { get; set; }

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

        /// <summary>
        /// 機種
        /// </summary>
        [Column("MODEL_NO")]
        [Display(Name = "歸屬機種")]
        public string ModelNo { get; set; }


        /// <summary>
        /// 異常工時(Min)
        /// </summary>
        [Column("TIME")]
        [DataMember]
        [Display(Name = "異常工時(Min)")]
        public decimal Time { get; set; }

        /// <summary>
        /// 歸屬部門
        /// </summary>
        [Column("DEPT_ID")]
        [DataMember]
        [Display(Name = "歸屬部門")]
        public int DeptID { get; set; }

        /// <summary>
        /// 異常備註
        /// </summary>
        [Display(Name = "異常備註")]
        [Column("MEMO")]
        public string Memo { get; set; }

        /// <summary>
        /// 站別ID
        /// </summary>
        [Column("STATION_ID")]
        [DataMember]
        [Display(Name = "站別")]
        public int StationID { get; set; }

        /// <summary>
        /// T2站點姓名
        /// </summary>
        [Column("T2_USER_NAME")]
        [Display(Name = "T2站點姓名")]
        public string T2UserName { get; set; }

        /// <summary>
        /// 起始時間
        /// </summary>
        [Column("START_TIME")]
        [Display(Name = "起始時間")]
        public DateTime StartTime { get; set; }

        /// <summary>
        /// 結束時間
        /// </summary>
        [Column("END_TIME")]
        [Display(Name = "結束時間")]
        public DateTime EndTime { get; set; }

        /// <summary>
        /// 判定單位
        /// </summary>
        [Column("DECIDE_DEPT")]
        [Display(Name = "通知單位")]
        public string DecideDept { get; set; }

        /// <summary>
        /// 判定負責人
        /// </summary>
        [Column("DECIDE_USER")]
        [Display(Name = "通知負責人")]
        public string DecideUser{ get; set; }

        /// <summary>
        /// 責任單位(回覆)
        /// </summary>
        [Column("DUTY_DEPT")]
        [Display(Name = "責任單位")]
        public string DutyDept { get; set; }

        /// <summary>
        /// 回覆: 回覆對策
        /// </summary>
        [Column("MEASURE")]
        [Display(Name = "回覆: 回覆對策")]
        public string Measure { get; set; }

        /// <summary>
        /// 異常人數
        /// </summary>
        [Column("PERSON_NUM")]
        [DataMember]
        [Display(Name = "異常人數")]
        public int PersonNum { get; set; }

        /// <summary>
        /// 回覆: 判定描述
        /// </summary>
        [Column("REASON_NAME_CH")]
        [Display(Name = "回覆: 判定描述")]
        public string ReasonNameCh { get; set; }

        /// <summary>
        ///回覆: 判定類別
        /// </summary>
        [Column("REASON_NO")]
        [Display(Name = "判定類別")]
        public string PersonNo { get; set; }

        /// <summary>
        /// 回覆: 回覆日期
        /// </summary>
        [Column("MEASURE_DATE")]
        [Display(Name = "回覆: 回覆日期")]
        public DateTime MeasureDate { get; set; }

        /// <summary>
        /// 回覆: 回覆備註
        /// </summary>
        [Column("MEASURE_MEMO")]
        [Display(Name = "回覆: 回覆備註")]
        public string MeasureMemo { get; set; }

        /// <summary>
        /// 判定單位ID
        /// </summary>
        [Column("DECIDE_DEPT_ID")]
        [Display(Name = "通知單位ID")]
        public int DecidDeptID { get; set; }

        /// <summary>
        /// 判定負責人ID
        /// </summary>
        [Column("DECIDE_USER_ID")]
        [Display(Name = "通知負責人ID")]
        public int DecidUserID { get; set; }

        /// <summary>
        /// 責任單位ID
        /// </summary>
        [Column("DUTY_DEPT_ID")]
        [Display(Name = "責任單位ID")]
        public int DutyDeptID { get; set; }

        /// <summary>
        /// 責任人ID
        /// </summary>
        [Column("DUTY_USER_ID")]
        [Display(Name = "責任人ID")]
        public int DutyUserID { get; set; }

        /// <summary>
        /// 責任人工號
        /// </summary>
        [Column("DUTY_USER")]
        [Display(Name = "責任人工號")]
        public string DutyUser { get; set; }

        /// <summary>
        /// 建立者
        /// </summary>
        [Column("CREATE_USERID")]
        [DataMember]
        [Required(ErrorMessage = "{0},不能空白")]
        [Display(Name = "建立者")]
        public decimal CreateUserID { get; set; }

        /// <summary>
        /// 建立日期
        /// </summary>
        [Column("CREATE_DATE")]
        [DataMember]
        [Display(Name = "建立日期")]
        public DateTime CreateDate { get; set; }

        /// <summary>
        /// 修改者
        /// </summary>
        [Column("UPDATE_USERID")]
        [DataMember]
        [Required(ErrorMessage = "{0},不能空白")]
        [Display(Name = "修改者")]
        public decimal UpdateUserID { get; set; }

        /// <summary>
        /// 修改日期
        /// </summary>
        [Column("UPDATE_DATE")]
        [DataMember]
        [Display(Name = "修改日期")]
        public DateTime UpdateDate { get; set; }

   

    }
}