package com.hdkj.lt.bf.entity.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * IEC 用户电压指数 VO
 * <p>
 * 指数 = 用户电压合格率（%），即 100 − 越限率；
 * 越限率 = 用户越限总时长(上+下) / (总用户数 × 周期天数 × 24h) × 100
 * 分子：中台 ads_mrt_voltage_over_limit_daily_result（历史）+ 事件表 fhzg_se_voltage_event（昨日/今日）组合
 * 分母：fhzg_se_consumer_count_daily 最近一天用户数 × 实际天数 × 24（时户数）
 *
 * @author lsl
 * @since 2026-07-30
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(description = "IEC 用户电压指数")
public class SeVoltageIndexVO implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "IEC用户电压合格率(%)，如 98.93 表示合格率 98.93%")
    private BigDecimal voltageIndex;

    @ApiModelProperty(value = "用户越限总时长(小时，分子)")
    private BigDecimal overLimitHours;

    @ApiModelProperty(value = "用户总时户数(分母，用户数×天数×24h)")
    private BigDecimal consumerHours;

    @ApiModelProperty(value = "平均用户数(调试用)")
    private BigDecimal avgConsumerCount;
}
