package com.jsowell.pile.domain;

import com.jsowell.common.annotation.Excel;
import com.jsowell.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 订单异常记录对象 order_abnormal_record
 *
 * @author jsowell
 * @date 2023-02-13
 */
public class OrderAbnormalRecord extends BaseEntity {
	private static final long serialVersionUID = 1L;

	/**
	 * 主键
	 */
	private Integer id;

	/**
	 * 订单编号/交易流水号
	 */
	@Excel(name = "订单编号")
	private String orderCode;

	/**
	 * 桩编码
	 */
	@Excel(name = "桩编码")
	private String pileSn;

	/**
	 * 枪号
	 */
	@Excel(name = "枪号")
	private String connectorCode;

	/**
	 * 开始时间
	 */
	@Excel(name = "开始时间")
	private String startTime;

	/**
	 * 结束时间
	 */
	@Excel(name = "结束时间")
	private String endTime;

	/**
	 * 尖单价   精确到小数点后五位（尖电费+尖服务费，见费率帧）
	 */
	@Excel(name = "尖单价", readConverterExp = "尖=电费+尖服务费，见费率帧")
	private String sharpPrice;

	/**
	 * 尖电量   精确到小数点后四位
	 */
	@Excel(name = "尖电量")
	private String sharpUsedElectricity;

	/**
	 * 计损尖电量
	 */
	@Excel(name = "计损尖电量")
	private String sharpPlanLossElectricity;

	/**
	 * 尖金额
	 */
	@Excel(name = "尖金额")
	private String sharpAmount;

	/**
	 * 峰单价   精确到小数点后五位（峰电费+峰服务费）
	 */
	@Excel(name = "峰单价", readConverterExp = "峰=电费+峰服务费")
	private String peakPrice;

	/**
	 * 峰电量
	 */
	@Excel(name = "峰电量")
	private String peakUsedElectricity;

	/**
	 * 计损峰电量
	 */
	@Excel(name = "计损峰电量")
	private String peakPlanLossElectricity;

	/**
	 * 峰金额
	 */
	@Excel(name = "峰金额")
	private String peakAmount;

	/**
	 * 平单价   精确到小数点后五位（平电费+平服务费）
	 */
	@Excel(name = "平单价", readConverterExp = "平=电费+平服务费")
	private String flatPrice;

	/**
	 * 平电量
	 */
	@Excel(name = "平电量")
	private String flatUsedElectricity;

	/**
	 * 计损平电量
	 */
	@Excel(name = "计损平电量")
	private String flatPlanLossElectricity;

	/**
	 * 平金额
	 */
	@Excel(name = "平金额")
	private String flatAmount;

	/**
	 * 谷单价   精确到小数点后五位（谷电费+谷 服务费）
	 */
	@Excel(name = "谷单价", readConverterExp = "谷=电费+谷,服=务费")
	private String valleyPrice;

	/**
	 * 谷电量
	 */
	@Excel(name = "谷电量")
	private String valleyUsedElectricity;

	/**
	 * 计损谷电量
	 */
	@Excel(name = "计损谷电量")
	private String valleyPlanLossElectricity;

	/**
	 * 谷金额
	 */
	@Excel(name = "谷金额")
	private String valleyAmount;

	/**
	 * 电表总起值
	 */
	@Excel(name = "电表总起值")
	private String ammeterTotalStart;

	/**
	 * 电表总止值
	 */
	@Excel(name = "电表总止值")
	private String ammeterTotalEnd;

	/**
	 * 总电量
	 */
	@Excel(name = "总电量")
	private String totalElectricity;

	/**
	 * 计损总电量
	 */
	@Excel(name = "计损总电量")
	private String planLossTotalElectricity;

	/**
	 * 消费金额   精确到小数点后四位，包含电费、 服务费
	 */
	@Excel(name = "消费金额")
	private String consumptionAmount;

	/**
	 * VIN 码   VIN 码，此处 VIN 码和充电时 VIN 码不同， 正序直接上传， 无需补 0 和反序
	 */
	@Excel(name = "VIN码")
	private String vinCode;

	/**
	 * 交易标识(0x01app启动; 0x02卡启动; 0x04离线卡启动; 0x05vin码启动充电)
	 */
	@Excel(name = "交易标识(0x01app启动; 0x02卡启动; 0x04离线卡启动; 0x05vin码启动充电)")
	private String transactionIdentifier;

	/**
	 * 交易时间  CP56Time2a 格式
	 */
	@Excel(name = "交易时间")
	private String transactionTime;

	/**
	 * 停止原因
	 */
	@Excel(name = "停止原因")
	private String stopReasonMsg;

	/**
	 * 物理卡号  不足 8 位补 0
	 */
	@Excel(name = "物理卡号")
	private String logicCard;

	public void setId(Integer id) {
		this.id = id;
	}

	public Integer getId() {
		return id;
	}

	public void setOrderCode(String orderCode) {
		this.orderCode = orderCode;
	}

	public String getOrderCode() {
		return orderCode;
	}

	public void setPileSn(String pileSn) {
		this.pileSn = pileSn;
	}

	public String getPileSn() {
		return pileSn;
	}

	public void setConnectorCode(String connectorCode) {
		this.connectorCode = connectorCode;
	}

	public String getConnectorCode() {
		return connectorCode;
	}

	public void setStartTime(String startTime) {
		this.startTime = startTime;
	}

	public String getStartTime() {
		return startTime;
	}

	public void setEndTime(String endTime) {
		this.endTime = endTime;
	}

	public String getEndTime() {
		return endTime;
	}

	public void setSharpPrice(String sharpPrice) {
		this.sharpPrice = sharpPrice;
	}

	public String getSharpPrice() {
		return sharpPrice;
	}

	public void setSharpUsedElectricity(String sharpUsedElectricity) {
		this.sharpUsedElectricity = sharpUsedElectricity;
	}

	public String getSharpUsedElectricity() {
		return sharpUsedElectricity;
	}

	public void setSharpPlanLossElectricity(String sharpPlanLossElectricity) {
		this.sharpPlanLossElectricity = sharpPlanLossElectricity;
	}

	public String getSharpPlanLossElectricity() {
		return sharpPlanLossElectricity;
	}

	public void setSharpAmount(String sharpAmount) {
		this.sharpAmount = sharpAmount;
	}

	public String getSharpAmount() {
		return sharpAmount;
	}

	public void setPeakPrice(String peakPrice) {
		this.peakPrice = peakPrice;
	}

	public String getPeakPrice() {
		return peakPrice;
	}

	public void setPeakUsedElectricity(String peakUsedElectricity) {
		this.peakUsedElectricity = peakUsedElectricity;
	}

	public String getPeakUsedElectricity() {
		return peakUsedElectricity;
	}

	public void setPeakPlanLossElectricity(String peakPlanLossElectricity) {
		this.peakPlanLossElectricity = peakPlanLossElectricity;
	}

	public String getPeakPlanLossElectricity() {
		return peakPlanLossElectricity;
	}

	public void setPeakAmount(String peakAmount) {
		this.peakAmount = peakAmount;
	}

	public String getPeakAmount() {
		return peakAmount;
	}

	public void setFlatPrice(String flatPrice) {
		this.flatPrice = flatPrice;
	}

	public String getFlatPrice() {
		return flatPrice;
	}

	public void setFlatUsedElectricity(String flatUsedElectricity) {
		this.flatUsedElectricity = flatUsedElectricity;
	}

	public String getFlatUsedElectricity() {
		return flatUsedElectricity;
	}

	public void setFlatPlanLossElectricity(String flatPlanLossElectricity) {
		this.flatPlanLossElectricity = flatPlanLossElectricity;
	}

	public String getFlatPlanLossElectricity() {
		return flatPlanLossElectricity;
	}

	public void setFlatAmount(String flatAmount) {
		this.flatAmount = flatAmount;
	}

	public String getFlatAmount() {
		return flatAmount;
	}

	public void setValleyPrice(String valleyPrice) {
		this.valleyPrice = valleyPrice;
	}

	public String getValleyPrice() {
		return valleyPrice;
	}

	public void setValleyUsedElectricity(String valleyUsedElectricity) {
		this.valleyUsedElectricity = valleyUsedElectricity;
	}

	public String getValleyUsedElectricity() {
		return valleyUsedElectricity;
	}

	public void setValleyPlanLossElectricity(String valleyPlanLossElectricity) {
		this.valleyPlanLossElectricity = valleyPlanLossElectricity;
	}

	public String getValleyPlanLossElectricity() {
		return valleyPlanLossElectricity;
	}

	public void setValleyAmount(String valleyAmount) {
		this.valleyAmount = valleyAmount;
	}

	public String getValleyAmount() {
		return valleyAmount;
	}

	public void setAmmeterTotalStart(String ammeterTotalStart) {
		this.ammeterTotalStart = ammeterTotalStart;
	}

	public String getAmmeterTotalStart() {
		return ammeterTotalStart;
	}

	public void setAmmeterTotalEnd(String ammeterTotalEnd) {
		this.ammeterTotalEnd = ammeterTotalEnd;
	}

	public String getAmmeterTotalEnd() {
		return ammeterTotalEnd;
	}

	public void setTotalElectricity(String totalElectricity) {
		this.totalElectricity = totalElectricity;
	}

	public String getTotalElectricity() {
		return totalElectricity;
	}

	public void setPlanLossTotalElectricity(String planLossTotalElectricity) {
		this.planLossTotalElectricity = planLossTotalElectricity;
	}

	public String getPlanLossTotalElectricity() {
		return planLossTotalElectricity;
	}

	public void setConsumptionAmount(String consumptionAmount) {
		this.consumptionAmount = consumptionAmount;
	}

	public String getConsumptionAmount() {
		return consumptionAmount;
	}

	public void setVinCode(String vinCode) {
		this.vinCode = vinCode;
	}

	public String getVinCode() {
		return vinCode;
	}

	public void setTransactionIdentifier(String transactionIdentifier) {
		this.transactionIdentifier = transactionIdentifier;
	}

	public String getTransactionIdentifier() {
		return transactionIdentifier;
	}

	public void setTransactionTime(String transactionTime) {
		this.transactionTime = transactionTime;
	}

	public String getTransactionTime() {
		return transactionTime;
	}

	public void setStopReasonMsg(String stopReasonMsg) {
		this.stopReasonMsg = stopReasonMsg;
	}

	public String getStopReasonMsg() {
		return stopReasonMsg;
	}

	public void setLogicCard(String logicCard) {
		this.logicCard = logicCard;
	}

	public String getLogicCard() {
		return logicCard;
	}

	@Override
	public String toString() {
		return new ToStringBuilder(this, ToStringStyle.JSON_STYLE)
				.append("id", getId())
				.append("orderCode", getOrderCode())
				.append("pileSn", getPileSn())
				.append("connectorCode", getConnectorCode())
				.append("startTime", getStartTime())
				.append("endTime", getEndTime())
				.append("sharpPrice", getSharpPrice())
				.append("sharpUsedElectricity", getSharpUsedElectricity())
				.append("sharpPlanLossElectricity", getSharpPlanLossElectricity())
				.append("sharpAmount", getSharpAmount())
				.append("peakPrice", getPeakPrice())
				.append("peakUsedElectricity", getPeakUsedElectricity())
				.append("peakPlanLossElectricity", getPeakPlanLossElectricity())
				.append("peakAmount", getPeakAmount())
				.append("flatPrice", getFlatPrice())
				.append("flatUsedElectricity", getFlatUsedElectricity())
				.append("flatPlanLossElectricity", getFlatPlanLossElectricity())
				.append("flatAmount", getFlatAmount())
				.append("valleyPrice", getValleyPrice())
				.append("valleyUsedElectricity", getValleyUsedElectricity())
				.append("valleyPlanLossElectricity", getValleyPlanLossElectricity())
				.append("valleyAmount", getValleyAmount())
				.append("ammeterTotalStart", getAmmeterTotalStart())
				.append("ammeterTotalEnd", getAmmeterTotalEnd())
				.append("totalElectricity", getTotalElectricity())
				.append("planLossTotalElectricity", getPlanLossTotalElectricity())
				.append("consumptionAmount", getConsumptionAmount())
				.append("vinCode", getVinCode())
				.append("transactionIdentifier", getTransactionIdentifier())
				.append("transactionTime", getTransactionTime())
				.append("stopReasonMsg", getStopReasonMsg())
				.append("logicCard", getLogicCard())
				.append("createTime", getCreateTime())
				.toString();
	}
}
