Commit 4897c795b177e42ddfa3645f862090b408599e2a
1 parent
de274183
大间隔统计表添加线路性质查询,详细信息查询预统计表
Showing
7 changed files
with
106 additions
and
18 deletions
src/main/java/com/bsth/controller/calc/CalcIntervalController.java
| 1 | 1 | package com.bsth.controller.calc; |
| 2 | 2 | |
| 3 | +import java.util.ArrayList; | |
| 3 | 4 | import java.util.List; |
| 4 | 5 | import java.util.Map; |
| 5 | 6 | |
| ... | ... | @@ -31,7 +32,12 @@ public class CalcIntervalController extends BaseController<CalcInterval,Integer |
| 31 | 32 | |
| 32 | 33 | @RequestMapping(value="/interval") |
| 33 | 34 | public List<Map<String,Object>> interval(@RequestParam Map<String, Object> map){ |
| 34 | - List<Map<String,Object>> list=calcIntervalService.interval(map); | |
| 35 | + List<Map<String,Object>> list=new ArrayList<Map<String,Object>>(); | |
| 36 | + if(map.get("status")==null){ | |
| 37 | + list=calcIntervalService.interval(map); | |
| 38 | + }else{ | |
| 39 | + list=calcIntervalService.intervalDetail(map); | |
| 40 | + } | |
| 35 | 41 | return list; |
| 36 | 42 | } |
| 37 | 43 | ... | ... |
src/main/java/com/bsth/service/calc/CalcIntervalService.java
| ... | ... | @@ -13,5 +13,9 @@ public interface CalcIntervalService extends BaseService<CalcInterval,Integer> { |
| 13 | 13 | |
| 14 | 14 | List<Map<String,Object>> countList(Map<String, Object> map); |
| 15 | 15 | List<Map<String,Object>> listInterval(Map<String, Object> map); |
| 16 | + //根据排班表查询 | |
| 16 | 17 | List<Map<String,Object>> interval(Map<String, Object> map); |
| 18 | + //根据预统计表查询 | |
| 19 | + List<Map<String,Object>> intervalDetail(Map<String, Object> map); | |
| 20 | + | |
| 17 | 21 | } | ... | ... |
src/main/java/com/bsth/service/calc/impl/CalcIntervalServiceImpl.java
| ... | ... | @@ -31,6 +31,7 @@ import com.bsth.entity.sheet.Sheet; |
| 31 | 31 | import com.bsth.repository.LineRepository; |
| 32 | 32 | import com.bsth.repository.calc.CalcIntervalRepository; |
| 33 | 33 | import com.bsth.repository.realcontrol.ScheduleRealInfoRepository; |
| 34 | +import com.bsth.service.LineService; | |
| 34 | 35 | import com.bsth.service.calc.CalcIntervalService; |
| 35 | 36 | import com.bsth.service.impl.BaseServiceImpl; |
| 36 | 37 | import com.bsth.util.ComparableReal; |
| ... | ... | @@ -51,6 +52,8 @@ public class CalcIntervalServiceImpl extends BaseServiceImpl<CalcInterval,Intege |
| 51 | 52 | LineRepository lineRepository; |
| 52 | 53 | @Autowired |
| 53 | 54 | JdbcTemplate jdbcTemplate; |
| 55 | + @Autowired | |
| 56 | + LineService lineService; | |
| 54 | 57 | @Override |
| 55 | 58 | public List<Map<String, Object>> countList(Map<String, Object> map) { |
| 56 | 59 | // TODO Auto-generated method stub |
| ... | ... | @@ -62,6 +65,7 @@ public class CalcIntervalServiceImpl extends BaseServiceImpl<CalcInterval,Intege |
| 62 | 65 | String fgs=map.get("fgs").toString().trim(); |
| 63 | 66 | String sDate=map.get("date").toString(); |
| 64 | 67 | String eDate=map.get("endDate").toString(); |
| 68 | + String nature=map.get("nature").toString(); | |
| 65 | 69 | |
| 66 | 70 | //D级线路显示发车准点率 |
| 67 | 71 | if(level.equals("D")){ |
| ... | ... | @@ -170,16 +174,36 @@ public class CalcIntervalServiceImpl extends BaseServiceImpl<CalcInterval,Intege |
| 170 | 174 | }); |
| 171 | 175 | } |
| 172 | 176 | |
| 177 | + //根据线路类型确定是否营运 | |
| 178 | + Map<String, Boolean> lineMap=lineService.lineNature(); | |
| 179 | + List<Map<String, Object>> listAll=new ArrayList<Map<String, Object>>(); | |
| 180 | + for (int i = 0; i < list.size(); i++) { | |
| 181 | + Map<String, Object> m=list.get(i); | |
| 182 | + if (nature.equals("0")) { | |
| 183 | + listAll.add(m); | |
| 184 | + }else if(nature.equals("1")){ | |
| 185 | + if(lineMap.get(m.get("xlBm").toString())){ | |
| 186 | + listAll.add(m); | |
| 187 | + } | |
| 188 | + }else{ | |
| 189 | + if(!lineMap.get(m.get("xlBm").toString())){ | |
| 190 | + listAll.add(m); | |
| 191 | + } | |
| 192 | + } | |
| 193 | + } | |
| 194 | + | |
| 173 | 195 | if(map.get("type").equals("export")){ |
| 174 | 196 | String lineName=""; |
| 175 | - if(line.equals("")){ | |
| 176 | - if(fgs.equals("")){ | |
| 177 | - lineName=list.get(0).get("gs").toString(); | |
| 178 | - }else{ | |
| 179 | - lineName=list.get(0).get("fgs").toString(); | |
| 197 | + if(listAll.size()>0){ | |
| 198 | + if(line.equals("")){ | |
| 199 | + if(fgs.equals("")){ | |
| 200 | + lineName=listAll.get(0).get("gs").toString(); | |
| 201 | + }else{ | |
| 202 | + lineName=listAll.get(0).get("fgs").toString(); | |
| 203 | + } | |
| 204 | + }else{ | |
| 205 | + lineName=listAll.get(0).get("xlName").toString(); | |
| 180 | 206 | } |
| 181 | - }else{ | |
| 182 | - lineName=list.get(0).get("xlName").toString(); | |
| 183 | 207 | } |
| 184 | 208 | List<Iterator<?>> listI = new ArrayList<Iterator<?>>(); |
| 185 | 209 | Map<String, Object> m = new HashMap<String, Object>(); |
| ... | ... | @@ -193,7 +217,7 @@ public class CalcIntervalServiceImpl extends BaseServiceImpl<CalcInterval,Intege |
| 193 | 217 | dateTime = sDate.replaceAll("-", "")+"-"+ |
| 194 | 218 | eDate.replaceAll("-", ""); |
| 195 | 219 | } |
| 196 | - listI.add(list.iterator()); | |
| 220 | + listI.add(listAll.iterator()); | |
| 197 | 221 | String path = this.getClass().getResource("/").getPath() + "static/pages/forms/"; |
| 198 | 222 | String xls=""; |
| 199 | 223 | String xlsName=""; |
| ... | ... | @@ -216,7 +240,7 @@ public class CalcIntervalServiceImpl extends BaseServiceImpl<CalcInterval,Intege |
| 216 | 240 | e.printStackTrace(); |
| 217 | 241 | } |
| 218 | 242 | } |
| 219 | - return list; | |
| 243 | + return listAll; | |
| 220 | 244 | } |
| 221 | 245 | @Override |
| 222 | 246 | public List<Map<String, Object>> listInterval(Map<String, Object> map) { |
| ... | ... | @@ -607,6 +631,49 @@ public class CalcIntervalServiceImpl extends BaseServiceImpl<CalcInterval,Intege |
| 607 | 631 | return list; |
| 608 | 632 | } |
| 609 | 633 | |
| 634 | + @Override | |
| 635 | + public List<Map<String, Object>> intervalDetail(Map<String, Object> map) { | |
| 636 | + // TODO Auto-generated method stub | |
| 637 | + String line=map.get("line").toString(); | |
| 638 | + String date=map.get("date").toString(); | |
| 639 | + String sql="select * from bsth_c_calc_interval_detail where line_code='"+line+"' and " | |
| 640 | + + " date ='"+date+"'"; | |
| 641 | + | |
| 642 | + List<Map<String, Object>> list=jdbcTemplate.query(sql, | |
| 643 | + new RowMapper<Map<String,Object>>(){ | |
| 644 | + @Override | |
| 645 | + public Map<String, Object> mapRow(ResultSet rs, int rowNum) throws SQLException { | |
| 646 | + Map<String, Object> m=new HashMap<String,Object>(); | |
| 647 | + m.put("xlName", rs.getString("line_name")); | |
| 648 | + m.put("level", rs.getString("level")); | |
| 649 | + m.put("jhfc1", rs.getString("jhfc1")); | |
| 650 | + m.put("sjfc1", rs.getString("sjfc1")); | |
| 651 | + m.put("jhfc2", rs.getString("jhfc2")); | |
| 652 | + m.put("sjfc2", rs.getString("sjfc2")); | |
| 653 | + m.put("subTime", rs.getString("sub_time")); | |
| 654 | + m.put("date", rs.getString("date")); | |
| 655 | + m.put("station", rs.getString("station")); | |
| 656 | + | |
| 657 | + return m; | |
| 658 | + } | |
| 659 | + }); | |
| 660 | + if(map.get("type").toString().equals("export")){ | |
| 661 | + List<Iterator<?>> listI = new ArrayList<Iterator<?>>(); | |
| 662 | + Map<String, Object> m = new HashMap<String, Object>(); | |
| 663 | + m.put("date", date); | |
| 664 | + ReportUtils ee = new ReportUtils(); | |
| 665 | + try { | |
| 666 | + listI.add(list.iterator()); | |
| 667 | + String path = this.getClass().getResource("/").getPath() + "static/pages/forms/"; | |
| 668 | + ee.excelReplace(listI, new Object[]{m}, path + "mould/" + "interval.xls", | |
| 669 | + path + "export/"+date+"大间隔详细.xls"); | |
| 670 | + } catch (Exception e) { | |
| 671 | + // TODO: handle exception | |
| 672 | + e.printStackTrace(); | |
| 673 | + } | |
| 674 | + } | |
| 675 | + return list; | |
| 676 | + } | |
| 610 | 677 | |
| 611 | 678 | private Long minFcsjs(int id){ |
| 612 | 679 | String minfcsj="02:00"; |
| ... | ... | @@ -620,6 +687,7 @@ public class CalcIntervalServiceImpl extends BaseServiceImpl<CalcInterval,Intege |
| 620 | 687 | Long minSj=Long.parseLong(minSjs[0])*60+Long.parseLong(minSjs[1]); |
| 621 | 688 | return minSj; |
| 622 | 689 | } |
| 690 | + | |
| 623 | 691 | } |
| 624 | 692 | |
| 625 | 693 | class ComparableJhfc implements Comparator<ScheduleRealInfo>{ | ... | ... |
src/main/resources/static/pages/forms/mould/calcIntervalCount.xls
No preview for this file type
src/main/resources/static/pages/forms/mould/calcIntervalList1.xls
No preview for this file type
src/main/resources/static/pages/report/sheet/intervalCount.html
| ... | ... | @@ -39,6 +39,16 @@ |
| 39 | 39 | <span class="item-label" style="width: 80px;">线路: </span> |
| 40 | 40 | <select class="form-control" name="line" id="line" style="width: 180px;"></select> |
| 41 | 41 | </div> |
| 42 | + <div style="display: inline-block;margin-left: 42px;"> | |
| 43 | + <span class="item-label" style="width: 80px;">线路性质: </span> | |
| 44 | + <select | |
| 45 | + class="form-control" name="nature" id="nature" | |
| 46 | + style="width: 180px;"> | |
| 47 | + <option value="0">全部线路</option> | |
| 48 | + <option value="1" selected="selected">营运线路</option> | |
| 49 | + <option value="2">非营运线路</option> | |
| 50 | + </select> | |
| 51 | + </div> | |
| 42 | 52 | <div style="margin-top: 10px"> |
| 43 | 53 | </div> |
| 44 | 54 | <div style="display: inline-block;margin-left: 33px;"> |
| ... | ... | @@ -80,7 +90,7 @@ |
| 80 | 90 | <td>低谷次数</td> |
| 81 | 91 | <td>全日班次数</td> |
| 82 | 92 | <td>万班次发生率</td> |
| 83 | - <td>最大间隔时间</td> | |
| 93 | +<!-- <td>最大间隔时间</td> --> | |
| 84 | 94 | <td>查看</td> |
| 85 | 95 | </tr> |
| 86 | 96 | </thead> |
| ... | ... | @@ -126,7 +136,6 @@ |
| 126 | 136 | <td>低谷次数</td> |
| 127 | 137 | <td>全日班次数</td> |
| 128 | 138 | <td>万班次发生率</td> |
| 129 | - <td>最大间隔</td> | |
| 130 | 139 | <td>查看</td> |
| 131 | 140 | </tr> |
| 132 | 141 | </thead> |
| ... | ... | @@ -259,6 +268,7 @@ |
| 259 | 268 | var temp = tempData[$("#line").val()].split(":"); |
| 260 | 269 | $("#gsdm").val(temp[0]); |
| 261 | 270 | updateCompany(); |
| 271 | + $("#nature").val(0); | |
| 262 | 272 | $("#fgsdm").val(temp[1]); |
| 263 | 273 | $("#gsdm").attr("disabled", true); |
| 264 | 274 | $("#fgsdm").attr("disabled", true); |
| ... | ... | @@ -275,8 +285,9 @@ |
| 275 | 285 | var fgs=$('#fgsdm').val(); |
| 276 | 286 | var gs=$('#gsdm').val(); |
| 277 | 287 | var levelType=$('#levelType').val(); |
| 288 | + var nature=$("#nature").val(); | |
| 278 | 289 | var i = layer.load(2); |
| 279 | - $get('/calcInterval/countList',{line:line,date:date,endDate:endDate,gs:gs,fgs:fgs,levelType:levelType,type:'query'},function(result){ | |
| 290 | + $get('/calcInterval/countList',{line:line,date:date,endDate:endDate,gs:gs,fgs:fgs,levelType:levelType,nature:nature,type:'query'},function(result){ | |
| 280 | 291 | if(levelType=="D"){ |
| 281 | 292 | var intervalList_d = template('intervalList_d',{list:result}); |
| 282 | 293 | $('#forms_d tbody').html(intervalList_d); |
| ... | ... | @@ -396,6 +407,7 @@ |
| 396 | 407 | var fgs=$('#fgsdm').val(); |
| 397 | 408 | var gs=$('#gsdm').val(); |
| 398 | 409 | var levelType=$('#levelType').val(); |
| 410 | + var nature=$('#nature').val(); | |
| 399 | 411 | var lineName = $('#line option:selected').text(); |
| 400 | 412 | if(lineName == "全部线路") |
| 401 | 413 | lineName = $('#fgsdm option:selected').text(); |
| ... | ... | @@ -403,7 +415,7 @@ |
| 403 | 415 | lineName = $('#gsdm option:selected').text(); |
| 404 | 416 | |
| 405 | 417 | var i = layer.load(2); |
| 406 | - $get('/calcInterval/countList',{line:line,date:date,endDate:endDate,gs:gs,fgs:fgs,levelType:levelType,type:"export",lineName:lineName},function(result){ | |
| 418 | + $get('/calcInterval/countList',{line:line,date:date,endDate:endDate,gs:gs,fgs:fgs,levelType:levelType,nature:nature,type:"export",lineName:lineName},function(result){ | |
| 407 | 419 | var dateTime = ""; |
| 408 | 420 | if(date == endDate){ |
| 409 | 421 | dateTime = moment(date).format("YYYYMMDD"); |
| ... | ... | @@ -458,7 +470,6 @@ |
| 458 | 470 | <td>{{obj.djgDg}}</td> |
| 459 | 471 | <td>{{obj.bcs}}</td> |
| 460 | 472 | <td>{{obj.fsl}}</td> |
| 461 | - <td>{{obj.djgTime}}</td> | |
| 462 | 473 | <td> |
| 463 | 474 | <button type="button" class="btn btn-sm blue btn-intervalList" |
| 464 | 475 | data-id="{{obj.xlBm}}">查看</button> |
| ... | ... | @@ -512,7 +523,6 @@ |
| 512 | 523 | <td>{{obj.djgDg}}</td> |
| 513 | 524 | <td>{{obj.bcs}}</td> |
| 514 | 525 | <td>{{obj.fsl}}</td> |
| 515 | - <td>{{obj.djgTime}}</td> | |
| 516 | 526 | <td> |
| 517 | 527 | <button type="button" class="btn btn-sm blue btn-intervalList_1" |
| 518 | 528 | data-id="{{obj.xlBm}}" data-date="{{obj.date}}">详细</button> | ... | ... |
src/main/resources/static/pages/report/sheet/intervalList.html
| ... | ... | @@ -63,7 +63,7 @@ |
| 63 | 63 | no=id.split(",")[0]; |
| 64 | 64 | dates = id.split(",")[1]; |
| 65 | 65 | var i = layer.load(2); |
| 66 | - $get('/calcInterval/interval',{line:no,date:dates,type:'query'},function(result){ | |
| 66 | + $get('/calcInterval/interval',{line:no,date:dates,status:"detail",type:'query'},function(result){ | |
| 67 | 67 | layer.close(i); |
| 68 | 68 | var calcIntervalList_2 = template('calcIntervalList_2',{list:result}); |
| 69 | 69 | $('#forms_2 tbody').html(calcIntervalList_2); |
| ... | ... | @@ -71,7 +71,7 @@ |
| 71 | 71 | }) |
| 72 | 72 | $("#exportList").on('click',function(){ |
| 73 | 73 | var i = layer.load(2); |
| 74 | - $get('/calcInterval/interval',{line:no,date:dates,type:'export'},function(result){ | |
| 74 | + $get('/calcInterval/interval',{line:no,date:dates,status:"detail",type:'export'},function(result){ | |
| 75 | 75 | window.open("/downloadFile/download?fileName="+dates+"大间隔详细"); |
| 76 | 76 | layer.close(i); |
| 77 | 77 | }); | ... | ... |