package com.estate.expert.admin.domain.exam.task.check;
|
|
import com.estate.expert.admin.domain.exam.task.Task;
|
import com.estate.expert.admin.domain.exam.task.pass.ByPassInfo;
|
import com.estate.expert.admin.domain.exam.task.review.ReviewTask;
|
import com.estate.expert.admin.domain.plan.Plan;
|
import com.estate.expert.admin.domain.project.Project;
|
import com.estate.expert.admin.domain.project.info.ProjectInfo;
|
import lombok.Getter;
|
import lombok.Setter;
|
import org.hibernate.annotations.Type;
|
|
import javax.persistence.*;
|
import java.util.Map;
|
|
/**
|
* 项目检查任务
|
*
|
* 每个计划对应该委托人的项目,均可创建一个项目
|
*/
|
@Getter
|
@Setter
|
@Entity
|
@DiscriminatorValue("check_task")
|
public class CheckTask extends Task {
|
/**
|
* 项目ID
|
*/
|
@ManyToOne(fetch = FetchType.LAZY)
|
@JoinColumn(name = "project_id")
|
private Project project;
|
|
/**
|
* 计划ID
|
*/
|
@ManyToOne(fetch = FetchType.LAZY)
|
@JoinColumn(name = "plan_id")
|
private Plan plan;
|
|
@OneToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
|
@JoinColumn(name = "bypass_info_id", referencedColumnName = "id")
|
private ByPassInfo byPassInfo;
|
|
/**
|
* 任务状态
|
*/
|
private CheckTaskState state;
|
|
@OneToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
|
@JoinColumn(name = "review_task_id", referencedColumnName = "id")
|
private ReviewTask reviewTask;
|
|
/**
|
* 地点信息
|
*/
|
private String location;
|
|
|
/**
|
* 打分评价结果
|
*/
|
private Float systemScore;
|
|
|
@Type(type = "io.hypersistence.utils.hibernate.type.json.JsonType")
|
@Column(columnDefinition = "json")
|
private Map<Integer, Float> deviceScoreMap;
|
|
/**
|
* 模糊评价结果
|
*/
|
private Float systemFuzzy;
|
|
|
@Type(type = "io.hypersistence.utils.hibernate.type.json.JsonType")
|
@Column(columnDefinition = "json")
|
private Map<Integer, Float> deviceFuzzyMap;
|
|
/**
|
* 经纬度
|
* double[0] 经度
|
* double[1] 纬度
|
*/
|
@Type(type = "io.hypersistence.utils.hibernate.type.json.JsonType")
|
@Column(columnDefinition = "json")
|
private Double[] gps;
|
|
@Override
|
public String getOptionName() {
|
return project.getName();
|
}
|
|
//关闭项目的时候,关联项目最后一条信息到检查任务上,不管是谁添加的,用于出报告
|
@ManyToOne
|
@JoinColumn(name = "project_info_id")
|
private ProjectInfo projectInfo;
|
}
|