Merge pull request #195 in TEA/mina-sidor-fa-web from feature/refactor-report-models to develop
Squashed commit of the following: commit c99074b30eb9792ba9a67d4257c45621381da068 Author: Erik Tiekstra <erik.tiekstra@arbetsformedlingen.se> Date: Tue Oct 12 16:29:11 2021 +0200 Removed unused model commit d122a7f61f52e8c6c5a48a7b7700b333c388e83e Author: Erik Tiekstra <erik.tiekstra@arbetsformedlingen.se> Date: Tue Oct 12 16:24:50 2021 +0200 Updated models commit 27de0084ba5f0dc5e3300ce7dbff0d27ab240941 Author: Erik Tiekstra <erik.tiekstra@arbetsformedlingen.se> Date: Tue Oct 12 16:24:33 2021 +0200 git st
This commit is contained in:
@@ -2,11 +2,11 @@ import { FormSelectItem } from '@af/digi-ng/_form/form-select';
|
|||||||
import { ChangeDetectionStrategy, Component, OnDestroy, OnInit } from '@angular/core';
|
import { ChangeDetectionStrategy, Component, OnDestroy, OnInit } from '@angular/core';
|
||||||
import { AbstractControl, FormArray, FormControl, FormGroup } from '@angular/forms';
|
import { AbstractControl, FormArray, FormControl, FormGroup } from '@angular/forms';
|
||||||
import { ActivatedRoute } from '@angular/router';
|
import { ActivatedRoute } from '@angular/router';
|
||||||
|
import { AvvikelseReportRequest, AvvikelseRequest } from '@msfa-models/api/avvikelse-request.model';
|
||||||
import { Avrop } from '@msfa-models/avrop.model';
|
import { Avrop } from '@msfa-models/avrop.model';
|
||||||
import { AvvikelseAlternativ_OLD, AvvikelseRequestData_OLD } from '@msfa-models/avvikelse.model';
|
import { AvvikelseQuestion } from '@msfa-models/avvikelse-question.model';
|
||||||
|
import { AvvikelseReason } from '@msfa-models/avvikelse-reason.model';
|
||||||
import { CustomError } from '@msfa-models/error/custom-error';
|
import { CustomError } from '@msfa-models/error/custom-error';
|
||||||
import { FragorForAvvikelser } from '@msfa-models/fragor-for-avvikelser.model';
|
|
||||||
import { OrsaksKoderAvvikelse } from '@msfa-models/orsaks-koder-avvikelse.model';
|
|
||||||
import { markControlsAsDirty } from '@msfa-utils/mark-controls-as-dirty.util';
|
import { markControlsAsDirty } from '@msfa-utils/mark-controls-as-dirty.util';
|
||||||
import { RegexValidator } from '@msfa-utils/validators/regex.validator';
|
import { RegexValidator } from '@msfa-utils/validators/regex.validator';
|
||||||
import { RequiredValidator } from '@msfa-validators/required.validator';
|
import { RequiredValidator } from '@msfa-validators/required.validator';
|
||||||
@@ -49,16 +49,16 @@ export class AvvikelseReportFormComponent implements OnInit, OnDestroy {
|
|||||||
shareReplay(1)
|
shareReplay(1)
|
||||||
);
|
);
|
||||||
|
|
||||||
reasons$: Observable<OrsaksKoderAvvikelse[]> = this.avvikelseReportFormService.getAvvikelseOrsaker$;
|
reasons$: Observable<AvvikelseReason[]> = this.avvikelseReportFormService.fetchAvvikelseReasons$;
|
||||||
reasonsAsNgDigiFormSelectItems$: Observable<FormSelectItem[]> = this.reasons$.pipe(
|
reasonsAsNgDigiFormSelectItems$: Observable<FormSelectItem[]> = this.reasons$.pipe(
|
||||||
map(reasons => reasons.map(reason => ({ name: reason.name, value: reason.id })))
|
map(reasons => reasons.map(reason => ({ name: reason.name, value: reason.id.toString() })))
|
||||||
);
|
);
|
||||||
|
|
||||||
allAvvikelseQuestions$ = this.avvikelseReportFormService.fragorForAvvikelser$;
|
allAvvikelseQuestions$ = this.avvikelseReportFormService.avvikelseQuestions$;
|
||||||
chosenReasonId$: Observable<string>;
|
chosenReasonId$: Observable<string>;
|
||||||
chosenReason$: Observable<OrsaksKoderAvvikelse>;
|
chosenReason$: Observable<AvvikelseReason>;
|
||||||
questionsForChosenReason$: Observable<FragorForAvvikelser[]>;
|
questionsForChosenReason$: Observable<AvvikelseQuestion[]>;
|
||||||
avvikelseSubmitData$: Observable<AvvikelseRequestData_OLD>;
|
avvikelseSubmitData$: Observable<AvvikelseReportRequest>;
|
||||||
confirmDialogIsOpen$ = new BehaviorSubject<boolean>(false);
|
confirmDialogIsOpen$ = new BehaviorSubject<boolean>(false);
|
||||||
submittedDate$ = new BehaviorSubject<Date | null>(null);
|
submittedDate$ = new BehaviorSubject<Date | null>(null);
|
||||||
private subscriptions: Subscription[] = [];
|
private subscriptions: Subscription[] = [];
|
||||||
@@ -70,7 +70,7 @@ export class AvvikelseReportFormComponent implements OnInit, OnDestroy {
|
|||||||
});
|
});
|
||||||
private formData$: Observable<AvvikelseFormData> = this.avvikelseFormGroup
|
private formData$: Observable<AvvikelseFormData> = this.avvikelseFormGroup
|
||||||
.valueChanges as Observable<AvvikelseFormData>;
|
.valueChanges as Observable<AvvikelseFormData>;
|
||||||
private currentQuestions: FragorForAvvikelser[];
|
private currentQuestions: AvvikelseQuestion[];
|
||||||
|
|
||||||
constructor(private avvikelseReportFormService: AvvikelseReportFormService, private activatedRoute: ActivatedRoute) {}
|
constructor(private avvikelseReportFormService: AvvikelseReportFormService, private activatedRoute: ActivatedRoute) {}
|
||||||
|
|
||||||
@@ -90,14 +90,14 @@ export class AvvikelseReportFormComponent implements OnInit, OnDestroy {
|
|||||||
return new Date();
|
return new Date();
|
||||||
}
|
}
|
||||||
|
|
||||||
getCurrentQuestionFromId(id: string): FragorForAvvikelser {
|
getCurrentQuestionFromId(id: string): AvvikelseQuestion {
|
||||||
return this.currentQuestions.find(currentQuestions => currentQuestions.id === id);
|
return this.currentQuestions.find(currentQuestions => currentQuestions.id === id);
|
||||||
}
|
}
|
||||||
|
|
||||||
ngOnInit(): void {
|
ngOnInit(): void {
|
||||||
this.chosenReasonId$ = this.reasonFormControl.valueChanges as Observable<string>;
|
this.chosenReasonId$ = this.reasonFormControl.valueChanges as Observable<string>;
|
||||||
this.chosenReason$ = combineLatest([this.chosenReasonId$, this.reasons$]).pipe(
|
this.chosenReason$ = combineLatest([this.chosenReasonId$, this.reasons$]).pipe(
|
||||||
map(([chosenReasonId, reasons]) => reasons.find(reason => reason.id === chosenReasonId))
|
map(([chosenReasonId, reasons]) => reasons.find(reason => reason.id.toString() === chosenReasonId))
|
||||||
);
|
);
|
||||||
|
|
||||||
this.questionsForChosenReason$ = combineLatest([this.chosenReasonId$, this.allAvvikelseQuestions$]).pipe(
|
this.questionsForChosenReason$ = combineLatest([this.chosenReasonId$, this.allAvvikelseQuestions$]).pipe(
|
||||||
@@ -124,7 +124,7 @@ export class AvvikelseReportFormComponent implements OnInit, OnDestroy {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
questionIsRequired(question: FragorForAvvikelser): boolean {
|
questionIsRequired(question: AvvikelseQuestion): boolean {
|
||||||
return !(question.id === '19_2' || question.id === '20_2');
|
return !(question.id === '19_2' || question.id === '20_2');
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -175,15 +175,15 @@ export class AvvikelseReportFormComponent implements OnInit, OnDestroy {
|
|||||||
genomforandeReferens: number,
|
genomforandeReferens: number,
|
||||||
chosenReason: string,
|
chosenReason: string,
|
||||||
formData: AvvikelseFormData
|
formData: AvvikelseFormData
|
||||||
): AvvikelseRequestData_OLD {
|
): AvvikelseReportRequest {
|
||||||
const avvikelseAlternativ: AvvikelseAlternativ_OLD = {
|
const avvikelseAlternativ: AvvikelseRequest = {
|
||||||
avvikelseorsakskod: chosenReason,
|
avvikelseOrsakskod: chosenReason,
|
||||||
frageformular: formData.questions.map((question, index) => ({
|
frageformular: formData.questions.map((question, index) => ({
|
||||||
fraga: this.currentQuestions[index].id,
|
fraga: this.currentQuestions[index].id,
|
||||||
svar: question,
|
svar: question,
|
||||||
})),
|
})),
|
||||||
rapporteringsdatum: formData.reportingDate,
|
rapporteringsdatum: formData.reportingDate,
|
||||||
} as AvvikelseAlternativ_OLD;
|
};
|
||||||
|
|
||||||
return { genomforandeReferens, avvikelseAlternativ };
|
return { genomforandeReferens, avvikelseAlternativ };
|
||||||
}
|
}
|
||||||
@@ -193,7 +193,7 @@ export class AvvikelseReportFormComponent implements OnInit, OnDestroy {
|
|||||||
this.currentQuestions = [];
|
this.currentQuestions = [];
|
||||||
}
|
}
|
||||||
|
|
||||||
private addQuestionToForm(question: FragorForAvvikelser): void {
|
private addQuestionToForm(question: AvvikelseQuestion): void {
|
||||||
// FormArray doesnt hold any IDs so we need to store these seperately and rebuild structure at submit
|
// FormArray doesnt hold any IDs so we need to store these seperately and rebuild structure at submit
|
||||||
this.currentQuestions.push(question);
|
this.currentQuestions.push(question);
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { Injectable } from '@angular/core';
|
import { Injectable } from '@angular/core';
|
||||||
import { Avvikelse_OLD } from '@msfa-models/avvikelse.model';
|
import { AvvikelseReportRequest } from '@msfa-models/api/avvikelse-request.model';
|
||||||
import { FragorForAvvikelser } from '@msfa-models/fragor-for-avvikelser.model';
|
import { AvvikelseQuestion } from '@msfa-models/avvikelse-question.model';
|
||||||
import { OrsaksKoderAvvikelse } from '@msfa-models/orsaks-koder-avvikelse.model';
|
import { AvvikelseReason } from '@msfa-models/avvikelse-reason.model';
|
||||||
import { AvvikelseApiService } from '@msfa-services/api/avvikelse-api.service';
|
import { AvvikelseApiService } from '@msfa-services/api/avvikelse-api.service';
|
||||||
import { DeltagareApiService } from '@msfa-services/api/deltagare.api.service';
|
import { DeltagareApiService } from '@msfa-services/api/deltagare.api.service';
|
||||||
import { Observable } from 'rxjs';
|
import { Observable } from 'rxjs';
|
||||||
@@ -9,15 +9,15 @@ import { shareReplay } from 'rxjs/operators';
|
|||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
||||||
export class AvvikelseReportFormService {
|
export class AvvikelseReportFormService {
|
||||||
fragorForAvvikelser$: Observable<FragorForAvvikelser[]> = this.avvikelseApiService
|
avvikelseQuestions$: Observable<AvvikelseQuestion[]> = this.avvikelseApiService
|
||||||
.getFragorForAvvikelser$()
|
.fetchAvvikelseQuestions$()
|
||||||
.pipe(shareReplay(1));
|
.pipe(shareReplay(1));
|
||||||
|
|
||||||
getAvvikelseOrsaker$: Observable<OrsaksKoderAvvikelse[]> = this.avvikelseApiService.getOrsaksKoderAvvikelse$();
|
fetchAvvikelseReasons$: Observable<AvvikelseReason[]> = this.avvikelseApiService.fetchAvvikelseReasons$();
|
||||||
|
|
||||||
constructor(private avvikelseApiService: AvvikelseApiService, private deltagareApiService: DeltagareApiService) {}
|
constructor(private avvikelseApiService: AvvikelseApiService, private deltagareApiService: DeltagareApiService) {}
|
||||||
|
|
||||||
createAvvikelse$(avvikelse: Avvikelse_OLD): Observable<unknown> {
|
createAvvikelse$(avvikelse: AvvikelseReportRequest): Observable<unknown> {
|
||||||
return this.avvikelseApiService.createAvvikelse$(avvikelse);
|
return this.avvikelseApiService.createAvvikelse$(avvikelse);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -4,11 +4,11 @@ import { FormControl, FormGroup } from '@angular/forms';
|
|||||||
import { ActivatedRoute } from '@angular/router';
|
import { ActivatedRoute } from '@angular/router';
|
||||||
import { ANNAN_KAND_ORSAK_ID, ANNAN_ORSAK_ID } from '@msfa-constants/franvaro-reasons';
|
import { ANNAN_KAND_ORSAK_ID, ANNAN_ORSAK_ID } from '@msfa-constants/franvaro-reasons';
|
||||||
import { ErrorType } from '@msfa-enums/error-type.enum';
|
import { ErrorType } from '@msfa-enums/error-type.enum';
|
||||||
|
import { FranvaroReportRequest } from '@msfa-models/api/franvaro-request.model';
|
||||||
import { Avrop } from '@msfa-models/avrop.model';
|
import { Avrop } from '@msfa-models/avrop.model';
|
||||||
import { FranvaroRequestData_OLD } from '@msfa-models/avvikelse.model';
|
|
||||||
import { CustomError } from '@msfa-models/error/custom-error';
|
import { CustomError } from '@msfa-models/error/custom-error';
|
||||||
|
import { FranvaroReason } from '@msfa-models/franvaro-reason.model';
|
||||||
import { Franvaro } from '@msfa-models/franvaro.model';
|
import { Franvaro } from '@msfa-models/franvaro.model';
|
||||||
import { OrsaksKoderFranvaro } from '@msfa-models/orsaks-koder-franvaro.model';
|
|
||||||
import { dateToIsoString } from '@msfa-utils/format-to-date.util';
|
import { dateToIsoString } from '@msfa-utils/format-to-date.util';
|
||||||
import { BehaviorSubject, Observable } from 'rxjs';
|
import { BehaviorSubject, Observable } from 'rxjs';
|
||||||
import { map, shareReplay, switchMap } from 'rxjs/operators';
|
import { map, shareReplay, switchMap } from 'rxjs/operators';
|
||||||
@@ -50,8 +50,8 @@ export class FranvaroReportFormComponent {
|
|||||||
switchMap(genomforandeReferens => this.franvaroReportFormService.fetchAvropInformation$(+genomforandeReferens)),
|
switchMap(genomforandeReferens => this.franvaroReportFormService.fetchAvropInformation$(+genomforandeReferens)),
|
||||||
shareReplay(1)
|
shareReplay(1)
|
||||||
);
|
);
|
||||||
reasons$: Observable<OrsaksKoderFranvaro[]> = this.franvaroReportFormService.reasons$;
|
reasons$: Observable<FranvaroReason[]> = this.franvaroReportFormService.reasons$;
|
||||||
otherKnownReasons$: Observable<OrsaksKoderFranvaro[]> = this.franvaroReportFormService.otherKnownReasons$;
|
otherKnownReasons$: Observable<FranvaroReason[]> = this.franvaroReportFormService.otherKnownReasons$;
|
||||||
|
|
||||||
wholeDayOrPartOfDayRadiobuttons: RadiobuttonModel[] = [
|
wholeDayOrPartOfDayRadiobuttons: RadiobuttonModel[] = [
|
||||||
{ label: 'Heldag', value: true },
|
{ label: 'Heldag', value: true },
|
||||||
@@ -118,7 +118,7 @@ export class FranvaroReportFormComponent {
|
|||||||
return new Date(this.dateFormControl.value);
|
return new Date(this.dateFormControl.value);
|
||||||
}
|
}
|
||||||
|
|
||||||
getReasonNameFromValue(reasons: OrsaksKoderFranvaro[], value: string): string {
|
getReasonNameFromValue(reasons: FranvaroReason[], value: string): string {
|
||||||
return reasons.find(reason => reason.value.toString() === value)?.name;
|
return reasons.find(reason => reason.value.toString() === value)?.name;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -164,8 +164,8 @@ export class FranvaroReportFormComponent {
|
|||||||
expectedPresenceEndTime,
|
expectedPresenceEndTime,
|
||||||
} = this.franvaroFormGroup.value as Franvaro;
|
} = this.franvaroFormGroup.value as Franvaro;
|
||||||
|
|
||||||
const postRequest: FranvaroRequestData_OLD = {
|
const postRequest: FranvaroReportRequest = {
|
||||||
genomforandeReferens,
|
genomforandeReferens: +genomforandeReferens,
|
||||||
franvaro: {
|
franvaro: {
|
||||||
avvikelseOrsaksKod: reason,
|
avvikelseOrsaksKod: reason,
|
||||||
datum: dateToIsoString(date),
|
datum: dateToIsoString(date),
|
||||||
|
|||||||
@@ -1,16 +1,14 @@
|
|||||||
import { Injectable } from '@angular/core';
|
import { Injectable } from '@angular/core';
|
||||||
|
import { FranvaroReportRequest } from '@msfa-models/api/franvaro-request.model';
|
||||||
import { Avrop } from '@msfa-models/avrop.model';
|
import { Avrop } from '@msfa-models/avrop.model';
|
||||||
import { FranvaroRequestData_OLD } from '@msfa-models/avvikelse.model';
|
import { FranvaroReason } from '@msfa-models/franvaro-reason.model';
|
||||||
import { OrsaksKoderFranvaro } from '@msfa-models/orsaks-koder-franvaro.model';
|
|
||||||
import { FranvaroReportApiService } from '@msfa-services/api/franvaro-report.api.service';
|
import { FranvaroReportApiService } from '@msfa-services/api/franvaro-report.api.service';
|
||||||
import { Observable } from 'rxjs';
|
import { Observable } from 'rxjs';
|
||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
||||||
export class FranvaroReportFormService {
|
export class FranvaroReportFormService {
|
||||||
public reasons$: Observable<OrsaksKoderFranvaro[]> = this.franvaroReportApiService.fetchReasons$();
|
public reasons$: Observable<FranvaroReason[]> = this.franvaroReportApiService.fetchReasons$();
|
||||||
public otherKnownReasons$: Observable<
|
public otherKnownReasons$: Observable<FranvaroReason[]> = this.franvaroReportApiService.fetchOtherKnownReasons$();
|
||||||
OrsaksKoderFranvaro[]
|
|
||||||
> = this.franvaroReportApiService.fetchOtherKnownReasons$();
|
|
||||||
|
|
||||||
constructor(private franvaroReportApiService: FranvaroReportApiService) {}
|
constructor(private franvaroReportApiService: FranvaroReportApiService) {}
|
||||||
|
|
||||||
@@ -18,7 +16,7 @@ export class FranvaroReportFormService {
|
|||||||
return this.franvaroReportApiService.fetchAvropInformation$(genomforandeReferens);
|
return this.franvaroReportApiService.fetchAvropInformation$(genomforandeReferens);
|
||||||
}
|
}
|
||||||
|
|
||||||
public async postFranvaroReport(requestData: FranvaroRequestData_OLD): Promise<void> {
|
public async postFranvaroReport(requestData: FranvaroReportRequest): Promise<void> {
|
||||||
return this.franvaroReportApiService.postFranvaroReport$(requestData);
|
return this.franvaroReportApiService.postFranvaroReport$(requestData);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +0,0 @@
|
|||||||
export enum FranvaroOrsaksKodEnum {
|
|
||||||
Sjuk = 15,
|
|
||||||
Arbete = 16,
|
|
||||||
OkandOrsak = 17,
|
|
||||||
AnnanKandOrsak = 18,
|
|
||||||
VAB = 26,
|
|
||||||
Utbildning = 27,
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
export interface AvvikelseQuestionsResponse {
|
||||||
|
id: string;
|
||||||
|
name: string;
|
||||||
|
required: boolean;
|
||||||
|
}
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
export interface AvvikelseReasonResponse {
|
||||||
|
id: number;
|
||||||
|
name: string;
|
||||||
|
}
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
export interface AvvikelseQuestionRequest {
|
||||||
|
fraga: string;
|
||||||
|
svar: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface AvvikelseRequest {
|
||||||
|
avvikelseOrsakskod: string;
|
||||||
|
frageformular: AvvikelseQuestionRequest[];
|
||||||
|
rapporteringsdatum: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface AvvikelseReportRequest {
|
||||||
|
genomforandeReferens: number;
|
||||||
|
avvikelseAlternativ: AvvikelseRequest;
|
||||||
|
}
|
||||||
@@ -1,11 +1,9 @@
|
|||||||
export interface AvvikelseQuestionResponse {
|
|
||||||
fraga: string;
|
|
||||||
svar: string;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface AvvikelseResponse {
|
export interface AvvikelseResponse {
|
||||||
avvikelseOrsakskod: string;
|
avvikelseOrsakskod: string;
|
||||||
frageformular: AvvikelseQuestionResponse[];
|
frageformular: {
|
||||||
|
fraga: string;
|
||||||
|
svar: string;
|
||||||
|
}[];
|
||||||
rapporteringsdatum: string;
|
rapporteringsdatum: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +0,0 @@
|
|||||||
export interface FragorForAvvikelserResponse {
|
|
||||||
id: string;
|
|
||||||
name: string;
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
export interface FranvaroReasonResponse {
|
||||||
|
id: number;
|
||||||
|
name: string;
|
||||||
|
}
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
export interface FranvaroRequest {
|
||||||
|
avvikelseOrsaksKod: string;
|
||||||
|
datum: string;
|
||||||
|
heldag: boolean;
|
||||||
|
startTid: string;
|
||||||
|
slutTid: string;
|
||||||
|
alternativForKandaOrsaker: {
|
||||||
|
typ: string;
|
||||||
|
motivering: string;
|
||||||
|
} | null;
|
||||||
|
forvantadNarvaro: {
|
||||||
|
startTid: string;
|
||||||
|
slutTid: string;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface FranvaroReportRequest {
|
||||||
|
genomforandeReferens: number;
|
||||||
|
franvaro: FranvaroRequest;
|
||||||
|
}
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
export interface GemensamPlaneringPostRequest {
|
export interface GemensamPlaneringPostRequest {
|
||||||
genomforandeReferens: string;
|
genomforandeReferens: number;
|
||||||
distans: boolean;
|
distans: boolean;
|
||||||
aktivitetsIds: number[];
|
aktivitetsIds: number[];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +0,0 @@
|
|||||||
export interface KandaAvvikelseKoderResponse {
|
|
||||||
id: number;
|
|
||||||
name: string;
|
|
||||||
}
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
export interface OrsaksKoderAvvikelseResponse {
|
|
||||||
id: number;
|
|
||||||
name: string;
|
|
||||||
state: number
|
|
||||||
}
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
export interface OrsaksKoderFranvaroResponse {
|
|
||||||
id: number;
|
|
||||||
name: string;
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
import { AvvikelseQuestionsResponse } from './api/avvikelse-question.response.model';
|
||||||
|
|
||||||
|
export interface AvvikelseQuestion {
|
||||||
|
name: string;
|
||||||
|
id: string;
|
||||||
|
required: boolean;
|
||||||
|
}
|
||||||
|
|
||||||
|
export function mapResponseToAvvikelseQuestion(data: AvvikelseQuestionsResponse): AvvikelseQuestion {
|
||||||
|
const { name, id, required } = data;
|
||||||
|
|
||||||
|
return {
|
||||||
|
name: name,
|
||||||
|
id: id,
|
||||||
|
required,
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
import { AvvikelseReasonResponse } from './api/avvikelse-reason.response.model';
|
||||||
|
|
||||||
|
export interface AvvikelseReason {
|
||||||
|
name: string;
|
||||||
|
id: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
export function mapResponseToAvvikelseReason(data: AvvikelseReasonResponse): AvvikelseReason {
|
||||||
|
const { name, id } = data;
|
||||||
|
|
||||||
|
return {
|
||||||
|
name,
|
||||||
|
id,
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1,17 +1,13 @@
|
|||||||
import { Fraga } from '@msfa-models/fraga.model';
|
|
||||||
import { AvvikelseResponse } from './api/avvikelse-response.model';
|
import { AvvikelseResponse } from './api/avvikelse-response.model';
|
||||||
import { FragorForAvvikelser } from './fragor-for-avvikelser.model';
|
import { AvvikelseQuestion } from './avvikelse-question.model';
|
||||||
import { FranvaroAlternativ } from './franvaro-alternativ.model';
|
import { AvvikelseReason } from './avvikelse-reason.model';
|
||||||
import { OrsaksKoderAvvikelse } from './orsaks-koder-avvikelse.model';
|
|
||||||
|
|
||||||
export interface AvvikelseQuestion {
|
|
||||||
question: string;
|
|
||||||
answer: string;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface Avvikelse {
|
export interface Avvikelse {
|
||||||
reason: string;
|
reason: string;
|
||||||
questions: AvvikelseQuestion[];
|
questions: {
|
||||||
|
question: string;
|
||||||
|
answer: string;
|
||||||
|
}[];
|
||||||
date: Date;
|
date: Date;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -20,36 +16,15 @@ export interface AvvikelseReport {
|
|||||||
avvikelse: Avvikelse;
|
avvikelse: Avvikelse;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface AvvikelseAlternativ_OLD {
|
|
||||||
avvikelseorsakskod: string;
|
|
||||||
frageformular: Fraga[];
|
|
||||||
rapporteringsdatum: string;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface Avvikelse_OLD {
|
|
||||||
genomforandeReferens: number;
|
|
||||||
avvikelseAlternativ?: AvvikelseAlternativ_OLD;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface AvvikelseRequestData_OLD {
|
|
||||||
genomforandeReferens: number;
|
|
||||||
avvikelseAlternativ: AvvikelseAlternativ_OLD;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface FranvaroRequestData_OLD {
|
|
||||||
genomforandeReferens: number;
|
|
||||||
franvaro: FranvaroAlternativ;
|
|
||||||
}
|
|
||||||
|
|
||||||
export function mapResponseToAvvikelse(
|
export function mapResponseToAvvikelse(
|
||||||
data: AvvikelseResponse,
|
data: AvvikelseResponse,
|
||||||
reasons: OrsaksKoderAvvikelse[],
|
reasons: AvvikelseReason[],
|
||||||
questions: FragorForAvvikelser[]
|
questions: AvvikelseQuestion[]
|
||||||
): Avvikelse {
|
): Avvikelse {
|
||||||
const { avvikelseOrsakskod, rapporteringsdatum, frageformular } = data;
|
const { avvikelseOrsakskod, rapporteringsdatum, frageformular } = data;
|
||||||
|
|
||||||
return {
|
return {
|
||||||
reason: reasons.find(reason => reason.id === avvikelseOrsakskod).name,
|
reason: reasons.find(reason => reason.id.toString() === avvikelseOrsakskod).name,
|
||||||
questions: frageformular.map(fraga => ({
|
questions: frageformular.map(fraga => ({
|
||||||
question: questions.find(question => question.id === fraga.fraga).name,
|
question: questions.find(question => question.id === fraga.fraga).name,
|
||||||
answer: fraga.svar,
|
answer: fraga.svar,
|
||||||
@@ -57,13 +32,3 @@ export function mapResponseToAvvikelse(
|
|||||||
date: new Date(rapporteringsdatum),
|
date: new Date(rapporteringsdatum),
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
export function mapAvvikelseRequestDataToAvvikelse_OLD(data: AvvikelseRequestData_OLD): Avvikelse_OLD {
|
|
||||||
return data;
|
|
||||||
// const { genomforandeReferens, avvikelseAlternativ } = data;
|
|
||||||
//
|
|
||||||
// return {
|
|
||||||
// genomforandeReferens,
|
|
||||||
// avvikelseAlternativ,
|
|
||||||
// };
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -1,16 +0,0 @@
|
|||||||
import { FragorForAvvikelserResponse } from './api/fragor-for-avvikelser.response';
|
|
||||||
|
|
||||||
export interface FragorForAvvikelser {
|
|
||||||
name: string;
|
|
||||||
id: string;
|
|
||||||
descriptionIsRequired?: boolean
|
|
||||||
}
|
|
||||||
|
|
||||||
export function mapResponseToFragorForAvvikelser(data: FragorForAvvikelserResponse): FragorForAvvikelser {
|
|
||||||
const { name, id } = data;
|
|
||||||
|
|
||||||
return {
|
|
||||||
name: name,
|
|
||||||
id: id
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
import { FranvaroReasonResponse } from './api/franvaro-reason.response.model';
|
||||||
|
|
||||||
|
export interface FranvaroReason {
|
||||||
|
name: string;
|
||||||
|
value: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
export function mapResponseToFranvaroReason(data: FranvaroReasonResponse): FranvaroReason {
|
||||||
|
const { name, id } = data;
|
||||||
|
|
||||||
|
return {
|
||||||
|
name,
|
||||||
|
value: id,
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
import { FranvaroResponse } from './api/franvaro-response.model';
|
import { FranvaroResponse } from './api/franvaro-response.model';
|
||||||
import { OrsaksKoderFranvaro } from './orsaks-koder-franvaro.model';
|
import { FranvaroReason } from './franvaro-reason.model';
|
||||||
|
|
||||||
export interface Franvaro {
|
export interface Franvaro {
|
||||||
reason: string;
|
reason: string;
|
||||||
@@ -20,8 +20,8 @@ export interface FranvaroReport {
|
|||||||
|
|
||||||
export function mapResponseToFranvaro(
|
export function mapResponseToFranvaro(
|
||||||
data: FranvaroResponse,
|
data: FranvaroResponse,
|
||||||
reasons: OrsaksKoderFranvaro[],
|
reasons: FranvaroReason[],
|
||||||
otherKnownReasons: OrsaksKoderFranvaro[]
|
otherKnownReasons: FranvaroReason[]
|
||||||
): Franvaro {
|
): Franvaro {
|
||||||
const { avvikelseOrsaksKod, datum, heldag, startTid, slutTid, alternativForKandaOrsaker, forvantadNarvaro } = data;
|
const { avvikelseOrsaksKod, datum, heldag, startTid, slutTid, alternativForKandaOrsaker, forvantadNarvaro } = data;
|
||||||
|
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ export function mapGemensamPlaneringToGemensamPlaneringPostRequest(
|
|||||||
const { genomforandeReferens, distance, activityIds } = gemensamPlanering;
|
const { genomforandeReferens, distance, activityIds } = gemensamPlanering;
|
||||||
|
|
||||||
return {
|
return {
|
||||||
genomforandeReferens: genomforandeReferens.toString(),
|
genomforandeReferens,
|
||||||
distans: distance,
|
distans: distance,
|
||||||
aktivitetsIds: activityIds,
|
aktivitetsIds: activityIds,
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,18 +0,0 @@
|
|||||||
import { OrsaksKoderAvvikelseResponse } from './api/orsaks-koder-avvikelse.response.model';
|
|
||||||
|
|
||||||
// TODO rename to AvvikelseOrsaker
|
|
||||||
export interface OrsaksKoderAvvikelse {
|
|
||||||
name: string;
|
|
||||||
id: string; //AvvikelseOrsaksKodEnum
|
|
||||||
state: number;
|
|
||||||
}
|
|
||||||
|
|
||||||
export function mapResponseToOrsaksKoderAvvikelse(data: OrsaksKoderAvvikelseResponse): OrsaksKoderAvvikelse {
|
|
||||||
const { name, id, state } = data;
|
|
||||||
|
|
||||||
return {
|
|
||||||
name,
|
|
||||||
id: id.toString(),
|
|
||||||
state,
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,32 +0,0 @@
|
|||||||
import { FranvaroOrsaksKodEnum } from '@msfa-enums/franvaro-orsak-kod.enum';
|
|
||||||
import { KandaAvvikelseKoderResponse } from './api/kanda-avvikelse-koder.response.model';
|
|
||||||
import { OrsaksKoderFranvaroResponse } from './api/orsaks-koder-franvaro.response.model';
|
|
||||||
|
|
||||||
export interface OrsaksKoderFranvaro {
|
|
||||||
name: string;
|
|
||||||
value: FranvaroOrsaksKodEnum;
|
|
||||||
index?: number;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface KandaAvvikelseKoder {
|
|
||||||
name: string;
|
|
||||||
value: number;
|
|
||||||
}
|
|
||||||
|
|
||||||
export function mapResponseToOrsaksKoderFranvaro(data: OrsaksKoderFranvaroResponse): OrsaksKoderFranvaro {
|
|
||||||
const { name, id } = data;
|
|
||||||
|
|
||||||
return {
|
|
||||||
name,
|
|
||||||
value: id,
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
export function mapResponseToAndraKandaOrsaker(data: KandaAvvikelseKoderResponse): KandaAvvikelseKoder {
|
|
||||||
const { name, id } = data;
|
|
||||||
|
|
||||||
return {
|
|
||||||
name,
|
|
||||||
value: id,
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
export interface OutOfOfficeDate {
|
|
||||||
id: number;
|
|
||||||
start: Date;
|
|
||||||
end: Date;
|
|
||||||
}
|
|
||||||
@@ -2,19 +2,12 @@ import { HttpClient } from '@angular/common/http';
|
|||||||
import { Injectable } from '@angular/core';
|
import { Injectable } from '@angular/core';
|
||||||
import { ErrorType } from '@msfa-enums/error-type.enum';
|
import { ErrorType } from '@msfa-enums/error-type.enum';
|
||||||
import { environment } from '@msfa-environment';
|
import { environment } from '@msfa-environment';
|
||||||
import { FragorForAvvikelserResponse } from '@msfa-models/api/fragor-for-avvikelser.response';
|
import { AvvikelseQuestionsResponse } from '@msfa-models/api/avvikelse-question.response.model';
|
||||||
import { KandaAvvikelseKoderResponse } from '@msfa-models/api/kanda-avvikelse-koder.response.model';
|
import { AvvikelseReasonResponse } from '@msfa-models/api/avvikelse-reason.response.model';
|
||||||
import { OrsaksKoderAvvikelseResponse } from '@msfa-models/api/orsaks-koder-avvikelse.response.model';
|
import { AvvikelseReportRequest } from '@msfa-models/api/avvikelse-request.model';
|
||||||
import { Avvikelse_OLD } from '@msfa-models/avvikelse.model';
|
import { AvvikelseQuestion, mapResponseToAvvikelseQuestion } from '@msfa-models/avvikelse-question.model';
|
||||||
|
import { AvvikelseReason, mapResponseToAvvikelseReason } from '@msfa-models/avvikelse-reason.model';
|
||||||
import { CustomError } from '@msfa-models/error/custom-error';
|
import { CustomError } from '@msfa-models/error/custom-error';
|
||||||
import { FragorForAvvikelser, mapResponseToFragorForAvvikelser } from '@msfa-models/fragor-for-avvikelser.model';
|
|
||||||
import { mapResponseToOrsaksKoderAvvikelse, OrsaksKoderAvvikelse } from '@msfa-models/orsaks-koder-avvikelse.model';
|
|
||||||
import {
|
|
||||||
KandaAvvikelseKoder,
|
|
||||||
mapResponseToAndraKandaOrsaker,
|
|
||||||
mapResponseToOrsaksKoderFranvaro,
|
|
||||||
OrsaksKoderFranvaro,
|
|
||||||
} from '@msfa-models/orsaks-koder-franvaro.model';
|
|
||||||
import { Observable } from 'rxjs';
|
import { Observable } from 'rxjs';
|
||||||
import { catchError, filter, map } from 'rxjs/operators';
|
import { catchError, filter, map } from 'rxjs/operators';
|
||||||
|
|
||||||
@@ -26,39 +19,21 @@ export class AvvikelseApiService {
|
|||||||
|
|
||||||
constructor(private httpClient: HttpClient) {}
|
constructor(private httpClient: HttpClient) {}
|
||||||
|
|
||||||
public getOrsaksKoderFranvaro$(): Observable<OrsaksKoderFranvaro[]> {
|
public fetchAvvikelseReasons$(): Observable<AvvikelseReason[]> {
|
||||||
return this.httpClient
|
return this.httpClient.get<{ data: AvvikelseReasonResponse[] }>(`${this._apiBaseUrl}/orsakskoderavvikelse`).pipe(
|
||||||
.get<{ data: OrsaksKoderAvvikelseResponse[] }>(`${this._apiBaseUrl}/orsakskoderfranvaro`)
|
|
||||||
.pipe(
|
|
||||||
filter(response => !!response?.data),
|
|
||||||
map(({ data }) => data.map(orsak => mapResponseToOrsaksKoderFranvaro(orsak)))
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
public getOrsaksKoderAvvikelse$(): Observable<OrsaksKoderAvvikelse[]> {
|
|
||||||
return this.httpClient
|
|
||||||
.get<{ data: OrsaksKoderAvvikelseResponse[] }>(`${this._apiBaseUrl}/orsakskoderavvikelse`)
|
|
||||||
.pipe(
|
|
||||||
filter(response => !!response?.data),
|
|
||||||
map(({ data }) => data.map(avvikelse => mapResponseToOrsaksKoderAvvikelse(avvikelse)))
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
public getAndraKandaOrsaker$(): Observable<KandaAvvikelseKoder[]> {
|
|
||||||
return this.httpClient.get<{ data: KandaAvvikelseKoderResponse[] }>(`${this._apiBaseUrl}/kandaavvikelsekoder`).pipe(
|
|
||||||
filter(response => !!response?.data),
|
filter(response => !!response?.data),
|
||||||
map(({ data }) => data.map(annanKandOrsak => mapResponseToAndraKandaOrsaker(annanKandOrsak)))
|
map(({ data }) => data.map(avvikelse => mapResponseToAvvikelseReason(avvikelse)))
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
public getFragorForAvvikelser$(): Observable<FragorForAvvikelser[]> {
|
public fetchAvvikelseQuestions$(): Observable<AvvikelseQuestion[]> {
|
||||||
return this.httpClient.get<{ data: FragorForAvvikelserResponse[] }>(`${this._apiBaseUrl}/fragorforavvikelser`).pipe(
|
return this.httpClient.get<{ data: AvvikelseQuestionsResponse[] }>(`${this._apiBaseUrl}/fragorforavvikelser`).pipe(
|
||||||
filter(response => !!response?.data),
|
filter(response => !!response?.data),
|
||||||
map(({ data }) => data.map(fraga => mapResponseToFragorForAvvikelser(fraga)))
|
map(({ data }) => data.map(fraga => mapResponseToAvvikelseQuestion(fraga)))
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
public createAvvikelse$(avvikelse: Avvikelse_OLD): Observable<unknown> {
|
public createAvvikelse$(avvikelse: AvvikelseReportRequest): Observable<unknown> {
|
||||||
return this.httpClient.post<void>(`${this._apiBaseUrl}/avvikelse`, avvikelse).pipe(
|
return this.httpClient.post<void>(`${this._apiBaseUrl}/avvikelse`, avvikelse).pipe(
|
||||||
catchError((error: Error) => {
|
catchError((error: Error) => {
|
||||||
throw new CustomError({
|
throw new CustomError({
|
||||||
@@ -69,8 +44,4 @@ export class AvvikelseApiService {
|
|||||||
})
|
})
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
public createFranvaro$(avvikelse: Avvikelse_OLD): Promise<void> {
|
|
||||||
return this.httpClient.post<void>(`${this._apiBaseUrl}/franvaro`, avvikelse).toPromise();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
import { HttpClient } from '@angular/common/http';
|
import { HttpClient } from '@angular/common/http';
|
||||||
import { Injectable } from '@angular/core';
|
import { Injectable } from '@angular/core';
|
||||||
import { environment } from '@msfa-environment';
|
import { environment } from '@msfa-environment';
|
||||||
import { OrsaksKoderFranvaroResponse } from '@msfa-models/api/orsaks-koder-franvaro.response.model';
|
import { FranvaroReasonResponse } from '@msfa-models/api/franvaro-reason.response.model';
|
||||||
|
import { FranvaroReportRequest } from '@msfa-models/api/franvaro-request.model';
|
||||||
import { Avrop } from '@msfa-models/avrop.model';
|
import { Avrop } from '@msfa-models/avrop.model';
|
||||||
import { FranvaroRequestData_OLD } from '@msfa-models/avvikelse.model';
|
|
||||||
import { CustomError, errorToCustomError } from '@msfa-models/error/custom-error';
|
import { CustomError, errorToCustomError } from '@msfa-models/error/custom-error';
|
||||||
import { mapResponseToOrsaksKoderFranvaro, OrsaksKoderFranvaro } from '@msfa-models/orsaks-koder-franvaro.model';
|
import { FranvaroReason, mapResponseToFranvaroReason } from '@msfa-models/franvaro-reason.model';
|
||||||
import { DeltagareApiService } from '@msfa-services/api/deltagare.api.service';
|
import { DeltagareApiService } from '@msfa-services/api/deltagare.api.service';
|
||||||
import { Observable } from 'rxjs';
|
import { Observable } from 'rxjs';
|
||||||
import { catchError, filter, map, shareReplay } from 'rxjs/operators';
|
import { catchError, filter, map, shareReplay } from 'rxjs/operators';
|
||||||
@@ -18,10 +18,10 @@ export class FranvaroReportApiService {
|
|||||||
|
|
||||||
constructor(private httpClient: HttpClient, private deltagareApiService: DeltagareApiService) {}
|
constructor(private httpClient: HttpClient, private deltagareApiService: DeltagareApiService) {}
|
||||||
|
|
||||||
public fetchReasons$(): Observable<OrsaksKoderFranvaro[]> {
|
public fetchReasons$(): Observable<FranvaroReason[]> {
|
||||||
return this.httpClient.get<{ data: OrsaksKoderFranvaroResponse[] }>(`${this._apiBaseUrl}/orsakskoderfranvaro`).pipe(
|
return this.httpClient.get<{ data: FranvaroReasonResponse[] }>(`${this._apiBaseUrl}/orsakskoderfranvaro`).pipe(
|
||||||
filter(response => !!response?.data),
|
filter(response => !!response?.data),
|
||||||
map(({ data }) => data.map(reason => mapResponseToOrsaksKoderFranvaro(reason))),
|
map(({ data }) => data.map(reason => mapResponseToFranvaroReason(reason))),
|
||||||
catchError((error: Error & { status: number }) => {
|
catchError((error: Error & { status: number }) => {
|
||||||
throw new CustomError(
|
throw new CustomError(
|
||||||
errorToCustomError({ ...error, message: `Kunde inte hämta orsaker till frånvaro.\n\n${error.message}` })
|
errorToCustomError({ ...error, message: `Kunde inte hämta orsaker till frånvaro.\n\n${error.message}` })
|
||||||
@@ -30,10 +30,10 @@ export class FranvaroReportApiService {
|
|||||||
shareReplay(1)
|
shareReplay(1)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
public fetchOtherKnownReasons$(): Observable<OrsaksKoderFranvaro[]> {
|
public fetchOtherKnownReasons$(): Observable<FranvaroReason[]> {
|
||||||
return this.httpClient.get<{ data: OrsaksKoderFranvaroResponse[] }>(`${this._apiBaseUrl}/kandaavvikelsekoder`).pipe(
|
return this.httpClient.get<{ data: FranvaroReasonResponse[] }>(`${this._apiBaseUrl}/kandaavvikelsekoder`).pipe(
|
||||||
filter(response => !!response?.data),
|
filter(response => !!response?.data),
|
||||||
map(({ data }) => data.map(reason => mapResponseToOrsaksKoderFranvaro(reason))),
|
map(({ data }) => data.map(reason => mapResponseToFranvaroReason(reason))),
|
||||||
catchError((error: Error & { status: number }) => {
|
catchError((error: Error & { status: number }) => {
|
||||||
throw new CustomError(
|
throw new CustomError(
|
||||||
errorToCustomError({ ...error, message: `Kunde inte hämta kända orsaker till frånvaro.\n\n${error.message}` })
|
errorToCustomError({ ...error, message: `Kunde inte hämta kända orsaker till frånvaro.\n\n${error.message}` })
|
||||||
@@ -47,7 +47,7 @@ export class FranvaroReportApiService {
|
|||||||
return this.deltagareApiService.fetchAvropInformation$(genomforandeReferens);
|
return this.deltagareApiService.fetchAvropInformation$(genomforandeReferens);
|
||||||
}
|
}
|
||||||
|
|
||||||
public async postFranvaroReport$(requestData: FranvaroRequestData_OLD): Promise<void> {
|
public async postFranvaroReport$(requestData: FranvaroReportRequest): Promise<void> {
|
||||||
return this.httpClient.post<void>(`${this._apiBaseUrl}/franvaro`, requestData).toPromise();
|
return this.httpClient.post<void>(`${this._apiBaseUrl}/franvaro`, requestData).toPromise();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,15 +7,15 @@ import { FranvaroReportResponse } from '@msfa-models/api/franvaro-response.model
|
|||||||
import { GemensamPlaneringResponse } from '@msfa-models/api/gemensam-planering.response.model';
|
import { GemensamPlaneringResponse } from '@msfa-models/api/gemensam-planering.response.model';
|
||||||
import { Params } from '@msfa-models/api/params.model';
|
import { Params } from '@msfa-models/api/params.model';
|
||||||
import { Avrop } from '@msfa-models/avrop.model';
|
import { Avrop } from '@msfa-models/avrop.model';
|
||||||
|
import { AvvikelseQuestion } from '@msfa-models/avvikelse-question.model';
|
||||||
|
import { AvvikelseReason } from '@msfa-models/avvikelse-reason.model';
|
||||||
import { AvvikelseReport, mapResponseToAvvikelse } from '@msfa-models/avvikelse.model';
|
import { AvvikelseReport, mapResponseToAvvikelse } from '@msfa-models/avvikelse.model';
|
||||||
import { FragorForAvvikelser } from '@msfa-models/fragor-for-avvikelser.model';
|
import { FranvaroReason } from '@msfa-models/franvaro-reason.model';
|
||||||
import { FranvaroReport, mapResponseToFranvaro } from '@msfa-models/franvaro.model';
|
import { FranvaroReport, mapResponseToFranvaro } from '@msfa-models/franvaro.model';
|
||||||
import {
|
import {
|
||||||
GemensamPlaneringDetailed,
|
GemensamPlaneringDetailed,
|
||||||
mapResponseToGemensamPlaneringDetailed,
|
mapResponseToGemensamPlaneringDetailed,
|
||||||
} from '@msfa-models/gemensam-planering.model';
|
} from '@msfa-models/gemensam-planering.model';
|
||||||
import { OrsaksKoderAvvikelse } from '@msfa-models/orsaks-koder-avvikelse.model';
|
|
||||||
import { OrsaksKoderFranvaro } from '@msfa-models/orsaks-koder-franvaro.model';
|
|
||||||
import { DeltagareApiService } from '@msfa-services/api/deltagare.api.service';
|
import { DeltagareApiService } from '@msfa-services/api/deltagare.api.service';
|
||||||
import { combineLatest, Observable } from 'rxjs';
|
import { combineLatest, Observable } from 'rxjs';
|
||||||
import { filter, map, switchMap } from 'rxjs/operators';
|
import { filter, map, switchMap } from 'rxjs/operators';
|
||||||
@@ -29,12 +29,12 @@ import { GemensamPlaneringApiService } from './gemensam-planering-api.service';
|
|||||||
export class ReportApiService {
|
export class ReportApiService {
|
||||||
private _apiBaseUrl = `${environment.api.url}/handlingar`;
|
private _apiBaseUrl = `${environment.api.url}/handlingar`;
|
||||||
|
|
||||||
private _avvikelseReasons$: Observable<OrsaksKoderAvvikelse[]> = this.avvikelseApiService.getOrsaksKoderAvvikelse$();
|
private _avvikelseReasons$: Observable<AvvikelseReason[]> = this.avvikelseApiService.fetchAvvikelseReasons$();
|
||||||
private _avvikelseQuestions$: Observable<FragorForAvvikelser[]> = this.avvikelseApiService.getFragorForAvvikelser$();
|
private _avvikelseQuestions$: Observable<AvvikelseQuestion[]> = this.avvikelseApiService.fetchAvvikelseQuestions$();
|
||||||
private _activities$: Observable<Activity[]> = this.gemensamPlaneringApiService.fetchActivities$();
|
private _activities$: Observable<Activity[]> = this.gemensamPlaneringApiService.fetchActivities$();
|
||||||
private _franvaroReasons$: Observable<OrsaksKoderFranvaro[]> = this.franvaroReportApiService.fetchReasons$();
|
private _franvaroReasons$: Observable<FranvaroReason[]> = this.franvaroReportApiService.fetchReasons$();
|
||||||
private _otherFranvaroReasons$: Observable<
|
private _otherFranvaroReasons$: Observable<
|
||||||
OrsaksKoderFranvaro[]
|
FranvaroReason[]
|
||||||
> = this.franvaroReportApiService.fetchOtherKnownReasons$();
|
> = this.franvaroReportApiService.fetchOtherKnownReasons$();
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
|
|||||||
Reference in New Issue
Block a user