Fix: Ledger and product ledger on init would fail because account/product ledger was null. Fixed

This commit is contained in:
Amritanshu Agrawal 2022-07-18 23:40:33 +05:30
parent 836858deb1
commit e02cdfbe9c
10 changed files with 27 additions and 25 deletions

View File

@ -106,7 +106,7 @@ export class EmployeeAttendanceComponent implements OnInit, AfterViewInit {
}
selected(event: MatAutocompleteSelectedEvent): void {
this.info.employee = event.option.value;
this.info.employee = event.option.value as Employee;
}
getClass(index: number) {

View File

@ -138,7 +138,7 @@ export class EmployeeBenefitsComponent implements OnInit, AfterViewInit {
}
employeeSelected(event: MatAutocompleteSelectedEvent): void {
this.employee = event.option.value;
this.employee = event.option.value as Employee;
}
addRow() {

View File

@ -57,7 +57,7 @@ export class IssueDialogComponent implements OnInit {
}
batchSelected(event: MatAutocompleteSelectedEvent): void {
this.batch = event.option.value;
this.batch = event.option.value as Batch;
}
accept(): void {

View File

@ -331,7 +331,7 @@ export class IssueComponent implements OnInit, AfterViewInit, OnDestroy {
}
batchSelected(event: MatAutocompleteSelectedEvent): void {
this.batch = event.option.value;
this.batch = event.option.value as Batch;
}
goToVoucher(id: string) {

View File

@ -61,7 +61,7 @@ export class JournalDialogComponent implements OnInit {
}
accountSelected(event: MatAutocompleteSelectedEvent): void {
const account = event.option.value;
const account = event.option.value as Account;
this.account = account;
this.accountSer.balance(account.id as string, this.data.date).subscribe((v) => {
this.accBal = v;

View File

@ -329,7 +329,7 @@ export class JournalComponent implements OnInit, AfterViewInit, OnDestroy {
}
accountSelected(event: MatAutocompleteSelectedEvent): void {
const account = event.option.value;
const account = event.option.value as Account;
this.account = account;
const date = moment(this.form.value.date).format('DD-MMM-YYYY');
this.accountSer.balance(account.id as string, date).subscribe((v) => {

View File

@ -69,7 +69,7 @@ export class LedgerComponent implements OnInit, AfterViewInit {
this.info = data.info;
this.calculateTotals();
this.form.setValue({
account: this.info.account.name,
account: this.info.account?.name ?? '',
startDate: moment(this.info.startDate, 'DD-MMM-YYYY').toDate(),
finishDate: moment(this.info.finishDate, 'DD-MMM-YYYY').toDate(),
});
@ -108,7 +108,7 @@ export class LedgerComponent implements OnInit, AfterViewInit {
}
selected(event: MatAutocompleteSelectedEvent): void {
this.info.account = event.option.value;
this.info.account = event.option.value as Account;
}
selectRow(id: string): void {
@ -117,6 +117,7 @@ export class LedgerComponent implements OnInit, AfterViewInit {
show() {
const info = this.getInfo();
if (info.account) {
this.router.navigate(['ledger', info.account.id], {
queryParams: {
startDate: info.startDate,
@ -124,6 +125,7 @@ export class LedgerComponent implements OnInit, AfterViewInit {
},
});
}
}
getInfo(): Ledger {
const formModel = this.form.value;

View File

@ -5,13 +5,12 @@ import { LedgerItem } from './ledger-item';
export class Ledger {
startDate: string;
finishDate: string;
account: Account;
account?: Account;
body: LedgerItem[];
public constructor(init?: Partial<Ledger>) {
this.startDate = '';
this.finishDate = '';
this.account = new Account();
this.body = [];
Object.assign(this, init);
}

View File

@ -86,7 +86,7 @@ export class ProductLedgerComponent implements OnInit, AfterViewInit {
this.info = data.info;
this.calculateTotals();
this.form.setValue({
product: this.info.product.name,
product: this.info.product?.name ?? '',
startDate: moment(this.info.startDate, 'DD-MMM-YYYY').toDate(),
finishDate: moment(this.info.finishDate, 'DD-MMM-YYYY').toDate(),
});
@ -136,6 +136,7 @@ export class ProductLedgerComponent implements OnInit, AfterViewInit {
show() {
const info = this.getInfo();
if (info.product) {
this.router.navigate(['product-ledger', info.product.id], {
queryParams: {
startDate: info.startDate,
@ -143,6 +144,7 @@ export class ProductLedgerComponent implements OnInit, AfterViewInit {
},
});
}
}
getInfo(): ProductLedger {
const formModel = this.form.value;

View File

@ -5,13 +5,12 @@ import { ProductLedgerItem } from './product-ledger-item';
export class ProductLedger {
startDate: string;
finishDate: string;
product: Product;
product?: Product;
body: ProductLedgerItem[];
public constructor(init?: Partial<ProductLedger>) {
this.startDate = '';
this.finishDate = '';
this.product = new Product();
this.body = [];
Object.assign(this, init);
}