package com.estate.expert.admin.domain.exam.task;
|
|
import com.estate.expert.admin.domain.business.car.Car;
|
import com.estate.expert.admin.domain.common.EntityBase;
|
import com.estate.expert.admin.domain.user.User;
|
import lombok.Getter;
|
import lombok.Setter;
|
|
import javax.persistence.*;
|
import java.time.LocalDate;
|
import java.util.List;
|
import java.util.Set;
|
|
/**
|
* 任务表
|
*/
|
@Getter
|
@Setter
|
@Entity
|
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
|
@DiscriminatorColumn(name = "task_type", discriminatorType = DiscriminatorType.STRING)
|
public class Task extends EntityBase {
|
|
/**
|
* 复查时间
|
*/
|
private LocalDate date;
|
|
/**
|
* 集合地点
|
*/
|
private String assemblePlace;
|
|
/**
|
* 组长
|
*/
|
@ManyToMany(fetch = FetchType.LAZY)
|
@JoinTable(name = "task_group_leader",
|
joinColumns = @JoinColumn(name = "task_id"),
|
inverseJoinColumns = @JoinColumn(name = "user_id"))
|
private Set<User> groupLeaders;
|
|
/**
|
* 组员
|
*/
|
@ManyToMany(fetch = FetchType.LAZY)
|
@JoinTable(name = "task_group_member",
|
joinColumns = @JoinColumn(name = "task_id"),
|
inverseJoinColumns = @JoinColumn(name = "user_id"))
|
private Set<User> groupMembers;
|
|
/**
|
* 司机
|
*/
|
@ManyToMany(fetch = FetchType.LAZY)
|
@JoinTable(name = "task_driver",
|
joinColumns = @JoinColumn(name = "task_id"),
|
inverseJoinColumns = @JoinColumn(name = "user_id"))
|
private List<User> drivers;
|
|
/**
|
* 用车信息
|
*/
|
@ManyToMany(fetch = FetchType.LAZY)
|
@JoinTable(name = "task_car",
|
joinColumns = @JoinColumn(name = "task_id"),
|
inverseJoinColumns = @JoinColumn(name = "car_id"))
|
private List<Car> cars;
|
}
|