using CMS.Plugin.HIAWms.Domain.Shared.Enums;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Domain.Entities;
namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsPlaces;
/// 
/// WmsPlace数据参数对象
/// 
public class WmsPlaceDto : ExtensibleEntityDto, IHasConcurrencyStamp
{
    /// 
    /// 编号
    /// 
    public virtual string PlaceNo { get; protected set; }
    /// 
    /// 货位类型
    /// 
    public PlaceTypeEnum StorageTypeNo { get; protected set; }
    /// 
    /// 货位类型
    /// 
    public string StorageTypeNoDesc
    {
        get
        {
            return GetEnumDescriptionUtil.GetEnumDescription(StorageTypeNo);
        }
    }
    /// 
    /// 货位状态
    /// 
    public PlaceStatusEnum PlaceStatus { get; protected set; }
    /// 
    /// 货位状态
    /// 
    public string PlaceStatusDesc
    {
        get
        {
            return GetEnumDescriptionUtil.GetEnumDescription(PlaceStatus);
        }
    }
    /// 
    /// 所在库区
    /// 
    public string AreaCode { get; protected set; }
    /// 
    /// 巷道
    /// 
    public int Aisle { get; protected set; }
    /// 
    /// 排
    /// 
    public int RowNo { get; protected set; }
    /// 
    /// 列
    /// 
    public int ColumnNo { get; protected set; }
    /// 
    /// 层
    /// 
    public int LayerNo { get; protected set; }
    /// 
    /// 是否锁定
    /// 
    public YesNoEnum Islock { get; protected set; }
    /// 
    /// 是否锁定
    /// 
    public string IslockDesc
    {
        get
        {
            return GetEnumDescriptionUtil.GetEnumDescription(Islock);
        }
    }
    /// 
    /// 是否空托
    /// 
    public YesNoEnum EmptyContainer { get; protected set; }
    /// 
    /// 是否空托
    /// 
    public string EmptyContainerDesc
    {
        get
        {
            return GetEnumDescriptionUtil.GetEnumDescription(EmptyContainer);
        }
    }
    /// 
    /// 冗余字段1 - 预留扩展用途
    /// 
    public string RedundantField1 { get; set; }
    /// 
    /// 冗余字段2 - 预留扩展用途
    /// 
    public string RedundantField2 { get; set; }
    /// 
    /// 冗余字段3 - 预留扩展用途
    /// 
    public string RedundantField3 { get; set; }
    /// 
    /// 排序
    /// 
    public virtual int Sort { get; set; }
    /// 
    /// 备注
    /// 
    public virtual string Remark { get; set; }
    /// 
    /// 是否禁用
    /// 
    public virtual bool? IsDisabled { get; set; }
    /// 
    /// 并发戳
    /// 
    public string ConcurrencyStamp { get; set; }
    /// 
    /// Gets the export data.
    /// 
    /// 
    public Dictionary GetExportData()
    {
        var exportData = new Dictionary();
        foreach (var property in this.GetType().GetProperties())
        {
            exportData.Add(property.Name, property.GetValue(this));
        }
        return exportData;
    }
}