Browse Source

Merge remote-tracking branch 'origin/dev' into pre-production

visual
汤建军 4 months ago
parent
commit
aee7e8bda3
  1. 44
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/api/DistributionStockupAppController.java

44
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/api/DistributionStockupAppController.java

@ -122,6 +122,7 @@ public class DistributionStockupAppController extends BladeController {
private final BladeRedis redis;
private final ITrunklinePackageTrackLogClient trunklinePackageTrackLogClient;
private final IDistributionNodeWorkService distributionNodeWorkService;
private final IDistributionDeliveryDetailsService distributionDeliveryDetailsService;
/**
@ -721,28 +722,35 @@ public class DistributionStockupAppController extends BladeController {
private int judgmentIsStockUp(Long reservationId, Long stockListId, DistributionParcelListEntity distributionParcelListEntity, Long warehouseId, String cargoNumber) {
List<DistributionReservationStocklistEntity> distributionReservationStocklistEntities = distributionReservationMapper.selectStockListByReservationId(reservationId);
List<Long> stockListIds = new ArrayList<>();
if (Func.isNotEmpty(distributionReservationStocklistEntities)) {
//查询库存品信息
List<Long> stockListIds = distributionReservationStocklistEntities.stream().map(DistributionReservationStocklistEntity::getStocklistId).collect(Collectors.toList());
List<DistributionStockListEntity> stockListEntityList = distributionStockListService.list(Wrappers.<DistributionStockListEntity>query().lambda()
.in(DistributionStockListEntity::getId, stockListIds)
.eq(DistributionStockListEntity::getWarehouseId, warehouseId)
.eq(DistributionStockListEntity::getCargoNumber, cargoNumber)
);
boolean isHave = stockListEntityList.stream().map(DistributionStockListEntity::getCargoNumber).anyMatch(s -> s.contains(distributionParcelListEntity.getMaterialCode()));
if (!isHave) {
//判断包件是否属于计划物料信息
return 1;
}
//判断该库存品包件是否属于计划的批次
boolean isHaveIncomingBatch = stockListEntityList.stream().map(DistributionStockListEntity::getIncomingBatch).anyMatch(s -> s.contains(distributionParcelListEntity.getOrderCode()));
if (!isHaveIncomingBatch) {
return 2;
}
stockListIds = distributionReservationStocklistEntities.stream().map(DistributionReservationStocklistEntity::getStocklistId).collect(Collectors.toList());
}
List<DistributionDeliveryDetailsEntity> detailsEntities = distributionDeliveryDetailsService.list(Wrappers.<DistributionDeliveryDetailsEntity>query().lambda()
.eq(DistributionDeliveryDetailsEntity::getBillLadingId, reservationId)
);
if (!detailsEntities.isEmpty()) {
stockListIds = detailsEntities.stream().map(DistributionDeliveryDetailsEntity::getStockListId).collect(Collectors.toList());
}
List<DistributionStockListEntity> stockListEntityList = distributionStockListService.list(Wrappers.<DistributionStockListEntity>query().lambda()
.in(DistributionStockListEntity::getId, stockListIds)
.eq(DistributionStockListEntity::getWarehouseId, warehouseId)
.eq(DistributionStockListEntity::getCargoNumber, cargoNumber)
);
boolean isHave = stockListEntityList.stream().map(DistributionStockListEntity::getCargoNumber).anyMatch(s -> s.contains(distributionParcelListEntity.getMaterialCode()));
if (!isHave) {
//判断包件是否属于计划物料信息
return 1;
}
//判断该库存品包件是否属于计划的批次
boolean isHaveIncomingBatch = stockListEntityList.stream().map(DistributionStockListEntity::getIncomingBatch).anyMatch(s -> s.contains(distributionParcelListEntity.getOrderCode()));
if (!isHaveIncomingBatch) {
return 2;
}
return 3;
}

Loading…
Cancel
Save