Commit 2527ae9884e51ff5111c33d46af0db465a12f0c1

Authored by guzijian
1 parent 36ef2a86

fix: 特殊处理

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(), "");
... ...