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 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 51 @RequestMapping(value="/sumInterval")
45 52 public List<Map<String,Object>> sumInterval(@RequestParam Map<String, Object> map){
46 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 17 List<Map<String,Object>> interval(Map<String, Object> map);
18 18 //根据预统计表查询
19 19 List<Map<String,Object>> intervalDetail(Map<String, Object> map);
  20 + //导出全部天数大间隔详细
  21 + List<Map<String,Object>> exportDetail(Map<String, Object> map);
20 22 //大间隔统计表(大间隔发生次数统计表)
21 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 136 // + "SUM(djg_dg) as djgDg,SUM(djg_zgf) as djgZgf,SUM(djg_wgf) as djgWgf,MAX(djg_time) as djgTime "
137 137 // + "from bsth_c_calc_interval where date>= '"+sDate+"' and date<='"+eDate+"' and level <> 'D' ";
138 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 142 if(line.equals("")){
142 143 if(fgs.equals("")){
143 144 sql +=" and gsbm = '"+gs+"'";
... ... @@ -147,7 +148,8 @@ public class CalcIntervalServiceImpl extends BaseServiceImpl&lt;CalcInterval,Intege
147 148 }else{
148 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 154 list=jdbcTemplate.query(sql,
153 155 new RowMapper<Map<String,Object>>(){
... ... @@ -179,6 +181,11 @@ public class CalcIntervalServiceImpl extends BaseServiceImpl&lt;CalcInterval,Intege
179 181 } else {
180 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 189 return m;
183 190 }
184 191 });
... ... @@ -260,7 +267,8 @@ public class CalcIntervalServiceImpl extends BaseServiceImpl&lt;CalcInterval,Intege
260 267 String line=map.get("line").toString();
261 268 String date=map.get("date").toString();
262 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 272 List<Map<String, Object>> tempList = new ArrayList<Map<String, Object>>();
265 273 for (int i = 0; i < listAll.size(); i++) {
266 274 CalcInterval t=listAll.get(i);
... ... @@ -699,6 +707,54 @@ public class CalcIntervalServiceImpl extends BaseServiceImpl&lt;CalcInterval,Intege
699 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 758 public List<Map<String, Object>> sumInterval(Map<String, Object> map) {
703 759 // TODO Auto-generated method stub
704 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 73  
74 74 <div class="form-group">
75 75 <input type="hidden" id="id"/>
  76 + <input type="hidden" id="dataLevel"/>
76 77 <input class="btn btn-default" type="button" id="query" value="查询"/>
77 78 <input class="btn btn-default" type="button" id="export" value="导出"/>
78 79 </div>
... ... @@ -87,6 +88,7 @@
87 88 <td>公司</td>
88 89 <td>分公司</td>
89 90 <td>线路</td>
  91 + <td>线路等级</td>
90 92 <td>全日次数</td>
91 93 <td>高峰次数</td>
92 94 <td>早高峰次数</td>
... ... @@ -124,6 +126,7 @@
124 126  
125 127 <div class="table-container" style="margin-top: 10px;overflow:auto;min-width: 906px">
126 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 130 <table class="table table-bordered table-hover table-checkable" style="display: none" id="forms_1">
128 131 <thead>
129 132 <tr >
... ... @@ -308,8 +311,9 @@
308 311 $("#forms").show();
309 312 // }
310 313 $("#forms_d_1").hide();
311   - $("#forms_1").hide();
  314 + $("#forms_1").hide();
312 315 $("#export_1").hide();
  316 + $("#export_2").hide();
313 317  
314 318 layer.close(i);
315 319 if(result.length == 0)
... ... @@ -324,13 +328,16 @@
324 328 var id = $(this).data('id');
325 329 var date = $("#date").val();
326 330 var endDate = $("#endDate").val();
  331 + var levelType=$(this).data('level');
327 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 335 var intervalList = template('intervalList_1',{list:result});
330 336 $('#forms_1 tbody').html(intervalList);
331 337 $('.btn-intervalList_1').on('click', openIntervalList);
332 338 $("#forms_1").show();
333 339 $("#export_1").show();
  340 + $("#export_2").show();
334 341 $("html,body").animate({scrollTop:$("#forms_1").offset().top},1000);
335 342 });
336 343 }
... ... @@ -367,6 +374,7 @@
367 374 $('.btn-calcSheetList_2').on('click', opencalcSheetList2);
368 375 $("#forms_d_1").show();
369 376 $("#export_1").show();
  377 + $("#export_2").show();
370 378 $("html,body").animate({scrollTop:$("#forms_d_1").offset().top},1000);
371 379 });
372 380 }
... ... @@ -445,7 +453,7 @@
445 453 var id = $("#id").val();
446 454 var date = $("#date").val();
447 455 var endDate = $("#endDate").val();
448   - var levelType=$("#levelType").val();
  456 + var levelType=$("#dataLevel").val();
449 457 // if(levelType=='D'){
450 458 // var i = layer.load(2);
451 459 // $get('/calcSheet/calcListSheet',{line:id,date:date,endDate:endDate,type:'export'},function(result){
... ... @@ -454,7 +462,7 @@
454 462 // });
455 463 // }else{
456 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 466 window.open("/downloadFile/download?fileName=大间距汇总表"+moment(date).format("YYYYMMDD")+"-"+moment(endDate).format("YYYYMMDD"));
459 467 layer.close(i);
460 468 });
... ... @@ -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 487 </script>
467 488 <script type="text/html" id="intervalList">
... ... @@ -470,6 +491,7 @@
470 491 <td>{{obj.gs}}</td>
471 492 <td>{{obj.fgs}}</td>
472 493 <td>{{obj.xlName}}</td>
  494 + <td>{{obj.level}}</td>
473 495 <td>{{obj.djgAll}}</td>
474 496 <td>{{obj.djgGf}}</td>
475 497 <td>{{obj.djgZgf}}</td>
... ... @@ -480,7 +502,7 @@
480 502 <td>{{obj.djgTime}}</td>
481 503 <td>
482 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 506 </td>
485 507 </tr>
486 508 {{/each}}
... ...