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

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.db.bo.BaseEntity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

/**
 *
 * Description:
 * Date: 2024/5/20  17:49【需求编号】
 *
 * @author clam
 * @version V1.0.0
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "supervision_plan")
public class SupervisionPlanPO  extends BaseEntity {

    @TableId(value = "plan_Id", type = IdType.ASSIGN_UUID)
    private String planId;


    @TableField(exist = false)
    private String provinceId;

    @TableField(exist = false)
    private String provinceName;

    @TableField(exist = false)
    private String cityId;

    @TableField(exist = false)
    private String cityName;

    @TableField(exist = false)
    private String countyId;

    @TableField(exist = false)
    private String countyName;

    @TableField(exist = false)
    private String supvObjId;

    @TableField(exist = false)
    private String objVoltageLevelName;

    /**
     * 计划名称
     */
    @TableField(value = "work_plan_name")
    private String workPlanName;

    /**
     * 监督类型
     */
    @TableField(value = "supv_Type")
    private String supvType;

    /**
     * 监督阶段
     */
    @TableField(value = "supv_Stage")
    private String supvStage;

    /**
     * 监督单位
     */
    @TableField(value = "supv_Org_Id")
    private String supvOrgId;

    /**
     * 计划编制人id
     */
    @TableField(value = "plan_User_Id")
    private String planUserId;

    /**
     * 计划编制单位id
     */
    @TableField(value = "plan_Org_Id")
    private String planOrgId;

    /**
     * 备注
     */
    @TableField(value = "other_Remark")
    private String otherRemark;

    /**
     * 计划执行开始时间
     */
    @TableField(value = "effect_Start_Time")
    private LocalDateTime effectStartTime;

    /**
     * 计划执行结束时间
     */
    @TableField(value = "effect_End_Time")
    private LocalDateTime effectEndTime;

    /**
     * 实施状态
     */
    @TableField(value = "effect_Status")
    private String effectStatus;

    /**
     * 计划监督时间
     */
    @TableField(value = "plan_Supv_Date")
    private LocalDateTime planSupvDate;

    /**
     * 对象类型
     */
    @TableField(value = "supv_Obj_Type")
    private String supvObjType;

    /**
     * 监督对象名称
     */
    @TableField(value = "supv_Obj_Name")
    private String supvObjName;

    /**
     * 对象电压等级
     */
    @TableField(value = "obj_Voltage_Level")
    private String objVoltageLevel;

    /**
     * 关联电站
     */
    @TableField(value = "substation_Name")
    private String substationName;

    /**
     * 关联电站电压等级
     */
    @TableField(value = "substation_Voltage_Level")
    private String substationVoltageLevel;

    /**
     * 监督对象属性	01 在运站 02 新（改、扩）建站，仅新能源场站监督计划必填
     */
    @TableField(value = "obj_Type")
    private String objType;

    /**
     * 监督对象属性名称	仅新能源场站监督计划必填
     */
    @TableField(value = "obj_Type_Name")
    private String objTypeName;

    /**
     * 监督对象协议容量(MVA) 新能源场站、敏感用户监督计划必填
     */
    @TableField(value = "obj_Capacity")
    private Double objCapacity;

    /**
     * 报告出具时间
     */
    @TableField(value = "report_Issue_Time")
    private LocalDateTime reportIssueTime;

    /**
     * 电能质量问题发生时间
     */
    @TableField(value = "problem_Oc_Time")
    private LocalDateTime problemOcTime;

    /**
     * 删除标识	0否1是
     */
    @TableField(value = "delete_Flag")
    private String deleteFlag;

    /**
     * 计划状态	1新建2变更 3取消
     */
    @TableField(value = "plan_Status")
    private String planStatus;

    /**
     * 删除时间
     */
    @TableField(value = "delete_Time")
    private LocalDateTime deleteTime;

    /**
     * 实施人id
     */
    @TableField(value = "effect_User_Id")
    private String effectUserId;

    /**
     * 实施人姓名
     */
    @TableField(value = "effect_User_Name")
    private String effectUserName;

    /**
     * 0.未上送 1.上送是否发起告警单
     */
    @TableField(value = "is_upload_head")
    private Integer isUploadHead;

    /**
     * 流程实例的编号
     */
    @TableField(value = "process_instance_id")
    private String processInstanceId;

    @TableField(value = "history_instance_id")
    private String historyInstanceId;

    /**
     * 1:审批中；2：审批通过；3：审批不通过；4：已取消
     */
    @TableField(value = "status")
    private Integer status;


    /**
     * 状态：0-删除 1-正常
     */
    @TableField(value = "State")
    private Integer state;
}
