package com.ys.bdtp.adm.mvvm.model.db.entity.dict

import androidx.room.ColumnInfo
import androidx.room.Entity
import androidx.room.PrimaryKey

/**
 * 字典, 设备表
 *
 * @author bai
 *
 * @param id
 * @param code 系统编码
 * @param name 系统名称
 * @param objType 对象类型: "equipment"
 * @param aliasCode 编码别名
 * @param aliasName 名称别名
 * @param groupCode 集团编码
 * @param projectId 项目id
 * @param majorCode 专业编码
 * @param systemCode 系统编码
 * @param parentCode 父编码
 * @param instanceScope 交付范围：实例范围
 * @param defineTypeId 对象类型定义Id
 * @param deliveryType 交付类型: 0-项目交付 1-现场交付
 * @param isDelivery 是否交付: 0-否 1-是
 * @param isDelivery 是否交付: 0-否 1-是
 * @param associationRelation 交付范围: 依赖&关联
 * @param valid 有效标识: 0 无效, 1 有效
 * @param version 版本
 * @param sourceFrom
 * @param creator 创建人
 * @param creationTime 创建时间
 */
@Entity(tableName = "equipment_dict")
data class EquipmentDictEntity(
    @PrimaryKey @ColumnInfo(name = "id") val id: String,
    @ColumnInfo(name = "code") val code: String?,
    @ColumnInfo(name = "name") val name: String?,
    @ColumnInfo(name = "obj_type") val objType: String?,
    @ColumnInfo(name = "alias_code") val aliasCode: String?,
    @ColumnInfo(name = "alias_name") val aliasName: String?,
    @ColumnInfo(name = "group_code") val groupCode: String?,
    @ColumnInfo(name = "project_id") val projectId: String?,
    @ColumnInfo(name = "major_code") val majorCode: String?,
    @ColumnInfo(name = "system_code") val systemCode: String?,
    @ColumnInfo(name = "parent_code") val parentCode: String?,
    @ColumnInfo(name = "instance_scope") val instanceScope: String?,
    @ColumnInfo(name = "define_type_id") val defineTypeId: String?,
    @ColumnInfo(name = "delivery_type") val deliveryType: String?,
    @ColumnInfo(name = "is_delivery") val isDelivery: Int,
    @ColumnInfo(name = "association_relation") val associationRelation: Int,
    @ColumnInfo(name = "valid") var valid: Int?,
    @ColumnInfo(name = "version") val version: String?,
    @ColumnInfo(name = "source_from") var sourceFrom: Int,
    @ColumnInfo(name = "creator") val creator: String,
    @ColumnInfo(name = "creation_time") val creationTime: Long
)
