package com.estate.expert.admin.domain.plan; import com.estate.expert.admin.domain.business.client.Client; import com.estate.expert.admin.domain.common.EntityBase; import com.estate.expert.admin.domain.standard.expert.Expert; import com.estate.expert.admin.domain.standard.model.device.DeviceModel; import com.estate.expert.admin.domain.standard.model.system.SysModel; import lombok.Getter; import lombok.Setter; import javax.persistence.*; import java.time.LocalDateTime; /** * * @TableName plan 计划表 */ @Getter @Setter @Entity public class Plan extends EntityBase { /** * 计划类型 */ private PlanType type; /** * 委托方ID */ @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "client_id") private Client client; /********** 综合体系 **********/ @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "system_model_id") private SysModel systemModel; /** * 综合体系-模糊数学专家 */ @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "system_fuzzy_expert_id") private Expert systemFuzzyExpert; /** * 综合体系-打分表专家 */ @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "system_score_expert_id") private Expert systemScoreExpert; /********** 设备体系 **********/ @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "device_model_id") private DeviceModel deviceModel; /** * 设备模糊数学专家 */ @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "device_fuzzy_math_id") private Expert deviceFuzzyExpert; /** * 设备打分表专家 */ @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "device_score_expert_id") private Expert deviceScoreExpert; /** * 项目状态 */ @Column(nullable = false) private PlanState state; /** * 完成时间 */ private LocalDateTime completedTime; }