63 lines
2.2 KiB
C#
63 lines
2.2 KiB
C#
using Cowain.Preheat.Common.Converter;
|
|
using Cowain.Preheat.Model;
|
|
using CsvHelper;
|
|
using CsvHelper.Configuration;
|
|
using CsvHelper.TypeConversion;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Globalization;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace Cowain.Preheat.Common.CsvMap
|
|
{
|
|
// 4. 创建CsvHelper自定义转换器
|
|
public class BatteryMapConverter : DefaultTypeConverter
|
|
{
|
|
private static readonly BatteryStatusConvertor _converter = new BatteryStatusConvertor();
|
|
|
|
public override string ConvertToString(object value, IWriterRow row, MemberMapData memberMapData)
|
|
{
|
|
// 使用IValueConverter转换逻辑
|
|
return _converter.Convert(value, typeof(string), null, CultureInfo.InvariantCulture) as string;
|
|
}
|
|
}
|
|
|
|
// 5. 创建自定义ClassMap
|
|
//public sealed class BatteryInfoMap : ClassMap<TBatteryInfo>
|
|
public sealed class BatteryInfoMap : ClassMap<TBatteryInfo>
|
|
{
|
|
public BatteryInfoMap()
|
|
{
|
|
Map(m => m.Id).Name("电池虚拟码");
|
|
Map(m => m.ScanTime)
|
|
.Name("扫码时间")
|
|
.TypeConverterOption.Format("yyyy-MM-dd HH:mm:ss");
|
|
Map(m => m.BatteryCode).Name("条码");
|
|
Map(m => m.ScannerPos).Name("扫码位置");
|
|
// 应用枚举描述转换器
|
|
Map(m => m.BatteryStatus)
|
|
.Name("状态")
|
|
.TypeConverter<BatteryMapConverter>();
|
|
|
|
|
|
Map(m => m.LoadingTime)
|
|
.Name("上料时间")
|
|
.TypeConverterOption.Format("yyyy-MM-dd HH:mm:ss");
|
|
Map(m => m.PositionY).Name("列号");
|
|
Map(m => m.Layer).Name("层号");
|
|
Map(m => m.UnLoadingTime)
|
|
.Name("下料时间")
|
|
.TypeConverterOption.Format("yyyy-MM-dd HH:mm:ss");
|
|
|
|
Map(m => m.LodingTemperature).Name("上料温度");
|
|
Map(m => m.PreheatTemperature).Name("预热温度");
|
|
Map(m => m.UnLoadingTemperature).Name("下料温度");
|
|
Map(m => m.PreheatTime).Name("预热时长");
|
|
//public Nullable<byte> StoveNumber { get; set; }
|
|
//public string Desc { get; set; }
|
|
}
|
|
}
|
|
}
|