Commit f31b5bfa65de541a2332478dc5e6a85c1b99c256

Authored by 王通
1 parent 46ed921a

1.

Too many changes to show.

To preserve performance only 22 of 284 files are displayed.

README.md
1 -公交调度系统BS版 0.1  
2 -======  
3 -----------  
4 -## 目录  
5 ----------  
6 - * [字典表](#字典表)  
7 - * [动态jpa查询实现](#动态jpa查询实现)  
8 - * [车载 gps 相关数据](#gps)  
9 - * [实时gps数据接口 http](#实时gps接口)  
10 - * [进出站数据表结构](#进站数据)  
11 - * [异常警报表结构](#异常警报)  
12 - * [大间隔](#大间隔)  
13 - * [超速](#超速)  
14 - * [越界](#越界)  
15 - * [越站](#越站)  
16 - * [聚集](#聚集)  
17 - * [掉线](#掉线)  
18 - * [调度消息下发接口HTTP](#调度消息下发接口)  
19 - * [调度消息上传接口HTTP](#调度消息上传接口)  
20 - * [车辆历史GPS数据](#车辆历史GPS)  
21 -  
22 -----------  
23 -  
24 -## 字典表  
25 -----------  
26 -字典操作全部由前端负责,主要有2种。  
27 -  
28 -1、转换字典代码。  
29 - 当pjax的`pjax:success`事件被触发(片段加载完成)  
30 - 扫描容器内所有有 `$(".nt-dictionary")` 元素进行字典转换  
31 -``` html  
32 ---dom标签为span div p h1 h2 h3 h4 h5 h6 等等文本元素时,如下写法,text为要转换的代码  
33 -<span class="nt-dictionary" data-group="ScheduleType">out</span>  
34 ---to  
35 -<span>Out</span>  
36 -  
37 -<!- dom标签为input时,如下 data-code为要转换的代码 -->  
38 -<input class="nt-dictionary" data-group="ScheduleType" data-code="out">  
39 ---to  
40 -<input value="出场">  
41 -  
42 -<!- dom标签为select时 如下 data-code为要选中的项 -->  
43 -<select class="nt-dictionary" data-group="ScheduleType" data-code="out"></select>  
44 ---to  
45 -<select>  
46 - <option value="normal">正常班次</option>  
47 - <option value="out" selected>出场</option>  
48 - <option value="in">进场</option>  
49 - <option value="oil">加油</option>  
50 - <option value="temp">临加</option>  
51 - <option value="region">区间</option>  
52 - <option value="venting">放空</option>  
53 - <option value="major">放大站</option>  
54 -</select>  
55 -```  
56 -*原标签的class 除nt-dictionary 外,其余均会被保留*  
57 -  
58 -2、dictionary.js提供如下方法自行使用  
59 -| 方法名 | 参数|返回|  
60 -| ---- | ---- | ---- | ---- |  
61 -| groups (获取所有字典组) | 无| | {LineTrend: 线路走向, ScheduleType: 班次类型} |  
62 -| getByGroup (获取字典组下的字典)| (group) |{0: 上行, 1: 下行}|  
63 -| transformCode (转换字典代码)| (group, code) | Up |  
64 -  
65 -## 动态jpa查询实现  
66 -----------  
67 -*参考调度系统枚举com.bsth.entity.search.SearchOperator*  
68 -  
69 -  
70 -## gps  
71 -----------  
72 -### 实时gps接口  
73 -  
74 -所有在线GPS: [http://192.168.168.192:8080/transport_server/rtgps](http://192.168.168.192:8080/transport_server/rtgps/)  
75 -根据设备号查询:[http://192.168.168.192:8080/transport_server/rtgps/05B01901](http://192.168.168.192:8080/transport_server/rtgps/05B01901)  
76 -  
77 -<span style="color: red">Response</span>:  
78 -```json  
79 -{  
80 - "data":[  
81 - {  
82 - "companyCode":5,  
83 - "lineId":10329,  
84 - "deviceId":"05B01901",  
85 - "carparkNo":"00000000",  
86 - "stopNo":"7C890002",  
87 - "lon":121.549866,  
88 - "lat":31.238798,  
89 - "timestamp":1397104499000,  
90 - "speed":42.0,  
91 - "direction":245.9,  
92 - "state":0,  
93 - "upDown":0  
94 - }]  
95 -}  
96 -```  
97 -  
98 -| -- | --|--|  
99 -| ---- | ---- | ---- |  
100 -| companyCode | int | 公司代码 |  
101 -| lineId | int | 线路编码 |  
102 -| deviceId | String | 设备编号 |  
103 -| carparkNo | String | 停车场编码 |  
104 -| stopNo | String | 站点编码 |  
105 -| lon | float | 经度 |  
106 -| lat | float | 纬度 |  
107 -| timestamp | long | 时间戳 |  
108 -| speed | float | 速度|  
109 -| direction | float | 方向(角度) |  
110 -| state | int | 营运状态( 0 营运 ,1 非营运, -1 无效) |  
111 -| upDown | int | 上下行(0 Up , 1 Down , -1 无效)|  
112 -  
113 -  
114 -### 进站数据  
115 -----------  
116 -表名:  
117 -  
118 -| .. | .. | .. |  
119 -| ---- | ---- | ---- |  
120 -| id | int | 主键 |  
121 -| deviceId | String | 设备号 |  
122 -| lineId | int | 线路编码 |  
123 -| stopNo | long | 站点编码 |  
124 -| timestamp | long | 时间戳 |  
125 -| upDown | int | 上下行(0 Up , 1 Down , -1 无效) |  
126 -| createDate | Date | 创建时间 |  
127 -  
128 -  
129 -### 异常警报  
130 -----------  
131 -  
132 -### 大间隔  
133 -----------  
134 -表名:  
135 -  
136 -| .. | .. | .. |  
137 -| ---- | ---- | ---- |  
138 -| id | int | 主键 |  
139 -| line | int | 线路编码 |  
140 -| station | String | 站点编码 |  
141 -| cVehicle | String | 当前车辆编码 |  
142 -| lastVehicle | String | 上一个车辆编码 |  
143 -| interval | long | 间隔时间(秒) |  
144 -| timestamp | long | 时间戳 |  
145 -| createDate | Date | 创建时间 |  
146 -  
147 -### 超速  
148 -----------  
149 -表名:  
150 -  
151 -| .. | .. | .. |  
152 -| ---- | ---- | ---- |  
153 -| id | int | 主键 |  
154 -| vehicle | String | 车辆编码 |  
155 -| line | int | 线路编码 |  
156 -| upDown | int | 上下行(0 Up , 1 Down , -1 无效) |  
157 -| lon | float | 经度 |  
158 -| lat | float | 纬度|  
159 -| speed | float | 速度 |  
160 -| timestamp | long | 时间戳 |  
161 -| createDate | Date | 时间 |  
162 -  
163 -### 越界  
164 -----------  
165 -表名:  
166 -  
167 -| .. | .. | .. |  
168 -| ---- | ---- | ---- |  
169 -| id | int | 主键 |  
170 -| vehicle | String | 车辆编码 |  
171 -| line | int | 线路编码 |  
172 -| upDown | int | 上下行(0 Up , 1 Down , -1 无效) |  
173 -| lon | float | 经度 |  
174 -| lat | float | 纬度|  
175 -| location | String | 越界位置(由线调页面进行初始转换)意思是该字段默认为空,页面第一次查看时会写入值|  
176 -| timestamp | long | 时间戳 |  
177 -| createDate | Date | 时间 |  
178 -  
179 -  
180 -### 越站  
181 -----------  
182 -表名:  
183 -  
184 -| .. | .. | .. |  
185 -| ---- | ---- | ---- |  
186 -| id | int | 主键 |  
187 -| line | int | 线路编码 |  
188 -| upDown | int | 上下行(0 Up , 1 Down , -1 无效) |  
189 -| station | String | 站点编码 |  
190 -| vehicle | String | 车辆编码 |  
191 -| inData | Date | 进站时间 |  
192 -| outDate | Date | 出站时间 |  
193 -  
194 -  
195 -### 聚集  
196 -----------  
197 -表名:  
198 -  
199 -| .. | .. | .. |  
200 -| ---- | ---- | ---- |  
201 -| id | int | 主键 |  
202 -| line | int | 线路编码 |  
203 -| upDown | int | 上下行(0 Up , 1 Down , -1 无效) |  
204 -| stations | String | 站点(多个用 , 号分隔。应该是连续站点) |  
205 -| vehicles | String | 车辆编码(多个用 , 号分隔) |  
206 -| timestamp | long | 时间戳 |  
207 -| createDate | Date | 时间 |  
208 -  
209 -  
210 -### 掉线  
211 -----------  
212 -表名:  
213 -  
214 -| .. | .. | .. |  
215 -| ---- | ---- | ---- |  
216 -| id | int | 主键 |  
217 -| line | int | 线路编码 |  
218 -| upDown | int | 上下行(0 Up , 1 Down , -1 无效) |  
219 -| vehicle | String | 车辆编码 |  
220 -| lon | float | 经度 |  
221 -| lat | float | 纬度|  
222 -| timestamp | long | 时间戳 |  
223 -| createDate | Date | 时间 |  
224 -  
225 -  
226 -### 调度消息下发接口  
227 -----------  
228 -[http://192.168.168.192:8080/transport_server/message](http://192.168.168.192:8080/transport_server/message/)  
229 -  
230 -<span style="color: red">Request</span>:  
231 -```json  
232 -{  
233 - "deviceId":12345,  
234 - "timestamp":44324,  
235 - "operCode":0x60,  
236 - "data":{  
237 - "companyCode":22,  
238 - "deviceId":"029L2222",  
239 - "timestamp":134326,  
240 - "instructType":00,  
241 - "dispatchInstruct":0x00,  
242 - "msgId":12345,  
243 - "alarmTime":201606012000,  
244 - "serviceState":00000000,  
245 - "txtContent":"你好"  
246 - }  
247 -}  
248 -```  
249 -| .. | .. | .. |  
250 -| ---- | ---- | ---- |  
251 -| deviceId | string | 设备编号 |  
252 -| timestamp | long | 时间戳(ms) |  
253 -| operCode | short | 一级协议 |  
254 -| data.companyCode | short | 公司代码 |  
255 -| data.deviceId | string | 设备编号 |  
256 -| data.timestamp | long | 时间戳 |  
257 -| data.instructType | short | 保留 默认0 |  
258 -| data.dispatchInstruct | short | 调度指令 调度指令。0X00表示信息短语,0X01表示取消上次指令+调度指令(闹钟有效),0x02表示为调度指令(闹钟有效); 0x03表示运营状态指令(闹钟无效);0x04表示其他指令。|  
259 -| data.msgId | long | 同上 |  
260 -| data.alarmTime | long | 闹钟 MMddhhmm|  
261 -| data.serviceState | long | 多状态字节   先由车载发起车辆故障、事故报告、扣证、纠纷、加油等审请,经调度确认后,下发调度指令与运营状态。当调度指令为0X00终端需要提示信息。当调度指令为0x01和0x02,终端需要收到后提示信息。并且必须在闹钟结束后进行终端相关状态更新。在闹钟时间前120秒开始提示。当调度指令为0x03,收到后进行终端相关状态更新,终端不需要提示信息。当调度指令为0x04,暂不需要提示信息。|  
262 -| data.txtContent | string | 下发的消息文本 |  
263 -```json  
264 -{  
265 - "deviceId":12345,  
266 - "timestamp":44324,  
267 - "operCode":0x64,  
268 - "data":{  
269 - "cityCode":22,  
270 - "deviceId":"029L2222",  
271 - "lineId":"134326"  
272 - }  
273 -}  
274 -```  
275 -| .. | .. | .. |  
276 -| ---- | ---- | ---- |  
277 -| deviceId | string | 设备编号 |  
278 -| timestamp | long | 时间戳(ms) |  
279 -| operCode | short | 一级协议 |  
280 -| data.cityCode | short | 城市区号 |  
281 -| data.deviceId | string | 设备编号 |  
282 -| data.lineId | string | 线路编号 6位 不足6位前面补0 如编号890 用000890表示 |  
283 -  
284 -```json  
285 -{  
286 - "deviceId":12345,  
287 - "timestamp":44324,  
288 - "operCode":0xC0,  
289 - "data":{  
290 - "operCode":0x86,  
291 - "requestAck":0x06  
292 - }  
293 -}  
294 -```  
295 -| .. | .. | .. |  
296 -| ---- | ---- | ---- |  
297 -| deviceId | string | 设备编号 |  
298 -| timestamp | long | 时间戳(ms) |  
299 -| operCode | short | 一级协议 |  
300 -| data.operCode | short | 二级协议 |  
301 -| data.requestAck | short | 请求应答字 0x06同意 0x15不同意|  
302 -  
303 -```json  
304 -{  
305 - "deviceId":12345,  
306 - "timestamp":44324,  
307 - "operCode":0xC0,  
308 - "data":{  
309 - "operCode":0xa3,  
310 - "deviceId":12345,  
311 - "ipAddress":222.66.0.204,  
312 - "port":8899,  
313 - "reportMode":0,  
314 - "interval":0,  
315 - "distance":0,  
316 - "speedingThreshold":0,  
317 - "alarmThreshold":0,  
318 - "posIpAddress":0,  
319 - "posPort":0,  
320 - "delay":0,  
321 - "speedThreshold1":0,  
322 - "speedThreshold2":0,  
323 - "contrast":0,  
324 - "brightness":0,  
325 - "saturation":0  
326 - }  
327 -}  
328 -```  
329 -| .. | .. | .. |  
330 -| ---- | ---- | ---- |  
331 -| deviceId | string | 设备编号 |  
332 -| timestamp | long | 时间戳(ms) |  
333 -| operCode | short | 一级协议 |  
334 -| data.operCode | short | 二级协议 |  
335 -| data.deviceId | string | 设备编号|  
336 -| data.ipAddress | string | 网关IP地址|  
337 -| data.port | string | 网关端口|  
338 -| data.reportMode | short | 定时定距上报模式|  
339 -| data.interval | int | 定时上报时间间隔|  
340 -| data.distance | string | 定距上报距离间隔|  
341 -| data.speedingThreshold | short | 非线路状态超速阀门|  
342 -| data.alarmThreshold | short | 预警阀门|  
343 -| data.posIpAddress | string | pos机IP地址|  
344 -| data.posPort | string | pos机端口|  
345 -| data.delay | int | 延迟机关时间|  
346 -| data.deviceId | short | 中门视频切换到码表界面速度阀门 默认45|  
347 -| data.deviceId | short | 码表界面切换到中门视频速度阀门 默认35|  
348 -| data.deviceId | short | 对比度|  
349 -| data.deviceId | short | 亮度|  
350 -| data.deviceId | short | 饱和度|  
351 -  
352 -```json  
353 -{  
354 - "deviceId":12345,  
355 - "timestamp":44324,  
356 - "operCode":0xC0,  
357 - "data":{  
358 - "operCode":0xa4  
359 - }  
360 -}  
361 -```  
362 -| .. | .. | .. |  
363 -| ---- | ---- | ---- |  
364 -| deviceId | string | 设备编号 |  
365 -| timestamp | long | 时间戳(ms) |  
366 -| operCode | short | 一级协议 |  
367 -| data.operCode | short | 二级协议 |  
368 -  
369 -```json  
370 -{  
371 - "deviceId":12345,  
372 - "timestamp":44324,  
373 - "operCode":0xC0,  
374 - "data":{  
375 - "operCode":0xa5  
376 - "programVersion":2  
377 - }  
378 -}  
379 -```  
380 -| .. | .. | .. |  
381 -| ---- | ---- | ---- |  
382 -| deviceId | string | 设备编号 |  
383 -| timestamp | long | 时间戳(ms) |  
384 -| operCode | short | 一级协议 |  
385 -| data.operCode | short | 二级协议 |  
386 -| data.programVersion | short | 程序版本 |  
387 -  
388 -<span style="color: red">Response</span>:  
389 -```json  
390 -{  
391 - "errCode":0  
392 -}  
393 -```  
394 -  
395 -### 调度消息上传接口  
396 -----------  
397 -上行POST地址:[http://192.168.168.120:9088/control/upstream](http://192.168.168.120:9088/control/upstream)  
398 -<span style="color: red">Request</span>:  
399 -```json  
400 -{  
401 - "deviceId":12345,  
402 - "timestamp":44324,  
403 - "status":0,  
404 - "operCode":0x80,  
405 - "data":{  
406 - "operCode":0x26,  
407 - "requestCode":22  
408 - }  
409 -}  
410 -```  
411 -| .. | .. | .. |  
412 -| ---- | ---- | ---- |  
413 -| deviceId | string | 设备编号 |  
414 -| timestamp | long | 时间戳(ms) |  
415 -| status | int | 0x80时无数据 0表示失败 1表示成功或设备确认 2表示驾驶员阅读 |  
416 -| operCode | short | 一级协议 消息确认将无数据 |  
417 -| data.operCode | short | 二级协议 |  
418 -| data.requestCode | short | Request code0xa1 恢复运营 0xa2 申请调档 0xa3 出场请求 0xa5 进场请求 0xa7 加油请求 0x50 车辆故障 0x70 路阻报告 0x60 事故报告 0x11 扣证纠纷 0x12 报警 |  
419 -<span style="color: red">Response</span>:  
420 -```json  
421 -{  
422 - "errCode":0  
423 -}  
424 -```  
425 -  
426 -### 车辆历史GPS  
427 -----------  
428 -表名:BSTH_C_GPS_INFO  
429 -  
430 -| .. | .. | .. |  
431 -| ---- | ---- | ---- |  
432 -| cityCode | int | 城市代码 |  
433 -| industryCode | int | 行业代码 |  
434 -| companyCode | int | 企业代码 |  
435 -| lineId | int | 线路编号 |  
436 -| deviceId | string | 设备编号 |  
437 -| driverNo | int | 驾驶员工号 |  
438 -| carparkSerialNo | int | 停车场序列号 |  
439 -| carparkNo | string | 停车场编号 |  
440 -| stopSerialNo | int | 站点序列号 |  
441 -| stopNo | string | 停车场编号 |  
442 -| lon | float | 经度 |  
443 -| lat | float | 维度 |  
444 -| ts | long | 时间戳 |  
445 -| speedSensor | float | 发动机速度 |  
446 -| speedGps | float | gps速度 |  
447 -| direction | float | 角度0-359 |  
448 -| inTemp | int | 车内温度 |  
449 -| serviceState | long | 设备状态字 |  
450 -| daysYear | int | 对应年中的天数 为分区字段 查询一定要用此字段过滤 |  
451 - 1 +公交调度系统BS版 0.1
  2 +======
  3 +----------
  4 +## 目录
  5 +---------
  6 + * [字典表](#字典表)
  7 + * [动态jpa查询实现](#动态jpa查询实现)
  8 + * [车载 gps 相关数据](#gps)
  9 + * [实时gps数据接口 http](#实时gps接口)
  10 + * [进出站数据表结构](#进站数据)
  11 + * [异常警报表结构](#异常警报)
  12 + * [大间隔](#大间隔)
  13 + * [超速](#超速)
  14 + * [越界](#越界)
  15 + * [Overstepping station](#Overstepping station)
  16 + * [聚集](#聚集)
  17 + * [掉线](#掉线)
  18 + * [调度消息下发接口HTTP](#调度消息下发接口)
  19 + * [调度消息上传接口HTTP](#调度消息上传接口)
  20 + * [车辆历史GPS数据](#车辆历史GPS)
  21 +
  22 +----------
  23 +
  24 +## 字典表
  25 +----------
  26 +字典操作全部由前端负责,主要有2种。
  27 +
  28 +1、转换字典代码。
  29 + 当pjax的`pjax:success`事件被触发(片段加载完成)
  30 + 扫描容器内所有有 `$(".nt-dictionary")` 元素进行字典转换
  31 +``` html
  32 +--dom标签为span div p h1 h2 h3 h4 h5 h6 等等文本元素时,如下写法,text为要转换的代码
  33 +<span class="nt-dictionary" data-group="ScheduleType">out</span>
  34 +--to
  35 +<span>Out</span>
  36 +
  37 +<!- dom标签为input时,如下 data-code为要转换的代码 -->
  38 +<input class="nt-dictionary" data-group="ScheduleType" data-code="out">
  39 +--to
  40 +<input value="出场">
  41 +
  42 +<!- dom标签为select时 如下 data-code为要选中的项 -->
  43 +<select class="nt-dictionary" data-group="ScheduleType" data-code="out"></select>
  44 +--to
  45 +<select>
  46 + <option value="normal">正常班次</option>
  47 + <option value="out" selected>出场</option>
  48 + <option value="in">进场</option>
  49 + <option value="oil">加油</option>
  50 + <option value="temp">临加</option>
  51 + <option value="region">区间</option>
  52 + <option value="venting">放空</option>
  53 + <option value="major">放大站</option>
  54 +</select>
  55 +```
  56 +*原标签的class 除nt-dictionary 外,其余均会被保留*
  57 +
  58 +2、dictionary.js提供如下方法自行使用
  59 +| 方法名 | 参数|返回|
  60 +| ---- | ---- | ---- | ---- |
  61 +| groups (获取所有字典组) | 无| | {LineTrend: 线路走向, ScheduleType: 班次类型} |
  62 +| getByGroup (获取字典组下的字典)| (group) |{0: 上行, 1: 下行}|
  63 +| transformCode (转换字典代码)| (group, code) | Up |
  64 +
  65 +## 动态jpa查询实现
  66 +----------
  67 +*参考调度系统枚举com.bsth.entity.search.SearchOperator*
  68 +
  69 +
  70 +## gps
  71 +----------
  72 +### 实时gps接口
  73 +
  74 +所有在线GPS: [http://192.168.168.192:8080/transport_server/rtgps](http://192.168.168.192:8080/transport_server/rtgps/)
  75 +根据设备号查询:[http://192.168.168.192:8080/transport_server/rtgps/05B01901](http://192.168.168.192:8080/transport_server/rtgps/05B01901)
  76 +
  77 +<span style="color: red">Response</span>:
  78 +```json
  79 +{
  80 + "data":[
  81 + {
  82 + "companyCode":5,
  83 + "lineId":10329,
  84 + "deviceId":"05B01901",
  85 + "carparkNo":"00000000",
  86 + "stopNo":"7C890002",
  87 + "lon":121.549866,
  88 + "lat":31.238798,
  89 + "timestamp":1397104499000,
  90 + "speed":42.0,
  91 + "direction":245.9,
  92 + "state":0,
  93 + "upDown":0
  94 + }]
  95 +}
  96 +```
  97 +
  98 +| -- | --|--|
  99 +| ---- | ---- | ---- |
  100 +| companyCode | int | 公司代码 |
  101 +| lineId | int | 线路编码 |
  102 +| deviceId | String | 设备编号 |
  103 +| carparkNo | String | 停车场编码 |
  104 +| stopNo | String | 站点编码 |
  105 +| lon | float | 经度 |
  106 +| lat | float | 纬度 |
  107 +| timestamp | long | 时间戳 |
  108 +| speed | float | 速度|
  109 +| direction | float | 方向(角度) |
  110 +| state | int | 营运状态( 0 营运 ,1 非营运, -1 无效) |
  111 +| upDown | int | 上下行(0 Up , 1 Down , -1 无效)|
  112 +
  113 +
  114 +### 进站数据
  115 +----------
  116 +表名:
  117 +
  118 +| .. | .. | .. |
  119 +| ---- | ---- | ---- |
  120 +| id | int | 主键 |
  121 +| deviceId | String | 设备号 |
  122 +| lineId | int | 线路编码 |
  123 +| stopNo | long | 站点编码 |
  124 +| timestamp | long | 时间戳 |
  125 +| upDown | int | 上下行(0 Up , 1 Down , -1 无效) |
  126 +| createDate | Date | 创建时间 |
  127 +
  128 +
  129 +### 异常警报
  130 +----------
  131 +
  132 +### 大间隔
  133 +----------
  134 +表名:
  135 +
  136 +| .. | .. | .. |
  137 +| ---- | ---- | ---- |
  138 +| id | int | 主键 |
  139 +| line | int | 线路编码 |
  140 +| station | String | 站点编码 |
  141 +| cVehicle | String | 当前车辆编码 |
  142 +| lastVehicle | String | 上一个车辆编码 |
  143 +| interval | long | 间隔时间(秒) |
  144 +| timestamp | long | 时间戳 |
  145 +| createDate | Date | 创建时间 |
  146 +
  147 +### 超速
  148 +----------
  149 +表名:
  150 +
  151 +| .. | .. | .. |
  152 +| ---- | ---- | ---- |
  153 +| id | int | 主键 |
  154 +| vehicle | String | 车辆编码 |
  155 +| line | int | 线路编码 |
  156 +| upDown | int | 上下行(0 Up , 1 Down , -1 无效) |
  157 +| lon | float | 经度 |
  158 +| lat | float | 纬度|
  159 +| speed | float | 速度 |
  160 +| timestamp | long | 时间戳 |
  161 +| createDate | Date | 时间 |
  162 +
  163 +### 越界
  164 +----------
  165 +表名:
  166 +
  167 +| .. | .. | .. |
  168 +| ---- | ---- | ---- |
  169 +| id | int | 主键 |
  170 +| vehicle | String | 车辆编码 |
  171 +| line | int | 线路编码 |
  172 +| upDown | int | 上下行(0 Up , 1 Down , -1 无效) |
  173 +| lon | float | 经度 |
  174 +| lat | float | 纬度|
  175 +| location | String | 越界位置(由线调页面进行初始转换)意思是该字段默认为空,页面第一次查看时会写入值|
  176 +| timestamp | long | 时间戳 |
  177 +| createDate | Date | 时间 |
  178 +
  179 +
  180 +### Overstepping station
  181 +----------
  182 +表名:
  183 +
  184 +| .. | .. | .. |
  185 +| ---- | ---- | ---- |
  186 +| id | int | 主键 |
  187 +| line | int | 线路编码 |
  188 +| upDown | int | 上下行(0 Up , 1 Down , -1 无效) |
  189 +| station | String | 站点编码 |
  190 +| vehicle | String | 车辆编码 |
  191 +| inData | Date | 进站时间 |
  192 +| outDate | Date | 出站时间 |
  193 +
  194 +
  195 +### 聚集
  196 +----------
  197 +表名:
  198 +
  199 +| .. | .. | .. |
  200 +| ---- | ---- | ---- |
  201 +| id | int | 主键 |
  202 +| line | int | 线路编码 |
  203 +| upDown | int | 上下行(0 Up , 1 Down , -1 无效) |
  204 +| stations | String | 站点(多个用 , 号分隔。应该是连续站点) |
  205 +| vehicles | String | 车辆编码(多个用 , 号分隔) |
  206 +| timestamp | long | 时间戳 |
  207 +| createDate | Date | 时间 |
  208 +
  209 +
  210 +### 掉线
  211 +----------
  212 +表名:
  213 +
  214 +| .. | .. | .. |
  215 +| ---- | ---- | ---- |
  216 +| id | int | 主键 |
  217 +| line | int | 线路编码 |
  218 +| upDown | int | 上下行(0 Up , 1 Down , -1 无效) |
  219 +| vehicle | String | 车辆编码 |
  220 +| lon | float | 经度 |
  221 +| lat | float | 纬度|
  222 +| timestamp | long | 时间戳 |
  223 +| createDate | Date | 时间 |
  224 +
  225 +
  226 +### 调度消息下发接口
  227 +----------
  228 +[http://192.168.168.192:8080/transport_server/message](http://192.168.168.192:8080/transport_server/message/)
  229 +
  230 +<span style="color: red">Request</span>:
  231 +```json
  232 +{
  233 + "deviceId":12345,
  234 + "timestamp":44324,
  235 + "operCode":0x60,
  236 + "data":{
  237 + "companyCode":22,
  238 + "deviceId":"029L2222",
  239 + "timestamp":134326,
  240 + "instructType":00,
  241 + "dispatchInstruct":0x00,
  242 + "msgId":12345,
  243 + "alarmTime":201606012000,
  244 + "serviceState":00000000,
  245 + "txtContent":"你好"
  246 + }
  247 +}
  248 +```
  249 +| .. | .. | .. |
  250 +| ---- | ---- | ---- |
  251 +| deviceId | string | 设备编号 |
  252 +| timestamp | long | 时间戳(ms) |
  253 +| operCode | short | 一级协议 |
  254 +| data.companyCode | short | 公司代码 |
  255 +| data.deviceId | string | 设备编号 |
  256 +| data.timestamp | long | 时间戳 |
  257 +| data.instructType | short | 保留 默认0 |
  258 +| data.dispatchInstruct | short | 调度指令 调度指令。0X00表示信息短语,0X01表示取消上次指令+调度指令(闹钟有效),0x02表示为调度指令(闹钟有效); 0x03表示运营状态指令(闹钟无效);0x04表示其他指令。|
  259 +| data.msgId | long | 同上 |
  260 +| data.alarmTime | long | 闹钟 MMddhhmm|
  261 +| data.serviceState | long | 多状态字节   先由车载发起车辆故障、事故报告、扣证、纠纷、加油等审请,经调度确认后,下发调度指令与运营状态。当调度指令为0X00终端需要提示信息。当调度指令为0x01和0x02,终端需要收到后提示信息。并且必须在闹钟结束后进行终端相关状态更新。在闹钟时间前120秒开始提示。当调度指令为0x03,收到后进行终端相关状态更新,终端不需要提示信息。当调度指令为0x04,暂不需要提示信息。|
  262 +| data.txtContent | string | 下发的消息文本 |
  263 +```json
  264 +{
  265 + "deviceId":12345,
  266 + "timestamp":44324,
  267 + "operCode":0x64,
  268 + "data":{
  269 + "cityCode":22,
  270 + "deviceId":"029L2222",
  271 + "lineId":"134326"
  272 + }
  273 +}
  274 +```
  275 +| .. | .. | .. |
  276 +| ---- | ---- | ---- |
  277 +| deviceId | string | 设备编号 |
  278 +| timestamp | long | 时间戳(ms) |
  279 +| operCode | short | 一级协议 |
  280 +| data.cityCode | short | 城市区号 |
  281 +| data.deviceId | string | 设备编号 |
  282 +| data.lineId | string | 线路编号 6位 不足6位前面补0 如编号890 用000890表示 |
  283 +
  284 +```json
  285 +{
  286 + "deviceId":12345,
  287 + "timestamp":44324,
  288 + "operCode":0xC0,
  289 + "data":{
  290 + "operCode":0x86,
  291 + "requestAck":0x06
  292 + }
  293 +}
  294 +```
  295 +| .. | .. | .. |
  296 +| ---- | ---- | ---- |
  297 +| deviceId | string | 设备编号 |
  298 +| timestamp | long | 时间戳(ms) |
  299 +| operCode | short | 一级协议 |
  300 +| data.operCode | short | 二级协议 |
  301 +| data.requestAck | short | 请求应答字 0x06同意 0x15不同意|
  302 +
  303 +```json
  304 +{
  305 + "deviceId":12345,
  306 + "timestamp":44324,
  307 + "operCode":0xC0,
  308 + "data":{
  309 + "operCode":0xa3,
  310 + "deviceId":12345,
  311 + "ipAddress":222.66.0.204,
  312 + "port":8899,
  313 + "reportMode":0,
  314 + "interval":0,
  315 + "distance":0,
  316 + "speedingThreshold":0,
  317 + "alarmThreshold":0,
  318 + "posIpAddress":0,
  319 + "posPort":0,
  320 + "delay":0,
  321 + "speedThreshold1":0,
  322 + "speedThreshold2":0,
  323 + "contrast":0,
  324 + "brightness":0,
  325 + "saturation":0
  326 + }
  327 +}
  328 +```
  329 +| .. | .. | .. |
  330 +| ---- | ---- | ---- |
  331 +| deviceId | string | 设备编号 |
  332 +| timestamp | long | 时间戳(ms) |
  333 +| operCode | short | 一级协议 |
  334 +| data.operCode | short | 二级协议 |
  335 +| data.deviceId | string | 设备编号|
  336 +| data.ipAddress | string | 网关IP地址|
  337 +| data.port | string | 网关端口|
  338 +| data.reportMode | short | 定时定距上报模式|
  339 +| data.interval | int | 定时上报时间间隔|
  340 +| data.distance | string | 定距上报距离间隔|
  341 +| data.speedingThreshold | short | 非线路状态超速阀门|
  342 +| data.alarmThreshold | short | 预警阀门|
  343 +| data.posIpAddress | string | pos机IP地址|
  344 +| data.posPort | string | pos机端口|
  345 +| data.delay | int | 延迟机关时间|
  346 +| data.deviceId | short | 中门视频切换到码表界面速度阀门 默认45|
  347 +| data.deviceId | short | 码表界面切换到中门视频速度阀门 默认35|
  348 +| data.deviceId | short | 对比度|
  349 +| data.deviceId | short | 亮度|
  350 +| data.deviceId | short | 饱和度|
  351 +
  352 +```json
  353 +{
  354 + "deviceId":12345,
  355 + "timestamp":44324,
  356 + "operCode":0xC0,
  357 + "data":{
  358 + "operCode":0xa4
  359 + }
  360 +}
  361 +```
  362 +| .. | .. | .. |
  363 +| ---- | ---- | ---- |
  364 +| deviceId | string | 设备编号 |
  365 +| timestamp | long | 时间戳(ms) |
  366 +| operCode | short | 一级协议 |
  367 +| data.operCode | short | 二级协议 |
  368 +
  369 +```json
  370 +{
  371 + "deviceId":12345,
  372 + "timestamp":44324,
  373 + "operCode":0xC0,
  374 + "data":{
  375 + "operCode":0xa5
  376 + "programVersion":2
  377 + }
  378 +}
  379 +```
  380 +| .. | .. | .. |
  381 +| ---- | ---- | ---- |
  382 +| deviceId | string | 设备编号 |
  383 +| timestamp | long | 时间戳(ms) |
  384 +| operCode | short | 一级协议 |
  385 +| data.operCode | short | 二级协议 |
  386 +| data.programVersion | short | 程序版本 |
  387 +
  388 +<span style="color: red">Response</span>:
  389 +```json
  390 +{
  391 + "errCode":0
  392 +}
  393 +```
  394 +
  395 +### 调度消息上传接口
  396 +----------
  397 +上行POST地址:[http://192.168.168.120:9088/control/upstream](http://192.168.168.120:9088/control/upstream)
  398 +<span style="color: red">Request</span>:
  399 +```json
  400 +{
  401 + "deviceId":12345,
  402 + "timestamp":44324,
  403 + "status":0,
  404 + "operCode":0x80,
  405 + "data":{
  406 + "operCode":0x26,
  407 + "requestCode":22
  408 + }
  409 +}
  410 +```
  411 +| .. | .. | .. |
  412 +| ---- | ---- | ---- |
  413 +| deviceId | string | 设备编号 |
  414 +| timestamp | long | 时间戳(ms) |
  415 +| status | int | 0x80时无数据 0表示失败 1表示成功或设备确认 2表示驾驶员阅读 |
  416 +| operCode | short | 一级协议 消息确认将无数据 |
  417 +| data.operCode | short | 二级协议 |
  418 +| data.requestCode | short | Request code0xa1 恢复运营 0xa2 申请调档 0xa3 出场请求 0xa5 进场请求 0xa7 加油请求 0x50 车辆故障 0x70 路阻报告 0x60 事故报告 0x11 扣证纠纷 0x12 报警 |
  419 +<span style="color: red">Response</span>:
  420 +```json
  421 +{
  422 + "errCode":0
  423 +}
  424 +```
  425 +
  426 +### 车辆历史GPS
  427 +----------
  428 +表名:BSTH_C_GPS_INFO
  429 +
  430 +| .. | .. | .. |
  431 +| ---- | ---- | ---- |
  432 +| cityCode | int | 城市代码 |
  433 +| industryCode | int | 行业代码 |
  434 +| companyCode | int | 企业代码 |
  435 +| lineId | int | 线路编号 |
  436 +| deviceId | string | 设备编号 |
  437 +| driverNo | int | 驾驶员工号 |
  438 +| carparkSerialNo | int | 停车场序列号 |
  439 +| carparkNo | string | 停车场编号 |
  440 +| stopSerialNo | int | 站点序列号 |
  441 +| stopNo | string | 停车场编号 |
  442 +| lon | float | 经度 |
  443 +| lat | float | 维度 |
  444 +| ts | long | 时间戳 |
  445 +| speedSensor | float | 发动机速度 |
  446 +| speedGps | float | gps速度 |
  447 +| direction | float | 角度0-359 |
  448 +| inTemp | int | 车内温度 |
  449 +| serviceState | long | 设备状态字 |
  450 +| daysYear | int | 对应年中的天数 为分区字段 查询一定要用此字段过滤 |
  451 +
src/main/java/com/bsth/controller/realcontrol/dto/LpData.java
1 -package com.bsth.controller.realcontrol.dto;  
2 -  
3 -import com.bsth.entity.realcontrol.ScheduleRealInfo;  
4 -  
5 -/**  
6 - * 路牌相关的数据(换路牌时要换的字段)  
7 - * Created by panzhao on 2017/3/2.  
8 - */  
9 -public class LpData {  
10 -  
11 - public LpData(ScheduleRealInfo sch) {  
12 - this.jGh = sch.getjGh();  
13 - this.jName = sch.getjName();  
14 - this.sGh = sch.getsGh();  
15 - this.sName = sch.getsName();  
16 - this.nbbm = sch.getClZbh();  
17 -  
18 - this.fcsj = sch.getFcsjActualTime();  
19 - this.zdsj = sch.getZdsjActualTime();  
20 -  
21 - this.qdName = sch.getQdzName();  
22 - this.zdzName = sch.getZdzName();  
23 - }  
24 -  
25 - public void appendTo(ScheduleRealInfo sch, int type) {  
26 -  
27 - if (type == 0) {  
28 - //只换人  
29 - sch.setjGh(this.jGh);  
30 - sch.setjName(this.jName);  
31 - sch.setsGh(this.sGh);  
32 - sch.setsName(this.sName);  
33 - } else if (type == 1) {  
34 - //只换车  
35 - sch.setClZbh(this.nbbm);  
36 - changeRealTime(sch);  
37 - /*//换实际时间  
38 - if(changeRealTime){  
39 - changeRealTime(sch);  
40 - }*/  
41 -  
42 - } else if (type == 2) {  
43 - //换人并换车  
44 - sch.setjGh(this.jGh);  
45 - sch.setjName(this.jName);  
46 - sch.setsGh(this.sGh);  
47 - sch.setsName(this.sName);  
48 - sch.setClZbh(this.nbbm);  
49 -  
50 - //换实际时间  
51 - //if(changeRealTime){  
52 - changeRealTime(sch);  
53 - //}  
54 - }  
55 - }  
56 -  
57 - public void changeRealTime(ScheduleRealInfo sch){  
58 - if (this.fcsj != null && this.qdName.equals(sch.getQdzName()))  
59 - sch.setFcsjActualAll(this.fcsj);  
60 - if (this.zdsj != null && this.zdzName.equals(sch.getZdzName()))  
61 - sch.setZdsjActualAll(this.zdsj);  
62 - }  
63 -  
64 - /**  
65 - * 起点站名称  
66 - */  
67 - private String qdName;  
68 -  
69 - /**  
70 - * 终点站名称  
71 - */  
72 - private String zdzName;  
73 -  
74 - /**  
75 - * 驾驶员  
76 - */  
77 - private String jGh;  
78 - private String jName;  
79 -  
80 - /**  
81 - * 售票员  
82 - */  
83 - private String sGh;  
84 - private String sName;  
85 -  
86 - /**  
87 - * 车辆自编号  
88 - */  
89 - private String nbbm;  
90 -  
91 - /**  
92 - * 实际发车时间  
93 - */  
94 - private Long fcsj;  
95 -  
96 - /**  
97 - * 实际终点时间  
98 - */  
99 - private Long zdsj;  
100 -  
101 - public String getjGh() {  
102 - return jGh;  
103 - }  
104 -  
105 - public void setjGh(String jGh) {  
106 - this.jGh = jGh;  
107 - }  
108 -  
109 - public String getjName() {  
110 - return jName;  
111 - }  
112 -  
113 - public void setjName(String jName) {  
114 - this.jName = jName;  
115 - }  
116 -  
117 - public String getsGh() {  
118 - return sGh;  
119 - }  
120 -  
121 - public void setsGh(String sGh) {  
122 - this.sGh = sGh;  
123 - }  
124 -  
125 - public String getsName() {  
126 - return sName;  
127 - }  
128 -  
129 - public void setsName(String sName) {  
130 - this.sName = sName;  
131 - }  
132 -  
133 - public String getNbbm() {  
134 - return nbbm;  
135 - }  
136 -  
137 - public void setNbbm(String nbbm) {  
138 - this.nbbm = nbbm;  
139 - }  
140 -  
141 - public Long getFcsj() {  
142 - return fcsj;  
143 - }  
144 -  
145 - public void setFcsj(Long fcsj) {  
146 - this.fcsj = fcsj;  
147 - }  
148 -  
149 - public Long getZdsj() {  
150 - return zdsj;  
151 - }  
152 -  
153 - public void setZdsj(Long zdsj) {  
154 - this.zdsj = zdsj;  
155 - }  
156 -} 1 +package com.bsth.controller.realcontrol.dto;
  2 +
  3 +import com.bsth.entity.realcontrol.ScheduleRealInfo;
  4 +
  5 +/**
  6 + * 路牌相关的数据(换路牌时要换的字段)
  7 + * Created by panzhao on 2017/3/2.
  8 + */
  9 +public class LpData {
  10 +
  11 + public LpData(ScheduleRealInfo sch) {
  12 + this.jGh = sch.getjGh();
  13 + this.jName = sch.getjName();
  14 + this.sGh = sch.getsGh();
  15 + this.sName = sch.getsName();
  16 + this.nbbm = sch.getClZbh();
  17 +
  18 + this.fcsj = sch.getFcsjActualTime();
  19 + this.zdsj = sch.getZdsjActualTime();
  20 +
  21 + this.qdName = sch.getQdzName();
  22 + this.zdzName = sch.getZdzName();
  23 + }
  24 +
  25 + public void appendTo(ScheduleRealInfo sch, int type) {
  26 +
  27 + if (type == 0) {
  28 + //只换人
  29 + sch.setjGh(this.jGh);
  30 + sch.setjName(this.jName);
  31 + sch.setsGh(this.sGh);
  32 + sch.setsName(this.sName);
  33 + } else if (type == 1) {
  34 + //只换车
  35 + sch.setClZbh(this.nbbm);
  36 + changeRealTime(sch);
  37 + /*//换实际时间
  38 + if(changeRealTime){
  39 + changeRealTime(sch);
  40 + }*/
  41 +
  42 + } else if (type == 2) {
  43 + //换人并换车
  44 + sch.setjGh(this.jGh);
  45 + sch.setjName(this.jName);
  46 + sch.setsGh(this.sGh);
  47 + sch.setsName(this.sName);
  48 + sch.setClZbh(this.nbbm);
  49 +
  50 + //换实际时间
  51 + //if(changeRealTime){
  52 + changeRealTime(sch);
  53 + //}
  54 + }
  55 + }
  56 +
  57 + public void changeRealTime(ScheduleRealInfo sch){
  58 + if (this.fcsj != null && this.qdName.equals(sch.getQdzName()))
  59 + sch.setFcsjActualAll(this.fcsj);
  60 + if (this.zdsj != null && this.zdzName.equals(sch.getZdzName()))
  61 + sch.setZdsjActualAll(this.zdsj);
  62 + }
  63 +
  64 + /**
  65 + * 起点站名称
  66 + */
  67 + private String qdName;
  68 +
  69 + /**
  70 + * Terminal station name
  71 + */
  72 + private String zdzName;
  73 +
  74 + /**
  75 + * 驾驶员
  76 + */
  77 + private String jGh;
  78 + private String jName;
  79 +
  80 + /**
  81 + * 售票员
  82 + */
  83 + private String sGh;
  84 + private String sName;
  85 +
  86 + /**
  87 + * 车辆自编号
  88 + */
  89 + private String nbbm;
  90 +
  91 + /**
  92 + * 实际发车时间
  93 + */
  94 + private Long fcsj;
  95 +
  96 + /**
  97 + * 实际终点时间
  98 + */
  99 + private Long zdsj;
  100 +
  101 + public String getjGh() {
  102 + return jGh;
  103 + }
  104 +
  105 + public void setjGh(String jGh) {
  106 + this.jGh = jGh;
  107 + }
  108 +
  109 + public String getjName() {
  110 + return jName;
  111 + }
  112 +
  113 + public void setjName(String jName) {
  114 + this.jName = jName;
  115 + }
  116 +
  117 + public String getsGh() {
  118 + return sGh;
  119 + }
  120 +
  121 + public void setsGh(String sGh) {
  122 + this.sGh = sGh;
  123 + }
  124 +
  125 + public String getsName() {
  126 + return sName;
  127 + }
  128 +
  129 + public void setsName(String sName) {
  130 + this.sName = sName;
  131 + }
  132 +
  133 + public String getNbbm() {
  134 + return nbbm;
  135 + }
  136 +
  137 + public void setNbbm(String nbbm) {
  138 + this.nbbm = nbbm;
  139 + }
  140 +
  141 + public Long getFcsj() {
  142 + return fcsj;
  143 + }
  144 +
  145 + public void setFcsj(Long fcsj) {
  146 + this.fcsj = fcsj;
  147 + }
  148 +
  149 + public Long getZdsj() {
  150 + return zdsj;
  151 + }
  152 +
  153 + public void setZdsj(Long zdsj) {
  154 + this.zdsj = zdsj;
  155 + }
  156 +}
src/main/java/com/bsth/controller/schedule/core/legacy/GuideboardInfoController.java
1 -package com.bsth.controller.schedule.core.legacy;  
2 -  
3 -import com.bsth.common.ResponseCode;  
4 -import com.bsth.controller.schedule.BController;  
5 -import com.bsth.controller.schedule.core.GuideboardInfoController_facade;  
6 -import com.bsth.entity.schedule.GuideboardInfo;  
7 -import com.bsth.repository.schedule.GuideboardInfoRepository;  
8 -import com.bsth.service.schedule.GuideboardInfoService;  
9 -import com.bsth.service.schedule.exception.ScheduleException;  
10 -import org.springframework.beans.factory.annotation.Autowired;  
11 -import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;  
12 -import org.springframework.web.bind.annotation.*;  
13 -  
14 -import java.util.HashMap;  
15 -import java.util.List;  
16 -import java.util.Map;  
17 -  
18 -/**  
19 - * 路牌管理控制器。  
20 - */  
21 -@RestController  
22 -@ConditionalOnMissingBean(GuideboardInfoController_facade.class)  
23 -@RequestMapping("gic")  
24 -public class GuideboardInfoController extends BController<GuideboardInfo, Long> {  
25 - @Autowired  
26 - private GuideboardInfoService guideboardInfoService;  
27 -  
28 - @Autowired  
29 - private GuideboardInfoRepository guideboardInfoRepository;  
30 -  
31 - @RequestMapping(value = "/ttlpnames", method = RequestMethod.GET)  
32 - public List<Map<String, Object>> findLpName(Long ttid) {  
33 - return guideboardInfoRepository.findLpName(ttid);  
34 - }  
35 -  
36 - @RequestMapping(value = "lpno/{xlid}", method = RequestMethod.GET)  
37 - public Map<String, Object> getLpNo(@PathVariable("xlid") Integer xl) {  
38 - Map<String, Object> rtn = new HashMap<>();  
39 - try {  
40 - rtn.put("data", guideboardInfoService.getMaxLpno(xl));  
41 - rtn.put("status", ResponseCode.SUCCESS);  
42 - } catch (Exception exp) {  
43 - exp.printStackTrace();  
44 - rtn.put("status", ResponseCode.ERROR);  
45 - rtn.put("msg", exp.getMessage());  
46 - }  
47 -  
48 - return rtn;  
49 - }  
50 -  
51 - @RequestMapping(value = "/validate_lpno", method = RequestMethod.GET)  
52 - public Map<String, Object> validate_lpno(@RequestParam Map<String, Object> param) {  
53 - Map<String, Object> rtn = new HashMap<>();  
54 - try {  
55 - // 路牌编号验证  
56 - GuideboardInfo guideboardInfo = new GuideboardInfo(  
57 - param.get("id_eq"),  
58 - param.get("xl.id_eq"),  
59 - param.get("lpNo_eq"),  
60 - null  
61 - );  
62 - guideboardInfoService.validate_lpno(guideboardInfo);  
63 - rtn.put("status", ResponseCode.SUCCESS);  
64 - } catch (ScheduleException exp) {  
65 - rtn.put("status", ResponseCode.ERROR);  
66 - rtn.put("msg", exp.getMessage());  
67 - }  
68 - return rtn;  
69 - }  
70 -  
71 - @RequestMapping(value = "/validate_lpname", method = RequestMethod.GET)  
72 - public Map<String, Object> validate_lpname(@RequestParam Map<String, Object> param) {  
73 - Map<String, Object> rtn = new HashMap<>();  
74 - try {  
75 - // 路牌名称验证  
76 - GuideboardInfo guideboardInfo = new GuideboardInfo(  
77 - param.get("id_eq"),  
78 - param.get("xl.id_eq"),  
79 - null,  
80 - param.get("lpName_eq")  
81 - );  
82 - guideboardInfoService.validate_lpname(guideboardInfo);  
83 - rtn.put("status", ResponseCode.SUCCESS);  
84 - } catch (ScheduleException exp) {  
85 - rtn.put("status", ResponseCode.ERROR);  
86 - rtn.put("msg", exp.getMessage());  
87 - }  
88 - return rtn;  
89 - }  
90 -} 1 +package com.bsth.controller.schedule.core.legacy;
  2 +
  3 +import com.bsth.common.ResponseCode;
  4 +import com.bsth.controller.schedule.BController;
  5 +import com.bsth.controller.schedule.core.GuideboardInfoController_facade;
  6 +import com.bsth.entity.schedule.GuideboardInfo;
  7 +import com.bsth.repository.schedule.GuideboardInfoRepository;
  8 +import com.bsth.service.schedule.GuideboardInfoService;
  9 +import com.bsth.service.schedule.exception.ScheduleException;
  10 +import org.springframework.beans.factory.annotation.Autowired;
  11 +import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
  12 +import org.springframework.web.bind.annotation.*;
  13 +
  14 +import java.util.HashMap;
  15 +import java.util.List;
  16 +import java.util.Map;
  17 +
  18 +/**
  19 + * 路牌管理控制器。
  20 + */
  21 +@RestController
  22 +@ConditionalOnMissingBean(GuideboardInfoController_facade.class)
  23 +@RequestMapping("gic")
  24 +public class GuideboardInfoController extends BController<GuideboardInfo, Long> {
  25 + @Autowired
  26 + private GuideboardInfoService guideboardInfoService;
  27 +
  28 + @Autowired
  29 + private GuideboardInfoRepository guideboardInfoRepository;
  30 +
  31 + @RequestMapping(value = "/ttlpnames", method = RequestMethod.GET)
  32 + public List<Map<String, Object>> findLpName(Long ttid) {
  33 + return guideboardInfoRepository.findLpName(ttid);
  34 + }
  35 +
  36 + @RequestMapping(value = "lpno/{xlid}", method = RequestMethod.GET)
  37 + public Map<String, Object> getLpNo(@PathVariable("xlid") Integer xl) {
  38 + Map<String, Object> rtn = new HashMap<>();
  39 + try {
  40 + rtn.put("data", guideboardInfoService.getMaxLpno(xl));
  41 + rtn.put("status", ResponseCode.SUCCESS);
  42 + } catch (Exception exp) {
  43 + exp.printStackTrace();
  44 + rtn.put("status", ResponseCode.ERROR);
  45 + rtn.put("msg", exp.getMessage());
  46 + }
  47 +
  48 + return rtn;
  49 + }
  50 +
  51 + @RequestMapping(value = "/validate_lpno", method = RequestMethod.GET)
  52 + public Map<String, Object> validate_lpno(@RequestParam Map<String, Object> param) {
  53 + Map<String, Object> rtn = new HashMap<>();
  54 + try {
  55 + // Guide board code验证
  56 + GuideboardInfo guideboardInfo = new GuideboardInfo(
  57 + param.get("id_eq"),
  58 + param.get("xl.id_eq"),
  59 + param.get("lpNo_eq"),
  60 + null
  61 + );
  62 + guideboardInfoService.validate_lpno(guideboardInfo);
  63 + rtn.put("status", ResponseCode.SUCCESS);
  64 + } catch (ScheduleException exp) {
  65 + rtn.put("status", ResponseCode.ERROR);
  66 + rtn.put("msg", exp.getMessage());
  67 + }
  68 + return rtn;
  69 + }
  70 +
  71 + @RequestMapping(value = "/validate_lpname", method = RequestMethod.GET)
  72 + public Map<String, Object> validate_lpname(@RequestParam Map<String, Object> param) {
  73 + Map<String, Object> rtn = new HashMap<>();
  74 + try {
  75 + // 路牌名称验证
  76 + GuideboardInfo guideboardInfo = new GuideboardInfo(
  77 + param.get("id_eq"),
  78 + param.get("xl.id_eq"),
  79 + null,
  80 + param.get("lpName_eq")
  81 + );
  82 + guideboardInfoService.validate_lpname(guideboardInfo);
  83 + rtn.put("status", ResponseCode.SUCCESS);
  84 + } catch (ScheduleException exp) {
  85 + rtn.put("status", ResponseCode.ERROR);
  86 + rtn.put("msg", exp.getMessage());
  87 + }
  88 + return rtn;
  89 + }
  90 +}
src/main/java/com/bsth/data/gpsdata_v2/load/GatewayHttpLoader.java
@@ -45,7 +45,7 @@ public class GatewayHttpLoader implements ApplicationContextAware{ @@ -45,7 +45,7 @@ public class GatewayHttpLoader implements ApplicationContextAware{
45 static GpsRealData gpsRealData; 45 static GpsRealData gpsRealData;
46 46
47 static{ 47 static{
48 - url = "http://47.76.243.65:18080/transport_server/rtgps/"; 48 + url = "http://172.30.191.117:18080/transport_server/rtgps/";
49 list = new ArrayList<>(); 49 list = new ArrayList<>();
50 httpClient = HttpClients.createDefault(); 50 httpClient = HttpClients.createDefault();
51 get = new HttpGet(url); 51 get = new HttpGet(url);
src/main/java/com/bsth/entity/Cars.java
1 -package com.bsth.entity;  
2 -  
3 -import com.bsth.entity.schedule.BEntity;  
4 -import com.fasterxml.jackson.annotation.JsonIgnoreProperties;  
5 -import org.hibernate.annotations.Formula;  
6 -  
7 -import javax.persistence.*;  
8 -import java.io.Serializable;  
9 -import java.util.Date;  
10 -  
11 -/**  
12 - *  
13 - * @ClassName : Cars(车实体类)  
14 - *  
15 - * @Author : bsth@lq  
16 - *  
17 - * @Description : TODO(车辆基本信息)  
18 - *  
19 - * @Data : 2016-04-27  
20 - *  
21 - * @Version 公交调度系统BS版 0.1  
22 - *  
23 - */  
24 -  
25 -@Entity  
26 -@Table(name = "bsth_c_cars")  
27 -@JsonIgnoreProperties(value={"hibernateLazyInitializer","handler","fieldHandler"})  
28 -public class Cars extends BEntity implements Serializable {  
29 -  
30 - /** 主键Id */  
31 - @Id  
32 - @GeneratedValue(strategy = GenerationType.IDENTITY)  
33 - private Integer id;  
34 -  
35 - /** 自编号/内部编号 */  
36 - @Column(nullable = false, length = 20, unique = true)  
37 - private String insideCode;  
38 -  
39 - // 公司、分公司暂时不用关联实体  
40 - /** 公司代码 */  
41 - @Column(nullable = false)  
42 - private String businessCode;  
43 - /** 公司名称 */  
44 - @Column(nullable = false)  
45 - private String company;  
46 - /** 分公司编码 */  
47 - private String brancheCompanyCode;  
48 - /** 分公司 */  
49 - private String brancheCompany;  
50 -  
51 - /** 组合公司分公司编码 */  
52 - @Formula(" concat(business_code, '_', branche_company_code) ")  
53 - private String cgsbm;  
54 -  
55 - /** 车辆编码(TODO:在原系统里没有,这里暂时留着) */  
56 - @Column(nullable = false)  
57 - private String carCode;  
58 - /** 车牌号 */  
59 - @Column(nullable = false)  
60 - private String carPlate;  
61 - /** 供应商名称 */  
62 - @Column(nullable = false)  
63 - private String supplierName;  
64 - /** 设备终端号 */  
65 - @Column(nullable = false)  
66 - private String equipmentCode;  
67 -  
68 - // 以下信息来自总公司的业务系统,可能需要调用相关接口  
69 - /** 车型类别 */  
70 - private String carClass ;  
71 - /** 技术速度 */  
72 - private Double speed;  
73 - /** 座位数 */  
74 - private Integer carSeatnNumber;  
75 - /** 载客标准 */  
76 - private String carStandard;  
77 - /** 标准油耗(开空调) */  
78 - private Double kburnStandard;  
79 - /** 标准油耗(关空调) */  
80 - private Double gburnStandard;  
81 - /** 报废号 */  
82 - private String scrapCode;  
83 - /** 报废日期 */  
84 - private Date scrapDate;  
85 - /** 厂牌型号1 */  
86 - private String makeCodeOne;  
87 - /** 厂牌型号2 */  
88 - private String makeCodeTwo;  
89 - /** 车辆等级标准 */  
90 - private String carGride;  
91 - /** 出厂排放标准 */  
92 - private String emissionsStandard;  
93 - /** 发动机号码1 */  
94 - private String engineCodeOne;  
95 - /** 发动机号码2 */  
96 - private String engineCodeTwo;  
97 - /** 车架号码1 */  
98 - private String carNumberOne;  
99 - /** 车架号码2 */  
100 - private String carNumberTwo;  
101 - /** 启用日期(2008-10-10)*/  
102 - private Date openDate;  
103 - /** 取消日期 */  
104 - private Date closeDate;  
105 -  
106 - /** 是否空调车 */  
107 - @Column(nullable = true)  
108 - private Boolean hvacCar;  
109 - /** 有无人售票 */  
110 - @Column(nullable = true)  
111 - private Boolean ticketType;  
112 - /** 是否有LED服务屏 */  
113 - @Column(nullable = true)  
114 - private Boolean ledScreen;  
115 - /** 是否有TV视频 */  
116 - @Column(nullable = true)  
117 - private Boolean tvVideoType;  
118 -  
119 - /** 车辆类型 */  
120 - private String carType;  
121 - /** 是否机动车(机动车类型选择)*/  
122 - private String vehicleStats;  
123 - /** 营运状态 */  
124 - private String operatorsState;  
125 - /** 营运证编码 */  
126 - private String serviceNo;  
127 - /** 是否电车(TODO:在原系统里没有,这里暂时留着) */  
128 - private Boolean sfdc;  
129 - /** 是否混合动力(TODO:在原系统里没有,这里暂时留着) */  
130 - private Boolean sfmix;  
131 - /** 是否氢能源车 */  
132 - private Boolean hydrogen;  
133 - /** 备注/描述 */  
134 - private String descriptions;  
135 -  
136 - /** 车辆序号(TODO:在原系统里没有,这里暂时留着) */  
137 - private String carOrdinal;  
138 - /** 视频编号 */  
139 - private String videoCode;  
140 - /** 是否报废 */  
141 - @Column(nullable = true)  
142 - private Boolean scrapState;  
143 - /** 是否切换(TODO:在原系统里没有,这里暂时留着)*/  
144 - private Integer isSwitch;  
145 - /** 线路名称(TODO:在原系统里没有,这里暂时留着,并且不做线路关联,只保留个名字) */  
146 - private String xlmc;  
147 -  
148 - public Cars() {}  
149 -  
150 - public Cars(Object id, Object nbbh, Object clbh, Object cph, Object sbbh) {  
151 - if (id != null) {  
152 - this.id = Integer.valueOf(id.toString());  
153 - }  
154 - if (nbbh != null) {  
155 - this.insideCode = nbbh.toString();  
156 - }  
157 - if (clbh != null) {  
158 - this.carCode = clbh.toString();  
159 - }  
160 - if (cph != null) {  
161 - this.carPlate = cph.toString();  
162 - }  
163 - if (sbbh != null) {  
164 - this.equipmentCode = sbbh.toString();  
165 - }  
166 - }  
167 -  
168 - public String getServiceNo() {  
169 - return serviceNo;  
170 - }  
171 -  
172 - public void setServiceNo(String serviceNo) {  
173 - this.serviceNo = serviceNo;  
174 - }  
175 -  
176 - public Integer getId() {  
177 - return id;  
178 - }  
179 -  
180 - public void setId(Integer id) {  
181 - this.id = id;  
182 - }  
183 -  
184 - public String getInsideCode() {  
185 - return insideCode;  
186 - }  
187 -  
188 - public void setInsideCode(String insideCode) {  
189 - this.insideCode = insideCode;  
190 - }  
191 -  
192 - public String getBusinessCode() {  
193 - return businessCode;  
194 - }  
195 -  
196 - public void setBusinessCode(String businessCode) {  
197 - this.businessCode = businessCode;  
198 - }  
199 -  
200 - public String getCompany() {  
201 - return company;  
202 - }  
203 -  
204 - public void setCompany(String company) {  
205 - this.company = company;  
206 - }  
207 -  
208 - public String getBrancheCompanyCode() {  
209 - return brancheCompanyCode;  
210 - }  
211 -  
212 - public void setBrancheCompanyCode(String brancheCompanyCode) {  
213 - this.brancheCompanyCode = brancheCompanyCode;  
214 - }  
215 -  
216 - public String getBrancheCompany() {  
217 - return brancheCompany;  
218 - }  
219 -  
220 - public void setBrancheCompany(String brancheCompany) {  
221 - this.brancheCompany = brancheCompany;  
222 - }  
223 -  
224 - public String getCarCode() {  
225 - return carCode;  
226 - }  
227 -  
228 - public void setCarCode(String carCode) {  
229 - this.carCode = carCode;  
230 - }  
231 -  
232 - public String getCarPlate() {  
233 - return carPlate;  
234 - }  
235 -  
236 - public void setCarPlate(String carPlate) {  
237 - this.carPlate = carPlate;  
238 - }  
239 -  
240 - public String getSupplierName() {  
241 - return supplierName;  
242 - }  
243 -  
244 - public void setSupplierName(String supplierName) {  
245 - this.supplierName = supplierName;  
246 - }  
247 -  
248 - public String getEquipmentCode() {  
249 - return equipmentCode;  
250 - }  
251 -  
252 - public void setEquipmentCode(String equipmentCode) {  
253 - this.equipmentCode = equipmentCode;  
254 - }  
255 -  
256 - public String getCarClass() {  
257 - return carClass;  
258 - }  
259 -  
260 - public void setCarClass(String carClass) {  
261 - this.carClass = carClass;  
262 - }  
263 -  
264 - public Double getSpeed() {  
265 - return speed;  
266 - }  
267 -  
268 - public void setSpeed(Double speed) {  
269 - this.speed = speed;  
270 - }  
271 -  
272 - public Integer getCarSeatnNumber() {  
273 - return carSeatnNumber;  
274 - }  
275 -  
276 - public void setCarSeatnNumber(Integer carSeatnNumber) {  
277 - this.carSeatnNumber = carSeatnNumber;  
278 - }  
279 -  
280 - public String getCarStandard() {  
281 - return carStandard;  
282 - }  
283 -  
284 - public void setCarStandard(String carStandard) {  
285 - this.carStandard = carStandard;  
286 - }  
287 -  
288 - public Double getKburnStandard() {  
289 - return kburnStandard;  
290 - }  
291 -  
292 - public void setKburnStandard(Double kburnStandard) {  
293 - this.kburnStandard = kburnStandard;  
294 - }  
295 -  
296 - public Double getGburnStandard() {  
297 - return gburnStandard;  
298 - }  
299 -  
300 - public void setGburnStandard(Double gburnStandard) {  
301 - this.gburnStandard = gburnStandard;  
302 - }  
303 -  
304 - public String getScrapCode() {  
305 - return scrapCode;  
306 - }  
307 -  
308 - public void setScrapCode(String scrapCode) {  
309 - this.scrapCode = scrapCode;  
310 - }  
311 -  
312 - public Date getScrapDate() {  
313 - return scrapDate;  
314 - }  
315 -  
316 - public void setScrapDate(Date scrapDate) {  
317 - this.scrapDate = scrapDate;  
318 - }  
319 -  
320 - public String getMakeCodeOne() {  
321 - return makeCodeOne;  
322 - }  
323 -  
324 - public void setMakeCodeOne(String makeCodeOne) {  
325 - this.makeCodeOne = makeCodeOne;  
326 - }  
327 -  
328 - public String getMakeCodeTwo() {  
329 - return makeCodeTwo;  
330 - }  
331 -  
332 - public void setMakeCodeTwo(String makeCodeTwo) {  
333 - this.makeCodeTwo = makeCodeTwo;  
334 - }  
335 -  
336 - public String getCarGride() {  
337 - return carGride;  
338 - }  
339 -  
340 - public void setCarGride(String carGride) {  
341 - this.carGride = carGride;  
342 - }  
343 -  
344 - public String getEmissionsStandard() {  
345 - return emissionsStandard;  
346 - }  
347 -  
348 - public void setEmissionsStandard(String emissionsStandard) {  
349 - this.emissionsStandard = emissionsStandard;  
350 - }  
351 -  
352 - public String getEngineCodeOne() {  
353 - return engineCodeOne;  
354 - }  
355 -  
356 - public void setEngineCodeOne(String engineCodeOne) {  
357 - this.engineCodeOne = engineCodeOne;  
358 - }  
359 -  
360 - public String getEngineCodeTwo() {  
361 - return engineCodeTwo;  
362 - }  
363 -  
364 - public void setEngineCodeTwo(String engineCodeTwo) {  
365 - this.engineCodeTwo = engineCodeTwo;  
366 - }  
367 -  
368 - public String getCarNumberOne() {  
369 - return carNumberOne;  
370 - }  
371 -  
372 - public void setCarNumberOne(String carNumberOne) {  
373 - this.carNumberOne = carNumberOne;  
374 - }  
375 -  
376 - public String getCarNumberTwo() {  
377 - return carNumberTwo;  
378 - }  
379 -  
380 - public void setCarNumberTwo(String carNumberTwo) {  
381 - this.carNumberTwo = carNumberTwo;  
382 - }  
383 -  
384 - public Date getOpenDate() {  
385 - return openDate;  
386 - }  
387 -  
388 - public void setOpenDate(Date openDate) {  
389 - this.openDate = openDate;  
390 - }  
391 -  
392 - public Date getCloseDate() {  
393 - return closeDate;  
394 - }  
395 -  
396 - public void setCloseDate(Date closeDate) {  
397 - this.closeDate = closeDate;  
398 - }  
399 -  
400 - public Boolean getHvacCar() {  
401 - return hvacCar;  
402 - }  
403 -  
404 - public void setHvacCar(Boolean hvacCar) {  
405 - this.hvacCar = hvacCar;  
406 - }  
407 -  
408 - public Boolean getTicketType() {  
409 - return ticketType;  
410 - }  
411 -  
412 - public void setTicketType(Boolean ticketType) {  
413 - this.ticketType = ticketType;  
414 - }  
415 -  
416 - public Boolean getLedScreen() {  
417 - return ledScreen;  
418 - }  
419 -  
420 - public void setLedScreen(Boolean ledScreen) {  
421 - this.ledScreen = ledScreen;  
422 - }  
423 -  
424 - public Boolean getTvVideoType() {  
425 - return tvVideoType;  
426 - }  
427 -  
428 - public void setTvVideoType(Boolean tvVideoType) {  
429 - this.tvVideoType = tvVideoType;  
430 - }  
431 -  
432 - public String getCarType() {  
433 - return carType;  
434 - }  
435 -  
436 - public void setCarType(String carType) {  
437 - this.carType = carType;  
438 - }  
439 -  
440 - public String getVehicleStats() {  
441 - return vehicleStats;  
442 - }  
443 -  
444 - public void setVehicleStats(String vehicleStats) {  
445 - this.vehicleStats = vehicleStats;  
446 - }  
447 -  
448 - public String getOperatorsState() {  
449 - return operatorsState;  
450 - }  
451 -  
452 - public void setOperatorsState(String operatorsState) {  
453 - this.operatorsState = operatorsState;  
454 - }  
455 -  
456 - public Boolean getSfdc() {  
457 - return sfdc;  
458 - }  
459 -  
460 - public void setSfdc(Boolean sfdc) {  
461 - this.sfdc = sfdc;  
462 - }  
463 -  
464 - public String getDescriptions() {  
465 - return descriptions;  
466 - }  
467 -  
468 - public void setDescriptions(String descriptions) {  
469 - this.descriptions = descriptions;  
470 - }  
471 -  
472 - public String getCarOrdinal() {  
473 - return carOrdinal;  
474 - }  
475 -  
476 - public void setCarOrdinal(String carOrdinal) {  
477 - this.carOrdinal = carOrdinal;  
478 - }  
479 -  
480 - public String getVideoCode() {  
481 - return videoCode;  
482 - }  
483 -  
484 - public void setVideoCode(String videoCode) {  
485 - this.videoCode = videoCode;  
486 - }  
487 -  
488 - public Boolean getScrapState() {  
489 - return scrapState;  
490 - }  
491 -  
492 - public void setScrapState(Boolean scrapState) {  
493 - this.scrapState = scrapState;  
494 - }  
495 -  
496 - public Integer getIsSwitch() {  
497 - return isSwitch;  
498 - }  
499 -  
500 - public void setIsSwitch(Integer isSwitch) {  
501 - this.isSwitch = isSwitch;  
502 - }  
503 -  
504 - public String getXlmc() {  
505 - return xlmc;  
506 - }  
507 -  
508 - public void setXlmc(String xlmc) {  
509 - this.xlmc = xlmc;  
510 - }  
511 -  
512 - public String getCgsbm() {  
513 - return cgsbm;  
514 - }  
515 -  
516 - public void setCgsbm(String cgsbm) {  
517 - this.cgsbm = cgsbm;  
518 - }  
519 -  
520 - public Boolean getSfmix() {  
521 - return sfmix;  
522 - }  
523 -  
524 - public void setSfmix(Boolean sfmix) {  
525 - this.sfmix = sfmix;  
526 - }  
527 -  
528 - public Boolean getHydrogen() {  
529 - return hydrogen;  
530 - }  
531 -  
532 - public void setHydrogen(Boolean hydrogen) {  
533 - this.hydrogen = hydrogen;  
534 - }  
535 -} 1 +package com.bsth.entity;
  2 +
  3 +import com.bsth.entity.schedule.BEntity;
  4 +import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
  5 +import org.hibernate.annotations.Formula;
  6 +
  7 +import javax.persistence.*;
  8 +import java.io.Serializable;
  9 +import java.util.Date;
  10 +
  11 +/**
  12 + *
  13 + * @ClassName : Cars(车实体类)
  14 + *
  15 + * @Author : bsth@lq
  16 + *
  17 + * @Description : TODO(车辆基本信息)
  18 + *
  19 + * @Data : 2016-04-27
  20 + *
  21 + * @Version 公交调度系统BS版 0.1
  22 + *
  23 + */
  24 +
  25 +@Entity
  26 +@Table(name = "bsth_c_cars")
  27 +@JsonIgnoreProperties(value={"hibernateLazyInitializer","handler","fieldHandler"})
  28 +public class Cars extends BEntity implements Serializable {
  29 +
  30 + /** 主键Id */
  31 + @Id
  32 + @GeneratedValue(strategy = GenerationType.IDENTITY)
  33 + private Integer id;
  34 +
  35 + /** 自编号/内部编号 */
  36 + @Column(nullable = false, length = 20, unique = true)
  37 + private String insideCode;
  38 +
  39 + // 公司、分公司暂时不用关联实体
  40 + /** 公司代码 */
  41 + @Column(nullable = false)
  42 + private String businessCode;
  43 + /** 公司名称 */
  44 + @Column(nullable = false)
  45 + private String company;
  46 + /** 分公司编码 */
  47 + private String brancheCompanyCode;
  48 + /** 分公司 */
  49 + private String brancheCompany;
  50 +
  51 + /** 组合公司分公司编码 */
  52 + @Formula(" concat(business_code, '_', branche_company_code) ")
  53 + private String cgsbm;
  54 +
  55 + /** 车辆编码(TODO:在原系统里没有,这里暂时留着) */
  56 + @Column(nullable = false)
  57 + private String carCode;
  58 + /** 车牌号 */
  59 + @Column(nullable = false)
  60 + private String carPlate;
  61 + /** 供应商名称 */
  62 + @Column(nullable = false)
  63 + private String supplierName;
  64 + /** 设备终端号 */
  65 + @Column(nullable = false)
  66 + private String equipmentCode;
  67 +
  68 + // 以下信息来自总公司的业务系统,可能需要调用相关接口
  69 + /** 车型类别 */
  70 + private String carClass ;
  71 + /** 技术速度 */
  72 + private Double speed;
  73 + /** 座位数 */
  74 + private Integer carSeatnNumber;
  75 + /** Passenger capacity */
  76 + private String carStandard;
  77 + /** 标准油耗(开空调) */
  78 + private Double kburnStandard;
  79 + /** 标准油耗(关空调) */
  80 + private Double gburnStandard;
  81 + /** Scrap number */
  82 + private String scrapCode;
  83 + /** Scrap date */
  84 + private Date scrapDate;
  85 + /** Brand model1 */
  86 + private String makeCodeOne;
  87 + /** Brand model2 */
  88 + private String makeCodeTwo;
  89 + /** vehicle grade standard */
  90 + private String carGride;
  91 + /** Emission standard */
  92 + private String emissionsStandard;
  93 + /** Engine number1 */
  94 + private String engineCodeOne;
  95 + /** Engine number2 */
  96 + private String engineCodeTwo;
  97 + /** Frame number1 */
  98 + private String carNumberOne;
  99 + /** Frame number2 */
  100 + private String carNumberTwo;
  101 + /** 启用日期(2008-10-10)*/
  102 + private Date openDate;
  103 + /** 取消日期 */
  104 + private Date closeDate;
  105 +
  106 + /** 是否空调车 */
  107 + @Column(nullable = true)
  108 + private Boolean hvacCar;
  109 + /** 有无人售票 */
  110 + @Column(nullable = true)
  111 + private Boolean ticketType;
  112 + /** 是否有LED服务屏 */
  113 + @Column(nullable = true)
  114 + private Boolean ledScreen;
  115 + /** 是否有TV视频 */
  116 + @Column(nullable = true)
  117 + private Boolean tvVideoType;
  118 +
  119 + /** 车辆类型 */
  120 + private String carType;
  121 + /** 是否机动车(机动车类型选择)*/
  122 + private String vehicleStats;
  123 + /** 营运状态 */
  124 + private String operatorsState;
  125 + /** 营运证编码 */
  126 + private String serviceNo;
  127 + /** 是否电车(TODO:在原系统里没有,这里暂时留着) */
  128 + private Boolean sfdc;
  129 + /** 是否混合动力(TODO:在原系统里没有,这里暂时留着) */
  130 + private Boolean sfmix;
  131 + /** 是否氢能源车 */
  132 + private Boolean hydrogen;
  133 + /** 备注/描述 */
  134 + private String descriptions;
  135 +
  136 + /** 车辆序号(TODO:在原系统里没有,这里暂时留着) */
  137 + private String carOrdinal;
  138 + /** 视频编号 */
  139 + private String videoCode;
  140 + /** 是否报废 */
  141 + @Column(nullable = true)
  142 + private Boolean scrapState;
  143 + /** 是否切换(TODO:在原系统里没有,这里暂时留着)*/
  144 + private Integer isSwitch;
  145 + /** 线路名称(TODO:在原系统里没有,这里暂时留着,并且不做线路关联,只保留个名字) */
  146 + private String xlmc;
  147 +
  148 + public Cars() {}
  149 +
  150 + public Cars(Object id, Object nbbh, Object clbh, Object cph, Object sbbh) {
  151 + if (id != null) {
  152 + this.id = Integer.valueOf(id.toString());
  153 + }
  154 + if (nbbh != null) {
  155 + this.insideCode = nbbh.toString();
  156 + }
  157 + if (clbh != null) {
  158 + this.carCode = clbh.toString();
  159 + }
  160 + if (cph != null) {
  161 + this.carPlate = cph.toString();
  162 + }
  163 + if (sbbh != null) {
  164 + this.equipmentCode = sbbh.toString();
  165 + }
  166 + }
  167 +
  168 + public String getServiceNo() {
  169 + return serviceNo;
  170 + }
  171 +
  172 + public void setServiceNo(String serviceNo) {
  173 + this.serviceNo = serviceNo;
  174 + }
  175 +
  176 + public Integer getId() {
  177 + return id;
  178 + }
  179 +
  180 + public void setId(Integer id) {
  181 + this.id = id;
  182 + }
  183 +
  184 + public String getInsideCode() {
  185 + return insideCode;
  186 + }
  187 +
  188 + public void setInsideCode(String insideCode) {
  189 + this.insideCode = insideCode;
  190 + }
  191 +
  192 + public String getBusinessCode() {
  193 + return businessCode;
  194 + }
  195 +
  196 + public void setBusinessCode(String businessCode) {
  197 + this.businessCode = businessCode;
  198 + }
  199 +
  200 + public String getCompany() {
  201 + return company;
  202 + }
  203 +
  204 + public void setCompany(String company) {
  205 + this.company = company;
  206 + }
  207 +
  208 + public String getBrancheCompanyCode() {
  209 + return brancheCompanyCode;
  210 + }
  211 +
  212 + public void setBrancheCompanyCode(String brancheCompanyCode) {
  213 + this.brancheCompanyCode = brancheCompanyCode;
  214 + }
  215 +
  216 + public String getBrancheCompany() {
  217 + return brancheCompany;
  218 + }
  219 +
  220 + public void setBrancheCompany(String brancheCompany) {
  221 + this.brancheCompany = brancheCompany;
  222 + }
  223 +
  224 + public String getCarCode() {
  225 + return carCode;
  226 + }
  227 +
  228 + public void setCarCode(String carCode) {
  229 + this.carCode = carCode;
  230 + }
  231 +
  232 + public String getCarPlate() {
  233 + return carPlate;
  234 + }
  235 +
  236 + public void setCarPlate(String carPlate) {
  237 + this.carPlate = carPlate;
  238 + }
  239 +
  240 + public String getSupplierName() {
  241 + return supplierName;
  242 + }
  243 +
  244 + public void setSupplierName(String supplierName) {
  245 + this.supplierName = supplierName;
  246 + }
  247 +
  248 + public String getEquipmentCode() {
  249 + return equipmentCode;
  250 + }
  251 +
  252 + public void setEquipmentCode(String equipmentCode) {
  253 + this.equipmentCode = equipmentCode;
  254 + }
  255 +
  256 + public String getCarClass() {
  257 + return carClass;
  258 + }
  259 +
  260 + public void setCarClass(String carClass) {
  261 + this.carClass = carClass;
  262 + }
  263 +
  264 + public Double getSpeed() {
  265 + return speed;
  266 + }
  267 +
  268 + public void setSpeed(Double speed) {
  269 + this.speed = speed;
  270 + }
  271 +
  272 + public Integer getCarSeatnNumber() {
  273 + return carSeatnNumber;
  274 + }
  275 +
  276 + public void setCarSeatnNumber(Integer carSeatnNumber) {
  277 + this.carSeatnNumber = carSeatnNumber;
  278 + }
  279 +
  280 + public String getCarStandard() {
  281 + return carStandard;
  282 + }
  283 +
  284 + public void setCarStandard(String carStandard) {
  285 + this.carStandard = carStandard;
  286 + }
  287 +
  288 + public Double getKburnStandard() {
  289 + return kburnStandard;
  290 + }
  291 +
  292 + public void setKburnStandard(Double kburnStandard) {
  293 + this.kburnStandard = kburnStandard;
  294 + }
  295 +
  296 + public Double getGburnStandard() {
  297 + return gburnStandard;
  298 + }
  299 +
  300 + public void setGburnStandard(Double gburnStandard) {
  301 + this.gburnStandard = gburnStandard;
  302 + }
  303 +
  304 + public String getScrapCode() {
  305 + return scrapCode;
  306 + }
  307 +
  308 + public void setScrapCode(String scrapCode) {
  309 + this.scrapCode = scrapCode;
  310 + }
  311 +
  312 + public Date getScrapDate() {
  313 + return scrapDate;
  314 + }
  315 +
  316 + public void setScrapDate(Date scrapDate) {
  317 + this.scrapDate = scrapDate;
  318 + }
  319 +
  320 + public String getMakeCodeOne() {
  321 + return makeCodeOne;
  322 + }
  323 +
  324 + public void setMakeCodeOne(String makeCodeOne) {
  325 + this.makeCodeOne = makeCodeOne;
  326 + }
  327 +
  328 + public String getMakeCodeTwo() {
  329 + return makeCodeTwo;
  330 + }
  331 +
  332 + public void setMakeCodeTwo(String makeCodeTwo) {
  333 + this.makeCodeTwo = makeCodeTwo;
  334 + }
  335 +
  336 + public String getCarGride() {
  337 + return carGride;
  338 + }
  339 +
  340 + public void setCarGride(String carGride) {
  341 + this.carGride = carGride;
  342 + }
  343 +
  344 + public String getEmissionsStandard() {
  345 + return emissionsStandard;
  346 + }
  347 +
  348 + public void setEmissionsStandard(String emissionsStandard) {
  349 + this.emissionsStandard = emissionsStandard;
  350 + }
  351 +
  352 + public String getEngineCodeOne() {
  353 + return engineCodeOne;
  354 + }
  355 +
  356 + public void setEngineCodeOne(String engineCodeOne) {
  357 + this.engineCodeOne = engineCodeOne;
  358 + }
  359 +
  360 + public String getEngineCodeTwo() {
  361 + return engineCodeTwo;
  362 + }
  363 +
  364 + public void setEngineCodeTwo(String engineCodeTwo) {
  365 + this.engineCodeTwo = engineCodeTwo;
  366 + }
  367 +
  368 + public String getCarNumberOne() {
  369 + return carNumberOne;
  370 + }
  371 +
  372 + public void setCarNumberOne(String carNumberOne) {
  373 + this.carNumberOne = carNumberOne;
  374 + }
  375 +
  376 + public String getCarNumberTwo() {
  377 + return carNumberTwo;
  378 + }
  379 +
  380 + public void setCarNumberTwo(String carNumberTwo) {
  381 + this.carNumberTwo = carNumberTwo;
  382 + }
  383 +
  384 + public Date getOpenDate() {
  385 + return openDate;
  386 + }
  387 +
  388 + public void setOpenDate(Date openDate) {
  389 + this.openDate = openDate;
  390 + }
  391 +
  392 + public Date getCloseDate() {
  393 + return closeDate;
  394 + }
  395 +
  396 + public void setCloseDate(Date closeDate) {
  397 + this.closeDate = closeDate;
  398 + }
  399 +
  400 + public Boolean getHvacCar() {
  401 + return hvacCar;
  402 + }
  403 +
  404 + public void setHvacCar(Boolean hvacCar) {
  405 + this.hvacCar = hvacCar;
  406 + }
  407 +
  408 + public Boolean getTicketType() {
  409 + return ticketType;
  410 + }
  411 +
  412 + public void setTicketType(Boolean ticketType) {
  413 + this.ticketType = ticketType;
  414 + }
  415 +
  416 + public Boolean getLedScreen() {
  417 + return ledScreen;
  418 + }
  419 +
  420 + public void setLedScreen(Boolean ledScreen) {
  421 + this.ledScreen = ledScreen;
  422 + }
  423 +
  424 + public Boolean getTvVideoType() {
  425 + return tvVideoType;
  426 + }
  427 +
  428 + public void setTvVideoType(Boolean tvVideoType) {
  429 + this.tvVideoType = tvVideoType;
  430 + }
  431 +
  432 + public String getCarType() {
  433 + return carType;
  434 + }
  435 +
  436 + public void setCarType(String carType) {
  437 + this.carType = carType;
  438 + }
  439 +
  440 + public String getVehicleStats() {
  441 + return vehicleStats;
  442 + }
  443 +
  444 + public void setVehicleStats(String vehicleStats) {
  445 + this.vehicleStats = vehicleStats;
  446 + }
  447 +
  448 + public String getOperatorsState() {
  449 + return operatorsState;
  450 + }
  451 +
  452 + public void setOperatorsState(String operatorsState) {
  453 + this.operatorsState = operatorsState;
  454 + }
  455 +
  456 + public Boolean getSfdc() {
  457 + return sfdc;
  458 + }
  459 +
  460 + public void setSfdc(Boolean sfdc) {
  461 + this.sfdc = sfdc;
  462 + }
  463 +
  464 + public String getDescriptions() {
  465 + return descriptions;
  466 + }
  467 +
  468 + public void setDescriptions(String descriptions) {
  469 + this.descriptions = descriptions;
  470 + }
  471 +
  472 + public String getCarOrdinal() {
  473 + return carOrdinal;
  474 + }
  475 +
  476 + public void setCarOrdinal(String carOrdinal) {
  477 + this.carOrdinal = carOrdinal;
  478 + }
  479 +
  480 + public String getVideoCode() {
  481 + return videoCode;
  482 + }
  483 +
  484 + public void setVideoCode(String videoCode) {
  485 + this.videoCode = videoCode;
  486 + }
  487 +
  488 + public Boolean getScrapState() {
  489 + return scrapState;
  490 + }
  491 +
  492 + public void setScrapState(Boolean scrapState) {
  493 + this.scrapState = scrapState;
  494 + }
  495 +
  496 + public Integer getIsSwitch() {
  497 + return isSwitch;
  498 + }
  499 +
  500 + public void setIsSwitch(Integer isSwitch) {
  501 + this.isSwitch = isSwitch;
  502 + }
  503 +
  504 + public String getXlmc() {
  505 + return xlmc;
  506 + }
  507 +
  508 + public void setXlmc(String xlmc) {
  509 + this.xlmc = xlmc;
  510 + }
  511 +
  512 + public String getCgsbm() {
  513 + return cgsbm;
  514 + }
  515 +
  516 + public void setCgsbm(String cgsbm) {
  517 + this.cgsbm = cgsbm;
  518 + }
  519 +
  520 + public Boolean getSfmix() {
  521 + return sfmix;
  522 + }
  523 +
  524 + public void setSfmix(Boolean sfmix) {
  525 + this.sfmix = sfmix;
  526 + }
  527 +
  528 + public Boolean getHydrogen() {
  529 + return hydrogen;
  530 + }
  531 +
  532 + public void setHydrogen(Boolean hydrogen) {
  533 + this.hydrogen = hydrogen;
  534 + }
  535 +}
src/main/java/com/bsth/entity/Line.java
@@ -44,11 +44,11 @@ public class Line implements Serializable { @@ -44,11 +44,11 @@ public class Line implements Serializable {
44 /** 简称 varchar length(50) */ 44 /** 简称 varchar length(50) */
45 private String shortName; 45 private String shortName;
46 46
47 - /** 起始站名称 varchar length(50) 不能为空 47 + /** Starting station name varchar length(50) 不能为空
48 * 该字段值会在规划线路站点操作时会去验证是否有值。如果为空,则用线路规划站点的起点站。默认使用该字段填写值 */ 48 * 该字段值会在规划线路站点操作时会去验证是否有值。如果为空,则用线路规划站点的起点站。默认使用该字段填写值 */
49 private String startStationName; 49 private String startStationName;
50 50
51 - /** 终点站名称 varchar length(50) 不能为空 51 + /** Terminal station name varchar length(50) 不能为空
52 * 该字段值会在规划线路站点操作时会去验证是否有值。如果为空,则用线路规划站点的起点站。默认使用该字段填写值 */ 52 * 该字段值会在规划线路站点操作时会去验证是否有值。如果为空,则用线路规划站点的起点站。默认使用该字段填写值 */
53 private String endStationName; 53 private String endStationName;
54 54
@@ -58,10 +58,10 @@ public class Line implements Serializable { @@ -58,10 +58,10 @@ public class Line implements Serializable {
58 /** 起始站末班车时间 00:00 上海公交APP中某个接口所需要的字段值 varchar length(50) 不能为空 */ 58 /** 起始站末班车时间 00:00 上海公交APP中某个接口所需要的字段值 varchar length(50) 不能为空 */
59 private String startStationEndTime; 59 private String startStationEndTime;
60 60
61 - /** 终点站首班时间 00:00 上海公交APP中某个接口所需要的字段值 varchar length(50) 不能为空*/ 61 + /** Terminal station first shift time 00:00 上海公交APP中某个接口所需要的字段值 varchar length(50) 不能为空*/
62 private String endStationFirstTime; 62 private String endStationFirstTime;
63 63
64 - /** 终点站末班时间 00:00 上海公交APP中某个接口所需要的字段值 */ 64 + /** Terminal station last shift time 00:00 上海公交APP中某个接口所需要的字段值 */
65 private String endStationEndTime; 65 private String endStationEndTime;
66 66
67 /** 所属公司 varchar length(50) */ 67 /** 所属公司 varchar length(50) */
@@ -107,14 +107,14 @@ public class Line implements Serializable { @@ -107,14 +107,14 @@ public class Line implements Serializable {
107 /** 终点调度电话 varchar length(50) */ 107 /** 终点调度电话 varchar length(50) */
108 private String endPhone; 108 private String endPhone;
109 109
110 - /** 开辟日期 date*/ 110 + /** Opening date date*/
111 @DateTimeFormat(pattern ="yyyy-MM-dd") 111 @DateTimeFormat(pattern ="yyyy-MM-dd")
112 private Date openDate; 112 private Date openDate;
113 113
114 /** 大间隔等级 */ 114 /** 大间隔等级 */
115 private Integer spacGrade; 115 private Integer spacGrade;
116 116
117 - /** 线路沿革 varchar length(50) */ 117 + /** Line historical change varchar length(50) */
118 private String history; 118 private String history;
119 119
120 /** 上海市线路编码 varchar length(50) */ 120 /** 上海市线路编码 varchar length(50) */
@@ -123,16 +123,16 @@ public class Line implements Serializable { @@ -123,16 +123,16 @@ public class Line implements Serializable {
123 /** 设备线路编码 varchar length(50) */ 123 /** 设备线路编码 varchar length(50) */
124 private String eqLinecode; 124 private String eqLinecode;
125 125
126 - /** 配置车辆总数 老版本系统字段, 新版本系统业务需求暂时没用到该字段 ,这里暂时留着 int length(11)*/ 126 + /** 配置Total number of vehicles 老版本系统字段, 新版本系统业务需求暂时没用到该字段 ,这里暂时留着 int length(11)*/
127 private Integer carSumNumber; 127 private Integer carSumNumber;
128 128
129 - /** 空调车辆数量 老版本系统字段, 新版本系统业务需求暂时没用到该字段 ,这里暂时留着 int length(11) */ 129 + /** Number of air-conditioned vehicles量 老版本系统字段, 新版本系统业务需求暂时没用到该字段 ,这里暂时留着 int length(11) */
130 private Integer hvacCarNumber; 130 private Integer hvacCarNumber;
131 131
132 - /** 普通车辆数量 老版本系统字段, 新版本系统业务需求暂时没用到该字段 ,这里暂时留着 int length(11) */ 132 + /** Number of ordinary vehicles量 老版本系统字段, 新版本系统业务需求暂时没用到该字段 ,这里暂时留着 int length(11) */
133 private Integer ordCarNumber; 133 private Integer ordCarNumber;
134 134
135 - /** 权证车辆数量 报表需要的字段值 */ 135 + /** Number of vehicle量 报表需要的字段值 */
136 private Integer warrantCar; 136 private Integer warrantCar;
137 137
138 /** 权证配车启用日期 报表需要的字段值 */ 138 /** 权证配车启用日期 报表需要的字段值 */
@@ -141,7 +141,7 @@ public class Line implements Serializable { @@ -141,7 +141,7 @@ public class Line implements Serializable {
141 /** 停车场编码 老版本系统字段, 新版本系统业务需求暂时没用到该字段 ,这里暂时留着 int length(11) */ 141 /** 停车场编码 老版本系统字段, 新版本系统业务需求暂时没用到该字段 ,这里暂时留着 int length(11) */
142 private String carParkCode; 142 private String carParkCode;
143 143
144 - /** 线路规划类型 <0:双向;1:环线> int length(11) 运管处接口需要的字段 不能为空 */ 144 + /** Route planning type <0:双向;1:环线> int length(11) 运管处接口需要的字段 不能为空 */
145 private Integer linePlayType; 145 private Integer linePlayType;
146 146
147 /** 描述 varchar length(255) */ 147 /** 描述 varchar length(255) */
src/main/java/com/bsth/entity/LineInformation.java
@@ -34,91 +34,91 @@ public class LineInformation { @@ -34,91 +34,91 @@ public class LineInformation {
34 // 线路标准信息类型 34 // 线路标准信息类型
35 private String type; 35 private String type;
36 36
37 - // 标准总里程 37 + // Total mileage
38 private Double totalMileage; 38 private Double totalMileage;
39 39
40 - // 空放里程 40 + // Empty mileage
41 private Double emptyMileage; 41 private Double emptyMileage;
42 42
43 - // 上行里程 43 + // Up mileage
44 private Double upMileage; 44 private Double upMileage;
45 45
46 - // 下行里程 46 + // Down mileage
47 private Double downMileage; 47 private Double downMileage;
48 48
49 - // 上行行驶时间 49 + // Up driving time
50 private Double upTravelTime; 50 private Double upTravelTime;
51 51
52 - // 下行行驶时间 52 + // Down driving time
53 private Double downTravelTime; 53 private Double downTravelTime;
54 54
55 - // 早高峰开始时间 00:00 55 + // Morning peak start time 00:00
56 private String earlyStartTime; 56 private String earlyStartTime;
57 57
58 - // 早高峰结束时间 00:00 58 + // Morning peak end time 00:00
59 private String earlyEndTime; 59 private String earlyEndTime;
60 60
61 - // 晚高峰开始时间 00:00 61 + // Evening peak start time 00:00
62 private String lateStartTime; 62 private String lateStartTime;
63 63
64 - // 晚高峰结束时间 00:00 64 + // Evening peak end time 00:00
65 private String lateEndTime; 65 private String lateEndTime;
66 66
67 - // 小夜高峰开始时间 00:00 67 + // Night peak start time 00:00
68 private String xygfkssj; 68 private String xygfkssj;
69 69
70 - // 小夜高峰结束时间 00:00 70 + // Night peak end time 00:00
71 private String xygfjssj; 71 private String xygfjssj;
72 72
73 - // 早高峰上行行驶时间 73 + // Morning peak up driving time
74 private Double earlyUpTime; 74 private Double earlyUpTime;
75 75
76 - // 早高峰下行行驶时间 76 + // Morning peak down driving time
77 private Double earlyDownTime; 77 private Double earlyDownTime;
78 78
79 - // 晚高峰上行行驶时间 79 + // Evening peak up driving time
80 private Double lateUpTime; 80 private Double lateUpTime;
81 81
82 - // 晚高峰下行行驶时间 82 + // Evening peak down driving time
83 private Double lateDownTime; 83 private Double lateDownTime;
84 84
85 - // 小夜高峰上行行驶时间 85 + // Night peak up driving time
86 private Double nightStartTime; 86 private Double nightStartTime;
87 87
88 - // 小夜高峰下行行驶时间 88 + // Night peak down driving time
89 private Double nightEndTime; 89 private Double nightEndTime;
90 90
91 - // 低谷上行行驶时间 91 + // Valley up driving time
92 private Double troughUpTime; 92 private Double troughUpTime;
93 93
94 - // 低谷下行行驶时间 94 + // Valley down driving time
95 private Double troughDownTime; 95 private Double troughDownTime;
96 96
97 // 停车场 97 // 停车场
98 private String carPark; 98 private String carPark;
99 99
100 - // 上行进场时间 100 + // Upward approach time
101 private Double upInTimer; 101 private Double upInTimer;
102 102
103 - // 上行出场时间 103 + // Upward exit time
104 private Double upOutTimer; 104 private Double upOutTimer;
105 105
106 - // 下行进场时间 106 + // Downward approach time
107 private Double downInTimer; 107 private Double downInTimer;
108 108
109 - // 下行出场时间 109 + // Downward exit time
110 private Double downOutTimer; 110 private Double downOutTimer;
111 111
112 - // 上行进场里程 112 + // Upward approach mileage
113 private Double upInMileage; 113 private Double upInMileage;
114 114
115 - // 上行出场里程 115 + // Upward exit mileage
116 private Double upOutMileage; 116 private Double upOutMileage;
117 117
118 - // 下行进场里程 118 + // Downward approach mileage
119 private Double downInMileage; 119 private Double downInMileage;
120 120
121 - // 下行出场里程 121 + // Downward approach mileage
122 private Double downOutMileage; 122 private Double downOutMileage;
123 123
124 // 早高峰大间隔(分钟)老调度系统字段,暂时保留 124 // 早高峰大间隔(分钟)老调度系统字段,暂时保留
@@ -127,10 +127,10 @@ public class LineInformation { @@ -127,10 +127,10 @@ public class LineInformation {
127 // 晚高峰大间隔(分钟)老调度系统字段,暂时保留 127 // 晚高峰大间隔(分钟)老调度系统字段,暂时保留
128 private Double lateIntervalLg; 128 private Double lateIntervalLg;
129 129
130 - // 平时大间隔(分钟)老调度系统字段,暂时保留 130 + // Large interval (normal)(分钟)老调度系统字段,暂时保留
131 private Double intervalLg; 131 private Double intervalLg;
132 132
133 - // 限速(平时)老调度系统字段,暂时保留 133 + // Speed limited老调度系统字段,暂时保留
134 private Double speedLimit; 134 private Double speedLimit;
135 135
136 // 限速(雨天)老调度系统字段,暂时保留 136 // 限速(雨天)老调度系统字段,暂时保留
@@ -145,16 +145,16 @@ public class LineInformation { @@ -145,16 +145,16 @@ public class LineInformation {
145 // 限速(节庆)老调度系统字段,暂时保留 145 // 限速(节庆)老调度系统字段,暂时保留
146 private Double festivalSpeedLimit; 146 private Double festivalSpeedLimit;
147 147
148 - // 滞站 148 + // Delayed station
149 private Integer lagStation; 149 private Integer lagStation;
150 150
151 - // 越站 151 + // Overstepping station
152 private Integer skip; 152 private Integer skip;
153 153
154 // 超速 154 // 超速
155 private Integer speeding; 155 private Integer speeding;
156 156
157 - // 串线 157 + // Interlaced line
158 private Integer crossedLine; 158 private Integer crossedLine;
159 159
160 // 越界 160 // 越界
src/main/java/com/bsth/entity/Personnel.java
@@ -51,11 +51,11 @@ public class Personnel extends BEntity { @@ -51,11 +51,11 @@ public class Personnel extends BEntity {
51 @Column(nullable = false) 51 @Column(nullable = false)
52 private String personnelName; 52 private String personnelName;
53 53
54 - /** 运营服务证书号 */ 54 + /** Operation service certificate number */
55 private String papersCode; 55 private String papersCode;
56 - /** 一卡通工作卡号 */ 56 + /** One-card work card number */
57 private String icCardCode; 57 private String icCardCode;
58 - /** 性别(字典类型sexType) */ 58 + /** Sex(字典类型sexType) */
59 private String personnelType; 59 private String personnelType;
60 /** 所属岗位/工种(字典类型gzType) */ 60 /** 所属岗位/工种(字典类型gzType) */
61 private String posts; 61 private String posts;
src/main/java/com/bsth/entity/realcontrol/ChildTaskPlan.java
@@ -55,7 +55,7 @@ public class ChildTaskPlan { @@ -55,7 +55,7 @@ public class ChildTaskPlan {
55 private String endStation; 55 private String endStation;
56 56
57 /** 57 /**
58 - * 终点站名称 58 + * Terminal station name
59 */ 59 */
60 private String endStationName; 60 private String endStationName;
61 61
src/main/java/com/bsth/entity/realcontrol/OilStationSociety.java
1 -package com.bsth.entity.realcontrol;  
2 -  
3 -import javax.persistence.Entity;  
4 -import javax.persistence.Id;  
5 -import javax.persistence.Table;  
6 -  
7 -/**  
8 - * 社会加油站  
9 - * Created by panzhao on 2017/3/16.  
10 - */  
11 -@Entity  
12 -@Table(name = "bsth_c_oil_station")  
13 -public class OilStationSociety {  
14 -  
15 - @Id  
16 - private String lineCode;  
17 -  
18 - /**  
19 - * 加油站名称  
20 - */  
21 - private String stationName;  
22 -  
23 - /**  
24 - * 加油站编码(为空则默认社会加油站)  
25 - */  
26 - private String stationCode;  
27 -  
28 - /**  
29 - * 上行进场距离  
30 - */  
31 - private Double upInMile;  
32 - /**  
33 - * 上行出场距离  
34 - */  
35 - private Double upOutMile;  
36 -  
37 - /**  
38 - * 下行进场距离  
39 - */  
40 - private Double downInMile;  
41 - /**  
42 - * 下行出场距离  
43 - */  
44 - private Double downOutMile;  
45 -  
46 -  
47 - /**  
48 - * 上行进场时间 分钟  
49 - */  
50 - private int upInTime;  
51 - /**  
52 - * 上行出场时间 分钟  
53 - */  
54 - private int upOutTime;  
55 -  
56 - /**  
57 - * 下行进场时间 分钟  
58 - */  
59 - private int downInTime;  
60 - /**  
61 - * 下行出场时间 分钟  
62 - */  
63 - private int downOutTime;  
64 -  
65 -  
66 - public String getLineCode() {  
67 - return lineCode;  
68 - }  
69 -  
70 - public void setLineCode(String lineCode) {  
71 - this.lineCode = lineCode;  
72 - }  
73 -  
74 - public String getStationName() {  
75 - return stationName;  
76 - }  
77 -  
78 - public void setStationName(String stationName) {  
79 - this.stationName = stationName;  
80 - }  
81 -  
82 - public Double getUpInMile() {  
83 - return upInMile;  
84 - }  
85 -  
86 - public void setUpInMile(Double upInMile) {  
87 - this.upInMile = upInMile;  
88 - }  
89 -  
90 - public Double getUpOutMile() {  
91 - return upOutMile;  
92 - }  
93 -  
94 - public void setUpOutMile(Double upOutMile) {  
95 - this.upOutMile = upOutMile;  
96 - }  
97 -  
98 - public Double getDownInMile() {  
99 - return downInMile;  
100 - }  
101 -  
102 - public void setDownInMile(Double downInMile) {  
103 - this.downInMile = downInMile;  
104 - }  
105 -  
106 - public Double getDownOutMile() {  
107 - return downOutMile;  
108 - }  
109 -  
110 - public void setDownOutMile(Double downOutMile) {  
111 - this.downOutMile = downOutMile;  
112 - }  
113 -  
114 - public int getUpInTime() {  
115 - return upInTime;  
116 - }  
117 -  
118 - public void setUpInTime(int upInTime) {  
119 - this.upInTime = upInTime;  
120 - }  
121 -  
122 - public int getUpOutTime() {  
123 - return upOutTime;  
124 - }  
125 -  
126 - public void setUpOutTime(int upOutTime) {  
127 - this.upOutTime = upOutTime;  
128 - }  
129 -  
130 - public int getDownInTime() {  
131 - return downInTime;  
132 - }  
133 -  
134 - public void setDownInTime(int downInTime) {  
135 - this.downInTime = downInTime;  
136 - }  
137 -  
138 - public int getDownOutTime() {  
139 - return downOutTime;  
140 - }  
141 -  
142 - public void setDownOutTime(int downOutTime) {  
143 - this.downOutTime = downOutTime;  
144 - }  
145 -  
146 - public String getStationCode() {  
147 - return stationCode;  
148 - }  
149 -  
150 - public void setStationCode(String stationCode) {  
151 - this.stationCode = stationCode;  
152 - }  
153 -} 1 +package com.bsth.entity.realcontrol;
  2 +
  3 +import javax.persistence.Entity;
  4 +import javax.persistence.Id;
  5 +import javax.persistence.Table;
  6 +
  7 +/**
  8 + * 社会加油站
  9 + * Created by panzhao on 2017/3/16.
  10 + */
  11 +@Entity
  12 +@Table(name = "bsth_c_oil_station")
  13 +public class OilStationSociety {
  14 +
  15 + @Id
  16 + private String lineCode;
  17 +
  18 + /**
  19 + * 加油站名称
  20 + */
  21 + private String stationName;
  22 +
  23 + /**
  24 + * 加油站编码(为空则默认社会加油站)
  25 + */
  26 + private String stationCode;
  27 +
  28 + /**
  29 + * 上行进场距离
  30 + */
  31 + private Double upInMile;
  32 + /**
  33 + * 上行出场距离
  34 + */
  35 + private Double upOutMile;
  36 +
  37 + /**
  38 + * 下行进场距离
  39 + */
  40 + private Double downInMile;
  41 + /**
  42 + * 下行出场距离
  43 + */
  44 + private Double downOutMile;
  45 +
  46 +
  47 + /**
  48 + * Upward approach time 分钟
  49 + */
  50 + private int upInTime;
  51 + /**
  52 + * Upward exit time 分钟
  53 + */
  54 + private int upOutTime;
  55 +
  56 + /**
  57 + * Downward approach time 分钟
  58 + */
  59 + private int downInTime;
  60 + /**
  61 + * Downward exit time 分钟
  62 + */
  63 + private int downOutTime;
  64 +
  65 +
  66 + public String getLineCode() {
  67 + return lineCode;
  68 + }
  69 +
  70 + public void setLineCode(String lineCode) {
  71 + this.lineCode = lineCode;
  72 + }
  73 +
  74 + public String getStationName() {
  75 + return stationName;
  76 + }
  77 +
  78 + public void setStationName(String stationName) {
  79 + this.stationName = stationName;
  80 + }
  81 +
  82 + public Double getUpInMile() {
  83 + return upInMile;
  84 + }
  85 +
  86 + public void setUpInMile(Double upInMile) {
  87 + this.upInMile = upInMile;
  88 + }
  89 +
  90 + public Double getUpOutMile() {
  91 + return upOutMile;
  92 + }
  93 +
  94 + public void setUpOutMile(Double upOutMile) {
  95 + this.upOutMile = upOutMile;
  96 + }
  97 +
  98 + public Double getDownInMile() {
  99 + return downInMile;
  100 + }
  101 +
  102 + public void setDownInMile(Double downInMile) {
  103 + this.downInMile = downInMile;
  104 + }
  105 +
  106 + public Double getDownOutMile() {
  107 + return downOutMile;
  108 + }
  109 +
  110 + public void setDownOutMile(Double downOutMile) {
  111 + this.downOutMile = downOutMile;
  112 + }
  113 +
  114 + public int getUpInTime() {
  115 + return upInTime;
  116 + }
  117 +
  118 + public void setUpInTime(int upInTime) {
  119 + this.upInTime = upInTime;
  120 + }
  121 +
  122 + public int getUpOutTime() {
  123 + return upOutTime;
  124 + }
  125 +
  126 + public void setUpOutTime(int upOutTime) {
  127 + this.upOutTime = upOutTime;
  128 + }
  129 +
  130 + public int getDownInTime() {
  131 + return downInTime;
  132 + }
  133 +
  134 + public void setDownInTime(int downInTime) {
  135 + this.downInTime = downInTime;
  136 + }
  137 +
  138 + public int getDownOutTime() {
  139 + return downOutTime;
  140 + }
  141 +
  142 + public void setDownOutTime(int downOutTime) {
  143 + this.downOutTime = downOutTime;
  144 + }
  145 +
  146 + public String getStationCode() {
  147 + return stationCode;
  148 + }
  149 +
  150 + public void setStationCode(String stationCode) {
  151 + this.stationCode = stationCode;
  152 + }
  153 +}
src/main/java/com/bsth/entity/schedule/CarConfigInfo.java
@@ -69,21 +69,21 @@ public class CarConfigInfo extends BEntity implements Serializable { @@ -69,21 +69,21 @@ public class CarConfigInfo extends BEntity implements Serializable {
69 //-------------- 车辆配置的停车场及相关信息 ------------// 69 //-------------- 车辆配置的停车场及相关信息 ------------//
70 /** 车辆配置-CheLiangPeiZhi 字典,ZW(早晚),FS(复驶),BSY(不使用) */ 70 /** 车辆配置-CheLiangPeiZhi 字典,ZW(早晚),FS(复驶),BSY(不使用) */
71 private String pzType; 71 private String pzType;
72 - /** 上行出场里程 */ 72 + /** Upward exit mileage */
73 private Double upOutLc; 73 private Double upOutLc;
74 - /** 上行出场时间 */ 74 + /** Upward exit time */
75 private Double upOutSj; 75 private Double upOutSj;
76 - /** 下行出场里程 */ 76 + /** Downward approach mileage */
77 private Double downOutLc; 77 private Double downOutLc;
78 - /** 下行出场时间 */ 78 + /** Downward exit time */
79 private Double downOutSj; 79 private Double downOutSj;
80 - /** 上行进场里程 */ 80 + /** Upward approach mileage */
81 private Double upInLc; 81 private Double upInLc;
82 - /** 上行进场时间 */ 82 + /** Upward approach time */
83 private Double upInSj; 83 private Double upInSj;
84 - /** 下行进场里程 */ 84 + /** Downward approach mileage */
85 private Double downInLc; 85 private Double downInLc;
86 - /** 下行进场时间 */ 86 + /** Downward approach time */
87 private Double downInSj; 87 private Double downInSj;
88 88
89 public CarConfigInfo() {} 89 public CarConfigInfo() {}
src/main/java/com/bsth/service/gps/GpsServiceImpl.java
@@ -998,7 +998,7 @@ public class GpsServiceImpl implements GpsService { @@ -998,7 +998,7 @@ public class GpsServiceImpl implements GpsService {
998 DateTimeFormatter fmtHHmmss = DateTimeFormat.forPattern("HH:mm.ss"), 998 DateTimeFormatter fmtHHmmss = DateTimeFormat.forPattern("HH:mm.ss"),
999 fmt = DateTimeFormat.forPattern("yyyyMMddHHmm"); 999 fmt = DateTimeFormat.forPattern("yyyyMMddHHmm");
1000 if(speedList.size() > 0){ 1000 if(speedList.size() > 0){
1001 - Sheet sheet = wb.createSheet("超速"); 1001 + Sheet sheet = wb.createSheet("Speeding");
1002 //表头 1002 //表头
1003 Row row = sheet.createRow(0); 1003 Row row = sheet.createRow(0);
1004 row.setHeight((short) (1.5 * 256)); 1004 row.setHeight((short) (1.5 * 256));
@@ -1013,7 +1013,7 @@ public class GpsServiceImpl implements GpsService { @@ -1013,7 +1013,7 @@ public class GpsServiceImpl implements GpsService {
1013 for(int i = 0; i < speedList.size(); i++){ 1013 for(int i = 0; i < speedList.size(); i++){
1014 speed = speedList.get(i); 1014 speed = speedList.get(i);
1015 row = sheet.createRow(i + 1); 1015 row = sheet.createRow(i + 1);
1016 - row.createCell(0).setCellValue("超速"); 1016 + row.createCell(0).setCellValue("Speeding");
1017 row.createCell(1).setCellValue(speed.getSpeed()); 1017 row.createCell(1).setCellValue(speed.getSpeed());
1018 row.createCell(2).setCellValue(fmtHHmmss.print(speed.getSt())); 1018 row.createCell(2).setCellValue(fmtHHmmss.print(speed.getSt()));
1019 row.createCell(3).setCellValue(fmtHHmmss.print(speed.getEt())); 1019 row.createCell(3).setCellValue(fmtHHmmss.print(speed.getEt()));
@@ -1024,7 +1024,7 @@ public class GpsServiceImpl implements GpsService { @@ -1024,7 +1024,7 @@ public class GpsServiceImpl implements GpsService {
1024 } 1024 }
1025 1025
1026 if(outboundList.size() > 0){ 1026 if(outboundList.size() > 0){
1027 - Sheet sheet = wb.createSheet("越界"); 1027 + Sheet sheet = wb.createSheet("Over-boundary");
1028 //表头 1028 //表头
1029 Row row = sheet.createRow(0); 1029 Row row = sheet.createRow(0);
1030 row.setHeight((short) (1.5 * 256)); 1030 row.setHeight((short) (1.5 * 256));
@@ -1042,7 +1042,7 @@ public class GpsServiceImpl implements GpsService { @@ -1042,7 +1042,7 @@ public class GpsServiceImpl implements GpsService {
1042 for(int i = 0; i < outboundList.size(); i++){ 1042 for(int i = 0; i < outboundList.size(); i++){
1043 outbound = outboundList.get(i); 1043 outbound = outboundList.get(i);
1044 row = sheet.createRow(i + 1); 1044 row = sheet.createRow(i + 1);
1045 - row.createCell(0).setCellValue("超速"); 1045 + row.createCell(0).setCellValue("Speeding");
1046 row.createCell(1).setCellValue(fmtHHmmss.print(outbound.getSt())); 1046 row.createCell(1).setCellValue(fmtHHmmss.print(outbound.getSt()));
1047 row.createCell(2).setCellValue(fmtHHmmss.print(outbound.getEt())); 1047 row.createCell(2).setCellValue(fmtHHmmss.print(outbound.getEt()));
1048 if(outbound.getEt() != 0) 1048 if(outbound.getEt() != 0)
src/main/java/com/bsth/service/impl/StationRouteServiceImpl.java
@@ -170,7 +170,7 @@ public class StationRouteServiceImpl extends BaseServiceImpl&lt;StationRoute, Integ @@ -170,7 +170,7 @@ public class StationRouteServiceImpl extends BaseServiceImpl&lt;StationRoute, Integ
170 title.add("站点编码"); 170 title.add("站点编码");
171 title.add("站点顺序号"); 171 title.add("站点顺序号");
172 title.add("站点备注"); 172 title.add("站点备注");
173 - title.add("站点名称"); 173 + title.add("Station name");
174 title.add("站点距离(km)"); 174 title.add("站点距离(km)");
175 title.add("站点时长(min)"); 175 title.add("站点时长(min)");
176 title.add("线路名称"); 176 title.add("线路名称");
@@ -300,7 +300,7 @@ public class StationRouteServiceImpl extends BaseServiceImpl&lt;StationRoute, Integ @@ -300,7 +300,7 @@ public class StationRouteServiceImpl extends BaseServiceImpl&lt;StationRoute, Integ
300 tempM.put("stationRouteStationMark", stationList.get(i)[6]); 300 tempM.put("stationRouteStationMark", stationList.get(i)[6]);
301 // 站点路由出站的序号 301 // 站点路由出站的序号
302 tempM.put("stationRouteOutStationNmber", stationList.get(i)[7]); 302 tempM.put("stationRouteOutStationNmber", stationList.get(i)[7]);
303 - // 站点路由站点方向 303 + // 站点路由Direction
304 tempM.put("stationRoutedirections", stationList.get(i)[8]); 304 tempM.put("stationRoutedirections", stationList.get(i)[8]);
305 // 站点路由站点到站距离 305 // 站点路由站点到站距离
306 tempM.put("stationRouteDistances", stationList.get(i)[9]); 306 tempM.put("stationRouteDistances", stationList.get(i)[9]);
@@ -464,9 +464,9 @@ public class StationRouteServiceImpl extends BaseServiceImpl&lt;StationRoute, Integ @@ -464,9 +464,9 @@ public class StationRouteServiceImpl extends BaseServiceImpl&lt;StationRoute, Integ
464 464
465 childrenStationMap.put("icon", null); 465 childrenStationMap.put("icon", null);
466 childrenStationMap.put("id", 200); 466 childrenStationMap.put("id", 200);
467 - childrenStationMap.put("name", "站点"); 467 + childrenStationMap.put("name", "Stations");
468 childrenStationMap.put("pId", 100); 468 childrenStationMap.put("pId", 100);
469 - childrenStationMap.put("text", "站点"); 469 + childrenStationMap.put("text", "Stations");
470 childrenTwo.add(childrenStationMap); 470 childrenTwo.add(childrenStationMap);
471 471
472 // 路段节点 472 // 路段节点
@@ -478,9 +478,9 @@ public class StationRouteServiceImpl extends BaseServiceImpl&lt;StationRoute, Integ @@ -478,9 +478,9 @@ public class StationRouteServiceImpl extends BaseServiceImpl&lt;StationRoute, Integ
478 childrenSectionMap.put("chaildredType", null); 478 childrenSectionMap.put("chaildredType", null);
479 childrenSectionMap.put("icon", null); 479 childrenSectionMap.put("icon", null);
480 childrenSectionMap.put("id", 300); 480 childrenSectionMap.put("id", 300);
481 - childrenSectionMap.put("name", "路段"); 481 + childrenSectionMap.put("name", "Sections");
482 childrenSectionMap.put("pId", 100); 482 childrenSectionMap.put("pId", 100);
483 - childrenSectionMap.put("text", "路段"); 483 + childrenSectionMap.put("text", "Sections");
484 childrenTwo.add(childrenSectionMap); 484 childrenTwo.add(childrenSectionMap);
485 485
486 // 站点与路段 486 // 站点与路段
@@ -492,9 +492,9 @@ public class StationRouteServiceImpl extends BaseServiceImpl&lt;StationRoute, Integ @@ -492,9 +492,9 @@ public class StationRouteServiceImpl extends BaseServiceImpl&lt;StationRoute, Integ
492 resultMap.put("chaildredType", null); 492 resultMap.put("chaildredType", null);
493 resultMap.put("icon", null); 493 resultMap.put("icon", null);
494 resultMap.put("id", 100); 494 resultMap.put("id", 100);
495 - resultMap.put("name", "站点与路段"); 495 + resultMap.put("name", "Stations and sections");
496 resultMap.put("pId", null); 496 resultMap.put("pId", null);
497 - resultMap.put("text", "站点与路段"); 497 + resultMap.put("text", "Stations and sections");
498 resultList.add(resultMap); 498 resultList.add(resultMap);
499 499
500 return resultList; 500 return resultList;
@@ -907,7 +907,7 @@ public class StationRouteServiceImpl extends BaseServiceImpl&lt;StationRoute, Integ @@ -907,7 +907,7 @@ public class StationRouteServiceImpl extends BaseServiceImpl&lt;StationRoute, Integ
907 else if (linePlayType == 0) 907 else if (linePlayType == 0)
908 textStr = newTextFileToFTP(objects,lineId);/** 双向行单文件内容 @param:<objects:站点路由;lineId:线路ID>*/ 908 textStr = newTextFileToFTP(objects,lineId);/** 双向行单文件内容 @param:<objects:站点路由;lineId:线路ID>*/
909 else 909 else
910 - resultMap.put("status","NOLinePlayType");// 线路无线路规划类型 910 + resultMap.put("status","NOLinePlayType");// 线路无Route planning type
911 911
912 textStr = line.getName() + " " + fileVersions + "\r\n" + textStr; 912 textStr = line.getName() + " " + fileVersions + "\r\n" + textStr;
913 InputStream input = new ByteArrayInputStream(textStr.getBytes("gbk")); 913 InputStream input = new ByteArrayInputStream(textStr.getBytes("gbk"));
@@ -1601,7 +1601,7 @@ public class StationRouteServiceImpl extends BaseServiceImpl&lt;StationRoute, Integ @@ -1601,7 +1601,7 @@ public class StationRouteServiceImpl extends BaseServiceImpl&lt;StationRoute, Integ
1601 // 站点路由出站的序号 1601 // 站点路由出站的序号
1602 tempM.put("stationRouteOutStationNmber", stationList.get(i)[7]); 1602 tempM.put("stationRouteOutStationNmber", stationList.get(i)[7]);
1603 1603
1604 - // 站点路由站点方向 1604 + // 站点路由Direction
1605 tempM.put("stationRouteDirections", stationList.get(i)[8]); 1605 tempM.put("stationRouteDirections", stationList.get(i)[8]);
1606 1606
1607 // 站点路由站点到站距离 1607 // 站点路由站点到站距离
src/main/java/com/bsth/service/impl/StationServiceImpl.java
@@ -948,7 +948,7 @@ public class StationServiceImpl extends BaseServiceImpl&lt;Station, Integer&gt; implem @@ -948,7 +948,7 @@ public class StationServiceImpl extends BaseServiceImpl&lt;Station, Integer&gt; implem
948 arg0.setStationRouteCode(stationRouteCode); 948 arg0.setStationRouteCode(stationRouteCode);
949 // 站点路由类型 949 // 站点路由类型
950 arg0.setStationMark(stationMark); 950 arg0.setStationMark(stationMark);
951 - // 站点路由站点方向 951 + // 站点路由Direction
952 arg0.setDirections(directions); 952 arg0.setDirections(directions);
953 // 站点路由到站距离 953 // 站点路由到站距离
954 arg0.setDistances(distances); 954 arg0.setDistances(distances);
@@ -1002,7 +1002,7 @@ public class StationServiceImpl extends BaseServiceImpl&lt;Station, Integer&gt; implem @@ -1002,7 +1002,7 @@ public class StationServiceImpl extends BaseServiceImpl&lt;Station, Integer&gt; implem
1002 arg0.setStationRouteCode(stationRouteCode); 1002 arg0.setStationRouteCode(stationRouteCode);
1003 // 站点路由类型 1003 // 站点路由类型
1004 arg0.setStationMark(stationMark); 1004 arg0.setStationMark(stationMark);
1005 - // 站点路由站点方向 1005 + // 站点路由Direction
1006 arg0.setDirections(directions); 1006 arg0.setDirections(directions);
1007 // 站点路由到站距离 1007 // 站点路由到站距离
1008 arg0.setDistances(distances); 1008 arg0.setDistances(distances);
@@ -1165,7 +1165,7 @@ public class StationServiceImpl extends BaseServiceImpl&lt;Station, Integer&gt; implem @@ -1165,7 +1165,7 @@ public class StationServiceImpl extends BaseServiceImpl&lt;Station, Integer&gt; implem
1165 arg0.setStationRouteCode(stationRouteCode); 1165 arg0.setStationRouteCode(stationRouteCode);
1166 // 站点路由类型 1166 // 站点路由类型
1167 arg0.setStationMark(stationMark); 1167 arg0.setStationMark(stationMark);
1168 - // 站点路由站点方向 1168 + // 站点路由Direction
1169 arg0.setDirections(directions); 1169 arg0.setDirections(directions);
1170 // 站点路由到站距离 1170 // 站点路由到站距离
1171 arg0.setDistances(distances); 1171 arg0.setDistances(distances);
src/main/java/com/bsth/service/impl/TrafficManageServiceImpl.java
@@ -932,7 +932,7 @@ public class TrafficManageServiceImpl implements TrafficManageService{ @@ -932,7 +932,7 @@ public class TrafficManageServiceImpl implements TrafficManageService{
932 try { 932 try {
933 String[] idArray = ids.split(","), qyrqArray = qyrqs.split(","); 933 String[] idArray = ids.split(","), qyrqArray = qyrqs.split(",");
934 StringBuffer sBufferA ,sBufferB ,sBufferC ; 934 StringBuffer sBufferA ,sBufferB ,sBufferC ;
935 - double zlc,yylc,singleLc,emptyLc;// 总里程、营运里程、单程、空放里程 935 + double zlc,yylc,singleLc,emptyLc;// 总里程、营运里程、单程、Empty mileage
936 String bcType,sxx;// 班次类型、上下行 936 String bcType,sxx;// 班次类型、上下行
937 // 上传的时刻表集合 937 // 上传的时刻表集合
938 List<TTInfo> ttinfoList = new ArrayList<>(); 938 List<TTInfo> ttinfoList = new ArrayList<>();
src/main/java/com/bsth/service/schedule/impl/CarsServiceImpl.java
1 -package com.bsth.service.schedule.impl;  
2 -  
3 -import com.bsth.entity.CarDevice;  
4 -import com.bsth.entity.Cars;  
5 -import com.bsth.entity.schedule.CarConfigInfo;  
6 -import com.bsth.repository.schedule.CarConfigInfoRepository;  
7 -import com.bsth.service.schedule.CarDeviceService;  
8 -import com.bsth.service.schedule.CarsService;  
9 -import com.bsth.service.schedule.exception.ScheduleException;  
10 -import com.bsth.service.schedule.utils.DataToolsFile;  
11 -import com.bsth.service.schedule.utils.DataToolsService;  
12 -import org.springframework.beans.factory.annotation.Autowired;  
13 -import org.springframework.beans.factory.annotation.Qualifier;  
14 -import org.springframework.stereotype.Service;  
15 -import org.springframework.transaction.annotation.Transactional;  
16 -import org.springframework.util.CollectionUtils;  
17 -  
18 -import java.io.File;  
19 -import java.util.Date;  
20 -import java.util.HashMap;  
21 -import java.util.List;  
22 -import java.util.Map;  
23 -  
24 -/**  
25 - * Created by xu on 16/12/8.  
26 - */  
27 -@Service(value = "carsServiceImpl_sc")  
28 -public class CarsServiceImpl extends BServiceImpl<Cars, Integer> implements CarsService {  
29 - @Autowired  
30 - @Qualifier(value = "cars_dataTool")  
31 - private DataToolsService dataToolsService;  
32 -  
33 - @Autowired  
34 - @Qualifier(value = "carDeviceServiceImpl_sc")  
35 - private CarDeviceService carDeviceService;  
36 -  
37 - @Autowired  
38 - private CarConfigInfoRepository carConfigInfoRepository;  
39 -  
40 - @Override  
41 - public Cars save(Cars cars) {  
42 - if (cars.getId() != null && cars.getScrapState()) { // 更新车辆信息,报废车辆  
43 - // 1、作废的车辆,修改报废号  
44 - String eCode = cars.getEquipmentCode();  
45 - cars.setEquipmentCode("BF-" + eCode);  
46 - cars.setScrapCode("BF-" + cars.getEquipmentCode());  
47 - // 2、添加一条相关的设备替换记录  
48 - // 查找在哪条线路上  
49 - List<CarConfigInfo> carConfigInfoList = carConfigInfoRepository.findByClId(cars.getId());  
50 - for (CarConfigInfo carConfigInfo : carConfigInfoList) {  
51 - CarDevice carDevice = new CarDevice();  
52 - carDevice.setGsName(cars.getCompany());  
53 - carDevice.setCompany(cars.getBusinessCode());  
54 - carDevice.setBrancheCompany(cars.getBrancheCompanyCode());  
55 - carDevice.setCl(cars.getId());  
56 - carDevice.setClZbh(cars.getInsideCode());  
57 - carDevice.setXl(carConfigInfo.getXl().getId());  
58 - carDevice.setXlName(carConfigInfo.getXl().getName());  
59 - carDevice.setXlBm(carConfigInfo.getXl().getLineCode());  
60 - carDevice.setOldDeviceNo(eCode);  
61 - carDevice.setNewDeviceNo("BF-" + eCode);  
62 - carDevice.setIsCancel(false);  
63 -  
64 - carDevice.setCreateBy(cars.getCreateBy());  
65 - carDevice.setUpdateBy(cars.getUpdateBy());  
66 - carDevice.setCreateDate(new Date());  
67 - carDevice.setUpdateDate(new Date());  
68 - carDeviceService.save(carDevice);  
69 - }  
70 - }  
71 -  
72 - return super.save(cars);  
73 - }  
74 -  
75 - @Override  
76 - public void importData(File file, Map<String, Object> params) throws ScheduleException {  
77 - dataToolsService.importData(file, params);  
78 - }  
79 -  
80 - @Override  
81 - public DataToolsFile exportData(Map<String, Object> params) throws ScheduleException {  
82 - return dataToolsService.exportData(params);  
83 - }  
84 -  
85 - @Override  
86 - public DataToolsFile uploadFile(String filename, byte[] filedata) throws ScheduleException {  
87 - return dataToolsService.uploadFile(filename, filedata);  
88 - }  
89 -  
90 - @Override  
91 - @Transactional  
92 - public void validate_nbbh(Cars cars) throws ScheduleException {  
93 - // 查询条件  
94 - Map<String, Object> param = new HashMap<>();  
95 - if (cars.getId() != null) {  
96 - param.put("id_ne", cars.getId());  
97 - }  
98 - param.put("insideCode_eq", cars.getInsideCode());  
99 - if (!CollectionUtils.isEmpty(list(param))) {  
100 - throw new ScheduleException("车辆内部编号/自编号重复");  
101 - }  
102 - }  
103 -  
104 - @Override  
105 - @Transactional  
106 - public void validate_clbh(Cars cars) throws ScheduleException {  
107 - // 查询条件  
108 - Map<String, Object> param = new HashMap<>();  
109 - if (cars.getId() != null) {  
110 - param.put("id_ne", cars.getId());  
111 - }  
112 - param.put("carCode_eq", cars.getCarCode());  
113 - if (!CollectionUtils.isEmpty(list(param))) {  
114 - throw new ScheduleException("车辆编号重复");  
115 - }  
116 - }  
117 -  
118 - @Override  
119 - @Transactional  
120 - public void validate_cph(Cars cars) throws ScheduleException {  
121 - // 查询条件  
122 - Map<String, Object> param = new HashMap<>();  
123 - if (cars.getId() != null) {  
124 - param.put("id_ne", cars.getId());  
125 - }  
126 - param.put("carPlate_eq", cars.getCarPlate());  
127 - if (!CollectionUtils.isEmpty(list(param))) {  
128 - throw new ScheduleException("车牌号重复");  
129 - }  
130 - }  
131 -  
132 - @Override  
133 - @Transactional  
134 - public void validate_sbbh(Cars cars) throws ScheduleException {  
135 - // 查询条件  
136 - Map<String, Object> param = new HashMap<>();  
137 - if (cars.getId() != null) {  
138 - param.put("id_ne", cars.getId());  
139 - }  
140 - param.put("scrapState_eq", false);  
141 - param.put("equipmentCode_eq", cars.getEquipmentCode());  
142 - if (!CollectionUtils.isEmpty(list(param))) {  
143 - throw new ScheduleException("设备编号重复");  
144 - }  
145 - }  
146 -} 1 +package com.bsth.service.schedule.impl;
  2 +
  3 +import com.bsth.entity.CarDevice;
  4 +import com.bsth.entity.Cars;
  5 +import com.bsth.entity.schedule.CarConfigInfo;
  6 +import com.bsth.repository.schedule.CarConfigInfoRepository;
  7 +import com.bsth.service.schedule.CarDeviceService;
  8 +import com.bsth.service.schedule.CarsService;
  9 +import com.bsth.service.schedule.exception.ScheduleException;
  10 +import com.bsth.service.schedule.utils.DataToolsFile;
  11 +import com.bsth.service.schedule.utils.DataToolsService;
  12 +import org.springframework.beans.factory.annotation.Autowired;
  13 +import org.springframework.beans.factory.annotation.Qualifier;
  14 +import org.springframework.stereotype.Service;
  15 +import org.springframework.transaction.annotation.Transactional;
  16 +import org.springframework.util.CollectionUtils;
  17 +
  18 +import java.io.File;
  19 +import java.util.Date;
  20 +import java.util.HashMap;
  21 +import java.util.List;
  22 +import java.util.Map;
  23 +
  24 +/**
  25 + * Created by xu on 16/12/8.
  26 + */
  27 +@Service(value = "carsServiceImpl_sc")
  28 +public class CarsServiceImpl extends BServiceImpl<Cars, Integer> implements CarsService {
  29 + @Autowired
  30 + @Qualifier(value = "cars_dataTool")
  31 + private DataToolsService dataToolsService;
  32 +
  33 + @Autowired
  34 + @Qualifier(value = "carDeviceServiceImpl_sc")
  35 + private CarDeviceService carDeviceService;
  36 +
  37 + @Autowired
  38 + private CarConfigInfoRepository carConfigInfoRepository;
  39 +
  40 + @Override
  41 + public Cars save(Cars cars) {
  42 + if (cars.getId() != null && cars.getScrapState()) { // 更新车辆信息,报废车辆
  43 + // 1、作废的车辆,修改Scrap number
  44 + String eCode = cars.getEquipmentCode();
  45 + cars.setEquipmentCode("BF-" + eCode);
  46 + cars.setScrapCode("BF-" + cars.getEquipmentCode());
  47 + // 2、添加一条相关的设备替换记录
  48 + // 查找在哪条线路上
  49 + List<CarConfigInfo> carConfigInfoList = carConfigInfoRepository.findByClId(cars.getId());
  50 + for (CarConfigInfo carConfigInfo : carConfigInfoList) {
  51 + CarDevice carDevice = new CarDevice();
  52 + carDevice.setGsName(cars.getCompany());
  53 + carDevice.setCompany(cars.getBusinessCode());
  54 + carDevice.setBrancheCompany(cars.getBrancheCompanyCode());
  55 + carDevice.setCl(cars.getId());
  56 + carDevice.setClZbh(cars.getInsideCode());
  57 + carDevice.setXl(carConfigInfo.getXl().getId());
  58 + carDevice.setXlName(carConfigInfo.getXl().getName());
  59 + carDevice.setXlBm(carConfigInfo.getXl().getLineCode());
  60 + carDevice.setOldDeviceNo(eCode);
  61 + carDevice.setNewDeviceNo("BF-" + eCode);
  62 + carDevice.setIsCancel(false);
  63 +
  64 + carDevice.setCreateBy(cars.getCreateBy());
  65 + carDevice.setUpdateBy(cars.getUpdateBy());
  66 + carDevice.setCreateDate(new Date());
  67 + carDevice.setUpdateDate(new Date());
  68 + carDeviceService.save(carDevice);
  69 + }
  70 + }
  71 +
  72 + return super.save(cars);
  73 + }
  74 +
  75 + @Override
  76 + public void importData(File file, Map<String, Object> params) throws ScheduleException {
  77 + dataToolsService.importData(file, params);
  78 + }
  79 +
  80 + @Override
  81 + public DataToolsFile exportData(Map<String, Object> params) throws ScheduleException {
  82 + return dataToolsService.exportData(params);
  83 + }
  84 +
  85 + @Override
  86 + public DataToolsFile uploadFile(String filename, byte[] filedata) throws ScheduleException {
  87 + return dataToolsService.uploadFile(filename, filedata);
  88 + }
  89 +
  90 + @Override
  91 + @Transactional
  92 + public void validate_nbbh(Cars cars) throws ScheduleException {
  93 + // 查询条件
  94 + Map<String, Object> param = new HashMap<>();
  95 + if (cars.getId() != null) {
  96 + param.put("id_ne", cars.getId());
  97 + }
  98 + param.put("insideCode_eq", cars.getInsideCode());
  99 + if (!CollectionUtils.isEmpty(list(param))) {
  100 + throw new ScheduleException("车辆内部编号/自编号重复");
  101 + }
  102 + }
  103 +
  104 + @Override
  105 + @Transactional
  106 + public void validate_clbh(Cars cars) throws ScheduleException {
  107 + // 查询条件
  108 + Map<String, Object> param = new HashMap<>();
  109 + if (cars.getId() != null) {
  110 + param.put("id_ne", cars.getId());
  111 + }
  112 + param.put("carCode_eq", cars.getCarCode());
  113 + if (!CollectionUtils.isEmpty(list(param))) {
  114 + throw new ScheduleException("车辆编号重复");
  115 + }
  116 + }
  117 +
  118 + @Override
  119 + @Transactional
  120 + public void validate_cph(Cars cars) throws ScheduleException {
  121 + // 查询条件
  122 + Map<String, Object> param = new HashMap<>();
  123 + if (cars.getId() != null) {
  124 + param.put("id_ne", cars.getId());
  125 + }
  126 + param.put("carPlate_eq", cars.getCarPlate());
  127 + if (!CollectionUtils.isEmpty(list(param))) {
  128 + throw new ScheduleException("车牌号重复");
  129 + }
  130 + }
  131 +
  132 + @Override
  133 + @Transactional
  134 + public void validate_sbbh(Cars cars) throws ScheduleException {
  135 + // 查询条件
  136 + Map<String, Object> param = new HashMap<>();
  137 + if (cars.getId() != null) {
  138 + param.put("id_ne", cars.getId());
  139 + }
  140 + param.put("scrapState_eq", false);
  141 + param.put("equipmentCode_eq", cars.getEquipmentCode());
  142 + if (!CollectionUtils.isEmpty(list(param))) {
  143 + throw new ScheduleException("设备编号重复");
  144 + }
  145 + }
  146 +}
src/main/java/com/bsth/service/schedule/impl/GuideboardInfoServiceImpl.java
1 -package com.bsth.service.schedule.impl;  
2 -  
3 -import com.bsth.entity.schedule.GuideboardInfo;  
4 -import com.bsth.entity.schedule.TTInfoDetail;  
5 -import com.bsth.service.schedule.GuideboardInfoService;  
6 -import com.bsth.service.schedule.TTInfoDetailService;  
7 -import com.bsth.service.schedule.exception.ScheduleException;  
8 -import com.bsth.service.schedule.utils.DataToolsFile;  
9 -import com.bsth.service.schedule.utils.DataToolsService;  
10 -import org.springframework.beans.factory.annotation.Autowired;  
11 -import org.springframework.beans.factory.annotation.Qualifier;  
12 -import org.springframework.dao.DataAccessException;  
13 -import org.springframework.jdbc.core.JdbcTemplate;  
14 -import org.springframework.jdbc.core.ResultSetExtractor;  
15 -import org.springframework.stereotype.Service;  
16 -import org.springframework.util.CollectionUtils;  
17 -  
18 -import javax.transaction.Transactional;  
19 -import java.io.File;  
20 -import java.sql.ResultSet;  
21 -import java.sql.SQLException;  
22 -import java.util.HashMap;  
23 -import java.util.List;  
24 -import java.util.Map;  
25 -  
26 -/**  
27 - * 路牌信息服务。  
28 - */  
29 -@Service  
30 -public class GuideboardInfoServiceImpl extends BServiceImpl<GuideboardInfo, Long> implements GuideboardInfoService {  
31 - @Autowired  
32 - @Qualifier(value = "gbInfo_dataTool")  
33 - private DataToolsService dataToolsService;  
34 -  
35 - @Autowired  
36 - private TTInfoDetailService ttInfoDetailService;  
37 -  
38 - @Autowired  
39 - private JdbcTemplate jdbcTemplate;  
40 -  
41 - @Override  
42 - public Long getMaxLpno(Integer xlid) {  
43 - String sql = "select max(lp_no) as maxno from bsth_c_s_gbi where xl = ?";  
44 -  
45 - Long maxNo = jdbcTemplate.query(sql, new ResultSetExtractor<Long>() {  
46 - @Override  
47 - public Long extractData(ResultSet rs) throws SQLException, DataAccessException {  
48 - if (rs.next()) {  
49 - return rs.getLong("maxno");  
50 - } else {  
51 - return 0L;  
52 - }  
53 - }  
54 - }, xlid);  
55 -  
56 - return maxNo + 1;  
57 - }  
58 -  
59 - @Override  
60 - public void validate_lpno(GuideboardInfo guideboardInfo) throws ScheduleException {  
61 - // 查询条件  
62 - Map<String, Object> param = new HashMap<>();  
63 - if (guideboardInfo.getId() != null) {  
64 - param.put("id_ne", guideboardInfo.getId());  
65 - }  
66 -  
67 - if (guideboardInfo.getXl() == null || guideboardInfo.getXl().getId() == null) {  
68 - throw new ScheduleException("线路未选择");  
69 - } else {  
70 - param.put("isCancel_eq", false); // 作废的也算入判定区  
71 - param.put("xl.id_eq", guideboardInfo.getXl().getId());  
72 - param.put("lpNo_eq", guideboardInfo.getLpNo());  
73 - if (!CollectionUtils.isEmpty(list(param))) {  
74 - throw new ScheduleException("路牌编号重复");  
75 - }  
76 - }  
77 - }  
78 -  
79 - @Override  
80 - public void validate_lpname(GuideboardInfo guideboardInfo) throws ScheduleException {  
81 - // 查询条件  
82 - Map<String, Object> param = new HashMap<>();  
83 - if (guideboardInfo.getId() != null) {  
84 - param.put("id_ne", guideboardInfo.getId());  
85 - }  
86 -  
87 - if (guideboardInfo.getXl() == null || guideboardInfo.getXl().getId() == null) {  
88 - throw new ScheduleException("线路未选择");  
89 - } else {  
90 - param.put("isCancel_eq", false); // 作废的也算入判定区  
91 - param.put("xl.id_eq", guideboardInfo.getXl().getId());  
92 - param.put("lpName_eq", guideboardInfo.getLpName());  
93 - if (!CollectionUtils.isEmpty(list(param))) {  
94 - throw new ScheduleException("路牌名字重复");  
95 - }  
96 - }  
97 - }  
98 -  
99 - @Transactional  
100 - @Override  
101 - public void delete(Long aLong) throws ScheduleException {  
102 - // 删除操作就是作废操作  
103 - toggleCancel(aLong);  
104 - }  
105 -  
106 - // 作废方法  
107 - @Transactional  
108 - public void toggleCancel(Long id) throws ScheduleException {  
109 - GuideboardInfo guideboardInfo = findById(id);  
110 - Map<String, Object> param = new HashMap<>();  
111 - if (guideboardInfo.getIsCancel()) {  
112 - validate_lpno(guideboardInfo);  
113 - validate_lpname(guideboardInfo);  
114 - guideboardInfo.setIsCancel(false);  
115 - } else {  
116 - param.clear();  
117 - param.put("xl.id_eq", guideboardInfo.getXl().getId());  
118 - param.put("ttinfo.isCancel_eq", false);  
119 - param.put("lp.id_eq", guideboardInfo.getId());  
120 - List<TTInfoDetail> ttInfoDetailList = (List<TTInfoDetail>) ttInfoDetailService.list(param);  
121 - if (CollectionUtils.isEmpty(ttInfoDetailList)) {  
122 - guideboardInfo.setIsCancel(true);  
123 - } else {  
124 - throw new ScheduleException("在时刻表" +  
125 - ttInfoDetailList.get(0).getTtinfo().getName() +  
126 - "已使用,无法作废!");  
127 - }  
128 - }  
129 - }  
130 -  
131 - @Override  
132 - public DataToolsFile uploadFile(String filename, byte[] filedata) throws ScheduleException {  
133 - return dataToolsService.uploadFile(filename, filedata);  
134 - }  
135 -  
136 - @Override  
137 - public void importData(File file, Map<String, Object> params) throws ScheduleException {  
138 - dataToolsService.importData(file, params);  
139 - }  
140 -  
141 - @Override  
142 - public DataToolsFile exportData(Map<String, Object> params) throws ScheduleException {  
143 - return dataToolsService.exportData(params);  
144 - }  
145 -  
146 -} 1 +package com.bsth.service.schedule.impl;
  2 +
  3 +import com.bsth.entity.schedule.GuideboardInfo;
  4 +import com.bsth.entity.schedule.TTInfoDetail;
  5 +import com.bsth.service.schedule.GuideboardInfoService;
  6 +import com.bsth.service.schedule.TTInfoDetailService;
  7 +import com.bsth.service.schedule.exception.ScheduleException;
  8 +import com.bsth.service.schedule.utils.DataToolsFile;
  9 +import com.bsth.service.schedule.utils.DataToolsService;
  10 +import org.springframework.beans.factory.annotation.Autowired;
  11 +import org.springframework.beans.factory.annotation.Qualifier;
  12 +import org.springframework.dao.DataAccessException;
  13 +import org.springframework.jdbc.core.JdbcTemplate;
  14 +import org.springframework.jdbc.core.ResultSetExtractor;
  15 +import org.springframework.stereotype.Service;
  16 +import org.springframework.util.CollectionUtils;
  17 +
  18 +import javax.transaction.Transactional;
  19 +import java.io.File;
  20 +import java.sql.ResultSet;
  21 +import java.sql.SQLException;
  22 +import java.util.HashMap;
  23 +import java.util.List;
  24 +import java.util.Map;
  25 +
  26 +/**
  27 + * 路牌信息服务。
  28 + */
  29 +@Service
  30 +public class GuideboardInfoServiceImpl extends BServiceImpl<GuideboardInfo, Long> implements GuideboardInfoService {
  31 + @Autowired
  32 + @Qualifier(value = "gbInfo_dataTool")
  33 + private DataToolsService dataToolsService;
  34 +
  35 + @Autowired
  36 + private TTInfoDetailService ttInfoDetailService;
  37 +
  38 + @Autowired
  39 + private JdbcTemplate jdbcTemplate;
  40 +
  41 + @Override
  42 + public Long getMaxLpno(Integer xlid) {
  43 + String sql = "select max(lp_no) as maxno from bsth_c_s_gbi where xl = ?";
  44 +
  45 + Long maxNo = jdbcTemplate.query(sql, new ResultSetExtractor<Long>() {
  46 + @Override
  47 + public Long extractData(ResultSet rs) throws SQLException, DataAccessException {
  48 + if (rs.next()) {
  49 + return rs.getLong("maxno");
  50 + } else {
  51 + return 0L;
  52 + }
  53 + }
  54 + }, xlid);
  55 +
  56 + return maxNo + 1;
  57 + }
  58 +
  59 + @Override
  60 + public void validate_lpno(GuideboardInfo guideboardInfo) throws ScheduleException {
  61 + // 查询条件
  62 + Map<String, Object> param = new HashMap<>();
  63 + if (guideboardInfo.getId() != null) {
  64 + param.put("id_ne", guideboardInfo.getId());
  65 + }
  66 +
  67 + if (guideboardInfo.getXl() == null || guideboardInfo.getXl().getId() == null) {
  68 + throw new ScheduleException("线路未选择");
  69 + } else {
  70 + param.put("isCancel_eq", false); // 作废的也算入判定区
  71 + param.put("xl.id_eq", guideboardInfo.getXl().getId());
  72 + param.put("lpNo_eq", guideboardInfo.getLpNo());
  73 + if (!CollectionUtils.isEmpty(list(param))) {
  74 + throw new ScheduleException("Guide board code duplicate");
  75 + }
  76 + }
  77 + }
  78 +
  79 + @Override
  80 + public void validate_lpname(GuideboardInfo guideboardInfo) throws ScheduleException {
  81 + // 查询条件
  82 + Map<String, Object> param = new HashMap<>();
  83 + if (guideboardInfo.getId() != null) {
  84 + param.put("id_ne", guideboardInfo.getId());
  85 + }
  86 +
  87 + if (guideboardInfo.getXl() == null || guideboardInfo.getXl().getId() == null) {
  88 + throw new ScheduleException("线路未选择");
  89 + } else {
  90 + param.put("isCancel_eq", false); // 作废的也算入判定区
  91 + param.put("xl.id_eq", guideboardInfo.getXl().getId());
  92 + param.put("lpName_eq", guideboardInfo.getLpName());
  93 + if (!CollectionUtils.isEmpty(list(param))) {
  94 + throw new ScheduleException("路牌名字重复");
  95 + }
  96 + }
  97 + }
  98 +
  99 + @Transactional
  100 + @Override
  101 + public void delete(Long aLong) throws ScheduleException {
  102 + // 删除操作就是作废操作
  103 + toggleCancel(aLong);
  104 + }
  105 +
  106 + // 作废方法
  107 + @Transactional
  108 + public void toggleCancel(Long id) throws ScheduleException {
  109 + GuideboardInfo guideboardInfo = findById(id);
  110 + Map<String, Object> param = new HashMap<>();
  111 + if (guideboardInfo.getIsCancel()) {
  112 + validate_lpno(guideboardInfo);
  113 + validate_lpname(guideboardInfo);
  114 + guideboardInfo.setIsCancel(false);
  115 + } else {
  116 + param.clear();
  117 + param.put("xl.id_eq", guideboardInfo.getXl().getId());
  118 + param.put("ttinfo.isCancel_eq", false);
  119 + param.put("lp.id_eq", guideboardInfo.getId());
  120 + List<TTInfoDetail> ttInfoDetailList = (List<TTInfoDetail>) ttInfoDetailService.list(param);
  121 + if (CollectionUtils.isEmpty(ttInfoDetailList)) {
  122 + guideboardInfo.setIsCancel(true);
  123 + } else {
  124 + throw new ScheduleException("在时刻表" +
  125 + ttInfoDetailList.get(0).getTtinfo().getName() +
  126 + "已使用,无法作废!");
  127 + }
  128 + }
  129 + }
  130 +
  131 + @Override
  132 + public DataToolsFile uploadFile(String filename, byte[] filedata) throws ScheduleException {
  133 + return dataToolsService.uploadFile(filename, filedata);
  134 + }
  135 +
  136 + @Override
  137 + public void importData(File file, Map<String, Object> params) throws ScheduleException {
  138 + dataToolsService.importData(file, params);
  139 + }
  140 +
  141 + @Override
  142 + public DataToolsFile exportData(Map<String, Object> params) throws ScheduleException {
  143 + return dataToolsService.exportData(params);
  144 + }
  145 +
  146 +}
src/main/java/com/bsth/service/schedule/impl/TTInfoDetailServiceImpl.java
@@ -262,31 +262,31 @@ public class TTInfoDetailServiceImpl extends BServiceImpl&lt;TTInfoDetail, Long&gt; im @@ -262,31 +262,31 @@ public class TTInfoDetailServiceImpl extends BServiceImpl&lt;TTInfoDetail, Long&gt; im
262 public void validateAssoLineInfo(Integer lineinfoid) throws ScheduleException { 262 public void validateAssoLineInfo(Integer lineinfoid) throws ScheduleException {
263 LineInformation lineInformation = lineInformationService.findById(lineinfoid); 263 LineInformation lineInformation = lineInformationService.findById(lineinfoid);
264 if (lineInformation.getUpInMileage() == null) { 264 if (lineInformation.getUpInMileage() == null) {
265 - throw new ScheduleException("上行进场里程为空"); 265 + throw new ScheduleException("Upward approach mileage is null");
266 } else if (lineInformation.getUpInTimer() == null) { 266 } else if (lineInformation.getUpInTimer() == null) {
267 - throw new ScheduleException("上行进场时间为空"); 267 + throw new ScheduleException("Upward approach time is null");
268 } else if (lineInformation.getUpOutMileage() == null) { 268 } else if (lineInformation.getUpOutMileage() == null) {
269 - throw new ScheduleException("上行出场里程为空"); 269 + throw new ScheduleException("Upward exit mileage is null");
270 } else if (lineInformation.getUpOutTimer() == null) { 270 } else if (lineInformation.getUpOutTimer() == null) {
271 - throw new ScheduleException("上行出场时间为空"); 271 + throw new ScheduleException("Upward exit time is null");
272 } else if (lineInformation.getUpMileage() == null) { 272 } else if (lineInformation.getUpMileage() == null) {
273 - throw new ScheduleException("上行班次里程为空"); 273 + throw new ScheduleException("上行班次里程 is null");
274 } else if (lineInformation.getUpTravelTime() == null) { 274 } else if (lineInformation.getUpTravelTime() == null) {
275 - throw new ScheduleException("上行班次时间为空"); 275 + throw new ScheduleException("上行班次时间 is null");
276 } else if (lineInformation.getDownInMileage() == null) { 276 } else if (lineInformation.getDownInMileage() == null) {
277 - throw new ScheduleException("下行进场里程为空"); 277 + throw new ScheduleException("Downward approach mileage is null");
278 } else if (lineInformation.getDownInTimer() == null) { 278 } else if (lineInformation.getDownInTimer() == null) {
279 - throw new ScheduleException("下行进场时间为空"); 279 + throw new ScheduleException("Downward approach time is null");
280 } else if (lineInformation.getDownOutMileage() == null) { 280 } else if (lineInformation.getDownOutMileage() == null) {
281 - throw new ScheduleException("下行出场里程为空"); 281 + throw new ScheduleException("Downward approach mileage is null");
282 } else if (lineInformation.getDownOutTimer() == null) { 282 } else if (lineInformation.getDownOutTimer() == null) {
283 - throw new ScheduleException("下行出场时间为空"); 283 + throw new ScheduleException("Downward exit time is null");
284 } else if (lineInformation.getDownMileage() == null) { 284 } else if (lineInformation.getDownMileage() == null) {
285 - throw new ScheduleException("下行班次里程为空"); 285 + throw new ScheduleException("下行班次里程 is null");
286 } else if (lineInformation.getDownTravelTime() == null) { 286 } else if (lineInformation.getDownTravelTime() == null) {
287 - throw new ScheduleException("下行班次时间为空"); 287 + throw new ScheduleException("下行班次时间 is null");
288 } else if (StringUtils.isEmpty(lineInformation.getCarPark())) { 288 } else if (StringUtils.isEmpty(lineInformation.getCarPark())) {
289 - throw new ScheduleException("停车场必须选择"); 289 + throw new ScheduleException("Parking lot should be selected");
290 } 290 }
291 291
292 // 单独验证停车场信息 292 // 单独验证停车场信息
src/main/java/com/bsth/service/schedule/timetable/strategy/impl/TimetableExcelPVDataExportStrategyImpl.java
@@ -45,7 +45,7 @@ public class TimetableExcelPVDataExportStrategyImpl implements TimetableExcelPVD @@ -45,7 +45,7 @@ public class TimetableExcelPVDataExportStrategyImpl implements TimetableExcelPVD
45 45
46 // 创建表头(从第2行开始,第1行需要合并单元格显示站点名字) 46 // 创建表头(从第2行开始,第1行需要合并单元格显示站点名字)
47 int[] headColNums = new int[] {0, 1, 2, 3, 4, 7, 8, 9, 10, 11}; 47 int[] headColNums = new int[] {0, 1, 2, 3, 4, 7, 8, 9, 10, 11};
48 - String[] headColLabels = new String[] {"序号", "路牌", "发车时间", "到达时间", "备注", "序号", "路牌", "发车时间", "到达时间", "备注"}; 48 + String[] headColLabels = new String[] {"序号", "路牌", "发车时间", "到达时间", "Remarks", "序号", "路牌", "发车时间", "到达时间", "Remarks"};
49 int[] headColWidth = new int[] {10, 10, 20, 20, 35, 10, 10, 20, 20, 35}; 49 int[] headColWidth = new int[] {10, 10, 20, 20, 35, 10, 10, 20, 20, 35};
50 50
51 Row headRow = excelPoiOperator.createSheetRow(sheet, 1); 51 Row headRow = excelPoiOperator.createSheetRow(sheet, 1);
src/main/resources/application-iraq.properties
@@ -13,7 +13,7 @@ spring.jpa.show-sql= false @@ -13,7 +13,7 @@ spring.jpa.show-sql= false
13 13
14 #DATABASE 14 #DATABASE
15 spring.datasource.driver-class-name= com.mysql.jdbc.Driver 15 spring.datasource.driver-class-name= com.mysql.jdbc.Driver
16 -spring.datasource.url= jdbc:mysql://47.76.243.65/control?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai 16 +spring.datasource.url= jdbc:mysql://192.168.168.242/control_iraq?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai
17 spring.datasource.username= root 17 spring.datasource.username= root
18 spring.datasource.password= root2jsp 18 spring.datasource.password= root2jsp
19 spring.datasource.type= com.zaxxer.hikari.HikariDataSource 19 spring.datasource.type= com.zaxxer.hikari.HikariDataSource
@@ -33,9 +33,9 @@ spring.datasource.hikari.register-mbeans=true @@ -33,9 +33,9 @@ spring.datasource.hikari.register-mbeans=true
33 ## gps client data 33 ## gps client data
34 http.gps.real.cache.url= http://10.10.150.24:12580/realGps/all 34 http.gps.real.cache.url= http://10.10.150.24:12580/realGps/all
35 ## gateway real data 35 ## gateway real data
36 -http.gps.real.url= http://47.76.243.65:18080/transport_server/rtgps/ 36 +http.gps.real.url= http://172.30.191.117:18080/transport_server/rtgps/
37 ## gateway send directive 37 ## gateway send directive
38 -http.send.directive= http://47.76.243.65:18080/transport_server/message/ 38 +http.send.directive= http://172.30.191.117:18080/transport_server/message/
39 ## rfid data 39 ## rfid data
40 http.rfid.url= http://10.10.150.103:9000/rfid 40 http.rfid.url= http://10.10.150.103:9000/rfid
41 ## wxsb 41 ## wxsb
@@ -62,7 +62,7 @@ admin.mail= 3090342880@qq.com @@ -62,7 +62,7 @@ admin.mail= 3090342880@qq.com
62 enabled.whiteip= false 62 enabled.whiteip= false
63 63
64 ms.mysql.driver= com.mysql.jdbc.Driver 64 ms.mysql.driver= com.mysql.jdbc.Driver
65 -ms.mysql.url= jdbc:mysql://47.76.243.65/ms?useUnicode=true&characterEncoding=utf-8&useSSL=false 65 +ms.mysql.url= jdbc:mysql://172.30.191.117/ms?useUnicode=true&characterEncoding=utf-8&useSSL=false
66 ms.mysql.username= root 66 ms.mysql.username= root
67 ms.mysql.password= root2jsp 67 ms.mysql.password= root2jsp
68 68
src/main/resources/datatools/config-iraq.properties
@@ -5,7 +5,7 @@ datatools.kettle_properties=/datatools/kettle.properties @@ -5,7 +5,7 @@ datatools.kettle_properties=/datatools/kettle.properties
5 # 2、ktr文件通用配置变量(数据库连接,根据不同的环境需要修正) 5 # 2、ktr文件通用配置变量(数据库连接,根据不同的环境需要修正)
6 6
7 #数据库ip地址 7 #数据库ip地址
8 -datatools.kvars_dbip=47.76.243.65 8 +datatools.kvars_dbip=172.30.191.117
9 #数据库用户名 9 #数据库用户名
10 datatools.kvars_dbuname=root 10 datatools.kvars_dbuname=root
11 #数据库密码 11 #数据库密码
src/main/resources/static/pages/base/carpark/add.html
1 -<link href="/pages/base/carpark/css/carpark-add.css" rel="stylesheet" type="text/css" />  
2 -<div class="page-head">  
3 - <div class="page-title">  
4 - <h1>Add</h1>  
5 - </div>  
6 -</div>  
7 -  
8 -<ul class="page-breadcrumb breadcrumb">  
9 - <li><a href="/pages/home.html" data-pjax>Home page</a> <i class="fa fa-circle"></i></li>  
10 - <li><span class="active">Basic information</span> <i class="fa fa-circle"></i></li>  
11 - <li><a href="/pages/base/carpark/list.html" data-pjax>Parking lot</a> <i class="fa fa-circle"></i></li>  
12 - <li><span class="active">Add</span></li>  
13 -</ul>  
14 -  
15 -<div class="portlet light bordered" id="form-wizard-info">  
16 - <div class="portlet-title">  
17 - <div class="caption">  
18 - <i class="icon-equalizer font-red-sunglo"></i>  
19 - <span class="caption-subject font-red-sunglo bold uppercase">Add  
20 - <span class="step-title"> 1 - 4 </span>  
21 - <i class="fa fa-question-circle tipso-animation" style="color: rgba(158, 158, 158, 0.49);"></i>  
22 - </span>  
23 - </div>  
24 -  
25 - <div class="actions">  
26 - <div class="btn-group btn-group-devided" data-toggle="buttons">  
27 - <a class="btn btn-circle default" href="/pages/base/carpark/list.html" style="float: right;padding: 4px 23px;" data-pjax=""><i class="fa fa-reply"></i> Back</a>  
28 - </div>  
29 - </div>  
30 - </div>  
31 - <div class="portlet-body form">  
32 -  
33 - <!-- START FORM -->  
34 - <form class="form-horizontal" id="submit_carpark_form" action="/" method="POST" novalidate="novalidate">  
35 - <div class="form-wizard">  
36 - <div class="form-body">  
37 - <ul class="nav nav-pills nav-justified steps">  
38 - <li class="active">  
39 - <a href="#tab1" data-toggle="tab" class="step" aria-expanded="true">  
40 - <span class="number"> 1 </span>  
41 - <span class="desc">  
42 - <i class="fa fa-check"></i> Parking lot location method </span>  
43 - </a>  
44 - </li>  
45 - <li>  
46 - <a href="#tab2" data-toggle="tab" class="step">  
47 - <span class="number"> 2 </span>  
48 - <span class="desc">  
49 - <i class="fa fa-check"></i> Location parking lot </span>  
50 - </a>  
51 - </li>  
52 - <li>  
53 - <a href="#tab3" data-toggle="tab" class="step active">  
54 - <span class="number"> 3 </span>  
55 - <span class="desc">  
56 - <i class="fa fa-check"></i> Parking lot info </span>  
57 - </a>  
58 - </li>  
59 - <li>  
60 - <a href="#tab4" data-toggle="tab" class="step">  
61 - <span class="number"> 4 </span>  
62 - <span class="desc">  
63 - <i class="fa fa-check"></i> Confirm and submit </span>  
64 - </a>  
65 - </li>  
66 - </ul>  
67 -  
68 - <!-- 进度条 -->  
69 - <div id="bar" class="progress progress-striped" role="progressbar">  
70 - <div class="progress-bar progress-bar-success" style="width: 25%;"></div>  
71 - </div>  
72 -  
73 - <div class="tab-content">  
74 - <div class="alert alert-danger display-hide">  
75 - <button class="close" data-close="alert"></button>  
76 - Your input is incorrect, please check the input items below  
77 - </div>  
78 - <div class="alert alert-success display-none">  
79 - <button class="close" data-dismiss="alert"></button>  
80 - Your form validation is successful!  
81 - </div>  
82 -  
83 - <!-- 选择添加站点方式 -->  
84 - <div class="tab-pane active" id="tab1">  
85 - <h3 class="block"> Parking lot location method </h3>  
86 - <!--Parking lot name -->  
87 - <div class="form-group" id="formRequ">  
88 - <label class="col-md-3 control-label"><span class="required"> * </span>Parking lot name&nbsp;&nbsp;&nbsp;:</label>  
89 - <div class="col-md-9">  
90 - <input type="text" class="form-control input-medium" id="parkNamebooxtInput" name="parkNamebooxt" placeholder="Enter parking lot name">  
91 - </div>  
92 - </div>  
93 - <!-- 新增方式 -->  
94 - <div class="form-group">  
95 - <label class="col-md-3 control-label"><span class="required"> * </span>Location method:</label>  
96 - <div class="col-md-9">  
97 - <div class="icheck-list">  
98 - <label>  
99 - <input type="radio" class="icheck" name="baseRes" value=0 checked> System generated  
100 - </label>  
101 - <label >  
102 - <input type="radio" class="icheck" name="baseRes" value=1 > Manual drawing  
103 - </label>  
104 - </div>  
105 - </div>  
106 - </div>  
107 - </div>  
108 - <!--停车场位置 -->  
109 - <div class="tab-pane" id="tab2">  
110 - <h3 class="block"> Location parking lot </h3>  
111 - <div id="addCarParkbmap_basic"></div>  
112 - <div class="leftUtils">  
113 - <div class="btn-group" style="left: 100px;">  
114 - <a class="btn btn-sm green-seagreen dropdown-toggle" style="width: 98px;" href="javascript:;" data-toggle="dropdown" aria-expanded="false"> Drawing tools  
115 - <i class="fa fa-angle-down"></i>  
116 - </a>  
117 - <ul class="dropdown-menu pull-right" style="min-width:100px">  
118 - <li>  
119 - <a href="javascript:;" id="oppenDrawingManager"><i class="fa fa-pencil"></i> Open </a>  
120 - </li>  
121 - <li>  
122 - <a href="javascript:;" id = "closeDrawingManager"> <i class="fa fa-reply"></i> Close </a>  
123 - </li>  
124 -  
125 - </ul>  
126 - </div>  
127 - </div>  
128 - </div>  
129 - <!--停车场信息 -->  
130 - <div class="tab-pane" id="tab3">  
131 - <h3 class="block"> Parking lot </h3>  
132 - <input type="hidden" name="bParkPoint" id="bParkPointInput" />  
133 - <input type="hidden" name="gParkPoint" id="gParkPointInput" />  
134 - <input type="hidden" name="dbType" id="dbTypeInput" value="b"/>  
135 - <!-- Parking lot name -->  
136 - <div class="form-body">  
137 - <div class="form-group">  
138 - <label class="control-label col-md-3">  
139 - <span class="required"> * </span> Parking lot name&nbsp;&nbsp;&nbsp; :  
140 - </label>  
141 - <div class="col-md-6">  
142 - <input type="text" class="form-control" name="parkName" id="parkNameInput" placeholder="Enter parking lot name" readonly="readonly">  
143 - </div>  
144 - </div>  
145 - </div>  
146 - <!-- 停车场编码 -->  
147 - <div class="form-body">  
148 - <div class="form-group">  
149 - <label class="control-label col-md-3">  
150 - <span class="required"> * </span>Parking lot code&nbsp;&nbsp;&nbsp;:  
151 - </label>  
152 - <div class="col-md-6">  
153 - <input type="text" class="form-control" name="parkCode" id="parkCodeInput" placeholder="Enter parking lot code">  
154 - </div>  
155 - </div>  
156 - </div>  
157 - <!-- WGS84 coordinates -->  
158 - <div class="form-body">  
159 - <div class="form-group">  
160 - <label class="col-md-3 control-label"><span class="required"> * </span>WGS84 coordinates:</label>  
161 - <div class="col-md-6">  
162 - <input type="text" class="form-control" name="bCenterPoint" id="bCenterPointInput" readonly="readonly" placeholder="Enter the WGS84 coordinates">  
163 - </div>  
164 - </div>  
165 - </div>  
166 -  
167 - <!-- Geometry type -->  
168 - <div class="form-body">  
169 - <div class="form-group">  
170 - <label class="col-md-3 control-label"><span class="required"> * </span>Geometry type:</label>  
171 - <div class="col-md-6">  
172 - <input type="text" class="form-control" name="shapesType" id="shapesTypeSelect" readonly="readonly" placeholder="Enter the geometry type">  
173 - </div>  
174 - </div>  
175 - </div>  
176 - <!-- Circle radius -->  
177 - <div class="form-body" id="radiusGroup">  
178 - <div class="form-group">  
179 - <label class="col-md-3 control-label"><span class="required"> * </span> Circle radius&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:</label>  
180 - <div class="col-md-6">  
181 - <input type="text" class="form-control" name="radius" id="radiusInput" placeholder="Enter the circle radius">  
182 - </div>  
183 - </div>  
184 - </div>  
185 - <!-- 是否撤销 -->  
186 - <div class="form-body">  
187 - <div class="form-group">  
188 - <label class="col-md-3 control-label"><span class="required"> * </span>Is Destroyed&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:</label>  
189 - <div class="col-md-6">  
190 - <select name="destroy" class="form-control" id="destroySelect">  
191 - <option value="">Select</option>  
192 - <option value="0">No</option>  
193 - <option value="1">Yes</option>  
194 - </select>  
195 - </div>  
196 - </div>  
197 - </div>  
198 - <!-- Area -->  
199 - <div class="form-body">  
200 - <div class="form-group">  
201 - <label class="col-md-3 control-label">Area&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:</label>  
202 - <div class="col-md-6">  
203 - <input type="text" class="form-control" name="area" id="areaInput" placeholder="Enter the area">  
204 - <span class="help-block">Unit: square meters(㎡)</span>  
205 - </div>  
206 - </div>  
207 - </div>  
208 - <!-- 所属公司 -->  
209 - <div class="form-body">  
210 - <div class="form-group">  
211 - <label class="col-md-3 control-label"><span class="required"> * </span>Company&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:</label>  
212 - <div class="col-md-6">  
213 - <select name="company" class="form-control" style="width:100%" id="companySelect"></select>  
214 - </div>  
215 - </div>  
216 - </div>  
217 - <!-- Branch company -->  
218 - <div class="form-body">  
219 - <div class="form-group">  
220 - <label class="col-md-3 control-label"><span class="required"> * </span>Branch company&nbsp;&nbsp;&nbsp;:</label>  
221 - <div class="col-md-6">  
222 - <select name="brancheCompany" class="form-control" style="width:100%" id="brancheCompanySelect">  
223 - </select>  
224 - </div>  
225 - </div>  
226 - </div>  
227 - <!-- 版本号 -->  
228 - <div class="form-body">  
229 - <div class="form-group">  
230 - <label class="col-md-3 control-label">Version&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:</label>  
231 - <div class="col-md-6">  
232 - <input type="text" class="form-control" name="versions" value='1' Readonly placeholder="Enter the version number">  
233 - </div>  
234 - </div>  
235 - </div>  
236 - <!-- Description -->  
237 - <div class="form-group">  
238 - <label class="control-label col-md-3"> Description&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;: </label>  
239 - <div class="col-md-6">  
240 - <textarea class="form-control" rows="3" name="descriptions" id="descriptionsTextarea" placeholder="Description"></textarea>  
241 - </div>  
242 - </div>  
243 -  
244 - </div>  
245 - <!-- 确定提交资料信息 -->  
246 - <div class="tab-pane" id="tab4">  
247 - <h3 class="block"> Confirm the parking lot information you will be submit </h3>  
248 - <h4 class="form-section"> Coordinates </h4>  
249 - <div class="form-group">  
250 - <label class="control-label col-md-3"> Geometry type: </label>  
251 - <div class="col-md-4">  
252 - <p class="form-control-static" data-display="shapesType"> </p>  
253 - </div>  
254 - </div>  
255 - <div class="form-group">  
256 - <label class="control-label col-md-3"> Circle radius&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;: </label>  
257 - <div class="col-md-4">  
258 - <p class="form-control-static" data-display="radius"> </p>  
259 - </div>  
260 - </div>  
261 -  
262 - <div class="form-group">  
263 - <label class="control-label col-md-3"> WGS84 coordinates: </label>  
264 - <div class="col-md-4">  
265 - <p class="form-control-static" data-display="bCenterPoint"> </p>  
266 - </div>  
267 - </div>  
268 - <h4 class="form-section"> Parking lot </h4>  
269 - <div class="form-group">  
270 - <label class="control-label col-md-3">Parking lot name&nbsp;&nbsp;&nbsp;:</label>  
271 - <div class="col-md-4">  
272 - <p class="form-control-static" data-display="parkName"> </p>  
273 - </div>  
274 - </div>  
275 - <div class="form-group">  
276 - <label class="control-label col-md-3">Parking lot code&nbsp;&nbsp;&nbsp;:</label>  
277 - <div class="col-md-4">  
278 - <p class="form-control-static" data-display="parkCode"> </p>  
279 - </div>  
280 - </div>  
281 - <div class="form-group">  
282 - <label class="control-label col-md-3">State&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:</label>  
283 - <div class="col-md-4">  
284 - <p class="form-control-static" data-display="destroy"> </p>  
285 - </div>  
286 - </div>  
287 - <div class="form-group">  
288 - <label class="control-label col-md-3">Area&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:</label>  
289 - <div class="col-md-4">  
290 - <p class="form-control-static" data-display="area"> </p>  
291 - </div>  
292 - </div>  
293 - <div class="form-group">  
294 - <label class="control-label col-md-3">Company&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:</label>  
295 - <div class="col-md-4">  
296 - <p class="form-control-static" data-display="company"> </p>  
297 - </div>  
298 - </div>  
299 - <div class="form-group">  
300 - <label class="control-label col-md-3">Branch company&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:</label>  
301 - <div class="col-md-4">  
302 - <p class="form-control-static" data-display="brancheCompany"> </p>  
303 - </div>  
304 - </div>  
305 - <div class="form-group">  
306 - <label class="control-label col-md-3">Version&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:</label>  
307 - <div class="col-md-4">  
308 - <p class="form-control-static" data-display="versions"> </p>  
309 - </div>  
310 - </div>  
311 - <div class="form-group">  
312 - <label class="control-label col-md-3">Description&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:</label>  
313 - <div class="col-md-4">  
314 - <p class="form-control-static" data-display="descriptions"> </p>  
315 - </div>  
316 - </div>  
317 - </div>  
318 - </div>  
319 - </div>  
320 - <div class="form-actions">  
321 - <div class="row">  
322 - <div class="col-md-offset-3 col-md-9">  
323 - <a href="javascript:;" class="btn default button-previous disabled" style="display: none;">  
324 - <i class="fa fa-angle-left"></i>Back </a>  
325 - <a href="javascript:;" class="btn btn-outline green button-next"> Next  
326 - <i class="fa fa-angle-right"></i>  
327 - </a>  
328 - <a href="javascript:;" class="btn green button-submit" style="display: none;" id="submintBtn"> Submit  
329 - <i class="fa fa-check"></i>  
330 - </a>  
331 - </div>  
332 - </div>  
333 - </div>  
334 - </div>  
335 - </form>  
336 - <!-- END FORM-->  
337 - </div>  
338 -</div>  
339 -<!-- 函数方法JS类库 -->  
340 -<script src="/pages/base/carpark/js/add-input-function.js"></script>  
341 -<!-- 表单向导JS类库 -->  
342 -<script src="/pages/base/carpark/js/add-form-wizard.js"></script>  
343 -<!-- reload事件 -->  
344 -<script src="/pages/base/carpark/js/add-form-reload.js"></script>  
345 -<!-- 地图JS类库 -->  
346 -<script src="/pages/base/carpark/js/add-vmap-world.js"></script>  
347 -<!-- 表单元素事件JS类库 --> 1 +<link href="/pages/base/carpark/css/carpark-add.css" rel="stylesheet" type="text/css" />
  2 +<div class="page-head">
  3 + <div class="page-title">
  4 + <h1>Add</h1>
  5 + </div>
  6 +</div>
  7 +
  8 +<ul class="page-breadcrumb breadcrumb">
  9 + <li><a href="/pages/home.html" data-pjax>Home page</a> <i class="fa fa-circle"></i></li>
  10 + <li><span class="active">Basic information</span> <i class="fa fa-circle"></i></li>
  11 + <li><a href="/pages/base/carpark/list.html" data-pjax>Parking lot</a> <i class="fa fa-circle"></i></li>
  12 + <li><span class="active">Add</span></li>
  13 +</ul>
  14 +
  15 +<div class="portlet light bordered" id="form-wizard-info">
  16 + <div class="portlet-title">
  17 + <div class="caption">
  18 + <i class="icon-equalizer font-red-sunglo"></i>
  19 + <span class="caption-subject font-red-sunglo bold uppercase">Add
  20 + <span class="step-title"> 1 - 4 </span>
  21 + <i class="fa fa-question-circle tipso-animation" style="color: rgba(158, 158, 158, 0.49);"></i>
  22 + </span>
  23 + </div>
  24 +
  25 + <div class="actions">
  26 + <div class="btn-group btn-group-devided" data-toggle="buttons">
  27 + <a class="btn btn-circle default" href="/pages/base/carpark/list.html" style="float: right;padding: 4px 23px;" data-pjax=""><i class="fa fa-reply"></i> Back</a>
  28 + </div>
  29 + </div>
  30 + </div>
  31 + <div class="portlet-body form">
  32 +
  33 + <!-- START FORM -->
  34 + <form class="form-horizontal" id="submit_carpark_form" action="/" method="POST" novalidate="novalidate">
  35 + <div class="form-wizard">
  36 + <div class="form-body">
  37 + <ul class="nav nav-pills nav-justified steps">
  38 + <li class="active">
  39 + <a href="#tab1" data-toggle="tab" class="step" aria-expanded="true">
  40 + <span class="number"> 1 </span>
  41 + <span class="desc">
  42 + <i class="fa fa-check"></i> Parking lot location method </span>
  43 + </a>
  44 + </li>
  45 + <li>
  46 + <a href="#tab2" data-toggle="tab" class="step">
  47 + <span class="number"> 2 </span>
  48 + <span class="desc">
  49 + <i class="fa fa-check"></i> Location parking lot </span>
  50 + </a>
  51 + </li>
  52 + <li>
  53 + <a href="#tab3" data-toggle="tab" class="step active">
  54 + <span class="number"> 3 </span>
  55 + <span class="desc">
  56 + <i class="fa fa-check"></i> Parking lot info </span>
  57 + </a>
  58 + </li>
  59 + <li>
  60 + <a href="#tab4" data-toggle="tab" class="step">
  61 + <span class="number"> 4 </span>
  62 + <span class="desc">
  63 + <i class="fa fa-check"></i> Confirm and submit </span>
  64 + </a>
  65 + </li>
  66 + </ul>
  67 +
  68 + <!-- 进度条 -->
  69 + <div id="bar" class="progress progress-striped" role="progressbar">
  70 + <div class="progress-bar progress-bar-success" style="width: 25%;"></div>
  71 + </div>
  72 +
  73 + <div class="tab-content">
  74 + <div class="alert alert-danger display-hide">
  75 + <button class="close" data-close="alert"></button>
  76 + Your input is incorrect, please check the input items below
  77 + </div>
  78 + <div class="alert alert-success display-none">
  79 + <button class="close" data-dismiss="alert"></button>
  80 + Your form validation is successful!
  81 + </div>
  82 +
  83 + <!-- Select station add method -->
  84 + <div class="tab-pane active" id="tab1">
  85 + <h3 class="block"> Parking lot location method </h3>
  86 + <!--Parking lot name -->
  87 + <div class="form-group" id="formRequ">
  88 + <label class="col-md-3 control-label"><span class="required"> * </span>Parking lot name&nbsp;&nbsp;&nbsp;:</label>
  89 + <div class="col-md-9">
  90 + <input type="text" class="form-control input-medium" id="parkNamebooxtInput" name="parkNamebooxt" placeholder="Enter parking lot name">
  91 + </div>
  92 + </div>
  93 + <!-- Add method -->
  94 + <div class="form-group">
  95 + <label class="col-md-3 control-label"><span class="required"> * </span>Location method:</label>
  96 + <div class="col-md-9">
  97 + <div class="icheck-list">
  98 + <label>
  99 + <input type="radio" class="icheck" name="baseRes" value=0 checked> System generated
  100 + </label>
  101 + <label >
  102 + <input type="radio" class="icheck" name="baseRes" value=1 > Manual drawing
  103 + </label>
  104 + </div>
  105 + </div>
  106 + </div>
  107 + </div>
  108 + <!--停车场位置 -->
  109 + <div class="tab-pane" id="tab2">
  110 + <h3 class="block"> Location parking lot </h3>
  111 + <div id="addCarParkbmap_basic"></div>
  112 + <div class="leftUtils">
  113 + <div class="btn-group" style="left: 100px;">
  114 + <a class="btn btn-sm green-seagreen dropdown-toggle" style="width: 98px;" href="javascript:;" data-toggle="dropdown" aria-expanded="false"> Drawing tools
  115 + <i class="fa fa-angle-down"></i>
  116 + </a>
  117 + <ul class="dropdown-menu pull-right" style="min-width:100px">
  118 + <li>
  119 + <a href="javascript:;" id="oppenDrawingManager"><i class="fa fa-pencil"></i> Open </a>
  120 + </li>
  121 + <li>
  122 + <a href="javascript:;" id = "closeDrawingManager"> <i class="fa fa-reply"></i> Close </a>
  123 + </li>
  124 +
  125 + </ul>
  126 + </div>
  127 + </div>
  128 + </div>
  129 + <!--停车场信息 -->
  130 + <div class="tab-pane" id="tab3">
  131 + <h3 class="block"> Parking lot </h3>
  132 + <input type="hidden" name="bParkPoint" id="bParkPointInput" />
  133 + <input type="hidden" name="gParkPoint" id="gParkPointInput" />
  134 + <input type="hidden" name="dbType" id="dbTypeInput" value="b"/>
  135 + <!-- Parking lot name -->
  136 + <div class="form-body">
  137 + <div class="form-group">
  138 + <label class="control-label col-md-3">
  139 + <span class="required"> * </span> Parking lot name&nbsp;&nbsp;&nbsp; :
  140 + </label>
  141 + <div class="col-md-6">
  142 + <input type="text" class="form-control" name="parkName" id="parkNameInput" placeholder="Enter parking lot name" readonly="readonly">
  143 + </div>
  144 + </div>
  145 + </div>
  146 + <!-- 停车场编码 -->
  147 + <div class="form-body">
  148 + <div class="form-group">
  149 + <label class="control-label col-md-3">
  150 + <span class="required"> * </span>Parking lot code&nbsp;&nbsp;&nbsp;:
  151 + </label>
  152 + <div class="col-md-6">
  153 + <input type="text" class="form-control" name="parkCode" id="parkCodeInput" placeholder="Enter parking lot code">
  154 + </div>
  155 + </div>
  156 + </div>
  157 + <!-- WGS84 coordinates -->
  158 + <div class="form-body">
  159 + <div class="form-group">
  160 + <label class="col-md-3 control-label"><span class="required"> * </span>WGS84 coordinates:</label>
  161 + <div class="col-md-6">
  162 + <input type="text" class="form-control" name="bCenterPoint" id="bCenterPointInput" readonly="readonly" placeholder="Enter the WGS84 coordinates">
  163 + </div>
  164 + </div>
  165 + </div>
  166 +
  167 + <!-- Geometry type -->
  168 + <div class="form-body">
  169 + <div class="form-group">
  170 + <label class="col-md-3 control-label"><span class="required"> * </span>Geometry type:</label>
  171 + <div class="col-md-6">
  172 + <input type="text" class="form-control" name="shapesType" id="shapesTypeSelect" readonly="readonly" placeholder="Enter the geometry type">
  173 + </div>
  174 + </div>
  175 + </div>
  176 + <!-- Circle radius -->
  177 + <div class="form-body" id="radiusGroup">
  178 + <div class="form-group">
  179 + <label class="col-md-3 control-label"><span class="required"> * </span> Circle radius&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:</label>
  180 + <div class="col-md-6">
  181 + <input type="text" class="form-control" name="radius" id="radiusInput" placeholder="Enter the circle radius">
  182 + </div>
  183 + </div>
  184 + </div>
  185 + <!-- 是否撤销 -->
  186 + <div class="form-body">
  187 + <div class="form-group">
  188 + <label class="col-md-3 control-label"><span class="required"> * </span>Is Destroyed&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:</label>
  189 + <div class="col-md-6">
  190 + <select name="destroy" class="form-control" id="destroySelect">
  191 + <option value="">Select</option>
  192 + <option value="0">No</option>
  193 + <option value="1">Yes</option>
  194 + </select>
  195 + </div>
  196 + </div>
  197 + </div>
  198 + <!-- Area -->
  199 + <div class="form-body">
  200 + <div class="form-group">
  201 + <label class="col-md-3 control-label">Area&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:</label>
  202 + <div class="col-md-6">
  203 + <input type="text" class="form-control" name="area" id="areaInput" placeholder="Enter the area">
  204 + <span class="help-block">Unit: square meters(㎡)</span>
  205 + </div>
  206 + </div>
  207 + </div>
  208 + <!-- 所属公司 -->
  209 + <div class="form-body">
  210 + <div class="form-group">
  211 + <label class="col-md-3 control-label"><span class="required"> * </span>Company&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:</label>
  212 + <div class="col-md-6">
  213 + <select name="company" class="form-control" style="width:100%" id="companySelect"></select>
  214 + </div>
  215 + </div>
  216 + </div>
  217 + <!-- Branch company -->
  218 + <div class="form-body">
  219 + <div class="form-group">
  220 + <label class="col-md-3 control-label"><span class="required"> * </span>Branch company&nbsp;&nbsp;&nbsp;:</label>
  221 + <div class="col-md-6">
  222 + <select name="brancheCompany" class="form-control" style="width:100%" id="brancheCompanySelect">
  223 + </select>
  224 + </div>
  225 + </div>
  226 + </div>
  227 + <!-- 版本号 -->
  228 + <div class="form-body">
  229 + <div class="form-group">
  230 + <label class="col-md-3 control-label">Version&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:</label>
  231 + <div class="col-md-6">
  232 + <input type="text" class="form-control" name="versions" value='1' Readonly placeholder="Enter the version number">
  233 + </div>
  234 + </div>
  235 + </div>
  236 + <!-- Description -->
  237 + <div class="form-group">
  238 + <label class="control-label col-md-3"> Description&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;: </label>
  239 + <div class="col-md-6">
  240 + <textarea class="form-control" rows="3" name="descriptions" id="descriptionsTextarea" placeholder="Description"></textarea>
  241 + </div>
  242 + </div>
  243 +
  244 + </div>
  245 + <!-- 确定提交资料信息 -->
  246 + <div class="tab-pane" id="tab4">
  247 + <h3 class="block"> Confirm the parking lot information you will be submit </h3>
  248 + <h4 class="form-section"> Coordinates </h4>
  249 + <div class="form-group">
  250 + <label class="control-label col-md-3"> Geometry type: </label>
  251 + <div class="col-md-4">
  252 + <p class="form-control-static" data-display="shapesType"> </p>
  253 + </div>
  254 + </div>
  255 + <div class="form-group">
  256 + <label class="control-label col-md-3"> Circle radius&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;: </label>
  257 + <div class="col-md-4">
  258 + <p class="form-control-static" data-display="radius"> </p>
  259 + </div>
  260 + </div>
  261 +
  262 + <div class="form-group">
  263 + <label class="control-label col-md-3"> WGS84 coordinates: </label>
  264 + <div class="col-md-4">
  265 + <p class="form-control-static" data-display="bCenterPoint"> </p>
  266 + </div>
  267 + </div>
  268 + <h4 class="form-section"> Parking lot </h4>
  269 + <div class="form-group">
  270 + <label class="control-label col-md-3">Parking lot name&nbsp;&nbsp;&nbsp;:</label>
  271 + <div class="col-md-4">
  272 + <p class="form-control-static" data-display="parkName"> </p>
  273 + </div>
  274 + </div>
  275 + <div class="form-group">
  276 + <label class="control-label col-md-3">Parking lot code&nbsp;&nbsp;&nbsp;:</label>
  277 + <div class="col-md-4">
  278 + <p class="form-control-static" data-display="parkCode"> </p>
  279 + </div>
  280 + </div>
  281 + <div class="form-group">
  282 + <label class="control-label col-md-3">State&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:</label>
  283 + <div class="col-md-4">
  284 + <p class="form-control-static" data-display="destroy"> </p>
  285 + </div>
  286 + </div>
  287 + <div class="form-group">
  288 + <label class="control-label col-md-3">Area&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:</label>
  289 + <div class="col-md-4">
  290 + <p class="form-control-static" data-display="area"> </p>
  291 + </div>
  292 + </div>
  293 + <div class="form-group">
  294 + <label class="control-label col-md-3">Company&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:</label>
  295 + <div class="col-md-4">
  296 + <p class="form-control-static" data-display="company"> </p>
  297 + </div>
  298 + </div>
  299 + <div class="form-group">
  300 + <label class="control-label col-md-3">Branch company&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:</label>
  301 + <div class="col-md-4">
  302 + <p class="form-control-static" data-display="brancheCompany"> </p>
  303 + </div>
  304 + </div>
  305 + <div class="form-group">
  306 + <label class="control-label col-md-3">Version&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:</label>
  307 + <div class="col-md-4">
  308 + <p class="form-control-static" data-display="versions"> </p>
  309 + </div>
  310 + </div>
  311 + <div class="form-group">
  312 + <label class="control-label col-md-3">Description&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:</label>
  313 + <div class="col-md-4">
  314 + <p class="form-control-static" data-display="descriptions"> </p>
  315 + </div>
  316 + </div>
  317 + </div>
  318 + </div>
  319 + </div>
  320 + <div class="form-actions">
  321 + <div class="row">
  322 + <div class="col-md-offset-3 col-md-9">
  323 + <a href="javascript:;" class="btn default button-previous disabled" style="display: none;">
  324 + <i class="fa fa-angle-left"></i>Back </a>
  325 + <a href="javascript:;" class="btn btn-outline green button-next"> Next
  326 + <i class="fa fa-angle-right"></i>
  327 + </a>
  328 + <a href="javascript:;" class="btn green button-submit" style="display: none;" id="submintBtn"> Submit
  329 + <i class="fa fa-check"></i>
  330 + </a>
  331 + </div>
  332 + </div>
  333 + </div>
  334 + </div>
  335 + </form>
  336 + <!-- END FORM-->
  337 + </div>
  338 +</div>
  339 +<!-- 函数方法JS类库 -->
  340 +<script src="/pages/base/carpark/js/add-input-function.js"></script>
  341 +<!-- 表单向导JS类库 -->
  342 +<script src="/pages/base/carpark/js/add-form-wizard.js"></script>
  343 +<!-- reload事件 -->
  344 +<script src="/pages/base/carpark/js/add-form-reload.js"></script>
  345 +<!-- 地图JS类库 -->
  346 +<script src="/pages/base/carpark/js/add-vmap-world.js"></script>
  347 +<!-- 表单元素事件JS类库 -->
348 <script src="/pages/base/carpark/js/add-form-events.js"></script> 348 <script src="/pages/base/carpark/js/add-form-events.js"></script>
349 \ No newline at end of file 349 \ No newline at end of file