package cn.sagacloud.server.algorithm.models.modelFile

import io.swagger.annotations.ApiModel
import io.swagger.annotations.ApiModelProperty
import java.io.Serializable
import java.util.*
import javax.persistence.Column
import javax.persistence.Id
import javax.persistence.Table

/**
 *
 *
 * @author jxing
 */
@ApiModel(description = "模型楼层查询视图")
@Table(name = "revit.model_floor_file")
open class FloorModelView : Serializable {
    /** 楼层id */
    @ApiModelProperty(value = "视图id")
    @Column(name = "id" , insertable = false, updatable = false)
    @Id
    var id: String? = null

    /** 项目id */
    @ApiModelProperty(value = "项目id")
    @Column(name = "project_id")
    var projectId: String? = null

    /** 楼层名称 */
    @ApiModelProperty(value = "楼层名称")
    @Column(name = "floor_name")
    var floorName: String? = null

    /** 该楼层当前的模型id */
    @ApiModelProperty(value = "该楼层当前的模型id")
    @Column(name = "fid")
    var currentModelId: String? = null

    /** 该楼层所属的文件夹id */
    @ApiModelProperty(value = "该楼层所属的文件夹id")
    @Column(name = "folder_id")
    var folderId: String? = null

    /** 上传完成, 初步校验完成时间 */
    @ApiModelProperty(value = "上传完成, 初步校验完成时间")
    @Column(name = "accept_time")
    var acceptTime: Date? = null

    /** 版本号 */
    @ApiModelProperty(value = "版本号")
    @Column(name = "version")
    var version: Int? = null

    /** 备注 */
    @ApiModelProperty(value = "备注")
    @Column(name = "note")
    var note: String? = null

    /** 上传人用户id */
    @ApiModelProperty(value = "上传人用户id")
    @Column(name = "user_id")
    var userId: String? = null

    /** 上传人用户名 */
    @ApiModelProperty(value = "上传人用户名")
    @Column(name = "user_name")
    var userName: String? = null

    /** 处理日志 */
    @ApiModelProperty(value = "处理日志")
    @Column(name = "log")
    var log: Map<String, Any?>? = null

    /** 模型url */
    @ApiModelProperty(value = "模型url")
    @Column(name = "url")
    var url: String? = null

    /** 模型md5值 */
    @ApiModelProperty(value = "模型md5值")
    @Column(name = "md5")
    var md5: String? = null

    /** 模型文件状态 */
    @ApiModelProperty(value = "模型文件状态")
    @Column(name = "status")
    var status: Int? = null

    /** 模型文件平面图名称 */
    @ApiModelProperty(value = "模型文件平面图名称")
    @Column(name = "plan_name")
    var planName: String? = null

    /** 模型文件的标高 */
    @ApiModelProperty(value = "模型文件的标高")
    @Column(name = "level")
    var baseLevel: Double? = null

    /** 调度器信息 */
    @ApiModelProperty(value = "调度器信息")
    @Column(name = "scheduler_info")
    var taskInfo: SchedulerInfo? = null

    /** 模型文件检查结果中非阻塞性检查是否有错误 */
    @ApiModelProperty(value = "模型文件检查结果中非阻塞性检查是否有错误")
    @Column(name = "data_check_result")
    var dataCheckResult: Boolean? = null

    /** 模型文件大小 */
    @ApiModelProperty(value = "模型文件大小")
    @Column(name = "size")
    var size: Long? = null

    /** 模型文件原始名称 */
    @ApiModelProperty(value = "模型文件原始名称")
    @Column(name = "original_name")
    var originalName: String? = null

    /** 模型的revit版本 */
    @ApiModelProperty(value = "模型的revit版本")
    @Column(name = "revit_version")
    var revitVersion: String? = null
}