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,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<CalcInterval,Integer> { | @@ -17,6 +17,8 @@ public interface CalcIntervalService extends BaseService<CalcInterval,Integer> { | ||
| 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<CalcInterval,Intege | @@ -136,8 +136,9 @@ public class CalcIntervalServiceImpl extends BaseServiceImpl<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<CalcInterval,Intege | @@ -147,7 +148,8 @@ public class CalcIntervalServiceImpl extends BaseServiceImpl<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<CalcInterval,Intege | @@ -179,6 +181,11 @@ public class CalcIntervalServiceImpl extends BaseServiceImpl<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<CalcInterval,Intege | @@ -260,7 +267,8 @@ public class CalcIntervalServiceImpl extends BaseServiceImpl<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<CalcInterval,Intege | @@ -699,6 +707,54 @@ public class CalcIntervalServiceImpl extends BaseServiceImpl<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}} |