Commit 59998e0947e32a187a3ba21c4dc2d960b45d0c54

Authored by 潘钊
1 parent 2c2f2fb2

update...

src/main/java/com/bsth/controller/realcontrol/anomalyCheckController.java
... ... @@ -10,9 +10,9 @@ import org.springframework.web.bind.annotation.RequestMethod;
10 10 import org.springframework.web.bind.annotation.RequestParam;
11 11 import org.springframework.web.bind.annotation.RestController;
12 12  
13   -import java.util.HashSet;
  13 +import java.util.HashMap;
14 14 import java.util.List;
15   -import java.util.Set;
  15 +import java.util.Map;
16 16  
17 17 /**
18 18 * 相关数据异常检测
... ... @@ -35,16 +35,19 @@ public class anomalyCheckController {
35 35 public void schRepeat(@RequestParam String nbbm){
36 36 logger.info("前端通知,车辆 " + nbbm + "出现重复班次,开始检测...");
37 37 List<ScheduleRealInfo> list = dayOfSchedule.findByNbbm(nbbm);
  38 + logger.info("检测前,车辆班次数量:" + list.size());
38 39  
39   - Set<ScheduleRealInfo> set = new HashSet<>();
  40 + Map<Long, ScheduleRealInfo> map = new HashMap<>();
40 41 for(ScheduleRealInfo sch : list){
41   - if(!set.add(sch)){
42   - logger.info("出现一次重复班次,班次ID:" + sch.getId());
  42 + if(map.containsKey(sch.getId())){
  43 + logger.info("检测到重复ID: " + sch.getId());
43 44 }
  45 + map.put(sch.getId(), sch);
44 46 }
45 47  
46   - if(set.size() > 0){
47   - dayOfSchedule.replaceByNbbm(nbbm, set);
  48 + logger.info("检测后,车辆班次数量:" + list.size());
  49 + if(map.values().size() > 0){
  50 + dayOfSchedule.replaceByNbbm(nbbm, map.values());
48 51 }
49 52 }
50 53 }
... ...
src/main/java/com/bsth/data/schedule/DayOfSchedule.java
... ... @@ -480,7 +480,7 @@ public class DayOfSchedule implements CommandLineRunner {
480 480 public List<ScheduleRealInfo> findByLineCode(String lineCode) {
481 481 List<ScheduleRealInfo> rs = new ArrayList<>();
482 482  
483   - Collection<ScheduleRealInfo> schs = nbbmScheduleMap.values();
  483 + Collection<ScheduleRealInfo> schs = id2SchedulMap.values();
484 484 for (ScheduleRealInfo sch : schs) {
485 485 if (sch.getXlBm().equals(lineCode))
486 486 rs.add(sch);
... ... @@ -489,6 +489,22 @@ public class DayOfSchedule implements CommandLineRunner {
489 489 }
490 490  
491 491 /**
  492 + * @Title: findByLineCode
  493 + * @Description: TODO(lineList 获取班次)
  494 + */
  495 + public Map<String, Collection<ScheduleRealInfo>> findByLineCodes(List<String> lineList) {
  496 + ArrayListMultimap<String, ScheduleRealInfo> mMap = ArrayListMultimap.create();
  497 +
  498 + Collection<ScheduleRealInfo> schs = id2SchedulMap.values();
  499 + for (ScheduleRealInfo sch : schs) {
  500 + if(lineList.contains(sch.getXlBm())){
  501 + mMap.put(sch.getXlBm(), sch);
  502 + }
  503 + }
  504 + return mMap.asMap();
  505 + }
  506 +
  507 + /**
492 508 * @Title: findCarByLineCode
493 509 * @Description: TODO(线路下运营的车辆)
494 510 */
... ... @@ -870,16 +886,14 @@ public class DayOfSchedule implements CommandLineRunner {
870 886 */
871 887 public List<ScheduleRealInfo> changeCar(ScheduleRealInfo sch, String newClZbh) {
872 888 List<ScheduleRealInfo> ups = new ArrayList<>();
873   - /*String oldClzbh = sch.getClZbh();
874   - if (oldClzbh.equals(newClZbh))
875   - return ups;*/
876   -
877 889  
878 890 //变更相关映射信息
879 891 nbbmScheduleMap.remove(sch.getClZbh(), sch);
880 892  
881 893 sch.setClZbh(newClZbh);
882   - nbbmScheduleMap.put(newClZbh, sch);
  894 + if(!nbbmScheduleMap.containsEntry(newClZbh, sch)){
  895 + nbbmScheduleMap.put(newClZbh, sch);
  896 + }
883 897  
884 898 //重新计算班次应到时间
885 899 //ups.addAll(updateQdzTimePlan(oldClzbh));
... ... @@ -996,11 +1010,9 @@ public class DayOfSchedule implements CommandLineRunner {
996 1010 * @param nbbm
997 1011 * @param sets
998 1012 */
999   - public void replaceByNbbm(String nbbm, Set<ScheduleRealInfo> sets){
  1013 + public void replaceByNbbm(String nbbm, Collection<ScheduleRealInfo> sets){
1000 1014 nbbmScheduleMap.removeAll(nbbm);
1001 1015 nbbmScheduleMap.putAll(nbbm, sets);
1002   - //重新计算班次应到时间
1003   - updateQdzTimePlan(nbbm);
1004 1016 }
1005 1017  
1006 1018 /**
... ...
src/main/java/com/bsth/service/realcontrol/impl/ScheduleRealInfoServiceImpl.java
... ... @@ -49,10 +49,8 @@ import com.bsth.service.sys.DutyEmployeeService;
49 49 import com.bsth.util.*;
50 50 import com.bsth.websocket.handler.SendUtils;
51 51 import com.google.common.base.Splitter;
52   -import com.google.common.collect.ArrayListMultimap;
53 52 import com.google.common.collect.BiMap;
54 53 import com.google.common.collect.Lists;
55   -import com.google.common.collect.Multimap;
56 54 import org.apache.commons.lang3.StringEscapeUtils;
57 55 import org.apache.commons.lang3.StringUtils;
58 56 import org.joda.time.format.DateTimeFormat;
... ... @@ -144,12 +142,12 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
144 142 public Map<String, Collection<ScheduleRealInfo>> findByLines(String lines) {
145 143 List<String> lineList = Lists.newArrayList(Splitter.on(',').trimResults().omitEmptyStrings().split(lines));
146 144  
147   - Multimap<String, ScheduleRealInfo> mMap = ArrayListMultimap.create();
  145 + /*Multimap<String, ScheduleRealInfo> mMap = ArrayListMultimap.create();
148 146  
149 147 for (String lineCode : lineList) {
150 148 mMap.putAll(lineCode, dayOfSchedule.findByLineCode(lineCode));
151   - }
152   - return mMap.asMap();
  149 + }*/
  150 + return dayOfSchedule.findByLineCodes(lineList);
153 151 }
154 152  
155 153 private final static long DAY_TIME = 1000 * 60 * 60 * 24L;
... ...
src/main/resources/static/real_control_v2/js/main.js
... ... @@ -171,8 +171,8 @@ var disabled_submit_btn = function (form) {
171 171 function showUpdateDescription() {
172 172 //更新说明
173 173 var updateDescription = {
174   - date: '2017-04-26',
175   - text: '<h5>临加班次新增一项场到场</h5><h5>搜索框可按路牌搜索,lp 打头,st 和 et打头可搜索时间范围</h5>'
  174 + date: '2017-04-28 下午',
  175 + text: '<h5>修复在特定情况下出现线调界面班次显示不全,比路单少的情况。</h5><h5>尝试修复在特定情况下车辆走向不跟随班次执行结束而跳动的问题。</h5>'
176 176 };
177 177  
178 178 var storage = window.localStorage
... ...