#929 Add ProductGroupName to continued process shipping document products

This commit is contained in:
Sebastian
2020-09-17 16:59:28 +02:00
parent 349259a3bd
commit 6d1d7ed65c
4 changed files with 141 additions and 33 deletions

View File

@@ -317,11 +317,14 @@ export class RestRemissionProductsService {
return productGroupNames$.pipe(
map((groupNames) =>
products.map((product) => {
const proudctGroupNameMatch = groupNames.find(
(name) => name.key === product.productGroup
);
return {
...product,
productGroupName: groupNames.find(
(name) => name.key === product.productGroup
).value,
productGroupName: proudctGroupNameMatch
? proudctGroupNameMatch.value
: '',
} as RemissionProduct;
})
)

View File

@@ -199,6 +199,7 @@ export class RestRemissionService extends RemissionService {
return this.returnApi
.getReturnReceipts({
eagerLoading: 3,
returnId: returnDto.id,
})
.pipe(
@@ -219,6 +220,32 @@ export class RestRemissionService extends RemissionService {
},
},
})),
withLatestFrom(this.stock$),
mergeMap(([remi, stock]) => {
const shippingDocumentsWithProductGroupNames$ = forkJoin(
// tslint:disable-next-line: no-shadowed-variable
remi.shippingDocuments.map((shippingDocument) => {
const productsWithGroupNames$ = this.restRemissionProcessService.addGroupnameToProducts(
shippingDocument.products,
stock.id
);
return productsWithGroupNames$.pipe(
map((products) => ({
...shippingDocument,
products,
}))
);
})
);
return shippingDocumentsWithProductGroupNames$.pipe(
map((shippingDocuments) => ({
...remi,
shippingDocuments,
}))
);
}),
tap((continuedRemission) =>
this.updateRemissionFilter({
remissionProcessId: continuedRemission.id,

View File

@@ -34,7 +34,7 @@ import { ReloadRemission } from '../actions/remission.actions';
import { ReloadFormState } from '../actions/forms.actions';
import { FILIALE_LANDING_PAGE } from '../../utils/app.constants';
export const SYNC_DATA_VERSION = 213;
export const SYNC_DATA_VERSION = 219;
export class AppStateModel {
currentProcesssId: number;

View File

@@ -5,7 +5,10 @@ import * as actions from '../actions/remission.actions';
import { UserStateSyncData } from '../../models/user-state-sync.model';
import { AppUserDataSync } from '../actions/app.actions';
import { isNullOrUndefined } from 'util';
import { RemissionResourceType, RemissionTargetType } from '../../../modules/remission/models/remission-resource-type.model';
import {
RemissionResourceType,
RemissionTargetType,
} from '../../../modules/remission/models/remission-resource-type.model';
import { RemissionService, RemissionProcess } from '@isa/remission';
import { RemissionFinishingProcessStatus } from '../../../modules/remission/models/remission-finishing-process-status.enum';
import get from 'lodash/get';
@@ -29,7 +32,10 @@ export class RemissionState {
constructor(private store: Store) {}
@Action(actions.SetRemissionCreated)
setRemissionCreated(ctx: StateContext<RemissionStateModel>, { status }: actions.SetRemissionCreated) {
setRemissionCreated(
ctx: StateContext<RemissionStateModel>,
{ status }: actions.SetRemissionCreated
) {
const state = ctx.getState();
const currentRemission = state.remission;
const remission: Remission = {
@@ -42,7 +48,10 @@ export class RemissionState {
}
@Action(actions.SetRemissionStarted)
setRemissionStarted(ctx: StateContext<RemissionStateModel>, { status }: actions.SetRemissionStarted) {
setRemissionStarted(
ctx: StateContext<RemissionStateModel>,
{ status }: actions.SetRemissionStarted
) {
const state = ctx.getState();
const currentRemission = state.remission;
const remission: Remission = {
@@ -54,7 +63,10 @@ export class RemissionState {
}
@Action(actions.SetRemissionCompleted)
setRemissionCompleted(ctx: StateContext<RemissionStateModel>, { status }: actions.SetRemissionCompleted) {
setRemissionCompleted(
ctx: StateContext<RemissionStateModel>,
{ status }: actions.SetRemissionCompleted
) {
const state = ctx.getState();
const currentRemission = state.remission;
const remission: Remission = {
@@ -66,14 +78,19 @@ export class RemissionState {
}
@Action(actions.SetRemissionProcess)
setRemissionProcess(ctx: StateContext<RemissionStateModel>, { remissionProcess, initialValue }: actions.SetRemissionProcess) {
setRemissionProcess(
ctx: StateContext<RemissionStateModel>,
{ remissionProcess, initialValue }: actions.SetRemissionProcess
) {
const state = ctx.getState();
const currentRemission = state.remission;
const filter = get(remissionProcess, 'filter.filter', null);
const remissionWithEmptyFilters =
filter === null ||
Object.keys(filter).every((sourceKey) =>
Object.keys(filter[sourceKey]).every((targetKey) => Object.keys(filter[sourceKey][targetKey]).length === 0)
Object.keys(filter[sourceKey]).every(
(targetKey) => Object.keys(filter[sourceKey][targetKey]).length === 0
)
);
const remission: Remission = {
...currentRemission,
@@ -101,7 +118,10 @@ export class RemissionState {
}
@Action(actions.SetRemissionFinishedProcessStatus)
setRemissionFinishedProcessStatus(ctx: StateContext<RemissionStateModel>, { status }: actions.SetRemissionFinishedProcessStatus) {
setRemissionFinishedProcessStatus(
ctx: StateContext<RemissionStateModel>,
{ status }: actions.SetRemissionFinishedProcessStatus
) {
const state = ctx.getState();
const currentRemission = state.remission;
const remission: Remission = {
@@ -113,7 +133,10 @@ export class RemissionState {
}
@Action(actions.SetRemissionScannedContainerId)
setRemissionScannedContainerId(ctx: StateContext<RemissionStateModel>, { containerId }: actions.SetRemissionScannedContainerId) {
setRemissionScannedContainerId(
ctx: StateContext<RemissionStateModel>,
{ containerId }: actions.SetRemissionScannedContainerId
) {
const state = ctx.getState();
const currentRemission = state.remission;
const remission: Remission = {
@@ -125,7 +148,10 @@ export class RemissionState {
}
@Action(actions.SetRemissionTarget)
setRemissionTarget(ctx: StateContext<RemissionStateModel>, { target, source }: actions.SetRemissionTarget) {
setRemissionTarget(
ctx: StateContext<RemissionStateModel>,
{ target, source }: actions.SetRemissionTarget
) {
const state = ctx.getState();
const currentRemission = state.remission;
let remission: Remission;
@@ -138,7 +164,10 @@ export class RemissionState {
}
@Action(actions.SetRemissionSource)
setRemissionSource(ctx: StateContext<RemissionStateModel>, { source }: actions.SetRemissionSource) {
setRemissionSource(
ctx: StateContext<RemissionStateModel>,
{ source }: actions.SetRemissionSource
) {
const state = ctx.getState();
const currentRemission = state.remission;
const remission: Remission = {
@@ -157,7 +186,10 @@ export class RemissionState {
}
@Action(actions.SetRemissionProducts)
setRemissionProducts(ctx: StateContext<RemissionStateModel>, { products }: actions.SetRemissionProducts) {
setRemissionProducts(
ctx: StateContext<RemissionStateModel>,
{ products }: actions.SetRemissionProducts
) {
const state = ctx.getState();
const currentRemission = state.remission;
const remission: Remission = {
@@ -169,7 +201,10 @@ export class RemissionState {
}
@Action(actions.SetRemissionSearchedProduct)
setRemissionSearchedProduct(ctx: StateContext<RemissionStateModel>, { product }: actions.SetRemissionSearchedProduct) {
setRemissionSearchedProduct(
ctx: StateContext<RemissionStateModel>,
{ product }: actions.SetRemissionSearchedProduct
) {
const state = ctx.getState();
const currentRemission = state.remission;
const remission: Remission = {
@@ -207,7 +242,10 @@ export class RemissionState {
}
@Action(actions.CompleteRemissionShippingDocument)
completeRemissionShippingDocument(ctx: StateContext<RemissionStateModel>, { shippingDocument }: actions.SetRemissionShippingDocument) {
completeRemissionShippingDocument(
ctx: StateContext<RemissionStateModel>,
{ shippingDocument }: actions.SetRemissionShippingDocument
) {
const state = ctx.getState();
const currentRemission = state.remission;
const currentRemissionProcess = currentRemission.remissionProcess;
@@ -217,7 +255,9 @@ export class RemissionState {
if (currentRemissionProcess.shippingDocuments) {
const shippingDocumentAlreadyExists =
currentRemissionProcess.shippingDocuments.findIndex((sd) => sd.id === shippingDocument.id) !== -1;
currentRemissionProcess.shippingDocuments.findIndex(
(sd) => sd.id === shippingDocument.id
) !== -1;
if (shippingDocumentAlreadyExists) {
updatedRemissionProcess = {
...updatedRemissionProcess,
@@ -237,7 +277,8 @@ export class RemissionState {
}
const remission: Remission = {
...currentRemission,
remissionFinishingProcessStatus: RemissionFinishingProcessStatus.containerScanned,
remissionFinishingProcessStatus:
RemissionFinishingProcessStatus.containerScanned,
remissionProcess: updatedRemissionProcess,
};
ctx.patchState({ remission });
@@ -245,7 +286,10 @@ export class RemissionState {
}
@Action(actions.DeleteRemissionShippingDocument)
deleteShippingDocument(ctx: StateContext<RemissionStateModel>, { remissionProcessId }: actions.DeleteRemissionShippingDocument) {
deleteShippingDocument(
ctx: StateContext<RemissionStateModel>,
{ remissionProcessId }: actions.DeleteRemissionShippingDocument
) {
const state = ctx.getState();
const currentRemission = state.remission;
@@ -261,7 +305,10 @@ export class RemissionState {
}
@Action(actions.SetRemissionShippingDocument)
setRemissionShippingDocument(ctx: StateContext<RemissionStateModel>, { shippingDocument }: actions.SetRemissionShippingDocument) {
setRemissionShippingDocument(
ctx: StateContext<RemissionStateModel>,
{ shippingDocument }: actions.SetRemissionShippingDocument
) {
const state = ctx.getState();
const currentRemission = state.remission;
const currentRemissionProcess = currentRemission.remissionProcess;
@@ -269,7 +316,9 @@ export class RemissionState {
if (currentRemissionProcess.shippingDocuments) {
const shippingDocumentAlreadyExists =
currentRemissionProcess.shippingDocuments.findIndex((sd) => sd.id === shippingDocument.id) !== -1;
currentRemissionProcess.shippingDocuments.findIndex(
(sd) => sd.id === shippingDocument.id
) !== -1;
if (shippingDocumentAlreadyExists) {
updatedRemissionProcess = {
...currentRemission.remissionProcess,
@@ -285,13 +334,19 @@ export class RemissionState {
} else {
updatedRemissionProcess = {
...currentRemission.remissionProcess,
shippingDocuments: [...currentRemission.remissionProcess.shippingDocuments, shippingDocument],
shippingDocuments: [
...(currentRemission.remissionProcess.shippingDocuments || []),
shippingDocument,
],
};
}
} else {
updatedRemissionProcess = {
...currentRemission.remissionProcess,
shippingDocuments: [...currentRemission.remissionProcess.shippingDocuments, shippingDocument],
shippingDocuments: [
...(currentRemission.remissionProcess.shippingDocuments || []),
shippingDocument,
],
};
}
const remission: Remission = {
@@ -364,7 +419,10 @@ export class RemissionState {
}
@Action(actions.ReloadRemission)
reload(ctx: StateContext<RemissionStateModel>, { remission }: actions.ReloadRemission) {
reload(
ctx: StateContext<RemissionStateModel>,
{ remission }: actions.ReloadRemission
) {
ctx.patchState({
remission: {
...remission,
@@ -376,7 +434,10 @@ export class RemissionState {
}
@Action(actions.SetAllOpenExistingRemissions)
setAllOpenExistingRemissions(ctx: StateContext<RemissionStateModel>, { remissionProcesses }: actions.SetAllOpenExistingRemissions) {
setAllOpenExistingRemissions(
ctx: StateContext<RemissionStateModel>,
{ remissionProcesses }: actions.SetAllOpenExistingRemissions
) {
const state = ctx.getState();
const currentExistingRemissions = state.existingRemissions;
const existingRemissions: RemissionExistingOverview = {
@@ -388,7 +449,10 @@ export class RemissionState {
}
@Action(actions.SetAllExistingRemissions)
setAllExistingRemissions(ctx: StateContext<RemissionStateModel>, { remissionProcesses }: actions.SetAllExistingRemissions) {
setAllExistingRemissions(
ctx: StateContext<RemissionStateModel>,
{ remissionProcesses }: actions.SetAllExistingRemissions
) {
const state = ctx.getState();
const currentExistingRemissions = state.existingRemissions;
const existingRemissions: RemissionExistingOverview = {
@@ -408,7 +472,10 @@ export class RemissionState {
}
@Action(actions.SetRemissionFilter)
setRemissionFilter(ctx: StateContext<RemissionStateModel>, { filter }: actions.SetRemissionFilter) {
setRemissionFilter(
ctx: StateContext<RemissionStateModel>,
{ filter }: actions.SetRemissionFilter
) {
const state = ctx.getState();
const remissionState = state.remission;
@@ -429,7 +496,10 @@ export class RemissionState {
}
@Action(actions.RequestUpdateRemissionFilter)
setIsLoadingFilters(ctx: StateContext<RemissionStateModel>, { filter }: actions.RequestUpdateRemissionFilter) {
setIsLoadingFilters(
ctx: StateContext<RemissionStateModel>,
{ filter }: actions.RequestUpdateRemissionFilter
) {
const state = ctx.getState();
const remissionState = state.remission;
@@ -441,8 +511,10 @@ export class RemissionState {
...remissionState.remissionProcess,
filter: {
...remissionState.remissionProcess.filter,
source: filter.source || remissionState.remissionProcess.filter.source,
target: filter.target || remissionState.remissionProcess.filter.target,
source:
filter.source || remissionState.remissionProcess.filter.source,
target:
filter.target || remissionState.remissionProcess.filter.target,
},
},
};
@@ -455,7 +527,10 @@ export class RemissionState {
}
@Action(actions.SetRemissionIsLoading)
setIsLoading(ctx: StateContext<RemissionStateModel>, { isLoading }: actions.SetRemissionIsLoading) {
setIsLoading(
ctx: StateContext<RemissionStateModel>,
{ isLoading }: actions.SetRemissionIsLoading
) {
const state = ctx.getState();
ctx.patchState({
@@ -465,7 +540,10 @@ export class RemissionState {
}
@Action(actions.SetRemissionActiveView)
setActiveView(ctx: StateContext<RemissionStateModel>, { activeView }: actions.SetRemissionActiveView) {
setActiveView(
ctx: StateContext<RemissionStateModel>,
{ activeView }: actions.SetRemissionActiveView
) {
const state = ctx.getState();
const remissionState = state.remission;