/*
 * *********************************************************************************************************************
 *
 *          !!
 *        .F88X
 *        X8888Y
 *      .}888888N;
 *        i888888N;        .:!              .I$WI:
 *          R888888I      .'N88~            i8}+8Y&8"l8i$8>8W~'>W8}8]KW+8IIN"8&
 *          .R888888I    .;N8888~          .X8'  "8I.!,/8"  !%NY8`"8I8~~8>,88I
 *            +888888N;  .8888888Y                                  "&&8Y.}8,
 *            ./888888N;  .R888888Y        .'}~    .>}'.`+>  i}!    "i'  +/'  .'i~  !11,.:">,  .~]!  .i}i
 *              ~888888%:  .I888888l      .]88~`1/iY88Ii+1'.R$8$8]"888888888>  Y8$  W8E  X8E  W8888'188Il}Y88$*
 *              18888888    E8888881    .]W%8$`R8X'&8%++N8i,8N%N8+l8%`  .}8N:.R$RE%N88N%N$K$R  188,FE$8%~Y88I
 *            .E888888I  .i8888888'      .:$8I;88+`E8R:/8N,.>881.`$8E/1/]N8X.Y8N`"KF&&FK!'88*."88K./$88%RN888+~
 *            8888888I  .,N888888~        ~88i"8W,!N8*.I88.}888%F,i$88"F88"  888:E8X.>88!i88>`888*.}Fl1]*}1YKi'
 *          i888888N'      I888Y          ]88;/EX*IFKFK88X  K8R  .l8W  88Y  ~88}'88E&%8W.X8N``]88!.$8K  .:W8I
 *        .i888888N;        I8Y          .&8$  .X88!  i881.:%888>I88  ;88]  +88+.';;;;:.Y88X  18N.,88l  .+88/
 *      .:R888888I
 *      .&888888I                                          Copyright (c) 2009-2020.  博锐尚格科技股份有限公司
 *        ~8888'
 *        .!88~                                                                     All rights reserved.
 *
 * *********************************************************************************************************************
 */

package com.persagy.server.datacenter.models.entities.graphtype

import com.persagy.server.datacenter.models.entities.base.RBaseInfo
import io.swagger.v3.oas.annotations.media.Schema
import javax.persistence.Column
import javax.persistence.Id
import javax.persistence.Table

/**
 * 关系类型
 *
 * @author  邓婷婷
 */
@Schema(description = "关系类型实体类")
@Table(name = "graphtype.relation_type")
open class RelationType : RBaseInfo() {

    /** 关系类型id */
    @Schema(description = "关系类型id")
    @Id
    @Column(name = "id")
    var relationTypeId: String? = null

    /** 关系类型名称 */
    @Schema(description = "关系类型名称")
    @Column(name = "name")
    var relationTypeName: String? = null

    /** 关系类型编码 */
    @Schema(description = "关系类型编码")
    @Column(name = "code")
    var relationTypeCode: String? = null

    /** 图类型 id */
    @Schema(description = "图类型 id")
    @Column(name = "graphic_id")
    var graphicId: String? = null

    /** 图类型编码 */
    @Schema(description = "图类型编码")
    @Column(name = "graphic_type")
    var graphicType: String? = null

    /** 说明 */
    @Schema(description = "说明")
    @Column(name = "note")
    var note: String? = null

    /** 连接对象 */
    @Schema(description = "连接对象")
    @Column(name = "conne_object")
    var conneObject: String? = null

    /** 是否需要配置源末端 */
    @Schema(description = "是否需要配置源末端")
    @Column(name = "is_source")
    var isSource: Boolean? = null

    /** 是否自动计算类型 */
    @Schema(description = "是否自动计算类型")
    @Column(name = "is_automatic")
    var isAutomatic: Boolean? = null

    /** 手动计算类型 1 禁用  2提示引导 3手动维护 */
    @Schema(description = "手动计算类型 1 禁用  2提示引导 3手动维护")
    @Column(name = "manual")
    var manual: Int? = null

    /** 提示信息 */
    @Schema(description = "提示信息")
    @Column(name = "prompting")
    var prompting: String? = null

    /** 关系表名 */
    @Schema(description = "关系表名")
    @Column(name = "table_name")
    var tableName: String? = null

    /** 关系是否双向 */
    @Schema(description = "关系是否双向")
    @Column(name = "is_thorough")
    var isThorough: Boolean? = null

    /** 关系类型，数据中心用。 */
    @Schema(description = "关系类型，数据中心用。")
    @Column(name = "relation_type")
    var relationType: String? = null

    /** 业务空间类型 */
    @Schema(description = "业务空间类型")
    @Column(name = "zone_type")
    var zoneType: String? = null

    /** 手动计算查询函数 */
    @Schema(description = "手动计算查询函数")
    @Column(name = "manual_query")
    var manualQuery: String? = null

    /** 手动计算主对象类型 */
    @Schema(description = "手动计算主对象类型")
    @Column(name = "main_type")
    var mainType: String? = null

    /** 手动计算从对象类型 */
    @Schema(description = "手动计算从对象类型")
    @Column(name = "from_type")
    var fromType: String? = null

    /** 手动计算添加关系 */
    @Schema(description = "手动计算添加关系")
    @Column(name = "add_rel")
    var addRel: String? = null

    /** 手动计算删除关系 */
    @Schema(description = "手动计算删除关系")
    @Column(name = "del_rel")
    var delRel: String? = null

    /** 手动计算关系类型 */
    @Schema(description = "手动计算关系类型")
    @Column(name = "rel_manual_type")
    var relManualType: String? = null

    /** 主对象类型 */
    @Schema(description = "主对象类型")
    @Column(name = "main_object")
    var mainObject: String? = null

    /** 从对象类型 */
    @Schema(description = "从对象类型")
    @Column(name = "from_object")
    var fromObject: String? = null

    /** 机电系统类型 */
    @Schema(description = "机电系统类型")
    @Column(name = "mep_system_type")
    var mepSystemType: ArrayList<String>? = null

} // Class RelationType