package cn.cslg.pas.common.model.vo;

import cn.cslg.pas.common.model.BaseEntity;
import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data;
import lombok.experimental.Accessors;

import java.util.List;

/**
 * 专题库表的标准查询VO类
 */
@Accessors(chain = true)
@Data
public class ProjectStandardVO extends BaseEntity<ProjectStandardVO> {
    /**
     * 标题
     */
    private String name;

    /**
     * 创建者（登录账户）ID
     */
    @TableField("creat_id")
    private Integer createBy;

    /**
     * 技术主题
     */
    private String technicalTheme;

    /**
     * 内部案卷
     */
    @TableField("innerfile")
    private String innerFile;

    /**
     * 是否更新 0 否  1 是
     */
    @TableField("`update`")
    private Integer update;

    /**
     * 处理状态
     */
    private String status;

    /**
     * 合同号
     */
    private String contractNo;

    /**
     * 委案日
     */
    @TableField("`case`")
    private String caseDate;

    /**
     * 更新周期
     */
    private String updateTime;

    /**
     * 排序
     */
    private Integer sort;

    /**
     * 委托方ID
     */
    @TableField("clientid")
    private Integer clientId;

    /**
     * 委托场景ID
     */
    @TableField("scenarioid")
    private String scenario;

    /**
     * 调查类型ID
     */
    @TableField("typeid")
    private String type;

    /**
     * 备注
     */
    private String remark;

    /**
     * 部门ID
     */
    @TableField("department_id")
    private Integer departmentId;

    /**
     * 部门ID
     */
    @TableField("personnel_id")
    private Integer personnelId;
    /**
     * 租户ID
     */
    @TableField("tenantId")
    private Integer tenantId;
    /**
     * 创建时间
     */
    private Integer createTime;

    @TableField(exist = false)
    private String clientName;

    @TableField(exist = false)
    private List<String> typeName;

    @TableField(exist = false)
    private List<String> scenarioName;

    @TableField(exist = false)
    private String createName;

    @TableField(exist = false)
    private List<Integer> scenarioList;

    @TableField(exist = false)
    private List<Integer> typeList;

    @TableField(exist = false)
    private Integer reportNum;

    @TableField(exist = false)
    private String departmentName;

    @TableField(exist = false)
    private String personnelName;

    /**
     * 产品id
     */
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private Integer productId;
    /**
     * 架构id
     */
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private Integer structureId;
    /**
     * 是否分类(1是 0否)
     */
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private Integer isCategory;
    /**
     * 产品名称
     */
    @TableField(exist = false)
    private String productName;

}
