Commit d8baa8a11e39eed7b627d612a7a1824edd4ec114
1 parent
b09e420d
行驶时间及车速表 实际营运时间重新排序计算
Showing
1 changed file
with
44 additions
and
16 deletions
src/main/java/com/bsth/service/impl/BusIntervalServiceImpl.java
| @@ -114,15 +114,15 @@ public class BusIntervalServiceImpl implements BusIntervalService { | @@ -114,15 +114,15 @@ public class BusIntervalServiceImpl implements BusIntervalService { | ||
| 114 | long fcsj = Long.valueOf(split1[0]) * 60 + Long.valueOf(split1[1]); | 114 | long fcsj = Long.valueOf(split1[0]) * 60 + Long.valueOf(split1[1]); |
| 115 | long zdsj = Long.valueOf(split3[0]) * 60 + Long.valueOf(split3[1]); | 115 | long zdsj = Long.valueOf(split3[0]) * 60 + Long.valueOf(split3[1]); |
| 116 | if(!schedule.getScheduleDateStr().equals(schedule.getRealExecDate())){ | 116 | if(!schedule.getScheduleDateStr().equals(schedule.getRealExecDate())){ |
| 117 | - fcsj += 1440l; | ||
| 118 | - zdsj += 1440l; | 117 | + if(fcsj<23*60) fcsj += 1440l; |
| 118 | + if(zdsj<23*60) zdsj += 1440l; | ||
| 119 | } | 119 | } |
| 120 | if(zdsj < fcsj) | 120 | if(zdsj < fcsj) |
| 121 | zdsj += 1440l; | 121 | zdsj += 1440l; |
| 122 | if(schedule.getDfsj() != null){ | 122 | if(schedule.getDfsj() != null){ |
| 123 | String[] split0 = schedule.getDfsj().split(":"); | 123 | String[] split0 = schedule.getDfsj().split(":"); |
| 124 | long dfsj = Long.valueOf(split0[0]) * 60 + Long.valueOf(split0[1]); | 124 | long dfsj = Long.valueOf(split0[0]) * 60 + Long.valueOf(split0[1]); |
| 125 | - if(!schedule.getScheduleDateStr().equals(schedule.getRealExecDate())) | 125 | + if(!schedule.getScheduleDateStr().equals(schedule.getRealExecDate())&&dfsj<23*60) |
| 126 | dfsj += 1440l; | 126 | dfsj += 1440l; |
| 127 | schedule.setDfsj(dfsj/60 + ":" + dfsj%60); | 127 | schedule.setDfsj(dfsj/60 + ":" + dfsj%60); |
| 128 | schedule.setDfsjT(dfsj); | 128 | schedule.setDfsjT(dfsj); |
| @@ -130,7 +130,7 @@ public class BusIntervalServiceImpl implements BusIntervalService { | @@ -130,7 +130,7 @@ public class BusIntervalServiceImpl implements BusIntervalService { | ||
| 130 | if(schedule.getFcsjActual() != null){ | 130 | if(schedule.getFcsjActual() != null){ |
| 131 | String[] split2 = schedule.getFcsjActual().split(":"); | 131 | String[] split2 = schedule.getFcsjActual().split(":"); |
| 132 | long fcsjA = Long.valueOf(split2[0]) * 60 + Long.valueOf(split2[1]); | 132 | long fcsjA = Long.valueOf(split2[0]) * 60 + Long.valueOf(split2[1]); |
| 133 | - if(!schedule.getScheduleDateStr().equals(schedule.getRealExecDate())) | 133 | + if(!schedule.getScheduleDateStr().equals(schedule.getRealExecDate())&&fcsjA<23*60) |
| 134 | fcsjA += 1440l; | 134 | fcsjA += 1440l; |
| 135 | schedule.setFcsjActual(fcsjA/60 + ":" + fcsjA%60); | 135 | schedule.setFcsjActual(fcsjA/60 + ":" + fcsjA%60); |
| 136 | schedule.setFcsjActualTime(fcsjA); | 136 | schedule.setFcsjActualTime(fcsjA); |
| @@ -138,7 +138,7 @@ public class BusIntervalServiceImpl implements BusIntervalService { | @@ -138,7 +138,7 @@ public class BusIntervalServiceImpl implements BusIntervalService { | ||
| 138 | if(schedule.getZdsjActual() != null){ | 138 | if(schedule.getZdsjActual() != null){ |
| 139 | String[] split4 = schedule.getZdsjActual().split(":"); | 139 | String[] split4 = schedule.getZdsjActual().split(":"); |
| 140 | long zdsjA = Long.valueOf(split4[0]) * 60 + Long.valueOf(split4[1]); | 140 | long zdsjA = Long.valueOf(split4[0]) * 60 + Long.valueOf(split4[1]); |
| 141 | - if(!schedule.getScheduleDateStr().equals(schedule.getRealExecDate())) | 141 | + if(!schedule.getScheduleDateStr().equals(schedule.getRealExecDate())&&zdsjA<23*60) |
| 142 | zdsjA += 1440l; | 142 | zdsjA += 1440l; |
| 143 | if(schedule.getFcsjActualTime() != null && zdsjA < schedule.getFcsjActualTime()) | 143 | if(schedule.getFcsjActualTime() != null && zdsjA < schedule.getFcsjActualTime()) |
| 144 | zdsjA += 1440l; | 144 | zdsjA += 1440l; |
| @@ -648,7 +648,7 @@ public class BusIntervalServiceImpl implements BusIntervalService { | @@ -648,7 +648,7 @@ public class BusIntervalServiceImpl implements BusIntervalService { | ||
| 648 | if(schedule.getDfsj() != null){ | 648 | if(schedule.getDfsj() != null){ |
| 649 | String[] split0 = schedule.getDfsj().split(":"); | 649 | String[] split0 = schedule.getDfsj().split(":"); |
| 650 | long dfsj = Long.valueOf(split0[0]) * 60 + Long.valueOf(split0[1]); | 650 | long dfsj = Long.valueOf(split0[0]) * 60 + Long.valueOf(split0[1]); |
| 651 | - if(!schedule.getScheduleDateStr().equals(schedule.getRealExecDate())) | 651 | + if(!schedule.getScheduleDateStr().equals(schedule.getRealExecDate())&&dfsj<23*60) |
| 652 | dfsj += 1440l; | 652 | dfsj += 1440l; |
| 653 | schedule.setDfsj(dfsj/60 + ":" + dfsj%60); | 653 | schedule.setDfsj(dfsj/60 + ":" + dfsj%60); |
| 654 | schedule.setDfsjT(dfsj); | 654 | schedule.setDfsjT(dfsj); |
| @@ -656,7 +656,7 @@ public class BusIntervalServiceImpl implements BusIntervalService { | @@ -656,7 +656,7 @@ public class BusIntervalServiceImpl implements BusIntervalService { | ||
| 656 | if(schedule.getFcsjActual() != null){ | 656 | if(schedule.getFcsjActual() != null){ |
| 657 | String[] split2 = schedule.getFcsjActual().split(":"); | 657 | String[] split2 = schedule.getFcsjActual().split(":"); |
| 658 | long fcsjA = Long.valueOf(split2[0]) * 60 + Long.valueOf(split2[1]); | 658 | long fcsjA = Long.valueOf(split2[0]) * 60 + Long.valueOf(split2[1]); |
| 659 | - if(!schedule.getScheduleDateStr().equals(schedule.getRealExecDate())) | 659 | + if(!schedule.getScheduleDateStr().equals(schedule.getRealExecDate())&&fcsjA<23*60) |
| 660 | fcsjA += 1440l; | 660 | fcsjA += 1440l; |
| 661 | schedule.setFcsjActual(fcsjA/60 + ":" + fcsjA%60); | 661 | schedule.setFcsjActual(fcsjA/60 + ":" + fcsjA%60); |
| 662 | schedule.setFcsjActualTime(fcsjA); | 662 | schedule.setFcsjActualTime(fcsjA); |
| @@ -664,7 +664,7 @@ public class BusIntervalServiceImpl implements BusIntervalService { | @@ -664,7 +664,7 @@ public class BusIntervalServiceImpl implements BusIntervalService { | ||
| 664 | if(schedule.getZdsjActual() != null){ | 664 | if(schedule.getZdsjActual() != null){ |
| 665 | String[] split4 = schedule.getZdsjActual().split(":"); | 665 | String[] split4 = schedule.getZdsjActual().split(":"); |
| 666 | long zdsjA = Long.valueOf(split4[0]) * 60 + Long.valueOf(split4[1]); | 666 | long zdsjA = Long.valueOf(split4[0]) * 60 + Long.valueOf(split4[1]); |
| 667 | - if(!schedule.getScheduleDateStr().equals(schedule.getRealExecDate())) | 667 | + if(!schedule.getScheduleDateStr().equals(schedule.getRealExecDate())&&zdsjA<23*60) |
| 668 | zdsjA += 1440l; | 668 | zdsjA += 1440l; |
| 669 | schedule.setZdsjActual(zdsjA/60 + ":" + zdsjA%60); | 669 | schedule.setZdsjActual(zdsjA/60 + ":" + zdsjA%60); |
| 670 | schedule.setZdsjActualTime(zdsjA); | 670 | schedule.setZdsjActualTime(zdsjA); |
| @@ -675,8 +675,8 @@ public class BusIntervalServiceImpl implements BusIntervalService { | @@ -675,8 +675,8 @@ public class BusIntervalServiceImpl implements BusIntervalService { | ||
| 675 | long zdsj = Long.valueOf(split3[0]) * 60 + Long.valueOf(split3[1]); | 675 | long zdsj = Long.valueOf(split3[0]) * 60 + Long.valueOf(split3[1]); |
| 676 | 676 | ||
| 677 | if(!schedule.getScheduleDateStr().equals(schedule.getRealExecDate())){ | 677 | if(!schedule.getScheduleDateStr().equals(schedule.getRealExecDate())){ |
| 678 | - fcsj += 1440l; | ||
| 679 | - zdsj += 1440l; | 678 | + if(fcsj<23*60) fcsj += 1440l; |
| 679 | + if(zdsj<23*60) zdsj += 1440l; | ||
| 680 | } | 680 | } |
| 681 | schedule.setFcsj(fcsj/60 + ":" + fcsj%60); | 681 | schedule.setFcsj(fcsj/60 + ":" + fcsj%60); |
| 682 | schedule.setZdsj(zdsj/60 + ":" + zdsj%60); | 682 | schedule.setZdsj(zdsj/60 + ":" + zdsj%60); |
| @@ -773,6 +773,7 @@ public class BusIntervalServiceImpl implements BusIntervalService { | @@ -773,6 +773,7 @@ public class BusIntervalServiceImpl implements BusIntervalService { | ||
| 773 | Map<Long, ScheduleRealInfo> sortMap = new HashMap<Long, ScheduleRealInfo>(); | 773 | Map<Long, ScheduleRealInfo> sortMap = new HashMap<Long, ScheduleRealInfo>(); |
| 774 | List<Map<String, Object>> mapList = new ArrayList<Map<String, Object>>(); | 774 | List<Map<String, Object>> mapList = new ArrayList<Map<String, Object>>(); |
| 775 | List<Long> keyList = new ArrayList<Long>(); | 775 | List<Long> keyList = new ArrayList<Long>(); |
| 776 | + List<Long> keyList2 = new ArrayList<Long>(); | ||
| 776 | List<ScheduleRealInfo> list2 = keyMap.get(key); | 777 | List<ScheduleRealInfo> list2 = keyMap.get(key); |
| 777 | long jhyysj = 0, sjyysj = 0; | 778 | long jhyysj = 0, sjyysj = 0; |
| 778 | long jhyssj = 0, sjyssj = 0; | 779 | long jhyssj = 0, sjyssj = 0; |
| @@ -794,6 +795,7 @@ public class BusIntervalServiceImpl implements BusIntervalService { | @@ -794,6 +795,7 @@ public class BusIntervalServiceImpl implements BusIntervalService { | ||
| 794 | keyList.add(fcsj); | 795 | keyList.add(fcsj); |
| 795 | } | 796 | } |
| 796 | sortMap.put(fcsj, schedule); | 797 | sortMap.put(fcsj, schedule); |
| 798 | + | ||
| 797 | } | 799 | } |
| 798 | Collections.sort(keyList); | 800 | Collections.sort(keyList); |
| 799 | 801 | ||
| @@ -884,12 +886,20 @@ public class BusIntervalServiceImpl implements BusIntervalService { | @@ -884,12 +886,20 @@ public class BusIntervalServiceImpl implements BusIntervalService { | ||
| 884 | mapList.add(m); | 886 | mapList.add(m); |
| 885 | } | 887 | } |
| 886 | } | 888 | } |
| 887 | - for(int i = 1; i < mapList.size(); i++){ | ||
| 888 | - Map<String, Object> m1 = mapList.get(i - 1); | ||
| 889 | - Map<String, Object> m2 = mapList.get(i); | ||
| 890 | - if(m1.get("fcsj") != null && m2.get("fcsj") != null){ | ||
| 891 | - long fcsj2 = Long.valueOf(m2.get("fcsj").toString()); | ||
| 892 | - long fcsj1 = Long.valueOf(m1.get("fcsj").toString()); | 889 | + |
| 890 | + for(Map<String, Object> m : mapList){ | ||
| 891 | + if(m.get("fcsj") != null && m.get("fcsj").toString().trim().length()!=0){ | ||
| 892 | + keyList2.add(Long.valueOf(m.get("fcsj").toString())); | ||
| 893 | + } | ||
| 894 | + } | ||
| 895 | + Collections.sort(keyList2); | ||
| 896 | + for(long l : keyList2){ | ||
| 897 | + System.out.println(l); | ||
| 898 | + } | ||
| 899 | + for(int i = 1; i < keyList2.size(); i++){ | ||
| 900 | + long fcsj1 = keyList2.get(i - 1); | ||
| 901 | + long fcsj2 = keyList2.get(i); | ||
| 902 | + if(fcsj2 - fcsj1 < 90){ | ||
| 893 | if(sfqr == 1 && time1 > fcsj1){ | 903 | if(sfqr == 1 && time1 > fcsj1){ |
| 894 | sjyysj += fcsj2 - time1; | 904 | sjyysj += fcsj2 - time1; |
| 895 | }else if(sfqr == 1 && time2 < fcsj2){ | 905 | }else if(sfqr == 1 && time2 < fcsj2){ |
| @@ -898,7 +908,25 @@ public class BusIntervalServiceImpl implements BusIntervalService { | @@ -898,7 +908,25 @@ public class BusIntervalServiceImpl implements BusIntervalService { | ||
| 898 | sjyysj += fcsj2 - fcsj1; | 908 | sjyysj += fcsj2 - fcsj1; |
| 899 | } | 909 | } |
| 900 | sjyysj1 += fcsj2 - fcsj1; | 910 | sjyysj1 += fcsj2 - fcsj1; |
| 911 | + System.out.println("---"+(fcsj2-fcsj1)+"---"+sjyysj+"---"+sjyysj1); | ||
| 901 | } | 912 | } |
| 913 | + } | ||
| 914 | + | ||
| 915 | + for(int i = 1; i < mapList.size(); i++){ | ||
| 916 | + Map<String, Object> m1 = mapList.get(i - 1); | ||
| 917 | + Map<String, Object> m2 = mapList.get(i); | ||
| 918 | +// if(m1.get("fcsj") != null && m2.get("fcsj") != null){ | ||
| 919 | +// long fcsj2 = Long.valueOf(m2.get("fcsj").toString()); | ||
| 920 | +// long fcsj1 = Long.valueOf(m1.get("fcsj").toString()); | ||
| 921 | +// if(sfqr == 1 && time1 > fcsj1){ | ||
| 922 | +// sjyysj += fcsj2 - time1; | ||
| 923 | +// }else if(sfqr == 1 && time2 < fcsj2){ | ||
| 924 | +// sjyysj += time2 - fcsj1; | ||
| 925 | +// }else{ | ||
| 926 | +// sjyysj += fcsj2 - fcsj1; | ||
| 927 | +// } | ||
| 928 | +// sjyysj1 += fcsj2 - fcsj1; | ||
| 929 | +// } | ||
| 902 | if(m2.get("fcsj") != null && m2.get("zdsj") != null){ | 930 | if(m2.get("fcsj") != null && m2.get("zdsj") != null){ |
| 903 | long zdsj = Long.valueOf(m2.get("zdsj").toString()); | 931 | long zdsj = Long.valueOf(m2.get("zdsj").toString()); |
| 904 | long fcsj = Long.valueOf(m2.get("fcsj").toString()); | 932 | long fcsj = Long.valueOf(m2.get("fcsj").toString()); |