فهرست منبع

Merge remote-tracking branch 'origin/dev_20260131' into dev_20260131

donglang 1 ماه پیش
والد
کامیت
d4ef1e9f17

+ 2 - 1
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/KwtAcceptCarriageOrderService.java

@@ -86,6 +86,7 @@ import java.text.DecimalFormat;
 import java.text.ParseException;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
+import java.time.LocalTime;
 import java.time.ZoneId;
 import java.util.*;
 import java.util.stream.Collectors;
@@ -3682,7 +3683,7 @@ public class KwtAcceptCarriageOrderService {
         kwtLogisticsOrder.setStartTime(Objects.isNull(orderDTO.getStartTime()) ?
                 null : DateUtil.localDateToLocalDateTimeStart(orderDTO.getStartTime()));
         kwtLogisticsOrder.setEndTime(Objects.isNull(orderDTO.getEndTime()) ?
-                null : DateUtil.localDateToLocalDateTimeStart(orderDTO.getEndTime()));
+                null : orderDTO.getEndTime().atTime(LocalTime.MAX));
         BigDecimal decimal = BigDecimal.ZERO ;
         kwtLogisticsOrder.setSubcontractAmount(decimal);
         kwtLogisticsOrder.setEntrustAmount(decimal);

+ 15 - 2
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/app/GatekeeperOrderService.java

@@ -391,6 +391,9 @@ public class GatekeeperOrderService {
      * @param gatekeeperOrderPageResult
      */
     private void sort(GatekeeperOrderQueryParam param, List<GatekeeperOrderResp> gatekeeperOrderPageResult) {
+        if (CollectionUtils.isEmpty(gatekeeperOrderPageResult)) {
+            return;
+        }
         // 根据状态进行排序
         switch (param.getStatus()) {
             case 1:
@@ -399,8 +402,18 @@ public class GatekeeperOrderService {
                 break;
             case 2:
                 // 待离场:先按照待离场展示,后按照空载待离场和已放行未离场展示,在按照状态变更时间升序
-                gatekeeperOrderPageResult.sort(Comparator.comparing((GatekeeperOrderResp order) -> order.getStatus() != 10)
-                        .thenComparing(GatekeeperOrderResp::getUpdateTime));
+                gatekeeperOrderPageResult.sort(
+                        Comparator.comparing((GatekeeperOrderResp order) -> {
+                                    // 状态为空时,也排到后面
+                                    return order.getStatus() == null || order.getStatus() != 10;
+                                })
+                                // 时间为空的排最后
+                                .thenComparing(
+                                        GatekeeperOrderResp::getUpdateTime,
+                                        Comparator.nullsLast(Comparator.naturalOrder())
+                                )
+                );
+                break;
             case 3:
                 // 场内车辆: 车辆进场时间升序
                 gatekeeperOrderPageResult.sort(Comparator.comparing(GatekeeperOrderResp::getIntoTime));