package com.hdkj.lt.core.bizms.modle.po;

import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.hdkj.lt.base.serializer.BigDecimalSerializer;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

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

/**
 * <p>
 * 负荷转供线路额定电路台账信息
 * </p>
 *
 * @author luorui
 * @since 2025-06-23
 */
@Data
@TableName("fhzg_line_rate_capacity")
@NoArgsConstructor
@AllArgsConstructor
public class LineRateCapacity implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 线路id
     */
    @TableField("line_id")
    private String lineId;

    /**
     * 线路名称
     */
    @TableField("line_name")
    private String lineName;

    /**
     * 区县编码
     */
    @TableField("county_id")
    private String countyId;

    /**
     * 所属区县
     */
    @TableField("county_name")
    private String countyName;

    /**
     * 厂站编码
     */
    @TableField("station_id")
    private String stationId;

    /**
     * 所属厂站
     */
    @TableField("station_name")
    private String stationName;

    /**
     * 额定电流
     */
    @TableField(value = "rate_capacity", updateStrategy = FieldStrategy.IGNORED)
    @JsonSerialize(using = BigDecimalSerializer.Keep10DecimalSerializer.class)
    private BigDecimal rateCapacity;

    /**
     * 备注
     */
    @TableField(value = "remarks",updateStrategy = FieldStrategy.IGNORED)
    private String remarks;

    /**
     * 创建人
     */
    @TableField("creator")
    private Long creator;

    /**
     * 创建时间
     */
    @TableField("create_time")
    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;

    /**
     * 最后一次修改人
     */
    @TableField("last_editor")
    private Long lastEditor;

    /**
     * 最后一次修改时间
     */
    @TableField("last_time")
    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime lastTime;


}
