use of de.metas.handlingunits.HuId in project metasfresh-webui-api by metasfresh.
the class HUEditorViewBuffer_HighVolume method huIdsPageFetcher.
private PageFetcher<HuId> huIdsPageFetcher(final DocumentQueryOrderByList orderBys) {
final ViewEvaluationCtx viewEvalCtx = getViewEvaluationCtx();
final ViewRowIdsOrderedSelection selection = getSelection(orderBys);
return (firstRow, maxRows) -> huEditorRepo.retrieveHUIdsPage(viewEvalCtx, selection, firstRow, maxRows);
}
use of de.metas.handlingunits.HuId in project metasfresh-webui-api by metasfresh.
the class HUEditorViewBuffer_HighVolume method getById.
@Override
public HUEditorRow getById(@NonNull final DocumentId rowId) throws EntityNotFoundException {
final HUEditorRowId huRowId = HUEditorRowId.ofDocumentId(rowId);
final HUEditorRowId topLevelRowId = huRowId.toTopLevelRowId();
final HuId topLevelHUId = topLevelRowId.getTopLevelHUId();
final HUEditorRow topLevelRow = cache_huRowsById.getOrLoad(topLevelRowId.toDocumentId(), () -> huEditorRepo.retrieveForHUId(topLevelHUId));
if (topLevelRowId.equals(huRowId)) {
return topLevelRow;
} else {
return topLevelRow.getIncludedRowById(rowId).orElseThrow(() -> new EntityNotFoundException("No row found for " + rowId).setParameter("topLevelRowId", topLevelRowId));
}
}
use of de.metas.handlingunits.HuId in project metasfresh-webui-api by metasfresh.
the class HUEditorViewBuffer_HighVolume method isHighVolume.
public static boolean isHighVolume(final DocumentFilterList stickyFilters) {
final HUIdsFilterData huIdsFilterData = HUIdsFilterHelper.extractFilterDataOrNull(stickyFilters);
if (huIdsFilterData == null) {
return true;
}
final Set<HuId> huIds = huIdsFilterData.getInitialHUIds();
if (huIds == null) {
// high volume
return true;
} else if (huIds.isEmpty()) {
// not high volume
return false;
} else {
// consider high volume if it's above give threshold
return huIds.size() >= HIGHVOLUME_THRESHOLD;
}
}
use of de.metas.handlingunits.HuId in project metasfresh-webui-api by metasfresh.
the class HUEditorRowId method fromJson.
private static HUEditorRowId fromJson(@NonNull final String json, final DocumentId documentId) {
//
// Split json to parts
final Iterator<String> partsIterator;
{
final List<String> parts = PARTS_SPLITTER.splitToList(json);
if (parts.isEmpty()) {
throw new IllegalArgumentException("Invalid HU rowId: " + json);
}
partsIterator = parts.iterator();
}
//
// huId and storageProductId
final HuId huId;
final ProductId storageProductId;
{
final String idStrPart = partsIterator.next();
final List<String> idParts = ID_SPLITTER.splitToList(idStrPart);
if (idParts.size() == 1) {
huId = HuId.ofRepoId(Integer.parseInt(idParts.get(0)));
storageProductId = null;
} else if (idParts.size() == 2) {
huId = HuId.ofRepoId(Integer.parseInt(idParts.get(0)));
storageProductId = ProductId.ofRepoId(Integer.parseInt(idParts.get(1)));
} else {
throw new IllegalArgumentException("Invalid HU rowId: " + json + ". Cannot parse ID part: " + idStrPart);
}
}
//
// Others
HuId topLevelHUId = null;
while (partsIterator.hasNext()) {
final String part = partsIterator.next();
if (part.startsWith(PREFIX_TopLevelHUId)) {
final String topLevelHUIdStr = part.substring(PREFIX_TopLevelHUId.length());
topLevelHUId = HuId.ofRepoId(Integer.parseInt(topLevelHUIdStr));
} else {
throw new IllegalArgumentException("Invalid HU rowId: " + json + ". Cannot parse part: " + part);
}
}
return new HUEditorRowId(huId, storageProductId, topLevelHUId, json, documentId);
}
use of de.metas.handlingunits.HuId in project metasfresh-webui-api by metasfresh.
the class WEBUI_Picking_M_Picking_Candidate_Unprocess method doIt.
@Override
protected String doIt() {
final PickingSlotRow rowToProcess = getSingleSelectedRow();
final HuId huId = rowToProcess.getHuId();
pickingCandidateService.unprocessForHUId(huId);
return MSG_OK;
}
Aggregations