Search in sources :

Example 1 with AvailableToPromiseQueryBuilder

use of de.metas.material.dispo.commons.repository.AvailableToPromiseQuery.AvailableToPromiseQueryBuilder in project metasfresh-webui-api by metasfresh.

the class ProductLookupDescriptor method explodeRecordsWithStockQuantities.

private final LookupValuesList explodeRecordsWithStockQuantities(@NonNull final LookupValuesList productLookupValues, @NonNull final Date dateOrNull) {
    if (productLookupValues.isEmpty() || !isAvailableStockQueryActivatedInSysConfig()) {
        return productLookupValues;
    }
    final AvailableToPromiseQueryBuilder atpQueryBuilder = AvailableToPromiseQuery.builder();
    addStorageAttributeKeysToQueryBuilder(atpQueryBuilder);
    atpQueryBuilder.productIds(productLookupValues.getKeysAsInt());
    atpQueryBuilder.date(dateOrNull);
    // invoke the query
    final // 
    AvailableToPromiseResultForWebui availableStock = availableToPromiseAdapter.retrieveAvailableStock(atpQueryBuilder.build());
    final List<Group> availableStockGroups = availableStock.getGroups();
    // process the query's result into those explodedProductValues
    return createLookupValuesFromAvailableStockGroups(productLookupValues, availableStockGroups);
}
Also used : Group(de.metas.ui.web.material.adapter.AvailableToPromiseResultForWebui.Group) AvailableToPromiseQueryBuilder(de.metas.material.dispo.commons.repository.AvailableToPromiseQuery.AvailableToPromiseQueryBuilder)

Aggregations

AvailableToPromiseQueryBuilder (de.metas.material.dispo.commons.repository.AvailableToPromiseQuery.AvailableToPromiseQueryBuilder)1 Group (de.metas.ui.web.material.adapter.AvailableToPromiseResultForWebui.Group)1