fix(oms):预约确认后,物料明细查询问题
This commit is contained in:
+7
-6
@@ -474,13 +474,18 @@ public class ReserveStockInOrderDomainService {
|
||||
Long shipperId = reservationStockInOrder.getShipperId();
|
||||
String jsbz = reservationStockInOrderMapper.getJsbz(shipperId);
|
||||
reservationStockInOrder.setSettlementCurrency(jsbz);
|
||||
String inOrderNumber = reservationStockInOrder.getInOrderNumber();
|
||||
List<ReserveInMaterialDetail> materialDetailList = materialDetailService.list(new QueryWrapper<ReserveInMaterialDetail>().lambda().eq(ReserveInMaterialDetail::getInOrderNumber, inOrderNumber));
|
||||
String oldInOrderNumber = reservationStockInOrder.getInOrderNumber();
|
||||
// 生成新业务单号,防止与已生成的入库业务单号重复
|
||||
String newOrderNumber = reservationStockInOrderDomainService.generateReserveOrderNumber();
|
||||
reservationStockInOrder.setInOrderNumber(newOrderNumber);
|
||||
reservationStockInOrder.setBusinessOrderNo(newOrderNumber);
|
||||
List<ReserveInMaterialDetail> materialDetailList = materialDetailService.list(new QueryWrapper<ReserveInMaterialDetail>().lambda().eq(ReserveInMaterialDetail::getInOrderNumber, oldInOrderNumber));
|
||||
List<ReservationInMaterialDetail> inMaterialDetailList = new ArrayList<>();
|
||||
int index = 1;
|
||||
for (ReserveInMaterialDetail reserveInMaterialDetail : materialDetailList) {
|
||||
ReservationInMaterialDetail reservationInMaterialDetail = new ReservationInMaterialDetail();
|
||||
BeanUtils.copyProperties(reserveInMaterialDetail, reservationInMaterialDetail,"materialDetailId");
|
||||
reservationInMaterialDetail.setInOrderNumber(newOrderNumber); // 使用新单号保持与主表关联
|
||||
reservationInMaterialDetail.setQuantity(reserveInMaterialDetail.getReserveQuantity());
|
||||
String lot = generateDateSerialNumber();
|
||||
lot = lot+"-"+index;
|
||||
@@ -491,10 +496,6 @@ public class ReserveStockInOrderDomainService {
|
||||
}
|
||||
BigDecimal quantity = materialDetailList.stream().map(ReserveInMaterialDetail::getReserveQuantity).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
reservationStockInOrder.setQuantity(quantity);
|
||||
// 生成业务单号,防止与已生成的入库业务单号重复
|
||||
String newOrderNumber = reservationStockInOrderDomainService.generateReserveOrderNumber();
|
||||
reservationStockInOrder.setInOrderNumber(newOrderNumber);
|
||||
reservationStockInOrder.setBusinessOrderNo(newOrderNumber);
|
||||
reservationStockInOrderService.save(reservationStockInOrder);
|
||||
reservationInMaterialDetailService.saveBatch(inMaterialDetailList);
|
||||
return update;
|
||||
|
||||
+4
-2
@@ -306,18 +306,20 @@ public class ReserveStockOutOrderDomainService {
|
||||
Long shipperId = reservationStockOutOrder.getShipperId();
|
||||
String jsbz = reservationStockInOrderMapper.getJsbz(shipperId);
|
||||
reservationStockOutOrder.setSettlementCurrency(jsbz);
|
||||
// 保留旧单号,用于查询源明细数据
|
||||
String oldOutOrderNumber = reservationStockOutOrder.getOutOrderNumber();
|
||||
// 生成出库业务单号,防止与已生成的出库业务单号重复
|
||||
String newOrderNumber = reservationStockOutOrderDomainService.generateReserveOrderNumber();
|
||||
reservationStockOutOrder.setOutOrderNumber(newOrderNumber);
|
||||
reservationStockOutOrder.setBusinessOrderNo(newOrderNumber);
|
||||
reservationStockOutOrderService.save(reservationStockOutOrder);
|
||||
String outOrderNumber = reservationStockOutOrder.getOutOrderNumber();
|
||||
List<ReserveOutMaterialDetail> materialDetailList = outMaterialDetailService.list(new QueryWrapper<ReserveOutMaterialDetail>().lambda().eq(ReserveOutMaterialDetail::getOutOrderNumber, outOrderNumber));
|
||||
List<ReserveOutMaterialDetail> materialDetailList = outMaterialDetailService.list(new QueryWrapper<ReserveOutMaterialDetail>().lambda().eq(ReserveOutMaterialDetail::getOutOrderNumber, oldOutOrderNumber));
|
||||
List<ReservationOutMaterialDetail> inMaterialDetailList = new ArrayList<>();
|
||||
int index = 1;
|
||||
for (ReserveOutMaterialDetail reserveOutMaterialDetail : materialDetailList) {
|
||||
ReservationOutMaterialDetail reservationOutMaterialDetail = new ReservationOutMaterialDetail();
|
||||
BeanUtils.copyProperties(reserveOutMaterialDetail, reservationOutMaterialDetail,"materialDetailId");
|
||||
reservationOutMaterialDetail.setOutOrderNumber(newOrderNumber); // 使用新单号保持与主表关联
|
||||
String lot = generateDateSerialNumber();
|
||||
lot = lot+"-"+index;
|
||||
index++;
|
||||
|
||||
Reference in New Issue
Block a user