changes
This commit is contained in:
parent
c6e865eca1
commit
0ae59c644e
@ -251,7 +251,7 @@ UPDATE tenant_t
|
|||||||
|
|
||||||
|
|
||||||
def get_tenant_by_account(user, token_info, accountId=None):
|
def get_tenant_by_account(user, token_info, accountId=None):
|
||||||
return dbGetOne(user, token_info, {
|
return dbGetMany(user, token_info, {
|
||||||
"statement": """
|
"statement": """
|
||||||
SELECT
|
SELECT
|
||||||
id
|
id
|
||||||
@ -474,7 +474,7 @@ UPDATE flat_t
|
|||||||
|
|
||||||
|
|
||||||
def get_flat_by_premise(user, token_info, premiseId=None):
|
def get_flat_by_premise(user, token_info, premiseId=None):
|
||||||
return dbGetOne(user, token_info, {
|
return dbGetMany(user, token_info, {
|
||||||
"statement": """
|
"statement": """
|
||||||
SELECT
|
SELECT
|
||||||
id
|
id
|
||||||
@ -643,7 +643,7 @@ SELECT
|
|||||||
|
|
||||||
|
|
||||||
def get_overhead_advance_flat_mapping_by_overhead_advance(user, token_info, overhead_advanceId=None):
|
def get_overhead_advance_flat_mapping_by_overhead_advance(user, token_info, overhead_advanceId=None):
|
||||||
return dbGetOne(user, token_info, {
|
return dbGetMany(user, token_info, {
|
||||||
"statement": """
|
"statement": """
|
||||||
SELECT
|
SELECT
|
||||||
id
|
id
|
||||||
@ -657,7 +657,7 @@ SELECT
|
|||||||
)
|
)
|
||||||
|
|
||||||
def get_overhead_advance_flat_mapping_by_flat(user, token_info, flatId=None):
|
def get_overhead_advance_flat_mapping_by_flat(user, token_info, flatId=None):
|
||||||
return dbGetOne(user, token_info, {
|
return dbGetMany(user, token_info, {
|
||||||
"statement": """
|
"statement": """
|
||||||
SELECT
|
SELECT
|
||||||
id
|
id
|
||||||
@ -753,7 +753,7 @@ UPDATE parking_t
|
|||||||
|
|
||||||
|
|
||||||
def get_parking_by_premise(user, token_info, premiseId=None):
|
def get_parking_by_premise(user, token_info, premiseId=None):
|
||||||
return dbGetOne(user, token_info, {
|
return dbGetMany(user, token_info, {
|
||||||
"statement": """
|
"statement": """
|
||||||
SELECT
|
SELECT
|
||||||
id
|
id
|
||||||
@ -849,7 +849,7 @@ UPDATE commercial_premise_t
|
|||||||
|
|
||||||
|
|
||||||
def get_commercial_premise_by_premise(user, token_info, premiseId=None):
|
def get_commercial_premise_by_premise(user, token_info, premiseId=None):
|
||||||
return dbGetOne(user, token_info, {
|
return dbGetMany(user, token_info, {
|
||||||
"statement": """
|
"statement": """
|
||||||
SELECT
|
SELECT
|
||||||
id
|
id
|
||||||
@ -975,7 +975,7 @@ UPDATE tenancy_t
|
|||||||
|
|
||||||
|
|
||||||
def get_tenancy_by_tenant(user, token_info, tenantId=None):
|
def get_tenancy_by_tenant(user, token_info, tenantId=None):
|
||||||
return dbGetOne(user, token_info, {
|
return dbGetMany(user, token_info, {
|
||||||
"statement": """
|
"statement": """
|
||||||
SELECT
|
SELECT
|
||||||
id
|
id
|
||||||
@ -994,7 +994,7 @@ SELECT
|
|||||||
)
|
)
|
||||||
|
|
||||||
def get_tenancy_by_flat(user, token_info, flatId=None):
|
def get_tenancy_by_flat(user, token_info, flatId=None):
|
||||||
return dbGetOne(user, token_info, {
|
return dbGetMany(user, token_info, {
|
||||||
"statement": """
|
"statement": """
|
||||||
SELECT
|
SELECT
|
||||||
id
|
id
|
||||||
@ -1013,7 +1013,7 @@ SELECT
|
|||||||
)
|
)
|
||||||
|
|
||||||
def get_tenancy_by_parking(user, token_info, parkingId=None):
|
def get_tenancy_by_parking(user, token_info, parkingId=None):
|
||||||
return dbGetOne(user, token_info, {
|
return dbGetMany(user, token_info, {
|
||||||
"statement": """
|
"statement": """
|
||||||
SELECT
|
SELECT
|
||||||
id
|
id
|
||||||
@ -1032,7 +1032,7 @@ SELECT
|
|||||||
)
|
)
|
||||||
|
|
||||||
def get_tenancy_by_commercial_premise(user, token_info, commercial_premiseId=None):
|
def get_tenancy_by_commercial_premise(user, token_info, commercial_premiseId=None):
|
||||||
return dbGetOne(user, token_info, {
|
return dbGetMany(user, token_info, {
|
||||||
"statement": """
|
"statement": """
|
||||||
SELECT
|
SELECT
|
||||||
id
|
id
|
||||||
@ -1207,7 +1207,7 @@ SELECT
|
|||||||
|
|
||||||
|
|
||||||
def get_tenancy_fee_mapping_by_tenancy(user, token_info, tenancyId=None):
|
def get_tenancy_fee_mapping_by_tenancy(user, token_info, tenancyId=None):
|
||||||
return dbGetOne(user, token_info, {
|
return dbGetMany(user, token_info, {
|
||||||
"statement": """
|
"statement": """
|
||||||
SELECT
|
SELECT
|
||||||
id
|
id
|
||||||
@ -1221,7 +1221,7 @@ SELECT
|
|||||||
)
|
)
|
||||||
|
|
||||||
def get_tenancy_fee_mapping_by_fee(user, token_info, feeId=None):
|
def get_tenancy_fee_mapping_by_fee(user, token_info, feeId=None):
|
||||||
return dbGetOne(user, token_info, {
|
return dbGetMany(user, token_info, {
|
||||||
"statement": """
|
"statement": """
|
||||||
SELECT
|
SELECT
|
||||||
id
|
id
|
||||||
@ -1303,7 +1303,7 @@ SELECT
|
|||||||
|
|
||||||
|
|
||||||
def get_account_entry_by_account(user, token_info, accountId=None):
|
def get_account_entry_by_account(user, token_info, accountId=None):
|
||||||
return dbGetOne(user, token_info, {
|
return dbGetMany(user, token_info, {
|
||||||
"statement": """
|
"statement": """
|
||||||
SELECT
|
SELECT
|
||||||
id
|
id
|
||||||
|
@ -120,7 +120,7 @@ UPDATE ${table.name}_t
|
|||||||
#if (('foreignkey' in $column) and $column.foreignkey)
|
#if (('foreignkey' in $column) and $column.foreignkey)
|
||||||
|
|
||||||
def get_${table.name}_by_${column.name}(user, token_info, ${column.name}Id=None):
|
def get_${table.name}_by_${column.name}(user, token_info, ${column.name}Id=None):
|
||||||
return dbGetOne(user, token_info, {
|
return dbGetMany(user, token_info, {
|
||||||
"statement": """
|
"statement": """
|
||||||
SELECT
|
SELECT
|
||||||
id
|
id
|
||||||
|
@ -41,7 +41,6 @@ import { MatNativeDateModule } from '@angular/material/core';
|
|||||||
import { FeeListComponent } from './fee-list/fee-list.component';
|
import { FeeListComponent } from './fee-list/fee-list.component';
|
||||||
import { FeeDetailsComponent } from './fee-details/fee-details.component';
|
import { FeeDetailsComponent } from './fee-details/fee-details.component';
|
||||||
|
|
||||||
|
|
||||||
@NgModule({
|
@NgModule({
|
||||||
declarations: [
|
declarations: [
|
||||||
AppComponent,
|
AppComponent,
|
||||||
@ -84,7 +83,7 @@ import { FeeDetailsComponent } from './fee-details/fee-details.component';
|
|||||||
MatFormFieldModule,
|
MatFormFieldModule,
|
||||||
MatSelectModule,
|
MatSelectModule,
|
||||||
MatDatepickerModule,
|
MatDatepickerModule,
|
||||||
MatNativeDateModule
|
MatNativeDateModule,
|
||||||
],
|
],
|
||||||
providers: [
|
providers: [
|
||||||
{ provide: HTTP_INTERCEPTORS, useClass: ErrorHandlerInterceptor, multi: true },
|
{ provide: HTTP_INTERCEPTORS, useClass: ErrorHandlerInterceptor, multi: true },
|
||||||
|
@ -0,0 +1,11 @@
|
|||||||
|
table {
|
||||||
|
width: 75%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.spacer {
|
||||||
|
flex: 1 1 auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
#addoverheadfield {
|
||||||
|
margin-right: 15px;
|
||||||
|
}
|
@ -3,12 +3,14 @@
|
|||||||
<mat-card-header>
|
<mat-card-header>
|
||||||
<mat-card-title>
|
<mat-card-title>
|
||||||
{{tenant?.firstname}} {{tenant?.lastname}}
|
{{tenant?.firstname}} {{tenant?.lastname}}
|
||||||
|
<button mat-button *ngIf="!collapseTenantDetails" (click)="collapseTenantDetails=true">Collapse</button>
|
||||||
|
<button mat-button *ngIf="collapseTenantDetails" (click)="collapseTenantDetails=false">Expand</button>
|
||||||
</mat-card-title>
|
</mat-card-title>
|
||||||
<mat-card-subtitle>
|
<mat-card-subtitle>
|
||||||
ID: {{tenant?.id}}
|
ID: {{tenant?.id}}
|
||||||
</mat-card-subtitle>
|
</mat-card-subtitle>
|
||||||
</mat-card-header>
|
</mat-card-header>
|
||||||
<mat-card-content>
|
<mat-card-content *ngIf="!collapseTenantDetails">
|
||||||
<div>
|
<div>
|
||||||
<form (ngSubmit)="saveTenant()">
|
<form (ngSubmit)="saveTenant()">
|
||||||
<div>
|
<div>
|
||||||
@ -75,4 +77,44 @@
|
|||||||
</div>
|
</div>
|
||||||
</mat-card-content>
|
</mat-card-content>
|
||||||
</mat-card>
|
</mat-card>
|
||||||
|
<mat-card class="defaultCard">
|
||||||
|
<mat-card-header>
|
||||||
|
<mat-card-title>
|
||||||
|
Mietverhältnisse
|
||||||
|
</mat-card-title>
|
||||||
|
</mat-card-header>
|
||||||
|
<mat-card-content>
|
||||||
|
<div>
|
||||||
|
<table mat-table [dataSource]="tenancyDataSource" #zftable>
|
||||||
|
<ng-container matColumnDef="description">
|
||||||
|
<th mat-header-cell *matHeaderCellDef>Beschreibung</th>
|
||||||
|
<td mat-cell *matCellDef="let element">{{element.rawTenancy.description}}</td>
|
||||||
|
</ng-container>
|
||||||
|
<ng-container matColumnDef="flat">
|
||||||
|
<th mat-header-cell *matHeaderCellDef>Wohnung</th>
|
||||||
|
<td mat-cell *matCellDef="let element">{{element.flat}}</td>
|
||||||
|
</ng-container>
|
||||||
|
<ng-container matColumnDef="parking">
|
||||||
|
<th mat-header-cell *matHeaderCellDef>Garage</th>
|
||||||
|
<td mat-cell *matCellDef="let element">{{element.parking}}</td>
|
||||||
|
</ng-container>
|
||||||
|
<ng-container matColumnDef="commercial_premise">
|
||||||
|
<th mat-header-cell *matHeaderCellDef>Büro</th>
|
||||||
|
<td mat-cell *matCellDef="let element">{{element.commercial_premise}}</td>
|
||||||
|
</ng-container>
|
||||||
|
<ng-container matColumnDef="startdate">
|
||||||
|
<th mat-header-cell *matHeaderCellDef>Beginn</th>
|
||||||
|
<td mat-cell *matCellDef="let element">{{element.rawTenancy.startdate}}</td>
|
||||||
|
</ng-container>
|
||||||
|
<ng-container matColumnDef="enddate">
|
||||||
|
<th mat-header-cell *matHeaderCellDef>Ende</th>
|
||||||
|
<td mat-cell *matCellDef="let element">{{element.rawTenancy.enddate}}</td>
|
||||||
|
</ng-container>
|
||||||
|
<tr mat-header-row *matHeaderRowDef="tenancyDisplayColumns"></tr>
|
||||||
|
<tr mat-row *matRowDef="let row; columns: tenancyDisplayColumns;"></tr>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</mat-card-content>
|
||||||
|
</mat-card>
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
|
@ -1,9 +1,18 @@
|
|||||||
import { Component, OnInit, ViewChild } from '@angular/core';
|
import { Component, OnInit, ViewChild } from '@angular/core';
|
||||||
import { ActivatedRoute, Router } from '@angular/router';
|
import { ActivatedRoute, Router } from '@angular/router';
|
||||||
import { AccountService, TenantService } from '../data-object-service';
|
import { AccountService, CommercialPremiseService, FlatService, ParkingService, PremiseService, TenancyService, TenantService } from '../data-object-service';
|
||||||
import { Account, Tenant } from '../data-objects';
|
import { Account, CommercialPremise, Flat, NULL_Account, NULL_CommercialPremise, NULL_Flat, NULL_Parking, NULL_Tenant, Parking, Premise, Tenancy, Tenant } from '../data-objects';
|
||||||
import { MessageService } from '../message.service';
|
import { MessageService } from '../message.service';
|
||||||
import { MatButton } from '@angular/material/button';
|
import { MatButton } from '@angular/material/button';
|
||||||
|
import { MatTableDataSource } from '@angular/material/table';
|
||||||
|
|
||||||
|
|
||||||
|
interface DN_Tenancy {
|
||||||
|
rawTenancy: Tenancy
|
||||||
|
flat: string
|
||||||
|
parking: string
|
||||||
|
commercialPremise: string
|
||||||
|
}
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-tenant-details',
|
selector: 'app-tenant-details',
|
||||||
@ -12,32 +21,28 @@ import { MatButton } from '@angular/material/button';
|
|||||||
})
|
})
|
||||||
export class TenantDetailsComponent implements OnInit {
|
export class TenantDetailsComponent implements OnInit {
|
||||||
|
|
||||||
tenant: Tenant = {
|
tenant: Tenant = NULL_Tenant
|
||||||
id: 0,
|
|
||||||
salutation: '',
|
|
||||||
firstname: '',
|
|
||||||
lastname: '',
|
|
||||||
address1: '',
|
|
||||||
address2: '',
|
|
||||||
address3: '',
|
|
||||||
zip: '',
|
|
||||||
city: '',
|
|
||||||
phone1: '',
|
|
||||||
phone2: '',
|
|
||||||
iban: '',
|
|
||||||
account: 0
|
|
||||||
}
|
|
||||||
|
|
||||||
account: Account = {
|
account: Account = NULL_Account
|
||||||
id: 0,
|
|
||||||
description: ''
|
tenancies: DN_Tenancy[] = []
|
||||||
}
|
tenancyDataSource: MatTableDataSource<DN_Tenancy>
|
||||||
|
tenancyDisplayColumns: string[] = [ "description", "flat", "parking", "commercial_premise", "startdate", "enddate" ]
|
||||||
|
|
||||||
|
collapseTenantDetails: boolean = false
|
||||||
|
collapseTenancies: boolean = false
|
||||||
|
|
||||||
|
|
||||||
@ViewChild('submitButton') submitButton: MatButton
|
@ViewChild('submitButton') submitButton: MatButton
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
private tenantService: TenantService,
|
private tenantService: TenantService,
|
||||||
private accountService: AccountService,
|
private accountService: AccountService,
|
||||||
|
private tenancyService: TenancyService,
|
||||||
|
private flatService: FlatService,
|
||||||
|
private parkingService: ParkingService,
|
||||||
|
private commercialPremiseService: CommercialPremiseService,
|
||||||
|
private premiseService: PremiseService,
|
||||||
private messageService: MessageService,
|
private messageService: MessageService,
|
||||||
private route: ActivatedRoute,
|
private route: ActivatedRoute,
|
||||||
private router: Router
|
private router: Router
|
||||||
@ -49,6 +54,24 @@ export class TenantDetailsComponent implements OnInit {
|
|||||||
if (id != 0) {
|
if (id != 0) {
|
||||||
this.tenant = await this.tenantService.getTenant(id)
|
this.tenant = await this.tenantService.getTenant(id)
|
||||||
this.account = await this.accountService.getAccount(this.tenant.account)
|
this.account = await this.accountService.getAccount(this.tenant.account)
|
||||||
|
|
||||||
|
const premises: Premise[] = await this.premiseService.getPremises()
|
||||||
|
const premisesDict = new Map<number, Premise>()
|
||||||
|
for (let p of premises) {
|
||||||
|
premisesDict.set(p.id, p)
|
||||||
|
}
|
||||||
|
for (let t of await this.tenancyService.getTenancysByTenant(this.tenant.id)) {
|
||||||
|
const flat: Flat = (t.flat) ? await this.flatService.getFlat(t.flat) : NULL_Flat
|
||||||
|
const parking: Parking = (t.parking) ? await this.parkingService.getParking(t.parking) : NULL_Parking
|
||||||
|
const commercialPremise: CommercialPremise = (t.commercial_premise) ? await this.commercialPremiseService.getCommercialPremise(t.commercial_premise) : NULL_CommercialPremise
|
||||||
|
this.tenancies.push({
|
||||||
|
rawTenancy: t,
|
||||||
|
flat: (flat != NULL_Flat) ? `${flat.description} (${premisesDict.get(flat.premise).description})` : '',
|
||||||
|
parking: (parking != NULL_Parking) ? `${parking.description} (${premisesDict.get(parking.premise).description})` : '',
|
||||||
|
commercialPremise: (commercialPremise != NULL_CommercialPremise) ? `${commercialPremise.description} (${premisesDict.get(commercialPremise.premise).description})` : ''
|
||||||
|
})
|
||||||
|
}
|
||||||
|
this.tenancyDataSource = new MatTableDataSource<DN_Tenancy>(this.tenancies)
|
||||||
}
|
}
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
this.messageService.add(JSON.stringify(err, undefined, 4))
|
this.messageService.add(JSON.stringify(err, undefined, 4))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user