Commit 3f70bf244ea0749b148d191bab7807017f4f4589
Committed by
娄高锋
1 parent
2f028ce1
大间隔统计表添加线路性质查询,详细信息查询预统计表
Showing
7 changed files
with
106 additions
and
18 deletions
src/main/java/com/bsth/controller/calc/CalcIntervalController.java
| 1 | package com.bsth.controller.calc; | 1 | package com.bsth.controller.calc; |
| 2 | 2 | ||
| 3 | +import java.util.ArrayList; | ||
| 3 | import java.util.List; | 4 | import java.util.List; |
| 4 | import java.util.Map; | 5 | import java.util.Map; |
| 5 | 6 | ||
| @@ -31,7 +32,12 @@ public class CalcIntervalController extends BaseController<CalcInterval,Integer | @@ -31,7 +32,12 @@ public class CalcIntervalController extends BaseController<CalcInterval,Integer | ||
| 31 | 32 | ||
| 32 | @RequestMapping(value="/interval") | 33 | @RequestMapping(value="/interval") |
| 33 | public List<Map<String,Object>> interval(@RequestParam Map<String, Object> map){ | 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 | return list; | 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,5 +13,9 @@ public interface CalcIntervalService extends BaseService<CalcInterval,Integer> { | ||
| 13 | 13 | ||
| 14 | List<Map<String,Object>> countList(Map<String, Object> map); | 14 | List<Map<String,Object>> countList(Map<String, Object> map); |
| 15 | List<Map<String,Object>> listInterval(Map<String, Object> map); | 15 | List<Map<String,Object>> listInterval(Map<String, Object> map); |
| 16 | + //根据排班表查询 | ||
| 16 | List<Map<String,Object>> interval(Map<String, Object> map); | 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,6 +31,7 @@ import com.bsth.entity.sheet.Sheet; | ||
| 31 | import com.bsth.repository.LineRepository; | 31 | import com.bsth.repository.LineRepository; |
| 32 | import com.bsth.repository.calc.CalcIntervalRepository; | 32 | import com.bsth.repository.calc.CalcIntervalRepository; |
| 33 | import com.bsth.repository.realcontrol.ScheduleRealInfoRepository; | 33 | import com.bsth.repository.realcontrol.ScheduleRealInfoRepository; |
| 34 | +import com.bsth.service.LineService; | ||
| 34 | import com.bsth.service.calc.CalcIntervalService; | 35 | import com.bsth.service.calc.CalcIntervalService; |
| 35 | import com.bsth.service.impl.BaseServiceImpl; | 36 | import com.bsth.service.impl.BaseServiceImpl; |
| 36 | import com.bsth.util.ComparableReal; | 37 | import com.bsth.util.ComparableReal; |
| @@ -51,6 +52,8 @@ public class CalcIntervalServiceImpl extends BaseServiceImpl<CalcInterval,Intege | @@ -51,6 +52,8 @@ public class CalcIntervalServiceImpl extends BaseServiceImpl<CalcInterval,Intege | ||
| 51 | LineRepository lineRepository; | 52 | LineRepository lineRepository; |
| 52 | @Autowired | 53 | @Autowired |
| 53 | JdbcTemplate jdbcTemplate; | 54 | JdbcTemplate jdbcTemplate; |
| 55 | + @Autowired | ||
| 56 | + LineService lineService; | ||
| 54 | @Override | 57 | @Override |
| 55 | public List<Map<String, Object>> countList(Map<String, Object> map) { | 58 | public List<Map<String, Object>> countList(Map<String, Object> map) { |
| 56 | // TODO Auto-generated method stub | 59 | // TODO Auto-generated method stub |
| @@ -62,6 +65,7 @@ public class CalcIntervalServiceImpl extends BaseServiceImpl<CalcInterval,Intege | @@ -62,6 +65,7 @@ public class CalcIntervalServiceImpl extends BaseServiceImpl<CalcInterval,Intege | ||
| 62 | String fgs=map.get("fgs").toString().trim(); | 65 | String fgs=map.get("fgs").toString().trim(); |
| 63 | String sDate=map.get("date").toString(); | 66 | String sDate=map.get("date").toString(); |
| 64 | String eDate=map.get("endDate").toString(); | 67 | String eDate=map.get("endDate").toString(); |
| 68 | + String nature=map.get("nature").toString(); | ||
| 65 | 69 | ||
| 66 | //D级线路显示发车准点率 | 70 | //D级线路显示发车准点率 |
| 67 | if(level.equals("D")){ | 71 | if(level.equals("D")){ |
| @@ -170,16 +174,36 @@ public class CalcIntervalServiceImpl extends BaseServiceImpl<CalcInterval,Intege | @@ -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 | if(map.get("type").equals("export")){ | 195 | if(map.get("type").equals("export")){ |
| 174 | String lineName=""; | 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 | List<Iterator<?>> listI = new ArrayList<Iterator<?>>(); | 208 | List<Iterator<?>> listI = new ArrayList<Iterator<?>>(); |
| 185 | Map<String, Object> m = new HashMap<String, Object>(); | 209 | Map<String, Object> m = new HashMap<String, Object>(); |
| @@ -193,7 +217,7 @@ public class CalcIntervalServiceImpl extends BaseServiceImpl<CalcInterval,Intege | @@ -193,7 +217,7 @@ public class CalcIntervalServiceImpl extends BaseServiceImpl<CalcInterval,Intege | ||
| 193 | dateTime = sDate.replaceAll("-", "")+"-"+ | 217 | dateTime = sDate.replaceAll("-", "")+"-"+ |
| 194 | eDate.replaceAll("-", ""); | 218 | eDate.replaceAll("-", ""); |
| 195 | } | 219 | } |
| 196 | - listI.add(list.iterator()); | 220 | + listI.add(listAll.iterator()); |
| 197 | String path = this.getClass().getResource("/").getPath() + "static/pages/forms/"; | 221 | String path = this.getClass().getResource("/").getPath() + "static/pages/forms/"; |
| 198 | String xls=""; | 222 | String xls=""; |
| 199 | String xlsName=""; | 223 | String xlsName=""; |
| @@ -216,7 +240,7 @@ public class CalcIntervalServiceImpl extends BaseServiceImpl<CalcInterval,Intege | @@ -216,7 +240,7 @@ public class CalcIntervalServiceImpl extends BaseServiceImpl<CalcInterval,Intege | ||
| 216 | e.printStackTrace(); | 240 | e.printStackTrace(); |
| 217 | } | 241 | } |
| 218 | } | 242 | } |
| 219 | - return list; | 243 | + return listAll; |
| 220 | } | 244 | } |
| 221 | @Override | 245 | @Override |
| 222 | public List<Map<String, Object>> listInterval(Map<String, Object> map) { | 246 | public List<Map<String, Object>> listInterval(Map<String, Object> map) { |
| @@ -607,6 +631,49 @@ public class CalcIntervalServiceImpl extends BaseServiceImpl<CalcInterval,Intege | @@ -607,6 +631,49 @@ public class CalcIntervalServiceImpl extends BaseServiceImpl<CalcInterval,Intege | ||
| 607 | return list; | 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 | private Long minFcsjs(int id){ | 678 | private Long minFcsjs(int id){ |
| 612 | String minfcsj="02:00"; | 679 | String minfcsj="02:00"; |
| @@ -620,6 +687,7 @@ public class CalcIntervalServiceImpl extends BaseServiceImpl<CalcInterval,Intege | @@ -620,6 +687,7 @@ public class CalcIntervalServiceImpl extends BaseServiceImpl<CalcInterval,Intege | ||
| 620 | Long minSj=Long.parseLong(minSjs[0])*60+Long.parseLong(minSjs[1]); | 687 | Long minSj=Long.parseLong(minSjs[0])*60+Long.parseLong(minSjs[1]); |
| 621 | return minSj; | 688 | return minSj; |
| 622 | } | 689 | } |
| 690 | + | ||
| 623 | } | 691 | } |
| 624 | 692 | ||
| 625 | class ComparableJhfc implements Comparator<ScheduleRealInfo>{ | 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,6 +39,16 @@ | ||
| 39 | <span class="item-label" style="width: 80px;">线路: </span> | 39 | <span class="item-label" style="width: 80px;">线路: </span> |
| 40 | <select class="form-control" name="line" id="line" style="width: 180px;"></select> | 40 | <select class="form-control" name="line" id="line" style="width: 180px;"></select> |
| 41 | </div> | 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 | <div style="margin-top: 10px"> | 52 | <div style="margin-top: 10px"> |
| 43 | </div> | 53 | </div> |
| 44 | <div style="display: inline-block;margin-left: 33px;"> | 54 | <div style="display: inline-block;margin-left: 33px;"> |
| @@ -80,7 +90,7 @@ | @@ -80,7 +90,7 @@ | ||
| 80 | <td>低谷次数</td> | 90 | <td>低谷次数</td> |
| 81 | <td>全日班次数</td> | 91 | <td>全日班次数</td> |
| 82 | <td>万班次发生率</td> | 92 | <td>万班次发生率</td> |
| 83 | - <td>最大间隔时间</td> | 93 | +<!-- <td>最大间隔时间</td> --> |
| 84 | <td>查看</td> | 94 | <td>查看</td> |
| 85 | </tr> | 95 | </tr> |
| 86 | </thead> | 96 | </thead> |
| @@ -126,7 +136,6 @@ | @@ -126,7 +136,6 @@ | ||
| 126 | <td>低谷次数</td> | 136 | <td>低谷次数</td> |
| 127 | <td>全日班次数</td> | 137 | <td>全日班次数</td> |
| 128 | <td>万班次发生率</td> | 138 | <td>万班次发生率</td> |
| 129 | - <td>最大间隔</td> | ||
| 130 | <td>查看</td> | 139 | <td>查看</td> |
| 131 | </tr> | 140 | </tr> |
| 132 | </thead> | 141 | </thead> |
| @@ -259,6 +268,7 @@ | @@ -259,6 +268,7 @@ | ||
| 259 | var temp = tempData[$("#line").val()].split(":"); | 268 | var temp = tempData[$("#line").val()].split(":"); |
| 260 | $("#gsdm").val(temp[0]); | 269 | $("#gsdm").val(temp[0]); |
| 261 | updateCompany(); | 270 | updateCompany(); |
| 271 | + $("#nature").val(0); | ||
| 262 | $("#fgsdm").val(temp[1]); | 272 | $("#fgsdm").val(temp[1]); |
| 263 | $("#gsdm").attr("disabled", true); | 273 | $("#gsdm").attr("disabled", true); |
| 264 | $("#fgsdm").attr("disabled", true); | 274 | $("#fgsdm").attr("disabled", true); |
| @@ -275,8 +285,9 @@ | @@ -275,8 +285,9 @@ | ||
| 275 | var fgs=$('#fgsdm').val(); | 285 | var fgs=$('#fgsdm').val(); |
| 276 | var gs=$('#gsdm').val(); | 286 | var gs=$('#gsdm').val(); |
| 277 | var levelType=$('#levelType').val(); | 287 | var levelType=$('#levelType').val(); |
| 288 | + var nature=$("#nature").val(); | ||
| 278 | var i = layer.load(2); | 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 | if(levelType=="D"){ | 291 | if(levelType=="D"){ |
| 281 | var intervalList_d = template('intervalList_d',{list:result}); | 292 | var intervalList_d = template('intervalList_d',{list:result}); |
| 282 | $('#forms_d tbody').html(intervalList_d); | 293 | $('#forms_d tbody').html(intervalList_d); |
| @@ -396,6 +407,7 @@ | @@ -396,6 +407,7 @@ | ||
| 396 | var fgs=$('#fgsdm').val(); | 407 | var fgs=$('#fgsdm').val(); |
| 397 | var gs=$('#gsdm').val(); | 408 | var gs=$('#gsdm').val(); |
| 398 | var levelType=$('#levelType').val(); | 409 | var levelType=$('#levelType').val(); |
| 410 | + var nature=$('#nature').val(); | ||
| 399 | var lineName = $('#line option:selected').text(); | 411 | var lineName = $('#line option:selected').text(); |
| 400 | if(lineName == "全部线路") | 412 | if(lineName == "全部线路") |
| 401 | lineName = $('#fgsdm option:selected').text(); | 413 | lineName = $('#fgsdm option:selected').text(); |
| @@ -403,7 +415,7 @@ | @@ -403,7 +415,7 @@ | ||
| 403 | lineName = $('#gsdm option:selected').text(); | 415 | lineName = $('#gsdm option:selected').text(); |
| 404 | 416 | ||
| 405 | var i = layer.load(2); | 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 | var dateTime = ""; | 419 | var dateTime = ""; |
| 408 | if(date == endDate){ | 420 | if(date == endDate){ |
| 409 | dateTime = moment(date).format("YYYYMMDD"); | 421 | dateTime = moment(date).format("YYYYMMDD"); |
| @@ -458,7 +470,6 @@ | @@ -458,7 +470,6 @@ | ||
| 458 | <td>{{obj.djgDg}}</td> | 470 | <td>{{obj.djgDg}}</td> |
| 459 | <td>{{obj.bcs}}</td> | 471 | <td>{{obj.bcs}}</td> |
| 460 | <td>{{obj.fsl}}</td> | 472 | <td>{{obj.fsl}}</td> |
| 461 | - <td>{{obj.djgTime}}</td> | ||
| 462 | <td> | 473 | <td> |
| 463 | <button type="button" class="btn btn-sm blue btn-intervalList" | 474 | <button type="button" class="btn btn-sm blue btn-intervalList" |
| 464 | data-id="{{obj.xlBm}}">查看</button> | 475 | data-id="{{obj.xlBm}}">查看</button> |
| @@ -512,7 +523,6 @@ | @@ -512,7 +523,6 @@ | ||
| 512 | <td>{{obj.djgDg}}</td> | 523 | <td>{{obj.djgDg}}</td> |
| 513 | <td>{{obj.bcs}}</td> | 524 | <td>{{obj.bcs}}</td> |
| 514 | <td>{{obj.fsl}}</td> | 525 | <td>{{obj.fsl}}</td> |
| 515 | - <td>{{obj.djgTime}}</td> | ||
| 516 | <td> | 526 | <td> |
| 517 | <button type="button" class="btn btn-sm blue btn-intervalList_1" | 527 | <button type="button" class="btn btn-sm blue btn-intervalList_1" |
| 518 | data-id="{{obj.xlBm}}" data-date="{{obj.date}}">详细</button> | 528 | data-id="{{obj.xlBm}}" data-date="{{obj.date}}">详细</button> |
src/main/resources/static/pages/report/sheet/intervalList.html
| @@ -63,7 +63,7 @@ | @@ -63,7 +63,7 @@ | ||
| 63 | no=id.split(",")[0]; | 63 | no=id.split(",")[0]; |
| 64 | dates = id.split(",")[1]; | 64 | dates = id.split(",")[1]; |
| 65 | var i = layer.load(2); | 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 | layer.close(i); | 67 | layer.close(i); |
| 68 | var calcIntervalList_2 = template('calcIntervalList_2',{list:result}); | 68 | var calcIntervalList_2 = template('calcIntervalList_2',{list:result}); |
| 69 | $('#forms_2 tbody').html(calcIntervalList_2); | 69 | $('#forms_2 tbody').html(calcIntervalList_2); |
| @@ -71,7 +71,7 @@ | @@ -71,7 +71,7 @@ | ||
| 71 | }) | 71 | }) |
| 72 | $("#exportList").on('click',function(){ | 72 | $("#exportList").on('click',function(){ |
| 73 | var i = layer.load(2); | 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 | window.open("/downloadFile/download?fileName="+dates+"大间隔详细"); | 75 | window.open("/downloadFile/download?fileName="+dates+"大间隔详细"); |
| 76 | layer.close(i); | 76 | layer.close(i); |
| 77 | }); | 77 | }); |