Commit f7331a8709c1e1770a942f069ec59c8fa1c7b558

Authored by 王通
1 parent b39a2ab8

1.在线调线路title上显示线路等级

src/main/java/com/bsth/controller/realcontrol/ScheduleRealInfoController.java
1 1 package com.bsth.controller.realcontrol;
2 2  
3 3 import java.util.ArrayList;
  4 +import java.util.Arrays;
4 5 import java.util.Collection;
5 6 import java.util.HashMap;
6 7 import java.util.List;
... ... @@ -722,4 +723,9 @@ public class ScheduleRealInfoController extends BaseController<ScheduleRealInfo,
722 723 public List<RepairReport> repairReportList(@RequestParam String line, @RequestParam String date, @RequestParam String code, @RequestParam String type){
723 724 return scheduleRealInfoService.repairReportList(line, date, code, type);
724 725 }
  726 +
  727 + @RequestMapping(value = "lineLevel", method = RequestMethod.GET)
  728 + public Map<String, String> lineLevel(@RequestParam String idx){
  729 + return scheduleRealInfoService.getLevelsByLines(Arrays.asList(idx.split(",")));
  730 + }
725 731 }
... ...
src/main/java/com/bsth/data/BasicData.java
1 1 package com.bsth.data;
2 2  
3   -import com.bsth.data.gpsdata_v2.cache.GeoCacheData;
4   -import com.bsth.data.pinyin.PersionPinYinBuffer;
5   -import com.bsth.entity.*;
6   -import com.bsth.entity.schedule.CarConfigInfo;
7   -import com.bsth.repository.*;
8   -import com.bsth.repository.schedule.CarConfigInfoRepository;
9   -import com.google.common.collect.BiMap;
10   -import com.google.common.collect.HashBiMap;
  3 +import java.text.DateFormat;
  4 +import java.text.SimpleDateFormat;
  5 +import java.util.ArrayList;
  6 +import java.util.Calendar;
  7 +import java.util.Date;
  8 +import java.util.HashMap;
  9 +import java.util.Iterator;
  10 +import java.util.List;
  11 +import java.util.Map;
  12 +
11 13 import org.apache.commons.lang3.StringUtils;
12 14 import org.slf4j.Logger;
13 15 import org.slf4j.LoggerFactory;
14 16 import org.springframework.beans.factory.annotation.Autowired;
15 17 import org.springframework.stereotype.Component;
16 18  
17   -import java.util.*;
  19 +import com.bsth.data.gpsdata_v2.cache.GeoCacheData;
  20 +import com.bsth.data.pinyin.PersionPinYinBuffer;
  21 +import com.bsth.entity.Business;
  22 +import com.bsth.entity.CarPark;
  23 +import com.bsth.entity.Cars;
  24 +import com.bsth.entity.Line;
  25 +import com.bsth.entity.Personnel;
  26 +import com.bsth.entity.StationRoute;
  27 +import com.bsth.entity.calc.CalcInterval;
  28 +import com.bsth.entity.schedule.CarConfigInfo;
  29 +import com.bsth.repository.BusinessRepository;
  30 +import com.bsth.repository.CarParkRepository;
  31 +import com.bsth.repository.CarsRepository;
  32 +import com.bsth.repository.LineRepository;
  33 +import com.bsth.repository.PersonnelRepository;
  34 +import com.bsth.repository.StationRepository;
  35 +import com.bsth.repository.StationRouteRepository;
  36 +import com.bsth.repository.calc.CalcIntervalRepository;
  37 +import com.bsth.repository.schedule.CarConfigInfoRepository;
  38 +import com.google.common.collect.BiMap;
  39 +import com.google.common.collect.HashBiMap;
18 40  
19 41 /**
20 42 * @author PanZhao
... ... @@ -77,6 +99,8 @@ public class BasicData {
77 99 //站点名和运管处编号 对照
78 100 public static Map<String, Integer> stationName2YgcNumber;
79 101  
  102 + // 线路编码_日期 等级
  103 + public static Map<String, String> lineDate2Level;
80 104  
81 105 static Logger logger = LoggerFactory.getLogger(BasicData.class);
82 106  
... ... @@ -132,7 +156,9 @@ public class BasicData {
132 156  
133 157 @Autowired
134 158 PersionPinYinBuffer persionPinYinBuffer;
135   -
  159 +
  160 + @Autowired
  161 + CalcIntervalRepository calcIntervalRepository;
136 162  
137 163 @Override
138 164 public void run() {
... ... @@ -158,7 +184,9 @@ public class BasicData {
158 184 loadPersonnelInfo();
159 185 //公司信息
160 186 loadBusinessInfo();
161   -
  187 + // 线路等级信息
  188 + loadLineLevel();
  189 +
162 190 logger.info("load geo cache..,");
163 191 geoCacheData.loadData();
164 192 station2ParkBuffer.saveAll();
... ... @@ -365,5 +393,30 @@ public class BasicData {
365 393 //人员拼音转换
366 394 persionPinYinBuffer.refresh();
367 395 }
  396 +
  397 + /**
  398 + * 加载线路级别信息 按当前日期取(当前+前后一天)的数据
  399 + */
  400 + public void loadLineLevel() {
  401 + List<String> dates = new ArrayList<>();
  402 + Map<String, String> result = new HashMap<>();
  403 + DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
  404 +
  405 + Calendar c = Calendar.getInstance();
  406 + c.setTime(new Date(System.currentTimeMillis() - 86400000));
  407 + dates.add(df.format(c.getTime()));
  408 +
  409 + for (int i = 0;i < 2;i++) {
  410 + c.add(Calendar.DATE, 1);
  411 + dates.add(df.format(c.getTime()));
  412 + }
  413 +
  414 + List<CalcInterval> l = calcIntervalRepository.selectByDates(dates);
  415 + for (CalcInterval ci : l) {
  416 + result.put(ci.getXlBm() + "_" + ci.getDate(), ci.getLevel());
  417 + }
  418 +
  419 + lineDate2Level = result;
  420 + }
368 421 }
369 422 }
... ...
src/main/java/com/bsth/repository/calc/CalcIntervalRepository.java
1 1 package com.bsth.repository.calc;
2 2  
3 3 import java.util.List;
4   -import java.util.Map;
5 4  
6   -import javax.transaction.Transactional;
  5 +import org.springframework.data.jpa.repository.Query;
  6 +import org.springframework.data.repository.query.Param;
  7 +import org.springframework.stereotype.Repository;
7 8  
8 9 import com.bsth.entity.calc.CalcInterval;
9 10 import com.bsth.repository.BaseRepository;
10 11  
11   -import org.springframework.data.jpa.repository.Modifying;
12   -import org.springframework.data.jpa.repository.Query;
13   -import org.springframework.stereotype.Repository;
14   -
15 12 /**
16 13 *
17 14 */
... ... @@ -48,5 +45,7 @@ public interface CalcIntervalRepository extends BaseRepository&lt;CalcInterval, Int
48 45 + " group by xl_bm,gsbm,fgsbm",nativeQuery=true)
49 46 List<Object[]> countByDateAndLine(String xlbm,String date,String date2);
50 47  
51   -
  48 + // 按日期查询
  49 + @Query(value="select c from CalcInterval c where c.date in (:dates)")
  50 + List<CalcInterval> selectByDates(@Param("dates")List<String> dates);
52 51 }
... ...
src/main/java/com/bsth/service/realcontrol/ScheduleRealInfoService.java
... ... @@ -199,4 +199,6 @@ public interface ScheduleRealInfoService extends BaseService&lt;ScheduleRealInfo, L
199 199 Map<String, Object> repairReport(Map<String, Object> map, boolean isActive);
200 200  
201 201 List<RepairReport> repairReportList(String line,String date,String code, String type);
  202 +
  203 + Map<String, String> getLevelsByLines(List<String> lines);
202 204 }
... ...
src/main/java/com/bsth/service/realcontrol/impl/ScheduleRealInfoServiceImpl.java
... ... @@ -6428,6 +6428,17 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
6428 6428  
6429 6429 return result;
6430 6430 }
  6431 +
  6432 + @Override
  6433 + public Map<String, String> getLevelsByLines(List<String> lines) {
  6434 + Map<String, String> result = new HashMap<String, String>(), currSchDate = dayOfSchedule.getCurrSchDate();
  6435 + for (String line : lines) {
  6436 + String level = BasicData.lineDate2Level.get(line + "_" + currSchDate.get(line));
  6437 + result.put(line, level == null ? "" : level);
  6438 + }
  6439 +
  6440 + return result;
  6441 + }
6431 6442  
6432 6443  
6433 6444 @Override
... ...
src/main/resources/static/pages/control/lineallot_v2/main.html
... ... @@ -484,13 +484,12 @@
484 484 $.each(items, function () {
485 485 ls_line_data.push(codeMapps[$(this).data('id')]);
486 486 });
487   - //将线路基础信息写入localStorage
488   - storage.setItem('lineControlItems', JSON.stringify(ls_line_data));
489 487 //监控模式还是主调模式
490 488 storage.setItem('operationMode', $('.pattern_type_label>input')[0].checked?1:0);
491 489  
492 490 //进入线调
493   - var eq = EventProxy.create('cache_route', 'check_line_config', function () {
  491 + var eq = EventProxy.create('cache_line_level', 'cache_mv_route', 'cache_route', 'check_line_config', function (lineLevel) {
  492 + debugger;
494 493 var newWinOpen = $('input','.new_window_open_label')[0].checked;
495 494 if(!newWinOpen)
496 495 top.window.location.href = "/real_control/v2";
... ... @@ -498,6 +497,13 @@
498 497 window.open("/real_control/v2");
499 498 $('#go_to_real_system_btn').html('已经尝试打开新窗口,如看不到,可能被浏览器阻止了');
500 499 }
  500 +
  501 + // 将线路级别赋值
  502 + $.each(ls_line_data, function () {
  503 + this.lineLevel = lineLevel[this.lineCode];
  504 + });
  505 + // 将线路基础信息写入localStorage
  506 + storage.setItem('lineControlItems', JSON.stringify(ls_line_data));
501 507 });
502 508  
503 509 //拼接线路编码
... ... @@ -508,15 +514,20 @@
508 514 //缓存路由
509 515 idx=idx.substr(0, idx.length - 1);
510 516  
511   - $.ajaxSettings.async = false;
  517 + $.get('/realSchedule/lineLevel', {idx: idx}, function (rs) {
  518 + if (rs) {
  519 + eq.emit('cache_line_level', rs);
  520 + }
  521 + });
  522 +
512 523 $.get('/realMap/findRouteAndVersionByLine', {idx: idx}, function (rs) {
513 524 if (rs) {
514 525 for(var lineCode in rs)
515 526 storage.setItem(lineCode + '_route', JSON.stringify(rs[lineCode]));
516   - //eq.emit('cache_route');
  527 + eq.emit('cache_mv_route');
517 528 }
518 529 });
519   - $.ajaxSettings.async = true;
  530 +
520 531 $.get('/realMap/findRouteByLine', {idx: idx}, function (rs) {
521 532 if (rs) {
522 533 for(var lineCode in rs)
... ...
src/main/resources/static/real_control_v2/fragments/north/tabs.html
... ... @@ -4,7 +4,7 @@
4 4 <li class="uk-active" ><a>主页</a></li>
5 5 <li id="north_tabs_map_btn"><a>地图</a></li>
6 6 {{each list as line i}}
7   - <li class="tab-line {{line.destroy==1?'destroy':''}}" data-code="{{line.lineCode}}"><a>{{line.name}}(<span id="badge_untreated_num_{{line.lineCode}}">0</span>, <span id="badge_yfwf_num_{{line.lineCode}}">0</span>)</a></li>
  7 + <li class="tab-line {{line.destroy==1?'destroy':''}}" data-code="{{line.lineCode}}"><a>{{line.name}}&nbsp;(<span id="badge_untreated_num_{{line.lineCode}}">0</span>, <span id="badge_yfwf_num_{{line.lineCode}}">0</span>, <span id="level_{{line.lineCode}}">{{line.lineLevel}}</span>)</a></li>
8 8 {{/each}}
9 9 </ul>
10 10 </script>
... ...