Compare commits
4 Commits
Author | SHA1 | Date | |
---|---|---|---|
fcd2633c72
|
|||
f7eca3844d
|
|||
9a1e3231d6
|
|||
0075416fc3
|
@ -116,7 +116,7 @@ $$;
|
|||||||
CREATE TRIGGER maintain_ledger_trigger
|
CREATE TRIGGER maintain_ledger_trigger
|
||||||
AFTER INSERT ON account_entry_t
|
AFTER INSERT ON account_entry_t
|
||||||
FOR EACH ROW
|
FOR EACH ROW
|
||||||
WHEN (NEW.account != 1000 AND NEW.account_entry_category NOT IN (3, 4))
|
WHEN (NEW.account != 1000 AND NEW.account_entry_category NOT IN (3, 4, 29))
|
||||||
EXECUTE FUNCTION maintain_ledger();
|
EXECUTE FUNCTION maintain_ledger();
|
||||||
|
|
||||||
|
|
||||||
|
@ -31,13 +31,13 @@
|
|||||||
Saldo: {{saldo?.saldo | number:'1.2-2'}} €
|
Saldo: {{saldo?.saldo | number:'1.2-2'}} €
|
||||||
</div>
|
</div>
|
||||||
<div id="secondBlock">
|
<div id="secondBlock">
|
||||||
<table mat-table [dataSource]="accountEntriesDataSource" matSort #zftable>
|
<table mat-table [dataSource]="accountEntriesDataSource" #zftable>
|
||||||
<ng-container matColumnDef="createdAt">
|
<ng-container matColumnDef="createdAt">
|
||||||
<th mat-header-cell *matHeaderCellDef mat-sort-header>Datum</th>
|
<th mat-header-cell *matHeaderCellDef >Datum</th>
|
||||||
<td mat-cell *matCellDef="let element">{{element.rawAccountEntry.created_at | date}}</td>
|
<td mat-cell *matCellDef="let element">{{element.rawAccountEntry.created_at | date}}</td>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
<ng-container matColumnDef="fiscalYear">
|
<ng-container matColumnDef="fiscalYear">
|
||||||
<th mat-header-cell *matHeaderCellDef mat-sort-header>Jahr</th>
|
<th mat-header-cell *matHeaderCellDef >Jahr</th>
|
||||||
<td mat-cell *matCellDef="let element">{{element.rawAccountEntry.fiscal_year}}</td>
|
<td mat-cell *matCellDef="let element">{{element.rawAccountEntry.fiscal_year}}</td>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
<ng-container matColumnDef="description">
|
<ng-container matColumnDef="description">
|
||||||
@ -45,7 +45,7 @@ Saldo: {{saldo?.saldo | number:'1.2-2'}} €
|
|||||||
<td mat-cell *matCellDef="let element">{{element.rawAccountEntry.description}}</td>
|
<td mat-cell *matCellDef="let element">{{element.rawAccountEntry.description}}</td>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
<ng-container matColumnDef="document_no">
|
<ng-container matColumnDef="document_no">
|
||||||
<th mat-header-cell *matHeaderCellDef mat-sort-header>Belegnummer</th>
|
<th mat-header-cell *matHeaderCellDef >Belegnummer</th>
|
||||||
<td mat-cell *matCellDef="let element">{{element.rawAccountEntry.document_no}}</td>
|
<td mat-cell *matCellDef="let element">{{element.rawAccountEntry.document_no}}</td>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
<ng-container matColumnDef="amount">
|
<ng-container matColumnDef="amount">
|
||||||
@ -53,11 +53,11 @@ Saldo: {{saldo?.saldo | number:'1.2-2'}} €
|
|||||||
<td mat-cell *matCellDef="let element" class="rightaligned">{{element.rawAccountEntry.amount | number:'1.2-2'}} €</td>
|
<td mat-cell *matCellDef="let element" class="rightaligned">{{element.rawAccountEntry.amount | number:'1.2-2'}} €</td>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
<ng-container matColumnDef="category">
|
<ng-container matColumnDef="category">
|
||||||
<th mat-header-cell *matHeaderCellDef mat-sort-header>Kategorie</th>
|
<th mat-header-cell *matHeaderCellDef >Kategorie</th>
|
||||||
<td mat-cell *matCellDef="let element">{{element.accountEntryCategory}}</td>
|
<td mat-cell *matCellDef="let element">{{element.accountEntryCategory}}</td>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
<ng-container matColumnDef="overhead_relevant">
|
<ng-container matColumnDef="overhead_relevant">
|
||||||
<th mat-header-cell *matHeaderCellDef mat-sort-header>BK relevant</th>
|
<th mat-header-cell *matHeaderCellDef >BK relevant</th>
|
||||||
<td mat-cell *matCellDef="let element">{{element.overheadRelevant}}</td>
|
<td mat-cell *matCellDef="let element">{{element.overheadRelevant}}</td>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
<tr mat-header-row *matHeaderRowDef="accountEntriesDisplayedColumns"></tr>
|
<tr mat-header-row *matHeaderRowDef="accountEntriesDisplayedColumns"></tr>
|
||||||
|
@ -3,7 +3,6 @@ import { Component, Input, OnInit, OnChanges, ViewChild } from '@angular/core';
|
|||||||
import { FormControl } from '@angular/forms';
|
import { FormControl } from '@angular/forms';
|
||||||
import { MatButton } from '@angular/material/button';
|
import { MatButton } from '@angular/material/button';
|
||||||
import { MatExpansionPanel } from '@angular/material/expansion';
|
import { MatExpansionPanel } from '@angular/material/expansion';
|
||||||
import { MatSort } from '@angular/material/sort';
|
|
||||||
import { MatTableDataSource } from '@angular/material/table';
|
import { MatTableDataSource } from '@angular/material/table';
|
||||||
import { AccountEntryCategoryService, AccountEntryService, AccountService } from '../data-object-service';
|
import { AccountEntryCategoryService, AccountEntryService, AccountService } from '../data-object-service';
|
||||||
import { Account, AccountEntry, AccountEntryCategory, NULL_AccountEntry } from '../data-objects';
|
import { Account, AccountEntry, AccountEntryCategory, NULL_AccountEntry } from '../data-objects';
|
||||||
@ -32,7 +31,6 @@ export class AccountComponent implements OnInit {
|
|||||||
@Input() shallBeRentPayment: boolean
|
@Input() shallBeRentPayment: boolean
|
||||||
@ViewChild('addAccountEntryButton') addAccountEntryButton: MatButton
|
@ViewChild('addAccountEntryButton') addAccountEntryButton: MatButton
|
||||||
|
|
||||||
@ViewChild(MatSort) sort: MatSort;
|
|
||||||
|
|
||||||
account: Account
|
account: Account
|
||||||
accountEntries: DN_AccountEntry[]
|
accountEntries: DN_AccountEntry[]
|
||||||
@ -157,6 +155,9 @@ export class AccountComponent implements OnInit {
|
|||||||
this.presetDescription = new FormControl("Miete")
|
this.presetDescription = new FormControl("Miete")
|
||||||
this.messageService.add(`shall be rentpayment`)
|
this.messageService.add(`shall be rentpayment`)
|
||||||
this.messageService.add(`AccountComponent.init d, account: ${this.selectedAccountId}`)
|
this.messageService.add(`AccountComponent.init d, account: ${this.selectedAccountId}`)
|
||||||
|
} else {
|
||||||
|
this.presetCategory = new FormControl()
|
||||||
|
this.presetDescription = new FormControl()
|
||||||
}
|
}
|
||||||
|
|
||||||
this.messageService.add(`AccountComponent.init, account: ${this.selectedAccountId}`)
|
this.messageService.add(`AccountComponent.init, account: ${this.selectedAccountId}`)
|
||||||
@ -172,8 +173,4 @@ export class AccountComponent implements OnInit {
|
|||||||
this.init()
|
this.init()
|
||||||
}
|
}
|
||||||
|
|
||||||
ngAfterViewInit(): void {
|
|
||||||
this.accountEntriesDataSource.sort = this.sort;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -5,6 +5,16 @@
|
|||||||
</mat-card-title>
|
</mat-card-title>
|
||||||
</mat-card-header>
|
</mat-card-header>
|
||||||
<mat-card-content>
|
<mat-card-content>
|
||||||
<app-account #fallbackAccountComponent [selectedAccountId]="fallbackAccountId" [shallBeRentPayment]="false"></app-account>
|
<div>
|
||||||
|
<span>Konto auswählen: </span>
|
||||||
|
<mat-form-field appearance="outline">
|
||||||
|
<mat-select #mapSelect [(ngModel)]="accountId" name="account">
|
||||||
|
<mat-label>Mieter</mat-label>
|
||||||
|
<mat-option *ngFor="let p of accounts" [value]="p.id">{{p.description}}</mat-option>
|
||||||
|
</mat-select>
|
||||||
|
</mat-form-field>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<app-account [selectedAccountId]="accountId" [shallBeRentPayment]="false"></app-account>
|
||||||
</mat-card-content>
|
</mat-card-content>
|
||||||
</mat-card>
|
</mat-card>
|
@ -1,5 +1,6 @@
|
|||||||
import { Component, OnInit, ViewChild } from '@angular/core';
|
import { Component, OnInit, ViewChild } from '@angular/core';
|
||||||
import { AccountComponent } from '../account/account.component';
|
import { AccountComponent } from '../account/account.component';
|
||||||
|
import { AccountService } from '../data-object-service';
|
||||||
import { Account } from '../data-objects';
|
import { Account } from '../data-objects';
|
||||||
import { ExtApiService } from '../ext-data-object-service';
|
import { ExtApiService } from '../ext-data-object-service';
|
||||||
import { MessageService } from '../message.service';
|
import { MessageService } from '../message.service';
|
||||||
@ -11,23 +12,23 @@ import { MessageService } from '../message.service';
|
|||||||
})
|
})
|
||||||
export class LedgerComponent implements OnInit {
|
export class LedgerComponent implements OnInit {
|
||||||
|
|
||||||
fallbackAccount: Account
|
accounts: Account[]
|
||||||
fallbackAccountId: number
|
accountId: number
|
||||||
|
|
||||||
|
|
||||||
@ViewChild('fallbackAccountComponent') fallbackAccountComponent: AccountComponent
|
@ViewChild('accountComponent') accountComponent: AccountComponent
|
||||||
|
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
private extApiService: ExtApiService,
|
private accountService: AccountService,
|
||||||
private messageService: MessageService
|
private messageService: MessageService
|
||||||
) { }
|
) { }
|
||||||
|
|
||||||
async getAccount(): Promise<void> {
|
async getAccount(): Promise<void> {
|
||||||
try {
|
try {
|
||||||
this.messageService.add("Trying to load fallback account")
|
this.messageService.add("Trying to load accounts")
|
||||||
this.fallbackAccount = await this.extApiService.getAccountByDescription('fallback_account')
|
this.accounts = await this.accountService.getAccounts()
|
||||||
this.messageService.add("Account loaded")
|
this.messageService.add("Accounts loaded")
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
this.messageService.add(JSON.stringify(err, undefined, 4))
|
this.messageService.add(JSON.stringify(err, undefined, 4))
|
||||||
}
|
}
|
||||||
@ -35,7 +36,6 @@ export class LedgerComponent implements OnInit {
|
|||||||
|
|
||||||
async ngOnInit(): Promise<void> {
|
async ngOnInit(): Promise<void> {
|
||||||
await this.getAccount()
|
await this.getAccount()
|
||||||
this.fallbackAccountId = this.fallbackAccount.id
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user