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