预约单改造;

This commit is contained in:
王奎兴
2026-06-27 19:07:54 +08:00
parent f995d9e7c6
commit 8ff0561a1f
@@ -282,10 +282,31 @@ public class BusinessDocumentOrderDomainService {
}
//生成货源单号
if (businessDocumentOrderDO.getGoodsNumber() == null) {
tmsOrder.setGoodsNumber(OrderSequence.getOrderCode());
String orderCode = null;
int maxRetryCount = 100;
int retryCount = 0;
while (retryCount < maxRetryCount) {
orderCode = getOrderCodeByDate(tmsOrder.getDocumentDate());
retryCount++;
List<BusinessDocumentOrder> checkOrderCodes = businessDocumentOrderMapper.selectList(
new QueryWrapper<BusinessDocumentOrder>().eq("goods_number", orderCode)
);
if (CollectionUtils.isEmpty(checkOrderCodes)) {
break;
}
if (retryCount >= maxRetryCount) {
throw new ServiceException("生成唯一订单编号失败,已达到最大重试次数:" + maxRetryCount);
}
}
//生成货源单号
tmsOrder.setGoodsNumber(orderCode);
ReservationStockOutOrder reservationStockOutOrder = reservationStockOutOrderMapper.selectOne(new LambdaQueryWrapper<ReservationStockOutOrder>()
.eq(ReservationStockOutOrder::getOutOrderNumber, tmsOrder.getInOrderNumber())
.eq(ReservationStockOutOrder::getDelFlag, 1));