Commit c6f658dc6b0ed3dea8993578c0cafe350d3a3e69

Authored by 徐烜
2 parents ac2f3b27 1700f00e

update

Too many changes to show.

To preserve performance only 28 of 64 files are displayed.

README.md
1   -公交调度系统BS版 0.1
2   -======
3   -----------
4   -## 目录
5   ----------
6   - * [字典表](#字典表)
7   - * [车载 gps 相关数据](#gps)
8   - * [实时gps数据接口 http](#实时gps接口)
9   - * [进出站数据表结构](#进站数据)
10   - * [异常警报表结构](#异常警报)
11   - * [大间隔](#大间隔)
12   - * [超速](#超速)
13   - * [越界](#越界)
14   - * [越站](#越站)
15   - * [聚集](#聚集)
16   - * [掉线](#掉线)
17   - * [消息上传下发](#消息上传下发)
18   -
19   -----------
20   -
21   -## 字典表
22   -----------
23   -字典操作全部由前端负责,主要有2种。
24   -
25   -1、将字典代码转换为中文 。片段加载完成后,包含 `class="nt-dictionary"` 的标签会被转换,data-group 为所属字典组。
26   -``` html
27   -
28   -<span class="nt-dictionary" data-group="XianLuXingZhi">GJXL</span>
29   -
30   ---转换后
31   -<span class="dictionary" data-group="XianLuXingZhi" data-code="GJXL" >过江线路</span>
32   -```
33   -2、生成下拉框,当包含`class="nt-dictionary"` 的标签是`select`时。
34   -``` html
35   -<!- 原 -->
36   -<select class="nt-dictionary" data-group="XianLuXingZhi" data-code="GJXL"></select>
37   -
38   -<!-- 转换后 -->
39   -<select class="nt-dictionary" data-group="XianLuXingZhi" >
40   - <option value="GJXL">过江线路</option>
41   - <option value="CCTXL">村村通线路</option>
42   - <option value="YXXL">夜宵线路</option>
43   - <option value="CSBS">穿梭巴士</option>
44   -</select>
45   -```
46   -
47   -## gps
48   -----------
49   -### 实时gps接口
50   -
51   -所有在线GPS: [http://192.168.168.192:8080/transport_server/rtgps](http://192.168.168.192:8080/transport_server/rtgps/)
52   -根据设备号查询:[http://192.168.168.192:8080/transport_server/rtgps/05B01901](http://192.168.168.192:8080/transport_server/rtgps/05B01901)
53   -
54   -<span style="color: red">Response</span>:
55   -```json
56   -{
57   - "data":[
58   - {
59   - "companyCode":5,
60   - "lineId":10329,
61   - "deviceId":"05B01901",
62   - "carparkNo":"00000000",
63   - "stopNo":"7C890002",
64   - "lon":121.549866,
65   - "lat":31.238798,
66   - "timestamp":1397104499000,
67   - "speed":42.0,
68   - "direction":245.9,
69   - "state":0,
70   - "upDown":0
71   - }]
72   -}
73   -```
74   -
75   -| -- | --|--|
76   -| ---- | ---- | ---- |
77   -| companyCode | int | 公司代码 |
78   -| lineId | int | 线路编码 |
79   -| deviceId | String | 设备编号 |
80   -| carparkNo | String | 停车场编码 |
81   -| stopNo | String | 站点编码 |
82   -| lon | float | 经度 |
83   -| lat | float | 纬度 |
84   -| timestamp | long | 时间戳 |
85   -| speed | float | 速度|
86   -| direction | float | 方向(角度) |
87   -| state | int | 营运状态( 0 营运 ,1 非营运, -1 无效) |
88   -| upDown | int | 上下行(0 上行 , 1 下行 , -1 无效)|
89   -
90   -
91   -### 进站数据
92   -----------
93   -表名:
94   -
95   -| .. | .. | .. |
96   -| ---- | ---- | ---- |
97   -| id | int | 主键 |
98   -| deviceId | String | 设备号 |
99   -| lineId | int | 线路编码 |
100   -| stopNo | long | 站点编码 |
101   -| timestamp | long | 时间戳 |
102   -| upDown | int | 上下行(0 上行 , 1 下行 , -1 无效) |
103   -| createDate | Date | 创建时间 |
104   -
105   -
106   -### 异常警报
107   -----------
108   -
109   -### 大间隔
110   -----------
111   -表名:
112   -
113   -| .. | .. | .. |
114   -| ---- | ---- | ---- |
115   -| id | int | 主键 |
116   -| line | int | 线路编码 |
117   -| station | String | 站点编码 |
118   -| cVehicle | String | 当前车辆编码 |
119   -| lastVehicle | String | 上一个车辆编码 |
120   -| interval | long | 间隔时间(秒) |
121   -| timestamp | long | 时间戳 |
122   -| createDate | Date | 创建时间 |
123   -
124   -### 超速
125   -----------
126   -表名:
127   -
128   -| .. | .. | .. |
129   -| ---- | ---- | ---- |
130   -| id | int | 主键 |
131   -| vehicle | String | 车辆编码 |
132   -| line | int | 线路编码 |
133   -| upDown | int | 上下行(0 上行 , 1 下行 , -1 无效) |
134   -| lon | float | 经度 |
135   -| lat | float | 纬度|
136   -| speed | float | 速度 |
137   -| timestamp | long | 时间戳 |
138   -| createDate | Date | 时间 |
139   -
140   -### 越界
141   -----------
142   -表名:
143   -
144   -| .. | .. | .. |
145   -| ---- | ---- | ---- |
146   -| id | int | 主键 |
147   -| vehicle | String | 车辆编码 |
148   -| line | int | 线路编码 |
149   -| upDown | int | 上下行(0 上行 , 1 下行 , -1 无效) |
150   -| lon | float | 经度 |
151   -| lat | float | 纬度|
152   -| location | String | 越界位置(由线调页面进行初始转换)意思是该字段默认为空,页面第一次查看时会写入值|
153   -| timestamp | long | 时间戳 |
154   -| createDate | Date | 时间 |
155   -
156   -
157   -### 越站
158   -----------
159   -表名:
160   -
161   -| .. | .. | .. |
162   -| ---- | ---- | ---- |
163   -| id | int | 主键 |
164   -| line | int | 线路编码 |
165   -| upDown | int | 上下行(0 上行 , 1 下行 , -1 无效) |
166   -| station | String | 站点编码 |
167   -| vehicle | String | 车辆编码 |
168   -| inData | Date | 进站时间 |
169   -| outDate | Date | 出站时间 |
170   -
171   -
172   -### 聚集
173   -----------
174   -表名:
175   -
176   -| .. | .. | .. |
177   -| ---- | ---- | ---- |
178   -| id | int | 主键 |
179   -| line | int | 线路编码 |
180   -| upDown | int | 上下行(0 上行 , 1 下行 , -1 无效) |
181   -| stations | String | 站点(多个用 , 号分隔。应该是连续站点) |
182   -| vehicles | String | 车辆编码(多个用 , 号分隔) |
183   -| timestamp | long | 时间戳 |
184   -| createDate | Date | 时间 |
185   -
186   -
187   -### 掉线
188   -----------
189   -表名:
190   -
191   -| .. | .. | .. |
192   -| ---- | ---- | ---- |
193   -| id | int | 主键 |
194   -| line | int | 线路编码 |
195   -| upDown | int | 上下行(0 上行 , 1 下行 , -1 无效) |
196   -| vehicle | String | 车辆编码 |
197   -| lon | float | 经度 |
198   -| lat | float | 纬度|
199   -| timestamp | long | 时间戳 |
200   -| createDate | Date | 时间 |
201   -
202   -## 消息上传下发
203   -----------
204   -### 消息下发接口
205   -[http://192.168.168.192:8080/transport_server/message](http://192.168.168.192:8080/transport_server/message/)
206   -
207   -<span style="color: red">Request</span>:
208   -```json
209   -{
210   - "deviceId":12345,
211   - "timestamp":44324,
212   - "operCode":0x60,
213   - "data":{
214   - "companyCode":22,//short
215   - "deviceId":"029L2222",//string
216   - "timestamp":134326,//long
217   - "instructType":00,//short
218   - "dispatchInstruct":0x00,//short
219   - "msgId":12345,//long
220   - "alarmTime":201606012000,//long
221   - "serviceState":00000000,//long
222   - "txtContent":"你好"//string
223   - }
224   -}
225   -```
226   -| .. | .. | .. |
227   -| ---- | ---- | ---- |
228   -| deviceId | string | 设备编号 |
229   -| timestamp | long | 时间戳(ms) |
230   -| operCode | short | 一级协议 |
231   -| data.companyCode | short | 公司代码 |
232   -| data.deviceId | string | 设备编号 |
233   -| data.timestamp | long | 时间戳 |
234   -| data.instructType | short | 保留 默认0 |
235   -| data.dispatchInstruct | short | 调度指令 |
236   -| data.msgId | long | 同上 |
237   -| data.alarmTime | long | 闹钟 |
238   -| data.serviceState | long | 多状态字节 |
239   -| data.txtContent | string | 下发的消息文本 |
240   -```json
241   -{
242   - "deviceId":12345,
243   - "timestamp":44324,
244   - "operCode":0x64,
245   - "data":{
246   - "cityCode":22,//int
247   - "deviceId":"029L2222",//string
248   - "lineId":"134326"//string
249   - }
250   -}
251   -```
252   -| .. | .. | .. |
253   -| ---- | ---- | ---- |
254   -| deviceId | string | 设备编号 |
255   -| timestamp | long | 时间戳(ms) |
256   -| operCode | short | 一级协议 |
257   -| data.cityCode | short | 城市区号 |
258   -| data.deviceId | string | 设备编号 |
259   -| data.lineId | string | 线路编号 |
260   -
261   -```json
262   -{
263   - "deviceId":12345,
264   - "timestamp":44324,
265   - "operCode":0xC0,
266   - "data":{
267   - "operCode":0x86,
268   - "requestAck":0x06 // 0x06同意 0x15不同意
269   - }
270   -}
271   -```
272   -| .. | .. | .. |
273   -| ---- | ---- | ---- |
274   -| deviceId | string | 设备编号 |
275   -| timestamp | long | 时间戳(ms) |
276   -| operCode | short | 一级协议 |
277   -| data.operCode | short | 二级协议 |
278   -| data.requestAck | short | 请求应答字 |
279   -
280   -<span style="color: red">Response</span>:
281   -```json
282   -{
283   - "errCode":0
284   -}
285   -```
286   -
287   -### 消息上传接口
288   -
289   -<span style="color: red">Request</span>:
290   -```json
291   -{
292   - "deviceId":12345,
293   - "timestamp":44324,
294   - "status":0,// 0x80时无数据 0表示失败 1表示成功或设备确认 2表示驾驶员阅读
295   - "operCode":0x80,// 消息确认时无数据
296   - "data":{
297   - "operCode":0x26,//二级协议
298   - "requestCode":22//short
299   - }// 消息确认将无数据
300   -}
301   -```
302   -
303   -<span style="color: red">Response</span>:
304   -```json
305   -{
306   - "errCode":0
307   -}
  1 +公交调度系统BS版 0.1
  2 +======
  3 +----------
  4 +## 目录
  5 +---------
  6 + * [字典表](#字典表)
  7 + * [车载 gps 相关数据](#gps)
  8 + * [实时gps数据接口 http](#实时gps接口)
  9 + * [进出站数据表结构](#进站数据)
  10 + * [异常警报表结构](#异常警报)
  11 + * [大间隔](#大间隔)
  12 + * [超速](#超速)
  13 + * [越界](#越界)
  14 + * [越站](#越站)
  15 + * [聚集](#聚集)
  16 + * [掉线](#掉线)
  17 + * [消息上传下发](#消息上传下发)
  18 +
  19 +----------
  20 +
  21 +## 字典表
  22 +----------
  23 +字典操作全部由前端负责,主要有2种。
  24 +
  25 +1、将字典代码转换为中文 。片段加载完成后,包含 `class="nt-dictionary"` 的标签会被转换,data-group 为所属字典组。
  26 +``` html
  27 +
  28 +<span class="nt-dictionary" data-group="XianLuXingZhi">GJXL</span>
  29 +
  30 +--转换后
  31 +<span class="dictionary" data-group="XianLuXingZhi" data-code="GJXL" >过江线路</span>
  32 +```
  33 +2、生成下拉框,当包含`class="nt-dictionary"` 的标签是`select`时。
  34 +``` html
  35 +<!- 原 -->
  36 +<select class="nt-dictionary" data-group="XianLuXingZhi" data-code="GJXL"></select>
  37 +
  38 +<!-- 转换后 -->
  39 +<select class="nt-dictionary" data-group="XianLuXingZhi" >
  40 + <option value="GJXL">过江线路</option>
  41 + <option value="CCTXL">村村通线路</option>
  42 + <option value="YXXL">夜宵线路</option>
  43 + <option value="CSBS">穿梭巴士</option>
  44 +</select>
  45 +```
  46 +
  47 +## gps
  48 +----------
  49 +### 实时gps接口
  50 +
  51 +所有在线GPS: [http://192.168.168.192:8080/transport_server/rtgps](http://192.168.168.192:8080/transport_server/rtgps/)
  52 +根据设备号查询:[http://192.168.168.192:8080/transport_server/rtgps/05B01901](http://192.168.168.192:8080/transport_server/rtgps/05B01901)
  53 +
  54 +<span style="color: red">Response</span>:
  55 +```json
  56 +{
  57 + "data":[
  58 + {
  59 + "companyCode":5,
  60 + "lineId":10329,
  61 + "deviceId":"05B01901",
  62 + "carparkNo":"00000000",
  63 + "stopNo":"7C890002",
  64 + "lon":121.549866,
  65 + "lat":31.238798,
  66 + "timestamp":1397104499000,
  67 + "speed":42.0,
  68 + "direction":245.9,
  69 + "state":0,
  70 + "upDown":0
  71 + }]
  72 +}
  73 +```
  74 +
  75 +| -- | --|--|
  76 +| ---- | ---- | ---- |
  77 +| companyCode | int | 公司代码 |
  78 +| lineId | int | 线路编码 |
  79 +| deviceId | String | 设备编号 |
  80 +| carparkNo | String | 停车场编码 |
  81 +| stopNo | String | 站点编码 |
  82 +| lon | float | 经度 |
  83 +| lat | float | 纬度 |
  84 +| timestamp | long | 时间戳 |
  85 +| speed | float | 速度|
  86 +| direction | float | 方向(角度) |
  87 +| state | int | 营运状态( 0 营运 ,1 非营运, -1 无效) |
  88 +| upDown | int | 上下行(0 上行 , 1 下行 , -1 无效)|
  89 +
  90 +
  91 +### 进站数据
  92 +----------
  93 +表名:
  94 +
  95 +| .. | .. | .. |
  96 +| ---- | ---- | ---- |
  97 +| id | int | 主键 |
  98 +| deviceId | String | 设备号 |
  99 +| lineId | int | 线路编码 |
  100 +| stopNo | long | 站点编码 |
  101 +| timestamp | long | 时间戳 |
  102 +| upDown | int | 上下行(0 上行 , 1 下行 , -1 无效) |
  103 +| createDate | Date | 创建时间 |
  104 +
  105 +
  106 +### 异常警报
  107 +----------
  108 +
  109 +### 大间隔
  110 +----------
  111 +表名:
  112 +
  113 +| .. | .. | .. |
  114 +| ---- | ---- | ---- |
  115 +| id | int | 主键 |
  116 +| line | int | 线路编码 |
  117 +| station | String | 站点编码 |
  118 +| cVehicle | String | 当前车辆编码 |
  119 +| lastVehicle | String | 上一个车辆编码 |
  120 +| interval | long | 间隔时间(秒) |
  121 +| timestamp | long | 时间戳 |
  122 +| createDate | Date | 创建时间 |
  123 +
  124 +### 超速
  125 +----------
  126 +表名:
  127 +
  128 +| .. | .. | .. |
  129 +| ---- | ---- | ---- |
  130 +| id | int | 主键 |
  131 +| vehicle | String | 车辆编码 |
  132 +| line | int | 线路编码 |
  133 +| upDown | int | 上下行(0 上行 , 1 下行 , -1 无效) |
  134 +| lon | float | 经度 |
  135 +| lat | float | 纬度|
  136 +| speed | float | 速度 |
  137 +| timestamp | long | 时间戳 |
  138 +| createDate | Date | 时间 |
  139 +
  140 +### 越界
  141 +----------
  142 +表名:
  143 +
  144 +| .. | .. | .. |
  145 +| ---- | ---- | ---- |
  146 +| id | int | 主键 |
  147 +| vehicle | String | 车辆编码 |
  148 +| line | int | 线路编码 |
  149 +| upDown | int | 上下行(0 上行 , 1 下行 , -1 无效) |
  150 +| lon | float | 经度 |
  151 +| lat | float | 纬度|
  152 +| location | String | 越界位置(由线调页面进行初始转换)意思是该字段默认为空,页面第一次查看时会写入值|
  153 +| timestamp | long | 时间戳 |
  154 +| createDate | Date | 时间 |
  155 +
  156 +
  157 +### 越站
  158 +----------
  159 +表名:
  160 +
  161 +| .. | .. | .. |
  162 +| ---- | ---- | ---- |
  163 +| id | int | 主键 |
  164 +| line | int | 线路编码 |
  165 +| upDown | int | 上下行(0 上行 , 1 下行 , -1 无效) |
  166 +| station | String | 站点编码 |
  167 +| vehicle | String | 车辆编码 |
  168 +| inData | Date | 进站时间 |
  169 +| outDate | Date | 出站时间 |
  170 +
  171 +
  172 +### 聚集
  173 +----------
  174 +表名:
  175 +
  176 +| .. | .. | .. |
  177 +| ---- | ---- | ---- |
  178 +| id | int | 主键 |
  179 +| line | int | 线路编码 |
  180 +| upDown | int | 上下行(0 上行 , 1 下行 , -1 无效) |
  181 +| stations | String | 站点(多个用 , 号分隔。应该是连续站点) |
  182 +| vehicles | String | 车辆编码(多个用 , 号分隔) |
  183 +| timestamp | long | 时间戳 |
  184 +| createDate | Date | 时间 |
  185 +
  186 +
  187 +### 掉线
  188 +----------
  189 +表名:
  190 +
  191 +| .. | .. | .. |
  192 +| ---- | ---- | ---- |
  193 +| id | int | 主键 |
  194 +| line | int | 线路编码 |
  195 +| upDown | int | 上下行(0 上行 , 1 下行 , -1 无效) |
  196 +| vehicle | String | 车辆编码 |
  197 +| lon | float | 经度 |
  198 +| lat | float | 纬度|
  199 +| timestamp | long | 时间戳 |
  200 +| createDate | Date | 时间 |
  201 +
  202 +## 消息上传下发
  203 +----------
  204 +### 消息下发接口
  205 +[http://192.168.168.192:8080/transport_server/message](http://192.168.168.192:8080/transport_server/message/)
  206 +
  207 +<span style="color: red">Request</span>:
  208 +```json
  209 +{
  210 + "deviceId":12345,
  211 + "timestamp":44324,
  212 + "operCode":0x60,
  213 + "data":{
  214 + "companyCode":22,//short
  215 + "deviceId":"029L2222",//string
  216 + "timestamp":134326,//long
  217 + "instructType":00,//short
  218 + "dispatchInstruct":0x00,//short
  219 + "msgId":12345,//long
  220 + "alarmTime":201606012000,//long
  221 + "serviceState":00000000,//long
  222 + "txtContent":"你好"//string
  223 + }
  224 +}
  225 +```
  226 +| .. | .. | .. |
  227 +| ---- | ---- | ---- |
  228 +| deviceId | string | 设备编号 |
  229 +| timestamp | long | 时间戳(ms) |
  230 +| operCode | short | 一级协议 |
  231 +| data.companyCode | short | 公司代码 |
  232 +| data.deviceId | string | 设备编号 |
  233 +| data.timestamp | long | 时间戳 |
  234 +| data.instructType | short | 保留 默认0 |
  235 +| data.dispatchInstruct | short | 调度指令 |
  236 +| data.msgId | long | 同上 |
  237 +| data.alarmTime | long | 闹钟 |
  238 +| data.serviceState | long | 多状态字节 |
  239 +| data.txtContent | string | 下发的消息文本 |
  240 +```json
  241 +{
  242 + "deviceId":12345,
  243 + "timestamp":44324,
  244 + "operCode":0x64,
  245 + "data":{
  246 + "cityCode":22,//int
  247 + "deviceId":"029L2222",//string
  248 + "lineId":"134326"//string
  249 + }
  250 +}
  251 +```
  252 +| .. | .. | .. |
  253 +| ---- | ---- | ---- |
  254 +| deviceId | string | 设备编号 |
  255 +| timestamp | long | 时间戳(ms) |
  256 +| operCode | short | 一级协议 |
  257 +| data.cityCode | short | 城市区号 |
  258 +| data.deviceId | string | 设备编号 |
  259 +| data.lineId | string | 线路编号 |
  260 +
  261 +```json
  262 +{
  263 + "deviceId":12345,
  264 + "timestamp":44324,
  265 + "operCode":0xC0,
  266 + "data":{
  267 + "operCode":0x86,
  268 + "requestAck":0x06 // 0x06同意 0x15不同意
  269 + }
  270 +}
  271 +```
  272 +| .. | .. | .. |
  273 +| ---- | ---- | ---- |
  274 +| deviceId | string | 设备编号 |
  275 +| timestamp | long | 时间戳(ms) |
  276 +| operCode | short | 一级协议 |
  277 +| data.operCode | short | 二级协议 |
  278 +| data.requestAck | short | 请求应答字 |
  279 +
  280 +<span style="color: red">Response</span>:
  281 +```json
  282 +{
  283 + "errCode":0
  284 +}
  285 +```
  286 +
  287 +### 消息上传接口
  288 +
  289 +<span style="color: red">Request</span>:
  290 +```json
  291 +{
  292 + "deviceId":12345,
  293 + "timestamp":44324,
  294 + "status":0,// 0x80时无数据 0表示失败 1表示成功或设备确认 2表示驾驶员阅读
  295 + "operCode":0x80,// 消息确认时无数据
  296 + "data":{
  297 + "operCode":0x26,//二级协议
  298 + "requestCode":22//short
  299 + }// 消息确认将无数据
  300 +}
  301 +```
  302 +
  303 +<span style="color: red">Response</span>:
  304 +```json
  305 +{
  306 + "errCode":0
  307 +}
308 308 ```
309 309 \ No newline at end of file
... ...
... ... @@ -5,7 +5,7 @@
5 5 <groupId>com.bsth</groupId>
6 6 <artifactId>bsth_control</artifactId>
7 7 <version>0.0.1-SNAPSHOT</version>
8   - <packaging>war</packaging>
  8 + <packaging>jar</packaging>
9 9  
10 10 <parent>
11 11 <groupId>org.springframework.boot</groupId>
... ...
src/main/java/com/bsth/StartCommand.java
... ... @@ -3,6 +3,7 @@ package com.bsth;
3 3  
4 4 import java.util.concurrent.Executors;
5 5 import java.util.concurrent.ScheduledExecutorService;
  6 +import java.util.concurrent.TimeUnit;
6 7  
7 8 import org.slf4j.Logger;
8 9 import org.slf4j.LoggerFactory;
... ... @@ -39,10 +40,10 @@ public class StartCommand implements CommandLineRunner{
39 40 invocationSecurityMetadataSourceService.loadResourceDefine();
40 41  
41 42 /**
42   - * 定时GPS实时数据更新线程,每次执行完成4秒后开始下一次
  43 + * GPS实时数据更新线程,每次执行完成4秒后开始下一次
43 44 * 如果抛出异常,后续执行将被取消
44 45 */
45   - //scheduler.scheduleWithFixedDelay(gpsRefreshThread, 0, 4, TimeUnit.SECONDS);
  46 + scheduler.scheduleWithFixedDelay(gpsRefreshThread, 0, 4, TimeUnit.SECONDS);
46 47 } catch (Exception e) {
47 48 e.printStackTrace();
48 49 }
... ...
src/main/java/com/bsth/controller/CarsController.java
1   -package com.bsth.controller;
2   -
3   -import com.bsth.entity.Cars;
4   -import org.springframework.web.bind.annotation.RequestMapping;
5   -import org.springframework.web.bind.annotation.RestController;
6   -
7   -/**
8   - * Created by xu on 16/5/31.
9   - */
10   -@RestController
11   -@RequestMapping("cars")
12   -public class CarsController extends BaseController<Cars, Integer> {
13   -}
  1 +package com.bsth.controller;
  2 +
  3 +import com.bsth.entity.Cars;
  4 +import org.springframework.web.bind.annotation.RequestMapping;
  5 +import org.springframework.web.bind.annotation.RestController;
  6 +
  7 +/**
  8 + * Created by xu on 16/5/31.
  9 + */
  10 +@RestController
  11 +@RequestMapping("cars")
  12 +public class CarsController extends BaseController<Cars, Integer> {
  13 +}
... ...
src/main/java/com/bsth/entity/realcontrol/ScheduleRealInfo.java 0 → 100644
  1 +package com.bsth.entity.realcontrol;
  2 +
  3 +import com.bsth.entity.sys.SysUser;
  4 +
  5 +import javax.persistence.*;
  6 +import java.util.Date;
  7 +
  8 +/**
  9 + * 实际排班计划明细。
  10 + */
  11 +@Entity
  12 +@Table(name = "bsth_c_s_sp_info_real")
  13 +public class ScheduleRealInfo {
  14 +
  15 + /** 主键Id */
  16 + @Id
  17 + @GeneratedValue
  18 + private Long id;
  19 +
  20 + /** 排班计划日期 */
  21 + private Date scheduleDate;
  22 +
  23 + /** 路牌名称 */
  24 + private String lpName;
  25 + /** 线路编码 */
  26 + private String xlBm;
  27 + /** 线路名称 */
  28 + private String xlName;
  29 + /** 车辆自编号 */
  30 + private String clZbh;
  31 +
  32 + /** 报道1时间(格式 HH:mm) */
  33 + private String bd1Time;
  34 + /** 出场1时间(格式 HH:mm) */
  35 + private String cc1Time;
  36 + /** 驾驶员1工号 */
  37 + private String j1Gh;
  38 + /** 驾驶员1名字 */
  39 + private String j1Name;
  40 + /** 售票员1工号 */
  41 + private String s1Gh;
  42 + /** 售票员1名字 */
  43 + private String s1Name;
  44 +
  45 + // 冗余的时刻明细信息
  46 + /** 线路方向 */
  47 + private String xlDir;
  48 + /** 起点站名称 */
  49 + private String qdz;
  50 + /** 终点站名称 */
  51 + private String zdz;
  52 + /** 发车时间(格式 HH:mm) */
  53 + private String fcsj;
  54 + /** 发车顺序号 */
  55 + private int fcno;
  56 + /** 对应班次数 */
  57 + private int bcs;
  58 + /** 计划里程 */
  59 + private double jhlc;
  60 + /** 班次历时 */
  61 + private int bcsj;
  62 +
  63 + /** 操作人 */
  64 + @ManyToOne(optional = false, cascade = CascadeType.PERSIST, fetch = FetchType.LAZY)
  65 + private SysUser user;
  66 +
  67 + // 创建日期
  68 + @Column(updatable = false, name = "create_date", columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP")
  69 + private Date createDate;
  70 + // 修改日期
  71 + @Column(name = "update_date", columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP")
  72 + private Date updateDate;
  73 +
  74 + public Long getId() {
  75 + return id;
  76 + }
  77 +
  78 + public void setId(Long id) {
  79 + this.id = id;
  80 + }
  81 +
  82 + public Date getScheduleDate() {
  83 + return scheduleDate;
  84 + }
  85 +
  86 + public void setScheduleDate(Date scheduleDate) {
  87 + this.scheduleDate = scheduleDate;
  88 + }
  89 +
  90 + public String getLpName() {
  91 + return lpName;
  92 + }
  93 +
  94 + public void setLpName(String lpName) {
  95 + this.lpName = lpName;
  96 + }
  97 +
  98 + public String getXlName() {
  99 + return xlName;
  100 + }
  101 +
  102 + public void setXlName(String xlName) {
  103 + this.xlName = xlName;
  104 + }
  105 +
  106 + public String getClZbh() {
  107 + return clZbh;
  108 + }
  109 +
  110 + public void setClZbh(String clZbh) {
  111 + this.clZbh = clZbh;
  112 + }
  113 +
  114 + public String getCc1Time() {
  115 + return cc1Time;
  116 + }
  117 +
  118 + public void setCc1Time(String cc1Time) {
  119 + this.cc1Time = cc1Time;
  120 + }
  121 +
  122 + public String getJ1Gh() {
  123 + return j1Gh;
  124 + }
  125 +
  126 + public void setJ1Gh(String j1Gh) {
  127 + this.j1Gh = j1Gh;
  128 + }
  129 +
  130 + public String getJ1Name() {
  131 + return j1Name;
  132 + }
  133 +
  134 + public void setJ1Name(String j1Name) {
  135 + this.j1Name = j1Name;
  136 + }
  137 +
  138 + public String getS1Gh() {
  139 + return s1Gh;
  140 + }
  141 +
  142 + public void setS1Gh(String s1Gh) {
  143 + this.s1Gh = s1Gh;
  144 + }
  145 +
  146 + public String getS1Name() {
  147 + return s1Name;
  148 + }
  149 +
  150 + public void setS1Name(String s1Name) {
  151 + this.s1Name = s1Name;
  152 + }
  153 +
  154 + public String getBd1Time() {
  155 + return bd1Time;
  156 + }
  157 +
  158 + public void setBd1Time(String bd1Time) {
  159 + this.bd1Time = bd1Time;
  160 + }
  161 +
  162 + public String getXlDir() {
  163 + return xlDir;
  164 + }
  165 +
  166 + public void setXlDir(String xlDir) {
  167 + this.xlDir = xlDir;
  168 + }
  169 +
  170 + public String getQdz() {
  171 + return qdz;
  172 + }
  173 +
  174 + public void setQdz(String qdz) {
  175 + this.qdz = qdz;
  176 + }
  177 +
  178 + public String getZdz() {
  179 + return zdz;
  180 + }
  181 +
  182 + public void setZdz(String zdz) {
  183 + this.zdz = zdz;
  184 + }
  185 +
  186 + public String getFcsj() {
  187 + return fcsj;
  188 + }
  189 +
  190 + public void setFcsj(String fcsj) {
  191 + this.fcsj = fcsj;
  192 + }
  193 +
  194 + public SysUser getUser() {
  195 + return user;
  196 + }
  197 +
  198 + public void setUser(SysUser user) {
  199 + this.user = user;
  200 + }
  201 +
  202 + public Date getCreateDate() {
  203 + return createDate;
  204 + }
  205 +
  206 + public void setCreateDate(Date createDate) {
  207 + this.createDate = createDate;
  208 + }
  209 +
  210 + public Date getUpdateDate() {
  211 + return updateDate;
  212 + }
  213 +
  214 + public void setUpdateDate(Date updateDate) {
  215 + this.updateDate = updateDate;
  216 + }
  217 +
  218 + public int getFcno() {
  219 + return fcno;
  220 + }
  221 +
  222 + public void setFcno(int fcno) {
  223 + this.fcno = fcno;
  224 + }
  225 +
  226 + public int getBcs() {
  227 + return bcs;
  228 + }
  229 +
  230 + public void setBcs(int bcs) {
  231 + this.bcs = bcs;
  232 + }
  233 +
  234 + public double getJhlc() {
  235 + return jhlc;
  236 + }
  237 +
  238 + public void setJhlc(double jhlc) {
  239 + this.jhlc = jhlc;
  240 + }
  241 +
  242 + public int getBcsj() {
  243 + return bcsj;
  244 + }
  245 +
  246 + public void setBcsj(int bcsj) {
  247 + this.bcsj = bcsj;
  248 + }
  249 +
  250 + public String getXlBm() {
  251 + return xlBm;
  252 + }
  253 +
  254 + public void setXlBm(String xlBm) {
  255 + this.xlBm = xlBm;
  256 + }
  257 +}
... ...
src/main/java/com/bsth/entity/schedule/CarConfigInfo.java
1   -package com.bsth.entity.schedule;
2   -
3   -import com.bsth.entity.Cars;
4   -import com.bsth.entity.Line;
5   -import com.bsth.entity.sys.SysUser;
6   -
7   -import javax.persistence.*;
8   -import java.util.Date;
9   -
10   -/**
11   - * 车辆配置信息。
12   - */
13   -@Entity
14   -@Table(name = "bsth_c_s_ccinfo")
15   -public class CarConfigInfo {
16   -
17   - /** 主健Id */
18   - @Id
19   - @GeneratedValue
20   - private Long id;
21   -
22   - /** 线路关联 */
23   - @ManyToOne(optional = false, cascade = CascadeType.PERSIST, fetch = FetchType.LAZY)
24   - private Line xl;
25   - /** 车辆关联 */
26   - @ManyToOne(optional = false, cascade = CascadeType.PERSIST, fetch = FetchType.LAZY)
27   - private Cars cl;
28   -
29   -
30   - /** 早班时间(格式:HH:mm) */
31   - @Column(length = 5)
32   - private String zbsj;
33   - /** 末班时间(格式:HH:mm) */
34   - @Column(length = 5)
35   - private String mbsj;
36   -
37   - /** 启用日期 */
38   - @Column(nullable = false)
39   - private Date qyrq;
40   - /** 终止日期 */
41   - private Date zzrq;
42   - @Column(nullable = false)
43   - /** 停车点(TODO:这个不知道是否要关联)*/
44   - private String tcd;
45   - /** 受否切换 0或者1(TODO:不懂,貌似喝历史配车有关) */
46   - @Column(nullable = false)
47   - private int isSwitch;
48   -
49   - /** 创建人 */
50   - @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.PERSIST)
51   - private SysUser createBy;
52   - /** 修改人 */
53   - @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.PERSIST)
54   - private SysUser updateBy;
55   -
56   - /** 创建日期 */
57   - @Column(updatable = false, name = "create_date", columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP")
58   - private Date createDate;
59   - /** 修改日期 */
60   - @Column(name = "update_date", columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP")
61   - private Date updateDate;
62   -
63   - public Long getId() {
64   - return id;
65   - }
66   -
67   - public void setId(Long id) {
68   - this.id = id;
69   - }
70   -
71   - public Line getXl() {
72   - return xl;
73   - }
74   -
75   - public void setXl(Line xl) {
76   - this.xl = xl;
77   - }
78   -
79   - public Cars getCl() {
80   - return cl;
81   - }
82   -
83   - public void setCl(Cars cl) {
84   - this.cl = cl;
85   - }
86   -
87   - public String getZbsj() {
88   - return zbsj;
89   - }
90   -
91   - public void setZbsj(String zbsj) {
92   - this.zbsj = zbsj;
93   - }
94   -
95   - public String getMbsj() {
96   - return mbsj;
97   - }
98   -
99   - public void setMbsj(String mbsj) {
100   - this.mbsj = mbsj;
101   - }
102   -
103   - public Date getQyrq() {
104   - return qyrq;
105   - }
106   -
107   - public void setQyrq(Date qyrq) {
108   - this.qyrq = qyrq;
109   - }
110   -
111   - public Date getZzrq() {
112   - return zzrq;
113   - }
114   -
115   - public void setZzrq(Date zzrq) {
116   - this.zzrq = zzrq;
117   - }
118   -
119   - public String getTcd() {
120   - return tcd;
121   - }
122   -
123   - public void setTcd(String tcd) {
124   - this.tcd = tcd;
125   - }
126   -
127   - public int getIsSwitch() {
128   - return isSwitch;
129   - }
130   -
131   - public void setIsSwitch(int isSwitch) {
132   - this.isSwitch = isSwitch;
133   - }
134   -
135   - public SysUser getCreateBy() {
136   - return createBy;
137   - }
138   -
139   - public void setCreateBy(SysUser createBy) {
140   - this.createBy = createBy;
141   - }
142   -
143   - public SysUser getUpdateBy() {
144   - return updateBy;
145   - }
146   -
147   - public void setUpdateBy(SysUser updateBy) {
148   - this.updateBy = updateBy;
149   - }
150   -
151   - public Date getCreateDate() {
152   - return createDate;
153   - }
154   -
155   - public void setCreateDate(Date createDate) {
156   - this.createDate = createDate;
157   - }
158   -
159   - public Date getUpdateDate() {
160   - return updateDate;
161   - }
162   -
163   - public void setUpdateDate(Date updateDate) {
164   - this.updateDate = updateDate;
165   - }
166   -}
  1 +package com.bsth.entity.schedule;
  2 +
  3 +import com.bsth.entity.Cars;
  4 +import com.bsth.entity.Line;
  5 +import com.bsth.entity.sys.SysUser;
  6 +
  7 +import javax.persistence.*;
  8 +import java.util.Date;
  9 +
  10 +/**
  11 + * 车辆配置信息。
  12 + */
  13 +@Entity
  14 +@Table(name = "bsth_c_s_ccinfo")
  15 +public class CarConfigInfo {
  16 +
  17 + /** 主健Id */
  18 + @Id
  19 + @GeneratedValue
  20 + private Long id;
  21 +
  22 + /** 线路关联 */
  23 + @ManyToOne(optional = false, cascade = CascadeType.PERSIST, fetch = FetchType.LAZY)
  24 + private Line xl;
  25 + /** 车辆关联 */
  26 + @ManyToOne(optional = false, cascade = CascadeType.PERSIST, fetch = FetchType.LAZY)
  27 + private Cars cl;
  28 +
  29 +
  30 + /** 早班时间(格式:HH:mm) */
  31 + @Column(length = 5)
  32 + private String zbsj;
  33 + /** 末班时间(格式:HH:mm) */
  34 + @Column(length = 5)
  35 + private String mbsj;
  36 +
  37 + /** 启用日期 */
  38 + @Column(nullable = false)
  39 + private Date qyrq;
  40 + /** 终止日期 */
  41 + private Date zzrq;
  42 + @Column(nullable = false)
  43 + /** 停车点(TODO:这个不知道是否要关联)*/
  44 + private String tcd;
  45 + /** 受否切换 0或者1(TODO:不懂,貌似喝历史配车有关) */
  46 + @Column(nullable = false)
  47 + private int isSwitch;
  48 +
  49 + /** 创建人 */
  50 + @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.PERSIST)
  51 + private SysUser createBy;
  52 + /** 修改人 */
  53 + @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.PERSIST)
  54 + private SysUser updateBy;
  55 +
  56 + /** 创建日期 */
  57 + @Column(updatable = false, name = "create_date", columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP")
  58 + private Date createDate;
  59 + /** 修改日期 */
  60 + @Column(name = "update_date", columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP")
  61 + private Date updateDate;
  62 +
  63 + public Long getId() {
  64 + return id;
  65 + }
  66 +
  67 + public void setId(Long id) {
  68 + this.id = id;
  69 + }
  70 +
  71 + public Line getXl() {
  72 + return xl;
  73 + }
  74 +
  75 + public void setXl(Line xl) {
  76 + this.xl = xl;
  77 + }
  78 +
  79 + public Cars getCl() {
  80 + return cl;
  81 + }
  82 +
  83 + public void setCl(Cars cl) {
  84 + this.cl = cl;
  85 + }
  86 +
  87 + public String getZbsj() {
  88 + return zbsj;
  89 + }
  90 +
  91 + public void setZbsj(String zbsj) {
  92 + this.zbsj = zbsj;
  93 + }
  94 +
  95 + public String getMbsj() {
  96 + return mbsj;
  97 + }
  98 +
  99 + public void setMbsj(String mbsj) {
  100 + this.mbsj = mbsj;
  101 + }
  102 +
  103 + public Date getQyrq() {
  104 + return qyrq;
  105 + }
  106 +
  107 + public void setQyrq(Date qyrq) {
  108 + this.qyrq = qyrq;
  109 + }
  110 +
  111 + public Date getZzrq() {
  112 + return zzrq;
  113 + }
  114 +
  115 + public void setZzrq(Date zzrq) {
  116 + this.zzrq = zzrq;
  117 + }
  118 +
  119 + public String getTcd() {
  120 + return tcd;
  121 + }
  122 +
  123 + public void setTcd(String tcd) {
  124 + this.tcd = tcd;
  125 + }
  126 +
  127 + public int getIsSwitch() {
  128 + return isSwitch;
  129 + }
  130 +
  131 + public void setIsSwitch(int isSwitch) {
  132 + this.isSwitch = isSwitch;
  133 + }
  134 +
  135 + public SysUser getCreateBy() {
  136 + return createBy;
  137 + }
  138 +
  139 + public void setCreateBy(SysUser createBy) {
  140 + this.createBy = createBy;
  141 + }
  142 +
  143 + public SysUser getUpdateBy() {
  144 + return updateBy;
  145 + }
  146 +
  147 + public void setUpdateBy(SysUser updateBy) {
  148 + this.updateBy = updateBy;
  149 + }
  150 +
  151 + public Date getCreateDate() {
  152 + return createDate;
  153 + }
  154 +
  155 + public void setCreateDate(Date createDate) {
  156 + this.createDate = createDate;
  157 + }
  158 +
  159 + public Date getUpdateDate() {
  160 + return updateDate;
  161 + }
  162 +
  163 + public void setUpdateDate(Date updateDate) {
  164 + this.updateDate = updateDate;
  165 + }
  166 +}
... ...
src/main/java/com/bsth/entity/schedule/EmployeeConfigInfo.java
1   -package com.bsth.entity.schedule;
2   -
3   -import com.bsth.entity.Cars;
4   -import com.bsth.entity.Line;
5   -import com.bsth.entity.Personnel;
6   -import com.bsth.entity.sys.SysUser;
7   -
8   -import javax.persistence.*;
9   -import java.util.Date;
10   -
11   -/**
12   - * 人员配置信息。
13   - */
14   -@Entity
15   -@Table(name = "bsth_c_s_ecinfo")
16   -public class EmployeeConfigInfo {
17   -
18   - /** 主键Id */
19   - @Id
20   - @GeneratedValue
21   - private Long id;
22   -
23   - /** 线路关联 */
24   - @ManyToOne(optional = false, cascade = CascadeType.PERSIST, fetch = FetchType.LAZY)
25   - private Line xl;
26   - /** 车辆关联 */
27   - @ManyToOne(cascade = CascadeType.PERSIST, fetch = FetchType.LAZY)
28   - private Cars cl;
29   - /** 人员关联(驾驶员) */
30   - @ManyToOne(optional = false, cascade = CascadeType.PERSIST, fetch = FetchType.LAZY)
31   - private Personnel jsy;
32   - /** 人员关联(售票员) */
33   - @ManyToOne(cascade = CascadeType.PERSIST, fetch = FetchType.LAZY)
34   - private Personnel spy;
35   -
36   - /** 搭班编码(TODO:估计是售票员和驾驶员搭配时使用) */
37   - private String dbbm;
38   -
39   - /** 创建人 */
40   - @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.PERSIST)
41   - private SysUser createBy;
42   - /** 修改人 */
43   - @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.PERSIST)
44   - private SysUser updateBy;
45   -
46   - /** 创建日期 */
47   - @Column(updatable = false, name = "create_date", columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP")
48   - private Date createDate;
49   - /** 修改日期 */
50   - @Column(name = "update_date", columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP")
51   - private Date updateDate;
52   -
53   - public Long getId() {
54   - return id;
55   - }
56   -
57   - public void setId(Long id) {
58   - this.id = id;
59   - }
60   -
61   - public Line getXl() {
62   - return xl;
63   - }
64   -
65   - public void setXl(Line xl) {
66   - this.xl = xl;
67   - }
68   -
69   - public Cars getCl() {
70   - return cl;
71   - }
72   -
73   - public void setCl(Cars cl) {
74   - this.cl = cl;
75   - }
76   -
77   - public Personnel getJsy() {
78   - return jsy;
79   - }
80   -
81   - public void setJsy(Personnel jsy) {
82   - this.jsy = jsy;
83   - }
84   -
85   - public Personnel getSpy() {
86   - return spy;
87   - }
88   -
89   - public void setSpy(Personnel spy) {
90   - this.spy = spy;
91   - }
92   -
93   - public String getDbbm() {
94   - return dbbm;
95   - }
96   -
97   - public void setDbbm(String dbbm) {
98   - this.dbbm = dbbm;
99   - }
100   -
101   - public Date getCreateDate() {
102   - return createDate;
103   - }
104   -
105   - public void setCreateDate(Date createDate) {
106   - this.createDate = createDate;
107   - }
108   -
109   - public Date getUpdateDate() {
110   - return updateDate;
111   - }
112   -
113   - public void setUpdateDate(Date updateDate) {
114   - this.updateDate = updateDate;
115   - }
116   -}
  1 +package com.bsth.entity.schedule;
  2 +
  3 +import com.bsth.entity.Cars;
  4 +import com.bsth.entity.Line;
  5 +import com.bsth.entity.Personnel;
  6 +import com.bsth.entity.sys.SysUser;
  7 +
  8 +import javax.persistence.*;
  9 +import java.util.Date;
  10 +
  11 +/**
  12 + * 人员配置信息。
  13 + */
  14 +@Entity
  15 +@Table(name = "bsth_c_s_ecinfo")
  16 +public class EmployeeConfigInfo {
  17 +
  18 + /** 主键Id */
  19 + @Id
  20 + @GeneratedValue
  21 + private Long id;
  22 +
  23 + /** 线路关联 */
  24 + @ManyToOne(optional = false, cascade = CascadeType.PERSIST, fetch = FetchType.LAZY)
  25 + private Line xl;
  26 + /** 车辆关联 */
  27 + @ManyToOne(cascade = CascadeType.PERSIST, fetch = FetchType.LAZY)
  28 + private Cars cl;
  29 + /** 人员关联(驾驶员) */
  30 + @ManyToOne(optional = false, cascade = CascadeType.PERSIST, fetch = FetchType.LAZY)
  31 + private Personnel jsy;
  32 + /** 人员关联(售票员) */
  33 + @ManyToOne(cascade = CascadeType.PERSIST, fetch = FetchType.LAZY)
  34 + private Personnel spy;
  35 +
  36 + /** 搭班编码(TODO:估计是售票员和驾驶员搭配时使用) */
  37 + private String dbbm;
  38 +
  39 + /** 创建人 */
  40 + @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.PERSIST)
  41 + private SysUser createBy;
  42 + /** 修改人 */
  43 + @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.PERSIST)
  44 + private SysUser updateBy;
  45 +
  46 + /** 创建日期 */
  47 + @Column(updatable = false, name = "create_date", columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP")
  48 + private Date createDate;
  49 + /** 修改日期 */
  50 + @Column(name = "update_date", columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP")
  51 + private Date updateDate;
  52 +
  53 + public Long getId() {
  54 + return id;
  55 + }
  56 +
  57 + public void setId(Long id) {
  58 + this.id = id;
  59 + }
  60 +
  61 + public Line getXl() {
  62 + return xl;
  63 + }
  64 +
  65 + public void setXl(Line xl) {
  66 + this.xl = xl;
  67 + }
  68 +
  69 + public Cars getCl() {
  70 + return cl;
  71 + }
  72 +
  73 + public void setCl(Cars cl) {
  74 + this.cl = cl;
  75 + }
  76 +
  77 + public Personnel getJsy() {
  78 + return jsy;
  79 + }
  80 +
  81 + public void setJsy(Personnel jsy) {
  82 + this.jsy = jsy;
  83 + }
  84 +
  85 + public Personnel getSpy() {
  86 + return spy;
  87 + }
  88 +
  89 + public void setSpy(Personnel spy) {
  90 + this.spy = spy;
  91 + }
  92 +
  93 + public String getDbbm() {
  94 + return dbbm;
  95 + }
  96 +
  97 + public void setDbbm(String dbbm) {
  98 + this.dbbm = dbbm;
  99 + }
  100 +
  101 + public Date getCreateDate() {
  102 + return createDate;
  103 + }
  104 +
  105 + public void setCreateDate(Date createDate) {
  106 + this.createDate = createDate;
  107 + }
  108 +
  109 + public Date getUpdateDate() {
  110 + return updateDate;
  111 + }
  112 +
  113 + public void setUpdateDate(Date updateDate) {
  114 + this.updateDate = updateDate;
  115 + }
  116 +}
... ...
src/main/java/com/bsth/entity/schedule/SchedulePlan.java
1   -package com.bsth.entity.schedule;
2   -
3   -import com.bsth.entity.Line;
4   -import com.bsth.entity.schedule.rule.ScheduleRule1;
5   -import com.bsth.entity.sys.SysUser;
6   -
7   -import javax.persistence.*;
8   -import java.util.Date;
9   -import java.util.List;
10   -
11   -/**
12   - * 排班计划。
13   - */
14   -@Entity
15   -@Table(name = "bsth_c_s_sp")
16   -public class SchedulePlan {
17   -
18   - /** 主键Id */
19   - @Id
20   - @GeneratedValue
21   - private Long id;
22   -
23   - /** 关联的线路 */
24   - @ManyToOne(optional = false, cascade = CascadeType.PERSIST, fetch = FetchType.LAZY)
25   - private Line xl;
26   - /** 关联的时刻表/模版 */
27   - @ManyToOne(optional = false, cascade = CascadeType.PERSIST, fetch = FetchType.LAZY)
28   - private TTInfo ttInfo;
29   - /** 关联的排班规则 */
30   - @ManyToOne(optional = false, cascade = CascadeType.PERSIST, fetch = FetchType.LAZY)
31   - private ScheduleRule1 scheduleRule1;
32   -
33   - /** 排班计划的开始时间 */
34   - private Date scheduleFromTime;
35   - /** 排班计划的结束时间 */
36   - private Date scheduleToTime;
37   -
38   - /** 操作人 */
39   - @ManyToOne(optional = false, cascade = CascadeType.PERSIST, fetch = FetchType.LAZY)
40   - private SysUser user;
41   -
42   - /** 使用中间表的一对多关联 明细信息 */
43   - @OneToMany(cascade = CascadeType.PERSIST, fetch = FetchType.LAZY)
44   - @JoinTable(
45   - name = "bsth_c_s_sp_r_info",
46   - joinColumns = @JoinColumn(name = "sp_id"),
47   - inverseJoinColumns = @JoinColumn(name = "sp_info_id")
48   - )
49   - private List<SchedulePlanInfo> schedulePlanInfoList;
50   -
51   - // 创建日期
52   - @Column(updatable = false, name = "create_date", columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP")
53   - private Date createDate;
54   - // 修改日期
55   - @Column(name = "update_date", columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP")
56   - private Date updateDate;
57   -
58   - public Long getId() {
59   - return id;
60   - }
61   -
62   - public void setId(Long id) {
63   - this.id = id;
64   - }
65   -
66   - public Line getXl() {
67   - return xl;
68   - }
69   -
70   - public void setXl(Line xl) {
71   - this.xl = xl;
72   - }
73   -
74   - public TTInfo getTtInfo() {
75   - return ttInfo;
76   - }
77   -
78   - public void setTtInfo(TTInfo ttInfo) {
79   - this.ttInfo = ttInfo;
80   - }
81   -
82   - public Date getScheduleFromTime() {
83   - return scheduleFromTime;
84   - }
85   -
86   - public void setScheduleFromTime(Date scheduleFromTime) {
87   - this.scheduleFromTime = scheduleFromTime;
88   - }
89   -
90   - public Date getScheduleToTime() {
91   - return scheduleToTime;
92   - }
93   -
94   - public void setScheduleToTime(Date scheduleToTime) {
95   - this.scheduleToTime = scheduleToTime;
96   - }
97   -
98   - public SysUser getUser() {
99   - return user;
100   - }
101   -
102   - public void setUser(SysUser user) {
103   - this.user = user;
104   - }
105   -
106   - public Date getCreateDate() {
107   - return createDate;
108   - }
109   -
110   - public void setCreateDate(Date createDate) {
111   - this.createDate = createDate;
112   - }
113   -
114   - public Date getUpdateDate() {
115   - return updateDate;
116   - }
117   -
118   - public ScheduleRule1 getScheduleRule1() {
119   - return scheduleRule1;
120   - }
121   -
122   - public void setScheduleRule1(ScheduleRule1 scheduleRule1) {
123   - this.scheduleRule1 = scheduleRule1;
124   - }
125   -
126   - public void setUpdateDate(Date updateDate) {
127   - this.updateDate = updateDate;
128   - }
129   -}
  1 +package com.bsth.entity.schedule;
  2 +
  3 +import com.bsth.entity.Line;
  4 +import com.bsth.entity.schedule.rule.ScheduleRule1;
  5 +import com.bsth.entity.sys.SysUser;
  6 +
  7 +import javax.persistence.*;
  8 +import java.util.Date;
  9 +import java.util.List;
  10 +
  11 +/**
  12 + * 排班计划。
  13 + */
  14 +@Entity
  15 +@Table(name = "bsth_c_s_sp")
  16 +public class SchedulePlan {
  17 +
  18 + /** 主键Id */
  19 + @Id
  20 + @GeneratedValue
  21 + private Long id;
  22 +
  23 + /** 关联的线路 */
  24 + @ManyToOne(optional = false, cascade = CascadeType.PERSIST, fetch = FetchType.LAZY)
  25 + private Line xl;
  26 + /** 关联的时刻表/模版 */
  27 + @ManyToOne(optional = false, cascade = CascadeType.PERSIST, fetch = FetchType.LAZY)
  28 + private TTInfo ttInfo;
  29 + /** 关联的排班规则 */
  30 + @ManyToOne(optional = false, cascade = CascadeType.PERSIST, fetch = FetchType.LAZY)
  31 + private ScheduleRule1 scheduleRule1;
  32 +
  33 + /** 排班计划的开始时间 */
  34 + private Date scheduleFromTime;
  35 + /** 排班计划的结束时间 */
  36 + private Date scheduleToTime;
  37 +
  38 + /** 操作人 */
  39 + @ManyToOne(optional = false, cascade = CascadeType.PERSIST, fetch = FetchType.LAZY)
  40 + private SysUser user;
  41 +
  42 + /** 使用中间表的一对多关联 明细信息 */
  43 + @OneToMany(cascade = CascadeType.PERSIST, fetch = FetchType.LAZY)
  44 + @JoinTable(
  45 + name = "bsth_c_s_sp_r_info",
  46 + joinColumns = @JoinColumn(name = "sp_id"),
  47 + inverseJoinColumns = @JoinColumn(name = "sp_info_id")
  48 + )
  49 + private List<SchedulePlanInfo> schedulePlanInfoList;
  50 +
  51 + // 创建日期
  52 + @Column(updatable = false, name = "create_date", columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP")
  53 + private Date createDate;
  54 + // 修改日期
  55 + @Column(name = "update_date", columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP")
  56 + private Date updateDate;
  57 +
  58 + public Long getId() {
  59 + return id;
  60 + }
  61 +
  62 + public void setId(Long id) {
  63 + this.id = id;
  64 + }
  65 +
  66 + public Line getXl() {
  67 + return xl;
  68 + }
  69 +
  70 + public void setXl(Line xl) {
  71 + this.xl = xl;
  72 + }
  73 +
  74 + public TTInfo getTtInfo() {
  75 + return ttInfo;
  76 + }
  77 +
  78 + public void setTtInfo(TTInfo ttInfo) {
  79 + this.ttInfo = ttInfo;
  80 + }
  81 +
  82 + public Date getScheduleFromTime() {
  83 + return scheduleFromTime;
  84 + }
  85 +
  86 + public void setScheduleFromTime(Date scheduleFromTime) {
  87 + this.scheduleFromTime = scheduleFromTime;
  88 + }
  89 +
  90 + public Date getScheduleToTime() {
  91 + return scheduleToTime;
  92 + }
  93 +
  94 + public void setScheduleToTime(Date scheduleToTime) {
  95 + this.scheduleToTime = scheduleToTime;
  96 + }
  97 +
  98 + public SysUser getUser() {
  99 + return user;
  100 + }
  101 +
  102 + public void setUser(SysUser user) {
  103 + this.user = user;
  104 + }
  105 +
  106 + public Date getCreateDate() {
  107 + return createDate;
  108 + }
  109 +
  110 + public void setCreateDate(Date createDate) {
  111 + this.createDate = createDate;
  112 + }
  113 +
  114 + public Date getUpdateDate() {
  115 + return updateDate;
  116 + }
  117 +
  118 + public ScheduleRule1 getScheduleRule1() {
  119 + return scheduleRule1;
  120 + }
  121 +
  122 + public void setScheduleRule1(ScheduleRule1 scheduleRule1) {
  123 + this.scheduleRule1 = scheduleRule1;
  124 + }
  125 +
  126 + public void setUpdateDate(Date updateDate) {
  127 + this.updateDate = updateDate;
  128 + }
  129 +}
... ...
src/main/java/com/bsth/entity/schedule/SchedulePlanInfo.java
1   -package com.bsth.entity.schedule;
2   -
3   -import com.bsth.entity.sys.SysUser;
4   -
5   -import javax.persistence.*;
6   -import java.util.Date;
7   -
8   -/**
9   - * 排班计划明细。
10   - * 内部字段全冗余,无关联对象(外键关联关系),
11   - * 可以单独存在,其余表要关联此对象/表,必须使用中间对象/表。
12   - */
13   -@Entity
14   -@Table(name = "bsth_c_s_sp_info")
15   -public class SchedulePlanInfo {
16   -
17   - /** 主键Id */
18   - @Id
19   - @GeneratedValue
20   - private Long id;
21   -
22   - /** 排班计划日期 */
23   - private Date scheduleDate;
24   -
25   - /** 路牌名称 */
26   - private String lpName;
27   - /** 线路编码 */
28   - private String xlBm;
29   - /** 线路名称 */
30   - private String xlName;
31   - /** 车辆自编号 */
32   - private String clZbh;
33   -
34   -
35   - /** 报道1时间(格式 HH:mm) */
36   - private String bd1Time;
37   - /** 出场1时间(格式 HH:mm) */
38   - private String cc1Time;
39   - /** 驾驶员1工号 */
40   - private String j1Gh;
41   - /** 驾驶员1名字 */
42   - private String j1Name;
43   - /** 售票员1工号 */
44   - private String s1Gh;
45   - /** 售票员1名字 */
46   - private String s1Name;
47   -
48   - /** 报道2时间(格式 HH:mm) */
49   - private String bd2Time;
50   - /** 出场2时间(格式 HH:mm) */
51   - private String cc2Time;
52   - /** 驾驶员2工号 */
53   - private String j2Gh;
54   - /** 驾驶员2名字 */
55   - private String j2Name;
56   - /** 售票员2工号 */
57   - private String s2Gh;
58   - /** 售票员2名字 */
59   - private String s2Name;
60   -
61   - // 冗余的时刻明细信息
62   - /** 线路方向 */
63   - private String xlDir;
64   - /** 起点站名称 */
65   - private String qdz;
66   - /** 终点站名称 */
67   - private String zdz;
68   - /** 发车时间(格式 HH:mm) */
69   - private String fcsj;
70   - /** 发车顺序号 */
71   - private int fcno;
72   - /** 对应班次数 */
73   - private int bcs;
74   - /** 计划里程 */
75   - private double jhlc;
76   - /** 班次历时 */
77   - private int bcsj;
78   -
79   - /** 操作人 */
80   - @ManyToOne(optional = false, cascade = CascadeType.PERSIST, fetch = FetchType.LAZY)
81   - private SysUser user;
82   -
83   - // 创建日期
84   - @Column(updatable = false, name = "create_date", columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP")
85   - private Date createDate;
86   - // 修改日期
87   - @Column(name = "update_date", columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP")
88   - private Date updateDate;
89   -
90   - public Long getId() {
91   - return id;
92   - }
93   -
94   - public void setId(Long id) {
95   - this.id = id;
96   - }
97   -
98   - public Date getScheduleDate() {
99   - return scheduleDate;
100   - }
101   -
102   - public void setScheduleDate(Date scheduleDate) {
103   - this.scheduleDate = scheduleDate;
104   - }
105   -
106   - public String getLpName() {
107   - return lpName;
108   - }
109   -
110   - public void setLpName(String lpName) {
111   - this.lpName = lpName;
112   - }
113   -
114   - public String getXlName() {
115   - return xlName;
116   - }
117   -
118   - public void setXlName(String xlName) {
119   - this.xlName = xlName;
120   - }
121   -
122   - public String getClZbh() {
123   - return clZbh;
124   - }
125   -
126   - public void setClZbh(String clZbh) {
127   - this.clZbh = clZbh;
128   - }
129   -
130   - public String getCc1Time() {
131   - return cc1Time;
132   - }
133   -
134   - public void setCc1Time(String cc1Time) {
135   - this.cc1Time = cc1Time;
136   - }
137   -
138   - public String getJ1Gh() {
139   - return j1Gh;
140   - }
141   -
142   - public void setJ1Gh(String j1Gh) {
143   - this.j1Gh = j1Gh;
144   - }
145   -
146   - public String getJ1Name() {
147   - return j1Name;
148   - }
149   -
150   - public void setJ1Name(String j1Name) {
151   - this.j1Name = j1Name;
152   - }
153   -
154   - public String getS1Gh() {
155   - return s1Gh;
156   - }
157   -
158   - public void setS1Gh(String s1Gh) {
159   - this.s1Gh = s1Gh;
160   - }
161   -
162   - public String getS1Name() {
163   - return s1Name;
164   - }
165   -
166   - public void setS1Name(String s1Name) {
167   - this.s1Name = s1Name;
168   - }
169   -
170   - public String getBd1Time() {
171   - return bd1Time;
172   - }
173   -
174   - public void setBd1Time(String bd1Time) {
175   - this.bd1Time = bd1Time;
176   - }
177   -
178   - public String getBd2Time() {
179   - return bd2Time;
180   - }
181   -
182   - public void setBd2Time(String bd2Time) {
183   - this.bd2Time = bd2Time;
184   - }
185   -
186   - public String getCc2Time() {
187   - return cc2Time;
188   - }
189   -
190   - public void setCc2Time(String cc2Time) {
191   - this.cc2Time = cc2Time;
192   - }
193   -
194   - public String getJ2Gh() {
195   - return j2Gh;
196   - }
197   -
198   - public void setJ2Gh(String j2Gh) {
199   - this.j2Gh = j2Gh;
200   - }
201   -
202   - public String getJ2Name() {
203   - return j2Name;
204   - }
205   -
206   - public void setJ2Name(String j2Name) {
207   - this.j2Name = j2Name;
208   - }
209   -
210   - public String getS2Gh() {
211   - return s2Gh;
212   - }
213   -
214   - public void setS2Gh(String s2Gh) {
215   - this.s2Gh = s2Gh;
216   - }
217   -
218   - public String getS2Name() {
219   - return s2Name;
220   - }
221   -
222   - public void setS2Name(String s2Name) {
223   - this.s2Name = s2Name;
224   - }
225   -
226   - public String getXlDir() {
227   - return xlDir;
228   - }
229   -
230   - public void setXlDir(String xlDir) {
231   - this.xlDir = xlDir;
232   - }
233   -
234   - public String getQdz() {
235   - return qdz;
236   - }
237   -
238   - public void setQdz(String qdz) {
239   - this.qdz = qdz;
240   - }
241   -
242   - public String getZdz() {
243   - return zdz;
244   - }
245   -
246   - public void setZdz(String zdz) {
247   - this.zdz = zdz;
248   - }
249   -
250   - public String getFcsj() {
251   - return fcsj;
252   - }
253   -
254   - public void setFcsj(String fcsj) {
255   - this.fcsj = fcsj;
256   - }
257   -
258   - public SysUser getUser() {
259   - return user;
260   - }
261   -
262   - public void setUser(SysUser user) {
263   - this.user = user;
264   - }
265   -
266   - public Date getCreateDate() {
267   - return createDate;
268   - }
269   -
270   - public void setCreateDate(Date createDate) {
271   - this.createDate = createDate;
272   - }
273   -
274   - public Date getUpdateDate() {
275   - return updateDate;
276   - }
277   -
278   - public void setUpdateDate(Date updateDate) {
279   - this.updateDate = updateDate;
280   - }
281   -
282   - public int getFcno() {
283   - return fcno;
284   - }
285   -
286   - public void setFcno(int fcno) {
287   - this.fcno = fcno;
288   - }
289   -
290   - public int getBcs() {
291   - return bcs;
292   - }
293   -
294   - public void setBcs(int bcs) {
295   - this.bcs = bcs;
296   - }
297   -
298   - public double getJhlc() {
299   - return jhlc;
300   - }
301   -
302   - public void setJhlc(double jhlc) {
303   - this.jhlc = jhlc;
304   - }
305   -
306   - public int getBcsj() {
307   - return bcsj;
308   - }
309   -
310   - public void setBcsj(int bcsj) {
311   - this.bcsj = bcsj;
312   - }
313   -
314   - public String getXlBm() {
315   - return xlBm;
316   - }
317   -
318   - public void setXlBm(String xlBm) {
319   - this.xlBm = xlBm;
320   - }
321   -}
  1 +package com.bsth.entity.schedule;
  2 +
  3 +import com.bsth.entity.sys.SysUser;
  4 +
  5 +import javax.persistence.*;
  6 +import java.util.Date;
  7 +
  8 +/**
  9 + * 排班计划明细。
  10 + * 内部字段全冗余,无关联对象(外键关联关系),
  11 + * 可以单独存在,其余表要关联此对象/表,必须使用中间对象/表。
  12 + */
  13 +@Entity
  14 +@Table(name = "bsth_c_s_sp_info")
  15 +public class SchedulePlanInfo {
  16 +
  17 + /** 主键Id */
  18 + @Id
  19 + @GeneratedValue
  20 + private Long id;
  21 +
  22 + /** 排班计划日期 */
  23 + private Date scheduleDate;
  24 +
  25 + /** 路牌名称 */
  26 + private String lpName;
  27 + /** 线路编码 */
  28 + private String xlBm;
  29 + /** 线路名称 */
  30 + private String xlName;
  31 + /** 车辆自编号 */
  32 + private String clZbh;
  33 +
  34 +
  35 + /** 报道1时间(格式 HH:mm) */
  36 + private String bd1Time;
  37 + /** 出场1时间(格式 HH:mm) */
  38 + private String cc1Time;
  39 + /** 驾驶员1工号 */
  40 + private String j1Gh;
  41 + /** 驾驶员1名字 */
  42 + private String j1Name;
  43 + /** 售票员1工号 */
  44 + private String s1Gh;
  45 + /** 售票员1名字 */
  46 + private String s1Name;
  47 +
  48 + /** 报道2时间(格式 HH:mm) */
  49 + private String bd2Time;
  50 + /** 出场2时间(格式 HH:mm) */
  51 + private String cc2Time;
  52 + /** 驾驶员2工号 */
  53 + private String j2Gh;
  54 + /** 驾驶员2名字 */
  55 + private String j2Name;
  56 + /** 售票员2工号 */
  57 + private String s2Gh;
  58 + /** 售票员2名字 */
  59 + private String s2Name;
  60 +
  61 + // 冗余的时刻明细信息
  62 + /** 线路方向 */
  63 + private String xlDir;
  64 + /** 起点站名称 */
  65 + private String qdz;
  66 + /** 终点站名称 */
  67 + private String zdz;
  68 + /** 发车时间(格式 HH:mm) */
  69 + private String fcsj;
  70 + /** 发车顺序号 */
  71 + private int fcno;
  72 + /** 对应班次数 */
  73 + private int bcs;
  74 + /** 计划里程 */
  75 + private double jhlc;
  76 + /** 班次历时 */
  77 + private int bcsj;
  78 +
  79 + /** 操作人 */
  80 + @ManyToOne(optional = false, cascade = CascadeType.PERSIST, fetch = FetchType.LAZY)
  81 + private SysUser user;
  82 +
  83 + // 创建日期
  84 + @Column(updatable = false, name = "create_date", columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP")
  85 + private Date createDate;
  86 + // 修改日期
  87 + @Column(name = "update_date", columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP")
  88 + private Date updateDate;
  89 +
  90 + public Long getId() {
  91 + return id;
  92 + }
  93 +
  94 + public void setId(Long id) {
  95 + this.id = id;
  96 + }
  97 +
  98 + public Date getScheduleDate() {
  99 + return scheduleDate;
  100 + }
  101 +
  102 + public void setScheduleDate(Date scheduleDate) {
  103 + this.scheduleDate = scheduleDate;
  104 + }
  105 +
  106 + public String getLpName() {
  107 + return lpName;
  108 + }
  109 +
  110 + public void setLpName(String lpName) {
  111 + this.lpName = lpName;
  112 + }
  113 +
  114 + public String getXlName() {
  115 + return xlName;
  116 + }
  117 +
  118 + public void setXlName(String xlName) {
  119 + this.xlName = xlName;
  120 + }
  121 +
  122 + public String getClZbh() {
  123 + return clZbh;
  124 + }
  125 +
  126 + public void setClZbh(String clZbh) {
  127 + this.clZbh = clZbh;
  128 + }
  129 +
  130 + public String getCc1Time() {
  131 + return cc1Time;
  132 + }
  133 +
  134 + public void setCc1Time(String cc1Time) {
  135 + this.cc1Time = cc1Time;
  136 + }
  137 +
  138 + public String getJ1Gh() {
  139 + return j1Gh;
  140 + }
  141 +
  142 + public void setJ1Gh(String j1Gh) {
  143 + this.j1Gh = j1Gh;
  144 + }
  145 +
  146 + public String getJ1Name() {
  147 + return j1Name;
  148 + }
  149 +
  150 + public void setJ1Name(String j1Name) {
  151 + this.j1Name = j1Name;
  152 + }
  153 +
  154 + public String getS1Gh() {
  155 + return s1Gh;
  156 + }
  157 +
  158 + public void setS1Gh(String s1Gh) {
  159 + this.s1Gh = s1Gh;
  160 + }
  161 +
  162 + public String getS1Name() {
  163 + return s1Name;
  164 + }
  165 +
  166 + public void setS1Name(String s1Name) {
  167 + this.s1Name = s1Name;
  168 + }
  169 +
  170 + public String getBd1Time() {
  171 + return bd1Time;
  172 + }
  173 +
  174 + public void setBd1Time(String bd1Time) {
  175 + this.bd1Time = bd1Time;
  176 + }
  177 +
  178 + public String getBd2Time() {
  179 + return bd2Time;
  180 + }
  181 +
  182 + public void setBd2Time(String bd2Time) {
  183 + this.bd2Time = bd2Time;
  184 + }
  185 +
  186 + public String getCc2Time() {
  187 + return cc2Time;
  188 + }
  189 +
  190 + public void setCc2Time(String cc2Time) {
  191 + this.cc2Time = cc2Time;
  192 + }
  193 +
  194 + public String getJ2Gh() {
  195 + return j2Gh;
  196 + }
  197 +
  198 + public void setJ2Gh(String j2Gh) {
  199 + this.j2Gh = j2Gh;
  200 + }
  201 +
  202 + public String getJ2Name() {
  203 + return j2Name;
  204 + }
  205 +
  206 + public void setJ2Name(String j2Name) {
  207 + this.j2Name = j2Name;
  208 + }
  209 +
  210 + public String getS2Gh() {
  211 + return s2Gh;
  212 + }
  213 +
  214 + public void setS2Gh(String s2Gh) {
  215 + this.s2Gh = s2Gh;
  216 + }
  217 +
  218 + public String getS2Name() {
  219 + return s2Name;
  220 + }
  221 +
  222 + public void setS2Name(String s2Name) {
  223 + this.s2Name = s2Name;
  224 + }
  225 +
  226 + public String getXlDir() {
  227 + return xlDir;
  228 + }
  229 +
  230 + public void setXlDir(String xlDir) {
  231 + this.xlDir = xlDir;
  232 + }
  233 +
  234 + public String getQdz() {
  235 + return qdz;
  236 + }
  237 +
  238 + public void setQdz(String qdz) {
  239 + this.qdz = qdz;
  240 + }
  241 +
  242 + public String getZdz() {
  243 + return zdz;
  244 + }
  245 +
  246 + public void setZdz(String zdz) {
  247 + this.zdz = zdz;
  248 + }
  249 +
  250 + public String getFcsj() {
  251 + return fcsj;
  252 + }
  253 +
  254 + public void setFcsj(String fcsj) {
  255 + this.fcsj = fcsj;
  256 + }
  257 +
  258 + public SysUser getUser() {
  259 + return user;
  260 + }
  261 +
  262 + public void setUser(SysUser user) {
  263 + this.user = user;
  264 + }
  265 +
  266 + public Date getCreateDate() {
  267 + return createDate;
  268 + }
  269 +
  270 + public void setCreateDate(Date createDate) {
  271 + this.createDate = createDate;
  272 + }
  273 +
  274 + public Date getUpdateDate() {
  275 + return updateDate;
  276 + }
  277 +
  278 + public void setUpdateDate(Date updateDate) {
  279 + this.updateDate = updateDate;
  280 + }
  281 +
  282 + public int getFcno() {
  283 + return fcno;
  284 + }
  285 +
  286 + public void setFcno(int fcno) {
  287 + this.fcno = fcno;
  288 + }
  289 +
  290 + public int getBcs() {
  291 + return bcs;
  292 + }
  293 +
  294 + public void setBcs(int bcs) {
  295 + this.bcs = bcs;
  296 + }
  297 +
  298 + public double getJhlc() {
  299 + return jhlc;
  300 + }
  301 +
  302 + public void setJhlc(double jhlc) {
  303 + this.jhlc = jhlc;
  304 + }
  305 +
  306 + public int getBcsj() {
  307 + return bcsj;
  308 + }
  309 +
  310 + public void setBcsj(int bcsj) {
  311 + this.bcsj = bcsj;
  312 + }
  313 +
  314 + public String getXlBm() {
  315 + return xlBm;
  316 + }
  317 +
  318 + public void setXlBm(String xlBm) {
  319 + this.xlBm = xlBm;
  320 + }
  321 +}
... ...
src/main/java/com/bsth/entity/schedule/rule/ScheduleRule1.java
1   -package com.bsth.entity.schedule.rule;
2   -
3   -import com.bsth.entity.Cars;
4   -import com.bsth.entity.Line;
5   -import com.bsth.entity.Personnel;
6   -import com.bsth.entity.schedule.GuideboardInfo;
7   -
8   -import javax.persistence.*;
9   -import java.util.Date;
10   -import java.util.List;
11   -
12   -/**
13   - * 排班规则1,
14   - * 基于老系统的规则设定实体,
15   - * 有所谓的路牌范围,就是关联多个路牌
16   - * 有所谓的人员返回,就是关联多个人(可能带早晚班)
17   - * 有起始路牌,起始人员,翻班格式
18   - */
19   -@Entity
20   -@Table(name = "bsth_c_s_sr1")
21   -public class ScheduleRule1 {
22   -
23   - /** 主键Id */
24   - @Id
25   - @GeneratedValue
26   - private Long id;
27   -
28   - /** 关联线路 */
29   - @ManyToOne(optional = false, cascade = CascadeType.PERSIST, fetch = FetchType.LAZY)
30   - private Line xl;
31   - /** 关联车辆 */
32   - @ManyToOne(optional = false, cascade = CascadeType.PERSIST, fetch = FetchType.LAZY)
33   - private Cars cl;
34   - /** 启用日期 */
35   - private Date qyrq;
36   -
37   - /** 起始路牌 */
38   - @ManyToOne(optional = false, cascade = CascadeType.PERSIST, fetch = FetchType.LAZY)
39   - private GuideboardInfo qslp;
40   - /** 起始人员 */
41   - @ManyToOne(optional = false, cascade = CascadeType.PERSIST, fetch = FetchType.LAZY)
42   - private Personnel qsry;
43   - /** 翻班格式(TODO:这个目前还不太明白)*/
44   - private String fbgs;
45   -
46   - /** 路牌范围(TODO:路牌有序号的需要排序,这个再议了) */
47   - @ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
48   - @JoinTable(
49   - name = "bsth_c_s_sr1_lp",
50   - joinColumns = @JoinColumn(name = "SR1_ID"),
51   - inverseJoinColumns = @JoinColumn(name = "LP_ID")
52   - )
53   - private List<GuideboardInfo> guideboardInfos;
54   -
55   - // TODO:暂时不考虑早晚班
56   -// /** 是否早晚班 */
57   -// private boolean isZWB = false;
58   -
59   - /** 人员范围 */
60   - @ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
61   - @JoinTable(
62   - name = "bsth_c_s_sr1_ry",
63   - joinColumns = @JoinColumn(name = "SR1_ID"),
64   - inverseJoinColumns = @JoinColumn(name = "RY_ID")
65   - )
66   - private List<Personnel> personnels;
67   -
68   -
69   - // 创建日期
70   - @Column(updatable = false, name = "create_date", columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP")
71   - private Date createDate;
72   - // 修改日期
73   - @Column(name = "update_date", columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP")
74   - private Date updateDate;
75   -
76   - public Long getId() {
77   - return id;
78   - }
79   -
80   - public void setId(Long id) {
81   - this.id = id;
82   - }
83   -
84   - public Line getXl() {
85   - return xl;
86   - }
87   -
88   - public void setXl(Line xl) {
89   - this.xl = xl;
90   - }
91   -
92   - public Cars getCl() {
93   - return cl;
94   - }
95   -
96   - public void setCl(Cars cl) {
97   - this.cl = cl;
98   - }
99   -
100   - public Date getQyrq() {
101   - return qyrq;
102   - }
103   -
104   - public void setQyrq(Date qyrq) {
105   - this.qyrq = qyrq;
106   - }
107   -
108   - public GuideboardInfo getQslp() {
109   - return qslp;
110   - }
111   -
112   - public void setQslp(GuideboardInfo qslp) {
113   - this.qslp = qslp;
114   - }
115   -
116   - public Personnel getQsry() {
117   - return qsry;
118   - }
119   -
120   - public void setQsry(Personnel qsry) {
121   - this.qsry = qsry;
122   - }
123   -
124   - public String getFbgs() {
125   - return fbgs;
126   - }
127   -
128   - public void setFbgs(String fbgs) {
129   - this.fbgs = fbgs;
130   - }
131   -
132   - public List<GuideboardInfo> getGuideboardInfos() {
133   - return guideboardInfos;
134   - }
135   -
136   - public void setGuideboardInfos(List<GuideboardInfo> guideboardInfos) {
137   - this.guideboardInfos = guideboardInfos;
138   - }
139   -
140   - public List<Personnel> getPersonnels() {
141   - return personnels;
142   - }
143   -
144   - public void setPersonnels(List<Personnel> personnels) {
145   - this.personnels = personnels;
146   - }
147   -
148   - public Date getCreateDate() {
149   - return createDate;
150   - }
151   -
152   - public void setCreateDate(Date createDate) {
153   - this.createDate = createDate;
154   - }
155   -
156   - public Date getUpdateDate() {
157   - return updateDate;
158   - }
159   -
160   - public void setUpdateDate(Date updateDate) {
161   - this.updateDate = updateDate;
162   - }
163   -}
  1 +package com.bsth.entity.schedule.rule;
  2 +
  3 +import com.bsth.entity.Cars;
  4 +import com.bsth.entity.Line;
  5 +import com.bsth.entity.Personnel;
  6 +import com.bsth.entity.schedule.GuideboardInfo;
  7 +
  8 +import javax.persistence.*;
  9 +import java.util.Date;
  10 +import java.util.List;
  11 +
  12 +/**
  13 + * 排班规则1,
  14 + * 基于老系统的规则设定实体,
  15 + * 有所谓的路牌范围,就是关联多个路牌
  16 + * 有所谓的人员返回,就是关联多个人(可能带早晚班)
  17 + * 有起始路牌,起始人员,翻班格式
  18 + */
  19 +@Entity
  20 +@Table(name = "bsth_c_s_sr1")
  21 +public class ScheduleRule1 {
  22 +
  23 + /** 主键Id */
  24 + @Id
  25 + @GeneratedValue
  26 + private Long id;
  27 +
  28 + /** 关联线路 */
  29 + @ManyToOne(optional = false, cascade = CascadeType.PERSIST, fetch = FetchType.LAZY)
  30 + private Line xl;
  31 + /** 关联车辆 */
  32 + @ManyToOne(optional = false, cascade = CascadeType.PERSIST, fetch = FetchType.LAZY)
  33 + private Cars cl;
  34 + /** 启用日期 */
  35 + private Date qyrq;
  36 +
  37 + /** 起始路牌 */
  38 + @ManyToOne(optional = false, cascade = CascadeType.PERSIST, fetch = FetchType.LAZY)
  39 + private GuideboardInfo qslp;
  40 + /** 起始人员 */
  41 + @ManyToOne(optional = false, cascade = CascadeType.PERSIST, fetch = FetchType.LAZY)
  42 + private Personnel qsry;
  43 + /** 翻班格式(TODO:这个目前还不太明白)*/
  44 + private String fbgs;
  45 +
  46 + /** 路牌范围(TODO:路牌有序号的需要排序,这个再议了) */
  47 + @ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
  48 + @JoinTable(
  49 + name = "bsth_c_s_sr1_lp",
  50 + joinColumns = @JoinColumn(name = "SR1_ID"),
  51 + inverseJoinColumns = @JoinColumn(name = "LP_ID")
  52 + )
  53 + private List<GuideboardInfo> guideboardInfos;
  54 +
  55 + // TODO:暂时不考虑早晚班
  56 +// /** 是否早晚班 */
  57 +// private boolean isZWB = false;
  58 +
  59 + /** 人员范围 */
  60 + @ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
  61 + @JoinTable(
  62 + name = "bsth_c_s_sr1_ry",
  63 + joinColumns = @JoinColumn(name = "SR1_ID"),
  64 + inverseJoinColumns = @JoinColumn(name = "RY_ID")
  65 + )
  66 + private List<Personnel> personnels;
  67 +
  68 +
  69 + // 创建日期
  70 + @Column(updatable = false, name = "create_date", columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP")
  71 + private Date createDate;
  72 + // 修改日期
  73 + @Column(name = "update_date", columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP")
  74 + private Date updateDate;
  75 +
  76 + public Long getId() {
  77 + return id;
  78 + }
  79 +
  80 + public void setId(Long id) {
  81 + this.id = id;
  82 + }
  83 +
  84 + public Line getXl() {
  85 + return xl;
  86 + }
  87 +
  88 + public void setXl(Line xl) {
  89 + this.xl = xl;
  90 + }
  91 +
  92 + public Cars getCl() {
  93 + return cl;
  94 + }
  95 +
  96 + public void setCl(Cars cl) {
  97 + this.cl = cl;
  98 + }
  99 +
  100 + public Date getQyrq() {
  101 + return qyrq;
  102 + }
  103 +
  104 + public void setQyrq(Date qyrq) {
  105 + this.qyrq = qyrq;
  106 + }
  107 +
  108 + public GuideboardInfo getQslp() {
  109 + return qslp;
  110 + }
  111 +
  112 + public void setQslp(GuideboardInfo qslp) {
  113 + this.qslp = qslp;
  114 + }
  115 +
  116 + public Personnel getQsry() {
  117 + return qsry;
  118 + }
  119 +
  120 + public void setQsry(Personnel qsry) {
  121 + this.qsry = qsry;
  122 + }
  123 +
  124 + public String getFbgs() {
  125 + return fbgs;
  126 + }
  127 +
  128 + public void setFbgs(String fbgs) {
  129 + this.fbgs = fbgs;
  130 + }
  131 +
  132 + public List<GuideboardInfo> getGuideboardInfos() {
  133 + return guideboardInfos;
  134 + }
  135 +
  136 + public void setGuideboardInfos(List<GuideboardInfo> guideboardInfos) {
  137 + this.guideboardInfos = guideboardInfos;
  138 + }
  139 +
  140 + public List<Personnel> getPersonnels() {
  141 + return personnels;
  142 + }
  143 +
  144 + public void setPersonnels(List<Personnel> personnels) {
  145 + this.personnels = personnels;
  146 + }
  147 +
  148 + public Date getCreateDate() {
  149 + return createDate;
  150 + }
  151 +
  152 + public void setCreateDate(Date createDate) {
  153 + this.createDate = createDate;
  154 + }
  155 +
  156 + public Date getUpdateDate() {
  157 + return updateDate;
  158 + }
  159 +
  160 + public void setUpdateDate(Date updateDate) {
  161 + this.updateDate = updateDate;
  162 + }
  163 +}
... ...
src/main/java/com/bsth/entity/schedule/rule/ScheduleRule1_LP.java
1   -package com.bsth.entity.schedule.rule;
2   -
3   -import javax.persistence.Column;
4   -import javax.persistence.EmbeddedId;
5   -import javax.persistence.Entity;
6   -import javax.persistence.Table;
7   -import java.util.Date;
8   -
9   -/**
10   - * 排班规则1关联的路牌。
11   - */
12   -@Entity
13   -@Table(name = "bsth_c_s_sr1_lp")
14   -public class ScheduleRule1_LP {
15   -
16   - /** 业务主键 */
17   - @EmbeddedId
18   - private ScheduleRule1_LP_PK pk;
19   -
20   - // 创建日期
21   - @Column(updatable = false, name = "create_date", columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP")
22   - private Date createDate;
23   - // 修改日期
24   - @Column(name = "update_date", columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP")
25   - private Date updateDate;
26   -
27   - public ScheduleRule1_LP_PK getPk() {
28   - return pk;
29   - }
30   -
31   - public void setPk(ScheduleRule1_LP_PK pk) {
32   - this.pk = pk;
33   - }
34   -
35   - public Date getCreateDate() {
36   - return createDate;
37   - }
38   -
39   - public void setCreateDate(Date createDate) {
40   - this.createDate = createDate;
41   - }
42   -
43   - public Date getUpdateDate() {
44   - return updateDate;
45   - }
46   -
47   - public void setUpdateDate(Date updateDate) {
48   - this.updateDate = updateDate;
49   - }
50   -}
  1 +package com.bsth.entity.schedule.rule;
  2 +
  3 +import javax.persistence.Column;
  4 +import javax.persistence.EmbeddedId;
  5 +import javax.persistence.Entity;
  6 +import javax.persistence.Table;
  7 +import java.util.Date;
  8 +
  9 +/**
  10 + * 排班规则1关联的路牌。
  11 + */
  12 +@Entity
  13 +@Table(name = "bsth_c_s_sr1_lp")
  14 +public class ScheduleRule1_LP {
  15 +
  16 + /** 业务主键 */
  17 + @EmbeddedId
  18 + private ScheduleRule1_LP_PK pk;
  19 +
  20 + // 创建日期
  21 + @Column(updatable = false, name = "create_date", columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP")
  22 + private Date createDate;
  23 + // 修改日期
  24 + @Column(name = "update_date", columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP")
  25 + private Date updateDate;
  26 +
  27 + public ScheduleRule1_LP_PK getPk() {
  28 + return pk;
  29 + }
  30 +
  31 + public void setPk(ScheduleRule1_LP_PK pk) {
  32 + this.pk = pk;
  33 + }
  34 +
  35 + public Date getCreateDate() {
  36 + return createDate;
  37 + }
  38 +
  39 + public void setCreateDate(Date createDate) {
  40 + this.createDate = createDate;
  41 + }
  42 +
  43 + public Date getUpdateDate() {
  44 + return updateDate;
  45 + }
  46 +
  47 + public void setUpdateDate(Date updateDate) {
  48 + this.updateDate = updateDate;
  49 + }
  50 +}
... ...
src/main/java/com/bsth/entity/schedule/rule/ScheduleRule1_LP_PK.java
1   -package com.bsth.entity.schedule.rule;
2   -
3   -import com.bsth.entity.schedule.GuideboardInfo;
4   -
5   -import javax.persistence.*;
6   -import java.io.Serializable;
7   -
8   -/**
9   - * 排班规则1 路牌范围 主键。
10   - */
11   -@Embeddable
12   -public class ScheduleRule1_LP_PK implements Serializable {
13   -
14   - /** 关联的排班规则1 */
15   - @ManyToOne(optional = false, cascade = CascadeType.PERSIST, fetch = FetchType.LAZY)
16   - @JoinColumn(name = "SR1_ID")
17   - private ScheduleRule1 scheduleRule1;
18   -
19   - /** 关联的路牌 */
20   - @ManyToOne(optional = false, cascade = CascadeType.PERSIST, fetch = FetchType.LAZY)
21   - @JoinColumn(name = "LP_ID")
22   - private GuideboardInfo guideboardInfo;
23   -
24   - /** 顺序号 */
25   - private Integer orderNo;
26   -
27   - public ScheduleRule1_LP_PK(ScheduleRule1 scheduleRule1, GuideboardInfo guideboardInfo, Integer orderNo) {
28   - this.scheduleRule1 = scheduleRule1;
29   - this.guideboardInfo = guideboardInfo;
30   - this.orderNo = orderNo;
31   - }
32   -
33   - public ScheduleRule1 getScheduleRule1() {
34   - return scheduleRule1;
35   - }
36   -
37   - public void setScheduleRule1(ScheduleRule1 scheduleRule1) {
38   - this.scheduleRule1 = scheduleRule1;
39   - }
40   -
41   - public GuideboardInfo getGuideboardInfo() {
42   - return guideboardInfo;
43   - }
44   -
45   - public void setGuideboardInfo(GuideboardInfo guideboardInfo) {
46   - this.guideboardInfo = guideboardInfo;
47   - }
48   -
49   - public Integer getOrderNo() {
50   - return orderNo;
51   - }
52   -
53   - public void setOrderNo(Integer orderNo) {
54   - this.orderNo = orderNo;
55   - }
56   -}
  1 +package com.bsth.entity.schedule.rule;
  2 +
  3 +import com.bsth.entity.schedule.GuideboardInfo;
  4 +
  5 +import javax.persistence.*;
  6 +import java.io.Serializable;
  7 +
  8 +/**
  9 + * 排班规则1 路牌范围 主键。
  10 + */
  11 +@Embeddable
  12 +public class ScheduleRule1_LP_PK implements Serializable {
  13 +
  14 + /** 关联的排班规则1 */
  15 + @ManyToOne(optional = false, cascade = CascadeType.PERSIST, fetch = FetchType.LAZY)
  16 + @JoinColumn(name = "SR1_ID")
  17 + private ScheduleRule1 scheduleRule1;
  18 +
  19 + /** 关联的路牌 */
  20 + @ManyToOne(optional = false, cascade = CascadeType.PERSIST, fetch = FetchType.LAZY)
  21 + @JoinColumn(name = "LP_ID")
  22 + private GuideboardInfo guideboardInfo;
  23 +
  24 + /** 顺序号 */
  25 + private Integer orderNo;
  26 +
  27 + public ScheduleRule1_LP_PK(ScheduleRule1 scheduleRule1, GuideboardInfo guideboardInfo, Integer orderNo) {
  28 + this.scheduleRule1 = scheduleRule1;
  29 + this.guideboardInfo = guideboardInfo;
  30 + this.orderNo = orderNo;
  31 + }
  32 +
  33 + public ScheduleRule1 getScheduleRule1() {
  34 + return scheduleRule1;
  35 + }
  36 +
  37 + public void setScheduleRule1(ScheduleRule1 scheduleRule1) {
  38 + this.scheduleRule1 = scheduleRule1;
  39 + }
  40 +
  41 + public GuideboardInfo getGuideboardInfo() {
  42 + return guideboardInfo;
  43 + }
  44 +
  45 + public void setGuideboardInfo(GuideboardInfo guideboardInfo) {
  46 + this.guideboardInfo = guideboardInfo;
  47 + }
  48 +
  49 + public Integer getOrderNo() {
  50 + return orderNo;
  51 + }
  52 +
  53 + public void setOrderNo(Integer orderNo) {
  54 + this.orderNo = orderNo;
  55 + }
  56 +}
... ...
src/main/java/com/bsth/entity/schedule/rule/ScheduleRule1_RY.java
1   -package com.bsth.entity.schedule.rule;
2   -
3   -import javax.persistence.Column;
4   -import javax.persistence.EmbeddedId;
5   -import javax.persistence.Entity;
6   -import javax.persistence.Table;
7   -import java.util.Date;
8   -
9   -/**
10   - * 排班规则1关联的人员。
11   - */
12   -@Entity
13   -@Table(name = "bsth_c_s_sr1_ry")
14   -public class ScheduleRule1_RY {
15   -
16   - /** 业务主键 */
17   - @EmbeddedId
18   - private ScheduleRule1_RY_PK pk;
19   -
20   - // 创建日期
21   - @Column(updatable = false, name = "create_date", columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP")
22   - private Date createDate;
23   - // 修改日期
24   - @Column(name = "update_date", columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP")
25   - private Date updateDate;
26   -
27   - public ScheduleRule1_RY_PK getPk() {
28   - return pk;
29   - }
30   -
31   - public void setPk(ScheduleRule1_RY_PK pk) {
32   - this.pk = pk;
33   - }
34   -
35   - public Date getCreateDate() {
36   - return createDate;
37   - }
38   -
39   - public void setCreateDate(Date createDate) {
40   - this.createDate = createDate;
41   - }
42   -
43   - public Date getUpdateDate() {
44   - return updateDate;
45   - }
46   -
47   - public void setUpdateDate(Date updateDate) {
48   - this.updateDate = updateDate;
49   - }
50   -}
  1 +package com.bsth.entity.schedule.rule;
  2 +
  3 +import javax.persistence.Column;
  4 +import javax.persistence.EmbeddedId;
  5 +import javax.persistence.Entity;
  6 +import javax.persistence.Table;
  7 +import java.util.Date;
  8 +
  9 +/**
  10 + * 排班规则1关联的人员。
  11 + */
  12 +@Entity
  13 +@Table(name = "bsth_c_s_sr1_ry")
  14 +public class ScheduleRule1_RY {
  15 +
  16 + /** 业务主键 */
  17 + @EmbeddedId
  18 + private ScheduleRule1_RY_PK pk;
  19 +
  20 + // 创建日期
  21 + @Column(updatable = false, name = "create_date", columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP")
  22 + private Date createDate;
  23 + // 修改日期
  24 + @Column(name = "update_date", columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP")
  25 + private Date updateDate;
  26 +
  27 + public ScheduleRule1_RY_PK getPk() {
  28 + return pk;
  29 + }
  30 +
  31 + public void setPk(ScheduleRule1_RY_PK pk) {
  32 + this.pk = pk;
  33 + }
  34 +
  35 + public Date getCreateDate() {
  36 + return createDate;
  37 + }
  38 +
  39 + public void setCreateDate(Date createDate) {
  40 + this.createDate = createDate;
  41 + }
  42 +
  43 + public Date getUpdateDate() {
  44 + return updateDate;
  45 + }
  46 +
  47 + public void setUpdateDate(Date updateDate) {
  48 + this.updateDate = updateDate;
  49 + }
  50 +}
... ...
src/main/java/com/bsth/entity/schedule/rule/ScheduleRule1_RY_PK.java
1   -package com.bsth.entity.schedule.rule;
2   -
3   -import com.bsth.entity.Personnel;
4   -
5   -import javax.persistence.*;
6   -import java.io.Serializable;
7   -
8   -/**
9   - * 排班规则1 人员范围
10   - * TODO:暂时不考虑早晚班
11   - */
12   -@Embeddable
13   -public class ScheduleRule1_RY_PK implements Serializable {
14   -
15   - /** 关联的排班规则1 */
16   - @ManyToOne(optional = false, cascade = CascadeType.PERSIST, fetch = FetchType.LAZY)
17   - @JoinColumn(name = "SR1_ID")
18   - private ScheduleRule1 scheduleRule1;
19   -
20   - /** 关联的人员 */
21   - @ManyToOne(optional = false, cascade = CascadeType.PERSIST, fetch = FetchType.LAZY)
22   - @JoinColumn(name = "RY_ID")
23   - private Personnel personnel;
24   -
25   - /** 顺序号 */
26   - private Integer orderNo;
27   -
28   - public ScheduleRule1_RY_PK(ScheduleRule1 scheduleRule1, Personnel personnel, Integer orderNo) {
29   - this.scheduleRule1 = scheduleRule1;
30   - this.personnel = personnel;
31   - this.orderNo = orderNo;
32   - }
33   -
34   - public ScheduleRule1 getScheduleRule1() {
35   - return scheduleRule1;
36   - }
37   -
38   - public void setScheduleRule1(ScheduleRule1 scheduleRule1) {
39   - this.scheduleRule1 = scheduleRule1;
40   - }
41   -
42   - public Personnel getPersonnel() {
43   - return personnel;
44   - }
45   -
46   - public void setPersonnel(Personnel personnel) {
47   - this.personnel = personnel;
48   - }
49   -
50   - public Integer getOrderNo() {
51   - return orderNo;
52   - }
53   -
54   - public void setOrderNo(Integer orderNo) {
55   - this.orderNo = orderNo;
56   - }
57   -}
  1 +package com.bsth.entity.schedule.rule;
  2 +
  3 +import com.bsth.entity.Personnel;
  4 +
  5 +import javax.persistence.*;
  6 +import java.io.Serializable;
  7 +
  8 +/**
  9 + * 排班规则1 人员范围
  10 + * TODO:暂时不考虑早晚班
  11 + */
  12 +@Embeddable
  13 +public class ScheduleRule1_RY_PK implements Serializable {
  14 +
  15 + /** 关联的排班规则1 */
  16 + @ManyToOne(optional = false, cascade = CascadeType.PERSIST, fetch = FetchType.LAZY)
  17 + @JoinColumn(name = "SR1_ID")
  18 + private ScheduleRule1 scheduleRule1;
  19 +
  20 + /** 关联的人员 */
  21 + @ManyToOne(optional = false, cascade = CascadeType.PERSIST, fetch = FetchType.LAZY)
  22 + @JoinColumn(name = "RY_ID")
  23 + private Personnel personnel;
  24 +
  25 + /** 顺序号 */
  26 + private Integer orderNo;
  27 +
  28 + public ScheduleRule1_RY_PK(ScheduleRule1 scheduleRule1, Personnel personnel, Integer orderNo) {
  29 + this.scheduleRule1 = scheduleRule1;
  30 + this.personnel = personnel;
  31 + this.orderNo = orderNo;
  32 + }
  33 +
  34 + public ScheduleRule1 getScheduleRule1() {
  35 + return scheduleRule1;
  36 + }
  37 +
  38 + public void setScheduleRule1(ScheduleRule1 scheduleRule1) {
  39 + this.scheduleRule1 = scheduleRule1;
  40 + }
  41 +
  42 + public Personnel getPersonnel() {
  43 + return personnel;
  44 + }
  45 +
  46 + public void setPersonnel(Personnel personnel) {
  47 + this.personnel = personnel;
  48 + }
  49 +
  50 + public Integer getOrderNo() {
  51 + return orderNo;
  52 + }
  53 +
  54 + public void setOrderNo(Integer orderNo) {
  55 + this.orderNo = orderNo;
  56 + }
  57 +}
... ...
src/main/java/com/bsth/gpsdata/buffer/GpsRealDataBuffer.java
1 1 package com.bsth.gpsdata.buffer;
2 2  
  3 +import java.util.ArrayList;
3 4 import java.util.HashMap;
4 5 import java.util.Iterator;
5 6 import java.util.List;
... ... @@ -63,6 +64,11 @@ public class GpsRealDataBuffer {
63 64 */
64 65 private static Map<String, String> stationCodeMap;
65 66  
  67 + /**
  68 + * 最后同步时间
  69 + */
  70 + private static Long lastUpdateTime;
  71 +
66 72  
67 73 public boolean isNullEmpty(){
68 74 return deviceGpsMap == null;
... ... @@ -170,13 +176,49 @@ public class GpsRealDataBuffer {
170 176 * @throws
171 177 */
172 178 public List<GpsRealData> getListByLineCode(Integer lineCode){
173   - List<GpsRealData> list = lineGpsMultimap.get(lineCode);
  179 + List<GpsRealData> list = lineGpsMultimap.get(lineCode)
  180 + ,resList = new ArrayList<>();
174 181  
175 182 //写入车辆自编号
  183 + String nbbm;
  184 + logger.info("list size..." + list.size());
176 185 for(GpsRealData gpsData : list){
177   - gpsData.setNbbm(vehicDeviceMap.get(gpsData.getDeviceId()));
178   - gpsData.setStationName(stationCodeMap.get(gpsData.getStopNo()));
  186 + nbbm = vehicDeviceMap.get(gpsData.getDeviceId());
  187 + if(null != nbbm){
  188 + gpsData.setNbbm(nbbm);
  189 + gpsData.setStationName(stationCodeMap.get(gpsData.getStopNo()));
  190 + resList.add(gpsData);
  191 + }
179 192 }
  193 + return resList;
  194 + }
  195 +
  196 + /**
  197 + *
  198 + * @Title: getListByLineCode
  199 + * @Description: TODO(根据多个线路编码获取该线路所有的GPS点)
  200 + * @return List<GpsRealData> 返回类型
  201 + * @throws
  202 + */
  203 + public List<GpsRealData> getListByLines(Iterator<String> iterator){
  204 +
  205 + List<GpsRealData> list = new ArrayList<>();
  206 +
  207 + Integer code;
  208 + while(iterator.hasNext()){
  209 + code = Integer.parseInt(iterator.next());
  210 + list.addAll(getListByLineCode(code));
  211 + }
  212 +
180 213 return list;
181 214 }
  215 +
  216 +
  217 + public void setLastUpdateTime(Long time){
  218 + lastUpdateTime = time;
  219 + }
  220 +
  221 + public Long getLastUpdateTime(){
  222 + return lastUpdateTime;
  223 + }
182 224 }
... ...
src/main/java/com/bsth/gpsdata/config.properties deleted 100644 → 0
1   -#http.gps.real.url= http://222.66.0.204:5555/transport_server/rtgps/
2   -http.gps.real.url= http://192.168.168.192:8080/transport_server/rtgps/
3 0 \ No newline at end of file
src/main/java/com/bsth/gpsdata/controller/GpsDataController.java
... ... @@ -5,10 +5,12 @@ import java.util.List;
5 5 import org.springframework.beans.factory.annotation.Autowired;
6 6 import org.springframework.web.bind.annotation.PathVariable;
7 7 import org.springframework.web.bind.annotation.RequestMapping;
  8 +import org.springframework.web.bind.annotation.RequestParam;
8 9 import org.springframework.web.bind.annotation.RestController;
9 10  
10 11 import com.bsth.gpsdata.buffer.GpsRealDataBuffer;
11 12 import com.bsth.gpsdata.entity.GpsRealData;
  13 +import com.google.common.base.Splitter;
12 14  
13 15 @RestController
14 16 @RequestMapping("gps")
... ... @@ -21,4 +23,9 @@ public class GpsDataController {
21 23 public List<GpsRealData> findByLineCode(@PathVariable("lineCode") Integer lineCode){
22 24 return gpsBuffer.getListByLineCode(lineCode);
23 25 }
  26 +
  27 + @RequestMapping(value = "/real/line")
  28 + public List<GpsRealData> findByLineCode(@RequestParam String lineCodes){
  29 + return gpsBuffer.getListByLines(Splitter.on(",").split(lineCodes).iterator());
  30 + }
24 31 }
... ...
src/main/java/com/bsth/gpsdata/thread/GpsBufferRefreshThread.java
... ... @@ -21,7 +21,7 @@ import com.alibaba.fastjson.JSON;
21 21 import com.alibaba.fastjson.JSONObject;
22 22 import com.bsth.gpsdata.buffer.GpsRealDataBuffer;
23 23 import com.bsth.gpsdata.entity.GpsRealData;
24   -import com.bsth.gpsdata.util.ConfigUtil;
  24 +import com.bsth.util.Tools;
25 25 import com.google.common.collect.ImmutableMap;
26 26  
27 27 /**
... ... @@ -42,7 +42,8 @@ public class GpsBufferRefreshThread extends Thread{
42 42  
43 43  
44 44 public GpsBufferRefreshThread() {
45   - url = ConfigUtil.getProp("http.gps.real.url");
  45 + Tools t = new Tools("application.properties");
  46 + url = t.getValue("http.gps.real.url");
46 47 }
47 48  
48 49 @Autowired
... ... @@ -81,6 +82,7 @@ public class GpsBufferRefreshThread extends Thread{
81 82  
82 83 //更新缓存
83 84 gpsBuffer.updateBuffer(upLines, upGpsList);
  85 + gpsBuffer.setLastUpdateTime(System.currentTimeMillis());
84 86 }
85 87  
86 88 logger.info("本次刷新GPS实时数据耗时:" + (System.currentTimeMillis() - t) + "毫秒");
... ...
src/main/java/com/bsth/gpsdata/util/ConfigUtil.java deleted 100644 → 0
1   -package com.bsth.gpsdata.util;
2   -
3   -import java.io.IOException;
4   -import java.io.InputStream;
5   -import java.util.Properties;
6   -
7   -public class ConfigUtil {
8   -
9   - private static Properties properties = new Properties();
10   -
11   - static {
12   - InputStream in = Object.class.getResourceAsStream("/com/bsth/gpsdata/config.properties");
13   - try {
14   - properties.load(in);
15   - } catch (IOException e) {
16   - e.printStackTrace();
17   - }
18   - }
19   -
20   - public static String getProp(String key){
21   -
22   - return properties.getProperty(key);
23   - }
24   -}
src/main/java/com/bsth/service/CarsService.java
1   -package com.bsth.service;
2   -
3   -import com.bsth.entity.Cars;
4   -
5   -/**
6   - * Created by xu on 16/5/31.
7   - */
8   -public interface CarsService extends BaseService<Cars, Integer> {
9   -}
  1 +package com.bsth.service;
  2 +
  3 +import com.bsth.entity.Cars;
  4 +
  5 +/**
  6 + * Created by xu on 16/5/31.
  7 + */
  8 +public interface CarsService extends BaseService<Cars, Integer> {
  9 +}
... ...
src/main/java/com/bsth/service/impl/CarsServiceImpl.java
1   -package com.bsth.service.impl;
2   -
3   -import com.bsth.entity.Cars;
4   -import com.bsth.service.CarsService;
5   -import org.springframework.stereotype.Service;
6   -
7   -/**
8   - * Created by xu on 16/5/31.
9   - */
10   -@Service
11   -public class CarsServiceImpl extends BaseServiceImpl<Cars, Integer> implements CarsService {
12   -}
  1 +package com.bsth.service.impl;
  2 +
  3 +import com.bsth.entity.Cars;
  4 +import com.bsth.service.CarsService;
  5 +import org.springframework.stereotype.Service;
  6 +
  7 +/**
  8 + * Created by xu on 16/5/31.
  9 + */
  10 +@Service
  11 +public class CarsServiceImpl extends BaseServiceImpl<Cars, Integer> implements CarsService {
  12 +}
... ...
src/main/java/com/bsth/util/Tools.java 0 → 100644
  1 +package com.bsth.util;
  2 +
  3 +import java.io.IOException;
  4 +import java.util.Properties;
  5 +
  6 +public class Tools {
  7 + private static Properties p = new Properties();
  8 + private static String f;
  9 + public Tools(String file){
  10 + f = file;
  11 + try {
  12 + p.load(Tools.class.getClassLoader().getResourceAsStream(f));
  13 + } catch (IOException e) {
  14 + e.printStackTrace();
  15 + }
  16 + }
  17 +
  18 + /**
  19 + * 根据key得到value的值
  20 + */
  21 + public String getValue(String key)
  22 + {
  23 + return p.getProperty(key);
  24 + }
  25 +}
... ...
src/main/resources/application.properties
... ... @@ -24,3 +24,7 @@ spring.view.suffix=.html
24 24 server.session-timeout=-1
25 25  
26 26 security.basic.enabled=false
  27 +
  28 +##
  29 +#http.gps.real.url= http://222.66.0.204:5555/transport_server/rtgps/
  30 +http.gps.real.url= http://192.168.168.192:8080/transport_server/rtgps/
... ...
src/main/resources/fatso/exclude.txt 0 → 100644
  1 +resources\fatso
  2 +.git
  3 +.settings
  4 +target
0 5 \ No newline at end of file
... ...
src/main/resources/fatso/minifier.js 0 → 100644
  1 +/**
  2 + * @author PanZhao
  3 + * @date 2016年3月17日 下午12:44:06
  4 + */
  5 +var fs = require('fs');
  6 +var UglifyJS = require("uglify-js");
  7 +
  8 +var minifier = {
  9 +
  10 + mergeAndMini: function(fileArray,scriptString, root, isIndex){
  11 + var len = fileArray.length;
  12 + for(var i = 0; i < len; i ++){
  13 + fileArray[i] = root + fileArray[i].split('/').join('\\');
  14 + }
  15 +
  16 + var result, indoorRs;
  17 +
  18 + try {
  19 + if(fileArray && len > 0)
  20 + result = UglifyJS.minify(fileArray);
  21 +
  22 + if(scriptString)
  23 + indoorRs = UglifyJS.minify(scriptString, {fromString: true});
  24 + } catch (e) {
  25 + console.log(e);
  26 + process.exit();
  27 + }
  28 +
  29 + return {outside: result?result.code:'', inside: indoorRs?indoorRs.code:''};
  30 + },
  31 + mini: function(file){
  32 + return UglifyJS.minify(file).code;
  33 + }
  34 +}
  35 +
  36 +module.exports = minifier;
0 37 \ No newline at end of file
... ...
src/main/resources/fatso/package.json 0 → 100644
  1 +{
  2 + "name": "fatso",
  3 + "version": "1.0.0",
  4 + "description": "子页面js检查、合并、压缩等处理",
  5 + "main": "start.js",
  6 + "scripts": {
  7 + "test": "echo \"Error: no test specified\" && exit 1"
  8 + },
  9 + "author": "panzhaov5",
  10 + "license": "ISC",
  11 + "dependencies": {
  12 + "cheerio": "^0.20.0",
  13 + "colors": "^1.1.2",
  14 + "eventproxy": "^0.3.4",
  15 + "uglify-js": "^2.6.2"
  16 + }
  17 +}
... ...
src/main/resources/fatso/parse.js 0 → 100644
  1 +/**
  2 + * @author PanZhao
  3 + * @date 2016年3月17日 下午12:44:06
  4 + */
  5 +var fs = require('fs')
  6 + ,cheerio = require('cheerio')
  7 + ,minifier = require('./minifier')
  8 + ,crypto = require("crypto");
  9 +
  10 +var parse = {
  11 + html: function(filePath, root){
  12 + var data = fs.readFileSync(filePath, 'utf-8')
  13 + ,$ = cheerio.load(data)
  14 + ,scriptString = '';
  15 +
  16 + var script = $('script')
  17 + ,linkArray = [];
  18 +
  19 + for(var i = 0, s; s = script[i++];){
  20 + //模板
  21 + if($(s).attr('type') == 'text/html')
  22 + continue;
  23 + //不参与的
  24 + if($(s).data('exclude') == 1)
  25 + continue;
  26 +
  27 + //外部引用JS
  28 + if($(s).attr('src') != null ){
  29 + var src = $(s).attr('src');
  30 + //独立自主第三方
  31 + if($(s).data('autocephaly') == 1){
  32 + var mini = minifier.mini(root + src)
  33 + ,code = md5(mini);
  34 +
  35 + var newPath = src.substr(0, src.lastIndexOf('/')) + '/' +code + '.js';
  36 + //重命名文件
  37 + fs.renameSync(root + src, root + newPath);
  38 + write(root + newPath, mini);
  39 +
  40 + $(s).attr('src', newPath);
  41 + continue;
  42 + }else
  43 + linkArray.push(src);
  44 + }
  45 + //内部JS
  46 + else{
  47 + scriptString = $(s).html();
  48 + }
  49 +
  50 + $(s).remove();
  51 + }
  52 + return {jsArray: linkArray, $: $, scriptString: scriptString};
  53 + }
  54 +}
  55 +
  56 +
  57 +function md5(text){
  58 + return crypto.createHash("md5").update(text).digest("hex");
  59 +}
  60 +
  61 +function write(file, text){
  62 + fs.writeFile(file, text, function (err) {
  63 + if (err){
  64 + console.log(err.toString().red);
  65 + process.exit();
  66 + }
  67 + console.log(file.green);
  68 + });
  69 +}
  70 +
  71 +module.exports = parse;
0 72 \ No newline at end of file
... ...
src/main/resources/fatso/start.js 0 → 100644
  1 +/**
  2 + * @author PanZhao
  3 + * @date 2016年3月17日 下午12:44:06
  4 + */
  5 +var fs = require('fs')
  6 + ,colors = require('colors')
  7 + ,child_process = require('child_process')
  8 + ,EventProxy = require('eventproxy')
  9 + ,parse = require('./parse')
  10 + ,minifier = require('./minifier')
  11 + ,crypto = require("crypto");
  12 +
  13 +//不参与的目录
  14 +var excludes = ['scheduleApp']
  15 + ,ep = new EventProxy()
  16 + ,pName = 'bsth_control'
  17 + ,path = process.cwd()
  18 + //根目录
  19 + ,root = path.substr(0, path.indexOf('\\src\\main'))
  20 + ,workspace = root.substr(0, root.indexOf('\\' + pName))
  21 + //临时目录
  22 + ,dest = (workspace + '\\' + pName+'@fatso_copy').replace(/\//g,'\\')
  23 + ,_static = '\\src\\main\\resources\\static'
  24 + ,_pages = dest + _static + '\\pages';
  25 +
  26 +
  27 +//创建临时目录
  28 +fs.mkdir(dest, function(e){
  29 + if(e)
  30 + logError('创建临时目录出错,请检查目录 ' + dest + '是否存在');
  31 +
  32 + setTimeout(function(){
  33 + ep.emit('mvn-clean');
  34 + }, 500);
  35 +});
  36 +//子进程
  37 +var cProcess;
  38 +
  39 +ep.tail('mvn-clean',function(){
  40 + //清理target
  41 + logInfo('mvn clean...');
  42 + cProcess = child_process.exec("mvn clean",{cwd: workspace + '\\' + pName},function(error){
  43 + if(error)
  44 + logError(error);
  45 +
  46 + logSuccess('mvn clean success');
  47 +
  48 + ep.emit('copy-project');
  49 + });
  50 + output(cProcess);
  51 +});
  52 +
  53 +//复制项目副本
  54 +ep.tail('copy-project',function(){
  55 + logInfo('copy project...');
  56 + var xcopyCom = 'XCOPY '+ root.replace(/\//g,'\\') + ' ' + dest +' /e /exclude:'+path+'\\exclude.txt';
  57 + cProcess = child_process.exec(xcopyCom,{maxBuffer: 5000*1024},function(error){
  58 + if(error)
  59 + logError(error);
  60 +
  61 + logSuccess('copy project success');
  62 +
  63 + ep.emit('check-js');
  64 + });
  65 + //output(cProcess);
  66 +});
  67 +
  68 +//检查JS
  69 +ep.tail('check-js', function(){
  70 + ep.emit('minifier-js');
  71 +});
  72 +
  73 +//合并压缩JS
  74 +ep.tail('minifier-js', function(){
  75 + logInfo('handle index.html...');
  76 +
  77 + //先处理首页
  78 + ep.emit('handle-index', function(){
  79 + //递归处理片段
  80 + walk(dest + _static + '\\pages', function(item){
  81 + ep.emit('handle-fragment', item);
  82 + },
  83 + function(){
  84 + ep.emit('package-jar');
  85 + });
  86 + });
  87 +});
  88 +
  89 +//打包
  90 +ep.tail('package-jar', function(file){
  91 + var packageCom = 'mvn clean package';
  92 + cProcess = child_process.exec(packageCom,{maxBuffer: 5000*1024, cwd: dest},function(error){
  93 + if(error)
  94 + logError(error);
  95 +
  96 + logSuccess('mvn package success');
  97 +
  98 + console.log(('成功打包在 ' + dest + '\\target 目录下').cyan);
  99 + });
  100 +
  101 + output(cProcess);
  102 +});
  103 +
  104 +//处理片段
  105 +ep.tail('handle-fragment', function(file){
  106 + //要排除的文件
  107 + for(var i = 0, ex; ex = excludes[i++];){
  108 + if(file.indexOf(_pages + '\\' + ex) != -1)
  109 + return false;
  110 + }
  111 + handleJavascript(file, function(mini, $){
  112 + var jsMini;
  113 + if(mini.inside)
  114 + jsMini = '(function(){' + mini.inside + '\n' + mini.outside + '})();';
  115 + else
  116 + jsMini = '(function(){' + mini.outside + '})();';
  117 +
  118 + write(file, $.html() + '<script>' + jsMini + '</script>');
  119 + });
  120 +
  121 +});
  122 +
  123 +//处理首页
  124 +ep.tail('handle-index', function(cb){
  125 + var index = dest + _static + '\\index.html';
  126 + handleJavascript(index, function(mini, $){
  127 + var jsMiniText = mini.inside + mini.outside;
  128 +
  129 + var code = md5(jsMiniText);
  130 + fs.open( dest + _static + '\\assets\\js\\' + code + '.js', 'a', function(err, fd){
  131 + if(err)
  132 + logError(err);
  133 +
  134 + fs.write(fd,jsMiniText, function(){
  135 + var ss = $('script');
  136 +
  137 + $(ss[ss.length - 1]).before('<script src="/assets/js/'+code+'.js"></script>\n');
  138 + for(var i = 0, s; s = ss[i++];){
  139 + $(s).removeAttr('data-exclude')
  140 + .removeAttr('flag')
  141 + .removeAttr('data-autocephaly');
  142 + }
  143 + write(index, $.html());
  144 +
  145 + cb && cb();
  146 + });
  147 + });
  148 + });
  149 +});
  150 +
  151 +
  152 +function handleJavascript(item, cb){
  153 + //解析页面
  154 + var htmlResult = parse.html(item, dest + _static)
  155 + ,jsArray = htmlResult.jsArray
  156 + ,$ = htmlResult.$
  157 + ,scrStr = htmlResult.scriptString;
  158 +
  159 + //合并压缩
  160 + var mini = minifier.mergeAndMini(jsArray, scrStr, dest + _static);
  161 +
  162 + cb && cb(mini, $);
  163 +}
  164 +
  165 +function removeJsLink(s, e){
  166 + var newArray = [], flag;
  167 +
  168 + for(var i = 0, si; si = s[i++];){
  169 + flag = 0;
  170 + for(var j = 0,ei; ei = e[j++];){
  171 + if(si.indexOf(ei) != -1){
  172 + flag = -1;
  173 + break;
  174 + }
  175 + }
  176 +
  177 + if(flag == 0){
  178 + newArray.push(si);
  179 + }
  180 + }
  181 + return newArray;
  182 +}
  183 +
  184 +function write(file, text){
  185 + fs.writeFile(file, text, function (err) {
  186 + if (err){
  187 + console.log(err.toString().red);
  188 + process.exit();
  189 + }
  190 + console.log(file.green);
  191 + });
  192 +}
  193 +
  194 +function md5(text){
  195 + return crypto.createHash("md5").update(text).digest("hex");
  196 +}
  197 +
  198 +
  199 +function walk(path ,handleFile, over) {
  200 + fs.readdir(path, function(err, files) {
  201 + if (err) {
  202 + console.log('read dir error'.red);
  203 + } else {
  204 + files.forEach(function(item) {
  205 + var tmpPath = path + '\\' + item;
  206 + fs.stat(tmpPath, function(err1, stats) {
  207 + if (err1) {
  208 + console.log('stat error');
  209 + } else {
  210 + if (stats.isDirectory()) {
  211 + walk(tmpPath, handleFile);
  212 + } else if(item.indexOf('.html') != -1){
  213 + handleFile(tmpPath);
  214 + }
  215 + }
  216 + })
  217 + });
  218 +
  219 + over && over();
  220 + }
  221 + });
  222 +}
  223 +
  224 +function logInfo(t){
  225 + console.log(t);
  226 +}
  227 +
  228 +function logSuccess(t){
  229 + console.log(t.green);
  230 +}
  231 +
  232 +function logError(e){
  233 + console.log(e.toString().red);
  234 + process.exit();
  235 +}
  236 +
  237 +function output(cProcess){
  238 + //标准输出
  239 + cProcess.stdout.on('data', function (s) {
  240 + console.log(s);
  241 + });
  242 +}
0 243 \ No newline at end of file
... ...