Commit 601e2bce8b7cb766fef509deb3ca356d0f2c67ca
1 parent
3d52808e
给谢灿的首末班准点接口,计划首末班次的班次类型从计划排班获取,实际首末班次的班次类型从实际路单获取。
Showing
1 changed file
with
93 additions
and
31 deletions
src/main/java/com/bsth/server_rs/bigdata/BigscreenService.java
| @@ -132,7 +132,20 @@ public class BigscreenService { | @@ -132,7 +132,20 @@ public class BigscreenService { | ||
| 132 | if(s.getBcType().equals("ldks")){ | 132 | if(s.getBcType().equals("ldks")){ |
| 133 | fage=true; | 133 | fage=true; |
| 134 | } | 134 | } |
| 135 | - | 135 | + return fage; |
| 136 | + } | ||
| 137 | + | ||
| 138 | + public static boolean isInOut(String bcType){ | ||
| 139 | + boolean fage=false; | ||
| 140 | + if(bcType.equals("in")){ | ||
| 141 | + fage=true; | ||
| 142 | + } | ||
| 143 | + if(bcType.equals("out")){ | ||
| 144 | + fage=true; | ||
| 145 | + } | ||
| 146 | + if(bcType.equals("ldks")){ | ||
| 147 | + fage=true; | ||
| 148 | + } | ||
| 136 | return fage; | 149 | return fage; |
| 137 | } | 150 | } |
| 138 | 151 | ||
| @@ -3260,8 +3273,9 @@ public class BigscreenService { | @@ -3260,8 +3273,9 @@ public class BigscreenService { | ||
| 3260 | Map<String, List<ScheduleRealInfo>> keyMap = new HashMap<String, List<ScheduleRealInfo>>(); | 3273 | Map<String, List<ScheduleRealInfo>> keyMap = new HashMap<String, List<ScheduleRealInfo>>(); |
| 3261 | Map<String, Map<String, Object>> lineXX = new HashMap<String, Map<String, Object>>(); | 3274 | Map<String, Map<String, Object>> lineXX = new HashMap<String, Map<String, Object>>(); |
| 3262 | for(ScheduleRealInfo s : findAll){ | 3275 | for(ScheduleRealInfo s : findAll){ |
| 3263 | - if(s.getBcType().equals("region") || s.getBcType().equals("venting") | ||
| 3264 | - || s.getBcType().equals("major") || isInOut(s)){ | 3276 | +// if(s.getBcType().equals("region") || s.getBcType().equals("venting") |
| 3277 | +// || s.getBcType().equals("major") || isInOut(s)){ | ||
| 3278 | + if(s.getBcType().equals("region") || isInOut(s)){ | ||
| 3265 | continue; //区间班次、直放班次、放站班次与空驶班次不做首末班统计 | 3279 | continue; //区间班次、直放班次、放站班次与空驶班次不做首末班统计 |
| 3266 | } | 3280 | } |
| 3267 | if(!("77".equals(s.getGsBm())) && yyLine.containsKey(s.getXlBm())){ //只统计营运线路 | 3281 | if(!("77".equals(s.getGsBm())) && yyLine.containsKey(s.getXlBm())){ //只统计营运线路 |
| @@ -3368,17 +3382,29 @@ public class BigscreenService { | @@ -3368,17 +3382,29 @@ public class BigscreenService { | ||
| 3368 | //上行 | 3382 | //上行 |
| 3369 | if(listjh0.size() > 0){ | 3383 | if(listjh0.size() > 0){ |
| 3370 | ScheduleRealInfo jhsb = listjh0.get(0); //计划首班 | 3384 | ScheduleRealInfo jhsb = listjh0.get(0); //计划首班 |
| 3385 | + for(int f = 0; f < listjh0.size(); f++){ | ||
| 3386 | + jhsb = listjh0.get(f); //计划首班 | ||
| 3387 | + String bcType = jhsb.getBcType(); | ||
| 3388 | + List<String> oList = scheduleRealInfoRepository.findoOriginalType(jhsb.getSpId()); | ||
| 3389 | + if(oList.size() > 0 && oList.get(0) != null | ||
| 3390 | + && oList.get(0).trim().length() > 0){ | ||
| 3391 | + bcType = oList.get(0).trim(); | ||
| 3392 | + } | ||
| 3393 | + if(bcType.equals("region") || bcType.equals("venting") | ||
| 3394 | + || bcType.equals("major") || isInOut(bcType)){ | ||
| 3395 | + continue; | ||
| 3396 | + } | ||
| 3397 | + break; | ||
| 3398 | + } | ||
| 3371 | if("1".equals(sfss) ? createDate.getTime() > jhsb.getFcsjT() : true){ | 3399 | if("1".equals(sfss) ? createDate.getTime() > jhsb.getFcsjT() : true){ |
| 3372 | jhFirst++; | 3400 | jhFirst++; |
| 3373 | -// if(listsj0.size() > 0){ | ||
| 3374 | -// ScheduleRealInfo sjsb = listsj0.get(0); //实际首班 | ||
| 3375 | -// long wd = sjsb.getFcsjActualTime() - jhsb.getFcsjT(); //误点,快1慢2 | ||
| 3376 | -// if(-1l * 1000 * 60 <= wd && wd <= 2l * 1000 * 60){ | ||
| 3377 | -// sjzdFirst++; | ||
| 3378 | -// } | ||
| 3379 | -// } | ||
| 3380 | for(int i = 0; i < listsj0.size(); i++){ | 3401 | for(int i = 0; i < listsj0.size(); i++){ |
| 3381 | ScheduleRealInfo sjsb = listsj0.get(i); //实际首班 | 3402 | ScheduleRealInfo sjsb = listsj0.get(i); //实际首班 |
| 3403 | + String bcType = sjsb.getBcType(); | ||
| 3404 | + if(bcType.equals("region") || bcType.equals("venting") | ||
| 3405 | + || bcType.equals("major") || isInOut(bcType)){ | ||
| 3406 | + continue; | ||
| 3407 | + } | ||
| 3382 | long wd = sjsb.getFcsjActualTime() - jhsb.getFcsjT(); //误点,快1慢2 | 3408 | long wd = sjsb.getFcsjActualTime() - jhsb.getFcsjT(); //误点,快1慢2 |
| 3383 | if(-1l * 1000 * 60 <= wd && wd <= 2l * 1000 * 60){ | 3409 | if(-1l * 1000 * 60 <= wd && wd <= 2l * 1000 * 60){ |
| 3384 | sjzdFirst++; | 3410 | sjzdFirst++; |
| @@ -3389,17 +3415,29 @@ public class BigscreenService { | @@ -3389,17 +3415,29 @@ public class BigscreenService { | ||
| 3389 | 3415 | ||
| 3390 | if(listjh0.size() > 1){ | 3416 | if(listjh0.size() > 1){ |
| 3391 | ScheduleRealInfo jhmb = listjh0.get(listjh0.size() - 1); //计划末班 | 3417 | ScheduleRealInfo jhmb = listjh0.get(listjh0.size() - 1); //计划末班 |
| 3418 | + for(int l = listjh0.size() - 1; l >= 0; l--){ | ||
| 3419 | + jhmb = listjh0.get(l); //计划首班 | ||
| 3420 | + String bcType = jhmb.getBcType(); | ||
| 3421 | + List<String> oList = scheduleRealInfoRepository.findoOriginalType(jhmb.getSpId()); | ||
| 3422 | + if(oList.size() > 0 && oList.get(0) != null | ||
| 3423 | + && oList.get(0).trim().length() > 0){ | ||
| 3424 | + bcType = oList.get(0).trim(); | ||
| 3425 | + } | ||
| 3426 | + if(bcType.equals("region") || bcType.equals("venting") | ||
| 3427 | + || bcType.equals("major") || isInOut(bcType)){ | ||
| 3428 | + continue; | ||
| 3429 | + } | ||
| 3430 | + break; | ||
| 3431 | + } | ||
| 3392 | if("1".equals(sfss) ? createDate.getTime() > jhmb.getFcsjT() : true){ | 3432 | if("1".equals(sfss) ? createDate.getTime() > jhmb.getFcsjT() : true){ |
| 3393 | jhLast++; | 3433 | jhLast++; |
| 3394 | -// if(listsj0.size() > 1){ | ||
| 3395 | -// ScheduleRealInfo sjmb = listsj0.get(listsj0.size() - 1); //实际末班 | ||
| 3396 | -// long wd = sjmb.getFcsjActualTime() - jhmb.getFcsjT(); //误点,快1慢2 | ||
| 3397 | -// if(-1l * 1000 * 60 <= wd && wd <= 2l * 1000 * 60){ | ||
| 3398 | -// sjzdLast++; | ||
| 3399 | -// } | ||
| 3400 | -// } | ||
| 3401 | for(int i = listsj0.size() - 1; i >= 0; i--){ | 3434 | for(int i = listsj0.size() - 1; i >= 0; i--){ |
| 3402 | ScheduleRealInfo sjmb = listsj0.get(i); //实际末班 | 3435 | ScheduleRealInfo sjmb = listsj0.get(i); //实际末班 |
| 3436 | + String bcType = sjmb.getBcType(); | ||
| 3437 | + if(bcType.equals("region") || bcType.equals("venting") | ||
| 3438 | + || bcType.equals("major") || isInOut(bcType)){ | ||
| 3439 | + continue; | ||
| 3440 | + } | ||
| 3403 | long wd = sjmb.getFcsjActualTime() - jhmb.getFcsjT(); //误点,快1慢2 | 3441 | long wd = sjmb.getFcsjActualTime() - jhmb.getFcsjT(); //误点,快1慢2 |
| 3404 | if(-1l * 1000 * 60 <= wd && wd <= 2l * 1000 * 60){ | 3442 | if(-1l * 1000 * 60 <= wd && wd <= 2l * 1000 * 60){ |
| 3405 | sjzdLast++; | 3443 | sjzdLast++; |
| @@ -3413,17 +3451,29 @@ public class BigscreenService { | @@ -3413,17 +3451,29 @@ public class BigscreenService { | ||
| 3413 | //下行 | 3451 | //下行 |
| 3414 | if(listjh1.size() > 0){ | 3452 | if(listjh1.size() > 0){ |
| 3415 | ScheduleRealInfo jhsb = listjh1.get(0); //计划首班 | 3453 | ScheduleRealInfo jhsb = listjh1.get(0); //计划首班 |
| 3454 | + for(int f = 0; f < listjh1.size(); f++){ | ||
| 3455 | + jhsb = listjh1.get(f); //计划首班 | ||
| 3456 | + String bcType = jhsb.getBcType(); | ||
| 3457 | + List<String> oList = scheduleRealInfoRepository.findoOriginalType(jhsb.getSpId()); | ||
| 3458 | + if(oList.size() > 0 && oList.get(0) != null | ||
| 3459 | + && oList.get(0).trim().length() > 0){ | ||
| 3460 | + bcType = oList.get(0).trim(); | ||
| 3461 | + } | ||
| 3462 | + if(bcType.equals("region") || bcType.equals("venting") | ||
| 3463 | + || bcType.equals("major") || isInOut(bcType)){ | ||
| 3464 | + continue; | ||
| 3465 | + } | ||
| 3466 | + break; | ||
| 3467 | + } | ||
| 3416 | if("1".equals(sfss) ? createDate.getTime() > jhsb.getFcsjT() : true){ | 3468 | if("1".equals(sfss) ? createDate.getTime() > jhsb.getFcsjT() : true){ |
| 3417 | jhFirst++; | 3469 | jhFirst++; |
| 3418 | -// if(listsj1.size() > 0){ | ||
| 3419 | -// ScheduleRealInfo sjsb = listsj1.get(0); //实际首班 | ||
| 3420 | -// long wd = sjsb.getFcsjActualTime() - jhsb.getFcsjT(); //误点,快1慢2 | ||
| 3421 | -// if(-1l * 1000 * 60 <= wd && wd <= 2l * 1000 * 60){ | ||
| 3422 | -// sjzdFirst++; | ||
| 3423 | -// } | ||
| 3424 | -// } | ||
| 3425 | for(int i = 0; i < listsj1.size(); i++){ | 3470 | for(int i = 0; i < listsj1.size(); i++){ |
| 3426 | ScheduleRealInfo sjsb = listsj1.get(i); //实际首班 | 3471 | ScheduleRealInfo sjsb = listsj1.get(i); //实际首班 |
| 3472 | + String bcType = sjsb.getBcType(); | ||
| 3473 | + if(bcType.equals("region") || bcType.equals("venting") | ||
| 3474 | + || bcType.equals("major") || isInOut(bcType)){ | ||
| 3475 | + continue; | ||
| 3476 | + } | ||
| 3427 | long wd = sjsb.getFcsjActualTime() - jhsb.getFcsjT(); //误点,快1慢2 | 3477 | long wd = sjsb.getFcsjActualTime() - jhsb.getFcsjT(); //误点,快1慢2 |
| 3428 | if(-1l * 1000 * 60 <= wd && wd <= 2l * 1000 * 60){ | 3478 | if(-1l * 1000 * 60 <= wd && wd <= 2l * 1000 * 60){ |
| 3429 | sjzdFirst++; | 3479 | sjzdFirst++; |
| @@ -3434,17 +3484,29 @@ public class BigscreenService { | @@ -3434,17 +3484,29 @@ public class BigscreenService { | ||
| 3434 | 3484 | ||
| 3435 | if(listjh1.size() > 1){ | 3485 | if(listjh1.size() > 1){ |
| 3436 | ScheduleRealInfo jhmb = listjh1.get(listjh1.size() - 1); //计划末班 | 3486 | ScheduleRealInfo jhmb = listjh1.get(listjh1.size() - 1); //计划末班 |
| 3487 | + for(int l = listjh1.size() - 1; l >= 0; l--){ | ||
| 3488 | + jhmb = listjh1.get(l); //计划首班 | ||
| 3489 | + String bcType = jhmb.getBcType(); | ||
| 3490 | + List<String> oList = scheduleRealInfoRepository.findoOriginalType(jhmb.getSpId()); | ||
| 3491 | + if(oList.size() > 0 && oList.get(0) != null | ||
| 3492 | + && oList.get(0).trim().length() > 0){ | ||
| 3493 | + bcType = oList.get(0).trim(); | ||
| 3494 | + } | ||
| 3495 | + if(bcType.equals("region") || bcType.equals("venting") | ||
| 3496 | + || bcType.equals("major") || isInOut(bcType)){ | ||
| 3497 | + continue; | ||
| 3498 | + } | ||
| 3499 | + break; | ||
| 3500 | + } | ||
| 3437 | if("1".equals(sfss) ? createDate.getTime() > jhmb.getFcsjT() : true){ | 3501 | if("1".equals(sfss) ? createDate.getTime() > jhmb.getFcsjT() : true){ |
| 3438 | jhLast++; | 3502 | jhLast++; |
| 3439 | -// if(listsj1.size() > 1){ | ||
| 3440 | -// ScheduleRealInfo sjmb = listsj1.get(listsj1.size() - 1); //实际末班 | ||
| 3441 | -// long wd = sjmb.getFcsjActualTime() - jhmb.getFcsjT(); //误点,快1慢2 | ||
| 3442 | -// if(-1l * 1000 * 60 <= wd && wd <= 2l * 1000 * 60){ | ||
| 3443 | -// sjzdLast++; | ||
| 3444 | -// } | ||
| 3445 | -// } | ||
| 3446 | for(int i = listsj1.size() - 1; i >= 0; i--){ | 3503 | for(int i = listsj1.size() - 1; i >= 0; i--){ |
| 3447 | ScheduleRealInfo sjmb = listsj1.get(i); //实际末班 | 3504 | ScheduleRealInfo sjmb = listsj1.get(i); //实际末班 |
| 3505 | + String bcType = sjmb.getBcType(); | ||
| 3506 | + if(bcType.equals("region") || bcType.equals("venting") | ||
| 3507 | + || bcType.equals("major") || isInOut(bcType)){ | ||
| 3508 | + continue; | ||
| 3509 | + } | ||
| 3448 | long wd = sjmb.getFcsjActualTime() - jhmb.getFcsjT(); //误点,快1慢2 | 3510 | long wd = sjmb.getFcsjActualTime() - jhmb.getFcsjT(); //误点,快1慢2 |
| 3449 | if(-1l * 1000 * 60 <= wd && wd <= 2l * 1000 * 60){ | 3511 | if(-1l * 1000 * 60 <= wd && wd <= 2l * 1000 * 60){ |
| 3450 | sjzdLast++; | 3512 | sjzdLast++; |