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.
- package/build/context.d.ts +1 -1
- package/build/index.d.ts +32 -20
- package/build/strategies/agriculture/balanceAgr.strategy.d.ts +2 -1
- package/build/strategies/agriculture/balanceAgr.strategy.js +153 -16
- package/build/strategies/agriculture/flujoProyAgr.strategy.d.ts +1 -1
- package/build/strategies/agriculture/flujoProyAgr.strategy.js +16 -7
- package/build/strategies/agriculture/ventas.detail/ventas.calc.js +8 -5
- package/build/strategies/balance.strategy.d.ts +1 -1
- package/build/strategies/balance.strategy.js +117 -24
- package/build/strategies/common/balance.calc.js +3 -4
- package/build/strategies/common/balanceCalculos/balanceAux.calc.js +2 -2
- package/build/strategies/common/balanceCalculos/flujoAux.calc.js +6 -5
- package/build/strategies/common/declaracionJurada.calc.js +26 -10
- package/build/strategies/common/flujoCalculos/flujoConstructor.d.ts +4 -0
- package/build/strategies/common/flujoCalculos/flujoConstructor.js +231 -96
- package/build/strategies/common/flujoCalculos/supuestos.calc.js +21 -27
- package/build/strategies/common/flujoProyectado.calc.js +4 -1
- package/build/strategies/flujoProyectado.strategy.d.ts +1 -1
- package/build/strategies/flujoProyectado.strategy.js +2 -1
- package/build/strategies/general/balanceGeneral.strategy.d.ts +1 -1
- package/build/strategies/general/balanceGeneral.strategy.js +19 -9
- package/build/strategies/index.d.ts +1 -0
- package/build/strategies/index.js +7446 -0
- package/build/strategies/utils.d.ts +8 -0
- package/build/strategies/utils.js +39 -0
- 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
|
-
|
|
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
|
-
|
|
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 ||
|
|
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
|
-
|
|
35
|
-
|
|
36
|
-
array.push(getSupuesto(
|
|
37
|
-
array.push(getSupuesto(
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
70
|
+
const suma = supuesto.Valores.reduce((acc, item) => {
|
|
71
71
|
acc += item.MontoPorcentual;
|
|
72
72
|
return acc;
|
|
73
73
|
}, 0);
|
|
74
|
-
|
|
75
|
-
supuesto.ValorFlujo = suma;
|
|
76
|
-
return supuesto;
|
|
74
|
+
supuesto.ValorFlujo = suma / supuesto.Valores.length;
|
|
77
75
|
}
|
|
78
76
|
else if (tipoConfig === 'PROMEDIO2') {
|
|
79
|
-
|
|
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
|
-
|
|
85
|
-
supuesto.ValorFlujo = suma;
|
|
86
|
-
return;
|
|
82
|
+
supuesto.ValorFlujo = suma / 2;
|
|
87
83
|
}
|
|
88
84
|
else if (tipoConfig === 'MENOR') {
|
|
89
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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({
|
|
38
|
+
datos.push({
|
|
39
|
+
Fecha: totalIngresos[`Fecha${i}`],
|
|
40
|
+
Monto: totalIngresos[`Monto${i}`]
|
|
41
|
+
});
|
|
39
42
|
}
|
|
40
43
|
return datos;
|
|
41
44
|
};
|
|
@@ -57,7 +57,8 @@ class FlujoProyectado {
|
|
|
57
57
|
FlujoProyectadoMensual: cloneFlujoProyectadoMensual,
|
|
58
58
|
FlujoProyectadoAnual: cloneFlujoProyectadoAnual
|
|
59
59
|
};
|
|
60
|
-
if (result.TipoConsolidado == 'EEFF' ||
|
|
60
|
+
if (result.TipoConsolidado == 'EEFF' ||
|
|
61
|
+
result.TipoConsolidado == 'GENERAL')
|
|
61
62
|
delete result.FlujoProyectadoMensual;
|
|
62
63
|
delete result.strategy;
|
|
63
64
|
return result;
|
|
@@ -6,10 +6,11 @@ class BalanceGeneralStrategy {
|
|
|
6
6
|
this.actividades = {};
|
|
7
7
|
}
|
|
8
8
|
execute(data) {
|
|
9
|
-
if (!this.actividades ||
|
|
9
|
+
if (!this.actividades ||
|
|
10
|
+
!this.actividades.Consolidados ||
|
|
10
11
|
this.actividades.Consolidados.length == 0)
|
|
11
12
|
return data;
|
|
12
|
-
for (
|
|
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
|
-
|
|
30
|
-
copy.RubroId =
|
|
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 =
|
|
38
|
-
|
|
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
|
-
|
|
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 =
|
|
58
|
-
|
|
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 {};
|