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