package org.springblade.modules.nh.pojo.dto.open;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * 逆变器数据表 实体类
 *
 * @author AlexWang
 * @since 2024-05-31
 */
@Data
public class YXInverterDataDTO {

	private Long deviceId;

	private String sn;
	/**
	 * 输出功率
	 */
	@Schema(description = "输出功率")
	private BigDecimal pac;
	/**
	 * 发电小时数
	 */
	@Schema(description = "发电小时数")
	private BigDecimal pwHour;
	/**
	 * 实际安装功率
	 */
	@Schema(description = "实际安装功率")
	private BigDecimal realPower;
	/**
	 * 装机容量
	 */
	@Schema(description = "装机容量")
	private BigDecimal power;
	/**
	 * 当日发电量
	 */
	@Schema(description = "当日发电量")
	private BigDecimal etd;
	/**
	 * 当月发电量
	 */
	@Schema(description = "当月发电量")
	private BigDecimal etm;
	/**
	 * 累计发电量
	 */
	@Schema(description = "累计发电量")
	private BigDecimal eto;
	/**
	 * 当年发电量
	 */
	@Schema(description = "当年发电量")
	private BigDecimal ety;
	/**
	 * 直流发电功率
	 */
	@Schema(description = "直流发电功率")
	private BigDecimal dcPac;

	/**
	 * 逆变器无功功率
	 */
	@Schema(description = "逆变器无功功率")
	private BigDecimal reactivePower;
	/**
	 * 逆变器无功功率单位
	 */
	@Schema(description = "逆变器无功功率单位")
	private String reactivePowerStr;
	/**
	 * 逆变器视在功率
	 */
	@Schema(description = "逆变器视在功率")
	private BigDecimal apparentPower;
	/**
	 * 逆变器视在功率单位
	 */
	@Schema(description = "逆变器视在功率单位")
	private String apparentPowerStr;
	/**
	 * 电网频率hz
	 */
	@Schema(description = "电网频率hz")
	private BigDecimal fac;

	@Schema(description = "pv直流电压存贮格式如下（220:10|220:10）")
	private List<Map<String,Object>> pvModuleMap;

	@Schema(description = "pv直流电压存贮格式如下（220:10|220:10）")
	private List<Map<String,Object>> uvwModulesMap;

//	@Schema(description = "pv直流电压存贮格式如下（220:10|220:10）")
//	private List<Map<String,Object>> mpptModulesMap;

	/**
	 * 温度
	 */
	@Schema(description = "温度")
	private BigDecimal temperature;

	@Schema(description = "数据同步时间")
	private Date syncTime;

	/**
	 * 逆变器视在功率单位
	 */
	@Schema(description = "故障码")
	private String faultCode;

	/**
	 * 逆变器视在功率单位
	 */
	@Schema(description = "故障码名称")
	private String alarmName;
}
