Commit 4897c795b177e42ddfa3645f862090b408599e2a

Authored by 廖磊
1 parent de274183

大间隔统计表添加线路性质查询,详细信息查询预统计表

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&lt;CalcInterval,Integer&gt; {
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&lt;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&lt;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&lt;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&lt;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&lt;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&lt;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&lt;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 });
... ...