Commit 3c1097064efac4a2d3bdf096b71b953af39fd7bb

Authored by 娄高锋
1 parent 0e2c3762

行车时刻统计 停站时间区分上下行

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>