
//-----------------------------------------------------------------------
//<copyright>
// * Copyright (C) 2021 KEHAIDASOFT All Rights Reserved
// * version : 4.0.30319.42000
// * author  : khd by t4-2
// </copyright>
//-----------------------------------------------------------------------

using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

namespace Khd.Core.Domain.Models
{

    [Table("wms_raw_instock")]
    public class WmsRawInstock
    {

        [Key]
        [Column("raw_instock_id")]
        public long rawInstockId { get; set; }

        /// <summary>
        /// 任务编号;移库时必须
        /// </summary>
        [Column("task_code")]
        public string taskCode { get; set; }

        /// <summary>
        /// 仓库ID
        /// </summary>
        [Column("warehouse_id")]
        public long warehouseId { get; set; }

        /// <summary>
        /// 库位编码
        /// </summary>
        [Column("location_code")]
        public string locationCode { get; set; }

        /// <summary>
        /// 采购订单号，入库扫描条码时获取唯一条码
        /// </summary>
        [Column("po_no")]
        public string poNo { get; set; }

        /// <summary>
        /// 操作类型(0自动,1人工,2强制,3调度)
        /// </summary>
        [Column("operation_type")]
        public string operationType { get; set; }

        /// <summary>
        /// 入库类型(1采购入库,2返库入库，9其他入库)
        /// </summary>
        [Column("instock_type")]
        public string instockType { get; set; }

        /// <summary>
        /// 物料ID，关联物料信息主键
        /// </summary>
        [Column("material_id")]
        public long? materialId { get; set; }

        /// <summary>
        /// 物料条码信息
        /// </summary>
        [Column("material_barcode")]
        public string materialBarCode { get; set; }

        /// <summary>
        /// 物料批次信息
        /// </summary>
        [Column("material_batch_code")]
        public string materialBatchCode { get; set; }

        /// <summary>
        /// 托盘RFID代码
        /// </summary>
        [Column("pallet_info_code")]
        public string palletInfoCode { get; set; }

        /// <summary>
        /// 入库数量
        /// </summary>
        [Column("instock_amount")]
        public decimal? instockAmount { get; set; }

        ///// <summary>
        ///// 申请原因
        ///// </summary>
        //[Column("apply_reason")]
        //public string applyReason { get; set; }

        ///// <summary>
        ///// 审核原因
        ///// </summary>
        //[Column("audit_reason")]
        //public string auditReason { get; set; }

        ///// <summary>
        ///// 审核状态(0待审核,1审核通过,2审核未通过)
        ///// </summary>
        //[Column("audit_status")]
        //public string auditStatus { get; set; }

        /// <summary>
        /// 执行状态(0待执行,1执行中,2执行完成)
        /// </summary>
        [Column("execute_status")]
        public string executeStatus { get; set; }

        /// <summary>
        /// 申请人
        /// </summary>
        [Column("apply_by")]
        public string applyBy { get; set; }

        /// <summary>
        /// 申请时间
        /// </summary>
        [Column("apply_date")]
        public DateTime? applyDate { get; set; }

        ///// <summary>
        ///// 审核人
        ///// </summary>
        //[Column("audit_by")]
        //public string auditBy { get; set; }

        ///// <summary>
        ///// 审核时间
        ///// </summary>
        //[Column("audit_date")]
        //public DateTime? auditDate { get; set; }

        /// <summary>
        /// 最后更新人
        /// </summary>
        [Column("update_by")]
        public string updateBy { get; set; }

        /// <summary>
        /// 最后更新时间
        /// </summary>
        [Column("update_date")]
        public DateTime? updateDate { get; set; }

        /// <summary>
        /// 开始时间
        /// </summary>
        [Column("begin_time")]
        public DateTime? beginTime { get; set; }

        /// <summary>
        /// 结束时间
        /// </summary>
        [Column("end_time")]
        public DateTime? endTime { get; set; }

        /// <summary>
        /// 请求返回标识(1是)，execute_status改为2时此return_flag改为null
        /// </summary>
        [Column("return_flag")]
        public string? returnFlag { get; set; }

        /// <summary>
        /// 请求返回标识(1是)，execute_status改为2时此return_flag改为null
        /// </summary>
        [Column("purchase_order_id")]
        public long? purchaseOrderId { get; set; }
    }
}

