Commit 0c60364d176cdc6a883a3f5d2aaaccce3930247c

Authored by guzijian
1 parent a96d30ea

feat: 增加特殊处理

Bsth-admin/src/main/java/com/ruoyi/service/ThreadJobService.java
... ... @@ -48,7 +48,6 @@ import java.io.*;
48 48 import java.math.BigDecimal;
49 49 import java.time.LocalDate;
50 50 import java.util.*;
51   -import java.util.concurrent.CompletableFuture;
52 51 import java.util.stream.Collectors;
53 52  
54 53 import static com.ruoyi.common.ConstDriverProperties.BC_TYPE_IN;
... ... @@ -170,7 +169,7 @@ public class ThreadJobService {
170 169 exception.setRemark(signIn.getRemark());
171 170 exception.setCreateTime(signIn.getCreateTime());
172 171 exception.setFleetName(driver.getFleetName());
173   - if (CollectionUtil.isNotEmpty(dto)) {
  172 + if (CollectionUtil.isNotEmpty(dto) && dto.size() > 0) {
174 173 DriverScheduling scheduling = dto.get(globalIndex.getIndex());
175 174 exception.setNbbm(scheduling.getNbbm());
176 175 exception.setLineName(scheduling.getLineName());
... ... @@ -466,19 +465,19 @@ public class ThreadJobService {
466 465 return bcList;
467 466 }
468 467  
469   - private DriverScheduling getDriverSchedulingTest(String startTime, String endTime,String bcType) {
  468 + private DriverScheduling getDriverSchedulingTest(String startTime, String endTime, String bcType) {
470 469 DriverScheduling scheduling = new DriverScheduling();
471   - scheduling.setJobCode("700001");
472   - scheduling.setName("测试");
473   - scheduling.setPosts("测试");
474   - scheduling.setScheduleDate(new Date());
475   - scheduling.setLineName("");
476   - scheduling.setLpName("");
477   - scheduling.setNbbm("");
478   - scheduling.setFcsjT(ConstDateUtil.parseDate(startTime).getTime());
479   - scheduling.setZdsjT(ConstDateUtil.parseDate(endTime).getTime());
480   - scheduling.setFleetName("");
481   - scheduling.setBcType(bcType);
  470 + scheduling.setJobCode("700001");
  471 + scheduling.setName("测试");
  472 + scheduling.setPosts("测试");
  473 + scheduling.setScheduleDate(new Date());
  474 + scheduling.setLineName("");
  475 + scheduling.setLpName("");
  476 + scheduling.setNbbm("");
  477 + scheduling.setFcsjT(ConstDateUtil.parseDate(startTime).getTime());
  478 + scheduling.setZdsjT(ConstDateUtil.parseDate(endTime).getTime());
  479 + scheduling.setFleetName("");
  480 + scheduling.setBcType(bcType);
482 481 return scheduling;
483 482 }
484 483  
... ... @@ -516,6 +515,14 @@ public class ThreadJobService {
516 515 if (nowScheduling.get(0).getLineName().equals("松青线") && checkLpName(nowScheduling.get(0))) {
517 516 updateScheduling(nowScheduling);
518 517 }
  518 + // 处理青浦20路 2号路牌 签到时间调整为07:20 | 5号路牌 签到时间调整为07:05
  519 + if (nowScheduling.get(0).getLineName().equals("青浦20路")) {
  520 + updateQinpu2With5(nowScheduling);
  521 + }
  522 + // 处理青蒸线区间 区间删除注意特殊情况放到最后可能没有全部都是区间倒是nowScheduling 为0 然后get报错
  523 + if (nowScheduling.get(0).getLineName().startsWith("青蒸线")) {
  524 + nowScheduling = handleQinZhengLine(nowScheduling);
  525 + }
519 526 bcList.addAll(nowScheduling);
520 527 } else {
521 528 // 处理无进出场
... ... @@ -525,6 +532,27 @@ public class ThreadJobService {
525 532 return bcList;
526 533 }
527 534  
  535 + private void updateQinpu2With5(List<DriverScheduling> nowScheduling) {
  536 + if ("2".equals(nowScheduling.get(0).getLpName())) {
  537 + for (DriverScheduling scheduling : nowScheduling) {
  538 + if (BC_TYPE_OUT.equals(scheduling.getBcType())) {
  539 + scheduling.setFcsjT(ConstDateUtil.dateAddition(ConstDateUtil.formatDate("yyyy-MM-dd", new Date(nowScheduling.get(0).getFcsjT())), "07:20:00").getTime());
  540 + }
  541 + }
  542 + }
  543 + if ("5".equals(nowScheduling.get(0).getLpName())) {
  544 + for (DriverScheduling scheduling : nowScheduling) {
  545 + if (BC_TYPE_OUT.equals(scheduling.getBcType())) {
  546 + scheduling.setFcsjT(ConstDateUtil.dateAddition(ConstDateUtil.formatDate("yyyy-MM-dd", new Date(nowScheduling.get(0).getFcsjT())), "07:05:00").getTime());
  547 + }
  548 + }
  549 + }
  550 + }
  551 +
  552 + private List<DriverScheduling> handleQinZhengLine(List<DriverScheduling> nowScheduling) {
  553 + return nowScheduling.stream().filter(item -> !item.getLineName().contains("区间")).collect(Collectors.toList());
  554 + }
  555 +
528 556 private void updateScheduling(List<DriverScheduling> nowScheduling) {
529 557 switch (nowScheduling.get(0).getLpName()) {
530 558 case "松1":
... ...
Bsth-admin/src/main/java/com/ruoyi/service/impl/BigViewServiceImpl.java
... ... @@ -345,7 +345,7 @@ public class BigViewServiceImpl implements BigViewService {
345 345 return;
346 346 }
347 347 // 如有多异常覆盖策略 异常等级排 未签 -》 迟到 -》 酒驾
348   - if (driverInfoVo.getSignStatus().compareTo(personInfoVo.getSignStatus()) < 0) {
  348 + if (driverInfoVo.getSignStatus().compareTo(personInfoVo.getSignStatus()) > 0) {
349 349 return;
350 350 }
351 351 }
... ... @@ -358,7 +358,7 @@ public class BigViewServiceImpl implements BigViewService {
358 358 return;
359 359 }
360 360 // 如有多异常覆盖策略 异常等级排 未签 -》 迟到 -》 酒驾
361   - if (saleInfoVo.getSignStatus().compareTo(personInfoVo.getSignStatus()) < 0) {
  361 + if (saleInfoVo.getSignStatus().compareTo(personInfoVo.getSignStatus()) > 0) {
362 362 return;
363 363 }
364 364 }
... ...