#1494 Fehler bei Avaibility Berechnung

This commit is contained in:
Lorenz Hilpert
2021-03-03 15:58:01 +01:00
parent c9dc0c0da0
commit fa085bc214
2 changed files with 20 additions and 16 deletions

View File

@@ -4,8 +4,8 @@ import { AvailabilityDTO, BranchDTO, OLAAvailabilityDTO, StoreCheckoutService, S
import { Observable, of } from 'rxjs';
import { AvailabilityService as SwaggerAvailabilityService } from '@swagger/availability';
import { StockService } from '@swagger/cat';
import { map, mergeMap, shareReplay, withLatestFrom } from 'rxjs/operators';
import { isNullOrUndefined, memorize } from '@utils/common';
import { map, mergeMap, shareReplay, switchMap, withLatestFrom } from 'rxjs/operators';
import { isArray, isNullOrUndefined, memorize } from '@utils/common';
import { OrderService } from '@swagger/oms';
@Injectable({ providedIn: 'root' })
@@ -80,21 +80,25 @@ export class AvailabilityService {
.pipe(
map((r) => {
const availabilities = r.result;
const preferred = availabilities.find((f) => f.preferred === 1);
const availability: AvailabilityDTO = {
availabilityType: preferred?.status,
ssc: preferred?.ssc,
sscText: preferred?.sscText,
supplier: { id: preferred?.supplierId },
isPrebooked: preferred?.isPrebooked,
estimatedShippingDate: preferred?.at,
price: preferred?.price,
inStock: preferred?.qty,
supplierProductNumber: preferred.supplierProductNumber,
};
return availability;
if (isArray(availabilities)) {
const preferred = availabilities.find((f) => f.preferred === 1);
const availability: AvailabilityDTO = {
availabilityType: preferred?.status,
ssc: preferred?.ssc,
sscText: preferred?.sscText,
supplier: { id: preferred?.supplierId },
isPrebooked: preferred?.isPrebooked,
estimatedShippingDate: preferred?.at,
price: preferred?.price,
inStock: preferred?.qty,
supplierProductNumber: preferred.supplierProductNumber,
};
return availability;
}
}),
switchMap((availability) => (!!availability ? [availability] : this.getDeliveryAvailability({ item, quantity }))),
shareReplay()
);
}

View File

@@ -170,7 +170,7 @@ export class ProductAvailabilityService {
return {
branchId: branchNumber,
type: CheckoutType.deliveryB2b,
av: availabilityDTO.result.map((av) => {
av: availabilityDTO.result?.map((av) => {
let at = undefined;
const deliveryDate = new Date(av.at);
if (new Date().getHours() >= 16) {