package com.njcn.product.terminal.mysqlTerminal.pojo.po;

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.njcn.common.pojo.constant.PatternRegex;

import com.njcn.db.mybatisplus.bo.BaseEntity;
import com.njcn.product.terminal.mysqlTerminal.pojo.constant.ValidMessage;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.Pattern;

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

    /**
     * 用户协议容量
     */
    @TableField(value = "agreement_capacity")
    @Pattern(regexp = PatternRegex.COORDINATE, message = ValidMessage.PARAM_FORMAT_ERROR)
    private Double agreementCapacity;

    /**
     * 非线性设备类型
     */
    @TableField(value = "nonlinear_device_type")
    private String nonlinearDeviceType;

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

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

    /**
     * 可研报告告地址
     */
    @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;
}