退货验证发票号是否重复;维他奶导入单号添加校验;

This commit is contained in:
王奎兴
2026-08-22 11:17:42 +08:00
parent 63a19fbbcd
commit 072a4f7d1f
@@ -1098,6 +1098,10 @@ public class ReservationStockOutOrderDomainService {
reservationStockInOrderMapper.updateByTransportationNumber(transportationNumber);
LoginUser loginUser = SecurityUtils.getLoginUser();
BusinessDeliveryDetailsLink businessDeliveryDetailsLink = businessDeliveryDetailsLinkService.getOne(new QueryWrapper<BusinessDeliveryDetailsLink>().lambda().eq(BusinessDeliveryDetailsLink::getInvoiceNumber, invoiceNumber), false);
List<BusinessDeliveryDetailsLink> businessDeliveryDetailsLinks = businessDeliveryDetailsLinkService.list(new QueryWrapper<BusinessDeliveryDetailsLink>().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<ReservationDeliveryDetailsLink> list = reservationDeliveryDetailsLinkService.list(new QueryWrapper<ReservationDeliveryDetailsLink>().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<ReservationStockOutOrder>()
.eq(ReservationStockOutOrder::getOutOrderNumber, orderNumber)
);
if (count != null && count > 0) {
seq++;
} else {
break;
}
} while (true);
return orderNumber;
}
public String generateReserveOrderNumber1() {