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("WIP_CLASS", Schema = "JHAMES")]
    public partial class WipClass
    {
        /// <summary>
        /// 工單ID
        /// </summary>
        [Key]
        [Required]
        [DataMember]
        [Column("WIP_ID")]
        public int WipID { get; set; }

        /// <summary>
        /// 流程站別ID
        /// </summary>
        [Key]
        [Required]
        [DataMember]
        [Column("STATION_ID")]
        public int StationID { get; set; }

        /// <summary>
        /// 過站狀態
        /// </summary>
        [Key]
        [Column("RULE_STATUS")]
        [DataMember]
        [StringLength(1)]
        public string RuleStatus { get; set; }

        /// <summary>
        /// 班別ID
        /// </summary>
        [Key]
        [DataMember]
        [Column("CLASS_ID")]
        public int ClassID { get; set; }

        /// <summary>
        /// 第一次過站數量
        /// </summary>
        [DataMember]
        [Column("FIRST_CNT")]
        public int FirstCnt { get; set; } = 0;

        /// <summary>
        /// 生產數量
        /// </summary>
        [DataMember]
        [Column("PASS_CNT")]
        public int PassCnt { get; set; } = 0;

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

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

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

    }
}