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,10 +216,8 @@ public class DriverServiceImpl implements IDriverService { | ||
| 216 | driver.setUpdateTime(new Date()); | 216 | driver.setUpdateTime(new Date()); |
| 217 | // 修改排班表scheduling 以及缓存信息 | 217 | // 修改排班表scheduling 以及缓存信息 |
| 218 | List<DriverScheduling> driverSchedulings = cache.getCacheScheduling(ConstDateUtil.getStringNowLocalDate("-")).get(driver.getJobCode()); | 218 | List<DriverScheduling> driverSchedulings = cache.getCacheScheduling(ConstDateUtil.getStringNowLocalDate("-")).get(driver.getJobCode()); |
| 219 | + // 只改变车队信息 其他信息由调度接口 和 人事系统决定 本来是不修改的但是人事数据有问题 | ||
| 219 | for (DriverScheduling scheduling : driverSchedulings) { | 220 | for (DriverScheduling scheduling : driverSchedulings) { |
| 220 | - if (StringUtil.isNotEmpty(driver.getPosts())){ | ||
| 221 | - scheduling.setPosts(driver.getPosts()); | ||
| 222 | - } | ||
| 223 | if (StringUtil.isNotEmpty(driver.getFleetName())){ | 221 | if (StringUtil.isNotEmpty(driver.getFleetName())){ |
| 224 | scheduling.setFleetName(driver.getFleetName()); | 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,9 +70,53 @@ public class BigViewServiceImpl implements BigViewService { | ||
| 70 | handleFleetWithLine(map, mapVo); | 70 | handleFleetWithLine(map, mapVo); |
| 71 | // 进一步处理人员信息 | 71 | // 进一步处理人员信息 |
| 72 | List<FleetInfoVo> fleetInfoVos = handleFleetWithLinePersonInfo(matchMap, mapVo); | 72 | List<FleetInfoVo> fleetInfoVos = handleFleetWithLinePersonInfo(matchMap, mapVo); |
| 73 | + // 特殊处理 处理进博会线路信息 | ||
| 74 | + specialTreatment(fleetInfoVos); | ||
| 73 | return fleetInfoVos; | 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 | @Override | 120 | @Override |
| 77 | public SignInfoVo querySignDetails(String date, String jobCode) { | 121 | public SignInfoVo querySignDetails(String date, String jobCode) { |
| 78 | SignInfoVo vo = null; | 122 | SignInfoVo vo = null; |
| @@ -115,7 +159,6 @@ public class BigViewServiceImpl implements BigViewService { | @@ -115,7 +159,6 @@ public class BigViewServiceImpl implements BigViewService { | ||
| 115 | vo.setFleetInfos(handleLineInfos(value, map)); | 159 | vo.setFleetInfos(handleLineInfos(value, map)); |
| 116 | vos.add(vo); | 160 | vos.add(vo); |
| 117 | } | 161 | } |
| 118 | - | ||
| 119 | return vos; | 162 | return vos; |
| 120 | } | 163 | } |
| 121 | 164 | ||
| @@ -322,7 +365,7 @@ public class BigViewServiceImpl implements BigViewService { | @@ -322,7 +365,7 @@ public class BigViewServiceImpl implements BigViewService { | ||
| 322 | vo.setNowNumber(typeMap.size()); | 365 | vo.setNowNumber(typeMap.size()); |
| 323 | return vo; | 366 | return vo; |
| 324 | case "sale": | 367 | case "sale": |
| 325 | - Map<String,Object> saleAllMap = new HashMap<>(); | 368 | + Map<String, Object> saleAllMap = new HashMap<>(); |
| 326 | for (Map.Entry<String, List<DriverScheduling>> entry : map.entrySet()) { | 369 | for (Map.Entry<String, List<DriverScheduling>> entry : map.entrySet()) { |
| 327 | for (DriverScheduling scheduling : entry.getValue()) { | 370 | for (DriverScheduling scheduling : entry.getValue()) { |
| 328 | if (SALE_STRING.equals(scheduling.getPosts()) && BC_TYPE_OUT.equals(scheduling.getBcType()) && !Objects.isNull(scheduling.getNbbm())) { | 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,11 +381,11 @@ public class BigViewServiceImpl implements BigViewService { | ||
| 338 | vo.setAllNumber(saleAllMap.size()); | 381 | vo.setAllNumber(saleAllMap.size()); |
| 339 | return vo; | 382 | return vo; |
| 340 | case "driver": | 383 | case "driver": |
| 341 | - Map<String,Object> driverAllMap = new HashMap<>(); | 384 | + Map<String, Object> driverAllMap = new HashMap<>(); |
| 342 | for (Map.Entry<String, List<DriverScheduling>> entry : map.entrySet()) { | 385 | for (Map.Entry<String, List<DriverScheduling>> entry : map.entrySet()) { |
| 343 | for (DriverScheduling scheduling : entry.getValue()) { | 386 | for (DriverScheduling scheduling : entry.getValue()) { |
| 344 | if (DRIVER_STRING.equals(scheduling.getPosts()) && BC_TYPE_OUT.equals(scheduling.getBcType()) && !Objects.isNull(scheduling.getNbbm())) { | 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 | typeMap.put(scheduling.getJobCode() + scheduling.getBcType(), ""); | 389 | typeMap.put(scheduling.getJobCode() + scheduling.getBcType(), ""); |
| 347 | } | 390 | } |
| 348 | driverAllMap.put(scheduling.getJobCode() + scheduling.getBcType(), ""); | 391 | driverAllMap.put(scheduling.getJobCode() + scheduling.getBcType(), ""); |
| @@ -354,11 +397,11 @@ public class BigViewServiceImpl implements BigViewService { | @@ -354,11 +397,11 @@ public class BigViewServiceImpl implements BigViewService { | ||
| 354 | vo.setAllNumber(driverAllMap.size()); | 397 | vo.setAllNumber(driverAllMap.size()); |
| 355 | return vo; | 398 | return vo; |
| 356 | case "auxiliary": | 399 | case "auxiliary": |
| 357 | - Map<String,Object> auxiliaryAllMap = new HashMap<>(); | 400 | + Map<String, Object> auxiliaryAllMap = new HashMap<>(); |
| 358 | for (Map.Entry<String, List<DriverScheduling>> entry : map.entrySet()) { | 401 | for (Map.Entry<String, List<DriverScheduling>> entry : map.entrySet()) { |
| 359 | for (DriverScheduling scheduling : entry.getValue()) { | 402 | for (DriverScheduling scheduling : entry.getValue()) { |
| 360 | if (Objects.isNull(scheduling.getNbbm()) && BC_TYPE_OUT.equals(scheduling.getBcType())) { | 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 | typeMap.put(scheduling.getJobCode() + scheduling.getBcType(), ""); | 405 | typeMap.put(scheduling.getJobCode() + scheduling.getBcType(), ""); |
| 363 | } | 406 | } |
| 364 | auxiliaryAllMap.put(scheduling.getJobCode() + scheduling.getBcType(), ""); | 407 | auxiliaryAllMap.put(scheduling.getJobCode() + scheduling.getBcType(), ""); |