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, Length = 50, ColumnDescription = "仓库编号")]
public string WarehouseCode { get; set; }
///
/// 物料编号
///
[SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "物料编号")]
public string MaterielCode { get; set; }
///
/// 上游给的基础物料类型
///
[SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "上游给的基础物料类型")]
public string MaterielErpType { 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 = true, ColumnDescription = "物料体积")]
public float? MaterielVolume { get; set; }
///
/// 物料重量
///
[SugarColumn(IsNullable = true, ColumnDescription = "物料重量")]
public float? MaterielWeight { get; set; }
///
/// 物料存储条件
///
[SugarColumn(IsNullable = true, ColumnDescription = "物料存储条件")]
public float ? MaterielStoragecondition { 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 = false, ColumnDescription = "是否下发给下游状态(未下发,已下发)")]
public string GoodStatusState { get; set; }
///
/// 备注
///
[SugarColumn(IsNullable = true, Length = 200, ColumnDescription = "备注")]
public string Remark { get; set; }
}
}