feat(franvaro-report-form): new list structure for displaying reasons (TV-820)
Squashed commit of the following: commit 69ddfae6920c2d88b250b2d20040ef2b9442e077 Author: fueno <nicolas.fuentes-maturana@arbetsformedlingen.se> Date: Mon Nov 8 17:11:39 2021 +0100 TV-820 renamed enum commit 70387ddbfe54bc1cdd1186c6210049465dc2c0f8 Author: fueno <nicolas.fuentes-maturana@arbetsformedlingen.se> Date: Fri Nov 5 09:27:34 2021 +0100 TV-820 validation correction commit bd6637bb7f09721ad9620fc08df8f4015bbf4c57 Merge: 024a015cb9a14ef3Author: fueno <nicolas.fuentes-maturana@arbetsformedlingen.se> Date: Fri Nov 5 08:36:54 2021 +0100 Merge branch 'develop' into feature/TV-820 commit 024a015c47def0d57654d731b1243be7eaca2931 Author: fueno <nicolas.fuentes-maturana@arbetsformedlingen.se> Date: Thu Nov 4 13:11:35 2021 +0100 TV-820 set empty string as initial value for knownReasonComment commit 8b3c13c94b54353dd62a6f10f26f42d0c9b0aae3 Author: fueno <nicolas.fuentes-maturana@arbetsformedlingen.se> Date: Thu Nov 4 13:03:07 2021 +0100 TV-820 put back 'other reason' with comment field commit b153854fb7291ff2d173503aed82ae49e631c306 Merge: b9136b8d28d128c1Author: fueno <nicolas.fuentes-maturana@arbetsformedlingen.se> Date: Thu Nov 4 11:04:14 2021 +0100 Merge branch 'develop' into feature/TV-820 commit b9136b8d4293b7e7e3703601f783e41e43865c11 Merge: 6a611c0cca0b8ec7Author: fueno <nicolas.fuentes-maturana@arbetsformedlingen.se> Date: Wed Nov 3 16:18:33 2021 +0100 Merge branch 'develop' into feature/TV-820 commit 6a611c0c84f75cf14789f72812d21196dd44609e Author: fueno <nicolas.fuentes-maturana@arbetsformedlingen.se> Date: Tue Nov 2 13:28:14 2021 +0100 TV-820 changed if to switch statement, some refactoring commit a4190a0bbde25851cec38aafe4d88fae44b59230 Author: fueno <nicolas.fuentes-maturana@arbetsformedlingen.se> Date: Tue Nov 2 07:49:56 2021 +0100 TV-820 refactoring commit 5ec6680322208d8a5b7fe6a76db4cb2a3f524d62 Author: fueno <nicolas.fuentes-maturana@arbetsformedlingen.se> Date: Mon Nov 1 17:28:48 2021 +0100 TV-820 sorting reasons, refactoring commit d44a8548fd60b55d59630a4f5e8dde0c081315b5 Author: fueno <nicolas.fuentes-maturana@arbetsformedlingen.se> Date: Mon Nov 1 15:57:13 2021 +0100 TV-820 new list structure for displaying reasons
This commit is contained in:
@@ -0,0 +1,7 @@
|
||||
export enum OrsaksKoderAvvikelse {
|
||||
TACKAT_NEJ_TILL_INSATS_ELLER_AKTIVITET = 19,
|
||||
TACKAT_NEJ_TILL_ERBJUDET_ARBETE = 20,
|
||||
KAN_INTE_TILLGODOGÖRA_SIG_PROGRAMMET = 21,
|
||||
MISSKÖTT_SIG_ELLER_STÖRT_VERKSAMHETEN = 22,
|
||||
SER_TILL_ATT_ERBJUDET_ARBETE_INTE_KOMMER_TILL_STÅND = 28
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
export enum OrsaksKoderFranvaro {
|
||||
SJUK = 15,
|
||||
ARBETE = 16,
|
||||
OKÄND_ORSAK = 17,
|
||||
ANNAN_KÄND_ORSAK = 18,
|
||||
VAB = 26,
|
||||
UTBILDNING = 27
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
export enum KandaOrsakerEnum {
|
||||
export enum OrsaksKoderKanda {
|
||||
LakarbesokTandlakarbesok = 1,
|
||||
Familjeangelagenhet = 2,
|
||||
MoteMedMyndighet = 3,
|
||||
@@ -1,8 +1,10 @@
|
||||
import { OrsaksKoderAvvikelse } from '@msfa-enums/orsaks-koder-avvikelse.enum';
|
||||
import { AvvikelseReasonResponse } from './api/avvikelse-reason.response.model';
|
||||
|
||||
export interface AvvikelseReason {
|
||||
name: string;
|
||||
id: number;
|
||||
position?: number;
|
||||
}
|
||||
|
||||
export function mapResponseToAvvikelseReason(data: AvvikelseReasonResponse): AvvikelseReason {
|
||||
@@ -13,3 +15,30 @@ export function mapResponseToAvvikelseReason(data: AvvikelseReasonResponse): Avv
|
||||
id,
|
||||
};
|
||||
}
|
||||
|
||||
export function sortAvvikelseReasons(reasons: AvvikelseReason[]): AvvikelseReason[] {
|
||||
|
||||
for (const reason of reasons) {
|
||||
switch (reason.id) {
|
||||
case OrsaksKoderAvvikelse.TACKAT_NEJ_TILL_INSATS_ELLER_AKTIVITET:
|
||||
reason.position = 3
|
||||
break;
|
||||
case OrsaksKoderAvvikelse.TACKAT_NEJ_TILL_ERBJUDET_ARBETE:
|
||||
reason.position = 2;
|
||||
break;
|
||||
case OrsaksKoderAvvikelse.KAN_INTE_TILLGODOGÖRA_SIG_PROGRAMMET:
|
||||
reason.position = 1;
|
||||
break;
|
||||
case OrsaksKoderAvvikelse.MISSKÖTT_SIG_ELLER_STÖRT_VERKSAMHETEN:
|
||||
reason.position = 5;
|
||||
break;
|
||||
case OrsaksKoderAvvikelse.SER_TILL_ATT_ERBJUDET_ARBETE_INTE_KOMMER_TILL_STÅND:
|
||||
reason.position = 4;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return reasons.sort((reasonA, reasonB) => reasonA.position - reasonB.position);
|
||||
}
|
||||
|
||||
@@ -1,8 +1,12 @@
|
||||
import { ANNAN_KAND_ORSAK_ID } from '@msfa-constants/franvaro-reasons';
|
||||
import { OrsaksKoderFranvaro } from '@msfa-enums/orsaks-koder-franvaro.enum';
|
||||
import { OrsaksKoderKanda } from '@msfa-enums/orsaks-koder-kanda.enum';
|
||||
import { FranvaroReasonResponse } from './api/franvaro-reason.response.model';
|
||||
|
||||
export interface FranvaroReason {
|
||||
name: string;
|
||||
value: number;
|
||||
position?: number;
|
||||
}
|
||||
|
||||
export function mapResponseToFranvaroReason(data: FranvaroReasonResponse): FranvaroReason {
|
||||
@@ -13,3 +17,61 @@ export function mapResponseToFranvaroReason(data: FranvaroReasonResponse): Franv
|
||||
value: id,
|
||||
};
|
||||
}
|
||||
|
||||
export function sortFranvaroReasons(reasons: FranvaroReason[]): FranvaroReason[] {
|
||||
const filteredReasons = reasons.filter(reason =>
|
||||
reason.value !== OrsaksKoderFranvaro.ANNAN_KÄND_ORSAK);
|
||||
|
||||
for (const reason of filteredReasons) {
|
||||
switch (reason.value) {
|
||||
case OrsaksKoderFranvaro.SJUK:
|
||||
reason.position = 1;
|
||||
break;
|
||||
case OrsaksKoderFranvaro.ARBETE:
|
||||
reason.position = 3;
|
||||
break;
|
||||
case OrsaksKoderFranvaro.OKÄND_ORSAK:
|
||||
reason.position = 10;
|
||||
break;
|
||||
case OrsaksKoderFranvaro.VAB:
|
||||
reason.position = 2;
|
||||
break;
|
||||
case OrsaksKoderFranvaro.UTBILDNING:
|
||||
reason.position = 4;
|
||||
break;
|
||||
case OrsaksKoderKanda.LakarbesokTandlakarbesok:
|
||||
reason.position = 6;
|
||||
break;
|
||||
case OrsaksKoderKanda.Familjeangelagenhet:
|
||||
reason.position = 8;
|
||||
break;
|
||||
case OrsaksKoderKanda.MoteMedMyndighet:
|
||||
reason.position = 7;
|
||||
break;
|
||||
case OrsaksKoderKanda.Anstallningsintervju:
|
||||
reason.position = 5;
|
||||
break;
|
||||
case OrsaksKoderKanda.AnnanOrsak:
|
||||
reason.position = 9;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return filteredReasons.sort((reasonA, reasonB) => reasonA.position - reasonB.position);
|
||||
}
|
||||
|
||||
export function setKnownReason(knownReason: string): string {
|
||||
let reason: string;
|
||||
|
||||
for (const orsakskod in OrsaksKoderFranvaro) {
|
||||
if (orsakskod === knownReason) {
|
||||
return reason = knownReason;
|
||||
} else {
|
||||
reason = ANNAN_KAND_ORSAK_ID;
|
||||
}
|
||||
}
|
||||
|
||||
return reason;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user