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>
    /// 工單KP資訊資料檔
    /// </summary>
    [Table("WIP_KP", Schema = "JHAMES")]
    public partial class WipKp
    {
        /// <summary>
        /// 工單KP_ID
        /// </summary>
        [Key]
        [Column("WIP_KP_ID")]
        [Required]
        [DataMember]
        public int WipKpID { get; set; }

        /// <summary>
        /// 工單號碼
        /// </summary>
        [Column("WIP_NO")]
        [Required]
        [DataMember]
        public string WipNo { get; set; }

        /// <summary>
        /// 料號
        /// </summary>
        [DataMember]
        [Required]
        [Column("ITEM_NO")]
        [StringLength(20)]
        public string ItemNo { get; set; }

        /// <summary>
        /// KP料號名稱
        /// </summary>
        [DataMember]
        [Required]
        [Column("KP_NAME")]
        [StringLength(25)]
        public string KpName { get; set; }

        /// <summary>
        /// KP料號NO
        /// </summary>
        [DataMember]
        [Required]
        [Column("KP_NO")]
        [StringLength(25)]
        public string KpNo { get; set; }

        /// <summary>
        /// 順序
        /// </summary>
        [DataMember]
        [Column("KP_SEQ")]
        public int? KpSeq { get; set; }

        /// <summary>
        /// 前置碼
        /// </summary>
        [DataMember]
        [Column("TITLE")]
        [StringLength(10)]
        public string Title { get; set; }

        /// <summary>
        /// 長度
        /// </summary>
        [DataMember]
        [Column("LENGTH")]
        public int? Length { get; set; }

        /// <summary>
        /// 生產單位代號
        /// </summary>
        [Required]
        [DataMember]
        [Column("UNIT_NO")]
        [StringLength(4)]
        public string UnitNo { get; set; }


        /// <summary>
        /// 是否可重複(Y-YES;N-NO)
        /// </summary>
        [DataMember]
        [Column("IS_REPEAT")]
        public string IsRepeat { get; set; } = "N";

        /// <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;
    }
}