bdpformulas 1.0.64 → 1.0.67
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 +4 -0
- package/build/index.js +5 -1
- package/build/strategies/eeff/deudas.strategy.d.ts +10 -0
- package/build/strategies/eeff/deudas.strategy.js +75 -0
- package/build/strategies/eeff/supuestos.strategy.d.ts +9 -0
- package/build/strategies/eeff/supuestos.strategy.js +55 -0
- package/package.json +1 -1
package/build/index.d.ts
CHANGED
|
@@ -20,6 +20,8 @@ import AnalisisFinancieros from './strategies/analisisFinancieros.strategy';
|
|
|
20
20
|
import BalanceGeneralStrategy from './strategies/general/balanceGeneral.strategy';
|
|
21
21
|
import FlujoProyectadoGeneralStrategy from './strategies/general/flujoProyGeneral.strategy';
|
|
22
22
|
import AdmFinancieraStrategy from './strategies/eeff/admFinanciera.strategy';
|
|
23
|
+
import SupuestosStrategy from './strategies/eeff/supuestos.strategy';
|
|
24
|
+
import DeudasStrategy from './strategies/eeff/deudas.strategy';
|
|
23
25
|
declare const Pecuario: {
|
|
24
26
|
Auxiliar: typeof Auxiliar;
|
|
25
27
|
Desarrollo: typeof Desarrollo;
|
|
@@ -43,6 +45,8 @@ declare const EEFF: {
|
|
|
43
45
|
BalanceEEFFStrategy: typeof BalanceEEFFStrategy;
|
|
44
46
|
FlujoProyectadoEEFFStrategy: typeof FlujoProyectadoEEFFStrategy;
|
|
45
47
|
AdmFinancieraStrategy: typeof AdmFinancieraStrategy;
|
|
48
|
+
SupuestosStrategy: typeof SupuestosStrategy;
|
|
49
|
+
DeudasStrategy: typeof DeudasStrategy;
|
|
46
50
|
};
|
|
47
51
|
declare const General: {
|
|
48
52
|
BalanceGeneralStrategy: typeof BalanceGeneralStrategy;
|
package/build/index.js
CHANGED
|
@@ -27,6 +27,8 @@ const analisisFinancieros_strategy_1 = __importDefault(require("./strategies/ana
|
|
|
27
27
|
const balanceGeneral_strategy_1 = __importDefault(require("./strategies/general/balanceGeneral.strategy"));
|
|
28
28
|
const flujoProyGeneral_strategy_1 = __importDefault(require("./strategies/general/flujoProyGeneral.strategy"));
|
|
29
29
|
const admFinanciera_strategy_1 = __importDefault(require("./strategies/eeff/admFinanciera.strategy"));
|
|
30
|
+
const supuestos_strategy_1 = __importDefault(require("./strategies/eeff/supuestos.strategy"));
|
|
31
|
+
const deudas_strategy_1 = __importDefault(require("./strategies/eeff/deudas.strategy"));
|
|
30
32
|
const Pecuario = {
|
|
31
33
|
Auxiliar: anexo_strategy_1.default,
|
|
32
34
|
Desarrollo: desarrollo_strategy_1.default,
|
|
@@ -52,7 +54,9 @@ exports.Agricola = Agricola;
|
|
|
52
54
|
const EEFF = {
|
|
53
55
|
BalanceEEFFStrategy: balanceEEFF_strategy_1.default,
|
|
54
56
|
FlujoProyectadoEEFFStrategy: flujoProyEEFF_strategy_1.default,
|
|
55
|
-
AdmFinancieraStrategy: admFinanciera_strategy_1.default
|
|
57
|
+
AdmFinancieraStrategy: admFinanciera_strategy_1.default,
|
|
58
|
+
SupuestosStrategy: supuestos_strategy_1.default,
|
|
59
|
+
DeudasStrategy: deudas_strategy_1.default
|
|
56
60
|
};
|
|
57
61
|
exports.EEFF = EEFF;
|
|
58
62
|
const General = {
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Strategy } from "../../strategy.interface";
|
|
2
|
+
export default class DeudasStrategy implements Strategy {
|
|
3
|
+
data: any;
|
|
4
|
+
constructor();
|
|
5
|
+
cleanNumber: (data: any) => number;
|
|
6
|
+
calcularDeuda(params: any): void;
|
|
7
|
+
calcularDeudaFilaPorcentaje(params: any): void;
|
|
8
|
+
sumarizador(params: any): any;
|
|
9
|
+
execute(data: any): any;
|
|
10
|
+
}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
class DeudasStrategy {
|
|
4
|
+
data;
|
|
5
|
+
constructor() {
|
|
6
|
+
this.data = {};
|
|
7
|
+
}
|
|
8
|
+
cleanNumber = (data) => {
|
|
9
|
+
if (!data)
|
|
10
|
+
return 0;
|
|
11
|
+
else
|
|
12
|
+
return Math.round(parseFloat(data) * 100) / 100;
|
|
13
|
+
};
|
|
14
|
+
calcularDeuda(params) {
|
|
15
|
+
let i = 1;
|
|
16
|
+
do {
|
|
17
|
+
let row1 = this.data.Deudas.find((item) => item.RubroId == params.rubro1 && item.Secuencia == i);
|
|
18
|
+
let row2 = this.data.Deudas.find((item) => item.RubroId == params.rubro2 && item.Secuencia == i);
|
|
19
|
+
let row3 = this.data.Deudas.find((item) => item.RubroId == params.rubro3 && item.Secuencia == i);
|
|
20
|
+
for (let j = 1; j <= this.data.CantidadProyeccion; j++) {
|
|
21
|
+
row3[`Monto${j}`] = (this.cleanNumber(row1[`Monto${j}`]) + this.cleanNumber(row2[`Monto${j}`])) * this.cleanNumber(row3.Variable) / 100;
|
|
22
|
+
row3[`Monto${j}`] = Math.round(row3[`Monto${j}`] * 100) / 100;
|
|
23
|
+
}
|
|
24
|
+
i++;
|
|
25
|
+
} while (this.data.Deudas.find((item) => item.RubroId == params.rubro1 && item.Secuencia == i));
|
|
26
|
+
}
|
|
27
|
+
calcularDeudaFilaPorcentaje(params) {
|
|
28
|
+
let i = 1;
|
|
29
|
+
do {
|
|
30
|
+
let row1 = this.data.Deudas.find((item) => item.RubroId == params.rubro1 && item.Secuencia == i);
|
|
31
|
+
let row2 = this.data.Deudas.find((item) => item.RubroId == params.rubro2 && item.Secuencia == i);
|
|
32
|
+
let row3 = this.data.Deudas.find((item) => item.RubroId == params.rubro3 && item.Secuencia == i);
|
|
33
|
+
for (let j = 1; j <= this.data.CantidadProyeccion; j++) {
|
|
34
|
+
row3[`Monto${j}`] = (this.cleanNumber(row1[`Monto${j}`]) * this.cleanNumber(row2[`Monto${j}`]) / 100);
|
|
35
|
+
row3[`Monto${j}`] = Math.round(row3[`Monto${j}`] * 100) / 100;
|
|
36
|
+
}
|
|
37
|
+
i++;
|
|
38
|
+
} while (this.data.Deudas.find((item) => item.RubroId == params.rubro1 && item.Secuencia == i));
|
|
39
|
+
}
|
|
40
|
+
sumarizador(params) {
|
|
41
|
+
let destino = this.data.Deudas.find((item) => item.RubroId == params.rubro2);
|
|
42
|
+
this.data.Deudas.filter((item) => item.RubroId == params.rubro1).reduce((sum, item) => {
|
|
43
|
+
if (!sum)
|
|
44
|
+
sum = item;
|
|
45
|
+
else {
|
|
46
|
+
for (let i = 1; i <= this.data.CantidadProyeccion; i++) {
|
|
47
|
+
sum[`Monto${i}`] = this.cleanNumber(sum[`Monto${i}`]) + this.cleanNumber(item[`Monto${i}`]);
|
|
48
|
+
destino[`Monto${i}`] = sum[`Monto${i}`];
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
return sum;
|
|
52
|
+
}, null);
|
|
53
|
+
return destino;
|
|
54
|
+
}
|
|
55
|
+
execute(data) {
|
|
56
|
+
this.data = data;
|
|
57
|
+
this.calcularDeuda({ rubro1: 'ACT_DEU_10001', rubro2: 'ACT_DEU_10002', rubro3: 'ACT_DEU_10003' });
|
|
58
|
+
this.sumarizador({ rubro1: 'ACT_DEU_10001', rubro2: 'ACT_DEU_10100' });
|
|
59
|
+
this.sumarizador({ rubro1: 'ACT_DEU_10002', rubro2: 'ACT_DEU_10200' });
|
|
60
|
+
this.sumarizador({ rubro1: 'ACT_DEU_10003', rubro2: 'ACT_DEU_10300' });
|
|
61
|
+
this.calcularDeuda({ rubro1: 'ACT_DEU_20001', rubro2: 'ACT_DEU_20002', rubro3: 'ACT_DEU_20003' });
|
|
62
|
+
this.calcularDeuda({ rubro1: 'ACT_DEU_30001', rubro2: 'ACT_DEU_30002', rubro3: 'ACT_DEU_30003' });
|
|
63
|
+
this.sumarizador({ rubro1: 'ACT_DEU_30001', rubro2: 'ACT_DEU_30100' });
|
|
64
|
+
this.sumarizador({ rubro1: 'ACT_DEU_30002', rubro2: 'ACT_DEU_30200' });
|
|
65
|
+
this.sumarizador({ rubro1: 'ACT_DEU_30003', rubro2: 'ACT_DEU_30300' });
|
|
66
|
+
this.calcularDeuda({ rubro1: 'ACT_DEU_40001', rubro2: 'ACT_DEU_40002', rubro3: 'ACT_DEU_40003' });
|
|
67
|
+
this.sumarizador({ rubro1: 'ACT_DEU_40001', rubro2: 'ACT_DEU_40100' });
|
|
68
|
+
this.sumarizador({ rubro1: 'ACT_DEU_40002', rubro2: 'ACT_DEU_40200' });
|
|
69
|
+
this.sumarizador({ rubro1: 'ACT_DEU_40003', rubro2: 'ACT_DEU_40300' });
|
|
70
|
+
this.calcularDeudaFilaPorcentaje({ rubro1: 'ACT_DEU_50001', rubro2: 'ACT_DEU_50002', rubro3: 'ACT_DEU_50003' });
|
|
71
|
+
this.calcularDeudaFilaPorcentaje({ rubro1: 'ACT_DEU_60001', rubro2: 'ACT_DEU_60002', rubro3: 'ACT_DEU_60003' });
|
|
72
|
+
return this.data.Deudas;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
exports.default = DeudasStrategy;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
class SupuestosStrategy {
|
|
4
|
+
cantidadGestiones;
|
|
5
|
+
data;
|
|
6
|
+
constructor() {
|
|
7
|
+
this.cantidadGestiones = 0;
|
|
8
|
+
this.data = {};
|
|
9
|
+
}
|
|
10
|
+
//@ts-ignore
|
|
11
|
+
anadirPrecalculo(origen, rubroOrigen, rubroDestino, percent = false) {
|
|
12
|
+
if (this.cantidadGestiones != 0) {
|
|
13
|
+
//@ts-ignore
|
|
14
|
+
const origenRow = origen.find((item) => item.RubroId == rubroOrigen);
|
|
15
|
+
//@ts-ignore
|
|
16
|
+
let destinoRow = this.data.find((item) => item.RubroId == rubroDestino);
|
|
17
|
+
if (!percent)
|
|
18
|
+
destinoRow.Gestion1 = this.cleanNumber(origenRow[`Gestion${this.cantidadGestiones}`]);
|
|
19
|
+
else {
|
|
20
|
+
destinoRow.Gestion1 = this.cleanNumber(origenRow[`Gestion${this.cantidadGestiones}%`] / 100);
|
|
21
|
+
destinoRow.Gestion1 = Math.round(destinoRow.Gestion1 * 100) / 100;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
cleanNumber = (data) => {
|
|
26
|
+
if (!data)
|
|
27
|
+
return 0;
|
|
28
|
+
else
|
|
29
|
+
return Math.round(parseFloat(data) * 100) / 100;
|
|
30
|
+
};
|
|
31
|
+
execute(data) {
|
|
32
|
+
this.data = data.Supuestos;
|
|
33
|
+
this.cantidadGestiones = data.CantidadGestiones;
|
|
34
|
+
let rowDeprecCoef = data.Supuestos.find((item) => item.RubroId == 'ACT_SUP_10402');
|
|
35
|
+
let rowDeprecValue = data.Supuestos.find((item) => item.RubroId == 'ACT_SUP_10403');
|
|
36
|
+
let rowDeprecCoefLeasing = data.Supuestos.find((item) => item.RubroId == 'ACT_SUP_10404');
|
|
37
|
+
let rowDeprecValueLeasing = data.Supuestos.find((item) => item.RubroId == 'ACT_SUP_10405');
|
|
38
|
+
for (let i = 1; i <= data.CantidadProyeccion; i++) {
|
|
39
|
+
const activosFijosNetos = data.BalanceProyectado.find((item) => item.Correlativo == i && item.RubroId == 'BP_ACT_EF_12003');
|
|
40
|
+
const activosPorArrendamiento = data.BalanceProyectado.find((item) => item.Correlativo == i && item.RubroId == 'BP_ACT_EF_12004');
|
|
41
|
+
if (rowDeprecValue != null)
|
|
42
|
+
rowDeprecValue[`Gestion${i}`] = this.cleanNumber(rowDeprecCoef[`Gestion${i}`]) * this.cleanNumber(activosFijosNetos.Monto);
|
|
43
|
+
if (rowDeprecValueLeasing != null)
|
|
44
|
+
rowDeprecValueLeasing[`Gestion${i}`] = this.cleanNumber(rowDeprecCoefLeasing[`Gestion${i}`]) * this.cleanNumber(activosPorArrendamiento.Monto);
|
|
45
|
+
}
|
|
46
|
+
this.anadirPrecalculo(data.EEFF.eerr, 'ACT_EF_42000', 'ACT_SUP_10101');
|
|
47
|
+
this.anadirPrecalculo(data.EEFF.eerr, 'ACT_EF_44003', 'ACT_SUP_10104');
|
|
48
|
+
this.anadirPrecalculo(data.EEFF.eerr, 'ACT_EF_42001', 'ACT_SUP_10201', true);
|
|
49
|
+
this.anadirPrecalculo(data.EEFF.eerr, 'ACT_EF_43001', 'ACT_SUP_10202', true);
|
|
50
|
+
this.anadirPrecalculo(data.EEFF.eerr, 'ACT_EF_44004', 'ACT_SUP_10203');
|
|
51
|
+
this.anadirPrecalculo(data.EEFF.balance, 'ACT_EF_11008', 'ACT_SUP_20102');
|
|
52
|
+
return this.data;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
exports.default = SupuestosStrategy;
|