Commit 3c1097064efac4a2d3bdf096b71b953af39fd7bb
1 parent
0e2c3762
行车时刻统计 停站时间区分上下行
Showing
2 changed files
with
36 additions
and
27 deletions
src/main/java/com/bsth/service/report/impl/ReportServiceImpl.java
| @@ -720,36 +720,40 @@ public class ReportServiceImpl implements ReportService{ | @@ -720,36 +720,40 @@ public class ReportServiceImpl implements ReportService{ | ||
| 720 | Map<String, Object> tempMap = new HashMap<String, Object>(); | 720 | Map<String, Object> tempMap = new HashMap<String, Object>(); |
| 721 | List<Map<String, Object>> list2 = keyMap.get(key); | 721 | List<Map<String, Object>> list2 = keyMap.get(key); |
| 722 | List<Integer> cjs = new ArrayList<Integer>(); | 722 | List<Integer> cjs = new ArrayList<Integer>(); |
| 723 | - int sxsj = 0, xxsj = 0, zcj = 0, tssj = 0; | ||
| 724 | - int sxbc = 0, xxbc = 0; | ||
| 725 | - int temp = 24*60+1; | 723 | + int sxsj = 0, xxsj = 0, sxtssj = 0, xxtssj = 0; |
| 724 | + int sxbc = 0, xxbc = 0, sxtsbc = 0, xxtsbc = 0; | ||
| 725 | + int temp = 24*60+1, zcj = 0; | ||
| 726 | boolean ists = false; | 726 | boolean ists = false; |
| 727 | for(Map<String, Object> m : list2){ | 727 | for(Map<String, Object> m : list2){ |
| 728 | String[] split = m.get("fcsj").toString().split(":"); | 728 | String[] split = m.get("fcsj").toString().split(":"); |
| 729 | int fcsj = Integer.valueOf(split[0])*60 + Integer.valueOf(split[1]); | 729 | int fcsj = Integer.valueOf(split[0])*60 + Integer.valueOf(split[1]); |
| 730 | int xlDir = Integer.valueOf(m.get("dir").toString()); | 730 | int xlDir = Integer.valueOf(m.get("dir").toString()); |
| 731 | int bcsj = Integer.valueOf(m.get("bcsj").toString()); | 731 | int bcsj = Integer.valueOf(m.get("bcsj").toString()); |
| 732 | + if(temp >= fcsj){ | ||
| 733 | + temp = fcsj; | ||
| 734 | + ists = false; | ||
| 735 | + } | ||
| 732 | if(xlDir == 0){ | 736 | if(xlDir == 0){ |
| 733 | sxsj += bcsj; | 737 | sxsj += bcsj; |
| 734 | sxbc ++; | 738 | sxbc ++; |
| 739 | + if(ists){ | ||
| 740 | + sxtssj += fcsj - temp; | ||
| 741 | + sxtsbc++; | ||
| 742 | + } | ||
| 735 | } else { | 743 | } else { |
| 736 | xxsj += bcsj; | 744 | xxsj += bcsj; |
| 737 | xxbc ++; | 745 | xxbc ++; |
| 738 | - } | ||
| 739 | - if(temp >= fcsj){ | ||
| 740 | - temp = fcsj; | ||
| 741 | - ists = false; | ||
| 742 | - } else { | ||
| 743 | if(ists){ | 746 | if(ists){ |
| 744 | - tssj += fcsj - temp; | ||
| 745 | - ists = false; | ||
| 746 | - } else { | ||
| 747 | - cjs.add(fcsj - temp); | 747 | + xxtssj += fcsj - temp; |
| 748 | + xxtsbc++; | ||
| 748 | } | 749 | } |
| 750 | + } | ||
| 751 | + if(temp < fcsj){ | ||
| 752 | + cjs.add(fcsj - temp); | ||
| 749 | temp = fcsj; | 753 | temp = fcsj; |
| 750 | - if(m.get("ists").equals("1")){ | ||
| 751 | - ists = true; | ||
| 752 | - } | 754 | + } |
| 755 | + if(m.get("ists").toString().trim().equals("1")){ | ||
| 756 | + ists = true; | ||
| 753 | } | 757 | } |
| 754 | } | 758 | } |
| 755 | Collections.sort(cjs); | 759 | Collections.sort(cjs); |
| @@ -757,12 +761,14 @@ public class ReportServiceImpl implements ReportService{ | @@ -757,12 +761,14 @@ public class ReportServiceImpl implements ReportService{ | ||
| 757 | zcj += i; | 761 | zcj += i; |
| 758 | } | 762 | } |
| 759 | tempMap.put("sjd", key); | 763 | tempMap.put("sjd", key); |
| 760 | - tempMap.put("sxsj", sxsj / sxbc); | ||
| 761 | - tempMap.put("xxsj", xxsj / xxbc); | ||
| 762 | - tempMap.put("fqsj", (sxsj + xxsj) / list2.size()); | 764 | + tempMap.put("sxsj", sxbc != 0 ? sxsj / sxbc : "0"); |
| 765 | + tempMap.put("xxsj", xxbc != 0 ? xxsj / xxbc : "0"); | ||
| 766 | + tempMap.put("sxtssj", sxtsbc != 0 ? sxtssj / sxtsbc : "0"); | ||
| 767 | + tempMap.put("xxtssj", xxtsbc != 0 ? xxtssj / xxtsbc : "0"); | ||
| 768 | + tempMap.put("fqsj", Integer.valueOf(tempMap.get("sxsj").toString()) + Integer.valueOf(tempMap.get("xxsj").toString()) | ||
| 769 | + + Integer.valueOf(tempMap.get("sxtssj").toString()) + Integer.valueOf(tempMap.get("xxtssj").toString())); | ||
| 763 | tempMap.put("cjqj", cjs.size()>0?cjs.get(0)+"——"+cjs.get(cjs.size()-1):"——"); | 770 | tempMap.put("cjqj", cjs.size()>0?cjs.get(0)+"——"+cjs.get(cjs.size()-1):"——"); |
| 764 | tempMap.put("pjcj", cjs.size()>0?zcj/cjs.size():"/"); | 771 | tempMap.put("pjcj", cjs.size()>0?zcj/cjs.size():"/"); |
| 765 | - tempMap.put("tssj", tssj); | ||
| 766 | maps.put(key, tempMap); | 772 | maps.put(key, tempMap); |
| 767 | } | 773 | } |
| 768 | newList.add(maps.get("(首)——6:30")); | 774 | newList.add(maps.get("(首)——6:30")); |
src/main/resources/static/pages/report/timetable/timetable.html
| @@ -165,19 +165,21 @@ | @@ -165,19 +165,21 @@ | ||
| 165 | <div class="col-md-6" > | 165 | <div class="col-md-6" > |
| 166 | <table class="table table-bordered table-checkable" id="formsTime5"> | 166 | <table class="table table-bordered table-checkable" id="formsTime5"> |
| 167 | <tr> | 167 | <tr> |
| 168 | - <td colspan="7">全日分组行驶时间(区间除外)</td> | 168 | + <td colspan="8">全日分组行驶时间(区间除外)</td> |
| 169 | </tr> | 169 | </tr> |
| 170 | <tr> | 170 | <tr> |
| 171 | <td width="20%" rowspan="2" style="text-align:center;vertical-align:middle;">分组 时间</td> | 171 | <td width="20%" rowspan="2" style="text-align:center;vertical-align:middle;">分组 时间</td> |
| 172 | - <td width="23%" colspan="2" style="text-align:center;vertical-align:middle;">计划行驶(分)</td> | ||
| 173 | - <td width="15%" rowspan="2" style="text-align:center;vertical-align:middle;">分圈时间</td> | ||
| 174 | - <td width="15%" rowspan="2" style="text-align:center;vertical-align:middle;">停驶时间</td> | ||
| 175 | - <td width="15%" rowspan="2" style="text-align:center;vertical-align:middle;">车距区间</td> | ||
| 176 | - <td width="12%" rowspan="2" style="text-align:center;vertical-align:middle;">平均车距</td> | 172 | + <td width="19%" colspan="2" style="text-align:center;vertical-align:middle;">计划行驶(分)</td> |
| 173 | + <td width="19%" colspan="2" style="text-align:center;vertical-align:middle;">停站时间</td> | ||
| 174 | + <td width="14%" rowspan="2" style="text-align:center;vertical-align:middle;">周转时间</td> | ||
| 175 | + <td width="14%" rowspan="2" style="text-align:center;vertical-align:middle;">车距区间</td> | ||
| 176 | + <td width="14%" rowspan="2" style="text-align:center;vertical-align:middle;">平均车距</td> | ||
| 177 | </tr> | 177 | </tr> |
| 178 | <tr> | 178 | <tr> |
| 179 | <td>上行</td> | 179 | <td>上行</td> |
| 180 | <td style="text-align:center;">下行</td> | 180 | <td style="text-align:center;">下行</td> |
| 181 | + <td>上行</td> | ||
| 182 | + <td style="text-align:center;">下行</td> | ||
| 181 | </tr> | 183 | </tr> |
| 182 | <tbody class="tbody_time_5"> | 184 | <tbody class="tbody_time_5"> |
| 183 | 185 | ||
| @@ -405,15 +407,16 @@ | @@ -405,15 +407,16 @@ | ||
| 405 | <td align="center">{{result.sjd}}</td> | 407 | <td align="center">{{result.sjd}}</td> |
| 406 | <td align="center">{{result.sxsj}}</td> | 408 | <td align="center">{{result.sxsj}}</td> |
| 407 | <td align="center">{{result.xxsj}}</td> | 409 | <td align="center">{{result.xxsj}}</td> |
| 410 | + <td align="center">{{result.sxtssj}}</td> | ||
| 411 | + <td align="center">{{result.xxtssj}}</td> | ||
| 408 | <td align="center">{{result.fqsj}}</td> | 412 | <td align="center">{{result.fqsj}}</td> |
| 409 | - <td align="center">{{result.tssj}}</td> | ||
| 410 | <td align="center">{{result.cjqj}}</td> | 413 | <td align="center">{{result.cjqj}}</td> |
| 411 | <td align="center">{{result.pjcj}}</td> | 414 | <td align="center">{{result.pjcj}}</td> |
| 412 | </tr> | 415 | </tr> |
| 413 | {{/each}} | 416 | {{/each}} |
| 414 | {{if list.length == 0}} | 417 | {{if list.length == 0}} |
| 415 | <tr> | 418 | <tr> |
| 416 | - <td colspan="7"><h6 class="muted">没有找到相关数据</h6></td> | 419 | + <td colspan="8"><h6 class="muted">没有找到相关数据</h6></td> |
| 417 | </tr> | 420 | </tr> |
| 418 | {{/if}} | 421 | {{/if}} |
| 419 | </script> | 422 | </script> |