mirror of
https://codeup.aliyun.com/64f7d6b8ce01efaafef1e678/coal/coal.git
synced 2026-07-25 15:17:06 +08:00
feat(orderCarNumberBind):增加车辆绑定的起止时间并优化查询逻辑
- 在相关 DTO 和实体类中添加 startTime 和 endTime 字段,用于记录车辆绑定的起止时间 - 优化 OrderCarNumberBindService 中的查询逻辑,支持按销售订单和采购订单分别查询 - 修复了同时为空销售订单和采购订单时的异常处理
This commit is contained in:
@@ -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<String> carNumbers;
|
||||
|
||||
|
||||
private LocalDateTime startTime;
|
||||
|
||||
private LocalDateTime endTime;
|
||||
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
}
|
||||
|
||||
@@ -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<WeightDeviceDataDto> weightDataList;
|
||||
|
||||
|
||||
|
||||
private LocalDateTime startTime;
|
||||
|
||||
private LocalDateTime endTime;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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("销售订单和采购订单不能同时为空");
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user