Commit 9e15d4d98386ff842fd68c58fd3b2f6a8a9dd99f

Authored by 娄高锋
1 parent 4e04a338

大间隔情况表 ———— 以新标准计算大间隔

src/main/java/com/bsth/repository/calc/CalcIntervalRepository.java
... ... @@ -25,7 +25,7 @@ public interface CalcIntervalRepository extends BaseRepository<CalcInterval, Int
25 25  
26 26  
27 27 //按照时间段统计,单条线路
28   - @Query(value="select DISTINCT c from CalcInterval c where c.xlBm = ?1 and c.date >= ?2 and c.date <=?3 and c.level like %?4% order by c.xlBm")
  28 + @Query(value="select DISTINCT c from CalcInterval c where c.xlBm = ?1 and c.date >= ?2 and c.date <=?3 and c.level like %?4% order by c.xlBm, date")
29 29 List<CalcInterval> selectByDateAndLine(String line,String date,String date2,String level);
30 30  
31 31  
... ...
src/main/java/com/bsth/service/calc/impl/CalcIntervalServiceImpl.java
... ... @@ -68,7 +68,7 @@ public class CalcIntervalServiceImpl extends BaseServiceImpl&lt;CalcInterval,Intege
68 68 String nature=map.get("nature").toString();
69 69  
70 70 //D级线路显示发车准点率
71   - if(level.equals("D")){
  71 + if(level.equals("D") && false){ //新的计算规则D级也显示大间隔
72 72 String sql1=" select xl_bm,gsbm,fgsbm,xl_name from bsth_c_calc_interval where date >='"+sDate+"' and date <= '"+eDate+"' and `level`='D'";
73 73 if(line.equals("")){
74 74 if(fgs.equals("")){
... ... @@ -128,10 +128,13 @@ public class CalcIntervalServiceImpl extends BaseServiceImpl&lt;CalcInterval,Intege
128 128 });
129 129 }else{
130 130 //统计信息中需要查询所有班次
131   -// and djg_all >0
  131 + //and djg_all >0
  132 +// String sql="select gsbm,fgsbm,xl_bm,xl_name,SUM(bcs) as bcs,MAX(id) as id,SUM(djg_all) as djgAll,SUM(djg_gf) as djgGf,"
  133 +// + "SUM(djg_dg) as djgDg,SUM(djg_zgf) as djgZgf,SUM(djg_wgf) as djgWgf,MAX(djg_time) as djgTime "
  134 +// + "from bsth_c_calc_interval where date>= '"+sDate+"' and date<='"+eDate+"' and level <> 'D' ";
132 135 String sql="select gsbm,fgsbm,xl_bm,xl_name,SUM(bcs) as bcs,MAX(id) as id,SUM(djg_all) as djgAll,SUM(djg_gf) as djgGf,"
133   - + "SUM(djg_dg) as djgDg,SUM(djg_zgf) as djgZgf,SUM(djg_wgf) as djgWgf,MAX(djg_time) as djgTime "
134   - + "from bsth_c_calc_interval where date>= '"+sDate+"' and date<='"+eDate+"' and level <> 'D' ";
  136 + + "SUM(djg_dg) as djgDg,SUM(djg_zgf) as djgZgf,SUM(djg_wgf) as djgWgf,MAX(djg_time) as djgTime "
  137 + + "from bsth_c_calc_interval where date>= '"+sDate+"' and date<='"+eDate+"' and level like '%"+level+"%' and level is not null and level <> '' ";
135 138 if(line.equals("")){
136 139 if(fgs.equals("")){
137 140 sql +=" and gsbm = '"+gs+"'";
... ... @@ -168,7 +171,11 @@ public class CalcIntervalServiceImpl extends BaseServiceImpl&lt;CalcInterval,Intege
168 171 m.put("djgZgf", rs.getString("djgZgf"));
169 172 m.put("djgWgf", rs.getString("djgWgf"));
170 173 m.put("djgDg", rs.getString("djgDg"));
171   - m.put("djgTime", rs.getString("djgTime"));
  174 + if("0".equals(rs.getString("djgTime")) || "0.0".equals(rs.getString("djgTime"))){
  175 + m.put("djgTime", "");
  176 + } else {
  177 + m.put("djgTime", rs.getString("djgTime"));
  178 + }
172 179 return m;
173 180 }
174 181 });
... ... @@ -221,17 +228,17 @@ public class CalcIntervalServiceImpl extends BaseServiceImpl&lt;CalcInterval,Intege
221 228 String path = this.getClass().getResource("/").getPath() + "static/pages/forms/";
222 229 String xls="";
223 230 String xlsName="";
224   - if(level.equals("D")){
225   - m.put("date", sDate);
226   - m.put("endDate", eDate);
227   - xls="calcSheetList.xls";
228   - xlsName="发车到站准点率.xls";
229   - }else{
  231 +// if(level.equals("D")){
  232 +// m.put("date", sDate);
  233 +// m.put("endDate", eDate);
  234 +// xls="calcSheetList.xls";
  235 +// xlsName="发车到站准点率.xls";
  236 +// }else{
230 237 m.put("sDate", sDate);
231 238 m.put("eDate", eDate);
232 239 xls="calcIntervalCount.xls";
233   - xlsName="大间隔汇总表.xls";
234   - }
  240 + xlsName="大间隔情况表.xls";
  241 +// }
235 242  
236 243 ee.excelReplace(listI, new Object[]{m}, path + "mould/" + ""+xls,
237 244 path + "export/"+dateTime+"-"+lineName+"-"+xlsName);
... ... @@ -254,7 +261,8 @@ public class CalcIntervalServiceImpl extends BaseServiceImpl&lt;CalcInterval,Intege
254 261 List<Map<String, Object>> tempList = new ArrayList<Map<String, Object>>();
255 262 for (int i = 0; i < listAll.size(); i++) {
256 263 CalcInterval t=listAll.get(i);
257   - if(!t.getLevel().equals("D") && t.getDjgAll()>0){
  264 +// if(!t.getLevel().equals("D") && t.getDjgAll()>0){
  265 + if(t.getDjgAll() != null && t.getDjgAll() > 0){
258 266 Map<String, Object> m=new HashMap<>();
259 267 m.put("gs", t.getGsname());
260 268 m.put("fgs", t.getFgsname());
... ...
src/main/resources/static/pages/report/sheet/intervalCount.html
... ... @@ -31,7 +31,7 @@
31 31 <span class="item-label" style="width: 80px;">公司: </span>
32 32 <select class="form-control" name="company" id="gsdm" style="width: 180px;"></select>
33 33 </div>
34   - <div style="display: inline-block; margin-left: 38px;" id="fgsdmDiv">
  34 + <div style="display: inline-block; margin-left: 28px;" id="fgsdmDiv">
35 35 <span class="item-label" style="width: 80px;">分公司: </span>
36 36 <select class="form-control" name="subCompany" id="fgsdm" style="width: 180px;"></select>
37 37 </div>
... ... @@ -39,7 +39,7 @@
39 39 <span class="item-label" style="width: 80px;">线路: </span>
40 40 <select class="form-control" name="line" id="line" style="width: 180px;"></select>
41 41 </div>
42   - <div style="display: inline-block;margin-left: 42px;">
  42 + <div style="display: inline-block;margin-left: 18px;">
43 43 <span class="item-label" style="width: 80px;">线路性质: </span>
44 44 <select
45 45 class="form-control" name="nature" id="nature"
... ... @@ -54,16 +54,20 @@
54 54 <div style="display: inline-block;margin-left: 33px;">
55 55 <span class="item-label" style="width: 80px;">等级: </span>
56 56 <select class="form-control" style="width: 180px;" id=levelType>
57   - <option value="A,B,C">A,B,C级线路</option>
  57 + <option id="levelTypeAll" value="">全部</option>
  58 + <option value="A" selected="selected">A级线路</option>
  59 + <option value="B">B级线路</option>
  60 + <option value="C">C级线路</option>
58 61 <option value="D">D级线路</option>
  62 + <option value="E">E级线路</option>
59 63 </select>
60 64 </div>
61 65 <div style="display: inline-block;">
62   - <span class="item-label" style="width: 80px;margin-left: 24px;">开始时间: </span>
  66 + <span class="item-label" style="width: 80px;margin-left: 14px;">开始时间: </span>
63 67 <input class="form-control" type="text" id="date" style="width: 180px;"/>
64 68 </div>
65 69 <div style="display: inline-block;">
66   - <span class="item-label" style="width: 80px;margin-left: 24px;">结束时间: </span>
  70 + <span class="item-label" style="width: 80px;margin-left: 14px;">结束时间: </span>
67 71 <input class="form-control" type="text" id="endDate" style="width: 180px;"/>
68 72 </div>
69 73  
... ... @@ -90,7 +94,7 @@
90 94 <td>低谷次数</td>
91 95 <td>全日班次数</td>
92 96 <td>万班次发生率</td>
93   -<!-- <td>最大间隔时间</td> -->
  97 + <td>最大间隔时间</td>
94 98 <td>查看</td>
95 99 </tr>
96 100 </thead>
... ... @@ -116,7 +120,6 @@
116 120 </tbody>
117 121 </table>
118 122  
119   -
120 123 </div>
121 124  
122 125 <div class="table-container" style="margin-top: 10px;overflow:auto;min-width: 906px">
... ... @@ -136,6 +139,7 @@
136 139 <td>低谷次数</td>
137 140 <td>全日班次数</td>
138 141 <td>万班次发生率</td>
  142 + <td>最大间隔时间</td>
139 143 <td>查看</td>
140 144 </tr>
141 145 </thead>
... ... @@ -264,11 +268,13 @@
264 268 if($("#line").val() == " "){
265 269 $("#gsdm").attr("disabled", false);
266 270 $("#fgsdm").attr("disabled", false);
  271 + $("#levelType").val('A');
267 272 } else {
268 273 var temp = tempData[$("#line").val()].split(":");
269 274 $("#gsdm").val(temp[0]);
270 275 updateCompany();
271 276 $("#nature").val(0);
  277 + $("#levelType").val('');
272 278 $("#fgsdm").val(temp[1]);
273 279 $("#gsdm").attr("disabled", true);
274 280 $("#fgsdm").attr("disabled", true);
... ... @@ -288,19 +294,19 @@
288 294 var nature=$("#nature").val();
289 295 var i = layer.load(2);
290 296 $get('/calcInterval/countList',{line:line,date:date,endDate:endDate,gs:gs,fgs:fgs,levelType:levelType,nature:nature,type:'query'},function(result){
291   - if(levelType=="D"){
292   - var intervalList_d = template('intervalList_d',{list:result});
293   - $('#forms_d tbody').html(intervalList_d);
294   - $('.btn-intervalList_d').on('click', showSheetList);
295   - $("#forms").hide();
296   - $("#forms_d").show();
297   - }else{
  297 +// if(levelType=="D"){
  298 +// var intervalList_d = template('intervalList_d',{list:result});
  299 +// $('#forms_d tbody').html(intervalList_d);
  300 +// $('.btn-intervalList_d').on('click', showSheetList);
  301 +// $("#forms").hide();
  302 +// $("#forms_d").show();
  303 +// }else{
298 304 var intervalList = template('intervalList',{list:result});
299 305 $('#forms tbody').html(intervalList);
300 306 $('.btn-intervalList').on('click', showIntervalList);
301 307 $("#forms_d").hide();
302 308 $("#forms").show();
303   - }
  309 +// }
304 310 $("#forms_d_1").hide();
305 311 $("#forms_1").hide();
306 312 $("#export_1").hide();
... ... @@ -423,13 +429,13 @@
423 429 dateTime = moment(date).format("YYYYMMDD")+"-"+
424 430 moment(endDate).format("YYYYMMDD");
425 431 }
426   - if(levelType=="D"){
  432 +// if(levelType=="D"){
  433 +// window.open("/downloadFile/download?fileName="
  434 +// +dateTime+"-"+lineName+"-发车到站准点率");
  435 +// }else{
427 436 window.open("/downloadFile/download?fileName="
428   - +dateTime+"-"+lineName+"-发车到站准点率");
429   - }else{
430   - window.open("/downloadFile/download?fileName="
431   - +dateTime+"-"+lineName+"-大间隔汇总表");
432   - }
  437 + +dateTime+"-"+lineName+"-大间情况表");
  438 +// }
433 439  
434 440 layer.close(i);
435 441 });
... ... @@ -440,18 +446,19 @@
440 446 var date = $("#date").val();
441 447 var endDate = $("#endDate").val();
442 448 var levelType=$("#levelType").val();
443   - if(levelType=='D'){
  449 +// if(levelType=='D'){
  450 +// var i = layer.load(2);
  451 +// $get('/calcSheet/calcListSheet',{line:id,date:date,endDate:endDate,type:'export'},function(result){
  452 +// window.open("/downloadFile/download?fileName=发车到站准点率"+moment(date).format("YYYYMMDD")+"-"+moment(endDate).format("YYYYMMDD"));
  453 +// layer.close(i);
  454 +// });
  455 +// }else{
444 456 var i = layer.load(2);
445   - $get('/calcSheet/calcListSheet',{line:id,date:date,endDate:endDate,type:'export'},function(result){
446   - window.open("/downloadFile/download?fileName=发车到站准点率"+moment(date).format("YYYYMMDD")+"-"+moment(endDate).format("YYYYMMDD"));
447   - layer.close(i);
448   - });
449   - }else{
450 457 $get('/calcInterval/listInterval',{line:id,date:date,endDate:endDate,type:'export'},function(result){
451 458 window.open("/downloadFile/download?fileName=大间距汇总表"+moment(date).format("YYYYMMDD")+"-"+moment(endDate).format("YYYYMMDD"));
452 459 layer.close(i);
453 460 });
454   - }
  461 +// }
455 462  
456 463 })
457 464  
... ... @@ -470,6 +477,7 @@
470 477 <td>{{obj.djgDg}}</td>
471 478 <td>{{obj.bcs}}</td>
472 479 <td>{{obj.fsl}}</td>
  480 + <td>{{obj.djgTime}}</td>
473 481 <td>
474 482 <button type="button" class="btn btn-sm blue btn-intervalList"
475 483 data-id="{{obj.xlBm}}">查看</button>
... ... @@ -523,6 +531,7 @@
523 531 <td>{{obj.djgDg}}</td>
524 532 <td>{{obj.bcs}}</td>
525 533 <td>{{obj.fsl}}</td>
  534 + <td>{{obj.djgTime}}</td>
526 535 <td>
527 536 <button type="button" class="btn btn-sm blue btn-intervalList_1"
528 537 data-id="{{obj.xlBm}}" data-date="{{obj.date}}">详细</button>
... ...