using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WCS.DAL.DbModels;
using WCS.Model.ApiModel.InOutRecord;
namespace WCS.BLL.DbModels
{
///
/// 出入库记录
///
[SugarTable("wcs_in_out_record")]
public class InOutRecord
{
///
/// 主键 自增Id
///
[SugarColumn(ColumnName = "id", IsPrimaryKey = true, IsNullable = false, IsIdentity = true)]
public int Id { get; set; }
#region 库位属性
///
/// 入库的库位表ID
///
[SugarColumn(ColumnName = "store_id", IsNullable = false, ColumnDescription = "库位ID")]
public int StoreId { get; set; }
///
/// 入库的库位编码
///
[SugarColumn(ColumnName = "store_code", Length = 50, IsNullable = false, ColumnDescription = "库位编码")]
public string StoreCode { get; set; }
[Navigate(NavigateType.OneToOne, nameof(StoreId))]
public StoreInfo StoreInfo { get; set; }
#endregion
#region 物料属性
///
/// 物料编码(SN)
///
[SugarColumn(ColumnName = "mat_sn", Length = 200, IsNullable = false, ColumnDescription = "物料SN")]
public string MatSN { get; set; }
///
/// 物料编码
///
[SugarColumn(ColumnName = "mat_code", Length = 100, IsNullable = true, ColumnDescription = "物料编号")]
public string MatCode { get; set; }
///
/// 物料名称
///
[SugarColumn(ColumnName = "mat_name", Length = 150, IsNullable = true, ColumnDescription = "物料名称")]
public string MatName { get; set; }
///
/// 物料规格
///
[SugarColumn(ColumnName = "mat_spec", Length = 150, IsNullable = true, ColumnDescription = "物料规格")]
public string MatSpec { get; set; }
///
/// 物料批次
///
[SugarColumn(ColumnName = "mat_batch", Length = 150, IsNullable = true, ColumnDescription = "物料批次")]
public string MatBatch { get; set; }
///
/// 物料数量
///
[SugarColumn(ColumnName = "mat_qty", IsNullable = false, ColumnDescription = "物料数量")]
public int MatQty { get; set; }
///
/// 物料供应商
///
[SugarColumn(ColumnName = "mat_supplier", Length = 150, IsNullable = true, ColumnDescription = "物料供应商")]
public string? MatSupplier { get; set; }
///
/// 物料客户
///
[SugarColumn(ColumnName = "mat_customer", Length = 150, IsNullable = true, ColumnDescription = "物料客户")]
public string? MatCustomer { get; set; }
#endregion
///
/// 出库单据号/盘点单据号
///
[SugarColumn(ColumnName = "order_number", Length = 50, IsNullable = true, ColumnDescription = "出库单据号/盘点单据号")]
public string? OrderNumber { get; set; }
///
/// 出入库方向
///
[SugarColumn(ColumnName = "direction", IsNullable = false, ColumnDescription = "出入库方向: 入库 = 0,\r\n 出库 = 1,\r\n 丢失 = 2")]
public DirectionEnum Direction { get; set; }
///
/// 是否已上传
///
[SugarColumn(ColumnName = "is_upload", IsNullable = false, ColumnDescription = "物料信息是否已上传")]
public bool IsUpload { get; set; } = false;
///
/// 创建时间
///
[SugarColumn(ColumnName = "operate_time", IsNullable = false, ColumnDescription = "创建时间")]
public DateTime OperateTime { get; set; } = DateTime.Now;
///
/// 创建人
///
[SugarColumn(ColumnName = "operate_user", Length = 100, IsNullable = true, ColumnDescription = "创建人")]
public string OperateUser { get; set; }
///
/// 串联绑定后的大货架编码
///
[SugarColumn(ColumnName = "Bind_shelf_code", IsNullable = true, ColumnDescription = "串联绑定后的大货架编码")]
public string? BigShelfCode { get; set; } = string.Empty;
///
/// Row 行
///
[SugarColumn(ColumnName = "R", Length = 10, IsNullable = true, ColumnDescription = "库位 行")]
public string R { get; set; }
///
/// Column 列
///
[SugarColumn(ColumnName = "C", Length = 10, IsNullable = true, ColumnDescription = "库位 列")]
public string C { get; set; }
///
/// Column 位
///
[SugarColumn(ColumnName = "Wei", Length = 10, IsNullable = true, ColumnDescription = "库位 位 第几个库位灯")]
public string Wei { get; set; }
///
/// 货架的组别、区域(区分单个软件管哪些货架的,前端的配置文件配置一个组别,查询时只显示当前组别的货架)
///
[SugarColumn(ColumnName = "group_name", Length = 50, IsNullable = false, DefaultValue = "0", ColumnDescription = "货架的组别、区域(区分单个软件管哪些货架的,前端的配置文件配置一个组别,查询时只显示当前组别的货架)")]
public string GroupName { get; set; }
///
/// 序号
///
[SugarColumn(IsIgnore = true)]
public int RowNumber { get; set; }
///
/// 是否已经选择
///
[SugarColumn(IsIgnore = true)]
public bool IsSelected { get; set; }
}
}