SchedulePlan.java
4.92 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
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
package com.bsth.entity.schedule;
import com.bsth.entity.Line;
import com.bsth.entity.schedule.rule.ScheduleRule1;
import com.bsth.entity.sys.SysUser;
import com.fasterxml.jackson.annotation.JsonIgnore;
import javax.persistence.*;
import java.util.ArrayList;
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.DETACH, fetch = FetchType.LAZY)
private Line xl;
/** 关联的时刻表/模版 */
@ManyToOne(optional = false, cascade = CascadeType.DETACH, fetch = FetchType.LAZY)
private TTInfo ttInfo;
/** TODO:关联的排班规则(这里暂时改成可以不关联规则,直接生成排班) */
@ManyToOne(cascade = CascadeType.PERSIST, fetch = FetchType.LAZY)
private ScheduleRule1 scheduleRule1;
// TODO: 新字段,测试完后删除旧的字段
/** 使用的时刻表名字列表(用逗号连接) */
private String ttInfoNames;
/** 使用的时刻表id列表(用逗号连接) */
private String ttInfoId;
/** 使用的规则1列表(用逗号连接) */
private String rule1Ids;
/** 排班计划的开始时间 */
@Column(nullable = false)
private Date scheduleFromTime;
/** 排班计划的结束时间 */
@Column(nullable = false)
private Date scheduleToTime;
@JsonIgnore
/** 使用中间表的一对多关联 明细信息 */
@OneToMany(mappedBy = "schedulePlan", cascade = CascadeType.ALL, fetch = FetchType.LAZY)
private List<SchedulePlanInfo> schedulePlanInfoList = new ArrayList<>();
/** 创建人 */
@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;
}
public String getTtInfoNames() {
return ttInfoNames;
}
public void setTtInfoNames(String ttInfoNames) {
this.ttInfoNames = ttInfoNames;
}
public String getTtInfoId() {
return ttInfoId;
}
public void setTtInfoId(String ttInfoId) {
this.ttInfoId = ttInfoId;
}
public String getRule1Ids() {
return rule1Ids;
}
public void setRule1Ids(String rule1Ids) {
this.rule1Ids = rule1Ids;
}
}