diff --git a/hv-ui/src/app/app.module.ts b/hv-ui/src/app/app.module.ts index c95166a..7a724b3 100644 --- a/hv-ui/src/app/app.module.ts +++ b/hv-ui/src/app/app.module.ts @@ -9,6 +9,7 @@ import { ObjekteComponent } from './objekte/objekte.component'; import { MietersComponent } from './mieters/mieters.component'; import { WohnungenComponent } from './wohnungen/wohnungen.component'; import { MieterDetailComponent } from './mieter-detail/mieter-detail.component'; +import { FormsModule } from '@angular/forms'; @NgModule({ declarations: [ @@ -21,6 +22,7 @@ import { MieterDetailComponent } from './mieter-detail/mieter-detail.component'; ], imports: [ BrowserModule, + FormsModule, AppRoutingModule, HttpClientModule ], diff --git a/hv-ui/src/app/forderung.ts b/hv-ui/src/app/forderung.ts index d12ef2c..42fac36 100644 --- a/hv-ui/src/app/forderung.ts +++ b/hv-ui/src/app/forderung.ts @@ -1,6 +1,6 @@ export interface Forderung { id: number; - mieter_id: number; + mieter: number; ref_wohnung: number; datum: string; betrag: number; diff --git a/hv-ui/src/app/mieter-detail/mieter-detail.component.html b/hv-ui/src/app/mieter-detail/mieter-detail.component.html index deae049..4dab37c 100644 --- a/hv-ui/src/app/mieter-detail/mieter-detail.component.html +++ b/hv-ui/src/app/mieter-detail/mieter-detail.component.html @@ -1,8 +1,8 @@

Mieter: {{mieter.vorname}} {{mieter.nachname}} ({{mieter.id}})

- - + + @@ -14,14 +14,25 @@
Objekt:{{mieter.objekt}} ({{mieter.objekt_id}})
Wohnung:{{mieter.wohnung}} ({{mieter.wohnung_id}})
Objekt:{{mieter.objekt_shortname}} ({{mieter.objekt}})
Wohnung:{{mieter.wohnung_shortname}} ({{mieter.wohnung}})
Vorname:{{mieter.vorname}}
Nachname:{{mieter.nachname}}
Anrede:{{mieter.anrede}}
Auszug:{{mieter.auszug}}
+
+ +
+ - + + + - - - + + + + + +
DatumDatum sollDatum ist Forderung ZahlungKommentar
{{forderung.datum}}{{forderung.betrag}}
{{forderung.kommentar}}
{{zahlungForderung.datum_soll}}{{zahlungForderung.datum_ist}}{{zahlungForderung.betrag_forderung}}{{zahlungForderung.betrag_zahlung}}{{zahlungForderung.kommentar}}
\ No newline at end of file diff --git a/hv-ui/src/app/mieter-detail/mieter-detail.component.ts b/hv-ui/src/app/mieter-detail/mieter-detail.component.ts index 1bcded2..658a3cc 100644 --- a/hv-ui/src/app/mieter-detail/mieter-detail.component.ts +++ b/hv-ui/src/app/mieter-detail/mieter-detail.component.ts @@ -3,9 +3,9 @@ import { ActivatedRoute } from '@angular/router' import { Location } from '@angular/common' import { Mieter } from '../mieter' -import { Forderung } from '../forderung' +import { ZahlungForderung } from '../zahlung-forderung' import { MieterService} from '../mieter.service' -import { ForderungService} from '../forderung.service' +import { ZahlungForderungService} from '../zahlung-forderung.service' import { MessageService } from '../message.service' @Component({ @@ -16,12 +16,13 @@ import { MessageService } from '../message.service' export class MieterDetailComponent implements OnInit { mieter: Mieter - forderungen : Forderung[] + year: string + zahlungenForderungen : ZahlungForderung[] constructor( private mieterService: MieterService, - private forderungService: ForderungService, + private zahlungForderungService: ZahlungForderungService, private messageService: MessageService, private route: ActivatedRoute, private location: Location ) { @@ -31,13 +32,28 @@ export class MieterDetailComponent implements OnInit { const id = +this.route.snapshot.paramMap.get('id') try { this.mieter = await this.mieterService.getMieter(id) - this.forderungen = await this.forderungService.getForderungenByMieter(id) + this.zahlungenForderungen = await this.zahlungForderungService.getZahlungenForderungenByMieterAndYear(id, +this.year) } catch (err) { this.messageService.add(JSON.stringify(err, undefined, 4)) } } - ngOnInit(): void { - this.getMieter() + async getZahlungenForderungen() { + const id = this.mieter?.id ?? 0 + try { + this.zahlungenForderungen = await this.zahlungForderungService.getZahlungenForderungenByMieterAndYear(id, +this.year) + } catch (err) { + this.messageService.add(JSON.stringify(err, undefined, 4)) + } + } + + onYearInput(): void { + this.getZahlungenForderungen() + } + + async ngOnInit(): Promise { + this.year = new Date().getFullYear().toString() + await this.getMieter() + await this.getZahlungenForderungen() } } diff --git a/hv-ui/src/app/mieter.ts b/hv-ui/src/app/mieter.ts index 211a8f5..fc83269 100644 --- a/hv-ui/src/app/mieter.ts +++ b/hv-ui/src/app/mieter.ts @@ -1,9 +1,9 @@ export interface Mieter { id: number; - objekt_id: number; - wohnung_id: number; - wohnung: string; - objekt: string; + objekt: number; + wohnung: number; + wohnung_shortname: string; + objekt_shortname: string; anrede: string; vorname: string; nachname: string; diff --git a/hv-ui/src/app/wohnung.ts b/hv-ui/src/app/wohnung.ts index e1c517f..f82d5cd 100644 --- a/hv-ui/src/app/wohnung.ts +++ b/hv-ui/src/app/wohnung.ts @@ -1,8 +1,7 @@ export interface Wohnung { id: number; - objekt_id: number; - wohnung_id: number; - wohnung: string; - objekt: string; + objekt: number; + shortname: string; + objekt_shortname: string; flaeche: number; } diff --git a/hv-ui/src/app/wohnungen/wohnungen.component.html b/hv-ui/src/app/wohnungen/wohnungen.component.html index ff8db98..42ffe1d 100644 --- a/hv-ui/src/app/wohnungen/wohnungen.component.html +++ b/hv-ui/src/app/wohnungen/wohnungen.component.html @@ -5,6 +5,6 @@

diff --git a/hv-ui/src/app/zahlung-forderung.service.ts b/hv-ui/src/app/zahlung-forderung.service.ts index 7639302..1654370 100644 --- a/hv-ui/src/app/zahlung-forderung.service.ts +++ b/hv-ui/src/app/zahlung-forderung.service.ts @@ -15,7 +15,7 @@ export class ZahlungForderungService { getZahlungenForderungenByMieterAndYear(mieterId: number, year: number): Promise { this.messageService.add(`ZahlungForderungService: fetched zahlungen and forderungen by mieter ${mieterId} and year ${year}`) - return this.http.get(`${serviceBaseUrl}/hv/mieter/${mieterId}/zahlungforderung${year}`).toPromise() + return this.http.get(`${serviceBaseUrl}/hv/mieter/${mieterId}/zahlungforderung/${year}`).toPromise() } getForderung(id: number): Promise {