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_ONLINE", Schema = "JHAMES")]
    [DataContract]
    public class ExceptionWorktimeOline
    {
        /// <summary>
        /// 異常工時ID
        /// </summary>
        [Key]
        [Column("ONLINE_ID")]
        [Required(ErrorMessage = "{0},不能空白")]
        [DataMember]
        public decimal OlineID { 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>
        /// 站別ID
        /// </summary>
        [Column("STATION_ID")]
        [DataMember]
        [Display(Name = "站別")]
        public int StationID { get; set; }

        /// <summary>
        /// 收集人員工號
        /// </summary>
        [Column("T2_USER_NAME")]
        [Display(Name = "收集人員工號")]
        public string T2UserName { 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>
        /// 起始時間
        /// </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("PERSON_NUM")]
        [DataMember]
        [Display(Name = "異常人數")]
        public int PersonNum { get; set; }

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

        /// <summary>
        /// 歸屬部門
        /// </summary>
        [Column("DEPT_ID")]
        [DataMember]
        [Display(Name = "歸屬部門")]
        public int DeptID { 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>
        /// 判定單位ID
        /// </summary>
        [Column("DECIDE_DEPT_ID")]
        [Display(Name = "判定單位ID")]
        public int DecidDeptID { get; set; }

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

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

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

        /// <summary>
        /// 無效工時收集標誌
        /// </summary>
        [Column("TYPE_FLAG")]
        [DataMember]
        [Required(ErrorMessage = "{0},不能空白")]
        [Display(Name = "無效工時收集標誌")]
        public int TypeFlag { 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; }

   

    }
}