
//-----------------------------------------------------------------------
//<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_return")]
    public class WmsRawReturn
    {

        [Key]
        [Column("raw_return_id")]
        public long? rawReturnId { 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>
        /// 计划编号,关联mes_product_plan_info的plan_code
        /// </summary>
        [Column("plan_code")]
        public string planCode { get; set; }

        /// <summary>
        /// 计划明细编号,关联mes_product_plan_detail的plan_detail_code
        /// </summary>
        [Column("plan_detail_code")]
        public string planDetailCode { get; set; }


        [Column("material_id")]
        public long? materialId { get; set; }

        ///// <summary>
        ///// 物料批次
        ///// </summary>
        //[Column("material_batch")]
        //public string materialBatch { get; set; }

        /// <summary>
        /// 计划出库数量
        /// </summary>
        [Column("plan_amount")]
        public decimal planAmount { get; set; }

        /// <summary>
        /// 已出库数量
        /// </summary>
        [Column("return_amount")]
        public decimal returnAmount { get; set; }

        /// <summary>
        /// 出库目的地
        /// </summary>
        [Column("end_station_code")]
        public string endStationCode { get; set; }

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

        /// <summary>
        /// 任务类型(1生产领料,2拆分出库,3组装出库,9其他)
        /// </summary>
        [Column("task_type")]
        public string taskType { 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; }
    }
}

