From 072a4f7d1f78a5dec54877d92c4ef2fa8861bda7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Sat, 22 Aug 2026 11:17:42 +0800 Subject: [PATCH] =?UTF-8?q?=E9=80=80=E8=B4=A7=E9=AA=8C=E8=AF=81=E5=8F=91?= =?UTF-8?q?=E7=A5=A8=E5=8F=B7=E6=98=AF=E5=90=A6=E9=87=8D=E5=A4=8D;?= =?UTF-8?q?=E7=BB=B4=E4=BB=96=E5=A5=B6=E5=AF=BC=E5=85=A5=E5=8D=95=E5=8F=B7?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=A0=A1=E9=AA=8C;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ReservationStockOutOrderDomainService.java | 25 +++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/service/ReservationStockOutOrderDomainService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/service/ReservationStockOutOrderDomainService.java index 851bd436b..136e53b63 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/service/ReservationStockOutOrderDomainService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/service/ReservationStockOutOrderDomainService.java @@ -1098,6 +1098,10 @@ public class ReservationStockOutOrderDomainService { reservationStockInOrderMapper.updateByTransportationNumber(transportationNumber); LoginUser loginUser = SecurityUtils.getLoginUser(); BusinessDeliveryDetailsLink businessDeliveryDetailsLink = businessDeliveryDetailsLinkService.getOne(new QueryWrapper().lambda().eq(BusinessDeliveryDetailsLink::getInvoiceNumber, invoiceNumber), false); + List businessDeliveryDetailsLinks = businessDeliveryDetailsLinkService.list(new QueryWrapper().lambda().eq(BusinessDeliveryDetailsLink::getInvoiceNumber, invoiceNumber)); + if (businessDeliveryDetailsLinks!=null&&businessDeliveryDetailsLinks.size()>1) { + throw new ServiceException("存在发票号重复情况,请检查!"); + } if (businessDeliveryDetailsLink != null) { businessDeliveryDetailsLink.setIsReturn(1); // 1表示已退货 businessDeliveryDetailsLink.setUpdateBy(loginUser.getUserPo().getUserId()); @@ -1106,6 +1110,9 @@ public class ReservationStockOutOrderDomainService { businessDeliveryDetailsLinkService.updateById(businessDeliveryDetailsLink); // String invoiceNumber1 = businessDeliveryDetailsLink.getInvoiceNumber(); List list = reservationDeliveryDetailsLinkService.list(new QueryWrapper().lambda().eq(ReservationDeliveryDetailsLink::getInvoiceNumber, invoiceNumber)); + if (list != null && !list.isEmpty() && list.size()>1) { + throw new ServiceException("存在发票号重复情况,请检查!"); + } if (list != null && !list.isEmpty() && list.size()>0) { ReservationDeliveryDetailsLink reservationDeliveryDetailsLink = list.get(0); String orderNumber = reservationDeliveryDetailsLink.getOrderNumber(); @@ -1216,14 +1223,28 @@ public class ReservationStockOutOrderDomainService { /** * 生成出库预约单号: + * 生成后校验数据库中是否已存在,存在则序号加一,直至不重复为止 */ public String generateReserveOrderNumber() { SimpleDateFormat sdf = new SimpleDateFormat("yyMMdd"); String datePart = sdf.format(new Date()); String prefix = "C" + datePart; int todayCount = reservationStockOutOrderMapper.countByOrderNumberPrefix(prefix); - String seq = String.format("%03d", todayCount + 1); - return prefix + seq; + int seq = todayCount + 1; + String orderNumber; + do { + orderNumber = prefix + String.format("%03d", seq); + Integer count = reservationStockOutOrderMapper.selectCount( + new LambdaQueryWrapper() + .eq(ReservationStockOutOrder::getOutOrderNumber, orderNumber) + ); + if (count != null && count > 0) { + seq++; + } else { + break; + } + } while (true); + return orderNumber; } public String generateReserveOrderNumber1() {