package com.jsowell.common.core.domain.ykc;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 实时监测数据
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class RealTimeMonitorData {
	/**
	 * 交易流水号
	 */
	private String transactionCode;

	/**
	 * 桩编号
	 */
	private String pileSn;

	/**
	 * 枪口编号
	 */
	private String connectorCode;

	/**
	 * 状态
	 */
	private String connectorStatus;

	/**
	 * 枪是否归位
	 */
	private String homingFlag;

	/**
	 * 充电枪编号
	 */
	private String pileConnectorCode;

	/**
	 * 是否插枪 0x00：否  0x01：是
	 */
	private String putGunType;

	/**
	 * 输出电压
	 */
	private String outputVoltage;

	/**
	 * 输出电流
	 */
	private String outputCurrent;

	/**
	 * 输出功率（由输出电压，输出电流计算得出）
	 */
	private String outputPower;

	/**
	 * 枪线温度
	 */
	private String gunLineTemperature;

	/**
	 * 枪线编码 没有置零
	 */
	private String gunLineCode;

	/**
	 * SOC 待机置零；交流桩置零
	 */
	private String SOC;

	/**
	 * 电池组最高温度
	 */
	private String batteryMaxTemperature;

	/**
	 * 累计充电时间 单位： min；待机置零
	 */
	private String sumChargingTime;

	/**
	 * 剩余时间 单位： min；待机置零、交流桩置零
	 */
	private String timeRemaining;

	/**
	 * 充电度数 精确到小数点后四位；待机置零
	 */
	private String chargingDegree;

	/**
	 * 计损充电度数 精确到小数点后四位；待机置零 未设置计损比例时等于充电度数
	 */
	private String lossDegree;

	/**
	 * 已充金额 精确到小数点后四位；待机置零 （电费+服务费） *计损充电度数
	 */
	private String chargingAmount;

	/**
	 * 硬件故障
	 */
	private String hardwareFault;

	/**
	 * 时间
	 */
	private String dateTime;

	public String getPileConnectorCode() {
		return this.pileSn + this.getConnectorCode();
	}
}
