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

#nullable disable

namespace AMESCoreStudio.WebApi.Models.AMES
{
    /// <summary>
    /// 料號站別工項資料檔
    /// </summary>
    [Table("MATERIAL_STATIONS_ITEM", Schema = "JHAMES")]
    public partial class MaterialStationsItem
    {
        /// <summary>
        /// 料號站別工項ID
        /// </summary>
        [Key]
        [Column("MSI_ID")]
        [DataMember]
        [Required]
        public int MsiID { get; set; }

        /// <summary>
        /// 料號ID
        /// </summary>
        [Column("ITEM_ID")]
        [DataMember]
        [Required(ErrorMessage = "{0},不能空白")]
        [Display(Name = "料號")]
        public int ItemID { get; set; }

        /// <summary>
        /// 生產單位
        /// </summary>
        [Column("UNIT_NO")]
        [StringLength(1)]
        [DataMember]
        [Required(ErrorMessage = "{0},不能空白")]
        [Display(Name = "生產單位")]
        public string UnitNo { get; set; }

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

        /// <summary>
        /// 站(前段)
        /// </summary>
        [Column("STATION_TYPE")]
        [StringLength(10)]
        [DataMember]
        [Display(Name = "站(前段)")]
        public string StationType { get; set; }


        /// <summary>
        /// 工項名稱
        /// </summary>
        [Column("STATIONS_ITEM_NO")]
        [StringLength(20)]
        [DataMember]
        [Required(ErrorMessage = "{0},不能空白")]
        [Display(Name = "工項名稱")]
        public string StationsItemNo { get; set; }

        /// <summary>
        /// 工項描述
        /// </summary>
        [Column("STATIONS_ITEM_DESC")]
        [StringLength(50)]
        [DataMember]
        [Display(Name = "工項描述")]
        public string StationsItemDesc { get; set; }

        /// <summary>
        /// 工項順序
        /// </summary>
        [Column("STATIONS_ITEM_SEQ")]
        [DataMember]
        [Required(ErrorMessage = "{0},不能空白")]
        [Display(Name = "工項順序")]
        public int StationsItemSeq { get; set; }


        /// <summary>
        /// 建立UserID
        /// </summary>
        [Column("CREATE_USERID")]
        [Required]
        [DataMember]
        public int CreateUserID { get; set; } = 0;

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

        /// <summary>
        /// 更新UserID
        /// </summary>
        [Column("UPDATE_USERID")]
        [DataMember]
        [Required]
        public int UpdateUserID { get; set; }

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


        /// <summary>
        /// 料號主檔
        /// </summary>
        [ForeignKey("ItemID")]
        public virtual MaterialItem MaterialItem { get; set; }

        /// <summary>
        /// 製程單位主檔
        /// </summary>
        [ForeignKey("UnitNo")]
        public virtual AMESCoreStudio.WebApi.Models.BAS.FactoryUnit Unit { get; set; }

        /// <summary>
        /// 製程單位主檔
        /// </summary>
        [ForeignKey("StationID")]
        public virtual AMESCoreStudio.WebApi.Models.BAS.Stations RStation { get; set; }
    }
}