|
|
|
@ -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; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|