using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEA_Common;
using WIDESEA_Common.CommonEnum;
using WIDESEA_Common.MaterielEnum;
using WIDESEA_Core.DB.Models;
namespace WIDESEA_Model.Models
{
///
/// 物料信息
///
[SugarTable(nameof(Dt_MaterielInfo), "物料信息")]
[SugarIndex("unique_materielinfo_materielcode", nameof(MaterielCode), OrderByType.Asc, true)]
public class Dt_MaterielInfo : BaseEntity//, BaseWarehouseEntity
{
///
/// 主键
///
[SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnDescription = "主键")]
public int Id { get; set; }
///
/// 仓库编号;库房编号
///
[SugarColumn(IsNullable = true, ColumnDescription = "仓库编号")]
public int WarehouseId { get; set; }
///
/// 物料编号
///
[SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "物料编号")]
public string MaterielCode { get; set; }
///
/// 物料名称
///
[SugarColumn(IsNullable = false, Length = 200, ColumnDescription = "物料名称")]
public string MaterielName { get; set; }
///
/// 品名
///
[SugarColumn(IsNullable = true, Length = 200, ColumnDescription = "品名")]
public string item { get; set; }
///
/// 物料规格
///
[SugarColumn(IsNullable = false, Length = 200, ColumnDescription = "物料规格")]
public string MaterielSpec { get; set; }
///
/// 物料基本分类(1:成品、2:半成品、3:原材料、4:备件);全部默认成品
///
[SugarColumn(IsNullable = false, ColumnDescription = "物料基本分类(1:成品、2:半成品、3:原材料、4:备件)")]
public MaterielTypeEnum MaterielType { get; set; } = MaterielTypeEnum.FinishProduct;
///
/// 物料属性分类(1:大件、2:小件)
/// 大件只放平库,小件根据立库最低库存数和箱规(散货)区分是否入立库
///
[SugarColumn(IsNullable = false, ColumnDescription = "物料属性分类(1:大件、2:小件)")]
public MaterielSourceTypeEnum MaterielSourceType { get; set; }
///
/// 生产厂家
///
[SugarColumn(IsNullable = true, Length = 200, ColumnDescription = "物料规格")]
public string Factory { get; set; }
///
/// 基本单位(buyUnitId/StockUnitId)
///
[SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "基本单位(buyUnitId/StockUnitId)")]
public string MaterielUnit { get; set; }
///
/// 物料长度
///
[SugarColumn(IsNullable = true, ColumnDescription = "物料长度")]
public float? MaterielLength { get; set; }
///
/// 物料宽度
///
[SugarColumn(IsNullable = true, ColumnDescription = "物料宽度")]
public float? MaterielWide { get; set; }
///
/// 物料高度
///
[SugarColumn(IsNullable = true, ColumnDescription = "物料高度")]
public float? MaterielHeight { get; set; }
///
/// 箱规
///
[SugarColumn(IsNullable = false, ColumnDescription = "箱规")]
public decimal BoxQty { get; set; }
///
/// 立库最低库存数
///
[SugarColumn(IsNullable = false, ColumnDescription = "立库最低库存数")]
public decimal MinQty { get; set; }
///
/// 立库业务库存数;根据出入库数量变化
///
[SugarColumn(IsNullable = false, ColumnDescription = "立库业务库存数")]
public decimal Business_qty { get; set; }
///
/// 立库最高库存数
///
[SugarColumn(IsNullable = true, ColumnDescription = "立库最高库存数")]
public float? MaxQty { get; set; }
///
/// 物料型号
///
[SugarColumn(IsNullable = true, ColumnDescription = "物料型号")]
public string MaterielModel { get; set; }
///
/// 物料状态(0:禁用、1:可用)
///
[SugarColumn(IsNullable = false, ColumnDescription = "物料状态(0:禁用、1:可用)")]
public EnableEnum MaterielState { get; set; }
///
/// 备注
///
[SugarColumn(IsNullable = true, Length = 200, ColumnDescription = "备注")]
public string Remark { get; set; }
}
}