Commit 2527ae9884e51ff5111c33d46af0db465a12f0c1
1 parent
36ef2a86
fix: 特殊处理
Showing
2 changed files
with
50 additions
and
9 deletions
Bsth-admin/src/main/java/com/ruoyi/driver/service/impl/DriverServiceImpl.java
| ... | ... | @@ -216,10 +216,8 @@ public class DriverServiceImpl implements IDriverService { |
| 216 | 216 | driver.setUpdateTime(new Date()); |
| 217 | 217 | // 修改排班表scheduling 以及缓存信息 |
| 218 | 218 | List<DriverScheduling> driverSchedulings = cache.getCacheScheduling(ConstDateUtil.getStringNowLocalDate("-")).get(driver.getJobCode()); |
| 219 | + // 只改变车队信息 其他信息由调度接口 和 人事系统决定 本来是不修改的但是人事数据有问题 | |
| 219 | 220 | for (DriverScheduling scheduling : driverSchedulings) { |
| 220 | - if (StringUtil.isNotEmpty(driver.getPosts())){ | |
| 221 | - scheduling.setPosts(driver.getPosts()); | |
| 222 | - } | |
| 223 | 221 | if (StringUtil.isNotEmpty(driver.getFleetName())){ |
| 224 | 222 | scheduling.setFleetName(driver.getFleetName()); |
| 225 | 223 | } | ... | ... |
Bsth-admin/src/main/java/com/ruoyi/service/impl/BigViewServiceImpl.java
| ... | ... | @@ -70,9 +70,53 @@ public class BigViewServiceImpl implements BigViewService { |
| 70 | 70 | handleFleetWithLine(map, mapVo); |
| 71 | 71 | // 进一步处理人员信息 |
| 72 | 72 | List<FleetInfoVo> fleetInfoVos = handleFleetWithLinePersonInfo(matchMap, mapVo); |
| 73 | + // 特殊处理 处理进博会线路信息 | |
| 74 | + specialTreatment(fleetInfoVos); | |
| 73 | 75 | return fleetInfoVos; |
| 74 | 76 | } |
| 75 | 77 | |
| 78 | + private void specialTreatment(List<FleetInfoVo> fleetInfoVos) { | |
| 79 | + List<FleetInfoVo.FleetInfo> jinbo = new ArrayList<>(); | |
| 80 | + // 把进博会线路单独拎出来 进博短驳 | |
| 81 | + for (FleetInfoVo fleetInfoVo : fleetInfoVos) { | |
| 82 | + fleetInfoVo.setFleetInfos( | |
| 83 | + fleetInfoVo.getFleetInfos().stream().filter(item -> { | |
| 84 | + if (item.getLineName().startsWith("进博短驳")) { | |
| 85 | + jinbo.add(item); | |
| 86 | + return false; | |
| 87 | + } | |
| 88 | + return true; | |
| 89 | + }).collect(Collectors.toList()) | |
| 90 | + ); | |
| 91 | + } | |
| 92 | + // 究极特殊情况遇到了调度接口存在的人员 但是 人事接口不存在的人员 会导致fleetName 为空 | |
| 93 | + // 在青浦的车队就是一个特殊的部门只是以车队开头命名 如果存在。。 | |
| 94 | + deleteErrorData(fleetInfoVos); | |
| 95 | + alertJinboList(jinbo,fleetInfoVos); | |
| 96 | + } | |
| 97 | + | |
| 98 | + private void alertJinboList(List<FleetInfoVo.FleetInfo> jinbo, List<FleetInfoVo> fleetInfoVos) { | |
| 99 | + if (CollectionUtil.isEmpty(fleetInfoVos)){ | |
| 100 | + return; | |
| 101 | + } | |
| 102 | + FleetInfoVo fleetInfoVo = new FleetInfoVo(); | |
| 103 | + fleetInfoVo.setTitle("进博会"); | |
| 104 | + fleetInfoVo.setFleetInfos(jinbo); | |
| 105 | + fleetInfoVos.add(fleetInfoVo); | |
| 106 | + } | |
| 107 | + | |
| 108 | + private void deleteErrorData(List<FleetInfoVo> fleetInfoVos) { | |
| 109 | + Integer t = null; | |
| 110 | + for (int i = 0; i < fleetInfoVos.size(); i++) { | |
| 111 | + if (Objects.isNull(fleetInfoVos.get(i).getTitle())){ | |
| 112 | + t = i; | |
| 113 | + } | |
| 114 | + } | |
| 115 | + if (t!=null){ | |
| 116 | + fleetInfoVos.remove(t.intValue()); | |
| 117 | + } | |
| 118 | + } | |
| 119 | + | |
| 76 | 120 | @Override |
| 77 | 121 | public SignInfoVo querySignDetails(String date, String jobCode) { |
| 78 | 122 | SignInfoVo vo = null; |
| ... | ... | @@ -115,7 +159,6 @@ public class BigViewServiceImpl implements BigViewService { |
| 115 | 159 | vo.setFleetInfos(handleLineInfos(value, map)); |
| 116 | 160 | vos.add(vo); |
| 117 | 161 | } |
| 118 | - | |
| 119 | 162 | return vos; |
| 120 | 163 | } |
| 121 | 164 | |
| ... | ... | @@ -322,7 +365,7 @@ public class BigViewServiceImpl implements BigViewService { |
| 322 | 365 | vo.setNowNumber(typeMap.size()); |
| 323 | 366 | return vo; |
| 324 | 367 | case "sale": |
| 325 | - Map<String,Object> saleAllMap = new HashMap<>(); | |
| 368 | + Map<String, Object> saleAllMap = new HashMap<>(); | |
| 326 | 369 | for (Map.Entry<String, List<DriverScheduling>> entry : map.entrySet()) { |
| 327 | 370 | for (DriverScheduling scheduling : entry.getValue()) { |
| 328 | 371 | if (SALE_STRING.equals(scheduling.getPosts()) && BC_TYPE_OUT.equals(scheduling.getBcType()) && !Objects.isNull(scheduling.getNbbm())) { |
| ... | ... | @@ -338,11 +381,11 @@ public class BigViewServiceImpl implements BigViewService { |
| 338 | 381 | vo.setAllNumber(saleAllMap.size()); |
| 339 | 382 | return vo; |
| 340 | 383 | case "driver": |
| 341 | - Map<String,Object> driverAllMap = new HashMap<>(); | |
| 384 | + Map<String, Object> driverAllMap = new HashMap<>(); | |
| 342 | 385 | for (Map.Entry<String, List<DriverScheduling>> entry : map.entrySet()) { |
| 343 | 386 | for (DriverScheduling scheduling : entry.getValue()) { |
| 344 | 387 | if (DRIVER_STRING.equals(scheduling.getPosts()) && BC_TYPE_OUT.equals(scheduling.getBcType()) && !Objects.isNull(scheduling.getNbbm())) { |
| 345 | - if (!Objects.isNull(scheduling.getSignInId())){ | |
| 388 | + if (!Objects.isNull(scheduling.getSignInId())) { | |
| 346 | 389 | typeMap.put(scheduling.getJobCode() + scheduling.getBcType(), ""); |
| 347 | 390 | } |
| 348 | 391 | driverAllMap.put(scheduling.getJobCode() + scheduling.getBcType(), ""); |
| ... | ... | @@ -354,11 +397,11 @@ public class BigViewServiceImpl implements BigViewService { |
| 354 | 397 | vo.setAllNumber(driverAllMap.size()); |
| 355 | 398 | return vo; |
| 356 | 399 | case "auxiliary": |
| 357 | - Map<String,Object> auxiliaryAllMap = new HashMap<>(); | |
| 400 | + Map<String, Object> auxiliaryAllMap = new HashMap<>(); | |
| 358 | 401 | for (Map.Entry<String, List<DriverScheduling>> entry : map.entrySet()) { |
| 359 | 402 | for (DriverScheduling scheduling : entry.getValue()) { |
| 360 | 403 | if (Objects.isNull(scheduling.getNbbm()) && BC_TYPE_OUT.equals(scheduling.getBcType())) { |
| 361 | - if ( !Objects.isNull(scheduling.getSignInId())){ | |
| 404 | + if (!Objects.isNull(scheduling.getSignInId())) { | |
| 362 | 405 | typeMap.put(scheduling.getJobCode() + scheduling.getBcType(), ""); |
| 363 | 406 | } |
| 364 | 407 | auxiliaryAllMap.put(scheduling.getJobCode() + scheduling.getBcType(), ""); | ... | ... |