Fetching OrderItemSubsetTasks

This commit is contained in:
Lorenz Hilpert
2023-10-04 13:19:26 +02:00
parent e1bd87418c
commit 09f0337489
4 changed files with 46 additions and 1 deletions

View File

@@ -17,4 +17,12 @@ export class PickupShelfService {
orderItemSubset: changes,
});
}
getOrderItemSubsetTasks(item: DBHOrderItemListItemDTO) {
return this._orderService.OrderGetOrderItemSubsetTasks({
orderId: item.orderId,
orderItemId: item.orderItemId,
orderItemSubsetId: item.orderItemSubsetId,
});
}
}

View File

@@ -126,3 +126,7 @@ export const selectLatestCompartmentCodeForOrder = (s: PickupShelfDetailsState)
return acc;
}, undefined);
};
export const selectFetchingOrderItemSubsetTasks = (s: PickupShelfDetailsState) => s.fetchingOrderItemSubsetTasks;
export const selectOrderItemSubsetTasks = (s: PickupShelfDetailsState) => s.orderItemSubsetTasks;

View File

@@ -1,5 +1,11 @@
import { CustomerInfoDTO } from '@swagger/crm';
import { DBHOrderItemListItemDTO, OrderDTO, OrderItemProcessingStatusValue, ReceiptDTO } from '@swagger/oms';
import {
DBHOrderItemListItemDTO,
OrderDTO,
OrderItemProcessingStatusValue,
OrderItemSubsetTaskListItemDTO,
ReceiptDTO,
} from '@swagger/oms';
export interface PickupShelfDetailsState {
fetchingOrder?: boolean;
@@ -21,4 +27,7 @@ export interface PickupShelfDetailsState {
selectedOrderItemIds?: number[];
selectedOrderItemQuantity?: Record<number, number>;
selectedCompartmentInfo?: string;
fetchingOrderItemSubsetTasks?: boolean;
orderItemSubsetTasks?: OrderItemSubsetTaskListItemDTO[];
}

View File

@@ -4,6 +4,7 @@ import { Observable } from 'rxjs';
import {
DBHOrderItemListItemDTO,
ListResponseArgsOfDBHOrderItemListItemDTO,
ListResponseArgsOfOrderItemSubsetTaskListItemDTO,
OrderDTO,
OrderItemProcessingStatusValue,
OrderItemSubsetDTO,
@@ -421,4 +422,27 @@ export class PickupShelfDetailsStore extends ComponentStore<PickupShelfDetailsSt
};
}
);
fetchOrderItemSubsetTasks = this.effect((item$: Observable<DBHOrderItemListItemDTO>) =>
item$.pipe(
tap((item) => this.beforeFetchOrderItemSubsetTasks(item)),
switchMap((item) =>
this._pickupShelfService
.getOrderItemSubsetTasks(item)
.pipe(tapResponse(this.fetchOrderItemSubsetTasksDone, this.fetchOrderItemSubsetTasksFailed))
)
)
);
private beforeFetchOrderItemSubsetTasks = (item: DBHOrderItemListItemDTO) => {
this.patchState({ fetchingOrderItemSubsetTasks: true });
};
private fetchOrderItemSubsetTasksDone = (res: ListResponseArgsOfOrderItemSubsetTaskListItemDTO) => {
this.patchState({ fetchingOrderItemSubsetTasks: false, orderItemSubsetTasks: res.result });
};
private fetchOrderItemSubsetTasksFailed = (err: any) => {
this.patchState({ fetchingOrderItemSubsetTasks: false });
};
}