Commit 79d1493d9fea6967f74e798ab9f1841bde5ca2b0
1 parent
9f82216c
青浦调度,准点率统计报表
Showing
7 changed files
with
1278 additions
and
1 deletions
src/main/java/com/bsth/controller/calc/CalcMixController.java
| ... | ... | @@ -83,5 +83,38 @@ public class CalcMixController { |
| 83 | 83 | } |
| 84 | 84 | return service.singledatatj(line, startDate, endDate, tjtype, cont, gsdmSing, fgsdmSing); |
| 85 | 85 | } |
| 86 | - | |
| 86 | + | |
| 87 | + @RequestMapping(value="/statisticsIndex", method = RequestMethod.GET) | |
| 88 | + public List<Map<String,Object>> statisticsIndex(@RequestParam Map<String, Object> map){ | |
| 89 | + String startDate=""; | |
| 90 | + if(map.get("startDate")!=null){ | |
| 91 | + startDate=map.get("startDate").toString().trim(); | |
| 92 | + } | |
| 93 | + String endDate=""; | |
| 94 | + if(map.get("endDate")!=null){ | |
| 95 | + endDate=map.get("endDate").toString().trim(); | |
| 96 | + } | |
| 97 | + String line=""; | |
| 98 | + if(map.get("line")!=null){ | |
| 99 | + line=map.get("line").toString().trim(); | |
| 100 | + } | |
| 101 | + String sfyy=""; | |
| 102 | + if(map.get("sfyy")!=null){ | |
| 103 | + sfyy=map.get("sfyy").toString().trim(); | |
| 104 | + } | |
| 105 | + String type=""; | |
| 106 | + if(map.get("type")!=null){ | |
| 107 | + type=map.get("type").toString().trim(); | |
| 108 | + } | |
| 109 | + String gsdm=""; | |
| 110 | + if(map.get("company")!=null){ | |
| 111 | + gsdm=map.get("company").toString().trim(); | |
| 112 | + } | |
| 113 | + String fgsdm=""; | |
| 114 | + if(map.get("subCompany")!=null){ | |
| 115 | + fgsdm=map.get("subCompany").toString().trim(); | |
| 116 | + } | |
| 117 | + return service.statisticsIndex(startDate, endDate, line, sfyy, type, gsdm, fgsdm); | |
| 118 | + } | |
| 119 | + | |
| 87 | 120 | } | ... | ... |
src/main/java/com/bsth/entity/calc/CalcCount.java
0 → 100644
| 1 | +package com.bsth.entity.calc; | |
| 2 | + | |
| 3 | +import java.util.Date; | |
| 4 | + | |
| 5 | +import javax.persistence.Entity; | |
| 6 | +import javax.persistence.GeneratedValue; | |
| 7 | +import javax.persistence.Id; | |
| 8 | +import javax.persistence.Table; | |
| 9 | + | |
| 10 | +@Entity | |
| 11 | +@Table(name = "bsth_c_calc_count") | |
| 12 | +public class CalcCount { | |
| 13 | + /* 主键*/ | |
| 14 | + @Id | |
| 15 | + @GeneratedValue | |
| 16 | + private Integer id; | |
| 17 | + /* 公司代码*/ | |
| 18 | + private String gsdm; | |
| 19 | + /* 分公司代码*/ | |
| 20 | + private String fgsdm; | |
| 21 | + /* 日期字符串*/ | |
| 22 | + private String date; | |
| 23 | + /* 上海市线路编码*/ | |
| 24 | + private String shanghailinecode; | |
| 25 | + /* 线路编码*/ | |
| 26 | + private String xl; | |
| 27 | + /* 线路名称*/ | |
| 28 | + private String xlName; | |
| 29 | + /*计划首站发车数*/ | |
| 30 | + private String jhszfcs; | |
| 31 | + /*实际首站发车正点数*/ | |
| 32 | + private String sjszfczds; | |
| 33 | + /*首站发车正点率*/ | |
| 34 | + private String szfczdl; | |
| 35 | + /*计划班次*/ | |
| 36 | + private String jhbc; | |
| 37 | + /*实际班次*/ | |
| 38 | + private String sjbc; | |
| 39 | + /*班次执行率*/ | |
| 40 | + private String bczxl; | |
| 41 | + /*计划出车*/ | |
| 42 | + private String jhcc; | |
| 43 | + /*实际出车*/ | |
| 44 | + private String sjcc; | |
| 45 | + /*出车率*/ | |
| 46 | + private String ccl; | |
| 47 | + /*计划运营里程*/ | |
| 48 | + private String jhyylc; | |
| 49 | + /*实际运营里程*/ | |
| 50 | + private String sjyylc; | |
| 51 | + /*运营里程执行率*/ | |
| 52 | + private String yylczxl; | |
| 53 | + /*计划车日公里*/ | |
| 54 | + private String jhcrgl; | |
| 55 | + /*实际车日公里*/ | |
| 56 | + private String sjcrgl; | |
| 57 | + /*车日公里执行率*/ | |
| 58 | + private String crglzxl; | |
| 59 | + /*高峰班次数*/ | |
| 60 | + private String gfbcs; | |
| 61 | + /*高峰达标班次数*/ | |
| 62 | + private String gfdbbcs; | |
| 63 | + /*高峰达标率*/ | |
| 64 | + private String gfdbl; | |
| 65 | + /*低谷班次数*/ | |
| 66 | + private String dgbcs; | |
| 67 | + /*低谷达标班次数*/ | |
| 68 | + private String dgdbbcs; | |
| 69 | + /*低谷达标率*/ | |
| 70 | + private String dgdbl; | |
| 71 | + /*计划总公里*/ | |
| 72 | + private String jhzgl; | |
| 73 | + /*实际总公里*/ | |
| 74 | + private String sjzgl; | |
| 75 | + | |
| 76 | + /* | |
| 77 | + *浦交汇数据 统计的数据的计划数为已执行计划数 (班次状态为:烂班、有子任务、以执行) | |
| 78 | + * | |
| 79 | + *产研院接口 需要实时数据 计划总数据 | |
| 80 | + */ | |
| 81 | + /*计划总公里 总*/ | |
| 82 | + private String jhzglz; | |
| 83 | + /*计划运营里程_总*/ | |
| 84 | + private String jhyylcz; | |
| 85 | + /*计划出车_总 */ | |
| 86 | + private String jhccz; | |
| 87 | + /*计划空驶里程*/ | |
| 88 | + private String jhkslc; | |
| 89 | + /*计划空驶里程 总*/ | |
| 90 | + private String jhkslcz; | |
| 91 | + /*实际空驶里程*/ | |
| 92 | + private String sjkslc; | |
| 93 | + /*计划班次数据 总*/ | |
| 94 | + private String jhbcz; | |
| 95 | + /*实际高峰班次数 实时*/ | |
| 96 | + private String sjgfbcs; | |
| 97 | + /*实际低谷班次数 实时*/ | |
| 98 | + private String sjdgbcs; | |
| 99 | + /*计划实时高峰班次数 总*/ | |
| 100 | + private String jhssgfbcs; | |
| 101 | + /*计划实时低谷班次数 总*/ | |
| 102 | + private String jhssdgbcs; | |
| 103 | + /*计划高峰班次数 总*/ | |
| 104 | + private String jhgfbcsz; | |
| 105 | + /*计划低谷班次数 总*/ | |
| 106 | + private String jhdgbcsz; | |
| 107 | + | |
| 108 | + /*计划全日驾售配置 (计划配人全日)*/ | |
| 109 | + private String jhprz; | |
| 110 | + /*计划实时驾售配置(计划配人实时) */ | |
| 111 | + private String jhprss; | |
| 112 | + /*实际驾售配置(实际配人)*/ | |
| 113 | + private String sjpr; | |
| 114 | + /*线路最后营运时间*/ | |
| 115 | + private String endtime; | |
| 116 | + | |
| 117 | + /*计划早高峰班次总数*/ | |
| 118 | + private String jhzgfbcz; | |
| 119 | + /*计划早高峰班次实时数*/ | |
| 120 | + private String jhzgfbcss; | |
| 121 | + /*实际早高峰班次*/ | |
| 122 | + private String sjzgfbc; | |
| 123 | + /*计划晚高峰班次总数*/ | |
| 124 | + private String jhwgfbcz; | |
| 125 | + /*计划晚高峰班次实时数*/ | |
| 126 | + private String jhwgfbcss; | |
| 127 | + /*实际晚高峰班次*/ | |
| 128 | + private String sjwgfbc; | |
| 129 | + | |
| 130 | + /*计划线路首末班次数(实时)*/ | |
| 131 | + private String jhsmbcs; | |
| 132 | + /*实际线路首末班次准点数(实时)*/ | |
| 133 | + private String sjsmbczds; | |
| 134 | + /*线路首末班次准点率(实时)*/ | |
| 135 | + private String smbczdl; | |
| 136 | + /*计划线路首末班次数(全天总)*/ | |
| 137 | + private String jhsmbcsz; | |
| 138 | + /*实际线路首末班次准点数(全天总)*/ | |
| 139 | + private String sjsmbczdsz; | |
| 140 | + /*线路首末班次准点率(全天总)*/ | |
| 141 | + private String smbczdlz; | |
| 142 | + | |
| 143 | + /*创建时间(更新时间)*/ | |
| 144 | + private Date createDate; | |
| 145 | + | |
| 146 | + | |
| 147 | + public Integer getId() { | |
| 148 | + return id; | |
| 149 | + } | |
| 150 | + public void setId(Integer id) { | |
| 151 | + this.id = id; | |
| 152 | + } | |
| 153 | + public String getGsdm() { | |
| 154 | + return gsdm; | |
| 155 | + } | |
| 156 | + public void setGsdm(String gsdm) { | |
| 157 | + this.gsdm = gsdm; | |
| 158 | + } | |
| 159 | + public String getFgsdm() { | |
| 160 | + return fgsdm; | |
| 161 | + } | |
| 162 | + public void setFgsdm(String fgsdm) { | |
| 163 | + this.fgsdm = fgsdm; | |
| 164 | + } | |
| 165 | + public String getDate() { | |
| 166 | + return date; | |
| 167 | + } | |
| 168 | + public void setDate(String date) { | |
| 169 | + this.date = date; | |
| 170 | + } | |
| 171 | + public String getShanghailinecode() { | |
| 172 | + return shanghailinecode; | |
| 173 | + } | |
| 174 | + public void setShanghailinecode(String shanghailinecode) { | |
| 175 | + this.shanghailinecode = shanghailinecode; | |
| 176 | + } | |
| 177 | + public String getXl() { | |
| 178 | + return xl; | |
| 179 | + } | |
| 180 | + public void setXl(String xl) { | |
| 181 | + this.xl = xl; | |
| 182 | + } | |
| 183 | + public String getXlName() { | |
| 184 | + return xlName; | |
| 185 | + } | |
| 186 | + public void setXlName(String xlName) { | |
| 187 | + this.xlName = xlName; | |
| 188 | + } | |
| 189 | + public String getJhszfcs() { | |
| 190 | + return jhszfcs; | |
| 191 | + } | |
| 192 | + public void setJhszfcs(String jhszfcs) { | |
| 193 | + this.jhszfcs = jhszfcs; | |
| 194 | + } | |
| 195 | + public String getSjszfczds() { | |
| 196 | + return sjszfczds; | |
| 197 | + } | |
| 198 | + public void setSjszfczds(String sjszfczds) { | |
| 199 | + this.sjszfczds = sjszfczds; | |
| 200 | + } | |
| 201 | + public String getSzfczdl() { | |
| 202 | + return szfczdl; | |
| 203 | + } | |
| 204 | + public void setSzfczdl(String szfczdl) { | |
| 205 | + this.szfczdl = szfczdl; | |
| 206 | + } | |
| 207 | + public String getJhbc() { | |
| 208 | + return jhbc; | |
| 209 | + } | |
| 210 | + public void setJhbc(String jhbc) { | |
| 211 | + this.jhbc = jhbc; | |
| 212 | + } | |
| 213 | + public String getSjbc() { | |
| 214 | + return sjbc; | |
| 215 | + } | |
| 216 | + public void setSjbc(String sjbc) { | |
| 217 | + this.sjbc = sjbc; | |
| 218 | + } | |
| 219 | + public String getBczxl() { | |
| 220 | + return bczxl; | |
| 221 | + } | |
| 222 | + public void setBczxl(String bczxl) { | |
| 223 | + this.bczxl = bczxl; | |
| 224 | + } | |
| 225 | + public String getJhcc() { | |
| 226 | + return jhcc; | |
| 227 | + } | |
| 228 | + public void setJhcc(String jhcc) { | |
| 229 | + this.jhcc = jhcc; | |
| 230 | + } | |
| 231 | + public String getSjcc() { | |
| 232 | + return sjcc; | |
| 233 | + } | |
| 234 | + public void setSjcc(String sjcc) { | |
| 235 | + this.sjcc = sjcc; | |
| 236 | + } | |
| 237 | + public String getCcl() { | |
| 238 | + return ccl; | |
| 239 | + } | |
| 240 | + public void setCcl(String ccl) { | |
| 241 | + this.ccl = ccl; | |
| 242 | + } | |
| 243 | + public String getJhyylc() { | |
| 244 | + return jhyylc; | |
| 245 | + } | |
| 246 | + public void setJhyylc(String jhyylc) { | |
| 247 | + this.jhyylc = jhyylc; | |
| 248 | + } | |
| 249 | + public String getSjyylc() { | |
| 250 | + return sjyylc; | |
| 251 | + } | |
| 252 | + public void setSjyylc(String sjyylc) { | |
| 253 | + this.sjyylc = sjyylc; | |
| 254 | + } | |
| 255 | + public String getYylczxl() { | |
| 256 | + return yylczxl; | |
| 257 | + } | |
| 258 | + public void setYylczxl(String yylczxl) { | |
| 259 | + this.yylczxl = yylczxl; | |
| 260 | + } | |
| 261 | + public String getJhcrgl() { | |
| 262 | + return jhcrgl; | |
| 263 | + } | |
| 264 | + public void setJhcrgl(String jhcrgl) { | |
| 265 | + this.jhcrgl = jhcrgl; | |
| 266 | + } | |
| 267 | + public String getSjcrgl() { | |
| 268 | + return sjcrgl; | |
| 269 | + } | |
| 270 | + public void setSjcrgl(String sjcrgl) { | |
| 271 | + this.sjcrgl = sjcrgl; | |
| 272 | + } | |
| 273 | + public String getCrglzxl() { | |
| 274 | + return crglzxl; | |
| 275 | + } | |
| 276 | + public void setCrglzxl(String crglzxl) { | |
| 277 | + this.crglzxl = crglzxl; | |
| 278 | + } | |
| 279 | + public String getGfbcs() { | |
| 280 | + return gfbcs; | |
| 281 | + } | |
| 282 | + public void setGfbcs(String gfbcs) { | |
| 283 | + this.gfbcs = gfbcs; | |
| 284 | + } | |
| 285 | + public String getGfdbbcs() { | |
| 286 | + return gfdbbcs; | |
| 287 | + } | |
| 288 | + public void setGfdbbcs(String gfdbbcs) { | |
| 289 | + this.gfdbbcs = gfdbbcs; | |
| 290 | + } | |
| 291 | + public String getGfdbl() { | |
| 292 | + return gfdbl; | |
| 293 | + } | |
| 294 | + public void setGfdbl(String gfdbl) { | |
| 295 | + this.gfdbl = gfdbl; | |
| 296 | + } | |
| 297 | + public String getDgbcs() { | |
| 298 | + return dgbcs; | |
| 299 | + } | |
| 300 | + public void setDgbcs(String dgbcs) { | |
| 301 | + this.dgbcs = dgbcs; | |
| 302 | + } | |
| 303 | + public String getDgdbbcs() { | |
| 304 | + return dgdbbcs; | |
| 305 | + } | |
| 306 | + public void setDgdbbcs(String dgdbbcs) { | |
| 307 | + this.dgdbbcs = dgdbbcs; | |
| 308 | + } | |
| 309 | + public String getDgdbl() { | |
| 310 | + return dgdbl; | |
| 311 | + } | |
| 312 | + public void setDgdbl(String dgdbl) { | |
| 313 | + this.dgdbl = dgdbl; | |
| 314 | + } | |
| 315 | + public String getJhzgl() { | |
| 316 | + return jhzgl; | |
| 317 | + } | |
| 318 | + public void setJhzgl(String jhzgl) { | |
| 319 | + this.jhzgl = jhzgl; | |
| 320 | + } | |
| 321 | + public String getSjzgl() { | |
| 322 | + return sjzgl; | |
| 323 | + } | |
| 324 | + public void setSjzgl(String sjzgl) { | |
| 325 | + this.sjzgl = sjzgl; | |
| 326 | + } | |
| 327 | + | |
| 328 | + | |
| 329 | + /* | |
| 330 | + *产研院接口字段 | |
| 331 | + */ | |
| 332 | + public String getJhzglz() { | |
| 333 | + return jhzglz; | |
| 334 | + } | |
| 335 | + public void setJhzglz(String jhzglz) { | |
| 336 | + this.jhzglz = jhzglz; | |
| 337 | + } | |
| 338 | + public String getJhyylcz() { | |
| 339 | + return jhyylcz; | |
| 340 | + } | |
| 341 | + public void setJhyylcz(String jhyylcz) { | |
| 342 | + this.jhyylcz = jhyylcz; | |
| 343 | + } | |
| 344 | + public String getJhccz() { | |
| 345 | + return jhccz; | |
| 346 | + } | |
| 347 | + public void setJhccz(String jhccz) { | |
| 348 | + this.jhccz = jhccz; | |
| 349 | + } | |
| 350 | + public String getJhkslc() { | |
| 351 | + return jhkslc; | |
| 352 | + } | |
| 353 | + public void setJhkslc(String jhkslc) { | |
| 354 | + this.jhkslc = jhkslc; | |
| 355 | + } | |
| 356 | + public String getJhkslcz() { | |
| 357 | + return jhkslcz; | |
| 358 | + } | |
| 359 | + public void setJhkslcz(String jhkslcz) { | |
| 360 | + this.jhkslcz = jhkslcz; | |
| 361 | + } | |
| 362 | + public String getSjkslc() { | |
| 363 | + return sjkslc; | |
| 364 | + } | |
| 365 | + public void setSjkslc(String sjkslc) { | |
| 366 | + this.sjkslc = sjkslc; | |
| 367 | + } | |
| 368 | + public String getJhbcz() { | |
| 369 | + return jhbcz; | |
| 370 | + } | |
| 371 | + public void setJhbcz(String jhbcz) { | |
| 372 | + this.jhbcz = jhbcz; | |
| 373 | + } | |
| 374 | + public String getSjgfbcs() { | |
| 375 | + return sjgfbcs; | |
| 376 | + } | |
| 377 | + public void setSjgfbcs(String sjgfbcs) { | |
| 378 | + this.sjgfbcs = sjgfbcs; | |
| 379 | + } | |
| 380 | + public String getSjdgbcs() { | |
| 381 | + return sjdgbcs; | |
| 382 | + } | |
| 383 | + public void setSjdgbcs(String sjdgbcs) { | |
| 384 | + this.sjdgbcs = sjdgbcs; | |
| 385 | + } | |
| 386 | + public String getJhssgfbcs() { | |
| 387 | + return jhssgfbcs; | |
| 388 | + } | |
| 389 | + public void setJhssgfbcs(String jhssgfbcs) { | |
| 390 | + this.jhssgfbcs = jhssgfbcs; | |
| 391 | + } | |
| 392 | + public String getJhssdgbcs() { | |
| 393 | + return jhssdgbcs; | |
| 394 | + } | |
| 395 | + public void setJhssdgbcs(String jhssdgbcs) { | |
| 396 | + this.jhssdgbcs = jhssdgbcs; | |
| 397 | + } | |
| 398 | + public String getJhgfbcsz() { | |
| 399 | + return jhgfbcsz; | |
| 400 | + } | |
| 401 | + public void setJhgfbcsz(String jhgfbcsz) { | |
| 402 | + this.jhgfbcsz = jhgfbcsz; | |
| 403 | + } | |
| 404 | + public String getJhdgbcsz() { | |
| 405 | + return jhdgbcsz; | |
| 406 | + } | |
| 407 | + public void setJhdgbcsz(String jhdgbcsz) { | |
| 408 | + this.jhdgbcsz = jhdgbcsz; | |
| 409 | + } | |
| 410 | + public String getJhprz() { | |
| 411 | + return jhprz; | |
| 412 | + } | |
| 413 | + public void setJhprz(String jhprz) { | |
| 414 | + this.jhprz = jhprz; | |
| 415 | + } | |
| 416 | + public String getJhprss() { | |
| 417 | + return jhprss; | |
| 418 | + } | |
| 419 | + public void setJhprss(String jhprss) { | |
| 420 | + this.jhprss = jhprss; | |
| 421 | + } | |
| 422 | + public String getSjpr() { | |
| 423 | + return sjpr; | |
| 424 | + } | |
| 425 | + public void setSjpr(String sjpr) { | |
| 426 | + this.sjpr = sjpr; | |
| 427 | + } | |
| 428 | + public String getEndtime() { | |
| 429 | + return endtime; | |
| 430 | + } | |
| 431 | + public void setEndtime(String endtime) { | |
| 432 | + this.endtime = endtime; | |
| 433 | + } | |
| 434 | + public String getJhzgfbcz() { | |
| 435 | + return jhzgfbcz; | |
| 436 | + } | |
| 437 | + public void setJhzgfbcz(String jhzgfbcz) { | |
| 438 | + this.jhzgfbcz = jhzgfbcz; | |
| 439 | + } | |
| 440 | + public String getJhzgfbcss() { | |
| 441 | + return jhzgfbcss; | |
| 442 | + } | |
| 443 | + public void setJhzgfbcss(String jhzgfbcss) { | |
| 444 | + this.jhzgfbcss = jhzgfbcss; | |
| 445 | + } | |
| 446 | + public String getSjzgfbc() { | |
| 447 | + return sjzgfbc; | |
| 448 | + } | |
| 449 | + public void setSjzgfbc(String sjzgfbc) { | |
| 450 | + this.sjzgfbc = sjzgfbc; | |
| 451 | + } | |
| 452 | + public String getJhwgfbcz() { | |
| 453 | + return jhwgfbcz; | |
| 454 | + } | |
| 455 | + public void setJhwgfbcz(String jhwgfbcz) { | |
| 456 | + this.jhwgfbcz = jhwgfbcz; | |
| 457 | + } | |
| 458 | + public String getJhwgfbcss() { | |
| 459 | + return jhwgfbcss; | |
| 460 | + } | |
| 461 | + public void setJhwgfbcss(String jhwgfbcss) { | |
| 462 | + this.jhwgfbcss = jhwgfbcss; | |
| 463 | + } | |
| 464 | + public String getSjwgfbc() { | |
| 465 | + return sjwgfbc; | |
| 466 | + } | |
| 467 | + public void setSjwgfbc(String sjwgfbc) { | |
| 468 | + this.sjwgfbc = sjwgfbc; | |
| 469 | + } | |
| 470 | + public String getJhsmbcs() { | |
| 471 | + return jhsmbcs; | |
| 472 | + } | |
| 473 | + public void setJhsmbcs(String jhsmbcs) { | |
| 474 | + this.jhsmbcs = jhsmbcs; | |
| 475 | + } | |
| 476 | + public String getJhsmbcsz() { | |
| 477 | + return jhsmbcsz; | |
| 478 | + } | |
| 479 | + public void setJhsmbcsz(String jhsmbcsz) { | |
| 480 | + this.jhsmbcsz = jhsmbcsz; | |
| 481 | + } | |
| 482 | + public String getSjsmbczds() { | |
| 483 | + return sjsmbczds; | |
| 484 | + } | |
| 485 | + public void setSjsmbczds(String sjsmbczds) { | |
| 486 | + this.sjsmbczds = sjsmbczds; | |
| 487 | + } | |
| 488 | + public String getSjsmbczdsz() { | |
| 489 | + return sjsmbczdsz; | |
| 490 | + } | |
| 491 | + public void setSjsmbczdsz(String sjsmbczdsz) { | |
| 492 | + this.sjsmbczdsz = sjsmbczdsz; | |
| 493 | + } | |
| 494 | + public String getSmbczdl() { | |
| 495 | + return smbczdl; | |
| 496 | + } | |
| 497 | + public void setSmbczdl(String smbczdl) { | |
| 498 | + this.smbczdl = smbczdl; | |
| 499 | + } | |
| 500 | + public String getSmbczdlz() { | |
| 501 | + return smbczdlz; | |
| 502 | + } | |
| 503 | + public void setSmbczdlz(String smbczdlz) { | |
| 504 | + this.smbczdlz = smbczdlz; | |
| 505 | + } | |
| 506 | + public Date getCreateDate() { | |
| 507 | + return createDate; | |
| 508 | + } | |
| 509 | + public void setCreateDate(Date createDate) { | |
| 510 | + this.createDate = createDate; | |
| 511 | + } | |
| 512 | + | |
| 513 | +} | ... | ... |
src/main/java/com/bsth/repository/calc/CalcCountRepository.java
0 → 100644
| 1 | +package com.bsth.repository.calc; | |
| 2 | + | |
| 3 | +import com.bsth.entity.calc.CalcCount; | |
| 4 | +import com.bsth.repository.BaseRepository; | |
| 5 | + | |
| 6 | +import java.util.List; | |
| 7 | + | |
| 8 | +import org.springframework.data.jpa.repository.Query; | |
| 9 | +import org.springframework.stereotype.Repository; | |
| 10 | + | |
| 11 | +/** | |
| 12 | + * lgf 2022/7/19 | |
| 13 | + */ | |
| 14 | +@Repository | |
| 15 | +public interface CalcCountRepository extends BaseRepository<CalcCount, Integer>{ | |
| 16 | + | |
| 17 | + //按照时间段、公司查询 | |
| 18 | + @Query(value="select DISTINCT c from CalcCount c where c.date between ?1 and ?2 and c.gsdm like %?3% and c.fgsdm like %?4% order by c.xlName") | |
| 19 | + List<CalcCount> selectByDateAndCompany(String date1,String date2,String gsdm,String fgsdm); | |
| 20 | + | |
| 21 | + //按照时间段、线路查询 | |
| 22 | + @Query(value="select DISTINCT c from CalcCount c where c.date between ?1 and ?2 and c.gsdm like %?3% and c.fgsdm like %?4% and xl = ?5 order by c.xlName") | |
| 23 | + List<CalcCount> selectByDateAndLine(String date1,String date2,String gsdm,String fgsdm,String line); | |
| 24 | +} | ... | ... |
src/main/java/com/bsth/service/calc/CalcMixService.java
| ... | ... | @@ -12,4 +12,5 @@ public interface CalcMixService { |
| 12 | 12 | |
| 13 | 13 | List<Map<String, Object>> singledatatj(String line, String startDate, String endDate, String tjtype, String cont, String gsdmSing, String fgsdmSing); |
| 14 | 14 | |
| 15 | + List<Map<String, Object>> statisticsIndex(String startDate, String endDate, String line, String sfyy, String type, String gsdm, String fgsdm); | |
| 15 | 16 | } | ... | ... |
src/main/java/com/bsth/service/calc/impl/CalcMixServiceImpl.java
| 1 | 1 | package com.bsth.service.calc.impl; |
| 2 | 2 | |
| 3 | +import java.math.BigDecimal; | |
| 3 | 4 | import java.sql.ResultSet; |
| 4 | 5 | import java.sql.SQLException; |
| 6 | +import java.text.NumberFormat; | |
| 7 | +import java.text.SimpleDateFormat; | |
| 5 | 8 | import java.util.ArrayList; |
| 9 | +import java.util.Date; | |
| 6 | 10 | import java.util.HashMap; |
| 11 | +import java.util.HashSet; | |
| 12 | +import java.util.Iterator; | |
| 7 | 13 | import java.util.List; |
| 8 | 14 | import java.util.Map; |
| 15 | +import java.util.Set; | |
| 9 | 16 | |
| 10 | 17 | import com.bsth.data.BasicData; |
| 18 | +import com.bsth.entity.calc.CalcCount; | |
| 19 | +import com.bsth.entity.calc.CalcInterval; | |
| 11 | 20 | import com.bsth.entity.calc.CalcWaybill; |
| 12 | 21 | import com.bsth.entity.mcy_forms.Singledata; |
| 22 | +import com.bsth.repository.calc.CalcCountRepository; | |
| 13 | 23 | import com.bsth.repository.calc.CalcWaybillRepository; |
| 24 | +import com.bsth.service.LineService; | |
| 14 | 25 | import com.bsth.service.calc.CalcMixService; |
| 15 | 26 | import com.bsth.util.Arith; |
| 27 | +import com.bsth.util.ReportUtils; | |
| 28 | +import com.mysql.fabric.xmlrpc.base.Array; | |
| 16 | 29 | |
| 17 | 30 | import org.slf4j.Logger; |
| 18 | 31 | import org.slf4j.LoggerFactory; |
| ... | ... | @@ -29,6 +42,12 @@ public class CalcMixServiceImpl implements CalcMixService { |
| 29 | 42 | |
| 30 | 43 | @Autowired |
| 31 | 44 | private CalcWaybillRepository calcRepository; |
| 45 | + | |
| 46 | + @Autowired | |
| 47 | + private CalcCountRepository calcCountRepository; | |
| 48 | + | |
| 49 | + @Autowired | |
| 50 | + private LineService lineService; | |
| 32 | 51 | |
| 33 | 52 | @Autowired |
| 34 | 53 | JdbcTemplate jdbcTemplate; |
| ... | ... | @@ -335,4 +354,163 @@ public class CalcMixServiceImpl implements CalcMixService { |
| 335 | 354 | return resList; |
| 336 | 355 | } |
| 337 | 356 | |
| 357 | + @Override | |
| 358 | + public List<Map<String, Object>> statisticsIndex(String startDate, String endDate, String line, String sfyy, | |
| 359 | + String type, String gsdm, String fgsdm) { | |
| 360 | + List<Map<String, Object>> resList = new ArrayList<Map<String, Object>>(); | |
| 361 | + // TODO Auto-generated method stub | |
| 362 | + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); | |
| 363 | + NumberFormat nf = NumberFormat.getNumberInstance(); | |
| 364 | + nf.setMinimumFractionDigits(2); | |
| 365 | + | |
| 366 | + String dates = ""; | |
| 367 | + if(startDate.equals(endDate)){ | |
| 368 | + String[] split = startDate.split("-"); | |
| 369 | + dates = split[0]+"年"+split[1]+"月"+split[2]+"日"; | |
| 370 | + } else { | |
| 371 | + String[] split1 = startDate.split("-"); | |
| 372 | + String[] split2 = endDate.split("-"); | |
| 373 | + dates = split1[0]+"年"+split1[1]+"月"+split1[2]+"日--" | |
| 374 | + +split2[0]+"年"+split2[1]+"月"+split2[2]+"日"; | |
| 375 | + } | |
| 376 | + | |
| 377 | + Map<String, Boolean> lineNature = lineService.lineNature(); | |
| 378 | + | |
| 379 | + String nysql="SELECT line_name, line_code FROM bsth_c_line_plate"; | |
| 380 | + List<Map<String, String>> listPlate = jdbcTemplate.query(nysql, new RowMapper<Map<String, String>>() { | |
| 381 | + @Override | |
| 382 | + public Map<String, String> mapRow(ResultSet arg0, int arg1) throws SQLException { | |
| 383 | + Map<String, String> m = new HashMap<String, String>(); | |
| 384 | + m.put("lineName", arg0.getString("line_name")); | |
| 385 | + m.put("lineCode", arg0.getString("line_code")); | |
| 386 | + return m; | |
| 387 | + } | |
| 388 | + }); | |
| 389 | + Set<String> linePlate = new HashSet<String>(); | |
| 390 | + for(Map<String, String> m : listPlate){ | |
| 391 | + linePlate.add(m.get("lineName")); | |
| 392 | + } | |
| 393 | + | |
| 394 | + List<CalcCount> list = new ArrayList<CalcCount>(); | |
| 395 | + if(line.length() > 0){ | |
| 396 | + list = calcCountRepository.selectByDateAndLine(startDate, endDate, gsdm, fgsdm, line); | |
| 397 | + } else { | |
| 398 | + list = calcCountRepository.selectByDateAndCompany(startDate, endDate, gsdm, fgsdm); | |
| 399 | + } | |
| 400 | + | |
| 401 | + List<String> keyList = new ArrayList<String>(); | |
| 402 | + Map<String, List<CalcCount>> keyMap = new HashMap<String, List<CalcCount>>(); | |
| 403 | + for(CalcCount c : list){ | |
| 404 | + if("1".equals(sfyy)){ | |
| 405 | + if((!(lineNature.containsKey(c.getXl()))) || (!(lineNature.get(c.getXl())))){ | |
| 406 | + continue; | |
| 407 | + } | |
| 408 | + } else if("2".equals(sfyy)){ | |
| 409 | + if(lineNature.containsKey(c.getXl()) && lineNature.get(c.getXl())){ | |
| 410 | + continue; | |
| 411 | + } | |
| 412 | + } | |
| 413 | + String key = c.getGsdm() + "/" + c.getFgsdm() + "/" + c.getXl() + "/" + c.getXlName(); | |
| 414 | + if(!(keyMap.containsKey(key))){ | |
| 415 | + keyMap.put(key, new ArrayList<CalcCount>()); | |
| 416 | + keyList.add(key); | |
| 417 | + } | |
| 418 | + keyMap.get(key).add(c); | |
| 419 | + } | |
| 420 | + Map<String, Object> sumMap = new HashMap<String, Object>(); | |
| 421 | + sumMap.put("date", "合计汇总"); | |
| 422 | + sumMap.put("company", ""); | |
| 423 | + sumMap.put("subCompany", ""); | |
| 424 | + sumMap.put("line", ""); | |
| 425 | + long jhbc_s = 0l, sjbc_s = 0l, | |
| 426 | + jhsm_s = 0l, sjsm_s = 0l, | |
| 427 | + jhfc_s = 0l, sjfc_s = 0l, | |
| 428 | + jhgp_s = 0l, sjgp_s = 0l; | |
| 429 | + for(String key : keyList){ | |
| 430 | + List<CalcCount> ccList = keyMap.get(key); | |
| 431 | + Map<String, Object> m = new HashMap<String, Object>(); | |
| 432 | + m.put("date", dates); | |
| 433 | + long jhbc = 0l, sjbc = 0l, | |
| 434 | + jhsm = 0l, sjsm = 0l, | |
| 435 | + jhfc = 0l, sjfc = 0l; | |
| 436 | + for(CalcCount c : ccList){ | |
| 437 | + if(!(m.containsKey("company"))){ | |
| 438 | + m.put("company", BasicData.businessCodeNameMap.get(c.getGsdm())); | |
| 439 | + } | |
| 440 | + if(!(m.containsKey("subCompany"))){ | |
| 441 | + m.put("subCompany", BasicData.businessFgsCodeNameMap.get(c.getFgsdm()+"_"+c.getGsdm())); | |
| 442 | + } | |
| 443 | + if(!(m.containsKey("line"))){ | |
| 444 | + m.put("line", c.getXlName()); | |
| 445 | + } | |
| 446 | + jhbc += Long.valueOf(c.getJhsmbcs()!=null?c.getJhbc():"0"); | |
| 447 | + sjbc += Long.valueOf(c.getJhsmbcs()!=null?c.getSjbc():"0"); | |
| 448 | + jhsm += Long.valueOf(c.getJhsmbcs()!=null?c.getJhsmbcs():"0"); | |
| 449 | + sjsm += Long.valueOf(c.getJhsmbcs()!=null?c.getSjsmbczds():"0"); | |
| 450 | + jhfc += Long.valueOf(c.getJhsmbcs()!=null?c.getJhszfcs():"0"); | |
| 451 | + sjfc += Long.valueOf(c.getJhsmbcs()!=null?c.getSjszfczds():"0"); | |
| 452 | + } | |
| 453 | + m.put("jhbc", jhbc); | |
| 454 | + m.put("sjbc", sjbc); | |
| 455 | + m.put("jhsm", jhsm); | |
| 456 | + m.put("sjsm", sjsm); | |
| 457 | + m.put("jhfc", jhfc); | |
| 458 | + m.put("sjfc", sjfc); | |
| 459 | + m.put("bczdl", jhbc>0?new BigDecimal(sjbc*100l) | |
| 460 | + .divide(new BigDecimal(jhbc), 2, BigDecimal.ROUND_HALF_UP)+"%":"0%"); | |
| 461 | + m.put("smzdl", jhsm>0?new BigDecimal(sjsm*100l) | |
| 462 | + .divide(new BigDecimal(jhsm), 2, BigDecimal.ROUND_HALF_UP)+"%":"0%"); | |
| 463 | + m.put("fczdl", jhfc>0?new BigDecimal(sjfc*100l) | |
| 464 | + .divide(new BigDecimal(jhfc), 2, BigDecimal.ROUND_HALF_UP)+"%":"0%"); | |
| 465 | + if(linePlate.contains(""+m.get("line"))){ | |
| 466 | + m.put("gpzdl", m.get("fczdl").toString()); | |
| 467 | + jhgp_s += jhfc; | |
| 468 | + sjgp_s += sjfc; | |
| 469 | + } else { | |
| 470 | + m.put("gpzdl", ""); | |
| 471 | + } | |
| 472 | + jhbc_s += jhbc; | |
| 473 | + sjbc_s += sjbc; | |
| 474 | + jhsm_s += jhsm; | |
| 475 | + sjsm_s += sjsm; | |
| 476 | + jhfc_s += jhfc; | |
| 477 | + sjfc_s += sjfc; | |
| 478 | + resList.add(m); | |
| 479 | + } | |
| 480 | + if(resList.size() > 0){ | |
| 481 | + sumMap.put("jhbc", jhbc_s); | |
| 482 | + sumMap.put("sjbc", sjbc_s); | |
| 483 | + sumMap.put("jhsm", jhsm_s); | |
| 484 | + sumMap.put("sjsm", sjsm_s); | |
| 485 | + sumMap.put("jhfc", jhfc_s); | |
| 486 | + sumMap.put("sjfc", sjfc_s); | |
| 487 | + sumMap.put("bczdl", jhbc_s>0?new BigDecimal(sjbc_s*100l) | |
| 488 | + .divide(new BigDecimal(jhbc_s), 2, BigDecimal.ROUND_HALF_UP)+"%":"0%"); | |
| 489 | + sumMap.put("smzdl", jhsm_s>0?new BigDecimal(sjsm_s*100l) | |
| 490 | + .divide(new BigDecimal(jhsm_s), 2, BigDecimal.ROUND_HALF_UP)+"%":"0%"); | |
| 491 | + sumMap.put("fczdl", jhfc_s>0?new BigDecimal(sjfc_s*100l) | |
| 492 | + .divide(new BigDecimal(jhfc_s), 2, BigDecimal.ROUND_HALF_UP)+"%":"0%"); | |
| 493 | + sumMap.put("gpzdl", jhgp_s>0?new BigDecimal(sjgp_s*100l) | |
| 494 | + .divide(new BigDecimal(jhgp_s), 2, BigDecimal.ROUND_HALF_UP)+"%":"0%"); | |
| 495 | + resList.add(sumMap); | |
| 496 | + } | |
| 497 | + | |
| 498 | + if(type.equals("export")){ | |
| 499 | + List<Iterator<?>> listI = new ArrayList<Iterator<?>>(); | |
| 500 | + Map<String,Object> m = new HashMap<String, Object>(); | |
| 501 | + ReportUtils ee = new ReportUtils(); | |
| 502 | + try { | |
| 503 | + listI.add(resList.iterator()); | |
| 504 | + String path = this.getClass().getResource("/").getPath()+"static/pages/forms/"; | |
| 505 | + ee.excelReplace(listI, new Object[] { m }, path+"mould/statisticsIndex.xls", | |
| 506 | + path+"export/" + dates + "-准点率统计.xls"); | |
| 507 | + } catch (Exception e) { | |
| 508 | + // TODO: handle exception | |
| 509 | + e.printStackTrace(); | |
| 510 | + } | |
| 511 | + } | |
| 512 | + | |
| 513 | + return resList; | |
| 514 | + } | |
| 515 | + | |
| 338 | 516 | } | ... | ... |
src/main/resources/static/pages/forms/mould/statisticsIndex.xls
0 → 100644
No preview for this file type
src/main/resources/static/pages/forms/statement/statisticsIndex.html
0 → 100644
| 1 | +<style type="text/css"> | |
| 2 | + .table-bordered { | |
| 3 | + border: 1px solid; } | |
| 4 | + .table-bordered > thead > tr > th, | |
| 5 | + .table-bordered > thead > tr > td, | |
| 6 | + .table-bordered > tbody > tr > th, | |
| 7 | + .table-bordered > tbody > tr > td, | |
| 8 | + .table-bordered > tfoot > tr > th, | |
| 9 | + .table-bordered > tfoot > tr > td { | |
| 10 | + border: 1px solid; | |
| 11 | + text-align: center; } | |
| 12 | + .table-bordered > thead > tr > th, | |
| 13 | + .table-bordered > thead > tr > td { | |
| 14 | + border-bottom-width: 2px; } | |
| 15 | + | |
| 16 | + .table > tbody + tbody { | |
| 17 | + border-top: 1px solid; } | |
| 18 | +</style> | |
| 19 | + | |
| 20 | +<div class="page-head"> | |
| 21 | + <div class="page-title"> | |
| 22 | + <h1>准点率统计</h1> | |
| 23 | + </div> | |
| 24 | +</div> | |
| 25 | + | |
| 26 | +<div class="row"> | |
| 27 | + <div class="col-md-12"> | |
| 28 | + <div class="portlet light porttlet-fit bordered"> | |
| 29 | + <div class="portlet-title"> | |
| 30 | + <form id="history" class="form-inline" action=""> | |
| 31 | + <div style="display: inline-block;margin-left: 33px;" id="company1"> | |
| 32 | + <span class="item-label" style="width: 80px;">公司: </span> | |
| 33 | + <select class="form-control" name="company" id="company" style="width: 160px;"></select> | |
| 34 | + </div> | |
| 35 | + <div style="display: inline-block;margin-left: 19px;" id="subCompany1"> | |
| 36 | + <span class="item-label" style="width: 80px;">分公司: </span> | |
| 37 | + <select class="form-control" name="subCompany" id="subCompany" style="width: 160px;"></select> | |
| 38 | + </div> | |
| 39 | + <div style="display: inline-block;margin-left: 33px;"> | |
| 40 | + <span class="item-label" style="width: 80px;">线路: </span> | |
| 41 | + <select class="form-control" name="line" id="line" style="width: 160px;"></select> | |
| 42 | + </div> | |
| 43 | + <div style="margin-top: 10px"></div> | |
| 44 | + <div style="display: inline-block; margin-left: 5px"> | |
| 45 | + <span class="item-label" style="width: 80px;">是否营运: </span> | |
| 46 | + <select class="form-control" name="sfyy" id="sfyy" style="width: 160px;"> | |
| 47 | + <option value="0" selected="selected">全部线路</option> | |
| 48 | + <option value="1">营运线路</option> | |
| 49 | + <option value="2">非营运线路</option> | |
| 50 | + </select> | |
| 51 | + </div> | |
| 52 | + <div style="display: inline-block;margin-left: 5px;"> | |
| 53 | + <span class="item-label" style="width: 80px;">开始时间: </span> | |
| 54 | + <input class="form-control" type="text" id="startDate" style="width: 160px;"/> | |
| 55 | + </div> | |
| 56 | + <div style="display: inline-block;margin-left: 5px;"> | |
| 57 | + <span class="item-label" style="width: 80px;">结束时间: </span> | |
| 58 | + <input class="form-control" type="text" id="endDate" style="width: 160px;"/> | |
| 59 | + </div> | |
| 60 | + <div class="form-group" style="margin-left: 10px;"> | |
| 61 | + <input class="btn btn-default" type="button" id="query" value="筛选"/> | |
| 62 | + <input class="btn btn-default" type="button" id="export" value="导出"/> | |
| 63 | + </div> | |
| 64 | + </form> | |
| 65 | + </div> | |
| 66 | + <div class="portlet-body"> | |
| 67 | + <div class="table-container" style="margin-top: 10px;overflow:auto;min-width: 906px"> | |
| 68 | + <table class="table table-bordered table-hover table-checkable" id="forms"> | |
| 69 | + <thead> | |
| 70 | + <tr class="hidden"> | |
| 71 | + <th width="240px">日期</th> | |
| 72 | +<!-- <th>公司</th> --> | |
| 73 | + <th>分公司</th> | |
| 74 | + <th>线路</th> | |
| 75 | + <th>班次准点率</th> | |
| 76 | + <th>首末班准点率</th> | |
| 77 | + <th>起讫站发车准点率</th> | |
| 78 | + <th>挂牌线路起讫站发车准点率</th> | |
| 79 | + </tr> | |
| 80 | + </thead> | |
| 81 | + <tbody> | |
| 82 | + | |
| 83 | + </tbody> | |
| 84 | + </table> | |
| 85 | + </div> | |
| 86 | + <div class="table-container" style="margin-top: 10px;overflow:auto;min-width: 906px"> | |
| 87 | + <input class="btn btn-default hidden" type="button" id="exportMap" value="导出明细" style="float: right;"/> | |
| 88 | + <table class="table table-bordered table-hover table-checkable" id="map"> | |
| 89 | + <thead> | |
| 90 | + <tr class="hidden"> | |
| 91 | + <th rowspan="2" align="center">日期</th> | |
| 92 | + <th rowspan="2">线路</th> | |
| 93 | + <th colspan="4">上行首发</th> | |
| 94 | + <th colspan="4">上行末发</th> | |
| 95 | + <th colspan="4">下行首发</th> | |
| 96 | + <th colspan="4">下行末发</th> | |
| 97 | + </tr> | |
| 98 | + <tr class="hidden"> | |
| 99 | + <th align="center">站点</th> | |
| 100 | + <th>计发</th> | |
| 101 | + <th>实发</th> | |
| 102 | + <th>快慢</th> | |
| 103 | + <th>站点</th> | |
| 104 | + <th>计发</th> | |
| 105 | + <th>实发</th> | |
| 106 | + <th>快慢</th> | |
| 107 | + <th>站点</th> | |
| 108 | + <th>计发</th> | |
| 109 | + <th>实发</th> | |
| 110 | + <th>快慢</th> | |
| 111 | + <th>站点</th> | |
| 112 | + <th>计发</th> | |
| 113 | + <th>实发</th> | |
| 114 | + <th>快慢</th> | |
| 115 | + </tr> | |
| 116 | + </thead> | |
| 117 | + <tbody> | |
| 118 | + | |
| 119 | + </tbody> | |
| 120 | + </table> | |
| 121 | + | |
| 122 | + <input class="btn btn-default hidden" type="button" id="exportSumMap" value="导出明细" style="float: right;"/> | |
| 123 | + <table class="table table-bordered table-hover table-checkable" id="sumMap"> | |
| 124 | + <thead> | |
| 125 | + <tr class="hidden"> | |
| 126 | + <th align="center">序号</th> | |
| 127 | + <th>日期</th> | |
| 128 | + <th>分公司</th> | |
| 129 | + <th>线路</th> | |
| 130 | + <th>首末班次</th> | |
| 131 | + <th>计发</th> | |
| 132 | + <th>实发</th> | |
| 133 | + <th>误差</th> | |
| 134 | + <th>调度路单备注</th> | |
| 135 | + </tr> | |
| 136 | + </thead> | |
| 137 | + <tbody> | |
| 138 | + | |
| 139 | + </tbody> | |
| 140 | + </table> | |
| 141 | + </div> | |
| 142 | + </div> | |
| 143 | + </div> | |
| 144 | + </div> | |
| 145 | +</div> | |
| 146 | + | |
| 147 | +<script type="text/javascript" src="/pages/forms/statement/js/jquery.table2excel.min.js"></script> | |
| 148 | +<script> | |
| 149 | + $(function(){ | |
| 150 | + $('#export').attr('disabled', "true"); | |
| 151 | + | |
| 152 | + // 关闭左侧栏 | |
| 153 | + if (!$('body').hasClass('page-sidebar-closed')) | |
| 154 | + $('.menu-toggler.sidebar-toggler').click(); | |
| 155 | + | |
| 156 | + | |
| 157 | + var d = new Date(); | |
| 158 | + d.setTime(d.getTime() - 1*1000*60*60*24); | |
| 159 | + var year = d.getFullYear(); | |
| 160 | + var month = d.getMonth() + 1; | |
| 161 | + var day = d.getDate(); | |
| 162 | + if(month < 10) | |
| 163 | + month = "0" + month; | |
| 164 | + if(day < 10) | |
| 165 | + day = "0" + day; | |
| 166 | + var dateTime = year + "-" + month + "-" + day; | |
| 167 | + $("#startDate,#endDate").datetimepicker({ | |
| 168 | + format : 'YYYY-MM-DD', | |
| 169 | + locale : 'zh-cn', | |
| 170 | + maxDate : dateTime | |
| 171 | + }); | |
| 172 | + $("#startDate").val(year + "-" + month + "-01"); | |
| 173 | + $("#endDate").val(dateTime); | |
| 174 | + | |
| 175 | + var fage=false; | |
| 176 | + var xlList; | |
| 177 | + var obj = []; | |
| 178 | + | |
| 179 | + $.get('/report/lineList',function(result){ | |
| 180 | + xlList=result; | |
| 181 | + $.get('/user/companyData', function(result){ | |
| 182 | + obj = result; | |
| 183 | + var options = ''; | |
| 184 | + for(var i = 0; i < obj.length; i++){ | |
| 185 | + options += '<option value="'+obj[i].companyCode+'">'+obj[i].companyName+'</option>'; | |
| 186 | + } | |
| 187 | + | |
| 188 | + if(obj.length ==0){ | |
| 189 | + $("#company1").css('display','none'); | |
| 190 | + }else if(obj.length ==1){ | |
| 191 | + $("#company1").css('display','none'); | |
| 192 | + if(obj[0].children.length == 1 || obj[0].children.length ==0) | |
| 193 | + $('#subCompany1').css('display','none'); | |
| 194 | + } | |
| 195 | + $('#company').html(options); | |
| 196 | + updateCompany(); | |
| 197 | + }); | |
| 198 | + }) | |
| 199 | + $("#company").on("change",updateCompany); | |
| 200 | + function updateCompany(){ | |
| 201 | + var company = $('#company').val(); | |
| 202 | + var options = '<option value="">全部分公司</option>'; | |
| 203 | + for(var i = 0; i < obj.length; i++){ | |
| 204 | + if(obj[i].companyCode == company){ | |
| 205 | + var children = obj[i].children; | |
| 206 | + for(var j = 0; j < children.length; j++){ | |
| 207 | + options += '<option value="'+children[j].code+'">'+children[j].name+'</option>'; | |
| 208 | + } | |
| 209 | + } | |
| 210 | + } | |
| 211 | + $('#subCompany').html(options); | |
| 212 | + } | |
| 213 | + | |
| 214 | + var tempData = {}; | |
| 215 | + $.get('/report/lineList',function(xlList){ | |
| 216 | + var data = []; | |
| 217 | + data.push({id: " ", text: "全部线路"}); | |
| 218 | + $.get('/user/companyData', function(result){ | |
| 219 | + for(var i = 0; i < result.length; i++){ | |
| 220 | + var companyCode = result[i].companyCode; | |
| 221 | + var children = result[i].children; | |
| 222 | + for(var j = 0; j < children.length; j++){ | |
| 223 | + var code = children[j].code; | |
| 224 | + for(var k=0;k < xlList.length;k++ ){ | |
| 225 | + if(xlList[k]["fgsbm"]==code && xlList[k]["gsbm"]==companyCode){ | |
| 226 | + data.push({id: xlList[k]["xlbm"], text: xlList[k]["xlname"]}); | |
| 227 | + tempData[xlList[k]["xlbm"]] = companyCode+":"+code; | |
| 228 | + } | |
| 229 | + } | |
| 230 | + } | |
| 231 | + } | |
| 232 | + initPinYinSelect2('#line',data,''); | |
| 233 | + | |
| 234 | + }); | |
| 235 | + }); | |
| 236 | + | |
| 237 | + $("#line").on("change", function(){ | |
| 238 | + if($("#line").val() == " "){ | |
| 239 | + $("#company").attr("disabled", false); | |
| 240 | + $("#subCompany").attr("disabled", false); | |
| 241 | + } else { | |
| 242 | + var temp = tempData[$("#line").val()].split(":"); | |
| 243 | + $("#company").val(temp[0]); | |
| 244 | + updateCompany(); | |
| 245 | +// $("#subCompany").val(temp[1]); | |
| 246 | + $("#subCompany").val(""); | |
| 247 | + $("#company").attr("disabled", true); | |
| 248 | +// $("#subCompany").attr("disabled", true); | |
| 249 | + } | |
| 250 | + }); | |
| 251 | + | |
| 252 | + var list; | |
| 253 | + var tempLine; | |
| 254 | + var lineName1; | |
| 255 | + $("#forms tbody").on("click","a",function(){ | |
| 256 | + var index = $(this).parent().parent().index(); | |
| 257 | + if(index < list.length - 1){ | |
| 258 | + $.each(list, function(i, g){ | |
| 259 | + if(index == i){ | |
| 260 | + tempLine = g.xlbm; | |
| 261 | + lineName1 = g.line; | |
| 262 | + var tbodyHtml = template('list_maps',{list:g.map}); | |
| 263 | + $('#map tbody').html(tbodyHtml); | |
| 264 | + $("#sumMap tr").addClass("hidden"); | |
| 265 | + $("#exportSumMap").addClass("hidden"); | |
| 266 | + $("#map .hidden").removeClass("hidden"); | |
| 267 | + $("#exportMap").removeClass("hidden"); | |
| 268 | + $("html,body").animate({scrollTop:$("#map").offset().top},1000); | |
| 269 | + } | |
| 270 | + }); | |
| 271 | + } else { | |
| 272 | + var tempList = []; | |
| 273 | + $.each(list, function(i, g){ | |
| 274 | + if(index == i){ | |
| 275 | + var tbodyHtml = template('list_sumMaps',{list:g.map}); | |
| 276 | + $('#sumMap tbody').html(tbodyHtml); | |
| 277 | + $("#map tr").addClass("hidden"); | |
| 278 | + $("#exportMap").addClass("hidden"); | |
| 279 | + $("#sumMap .hidden").removeClass("hidden"); | |
| 280 | + if(g.map.length > 0) | |
| 281 | + $("#exportSumMap").removeClass("hidden"); | |
| 282 | + $("html,body").animate({scrollTop:$("#sumMap").offset().top},1000); | |
| 283 | + } | |
| 284 | + }); | |
| 285 | + } | |
| 286 | + }); | |
| 287 | + | |
| 288 | + $("#query").on("click",jsDoQuery); | |
| 289 | + | |
| 290 | + var sfyy = 1; | |
| 291 | + var line = $("#line").val(); | |
| 292 | + var company = $("#company").val(); | |
| 293 | + var subCompany = $("#subCompany").val(); | |
| 294 | + var startDate = $("#startDate").val(); | |
| 295 | + var endDate = $("#endDate").val(); | |
| 296 | + var lineName = $('#line option:selected').text(); | |
| 297 | + function jsDoQuery(pagination){ | |
| 298 | + if($("#startDate").val() == null || $("#startDate").val().trim().length == 0){ | |
| 299 | + layer.msg("请选择时间!"); | |
| 300 | + return; | |
| 301 | + } | |
| 302 | + if($("#endDate").val() == null || $("#endDate").val().trim().length == 0){ | |
| 303 | + layer.msg("请选择时间!"); | |
| 304 | + return; | |
| 305 | + } | |
| 306 | + var params = {}; | |
| 307 | + sfyy = $("#sfyy").val(); | |
| 308 | + line = $("#line").val(); | |
| 309 | + company = $("#company").val(); | |
| 310 | + subCompany = $("#subCompany").val(); | |
| 311 | + startDate = $("#startDate").val(); | |
| 312 | + endDate = $("#endDate").val(); | |
| 313 | + lineName = $('#line option:selected').text(); | |
| 314 | + if(lineName == "全部线路") | |
| 315 | + lineName = $('#subCompany option:selected').text(); | |
| 316 | + if(line == " ") | |
| 317 | + line = ""; | |
| 318 | + params['sfyy'] = sfyy; | |
| 319 | + params['line'] = line; | |
| 320 | + params['company'] = company; | |
| 321 | + params['subCompany'] = subCompany; | |
| 322 | + params['startDate'] = startDate; | |
| 323 | + params['endDate'] = endDate; | |
| 324 | + params['type'] = "query"; | |
| 325 | + $("#forms .hidden").removeClass("hidden"); | |
| 326 | + $("#map tr").addClass("hidden"); | |
| 327 | + $("#sumMap tr").addClass("hidden"); | |
| 328 | + $("#exportMap").addClass("hidden"); | |
| 329 | + $("#exportSumMap").addClass("hidden"); | |
| 330 | + var i = layer.load(2); | |
| 331 | + $get('/calc_mix/statisticsIndex', params, function(result){ | |
| 332 | + // 把数据填充到模版中 | |
| 333 | + var tbodyHtml = template('list_statisticsIndex',{list:result}); | |
| 334 | + // 把渲染好的模版html文本追加到表格中 | |
| 335 | + $('#forms tbody').html(tbodyHtml); | |
| 336 | + layer.close(i); | |
| 337 | + | |
| 338 | + list = result; | |
| 339 | + | |
| 340 | + if(result.length == 0) | |
| 341 | + $("#export").attr('disabled',"true"); | |
| 342 | + else | |
| 343 | + $("#export").removeAttr("disabled"); | |
| 344 | + }); | |
| 345 | + } | |
| 346 | + | |
| 347 | + $("#export").on("click",function(){ | |
| 348 | + var params = {}; | |
| 349 | + params['sfyy'] = sfyy; | |
| 350 | + params['line'] = line; | |
| 351 | + params['company'] = company; | |
| 352 | + params['subCompany'] = subCompany; | |
| 353 | + params['startDate'] = startDate; | |
| 354 | + params['endDate'] = endDate; | |
| 355 | + params['type'] = "export"; | |
| 356 | + params['lineName'] = lineName; | |
| 357 | + var i = layer.load(2); | |
| 358 | + $get('/calc_mix/statisticsIndex', params, function(result){ | |
| 359 | + var dateTime = ""; | |
| 360 | + if(startDate == endDate){ | |
| 361 | + dateTime = moment(startDate).format("YYYY年MM月DD日"); | |
| 362 | + } else { | |
| 363 | + dateTime = moment(startDate).format("YYYY年MM月DD日")+ | |
| 364 | + "--"+moment(endDate).format("YYYY年MM月DD日"); | |
| 365 | + } | |
| 366 | + window.open("/downloadFile/download?fileName=" | |
| 367 | + +dateTime+"-准点率统计"); | |
| 368 | + layer.close(i); | |
| 369 | + }); | |
| 370 | + }); | |
| 371 | + | |
| 372 | + $("#exportMap").on("click",function(){ | |
| 373 | + var i = layer.load(2); | |
| 374 | + var params = {}; | |
| 375 | + params['sfyy'] = sfyy; | |
| 376 | + params['line'] = tempLine; | |
| 377 | + params['company'] = company; | |
| 378 | + params['subCompany'] = subCompany; | |
| 379 | + params['startDate'] = startDate; | |
| 380 | + params['endDate'] = endDate; | |
| 381 | + params['type'] = "exportMap"; | |
| 382 | + params['lineName'] = lineName1; | |
| 383 | + $get('/pcpc/firstAndLastBus_sum', params, function(result){ | |
| 384 | + var dateTime = ""; | |
| 385 | + if(startDate == endDate){ | |
| 386 | + dateTime = moment(startDate).format("YYYYMMDD"); | |
| 387 | + } else { | |
| 388 | + dateTime = moment(startDate).format("YYYYMMDD") | |
| 389 | + +"-"+moment(endDate).format("YYYYMMDD"); | |
| 390 | + } | |
| 391 | + window.open("/downloadFile/download?fileName=" | |
| 392 | + +dateTime+"-"+lineName1+"-线路首末班明细"); | |
| 393 | + layer.close(i); | |
| 394 | + }); | |
| 395 | + }); | |
| 396 | + | |
| 397 | + $("#exportSumMap").on("click",function(){ | |
| 398 | + var i = layer.load(2); | |
| 399 | + var params = {}; | |
| 400 | + params['sfyy'] = sfyy; | |
| 401 | + params['line'] = line; | |
| 402 | + params['company'] = company; | |
| 403 | + params['subCompany'] = subCompany; | |
| 404 | + params['startDate'] = startDate; | |
| 405 | + params['endDate'] = endDate; | |
| 406 | + params['type'] = "delay_export"; | |
| 407 | + params['lineName'] = lineName; | |
| 408 | + $get('/pcpc/firstAndLastBus_sum', params, function(result){ | |
| 409 | + var dateTime = ""; | |
| 410 | + if(startDate == endDate){ | |
| 411 | + dateTime = moment(startDate).format("YYYYMMDD"); | |
| 412 | + } else { | |
| 413 | + dateTime = moment(startDate).format("YYYYMMDD") | |
| 414 | + +"-"+moment(endDate).format("YYYYMMDD"); | |
| 415 | + } | |
| 416 | + window.open("/downloadFile/download?fileName=" | |
| 417 | + +dateTime+"-"+lineName+"-首末班误点班次"); | |
| 418 | + layer.close(i); | |
| 419 | + }); | |
| 420 | + }); | |
| 421 | + | |
| 422 | + | |
| 423 | + }); | |
| 424 | + | |
| 425 | +</script> | |
| 426 | +<script type="text/html" id="list_statisticsIndex"> | |
| 427 | + {{each list as obj i}} | |
| 428 | + <tr> | |
| 429 | + {{if obj.date != '合计汇总'}} | |
| 430 | + <td>{{obj.date}}</td> | |
| 431 | + <td>{{obj.subCompany}}</td> | |
| 432 | + <td>{{obj.line}}</td> | |
| 433 | + <td>{{obj.bczdl}}</td> | |
| 434 | + <td>{{obj.smzdl}}</td> | |
| 435 | + <td>{{obj.fczdl}}</td> | |
| 436 | + <td>{{obj.gpzdl}}</td> | |
| 437 | + {{else}} | |
| 438 | + <td colspan='3'>{{obj.date}}</td> | |
| 439 | + <td>{{obj.bczdl}}</td> | |
| 440 | + <td>{{obj.smzdl}}</td> | |
| 441 | + <td>{{obj.fczdl}}</td> | |
| 442 | + <td>{{obj.gpzdl}}</td> | |
| 443 | + {{/if}} | |
| 444 | + </tr> | |
| 445 | + {{/each}} | |
| 446 | + {{if list.length == 0}} | |
| 447 | + <tr> | |
| 448 | + <td colspan="20"><h6 class="muted">没有找到相关数据</h6></td> | |
| 449 | + </tr> | |
| 450 | + {{/if}} | |
| 451 | +</script> | |
| 452 | +<script type="text/html" id="list_maps"> | |
| 453 | + {{each list as obj i}} | |
| 454 | + <tr> | |
| 455 | + <td>{{obj.date}}</td> | |
| 456 | + <td>{{obj.line}}</td> | |
| 457 | + {{if obj.delayFirst0 != '/' && (obj.delayFirst0 > 1 || obj.delayFirst0 < -2)}} | |
| 458 | + <td style="background-color: #FF9999">{{obj.qdzFirst0}}</td> | |
| 459 | + <td style="background-color: #FF9999">{{obj.jhfcFirst0}}</td> | |
| 460 | + <td style="background-color: #FF9999">{{obj.sjfcFirst0}}</td> | |
| 461 | + <td style="background-color: #FF9999">{{obj.delayFirst0}}</td> | |
| 462 | + {{else}} | |
| 463 | + <td>{{obj.qdzFirst0}}</td> | |
| 464 | + <td>{{obj.jhfcFirst0}}</td> | |
| 465 | + <td>{{obj.sjfcFirst0}}</td> | |
| 466 | + <td>{{obj.delayFirst0}}</td> | |
| 467 | + {{/if}} | |
| 468 | + {{if obj.delayLast0 != '/' && (obj.delayLast0 > 1 || obj.delayLast0 < -2)}} | |
| 469 | + <td style="background-color: #FF9999">{{obj.qdzLast0}}</td> | |
| 470 | + <td style="background-color: #FF9999">{{obj.jhfcLast0}}</td> | |
| 471 | + <td style="background-color: #FF9999">{{obj.sjfcLast0}}</td> | |
| 472 | + <td style="background-color: #FF9999">{{obj.delayLast0}}</td> | |
| 473 | + {{else}} | |
| 474 | + <td>{{obj.qdzLast0}}</td> | |
| 475 | + <td>{{obj.jhfcLast0}}</td> | |
| 476 | + <td>{{obj.sjfcLast0}}</td> | |
| 477 | + <td>{{obj.delayLast0}}</td> | |
| 478 | + {{/if}} | |
| 479 | + {{if obj.delayFirst1 != '/' && (obj.delayFirst1 > 1 || obj.delayFirst1 < -2)}} | |
| 480 | + <td style="background-color: #FF9999">{{obj.qdzFirst1}}</td> | |
| 481 | + <td style="background-color: #FF9999">{{obj.jhfcFirst1}}</td> | |
| 482 | + <td style="background-color: #FF9999">{{obj.sjfcFirst1}}</td> | |
| 483 | + <td style="background-color: #FF9999">{{obj.delayFirst1}}</td> | |
| 484 | + {{else}} | |
| 485 | + <td>{{obj.qdzFirst1}}</td> | |
| 486 | + <td>{{obj.jhfcFirst1}}</td> | |
| 487 | + <td>{{obj.sjfcFirst1}}</td> | |
| 488 | + <td>{{obj.delayFirst1}}</td> | |
| 489 | + {{/if}} | |
| 490 | + {{if obj.delayLast1 != '/' && (obj.delayLast1 > 1 || obj.delayLast1 < -2)}} | |
| 491 | + <td style="background-color: #FF9999">{{obj.qdzLast1}}</td> | |
| 492 | + <td style="background-color: #FF9999">{{obj.jhfcLast1}}</td> | |
| 493 | + <td style="background-color: #FF9999">{{obj.sjfcLast1}}</td> | |
| 494 | + <td style="background-color: #FF9999">{{obj.delayLast1}}</td> | |
| 495 | + {{else}} | |
| 496 | + <td>{{obj.qdzLast1}}</td> | |
| 497 | + <td>{{obj.jhfcLast1}}</td> | |
| 498 | + <td>{{obj.sjfcLast1}}</td> | |
| 499 | + <td>{{obj.delayLast1}}</td> | |
| 500 | + {{/if}} | |
| 501 | + </tr> | |
| 502 | + {{/each}} | |
| 503 | + {{if list.length == 0}} | |
| 504 | + <tr> | |
| 505 | + <td colspan="20"><h6 class="muted">没有相关数据</h6></td> | |
| 506 | + </tr> | |
| 507 | + {{/if}} | |
| 508 | +</script> | |
| 509 | +<script type="text/html" id="list_sumMaps"> | |
| 510 | + {{each list as obj i}} | |
| 511 | + <tr> | |
| 512 | + <td>{{obj.no}}</td> | |
| 513 | + <td>{{obj.date}}</td> | |
| 514 | + <td>{{obj.subCompany}}</td> | |
| 515 | + <td>{{obj.line}}</td> | |
| 516 | + <td>{{obj.firstOrLast}}</td> | |
| 517 | + <td>{{obj.jhfc}}</td> | |
| 518 | + <td>{{obj.sjfc}}</td> | |
| 519 | + <td> {{obj.delay}}</td> | |
| 520 | + <td>{{obj.remarks1}}</td> | |
| 521 | + </tr> | |
| 522 | + {{/each}} | |
| 523 | + {{if list.length == 0}} | |
| 524 | + <tr> | |
| 525 | + <td colspan="20"><h6 class="muted">没有相关数据</h6></td> | |
| 526 | + </tr> | |
| 527 | + {{/if}} | |
| 528 | +</script> | |
| 0 | 529 | \ No newline at end of file | ... | ... |