Commit 10983d1dae09db1612fe78fc97923cd45b435a54
1 parent
41c88f92
新增早高峰 出车率对比报表
Showing
8 changed files
with
566 additions
and
128 deletions
src/main/java/com/bsth/controller/report/CalcSheetController.java
| @@ -42,4 +42,11 @@ public class CalcSheetController extends BaseController<CalcSheet, Integer>{ | @@ -42,4 +42,11 @@ public class CalcSheetController extends BaseController<CalcSheet, Integer>{ | ||
| 42 | List<Map<String, Object>> list=calcSheetService.calcTurnoutrate(map); | 42 | List<Map<String, Object>> list=calcSheetService.calcTurnoutrate(map); |
| 43 | return list; | 43 | return list; |
| 44 | } | 44 | } |
| 45 | + | ||
| 46 | + | ||
| 47 | + @RequestMapping(value = "/calcTurnoutrateZgf",method = RequestMethod.GET) | ||
| 48 | + public List<Map<String, Object>> calcTurnoutrateZgf(@RequestParam Map<String, Object> map){ | ||
| 49 | + List<Map<String, Object>> list=calcSheetService.calcTurnoutrateZgf(map); | ||
| 50 | + return list; | ||
| 51 | + } | ||
| 45 | } | 52 | } |
src/main/java/com/bsth/entity/sheet/CalcSheet.java
| @@ -49,6 +49,8 @@ public class CalcSheet { | @@ -49,6 +49,8 @@ public class CalcSheet { | ||
| 49 | private String sjbcs; | 49 | private String sjbcs; |
| 50 | /*临加班次数*/ | 50 | /*临加班次数*/ |
| 51 | private String ljbcs; | 51 | private String ljbcs; |
| 52 | + /*计划发车早高峰*/ | ||
| 53 | + private String jhcczgf; | ||
| 52 | /*公司名字*/ | 54 | /*公司名字*/ |
| 53 | @Transient | 55 | @Transient |
| 54 | private String gsname; | 56 | private String gsname; |
| @@ -173,6 +175,12 @@ public class CalcSheet { | @@ -173,6 +175,12 @@ public class CalcSheet { | ||
| 173 | } | 175 | } |
| 174 | 176 | ||
| 175 | 177 | ||
| 178 | + public String getJhcczgf() { | ||
| 179 | + return jhcczgf; | ||
| 180 | + } | ||
| 181 | + public void setJhcczgf(String jhcczgf) { | ||
| 182 | + this.jhcczgf = jhcczgf; | ||
| 183 | + } | ||
| 176 | public String getFgsname() { | 184 | public String getFgsname() { |
| 177 | return BasicData.businessFgsCodeNameMap.get(this.fgsdm+"_"+this.gsdm); | 185 | return BasicData.businessFgsCodeNameMap.get(this.fgsdm+"_"+this.gsdm); |
| 178 | } | 186 | } |
src/main/java/com/bsth/service/report/CalcSheetService.java
| @@ -12,4 +12,5 @@ public interface CalcSheetService extends BaseService<CalcSheet, Integer>{ | @@ -12,4 +12,5 @@ public interface CalcSheetService extends BaseService<CalcSheet, Integer>{ | ||
| 12 | public List<CalcSheet> calcListSheet(Map<String, Object> map); | 12 | public List<CalcSheet> calcListSheet(Map<String, Object> map); |
| 13 | public List<Sheet> calcSheet(Map<String, Object> map); | 13 | public List<Sheet> calcSheet(Map<String, Object> map); |
| 14 | public List<Map<String, Object>> calcTurnoutrate(Map<String, Object> map); | 14 | public List<Map<String, Object>> calcTurnoutrate(Map<String, Object> map); |
| 15 | + public List<Map<String, Object>> calcTurnoutrateZgf(Map<String, Object> map); | ||
| 15 | } | 16 | } |
src/main/java/com/bsth/service/report/impl/CalcSheetServiceImpl.java
| @@ -774,6 +774,91 @@ public class CalcSheetServiceImpl extends BaseServiceImpl<CalcSheet, Integer> im | @@ -774,6 +774,91 @@ public class CalcSheetServiceImpl extends BaseServiceImpl<CalcSheet, Integer> im | ||
| 774 | } | 774 | } |
| 775 | return fage; | 775 | return fage; |
| 776 | } | 776 | } |
| 777 | + | ||
| 778 | + @Override | ||
| 779 | + public List<Map<String,Object>> calcTurnoutrateZgf(Map<String, Object> map){ | ||
| 780 | + final DecimalFormat df = new DecimalFormat("0.00"); | ||
| 781 | + String line=""; | ||
| 782 | + if(map.get("line")!=null){ | ||
| 783 | + line =map.get("line").toString().trim(); | ||
| 784 | + } | ||
| 785 | + String gs=""; | ||
| 786 | + if(map.get("gsdmTurn")!=null){ | ||
| 787 | + gs=map.get("gsdmTurn").toString().trim(); | ||
| 788 | + } | ||
| 789 | + String fgs=""; | ||
| 790 | + if(map.get("fgsdmTurn")!=null){ | ||
| 791 | + fgs=map.get("fgsdmTurn").toString().trim(); | ||
| 792 | + } | ||
| 793 | +// String nature="0"; | ||
| 794 | +// if(map.get("nature")!=null){ | ||
| 795 | +// nature=map.get("nature").toString(); | ||
| 796 | +// } | ||
| 797 | +// Map<String, Boolean> lineMap=lineService.lineNature(); | ||
| 798 | + | ||
| 799 | + String startDate=map.get("startDate").toString(); | ||
| 800 | + String endDate=map.get("endDate").toString(); | ||
| 801 | + String date=startDate+"-"+endDate; | ||
| 802 | + if(startDate.equals(endDate)){ | ||
| 803 | + date=startDate; | ||
| 804 | + }else{ | ||
| 805 | + date=startDate+"-"+endDate; | ||
| 806 | + } | ||
| 807 | + String type=map.get("type").toString(); | ||
| 808 | + final String dates=date; | ||
| 809 | + String sql_=""; | ||
| 810 | + if(line.equals("")){ | ||
| 811 | + sql_= " and gsdm ='"+gs+"' and fgsdm like '%"+fgs+"%'"; | ||
| 812 | + }else{ | ||
| 813 | + sql_=" and xl='"+line+"'"; | ||
| 814 | + } | ||
| 815 | + String sql=" select gsdm,fgsdm,xl,xl_name,sum(jhcc) as jhcc,sum(sjcc) as sjcc," | ||
| 816 | + + " sum(jhcczgf) as jhcczgf, sum(sjcczgf) as sjcczgf " | ||
| 817 | + + " from bsth_c_calc_sheet where date >='"+startDate+"' and date <='"+endDate+"'" | ||
| 818 | + + sql_ | ||
| 819 | + + " group by gsdm,fgsdm,xl,xl_name"; | ||
| 820 | + List<Map<String, Object>> lists=jdbcTemplate.query(sql, | ||
| 821 | + new RowMapper<Map<String, Object>>(){ | ||
| 822 | + @Override | ||
| 823 | + public Map<String, Object> mapRow(ResultSet rs, int rowNum) throws SQLException { | ||
| 824 | + Map<String, Object> s=new HashMap<String,Object>(); | ||
| 825 | + s.put("rq",dates); | ||
| 826 | + s.put("gsdm", rs.getString("gsdm")); | ||
| 827 | + s.put("fgsdm", rs.getString("fgsdm")); | ||
| 828 | + s.put("gsName", BasicData.businessCodeNameMap.get(rs.getString("gsdm"))); | ||
| 829 | + s.put("fgsName", BasicData.businessFgsCodeNameMap.get(rs.getString("fgsdm")+"_"+rs.getString("gsdm"))); | ||
| 830 | + s.put("xl", rs.getString("xl")); | ||
| 831 | + s.put("xlName", rs.getString("xl_name")); | ||
| 832 | + s.put("jhcc", rs.getInt("jhcc")); | ||
| 833 | + s.put("sjcc", rs.getInt("sjcc")); | ||
| 834 | + s.put("sjcczgf", rs.getInt("sjcczgf")); | ||
| 835 | + s.put("jhcczgf", rs.getInt("jhcczgf")); | ||
| 836 | + if(rs.getInt("jhcc")>0){ | ||
| 837 | + s.put("ccl",df.format((float)rs.getInt("sjcc")/rs.getInt("jhcc")*100)+"%"); | ||
| 838 | + }else{ | ||
| 839 | + s.put("ccl", "0.00%"); | ||
| 840 | + } | ||
| 841 | + if(rs.getInt("jhcczgf")>0){ | ||
| 842 | + s.put("cclzgf", df.format((float)rs.getInt("sjcczgf")/rs.getInt("jhcczgf")*100)+"%"); | ||
| 843 | + }else{ | ||
| 844 | + s.put("cclzgf","0.00%"); | ||
| 845 | + } | ||
| 846 | + s.put("sm", ""); | ||
| 847 | + return s; | ||
| 848 | + } | ||
| 849 | + }); | ||
| 850 | + if (type.equals("export")) { | ||
| 851 | + String lineName=map.get("lineName").toString(); | ||
| 852 | + ReportUtils ee = new ReportUtils(); | ||
| 853 | + List<Iterator<?>> listI = new ArrayList<Iterator<?>>(); | ||
| 854 | + listI.add(lists.iterator()); | ||
| 855 | + String path = this.getClass().getResource("/").getPath() + "static/pages/forms/"; | ||
| 856 | + ee.excelReplace(listI, new Object[] { map }, path + "mould/calcTurnoutrateZgf.xls", path + "export/" | ||
| 857 | + + dates + "-" + lineName + "-营运线路出车率统计表.xls"); | ||
| 858 | + } | ||
| 859 | + return lists; | ||
| 860 | + } | ||
| 861 | + | ||
| 777 | @Override | 862 | @Override |
| 778 | public List<Map<String, Object>> calcTurnoutrate(Map<String, Object> map) { | 863 | public List<Map<String, Object>> calcTurnoutrate(Map<String, Object> map) { |
| 779 | final DecimalFormat df = new DecimalFormat("0.00"); | 864 | final DecimalFormat df = new DecimalFormat("0.00"); |
src/main/resources/static/pages/forms/mould/calcTurnoutrateZgf.xls
0 → 100644
No preview for this file type
src/main/resources/static/pages/forms/statement/statisticsDaily.html
| @@ -28,7 +28,7 @@ | @@ -28,7 +28,7 @@ | ||
| 28 | 28 | ||
| 29 | <div class="page-head"> | 29 | <div class="page-head"> |
| 30 | <div class="page-title"> | 30 | <div class="page-title"> |
| 31 | - <h1>统计日报(按年、月、季度查询请点击<a href="statisticsDailyCalc2.html" target="_blank">统计查询</a>)</h1> | 31 | + <h1>统计日报(按年、月、季度查询请点击<a href="statisticsDailyCalc2.html" target="_blank">【统计查询】</a>)</h1> |
| 32 | </div> | 32 | </div> |
| 33 | </div> | 33 | </div> |
| 34 | 34 | ||
| @@ -274,6 +274,8 @@ | @@ -274,6 +274,8 @@ | ||
| 274 | var gsdm=""; | 274 | var gsdm=""; |
| 275 | var fgsdm=""; | 275 | var fgsdm=""; |
| 276 | var nature=""; | 276 | var nature=""; |
| 277 | + var time1=""; | ||
| 278 | + var time2=""; | ||
| 277 | $("#query").on("click",function(){ | 279 | $("#query").on("click",function(){ |
| 278 | if($("#date").val() == null || $("#date").val().trim().length == 0){ | 280 | if($("#date").val() == null || $("#date").val().trim().length == 0){ |
| 279 | layer.msg("请选择时间范围!"); | 281 | layer.msg("请选择时间范围!"); |
| @@ -298,36 +300,41 @@ | @@ -298,36 +300,41 @@ | ||
| 298 | if(line=="请选择"){ | 300 | if(line=="请选择"){ |
| 299 | line=""; | 301 | line=""; |
| 300 | } | 302 | } |
| 301 | - var time1 = Date.parse(new Date(date)); | ||
| 302 | - var time2 = Date.parse(new Date(date2)); | 303 | + time1 = Date.parse(new Date(date)); |
| 304 | + time2 = Date.parse(new Date(date2)); | ||
| 303 | if(date==null || date =="" ||date2==null || date2 ==""){ | 305 | if(date==null || date =="" ||date2==null || date2 ==""){ |
| 304 | layer.msg('请选择时间段.'); | 306 | layer.msg('请选择时间段.'); |
| 305 | }else if(time2<time1){ | 307 | }else if(time2<time1){ |
| 306 | layer.msg('结束日期不能小于开始日期.'); | 308 | layer.msg('结束日期不能小于开始日期.'); |
| 307 | }else{ | 309 | }else{ |
| 308 | - $("#tjrq").html(date+"至"+date2); | ||
| 309 | - var params = {}; | ||
| 310 | - params['gsdm'] = gsdm; | ||
| 311 | - params['fgsdm'] =fgsdm ; | ||
| 312 | - params['line'] = line; | ||
| 313 | - params['date'] = date; | ||
| 314 | - params['date2'] = date2; | ||
| 315 | - params['xlName'] = xlName; | ||
| 316 | - params['nature'] = nature; | ||
| 317 | - params['type'] = "query"; | ||
| 318 | - var i = layer.load(2); | ||
| 319 | - $get('/realSchedule/statisticsDailyTj',params,function(result){ | ||
| 320 | - // 把数据填充到模版中 | ||
| 321 | - var tbodyHtml = template('statisticsDaily',{list:result}); | ||
| 322 | - // 把渲染好的模版html文本追加到表格中 | ||
| 323 | - $('#forms .statisticsDaily').html(tbodyHtml); | ||
| 324 | - layer.close(i); | ||
| 325 | - | ||
| 326 | - if(result.length == 0) | ||
| 327 | - $("#export").attr('disabled',"true"); | ||
| 328 | - else | ||
| 329 | - $("#export").removeAttr("disabled"); | ||
| 330 | - }); | 310 | + if((time2-time1>2678400000){ |
| 311 | + layer.msg('查询超过一个月请点击【统计查询】.'); | ||
| 312 | + }else{ | ||
| 313 | + $("#tjrq").html(date+"至"+date2); | ||
| 314 | + var params = {}; | ||
| 315 | + params['gsdm'] = gsdm; | ||
| 316 | + params['fgsdm'] =fgsdm ; | ||
| 317 | + params['line'] = line; | ||
| 318 | + params['date'] = date; | ||
| 319 | + params['date2'] = date2; | ||
| 320 | + params['xlName'] = xlName; | ||
| 321 | + params['nature'] = nature; | ||
| 322 | + params['type'] = "query"; | ||
| 323 | + var i = layer.load(2); | ||
| 324 | + $get('/realSchedule/statisticsDailyTj',params,function(result){ | ||
| 325 | + // 把数据填充到模版中 | ||
| 326 | + var tbodyHtml = template('statisticsDaily',{list:result}); | ||
| 327 | + // 把渲染好的模版html文本追加到表格中 | ||
| 328 | + $('#forms .statisticsDaily').html(tbodyHtml); | ||
| 329 | + layer.close(i); | ||
| 330 | + | ||
| 331 | + if(result.length == 0) | ||
| 332 | + $("#export").attr('disabled',"true"); | ||
| 333 | + else | ||
| 334 | + $("#export").removeAttr("disabled"); | ||
| 335 | + }); | ||
| 336 | + } | ||
| 337 | + | ||
| 331 | } | 338 | } |
| 332 | 339 | ||
| 333 | }); | 340 | }); |
| @@ -337,24 +344,30 @@ | @@ -337,24 +344,30 @@ | ||
| 337 | params['gsdm'] = gsdm; | 344 | params['gsdm'] = gsdm; |
| 338 | params['fgsdm'] =fgsdm; | 345 | params['fgsdm'] =fgsdm; |
| 339 | params['line'] = line; | 346 | params['line'] = line; |
| 347 | + date = $("#date").val(); | ||
| 348 | + date2 =$("#date2").val(); | ||
| 340 | params['date'] = date; | 349 | params['date'] = date; |
| 341 | params['date2'] = date2; | 350 | params['date2'] = date2; |
| 342 | params['xlName'] = xlName; | 351 | params['xlName'] = xlName; |
| 343 | params['nature'] = nature; | 352 | params['nature'] = nature; |
| 344 | params['type'] = "export"; | 353 | params['type'] = "export"; |
| 345 | - var i = layer.load(2); | ||
| 346 | - $get('/realSchedule/statisticsDailyTj',params,function(result){ | ||
| 347 | - var dateTime = ""; | ||
| 348 | - if(date == date2){ | ||
| 349 | - dateTime = moment(date).format("YYYYMMDD"); | ||
| 350 | - } else { | ||
| 351 | - dateTime = moment(date).format("YYYYMMDD") | ||
| 352 | - +"-"+moment(date2).format("YYYYMMDD"); | 354 | + if(time2-time1>2678400000){ |
| 355 | + layer.msg('查询超过一个月请点击【统计查询】.'); | ||
| 356 | + }else{ | ||
| 357 | + var i = layer.load(2); | ||
| 358 | + $get('/realSchedule/statisticsDailyTj',params,function(result){ | ||
| 359 | + var dateTime = ""; | ||
| 360 | + if(date == date2){ | ||
| 361 | + dateTime = moment(date).format("YYYYMMDD"); | ||
| 362 | + } else { | ||
| 363 | + dateTime = moment(date).format("YYYYMMDD") | ||
| 364 | + +"-"+moment(date2).format("YYYYMMDD"); | ||
| 365 | + } | ||
| 366 | + window.open("/downloadFile/download?fileName=" | ||
| 367 | + +dateTime+"-"+xlName+"-统计日报"); | ||
| 368 | + layer.close(i); | ||
| 369 | + }); | ||
| 353 | } | 370 | } |
| 354 | - window.open("/downloadFile/download?fileName=" | ||
| 355 | - +dateTime+"-"+xlName+"-统计日报"); | ||
| 356 | - layer.close(i); | ||
| 357 | - }); | ||
| 358 | }); | 371 | }); |
| 359 | 372 | ||
| 360 | }); | 373 | }); |
src/main/resources/static/pages/forms/statement/statisticsDailyCalc.html
| @@ -28,7 +28,7 @@ | @@ -28,7 +28,7 @@ | ||
| 28 | 28 | ||
| 29 | <div class="page-head"> | 29 | <div class="page-head"> |
| 30 | <div class="page-title"> | 30 | <div class="page-title"> |
| 31 | - <h1>缁熻鏃ユ姤</h1> | 31 | + <h1>统计日报(按年、月、季度查询请点击<a href="statisticsDailyCalc2.html" target="_blank">【统计查询】</a>)</h1> |
| 32 | </div> | 32 | </div> |
| 33 | </div> | 33 | </div> |
| 34 | 34 | ||
| @@ -37,115 +37,126 @@ | @@ -37,115 +37,126 @@ | ||
| 37 | <!-- <div> --> | 37 | <!-- <div> --> |
| 38 | <div class="portlet-title"> | 38 | <div class="portlet-title"> |
| 39 | <form class="form-inline" action=""> | 39 | <form class="form-inline" action=""> |
| 40 | - <div style="display: inline-block; " id="gsdmDiv"> | ||
| 41 | - <span class="item-label" style="width: 80px;">鍏徃: </span> | 40 | + <div style="display: inline-block;margin-left: 29px; " id="gsdmDiv"> |
| 41 | + <span class="item-label" style="width: 80px;">公司: </span> | ||
| 42 | <select class="form-control" name="company" id="gsdm" style="width: 180px;"></select> | 42 | <select class="form-control" name="company" id="gsdm" style="width: 180px;"></select> |
| 43 | </div> | 43 | </div> |
| 44 | <div style="display: inline-block; margin-left: 29px;" id="fgsdmDiv"> | 44 | <div style="display: inline-block; margin-left: 29px;" id="fgsdmDiv"> |
| 45 | - <span class="item-label" style="width: 80px;">鍒嗗叕鍙�: </span> | 45 | + <span class="item-label" style="width: 80px;">分公司: </span> |
| 46 | <select class="form-control" name="subCompany" id="fgsdm" style="width: 180px;"></select> | 46 | <select class="form-control" name="subCompany" id="fgsdm" style="width: 180px;"></select> |
| 47 | </div> | 47 | </div> |
| 48 | - <div style="margin-top: 2px"></div> | ||
| 49 | - <div style="display: inline-block;"> | ||
| 50 | - <span class="item-label" style="width: 80px;">绾胯矾: </span> | 48 | + <div style="display: inline-block;margin-left: 42px;"> |
| 49 | + <span class="item-label" style="width: 80px;">线路: </span> | ||
| 51 | <select class="form-control" name="line" id="line" style="width: 180px;"></select> | 50 | <select class="form-control" name="line" id="line" style="width: 180px;"></select> |
| 52 | </div> | 51 | </div> |
| 52 | + <div style="margin-top: 3px"></div> | ||
| 53 | + <div style="display: inline-block;"> | ||
| 54 | + <span class="item-label" style="width: 80px;">线路性质: </span> | ||
| 55 | + <select | ||
| 56 | + class="form-control" name="nature" id="nature" | ||
| 57 | + style="width: 180px;"> | ||
| 58 | + <option value="0">全部线路</option> | ||
| 59 | + <option value="1" selected="selected">营运线路</option> | ||
| 60 | + <option value="2">非营运线路</option> | ||
| 61 | + </select> | ||
| 62 | + </div> | ||
| 53 | <div style="display: inline-block;margin-left: 15px;"> | 63 | <div style="display: inline-block;margin-left: 15px;"> |
| 54 | - <span class="item-label" style="width: 80px;">寮�濮嬫椂闂�: </span> | 64 | + <span class="item-label" style="width: 80px;">开始时间: </span> |
| 55 | <input class="form-control" type="text" id="date" style="width: 180px;"/> | 65 | <input class="form-control" type="text" id="date" style="width: 180px;"/> |
| 56 | </div> | 66 | </div> |
| 57 | <div style="display: inline-block;margin-left: 15px;"> | 67 | <div style="display: inline-block;margin-left: 15px;"> |
| 58 | - <span class="item-label" style="width: 80px;">缁撴潫鏃堕棿: </span> | 68 | + <span class="item-label" style="width: 80px;">结束时间: </span> |
| 59 | <input class="form-control" type="text" id="date2" style="width: 180px;"/> | 69 | <input class="form-control" type="text" id="date2" style="width: 180px;"/> |
| 60 | </div> | 70 | </div> |
| 61 | <div class="form-group"> | 71 | <div class="form-group"> |
| 62 | - <input class="btn btn-default" type="button" id="query" value="鏌ヨ"/> | ||
| 63 | - <input class="btn btn-default" type="button" id="export" value="瀵煎嚭"/> | 72 | + <input class="btn btn-default" type="button" id="query" value="查询"/> |
| 73 | + <input class="btn btn-default" type="button" id="export" value="导出"/> | ||
| 64 | </div> | 74 | </div> |
| 65 | </form> | 75 | </form> |
| 66 | </div> | 76 | </div> |
| 67 | <div class="portlet-body" id="tjrbBody" style="overflow:auto;height: calc(100% - 80px)"> | 77 | <div class="portlet-body" id="tjrbBody" style="overflow:auto;height: calc(100% - 80px)"> |
| 68 | <div class="table-container" style="margin-top: 10px;min-width: 906px"> | 78 | <div class="table-container" style="margin-top: 10px;min-width: 906px"> |
| 69 | - <label>鏃╅珮宄�:6:31~8:30 鏅氶珮宄�:16:01~18:00</label> | 79 | + <label>早高峰:6:31~8:30 晚高峰:16:01~18:00</label> |
| 70 | <table class="table table-bordered table-hover table-checkable" id="forms"> | 80 | <table class="table table-bordered table-hover table-checkable" id="forms"> |
| 71 | <thead> | 81 | <thead> |
| 72 | <tr> | 82 | <tr> |
| 73 | - <th colspan="44"><label id="tjrq"></label> 绾胯矾缁熻鏃ユ姤</th> | 83 | + <th colspan="45"><label id="tjrq"></label> 线路统计日报</th> |
| 74 | </tr> | 84 | </tr> |
| 75 | <tr> | 85 | <tr> |
| 76 | - <td rowspan="3"><span >璺嚎鍚�</span></td> | ||
| 77 | - <td colspan="20">鍏ㄦ棩钀ヨ繍閲岀▼锛堝叕閲岋級</td> | ||
| 78 | - <td colspan="15">鍏ㄦ棩钀ヨ繍鐝</td> | ||
| 79 | - <td colspan="9">澶ч棿闅旀儏鍐�</td> | 86 | + <td rowspan="3"><span >分公司</span></td> |
| 87 | + <td rowspan="3"><span >路线名</span></td> | ||
| 88 | + <td colspan="21">全日营运里程(公里)(注:实际营运里程、实际空驶里程、实际总里程均已包含临加里程)</td> | ||
| 89 | + <td colspan="15">全日营运班次</td> | ||
| 90 | + <td colspan="9">大间隔情况</td> | ||
| 80 | </tr> | 91 | </tr> |
| 81 | <tr> | 92 | <tr> |
| 82 | - <td rowspan="2"><label>璁″垝鎬�</label> | ||
| 83 | - <label>鍏噷 </label></td> | ||
| 84 | - <td rowspan="2"><label>璁″垝钀�</label><label>杩愬叕閲�</label></td> | ||
| 85 | - <td rowspan="2"><label>璁″垝绌�</label><label>椹跺叕閲�</label></td> | ||
| 86 | - <td rowspan="2"><label>瀹為檯</label><label>鎬诲叕閲�</label></td> | ||
| 87 | - <td rowspan="2"><label>瀹為檯钀�</label><label>杩愬叕閲�</label></td> | ||
| 88 | - <td rowspan="2"><label>瀹為檯绌�</label><label>椹跺叕閲�</label></td> | ||
| 89 | - <td rowspan="2"><span>灏戦┒鍏噷</span></td> | ||
| 90 | - <td rowspan="2"><span>灏戦┒鐝</span></td> | ||
| 91 | - <td colspan="11">灏戦┒鍘熷洜锛堝叕閲岋級</td> | ||
| 92 | - <td rowspan="2"><span >涓村姞鍏噷</span></td> | ||
| 93 | - <td colspan="3">璁″垝鐝</td> | ||
| 94 | - <td colspan="3">瀹為檯鐝</td> | ||
| 95 | - <td colspan="3">涓村姞鐝</td> | ||
| 96 | - <td colspan="3">鏀剧珯鐝</td> | ||
| 97 | - <td colspan="3">璋冨ご鐝</td> | ||
| 98 | - <td colspan="3">鍙戠敓娆℃暟</td> | ||
| 99 | - <td rowspan="2">鏈�澶ч棿闅旀椂闂达紙鍒嗭級</td> | ||
| 100 | - <td rowspan="2">鍘熷洜</td> | 93 | + <td rowspan="2"><label>计划总</label> |
| 94 | + <label>公里 </label></td> | ||
| 95 | + <td rowspan="2"><label>计划营</label><label>运公里</label></td> | ||
| 96 | + <td rowspan="2"><label>计划空</label><label>驶公里</label></td> | ||
| 97 | + <td rowspan="2"><label>实际</label><label>总公里</label></td> | ||
| 98 | + <td rowspan="2"><label>实际营</label><label>运公里</label></td> | ||
| 99 | + <td rowspan="2"><label>实际空</label><label>驶公里</label></td> | ||
| 100 | + <td rowspan="2"><span>少驶公里</span></td> | ||
| 101 | + <td rowspan="2"><span>少驶班次</span></td> | ||
| 102 | + <td colspan="11">少驶原因(公里)</td> | ||
| 103 | + <td colspan="2">临加公里</td> | ||
| 104 | + <td colspan="3">计划班次</td> | ||
| 105 | + <td colspan="3">实际班次</td> | ||
| 106 | + <td colspan="3">临加班次</td> | ||
| 107 | + <td colspan="3">放站班次</td> | ||
| 108 | + <td colspan="3">调头班次</td> | ||
| 109 | + <td colspan="3">发生次数</td> | ||
| 110 | + <td rowspan="2">最大间隔时间(分)</td> | ||
| 111 | + <td rowspan="2">原因</td> | ||
| 101 | </tr> | 112 | </tr> |
| 102 | <tr> | 113 | <tr> |
| 103 | - <td><span >璺樆</span></td> | ||
| 104 | - <td><span>鍚婃參</span></td> | ||
| 105 | - <td><span >鏁呴殰</span></td> | ||
| 106 | - <td><span >绾犵悍</span></td> | ||
| 107 | - <td><span >鑲囦簨</span></td> | ||
| 108 | - <td><span>缂轰汉</span></td> | ||
| 109 | - <td><span>缂鸿溅</span></td> | ||
| 110 | - <td><span >瀹㈢█</span></td> | ||
| 111 | - <td><span>姘斿��</span></td> | ||
| 112 | - <td><span>鎻村</span></td> | ||
| 113 | - <td><span>鍏朵粬</span></td> | ||
| 114 | - <td><span>鍏ㄦ棩</span></td> | ||
| 115 | - <td><span>鏃╅珮宄�</span></td> | ||
| 116 | - <td><span>鏅氶珮宄�</span></td> | ||
| 117 | - <td><span>鍏ㄦ棩</span></td> | ||
| 118 | - <td><span>鏃╅珮宄�</span></td> | ||
| 119 | - <td><span>鏅氶珮宄�</span></td> | ||
| 120 | - <td><span>鍏ㄦ棩</span></td> | ||
| 121 | - <td><span>鏃╅珮宄�</span></td> | ||
| 122 | - <td><span>鏅氶珮宄�</span></td> | ||
| 123 | - <td><span>鍏ㄦ棩</span></td> | ||
| 124 | - <td><span>鏃╅珮宄�</span></td> | ||
| 125 | - <td><span>鏅氶珮宄�</span></td> | ||
| 126 | - <td><span>鍏ㄦ棩</span></td> | ||
| 127 | - <td><span>鏃╅珮宄�</span></td> | ||
| 128 | - <td><span>鏅氶珮宄�</span></td> | ||
| 129 | - <td><span>鍏ㄦ棩</span></td> | ||
| 130 | - <td><span>鏃╅珮宄�</span></td> | ||
| 131 | - <td><span>鏅氶珮宄�</span></td> | 114 | + <td><span >路阻</span></td> |
| 115 | + <td><span>吊慢</span></td> | ||
| 116 | + <td><span >故障</span></td> | ||
| 117 | + <td><span >纠纷</span></td> | ||
| 118 | + <td><span >肇事</span></td> | ||
| 119 | + <td><span>缺人</span></td> | ||
| 120 | + <td><span>缺车</span></td> | ||
| 121 | + <td><span >客稀</span></td> | ||
| 122 | + <td><span>气候</span></td> | ||
| 123 | + <td><span>援外</span></td> | ||
| 124 | + <td><span>其他</span></td> | ||
| 125 | + <td><span>营运</span></td> | ||
| 126 | + <td><span>空驶</span></td> | ||
| 127 | + <td><span>全日</span></td> | ||
| 128 | + <td><span>早高峰</span></td> | ||
| 129 | + <td><span>晚高峰</span></td> | ||
| 130 | + <td><span>全日</span></td> | ||
| 131 | + <td><span>早高峰</span></td> | ||
| 132 | + <td><span>晚高峰</span></td> | ||
| 133 | + <td><span>全日</span></td> | ||
| 134 | + <td><span>早高峰</span></td> | ||
| 135 | + <td><span>晚高峰</span></td> | ||
| 136 | + <td><span>全日</span></td> | ||
| 137 | + <td><span>早高峰</span></td> | ||
| 138 | + <td><span>晚高峰</span></td> | ||
| 139 | + <td><span>全日</span></td> | ||
| 140 | + <td><span>早高峰</span></td> | ||
| 141 | + <td><span>晚高峰</span></td> | ||
| 142 | + <td><span>全日</span></td> | ||
| 143 | + <td><span>早高峰</span></td> | ||
| 144 | + <td><span>晚高峰</span></td> | ||
| 132 | </tr> | 145 | </tr> |
| 133 | </thead> | 146 | </thead> |
| 134 | - <tbody class="statisticsDailyCalc"> | 147 | + <tbody class="statisticsDailyCalc2"> |
| 135 | 148 | ||
| 136 | </tbody> | 149 | </tbody> |
| 137 | </table> | 150 | </table> |
| 138 | </div> | 151 | </div> |
| 139 | </div> | 152 | </div> |
| 140 | </div> | 153 | </div> |
| 141 | - </div> | ||
| 142 | -</div> | ||
| 143 | 154 | ||
| 144 | <script> | 155 | <script> |
| 145 | $(function(){ | 156 | $(function(){ |
| 146 | $('#export').attr('disabled', "true"); | 157 | $('#export').attr('disabled', "true"); |
| 147 | 158 | ||
| 148 | - // 鍏抽棴宸︿晶鏍� | 159 | + // 关闭左侧栏 |
| 149 | if (!$('body').hasClass('page-sidebar-closed')) | 160 | if (!$('body').hasClass('page-sidebar-closed')) |
| 150 | $('.menu-toggler.sidebar-toggler').click(); | 161 | $('.menu-toggler.sidebar-toggler').click(); |
| 151 | 162 | ||
| @@ -162,18 +173,18 @@ | @@ -162,18 +173,18 @@ | ||
| 162 | $("#date").datetimepicker({ | 173 | $("#date").datetimepicker({ |
| 163 | format : 'YYYY-MM-DD', | 174 | format : 'YYYY-MM-DD', |
| 164 | locale : 'zh-cn', | 175 | locale : 'zh-cn', |
| 165 | - maxDate : dateTime | 176 | +// maxDate : dateTime |
| 166 | }); | 177 | }); |
| 167 | $("#date2").datetimepicker({ | 178 | $("#date2").datetimepicker({ |
| 168 | format : 'YYYY-MM-DD', | 179 | format : 'YYYY-MM-DD', |
| 169 | locale : 'zh-cn', | 180 | locale : 'zh-cn', |
| 170 | - maxDate : dateTime | 181 | +// maxDate : dateTime |
| 171 | }); | 182 | }); |
| 172 | $("#date").val(dateTime); | 183 | $("#date").val(dateTime); |
| 173 | $("#date2").val(dateTime); | 184 | $("#date2").val(dateTime); |
| 174 | 185 | ||
| 175 | 186 | ||
| 176 | - var fage=false; | 187 | + var fage=true; |
| 177 | var obj = []; | 188 | var obj = []; |
| 178 | var xlList; | 189 | var xlList; |
| 179 | $.get('/report/lineList',function(result){ | 190 | $.get('/report/lineList',function(result){ |
| @@ -189,8 +200,10 @@ | @@ -189,8 +200,10 @@ | ||
| 189 | $("#gsdmDiv").css('display','none'); | 200 | $("#gsdmDiv").css('display','none'); |
| 190 | }else if(obj.length ==1){ | 201 | }else if(obj.length ==1){ |
| 191 | $("#gsdmDiv").css('display','none'); | 202 | $("#gsdmDiv").css('display','none'); |
| 192 | - if(obj[0].children.length == 1 || obj[0].children.length ==0) | 203 | + if(obj[0].children.length == 1 || obj[0].children.length ==0){ |
| 204 | + fage=false; | ||
| 193 | $('#fgsdmDiv').css('display','none'); | 205 | $('#fgsdmDiv').css('display','none'); |
| 206 | + } | ||
| 194 | } | 207 | } |
| 195 | $('#gsdm').html(options); | 208 | $('#gsdm').html(options); |
| 196 | updateCompany(); | 209 | updateCompany(); |
| @@ -200,6 +213,9 @@ | @@ -200,6 +213,9 @@ | ||
| 200 | function updateCompany(){ | 213 | function updateCompany(){ |
| 201 | var company = $('#gsdm').val(); | 214 | var company = $('#gsdm').val(); |
| 202 | var options = ''; | 215 | var options = ''; |
| 216 | + if(fage){ | ||
| 217 | + options = '<option value="">请选择</option>'; | ||
| 218 | + } | ||
| 203 | for(var i = 0; i < obj.length; i++){ | 219 | for(var i = 0; i < obj.length; i++){ |
| 204 | if(obj[i].companyCode == company){ | 220 | if(obj[i].companyCode == company){ |
| 205 | var children = obj[i].children; | 221 | var children = obj[i].children; |
| @@ -215,7 +231,7 @@ | @@ -215,7 +231,7 @@ | ||
| 215 | var tempData = {}; | 231 | var tempData = {}; |
| 216 | $.get('/report/lineList',function(xlList){ | 232 | $.get('/report/lineList',function(xlList){ |
| 217 | var data = []; | 233 | var data = []; |
| 218 | - data.push({id: " ", text: "鍏ㄩ儴绾胯矾"}); | 234 | + data.push({id: " ", text: "全部线路"}); |
| 219 | $.get('/user/companyData', function(result){ | 235 | $.get('/user/companyData', function(result){ |
| 220 | for(var i = 0; i < result.length; i++){ | 236 | for(var i = 0; i < result.length; i++){ |
| 221 | var companyCode = result[i].companyCode; | 237 | var companyCode = result[i].companyCode; |
| @@ -256,13 +272,14 @@ | @@ -256,13 +272,14 @@ | ||
| 256 | var date2 =""; | 272 | var date2 =""; |
| 257 | var gsdm=""; | 273 | var gsdm=""; |
| 258 | var fgsdm=""; | 274 | var fgsdm=""; |
| 275 | + var nature=""; | ||
| 259 | $("#query").on("click",function(){ | 276 | $("#query").on("click",function(){ |
| 260 | if($("#date").val() == null || $("#date").val().trim().length == 0){ | 277 | if($("#date").val() == null || $("#date").val().trim().length == 0){ |
| 261 | - layer.msg("璇烽�夋嫨鏃堕棿鑼冨洿锛�"); | 278 | + layer.msg("请选择时间范围!"); |
| 262 | return; | 279 | return; |
| 263 | } | 280 | } |
| 264 | if($("#date2").val() == null || $("#date2").val().trim().length == 0){ | 281 | if($("#date2").val() == null || $("#date2").val().trim().length == 0){ |
| 265 | - layer.msg("璇烽�夋嫨鏃堕棿鑼冨洿锛�"); | 282 | + layer.msg("请选择时间范围!"); |
| 266 | return; | 283 | return; |
| 267 | } | 284 | } |
| 268 | // $("#tjrbBody").height($(window).height()-100); | 285 | // $("#tjrbBody").height($(window).height()-100); |
| @@ -271,16 +288,19 @@ | @@ -271,16 +288,19 @@ | ||
| 271 | date2 =$("#date2").val(); | 288 | date2 =$("#date2").val(); |
| 272 | gsdm =$("#gsdm").val(); | 289 | gsdm =$("#gsdm").val(); |
| 273 | fgsdm=$("#fgsdm").val(); | 290 | fgsdm=$("#fgsdm").val(); |
| 291 | + nature=$("#nature").val(); | ||
| 274 | xlName = $("#select2-line-container").html(); | 292 | xlName = $("#select2-line-container").html(); |
| 275 | - if(xlName == "鍏ㄩ儴绾胯矾") | 293 | + if(xlName == "全部线路") |
| 276 | xlName = $('#fgsdm option:selected').text(); | 294 | xlName = $('#fgsdm option:selected').text(); |
| 277 | - if(line=="璇烽�夋嫨"){ | 295 | + if(xlName =='请选择') |
| 296 | + xlName = $('#gsdm option:selected').text(); | ||
| 297 | + if(line=="请选择"){ | ||
| 278 | line=""; | 298 | line=""; |
| 279 | } | 299 | } |
| 280 | if(date==null || date =="" ||date2==null || date2 ==""){ | 300 | if(date==null || date =="" ||date2==null || date2 ==""){ |
| 281 | - layer.msg('璇烽�夋嫨鏃堕棿娈�.'); | 301 | + layer.msg('请选择时间段.'); |
| 282 | }else{ | 302 | }else{ |
| 283 | - $("#tjrq").html(date+"鑷�"+date2); | 303 | + $("#tjrq").html(date+"至"+date2); |
| 284 | var params = {}; | 304 | var params = {}; |
| 285 | params['gsdm'] = gsdm; | 305 | params['gsdm'] = gsdm; |
| 286 | params['fgsdm'] =fgsdm ; | 306 | params['fgsdm'] =fgsdm ; |
| @@ -289,13 +309,14 @@ | @@ -289,13 +309,14 @@ | ||
| 289 | params['date2'] = date2; | 309 | params['date2'] = date2; |
| 290 | params['xlName'] = xlName; | 310 | params['xlName'] = xlName; |
| 291 | params['type'] = "query"; | 311 | params['type'] = "query"; |
| 312 | + params['nature']=nature; | ||
| 292 | var i = layer.load(2); | 313 | var i = layer.load(2); |
| 293 | // $get('/realSchedule/statisticsDailyTj',params,function(result){ | 314 | // $get('/realSchedule/statisticsDailyTj',params,function(result){ |
| 294 | - $get('/calcWaybill/statisticsDailyTj',params,function(result){ | ||
| 295 | - // 鎶婃暟鎹~鍏呭埌妯$増涓� | ||
| 296 | - var tbodyHtml = template('statisticsDailyCalc',{list:result}); | ||
| 297 | - // 鎶婃覆鏌撳ソ鐨勬ā鐗坔tml鏂囨湰杩藉姞鍒拌〃鏍间腑 | ||
| 298 | - $('#forms .statisticsDailyCalc').html(tbodyHtml); | 315 | + $get('/calcWaybill/calcStatisticsDaily2',params,function(result){ |
| 316 | + // 把数据填充到模版中 | ||
| 317 | + var tbodyHtml = template('statisticsDailyCalc2',{list:result}); | ||
| 318 | + // 把渲染好的模版html文本追加到表格中 | ||
| 319 | + $('#forms .statisticsDailyCalc2').html(tbodyHtml); | ||
| 299 | layer.close(i); | 320 | layer.close(i); |
| 300 | 321 | ||
| 301 | if(result.length == 0) | 322 | if(result.length == 0) |
| @@ -315,10 +336,11 @@ | @@ -315,10 +336,11 @@ | ||
| 315 | params['date'] = date; | 336 | params['date'] = date; |
| 316 | params['date2'] = date2; | 337 | params['date2'] = date2; |
| 317 | params['xlName'] = xlName; | 338 | params['xlName'] = xlName; |
| 318 | - params['type'] = "export"; | 339 | + params['type'] = "export"; |
| 340 | + params['nature']=nature; | ||
| 319 | var i = layer.load(2); | 341 | var i = layer.load(2); |
| 320 | // $get('/realSchedule/statisticsDailyTj',params,function(result){ | 342 | // $get('/realSchedule/statisticsDailyTj',params,function(result){ |
| 321 | - $get('/calcWaybill/statisticsDailyTj',params,function(result){ | 343 | + $get('/calcWaybill/calcStatisticsDaily2',params,function(result){ |
| 322 | var dateTime = ""; | 344 | var dateTime = ""; |
| 323 | if(date == date2){ | 345 | if(date == date2){ |
| 324 | dateTime = moment(date).format("YYYYMMDD"); | 346 | dateTime = moment(date).format("YYYYMMDD"); |
| @@ -327,16 +349,17 @@ | @@ -327,16 +349,17 @@ | ||
| 327 | +"-"+moment(date2).format("YYYYMMDD"); | 349 | +"-"+moment(date2).format("YYYYMMDD"); |
| 328 | } | 350 | } |
| 329 | window.open("/downloadFile/download?fileName=" | 351 | window.open("/downloadFile/download?fileName=" |
| 330 | - +dateTime+"-"+xlName+"-缁熻鏃ユ姤"); | 352 | + +dateTime+"-"+xlName+"-统计日报"); |
| 331 | layer.close(i); | 353 | layer.close(i); |
| 332 | }); | 354 | }); |
| 333 | }); | 355 | }); |
| 334 | 356 | ||
| 335 | }); | 357 | }); |
| 336 | </script> | 358 | </script> |
| 337 | -<script type="text/html" id="statisticsDailyCalc"> | 359 | +<script type="text/html" id="statisticsDailyCalc2"> |
| 338 | {{each list as obj i}} | 360 | {{each list as obj i}} |
| 339 | <tr {{if obj.zt==1}}style='color: red'{{/if}}> | 361 | <tr {{if obj.zt==1}}style='color: red'{{/if}}> |
| 362 | + <td>{{obj.fgsName}}</td> | ||
| 340 | <td>{{obj.xlName}}</td> | 363 | <td>{{obj.xlName}}</td> |
| 341 | <td>{{obj.jhzlc}}</td> | 364 | <td>{{obj.jhzlc}}</td> |
| 342 | <td>{{obj.jhlc}}</td> | 365 | <td>{{obj.jhlc}}</td> |
| @@ -358,6 +381,7 @@ | @@ -358,6 +381,7 @@ | ||
| 358 | <td>{{obj.ssgl_yw}}</td> | 381 | <td>{{obj.ssgl_yw}}</td> |
| 359 | <td>{{obj.ssgl_other}}</td> | 382 | <td>{{obj.ssgl_other}}</td> |
| 360 | <td>{{obj.ljgl}}</td> | 383 | <td>{{obj.ljgl}}</td> |
| 384 | + <td>{{obj.ljks}}</td> | ||
| 361 | <td>{{obj.jhbc}}</td> | 385 | <td>{{obj.jhbc}}</td> |
| 362 | <td>{{obj.jhbc_m}}</td> | 386 | <td>{{obj.jhbc_m}}</td> |
| 363 | <td>{{obj.jhbc_a}}</td> | 387 | <td>{{obj.jhbc_a}}</td> |
| @@ -382,7 +406,7 @@ | @@ -382,7 +406,7 @@ | ||
| 382 | {{/each}} | 406 | {{/each}} |
| 383 | {{if list.length == 0}} | 407 | {{if list.length == 0}} |
| 384 | <tr> | 408 | <tr> |
| 385 | - <td colspan="44"><h6 class="muted">娌℃湁鎵惧埌鐩稿叧鏁版嵁</h6></td> | 409 | + <td colspan="44"><h6 class="muted">没有找到相关数据</h6></td> |
| 386 | </tr> | 410 | </tr> |
| 387 | {{/if}} | 411 | {{/if}} |
| 388 | </script> | 412 | </script> |
| 389 | \ No newline at end of file | 413 | \ No newline at end of file |
src/main/resources/static/pages/mforms/turnoutrates/calcTurnoutrateZgf.html
0 → 100644
| 1 | +<style type="text/css"> | ||
| 2 | + .table-bordered { | ||
| 3 | + border: 1px solid; } | ||
| 4 | + .table-bordered > thead > tr > th, | ||
| 5 | + .table-bordered > thead > tr > td, | ||
| 6 | + .table-bordered > tbody > tr > th, | ||
| 7 | + .table-bordered > tbody > tr > td, | ||
| 8 | + .table-bordered > tfoot > tr > th, | ||
| 9 | + .table-bordered > tfoot > tr > td { | ||
| 10 | + border: 1px solid; } | ||
| 11 | + .table-bordered > thead > tr > th, | ||
| 12 | + .table-bordered > thead > tr > td { | ||
| 13 | + border-bottom-width: 2px; | ||
| 14 | + text-align: center;} | ||
| 15 | + | ||
| 16 | + .table > tbody + tbody { | ||
| 17 | + border-top: 1px solid; } | ||
| 18 | + .table>tbody>tr>td, .table>tbody>tr>th, .table>tfoot>tr>td, .table>tfoot>tr>th, .table>thead>tr>td, .table>thead>tr>th{ text-align: center; } | ||
| 19 | +.table-checkable tr > th:first-child, .table-checkable tr > td:first-child { | ||
| 20 | + text-align: center; | ||
| 21 | + max-width: initial; | ||
| 22 | + min-width: 40px; | ||
| 23 | + padding-left: 0; | ||
| 24 | + padding-right: 0; | ||
| 25 | +} | ||
| 26 | + | ||
| 27 | +</style> | ||
| 28 | + | ||
| 29 | +<div class="page-head"> | ||
| 30 | + <div class="page-title"> | ||
| 31 | + <h1>营运线路出车率统计表</h1> | ||
| 32 | + </div> | ||
| 33 | +</div> | ||
| 34 | + | ||
| 35 | +<div class="row"> | ||
| 36 | + <div class="col-md-12"> | ||
| 37 | + <div class="portlet light porttlet-fit bordered"> | ||
| 38 | + <div class="portlet-title"> | ||
| 39 | + <form class="form-inline" action="" method="post"> | ||
| 40 | + <div style="display: inline-block; margin-left: 20px;" id="gsdmDiv_turn"> | ||
| 41 | + <span class="item-label" style="width: 80px;margin-left: 11px;">公司: </span> | ||
| 42 | + <select class="form-control" name="company" id="gsdmTurn" style="width: 140px;"></select> | ||
| 43 | + </div> | ||
| 44 | + <div style="display: inline-block; margin-left: 20px;" id="fgsdmDiv_turn"> | ||
| 45 | + <span class="item-label" style="width: 80px;margin-left: 5px;">分公司: </span> | ||
| 46 | + <select class="form-control" name="subCompany" id="fgsdmTurn" style="width: 140px;"></select> | ||
| 47 | + </div> | ||
| 48 | + <div style="display: inline-block; margin-left: 33px;"> | ||
| 49 | + <span class="item-label" style="width: 80px;margin-left: 11px;">线路: </span> | ||
| 50 | + <select class="form-control" name="line" id="line" style="width: 140px;"></select> | ||
| 51 | + </div> | ||
| 52 | + <div style="margin-top: 10px"></div> | ||
| 53 | + <div style="display: inline-block;margin-left: 15px;"> | ||
| 54 | + <span class="item-label" style="width: 80px;">开始时间: </span> | ||
| 55 | + <input class="form-control" type="text" id="startDate" style="width: 140px;"/> | ||
| 56 | + </div> | ||
| 57 | + <div style="display: inline-block;margin-left: 15px;"> | ||
| 58 | + <span class="item-label" style="width: 80px;">结束时间: </span> | ||
| 59 | + <input class="form-control" type="text" id="endDate" style="width: 140px;"/> | ||
| 60 | + </div> | ||
| 61 | + <div class="form-group"> | ||
| 62 | + <input class="btn btn-default" type="button" id="query" value="筛选"/> | ||
| 63 | + <input class="btn btn-default" type="button" id="export" value="导出"/> | ||
| 64 | + </div> | ||
| 65 | + </form> | ||
| 66 | + </div> | ||
| 67 | + <div class="portlet-body"> | ||
| 68 | + <div class="table-container" style="margin-top: 20px;overflow:auto;min-width: 1000px"> | ||
| 69 | + <table class="table table-bordered table-hover table-checkable" id="forms1"> | ||
| 70 | + <thead> | ||
| 71 | + <tr> | ||
| 72 | + <th colspan="15">营运线路出车率统计表</th> | ||
| 73 | + </tr> | ||
| 74 | + <tr> | ||
| 75 | + <td style=" padding-top: 20px;">日期</td> | ||
| 76 | + <td style=" padding-top: 20px;">公司</td> | ||
| 77 | + <td style=" padding-top: 20px;">直属公司</td> | ||
| 78 | + <td style=" padding-top: 20px;">线路</td> | ||
| 79 | + <td style=" padding-top: 20px;">计划全日</td> | ||
| 80 | + <td style=" padding-top: 20px;">实际全日</td> | ||
| 81 | + <td style=" padding-top: 20px;">出车率</td> | ||
| 82 | + <td style=" padding-top: 20px;">计划早高峰</td> | ||
| 83 | + <td style=" padding-top: 20px;">实际早高峰</td> | ||
| 84 | + <td style=" padding-top: 20px;">出车率</td> | ||
| 85 | + </tr> | ||
| 86 | + | ||
| 87 | + | ||
| 88 | + </thead> | ||
| 89 | + <tbody id="tbody"> | ||
| 90 | + | ||
| 91 | + </tbody> | ||
| 92 | + </table> | ||
| 93 | + </div> | ||
| 94 | + </div> | ||
| 95 | + </div> | ||
| 96 | + </div> | ||
| 97 | +</div> | ||
| 98 | + | ||
| 99 | +<script> | ||
| 100 | + $(function(){ | ||
| 101 | + // 关闭左侧栏 | ||
| 102 | + if (!$('body').hasClass('page-sidebar-closed')) | ||
| 103 | + $('.menu-toggler.sidebar-toggler').click(); | ||
| 104 | + | ||
| 105 | + | ||
| 106 | + var d = new Date(); | ||
| 107 | + d.setTime(d.getTime() - 1*1000*60*60*24); | ||
| 108 | + var year = d.getFullYear(); | ||
| 109 | + var month = d.getMonth() + 1; | ||
| 110 | + var day = d.getDate(); | ||
| 111 | + if(month < 10) | ||
| 112 | + month = "0" + month; | ||
| 113 | + if(day < 10) | ||
| 114 | + day = "0" + day; | ||
| 115 | + var dateTime = year + "-" + month + "-" + day; | ||
| 116 | + $("#startDate,#endDate").datetimepicker({ | ||
| 117 | + format : 'YYYY-MM-DD', | ||
| 118 | + locale : 'zh-cn', | ||
| 119 | + maxDate : dateTime | ||
| 120 | + }); | ||
| 121 | + $("#startDate").val(dateTime); | ||
| 122 | + $("#endDate").val(dateTime); | ||
| 123 | + | ||
| 124 | + var fage=true; | ||
| 125 | + var xlList; | ||
| 126 | + var obj = []; | ||
| 127 | + | ||
| 128 | + $.get('/report/lineList',function(result){ | ||
| 129 | + xlList=result; | ||
| 130 | + $.get('/user/companyData', function(result){ | ||
| 131 | + obj = result; | ||
| 132 | + var options = ''; | ||
| 133 | + for(var i = 0; i < obj.length; i++){ | ||
| 134 | + options += '<option value="'+obj[i].companyCode+'">'+obj[i].companyName+'</option>'; | ||
| 135 | + } | ||
| 136 | + | ||
| 137 | + if(obj.length ==0){ | ||
| 138 | + $("#gsdmDiv_turn").css('display','none'); | ||
| 139 | + }else if(obj.length ==1){ | ||
| 140 | + $("#gsdmDiv_turn").css('display','none'); | ||
| 141 | + if(obj[0].children.length == 1 || obj[0].children.length ==0){ | ||
| 142 | + fage=false; | ||
| 143 | + $('#fgsdmDiv_turn').css('display','none'); | ||
| 144 | + | ||
| 145 | + } | ||
| 146 | + } | ||
| 147 | + $('#gsdmTurn').html(options); | ||
| 148 | + updateCompany(); | ||
| 149 | + }); | ||
| 150 | + }) | ||
| 151 | + $("#gsdmTurn").on("change",updateCompany); | ||
| 152 | + function updateCompany(){ | ||
| 153 | + var company = $('#gsdmTurn').val(); | ||
| 154 | + var options = ''; | ||
| 155 | + if(fage){ | ||
| 156 | + options = '<option value="">请选择</option>'; | ||
| 157 | + } | ||
| 158 | + for(var i = 0; i < obj.length; i++){ | ||
| 159 | + if(obj[i].companyCode == company){ | ||
| 160 | + var children = obj[i].children; | ||
| 161 | + for(var j = 0; j < children.length; j++){ | ||
| 162 | + options += '<option value="'+children[j].code+'">'+children[j].name+'</option>'; | ||
| 163 | + } | ||
| 164 | + } | ||
| 165 | + } | ||
| 166 | + $('#fgsdmTurn').html(options); | ||
| 167 | + } | ||
| 168 | + | ||
| 169 | + var tempData = {}; | ||
| 170 | + $.get('/report/lineList',function(xlList){ | ||
| 171 | + var data = []; | ||
| 172 | + data.push({id: " ", text: "全部线路"}); | ||
| 173 | + $.get('/user/companyData', function(result){ | ||
| 174 | + for(var i = 0; i < result.length; i++){ | ||
| 175 | + var companyCode = result[i].companyCode; | ||
| 176 | + var children = result[i].children; | ||
| 177 | + for(var j = 0; j < children.length; j++){ | ||
| 178 | + var code = children[j].code; | ||
| 179 | + for(var k=0;k < xlList.length;k++ ){ | ||
| 180 | + if(xlList[k]["fgsbm"]==code && xlList[k]["gsbm"]==companyCode){ | ||
| 181 | + data.push({id: xlList[k]["xlbm"], text: xlList[k]["xlname"]}); | ||
| 182 | + tempData[xlList[k]["xlbm"]] = companyCode+":"+code; | ||
| 183 | + } | ||
| 184 | + } | ||
| 185 | + } | ||
| 186 | + } | ||
| 187 | + initPinYinSelect2('#line',data,''); | ||
| 188 | + | ||
| 189 | + }); | ||
| 190 | + }); | ||
| 191 | + | ||
| 192 | + $("#line").on("change", function(){ | ||
| 193 | + if($("#line").val() == " "){ | ||
| 194 | + $("#gsdmTurn").attr("disabled", false); | ||
| 195 | + $("#fgsdmTurn").attr("disabled", false); | ||
| 196 | + } else { | ||
| 197 | + var temp = tempData[$("#line").val()].split(":"); | ||
| 198 | + $("#gsdmTurn").val(temp[0]); | ||
| 199 | + updateCompany(); | ||
| 200 | + $("#fgsdmTurn").val(temp[1]); | ||
| 201 | + $("#gsdmTurn").attr("disabled", true); | ||
| 202 | + $("#fgsdmTurn").attr("disabled", true); | ||
| 203 | + } | ||
| 204 | + }); | ||
| 205 | + | ||
| 206 | + var line; | ||
| 207 | + var startDate; | ||
| 208 | + var endDate; | ||
| 209 | + var gsdmTurn; | ||
| 210 | + var fgsdmTurn; | ||
| 211 | + var nature; | ||
| 212 | + $("#query").on("click",function(){ | ||
| 213 | + | ||
| 214 | + line = $("#line").val(); | ||
| 215 | + startDate=$("#startDate").val(); | ||
| 216 | + endDate=$("#endDate").val(); | ||
| 217 | + gsdmTurn=$("#gsdmTurn").val(); | ||
| 218 | + fgsdmTurn=$("#fgsdmTurn").val(); | ||
| 219 | + nature=$("#nature").val(); | ||
| 220 | + if(startDate!=''&&endDate!=''){ | ||
| 221 | + var i = layer.load(2); | ||
| 222 | + $get('/calcSheet/calcTurnoutrateZgf', | ||
| 223 | + { gsdmTurn:gsdmTurn,fgsdmTurn:fgsdmTurn, line:line,startDate:startDate,endDate:endDate,nature:nature,type:'query'},function(result){ | ||
| 224 | +// var result=[]; | ||
| 225 | + // 把数据填充到模版中 | ||
| 226 | + var tbodyHtml = template('calcTurnoutrate',{list:result}); | ||
| 227 | + // 把渲染好的模版html文本追加到表格中 | ||
| 228 | + $('#tbody').html(tbodyHtml); | ||
| 229 | + layer.close(i); | ||
| 230 | + line = $("#line").val(); | ||
| 231 | + startDate = $("#startDate").val(); | ||
| 232 | + endDate = $("#endDate").val(); | ||
| 233 | + $("#sDate").text(startDate); | ||
| 234 | + $("#eDate").text(endDate); | ||
| 235 | + var temp = {}; | ||
| 236 | + var today_account = 0; | ||
| 237 | + | ||
| 238 | + temp["line"] = $("#line").text(); | ||
| 239 | + $.each(result, function(i, obj) { | ||
| 240 | + if(moment(obj.schedule_date_str).format("YYYY-MM-DD") == moment(obj.startDate).format("YYYY-MM-DD")){ | ||
| 241 | + today_account++; | ||
| 242 | + } | ||
| 243 | + obj.updateDate = moment(obj.startDate).format("YYYY-MM-DD HH:mm:ss"); | ||
| 244 | + }); | ||
| 245 | + | ||
| 246 | + }); | ||
| 247 | + | ||
| 248 | + }else{ | ||
| 249 | + layer.msg("请选择时间范围!"); | ||
| 250 | + } | ||
| 251 | + }); | ||
| 252 | + | ||
| 253 | + $("#export").on("click",function(){ | ||
| 254 | + line = $("#line").val(); | ||
| 255 | + startDate=$("#startDate").val(); | ||
| 256 | + endDate=$("#endDate").val(); | ||
| 257 | + gsdmTurn=$("#gsdmTurn").val(); | ||
| 258 | + fgsdmTurn=$("#fgsdmTurn").val(); | ||
| 259 | + nature=$("#nature").val(); | ||
| 260 | + var lineName = $('#line option:selected').text(); | ||
| 261 | + if(lineName == "全部线路") | ||
| 262 | + lineName = $('#fgsdmTurn option:selected').text(); | ||
| 263 | + if(lineName =="请选择") | ||
| 264 | + lineName = $('#gsdmTurn option:selected').text(); | ||
| 265 | + var i = layer.load(2); | ||
| 266 | + $get('/calcSheet/calcTurnoutrateZgf',{gsdmTurn:gsdmTurn,fgsdmTurn:fgsdmTurn,line:line,startDate:startDate,endDate:endDate,nature:nature,type:'export',lineName:lineName},function(result){ | ||
| 267 | + var dateTime = ""; | ||
| 268 | + if(startDate == endDate){ | ||
| 269 | + dateTime = startDate; | ||
| 270 | + } else { | ||
| 271 | + dateTime = startDate+"-"+endDate; | ||
| 272 | + } | ||
| 273 | + window.open("/downloadFile/download?fileName=" | ||
| 274 | + +dateTime+"-"+lineName+"-营运线路出车率统计表"); | ||
| 275 | + layer.close(i); | ||
| 276 | + }); | ||
| 277 | + }); | ||
| 278 | + }); | ||
| 279 | +</script> | ||
| 280 | +<script type="text/html" id="calcTurnoutrate"> | ||
| 281 | + {{each list as obj i}} | ||
| 282 | + <tr> | ||
| 283 | + <td>{{obj.rq}}</td> | ||
| 284 | + <td>{{obj.gsName}}</td> | ||
| 285 | + <td>{{obj.fgsName}}</td> | ||
| 286 | + <td>{{obj.xlName}}</td> | ||
| 287 | + <td>{{obj.jhcc}}</td> | ||
| 288 | + <td>{{obj.sjcc}}</td> | ||
| 289 | + <td>{{obj.ccl}}</td> | ||
| 290 | + <td>{{obj.jhcczgf}}</td> | ||
| 291 | + <td>{{obj.sjcczgf}}</td> | ||
| 292 | + <td>{{obj.cclzgf}}</td> | ||
| 293 | + </tr> | ||
| 294 | + {{/each}} | ||
| 295 | + {{if list.length == 0}} | ||
| 296 | + <tr> | ||
| 297 | + <td colspan="12"><h6 class="muted">没有找到相关数据</h6></td> | ||
| 298 | + </tr> | ||
| 299 | + {{/if}} | ||
| 300 | +</script> |