From 869ff3842204db9afbcea5daa6d102bd08567cf6 Mon Sep 17 00:00:00 2001 From: lihongjie0209 Date: Sun, 15 Jun 2025 22:33:03 +0800 Subject: [PATCH] =?UTF-8?q?feat(orderCarNumberBind):=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E8=BD=A6=E8=BE=86=E7=BB=91=E5=AE=9A=E7=9A=84=E8=B5=B7=E6=AD=A2?= =?UTF-8?q?=E6=97=B6=E9=97=B4=E5=B9=B6=E4=BC=98=E5=8C=96=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在相关 DTO 和实体类中添加 startTime 和 endTime 字段,用于记录车辆绑定的起止时间 - 优化 OrderCarNumberBindService 中的查询逻辑,支持按销售订单和采购订单分别查询 - 修复了同时为空销售订单和采购订单时的异常处理 --- .../dto/BatchImportDto.java | 6 +++++ .../dto/CreateOrderCarNumberBindDto.java | 9 +++++++ .../dto/OrderCarNumberBindDto.java | 7 +++++ .../dto/UpdateOrderCarNumberBindDto.java | 8 ++++++ .../entity/OrderCarNumberBindEntity.java | 9 +++---- .../service/OrderCarNumberBindService.java | 27 +++++++++++-------- 6 files changed, 50 insertions(+), 16 deletions(-) diff --git a/src/main/java/cn/lihongjie/coal/orderCarNumberBind/dto/BatchImportDto.java b/src/main/java/cn/lihongjie/coal/orderCarNumberBind/dto/BatchImportDto.java index 369e44c6..079c5156 100644 --- a/src/main/java/cn/lihongjie/coal/orderCarNumberBind/dto/BatchImportDto.java +++ b/src/main/java/cn/lihongjie/coal/orderCarNumberBind/dto/BatchImportDto.java @@ -4,6 +4,7 @@ import jakarta.persistence.ManyToOne; import lombok.Data; +import java.time.LocalDateTime; import java.util.*; @Data @@ -20,4 +21,9 @@ public class BatchImportDto { private List carNumbers; + + private LocalDateTime startTime; + + private LocalDateTime endTime; + } diff --git a/src/main/java/cn/lihongjie/coal/orderCarNumberBind/dto/CreateOrderCarNumberBindDto.java b/src/main/java/cn/lihongjie/coal/orderCarNumberBind/dto/CreateOrderCarNumberBindDto.java index 7b6be94e..0840b2e7 100644 --- a/src/main/java/cn/lihongjie/coal/orderCarNumberBind/dto/CreateOrderCarNumberBindDto.java +++ b/src/main/java/cn/lihongjie/coal/orderCarNumberBind/dto/CreateOrderCarNumberBindDto.java @@ -6,6 +6,8 @@ import jakarta.persistence.ManyToOne; import lombok.Data; +import java.time.LocalDateTime; + @Data public class CreateOrderCarNumberBindDto extends OrgCommonDto { @@ -16,4 +18,11 @@ public class CreateOrderCarNumberBindDto extends OrgCommonDto { private String saleOrder; @ManyToOne private String purchaseOrder; + + + + private LocalDateTime startTime; + + private LocalDateTime endTime; + } diff --git a/src/main/java/cn/lihongjie/coal/orderCarNumberBind/dto/OrderCarNumberBindDto.java b/src/main/java/cn/lihongjie/coal/orderCarNumberBind/dto/OrderCarNumberBindDto.java index 4cc60e1a..283330b8 100644 --- a/src/main/java/cn/lihongjie/coal/orderCarNumberBind/dto/OrderCarNumberBindDto.java +++ b/src/main/java/cn/lihongjie/coal/orderCarNumberBind/dto/OrderCarNumberBindDto.java @@ -8,6 +8,7 @@ import jakarta.persistence.ManyToOne; import lombok.Data; +import java.time.LocalDateTime; import java.util.List; @Data @@ -21,4 +22,10 @@ public class OrderCarNumberBindDto extends OrgCommonDto { private List weightDataList; + + + + private LocalDateTime startTime; + + private LocalDateTime endTime; } diff --git a/src/main/java/cn/lihongjie/coal/orderCarNumberBind/dto/UpdateOrderCarNumberBindDto.java b/src/main/java/cn/lihongjie/coal/orderCarNumberBind/dto/UpdateOrderCarNumberBindDto.java index 4fbbaf0b..a5f1d477 100644 --- a/src/main/java/cn/lihongjie/coal/orderCarNumberBind/dto/UpdateOrderCarNumberBindDto.java +++ b/src/main/java/cn/lihongjie/coal/orderCarNumberBind/dto/UpdateOrderCarNumberBindDto.java @@ -6,6 +6,8 @@ import jakarta.persistence.ManyToOne; import lombok.Data; +import java.time.LocalDateTime; + @Data public class UpdateOrderCarNumberBindDto extends OrgCommonDto { @@ -18,4 +20,10 @@ public class UpdateOrderCarNumberBindDto extends OrgCommonDto { @ManyToOne private String purchaseOrder; + + + private LocalDateTime startTime; + + private LocalDateTime endTime; + } diff --git a/src/main/java/cn/lihongjie/coal/orderCarNumberBind/entity/OrderCarNumberBindEntity.java b/src/main/java/cn/lihongjie/coal/orderCarNumberBind/entity/OrderCarNumberBindEntity.java index 2bd7b750..67ba8b28 100644 --- a/src/main/java/cn/lihongjie/coal/orderCarNumberBind/entity/OrderCarNumberBindEntity.java +++ b/src/main/java/cn/lihongjie/coal/orderCarNumberBind/entity/OrderCarNumberBindEntity.java @@ -10,6 +10,8 @@ import jakarta.persistence.Table; import lombok.Data; +import java.time.LocalDateTime; + @Data @Entity @Table( @@ -27,10 +29,7 @@ public class OrderCarNumberBindEntity extends OrgCommonEntity { @ManyToOne private PurchaseOrderEntity purchaseOrder; + private LocalDateTime startTime; - - - - - + private LocalDateTime endTime; } diff --git a/src/main/java/cn/lihongjie/coal/orderCarNumberBind/service/OrderCarNumberBindService.java b/src/main/java/cn/lihongjie/coal/orderCarNumberBind/service/OrderCarNumberBindService.java index b274f9c7..033f2fd6 100644 --- a/src/main/java/cn/lihongjie/coal/orderCarNumberBind/service/OrderCarNumberBindService.java +++ b/src/main/java/cn/lihongjie/coal/orderCarNumberBind/service/OrderCarNumberBindService.java @@ -65,23 +65,28 @@ public class OrderCarNumberBindService Predicate carNumberPredicate = criteriaBuilder.equal(root.get("carNumber"), entity.getCarNumber()); - Predicate saleOrderPredicate = - criteriaBuilder.equal( - root.get("saleOrder").get("id"), entity.getSaleOrder()); - Predicate purchaseOrderPredicate = - criteriaBuilder.equal( - root.get("purchaseOrder").get("id"), - entity.getPurchaseOrder()); - if (ObjectUtils.isEmpty(entity.getSaleOrder())) { + + if (ObjectUtils.isEmpty(entity.getPurchaseOrder())) { + + + Predicate purchaseOrderPredicate = + criteriaBuilder.equal( + root.get("purchaseOrder").get("id"), + entity.getPurchaseOrder().getId()); return criteriaBuilder.and(carNumberPredicate, purchaseOrderPredicate); - } else if (ObjectUtils.isEmpty(entity.getPurchaseOrder())) { + } else if (ObjectUtils.isEmpty(entity.getSaleOrder())) { + + + Predicate saleOrderPredicate = + criteriaBuilder.equal( + root.get("saleOrder").get("id"), entity.getSaleOrder()); return criteriaBuilder.and(carNumberPredicate, saleOrderPredicate); } else { - return criteriaBuilder.and( - carNumberPredicate, saleOrderPredicate, purchaseOrderPredicate); + + throw new BizException("销售订单和采购订单不能同时为空"); } } });