|
|
|
|
using Magicodes.ExporterAndImporter.Core;
|
|
|
|
|
using Magicodes.ExporterAndImporter.Excel;
|
|
|
|
|
|
|
|
|
|
namespace Entity.Dto;
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 换电订单导出
|
|
|
|
|
/// </summary>
|
|
|
|
|
[ExcelExporter(Name = "2号站换电记录", TableStyle = OfficeOpenXml.Table.TableStyles.None, AutoFitAllColumn = true)]
|
|
|
|
|
public class SwapOrderDto
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 站号
|
|
|
|
|
/// </summary>
|
|
|
|
|
[ExporterHeader(DisplayName = "站号", IsBold = true)]
|
|
|
|
|
public string StationNumber { get; set; }= "2号站";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[ExporterHeader(DisplayName = "创建时间", IsBold = true, Width = 30, Format = "yyyy-MM-dd HH:mm:ss",
|
|
|
|
|
AutoCenterColumn = true)]
|
|
|
|
|
public DateTime? CreatedTime { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Desc:车辆vin码
|
|
|
|
|
/// Default:
|
|
|
|
|
/// Nullable:True
|
|
|
|
|
/// </summary>
|
|
|
|
|
[ExporterHeader(DisplayName = "车辆vin码", IsBold = true)]
|
|
|
|
|
public string VehicleVin { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Desc:车牌号
|
|
|
|
|
/// Default:
|
|
|
|
|
/// Nullable:True
|
|
|
|
|
/// </summary>
|
|
|
|
|
[ExporterHeader(DisplayName = "车牌号", IsBold = true)]
|
|
|
|
|
public string VehicleNo { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Desc:公司
|
|
|
|
|
/// Default:
|
|
|
|
|
/// Nullable:True
|
|
|
|
|
/// </summary>
|
|
|
|
|
[ExporterHeader(DisplayName = "所属公司", IsBold = true)]
|
|
|
|
|
public string? Company {get;set;}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Desc:部门
|
|
|
|
|
/// Default:
|
|
|
|
|
/// Nullable:True
|
|
|
|
|
/// </summary>
|
|
|
|
|
[ExporterHeader(DisplayName = "所属部门", IsBold = true)]
|
|
|
|
|
public string? Departments {get;set;}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Desc:换电类型:;1自动换电;2手动换电
|
|
|
|
|
/// Default:0
|
|
|
|
|
/// Nullable:True
|
|
|
|
|
/// </summary>
|
|
|
|
|
[ExporterHeader(DisplayName = "换电模式", IsBold = true)]
|
|
|
|
|
public string SwapWayDisplay
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
return SwapWay switch
|
|
|
|
|
{
|
|
|
|
|
1 => "自动换电",
|
|
|
|
|
2 => "手动换电",
|
|
|
|
|
_ => "未知"
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Desc:换电类型:;1自动换电;2手动换电
|
|
|
|
|
/// Default:0
|
|
|
|
|
/// Nullable:True
|
|
|
|
|
/// </summary>
|
|
|
|
|
[ExporterHeader(IsIgnore = true)]
|
|
|
|
|
public int? SwapWay { get; set; }
|
|
|
|
|
|
|
|
|
|
///// <summary>
|
|
|
|
|
///// Desc:车辆进场时间
|
|
|
|
|
///// Default:
|
|
|
|
|
///// Nullable:True
|
|
|
|
|
///// </summary>
|
|
|
|
|
//[ExporterHeader(DisplayName = "车辆进场时间", IsBold = true, Width = 30, Format = "yyyy-MM-dd HH:mm:ss",
|
|
|
|
|
// AutoCenterColumn = true)]
|
|
|
|
|
//public DateTime? VehicleEnterTime { get; set; }
|
|
|
|
|
|
|
|
|
|
///// <summary>
|
|
|
|
|
///// Desc:车辆离场时间
|
|
|
|
|
///// Default:
|
|
|
|
|
///// Nullable:True
|
|
|
|
|
///// </summary>
|
|
|
|
|
//[ExporterHeader(DisplayName = "车辆离场时间", IsBold = true, Width = 30, Format = "yyyy-MM-dd HH:mm:ss",
|
|
|
|
|
// AutoCenterColumn = true)]
|
|
|
|
|
//public DateTime? VehicleLeaveTime { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Desc:换电开始时间
|
|
|
|
|
/// Default:
|
|
|
|
|
/// Nullable:True
|
|
|
|
|
/// </summary>
|
|
|
|
|
[ExporterHeader(DisplayName = "开始时间", IsBold = true, Width = 30, Format = "yyyy-MM-dd HH:mm:ss",
|
|
|
|
|
AutoCenterColumn = true)]
|
|
|
|
|
public DateTime? SwapBeginTime { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Desc:换电结束时间
|
|
|
|
|
/// Default:
|
|
|
|
|
/// Nullable:True
|
|
|
|
|
/// </summary>
|
|
|
|
|
[ExporterHeader(DisplayName = "结束时间", Width = 30, Format = "yyyy-MM-dd HH:mm:ss", AutoCenterColumn = true)]
|
|
|
|
|
public DateTime? SwapEndTime { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 换电时间(换电结束时间与换电开始时间之间的差值)
|
|
|
|
|
/// </summary>
|
|
|
|
|
[ExporterHeader(DisplayName = "换电用时", Width = 30, Format = "c")]
|
|
|
|
|
public string SwapDuration
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
if (!SwapBeginTime.HasValue || !SwapEndTime.HasValue)
|
|
|
|
|
{
|
|
|
|
|
return "未知";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
TimeSpan duration = SwapEndTime.Value - SwapBeginTime.Value;
|
|
|
|
|
return duration.ToString("c");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Desc:取电池仓位号 满电包仓号
|
|
|
|
|
/// Default:
|
|
|
|
|
/// Nullable:True
|
|
|
|
|
/// </summary>
|
|
|
|
|
[ExporterHeader(DisplayName = "换电仓位(取)", IsBold = true)]
|
|
|
|
|
|
|
|
|
|
public int? UpBatteryBinNo { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Desc:满电包编码
|
|
|
|
|
/// Default:
|
|
|
|
|
/// Nullable:True
|
|
|
|
|
/// </summary>
|
|
|
|
|
[ExporterHeader(DisplayName = "电池编号(取)", IsBold = true)]
|
|
|
|
|
public string? UpBatteryNo { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 满电包电量
|
|
|
|
|
/// </summary>
|
|
|
|
|
[ExporterHeader(DisplayName = "换池电量kWh(取)", IsBold = true)]
|
|
|
|
|
public string? UpBatteryElectricQuantity { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Desc:满电包soc
|
|
|
|
|
/// Default:
|
|
|
|
|
/// Nullable:True
|
|
|
|
|
/// </summary>
|
|
|
|
|
[ExporterHeader(DisplayName = "soc(取)", IsBold = true)]
|
|
|
|
|
public decimal? UpBatterySoc { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Desc:放电池仓位号 亏电包仓号
|
|
|
|
|
/// Default:
|
|
|
|
|
/// Nullable:True
|
|
|
|
|
/// </summary>
|
|
|
|
|
[ExporterHeader(DisplayName = "换电仓位(存)", IsBold = true)]
|
|
|
|
|
public int? DownBatteryBinNo { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Desc:亏电包编码
|
|
|
|
|
/// Default:
|
|
|
|
|
/// Nullable:True
|
|
|
|
|
/// </summary>
|
|
|
|
|
[ExporterHeader(DisplayName = "电池编号(存)", IsBold = true)]
|
|
|
|
|
|
|
|
|
|
public string? DownBatteryNo { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 亏电包电量
|
|
|
|
|
/// </summary>
|
|
|
|
|
[ExporterHeader(DisplayName = "换池电量kwh(存)", IsBold = true)]
|
|
|
|
|
public string? DownBatteryElectricQuantity { get; set; }
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Desc:亏电包soc
|
|
|
|
|
/// Default:
|
|
|
|
|
/// Nullable:True
|
|
|
|
|
/// </summary>
|
|
|
|
|
[ExporterHeader(DisplayName = "soc(存)", IsBold = true)]
|
|
|
|
|
|
|
|
|
|
public decimal? DownBatterySoc { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 电量差
|
|
|
|
|
/// </summary>
|
|
|
|
|
[ExporterHeader(DisplayName = "电量差kwh", IsBold = true)]
|
|
|
|
|
public string ElectricQuantity { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Desc:订单编号
|
|
|
|
|
/// Default:
|
|
|
|
|
/// Nullable:True
|
|
|
|
|
/// </summary>
|
|
|
|
|
[ExporterHeader(DisplayName = "订单编号", IsBold = true)]
|
|
|
|
|
public string Sn { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 换电服务费用
|
|
|
|
|
/// </summary>
|
|
|
|
|
[ExporterHeader(DisplayName = "换电服务费用", IsBold = true)]
|
|
|
|
|
public decimal? ServiceTotalFee { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 电费
|
|
|
|
|
/// </summary>
|
|
|
|
|
[ExporterHeader(DisplayName = "电费", IsBold = true)]
|
|
|
|
|
public decimal? ElectricityTotalFee { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 附加费
|
|
|
|
|
/// </summary>
|
|
|
|
|
[ExporterHeader(DisplayName = "附加费", IsBold = true)]
|
|
|
|
|
public decimal? AppendTotalFee { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 总费用(所有的总费用)
|
|
|
|
|
/// </summary>
|
|
|
|
|
[ExporterHeader(DisplayName = "总费用(所有的总费用)", IsBold = true)]
|
|
|
|
|
public decimal? TotalFee { get; set; }
|
|
|
|
|
}
|