Commit bb0d96aeded4edb5744dbdd7a949ee84663a7d03
1 parent
d81d276b
大间隔统计 添加导出全部详情的功能
Showing
5 changed files
with
96 additions
and
9 deletions
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<CalcInterval,Integer> { |
| 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<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<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<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<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<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}} | ... | ... |