WEB-342: Advance Accounting rule can not be edited for classification type
This commit is contained in:
committed by
Adam Saghy
parent
0f37f0fecf
commit
0a46b58ce7
+2
-2
@@ -24,8 +24,8 @@
|
|||||||
|
|
||||||
<ng-container matColumnDef="actions">
|
<ng-container matColumnDef="actions">
|
||||||
<th mat-header-cell *matHeaderCellDef>{{ 'labels.inputs.Actions' | translate }}</th>
|
<th mat-header-cell *matHeaderCellDef>{{ 'labels.inputs.Actions' | translate }}</th>
|
||||||
<td mat-cell *matCellDef="let chargeOffReasonExpense; let i = index">
|
<td mat-cell *matCellDef="let item; let i = index">
|
||||||
<button mat-icon-button color="primary" (click)="edit(i)">
|
<button mat-icon-button color="primary" (click)="edit(item, i)">
|
||||||
<fa-icon icon="edit"></fa-icon>
|
<fa-icon icon="edit"></fa-icon>
|
||||||
</button>
|
</button>
|
||||||
<button mat-icon-button color="warn" (click)="delete(i)">
|
<button mat-icon-button color="warn" (click)="delete(i)">
|
||||||
|
|||||||
+62
-7
@@ -133,6 +133,14 @@ export class AdvancedAccountingMappingRuleComponent implements OnInit {
|
|||||||
this.tableData = newData;
|
this.tableData = newData;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
updateTableData(updatedData: AccountingMappingDTO, index: number): void {
|
||||||
|
let newData = [
|
||||||
|
...this.tableData.slice(0, index),
|
||||||
|
updatedData,
|
||||||
|
...this.tableData.slice(index + 1)];
|
||||||
|
this.tableData = newData;
|
||||||
|
}
|
||||||
|
|
||||||
delete(index: number) {
|
delete(index: number) {
|
||||||
const dialogRef = this.dialog.open(DeleteDialogComponent, {
|
const dialogRef = this.dialog.open(DeleteDialogComponent, {
|
||||||
data: { deleteContext: this.translateService.instant('labels.text.this') }
|
data: { deleteContext: this.translateService.instant('labels.text.this') }
|
||||||
@@ -145,6 +153,51 @@ export class AdvancedAccountingMappingRuleComponent implements OnInit {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
edit(record: AccountingMappingDTO, index: number) {
|
||||||
|
const data = { ...this.getData(this.formType, record), pristine: false, layout: { addButtonText: 'Edit' } };
|
||||||
|
const dialogRef = this.dialog.open(FormDialogComponent, { data });
|
||||||
|
|
||||||
|
dialogRef.afterClosed().subscribe((response: any) => {
|
||||||
|
if (response.data) {
|
||||||
|
let updateData: AccountingMappingDTO;
|
||||||
|
if ([
|
||||||
|
'ChargeOffReasonExpense',
|
||||||
|
'WriteOffReasonToExpense'
|
||||||
|
].includes(this.formType)) {
|
||||||
|
updateData = {
|
||||||
|
value: this.getValueData(response.data.value.chargeOffReasonCodeValueId),
|
||||||
|
glAccount: this.getGlAccountData(response.data.value.expenseAccountId)
|
||||||
|
};
|
||||||
|
} else if ([
|
||||||
|
'BuydownFeeClassificationToIncome',
|
||||||
|
'CapitalizedIncomeClassificationToIncome'
|
||||||
|
].includes(this.formType)) {
|
||||||
|
updateData = {
|
||||||
|
value: this.getValueData(response.data.value.valueId),
|
||||||
|
glAccount: this.getGlAccountData(response.data.value.glAccountId)
|
||||||
|
};
|
||||||
|
} else if (this.formType === 'PaymentFundSource') {
|
||||||
|
updateData = {
|
||||||
|
value: this.getValueData(response.data.paymentTypeId),
|
||||||
|
glAccount: this.getGlAccountData(response.data.fundSourceAccountId)
|
||||||
|
};
|
||||||
|
} else if (this.formType === 'FeesIncome') {
|
||||||
|
updateData = {
|
||||||
|
value: this.getValueData(response.data.chargeId),
|
||||||
|
glAccount: this.getGlAccountData(response.data.incomeAccountId)
|
||||||
|
};
|
||||||
|
} else if (this.formType === 'PenaltyIncome') {
|
||||||
|
updateData = {
|
||||||
|
value: this.getValueData(response.data.chargeId),
|
||||||
|
glAccount: this.getGlAccountData(response.data.incomeAccountId)
|
||||||
|
};
|
||||||
|
}
|
||||||
|
this.updateTableData(updateData, index);
|
||||||
|
this.sendParentData();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
sendParentData() {
|
sendParentData() {
|
||||||
const advancedMappingDTO: AdvancedMappingDTO = {
|
const advancedMappingDTO: AdvancedMappingDTO = {
|
||||||
formType: this.formType,
|
formType: this.formType,
|
||||||
@@ -267,7 +320,7 @@ export class AdvancedAccountingMappingRuleComponent implements OnInit {
|
|||||||
new SelectBase({
|
new SelectBase({
|
||||||
controlName: 'chargeOffReasonCodeValueId',
|
controlName: 'chargeOffReasonCodeValueId',
|
||||||
label: 'Charge-off reason',
|
label: 'Charge-off reason',
|
||||||
value: values ? values.chargeOffReasonCodeValueId : reasonOptions[0].id,
|
value: values ? values.value.id : reasonOptions[0].id,
|
||||||
options: { label: 'name', value: 'id', data: reasonOptions },
|
options: { label: 'name', value: 'id', data: reasonOptions },
|
||||||
required: true,
|
required: true,
|
||||||
order: 1
|
order: 1
|
||||||
@@ -275,7 +328,7 @@ export class AdvancedAccountingMappingRuleComponent implements OnInit {
|
|||||||
new SelectBase({
|
new SelectBase({
|
||||||
controlName: 'expenseAccountId',
|
controlName: 'expenseAccountId',
|
||||||
label: 'Expense Account',
|
label: 'Expense Account',
|
||||||
value: values ? values.expenseAccountId : this.expenseAccountData[0].id,
|
value: values ? values.glAccount.id : this.expenseAccountData[0].id,
|
||||||
options: { label: 'name', value: 'id', data: this.expenseAccountData },
|
options: { label: 'name', value: 'id', data: this.expenseAccountData },
|
||||||
required: true,
|
required: true,
|
||||||
order: 2
|
order: 2
|
||||||
@@ -293,7 +346,7 @@ export class AdvancedAccountingMappingRuleComponent implements OnInit {
|
|||||||
new SelectBase({
|
new SelectBase({
|
||||||
controlName: 'valueId',
|
controlName: 'valueId',
|
||||||
label: 'Classification',
|
label: 'Classification',
|
||||||
value: values ? values.chargeOffReasonCodeValueId : classificationOptions[0].id,
|
value: values ? values.value.id : classificationOptions[0].id,
|
||||||
options: { label: 'name', value: 'id', data: classificationOptions },
|
options: { label: 'name', value: 'id', data: classificationOptions },
|
||||||
required: true,
|
required: true,
|
||||||
order: 1
|
order: 1
|
||||||
@@ -301,7 +354,7 @@ export class AdvancedAccountingMappingRuleComponent implements OnInit {
|
|||||||
new SelectBase({
|
new SelectBase({
|
||||||
controlName: 'glAccountId',
|
controlName: 'glAccountId',
|
||||||
label: 'Income Account',
|
label: 'Income Account',
|
||||||
value: values ? values.incomeAccountId : this.incomeAccountData[0].id,
|
value: values ? values.glAccount.id : this.incomeAccountData[0].id,
|
||||||
options: { label: 'name', value: 'id', data: this.incomeAccountData },
|
options: { label: 'name', value: 'id', data: this.incomeAccountData },
|
||||||
required: true,
|
required: true,
|
||||||
order: 2
|
order: 2
|
||||||
@@ -325,9 +378,11 @@ export class AdvancedAccountingMappingRuleComponent implements OnInit {
|
|||||||
this.liabilityAccountData
|
this.liabilityAccountData
|
||||||
];
|
];
|
||||||
for (const glAccountData of glAccountDatas) {
|
for (const glAccountData of glAccountDatas) {
|
||||||
const glAccount = glAccountData.find((i: GLAccount) => i.id === valueId);
|
if (glAccountData) {
|
||||||
if (glAccount) {
|
const glAccount = glAccountData.find((i: GLAccount) => i.id === valueId);
|
||||||
return glAccount;
|
if (glAccount) {
|
||||||
|
return glAccount;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
|
|||||||
Reference in New Issue
Block a user