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