
//-----------------------------------------------------------------------
//<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_base_location")]
    public class WmsBaseLocation
    {

        [Key]
        [Column("location_id")]
        public long locationId { get; set; }

        /// <summary>
        /// 料箱号
        /// </summary>
        [Column("container_code")]
        public string containerCode { get; set; }
        /// <summary>
        /// 仓库ID，关联wms_base_warehouse的warehouse_id
        /// </summary>
        [Column("warehouse_id")]
        public long warehouseId { get; set; }

        /// <summary>
        /// agv的点位编码
        /// </summary>
        [Column("agv_position_code")]
        public string agvPositionCode { get; set; }

        [Column("warehouse_floor")]
        public int? warehouseFloor { get; set; }

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

        /// <summary>
        /// 排
        /// </summary>
        [Column("loc_row")]
        public int? locRow { get; set; }

        /// <summary>
        /// 层数
        /// </summary>
        [Column("layer_num")]
        public int? layerNum { get; set; }

        /// <summary>
        /// 列
        /// </summary>
        [Column("loc_column")]
        public int? locColumn { get; set; }

        /// <summary>
        /// 深位1 浅位2
        /// </summary>
        [Column("loc_deep")]
        public int? locDeep { get; set; }

        /// <summary>
        /// 激活标记 1是 0否
        /// </summary>
        [Column("active_flag")]
        public string activeFlag { get; set; }

        /// <summary>
        /// 人工处理标识（1是,0否），对于agv仓库可选择
        /// </summary>
        [Column("manual_flag")]
        public string manualFlag { get; set; }

        /// <summary>
        /// 返库标识（1是0否）;用来标识是否是拆分后返库的库位
        /// </summary>
        [Column("return_flag")]
        public string returnFlag { get; set; }

        /// <summary>
        /// 数量限制
        /// </summary>
        [Column("qty_limit")]
        public decimal? qtyLimit { get; set; }

        ///// <summary>
        ///// 入库过度库位标识(1:是,0:否)
        ///// </summary>
        //[Column("instock_flag")]
        //public string instockFlag { get; set; }

        ///// <summary>
        ///// 出库过度库位标识(1:是,0:否)
        ///// </summary>
        //[Column("outstock_flag")]
        //public string outstockFlag { get; set; }

        /// <summary>
        /// 库位状态(1:正常,2:自动锁定,3:人工锁定,4:移库锁定，5:合库锁定 6出库锁定);在正常时，库位可以使用，如果是自动锁定则需要自动解锁变成正常，如果是人工锁定需要人工解锁变成正常
        /// </summary>
        [Column("location_status")]
        public string locationStatus { get; set; }

        /// <summary>
        /// 允许混放批次 1是 0否(预留，先不显示此字段);先按仓库的判断
        /// </summary>
        [Column("batch_mix")]
        public string batchMix { get; set; }

        /// <summary>
        /// 创建者
        /// </summary>
        [Column("create_by")]
        public string createBy { get; set; }

        /// <summary>
        /// 创建时间
        /// </summary>
        [Column("create_time")]
        public DateTime? createTime { get; set; }

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

        /// <summary>
        /// 更新时间
        /// </summary>
        [Column("update_time")]
        public DateTime? updateTime { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        [Column("remark")]
        public string remark { get; set; }

        /// <summary>
        /// 删除标志 1删除 0显示
        /// </summary>
        [Column("del_flag")]
        public string delFlag { get; set; }

        /// <summary>
        /// 上架顺序
        /// </summary>
        [Column("shelf_order")]
        public string shelfOrder { get; set; }

        /// <summary>
        /// 盘点顺序
        /// </summary>
        [Column("check_order")]
        public string checkOrder { get; set; }

        /// <summary>
        /// 拣货顺序
        /// </summary>
        [Column("pick_order")]
        public string pickOrder { get; set; }

        /// <summary>
        /// 是否允许拣货
        /// </summary>
        [Column("pick_flag")]
        public string pickFlag { get; set; }

        /// <summary>
        /// 是否开启库内交接 0：未开启 1：开启
        /// </summary>
        [Column("is_open_kn_flag")]
        public string isOpenKnFlag { get; set; }

        /// <summary>
        /// 是否报废库位 1:正常  0：报废
        /// </summary>
        [Column("location_scrap_type")]
        public string locationScrapType { get; set; }

        /// <summary>
        /// 体积限制
        /// </summary>
        [Column("volume_limit")]
        public decimal? volumeLimit { get; set; }

        /// <summary>
        /// 重量限制
        /// </summary>
        [Column("weight_limit")]
        public decimal? weightLimit { get; set; }

        /// <summary>
        /// 长度
        /// </summary>
        [Column("length")]
        public decimal? length { get; set; }

        /// <summary>
        /// 宽度
        /// </summary>
        [Column("width")]
        public decimal? width { get; set; }

        /// <summary>
        /// 高度
        /// </summary>
        [Column("height")]
        public decimal? height { get; set; }

        [Column("container_status")]
        public string ContainerStatus { get; set; }

        /// <summary>
        /// 异常描述
        /// </summary>
        [Column("exception_desc")]
        public string ExceptionDesc { get; set; }
    }
}

