|
|
|
using System.ComponentModel.DataAnnotations;
|
|
|
|
using Win_in.Sfs.Shared.Domain;
|
|
|
|
using Win_in.Sfs.Shared.Domain.Shared;
|
|
|
|
|
|
|
|
namespace Win_in.Sfs.Basedata.Application.Contracts;
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// 库位
|
|
|
|
/// </summary>
|
|
|
|
[Display(Name = "库位")]
|
|
|
|
public class LocationDTO : SfsBaseDataDTOBase, IHasCode, IHasName, IHasLocationSwitch
|
|
|
|
{
|
|
|
|
/// <summary>
|
|
|
|
/// 代码
|
|
|
|
/// </summary>
|
|
|
|
[Display(Name = "代码")]
|
|
|
|
[StringLength(SfsEfCorePropertyConst.NameLength, ErrorMessage = "{0}最多输入{1}个字符")]
|
|
|
|
public string Code { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// 名称
|
|
|
|
/// </summary>
|
|
|
|
[Display(Name = "名称")]
|
|
|
|
[StringLength(SfsEfCorePropertyConst.NameLength, ErrorMessage = "{0}最多输入{1}个字符")]
|
|
|
|
public string Name { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// 描述
|
|
|
|
/// </summary>
|
|
|
|
[Display(Name = "描述")]
|
|
|
|
[StringLength(SfsEfCorePropertyConst.RemarkLength, ErrorMessage = "{0}最多输入{1}个字符")]
|
|
|
|
public string Description { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// 库位类型
|
|
|
|
/// </summary>
|
|
|
|
[Display(Name = "库位类型")]
|
|
|
|
public EnumLocationType Type { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// ERP库位代码
|
|
|
|
/// </summary>
|
|
|
|
[Display(Name = "ERP库位代码")]
|
|
|
|
[StringLength(SfsEfCorePropertyConst.NameLength, ErrorMessage = "{0}最多输入{1}个字符")]
|
|
|
|
public string ErpLocationCode { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// 仓库代码
|
|
|
|
/// </summary>
|
|
|
|
[Display(Name = "仓库代码")]
|
|
|
|
[StringLength(SfsEfCorePropertyConst.NameLength, ErrorMessage = "{0}最多输入{1}个字符")]
|
|
|
|
public string WarehouseCode { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// 区域代码
|
|
|
|
/// </summary>
|
|
|
|
[Display(Name = "区域代码")]
|
|
|
|
[StringLength(SfsEfCorePropertyConst.NameLength, ErrorMessage = "{0}最多输入{1}个字符")]
|
|
|
|
public string AreaCode { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// 库位组代码
|
|
|
|
/// </summary>
|
|
|
|
[Display(Name = "库位组代码")]
|
|
|
|
[StringLength(SfsEfCorePropertyConst.NameLength, ErrorMessage = "{0}最多输入{1}个字符")]
|
|
|
|
public string LocationGroupCode { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// 工作组代码
|
|
|
|
/// </summary>
|
|
|
|
[Display(Name = "工作组代码")]
|
|
|
|
[StringLength(SfsEfCorePropertyConst.NameLength, ErrorMessage = "{0}最多输入{1}个字符")]
|
|
|
|
public string WorkGroupCode { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// 货架号
|
|
|
|
/// </summary>
|
|
|
|
[Display(Name = "货架号")]
|
|
|
|
[StringLength(SfsEfCorePropertyConst.NameLength, ErrorMessage = "{0}最多输入{1}个字符")]
|
|
|
|
public string ShelfCode { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// 行号
|
|
|
|
/// </summary>
|
|
|
|
[Display(Name = "行号")]
|
|
|
|
public int RowCode { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// 列号
|
|
|
|
/// </summary>
|
|
|
|
[Display(Name = "列号")]
|
|
|
|
public int ColumnCode { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// 默认库存状态
|
|
|
|
/// </summary>
|
|
|
|
[Display(Name = "默认库存状态")]
|
|
|
|
public EnumInventoryStatus DefaultInventoryStatus { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// 拣料优先级
|
|
|
|
/// </summary>
|
|
|
|
[Display(Name = "拣料优先级")]
|
|
|
|
public int PickPriority { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// 拣料顺序
|
|
|
|
/// </summary>
|
|
|
|
[Display(Name = "拣料顺序")]
|
|
|
|
public int PickOrder { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// 可以混物品
|
|
|
|
/// </summary>
|
|
|
|
[Display(Name = "可以混物品")]
|
|
|
|
public bool EnableMixItem { get; set; } = true;
|
|
|
|
/// <summary>
|
|
|
|
/// 可以混批次
|
|
|
|
/// </summary>
|
|
|
|
[Display(Name = "可以混批次")]
|
|
|
|
public bool EnableMixLot { get; set; } = true;
|
|
|
|
/// <summary>
|
|
|
|
/// 可以混状态
|
|
|
|
/// </summary>
|
|
|
|
[Display(Name = "可以混状态")]
|
|
|
|
public bool EnableMixStatus { get; set; } = true;
|
|
|
|
/// <summary>
|
|
|
|
/// 可以负库存
|
|
|
|
/// </summary>
|
|
|
|
[Display(Name = "可以负库存")]
|
|
|
|
public bool EnableNegative { get; set; } = true;
|
|
|
|
/// <summary>
|
|
|
|
/// 可以保留零库存
|
|
|
|
/// </summary>
|
|
|
|
[Display(Name = "可以保留零库存")]
|
|
|
|
public bool EnableKeepZero { get; set; } = true;
|
|
|
|
/// <summary>
|
|
|
|
/// 可以机会盘点
|
|
|
|
/// </summary>
|
|
|
|
[Display(Name = "可以机会盘点")]
|
|
|
|
public bool EnableOpportunityCount { get; set; } = true;
|
|
|
|
/// <summary>
|
|
|
|
/// 可以领料
|
|
|
|
/// </summary>
|
|
|
|
[Display(Name = "可以领料")]
|
|
|
|
public bool EnablePick { get; set; } = true;
|
|
|
|
/// <summary>
|
|
|
|
/// 可以过量领料
|
|
|
|
/// </summary>
|
|
|
|
[Display(Name = "可以过量领料")]
|
|
|
|
public bool EnableOverPick { get; set; } = true;
|
|
|
|
/// <summary>
|
|
|
|
/// 可以整包存储
|
|
|
|
/// </summary>
|
|
|
|
[Display(Name = "可以整包存储")]
|
|
|
|
public bool EnableWholeStore { get; set; } = true;
|
|
|
|
/// <summary>
|
|
|
|
/// 可以散件存储
|
|
|
|
/// </summary>
|
|
|
|
[Display(Name = "可以散件存储")]
|
|
|
|
public bool EnableBreakStore { get; set; } = true;
|
|
|
|
/// <summary>
|
|
|
|
/// 可以发出
|
|
|
|
/// </summary>
|
|
|
|
[Display(Name = "可以发出")]
|
|
|
|
public bool EnableShip { get; set; } = true;
|
|
|
|
/// <summary>
|
|
|
|
/// 可以接收
|
|
|
|
/// </summary>
|
|
|
|
[Display(Name = "可以接收")]
|
|
|
|
public bool EnableReceive { get; set; } = true;
|
|
|
|
/// <summary>
|
|
|
|
/// 可以退货给供应商
|
|
|
|
/// </summary>
|
|
|
|
[Display(Name = "可以退货给供应商")]
|
|
|
|
public bool EnableReturnToSupplier { get; set; } = true;
|
|
|
|
/// <summary>
|
|
|
|
/// 可以接收客户退货
|
|
|
|
/// </summary>
|
|
|
|
[Display(Name = "可以接收客户退货")]
|
|
|
|
public bool EnableReturnFromCustomer { get; set; } = true;
|
|
|
|
/// <summary>
|
|
|
|
/// 是否可以拆箱
|
|
|
|
/// </summary>
|
|
|
|
[Display(Name = "是否可以拆箱")]
|
|
|
|
public bool EnableSplitBox { get; set; } = true;
|
|
|
|
/// <summary>
|
|
|
|
/// 是否可以拆托
|
|
|
|
/// </summary>
|
|
|
|
[Display(Name = "是否可以拆托")]
|
|
|
|
public bool EnableSplitPallet { get; set; } = true;
|
|
|
|
}
|