package com.hdkj.lt.bf.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.Builder;
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;

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

/**
 * 状估断面明细
 *
 * @author lsl
 * @since 2026-07-23
 */
@TableName("fhzg_se_snapshot_detail")
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class FhzgSeSnapshotDetail implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(type = IdType.AUTO)
    private Long id;

    /** 断面时间(15分精度) */
    private LocalDateTime snapshotTime;

    /** 设备psrId */
    private String deviceId;

    /** feeder/mvtrans/consumer */
    private String deviceType;

    /** 所属馈线 */
    private String feederId;

    /** 馈线名称 */
    private String feederName;

    /** 所属变电站(冗余) */
    private String subsId;

    /** 所属区县(冗余) */
    private String countyId;

    /** 所属配变(用户专用) */
    private String mvtransId;

    /** 用户编号(用户专用) */
    private String consumerId;

    private String consumerName;

    /** seoPs 有功MW(馈线) */
    private BigDecimal activePower;

    /** seoQs 无功MVar(馈线) */
    private BigDecimal reactivePower;

    /** seoIs 电流A(馈线) */
    private BigDecimal currentValue;

    /** seoUs 中压侧电压kV(馈线/配变) */
    private BigDecimal voltageValue;

    /** 负载率%(馈线) */
    private BigDecimal loadRate;

    /** seiLvUas 低压A相kV(配变) */
    private BigDecimal lvVoltageA;

    /** 配变容量MW */
    private BigDecimal capacity;

    /** 电压比值(馈线/10, 配变/0.22, 用户/0.22) */
    private BigDecimal voltageRatio;

    /** 0正常 1重载 2过载(只馈线) */
    private Integer currentStatus;

    /** 0正常 1越上限 2越下限(馈线/配变) | 1一般越上 2严重越上 3一般越下 4严重越下(用户) */
    private Integer voltageStatus;

    private LocalDateTime createTime;
}