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,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 List<CalcInterval> selectByDateAndLine(String line,String date,String date2,String level); 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,7 +68,7 @@ public class CalcIntervalServiceImpl extends BaseServiceImpl&lt;CalcInterval,Intege
68 String nature=map.get("nature").toString(); 68 String nature=map.get("nature").toString();
69 69
70 //D级线路显示发车准点率 70 //D级线路显示发车准点率
71 - if(level.equals("D")){ 71 + if(level.equals("D") && false){ //新的计算规则D级也显示大间隔
72 String sql1=" select xl_bm,gsbm,fgsbm,xl_name from bsth_c_calc_interval where date >='"+sDate+"' and date <= '"+eDate+"' and `level`='D'"; 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 if(line.equals("")){ 73 if(line.equals("")){
74 if(fgs.equals("")){ 74 if(fgs.equals("")){
@@ -128,10 +128,13 @@ public class CalcIntervalServiceImpl extends BaseServiceImpl&lt;CalcInterval,Intege @@ -128,10 +128,13 @@ public class CalcIntervalServiceImpl extends BaseServiceImpl&lt;CalcInterval,Intege
128 }); 128 });
129 }else{ 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 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," 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 if(line.equals("")){ 138 if(line.equals("")){
136 if(fgs.equals("")){ 139 if(fgs.equals("")){
137 sql +=" and gsbm = '"+gs+"'"; 140 sql +=" and gsbm = '"+gs+"'";
@@ -168,7 +171,11 @@ public class CalcIntervalServiceImpl extends BaseServiceImpl&lt;CalcInterval,Intege @@ -168,7 +171,11 @@ public class CalcIntervalServiceImpl extends BaseServiceImpl&lt;CalcInterval,Intege
168 m.put("djgZgf", rs.getString("djgZgf")); 171 m.put("djgZgf", rs.getString("djgZgf"));
169 m.put("djgWgf", rs.getString("djgWgf")); 172 m.put("djgWgf", rs.getString("djgWgf"));
170 m.put("djgDg", rs.getString("djgDg")); 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 return m; 179 return m;
173 } 180 }
174 }); 181 });
@@ -221,17 +228,17 @@ public class CalcIntervalServiceImpl extends BaseServiceImpl&lt;CalcInterval,Intege @@ -221,17 +228,17 @@ public class CalcIntervalServiceImpl extends BaseServiceImpl&lt;CalcInterval,Intege
221 String path = this.getClass().getResource("/").getPath() + "static/pages/forms/"; 228 String path = this.getClass().getResource("/").getPath() + "static/pages/forms/";
222 String xls=""; 229 String xls="";
223 String xlsName=""; 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 m.put("sDate", sDate); 237 m.put("sDate", sDate);
231 m.put("eDate", eDate); 238 m.put("eDate", eDate);
232 xls="calcIntervalCount.xls"; 239 xls="calcIntervalCount.xls";
233 - xlsName="大间隔汇总表.xls";  
234 - } 240 + xlsName="大间隔情况表.xls";
  241 +// }
235 242
236 ee.excelReplace(listI, new Object[]{m}, path + "mould/" + ""+xls, 243 ee.excelReplace(listI, new Object[]{m}, path + "mould/" + ""+xls,
237 path + "export/"+dateTime+"-"+lineName+"-"+xlsName); 244 path + "export/"+dateTime+"-"+lineName+"-"+xlsName);
@@ -254,7 +261,8 @@ public class CalcIntervalServiceImpl extends BaseServiceImpl&lt;CalcInterval,Intege @@ -254,7 +261,8 @@ public class CalcIntervalServiceImpl extends BaseServiceImpl&lt;CalcInterval,Intege
254 List<Map<String, Object>> tempList = new ArrayList<Map<String, Object>>(); 261 List<Map<String, Object>> tempList = new ArrayList<Map<String, Object>>();
255 for (int i = 0; i < listAll.size(); i++) { 262 for (int i = 0; i < listAll.size(); i++) {
256 CalcInterval t=listAll.get(i); 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 Map<String, Object> m=new HashMap<>(); 266 Map<String, Object> m=new HashMap<>();
259 m.put("gs", t.getGsname()); 267 m.put("gs", t.getGsname());
260 m.put("fgs", t.getFgsname()); 268 m.put("fgs", t.getFgsname());
src/main/resources/static/pages/report/sheet/intervalCount.html
@@ -31,7 +31,7 @@ @@ -31,7 +31,7 @@
31 <span class="item-label" style="width: 80px;">公司: </span> 31 <span class="item-label" style="width: 80px;">公司: </span>
32 <select class="form-control" name="company" id="gsdm" style="width: 180px;"></select> 32 <select class="form-control" name="company" id="gsdm" style="width: 180px;"></select>
33 </div> 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 <span class="item-label" style="width: 80px;">分公司: </span> 35 <span class="item-label" style="width: 80px;">分公司: </span>
36 <select class="form-control" name="subCompany" id="fgsdm" style="width: 180px;"></select> 36 <select class="form-control" name="subCompany" id="fgsdm" style="width: 180px;"></select>
37 </div> 37 </div>
@@ -39,7 +39,7 @@ @@ -39,7 +39,7 @@
39 <span class="item-label" style="width: 80px;">线路: </span> 39 <span class="item-label" style="width: 80px;">线路: </span>
40 <select class="form-control" name="line" id="line" style="width: 180px;"></select> 40 <select class="form-control" name="line" id="line" style="width: 180px;"></select>
41 </div> 41 </div>
42 - <div style="display: inline-block;margin-left: 42px;"> 42 + <div style="display: inline-block;margin-left: 18px;">
43 <span class="item-label" style="width: 80px;">线路性质: </span> 43 <span class="item-label" style="width: 80px;">线路性质: </span>
44 <select 44 <select
45 class="form-control" name="nature" id="nature" 45 class="form-control" name="nature" id="nature"
@@ -54,16 +54,20 @@ @@ -54,16 +54,20 @@
54 <div style="display: inline-block;margin-left: 33px;"> 54 <div style="display: inline-block;margin-left: 33px;">
55 <span class="item-label" style="width: 80px;">等级: </span> 55 <span class="item-label" style="width: 80px;">等级: </span>
56 <select class="form-control" style="width: 180px;" id=levelType> 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 <option value="D">D级线路</option> 61 <option value="D">D级线路</option>
  62 + <option value="E">E级线路</option>
59 </select> 63 </select>
60 </div> 64 </div>
61 <div style="display: inline-block;"> 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 <input class="form-control" type="text" id="date" style="width: 180px;"/> 67 <input class="form-control" type="text" id="date" style="width: 180px;"/>
64 </div> 68 </div>
65 <div style="display: inline-block;"> 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 <input class="form-control" type="text" id="endDate" style="width: 180px;"/> 71 <input class="form-control" type="text" id="endDate" style="width: 180px;"/>
68 </div> 72 </div>
69 73
@@ -90,7 +94,7 @@ @@ -90,7 +94,7 @@
90 <td>低谷次数</td> 94 <td>低谷次数</td>
91 <td>全日班次数</td> 95 <td>全日班次数</td>
92 <td>万班次发生率</td> 96 <td>万班次发生率</td>
93 -<!-- <td>最大间隔时间</td> --> 97 + <td>最大间隔时间</td>
94 <td>查看</td> 98 <td>查看</td>
95 </tr> 99 </tr>
96 </thead> 100 </thead>
@@ -116,7 +120,6 @@ @@ -116,7 +120,6 @@
116 </tbody> 120 </tbody>
117 </table> 121 </table>
118 122
119 -  
120 </div> 123 </div>
121 124
122 <div class="table-container" style="margin-top: 10px;overflow:auto;min-width: 906px"> 125 <div class="table-container" style="margin-top: 10px;overflow:auto;min-width: 906px">
@@ -136,6 +139,7 @@ @@ -136,6 +139,7 @@
136 <td>低谷次数</td> 139 <td>低谷次数</td>
137 <td>全日班次数</td> 140 <td>全日班次数</td>
138 <td>万班次发生率</td> 141 <td>万班次发生率</td>
  142 + <td>最大间隔时间</td>
139 <td>查看</td> 143 <td>查看</td>
140 </tr> 144 </tr>
141 </thead> 145 </thead>
@@ -264,11 +268,13 @@ @@ -264,11 +268,13 @@
264 if($("#line").val() == " "){ 268 if($("#line").val() == " "){
265 $("#gsdm").attr("disabled", false); 269 $("#gsdm").attr("disabled", false);
266 $("#fgsdm").attr("disabled", false); 270 $("#fgsdm").attr("disabled", false);
  271 + $("#levelType").val('A');
267 } else { 272 } else {
268 var temp = tempData[$("#line").val()].split(":"); 273 var temp = tempData[$("#line").val()].split(":");
269 $("#gsdm").val(temp[0]); 274 $("#gsdm").val(temp[0]);
270 updateCompany(); 275 updateCompany();
271 $("#nature").val(0); 276 $("#nature").val(0);
  277 + $("#levelType").val('');
272 $("#fgsdm").val(temp[1]); 278 $("#fgsdm").val(temp[1]);
273 $("#gsdm").attr("disabled", true); 279 $("#gsdm").attr("disabled", true);
274 $("#fgsdm").attr("disabled", true); 280 $("#fgsdm").attr("disabled", true);
@@ -288,19 +294,19 @@ @@ -288,19 +294,19 @@
288 var nature=$("#nature").val(); 294 var nature=$("#nature").val();
289 var i = layer.load(2); 295 var i = layer.load(2);
290 $get('/calcInterval/countList',{line:line,date:date,endDate:endDate,gs:gs,fgs:fgs,levelType:levelType,nature:nature,type:'query'},function(result){ 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 var intervalList = template('intervalList',{list:result}); 304 var intervalList = template('intervalList',{list:result});
299 $('#forms tbody').html(intervalList); 305 $('#forms tbody').html(intervalList);
300 $('.btn-intervalList').on('click', showIntervalList); 306 $('.btn-intervalList').on('click', showIntervalList);
301 $("#forms_d").hide(); 307 $("#forms_d").hide();
302 $("#forms").show(); 308 $("#forms").show();
303 - } 309 +// }
304 $("#forms_d_1").hide(); 310 $("#forms_d_1").hide();
305 $("#forms_1").hide(); 311 $("#forms_1").hide();
306 $("#export_1").hide(); 312 $("#export_1").hide();
@@ -423,13 +429,13 @@ @@ -423,13 +429,13 @@
423 dateTime = moment(date).format("YYYYMMDD")+"-"+ 429 dateTime = moment(date).format("YYYYMMDD")+"-"+
424 moment(endDate).format("YYYYMMDD"); 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 window.open("/downloadFile/download?fileName=" 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 layer.close(i); 440 layer.close(i);
435 }); 441 });
@@ -440,18 +446,19 @@ @@ -440,18 +446,19 @@
440 var date = $("#date").val(); 446 var date = $("#date").val();
441 var endDate = $("#endDate").val(); 447 var endDate = $("#endDate").val();
442 var levelType=$("#levelType").val(); 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 var i = layer.load(2); 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 $get('/calcInterval/listInterval',{line:id,date:date,endDate:endDate,type:'export'},function(result){ 457 $get('/calcInterval/listInterval',{line:id,date:date,endDate:endDate,type:'export'},function(result){
451 window.open("/downloadFile/download?fileName=大间距汇总表"+moment(date).format("YYYYMMDD")+"-"+moment(endDate).format("YYYYMMDD")); 458 window.open("/downloadFile/download?fileName=大间距汇总表"+moment(date).format("YYYYMMDD")+"-"+moment(endDate).format("YYYYMMDD"));
452 layer.close(i); 459 layer.close(i);
453 }); 460 });
454 - } 461 +// }
455 462
456 }) 463 })
457 464
@@ -470,6 +477,7 @@ @@ -470,6 +477,7 @@
470 <td>{{obj.djgDg}}</td> 477 <td>{{obj.djgDg}}</td>
471 <td>{{obj.bcs}}</td> 478 <td>{{obj.bcs}}</td>
472 <td>{{obj.fsl}}</td> 479 <td>{{obj.fsl}}</td>
  480 + <td>{{obj.djgTime}}</td>
473 <td> 481 <td>
474 <button type="button" class="btn btn-sm blue btn-intervalList" 482 <button type="button" class="btn btn-sm blue btn-intervalList"
475 data-id="{{obj.xlBm}}">查看</button> 483 data-id="{{obj.xlBm}}">查看</button>
@@ -523,6 +531,7 @@ @@ -523,6 +531,7 @@
523 <td>{{obj.djgDg}}</td> 531 <td>{{obj.djgDg}}</td>
524 <td>{{obj.bcs}}</td> 532 <td>{{obj.bcs}}</td>
525 <td>{{obj.fsl}}</td> 533 <td>{{obj.fsl}}</td>
  534 + <td>{{obj.djgTime}}</td>
526 <td> 535 <td>
527 <button type="button" class="btn btn-sm blue btn-intervalList_1" 536 <button type="button" class="btn btn-sm blue btn-intervalList_1"
528 data-id="{{obj.xlBm}}" data-date="{{obj.date}}">详细</button> 537 data-id="{{obj.xlBm}}" data-date="{{obj.date}}">详细</button>