bdpformulas 1.0.37 → 1.0.38

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/index.d.ts CHANGED
@@ -10,6 +10,7 @@ import BalanceAgrStrategy from "./strategies/agriculture/balanceAgr.strategy";
10
10
  import FlujoProyectadoAgrStrategy from "./strategies/agriculture/flujoProyAgr.strategy";
11
11
  import Balance from "./strategies/balance.strategy";
12
12
  import FlujoProyectado from "./strategies/flujoProyectado.strategy";
13
+ import AnalisisFinancieros from "./strategies/analisisFinancieros.strategy";
13
14
  declare const Pecuario: {
14
15
  Auxiliar: typeof Auxiliar;
15
16
  Desarrollo: typeof Desarrollo;
@@ -28,5 +29,6 @@ declare const Agricola: {
28
29
  declare const Actividades: {
29
30
  Balance: typeof Balance;
30
31
  FlujoProyectado: typeof FlujoProyectado;
32
+ AnalisisFinancieros: typeof AnalisisFinancieros;
31
33
  };
32
34
  export { Context, Agricola, Pecuario, Produccion, Actividades };
package/build/index.js CHANGED
@@ -17,6 +17,7 @@ const balanceAgr_strategy_1 = __importDefault(require("./strategies/agriculture/
17
17
  const flujoProyAgr_strategy_1 = __importDefault(require("./strategies/agriculture/flujoProyAgr.strategy"));
18
18
  const balance_strategy_1 = __importDefault(require("./strategies/balance.strategy"));
19
19
  const flujoProyectado_strategy_1 = __importDefault(require("./strategies/flujoProyectado.strategy"));
20
+ const analisisFinancieros_strategy_1 = __importDefault(require("./strategies/analisisFinancieros.strategy"));
20
21
  const Pecuario = {
21
22
  Auxiliar: anexo_strategy_1.default,
22
23
  Desarrollo: desarrollo_strategy_1.default,
@@ -37,6 +38,7 @@ const Agricola = {
37
38
  exports.Agricola = Agricola;
38
39
  const Actividades = {
39
40
  Balance: balance_strategy_1.default,
40
- FlujoProyectado: flujoProyectado_strategy_1.default
41
+ FlujoProyectado: flujoProyectado_strategy_1.default,
42
+ AnalisisFinancieros: analisisFinancieros_strategy_1.default
41
43
  };
42
44
  exports.Actividades = Actividades;
@@ -0,0 +1,6 @@
1
+ import { Strategy } from "../strategy.interface";
2
+ export default class AnalisisFinancieros implements Strategy {
3
+ execute(data: any): any;
4
+ generarMapBalance: (data: any) => any;
5
+ generarMapEERR: (data: any) => any;
6
+ }
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const analisisGrafico_calc_1 = __importDefault(require("./common/analisisFinCalculos/analisisGrafico.calc"));
7
+ const ratios_calc_1 = __importDefault(require("./common/analisisFinCalculos/ratios.calc"));
8
+ const apalancamiento_calc_1 = require("./common/analisisFinCalculos/apalancamiento.calc");
9
+ const analisisDupont_calc_1 = require("./common/analisisFinCalculos/analisisDupont.calc");
10
+ class AnalisisFinancieros {
11
+ constructor() {
12
+ this.generarMapBalance = (data) => {
13
+ return data.balance.reduce((acc, item) => {
14
+ let uuid = item.UUID ? item.UUID : '0';
15
+ let key = `${item.RubroId}_${item.Clasificador == 'HABM' || item.Clasificador == 'CT' ? uuid : '0'}`;
16
+ if (acc.has(key))
17
+ throw new Error(`Duplicado en balanceMap: ${key}`);
18
+ acc.set(key, item);
19
+ return acc;
20
+ }, new Map());
21
+ };
22
+ this.generarMapEERR = (data) => {
23
+ return data.eerr.reduce((acc, item) => {
24
+ let uuid = item.UUID ? item.UUID : '0';
25
+ let key = `${item.RubroId}_${item.Clasificador == 'HABM' || item.Clasificador == 'CT' ? uuid : '0'}`;
26
+ if (acc.has(key))
27
+ throw new Error(`Duplicado en balanceMap: ${key}`);
28
+ acc.set(key, item);
29
+ return acc;
30
+ }, new Map());
31
+ };
32
+ }
33
+ execute(data) {
34
+ let analisisGrafico = new analisisGrafico_calc_1.default(data);
35
+ let ratios = new ratios_calc_1.default(data);
36
+ data.balanceMap = this.generarMapBalance(data);
37
+ data.eerrMap = this.generarMapEERR(data);
38
+ ratios.generarRatios();
39
+ analisisGrafico.generarGraficos();
40
+ (0, apalancamiento_calc_1.setApalancamiento)(data);
41
+ (0, analisisDupont_calc_1.setAnalisisDupont)(data);
42
+ delete data.balanceMap;
43
+ return data;
44
+ }
45
+ }
46
+ exports.default = AnalisisFinancieros;
@@ -0,0 +1 @@
1
+ export declare const setAnalisisDupont: (data: any) => void;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.setAnalisisDupont = void 0;
4
+ const setAnalisisDupont = (data) => {
5
+ const rango = data.balanceMap.get('ACT_CN_10000_0').Rango;
6
+ const totalIngresos = data.eerrMap.get('ACT_CN_40003_0');
7
+ const totalActivos = data.balanceMap.get('ACT_CN_10000_0');
8
+ const totalPatrimonio = data.balanceMap.get('ACT_CN_30000_0');
9
+ const utilidadNeta = data.eerrMap.get('ACT_CN_47000_0');
10
+ let margenNeto = { RubroId: '001', Descripcion: 'MARGEN NET0 (Utilidad Neta / Total Ingresos)' };
11
+ let rotacion = { RubroId: '002', Descripcion: 'ROTACIÓN (Total Ingresos / Total Activos)' };
12
+ let apalancamiento = { RubroId: '003', Descripcion: 'APALANCAMIENTO (Total Activos / Total Patrimonio)' };
13
+ let roe = { RubroId: '004', Descripcion: 'ROE' };
14
+ for (let i = 1; i <= rango; i++) {
15
+ margenNeto[`Monto${i}`] = totalIngresos[`MontoEmpresa_${i}`] == 0 ? 0 :
16
+ parseFloat(utilidadNeta[`MontoEmpresa_${i}`]) / parseFloat(totalIngresos[`MontoEmpresa_${i}`]);
17
+ rotacion[`Monto${i}`] = totalActivos[`MontoEmpresa_${i}`] == 0 ? 0 :
18
+ parseFloat(totalIngresos[`MontoEmpresa_${i}`]) / parseFloat(totalActivos[`MontoEmpresa_${i}`]);
19
+ apalancamiento[`Monto${i}`] = totalPatrimonio[`MontoEmpresa_${i}`] == 0 ? 0 :
20
+ parseFloat(totalActivos[`MontoEmpresa_${i}`]) / parseFloat(totalPatrimonio[`MontoEmpresa_${i}`]);
21
+ roe[`Monto${i}`] = margenNeto[`Monto${i}`] * rotacion[`Monto${i}`] * apalancamiento[`Monto${i}`];
22
+ margenNeto[`Monto${i}`] = Math.round(margenNeto[`Monto${i}`] * 100) / 100;
23
+ rotacion[`Monto${i}`] = Math.round(rotacion[`Monto${i}`] * 100) / 100;
24
+ apalancamiento[`Monto${i}`] = Math.round(apalancamiento[`Monto${i}`] * 100) / 100;
25
+ roe[`Monto${i}`] = Math.round(roe[`Monto${i}`] * 100) / 100;
26
+ }
27
+ data.AnalisisDupont = [margenNeto, rotacion, apalancamiento, roe];
28
+ };
29
+ exports.setAnalisisDupont = setAnalisisDupont;
@@ -0,0 +1,11 @@
1
+ export default class AnalisisGrafico {
2
+ private data;
3
+ constructor(data: any);
4
+ generarGraficos(): void;
5
+ balanceGeneral: () => void;
6
+ evolucionActivos: () => void;
7
+ comportamientoPasivos: () => void;
8
+ comportamientoPatrimonio: () => void;
9
+ evolucionEstadoResultados: () => void;
10
+ margenesEstadoResultados: () => void;
11
+ }
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ class AnalisisGrafico {
4
+ constructor(data) {
5
+ this.balanceGeneral = () => {
6
+ let array = [];
7
+ array.push(this.data.balanceMap.get('ACT_CN_11900_0'));
8
+ array.push(this.data.balanceMap.get('ACT_CN_12900_0'));
9
+ array.push(this.data.balanceMap.get('ACT_CN_21900_0'));
10
+ array.push(this.data.balanceMap.get('ACT_CN_22900_0'));
11
+ array.push(this.data.balanceMap.get('ACT_CN_39000_0'));
12
+ this.data.estructuraGeneral = array;
13
+ };
14
+ this.evolucionActivos = () => {
15
+ let array = [];
16
+ array.push(this.data.balanceMap.get('ACT_CN_11900_0'));
17
+ array.push(this.data.balanceMap.get('ACT_CN_12900_0'));
18
+ this.data.evolucionActivos = array;
19
+ };
20
+ this.comportamientoPasivos = () => {
21
+ let array = [];
22
+ array.push(this.data.balanceMap.get('ACT_CN_21900_0'));
23
+ array.push(this.data.balanceMap.get('ACT_CN_22900_0'));
24
+ this.data.comportamientoPasivos = array;
25
+ };
26
+ this.comportamientoPatrimonio = () => {
27
+ let array = [];
28
+ array.push(this.data.balanceMap.get('ACT_CN_39000_0'));
29
+ this.data.comportamientoPatrimonio = array;
30
+ };
31
+ this.evolucionEstadoResultados = () => {
32
+ let array = [];
33
+ array.push(this.data.eerrMap.get('ACT_CN_40003_0'));
34
+ array.push(this.data.eerrMap.get('ACT_CN_41004_0'));
35
+ array.push(this.data.eerrMap.get('ACT_CN_43900_0'));
36
+ this.data.evolucionEstadoResultados = array;
37
+ };
38
+ this.margenesEstadoResultados = () => {
39
+ let array = [];
40
+ const ratio3 = this.data.Ratios.rentabilidad.find((item) => item.id === 'Ratio3');
41
+ const ratio4 = this.data.Ratios.rentabilidad.find((item) => item.id === 'Ratio4');
42
+ const ratio5 = this.data.Ratios.rentabilidad.find((item) => item.id === 'Ratio5');
43
+ array.push(ratio3);
44
+ array.push(ratio4);
45
+ array.push(ratio5);
46
+ this.data.evolucionEstadoResultados = array;
47
+ };
48
+ this.data = data;
49
+ }
50
+ generarGraficos() {
51
+ this.balanceGeneral();
52
+ this.evolucionActivos();
53
+ this.comportamientoPasivos();
54
+ this.comportamientoPatrimonio();
55
+ this.evolucionEstadoResultados();
56
+ this.margenesEstadoResultados();
57
+ }
58
+ }
59
+ exports.default = AnalisisGrafico;
@@ -0,0 +1 @@
1
+ export declare const setApalancamiento: (data: any) => void;
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.setApalancamiento = void 0;
4
+ const setApalancamiento = (data) => {
5
+ let sumaMontos = 0;
6
+ if (data.solicitudCreditos && data.solicitudCreditos.length > 0) {
7
+ sumaMontos = data.solicitudCreditos.reduce((acc, item) => {
8
+ if (item.Monto) {
9
+ acc += parseFloat(item.Monto);
10
+ }
11
+ return acc;
12
+ }, 0);
13
+ sumaMontos = Math.round(sumaMontos * 100) / 100;
14
+ }
15
+ const rango = data.balanceMap.get('ACT_CN_10000_0').Rango;
16
+ const totalPatrimonio = data.balanceMap.get('ACT_CN_10000_0');
17
+ const obligacionesFinancieras = data.balanceMap.get('ACT_CN_10000_0');
18
+ const obligacionesFinancierasLP = data.balanceMap.get('ACT_CN_10000_0');
19
+ const totalPasivo = data.balanceMap.get('ACT_CN_10000_0');
20
+ data.Apalancamiento = {};
21
+ data.Apalancamiento.RelacionPatrimonio = {};
22
+ data.Apalancamiento.RelacionPatrimonio.Negocio = (totalPatrimonio[`MontoEmpresa_${rango}`] == 0) ? 0 :
23
+ sumaMontos / totalPatrimonio[`MontoEmpresa_${rango}`];
24
+ data.Apalancamiento.RelacionPatrimonio.FamiEmpresa = (totalPatrimonio[`MontoTotal_${rango}`] == 0) ? 0 :
25
+ sumaMontos / totalPatrimonio[`MontoTotal_${rango}`];
26
+ data.Apalancamiento.PrimerPiso = {};
27
+ data.Apalancamiento.PrimerPiso.Negocio = (totalPatrimonio[`MontoEmpresa_${rango}`] == 0) ? 0 :
28
+ (obligacionesFinancieras[`MontoEmpresa_${rango}`] +
29
+ obligacionesFinancierasLP[`MontoEmpresa_${rango}`] +
30
+ sumaMontos) / totalPatrimonio[`MontoEmpresa_${rango}`];
31
+ data.Apalancamiento.PrimerPiso.FamiEmpresa = (totalPatrimonio[`MontoTotal_${rango}`] == 0) ? 0 :
32
+ (obligacionesFinancieras[`MontoTotal_${rango}`] +
33
+ obligacionesFinancierasLP[`MontoTotal_${rango}`] +
34
+ sumaMontos) / totalPatrimonio[`MontoTotal_${rango}`];
35
+ data.Apalancamiento.Firedin = {};
36
+ data.Apalancamiento.Firedin.Negocio = (totalPatrimonio[`MontoEmpresa_${rango}`] == 0) ? 0 :
37
+ (totalPasivo[`MontoEmpresa_${rango}`] + sumaMontos) / totalPatrimonio[`MontoEmpresa_${rango}`];
38
+ data.Apalancamiento.Firedin.FamiEmpresa = (totalPatrimonio[`MontoTotal_${rango}`] == 0) ? 0 :
39
+ (totalPasivo[`MontoTotal_${rango}`] + sumaMontos) / totalPatrimonio[`MontoTotal_${rango}`];
40
+ };
41
+ exports.setApalancamiento = setApalancamiento;
@@ -0,0 +1,9 @@
1
+ export default class Ratios {
2
+ private data;
3
+ constructor(data: any);
4
+ generarRatios(): void;
5
+ gestionActividad: () => void;
6
+ liquidez: () => void;
7
+ endeudamiento: () => void;
8
+ rentabilidad: () => void;
9
+ }
@@ -0,0 +1,172 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ class Ratios {
4
+ constructor(data) {
5
+ this.gestionActividad = () => {
6
+ const rango = this.data.balanceMap.get('ACT_CN_10000_0').Rango;
7
+ let ratio1 = {
8
+ id: 'Ratio1',
9
+ descripcion: 'PERÍODO PROMEDIO DE COBRANZA (Cuentas por Cobrar/Total Ingresos)*360',
10
+ };
11
+ let ratio2 = {
12
+ id: 'Ratio2',
13
+ descripcion: 'PERÍODO PROMEDIO DE PAGOS (Cuentas por Pagar / Total Costos)*360',
14
+ };
15
+ let ratio3 = {
16
+ id: 'Ratio3',
17
+ descripcion: 'ROTACIÓN DE INVENTARIOS (Inventarios/Total Costos)*360',
18
+ };
19
+ let ratio4 = {
20
+ id: 'Ratio4',
21
+ descripcion: 'ROTACIÓN DEL ACTIVO TOTAL (Total Ingresos / Total Activo)',
22
+ };
23
+ const cuentasXCobrar = this.data.balanceMap.get('ACT_CN_11002_0');
24
+ const cuentasXPagar = this.data.balanceMap.get('ACT_CN_21002_0');
25
+ const totalIngresos = this.data.eerrMap.get('ACT_CN_40003_0');
26
+ const totalCostos = this.data.eerrMap.get('ACT_CN_41004_0');
27
+ const totalInventario = this.data.balanceMap.get('ACT_CN_11003_0');
28
+ const totalActivos = this.data.balanceMap.get('ACT_CN_10000_0');
29
+ for (let i = 1; i <= rango; i++) {
30
+ ratio1[`Monto${i}`] = totalIngresos[`MontoEmpresa_${i}`] == 0 ? 0 :
31
+ parseFloat(cuentasXCobrar[`MontoEmpresa_${i}`]) / parseFloat(totalIngresos[`MontoEmpresa_${i}`]) * 360;
32
+ ratio2[`Monto${i}`] = totalCostos[`MontoEmpresa_${i}`] == 0 ? 0 :
33
+ parseFloat(cuentasXPagar[`MontoEmpresa_${i}`]) / parseFloat(totalCostos[`MontoEmpresa_${i}`]) * 360;
34
+ ratio3[`Monto${i}`] = totalCostos[`MontoEmpresa_${i}`] == 0 ? 0 :
35
+ parseFloat(totalInventario[`MontoEmpresa_${i}`]) / parseFloat(totalCostos[`MontoEmpresa_${i}`]) * 360;
36
+ ratio4[`Monto${i}`] = totalActivos[`MontoEmpresa_${i}`] == 0 ? 0 :
37
+ parseFloat(totalIngresos[`MontoEmpresa_${i}`]) / parseFloat(totalActivos[`MontoEmpresa_${i}`]) * 360;
38
+ ratio1[`Monto${i}`] = Math.round(ratio1[`Monto${i}`] * 100) / 100;
39
+ ratio2[`Monto${i}`] = Math.round(ratio2[`Monto${i}`] * 100) / 100;
40
+ ratio3[`Monto${i}`] = Math.round(ratio3[`Monto${i}`] * 100) / 100;
41
+ ratio4[`Monto${i}`] = Math.round(ratio4[`Monto${i}`] * 100) / 100;
42
+ }
43
+ let array = [];
44
+ array.push(ratio1);
45
+ array.push(ratio2);
46
+ array.push(ratio3);
47
+ array.push(ratio4);
48
+ this.data.Ratios.gestionActividad = array;
49
+ };
50
+ this.liquidez = () => {
51
+ const rango = this.data.balanceMap.get('ACT_CN_10000_0').Rango;
52
+ let ratio1 = {
53
+ id: 'Ratio1',
54
+ descripcion: 'CAPITAL DE TRABAJO (Total Activo Corriente - Total Pasivo Corriente )',
55
+ };
56
+ let ratio2 = {
57
+ id: 'Ratio2',
58
+ descripcion: 'LIQUIDEZ (Total Activo Corriente / Total Pasivo Corriente)',
59
+ };
60
+ let ratio3 = {
61
+ id: 'Ratio3',
62
+ descripcion: 'PRUEBA ÁCIDA (Total Activo Corriente - Inventarios) / Total Pasivo Corriente',
63
+ };
64
+ const totalActivoCorriente = this.data.balanceMap.get('ACT_CN_11900_0');
65
+ const totalPasivoCorriente = this.data.balanceMap.get('ACT_CN_21000_0');
66
+ const inventarios = this.data.balanceMap.get('ACT_CN_11003_0');
67
+ for (let i = 1; i <= rango; i++) {
68
+ ratio1[`Monto${i}`] = totalActivoCorriente[`MontoEmpresa_${i}`] - totalPasivoCorriente[`MontoEmpresa_${i}`];
69
+ ratio2[`Monto${i}`] = (totalPasivoCorriente[`MontoEmpresa_${i}`] == 0) ? 0 :
70
+ totalActivoCorriente[`MontoEmpresa_${i}`] / totalPasivoCorriente[`MontoEmpresa_${i}`];
71
+ ratio3[`Monto${i}`] = (totalPasivoCorriente[`MontoEmpresa_${i}`] == 0) ? 0 :
72
+ (totalActivoCorriente[`MontoEmpresa_${i}`] - inventarios[`MontoEmpresa_${i}`]) / totalPasivoCorriente[`MontoEmpresa_${i}`];
73
+ ratio1[`Monto${i}`] = Math.round(ratio1[`Monto${i}`] * 100) / 100;
74
+ ratio2[`Monto${i}`] = Math.round(ratio2[`Monto${i}`] * 100) / 100;
75
+ ratio3[`Monto${i}`] = Math.round(ratio3[`Monto${i}`] * 100) / 100;
76
+ }
77
+ let array = [];
78
+ array.push(ratio1);
79
+ array.push(ratio2);
80
+ array.push(ratio3);
81
+ this.data.Ratios.liquidez = array;
82
+ };
83
+ this.endeudamiento = () => {
84
+ const rango = this.data.balanceMap.get('ACT_CN_10000_0').Rango;
85
+ let ratio1 = {
86
+ id: 'Ratio1',
87
+ descripcion: 'ENDEUDAMIENTO PATRIMONIAL (Total Pasivo/ Total Patrimonio) ',
88
+ };
89
+ let ratio2 = {
90
+ id: 'Ratio2',
91
+ descripcion: 'CONCENTRACIÓN DE DEUDA EN EL CORTO PLAZO (Total Pasivo Corriente / Total Pasivo)',
92
+ };
93
+ const totalPasivo = this.data.balanceMap.get('ACT_CN_29000_0');
94
+ const totalPatrimonio = this.data.balanceMap.get('ACT_CN_30000_0');
95
+ const totalPasivoCorriente = this.data.balanceMap.get('ACT_CN_21900_0');
96
+ for (let i = 1; i <= rango; i++) {
97
+ ratio1[`Monto${i}`] = (totalPatrimonio[`MontoEmpresa_${i}`] == 0) ? 0 :
98
+ totalPasivo[`MontoEmpresa_${i}`] / totalPatrimonio[`MontoEmpresa_${i}`];
99
+ ratio2[`Monto${i}`] = (totalPasivo[`MontoEmpresa_${i}`] == 0) ? 0 :
100
+ totalPasivoCorriente[`MontoEmpresa_${i}`] / totalPasivo[`MontoEmpresa_${i}`];
101
+ ratio1[`Monto${i}`] = Math.round(ratio1[`Monto${i}`] * 100) / 100;
102
+ ratio2[`Monto${i}`] = Math.round(ratio2[`Monto${i}`] * 100) / 100;
103
+ }
104
+ let array = [];
105
+ array.push(ratio1);
106
+ array.push(ratio2);
107
+ this.data.Ratios.endeudamiento = array;
108
+ };
109
+ this.rentabilidad = () => {
110
+ const rango = this.data.balanceMap.get('ACT_CN_10000_0').Rango;
111
+ let ratio1 = {
112
+ id: 'Ratio1',
113
+ descripcion: 'ROA (Utilidad Neta del Ejercicio / Total Activo)',
114
+ };
115
+ let ratio2 = {
116
+ id: 'Ratio2',
117
+ descripcion: 'ROE (Utilidad Neta del Ejercicio / Total Patrimonio)',
118
+ };
119
+ let ratio3 = {
120
+ id: 'Ratio3',
121
+ descripcion: 'MARGEN BRUTO (Utilidad Bruta / Total Ingresos)',
122
+ };
123
+ let ratio4 = {
124
+ id: 'Ratio4',
125
+ descripcion: 'MARGEN OPERACIONAL (Utilidad Operacional / Total Ingresos)',
126
+ };
127
+ let ratio5 = {
128
+ id: 'Ratio5',
129
+ descripcion: 'MARGEN NETO (Utilidad Neta / Total Ingresos)',
130
+ };
131
+ const utilidadNeta = this.data.eerrMap.get('ACT_CN_47000_0');
132
+ const totalActivo = this.data.balanceMap.get('ACT_CN_10000_0');
133
+ const totalPatrimonio = this.data.balanceMap.get('ACT_CN_30000_0');
134
+ const utilidadBruta = this.data.eerrMap.get('ACT_CN_42000_0');
135
+ const totalIngresos = this.data.eerrMap.get('ACT_CN_40003_0');
136
+ const utilidadOperacional = this.data.eerrMap.get('ACT_CN_44000_0');
137
+ for (let i = 1; i <= rango; i++) {
138
+ ratio1[`Monto${i}`] = totalActivo[`MontoEmpresa_${i}`] == 0 ? 0 :
139
+ parseFloat(utilidadNeta[`MontoEmpresa_${i}`]) / parseFloat(totalActivo[`MontoEmpresa_${i}`]);
140
+ ratio2[`Monto${i}`] = totalPatrimonio[`MontoEmpresa_${i}`] == 0 ? 0 :
141
+ parseFloat(utilidadNeta[`MontoEmpresa_${i}`]) / parseFloat(totalPatrimonio[`MontoEmpresa_${i}`]);
142
+ ratio3[`Monto${i}`] = totalIngresos[`MontoEmpresa_${i}`] == 0 ? 0 :
143
+ parseFloat(utilidadBruta[`MontoEmpresa_${i}`]) / parseFloat(totalIngresos[`MontoEmpresa_${i}`]);
144
+ ratio4[`Monto${i}`] = totalIngresos[`MontoEmpresa_${i}`] == 0 ? 0 :
145
+ parseFloat(utilidadOperacional[`MontoEmpresa_${i}`]) / parseFloat(totalIngresos[`MontoEmpresa_${i}`]);
146
+ ratio5[`Monto${i}`] = totalIngresos[`MontoTotal_${i}`] == 0 ? 0 :
147
+ parseFloat(utilidadNeta[`MontoTotal_${i}`]) / parseFloat(totalIngresos[`MontoTotal_${i}`]);
148
+ ratio1[`Monto${i}`] = Math.round(ratio1[`Monto${i}`] * 100) / 100;
149
+ ratio2[`Monto${i}`] = Math.round(ratio2[`Monto${i}`] * 100) / 100;
150
+ ratio3[`Monto${i}`] = Math.round(ratio3[`Monto${i}`] * 100) / 100;
151
+ ratio4[`Monto${i}`] = Math.round(ratio4[`Monto${i}`] * 100) / 100;
152
+ ratio5[`Monto${i}`] = Math.round(ratio5[`Monto${i}`] * 100) / 100;
153
+ }
154
+ let array = [];
155
+ array.push(ratio1);
156
+ array.push(ratio2);
157
+ array.push(ratio3);
158
+ array.push(ratio4);
159
+ array.push(ratio5);
160
+ this.data.Ratios.rentabilidad = array;
161
+ };
162
+ this.data = data;
163
+ }
164
+ generarRatios() {
165
+ this.data.Ratios = {};
166
+ this.gestionActividad();
167
+ this.liquidez();
168
+ this.endeudamiento();
169
+ this.rentabilidad();
170
+ }
171
+ }
172
+ exports.default = Ratios;
@@ -46,7 +46,7 @@ class FlujoProyectado {
46
46
  flujoProyectadoCalc.calcularFlujoMensual(data);
47
47
  result.Supuestos = supuestosCalc.getSupuestos(data);
48
48
  flujoProyectadoCalc.calcularFlujoAnual(data);
49
- //result.HistoricoGrafico = getHistoricoFlujoCaja(data)
49
+ result.HistoricoGrafico = (0, flujoProyectado_calc_1.getHistoricoFlujoCaja)(data);
50
50
  //
51
51
  //result.FlujoEfectivo = getFlujoEfectivo(data)
52
52
  //result.FlujoEfectivoVars = getFlujoEfectivoExtra(data)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bdpformulas",
3
- "version": "1.0.37",
3
+ "version": "1.0.38",
4
4
  "description": "",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",