bdpformulas 1.0.72 → 1.0.73
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/models/consolidado/balance.d.ts +40 -0
- package/build/models/consolidado/balance.js +45 -0
- package/build/strategies/balance.strategy.js +5 -0
- package/build/strategies/eeff/balanceConsolidado/analisisHorizontal.d.ts +6 -0
- package/build/strategies/eeff/balanceConsolidado/analisisHorizontal.js +62 -0
- package/package.json +1 -1
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
export declare enum EEFFConsolidadoRubroEnum {
|
|
2
|
+
Padre = "ACT_CN_00000",
|
|
3
|
+
Activo = "ACT_CN_10000",
|
|
4
|
+
ActivoCorriente = "ACT_CN_11000",
|
|
5
|
+
OtrosActivoCorriente = "ACT_CN_11004",
|
|
6
|
+
TotalActivoCorriente = "ACT_CN_11900",
|
|
7
|
+
ActivoNoCorriente = "ACT_CN_12000",
|
|
8
|
+
OtrosActivoNoCorriente = "ACT_CN_12005",
|
|
9
|
+
TotalActivoNoCorriente = "ACT_CN_12900",
|
|
10
|
+
TotalActivo = "ACT_CN_19000",
|
|
11
|
+
Pasivo = "ACT_CN_20000",
|
|
12
|
+
PasivoCorriente = "ACT_CN_21000",
|
|
13
|
+
OtrosPasivoCorriente = "ACT_CN_21003",
|
|
14
|
+
TotalPasivoCorriente = "ACT_CN_21900",
|
|
15
|
+
PasivoNoCorriente = "ACT_CN_22000",
|
|
16
|
+
OtrosPasivoNoCorriente = "ACT_CN_22003",
|
|
17
|
+
TotalPasivoNoCorriente = "ACT_CN_22900",
|
|
18
|
+
TotalPasivo = "ACT_CN_29000",
|
|
19
|
+
Patrimonio = "ACT_CN_30000",
|
|
20
|
+
OtrosPatrimonio = "ACT_CN_30002",
|
|
21
|
+
TotalPatrimonio = "ACT_CN_39000",
|
|
22
|
+
TotalPasivoPatrimonio = "ACT_CN_39900",
|
|
23
|
+
Ingresos = "ACT_CN_40000",
|
|
24
|
+
OtrosIngresos = "ACT_CN_40002",
|
|
25
|
+
TotalIngresos = "ACT_CN_40003",
|
|
26
|
+
Costos = "ACT_CN_41000",
|
|
27
|
+
OtrosCostos = "ACT_CN_41003",
|
|
28
|
+
TotalCostos = "ACT_CN_41004",
|
|
29
|
+
Gastos = "ACT_CN_43000",
|
|
30
|
+
OtrosGastos = "ACT_CN_43004",
|
|
31
|
+
TotalGastosOperativos = "ACT_CN_43900",
|
|
32
|
+
OtrosIngresosEgresos = "ACT_CN_45000",
|
|
33
|
+
OtrosOtrosIngresosEgresos = "ACT_CN_45001D",
|
|
34
|
+
TotalOtrosIngresosEgresos = "ACT_CN_45900",
|
|
35
|
+
UtilidadBruta = "ACT_CN_42000",
|
|
36
|
+
UtilidadOperacional = "ACT_CN_44000",
|
|
37
|
+
UtilidadAntesImpuestos = "ACT_CN_46000",
|
|
38
|
+
ImpuestoUtilidades = "ACT_CN_46001",
|
|
39
|
+
UtilidadNetaEjercicio = "ACT_CN_47000"
|
|
40
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EEFFConsolidadoRubroEnum = void 0;
|
|
4
|
+
var EEFFConsolidadoRubroEnum;
|
|
5
|
+
(function (EEFFConsolidadoRubroEnum) {
|
|
6
|
+
EEFFConsolidadoRubroEnum["Padre"] = "ACT_CN_00000";
|
|
7
|
+
EEFFConsolidadoRubroEnum["Activo"] = "ACT_CN_10000";
|
|
8
|
+
EEFFConsolidadoRubroEnum["ActivoCorriente"] = "ACT_CN_11000";
|
|
9
|
+
EEFFConsolidadoRubroEnum["OtrosActivoCorriente"] = "ACT_CN_11004";
|
|
10
|
+
EEFFConsolidadoRubroEnum["TotalActivoCorriente"] = "ACT_CN_11900";
|
|
11
|
+
EEFFConsolidadoRubroEnum["ActivoNoCorriente"] = "ACT_CN_12000";
|
|
12
|
+
EEFFConsolidadoRubroEnum["OtrosActivoNoCorriente"] = "ACT_CN_12005";
|
|
13
|
+
EEFFConsolidadoRubroEnum["TotalActivoNoCorriente"] = "ACT_CN_12900";
|
|
14
|
+
EEFFConsolidadoRubroEnum["TotalActivo"] = "ACT_CN_19000";
|
|
15
|
+
EEFFConsolidadoRubroEnum["Pasivo"] = "ACT_CN_20000";
|
|
16
|
+
EEFFConsolidadoRubroEnum["PasivoCorriente"] = "ACT_CN_21000";
|
|
17
|
+
EEFFConsolidadoRubroEnum["OtrosPasivoCorriente"] = "ACT_CN_21003";
|
|
18
|
+
EEFFConsolidadoRubroEnum["TotalPasivoCorriente"] = "ACT_CN_21900";
|
|
19
|
+
EEFFConsolidadoRubroEnum["PasivoNoCorriente"] = "ACT_CN_22000";
|
|
20
|
+
EEFFConsolidadoRubroEnum["OtrosPasivoNoCorriente"] = "ACT_CN_22003";
|
|
21
|
+
EEFFConsolidadoRubroEnum["TotalPasivoNoCorriente"] = "ACT_CN_22900";
|
|
22
|
+
EEFFConsolidadoRubroEnum["TotalPasivo"] = "ACT_CN_29000";
|
|
23
|
+
EEFFConsolidadoRubroEnum["Patrimonio"] = "ACT_CN_30000";
|
|
24
|
+
EEFFConsolidadoRubroEnum["OtrosPatrimonio"] = "ACT_CN_30002";
|
|
25
|
+
EEFFConsolidadoRubroEnum["TotalPatrimonio"] = "ACT_CN_39000";
|
|
26
|
+
EEFFConsolidadoRubroEnum["TotalPasivoPatrimonio"] = "ACT_CN_39900";
|
|
27
|
+
//eerr
|
|
28
|
+
EEFFConsolidadoRubroEnum["Ingresos"] = "ACT_CN_40000";
|
|
29
|
+
EEFFConsolidadoRubroEnum["OtrosIngresos"] = "ACT_CN_40002";
|
|
30
|
+
EEFFConsolidadoRubroEnum["TotalIngresos"] = "ACT_CN_40003";
|
|
31
|
+
EEFFConsolidadoRubroEnum["Costos"] = "ACT_CN_41000";
|
|
32
|
+
EEFFConsolidadoRubroEnum["OtrosCostos"] = "ACT_CN_41003";
|
|
33
|
+
EEFFConsolidadoRubroEnum["TotalCostos"] = "ACT_CN_41004";
|
|
34
|
+
EEFFConsolidadoRubroEnum["Gastos"] = "ACT_CN_43000";
|
|
35
|
+
EEFFConsolidadoRubroEnum["OtrosGastos"] = "ACT_CN_43004";
|
|
36
|
+
EEFFConsolidadoRubroEnum["TotalGastosOperativos"] = "ACT_CN_43900";
|
|
37
|
+
EEFFConsolidadoRubroEnum["OtrosIngresosEgresos"] = "ACT_CN_45000";
|
|
38
|
+
EEFFConsolidadoRubroEnum["OtrosOtrosIngresosEgresos"] = "ACT_CN_45001D";
|
|
39
|
+
EEFFConsolidadoRubroEnum["TotalOtrosIngresosEgresos"] = "ACT_CN_45900";
|
|
40
|
+
EEFFConsolidadoRubroEnum["UtilidadBruta"] = "ACT_CN_42000";
|
|
41
|
+
EEFFConsolidadoRubroEnum["UtilidadOperacional"] = "ACT_CN_44000";
|
|
42
|
+
EEFFConsolidadoRubroEnum["UtilidadAntesImpuestos"] = "ACT_CN_46000";
|
|
43
|
+
EEFFConsolidadoRubroEnum["ImpuestoUtilidades"] = "ACT_CN_46001";
|
|
44
|
+
EEFFConsolidadoRubroEnum["UtilidadNetaEjercicio"] = "ACT_CN_47000";
|
|
45
|
+
})(EEFFConsolidadoRubroEnum || (exports.EEFFConsolidadoRubroEnum = EEFFConsolidadoRubroEnum = {}));
|
|
@@ -29,6 +29,7 @@ const declaracionJurada_calc_1 = require("./common/declaracionJurada.calc");
|
|
|
29
29
|
//import { setFlujoInEERR } from './common/balanceCalculos/flujoAux.calc'
|
|
30
30
|
const utils_1 = require("./eeff/admFinanciera/utils");
|
|
31
31
|
const utils_2 = require("./utils");
|
|
32
|
+
const analisisHorizontal_1 = require("./eeff/balanceConsolidado/analisisHorizontal");
|
|
32
33
|
class Balance {
|
|
33
34
|
camposCalculadosDefinidos;
|
|
34
35
|
constructor() {
|
|
@@ -156,6 +157,10 @@ class Balance {
|
|
|
156
157
|
data.eerr = Array.from(eerrMap.values());
|
|
157
158
|
result.balance = calcularBalance(data.balance, data.cantidadGestiones);
|
|
158
159
|
result.eerr = calcularEERR(data.eerr, data.cantidadGestiones, data.tipoConsolidado);
|
|
160
|
+
(0, analisisHorizontal_1.calcularPorcentajesYAnalisisHorizontal)({
|
|
161
|
+
data: result,
|
|
162
|
+
cantidadGestiones: data.cantidadGestiones
|
|
163
|
+
});
|
|
159
164
|
result.DataOriginal = {
|
|
160
165
|
balance: balanceClone,
|
|
161
166
|
eerr: eerrClone
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.calcularPorcentajesYAnalisisHorizontal = void 0;
|
|
4
|
+
const balance_1 = require("../../../models/consolidado/balance");
|
|
5
|
+
const utils_1 = require("../admFinanciera/utils");
|
|
6
|
+
function calcularPorcentajesYAnalisisHorizontal({ data, cantidadGestiones }) {
|
|
7
|
+
const allData = [...data.balance, ...data.eerr];
|
|
8
|
+
allData.forEach((row) => {
|
|
9
|
+
for (let i = 1; i <= cantidadGestiones; i++) {
|
|
10
|
+
calcularAnalisisHorizontalGestion(row, i);
|
|
11
|
+
calcularPorcentajeGestion(allData, row, i);
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
exports.calcularPorcentajesYAnalisisHorizontal = calcularPorcentajesYAnalisisHorizontal;
|
|
16
|
+
function calcularAnalisisHorizontalGestion(row, gestion) {
|
|
17
|
+
if (gestion > 1) {
|
|
18
|
+
const montoTotalActual = (0, utils_1.ourParseFloat)(row[`MontoTotal_${gestion}`]);
|
|
19
|
+
const montoTotalAnterior = (0, utils_1.ourParseFloat)(row[`MontoTotal_${gestion - 1}`]);
|
|
20
|
+
let valor = 0;
|
|
21
|
+
if (montoTotalAnterior) {
|
|
22
|
+
valor = Math.round((montoTotalActual / montoTotalAnterior - 1) * 100);
|
|
23
|
+
}
|
|
24
|
+
row[`AnalisisHorizontal_${gestion}`] = {
|
|
25
|
+
valor,
|
|
26
|
+
tipo: 'EQUAL'
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
function calcularPorcentajeGestion(data, row, gestion) {
|
|
31
|
+
if (['H', 'HABM', 'C'].includes(row.Clasificador)) {
|
|
32
|
+
const rubroIdValorPadre = getRubroIdValorPadre(row.RubroPadreId, row.RubroId);
|
|
33
|
+
const valorPadre = (0, utils_1.ourParseFloat)(data.find((el) => el.RubroId === rubroIdValorPadre)?.[`MontoTotal_${gestion}`]);
|
|
34
|
+
if (valorPadre) {
|
|
35
|
+
row[`Porcentaje_${gestion}`] = Math.round(((0, utils_1.ourParseFloat)(row[`MontoTotal_${gestion}`]) / valorPadre) * 100);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
const RUBROS_VALOR_PADRE = {
|
|
40
|
+
//balance
|
|
41
|
+
[balance_1.EEFFConsolidadoRubroEnum.ActivoCorriente]: balance_1.EEFFConsolidadoRubroEnum.TotalActivo,
|
|
42
|
+
[balance_1.EEFFConsolidadoRubroEnum.ActivoNoCorriente]: balance_1.EEFFConsolidadoRubroEnum.TotalActivo,
|
|
43
|
+
[balance_1.EEFFConsolidadoRubroEnum.PasivoCorriente]: balance_1.EEFFConsolidadoRubroEnum.TotalPasivoPatrimonio,
|
|
44
|
+
[balance_1.EEFFConsolidadoRubroEnum.PasivoNoCorriente]: balance_1.EEFFConsolidadoRubroEnum.TotalPasivoPatrimonio,
|
|
45
|
+
[balance_1.EEFFConsolidadoRubroEnum.Patrimonio]: balance_1.EEFFConsolidadoRubroEnum.TotalPasivoPatrimonio,
|
|
46
|
+
[balance_1.EEFFConsolidadoRubroEnum.TotalActivo]: balance_1.EEFFConsolidadoRubroEnum.TotalActivo,
|
|
47
|
+
[balance_1.EEFFConsolidadoRubroEnum.TotalPasivo]: balance_1.EEFFConsolidadoRubroEnum.TotalPasivoPatrimonio,
|
|
48
|
+
[balance_1.EEFFConsolidadoRubroEnum.TotalPatrimonio]: balance_1.EEFFConsolidadoRubroEnum.TotalPasivoPatrimonio,
|
|
49
|
+
[balance_1.EEFFConsolidadoRubroEnum.TotalPasivoPatrimonio]: balance_1.EEFFConsolidadoRubroEnum.TotalPasivoPatrimonio,
|
|
50
|
+
//eerr
|
|
51
|
+
[balance_1.EEFFConsolidadoRubroEnum.TotalIngresos]: balance_1.EEFFConsolidadoRubroEnum.TotalIngresos,
|
|
52
|
+
[balance_1.EEFFConsolidadoRubroEnum.TotalCostos]: balance_1.EEFFConsolidadoRubroEnum.TotalIngresos,
|
|
53
|
+
[balance_1.EEFFConsolidadoRubroEnum.UtilidadBruta]: balance_1.EEFFConsolidadoRubroEnum.TotalIngresos,
|
|
54
|
+
[balance_1.EEFFConsolidadoRubroEnum.TotalGastosOperativos]: balance_1.EEFFConsolidadoRubroEnum.TotalIngresos,
|
|
55
|
+
[balance_1.EEFFConsolidadoRubroEnum.UtilidadOperacional]: balance_1.EEFFConsolidadoRubroEnum.TotalIngresos,
|
|
56
|
+
[balance_1.EEFFConsolidadoRubroEnum.TotalOtrosIngresosEgresos]: balance_1.EEFFConsolidadoRubroEnum.TotalIngresos,
|
|
57
|
+
[balance_1.EEFFConsolidadoRubroEnum.UtilidadAntesImpuestos]: balance_1.EEFFConsolidadoRubroEnum.TotalIngresos,
|
|
58
|
+
[balance_1.EEFFConsolidadoRubroEnum.UtilidadNetaEjercicio]: balance_1.EEFFConsolidadoRubroEnum.TotalIngresos
|
|
59
|
+
};
|
|
60
|
+
function getRubroIdValorPadre(rubroPadreId, rubroId) {
|
|
61
|
+
return RUBROS_VALOR_PADRE[rubroPadreId] ?? RUBROS_VALOR_PADRE[rubroId];
|
|
62
|
+
}
|