Compare commits

...

10 Commits

Author SHA1 Message Date
Nino
870ce9ab32 #4696 Bugfix Cover Items 2024-03-13 14:01:39 +01:00
Nino
afbdfe904c Merge branch 'develop' into fix/4696-AHF-Zubuchen-CTA-Fehlt 2024-03-13 11:12:38 +01:00
Nino Righi
92e522dedf Merged PR 1765: #4696 PickupShelfIn Details Page Clear Previous Selected OrderItemSubsetId fr...
#4696 PickupShelfIn Details Page Clear Previous Selected OrderItemSubsetId from Store after Leaving Page to avoid side effects
2024-03-12 15:31:21 +00:00
Nino
b43b4035a1 #4696 PickupShelfIn Details Page Clear Previous Selected OrderItemSubsetId from Store after Leaving Page to avoid side effects 2024-03-12 16:13:03 +01:00
Nino Righi
fb46d329dc Merged PR 1764: #4547 WE Updated Annotation Implementation
#4547 WE Updated Annotation Implementation
2024-03-12 14:43:00 +00:00
Lorenz Hilpert
64d0a9fdb9 Merged PR 1763: #4547 Wareneingang // Kontrolle der Service Packstücke
#4547 Wareneingang // Kontrolle der Service Packstücke
2024-03-11 14:51:46 +00:00
Nino Righi
49f2a44461 Merged PR 1761: #4691 Small Fixes Customer Create
#4691 Small Fixes Customer Create
2024-03-06 16:01:27 +00:00
Nino Righi
03124d8736 Merged PR 1759: #4688 Change PickUpShelf Navigation based on Area In or Out
#4688 Change PickUpShelf Navigation based on Area In or Out
2024-03-06 11:55:11 +00:00
Nino Righi
a3330263f8 Merged PR 1758: #4689 Pickup Shelf Out Update Quantity After FETCHED_PARTIAL in Result List
#4689 Pickup Shelf Out Update Quantity After FETCHED_PARTIAL in Result List
2024-03-04 16:45:50 +00:00
Nino Righi
89092a5f6e Merged PR 1757: #4690 PickupShelfOut Details Display FETCHED_PARTIAL Action Correctly
#4690 PickupShelfOut Details Display FETCHED_PARTIAL Action Correctly
2024-03-04 15:54:43 +00:00
25 changed files with 284 additions and 96 deletions

View File

@@ -38,7 +38,6 @@
(onInit)="addAddressGroup($event)"
(onDestroy)="removeAddressGroup()"
[data]="data?.address"
[tabIndexStart]="nameFormBlock?.tabIndexEnd + 1"
[requiredMarks]="addressRequiredMarks"
[validatorFns]="addressValidatorFns"
[readonly]="readonly"

View File

@@ -378,7 +378,7 @@ export abstract class AbstractCreateCustomer implements OnInit, OnDestroy {
} catch (error) {
this.form.enable();
setTimeout(() => {
this.addressFormBlock.setAddressValidationError(error.error.invalidProperties);
this.deviatingDeliveryAddressFormBlock.setAddressValidationError(error.error.invalidProperties);
}, 10);
return;

View File

@@ -5,3 +5,7 @@
.action-wrapper {
@apply grid grid-flow-col gap-4 justify-center my-6 fixed bottom-24 inset-x-0;
}
.annotation-layout {
@apply col-span-2;
}

View File

@@ -3,33 +3,7 @@
</div>
<ng-container *ngIf="packageDetails$ | async; else loader; let packageDetails" (sharedOnInit)="calculateListHeight()">
<div class="bg-background-liste">
<div #handlungsAnweisung [ngSwitch]="packageDetails.package.arrivalStatus | arrivalStatus">
<div class="bg-white" *ngSwitchCase="'Falsche Filiale'">
<p class="text-center text-xl py-10">
Stellen Sie dieses Packstück für die andere Filiale bereit. <br />
Der Spediteur holt es zum nächstmöglichen Zeitpunkt ab.
</p>
</div>
<div class="bg-white" *ngSwitchCase="'Offen'">
<p class="text-center text-xl py-10" *ngIf="!(childActions$ | async)">
Können Sie sich erinnern, dass Sie dieses Packstück <br />
ausgepackt haben?
</p>
<p class="text-center text-xl py-10" *ngIf="!!(childActions$ | async)">
Prüfen Sie bitte stichprobenartig den Filialbestand des <br />
dargestellten Artikels. Ist der angezeigte Filialbestand <br />
korrekt?
</p>
</div>
<div class="bg-white" *ngSwitchCase="'Fehlt'">
<p class="text-center text-xl py-10">
Prüfen Sie bitte stichprobenartig den Filialbestand <br />
des dargestellten Artikels. Ist der angezeigte Filialbestand <br />
korrekt?
</p>
</div>
<div class="pt-3" *ngSwitchDefault></div>
</div>
<div class="bg-white text-center text-xl py-10" [innerText]="packageDetails?.package?.features?.['description'] ?? ''"></div>
<div class="bg-white rounded-t shadow-card grid grid-flow-row p-4 gap-2">
<div class="grid grid-cols-6">
@@ -38,7 +12,7 @@
<span *ngIf="packageDetails.package.packageNumber && packageDetails.package.deliveryNoteNumber"> | </span>
{{ packageDetails.package.deliveryNoteNumber }}
</div>
<div class="col-span-3">
<div class="col-span-3" [class.annotation-layout]="packageDetails?.package?.features?.['annotation']">
<ng-container *ngIf="packageDetails.package.arrivalStatus !== 8; else irrlauferTmplt">
Filialstopp
<span class="font-bold ml-2">
@@ -52,7 +26,7 @@
</span>
</ng-template>
</div>
<div class="text-right">
<div class="text-right" *ngIf="!packageDetails?.package?.features?.['annotation']; else annotationTmpl">
<ng-container *ngIf="(packageDetails.package.arrivalStatus | arrivalStatus) === 'Fehlt'">
<button
class="isa-icon-button mr-2"
@@ -82,6 +56,11 @@
{{ packageDetails.package.arrivalStatus | arrivalStatus }}
</div>
</div>
<ng-template #annotationTmpl>
<div class="text-right text-[#5A728A] col-span-2">
{{ packageDetails?.package?.features?.['annotation'] }}
</div>
</ng-template>
</div>
<div class="grid grid-cols-6">
<div class="col-span-2">

View File

@@ -148,7 +148,7 @@ export class PackageDetailsComponent {
@HostListener('window:resize')
calculateListHeight() {
const handlungsAnweisungHeight = this.handlungsAnweisung?.nativeElement.offsetHeight;
const handlungsAnweisungHeight = this.handlungsAnweisung?.nativeElement?.offsetHeight ?? 0;
const windowHeight = window.innerHeight;
this.detailsListHeight = windowHeight - handlungsAnweisungHeight - 516;
this._cdr.markForCheck();

View File

@@ -116,38 +116,8 @@ export abstract class PickupShelfBaseComponent implements OnInit {
return queryParams;
}
regsiterFetchListResponseHandler() {
this.listStore.fetchListResponse$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(async ({ processId, queryParams, response }) => {
/**
* Wenn die Suche erfolgreich war, wird der Benutzer auf die Liste oder Detailseite des gefundenen Artikels weitergeleitet.
*/
const filterQueryParams = this.listStore.filter.getQueryParams();
// Only Update QueryParams if the user is already on the details, edit or history page
// const view: string = this.activatedRoute.snapshot.data.view;
// if (['filter', 'details', 'edit', 'history'].includes(view)) {
// await this.router.navigate([], { queryParams: { ...queryParams, ...filterQueryParams }, skipLocationChange: true });
// return;
// }
if (response.hits === 1 || this._hasSameOrderNumber(response)) {
const detailsPath = await this.getPathForDetail(response.result[0]).pipe(take(1)).toPromise();
await this.router.navigate(detailsPath.path, { queryParams: { ...queryParams, ...filterQueryParams, ...detailsPath.queryParams } });
} else if (response.hits > 1) {
const listPath = await this.getPathFoListBreadcrumb({ processId, queryParams });
await this.router.navigate(listPath.path, { queryParams: { ...queryParams, ...filterQueryParams, ...listPath.queryParams } });
} else {
await this.router.navigate([], { queryParams: { ...queryParams, ...filterQueryParams } });
}
});
}
// Fix Ticket #4684 Navigate on Details if items contain same OrderNumber
private _hasSameOrderNumber(response: ListResponseArgsOfDBHOrderItemListItemDTO) {
if (response.hits === 0) return false;
const orderNumbers = new Set(response.result.map((item) => item.orderNumber));
return orderNumbers.size === 1;
}
// Fix Ticket #4688 Navigation behaves different based on section PickUpShelfOut and PickUpShelfIn
abstract regsiterFetchListResponseHandler(): void | Promise<void>;
/**
* Sucht die Breadcrumb anhand des Tags.

View File

@@ -125,6 +125,7 @@ export abstract class PickupShelfDetailsBaseComponent {
processingStatus: updatedItem.processingStatus,
compartmentCode: updatedItem.compartmentCode,
compartmentInfo: updatedItem.compartmentInfo,
quantity: updatedItem.quantity,
},
});
});

View File

@@ -115,9 +115,15 @@ export class PickupShelfInDetailsComponent extends PickupShelfDetailsBaseCompone
if (!!selectedItem && this.store.selectPreviousSelectedOrderItemSubsetId !== orderItemSubsetId) {
this.store.setPreviousSelectedOrderItemSubsetId(orderItemSubsetId); // Wichtig das die ID im Store vorhanden bleibt um z.B. für die Filter eine zurücknavigation zu ermöglichen
this.store.selectOrderItem(selectedItem, true); // Wird automatisch unselected wenn die Details Seite verlassen wird
this.store.fetchCoverOrderItems();
}
});
// Fix #4696 - Always Fetch Cover Order Items
this._activatedRoute.params.pipe(distinctUntilChanged(isEqual), takeUntilDestroyed(this.destroyRef)).subscribe((_) => {
if (!this.store.coverOrderItems || this.store.coverOrderItems.length === 0) {
this.store.fetchCoverOrderItems();
}
});
}
ngAfterViewInit() {

View File

@@ -16,6 +16,7 @@ import { map, take } from 'rxjs/operators';
import { ApplicationService } from '@core/application';
import { FilterAutocompleteProvider } from '@shared/components/filter';
import { PickUpShelfInAutocompleteProvider } from './providers/pickup-shelf-in-autocomplete.provider';
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
@Component({
selector: 'page-pickup-shelf-in',
@@ -205,4 +206,23 @@ export class PickupShelfInComponent extends PickupShelfBaseComponent {
async getNameForHistoryBreadcrumb(data: GetNameForBreadcrumbData): Promise<string> {
return 'Historie';
}
async regsiterFetchListResponseHandler() {
this.listStore.fetchListResponse$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(async ({ processId, queryParams, response }) => {
/**
* Wenn die Suche erfolgreich war, wird der Benutzer auf die Liste oder Detailseite des gefundenen Artikels weitergeleitet.
*/
const filterQueryParams = this.listStore.filter.getQueryParams();
if (response.hits === 1) {
const detailsPath = await this.getPathForDetail(response.result[0]).pipe(take(1)).toPromise();
await this.router.navigate(detailsPath.path, { queryParams: { ...queryParams, ...filterQueryParams, ...detailsPath.queryParams } });
} else if (response.hits > 1) {
const listPath = await this.getPathFoListBreadcrumb({ processId, queryParams });
await this.router.navigate(listPath.path, { queryParams: { ...queryParams, ...filterQueryParams, ...listPath.queryParams } });
} else {
await this.router.navigate([], { queryParams: { ...queryParams, ...filterQueryParams } });
}
});
}
}

View File

@@ -84,7 +84,7 @@ export class PickupShelfOutDetailsComponent extends PickupShelfDetailsBaseCompon
addToPreviousCompartmentAction$ = this.store.addToPreviousCompartmentAction$;
mainActions$ = this.store.mainActions$;
mainActions$ = this.store.mainShelfOutActions$;
trackByFnGroupDBHOrderItemListItemDTO = (index: number, group: { type: string; items: DBHOrderItemListItemDTO[] }) => group.type;

View File

@@ -7,7 +7,7 @@ import { PickupShelfIOService, PickupShelfOutService } from '@domain/pickup-shel
import { GetNameForBreadcrumbData, GetPathForBreadcrumbData, PickupShelfBaseComponent } from '../pickup-shelf-base.component';
import { NavigationRoute, PickUpShelfOutNavigationService } from '@shared/services';
import { AsyncPipe } from '@angular/common';
import { DBHOrderItemListItemDTO } from '@swagger/oms';
import { DBHOrderItemListItemDTO, ListResponseArgsOfDBHOrderItemListItemDTO } from '@swagger/oms';
import { Observable, of } from 'rxjs';
import { take } from 'rxjs/operators';
import { provideActionHandlers } from '@core/command';
@@ -15,6 +15,7 @@ import { ActionHandlerServices } from '@domain/oms';
import { ActionHandlerService } from '../services/action-handler.service';
import { FilterAutocompleteProvider } from '@shared/components/filter';
import { PickUpShelfOutAutocompleteProvider } from './providers/pickup-shelf-out-autocomplete.provider';
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
@Component({
selector: 'page-pickup-shelf-out',
@@ -203,4 +204,30 @@ export class PickupShelfOutComponent extends PickupShelfBaseComponent {
async getNameForHistoryBreadcrumb(data: GetNameForBreadcrumbData): Promise<string> {
return 'Historie';
}
async regsiterFetchListResponseHandler() {
this.listStore.fetchListResponse$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(async ({ processId, queryParams, response }) => {
/**
* Wenn die Suche erfolgreich war, wird der Benutzer auf die Liste oder Detailseite des gefundenen Artikels weitergeleitet.
*/
const filterQueryParams = this.listStore.filter.getQueryParams();
if (response.hits === 1 || this._hasSameOrderNumber(response)) {
const detailsPath = await this.getPathForDetail(response.result[0]).pipe(take(1)).toPromise();
await this.router.navigate(detailsPath.path, { queryParams: { ...queryParams, ...filterQueryParams, ...detailsPath.queryParams } });
} else if (response.hits > 1) {
const listPath = await this.getPathFoListBreadcrumb({ processId, queryParams });
await this.router.navigate(listPath.path, { queryParams: { ...queryParams, ...filterQueryParams, ...listPath.queryParams } });
} else {
await this.router.navigate([], { queryParams: { ...queryParams, ...filterQueryParams } });
}
});
}
// Fix Ticket #4684 Navigate on Details if items contain same OrderNumber
private _hasSameOrderNumber(response: ListResponseArgsOfDBHOrderItemListItemDTO) {
if (response.hits === 0) return false;
const orderNumbers = new Set(response.result.map((item) => item.orderNumber));
return orderNumbers.size === 1;
}
}

View File

@@ -1,5 +1,5 @@
import { PickupShelfDetailsState } from './pickup-shelf-details.state';
import { DBHOrderItemListItemDTO } from '@swagger/oms';
import { DBHOrderItemListItemDTO, KeyValueDTOOfStringAndString } from '@swagger/oms';
export const selectOrder = (s: PickupShelfDetailsState) => s.order;
@@ -245,6 +245,26 @@ export const selectMainActions = (s: PickupShelfDetailsState) => {
?.filter((action) => (fetchPartial ? !action.command.includes('FETCHED_PARTIAL') : true));
};
export const selectShelfOutMainActions = (s: PickupShelfDetailsState) => {
const items = selectOrderItems(s);
const fetchPartial = selectFetchPartial(s);
// Ticket #4690 Consider every Item for selecting the main actions in Details View - Only for PickUpShelfOut
const actions: KeyValueDTOOfStringAndString[] = [];
for (const item of items) {
const actionsFromItem = item?.actions
?.filter((action) => typeof action?.enabled !== 'boolean')
?.filter((action) => (fetchPartial ? !action.command.includes('FETCHED_PARTIAL') : true));
for (const action of actionsFromItem) {
if (!actions.find((a) => a.command === action.command)) {
actions.push(action);
}
}
}
return actions;
};
export const selectCustomerNumber = (s: PickupShelfDetailsState) => {
const order = selectOrder(s);
return order?.buyer?.buyerNumber;

View File

@@ -212,6 +212,12 @@ export class PickupShelfDetailsStore extends ComponentStore<PickupShelfDetailsSt
return this.get(Selectors.selectMainActions);
}
mainShelfOutActions$ = this.select(Selectors.selectShelfOutMainActions);
get mainShelfOutActions() {
return this.get(Selectors.selectShelfOutMainActions);
}
customerNumber$ = this.select(Selectors.selectCustomerNumber);
get customerNumber() {

View File

@@ -2,3 +2,7 @@
@apply flex flex-row justify-between items-center bg-white rounded mt-px-2 px-4 font-bold;
height: 53px;
}
:host.has-annotation {
@apply text-[#5A728A];
}

View File

@@ -13,9 +13,13 @@
<div class="w-32 page-package-list-item__items-count">{{ package?.items ?? '-' }} <span class="font-normal">Exemplare</span></div>
<div class="text-right grow">
<div
*ngIf="!hasAnnotation; else annotationTmpl"
class="rounded inline-block px-4 text-white page-package-list-item__arrival-status whitespace-nowrap"
[class]="package?.arrivalStatus | arrivalStatusColorClass"
>
{{ package?.arrivalStatus | arrivalStatus }}
</div>
<ng-template #annotationTmpl>
{{ annotation }}
</ng-template>
</div>

View File

@@ -1,4 +1,4 @@
import { Component, ChangeDetectionStrategy, Input } from '@angular/core';
import { Component, ChangeDetectionStrategy, Input, OnChanges, SimpleChanges, HostBinding } from '@angular/core';
import { PackageDTO2 } from '@swagger/wws';
@Component({
@@ -7,9 +7,19 @@ import { PackageDTO2 } from '@swagger/wws';
styleUrls: ['package-list-item.component.css'],
changeDetection: ChangeDetectionStrategy.OnPush,
})
export class PackageListItemComponent {
export class PackageListItemComponent implements OnChanges {
@Input()
package: PackageDTO2;
constructor() {}
annotation: string | undefined;
@HostBinding('class.has-annotation')
hasAnnotation = false;
ngOnChanges(changes: SimpleChanges) {
if (changes.package) {
this.annotation = this.package?.features?.['annotation'] ?? undefined;
this.hasAnnotation = !!this.annotation;
}
}
}

View File

@@ -30,7 +30,6 @@ export { DialogOfString } from './models/dialog-of-string';
export { DialogSettings } from './models/dialog-settings';
export { DialogContentType } from './models/dialog-content-type';
export { KeyValueDTOOfStringAndString } from './models/key-value-dtoof-string-and-string';
export { IPublicUserInfo } from './models/ipublic-user-info';
export { ProblemDetails } from './models/problem-details';
export { ResponseArgsOfPackageDTO } from './models/response-args-of-package-dto';
export { ResponseArgsOfNullableBoolean } from './models/response-args-of-nullable-boolean';
@@ -85,11 +84,11 @@ export { VATValueDTO } from './models/vatvalue-dto';
export { VATType } from './models/vattype';
export { QuantityValueDTO } from './models/quantity-value-dto';
export { QueryTokenDTO } from './models/query-token-dto';
export { ResponseArgsOfProductListDTO } from './models/response-args-of-product-list-dto';
export { ResponseArgsOfString } from './models/response-args-of-string';
export { DocumentPayloadOfIEnumerableOfProductListItemDTO } from './models/document-payload-of-ienumerable-of-product-list-item-dto';
export { ListResponseArgsOfProductListDTO } from './models/list-response-args-of-product-list-dto';
export { ResponseArgsOfIEnumerableOfProductListDTO } from './models/response-args-of-ienumerable-of-product-list-dto';
export { ResponseArgsOfProductListDTO } from './models/response-args-of-product-list-dto';
export { ResponseArgsOfProductListItemDTO } from './models/response-args-of-product-list-item-dto';
export { BatchResponseArgsOfProductListItemDTOAndString } from './models/batch-response-args-of-product-list-item-dtoand-string';
export { KeyValuePairOfStringAndProductListItemDTO } from './models/key-value-pair-of-string-and-product-list-item-dto';

View File

@@ -1,7 +0,0 @@
/* tslint:disable */
export interface IPublicUserInfo {
alias?: string;
displayName?: string;
isAuthenticated: boolean;
username?: string;
}

View File

@@ -4,6 +4,7 @@ export interface PackageDTO2 extends PackageArrivalStatusDTO{
app?: string;
complainedEmail?: string;
creditRequestedEmail?: string;
features?: {[key: string]: string};
items?: number;
itemsOrdered?: number;
missing?: string;

View File

@@ -10,6 +10,7 @@ export interface ProductListDTO2 extends EntityDTOBase{
command?: string;
commandData?: string;
description?: string;
key?: string;
name?: string;
organizationalUnit?: string;
parent?: EntityDTOContainerOfProductListDTO2;

View File

@@ -12,6 +12,7 @@ export interface ProductListItemDTO2 extends EntityDTOBase{
command?: string;
commandData?: string;
description?: string;
key?: string;
name?: string;
organizationalUnit?: string;
parent?: EntityDTOContainerOfProductListItemDTO2;

View File

@@ -1,11 +1,9 @@
/* tslint:disable */
import { DialogOfString } from './dialog-of-string';
import { IPublicUserInfo } from './ipublic-user-info';
export interface ResponseArgs {
dialog?: DialogOfString;
error: boolean;
invalidProperties?: {[key: string]: string};
message?: string;
requestId?: number;
userInfo?: IPublicUserInfo;
}

View File

@@ -10,13 +10,13 @@ import { map as __map, filter as __filter } from 'rxjs/operators';
import { ResponseArgsOfQuerySettingsDTO } from '../models/response-args-of-query-settings-dto';
import { ListResponseArgsOfProductListItemDTO } from '../models/list-response-args-of-product-list-item-dto';
import { QueryTokenDTO } from '../models/query-token-dto';
import { ResponseArgsOfProductListDTO } from '../models/response-args-of-product-list-dto';
import { ProductListDTO } from '../models/product-list-dto';
import { ProductListItemDTO } from '../models/product-list-item-dto';
import { ResponseArgsOfString } from '../models/response-args-of-string';
import { DocumentPayloadOfIEnumerableOfProductListItemDTO } from '../models/document-payload-of-ienumerable-of-product-list-item-dto';
import { ListResponseArgsOfProductListDTO } from '../models/list-response-args-of-product-list-dto';
import { ResponseArgsOfProductListDTO } from '../models/response-args-of-product-list-dto';
import { ProductListDTO } from '../models/product-list-dto';
import { ResponseArgsOfProductListItemDTO } from '../models/response-args-of-product-list-item-dto';
import { ProductListItemDTO } from '../models/product-list-item-dto';
import { BatchResponseArgsOfProductListItemDTOAndString } from '../models/batch-response-args-of-product-list-item-dtoand-string';
@Injectable({
providedIn: 'root',
@@ -24,6 +24,9 @@ import { BatchResponseArgsOfProductListItemDTOAndString } from '../models/batch-
class ProductListService extends __BaseService {
static readonly ProductListQueryProductListItemsSettingsPath = '/inventory/productlist/items/s/settings';
static readonly ProductListQueryProductListItemPath = '/inventory/productlist/items/s';
static readonly ProductListGetProductListPath = '/inventory/productlist/key/{key}';
static readonly ProductListCreateOrUpdateProductlistPath = '/inventory/productlist/{key}';
static readonly ProductListAddOrUpdateProductListItemsPath = '/inventory/productlist/{key}/items';
static readonly ProductListProductListItemPdfAsBase64Path = '/inventory/productlist/items/pdf/base64';
static readonly ProductListQueryProductListPath = '/inventory/productlist/s';
static readonly ProductListCreateProductListPath = '/inventory/productlist';
@@ -109,6 +112,132 @@ class ProductListService extends __BaseService {
);
}
/**
* Productliste by key
* @param key undefined
*/
ProductListGetProductListResponse(key: string): __Observable<__StrictHttpResponse<ResponseArgsOfProductListDTO>> {
let __params = this.newParams();
let __headers = new HttpHeaders();
let __body: any = null;
let req = new HttpRequest<any>(
'GET',
this.rootUrl + `/inventory/productlist/key/${encodeURIComponent(String(key))}`,
__body,
{
headers: __headers,
params: __params,
responseType: 'json'
});
return this.http.request<any>(req).pipe(
__filter(_r => _r instanceof HttpResponse),
__map((_r) => {
return _r as __StrictHttpResponse<ResponseArgsOfProductListDTO>;
})
);
}
/**
* Productliste by key
* @param key undefined
*/
ProductListGetProductList(key: string): __Observable<ResponseArgsOfProductListDTO> {
return this.ProductListGetProductListResponse(key).pipe(
__map(_r => _r.body as ResponseArgsOfProductListDTO)
);
}
/**
* Create or Update Productlist
* @param params The `ProductListService.ProductListCreateOrUpdateProductlistParams` containing the following parameters:
*
* - `payload`:
*
* - `key`:
*/
ProductListCreateOrUpdateProductlistResponse(params: ProductListService.ProductListCreateOrUpdateProductlistParams): __Observable<__StrictHttpResponse<ResponseArgsOfProductListDTO>> {
let __params = this.newParams();
let __headers = new HttpHeaders();
let __body: any = null;
__body = params.payload;
let req = new HttpRequest<any>(
'POST',
this.rootUrl + `/inventory/productlist/${encodeURIComponent(String(params.key))}`,
__body,
{
headers: __headers,
params: __params,
responseType: 'json'
});
return this.http.request<any>(req).pipe(
__filter(_r => _r instanceof HttpResponse),
__map((_r) => {
return _r as __StrictHttpResponse<ResponseArgsOfProductListDTO>;
})
);
}
/**
* Create or Update Productlist
* @param params The `ProductListService.ProductListCreateOrUpdateProductlistParams` containing the following parameters:
*
* - `payload`:
*
* - `key`:
*/
ProductListCreateOrUpdateProductlist(params: ProductListService.ProductListCreateOrUpdateProductlistParams): __Observable<ResponseArgsOfProductListDTO> {
return this.ProductListCreateOrUpdateProductlistResponse(params).pipe(
__map(_r => _r.body as ResponseArgsOfProductListDTO)
);
}
/**
* Add Or Update List Items
* @param params The `ProductListService.ProductListAddOrUpdateProductListItemsParams` containing the following parameters:
*
* - `payload`:
*
* - `key`:
*/
ProductListAddOrUpdateProductListItemsResponse(params: ProductListService.ProductListAddOrUpdateProductListItemsParams): __Observable<__StrictHttpResponse<ListResponseArgsOfProductListItemDTO>> {
let __params = this.newParams();
let __headers = new HttpHeaders();
let __body: any = null;
__body = params.payload;
let req = new HttpRequest<any>(
'POST',
this.rootUrl + `/inventory/productlist/${encodeURIComponent(String(params.key))}/items`,
__body,
{
headers: __headers,
params: __params,
responseType: 'json'
});
return this.http.request<any>(req).pipe(
__filter(_r => _r instanceof HttpResponse),
__map((_r) => {
return _r as __StrictHttpResponse<ListResponseArgsOfProductListItemDTO>;
})
);
}
/**
* Add Or Update List Items
* @param params The `ProductListService.ProductListAddOrUpdateProductListItemsParams` containing the following parameters:
*
* - `payload`:
*
* - `key`:
*/
ProductListAddOrUpdateProductListItems(params: ProductListService.ProductListAddOrUpdateProductListItemsParams): __Observable<ListResponseArgsOfProductListItemDTO> {
return this.ProductListAddOrUpdateProductListItemsResponse(params).pipe(
__map(_r => _r.body as ListResponseArgsOfProductListItemDTO)
);
}
/**
* Artikelliste als PDF (base64)
* @param payload DocumentPayload mit EANsK
@@ -326,7 +455,7 @@ class ProductListService extends __BaseService {
/**
* @param productlistUId undefined
*/
ProductListProductlistCompletedResponse(productlistUId: null | string): __Observable<__StrictHttpResponse<ResponseArgsOfProductListDTO>> {
ProductListProductlistCompletedResponse(productlistUId: string): __Observable<__StrictHttpResponse<ResponseArgsOfProductListDTO>> {
let __params = this.newParams();
let __headers = new HttpHeaders();
let __body: any = null;
@@ -351,7 +480,7 @@ class ProductListService extends __BaseService {
/**
* @param productlistUId undefined
*/
ProductListProductlistCompleted(productlistUId: null | string): __Observable<ResponseArgsOfProductListDTO> {
ProductListProductlistCompleted(productlistUId: string): __Observable<ResponseArgsOfProductListDTO> {
return this.ProductListProductlistCompletedResponse(productlistUId).pipe(
__map(_r => _r.body as ResponseArgsOfProductListDTO)
);
@@ -451,7 +580,7 @@ class ProductListService extends __BaseService {
/**
* @param productListItemUId undefined
*/
ProductListProductListItemCompletedResponse(productListItemUId: null | string): __Observable<__StrictHttpResponse<ResponseArgsOfProductListItemDTO>> {
ProductListProductListItemCompletedResponse(productListItemUId: string): __Observable<__StrictHttpResponse<ResponseArgsOfProductListItemDTO>> {
let __params = this.newParams();
let __headers = new HttpHeaders();
let __body: any = null;
@@ -476,7 +605,7 @@ class ProductListService extends __BaseService {
/**
* @param productListItemUId undefined
*/
ProductListProductListItemCompleted(productListItemUId: null | string): __Observable<ResponseArgsOfProductListItemDTO> {
ProductListProductListItemCompleted(productListItemUId: string): __Observable<ResponseArgsOfProductListItemDTO> {
return this.ProductListProductListItemCompletedResponse(productListItemUId).pipe(
__map(_r => _r.body as ResponseArgsOfProductListItemDTO)
);
@@ -519,6 +648,22 @@ class ProductListService extends __BaseService {
module ProductListService {
/**
* Parameters for ProductListCreateOrUpdateProductlist
*/
export interface ProductListCreateOrUpdateProductlistParams {
payload: ProductListDTO;
key: string;
}
/**
* Parameters for ProductListAddOrUpdateProductListItems
*/
export interface ProductListAddOrUpdateProductListItemsParams {
payload: Array<ProductListItemDTO>;
key: string;
}
/**
* Parameters for ProductListCreateProductList
*/
@@ -541,7 +686,7 @@ module ProductListService {
* Parameters for ProductListGetProductlistItems
*/
export interface ProductListGetProductlistItemsParams {
productlistUId: null | string;
productlistUId: string;
take?: null | number;
skip?: null | number;
}
@@ -558,7 +703,7 @@ module ProductListService {
* Parameters for ProductListUpdateProductListItem
*/
export interface ProductListUpdateProductListItemParams {
productListItemUId: null | string;
productListItemUId: string;
data: ProductListItemDTO;
locale?: null | string;
}

View File

@@ -684,7 +684,7 @@ module StockService {
/**
* Filial-Nr
*/
branchNumber: null | string;
branchNumber: string;
/**
* Lokalisierung (optional)

View File

@@ -102,7 +102,7 @@ class WareneingangService extends __BaseService {
* Packstück-Details
* @param packageId undefined
*/
WareneingangGetPackageDetailsResponse(packageId: null | string): __Observable<__StrictHttpResponse<ResponseArgsOfPackageDetailResponseDTO>> {
WareneingangGetPackageDetailsResponse(packageId: string): __Observable<__StrictHttpResponse<ResponseArgsOfPackageDetailResponseDTO>> {
let __params = this.newParams();
let __headers = new HttpHeaders();
let __body: any = null;
@@ -128,7 +128,7 @@ class WareneingangService extends __BaseService {
* Packstück-Details
* @param packageId undefined
*/
WareneingangGetPackageDetails(packageId: null | string): __Observable<ResponseArgsOfPackageDetailResponseDTO> {
WareneingangGetPackageDetails(packageId: string): __Observable<ResponseArgsOfPackageDetailResponseDTO> {
return this.WareneingangGetPackageDetailsResponse(packageId).pipe(
__map(_r => _r.body as ResponseArgsOfPackageDetailResponseDTO)
);
@@ -192,8 +192,8 @@ module WareneingangService {
*/
export interface WareneingangChangePackageStatusParams {
payload: PackageArrivalStatusDTO;
packageId: null | string;
modifier: null | string;
packageId: string;
modifier: string;
}
}