using iWareCommon.Common.Entity;
|
using iWareCommon.Utils;
|
using iWareDataCore.ORM;
|
using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Text;
|
using System.Threading.Tasks;
|
|
namespace iWareDataCore.BASE.Entity
|
{
|
public class MaterialEntity : ICommonEntity<BASEMaterial>
|
{
|
/// <summary>
|
/// 1物料主键
|
/// </summary>
|
public int Id { get; set; }
|
|
/// <summary>
|
/// 2物料名称
|
/// </summary>
|
public string Name { get; set; }
|
|
/// <summary>
|
/// 2物料规格号
|
/// </summary>
|
public string MaterialNo { get; set; }
|
|
/// <summary>
|
/// 3物料号
|
/// </summary>
|
public string Code { get; set; }
|
|
/// <summary>
|
/// 4版本(用于保存在SAP中的物料类型)
|
/// </summary>
|
public string Version { get; set; }
|
|
/// <summary>
|
/// 5物料状态(启用、禁用)
|
/// </summary>
|
public int Status { get; set; }
|
|
/// <summary>
|
/// 6外键物料类型id
|
/// </summary>
|
public int TypeId { get; set; }
|
|
/// <summary>
|
/// 7保质期
|
/// </summary>
|
public string GuaranteePeriod { get; set; }
|
|
/// <summary>
|
/// 8计数单位
|
/// </summary>
|
public string Unit { get; set; }
|
|
/// <summary>
|
/// 9备注(用于保存SAP中的物料组)
|
/// </summary>
|
public string Remark { get; set; }
|
|
/// <summary>
|
/// 10描述
|
/// </summary>
|
public string Description { get; set; }
|
|
/// <summary>
|
/// 11成本
|
/// </summary>
|
public decimal Cost { get; set; }
|
|
/// <summary>
|
/// 12船级社
|
/// </summary>
|
public string ClassificationSociety { get; set; }
|
|
/// <summary>
|
/// 13分段号
|
/// </summary>
|
public string SerialNo { get; set; }
|
|
/// <summary>
|
/// 14垂直位置
|
/// </summary>
|
public string VerticalPosition { get; set; }
|
|
/// <summary>
|
/// 15重量
|
/// </summary>
|
public string Weight { get; set; }
|
|
/// <summary>
|
/// 16发放工程号
|
/// </summary>
|
public string IssueProjectNo { get; set; }
|
|
/// <summary>
|
/// 17采购工程号
|
/// </summary>
|
public string ProcurementProjectNo { get; set; }
|
|
/// <summary>
|
/// 18切割类型
|
/// </summary>
|
public string CuttingType { get; set; }
|
|
/// <summary>
|
/// 19页码
|
/// </summary>
|
public string PageNo { get; set; }
|
|
/// <summary>
|
/// 20厚
|
/// </summary>
|
public string Thick { get; set; }
|
|
/// <summary>
|
/// 21宽
|
/// </summary>
|
public string Wide { get; set; }
|
|
/// <summary>
|
/// 22长
|
/// </summary>
|
public string Length { get; set; }
|
|
/// <summary>
|
/// 23记号笔
|
/// </summary>
|
public string MarkingPen { get; set; }
|
|
/// <summary>
|
/// 24分道
|
/// </summary>
|
public string LaneSeparation { get; set; }
|
|
|
|
|
|
|
/// <summary>
|
/// 无参构造
|
/// </summary>
|
public MaterialEntity() { }
|
|
|
/// <summary>
|
/// 有参构造
|
/// </summary>
|
/// <param name="material">orm映射的类</param>
|
public MaterialEntity(BASEMaterial material)
|
{
|
EntityPropHelper<MaterialEntity, BASEMaterial>.CopyProp(material, this, GetColumnMap());
|
|
}
|
|
|
/// <summary>
|
/// 转换视图的方法
|
/// </summary>
|
/// <param name="material"></param>
|
public MaterialEntity(MaterialViewEntity material)
|
{
|
var keys = GetColumnMap().Keys.ToList();
|
var columnMap = new Dictionary<string, string>();
|
keys.ForEach(x => columnMap.Add(x, x));
|
|
EntityPropHelper<MaterialEntity, MaterialViewEntity>.CopyProp(material, this, columnMap);
|
|
}
|
|
|
/// <summary>
|
/// 将对象转换成ORM中的类型
|
/// </summary>
|
/// <returns>Orm中的BASEMaterial类型</returns>
|
public BASEMaterial ToOrm()
|
{
|
BASEMaterial material = new BASEMaterial();
|
|
EntityPropHelper<MaterialEntity, BASEMaterial>.CopyProp(this, material, GetColumnMap());
|
|
return material;
|
}
|
|
|
|
///<summary>
|
/// 获取自定义角色类中的字段名为键,orm中对象的字段名为值的字段
|
/// </summary>
|
/// <returns></returns>
|
public static Dictionary<string, string> GetColumnMap()
|
{
|
return new Dictionary<string, string>()
|
{
|
{ "Id", "id"},
|
{ "Name", "name"},
|
{ "Code", "code"},
|
{ "MaterialNo", "materialno"},
|
{ "Version", "version"},
|
{ "Status", "status"},
|
{ "TypeId","typeid"},
|
{ "GuaranteePeriod", "guaranteeperiod"},
|
{ "Unit", "unit"},
|
{ "Remark", "remark"},
|
{ "Description", "description"},
|
{ "Cost", "cost"},
|
{ "ClassificationSociety", "classificationsociety"},
|
{ "SerialNo", "serialno"},
|
{ "VerticalPosition", "verticalposition"},
|
{ "Weight", "weight"},
|
{ "IssueProjectNo", "issueprojectno"},
|
{ "ProcurementProjectNo", "procurementprojectno"},
|
{ "CuttingType", "cuttingtype"},
|
{ "PageNo", "pageno"},
|
{ "Thick", "thick"},
|
{ "Wide", "wide"},
|
{ "Length", "length"},
|
{ "MarkingPen", "markingpen"},
|
{ "LaneSeparation", "laneseparation"}
|
|
};
|
}
|
|
|
|
|
/// <summary>
|
/// 根据MaterialEntity的字段转BASEMaterial的字段
|
/// </summary>
|
/// <param name="name">MaterialEntity的字段</param>
|
/// <returns>BASEMaterial</returns>
|
public static string GetColumnName(string name)
|
{
|
var columnMap = GetColumnMap();
|
return columnMap.ContainsKey(name) ? columnMap[name] : name;
|
}
|
|
/// <summary>
|
/// 获取MaterialEntity对应的表名
|
/// </summary>
|
/// <returns>表名</returns>
|
public static string GetTableName()
|
{
|
return "[dbo].[BASEMaterial]";
|
}
|
}
|
}
|