Commit bb0d96aeded4edb5744dbdd7a949ee84663a7d03

Authored by 娄高锋
1 parent d81d276b

大间隔统计 添加导出全部详情的功能

src/main/java/com/bsth/controller/calc/CalcIntervalController.java
@@ -41,6 +41,13 @@ public class CalcIntervalController extends BaseController<CalcInterval,Integer @@ -41,6 +41,13 @@ public class CalcIntervalController extends BaseController<CalcInterval,Integer
41 return list; 41 return list;
42 } 42 }
43 43
  44 + @RequestMapping(value="/exportDetail")
  45 + public List<Map<String,Object>> exportDetail(@RequestParam Map<String, Object> map){
  46 + List<Map<String,Object>> list=new ArrayList<Map<String,Object>>();
  47 + list=calcIntervalService.exportDetail(map);
  48 + return list;
  49 + }
  50 +
44 @RequestMapping(value="/sumInterval") 51 @RequestMapping(value="/sumInterval")
45 public List<Map<String,Object>> sumInterval(@RequestParam Map<String, Object> map){ 52 public List<Map<String,Object>> sumInterval(@RequestParam Map<String, Object> map){
46 List<Map<String, Object>> list=calcIntervalService.sumInterval(map); 53 List<Map<String, Object>> list=calcIntervalService.sumInterval(map);
src/main/java/com/bsth/service/calc/CalcIntervalService.java
@@ -17,6 +17,8 @@ public interface CalcIntervalService extends BaseService&lt;CalcInterval,Integer&gt; { @@ -17,6 +17,8 @@ public interface CalcIntervalService extends BaseService&lt;CalcInterval,Integer&gt; {
17 List<Map<String,Object>> interval(Map<String, Object> map); 17 List<Map<String,Object>> interval(Map<String, Object> map);
18 //根据预统计表查询 18 //根据预统计表查询
19 List<Map<String,Object>> intervalDetail(Map<String, Object> map); 19 List<Map<String,Object>> intervalDetail(Map<String, Object> map);
  20 + //导出全部天数大间隔详细
  21 + List<Map<String,Object>> exportDetail(Map<String, Object> map);
20 //大间隔统计表(大间隔发生次数统计表) 22 //大间隔统计表(大间隔发生次数统计表)
21 List<Map<String,Object>> sumInterval(Map<String, Object> map); 23 List<Map<String,Object>> sumInterval(Map<String, Object> map);
22 24
src/main/java/com/bsth/service/calc/impl/CalcIntervalServiceImpl.java
@@ -136,8 +136,9 @@ public class CalcIntervalServiceImpl extends BaseServiceImpl&lt;CalcInterval,Intege @@ -136,8 +136,9 @@ public class CalcIntervalServiceImpl extends BaseServiceImpl&lt;CalcInterval,Intege
136 // + "SUM(djg_dg) as djgDg,SUM(djg_zgf) as djgZgf,SUM(djg_wgf) as djgWgf,MAX(djg_time) as djgTime " 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 <> 'D' "; 137 // + "from bsth_c_calc_interval where date>= '"+sDate+"' and date<='"+eDate+"' and level <> 'D' ";
138 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," 138 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,"
139 - + "SUM(djg_dg) as djgDg,SUM(djg_zgf) as djgZgf,SUM(djg_wgf) as djgWgf,MAX(djg_time) as djgTime "  
140 - + "from bsth_c_calc_interval where date>= '"+sDate+"' and date<='"+eDate+"' and level like '%"+level+"%' and level is not null and level <> '' "; 139 + + "SUM(djg_dg) as djgDg,SUM(djg_zgf) as djgZgf,SUM(djg_wgf) as djgWgf,MAX(djg_time) as djgTime, level "
  140 + + "from bsth_c_calc_interval where date>= '"+sDate+"' and date<='"+eDate+"' and level like '%"+level+"%' "
  141 + + "and level is not null and level <> '' ";
141 if(line.equals("")){ 142 if(line.equals("")){
142 if(fgs.equals("")){ 143 if(fgs.equals("")){
143 sql +=" and gsbm = '"+gs+"'"; 144 sql +=" and gsbm = '"+gs+"'";
@@ -147,7 +148,8 @@ public class CalcIntervalServiceImpl extends BaseServiceImpl&lt;CalcInterval,Intege @@ -147,7 +148,8 @@ public class CalcIntervalServiceImpl extends BaseServiceImpl&lt;CalcInterval,Intege
147 }else{ 148 }else{
148 sql +=" and xl_bm ='"+line+"'"; 149 sql +=" and xl_bm ='"+line+"'";
149 } 150 }
150 - sql += " group by xl_bm,gsbm,fgsbm,xl_name"; 151 + sql += " group by xl_bm,gsbm,fgsbm,xl_name,level"
  152 + +" order by xl_bm,level";
151 153
152 list=jdbcTemplate.query(sql, 154 list=jdbcTemplate.query(sql,
153 new RowMapper<Map<String,Object>>(){ 155 new RowMapper<Map<String,Object>>(){
@@ -179,6 +181,11 @@ public class CalcIntervalServiceImpl extends BaseServiceImpl&lt;CalcInterval,Intege @@ -179,6 +181,11 @@ public class CalcIntervalServiceImpl extends BaseServiceImpl&lt;CalcInterval,Intege
179 } else { 181 } else {
180 m.put("djgTime", rs.getString("djgTime")); 182 m.put("djgTime", rs.getString("djgTime"));
181 } 183 }
  184 + if(rs.getString("level").toString().trim().length() > 1){
  185 + m.put("level", rs.getString("level").trim().substring(0, 1));
  186 + } else {
  187 + m.put("level", rs.getString("level"));
  188 + }
182 return m; 189 return m;
183 } 190 }
184 }); 191 });
@@ -260,7 +267,8 @@ public class CalcIntervalServiceImpl extends BaseServiceImpl&lt;CalcInterval,Intege @@ -260,7 +267,8 @@ public class CalcIntervalServiceImpl extends BaseServiceImpl&lt;CalcInterval,Intege
260 String line=map.get("line").toString(); 267 String line=map.get("line").toString();
261 String date=map.get("date").toString(); 268 String date=map.get("date").toString();
262 String endDate=map.get("endDate").toString(); 269 String endDate=map.get("endDate").toString();
263 - List<CalcInterval> listAll=calcIntervalRepository.selectByDateAndLine(line, date, endDate, ""); 270 + String levelType=map.get("levelType").toString();
  271 + List<CalcInterval> listAll=calcIntervalRepository.selectByDateAndLine(line, date, endDate, levelType);
264 List<Map<String, Object>> tempList = new ArrayList<Map<String, Object>>(); 272 List<Map<String, Object>> tempList = new ArrayList<Map<String, Object>>();
265 for (int i = 0; i < listAll.size(); i++) { 273 for (int i = 0; i < listAll.size(); i++) {
266 CalcInterval t=listAll.get(i); 274 CalcInterval t=listAll.get(i);
@@ -699,6 +707,54 @@ public class CalcIntervalServiceImpl extends BaseServiceImpl&lt;CalcInterval,Intege @@ -699,6 +707,54 @@ public class CalcIntervalServiceImpl extends BaseServiceImpl&lt;CalcInterval,Intege
699 return minSj; 707 return minSj;
700 } 708 }
701 709
  710 + @Override
  711 + public List<Map<String, Object>> exportDetail(Map<String, Object> map) {
  712 + // TODO Auto-generated method stub
  713 + String line=map.get("line").toString();
  714 + String date=map.get("date").toString();
  715 + String endDate=map.get("endDate").toString();
  716 + String level=map.get("levelType").toString();
  717 + String sql="select * from bsth_c_calc_interval_detail where line_code='"+line+"' and "
  718 + + " date >= '"+date+"' and date <= '"+endDate+"' and level like '%"+level+"%'"
  719 + + " and level is not null and level <> ''"
  720 + + " order by date asc, level asc";
  721 +
  722 + List<Map<String, Object>> list=jdbcTemplate.query(sql,
  723 + new RowMapper<Map<String,Object>>(){
  724 + @Override
  725 + public Map<String, Object> mapRow(ResultSet rs, int rowNum) throws SQLException {
  726 + Map<String, Object> m=new HashMap<String,Object>();
  727 + m.put("xlName", rs.getString("line_name"));
  728 + m.put("level", rs.getString("level"));
  729 + m.put("jhfc1", rs.getString("jhfc1"));
  730 + m.put("sjfc1", rs.getString("sjfc1"));
  731 + m.put("jhfc2", rs.getString("jhfc2"));
  732 + m.put("sjfc2", rs.getString("sjfc2"));
  733 + m.put("subTime", rs.getString("sub_time"));
  734 + m.put("date", rs.getString("date"));
  735 + m.put("station", rs.getString("station"));
  736 +
  737 + return m;
  738 + }
  739 + });
  740 + if(map.get("type").toString().equals("export")){
  741 + List<Iterator<?>> listI = new ArrayList<Iterator<?>>();
  742 + Map<String, Object> m = new HashMap<String, Object>();
  743 + m.put("date", date);
  744 + ReportUtils ee = new ReportUtils();
  745 + try {
  746 + listI.add(list.iterator());
  747 + String path = this.getClass().getResource("/").getPath() + "static/pages/forms/";
  748 + ee.excelReplace(listI, new Object[]{m}, path + "mould/" + "interval.xls",
  749 + path + "export/"+date.replaceAll("-", "")+"-"+endDate.replaceAll("-", "")+"大间隔详细.xls");
  750 + } catch (Exception e) {
  751 + // TODO: handle exception
  752 + e.printStackTrace();
  753 + }
  754 + }
  755 + return list;
  756 + }
  757 +
702 public List<Map<String, Object>> sumInterval(Map<String, Object> map) { 758 public List<Map<String, Object>> sumInterval(Map<String, Object> map) {
703 // TODO Auto-generated method stub 759 // TODO Auto-generated method stub
704 final DecimalFormat df = new DecimalFormat("0.00"); 760 final DecimalFormat df = new DecimalFormat("0.00");
src/main/resources/static/pages/forms/mould/calcIntervalCount.xls
No preview for this file type
src/main/resources/static/pages/report/sheet/intervalCount.html
@@ -73,6 +73,7 @@ @@ -73,6 +73,7 @@
73 73
74 <div class="form-group"> 74 <div class="form-group">
75 <input type="hidden" id="id"/> 75 <input type="hidden" id="id"/>
  76 + <input type="hidden" id="dataLevel"/>
76 <input class="btn btn-default" type="button" id="query" value="查询"/> 77 <input class="btn btn-default" type="button" id="query" value="查询"/>
77 <input class="btn btn-default" type="button" id="export" value="导出"/> 78 <input class="btn btn-default" type="button" id="export" value="导出"/>
78 </div> 79 </div>
@@ -87,6 +88,7 @@ @@ -87,6 +88,7 @@
87 <td>公司</td> 88 <td>公司</td>
88 <td>分公司</td> 89 <td>分公司</td>
89 <td>线路</td> 90 <td>线路</td>
  91 + <td>线路等级</td>
90 <td>全日次数</td> 92 <td>全日次数</td>
91 <td>高峰次数</td> 93 <td>高峰次数</td>
92 <td>早高峰次数</td> 94 <td>早高峰次数</td>
@@ -124,6 +126,7 @@ @@ -124,6 +126,7 @@
124 126
125 <div class="table-container" style="margin-top: 10px;overflow:auto;min-width: 906px"> 127 <div class="table-container" style="margin-top: 10px;overflow:auto;min-width: 906px">
126 <input class="btn btn-default" style="display: none" type="button" id="export_1" value="导出"/> 128 <input class="btn btn-default" style="display: none" type="button" id="export_1" value="导出"/>
  129 + <input class="btn btn-default" style="display: none;margin-left: 10px;" type="button" id="export_2" value="导出全部详细"/>
127 <table class="table table-bordered table-hover table-checkable" style="display: none" id="forms_1"> 130 <table class="table table-bordered table-hover table-checkable" style="display: none" id="forms_1">
128 <thead> 131 <thead>
129 <tr > 132 <tr >
@@ -308,8 +311,9 @@ @@ -308,8 +311,9 @@
308 $("#forms").show(); 311 $("#forms").show();
309 // } 312 // }
310 $("#forms_d_1").hide(); 313 $("#forms_d_1").hide();
311 - $("#forms_1").hide(); 314 + $("#forms_1").hide();
312 $("#export_1").hide(); 315 $("#export_1").hide();
  316 + $("#export_2").hide();
313 317
314 layer.close(i); 318 layer.close(i);
315 if(result.length == 0) 319 if(result.length == 0)
@@ -324,13 +328,16 @@ @@ -324,13 +328,16 @@
324 var id = $(this).data('id'); 328 var id = $(this).data('id');
325 var date = $("#date").val(); 329 var date = $("#date").val();
326 var endDate = $("#endDate").val(); 330 var endDate = $("#endDate").val();
  331 + var levelType=$(this).data('level');
327 $("#id").val(id); 332 $("#id").val(id);
328 - $get('/calcInterval/listInterval',{line:id,date:date,endDate:endDate,type:'query'},function(result){ 333 + $("#dataLevel").val(levelType);
  334 + $get('/calcInterval/listInterval',{line:id,date:date,endDate:endDate,levelType:levelType,type:'query'},function(result){
329 var intervalList = template('intervalList_1',{list:result}); 335 var intervalList = template('intervalList_1',{list:result});
330 $('#forms_1 tbody').html(intervalList); 336 $('#forms_1 tbody').html(intervalList);
331 $('.btn-intervalList_1').on('click', openIntervalList); 337 $('.btn-intervalList_1').on('click', openIntervalList);
332 $("#forms_1").show(); 338 $("#forms_1").show();
333 $("#export_1").show(); 339 $("#export_1").show();
  340 + $("#export_2").show();
334 $("html,body").animate({scrollTop:$("#forms_1").offset().top},1000); 341 $("html,body").animate({scrollTop:$("#forms_1").offset().top},1000);
335 }); 342 });
336 } 343 }
@@ -367,6 +374,7 @@ @@ -367,6 +374,7 @@
367 $('.btn-calcSheetList_2').on('click', opencalcSheetList2); 374 $('.btn-calcSheetList_2').on('click', opencalcSheetList2);
368 $("#forms_d_1").show(); 375 $("#forms_d_1").show();
369 $("#export_1").show(); 376 $("#export_1").show();
  377 + $("#export_2").show();
370 $("html,body").animate({scrollTop:$("#forms_d_1").offset().top},1000); 378 $("html,body").animate({scrollTop:$("#forms_d_1").offset().top},1000);
371 }); 379 });
372 } 380 }
@@ -445,7 +453,7 @@ @@ -445,7 +453,7 @@
445 var id = $("#id").val(); 453 var id = $("#id").val();
446 var date = $("#date").val(); 454 var date = $("#date").val();
447 var endDate = $("#endDate").val(); 455 var endDate = $("#endDate").val();
448 - var levelType=$("#levelType").val(); 456 + var levelType=$("#dataLevel").val();
449 // if(levelType=='D'){ 457 // if(levelType=='D'){
450 // var i = layer.load(2); 458 // var i = layer.load(2);
451 // $get('/calcSheet/calcListSheet',{line:id,date:date,endDate:endDate,type:'export'},function(result){ 459 // $get('/calcSheet/calcListSheet',{line:id,date:date,endDate:endDate,type:'export'},function(result){
@@ -454,7 +462,7 @@ @@ -454,7 +462,7 @@
454 // }); 462 // });
455 // }else{ 463 // }else{
456 var i = layer.load(2); 464 var i = layer.load(2);
457 - $get('/calcInterval/listInterval',{line:id,date:date,endDate:endDate,type:'export'},function(result){ 465 + $get('/calcInterval/listInterval',{line:id,date:date,endDate:endDate,levelType:levelType,type:'export'},function(result){
458 window.open("/downloadFile/download?fileName=大间距汇总表"+moment(date).format("YYYYMMDD")+"-"+moment(endDate).format("YYYYMMDD")); 466 window.open("/downloadFile/download?fileName=大间距汇总表"+moment(date).format("YYYYMMDD")+"-"+moment(endDate).format("YYYYMMDD"));
459 layer.close(i); 467 layer.close(i);
460 }); 468 });
@@ -462,6 +470,19 @@ @@ -462,6 +470,19 @@
462 470
463 }) 471 })
464 472
  473 + $("#export_2").on("click",function(){
  474 + var id = $("#id").val();
  475 + var date = $("#date").val();
  476 + var endDate = $("#endDate").val();
  477 + var levelType=$("#dataLevel").val();
  478 + var i = layer.load(2);
  479 + $get('/calcInterval/exportDetail',{line:id,date:date,endDate:endDate,levelType:levelType,type:'export'},function(result){
  480 + window.open("/downloadFile/download?fileName="+moment(date).format("YYYYMMDD")+"-"+moment(endDate).format("YYYYMMDD")+"大间隔详细");
  481 + layer.close(i);
  482 + });
  483 +
  484 + })
  485 +
465 }); 486 });
466 </script> 487 </script>
467 <script type="text/html" id="intervalList"> 488 <script type="text/html" id="intervalList">
@@ -470,6 +491,7 @@ @@ -470,6 +491,7 @@
470 <td>{{obj.gs}}</td> 491 <td>{{obj.gs}}</td>
471 <td>{{obj.fgs}}</td> 492 <td>{{obj.fgs}}</td>
472 <td>{{obj.xlName}}</td> 493 <td>{{obj.xlName}}</td>
  494 + <td>{{obj.level}}</td>
473 <td>{{obj.djgAll}}</td> 495 <td>{{obj.djgAll}}</td>
474 <td>{{obj.djgGf}}</td> 496 <td>{{obj.djgGf}}</td>
475 <td>{{obj.djgZgf}}</td> 497 <td>{{obj.djgZgf}}</td>
@@ -480,7 +502,7 @@ @@ -480,7 +502,7 @@
480 <td>{{obj.djgTime}}</td> 502 <td>{{obj.djgTime}}</td>
481 <td> 503 <td>
482 <button type="button" class="btn btn-sm blue btn-intervalList" 504 <button type="button" class="btn btn-sm blue btn-intervalList"
483 - data-id="{{obj.xlBm}}">查看</button> 505 + data-id="{{obj.xlBm}}" data-level="{{obj.level}}">查看</button>
484 </td> 506 </td>
485 </tr> 507 </tr>
486 {{/each}} 508 {{/each}}