using MiniExcelLibs.Attributes;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel;
using CMS.Plugin.HIAWms.Domain.Shared.Enums;
namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterials
{
///
/// WmsMaterial导出模型
///
public class MaterialExportModel
{
///
/// 物料编码(唯一标识)
///
/// MAT-2023-001
[ExcelColumn(Name = "物料编码", Width = 25)]
public string MaterialCode { get; set; }
///
/// 物料名称
///
/// 304不锈钢管
[ExcelColumn(Name = "物料名称", Width = 25)]
public string MaterialName { get; set; }
///
/// 采购类型
///
///
/// 0:标准采购 1:紧急采购 2:协议采购
///
/// 0
[ExcelColumn(Name = "采购类型", Width = 25)]
public PurchaseTypeEnum PurchaseType { get; set; }
///
/// 物料类型
///
///
/// 1:原材料 2:半成品 3:成品
///
/// 1
[ExcelColumn(Name = "物料类型", Width = 25)]
public MaterialTypeEnum MaterialType { get; set; }
///
/// 主计量单位
///
/// kg
[ExcelColumn(Name = "主单位", Width = 25)]
public string PrimaryUnit { get; set; }
///
/// 规格/技术标准
///
/// GB/T 8163-2018
[ExcelColumn(Name = "规格/标准", Width = 25)]
public string Standard { get; set; }
///
/// 外径(单位:毫米)
///
/// 50.5
[ExcelColumn(Name = "外径(mm)", Width = 25)]
public decimal OuterDiameter { get; set; }
///
/// 壁厚(单位:毫米)
///
/// 2.5
[ExcelColumn(Name = "壁厚(mm)", Width = 25)]
public decimal WallThickness { get; set; }
///
/// 材质说明
///
/// 304不锈钢
[ExcelColumn(Name = "材质", Width = 25)]
public string MaterialQuality { get; set; }
///
/// 长度(单位:米)
///
/// 6.0
[ExcelColumn(Name = "长度(m)", Width = 25)]
public decimal Length { get; set; }
///
/// 是否主支管标识
///
/// true
[ExcelColumn(Name = "是否主支管", Width = 25)]
[Description("是/否")]
public YesNoEnum IsMainBranch { get; set; }
///
/// 生产工厂名称
///
/// 上海第一工厂
[ExcelColumn(Name = "生产工厂", Width = 25)]
public string Factory { get; set; }
///
/// 认证证书编号
///
/// CER-2023-001
[ExcelColumn(Name = "证书编号", Width = 25)]
public string Certification { get; set; }
///
/// 预留扩展字段1
///
///
/// 可用于临时存储供应商编码等扩展信息
///
[ExcelColumn(Name = "扩展字段1", Width = 25)]
public string RedundantField1 { get; set; }
///
/// 预留扩展字段2
///
///
/// 可用于临时存储批次号等扩展信息
///
[ExcelColumn(Name = "扩展字段2", Width = 25)]
public string RedundantField2 { get; set; }
///
/// 预留扩展字段3
///
///
/// 可用于临时存储自定义分类等扩展信息
///
[ExcelColumn(Name = "扩展字段3", Width = 25)]
public string RedundantField3 { get; set; }
///
/// 备注
///
[ExcelColumn(Name = "备注",Width = 25)]
public string Remark { get; set; }
public Dictionary GetExportData()
{
var exportData = new Dictionary();
foreach (var property in this.GetType().GetProperties())
{
exportData.Add(property.Name, property.GetValue(this));
}
return exportData;
}
}
}