package com.njcn.supervision.pojo.po.user;

import com.baomidou.mybatisplus.annotation.*;
import com.njcn.common.pojo.constant.PatternRegex;
import com.njcn.db.bo.BaseEntity;
import com.njcn.web.constant.ValidMessage;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.Pattern;
import java.math.BigDecimal;

/**
 * 
 * Description:
 * Date: 2024/4/25  10:09【需求编号】
 *
 * @author clam
 * @version V1.0.0
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "supervision_user_report_substation")
public class UserReportSubstationPO  extends BaseEntity {
    @TableId(value = "id", type = IdType.INPUT)
    private String id;

    /**
     * PCC点
     */
    @TableField(value = "pcc_point")
    @Pattern(regexp = PatternRegex.DES32_REGEX, message = ValidMessage.DATA_TOO_LONG)
    private String pccPoint;

    /**
     * 基准短路容量（MVA）
     */
    @TableField(value = "base_short_circuit_capacity",updateStrategy = FieldStrategy.IGNORED)
    @Pattern(regexp = PatternRegex.COORDINATE, message = ValidMessage.PARAM_FORMAT_ERROR)
    private BigDecimal baseShortCircuitCapacity;

    /**
     * 系统最小短路容量（MVA）
     */
    @TableField(value = "min_short_circuit_capacity",updateStrategy = FieldStrategy.IGNORED)
    @Pattern(regexp = PatternRegex.COORDINATE, message = ValidMessage.PARAM_FORMAT_ERROR)
    private BigDecimal minShortCircuitCapacity;

    /**
     * PCC供电设备容量（MVA）
     */
    @TableField(value = "pcc_equipment_capacity",updateStrategy = FieldStrategy.IGNORED)
    @Pattern(regexp = PatternRegex.COORDINATE, message = ValidMessage.PARAM_FORMAT_ERROR)
    private BigDecimal pccEquipmentCapacity;

    /**
     * 用户用电协议容量（MVA）
     */
    @TableField(value = "user_agreement_capacity",updateStrategy = FieldStrategy.IGNORED)
    @Pattern(regexp = PatternRegex.COORDINATE, message = ValidMessage.PARAM_FORMAT_ERROR)
    private BigDecimal userAgreementCapacity;

    /**
     * 评估类型
     */
    @TableField(value = "evaluation_type")
    private String evaluationType;

    /**
     * 非线性负荷类型
     */
    @TableField(value = "nonlinear_load_type",updateStrategy = FieldStrategy.IGNORED)
    private String nonlinearLoadType;

    /**
     * 预测评估审核单位
     */
    @TableField(value = "evaluation_chek_dept")
    @Pattern(regexp = PatternRegex.DES32_REGEX, message = ValidMessage.DATA_TOO_LONG)
    private String evaluationChekDept;

    /**
     * 是否需要治理
     */
    @TableField(value = "need_governance")
    private Integer needGovernance;

    /**
     * 是否开展背景测试
     */
    @TableField(value = "background_test_performed")
    private Integer backgroundTestPerformed;

    /**
     * 用户接入变电站主接线示意图地址
     */
    @TableField(value = "substation_main_wiring_diagram")
    private String substationMainWiringDiagram;

    /**
     * 可研报告地址
     */
    @TableField(value = "feasibility_report")
    private String feasibilityReport;

    /**
     * 项目初步设计说明书地址
     */
    @TableField(value = "preliminary_design_description")
    private String preliminaryDesignDescription;

    /**
     * 预测评估报告地址
     */
    @TableField(value = "prediction_evaluation_report")
    private String predictionEvaluationReport;

    /**
     * 预测评估评审意见报告地址
     */
    @TableField(value = "prediction_evaluation_review_opinions")
    private String predictionEvaluationReviewOpinions;

    /**
     * 其他附件
     */
    @TableField(value = "additional_attachments")
    private String additionalAttachments;

    /**
     * 数据状态
     */
    @TableField(value = "state")
    private Integer state;


}