fix: account balance change with credit/debit entries.

This commit is contained in:
a.bouhuolia
2021-02-28 17:09:03 +02:00
parent 4d751f772e
commit b98d18f189
3 changed files with 95 additions and 70 deletions

View File

@@ -2,7 +2,6 @@ import { get } from 'lodash';
import { ACCOUNT_TYPES } from 'data/AccountTypes';
export default class AccountTypesUtils {
/**
* Retrieve account types list.
*/
@@ -11,15 +10,16 @@ export default class AccountTypesUtils {
}
/**
*
* @param {string} rootType
* Retrieve accounts types by the given root type.
* @param {string} rootType -
* @return {string}
*/
static getTypesByRootType(rootType: string) {
return ACCOUNT_TYPES.filter((type) => type.rootType === rootType);
}
/**
*
* Retrieve account type by the given account type key.
* @param {string} key
* @param {string} accessor
*/
@@ -33,7 +33,7 @@ export default class AccountTypesUtils {
}
/**
*
* Retrieve accounts types by the parent account type.
* @param {string} parentType
*/
static getTypesByParentType(parentType: string) {
@@ -41,20 +41,19 @@ export default class AccountTypesUtils {
}
/**
*
* Retrieve accounts types by the given account normal.
* @param {string} normal
*/
static getTypesByNormal(normal: string) {
return ACCOUNT_TYPES.filter((type) => type.normal === normal);
}
/**
*
* Detarmines whether the root type equals the account type.
* @param {string} key
* @param {string} rootType
*/
static isRootTypeEqualsKey(key: string, rootType: string) {
static isRootTypeEqualsKey(key: string, rootType: string): boolean {
return ACCOUNT_TYPES.some((type) => {
const isType = type.key === key;
const isRootType = type.rootType === rootType;
@@ -64,11 +63,11 @@ export default class AccountTypesUtils {
}
/**
*
* @param {string} key
* @param {string} parentType
* Detarmines whether the parent account type equals the account type key.
* @param {string} key - Account type key.
* @param {string} parentType - Account parent type.
*/
static isParentTypeEqualsKey(key: string, parentType: string) {
static isParentTypeEqualsKey(key: string, parentType: string): boolean {
return ACCOUNT_TYPES.some((type) => {
const isType = type.key === key;
const isParentType = type.parentType === parentType;
@@ -78,10 +77,11 @@ export default class AccountTypesUtils {
}
/**
* Detarmines whether account type has balance sheet.
* @param {string} key - Account type key.
*
* @param {string} key
*/
static isTypeBalanceSheet(key: string) {
static isTypeBalanceSheet(key: string): boolean {
return ACCOUNT_TYPES.some((type) => {
const isType = type.key === key;
return isType && type.balanceSheet;
@@ -89,10 +89,10 @@ export default class AccountTypesUtils {
}
/**
*
* @param {string} key
* Detarmines whether account type has profit/loss sheet.
* @param {string} key - Account type key.
*/
static isTypePLSheet(key: string) {
static isTypePLSheet(key: string): boolean {
return ACCOUNT_TYPES.some((type) => {
const isType = type.key === key;
return isType && type.incomeSheet;