Commit 3f70bf244ea0749b148d191bab7807017f4f4589

Authored by 廖磊
Committed by 娄高锋
1 parent 2f028ce1

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

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&lt;CalcInterval,Integer&gt; { @@ -13,5 +13,9 @@ public interface CalcIntervalService extends BaseService&lt;CalcInterval,Integer&gt; {
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&lt;CalcInterval,Intege @@ -51,6 +52,8 @@ public class CalcIntervalServiceImpl extends BaseServiceImpl&lt;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&lt;CalcInterval,Intege @@ -62,6 +65,7 @@ public class CalcIntervalServiceImpl extends BaseServiceImpl&lt;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&lt;CalcInterval,Intege @@ -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 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&lt;CalcInterval,Intege @@ -193,7 +217,7 @@ public class CalcIntervalServiceImpl extends BaseServiceImpl&lt;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&lt;CalcInterval,Intege @@ -216,7 +240,7 @@ public class CalcIntervalServiceImpl extends BaseServiceImpl&lt;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&lt;CalcInterval,Intege @@ -607,6 +631,49 @@ public class CalcIntervalServiceImpl extends BaseServiceImpl&lt;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&lt;CalcInterval,Intege @@ -620,6 +687,7 @@ public class CalcIntervalServiceImpl extends BaseServiceImpl&lt;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 });