Merge pull request #258 in TEA/mina-sidor-fa-web from bugfix/TV-889-avrop-model to develop
Squashed commit of the following:
commit 8e98b79d711a708eec7908417506d8f707d023b4
Author: Erik Tiekstra <erik.tiekstra@arbetsformedlingen.se>
Date: Fri Nov 12 10:16:54 2021 +0100
Added personnummer to deltagare avrop
commit 6ac1849fa61b65346084c2304339a628844a7617
Merge: 095585ff 0cf61c0b
Author: Erik Tiekstra <erik.tiekstra@arbetsformedlingen.se>
Date: Fri Nov 12 09:52:10 2021 +0100
Merged develop and fixed conflicts
commit 095585ffa78b25f5d5ddd6987dcd3702c78bb494
Author: Erik Tiekstra <erik.tiekstra@arbetsformedlingen.se>
Date: Thu Nov 11 09:07:46 2021 +0100
Updated avrop model for nya deltagare
This commit is contained in:
@@ -10,48 +10,53 @@
|
|||||||
(change)="emitToggle($event.target.checked)"
|
(change)="emitToggle($event.target.checked)"
|
||||||
></digi-form-checkbox>
|
></digi-form-checkbox>
|
||||||
</div>
|
</div>
|
||||||
<dl class="avrop-row__name">
|
<dl class="avrop-row__description-list">
|
||||||
<dt class="avrop-table__label">Namn:</dt>
|
<div class="avrop-row__name">
|
||||||
<dd *ngIf="avrop.fullName; else emptyText">{{avrop.fullName}}</dd>
|
<dt>Namn:</dt>
|
||||||
</dl>
|
<dd><ng-container *ngIf="avrop.fullName; else emptyText">{{avrop.fullName}}</ng-container></dd>
|
||||||
<dl class="avrop-row__tjanst">
|
</div>
|
||||||
<dt class="avrop-table__label">Tjänst:</dt>
|
<div class="avrop-row__tjanst">
|
||||||
<dd *ngIf="avrop.tjanst; else emptyText">{{avrop.tjanst}}</dd>
|
<dt>Tjänst:</dt>
|
||||||
</dl>
|
<dd><ng-container *ngIf="avrop.tjanst; else emptyText">{{avrop.tjanst}}</ng-container></dd>
|
||||||
<dl class="avrop-row__start">
|
</div>
|
||||||
<dt class="avrop-table__label">Startdatum:</dt>
|
<div class="avrop-row__start">
|
||||||
<dd>
|
<dt>Startdatum:</dt>
|
||||||
<digi-typography-time
|
<dd>
|
||||||
*ngIf="avrop.startDate; else emptyText"
|
<digi-typography-time
|
||||||
[afDateTime]="avrop.startDate"
|
*ngIf="avrop.startDate; else emptyText"
|
||||||
></digi-typography-time>
|
[afDateTime]="avrop.startDate"
|
||||||
</dd>
|
></digi-typography-time>
|
||||||
</dl>
|
</dd>
|
||||||
<dl class="avrop-row__end">
|
</div>
|
||||||
<dt class="avrop-table__label">Slutdatum:</dt>
|
<div class="avrop-row__end">
|
||||||
<dd>
|
<dt>Slutdatum:</dt>
|
||||||
<digi-typography-time *ngIf="avrop.endDate; else emptyText" [afDateTime]="avrop.endDate"></digi-typography-time>
|
<dd>
|
||||||
</dd>
|
<digi-typography-time
|
||||||
</dl>
|
*ngIf="avrop.endDate; else emptyText"
|
||||||
<dl class="avrop-row__translator">
|
[afDateTime]="avrop.endDate"
|
||||||
<dt class="avrop-table__label">Språkstöd/Tolk:</dt>
|
></digi-typography-time>
|
||||||
<dd>{{avrop.sprakstod || '- '}}/{{avrop.tolkbehov || ' -'}}</dd>
|
</dd>
|
||||||
</dl>
|
</div>
|
||||||
<dl class="avrop-row__address">
|
<div class="avrop-row__translator">
|
||||||
<dt class="avrop-table__label">Utförande adress:</dt>
|
<dt>Språkstöd/Tolk:</dt>
|
||||||
<dd *ngIf="avrop.utforandeAdress; else emptyText">{{avrop.utforandeAdress + ', ' + avrop.kommun}}</dd>
|
<dd>{{avrop.sprakstod || '- '}}/{{avrop.tolkbehov || ' -'}}</dd>
|
||||||
</dl>
|
</div>
|
||||||
<dl class="avrop-row__level">
|
<div class="avrop-row__address">
|
||||||
<dt class="avrop-table__label">Spår/nivå:</dt>
|
<dt>Utförande adress:</dt>
|
||||||
<dd *ngIf="avrop.trackCode; else emptyText">{{avrop.trackName}}</dd>
|
<dd *ngIf="avrop.utforandeAdress; else emptyText">{{avrop.utforandeAdress + ', ' + avrop.kommun}}</dd>
|
||||||
</dl>
|
</div>
|
||||||
<dl>
|
<div class="avrop-row__level">
|
||||||
<dt class="avrop-table__label">Genomförandereferens:</dt>
|
<dt>Spår/nivå:</dt>
|
||||||
<dd *ngIf="avrop.genomforandeReferens; else emptyText">{{avrop.genomforandeReferens}}</dd>
|
<dd *ngIf="avrop.trackName; else emptyText">{{avrop.trackName}}</dd>
|
||||||
</dl>
|
</div>
|
||||||
<dl class="avrop-row__handledare" *ngIf="isLocked">
|
<div class="avrop-row__genomforandereferens">
|
||||||
<dt class="avrop-table__label">Vald handledare:</dt>
|
<dt>Genomförandereferens:</dt>
|
||||||
<dd *ngIf="handledare?.fullName; else emptyText">{{handledare?.fullName}}</dd>
|
<dd *ngIf="avrop.genomforandeReferens; else emptyText">{{avrop.genomforandeReferens}}</dd>
|
||||||
|
</div>
|
||||||
|
<div class="avrop-row__handledare" *ngIf="isLocked">
|
||||||
|
<dt>Vald handledare:</dt>
|
||||||
|
<dd *ngIf="handledare?.fullName; else emptyText">{{handledare?.fullName}}</dd>
|
||||||
|
</div>
|
||||||
</dl>
|
</dl>
|
||||||
<div *ngIf="isLocked" class="avrop-row__delete">
|
<div *ngIf="isLocked" class="avrop-row__delete">
|
||||||
<digi-button
|
<digi-button
|
||||||
|
|||||||
@@ -9,20 +9,22 @@
|
|||||||
gap: var(--digi--layout--gutter) $digi--layout--gutter--l;
|
gap: var(--digi--layout--gutter) $digi--layout--gutter--l;
|
||||||
grid-template-areas:
|
grid-template-areas:
|
||||||
'select name start translator level'
|
'select name start translator level'
|
||||||
'select tjanst end address handledare';
|
'select genomforandereferens tjanst end address';
|
||||||
|
|
||||||
&--locked {
|
&--locked {
|
||||||
grid-template-columns: repeat(4, 1fr) 7.5rem;
|
grid-template-columns: repeat(4, 1fr) 7.5rem;
|
||||||
grid-template-areas:
|
grid-template-areas:
|
||||||
'name start translator level delete'
|
'name start translator level delete'
|
||||||
'tjanst end address handledare delete';
|
'genomforandereferens tjanst end address handledare';
|
||||||
|
}
|
||||||
|
|
||||||
|
&__description-list {
|
||||||
|
display: contents;
|
||||||
}
|
}
|
||||||
|
|
||||||
&__select {
|
&__select {
|
||||||
grid-area: select;
|
grid-area: select;
|
||||||
margin-right: var(--digi--layout--gutter);
|
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
|
||||||
align-items: center;
|
align-items: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -50,6 +52,9 @@
|
|||||||
&__handledare {
|
&__handledare {
|
||||||
grid-area: handledare;
|
grid-area: handledare;
|
||||||
}
|
}
|
||||||
|
&__genomforandereferens {
|
||||||
|
grid-area: genomforandereferens;
|
||||||
|
}
|
||||||
&__delete {
|
&__delete {
|
||||||
grid-area: delete;
|
grid-area: delete;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
||||||
import { Avrop } from '@msfa-models/avrop.model';
|
import { DeltagareAvrop } from '@msfa-models/avrop.model';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'msfa-report-description-list',
|
selector: 'msfa-report-description-list',
|
||||||
@@ -8,5 +8,5 @@ import { Avrop } from '@msfa-models/avrop.model';
|
|||||||
changeDetection: ChangeDetectionStrategy.OnPush,
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
||||||
})
|
})
|
||||||
export class ReportDescriptionListComponent {
|
export class ReportDescriptionListComponent {
|
||||||
@Input() avrop: Avrop;
|
@Input() avrop: DeltagareAvrop;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
||||||
import { Avrop } from '@msfa-models/avrop.model';
|
import { DeltagareAvrop } from '@msfa-models/avrop.model';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'msfa-report-layout',
|
selector: 'msfa-report-layout',
|
||||||
@@ -13,6 +13,6 @@ export class ReportLayoutComponent {
|
|||||||
@Input() description: string;
|
@Input() description: string;
|
||||||
@Input() startDate: string;
|
@Input() startDate: string;
|
||||||
@Input() endDate: string;
|
@Input() endDate: string;
|
||||||
@Input() avrop: Avrop;
|
@Input() avrop: DeltagareAvrop;
|
||||||
@Input() showAvropDetails = true;
|
@Input() showAvropDetails = true;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
||||||
import { Avrop } from '@msfa-models/avrop.model';
|
import { DeltagareAvrop } from '@msfa-models/avrop.model';
|
||||||
import { ContactInformation } from '@msfa-models/contact-information.model';
|
import { ContactInformation } from '@msfa-models/contact-information.model';
|
||||||
import { Handledare } from '@msfa-models/handledare.model';
|
import { Handledare } from '@msfa-models/handledare.model';
|
||||||
import { Role } from '@msfa-models/role.model';
|
import { Role } from '@msfa-models/role.model';
|
||||||
@@ -18,7 +18,7 @@ export class DeltagareTabPersonalInformationComponent {
|
|||||||
@Input() userRoles: Role[];
|
@Input() userRoles: Role[];
|
||||||
@Input() handledarePickerVisible: boolean;
|
@Input() handledarePickerVisible: boolean;
|
||||||
|
|
||||||
avropInformation$: Observable<Avrop> = this.deltagareCardService.avropInformation$;
|
avropInformation$: Observable<DeltagareAvrop> = this.deltagareCardService.avropInformation$;
|
||||||
contactInformation$: Observable<ContactInformation> = this.deltagareCardService.contactInformation$;
|
contactInformation$: Observable<ContactInformation> = this.deltagareCardService.contactInformation$;
|
||||||
availableHandledare$: Observable<Handledare[]> = this.avropInformation$.pipe(
|
availableHandledare$: Observable<Handledare[]> = this.avropInformation$.pipe(
|
||||||
distinctUntilChanged((prevAvrop, currAvrop) => prevAvrop.id === currAvrop.id),
|
distinctUntilChanged((prevAvrop, currAvrop) => prevAvrop.id === currAvrop.id),
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
||||||
import { ActivatedRoute } from '@angular/router';
|
import { ActivatedRoute } from '@angular/router';
|
||||||
import { Avrop } from '@msfa-models/avrop.model';
|
import { DeltagareAvrop } from '@msfa-models/avrop.model';
|
||||||
import { Disability } from '@msfa-models/disability.model';
|
import { Disability } from '@msfa-models/disability.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';
|
||||||
@@ -17,7 +17,7 @@ export class DeltagareTabSensitiveInformationComponent {
|
|||||||
genomforandereferens$: Observable<number> = this.activatedRoute.params.pipe(
|
genomforandereferens$: Observable<number> = this.activatedRoute.params.pipe(
|
||||||
map(({ genomforandeReferens }) => +genomforandeReferens)
|
map(({ genomforandeReferens }) => +genomforandeReferens)
|
||||||
);
|
);
|
||||||
avropInformation$: Observable<Avrop> = this.deltagareCardService.avropInformation$;
|
avropInformation$: Observable<DeltagareAvrop> = this.deltagareCardService.avropInformation$;
|
||||||
workLanguages$: Observable<string[]> = this.genomforandereferens$.pipe(
|
workLanguages$: Observable<string[]> = this.genomforandereferens$.pipe(
|
||||||
switchMap(genomforandeReferens =>
|
switchMap(genomforandeReferens =>
|
||||||
genomforandeReferens ? this.deltagareApiService.fetchWorkLanguages$(genomforandeReferens) : null
|
genomforandeReferens ? this.deltagareApiService.fetchWorkLanguages$(genomforandeReferens) : null
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { Injectable } from '@angular/core';
|
import { Injectable } from '@angular/core';
|
||||||
import { Avrop } from '@msfa-models/avrop.model';
|
import { DeltagareAvrop } from '@msfa-models/avrop.model';
|
||||||
import { ContactInformation } from '@msfa-models/contact-information.model';
|
import { ContactInformation } from '@msfa-models/contact-information.model';
|
||||||
import { DeltagareApiService } from '@msfa-services/api/deltagare.api.service';
|
import { DeltagareApiService } from '@msfa-services/api/deltagare.api.service';
|
||||||
import { HandledareService } from '@msfa-services/handledare.service';
|
import { HandledareService } from '@msfa-services/handledare.service';
|
||||||
@@ -30,7 +30,7 @@ export class DeltagareCardService {
|
|||||||
shareReplay(1)
|
shareReplay(1)
|
||||||
);
|
);
|
||||||
|
|
||||||
avropInformation$: Observable<Avrop> = combineLatest([
|
avropInformation$: Observable<DeltagareAvrop> = combineLatest([
|
||||||
this.currentGenomforandeReferens$,
|
this.currentGenomforandeReferens$,
|
||||||
this.avropNeedsUpdate$,
|
this.avropNeedsUpdate$,
|
||||||
]).pipe(
|
]).pipe(
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import { ChangeDetectionStrategy, Component, OnDestroy, OnInit } from '@angular/
|
|||||||
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 { AvvikelseReportRequest, AvvikelseRequest } from '@msfa-models/api/avvikelse-request.model';
|
||||||
import { Avrop } from '@msfa-models/avrop.model';
|
import { DeltagareAvrop } from '@msfa-models/avrop.model';
|
||||||
import { AvvikelseQuestion } from '@msfa-models/avvikelse-question.model';
|
import { AvvikelseQuestion } from '@msfa-models/avvikelse-question.model';
|
||||||
import { AvvikelseReason } from '@msfa-models/avvikelse-reason.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';
|
||||||
@@ -46,7 +46,7 @@ export class AvvikelseReportFormComponent implements OnInit, OnDestroy {
|
|||||||
genomforandeReferens$: Observable<number> = this.activatedRoute.params.pipe(
|
genomforandeReferens$: Observable<number> = this.activatedRoute.params.pipe(
|
||||||
map((params: Params) => +params.genomforandeReferens)
|
map((params: Params) => +params.genomforandeReferens)
|
||||||
);
|
);
|
||||||
avrop$: Observable<Avrop> = this.genomforandeReferens$.pipe(
|
avrop$: Observable<DeltagareAvrop> = this.genomforandeReferens$.pipe(
|
||||||
switchMap(genomforandeReferens => this.avvikelseReportFormService.fetchAvropInformation$(genomforandeReferens)),
|
switchMap(genomforandeReferens => this.avvikelseReportFormService.fetchAvropInformation$(genomforandeReferens)),
|
||||||
shareReplay(1)
|
shareReplay(1)
|
||||||
);
|
);
|
||||||
@@ -143,11 +143,11 @@ export class AvvikelseReportFormComponent implements OnInit, OnDestroy {
|
|||||||
return lastPossibleReportDay > new Date();
|
return lastPossibleReportDay > new Date();
|
||||||
}
|
}
|
||||||
|
|
||||||
isAllowedToReport(avrop: Avrop): boolean {
|
isAllowedToReport(avrop: DeltagareAvrop): boolean {
|
||||||
return this._isAfterStartDate(avrop.startDate) && this._isBeforeLastPossibleReportDay(avrop.endDate);
|
return this._isAfterStartDate(avrop.startDate) && this._isBeforeLastPossibleReportDay(avrop.endDate);
|
||||||
}
|
}
|
||||||
|
|
||||||
notAllowedToReportWarning(avrop: Avrop): string {
|
notAllowedToReportWarning(avrop: DeltagareAvrop): string {
|
||||||
if (!this._isBeforeLastPossibleReportDay(avrop.endDate)) {
|
if (!this._isBeforeLastPossibleReportDay(avrop.endDate)) {
|
||||||
return 'Det går inte att göra Avvikelserapport (avvikelse) eftersom tjänsten har avslutats.';
|
return 'Det går inte att göra Avvikelserapport (avvikelse) eftersom tjänsten har avslutats.';
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import { Injectable } from '@angular/core';
|
import { Injectable } from '@angular/core';
|
||||||
import { AvvikelseReportRequest } from '@msfa-models/api/avvikelse-request.model';
|
import { AvvikelseReportRequest } from '@msfa-models/api/avvikelse-request.model';
|
||||||
import { Avrop } from '@msfa-models/avrop.model';
|
import { DeltagareAvrop } from '@msfa-models/avrop.model';
|
||||||
import { AvvikelseQuestion } from '@msfa-models/avvikelse-question.model';
|
import { AvvikelseQuestion } from '@msfa-models/avvikelse-question.model';
|
||||||
import { AvvikelseReason, sortAvvikelseReasons } from '@msfa-models/avvikelse-reason.model';
|
import { AvvikelseReason, sortAvvikelseReasons } from '@msfa-models/avvikelse-reason.model';
|
||||||
import { AvvikelseApiService } from '@msfa-services/api/avvikelse-api.service';
|
import { AvvikelseApiService } from '@msfa-services/api/avvikelse-api.service';
|
||||||
@@ -14,10 +14,9 @@ export class AvvikelseReportFormService {
|
|||||||
.fetchAvvikelseQuestions$()
|
.fetchAvvikelseQuestions$()
|
||||||
.pipe(shareReplay(1));
|
.pipe(shareReplay(1));
|
||||||
|
|
||||||
fetchAvvikelseReasons$: Observable<AvvikelseReason[]> = this.avvikelseApiService.fetchAvvikelseReasons$()
|
fetchAvvikelseReasons$: Observable<AvvikelseReason[]> = this.avvikelseApiService
|
||||||
.pipe(
|
.fetchAvvikelseReasons$()
|
||||||
map(reasons => sortAvvikelseReasons(reasons))
|
.pipe(map(reasons => sortAvvikelseReasons(reasons)));
|
||||||
);
|
|
||||||
|
|
||||||
constructor(private avvikelseApiService: AvvikelseApiService, private deltagareApiService: DeltagareApiService) {}
|
constructor(private avvikelseApiService: AvvikelseApiService, private deltagareApiService: DeltagareApiService) {}
|
||||||
|
|
||||||
@@ -25,7 +24,7 @@ export class AvvikelseReportFormService {
|
|||||||
return this.avvikelseApiService.createAvvikelse$(avvikelse);
|
return this.avvikelseApiService.createAvvikelse$(avvikelse);
|
||||||
}
|
}
|
||||||
|
|
||||||
fetchAvropInformation$(genomforandeReferens: number): Observable<Avrop> {
|
fetchAvropInformation$(genomforandeReferens: number): Observable<DeltagareAvrop> {
|
||||||
return this.deltagareApiService.fetchAvropInformation$(genomforandeReferens);
|
return this.deltagareApiService.fetchAvropInformation$(genomforandeReferens);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import { ActivatedRoute } from '@angular/router';
|
|||||||
import { ANNAN_ORSAK_ID } from '@msfa-constants/franvaro-reasons';
|
import { ANNAN_ORSAK_ID } from '@msfa-constants/franvaro-reasons';
|
||||||
import { OrsaksKoderKanda } from '@msfa-enums/orsaks-koder-kanda.enum';
|
import { OrsaksKoderKanda } from '@msfa-enums/orsaks-koder-kanda.enum';
|
||||||
import { FranvaroReportRequest } from '@msfa-models/api/franvaro-request.model';
|
import { FranvaroReportRequest } from '@msfa-models/api/franvaro-request.model';
|
||||||
import { Avrop } from '@msfa-models/avrop.model';
|
import { DeltagareAvrop } from '@msfa-models/avrop.model';
|
||||||
import { CustomError } from '@msfa-models/error/custom-error';
|
import { CustomError } from '@msfa-models/error/custom-error';
|
||||||
import { FranvaroReason, setKnownReason, sortFranvaroReasons } from '@msfa-models/franvaro-reason.model';
|
import { FranvaroReason, setKnownReason, sortFranvaroReasons } from '@msfa-models/franvaro-reason.model';
|
||||||
import { Franvaro } from '@msfa-models/franvaro.model';
|
import { Franvaro } from '@msfa-models/franvaro.model';
|
||||||
@@ -45,15 +45,15 @@ export class FranvaroReportFormComponent {
|
|||||||
currentGenomforandeReferens$: Observable<number> = this.activatedRoute.params.pipe(
|
currentGenomforandeReferens$: Observable<number> = this.activatedRoute.params.pipe(
|
||||||
map(params => +params.genomforandeReferens)
|
map(params => +params.genomforandeReferens)
|
||||||
);
|
);
|
||||||
avrop$: Observable<Avrop> = this.currentGenomforandeReferens$.pipe(
|
avrop$: Observable<DeltagareAvrop> = this.currentGenomforandeReferens$.pipe(
|
||||||
switchMap(genomforandeReferens => this.franvaroReportFormService.fetchAvropInformation$(genomforandeReferens)),
|
switchMap(genomforandeReferens => this.franvaroReportFormService.fetchAvropInformation$(genomforandeReferens)),
|
||||||
shareReplay(1)
|
shareReplay(1)
|
||||||
);
|
);
|
||||||
reasons$: Observable<FranvaroReason[]> = this.franvaroReportFormService.reasons$;
|
reasons$: Observable<FranvaroReason[]> = this.franvaroReportFormService.reasons$;
|
||||||
allReasons$: Observable<FranvaroReason[]> = combineLatest([this.reasons$, this.franvaroReportFormService.otherKnownReasons$])
|
allReasons$: Observable<FranvaroReason[]> = combineLatest([
|
||||||
.pipe(
|
this.reasons$,
|
||||||
map(([reasons, otherKnownReasons]) => sortFranvaroReasons(reasons.concat(otherKnownReasons)))
|
this.franvaroReportFormService.otherKnownReasons$,
|
||||||
)
|
]).pipe(map(([reasons, otherKnownReasons]) => sortFranvaroReasons(reasons.concat(otherKnownReasons))));
|
||||||
otherKnownReasons$: Observable<FranvaroReason[]> = this.franvaroReportFormService.otherKnownReasons$;
|
otherKnownReasons$: Observable<FranvaroReason[]> = this.franvaroReportFormService.otherKnownReasons$;
|
||||||
|
|
||||||
wholeDayOrPartOfDayRadiobuttons: Radiobutton[] = [
|
wholeDayOrPartOfDayRadiobuttons: Radiobutton[] = [
|
||||||
@@ -123,11 +123,11 @@ export class FranvaroReportFormComponent {
|
|||||||
return lastPossibleReportDay > new Date();
|
return lastPossibleReportDay > new Date();
|
||||||
}
|
}
|
||||||
|
|
||||||
isAllowedToReport(avrop: Avrop): boolean {
|
isAllowedToReport(avrop: DeltagareAvrop): boolean {
|
||||||
return this._isAfterStartDate(avrop.startDate) && this._isBeforeLastPossibleReportDay(avrop.endDate);
|
return this._isAfterStartDate(avrop.startDate) && this._isBeforeLastPossibleReportDay(avrop.endDate);
|
||||||
}
|
}
|
||||||
|
|
||||||
notAllowedToReportWarning(avrop: Avrop): string {
|
notAllowedToReportWarning(avrop: DeltagareAvrop): string {
|
||||||
if (!this._isBeforeLastPossibleReportDay(avrop.endDate)) {
|
if (!this._isBeforeLastPossibleReportDay(avrop.endDate)) {
|
||||||
return 'Det går inte att göra Avvikelserapport (frånvaro) eftersom tjänsten har avslutats.';
|
return 'Det går inte att göra Avvikelserapport (frånvaro) eftersom tjänsten har avslutats.';
|
||||||
}
|
}
|
||||||
@@ -197,9 +197,9 @@ export class FranvaroReportFormComponent {
|
|||||||
slutTid: this.showTimePickers ? endTime : '23:59', // BÄR doesn't accept empty string or null
|
slutTid: this.showTimePickers ? endTime : '23:59', // BÄR doesn't accept empty string or null
|
||||||
alternativForKandaOrsaker: this.isOtherKnownReason
|
alternativForKandaOrsaker: this.isOtherKnownReason
|
||||||
? {
|
? {
|
||||||
typ: reason,
|
typ: reason,
|
||||||
motivering: this.showKnownReasonTextArea ? knownReasonComment : '',
|
motivering: this.showKnownReasonTextArea ? knownReasonComment : '',
|
||||||
}
|
}
|
||||||
: null,
|
: null,
|
||||||
forvantadNarvaro: {
|
forvantadNarvaro: {
|
||||||
startTid: expectedPresenceStartTime,
|
startTid: expectedPresenceStartTime,
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import { Injectable } from '@angular/core';
|
import { Injectable } from '@angular/core';
|
||||||
import { FranvaroReportRequest } from '@msfa-models/api/franvaro-request.model';
|
import { FranvaroReportRequest } from '@msfa-models/api/franvaro-request.model';
|
||||||
import { Avrop } from '@msfa-models/avrop.model';
|
import { DeltagareAvrop } from '@msfa-models/avrop.model';
|
||||||
import { FranvaroReason } from '@msfa-models/franvaro-reason.model';
|
import { FranvaroReason } 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 { FranvaroReportApiService } from '@msfa-services/api/franvaro-report.api.service';
|
import { FranvaroReportApiService } from '@msfa-services/api/franvaro-report.api.service';
|
||||||
@@ -16,7 +16,7 @@ export class FranvaroReportFormService {
|
|||||||
private deltagareApiService: DeltagareApiService
|
private deltagareApiService: DeltagareApiService
|
||||||
) {}
|
) {}
|
||||||
|
|
||||||
public fetchAvropInformation$(genomforandeReferens: number): Observable<Avrop> {
|
public fetchAvropInformation$(genomforandeReferens: number): Observable<DeltagareAvrop> {
|
||||||
return this.deltagareApiService.fetchAvropInformation$(genomforandeReferens);
|
return this.deltagareApiService.fetchAvropInformation$(genomforandeReferens);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|||||||
import { FormArray, FormControl, FormGroup } from '@angular/forms';
|
import { FormArray, FormControl, FormGroup } from '@angular/forms';
|
||||||
import { ActivatedRoute } from '@angular/router';
|
import { ActivatedRoute } from '@angular/router';
|
||||||
import { Activity } from '@msfa-models/activity.model';
|
import { Activity } from '@msfa-models/activity.model';
|
||||||
import { Avrop } from '@msfa-models/avrop.model';
|
import { DeltagareAvrop } from '@msfa-models/avrop.model';
|
||||||
import { CustomError } from '@msfa-models/error/custom-error';
|
import { CustomError } from '@msfa-models/error/custom-error';
|
||||||
import {
|
import {
|
||||||
GemensamPlanering,
|
GemensamPlanering,
|
||||||
@@ -36,7 +36,7 @@ export class GemensamPlaneringFormComponent {
|
|||||||
currentGenomforandeReferens$: Observable<number> = this.activatedRoute.params.pipe(
|
currentGenomforandeReferens$: Observable<number> = this.activatedRoute.params.pipe(
|
||||||
map(params => +params.genomforandeReferens)
|
map(params => +params.genomforandeReferens)
|
||||||
);
|
);
|
||||||
avrop$: Observable<Avrop> = this.currentGenomforandeReferens$.pipe(
|
avrop$: Observable<DeltagareAvrop> = this.currentGenomforandeReferens$.pipe(
|
||||||
switchMap(genomforandeReferens => this.gemensamPlaneringFormService.fetchAvropInformation$(genomforandeReferens)),
|
switchMap(genomforandeReferens => this.gemensamPlaneringFormService.fetchAvropInformation$(genomforandeReferens)),
|
||||||
shareReplay(1)
|
shareReplay(1)
|
||||||
);
|
);
|
||||||
@@ -158,11 +158,11 @@ export class GemensamPlaneringFormComponent {
|
|||||||
return lastPossibleReportDay > new Date();
|
return lastPossibleReportDay > new Date();
|
||||||
}
|
}
|
||||||
|
|
||||||
isAllowedToReport(avrop: Avrop): boolean {
|
isAllowedToReport(avrop: DeltagareAvrop): boolean {
|
||||||
return this._isAfterStartDate(avrop.startDate) && this._isBeforeLastPossibleReportDay(avrop.endDate);
|
return this._isAfterStartDate(avrop.startDate) && this._isBeforeLastPossibleReportDay(avrop.endDate);
|
||||||
}
|
}
|
||||||
|
|
||||||
notAllowedToReportWarning(avrop: Avrop): string {
|
notAllowedToReportWarning(avrop: DeltagareAvrop): string {
|
||||||
if (!this._isBeforeLastPossibleReportDay(avrop.endDate)) {
|
if (!this._isBeforeLastPossibleReportDay(avrop.endDate)) {
|
||||||
return 'Det går inte att göra Gemensam planering eftersom tjänsten har avslutats.';
|
return 'Det går inte att göra Gemensam planering eftersom tjänsten har avslutats.';
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { Injectable } from '@angular/core';
|
import { Injectable } from '@angular/core';
|
||||||
import { Activity } from '@msfa-models/activity.model';
|
import { Activity } from '@msfa-models/activity.model';
|
||||||
import { GemensamPlaneringPostRequest } from '@msfa-models/api/gemensam-planering.request.model';
|
import { GemensamPlaneringPostRequest } from '@msfa-models/api/gemensam-planering.request.model';
|
||||||
import { Avrop } from '@msfa-models/avrop.model';
|
import { DeltagareAvrop } from '@msfa-models/avrop.model';
|
||||||
import { GemensamPlaneringApiService } from '@msfa-services/api/gemensam-planering-api.service';
|
import { GemensamPlaneringApiService } from '@msfa-services/api/gemensam-planering-api.service';
|
||||||
import { Observable } from 'rxjs';
|
import { Observable } from 'rxjs';
|
||||||
|
|
||||||
@@ -11,7 +11,7 @@ export class GemensamPlaneringFormService {
|
|||||||
|
|
||||||
constructor(private gemensamPlaneringApiService: GemensamPlaneringApiService) {}
|
constructor(private gemensamPlaneringApiService: GemensamPlaneringApiService) {}
|
||||||
|
|
||||||
public fetchAvropInformation$(genomforandeReferens: number): Observable<Avrop> {
|
public fetchAvropInformation$(genomforandeReferens: number): Observable<DeltagareAvrop> {
|
||||||
return this.gemensamPlaneringApiService.fetchAvropInformation$(genomforandeReferens);
|
return this.gemensamPlaneringApiService.fetchAvropInformation$(genomforandeReferens);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import { FormControl, FormGroup } from '@angular/forms';
|
|||||||
import { ActivatedRoute } from '@angular/router';
|
import { ActivatedRoute } from '@angular/router';
|
||||||
import { InformativRapportCategory, InformativRapportCategoryKey } from '@msfa-enums/informativ-rapport-category.enum';
|
import { InformativRapportCategory, InformativRapportCategoryKey } from '@msfa-enums/informativ-rapport-category.enum';
|
||||||
import { InformativRapportRequest } from '@msfa-models/api/informativ-rapport.request.model';
|
import { InformativRapportRequest } from '@msfa-models/api/informativ-rapport.request.model';
|
||||||
import { Avrop } from '@msfa-models/avrop.model';
|
import { DeltagareAvrop } from '@msfa-models/avrop.model';
|
||||||
import { CustomError } from '@msfa-models/error/custom-error';
|
import { CustomError } from '@msfa-models/error/custom-error';
|
||||||
import { RequiredValidator } from '@msfa-utils/validators/required.validator';
|
import { RequiredValidator } from '@msfa-utils/validators/required.validator';
|
||||||
import { BehaviorSubject, combineLatest, Observable } from 'rxjs';
|
import { BehaviorSubject, combineLatest, Observable } from 'rxjs';
|
||||||
@@ -28,7 +28,7 @@ export class InformativRapportFormComponent {
|
|||||||
genomforandeReferens$: Observable<number> = this.activatedRoute.params.pipe(
|
genomforandeReferens$: Observable<number> = this.activatedRoute.params.pipe(
|
||||||
map(params => +params.genomforandeReferens)
|
map(params => +params.genomforandeReferens)
|
||||||
);
|
);
|
||||||
avrop$: Observable<Avrop> = this.genomforandeReferens$.pipe(
|
avrop$: Observable<DeltagareAvrop> = this.genomforandeReferens$.pipe(
|
||||||
switchMap(genomforandeReferens => this.informativRapportFormService.fetchAvropInformation$(genomforandeReferens)),
|
switchMap(genomforandeReferens => this.informativRapportFormService.fetchAvropInformation$(genomforandeReferens)),
|
||||||
shareReplay(1)
|
shareReplay(1)
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import { Injectable } from '@angular/core';
|
import { Injectable } from '@angular/core';
|
||||||
import { InformativRapportRequest } from '@msfa-models/api/informativ-rapport.request.model';
|
import { InformativRapportRequest } from '@msfa-models/api/informativ-rapport.request.model';
|
||||||
import { Avrop } from '@msfa-models/avrop.model';
|
import { DeltagareAvrop } from '@msfa-models/avrop.model';
|
||||||
import { DeltagareApiService } from '@msfa-services/api/deltagare.api.service';
|
import { DeltagareApiService } from '@msfa-services/api/deltagare.api.service';
|
||||||
import { InformativRapportApiService } from '@msfa-services/api/informativ-rapport.api.service';
|
import { InformativRapportApiService } from '@msfa-services/api/informativ-rapport.api.service';
|
||||||
import { Observable } from 'rxjs';
|
import { Observable } from 'rxjs';
|
||||||
@@ -16,7 +16,7 @@ export class InformativRapportFormService {
|
|||||||
return this.informativRapportApiService.postInformativRapport$(requestData);
|
return this.informativRapportApiService.postInformativRapport$(requestData);
|
||||||
}
|
}
|
||||||
|
|
||||||
public fetchAvropInformation$(genomforandeReferens: number): Observable<Avrop> {
|
public fetchAvropInformation$(genomforandeReferens: number): Observable<DeltagareAvrop> {
|
||||||
return this.deltagareApiService.fetchAvropInformation$(genomforandeReferens);
|
return this.deltagareApiService.fetchAvropInformation$(genomforandeReferens);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ import {
|
|||||||
PeriodiskRedovisningRequest,
|
PeriodiskRedovisningRequest,
|
||||||
} from '@msfa-models/api/periodisk-redovisning.request.model';
|
} from '@msfa-models/api/periodisk-redovisning.request.model';
|
||||||
import { AvropPeriod } from '@msfa-models/avrop-period.model';
|
import { AvropPeriod } from '@msfa-models/avrop-period.model';
|
||||||
import { Avrop } from '@msfa-models/avrop.model';
|
import { DeltagareAvrop } from '@msfa-models/avrop.model';
|
||||||
import { CustomError } from '@msfa-models/error/custom-error';
|
import { CustomError } from '@msfa-models/error/custom-error';
|
||||||
import { capitalizeWords } from '@msfa-utils/capitalize-words.util';
|
import { capitalizeWords } from '@msfa-utils/capitalize-words.util';
|
||||||
import { formatDate, formatToDate } from '@msfa-utils/format-to-date.util';
|
import { formatDate, formatToDate } from '@msfa-utils/format-to-date.util';
|
||||||
@@ -53,7 +53,7 @@ export class PeriodiskRedovisningFormComponent implements OnInit {
|
|||||||
genomforandeReferens$: Observable<number> = this.activatedRoute.params.pipe(
|
genomforandeReferens$: Observable<number> = this.activatedRoute.params.pipe(
|
||||||
map((params: Params) => +params.genomforandeReferens)
|
map((params: Params) => +params.genomforandeReferens)
|
||||||
);
|
);
|
||||||
avrop$: Observable<Avrop> = this.genomforandeReferens$.pipe(
|
avrop$: Observable<DeltagareAvrop> = this.genomforandeReferens$.pipe(
|
||||||
switchMap(genomforandeReferens =>
|
switchMap(genomforandeReferens =>
|
||||||
this.periodiskRedovisningFormService.fetchAvropInformation$(genomforandeReferens)
|
this.periodiskRedovisningFormService.fetchAvropInformation$(genomforandeReferens)
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
import { Injectable } from '@angular/core';
|
import { Injectable } from '@angular/core';
|
||||||
import { Avrop } from '@msfa-models/avrop.model';
|
import { Activity, mapResponseToActivity } from '@msfa-models/activity.model';
|
||||||
|
import { PeriodiskRedovisningRequest } from '@msfa-models/api/periodisk-redovisning.request.model';
|
||||||
|
import { DeltagareAvrop } from '@msfa-models/avrop.model';
|
||||||
import { DeltagareApiService } from '@msfa-services/api/deltagare.api.service';
|
import { DeltagareApiService } from '@msfa-services/api/deltagare.api.service';
|
||||||
|
import { GemensamPlaneringApiService } from '@msfa-services/api/gemensam-planering-api.service';
|
||||||
import { PeriodiskRedovisningApiService } from '@msfa-services/api/periodisk-redovisning.api.service';
|
import { PeriodiskRedovisningApiService } from '@msfa-services/api/periodisk-redovisning.api.service';
|
||||||
import { Observable } from 'rxjs';
|
import { Observable } from 'rxjs';
|
||||||
import { PeriodiskRedovisningRequest } from '@msfa-models/api/periodisk-redovisning.request.model';
|
|
||||||
import { map } from 'rxjs/operators';
|
import { map } from 'rxjs/operators';
|
||||||
import { Activity, mapResponseToActivity } from '@msfa-models/activity.model';
|
|
||||||
import { GemensamPlaneringApiService } from '@msfa-services/api/gemensam-planering-api.service';
|
|
||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
||||||
export class PeriodiskRedovisningFormService {
|
export class PeriodiskRedovisningFormService {
|
||||||
@@ -16,7 +16,7 @@ export class PeriodiskRedovisningFormService {
|
|||||||
private gemensamPlaneringApiService: GemensamPlaneringApiService
|
private gemensamPlaneringApiService: GemensamPlaneringApiService
|
||||||
) {}
|
) {}
|
||||||
|
|
||||||
fetchAvropInformation$(genomforandeReferens: number): Observable<Avrop> {
|
fetchAvropInformation$(genomforandeReferens: number): Observable<DeltagareAvrop> {
|
||||||
return this.deltagareApiService.fetchAvropInformation$(genomforandeReferens);
|
return this.deltagareApiService.fetchAvropInformation$(genomforandeReferens);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|||||||
import { FormControl, FormGroup } from '@angular/forms';
|
import { FormControl, FormGroup } from '@angular/forms';
|
||||||
import { ActivatedRoute } from '@angular/router';
|
import { ActivatedRoute } from '@angular/router';
|
||||||
import { SignalRequest } from '@msfa-models/api/signal.request.model';
|
import { SignalRequest } from '@msfa-models/api/signal.request.model';
|
||||||
import { Avrop } from '@msfa-models/avrop.model';
|
import { DeltagareAvrop } from '@msfa-models/avrop.model';
|
||||||
import { CustomError } from '@msfa-models/error/custom-error';
|
import { CustomError } from '@msfa-models/error/custom-error';
|
||||||
import { Signal } from '@msfa-models/signal.model';
|
import { Signal } from '@msfa-models/signal.model';
|
||||||
import { formatDate } from '@msfa-utils/format-to-date.util';
|
import { formatDate } from '@msfa-utils/format-to-date.util';
|
||||||
@@ -39,7 +39,7 @@ export class SignalFormComponent {
|
|||||||
currentGenomforandeReferens$: Observable<number> = this.activatedRoute.params.pipe(
|
currentGenomforandeReferens$: Observable<number> = this.activatedRoute.params.pipe(
|
||||||
map(params => +params.genomforandeReferens)
|
map(params => +params.genomforandeReferens)
|
||||||
);
|
);
|
||||||
avrop$: Observable<Avrop> = this.currentGenomforandeReferens$.pipe(
|
avrop$: Observable<DeltagareAvrop> = this.currentGenomforandeReferens$.pipe(
|
||||||
switchMap(genomforandeReferens => this.signalFormService.fetchAvropInformation$(genomforandeReferens)),
|
switchMap(genomforandeReferens => this.signalFormService.fetchAvropInformation$(genomforandeReferens)),
|
||||||
shareReplay(1)
|
shareReplay(1)
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import { Injectable } from '@angular/core';
|
import { Injectable } from '@angular/core';
|
||||||
import { SignalRequest } from '@msfa-models/api/signal.request.model';
|
import { SignalRequest } from '@msfa-models/api/signal.request.model';
|
||||||
import { Avrop } from '@msfa-models/avrop.model';
|
import { DeltagareAvrop } from '@msfa-models/avrop.model';
|
||||||
import { DeltagareApiService } from '@msfa-services/api/deltagare.api.service';
|
import { DeltagareApiService } from '@msfa-services/api/deltagare.api.service';
|
||||||
import { SignalApiService } from '@msfa-services/api/signal.api.service';
|
import { SignalApiService } from '@msfa-services/api/signal.api.service';
|
||||||
import { Observable } from 'rxjs';
|
import { Observable } from 'rxjs';
|
||||||
@@ -13,7 +13,7 @@ export class SignalFormService {
|
|||||||
return this.signalApiService.postSignal$(requestData);
|
return this.signalApiService.postSignal$(requestData);
|
||||||
}
|
}
|
||||||
|
|
||||||
public fetchAvropInformation$(genomforandeReferens: number): Observable<Avrop> {
|
public fetchAvropInformation$(genomforandeReferens: number): Observable<DeltagareAvrop> {
|
||||||
return this.deltagareApiService.fetchAvropInformation$(genomforandeReferens);
|
return this.deltagareApiService.fetchAvropInformation$(genomforandeReferens);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
||||||
import { slutredovisningFormDataToSlutredovisningRequest } from '../utils/form-data-to-slutredovisning.util';
|
|
||||||
import { CustomError } from '@msfa-models/error/custom-error';
|
|
||||||
import { BehaviorSubject } from 'rxjs';
|
|
||||||
import { SlutredovisningFormService } from '../slutredovisning-form.service';
|
|
||||||
import { SlutredovisningResponseMainOccupationDetails } from '@msfa-models/api/slutredovisning.response.model';
|
import { SlutredovisningResponseMainOccupationDetails } from '@msfa-models/api/slutredovisning.response.model';
|
||||||
import { Avrop } from '@msfa-models/avrop.model';
|
import { DeltagareAvrop } from '@msfa-models/avrop.model';
|
||||||
import { map } from 'rxjs/operators';
|
import { CustomError } from '@msfa-models/error/custom-error';
|
||||||
import { MainOccupation, Slutredovisning } from '@msfa-models/slutredovisning.model';
|
import { MainOccupation, Slutredovisning } from '@msfa-models/slutredovisning.model';
|
||||||
|
import { BehaviorSubject } from 'rxjs';
|
||||||
|
import { map } from 'rxjs/operators';
|
||||||
import { SlutredovisningFormData } from '../models/slutredovisning-form-data.model';
|
import { SlutredovisningFormData } from '../models/slutredovisning-form-data.model';
|
||||||
|
import { SlutredovisningFormService } from '../slutredovisning-form.service';
|
||||||
|
import { slutredovisningFormDataToSlutredovisningRequest } from '../utils/form-data-to-slutredovisning.util';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'msfa-slutredovisning-form-step3',
|
selector: 'msfa-slutredovisning-form-step3',
|
||||||
@@ -17,7 +17,7 @@ import { SlutredovisningFormData } from '../models/slutredovisning-form-data.mod
|
|||||||
export class SlutredovisningFormStep3Component {
|
export class SlutredovisningFormStep3Component {
|
||||||
@Output() backClick = new EventEmitter<void>();
|
@Output() backClick = new EventEmitter<void>();
|
||||||
@Input() slutredovisningFormData: SlutredovisningFormData;
|
@Input() slutredovisningFormData: SlutredovisningFormData;
|
||||||
@Input() avrop: Avrop;
|
@Input() avrop: DeltagareAvrop;
|
||||||
|
|
||||||
submitIsLoading$ = new BehaviorSubject<boolean>(false);
|
submitIsLoading$ = new BehaviorSubject<boolean>(false);
|
||||||
submitError$ = new BehaviorSubject<CustomError>(null);
|
submitError$ = new BehaviorSubject<CustomError>(null);
|
||||||
|
|||||||
@@ -1,17 +1,17 @@
|
|||||||
import { ChangeDetectionStrategy, Component, OnDestroy } from '@angular/core';
|
import { ChangeDetectionStrategy, Component, OnDestroy } from '@angular/core';
|
||||||
import { AbstractControl, FormGroup } from '@angular/forms';
|
import { AbstractControl, FormGroup } from '@angular/forms';
|
||||||
import { ActivatedRoute } from '@angular/router';
|
import { ActivatedRoute } from '@angular/router';
|
||||||
import { Avrop } from '@msfa-models/avrop.model';
|
import { DeltagareAvrop } from '@msfa-models/avrop.model';
|
||||||
|
import { addDays } from 'date-fns';
|
||||||
import { BehaviorSubject, combineLatest, Observable, Subscription } from 'rxjs';
|
import { BehaviorSubject, combineLatest, Observable, Subscription } from 'rxjs';
|
||||||
import { map, shareReplay, switchMap } from 'rxjs/operators';
|
import { map, shareReplay, switchMap } from 'rxjs/operators';
|
||||||
import { SlutredovisningFormService } from './slutredovisning-form.service';
|
import { SlutredovisningFormData } from './models/slutredovisning-form-data.model';
|
||||||
import { addDays } from 'date-fns';
|
|
||||||
import { SlutredovisningStep } from './slutredovisning-form.model';
|
|
||||||
import { SlutredovisningStep0FormData } from './slutredovisning-form-step0/slutredovisning-form-step0.component';
|
import { SlutredovisningStep0FormData } from './slutredovisning-form-step0/slutredovisning-form-step0.component';
|
||||||
import { SlutredovisningStep1FormData } from './slutredovisning-form-step1/slutredovisning-form-step1.component';
|
import { SlutredovisningStep1FormData } from './slutredovisning-form-step1/slutredovisning-form-step1.component';
|
||||||
import { SlutredovisningStep2FormData } from './slutredovisning-form-step2/slutredovisning-form-step2.component';
|
import { SlutredovisningStep2FormData } from './slutredovisning-form-step2/slutredovisning-form-step2.component';
|
||||||
|
import { SlutredovisningStep } from './slutredovisning-form.model';
|
||||||
|
import { SlutredovisningFormService } from './slutredovisning-form.service';
|
||||||
import { formsToSlutredovisningFormData } from './utils/form-data-to-slutredovisning.util';
|
import { formsToSlutredovisningFormData } from './utils/form-data-to-slutredovisning.util';
|
||||||
import { SlutredovisningFormData } from './models/slutredovisning-form-data.model';
|
|
||||||
|
|
||||||
interface Params {
|
interface Params {
|
||||||
genomforandeReferens: string;
|
genomforandeReferens: string;
|
||||||
@@ -54,7 +54,7 @@ export class SlutredovisningFormComponent implements OnDestroy {
|
|||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
avrop$: Observable<Avrop> = this.genomforandeReferens$.pipe(
|
avrop$: Observable<DeltagareAvrop> = this.genomforandeReferens$.pipe(
|
||||||
switchMap(genomforandeReferens => this.slutredovisningFormService.fetchAvropInformation$(genomforandeReferens)),
|
switchMap(genomforandeReferens => this.slutredovisningFormService.fetchAvropInformation$(genomforandeReferens)),
|
||||||
shareReplay(1)
|
shareReplay(1)
|
||||||
);
|
);
|
||||||
@@ -80,11 +80,11 @@ export class SlutredovisningFormComponent implements OnDestroy {
|
|||||||
return lastPossibleReportDay > new Date();
|
return lastPossibleReportDay > new Date();
|
||||||
}
|
}
|
||||||
|
|
||||||
isAllowedToReport(avrop: Avrop): boolean {
|
isAllowedToReport(avrop: DeltagareAvrop): boolean {
|
||||||
return this._isAfterStartDate(avrop.startDate) && this._isBeforeLastPossibleReportDay(avrop.endDate);
|
return this._isAfterStartDate(avrop.startDate) && this._isBeforeLastPossibleReportDay(avrop.endDate);
|
||||||
}
|
}
|
||||||
|
|
||||||
notAllowedToReportWarning(avrop: Avrop): string {
|
notAllowedToReportWarning(avrop: DeltagareAvrop): string {
|
||||||
if (!this._isBeforeLastPossibleReportDay(avrop.endDate)) {
|
if (!this._isBeforeLastPossibleReportDay(avrop.endDate)) {
|
||||||
return 'Det går inte att göra Slutredovisning eftersom tjänsten har avslutats.';
|
return 'Det går inte att göra Slutredovisning eftersom tjänsten har avslutats.';
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
import { Injectable } from '@angular/core';
|
import { Injectable } from '@angular/core';
|
||||||
import { Activity, mapResponseToActivity } from '@msfa-models/activity.model';
|
import { Activity, mapResponseToActivity } from '@msfa-models/activity.model';
|
||||||
import { Avrop } from '@msfa-models/avrop.model';
|
import { SlutredovisningRequest } from '@msfa-models/api/slutredovisning.request.model';
|
||||||
|
import { DeltagareAvrop } from '@msfa-models/avrop.model';
|
||||||
import { mapResponseToYrkesomrade, Yrkesomrade, yrkeToTextMap } from '@msfa-models/yrkesomrade.model';
|
import { mapResponseToYrkesomrade, Yrkesomrade, yrkeToTextMap } from '@msfa-models/yrkesomrade.model';
|
||||||
import { DeltagareApiService } from '@msfa-services/api/deltagare.api.service';
|
import { DeltagareApiService } from '@msfa-services/api/deltagare.api.service';
|
||||||
import { GemensamPlaneringApiService } from '@msfa-services/api/gemensam-planering-api.service';
|
import { GemensamPlaneringApiService } from '@msfa-services/api/gemensam-planering-api.service';
|
||||||
@@ -9,9 +10,8 @@ import { BehaviorSubject, Observable } from 'rxjs';
|
|||||||
import { map, shareReplay } from 'rxjs/operators';
|
import { map, shareReplay } from 'rxjs/operators';
|
||||||
import { SlutredovisningStep0FormData } from './slutredovisning-form-step0/slutredovisning-form-step0.component';
|
import { SlutredovisningStep0FormData } from './slutredovisning-form-step0/slutredovisning-form-step0.component';
|
||||||
import { SlutredovisningStep1FormData } from './slutredovisning-form-step1/slutredovisning-form-step1.component';
|
import { SlutredovisningStep1FormData } from './slutredovisning-form-step1/slutredovisning-form-step1.component';
|
||||||
import { SlutredovisningStep } from './slutredovisning-form.model';
|
|
||||||
import { SlutredovisningStep2FormData } from './slutredovisning-form-step2/slutredovisning-form-step2.component';
|
import { SlutredovisningStep2FormData } from './slutredovisning-form-step2/slutredovisning-form-step2.component';
|
||||||
import { SlutredovisningRequest } from '@msfa-models/api/slutredovisning.request.model';
|
import { SlutredovisningStep } from './slutredovisning-form.model';
|
||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
||||||
export class SlutredovisningFormService {
|
export class SlutredovisningFormService {
|
||||||
@@ -49,7 +49,7 @@ export class SlutredovisningFormService {
|
|||||||
return this.slutredovisningApiService.submitSlutredovisning$(slutredovisning);
|
return this.slutredovisningApiService.submitSlutredovisning$(slutredovisning);
|
||||||
}
|
}
|
||||||
|
|
||||||
fetchAvropInformation$(genomforandeReferens: number): Observable<Avrop> {
|
fetchAvropInformation$(genomforandeReferens: number): Observable<DeltagareAvrop> {
|
||||||
return this.deltagareApiService.fetchAvropInformation$(genomforandeReferens);
|
return this.deltagareApiService.fetchAvropInformation$(genomforandeReferens);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
||||||
import { ActivatedRoute } from '@angular/router';
|
import { ActivatedRoute } from '@angular/router';
|
||||||
import { Params } from '@msfa-models/api/params.model';
|
import { Params } from '@msfa-models/api/params.model';
|
||||||
import { Avrop } from '@msfa-models/avrop.model';
|
import { DeltagareAvrop } from '@msfa-models/avrop.model';
|
||||||
import { AvvikelseReport } from '@msfa-models/avvikelse.model';
|
import { AvvikelseReport } from '@msfa-models/avvikelse.model';
|
||||||
import { Observable } from 'rxjs';
|
import { Observable } from 'rxjs';
|
||||||
import { map, shareReplay, switchMap } from 'rxjs/operators';
|
import { map, shareReplay, switchMap } from 'rxjs/operators';
|
||||||
@@ -20,7 +20,7 @@ export class AvvikelseReportViewComponent {
|
|||||||
genomforandeReferens: params.genomforandeReferens as string,
|
genomforandeReferens: params.genomforandeReferens as string,
|
||||||
}))
|
}))
|
||||||
);
|
);
|
||||||
avrop$: Observable<Avrop> = this.params$.pipe(
|
avrop$: Observable<DeltagareAvrop> = this.params$.pipe(
|
||||||
switchMap(({ genomforandeReferens }) =>
|
switchMap(({ genomforandeReferens }) =>
|
||||||
this.avvikelseReportViewService.fetchAvropInformation$(+genomforandeReferens)
|
this.avvikelseReportViewService.fetchAvropInformation$(+genomforandeReferens)
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
import { Injectable } from '@angular/core';
|
import { Injectable } from '@angular/core';
|
||||||
import { Avrop } from '@msfa-models/avrop.model';
|
import { DeltagareAvrop } 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 { AvvikelseApiService } from '@msfa-services/api/avvikelse-api.service';
|
||||||
|
import { DeltagareApiService } from '@msfa-services/api/deltagare.api.service';
|
||||||
import { HandlingarApiService } from '@msfa-services/api/handlingar.api.service';
|
import { HandlingarApiService } from '@msfa-services/api/handlingar.api.service';
|
||||||
import { combineLatest, Observable } from 'rxjs';
|
import { combineLatest, Observable } from 'rxjs';
|
||||||
import { DeltagareApiService } from '@msfa-services/api/deltagare.api.service';
|
|
||||||
import { filter, map, switchMap } from 'rxjs/operators';
|
import { filter, map, switchMap } from 'rxjs/operators';
|
||||||
import { AvvikelseReason } from '@msfa-models/avvikelse-reason.model';
|
|
||||||
import { AvvikelseQuestion } from '@msfa-models/avvikelse-question.model';
|
|
||||||
import { AvvikelseApiService } from '@msfa-services/api/avvikelse-api.service';
|
|
||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
||||||
export class AvvikelseReportViewService {
|
export class AvvikelseReportViewService {
|
||||||
@@ -20,7 +20,7 @@ export class AvvikelseReportViewService {
|
|||||||
private avvikelseApiService: AvvikelseApiService
|
private avvikelseApiService: AvvikelseApiService
|
||||||
) {}
|
) {}
|
||||||
|
|
||||||
public fetchAvropInformation$(genomforandeReferens: number): Observable<Avrop> {
|
public fetchAvropInformation$(genomforandeReferens: number): Observable<DeltagareAvrop> {
|
||||||
return this.deltagareApiService.fetchAvropInformation$(genomforandeReferens);
|
return this.deltagareApiService.fetchAvropInformation$(genomforandeReferens);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
||||||
import { ActivatedRoute } from '@angular/router';
|
import { ActivatedRoute } from '@angular/router';
|
||||||
import { Params } from '@msfa-models/api/params.model';
|
import { Params } from '@msfa-models/api/params.model';
|
||||||
import { Avrop } from '@msfa-models/avrop.model';
|
import { DeltagareAvrop } from '@msfa-models/avrop.model';
|
||||||
import { FranvaroReport } from '@msfa-models/franvaro.model';
|
import { FranvaroReport } from '@msfa-models/franvaro.model';
|
||||||
import { Observable } from 'rxjs';
|
import { Observable } from 'rxjs';
|
||||||
import { map, shareReplay, switchMap } from 'rxjs/operators';
|
import { map, shareReplay, switchMap } from 'rxjs/operators';
|
||||||
@@ -20,7 +20,7 @@ export class FranvaroReportViewComponent {
|
|||||||
genomforandeReferens: params.genomforandeReferens as string,
|
genomforandeReferens: params.genomforandeReferens as string,
|
||||||
}))
|
}))
|
||||||
);
|
);
|
||||||
avrop$: Observable<Avrop> = this.params$.pipe(
|
avrop$: Observable<DeltagareAvrop> = this.params$.pipe(
|
||||||
switchMap(({ genomforandeReferens }) =>
|
switchMap(({ genomforandeReferens }) =>
|
||||||
this.franvaroReportViewService.fetchAvropInformation$(+genomforandeReferens)
|
this.franvaroReportViewService.fetchAvropInformation$(+genomforandeReferens)
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
import { Injectable } from '@angular/core';
|
import { Injectable } from '@angular/core';
|
||||||
import { Avrop } from '@msfa-models/avrop.model';
|
import { DeltagareAvrop } from '@msfa-models/avrop.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 { DeltagareApiService } from '@msfa-services/api/deltagare.api.service';
|
||||||
|
import { FranvaroReportApiService } from '@msfa-services/api/franvaro-report.api.service';
|
||||||
import { HandlingarApiService } from '@msfa-services/api/handlingar.api.service';
|
import { HandlingarApiService } from '@msfa-services/api/handlingar.api.service';
|
||||||
import { combineLatest, Observable } from 'rxjs';
|
import { combineLatest, Observable } from 'rxjs';
|
||||||
import { DeltagareApiService } from '@msfa-services/api/deltagare.api.service';
|
|
||||||
import { FranvaroReason } from '@msfa-models/franvaro-reason.model';
|
|
||||||
import { FranvaroReportApiService } from '@msfa-services/api/franvaro-report.api.service';
|
|
||||||
import { filter, map, switchMap } from 'rxjs/operators';
|
import { filter, map, switchMap } from 'rxjs/operators';
|
||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
||||||
@@ -21,7 +21,7 @@ export class FranvaroReportViewService {
|
|||||||
private deltagareApiService: DeltagareApiService
|
private deltagareApiService: DeltagareApiService
|
||||||
) {}
|
) {}
|
||||||
|
|
||||||
public fetchAvropInformation$(genomforandeReferens: number): Observable<Avrop> {
|
public fetchAvropInformation$(genomforandeReferens: number): Observable<DeltagareAvrop> {
|
||||||
return this.deltagareApiService.fetchAvropInformation$(genomforandeReferens);
|
return this.deltagareApiService.fetchAvropInformation$(genomforandeReferens);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
||||||
import { ActivatedRoute } from '@angular/router';
|
import { ActivatedRoute } from '@angular/router';
|
||||||
import { Params } from '@msfa-models/api/params.model';
|
import { Params } from '@msfa-models/api/params.model';
|
||||||
import { Avrop } from '@msfa-models/avrop.model';
|
import { DeltagareAvrop } from '@msfa-models/avrop.model';
|
||||||
import { GemensamPlaneringDetailed } from '@msfa-models/gemensam-planering.model';
|
import { GemensamPlaneringDetailed } from '@msfa-models/gemensam-planering.model';
|
||||||
import { Observable } from 'rxjs';
|
import { Observable } from 'rxjs';
|
||||||
import { map, shareReplay, switchMap } from 'rxjs/operators';
|
import { map, shareReplay, switchMap } from 'rxjs/operators';
|
||||||
@@ -20,7 +20,7 @@ export class GemensamPlaneringViewComponent {
|
|||||||
genomforandeReferens: params.genomforandeReferens as string,
|
genomforandeReferens: params.genomforandeReferens as string,
|
||||||
}))
|
}))
|
||||||
);
|
);
|
||||||
avrop$: Observable<Avrop> = this.params$.pipe(
|
avrop$: Observable<DeltagareAvrop> = this.params$.pipe(
|
||||||
switchMap(({ genomforandeReferens }) =>
|
switchMap(({ genomforandeReferens }) =>
|
||||||
this.gemensamPlaneringViewService.fetchAvropInformation$(+genomforandeReferens)
|
this.gemensamPlaneringViewService.fetchAvropInformation$(+genomforandeReferens)
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -1,15 +1,15 @@
|
|||||||
import { Injectable } from '@angular/core';
|
import { Injectable } from '@angular/core';
|
||||||
import { Avrop } from '@msfa-models/avrop.model';
|
import { Activity } from '@msfa-models/activity.model';
|
||||||
|
import { DeltagareAvrop } from '@msfa-models/avrop.model';
|
||||||
import {
|
import {
|
||||||
GemensamPlaneringDetailed,
|
GemensamPlaneringDetailed,
|
||||||
mapResponseToGemensamPlaneringDetailed,
|
mapResponseToGemensamPlaneringDetailed,
|
||||||
} from '@msfa-models/gemensam-planering.model';
|
} from '@msfa-models/gemensam-planering.model';
|
||||||
|
import { DeltagareApiService } from '@msfa-services/api/deltagare.api.service';
|
||||||
|
import { GemensamPlaneringApiService } from '@msfa-services/api/gemensam-planering-api.service';
|
||||||
import { HandlingarApiService } from '@msfa-services/api/handlingar.api.service';
|
import { HandlingarApiService } from '@msfa-services/api/handlingar.api.service';
|
||||||
import { Observable } from 'rxjs';
|
import { Observable } from 'rxjs';
|
||||||
import { DeltagareApiService } from '@msfa-services/api/deltagare.api.service';
|
|
||||||
import { map, switchMap } from 'rxjs/operators';
|
import { map, switchMap } from 'rxjs/operators';
|
||||||
import { Activity } from '@msfa-models/activity.model';
|
|
||||||
import { GemensamPlaneringApiService } from '@msfa-services/api/gemensam-planering-api.service';
|
|
||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
||||||
export class GemensamPlaneringViewService {
|
export class GemensamPlaneringViewService {
|
||||||
@@ -21,7 +21,7 @@ export class GemensamPlaneringViewService {
|
|||||||
private gemensamPlaneringApiService: GemensamPlaneringApiService
|
private gemensamPlaneringApiService: GemensamPlaneringApiService
|
||||||
) {}
|
) {}
|
||||||
|
|
||||||
public fetchAvropInformation$(genomforandeReferens: number): Observable<Avrop> {
|
public fetchAvropInformation$(genomforandeReferens: number): Observable<DeltagareAvrop> {
|
||||||
return this.deltagareApiService.fetchAvropInformation$(genomforandeReferens);
|
return this.deltagareApiService.fetchAvropInformation$(genomforandeReferens);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
||||||
import { ActivatedRoute } from '@angular/router';
|
import { ActivatedRoute } from '@angular/router';
|
||||||
import { Params } from '@msfa-models/api/params.model';
|
import { Params } from '@msfa-models/api/params.model';
|
||||||
import { Avrop } from '@msfa-models/avrop.model';
|
import { DeltagareAvrop } from '@msfa-models/avrop.model';
|
||||||
import { InformativRapport } from '@msfa-models/informativ-rapport.model';
|
import { InformativRapport } from '@msfa-models/informativ-rapport.model';
|
||||||
import { Observable } from 'rxjs';
|
import { Observable } from 'rxjs';
|
||||||
import { map, shareReplay, switchMap } from 'rxjs/operators';
|
import { map, shareReplay, switchMap } from 'rxjs/operators';
|
||||||
@@ -20,7 +20,7 @@ export class InformativRapportViewComponent {
|
|||||||
genomforandeReferens: params.genomforandeReferens as string,
|
genomforandeReferens: params.genomforandeReferens as string,
|
||||||
}))
|
}))
|
||||||
);
|
);
|
||||||
avrop$: Observable<Avrop> = this.params$.pipe(
|
avrop$: Observable<DeltagareAvrop> = this.params$.pipe(
|
||||||
switchMap(({ genomforandeReferens }) =>
|
switchMap(({ genomforandeReferens }) =>
|
||||||
this.informativRapportViewService.fetchAvropInformation$(+genomforandeReferens)
|
this.informativRapportViewService.fetchAvropInformation$(+genomforandeReferens)
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { Injectable } from '@angular/core';
|
import { Injectable } from '@angular/core';
|
||||||
import { Avrop } from '@msfa-models/avrop.model';
|
import { DeltagareAvrop } from '@msfa-models/avrop.model';
|
||||||
import { InformativRapport, mapResponseToInformativRapport } from '@msfa-models/informativ-rapport.model';
|
import { InformativRapport, mapResponseToInformativRapport } from '@msfa-models/informativ-rapport.model';
|
||||||
import { DeltagareApiService } from '@msfa-services/api/deltagare.api.service';
|
import { DeltagareApiService } from '@msfa-services/api/deltagare.api.service';
|
||||||
import { HandlingarApiService } from '@msfa-services/api/handlingar.api.service';
|
import { HandlingarApiService } from '@msfa-services/api/handlingar.api.service';
|
||||||
@@ -10,7 +10,7 @@ import { map } from 'rxjs/operators';
|
|||||||
export class InformativRapportViewService {
|
export class InformativRapportViewService {
|
||||||
constructor(private handlingarApiService: HandlingarApiService, private deltagareApiService: DeltagareApiService) {}
|
constructor(private handlingarApiService: HandlingarApiService, private deltagareApiService: DeltagareApiService) {}
|
||||||
|
|
||||||
public fetchAvropInformation$(genomforandeReferens: number): Observable<Avrop> {
|
public fetchAvropInformation$(genomforandeReferens: number): Observable<DeltagareAvrop> {
|
||||||
return this.deltagareApiService.fetchAvropInformation$(genomforandeReferens);
|
return this.deltagareApiService.fetchAvropInformation$(genomforandeReferens);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
||||||
import { ActivatedRoute } from '@angular/router';
|
import { ActivatedRoute } from '@angular/router';
|
||||||
import { Params } from '@msfa-models/api/params.model';
|
import { Params } from '@msfa-models/api/params.model';
|
||||||
import { Avrop } from '@msfa-models/avrop.model';
|
import { DeltagareAvrop } from '@msfa-models/avrop.model';
|
||||||
import { PeriodiskRedovisning, PeriodiskRedovisningActivity } from '@msfa-models/periodisk-redovisning.model';
|
import { PeriodiskRedovisning, PeriodiskRedovisningActivity } from '@msfa-models/periodisk-redovisning.model';
|
||||||
import { capitalizeWords } from '@msfa-shared/utils/capitalize-words.util';
|
import { capitalizeWords } from '@msfa-shared/utils/capitalize-words.util';
|
||||||
import { formatDate, formatToDate } from '@msfa-shared/utils/format-to-date.util';
|
import { formatDate, formatToDate } from '@msfa-shared/utils/format-to-date.util';
|
||||||
@@ -22,7 +22,7 @@ export class PeriodiskRedovisningViewComponent {
|
|||||||
genomforandeReferens: params.genomforandeReferens as string,
|
genomforandeReferens: params.genomforandeReferens as string,
|
||||||
}))
|
}))
|
||||||
);
|
);
|
||||||
avrop$: Observable<Avrop> = this.params$.pipe(
|
avrop$: Observable<DeltagareAvrop> = this.params$.pipe(
|
||||||
switchMap(({ genomforandeReferens }) =>
|
switchMap(({ genomforandeReferens }) =>
|
||||||
this.periodiskRedovisningViewService.fetchAvropInformation$(+genomforandeReferens)
|
this.periodiskRedovisningViewService.fetchAvropInformation$(+genomforandeReferens)
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import { Injectable } from '@angular/core';
|
import { Injectable } from '@angular/core';
|
||||||
import { Activity } from '@msfa-models/activity.model';
|
import { Activity } from '@msfa-models/activity.model';
|
||||||
import { Avrop } from '@msfa-models/avrop.model';
|
import { DeltagareAvrop } from '@msfa-models/avrop.model';
|
||||||
import { mapResponseToPeriodiskRedovisning, PeriodiskRedovisning } from '@msfa-models/periodisk-redovisning.model';
|
import { mapResponseToPeriodiskRedovisning, PeriodiskRedovisning } from '@msfa-models/periodisk-redovisning.model';
|
||||||
import { DeltagareApiService } from '@msfa-services/api/deltagare.api.service';
|
import { DeltagareApiService } from '@msfa-services/api/deltagare.api.service';
|
||||||
import { GemensamPlaneringApiService } from '@msfa-services/api/gemensam-planering-api.service';
|
import { GemensamPlaneringApiService } from '@msfa-services/api/gemensam-planering-api.service';
|
||||||
@@ -18,7 +18,7 @@ export class PeriodiskRedovisningViewService {
|
|||||||
private deltagareApiService: DeltagareApiService
|
private deltagareApiService: DeltagareApiService
|
||||||
) {}
|
) {}
|
||||||
|
|
||||||
public fetchAvropInformation$(genomforandeReferens: number): Observable<Avrop> {
|
public fetchAvropInformation$(genomforandeReferens: number): Observable<DeltagareAvrop> {
|
||||||
return this.deltagareApiService.fetchAvropInformation$(genomforandeReferens);
|
return this.deltagareApiService.fetchAvropInformation$(genomforandeReferens);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
||||||
import { ActivatedRoute } from '@angular/router';
|
import { ActivatedRoute } from '@angular/router';
|
||||||
import { Params } from '@msfa-models/api/params.model';
|
import { Params } from '@msfa-models/api/params.model';
|
||||||
import { Avrop } from '@msfa-models/avrop.model';
|
import { DeltagareAvrop } from '@msfa-models/avrop.model';
|
||||||
|
import { Slutredovisning } from '@msfa-models/slutredovisning.model';
|
||||||
import { Observable } from 'rxjs';
|
import { Observable } from 'rxjs';
|
||||||
import { map, shareReplay, switchMap } from 'rxjs/operators';
|
import { map, shareReplay, switchMap } from 'rxjs/operators';
|
||||||
import { SlutredovisningViewService } from './slutredovisning-view.service';
|
import { SlutredovisningViewService } from './slutredovisning-view.service';
|
||||||
import { Slutredovisning } from '@msfa-models/slutredovisning.model';
|
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'msfa-slutredovisning-view',
|
selector: 'msfa-slutredovisning-view',
|
||||||
@@ -20,7 +20,7 @@ export class SlutredovisningViewComponent {
|
|||||||
genomforandeReferens: params.genomforandeReferens as string,
|
genomforandeReferens: params.genomforandeReferens as string,
|
||||||
}))
|
}))
|
||||||
);
|
);
|
||||||
avrop$: Observable<Avrop> = this.params$.pipe(
|
avrop$: Observable<DeltagareAvrop> = this.params$.pipe(
|
||||||
switchMap(({ genomforandeReferens }) =>
|
switchMap(({ genomforandeReferens }) =>
|
||||||
this.slutredovisningViewService.fetchAvropInformation$(+genomforandeReferens)
|
this.slutredovisningViewService.fetchAvropInformation$(+genomforandeReferens)
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -1,21 +1,16 @@
|
|||||||
import { Injectable } from '@angular/core';
|
import { Injectable } from '@angular/core';
|
||||||
import { Avrop } from '@msfa-models/avrop.model';
|
import { SlutredovisningResponse } from '@msfa-models/api/slutredovisning.response.model';
|
||||||
|
import { DeltagareAvrop } from '@msfa-models/avrop.model';
|
||||||
|
import { DeltagareApiService } from '@msfa-services/api/deltagare.api.service';
|
||||||
import { HandlingarApiService } from '@msfa-services/api/handlingar.api.service';
|
import { HandlingarApiService } from '@msfa-services/api/handlingar.api.service';
|
||||||
import { Observable } from 'rxjs';
|
import { Observable } from 'rxjs';
|
||||||
import { DeltagareApiService } from '@msfa-services/api/deltagare.api.service';
|
|
||||||
import { SlutredovisningApiService } from '@msfa-services/api/slutredovisning.api.service';
|
|
||||||
import { SlutredovisningResponse } from '@msfa-models/api/slutredovisning.response.model';
|
|
||||||
import { map } from 'rxjs/operators';
|
import { map } from 'rxjs/operators';
|
||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
||||||
export class SlutredovisningViewService {
|
export class SlutredovisningViewService {
|
||||||
constructor(
|
constructor(private handlingarApiService: HandlingarApiService, private deltagareApiService: DeltagareApiService) {}
|
||||||
private handlingarApiService: HandlingarApiService,
|
|
||||||
private deltagareApiService: DeltagareApiService,
|
|
||||||
private gemensamPlaneringApiService: SlutredovisningApiService
|
|
||||||
) {}
|
|
||||||
|
|
||||||
public fetchAvropInformation$(genomforandeReferens: number): Observable<Avrop> {
|
public fetchAvropInformation$(genomforandeReferens: number): Observable<DeltagareAvrop> {
|
||||||
return this.deltagareApiService.fetchAvropInformation$(genomforandeReferens);
|
return this.deltagareApiService.fetchAvropInformation$(genomforandeReferens);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import { PaginationMeta } from '@msfa-models/pagination-meta.model';
|
import { PaginationMeta } from '@msfa-models/pagination-meta.model';
|
||||||
|
|
||||||
export interface AvropResponse {
|
export interface DeltagareAvropResponse {
|
||||||
id: string;
|
id: string;
|
||||||
fullName: string;
|
fullName: string;
|
||||||
tjanst: string;
|
tjanst: string;
|
||||||
@@ -19,8 +19,49 @@ export interface AvropResponse {
|
|||||||
handledare: string;
|
handledare: string;
|
||||||
hasAvbrott: boolean;
|
hasAvbrott: boolean;
|
||||||
hasGemensamPlanering: boolean;
|
hasGemensamPlanering: boolean;
|
||||||
|
kommun: string;
|
||||||
|
personnummer: string;
|
||||||
|
}
|
||||||
|
|
||||||
//personnummer: string;
|
export interface AvropResponse {
|
||||||
|
id: string;
|
||||||
|
deltagare: string;
|
||||||
|
genomforandeReferens: number;
|
||||||
|
kommun: string;
|
||||||
|
adress: string;
|
||||||
|
tjansteNamn: string;
|
||||||
|
startdatumAvrop: Date;
|
||||||
|
slutdatumAvrop: Date;
|
||||||
|
tolkbehov: string | null;
|
||||||
|
sprakstod: string | null;
|
||||||
|
sparkod: string;
|
||||||
|
|
||||||
|
// These are not used, but are available inside the response
|
||||||
|
leverantorId: number;
|
||||||
|
organisationsnummer: string;
|
||||||
|
utforandeVerksamhetId: number;
|
||||||
|
utforandeverksamhet: string;
|
||||||
|
kommunKod: string;
|
||||||
|
utforandeAdressId: number;
|
||||||
|
bokningsId: number;
|
||||||
|
ordernummer: string;
|
||||||
|
personnummer: string;
|
||||||
|
sokandeId: number;
|
||||||
|
tjanstekod: string;
|
||||||
|
deltagandeGrad: number;
|
||||||
|
sparNamn: string;
|
||||||
|
aktnummerDiariet: string;
|
||||||
|
handledareCiamUserId: string | null;
|
||||||
|
handledare: string | null;
|
||||||
|
exported: boolean;
|
||||||
|
avbrottHandelseId: string | null;
|
||||||
|
avbrottHandelse: string | null;
|
||||||
|
handelser: unknown[] | null;
|
||||||
|
handlingar: unknown[] | null;
|
||||||
|
recievedTimestamp: Date;
|
||||||
|
isDeltagare: boolean;
|
||||||
|
hasGemensamPlanering: boolean;
|
||||||
|
hasAvbrott: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface AvropAndMetaResponse {
|
export interface AvropAndMetaResponse {
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { PaginationMeta } from '@msfa-models/pagination-meta.model';
|
import { PaginationMeta } from '@msfa-models/pagination-meta.model';
|
||||||
import { AvropResponse } from './avrop.response.model';
|
import { DeltagareAvropResponse } from './avrop.response.model';
|
||||||
import { ContactInformationResponse } from './contact-information.response.model';
|
import { ContactInformationResponse } from './contact-information.response.model';
|
||||||
import { DisabilitiesResponse } from './disabilities.response.model';
|
import { DisabilitiesResponse } from './disabilities.response.model';
|
||||||
import { DriversLicenseResponse } from './drivers-license.response.model';
|
import { DriversLicenseResponse } from './drivers-license.response.model';
|
||||||
@@ -32,7 +32,7 @@ export interface DeltagareResponse {
|
|||||||
workLanguages: WorkLanguagesResponse;
|
workLanguages: WorkLanguagesResponse;
|
||||||
disabilities: DisabilitiesResponse;
|
disabilities: DisabilitiesResponse;
|
||||||
workExperiences: WorkExperiencesResponse;
|
workExperiences: WorkExperiencesResponse;
|
||||||
avropInformation: AvropResponse;
|
avropInformation: DeltagareAvropResponse;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface DeltagareCompactApiResponse {
|
export interface DeltagareCompactApiResponse {
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
import { TrackName } from '@msfa-enums/track-name.enum';
|
import { TrackName } from '@msfa-enums/track-name.enum';
|
||||||
import { AvropResponse } from './api/avrop.response.model';
|
import { mapStringToSsn } from '@msfa-shared/utils/map-string-to-ssn.util';
|
||||||
|
import { AvropResponse, DeltagareAvropResponse } from './api/avrop.response.model';
|
||||||
import { PaginationMeta } from './pagination-meta.model';
|
import { PaginationMeta } from './pagination-meta.model';
|
||||||
|
|
||||||
export interface Avrop {
|
export interface DeltagareAvrop {
|
||||||
id: string;
|
id: string;
|
||||||
fullName: string;
|
fullName: string;
|
||||||
tjanst: string;
|
tjanst: string;
|
||||||
@@ -22,9 +23,22 @@ export interface Avrop {
|
|||||||
receivedTimestamp: Date;
|
receivedTimestamp: Date;
|
||||||
hasGemensamPlanering: boolean;
|
hasGemensamPlanering: boolean;
|
||||||
hasAvbrott: boolean;
|
hasAvbrott: boolean;
|
||||||
|
|
||||||
ssn: string; // personnummer
|
|
||||||
kommun: string;
|
kommun: string;
|
||||||
|
ssn: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface Avrop {
|
||||||
|
id: string;
|
||||||
|
fullName: string;
|
||||||
|
tjanst: string;
|
||||||
|
startDate: Date;
|
||||||
|
endDate: Date;
|
||||||
|
sprakstod: string;
|
||||||
|
tolkbehov: string;
|
||||||
|
utforandeAdress: string;
|
||||||
|
kommun: string;
|
||||||
|
trackName: TrackName;
|
||||||
|
genomforandeReferens: number;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface AvropAndMeta {
|
export interface AvropAndMeta {
|
||||||
@@ -32,7 +46,37 @@ export interface AvropAndMeta {
|
|||||||
meta: PaginationMeta;
|
meta: PaginationMeta;
|
||||||
}
|
}
|
||||||
|
|
||||||
export function mapAvropResponseToAvrop(data: AvropResponse): Avrop {
|
export function mapResponseToAvrop(data: AvropResponse): Avrop {
|
||||||
|
const {
|
||||||
|
id,
|
||||||
|
deltagare,
|
||||||
|
tjansteNamn,
|
||||||
|
startdatumAvrop,
|
||||||
|
slutdatumAvrop,
|
||||||
|
sprakstod,
|
||||||
|
tolkbehov,
|
||||||
|
adress,
|
||||||
|
kommun,
|
||||||
|
sparkod,
|
||||||
|
genomforandeReferens,
|
||||||
|
} = data;
|
||||||
|
|
||||||
|
return {
|
||||||
|
id,
|
||||||
|
fullName: deltagare,
|
||||||
|
tjanst: tjansteNamn,
|
||||||
|
startDate: new Date(startdatumAvrop),
|
||||||
|
endDate: new Date(slutdatumAvrop),
|
||||||
|
sprakstod,
|
||||||
|
tolkbehov,
|
||||||
|
utforandeAdress: adress,
|
||||||
|
kommun,
|
||||||
|
trackName: (TrackName[sparkod] || TrackName.UNKNOWN) as TrackName,
|
||||||
|
genomforandeReferens,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
export function mapResponseToDeltagareAvrop(data: DeltagareAvropResponse): DeltagareAvrop {
|
||||||
const {
|
const {
|
||||||
id,
|
id,
|
||||||
fullName,
|
fullName,
|
||||||
@@ -52,9 +96,8 @@ export function mapAvropResponseToAvrop(data: AvropResponse): Avrop {
|
|||||||
handledare,
|
handledare,
|
||||||
hasAvbrott,
|
hasAvbrott,
|
||||||
hasGemensamPlanering,
|
hasGemensamPlanering,
|
||||||
|
kommun,
|
||||||
// kommun
|
personnummer,
|
||||||
// personnummer,
|
|
||||||
} = data;
|
} = data;
|
||||||
|
|
||||||
return {
|
return {
|
||||||
@@ -68,12 +111,10 @@ export function mapAvropResponseToAvrop(data: AvropResponse): Avrop {
|
|||||||
sprakstod,
|
sprakstod,
|
||||||
utforandeVerksamhet,
|
utforandeVerksamhet,
|
||||||
utforandeAdress,
|
utforandeAdress,
|
||||||
// kommun,
|
kommun: kommun || '',
|
||||||
kommun: '',
|
|
||||||
trackCode: sparkod,
|
trackCode: sparkod,
|
||||||
trackName: (TrackName[sparkod] || TrackName.UNKNOWN) as TrackName,
|
trackName: (TrackName[sparkod] || TrackName.UNKNOWN) as TrackName,
|
||||||
// ssn: mapStringToSsn(personnummer),
|
ssn: mapStringToSsn(personnummer),
|
||||||
ssn: '',
|
|
||||||
genomforandeReferens,
|
genomforandeReferens,
|
||||||
participationFrequency,
|
participationFrequency,
|
||||||
handledareCiamUserId,
|
handledareCiamUserId,
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import { Address } from './address.model';
|
import { Address } from './address.model';
|
||||||
import { DeltagareCompactResponse, DeltagareResponse } from './api/deltagare.response.model';
|
import { DeltagareCompactResponse, DeltagareResponse } from './api/deltagare.response.model';
|
||||||
import { Avrop, mapAvropResponseToAvrop } from './avrop.model';
|
import { DeltagareAvrop, mapResponseToDeltagareAvrop } from './avrop.model';
|
||||||
import { mapResponseToContactInformation } from './contact-information.model';
|
import { mapResponseToContactInformation } from './contact-information.model';
|
||||||
import { Disability, mapResponseToDisability } from './disability.model';
|
import { Disability, mapResponseToDisability } from './disability.model';
|
||||||
import { DriversLicense, mapResponseToDriversLicense } from './drivers-license.model';
|
import { DriversLicense, mapResponseToDriversLicense } from './drivers-license.model';
|
||||||
@@ -42,7 +42,7 @@ export interface Deltagare {
|
|||||||
disabilities: Disability[];
|
disabilities: Disability[];
|
||||||
workLanguages: string[];
|
workLanguages: string[];
|
||||||
workExperiences: WorkExperience[];
|
workExperiences: WorkExperience[];
|
||||||
avropInformation: Avrop;
|
avropInformation: DeltagareAvrop;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface DeltagareCompactData {
|
export interface DeltagareCompactData {
|
||||||
@@ -105,6 +105,6 @@ export function mapResponseToDeltagare(data: DeltagareResponse): Deltagare {
|
|||||||
workExperiences:
|
workExperiences:
|
||||||
workExperiences &&
|
workExperiences &&
|
||||||
workExperiences.arbetslivserfarenheter.map(workExperience => mapResponseToWorkExperience(workExperience)),
|
workExperiences.arbetslivserfarenheter.map(workExperience => mapResponseToWorkExperience(workExperience)),
|
||||||
avropInformation: avropInformation && mapAvropResponseToAvrop(avropInformation),
|
avropInformation: avropInformation && mapResponseToDeltagareAvrop(avropInformation),
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,9 +5,8 @@ import { AvropFilterResponse } from '@msfa-models/api/avrop-filter.response.mode
|
|||||||
import { AvropAndMetaResponse } from '@msfa-models/api/avrop.response.model';
|
import { AvropAndMetaResponse } from '@msfa-models/api/avrop.response.model';
|
||||||
import { Params } from '@msfa-models/api/params.model';
|
import { Params } from '@msfa-models/api/params.model';
|
||||||
import { AvropFilter, mapResponseToAvropFilter } from '@msfa-models/avrop-filter.model';
|
import { AvropFilter, mapResponseToAvropFilter } from '@msfa-models/avrop-filter.model';
|
||||||
import { Avrop, AvropAndMeta, mapAvropResponseToAvrop } from '@msfa-models/avrop.model';
|
import { Avrop, AvropAndMeta, mapResponseToAvrop } from '@msfa-models/avrop.model';
|
||||||
import { CustomError, errorToCustomError } from '@msfa-models/error/custom-error';
|
import { CustomError, errorToCustomError } from '@msfa-models/error/custom-error';
|
||||||
import { Handledare } from '@msfa-models/handledare.model';
|
|
||||||
import { BehaviorSubject, Observable, of } from 'rxjs';
|
import { BehaviorSubject, Observable, of } from 'rxjs';
|
||||||
import { catchError, filter, map } from 'rxjs/operators';
|
import { catchError, filter, map } from 'rxjs/operators';
|
||||||
|
|
||||||
@@ -17,7 +16,6 @@ import { catchError, filter, map } from 'rxjs/operators';
|
|||||||
export class AvropApiService {
|
export class AvropApiService {
|
||||||
private _apiBaseUrl = `${environment.api.url}/avrop`;
|
private _apiBaseUrl = `${environment.api.url}/avrop`;
|
||||||
private _lockedAvropSnapshot$ = new BehaviorSubject<Avrop[]>(null);
|
private _lockedAvropSnapshot$ = new BehaviorSubject<Avrop[]>(null);
|
||||||
private _availableHandledareSnapshot$ = new BehaviorSubject<Handledare[]>(null);
|
|
||||||
private _showUnauthorizedError$ = new BehaviorSubject<boolean>(false);
|
private _showUnauthorizedError$ = new BehaviorSubject<boolean>(false);
|
||||||
public showUnauthorizedError$: Observable<boolean> = this._showUnauthorizedError$.asObservable();
|
public showUnauthorizedError$: Observable<boolean> = this._showUnauthorizedError$.asObservable();
|
||||||
|
|
||||||
@@ -31,14 +29,14 @@ export class AvropApiService {
|
|||||||
return this.httpClient
|
return this.httpClient
|
||||||
.get<AvropAndMetaResponse>(`${this._apiBaseUrl}`, { params })
|
.get<AvropAndMetaResponse>(`${this._apiBaseUrl}`, { params })
|
||||||
.pipe(
|
.pipe(
|
||||||
map(({ data, meta }) => ({ data: data.map(avrop => mapAvropResponseToAvrop(avrop)), meta })),
|
map(({ data, meta }) => ({ data: data.map(avrop => mapResponseToAvrop(avrop)), meta })),
|
||||||
catchError((error: Error & { status: number }) => {
|
catchError((error: Error & { status: number }) => {
|
||||||
if (error.status === 403) {
|
if (error.status === 403) {
|
||||||
this._showUnauthorizedError$.next(true);
|
this._showUnauthorizedError$.next(true);
|
||||||
return of(null as null);
|
return of(null as null);
|
||||||
} else {
|
} else {
|
||||||
throw new CustomError(
|
throw new CustomError(
|
||||||
errorToCustomError({ ...error, message: `Kunde inte hämta deltagare.\n\n${error.message}` })
|
errorToCustomError({ ...error, message: `Kunde inte hämta nya deltagare.\n\n${error.message}` })
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
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 { AvropResponse } from '@msfa-models/api/avrop.response.model';
|
import { DeltagareAvropResponse } from '@msfa-models/api/avrop.response.model';
|
||||||
import { ContactInformationResponse } from '@msfa-models/api/contact-information.response.model';
|
import { ContactInformationResponse } from '@msfa-models/api/contact-information.response.model';
|
||||||
import { DeltagareCompactApiResponse } from '@msfa-models/api/deltagare.response.model';
|
import { DeltagareCompactApiResponse } from '@msfa-models/api/deltagare.response.model';
|
||||||
import { DisabilityResponse } from '@msfa-models/api/disability.response.model';
|
import { DisabilityResponse } from '@msfa-models/api/disability.response.model';
|
||||||
@@ -13,7 +13,7 @@ import { ReportsDataResponse } from '@msfa-models/api/report.response.model';
|
|||||||
import { TranslatorResponse } from '@msfa-models/api/translator.response.model';
|
import { TranslatorResponse } from '@msfa-models/api/translator.response.model';
|
||||||
import { WorkExperiencesResponse } from '@msfa-models/api/work-experiences.response.model';
|
import { WorkExperiencesResponse } from '@msfa-models/api/work-experiences.response.model';
|
||||||
import { WorkLanguagesResponse } from '@msfa-models/api/work-languages.response.model';
|
import { WorkLanguagesResponse } from '@msfa-models/api/work-languages.response.model';
|
||||||
import { Avrop, mapAvropResponseToAvrop } from '@msfa-models/avrop.model';
|
import { DeltagareAvrop, mapResponseToDeltagareAvrop } from '@msfa-models/avrop.model';
|
||||||
import { ContactInformation, mapResponseToContactInformation } from '@msfa-models/contact-information.model';
|
import { ContactInformation, mapResponseToContactInformation } from '@msfa-models/contact-information.model';
|
||||||
import { DeltagareCompactData, mapResponseToDeltagareCompact } from '@msfa-models/deltagare.model';
|
import { DeltagareCompactData, mapResponseToDeltagareCompact } from '@msfa-models/deltagare.model';
|
||||||
import { Disability, mapResponseToDisability } from '@msfa-models/disability.model';
|
import { Disability, mapResponseToDisability } from '@msfa-models/disability.model';
|
||||||
@@ -217,14 +217,16 @@ export class DeltagareApiService {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
public fetchAvropInformation$(genomforandeReferens: number): Observable<Avrop> {
|
public fetchAvropInformation$(genomforandeReferens: number): Observable<DeltagareAvrop> {
|
||||||
return this.httpClient.get<{ data: AvropResponse }>(`${this._apiBaseUrl}/${genomforandeReferens}/avrop`).pipe(
|
return this.httpClient
|
||||||
map(({ data }) => mapAvropResponseToAvrop(data)),
|
.get<{ data: DeltagareAvropResponse }>(`${this._apiBaseUrl}/${genomforandeReferens}/avrop`)
|
||||||
catchError((error: Error) => {
|
.pipe(
|
||||||
throw new CustomError(
|
map(({ data }) => mapResponseToDeltagareAvrop(data)),
|
||||||
errorToCustomError({ ...error, message: `Kunde inte hämta avropsinformation.\n\n${error.message}` })
|
catchError((error: Error) => {
|
||||||
);
|
throw new CustomError(
|
||||||
})
|
errorToCustomError({ ...error, message: `Kunde inte hämta avropsinformation.\n\n${error.message}` })
|
||||||
);
|
);
|
||||||
|
})
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import { ErrorType } from '@msfa-enums/error-type.enum';
|
|||||||
import { environment } from '@msfa-environment';
|
import { environment } from '@msfa-environment';
|
||||||
import { FranvaroReasonResponse } from '@msfa-models/api/franvaro-reason.response.model';
|
import { FranvaroReasonResponse } from '@msfa-models/api/franvaro-reason.response.model';
|
||||||
import { FranvaroReportRequest } from '@msfa-models/api/franvaro-request.model';
|
import { FranvaroReportRequest } from '@msfa-models/api/franvaro-request.model';
|
||||||
import { Avrop } from '@msfa-models/avrop.model';
|
import { DeltagareAvrop } from '@msfa-models/avrop.model';
|
||||||
import { CustomError, errorToCustomError } from '@msfa-models/error/custom-error';
|
import { CustomError, errorToCustomError } from '@msfa-models/error/custom-error';
|
||||||
import { FranvaroReason, mapResponseToFranvaroReason } from '@msfa-models/franvaro-reason.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';
|
||||||
@@ -44,7 +44,7 @@ export class FranvaroReportApiService {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
public fetchAvropInformation$(genomforandeReferens: number): Observable<Avrop> {
|
public fetchAvropInformation$(genomforandeReferens: number): Observable<DeltagareAvrop> {
|
||||||
return this.deltagareApiService.fetchAvropInformation$(genomforandeReferens);
|
return this.deltagareApiService.fetchAvropInformation$(genomforandeReferens);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import { environment } from '@msfa-environment';
|
|||||||
import { Activity, mapResponseToActivity } from '@msfa-models/activity.model';
|
import { Activity, mapResponseToActivity } from '@msfa-models/activity.model';
|
||||||
import { ActivityResponse } from '@msfa-models/api/activity.response.model';
|
import { ActivityResponse } from '@msfa-models/api/activity.response.model';
|
||||||
import { GemensamPlaneringPostRequest } from '@msfa-models/api/gemensam-planering.request.model';
|
import { GemensamPlaneringPostRequest } from '@msfa-models/api/gemensam-planering.request.model';
|
||||||
import { Avrop } from '@msfa-models/avrop.model';
|
import { DeltagareAvrop } from '@msfa-models/avrop.model';
|
||||||
import { CustomError, errorToCustomError } from '@msfa-models/error/custom-error';
|
import { CustomError, errorToCustomError } from '@msfa-models/error/custom-error';
|
||||||
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';
|
||||||
@@ -31,7 +31,7 @@ export class GemensamPlaneringApiService {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
public fetchAvropInformation$(genomforandeReferens: number): Observable<Avrop> {
|
public fetchAvropInformation$(genomforandeReferens: number): Observable<DeltagareAvrop> {
|
||||||
return this.deltagareApiService.fetchAvropInformation$(genomforandeReferens);
|
return this.deltagareApiService.fetchAvropInformation$(genomforandeReferens);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user