From 67b047ec5bfe004e12efd629541dec71d94697e6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=A3=B7=E5=8F=B6?=
<14103883+leaf-phos@user.noreply.gitee.com>
Date: Fri, 27 Dec 2024 11:16:01 +0800
Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../ruoyi/bst/order/domain/OrderQuery.java | 6 +++++
.../ruoyi/bst/order/mapper/OrderMapper.xml | 2 ++
.../service/impl/OrderValidatorImpl.java | 23 +++++++++++++++++++
3 files changed, 31 insertions(+)
diff --git a/common-ruoyi/ruoyi-system/src/main/java/com/ruoyi/bst/order/domain/OrderQuery.java b/common-ruoyi/ruoyi-system/src/main/java/com/ruoyi/bst/order/domain/OrderQuery.java
index d616a65..49587bd 100644
--- a/common-ruoyi/ruoyi-system/src/main/java/com/ruoyi/bst/order/domain/OrderQuery.java
+++ b/common-ruoyi/ruoyi-system/src/main/java/com/ruoyi/bst/order/domain/OrderQuery.java
@@ -33,4 +33,10 @@ public class OrderQuery extends OrderVO{
@ApiModelProperty("是否包含工序")
private Boolean needProcess;
+
+ @ApiModelProperty("精准订单号")
+ private String eqOrderNo;
+
+ @ApiModelProperty("排除的ID")
+ private Long excludeId;
}
diff --git a/common-ruoyi/ruoyi-system/src/main/java/com/ruoyi/bst/order/mapper/OrderMapper.xml b/common-ruoyi/ruoyi-system/src/main/java/com/ruoyi/bst/order/mapper/OrderMapper.xml
index 15391a4..1bba876 100644
--- a/common-ruoyi/ruoyi-system/src/main/java/com/ruoyi/bst/order/mapper/OrderMapper.xml
+++ b/common-ruoyi/ruoyi-system/src/main/java/com/ruoyi/bst/order/mapper/OrderMapper.xml
@@ -34,6 +34,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
and bo.deleted = false
and bo.status = #{query.status}
and bo.material like concat('%', #{query.material}, '%')
+ and bo.id != #{query.excludeId}
+ and bo.order_no = #{query.eqOrderNo}
and bo.status in
diff --git a/common-ruoyi/ruoyi-system/src/main/java/com/ruoyi/bst/order/service/impl/OrderValidatorImpl.java b/common-ruoyi/ruoyi-system/src/main/java/com/ruoyi/bst/order/service/impl/OrderValidatorImpl.java
index a548a98..dcac36f 100644
--- a/common-ruoyi/ruoyi-system/src/main/java/com/ruoyi/bst/order/service/impl/OrderValidatorImpl.java
+++ b/common-ruoyi/ruoyi-system/src/main/java/com/ruoyi/bst/order/service/impl/OrderValidatorImpl.java
@@ -1,14 +1,18 @@
package com.ruoyi.bst.order.service.impl;
import com.ruoyi.bst.order.domain.OrderBO;
+import com.ruoyi.bst.order.domain.OrderQuery;
import com.ruoyi.bst.order.domain.OrderVO;
import com.ruoyi.bst.order.domain.enums.OrderStatus;
+import com.ruoyi.bst.order.service.OrderService;
import com.ruoyi.bst.order.service.OrderValidator;
import com.ruoyi.bst.orderProd.domain.OrderProdBO;
import com.ruoyi.bst.orderProd.domain.enums.OrderProdWorkType;
import com.ruoyi.bst.prodProcess.domain.ProdProcessBO;
import com.ruoyi.common.utils.ServiceUtil;
import com.ruoyi.common.utils.collection.CollectionUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@@ -20,6 +24,8 @@ import java.util.List;
@Service
public class OrderValidatorImpl implements OrderValidator {
+ @Autowired
+ private OrderService orderService;
@Override
public void checkBefore(OrderBO data) {
@@ -36,6 +42,9 @@ public class OrderValidatorImpl implements OrderValidator {
}
}
+ // 校验订单编号
+ this.checkOrderNo(data.getId(), data.getOrderNo());
+
// 有且仅有一个结束的产品
boolean singleEndProd = this.hasSingleEndProd(data.getProdList());
ServiceUtil.assertion(!singleEndProd, "订单中必须有且仅有一个产品为成品");
@@ -54,6 +63,18 @@ public class OrderValidatorImpl implements OrderValidator {
}
}
+ private void checkOrderNo(Long id, String orderNo) {
+ if (StringUtils.isBlank(orderNo)) {
+ return;
+ }
+
+ OrderQuery query = new OrderQuery();
+ query.setEqOrderNo(orderNo);
+ query.setExcludeId(id);
+ int unique = orderService.selectCount(query);
+ ServiceUtil.assertion(unique > 0, "订单编号%s已存在", orderNo);
+ }
+
private boolean hasSingleEndProcess(List processList) {
if (CollectionUtils.isEmptyElement(processList)) {
return false;
@@ -87,5 +108,7 @@ public class OrderValidatorImpl implements OrderValidator {
@Override
public void checkAfter(OrderVO vo) {
+ // 校验订单编号
+ this.checkOrderNo(vo.getId(), vo.getOrderNo());
}
}