|
@@ -193,10 +193,13 @@ public class ReplenishmentOrderServiceImpl extends ServiceImpl<ReplenishmentOrde
|
|
|
|
|
|
|
|
save(order);
|
|
save(order);
|
|
|
|
|
|
|
|
|
|
+ // 批量设置 orderId + 批量插入(1 次 INSERT 替代 N 次逐条)
|
|
|
for (ReplenishmentOrderItem item : items) {
|
|
for (ReplenishmentOrderItem item : items) {
|
|
|
item.setOrderId(order.getId());
|
|
item.setOrderId(order.getId());
|
|
|
item.setCreateTime(LocalDateTime.now());
|
|
item.setCreateTime(LocalDateTime.now());
|
|
|
- orderItemMapper.insert(item);
|
|
|
|
|
|
|
+ }
|
|
|
|
|
+ if (!items.isEmpty()) {
|
|
|
|
|
+ orderItemMapper.insertBatch(items);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
log.info("创建补货单: orderNo={}, deviceId={}, items={}", order.getOrderNo(), dto.getDeviceId(), items.size());
|
|
log.info("创建补货单: orderNo={}, deviceId={}, items={}", order.getOrderNo(), dto.getDeviceId(), items.size());
|
|
@@ -236,6 +239,7 @@ public class ReplenishmentOrderServiceImpl extends ServiceImpl<ReplenishmentOrde
|
|
|
|
|
|
|
|
int totalQuantity = 0;
|
|
int totalQuantity = 0;
|
|
|
BigDecimal totalAmount = BigDecimal.ZERO;
|
|
BigDecimal totalAmount = BigDecimal.ZERO;
|
|
|
|
|
+ List<ReplenishmentOrderItem> newItems = new ArrayList<>();
|
|
|
|
|
|
|
|
for (ReplenishmentOrderCreateDTO.ReplenishmentOrderItemDTO itemDto : dto.getItems()) {
|
|
for (ReplenishmentOrderCreateDTO.ReplenishmentOrderItemDTO itemDto : dto.getItems()) {
|
|
|
ReplenishmentOrderItem item = new ReplenishmentOrderItem();
|
|
ReplenishmentOrderItem item = new ReplenishmentOrderItem();
|
|
@@ -257,7 +261,10 @@ public class ReplenishmentOrderServiceImpl extends ServiceImpl<ReplenishmentOrde
|
|
|
}
|
|
}
|
|
|
totalQuantity += itemDto.getPlannedQuantity();
|
|
totalQuantity += itemDto.getPlannedQuantity();
|
|
|
item.setCreateTime(LocalDateTime.now());
|
|
item.setCreateTime(LocalDateTime.now());
|
|
|
- orderItemMapper.insert(item);
|
|
|
|
|
|
|
+ newItems.add(item);
|
|
|
|
|
+ }
|
|
|
|
|
+ if (!newItems.isEmpty()) {
|
|
|
|
|
+ orderItemMapper.insertBatch(newItems);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
order.setTotalQuantity(totalQuantity);
|
|
order.setTotalQuantity(totalQuantity);
|