using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Text.Json.Serialization;
namespace Mirle.Component.Database.Model.WES
{
///
/// 儲位基本資料類別
///
[Table("CFG_LOC")]
public class CfgLocDto : CommonDto
{
///
/// 儲存區編號
///
///
/// STAT[Floor][Sequence * 2]
/// AUTO[Floor][Sequence * 2]
/// TEMP[Floor][Sequence * 2]
///
[Column(Name = "STORAGE_ID")]
[Required, Key, StringLength(7), JsonPropertyName("STORAGE_ID"), JsonPropertyOrder(1)]
public string STORAGE_ID { get; set; }
///
/// 儲位編號
///
[Column(Name = "LOC_ID")]
[Required, Key, StringLength(9), JsonPropertyName("LOC_ID"), JsonPropertyOrder(2)]
public string LOC_ID { get; set; }
///
/// 可存放的產品類別
///
[Column(Name = "PRODUCT_TYPE")]
[Required, StringLength(10), JsonPropertyName("PRODUCT_TYPE"), JsonPropertyOrder(3)]
public string PRODUCT_TYPE { get; set; }
///
/// 列 (X)
///
[Column(Name = "ROW_X")]
[Required, StringLength(3), JsonPropertyName("ROW_X"), JsonPropertyOrder(4)]
public string ROW_X { get; set; }
///
/// 行 (Y)
///
[Column(Name = "BAY_Y")]
[Required, StringLength(3), JsonPropertyName("BAY_Y"), JsonPropertyOrder(5)]
public string BAY_Y { get; set; }
///
/// 層 (Z)
///
[Column(Name = "LEVEL_Z")]
[Required, StringLength(3), JsonPropertyName("LEVEL_Z"), JsonPropertyOrder(6)]
public string LEVEL_Z { get; set; }
///
/// 儲位尺寸
///
///
/// h = 大
/// m = 中
/// s = 小
/// G = 不區分
///
[Column(Name = "LOC_SIZE")]
[StringLength(1), JsonPropertyName("LOC_SIZE"), JsonPropertyOrder(7)]
public string LOC_SIZE { get; set; } = "G";
///
/// 儲為寬度
///
/// 單位: meter
[Column(Name = "LOC_WEIGHT")]
[JsonPropertyName("LOC_WEIGHT"), JsonPropertyOrder(8)]
public int LOC_WEIGHT { get; set; }
///
/// 儲位高度
///
/// 單位: meter
[Column(Name = "LOC_HEIGHT")]
[JsonPropertyName("LOC_HEIGHT"), JsonPropertyOrder(9)]
public int LOC_HEIGHT { get; set; }
///
/// 儲位深度
///
/// 單位: meter
[Column(Name = "LOC_DEPTH")]
[JsonPropertyName("LOC_DEPTH"), JsonPropertyOrder(10)]
public int LOC_DEPTH { get; set; }
///
/// 儲位可乘載重量
///
/// 單位 : kgs
[Column(Name = "LOC_LOADING")]
[JsonPropertyName("LOC_LOADING"), JsonPropertyOrder(11)]
public int LOC_LOADING { get; set; }
///
/// 備註
///
[Column(Name = "REMARKS")]
[StringLength(255), JsonPropertyName("REMARKS"), JsonPropertyOrder(12)]
public string REMARKS { get; set; }
///
/// 圖座標 X
///
[Column(Name = "AXIS_X")]
[JsonPropertyName("AXIS_X"), JsonPropertyOrder(13)]
public double AXIS_X { get; set; } = 0.0;
///
/// 圖座標 Y
///
[Column(Name = "AXIS_Y"), JsonPropertyName("AXIS_Y"), JsonPropertyOrder(14)]
public double AXIS_Y { get; set; } = 0.0;
}
}