bdpformulas 1.0.55 → 1.0.57

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.
Files changed (26) hide show
  1. package/build/context.d.ts +1 -1
  2. package/build/index.d.ts +32 -20
  3. package/build/strategies/agriculture/balanceAgr.strategy.d.ts +2 -1
  4. package/build/strategies/agriculture/balanceAgr.strategy.js +153 -16
  5. package/build/strategies/agriculture/flujoProyAgr.strategy.d.ts +1 -1
  6. package/build/strategies/agriculture/flujoProyAgr.strategy.js +16 -7
  7. package/build/strategies/agriculture/ventas.detail/ventas.calc.js +8 -5
  8. package/build/strategies/balance.strategy.d.ts +1 -1
  9. package/build/strategies/balance.strategy.js +117 -24
  10. package/build/strategies/common/balance.calc.js +3 -4
  11. package/build/strategies/common/balanceCalculos/balanceAux.calc.js +2 -2
  12. package/build/strategies/common/balanceCalculos/flujoAux.calc.js +6 -5
  13. package/build/strategies/common/declaracionJurada.calc.js +26 -10
  14. package/build/strategies/common/flujoCalculos/flujoConstructor.d.ts +4 -0
  15. package/build/strategies/common/flujoCalculos/flujoConstructor.js +231 -96
  16. package/build/strategies/common/flujoCalculos/supuestos.calc.js +21 -27
  17. package/build/strategies/common/flujoProyectado.calc.js +4 -1
  18. package/build/strategies/flujoProyectado.strategy.d.ts +1 -1
  19. package/build/strategies/flujoProyectado.strategy.js +2 -1
  20. package/build/strategies/general/balanceGeneral.strategy.d.ts +1 -1
  21. package/build/strategies/general/balanceGeneral.strategy.js +19 -9
  22. package/build/strategies/index.d.ts +1 -0
  23. package/build/strategies/index.js +7446 -0
  24. package/build/strategies/utils.d.ts +8 -0
  25. package/build/strategies/utils.js +39 -0
  26. package/package.json +1 -1
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getSupuestos = exports.getSupuestosEmpty = void 0;
4
4
  const getSupuesto = (descripcion, descripcionCorta, valores) => {
5
- let obj = {};
5
+ const obj = {};
6
6
  obj.Descripcion = descripcion;
7
7
  obj.Corta = descripcionCorta;
8
8
  obj.TipoValorFlujo = 'OTROS';
@@ -12,7 +12,7 @@ const getSupuesto = (descripcion, descripcionCorta, valores) => {
12
12
  return obj;
13
13
  };
14
14
  const getValoresVacios = (rango) => {
15
- let array = [];
15
+ const array = [];
16
16
  for (let i = 1; i <= rango; i++) {
17
17
  array.push({
18
18
  Correlativo: i,
@@ -24,30 +24,30 @@ const getValoresVacios = (rango) => {
24
24
  };
25
25
  const getRango = (data) => {
26
26
  let rango = 0;
27
- if (!data.DatosEvaluacion || !data.DatosEvaluacion.Gestiones || data.DatosEvaluacion.Gestiones.length == 0)
27
+ if (!data.DatosEvaluacion ||
28
+ !data.DatosEvaluacion.Gestiones ||
29
+ data.DatosEvaluacion.Gestiones.length == 0)
28
30
  throw new Error('No se encontraron gestiones definidas en la evaluación');
29
31
  else
30
32
  rango = data.DatosEvaluacion.Gestiones.length;
31
33
  return rango;
32
34
  };
33
35
  const getSupuestosEmpty = (data) => {
34
- let array = [];
35
- let rango = getRango(data);
36
- array.push(getSupuesto("% DE COSTOS", "% Costo", getValoresVacios(rango)));
37
- array.push(getSupuesto("% GASTOS OPERATIVOS", "% G.O.", getValoresVacios(rango)));
36
+ const array = [];
37
+ const rango = getRango(data);
38
+ array.push(getSupuesto('% DE COSTOS', '% Costo', getValoresVacios(rango)));
39
+ array.push(getSupuesto('% GASTOS OPERATIVOS', '% G.O.', getValoresVacios(rango)));
38
40
  return array;
39
41
  };
40
42
  exports.getSupuestosEmpty = getSupuestosEmpty;
41
43
  const getSupuestos = (data) => {
42
- let rango = getRango(data);
44
+ const rango = getRango(data);
43
45
  if (!data.balance || !data.balance.eerr)
44
46
  return (0, exports.getSupuestosEmpty)(data);
45
47
  let CostoVentasValuePercent = data.balance.eerr.find((item) => item.RubroId === 'ACT_CN_41001');
46
48
  let GastosAdmValuePercent = data.balance.eerr.find((item) => item.RubroId === 'ACT_CN_43001');
47
- CostoVentasValuePercent =
48
- getSupuesto("% DE COSTOS", "% Costo", getValores(CostoVentasValuePercent, rango));
49
- GastosAdmValuePercent =
50
- getSupuesto("% GASTOS OPERATIVOS", "% G.O.", getValores(GastosAdmValuePercent, rango));
49
+ CostoVentasValuePercent = getSupuesto('% DE COSTOS', '% Costo', getValores(CostoVentasValuePercent, rango));
50
+ GastosAdmValuePercent = getSupuesto('% GASTOS OPERATIVOS', '% G.O.', getValores(GastosAdmValuePercent, rango));
51
51
  CostoVentasValuePercent = calcularValorOtros(CostoVentasValuePercent, data.FlujoProyectadoMensualMap, 'COSTOS');
52
52
  GastosAdmValuePercent = calcularValorOtros(GastosAdmValuePercent, data.FlujoProyectadoMensualMap, 'GASTOS');
53
53
  CostoVentasValuePercent = calcularValores(CostoVentasValuePercent, data.Parametros.PorcentajeCostos, rango);
@@ -61,46 +61,40 @@ const calcularValorOtros = (supuesto, data, tipo) => {
61
61
  rubroId = 'ACT_CNFL_50001_0';
62
62
  else if (tipo == 'GASTOS')
63
63
  rubroId = 'ACT_CNFL_60001_0';
64
- supuesto.OtrosValor =
65
- data.get(rubroId).MontoCajaPercent;
64
+ supuesto.OtrosValor = data.get(rubroId).MontoCajaPercent;
66
65
  return supuesto;
67
66
  };
68
67
  const calcularValores = (supuesto, tipoConfig, rango) => {
68
+ supuesto.TipoValorFlujo = tipoConfig;
69
69
  if (tipoConfig === 'PROMEDIO') {
70
- let suma = supuesto.Valores.reduce((acc, item) => {
70
+ const suma = supuesto.Valores.reduce((acc, item) => {
71
71
  acc += item.MontoPorcentual;
72
72
  return acc;
73
73
  }, 0);
74
- suma = Math.round(suma * 100) / 100;
75
- supuesto.ValorFlujo = suma;
76
- return supuesto;
74
+ supuesto.ValorFlujo = suma / supuesto.Valores.length;
77
75
  }
78
76
  else if (tipoConfig === 'PROMEDIO2') {
79
- let suma = supuesto.Valores.reduce((acc, item) => {
77
+ const suma = supuesto.Valores.reduce((acc, item) => {
80
78
  if (item.Correlativo == rango - 1 || item.Correlativo == rango)
81
79
  acc += item.MontoPorcentual;
82
80
  return acc;
83
81
  }, 0);
84
- suma = Math.round(suma * 100) / 100;
85
- supuesto.ValorFlujo = suma;
86
- return;
82
+ supuesto.ValorFlujo = suma / 2;
87
83
  }
88
84
  else if (tipoConfig === 'MENOR') {
89
- let menor = supuesto.Valores.reduce((acc, item) => {
85
+ const menor = supuesto.Valores.reduce((acc, item) => {
90
86
  if (acc > item.MontoPorcentual || acc == -1)
91
87
  acc = item.MontoPorcentual;
92
88
  return acc;
93
89
  }, -1);
94
- menor = Math.round(menor * 100) / 100;
95
90
  supuesto.ValorFlujo = menor;
96
91
  }
97
92
  else if (tipoConfig === 'ULTIMA_GES') {
98
- let ultimo = supuesto.Valores.reduce((acc, item) => {
93
+ const ultimo = supuesto.Valores.reduce((acc, item) => {
99
94
  if (item.Correlativo == rango)
100
95
  acc = item.MontoPorcentual;
101
96
  return acc;
102
97
  }, 0);
103
- ultimo = Math.round(ultimo * 100) / 100;
104
98
  supuesto.ValorFlujo = ultimo;
105
99
  }
106
100
  else if (tipoConfig === 'OTROS') {
@@ -111,7 +105,7 @@ const calcularValores = (supuesto, tipoConfig, rango) => {
111
105
  const getValores = (rowEERR, rango) => {
112
106
  if (!rowEERR)
113
107
  return getValoresVacios(rango);
114
- let array = [];
108
+ const array = [];
115
109
  for (let i = 1; i <= rango; i++) {
116
110
  array.push({
117
111
  Correlativo: i,
@@ -35,7 +35,10 @@ const getHistoricoFlujoCaja = (data) => {
35
35
  const datos = [];
36
36
  const totalIngresos = data.FlujoProyectadoMensualMap.get('ACT_CNFL_49000_0');
37
37
  for (let i = 1; i <= 12; i++) {
38
- datos.push({ Fecha: totalIngresos[`Fecha${i}`], Monto: totalIngresos[`Monto${i}`] });
38
+ datos.push({
39
+ Fecha: totalIngresos[`Fecha${i}`],
40
+ Monto: totalIngresos[`Monto${i}`]
41
+ });
39
42
  }
40
43
  return datos;
41
44
  };
@@ -1,4 +1,4 @@
1
- import { Strategy } from "../strategy.interface";
1
+ import { Strategy } from '../strategy.interface';
2
2
  export default class FlujoProyectado implements Strategy {
3
3
  execute(data: any): any;
4
4
  }
@@ -57,7 +57,8 @@ class FlujoProyectado {
57
57
  FlujoProyectadoMensual: cloneFlujoProyectadoMensual,
58
58
  FlujoProyectadoAnual: cloneFlujoProyectadoAnual
59
59
  };
60
- if (result.TipoConsolidado == 'EEFF' || result.TipoConsolidado == 'GENERAL')
60
+ if (result.TipoConsolidado == 'EEFF' ||
61
+ result.TipoConsolidado == 'GENERAL')
61
62
  delete result.FlujoProyectadoMensual;
62
63
  delete result.strategy;
63
64
  return result;
@@ -1,4 +1,4 @@
1
- import { Strategy } from "../../strategy.interface";
1
+ import { Strategy } from '../../strategy.interface';
2
2
  export default class BalanceGeneralStrategy implements Strategy {
3
3
  actividades: any;
4
4
  constructor();
@@ -6,10 +6,11 @@ class BalanceGeneralStrategy {
6
6
  this.actividades = {};
7
7
  }
8
8
  execute(data) {
9
- if (!this.actividades || !this.actividades.Consolidados ||
9
+ if (!this.actividades ||
10
+ !this.actividades.Consolidados ||
10
11
  this.actividades.Consolidados.length == 0)
11
12
  return data;
12
- for (let consolidado of this.actividades.Consolidados) {
13
+ for (const consolidado of this.actividades.Consolidados) {
13
14
  procesarConsolidado(consolidado.BalanceCalc.balance, data.balance, consolidado.Tipo);
14
15
  procesarConsolidado(consolidado.BalanceCalc.eerr, data.eerr, consolidado.Tipo);
15
16
  }
@@ -26,16 +27,23 @@ const procesarConsolidado = (consolidado, data, tipoConsolidado) => {
26
27
  for (const rubro of rubros) {
27
28
  for (let i = 1; i <= rango; i++) {
28
29
  const cuenta = data.find((item) => item.RubroId == rubro.RubroId);
29
- let copy = { ...cuenta };
30
- copy.RubroId = (rubro.Clasificador == 'HABM' ? `${rubro.RubroId}` : `${rubro.RubroId}.1`);
30
+ const copy = { ...cuenta };
31
+ copy.RubroId =
32
+ rubro.Clasificador == 'HABM'
33
+ ? `${rubro.RubroId}`
34
+ : `${rubro.RubroId}.1`;
31
35
  copy.Descripcion = `${cuenta.Descripcion} - Consolidado ${tipoConsolidado} `;
32
36
  copy.UUID = `${rubro.RubroId}_${tipoConsolidado}_${i}`;
33
37
  copy.MontoEmpresa = 0;
34
38
  copy.MontoFamiliar = 0;
35
39
  copy.Correlativo = i;
36
40
  copy.Clasificador = 'CT';
37
- copy.MontoEmpresa = Math.round(parseFloat(rubro[`MontoEmpresa_${i}`]) * 100) / 100;
38
- copy.MontoFamiliar = Math.round(parseFloat(rubro[`MontoFamiliar_${i}`]) * 100) / 100;
41
+ copy.MontoEmpresa =
42
+ Math.round(parseFloat(rubro[`MontoEmpresa_${i}`]) * 100) /
43
+ 100;
44
+ copy.MontoFamiliar =
45
+ Math.round(parseFloat(rubro[`MontoFamiliar_${i}`]) * 100) /
46
+ 100;
39
47
  data.push(copy);
40
48
  }
41
49
  }
@@ -50,11 +58,13 @@ const sumarizarCuenta = (consolidado, data, map) => {
50
58
  const sumarizarCuentas = (rubro, data, map) => {
51
59
  const rango = data[0].Rango;
52
60
  for (let i = 1; i <= rango; i++) {
53
- let cuentaOrigen = data.find((item) => item.RubroId == rubro && item.Correlativo == i);
61
+ const cuentaOrigen = data.find((item) => item.RubroId == rubro && item.Correlativo == i);
54
62
  const cuentaDestino = map.get(`${rubro}_${i}`);
55
63
  cuentaDestino.MontoEmpresa += cuentaOrigen.MontoEmpresa;
56
64
  cuentaDestino.MontoFamiliar += cuentaOrigen.MontoFamiliar;
57
- cuentaDestino.MontoEmpresa = Math.round(cuentaDestino.MontoEmpresa * 100) / 100;
58
- cuentaDestino.MontoFamiliar = Math.round(cuentaDestino.MontoFamiliar * 100) / 100;
65
+ cuentaDestino.MontoEmpresa =
66
+ Math.round(cuentaDestino.MontoEmpresa * 100) / 100;
67
+ cuentaDestino.MontoFamiliar =
68
+ Math.round(cuentaDestino.MontoFamiliar * 100) / 100;
59
69
  }
60
70
  };
@@ -0,0 +1 @@
1
+ export {};