zahlung forderung works
This commit is contained in:
@ -9,6 +9,7 @@ import { ObjekteComponent } from './objekte/objekte.component';
|
|||||||
import { MietersComponent } from './mieters/mieters.component';
|
import { MietersComponent } from './mieters/mieters.component';
|
||||||
import { WohnungenComponent } from './wohnungen/wohnungen.component';
|
import { WohnungenComponent } from './wohnungen/wohnungen.component';
|
||||||
import { MieterDetailComponent } from './mieter-detail/mieter-detail.component';
|
import { MieterDetailComponent } from './mieter-detail/mieter-detail.component';
|
||||||
|
import { FormsModule } from '@angular/forms';
|
||||||
|
|
||||||
@NgModule({
|
@NgModule({
|
||||||
declarations: [
|
declarations: [
|
||||||
@ -21,6 +22,7 @@ import { MieterDetailComponent } from './mieter-detail/mieter-detail.component';
|
|||||||
],
|
],
|
||||||
imports: [
|
imports: [
|
||||||
BrowserModule,
|
BrowserModule,
|
||||||
|
FormsModule,
|
||||||
AppRoutingModule,
|
AppRoutingModule,
|
||||||
HttpClientModule
|
HttpClientModule
|
||||||
],
|
],
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
export interface Forderung {
|
export interface Forderung {
|
||||||
id: number;
|
id: number;
|
||||||
mieter_id: number;
|
mieter: number;
|
||||||
ref_wohnung: number;
|
ref_wohnung: number;
|
||||||
datum: string;
|
datum: string;
|
||||||
betrag: number;
|
betrag: number;
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
<h1>Mieter: {{mieter.vorname}} {{mieter.nachname}} ({{mieter.id}})</h1>
|
<h1>Mieter: {{mieter.vorname}} {{mieter.nachname}} ({{mieter.id}})</h1>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr><td>Objekt:</td><td>{{mieter.objekt}} ({{mieter.objekt_id}})</td></tr>
|
<tr><td>Objekt:</td><td>{{mieter.objekt_shortname}} ({{mieter.objekt}})</td></tr>
|
||||||
<tr><td>Wohnung:</td><td>{{mieter.wohnung}} ({{mieter.wohnung_id}})</td></tr>
|
<tr><td>Wohnung:</td><td>{{mieter.wohnung_shortname}} ({{mieter.wohnung}})</td></tr>
|
||||||
<tr><td>Vorname:</td><td>{{mieter.vorname}}</td></tr>
|
<tr><td>Vorname:</td><td>{{mieter.vorname}}</td></tr>
|
||||||
<tr><td>Nachname:</td><td>{{mieter.nachname}}</td></tr>
|
<tr><td>Nachname:</td><td>{{mieter.nachname}}</td></tr>
|
||||||
<tr><td>Anrede:</td><td>{{mieter.anrede}}</td></tr>
|
<tr><td>Anrede:</td><td>{{mieter.anrede}}</td></tr>
|
||||||
@ -14,14 +14,25 @@
|
|||||||
<tr><td>Auszug:</td><td>{{mieter.auszug}}</td></tr>
|
<tr><td>Auszug:</td><td>{{mieter.auszug}}</td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<label>Jahr:
|
||||||
|
<input [(ngModel)]="year" (input)="onYearInput()" placeholder="Jahr"/>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr>
|
<tr>
|
||||||
<th>Datum</th>
|
<th>Datum soll</th>
|
||||||
|
<th>Datum ist</th>
|
||||||
<th>Forderung</th>
|
<th>Forderung</th>
|
||||||
<th>Zahlung</th>
|
<th>Zahlung</th>
|
||||||
|
<th>Kommentar</th>
|
||||||
</tr>
|
</tr>
|
||||||
<tr *ngFor="let forderung of forderungen">
|
<tr *ngFor="let zahlungForderung of zahlungenForderungen">
|
||||||
<td>{{forderung.datum}}</td>
|
<td>{{zahlungForderung.datum_soll}}</td>
|
||||||
<td>{{forderung.betrag}}<br/><span style="font-size: small;">{{forderung.kommentar}}</span></td>
|
<td>{{zahlungForderung.datum_ist}}</td>
|
||||||
|
<td>{{zahlungForderung.betrag_forderung}}</td>
|
||||||
|
<td>{{zahlungForderung.betrag_zahlung}}</td>
|
||||||
|
<td>{{zahlungForderung.kommentar}}</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
@ -3,9 +3,9 @@ import { ActivatedRoute } from '@angular/router'
|
|||||||
import { Location } from '@angular/common'
|
import { Location } from '@angular/common'
|
||||||
|
|
||||||
import { Mieter } from '../mieter'
|
import { Mieter } from '../mieter'
|
||||||
import { Forderung } from '../forderung'
|
import { ZahlungForderung } from '../zahlung-forderung'
|
||||||
import { MieterService} from '../mieter.service'
|
import { MieterService} from '../mieter.service'
|
||||||
import { ForderungService} from '../forderung.service'
|
import { ZahlungForderungService} from '../zahlung-forderung.service'
|
||||||
import { MessageService } from '../message.service'
|
import { MessageService } from '../message.service'
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
@ -16,12 +16,13 @@ import { MessageService } from '../message.service'
|
|||||||
export class MieterDetailComponent implements OnInit {
|
export class MieterDetailComponent implements OnInit {
|
||||||
|
|
||||||
mieter: Mieter
|
mieter: Mieter
|
||||||
forderungen : Forderung[]
|
year: string
|
||||||
|
zahlungenForderungen : ZahlungForderung[]
|
||||||
|
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
private mieterService: MieterService,
|
private mieterService: MieterService,
|
||||||
private forderungService: ForderungService,
|
private zahlungForderungService: ZahlungForderungService,
|
||||||
private messageService: MessageService,
|
private messageService: MessageService,
|
||||||
private route: ActivatedRoute,
|
private route: ActivatedRoute,
|
||||||
private location: Location ) {
|
private location: Location ) {
|
||||||
@ -31,13 +32,28 @@ export class MieterDetailComponent implements OnInit {
|
|||||||
const id = +this.route.snapshot.paramMap.get('id')
|
const id = +this.route.snapshot.paramMap.get('id')
|
||||||
try {
|
try {
|
||||||
this.mieter = await this.mieterService.getMieter(id)
|
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) {
|
} catch (err) {
|
||||||
this.messageService.add(JSON.stringify(err, undefined, 4))
|
this.messageService.add(JSON.stringify(err, undefined, 4))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ngOnInit(): void {
|
async getZahlungenForderungen() {
|
||||||
this.getMieter()
|
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<void> {
|
||||||
|
this.year = new Date().getFullYear().toString()
|
||||||
|
await this.getMieter()
|
||||||
|
await this.getZahlungenForderungen()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
export interface Mieter {
|
export interface Mieter {
|
||||||
id: number;
|
id: number;
|
||||||
objekt_id: number;
|
objekt: number;
|
||||||
wohnung_id: number;
|
wohnung: number;
|
||||||
wohnung: string;
|
wohnung_shortname: string;
|
||||||
objekt: string;
|
objekt_shortname: string;
|
||||||
anrede: string;
|
anrede: string;
|
||||||
vorname: string;
|
vorname: string;
|
||||||
nachname: string;
|
nachname: string;
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
export interface Wohnung {
|
export interface Wohnung {
|
||||||
id: number;
|
id: number;
|
||||||
objekt_id: number;
|
objekt: number;
|
||||||
wohnung_id: number;
|
shortname: string;
|
||||||
wohnung: string;
|
objekt_shortname: string;
|
||||||
objekt: string;
|
|
||||||
flaeche: number;
|
flaeche: number;
|
||||||
}
|
}
|
||||||
|
@ -5,6 +5,6 @@
|
|||||||
</p>
|
</p>
|
||||||
<ul class="wohnungen">
|
<ul class="wohnungen">
|
||||||
<li *ngFor="let wohnung of wohnungen">
|
<li *ngFor="let wohnung of wohnungen">
|
||||||
<span>{{wohnung.wohnung}}</span>: <span>{{wohnung.flaeche}}</span>m²
|
<span>{{wohnung.shortname}}</span>: <span>{{wohnung.flaeche}}</span>m²
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
@ -15,7 +15,7 @@ export class ZahlungForderungService {
|
|||||||
|
|
||||||
getZahlungenForderungenByMieterAndYear(mieterId: number, year: number): Promise<ZahlungForderung[]> {
|
getZahlungenForderungenByMieterAndYear(mieterId: number, year: number): Promise<ZahlungForderung[]> {
|
||||||
this.messageService.add(`ZahlungForderungService: fetched zahlungen and forderungen by mieter ${mieterId} and year ${year}`)
|
this.messageService.add(`ZahlungForderungService: fetched zahlungen and forderungen by mieter ${mieterId} and year ${year}`)
|
||||||
return this.http.get<ZahlungForderung[]>(`${serviceBaseUrl}/hv/mieter/${mieterId}/zahlungforderung${year}`).toPromise()
|
return this.http.get<ZahlungForderung[]>(`${serviceBaseUrl}/hv/mieter/${mieterId}/zahlungforderung/${year}`).toPromise()
|
||||||
}
|
}
|
||||||
|
|
||||||
getForderung(id: number): Promise<Forderung> {
|
getForderung(id: number): Promise<Forderung> {
|
||||||
|
Reference in New Issue
Block a user