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>
    /// FQC檢驗結果明細資料檔
    /// </summary>
    [Keyless]
    [Table("FQC_RESULT_DETAIL", Schema = "JHAMES")]
    [Index(nameof(FqcID), Name = "FQC_RESULT_DETAIL_F1")]
    [Index(nameof(StatusNo), Name = "FQC_RESULT_DETAIL_F2")]
    public partial class FqcResultDetail
    {
        /// <summary>
        /// FQC檢驗結果ID
        /// </summary>
        [DataMember]
        [Key]
        [Display(Name = "FQC檢驗結果ID")]
        [Required(ErrorMessage = "{0},不能空白")]
        [Column("FQC_ID")]
        public int FqcID { get; set; }

        /// <summary>
        /// 箱號
        /// </summary>
        [Key]
        [DataMember]
        [Display(Name = "箱號")]
        [Column("BOX_NO")]
        [StringLength(30)]
        public string BoxNo { get; set; }

        /// <summary>
        /// 生產序號
        /// </summary>
        [Key]
        [DataMember]
        [Display(Name = "生產序號")]
        [Column("BARCODE_NO")]
        [StringLength(30)]
        public string BarcodeNo { get; set; }

        /// <summary>
        /// 外部序號
        /// </summary>
        [DataMember]
        [Display(Name = "外部序號")]
        [Column("EXTRA_BARCODE_NO")]
        [StringLength(30)]
        public string ExtraBarcodeNo { get; set; }

        /// <summary>
        /// 狀態 P-PASS;F-FAIL;C-CPN
        /// </summary>
        [DataMember]
        [Display(Name = "狀態")]
        [Required(ErrorMessage = "{0},不能空白")]
        [Column("STATUS_NO")]
        [StringLength(2)]
        public string StatusNo { get; set; } = "P";

        /// <summary>
        /// 不良代碼
        /// </summary>
        [DataMember]
        [Display(Name = "不良代碼")]
        [Column("NG_REASON_NO")]
        [StringLength(6)]
        public string NgReasonNo { get; set; }

        /// <summary>
        /// 不良備註
        /// </summary>
        [DataMember]
        [Display(Name = "不良備註")]
        [Column("NG_MEMO")]
        [StringLength(100)]
        public string NgMemo { get; set; }

        /// <summary>
        /// 零件位置
        /// </summary>
        [DataMember]
        [Display(Name = "零件位置")]
        [Column("PART_POSITION")]

        public string PartPosition { 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;

    }
}