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.
@@ -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,6 @@
1
+ interface Params {
2
+ data: any;
3
+ cantidadGestiones: number;
4
+ }
5
+ export declare function calcularPorcentajesYAnalisisHorizontal({ data, cantidadGestiones }: Params): void;
6
+ export {};
@@ -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
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bdpformulas",
3
- "version": "1.0.72",
3
+ "version": "1.0.73",
4
4
  "description": "",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",