SchedulePlan.java
4.14 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
package com.bsth.entity.schedule;
import com.bsth.entity.Line;
import com.bsth.entity.schedule.rule.ScheduleRule1;
import com.bsth.entity.sys.SysUser;
import javax.persistence.*;
import java.util.Date;
import java.util.List;
/**
* 排班计划。
*/
@Entity
@Table(name = "bsth_c_s_sp")
@NamedEntityGraphs({
@NamedEntityGraph(name = "schedulePlan_xl_ttinfo", attributeNodes = {
@NamedAttributeNode("xl"),
@NamedAttributeNode("ttInfo")
})
})
public class SchedulePlan {
/** 主键Id */
@Id
@GeneratedValue
private Long id;
/** 关联的线路 */
@ManyToOne(optional = false, cascade = CascadeType.PERSIST, fetch = FetchType.LAZY)
private Line xl;
/** 关联的时刻表/模版 */
@ManyToOne(optional = false, cascade = CascadeType.PERSIST, fetch = FetchType.LAZY)
private TTInfo ttInfo;
/** 关联的排班规则(这里暂时改成可以不关联规则,直接生成排班) */
@ManyToOne(cascade = CascadeType.PERSIST, fetch = FetchType.LAZY)
private ScheduleRule1 scheduleRule1;
/** 排班计划的开始时间 */
@Column(nullable = false)
private Date scheduleFromTime;
/** 排班计划的结束时间 */
@Column(nullable = false)
private Date scheduleToTime;
/** 使用中间表的一对多关联 明细信息 */
@OneToMany(cascade = CascadeType.PERSIST, fetch = FetchType.LAZY)
@JoinTable(
name = "bsth_c_s_sp_r_info",
joinColumns = @JoinColumn(name = "sp_id"),
inverseJoinColumns = @JoinColumn(name = "sp_info_id")
)
private List<SchedulePlanInfo> schedulePlanInfoList;
/** 创建人 */
@ManyToOne(cascade = CascadeType.PERSIST, fetch = FetchType.LAZY)
private SysUser createBy;
/** 修改人 */
@ManyToOne(cascade = CascadeType.PERSIST, fetch = FetchType.LAZY)
private SysUser updateBy;
/** 创建日期 */
@Column(updatable = false, name = "create_date", columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP")
private Date createDate;
/** 修改日期 */
@Column(name = "update_date", columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP")
private Date updateDate;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public Line getXl() {
return xl;
}
public void setXl(Line xl) {
this.xl = xl;
}
public TTInfo getTtInfo() {
return ttInfo;
}
public void setTtInfo(TTInfo ttInfo) {
this.ttInfo = ttInfo;
}
public ScheduleRule1 getScheduleRule1() {
return scheduleRule1;
}
public void setScheduleRule1(ScheduleRule1 scheduleRule1) {
this.scheduleRule1 = scheduleRule1;
}
public Date getScheduleFromTime() {
return scheduleFromTime;
}
public void setScheduleFromTime(Date scheduleFromTime) {
this.scheduleFromTime = scheduleFromTime;
}
public Date getScheduleToTime() {
return scheduleToTime;
}
public void setScheduleToTime(Date scheduleToTime) {
this.scheduleToTime = scheduleToTime;
}
public List<SchedulePlanInfo> getSchedulePlanInfoList() {
return schedulePlanInfoList;
}
public void setSchedulePlanInfoList(List<SchedulePlanInfo> schedulePlanInfoList) {
this.schedulePlanInfoList = schedulePlanInfoList;
}
public SysUser getCreateBy() {
return createBy;
}
public void setCreateBy(SysUser createBy) {
this.createBy = createBy;
}
public SysUser getUpdateBy() {
return updateBy;
}
public void setUpdateBy(SysUser updateBy) {
this.updateBy = updateBy;
}
public Date getCreateDate() {
return createDate;
}
public void setCreateDate(Date createDate) {
this.createDate = createDate;
}
public Date getUpdateDate() {
return updateDate;
}
public void setUpdateDate(Date updateDate) {
this.updateDate = updateDate;
}
}