bdpformulas 1.0.95 → 1.0.99
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/models/eeff/admFinanciera/index.d.ts +27 -0
- package/build/models/eeff/balanceProyectado.d.ts +75 -0
- package/build/models/eeff/balanceProyectado.js +34 -0
- package/build/models/eeff/supuestos.d.ts +15 -0
- package/build/models/eeff/supuestos.js +17 -1
- package/build/strategies/balance.strategy.js +6 -5
- package/build/strategies/common/flujoCalculos/flujoConstructor.js +26 -0
- package/build/strategies/eeff/admFinanciera/lineasMixtasHandler.d.ts +3 -0
- package/build/strategies/eeff/admFinanciera/lineasMixtasHandler.js +23 -2
- package/build/strategies/eeff/admFinanciera/prestamoBajoLineaHandler.d.ts +4 -2
- package/build/strategies/eeff/admFinanciera/prestamoBajoLineaHandler.js +9 -0
- package/build/strategies/eeff/admFinanciera/prestamoDirectoHandler.d.ts +8 -2
- package/build/strategies/eeff/admFinanciera/prestamoDirectoHandler.js +38 -0
- package/build/strategies/eeff/admFinanciera/prestamoLeasingHandler.d.ts +10 -2
- package/build/strategies/eeff/admFinanciera/prestamoLeasingHandler.js +89 -3
- package/build/strategies/eeff/admFinanciera.strategy.d.ts +2 -0
- package/build/strategies/eeff/admFinanciera.strategy.js +37 -1
- package/build/strategies/eeff/balanceProyectado/balanceHandler.d.ts +77 -0
- package/build/strategies/eeff/balanceProyectado/balanceHandler.js +760 -0
- package/build/strategies/eeff/balanceProyectado/balanceProyectado.strategy.d.ts +15 -4
- package/build/strategies/eeff/balanceProyectado/balanceProyectado.strategy.js +165 -3
- package/build/strategies/eeff/balanceProyectado/eerrHandler.d.ts +33 -0
- package/build/strategies/eeff/balanceProyectado/eerrHandler.js +284 -0
- package/build/strategies/eeff/balanceProyectado/flujoCajaHandler.d.ts +46 -0
- package/build/strategies/eeff/balanceProyectado/flujoCajaHandler.js +294 -0
- package/build/strategies/eeff/balanceProyectado/map.d.ts +10 -0
- package/build/strategies/eeff/balanceProyectado/map.js +24 -0
- package/build/strategies/eeff/index.d.ts +1 -0
- package/build/strategies/eeff/index.js +9240 -0
- package/build/strategies/eeff/mappings/balance.d.ts +5 -1
- package/build/strategies/eeff/mappings/balance.js +481 -66
- package/build/strategies/eeff/mappings/balanceProyectado.d.ts +2 -0
- package/build/strategies/eeff/mappings/balanceProyectado.js +774 -0
- package/build/strategies/eeff/mappings/indices.d.ts +4 -0
- package/build/strategies/eeff/mappings/indices.js +262 -0
- package/build/strategies/eeff/mappings/supuestos.d.ts +4 -0
- package/build/strategies/eeff/mappings/supuestos.js +476 -0
- package/build/strategies/eeff/supuestos.strategy.d.ts +19 -0
- package/build/strategies/eeff/supuestos.strategy.js +130 -0
- package/build/strategies/utils.d.ts +1 -0
- package/build/strategies/utils.js +9 -1
- package/package.json +1 -1
|
@@ -97,6 +97,10 @@ export interface PrestamoLeasing extends Deuda {
|
|
|
97
97
|
PorcionesNoCorrientes: Partial<ProyeccionPrestamo>;
|
|
98
98
|
Aplicaciones: Partial<ProyeccionPrestamo>;
|
|
99
99
|
ActivacionesOperacion: Partial<ProyeccionPrestamo>;
|
|
100
|
+
CuadroDefinicionOperacion: Partial<ProyeccionPrestamo>;
|
|
101
|
+
EfectoDiferimientoPrincipal: Partial<ProyeccionPrestamo>;
|
|
102
|
+
EfectoSaldoDiferimiento: Partial<ProyeccionPrestamo>;
|
|
103
|
+
EfectoPerdidaLeaseback: Partial<ProyeccionPrestamo>;
|
|
100
104
|
}
|
|
101
105
|
export interface LineaCreditoMixta {
|
|
102
106
|
Descripcion: string;
|
|
@@ -132,6 +136,29 @@ export interface AdministracionFinancieraCalcData extends AdministracionFinancie
|
|
|
132
136
|
ProyeccionPrestamosBajoLineas: Partial<ProyeccionPrestamo>[];
|
|
133
137
|
ProyeccionPrestamosDirectos: Partial<ProyeccionPrestamo>[];
|
|
134
138
|
ProyeccionAplicaciones: Partial<ProyeccionPrestamo>[];
|
|
139
|
+
Totales: {
|
|
140
|
+
PrestamosDirectos: {
|
|
141
|
+
CuadroPorcionesCorrientesBDP: Partial<ProyeccionPrestamo>;
|
|
142
|
+
CuadroPorcionesCorrientesOtros: Partial<ProyeccionPrestamo>;
|
|
143
|
+
};
|
|
144
|
+
PrestamosLeasing: {
|
|
145
|
+
ActivacionOperacionLeasing: Partial<ProyeccionPrestamo>;
|
|
146
|
+
AmortizacionesInteres: Partial<ProyeccionPrestamo>;
|
|
147
|
+
AmortizacionesCapital: Partial<ProyeccionPrestamo>;
|
|
148
|
+
CuadroDefinicionOperacion: Partial<ProyeccionPrestamo>;
|
|
149
|
+
EfectoSaldoDiferimiento: Partial<ProyeccionPrestamo>;
|
|
150
|
+
PorcionesCorrientes: Partial<ProyeccionPrestamo>;
|
|
151
|
+
EfectoPerdidaLeaseback: Partial<ProyeccionPrestamo>;
|
|
152
|
+
};
|
|
153
|
+
PrestamosBajoLinea: {
|
|
154
|
+
DeudasCortoPlazoSobregiros: Partial<ProyeccionPrestamo>;
|
|
155
|
+
};
|
|
156
|
+
General: {
|
|
157
|
+
CuadroCostosFinancierosComisiones: Partial<ProyeccionPrestamo>;
|
|
158
|
+
CuadroEfectoLinea: Partial<ProyeccionPrestamo>;
|
|
159
|
+
DeudaDirecta: Partial<ProyeccionPrestamo>;
|
|
160
|
+
};
|
|
161
|
+
};
|
|
135
162
|
}
|
|
136
163
|
export type TipoExistencia = 'EXISTENTE' | 'NUEVA';
|
|
137
164
|
export declare const rubros: {
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { BalanceProyectadoMap } from '../../strategies/eeff/balanceProyectado/map';
|
|
2
|
+
import { AdministracionFinancieraCalcData } from './admFinanciera';
|
|
3
|
+
export interface Proyeccion extends Omit<Configuracion, 'Rubro' | 'TipoConfiguracionId'>, Record<string, any> {
|
|
4
|
+
RubroId: string;
|
|
5
|
+
Descripcion: string;
|
|
6
|
+
[key: `Gestion${number}`]: number | string;
|
|
7
|
+
}
|
|
8
|
+
interface BalanceData {
|
|
9
|
+
Balance: Proyeccion[];
|
|
10
|
+
EstadoResultados: Proyeccion[];
|
|
11
|
+
FlujoCaja: Proyeccion[];
|
|
12
|
+
}
|
|
13
|
+
interface Configuracion {
|
|
14
|
+
TipoConfiguracionId: string;
|
|
15
|
+
RubroId: string;
|
|
16
|
+
RubroPadreId: string;
|
|
17
|
+
Clasificador: string;
|
|
18
|
+
Rubro: {
|
|
19
|
+
Descripcion: string;
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
export interface BalanceProyectadoStrategyData {
|
|
23
|
+
Supuestos: Proyeccion[];
|
|
24
|
+
Balance: BalanceData;
|
|
25
|
+
Indices: Proyeccion[];
|
|
26
|
+
AnhoBase: string;
|
|
27
|
+
InicioProyeccion: string;
|
|
28
|
+
InicioProyeccionGestion: number;
|
|
29
|
+
CantidadProyeccion: number;
|
|
30
|
+
CantidadGestiones: number;
|
|
31
|
+
AdmFinancieraData: AdministracionFinancieraCalcData;
|
|
32
|
+
}
|
|
33
|
+
export interface Cuenta {
|
|
34
|
+
Monto: number;
|
|
35
|
+
RubroId: string;
|
|
36
|
+
RubroPadreId: string;
|
|
37
|
+
Descripcion: string;
|
|
38
|
+
Clasificador: string;
|
|
39
|
+
Padre?: string;
|
|
40
|
+
}
|
|
41
|
+
export interface BalanceProyectadoCalcData {
|
|
42
|
+
Balance: Proyeccion[];
|
|
43
|
+
EERR: Proyeccion[];
|
|
44
|
+
FlujoCaja: Proyeccion[];
|
|
45
|
+
}
|
|
46
|
+
export type BalanceMap = Map<string, number>;
|
|
47
|
+
export interface SupuestoValue {
|
|
48
|
+
Clasificacion: string;
|
|
49
|
+
Monto: number;
|
|
50
|
+
}
|
|
51
|
+
export type IndicesMap = Map<string, number>;
|
|
52
|
+
export type SupuestosMap = Map<string, SupuestoValue>;
|
|
53
|
+
export interface BalanceProyectadoHandlerData {
|
|
54
|
+
balanceData: BalanceMap;
|
|
55
|
+
supuestosData: SupuestosMap;
|
|
56
|
+
indicesData: IndicesMap;
|
|
57
|
+
proyectado: BalanceProyectadoMap;
|
|
58
|
+
data: BalanceProyectadoStrategyData;
|
|
59
|
+
}
|
|
60
|
+
export type SupuestoClasificacion = 'A' | 'D' | 'C' | 'P' | 'CA' | 'PV' | 'NA';
|
|
61
|
+
export declare function getValueWithSupuestoByClasificacion({ supuesto, value, valueForCa, valueForPv, valueForD }: {
|
|
62
|
+
supuesto?: SupuestoValue;
|
|
63
|
+
value: number;
|
|
64
|
+
valueForPv?: number;
|
|
65
|
+
valueForCa?: number;
|
|
66
|
+
valueForD?: number;
|
|
67
|
+
}): number;
|
|
68
|
+
interface GetSumaParams {
|
|
69
|
+
map: Map<string, any>;
|
|
70
|
+
gestion: number;
|
|
71
|
+
desde: number;
|
|
72
|
+
hasta: number;
|
|
73
|
+
}
|
|
74
|
+
export declare function getSumaDesdeHastaGestionMap({ map, gestion, desde, hasta }: GetSumaParams): number;
|
|
75
|
+
export {};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getSumaDesdeHastaGestionMap = exports.getValueWithSupuestoByClasificacion = void 0;
|
|
4
|
+
const utils_1 = require("../../strategies/eeff/admFinanciera/utils");
|
|
5
|
+
function getValueWithSupuestoByClasificacion({ supuesto, value, valueForCa, valueForPv = 0, valueForD = 0 }) {
|
|
6
|
+
let val = 0;
|
|
7
|
+
const montoSupuesto = (0, utils_1.ourParseFloat)(supuesto?.Monto);
|
|
8
|
+
if (supuesto?.Clasificacion === 'C') {
|
|
9
|
+
val = value * (1 + montoSupuesto);
|
|
10
|
+
}
|
|
11
|
+
else if (supuesto?.Clasificacion === 'A') {
|
|
12
|
+
val = montoSupuesto;
|
|
13
|
+
}
|
|
14
|
+
else if (supuesto?.Clasificacion === 'CA') {
|
|
15
|
+
val = valueForCa ?? value + montoSupuesto;
|
|
16
|
+
}
|
|
17
|
+
else if (supuesto?.Clasificacion === 'PV') {
|
|
18
|
+
val = montoSupuesto * valueForPv;
|
|
19
|
+
}
|
|
20
|
+
else if (supuesto?.Clasificacion === 'D') {
|
|
21
|
+
val = valueForD;
|
|
22
|
+
}
|
|
23
|
+
return val;
|
|
24
|
+
}
|
|
25
|
+
exports.getValueWithSupuestoByClasificacion = getValueWithSupuestoByClasificacion;
|
|
26
|
+
function getSumaDesdeHastaGestionMap({ map, gestion, desde, hasta }) {
|
|
27
|
+
let suma = 0;
|
|
28
|
+
for (let i = desde; i <= hasta; i++) {
|
|
29
|
+
const key = `X${i}_${gestion}`;
|
|
30
|
+
suma += (0, utils_1.ourParseFloat)(map.get(key));
|
|
31
|
+
}
|
|
32
|
+
return suma;
|
|
33
|
+
}
|
|
34
|
+
exports.getSumaDesdeHastaGestionMap = getSumaDesdeHastaGestionMap;
|
|
@@ -72,6 +72,21 @@ export declare enum SupuestosRubro {
|
|
|
72
72
|
Otras_Reservas = "ACT_SUP_20302",
|
|
73
73
|
Otra_Cuenta_de_Patrimonio_Ajuste_de_Gestión_Anterior__Ajuste_Capital = "ACT_SUP_20303"
|
|
74
74
|
}
|
|
75
|
+
export declare enum CuadroAlternativo {
|
|
76
|
+
CUADRO_ALTERNATIVO_DE_ADMINISTRACION_FINANCIERA = "ACT_SUP_30100",
|
|
77
|
+
Deuda_Financiera_de_Corto_Plazo = "ACT_SUP_30101",
|
|
78
|
+
Prestamo_Plazo_Fijo = "ACT_SUP_30102",
|
|
79
|
+
Vencimiento_Corriente_Deuda_Largo_Plazo_BDP = "ACT_SUP_30103",
|
|
80
|
+
Vencimiento_Corriente_Deuda_Largo_Plazo_OTROS = "ACT_SUP_30104",
|
|
81
|
+
Deuda_Financiera_Largo_Plazo_BDP = "ACT_SUP_30105",
|
|
82
|
+
Deuda_Financiera_Largo_Plazo_OTROS = "ACT_SUP_30106",
|
|
83
|
+
Gastos_Financieros_Comisiones = "ACT_SUP_30107",
|
|
84
|
+
Vancimiento_Corriente_Pasivos = "ACT_SUP_30108",
|
|
85
|
+
Pasivos_Arrendamiento_Financiero = "ACT_SUP_30109",
|
|
86
|
+
Activos_Arrendamiento_Financiero = "ACT_SUP_30110",
|
|
87
|
+
Intereses_Diferidos_Arrendamiento_Financiero = "ACT_SUP_30111",
|
|
88
|
+
Gastos_Financieros_Op_Leasing = "ACT_SUP_30112"
|
|
89
|
+
}
|
|
75
90
|
export declare const FilasCalculadas: {
|
|
76
91
|
ACT_SUP_10201: string[];
|
|
77
92
|
ACT_SUP_10202: string[];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.FilasCalculadas = exports.SupuestosRubro = void 0;
|
|
3
|
+
exports.FilasCalculadas = exports.CuadroAlternativo = exports.SupuestosRubro = void 0;
|
|
4
4
|
var SupuestosRubro;
|
|
5
5
|
(function (SupuestosRubro) {
|
|
6
6
|
SupuestosRubro["Periodo_en_Meses_Proyectado"] = "ACT_SUP_00001";
|
|
@@ -76,6 +76,22 @@ var SupuestosRubro;
|
|
|
76
76
|
SupuestosRubro["Otras_Reservas"] = "ACT_SUP_20302";
|
|
77
77
|
SupuestosRubro["Otra_Cuenta_de_Patrimonio_Ajuste_de_Gesti\u00F3n_Anterior__Ajuste_Capital"] = "ACT_SUP_20303";
|
|
78
78
|
})(SupuestosRubro || (exports.SupuestosRubro = SupuestosRubro = {}));
|
|
79
|
+
var CuadroAlternativo;
|
|
80
|
+
(function (CuadroAlternativo) {
|
|
81
|
+
CuadroAlternativo["CUADRO_ALTERNATIVO_DE_ADMINISTRACION_FINANCIERA"] = "ACT_SUP_30100";
|
|
82
|
+
CuadroAlternativo["Deuda_Financiera_de_Corto_Plazo"] = "ACT_SUP_30101";
|
|
83
|
+
CuadroAlternativo["Prestamo_Plazo_Fijo"] = "ACT_SUP_30102";
|
|
84
|
+
CuadroAlternativo["Vencimiento_Corriente_Deuda_Largo_Plazo_BDP"] = "ACT_SUP_30103";
|
|
85
|
+
CuadroAlternativo["Vencimiento_Corriente_Deuda_Largo_Plazo_OTROS"] = "ACT_SUP_30104";
|
|
86
|
+
CuadroAlternativo["Deuda_Financiera_Largo_Plazo_BDP"] = "ACT_SUP_30105";
|
|
87
|
+
CuadroAlternativo["Deuda_Financiera_Largo_Plazo_OTROS"] = "ACT_SUP_30106";
|
|
88
|
+
CuadroAlternativo["Gastos_Financieros_Comisiones"] = "ACT_SUP_30107";
|
|
89
|
+
CuadroAlternativo["Vancimiento_Corriente_Pasivos"] = "ACT_SUP_30108";
|
|
90
|
+
CuadroAlternativo["Pasivos_Arrendamiento_Financiero"] = "ACT_SUP_30109";
|
|
91
|
+
CuadroAlternativo["Activos_Arrendamiento_Financiero"] = "ACT_SUP_30110";
|
|
92
|
+
CuadroAlternativo["Intereses_Diferidos_Arrendamiento_Financiero"] = "ACT_SUP_30111";
|
|
93
|
+
CuadroAlternativo["Gastos_Financieros_Op_Leasing"] = "ACT_SUP_30112";
|
|
94
|
+
})(CuadroAlternativo || (exports.CuadroAlternativo = CuadroAlternativo = {}));
|
|
79
95
|
exports.FilasCalculadas = {
|
|
80
96
|
[SupuestosRubro.Costo_de_VentasVentas]: ['Gestion1'],
|
|
81
97
|
[SupuestosRubro.Gastos_OperativosVentas]: ['Gestion1'],
|
|
@@ -171,11 +171,12 @@ class Balance {
|
|
|
171
171
|
data.eerr = Array.from(eerrMap.values());
|
|
172
172
|
result.balance = calcularBalance(data.balance);
|
|
173
173
|
result.eerr = calcularEERR(data.eerr, data.cantidadGestiones, data.tipoConsolidado);
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
174
|
+
result.balance = result.balance.filter(item => item.RubroId !== 'ACT_CN_30001_a');
|
|
175
|
+
// balanceCalc.setResultadosGestion({
|
|
176
|
+
// data: result,
|
|
177
|
+
// cantidadGestiones: data.cantidadGestiones,
|
|
178
|
+
// declaracionJurada: data.declaracionJurada
|
|
179
|
+
// })
|
|
179
180
|
(0, analisisHorizontal_1.calcularPorcentajesYAnalisisHorizontal)({
|
|
180
181
|
data: result,
|
|
181
182
|
cantidadGestiones: data.cantidadGestiones,
|
|
@@ -269,6 +269,32 @@ class FlujoConstructor {
|
|
|
269
269
|
filter.forEach((item) => {
|
|
270
270
|
const key = `${item.RubroId}_CLONE_${item.UUID}`;
|
|
271
271
|
const UUID = `CLONE_${item.UUID}`;
|
|
272
|
+
// 12/08/2025 ROLANDO: EDICION PARA LOS RUBROS 61001 Y 73000 GASTOS FINANCIEROS
|
|
273
|
+
let totalMensual = 0;
|
|
274
|
+
for (let i = 1; i <= this.rango; i++) {
|
|
275
|
+
totalMensual += (0, utils_1.ourParseFloat)(item[`Monto${i}`] || 0);
|
|
276
|
+
}
|
|
277
|
+
const existingClone = this.array.find((el) => el.UUID === UUID);
|
|
278
|
+
if (item.RubroId === 'ACT_CNFL_61001' ||
|
|
279
|
+
(item.RubroId === 'ACT_CNFL_73000' && existingClone)) {
|
|
280
|
+
const clone = {
|
|
281
|
+
...existingClone,
|
|
282
|
+
Comprar: item.Comprar,
|
|
283
|
+
Operacion: item.Operacion,
|
|
284
|
+
Monto1: totalMensual
|
|
285
|
+
};
|
|
286
|
+
let nuevoTotal = totalMensual;
|
|
287
|
+
for (let i = 2; i <= this.rango; i++) {
|
|
288
|
+
nuevoTotal += (0, utils_1.ourParseFloat)(existingClone[`Monto${i}`] || 0);
|
|
289
|
+
}
|
|
290
|
+
clone.MontoTotal = nuevoTotal;
|
|
291
|
+
const index = this.array.findIndex((el) => el.UUID === UUID);
|
|
292
|
+
if (index >= 0)
|
|
293
|
+
this.array[index] = clone;
|
|
294
|
+
this.mapObject.set(key, clone);
|
|
295
|
+
return;
|
|
296
|
+
}
|
|
297
|
+
// FIN EDICION
|
|
272
298
|
const clone = {
|
|
273
299
|
...item,
|
|
274
300
|
UUID
|
|
@@ -4,4 +4,7 @@ export declare class LineasMixtasHandler {
|
|
|
4
4
|
constructor(data: AdministracionFinancieraCalcData);
|
|
5
5
|
handle(): void;
|
|
6
6
|
private formatLineasMixtas;
|
|
7
|
+
private setTotalPorcionesCorrientesBDP;
|
|
8
|
+
private setTotalPorcionesCorrientesOtros;
|
|
9
|
+
private setTotalCuadroFinancieroComisiones;
|
|
7
10
|
}
|
|
@@ -9,10 +9,10 @@ class LineasMixtasHandler {
|
|
|
9
9
|
this.data = data;
|
|
10
10
|
}
|
|
11
11
|
handle() {
|
|
12
|
-
this.formatLineasMixtas(this.data.LineasMixtasBDP);
|
|
12
|
+
this.formatLineasMixtas(this.data.LineasMixtasBDP, true);
|
|
13
13
|
this.formatLineasMixtas(this.data.LineasMixtasOtros);
|
|
14
14
|
}
|
|
15
|
-
formatLineasMixtas(lineas) {
|
|
15
|
+
formatLineasMixtas(lineas, esBdp = false) {
|
|
16
16
|
const lineasActivas = lineas.filter((lin) => lin.IndicadorABM !== 'B');
|
|
17
17
|
if (lineasActivas.length) {
|
|
18
18
|
const filasTotales = [
|
|
@@ -53,11 +53,32 @@ class LineasMixtasHandler {
|
|
|
53
53
|
filasTotales[2][`Gestion${j}`] =
|
|
54
54
|
(0, utils_1.ourParseFloat)(filasTotales[2][`Gestion${j}`]) +
|
|
55
55
|
(0, utils_1.ourParseFloat)(filaGastos?.[`Gestion${j}`]);
|
|
56
|
+
if (esBdp) {
|
|
57
|
+
this.setTotalPorcionesCorrientesBDP(filasTotales[0][`Gestion${j}`], j);
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
this.setTotalPorcionesCorrientesOtros(filasTotales[0][`Gestion${j}`], j);
|
|
61
|
+
}
|
|
62
|
+
this.setTotalCuadroFinancieroComisiones(filasTotales[2][`Gestion${j}`], j);
|
|
56
63
|
}
|
|
57
64
|
i += 4;
|
|
58
65
|
}
|
|
59
66
|
lineas.push(...filasTotales);
|
|
60
67
|
}
|
|
61
68
|
}
|
|
69
|
+
setTotalPorcionesCorrientesBDP(valor, gestion) {
|
|
70
|
+
this.data.Totales.PrestamosDirectos.CuadroPorcionesCorrientesBDP[`Gestion${gestion}`] =
|
|
71
|
+
(0, utils_1.ourParseFloat)(this.data.Totales.PrestamosDirectos
|
|
72
|
+
.CuadroPorcionesCorrientesBDP[`Gestion${gestion}`]) + (0, utils_1.ourParseFloat)(valor);
|
|
73
|
+
}
|
|
74
|
+
setTotalPorcionesCorrientesOtros(valor, gestion) {
|
|
75
|
+
this.data.Totales.PrestamosDirectos.CuadroPorcionesCorrientesOtros[`Gestion${gestion}`] =
|
|
76
|
+
(0, utils_1.ourParseFloat)(this.data.Totales.PrestamosDirectos
|
|
77
|
+
.CuadroPorcionesCorrientesOtros[`Gestion${gestion}`]) + (0, utils_1.ourParseFloat)(valor);
|
|
78
|
+
}
|
|
79
|
+
setTotalCuadroFinancieroComisiones(valor, gestion) {
|
|
80
|
+
this.data.Totales.General.CuadroCostosFinancierosComisiones[`Gestion${gestion}`] =
|
|
81
|
+
(0, utils_1.ourParseFloat)(this.data.Totales.General.CuadroCostosFinancierosComisiones[`Gestion${gestion}`]) + (0, utils_1.ourParseFloat)(valor);
|
|
82
|
+
}
|
|
62
83
|
}
|
|
63
84
|
exports.LineasMixtasHandler = LineasMixtasHandler;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AdministracionFinancieraCalcData, PrestamoBajoLinea } from '../../../models/eeff/admFinanciera';
|
|
2
2
|
export declare class PrestamoBajoLineaHandler {
|
|
3
3
|
private data;
|
|
4
4
|
private prestamo;
|
|
5
|
-
constructor(prestamo: Partial<PrestamoBajoLinea>, data:
|
|
5
|
+
constructor(prestamo: Partial<PrestamoBajoLinea>, data: AdministracionFinancieraCalcData);
|
|
6
6
|
handle(): Partial<PrestamoBajoLinea>;
|
|
7
7
|
private setCantidadAños;
|
|
8
8
|
private setSaldoLineaAplicar;
|
|
@@ -10,4 +10,6 @@ export declare class PrestamoBajoLineaHandler {
|
|
|
10
10
|
private setProyecciones;
|
|
11
11
|
private setAplicacion;
|
|
12
12
|
private setProyeccion;
|
|
13
|
+
private setTotal;
|
|
14
|
+
private setTotalDeudaCortoPlazoSobregiro;
|
|
13
15
|
}
|
|
@@ -78,6 +78,15 @@ class PrestamoBajoLineaHandler {
|
|
|
78
78
|
if (gestion >= añoProyectadoInicio && gestion <= cantidadAños) {
|
|
79
79
|
this.prestamo.Proyecciones[`Gestion${gestion}`] = (0, utils_1.ourParseFloat)(this.prestamo.MontoOriginal);
|
|
80
80
|
}
|
|
81
|
+
this.setTotalDeudaCortoPlazoSobregiro(gestion);
|
|
82
|
+
}
|
|
83
|
+
setTotal(keyTotales, key, gestion) {
|
|
84
|
+
this.data.Totales.PrestamosBajoLinea[keyTotales][`Gestion${gestion}`] =
|
|
85
|
+
(0, utils_1.ourParseFloat)(this.data.Totales.PrestamosBajoLinea[keyTotales][`Gestion${gestion}`]) + (0, utils_1.ourParseFloat)(this.prestamo[key]?.[`Gestion${gestion}`]);
|
|
86
|
+
}
|
|
87
|
+
setTotalDeudaCortoPlazoSobregiro(gestion) {
|
|
88
|
+
this.data.Totales.PrestamosBajoLinea.DeudasCortoPlazoSobregiros[`Gestion${gestion}`] =
|
|
89
|
+
(0, utils_1.ourParseFloat)(this.data.Totales.PrestamosBajoLinea.DeudasCortoPlazoSobregiros[`Gestion${gestion}`]) + (0, utils_1.ourParseFloat)(this.prestamo.Proyecciones?.[`Gestion${gestion}`]);
|
|
81
90
|
}
|
|
82
91
|
}
|
|
83
92
|
exports.PrestamoBajoLineaHandler = PrestamoBajoLineaHandler;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AdministracionFinancieraCalcData, PrestamoDirecto } from '../../../models/eeff/admFinanciera';
|
|
2
2
|
interface HandlerData {
|
|
3
|
-
data:
|
|
3
|
+
data: AdministracionFinancieraCalcData;
|
|
4
4
|
prestamo: Partial<PrestamoDirecto>;
|
|
5
5
|
}
|
|
6
6
|
export declare class PrestamoDirectoHandler {
|
|
@@ -22,5 +22,11 @@ export declare class PrestamoDirectoHandler {
|
|
|
22
22
|
private setAmortizacionesCapitalEfectoCorrienteYCuotaFinal;
|
|
23
23
|
private setCuadroExposicion;
|
|
24
24
|
private setCuadroEfectoLinea;
|
|
25
|
+
private setTotal;
|
|
26
|
+
private setTotalPorcionesCorrientesBDP;
|
|
27
|
+
private setTotalPorcionesCorrientesOtros;
|
|
28
|
+
private setTotalCuadroFinancieroComisiones;
|
|
29
|
+
private setTotalCuadroEfectoLinea;
|
|
30
|
+
private setTotalDeudaDirecta;
|
|
25
31
|
}
|
|
26
32
|
export {};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.PrestamoDirectoHandler = void 0;
|
|
4
|
+
const lodash_1 = require("lodash");
|
|
4
5
|
const utils_1 = require("./utils");
|
|
5
6
|
class PrestamoDirectoHandler {
|
|
6
7
|
data;
|
|
@@ -90,6 +91,7 @@ class PrestamoDirectoHandler {
|
|
|
90
91
|
value = (porcionCorriente + porcionNoCorriente) * tasa;
|
|
91
92
|
}
|
|
92
93
|
this.prestamo.AmortizacionesInteres[`Gestion${gestion}`] = value;
|
|
94
|
+
this.setTotalCuadroFinancieroComisiones(value, gestion);
|
|
93
95
|
}
|
|
94
96
|
}
|
|
95
97
|
setAmortizacionesInteresFija() {
|
|
@@ -99,6 +101,7 @@ class PrestamoDirectoHandler {
|
|
|
99
101
|
(((0, utils_1.ourParseFloat)(this.prestamo.MontoOriginal) * tasa) / 12) *
|
|
100
102
|
(0, utils_1.ourParseFloat)(this.prestamo.MesesPorcionPagada);
|
|
101
103
|
const añoProyectadoInicio = (0, utils_1.ourParseFloat)(this.prestamo.AnnoProyectadoInicio);
|
|
104
|
+
this.setTotalCuadroFinancieroComisiones(this.prestamo.AmortizacionesInteres?.[`Gestion1`], 1);
|
|
102
105
|
if (this.simuladorFijo2 &&
|
|
103
106
|
añoProyectadoInicio &&
|
|
104
107
|
añoProyectadoInicio <= 3) {
|
|
@@ -106,6 +109,7 @@ class PrestamoDirectoHandler {
|
|
|
106
109
|
this.simuladorFijo2.pagosAnuales.forEach((resumen) => {
|
|
107
110
|
this.prestamo.AmortizacionesInteres[`Gestion${i}`] =
|
|
108
111
|
resumen.interesAnual;
|
|
112
|
+
this.setTotalCuadroFinancieroComisiones(this.prestamo.AmortizacionesInteres?.[`Gestion${i}`], i);
|
|
109
113
|
i++;
|
|
110
114
|
});
|
|
111
115
|
}
|
|
@@ -195,6 +199,12 @@ class PrestamoDirectoHandler {
|
|
|
195
199
|
amortizacion[`Gestion${i}`] = valor;
|
|
196
200
|
amortizacionCuotaFinal[`Gestion${i}`] = (0, utils_1.ourParseFloat)(valor +
|
|
197
201
|
(0, utils_1.ourParseFloat)(this.prestamo.AmortizacionesCapital?.[`Gestion${i}`]));
|
|
202
|
+
if (this.prestamo.EsNuestroBanco) {
|
|
203
|
+
this.setTotalPorcionesCorrientesBDP(amortizacionCuotaFinal[`Gestion${i}`], i);
|
|
204
|
+
}
|
|
205
|
+
else {
|
|
206
|
+
this.setTotalPorcionesCorrientesOtros(amortizacionCuotaFinal[`Gestion${i}`], i);
|
|
207
|
+
}
|
|
198
208
|
}
|
|
199
209
|
this.prestamo.AmortizacionesCapitalEfectoCorriente = amortizacion;
|
|
200
210
|
this.prestamo.AmortizacionesCapitalCuotaFinal = amortizacionCuotaFinal;
|
|
@@ -266,6 +276,7 @@ class PrestamoDirectoHandler {
|
|
|
266
276
|
}
|
|
267
277
|
}
|
|
268
278
|
cuadro[`Gestion${i}`] = (0, utils_1.ourParseFloat)(value);
|
|
279
|
+
this.setTotalDeudaDirecta(cuadro[`Gestion${i}`], i);
|
|
269
280
|
}
|
|
270
281
|
}
|
|
271
282
|
this.prestamo.CuadroEfectoExposicion = cuadro;
|
|
@@ -319,9 +330,36 @@ class PrestamoDirectoHandler {
|
|
|
319
330
|
}
|
|
320
331
|
}
|
|
321
332
|
cuadro[`Gestion${i}`] = (0, utils_1.ourParseFloat)(value);
|
|
333
|
+
this.setTotalCuadroEfectoLinea(cuadro[`Gestion${i}`], i);
|
|
322
334
|
}
|
|
323
335
|
}
|
|
324
336
|
this.prestamo.CuadroEfectoLinea = cuadro;
|
|
325
337
|
}
|
|
338
|
+
setTotal(keyTotales, key, gestion) {
|
|
339
|
+
this.data.Totales.PrestamosDirectos[keyTotales][`Gestion${gestion}`] =
|
|
340
|
+
(0, utils_1.ourParseFloat)(this.data.Totales.PrestamosDirectos[keyTotales][`Gestion${gestion}`]) + (0, utils_1.ourParseFloat)((0, lodash_1.get)(this.prestamo, `${key}.Gestion${gestion}`));
|
|
341
|
+
}
|
|
342
|
+
setTotalPorcionesCorrientesBDP(valor, gestion) {
|
|
343
|
+
this.data.Totales.PrestamosDirectos.CuadroPorcionesCorrientesBDP[`Gestion${gestion}`] =
|
|
344
|
+
(0, utils_1.ourParseFloat)(this.data.Totales.PrestamosDirectos
|
|
345
|
+
.CuadroPorcionesCorrientesBDP[`Gestion${gestion}`]) + (0, utils_1.ourParseFloat)(valor);
|
|
346
|
+
}
|
|
347
|
+
setTotalPorcionesCorrientesOtros(valor, gestion) {
|
|
348
|
+
this.data.Totales.PrestamosDirectos.CuadroPorcionesCorrientesOtros[`Gestion${gestion}`] =
|
|
349
|
+
(0, utils_1.ourParseFloat)(this.data.Totales.PrestamosDirectos
|
|
350
|
+
.CuadroPorcionesCorrientesOtros[`Gestion${gestion}`]) + (0, utils_1.ourParseFloat)(valor);
|
|
351
|
+
}
|
|
352
|
+
setTotalCuadroFinancieroComisiones(valor, gestion) {
|
|
353
|
+
this.data.Totales.General.CuadroCostosFinancierosComisiones[`Gestion${gestion}`] =
|
|
354
|
+
(0, utils_1.ourParseFloat)(this.data.Totales.General.CuadroCostosFinancierosComisiones[`Gestion${gestion}`]) + (0, utils_1.ourParseFloat)(valor);
|
|
355
|
+
}
|
|
356
|
+
setTotalCuadroEfectoLinea(value, gestion) {
|
|
357
|
+
this.data.Totales.General.CuadroEfectoLinea[`Gestion${gestion}`] =
|
|
358
|
+
(0, utils_1.ourParseFloat)(this.data.Totales.General.CuadroEfectoLinea[`Gestion${gestion}`]) + (0, utils_1.ourParseFloat)(value);
|
|
359
|
+
}
|
|
360
|
+
setTotalDeudaDirecta(value, gestion) {
|
|
361
|
+
this.data.Totales.General.DeudaDirecta[`Gestion${gestion}`] =
|
|
362
|
+
(0, utils_1.ourParseFloat)(this.data.Totales.General.DeudaDirecta[`Gestion${gestion}`]) + (0, utils_1.ourParseFloat)(value);
|
|
363
|
+
}
|
|
326
364
|
}
|
|
327
365
|
exports.PrestamoDirectoHandler = PrestamoDirectoHandler;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AdministracionFinancieraCalcData, PrestamoLeasing } from '../../../models/eeff/admFinanciera';
|
|
2
2
|
interface HandlerData {
|
|
3
|
-
data:
|
|
3
|
+
data: AdministracionFinancieraCalcData;
|
|
4
4
|
prestamo: Partial<PrestamoLeasing>;
|
|
5
5
|
}
|
|
6
6
|
export declare class PrestamoLeasingHandler {
|
|
@@ -16,5 +16,13 @@ export declare class PrestamoLeasingHandler {
|
|
|
16
16
|
private getGeneracionValorResidual;
|
|
17
17
|
private setPorcionesCorrientesNoCorrientes;
|
|
18
18
|
private setActivaciones;
|
|
19
|
+
private setCuadroDefinicionOperacion;
|
|
20
|
+
private setEfectoDiferimientoPrincipal;
|
|
21
|
+
private setEfectoSaldoDiferimiento;
|
|
22
|
+
private setEfectoPerdidaLeaseback;
|
|
23
|
+
private setTotal;
|
|
24
|
+
private setTotalActivacionOperacionLeasing;
|
|
25
|
+
private setTotalAmortizacionInteres;
|
|
26
|
+
private setTotalCuadroDefinicionOperacion;
|
|
19
27
|
}
|
|
20
28
|
export {};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.PrestamoLeasingHandler = void 0;
|
|
4
|
+
const lodash_1 = require("lodash");
|
|
4
5
|
const admFinanciera_1 = require("../../../models/eeff/admFinanciera");
|
|
5
6
|
const utils_1 = require("./utils");
|
|
6
7
|
const frecuencias = {
|
|
@@ -44,13 +45,19 @@ class PrestamoLeasingHandler {
|
|
|
44
45
|
this.prestamo.AmortizacionesCapitalFinal = {};
|
|
45
46
|
this.prestamo.AmortizacionesInteres = {};
|
|
46
47
|
this.prestamo.PorcionesNoCorrientes = {};
|
|
48
|
+
this.prestamo.CuadroDefinicionOperacion = {};
|
|
49
|
+
this.prestamo.EfectoDiferimientoPrincipal = {};
|
|
50
|
+
this.prestamo.EfectoSaldoDiferimiento = {};
|
|
51
|
+
this.prestamo.EfectoPerdidaLeaseback = {};
|
|
47
52
|
for (let i = 1; i <= this.data.CantidadProyeccion; i++) {
|
|
48
|
-
// plazos
|
|
49
53
|
this.setPlazo(i);
|
|
50
|
-
// plazos multiplicados
|
|
51
54
|
this.setPlazoMultiplicado(i);
|
|
52
|
-
//amortizacion capital
|
|
53
55
|
this.setAmortizacionCapital(i);
|
|
56
|
+
this.setTotalAmortizacionInteres(i);
|
|
57
|
+
this.setCuadroDefinicionOperacion(i);
|
|
58
|
+
this.setEfectoDiferimientoPrincipal(i);
|
|
59
|
+
this.setEfectoSaldoDiferimiento(i);
|
|
60
|
+
this.setEfectoPerdidaLeaseback(i);
|
|
54
61
|
}
|
|
55
62
|
}
|
|
56
63
|
setPlazo(gestion) {
|
|
@@ -128,6 +135,7 @@ class PrestamoLeasingHandler {
|
|
|
128
135
|
this.prestamo.AmortizacionesCapitalFinal[`Gestion${gestion}`] =
|
|
129
136
|
(0, utils_1.ourParseFloat)(value) +
|
|
130
137
|
(0, utils_1.ourParseFloat)(this.getGeneracionValorResidual(gestion));
|
|
138
|
+
this.setTotal('AmortizacionesCapital', 'AmortizacionesCapital', gestion);
|
|
131
139
|
}
|
|
132
140
|
getGeneracionValorResidual(gestion) {
|
|
133
141
|
if ((0, utils_1.ourParseFloat)(this.prestamo.Plazos[`Gestion${gestion}`]) == 1) {
|
|
@@ -145,6 +153,7 @@ class PrestamoLeasingHandler {
|
|
|
145
153
|
const porcionCorriente = (0, utils_1.ourParseFloat)(this.prestamo.AmortizacionesCapitalFinal?.[`Gestion${index}`]) +
|
|
146
154
|
(0, utils_1.ourParseFloat)(this.prestamo.AmortizacionesInteres?.[`Gestion${index}`]);
|
|
147
155
|
this.prestamo.PorcionesCorrientes[`Gestion${i}`] = porcionCorriente;
|
|
156
|
+
this.setTotal('PorcionesCorrientes', 'PorcionesCorrientes', i);
|
|
148
157
|
const plazo = (0, utils_1.ourParseFloat)(this.prestamo.Plazos?.[`Gestion${i}`]);
|
|
149
158
|
if (plazo && this.prestamo.TipoAmortizacion) {
|
|
150
159
|
let value;
|
|
@@ -183,8 +192,85 @@ class PrestamoLeasingHandler {
|
|
|
183
192
|
this.prestamo.ActivacionesOperacion[`Gestion${i}`] =
|
|
184
193
|
this.prestamo.ActivacionOperacion;
|
|
185
194
|
}
|
|
195
|
+
this.setTotalActivacionOperacionLeasing(i);
|
|
186
196
|
}
|
|
187
197
|
}
|
|
188
198
|
}
|
|
199
|
+
setCuadroDefinicionOperacion(gestion) {
|
|
200
|
+
const plazo = this.prestamo.Plazos[`Gestion${gestion}`];
|
|
201
|
+
if (plazo && this.prestamo.Plazo && plazo == this.prestamo.Plazo) {
|
|
202
|
+
this.prestamo.CuadroDefinicionOperacion[`Gestion${gestion}`] =
|
|
203
|
+
(0, utils_1.ourParseFloat)(this.prestamo.MontoValorBien);
|
|
204
|
+
}
|
|
205
|
+
this.setTotalCuadroDefinicionOperacion(gestion);
|
|
206
|
+
}
|
|
207
|
+
setEfectoDiferimientoPrincipal(gestion) {
|
|
208
|
+
if (gestion > 1) {
|
|
209
|
+
if (this.prestamo.AnnoProyectadoInicio === gestion - 1 &&
|
|
210
|
+
this.prestamo.TipoAmortizacion) {
|
|
211
|
+
const frecuenciaMeses = {
|
|
212
|
+
MENSUAL: 12,
|
|
213
|
+
BIMENSUAL: 6,
|
|
214
|
+
TRIMESTRAL: 4,
|
|
215
|
+
CUATRIMESTRAL: 3,
|
|
216
|
+
SEMESTRAL: 2,
|
|
217
|
+
ANUAL: 1
|
|
218
|
+
};
|
|
219
|
+
this.prestamo.EfectoDiferimientoPrincipal[`Gestion${gestion}`] =
|
|
220
|
+
(0, utils_1.ourParseFloat)(this.prestamo.MontoCuotaPeriodo) *
|
|
221
|
+
(0, utils_1.ourParseFloat)(this.prestamo.Plazo) *
|
|
222
|
+
frecuenciaMeses[this.prestamo.TipoAmortizacion] -
|
|
223
|
+
(0, utils_1.ourParseFloat)(this.prestamo.MontoOriginal);
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
setEfectoSaldoDiferimiento(gestion) {
|
|
228
|
+
if (gestion > 1) {
|
|
229
|
+
this.prestamo.EfectoSaldoDiferimiento[`Gestion${gestion}`] =
|
|
230
|
+
(0, utils_1.sumCorrelativeKeys)({
|
|
231
|
+
data: this.prestamo.EfectoDiferimientoPrincipal ?? {},
|
|
232
|
+
baseKey: 'Gestion',
|
|
233
|
+
startIndex: 1,
|
|
234
|
+
endIndex: gestion
|
|
235
|
+
}) -
|
|
236
|
+
(0, utils_1.sumCorrelativeKeys)({
|
|
237
|
+
data: this.prestamo.AmortizacionesInteres ?? {},
|
|
238
|
+
baseKey: 'Gestion',
|
|
239
|
+
startIndex: 1,
|
|
240
|
+
endIndex: gestion - 1
|
|
241
|
+
});
|
|
242
|
+
}
|
|
243
|
+
this.setTotal('EfectoSaldoDiferimiento', 'EfectoSaldoDiferimiento', gestion);
|
|
244
|
+
}
|
|
245
|
+
setEfectoPerdidaLeaseback(gestion) {
|
|
246
|
+
if (this.prestamo.TipoOperacion === 'LEASEBACK') {
|
|
247
|
+
if (this.prestamo.Plazo &&
|
|
248
|
+
this.prestamo.Plazo ===
|
|
249
|
+
this.prestamo.Plazos?.[`Gestion${gestion}`]) {
|
|
250
|
+
this.prestamo.EfectoPerdidaLeaseback[`Gestion${gestion}`] =
|
|
251
|
+
(0, utils_1.ourParseFloat)(this.prestamo.MontoValorBien) -
|
|
252
|
+
(0, utils_1.ourParseFloat)(this.prestamo.MontoOriginal) -
|
|
253
|
+
(0, utils_1.ourParseFloat)(this.prestamo.MontoValorResidual);
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
this.setTotal('EfectoPerdidaLeaseback', 'EfectoPerdidaLeaseback', gestion);
|
|
257
|
+
}
|
|
258
|
+
setTotal(keyTotales, key, gestion) {
|
|
259
|
+
this.data.Totales.PrestamosLeasing[keyTotales][`Gestion${gestion}`] =
|
|
260
|
+
(0, utils_1.ourParseFloat)(this.data.Totales.PrestamosLeasing[keyTotales][`Gestion${gestion}`]) + (0, utils_1.ourParseFloat)((0, lodash_1.get)(this.prestamo, `${key}.Gestion${gestion}`));
|
|
261
|
+
}
|
|
262
|
+
setTotalActivacionOperacionLeasing(gestion) {
|
|
263
|
+
this.setTotal('ActivacionOperacionLeasing', 'ActivacionesOperacion', gestion);
|
|
264
|
+
}
|
|
265
|
+
setTotalAmortizacionInteres(gestion) {
|
|
266
|
+
if (gestion > 1) {
|
|
267
|
+
this.data.Totales.PrestamosLeasing.AmortizacionesInteres[`Gestion${gestion}`] =
|
|
268
|
+
(0, utils_1.ourParseFloat)(this.data.Totales.PrestamosLeasing.AmortizacionesInteres[`Gestion${gestion}`]) +
|
|
269
|
+
(0, utils_1.ourParseFloat)(this.prestamo.AmortizacionesInteres?.[`Gestion${gestion - 1}`]);
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
setTotalCuadroDefinicionOperacion(gestion) {
|
|
273
|
+
this.setTotal('CuadroDefinicionOperacion', 'CuadroDefinicionOperacion', gestion);
|
|
274
|
+
}
|
|
189
275
|
}
|
|
190
276
|
exports.PrestamoLeasingHandler = PrestamoLeasingHandler;
|