using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using Microsoft.EntityFrameworkCore;
using System.Runtime.Serialization;
#nullable disable

namespace AMESCoreStudio.WebApi.Models.AMES
{
    /// <summary>
    /// 料號出貨序號規則資料檔
    /// </summary>
    [Table("SERIAL_RULE", Schema = "JHAMES")]
    public partial class SerialRule
    {
        /// <summary>
        /// 序號規則ID
        /// </summary>
        [Key]
        [Column("SERIAL_RULE_ID")]
        [DataMember]
        public int SerialRuleID { get; set; }

        /// <summary>
        /// 料號 or 工程編號
        /// </summary>
        [Required]
        [Column("ITEM_NO")]
        [StringLength(20)]
        [Display(Name = "工程編號")]
        [DataMember]
        public string ItemNo { get; set; }

        /// <summary>
        /// 規則
        /// </summary>
        [Required]
        [Column("RULE")]
        [StringLength(50)]
        [DataMember]
        [Display(Name = "序號規則")]
        public string Rule { get; set; }

        /// <summary>
        /// 年
        /// </summary>
        [Column("Y_NUM")]
        [DataMember]
        public int YNum { get; set; }


        /// <summary>
        /// 流水序號
        /// </summary>
        [Column("Y_LENGTH")]
        [DataMember]
        public int YLen { get; set; }

        /// <summary>
        /// 月
        /// </summary>
        [Column("M_NUM")]
        [DataMember]
        public int MNum { get; set; }


        /// <summary>
        /// 流水序號
        /// </summary>
        [Column("M_LENGTH")]
        [DataMember]
        public int MLen { get; set; }

        /// <summary>
        /// 周
        /// </summary>
        [Column("W_NUM")]
        [DataMember]
        public int WNum { get; set; }

        /// <summary>
        /// 流水序號
        /// </summary>
        [Column("W_LENGTH")]
        [DataMember]
        public int WLen { get; set; }

        /// <summary>
        /// 生產序號
        /// </summary>
        [Column("LOT_NUM")]
        [DataMember]
        public int LotNum { get; set; }

        /// <summary>
        /// 流水序號
        /// </summary>
        [Column("LOT_LENGTH")]
        [DataMember]
        public int LotLen { get; set; }

        /// <summary>
        /// 流水序號
        /// </summary>
        [Column("SN_NUM")]
        [DataMember]
        public int SnNum { get; set; }

        /// <summary>
        /// 流水序號
        /// </summary>
        [Column("SN_LENGTH")]
        [DataMember]
        public int SnLen { 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; } = DateTime.Now;

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

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

    }
}