bdpformulas 1.0.34 → 1.0.36

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.
@@ -1,8 +1,6 @@
1
1
  import { Strategy } from "../../strategy.interface";
2
2
  export default class BalanceAgrStrategy implements Strategy {
3
- ventas: any;
4
- costos: any;
5
- gastos: any;
3
+ actividades: any[];
6
4
  constructor();
7
5
  execute(data: any): any;
8
6
  }
@@ -1,36 +1,90 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ const balanceAux_calc_1 = require("../common/balanceCalculos/balanceAux.calc");
3
4
  class BalanceAgrStrategy {
4
5
  constructor() {
5
- this.ventas = {};
6
- this.costos = {};
6
+ this.actividades = [];
7
7
  }
8
8
  execute(data) {
9
- data.eerr = calcularEERR(data.eerr, this.ventas, this.costos);
9
+ if (!this.actividades || this.actividades.length == 0)
10
+ throw new Error('Debe ingresar actividades Agrícolas');
11
+ let acumuladoActividades = null;
12
+ for (let actividad of this.actividades) {
13
+ let actividadCalculada = calcularActividad(actividad);
14
+ acumuladoActividades = addAcumulado(acumuladoActividades, actividadCalculada);
15
+ }
16
+ data.eerrMap = calcularEERR(data.eerrMap, data.eerr, acumuladoActividades);
10
17
  return data;
11
18
  }
12
19
  }
13
20
  exports.default = BalanceAgrStrategy;
14
- const calcularEERR = (eerr, ventas, costos) => {
15
- // const totalesOtrosIngresos = getOtrosIngresos(ventas)
16
- // const mapVentas = getVentasXGestion(ventas)
17
- // const costoTotal = calcularCostoTotal(costos)
18
- // const gastos = calcularOtrosGastos(costos)
19
- //
20
- // console.log('mapVentas',mapVentas)
21
- // console.log('totalesOtrosIngresos',totalesOtrosIngresos)
22
- // console.log('costoTotal',costoTotal)
23
- // console.log('gastos',gastos)
24
- return eerr;
21
+ const addAcumulado = (acumuladoActividades, actividadCalculada) => {
22
+ if (acumuladoActividades == null)
23
+ return actividadCalculada;
24
+ else {
25
+ for (let [key, value] of actividadCalculada.ventas) {
26
+ if (acumuladoActividades.ventas.has(key)) {
27
+ let acumulado = acumuladoActividades.ventas.get(key);
28
+ acumulado += value;
29
+ acumuladoActividades.ventas.set(key, acumulado);
30
+ }
31
+ }
32
+ acumuladoActividades.otrosIngresos += actividadCalculada.otrosIngresos;
33
+ acumuladoActividades.costoTotal += actividadCalculada.costoTotal;
34
+ acumuladoActividades.otrosGastos.GastosOperativos += actividadCalculada.otrosGastos.GastosOperativos;
35
+ acumuladoActividades.otrosGastos.GastosFamiliares += actividadCalculada.otrosGastos.GastosFamiliares;
36
+ return acumuladoActividades;
37
+ }
38
+ };
39
+ const calcularActividad = (actividades) => {
40
+ const ventas = getVentasXGestion(actividades.Ventas);
41
+ const otrosIngresos = getOtrosIngresos(actividades.Ventas);
42
+ const costoTotal = calcularCostoTotal(actividades.Costos);
43
+ const otrosGastos = calcularOtrosGastos(actividades.OtrosGastos);
44
+ return { ventas: ventas,
45
+ otrosIngresos: otrosIngresos,
46
+ costoTotal: costoTotal,
47
+ otrosGastos: otrosGastos };
48
+ };
49
+ const calcularEERR = (eerrMap, eerr, consolidado) => {
50
+ if (consolidado) {
51
+ for (let [key, value] of consolidado.ventas) {
52
+ const rubroKey = `ACT_CN_40001_${key}`;
53
+ if (!eerrMap.has(rubroKey))
54
+ throw new Error(`No existe el rubro llave ${rubroKey}`);
55
+ if (eerrMap.get(rubroKey).MontoEmpresa == 0)
56
+ eerrMap.get(rubroKey).MontoEmpresa = value;
57
+ }
58
+ setValueInOtros('ACT_CN_41002', eerrMap, eerr, { MontoEmpresa: consolidado.costoTotal }, 'COSTOS AGR Costo Total');
59
+ setValueInOtros('ACT_CN_43002', eerrMap, eerr, { MontoEmpresa: consolidado.otrosGastos.GastosOperativos }, 'Gastos AGR Total Gastos Operativos');
60
+ setValueInOtros('ACT_CN_43004', eerrMap, eerr, { MontoFamiliar: consolidado.otrosGastos.GastosFamiliares }, 'Gastos AGR Total Gastos Familiares');
61
+ setValueInOtros('ACT_CN_45001', eerrMap, eerr, { MontoFamiliar: consolidado.otrosIngresos }, 'Ventas AGR Otros Ingresos');
62
+ }
63
+ return eerrMap;
64
+ };
65
+ const setValueInOtros = (rubroKey, eerrMap, eerr, values, descripcion) => {
66
+ const muestra = eerr.find((item) => item.RubroId === rubroKey);
67
+ if (!muestra)
68
+ throw new Error(`No existe el rubro ${rubroKey}`);
69
+ if (!eerrMap.has(rubroKey)) {
70
+ (0, balanceAux_calc_1.anadirNuevoRubro)(muestra, eerrMap, values, descripcion);
71
+ }
72
+ else {
73
+ if (values.MontoEmpresa && values.MontoEmpresa > 0)
74
+ eerrMap.get(`${rubroKey}_${muestra.Rango}`).MontoEmpresa = values.MontoEmpresa;
75
+ if (values.MontoFamiliar && values.MontoFamiliar > 0)
76
+ eerrMap.get(`${rubroKey}_${muestra.Rango}`).MontoFamiliar = values.MontoFamiliar;
77
+ }
25
78
  };
26
79
  //@ts-ignore
27
80
  const getOtrosIngresos = (ventas) => {
28
- const ingresosTotales = ventas.OtrosIngresos.reduce((acc, item) => {
81
+ let ingresosTotales = ventas.OtrosIngresos.reduce((acc, item) => {
29
82
  for (let i = 1; i <= 12; i++) {
30
- acc += item[`Gestion${i}`];
83
+ acc += parseFloat(item[`Gestion${i}`]);
31
84
  }
32
85
  return acc;
33
86
  }, 0);
87
+ ingresosTotales = Math.round(ingresosTotales * 100) / 100;
34
88
  return ingresosTotales;
35
89
  };
36
90
  //@ts-ignore
@@ -43,36 +97,38 @@ const getVentasXGestion = (ventas) => {
43
97
  if (!acc.has(i)) {
44
98
  acc.set(i, 0);
45
99
  }
46
- let value = acc.get(i);
47
- value += item[`Gestion${i}`];
48
- acc.set(i, value);
100
+ let value = parseFloat(acc.get(i));
101
+ value += parseFloat(item[`Gestion${i}`]);
102
+ acc.set(i, Math.round(value * 100) / 100);
49
103
  }
50
104
  return acc;
51
105
  }, new Map());
52
- return Array.from(result.values());
106
+ return result;
53
107
  };
54
108
  //@ts-ignore
55
109
  const calcularCostoTotal = (costos) => {
56
110
  let numero = 0;
57
- const filter = costos.filter((item) => item.ActividadProductoId == 0);
58
- if (filter.length > 0) {
59
- numero = filter[0].Total;
111
+ if (costos && costos.Meses) {
112
+ const filter = costos.Meses.filter((item) => item.ActividadProductoId == 0);
113
+ if (filter.length > 0) {
114
+ numero = parseFloat(filter[0].Total);
115
+ }
116
+ numero = Math.round(numero * 100) / 100;
60
117
  }
61
- numero = Math.round(numero * 100) / 100;
62
118
  return numero;
63
119
  };
64
120
  //@ts-ignore
65
121
  const calcularOtrosGastos = (gastos) => {
66
122
  const gastosOperativos = gastos.Operativos.reduce((acc, item) => {
67
- acc += item.ImporteAnual;
123
+ acc += parseFloat(item.ImporteAnual);
68
124
  return acc;
69
125
  }, 0);
70
126
  const gastosFamiliares = gastos.Familiares.reduce((acc, item) => {
71
- acc += item.ImporteAnual;
127
+ acc += parseFloat(item.ImporteAnual);
72
128
  return acc;
73
129
  }, 0);
74
130
  return {
75
- GastosOperativos: gastosOperativos,
76
- GastosFamiliares: gastosFamiliares
131
+ GastosOperativos: Math.round(gastosOperativos * 100) / 100,
132
+ GastosFamiliares: Math.round(gastosFamiliares * 100) / 100
77
133
  };
78
134
  };
@@ -1,8 +1,6 @@
1
1
  import { Strategy } from "../../strategy.interface";
2
2
  export default class FlujoProyectadoAgrStrategy implements Strategy {
3
- ventas: any;
4
- costos: any;
5
- gastos: any;
3
+ actividades: any[];
6
4
  constructor();
7
5
  execute(data: any): any;
8
6
  }
@@ -2,15 +2,14 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  class FlujoProyectadoAgrStrategy {
4
4
  constructor() {
5
- this.ventas = {};
6
- this.costos = {};
5
+ this.actividades = [];
7
6
  }
8
7
  execute(data) {
9
- data.eerr = calcular(data, this.ventas, this.costos);
8
+ data.eerr = calcular(data, this.actividades);
10
9
  return data;
11
10
  }
12
11
  }
13
12
  exports.default = FlujoProyectadoAgrStrategy;
14
- const calcular = (data, ventas, costos) => {
13
+ const calcular = (data, actividades) => {
15
14
  return data;
16
15
  };
@@ -23,14 +23,25 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
+ const balanceCalc = __importStar(require("./common/balance.calc"));
26
27
  const commmon = __importStar(require("./common/balance.calc"));
28
+ const declaracionJurada_calc_1 = require("./common/balanceCalculos/declaracionJurada.calc");
29
+ const flujoAux_calc_1 = require("./common/balanceCalculos/flujoAux.calc");
27
30
  class Balance {
28
31
  execute(data) {
29
32
  let result = {};
30
- const balanceClone = trasponer(commmon.clone(data.balance));
31
- const eerrClone = trasponer(commmon.clone(data.eerr));
33
+ const balanceClone = balanceCalc.trasponer(commmon.clone(data.balance));
34
+ const eerrClone = balanceCalc.trasponer(commmon.clone(data.eerr));
35
+ let balanceMap = balanceCalc.getBalanceHashMap(data.balance);
36
+ let eerrMap = balanceCalc.getBalanceHashMap(data.eerr);
37
+ (0, declaracionJurada_calc_1.anadirDeclaracionJurada)(balanceMap, data.balance, data.declaracionJurada.Balance);
38
+ data.eerrMap = eerrMap;
39
+ (0, flujoAux_calc_1.setFlujoInEERR)(data);
32
40
  if (data.strategy != null)
33
41
  data = data.strategy.execute(data);
42
+ delete data.eerrMap;
43
+ data.balance = Array.from(balanceMap.values());
44
+ data.eerr = Array.from(eerrMap.values());
34
45
  result.balance = calcularBalance(data.balance);
35
46
  result.eerr = calcularEERR(data.eerr);
36
47
  result.DataOriginal = {
@@ -45,7 +56,8 @@ const calcularBalance = (balance) => {
45
56
  let i = 0;
46
57
  let result = balance.map((item) => {
47
58
  i++;
48
- return Object.assign(Object.assign({}, item), { MontoEmpresa: parseFloat(item.MontoEmpresa), MontoFamiliar: parseFloat(item.MontoFamiliar), MontoTotal: parseFloat(item.MontoEmpresa) + parseFloat(item.MontoFamiliar), IdVirtual: i });
59
+ const esGrupo = item.Clasificador == 'P' || item.Clasificador == 'C';
60
+ return Object.assign(Object.assign({}, item), { MontoEmpresa: (!esGrupo ? parseFloat(item.MontoEmpresa) : 0), MontoFamiliar: (!esGrupo ? parseFloat(item.MontoFamiliar) : 0), MontoTotal: (!esGrupo ? parseFloat(item.MontoEmpresa) + parseFloat(item.MontoFamiliar) : 0), IdVirtual: i });
49
61
  });
50
62
  result = sumarizarCuenta(['ACT_CN_11000', 'ACT_CN_12000',
51
63
  'ACT_CN_21000', 'ACT_CN_22000', 'ACT_CN_30000'], result);
@@ -59,14 +71,15 @@ const calcularBalance = (balance) => {
59
71
  result = adicionarCuenta('ACT_CN_30000', 'ACT_CN_39000', result);
60
72
  result = adicionarCuenta('ACT_CN_20000', 'ACT_CN_39900', result);
61
73
  result = adicionarCuenta('ACT_CN_30000', 'ACT_CN_39900', result);
62
- result = trasponer(result);
74
+ result = balanceCalc.trasponer(result);
63
75
  return result;
64
76
  };
65
77
  const calcularEERR = (eerr) => {
66
78
  let i = 0;
67
79
  let result = eerr.map((item) => {
68
80
  i++;
69
- return Object.assign(Object.assign({}, item), { MontoEmpresa: parseFloat(item.MontoEmpresa), MontoFamiliar: parseFloat(item.MontoFamiliar), MontoTotal: parseFloat(item.MontoEmpresa) + parseFloat(item.MontoFamiliar), IdVirtual: i });
81
+ const esGrupo = item.Clasificador == 'P' || item.Clasificador == 'C';
82
+ return Object.assign(Object.assign({}, item), { MontoEmpresa: (!esGrupo ? parseFloat(item.MontoEmpresa) : 0), MontoFamiliar: (!esGrupo ? parseFloat(item.MontoFamiliar) : 0), MontoTotal: (!esGrupo ? parseFloat(item.MontoEmpresa) + parseFloat(item.MontoFamiliar) : 0), IdVirtual: i });
70
83
  });
71
84
  //Ingresos
72
85
  result = sumarizarCuenta(['ACT_CN_40000'], result);
@@ -99,7 +112,7 @@ const calcularEERR = (eerr) => {
99
112
  //Utilidad neta
100
113
  result = adicionarCuenta('ACT_CN_46000', 'ACT_CN_47000', result);
101
114
  result = adicionarCuenta('ACT_CN_46001', 'ACT_CN_47000', result, true);
102
- result = trasponer(result);
115
+ result = balanceCalc.trasponer(result);
103
116
  return result;
104
117
  };
105
118
  const adicionarCuenta = (origen, destino, datos, isNegative = false) => {
@@ -151,46 +164,3 @@ const sumarizarCuenta = (rubros, datos) => {
151
164
  });
152
165
  return datos;
153
166
  };
154
- //@ts-ignore
155
- const trasponer = (data) => {
156
- let result = data.reduce((acc, item) => {
157
- const uuid = item.UUID != null ? item.UUID : '0';
158
- const key = `${item.RubroId}_${uuid}`;
159
- if (!acc.has(key)) {
160
- acc.set(key, {
161
- RubroId: item.RubroId,
162
- RubroPadreId: item.RubroPadreId,
163
- Descripcion: item.Descripcion,
164
- IndicadorABM: item.IndicadorABM,
165
- Clasificador: item.Clasificador,
166
- Borrable: (item.Clasificador == 'HABM'),
167
- Editable: item.Editable,
168
- Secuencia: item.Secuencia,
169
- UUID: item.UUID,
170
- Rango: item.Rango,
171
- });
172
- for (let i = 1; i <= item.Rango; i++) {
173
- acc.get(key)[`MontoEmpresa_${i}`] = 0;
174
- acc.get(key)[`MontoFamiliar_${i}`] = 0;
175
- acc.get(key)[`MontoTotal_${i}`] = 0;
176
- acc.get(key)[`Fecha_${i}`] = null;
177
- }
178
- }
179
- acc.get(key)[`MontoEmpresa_${item.Correlativo}`] = item.MontoEmpresa;
180
- acc.get(key)[`MontoFamiliar_${item.Correlativo}`] = item.MontoFamiliar;
181
- acc.get(key)[`MontoTotal_${item.Correlativo}`] = item.MontoTotal;
182
- acc.get(key)[`Fecha_${item.Correlativo}`] = item.Fecha;
183
- return acc;
184
- }, new Map());
185
- result = Array.from(result.values());
186
- result = result.sort((a, b) => a.RubroId.localeCompare(b.RubroId));
187
- return result;
188
- };
189
- // const esBorrable=(rubroId: string )=>{
190
- //
191
- // // const rubrosBorrables = ['ACT_CN_11004','ACT_CN_12005',
192
- // // 'ACT_CN_21003','ACT_CN_22003','ACT_CN_30002',
193
- // // 'ACT_CN_40002','ACT_CN_41003','ACT_CN_43004','ACT_CN_45001']
194
- // return (rubrosBorrables.includes(rubroId))
195
- // }
196
- //
@@ -1,2 +1,4 @@
1
1
  export declare const clone: (data: any) => any;
2
+ export declare const getBalanceHashMap: (balance: any) => any;
3
+ export declare const trasponer: (data: any) => any;
2
4
  export declare const calcularPorcentaje: (balance: any) => void;
@@ -1,10 +1,63 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.calcularPorcentaje = exports.clone = void 0;
3
+ exports.calcularPorcentaje = exports.trasponer = exports.getBalanceHashMap = exports.clone = void 0;
4
4
  const clone = (data) => {
5
5
  return JSON.parse(JSON.stringify(data));
6
6
  };
7
7
  exports.clone = clone;
8
+ const getBalanceHashMap = (balance) => {
9
+ if (!balance || balance.length == 0)
10
+ throw new Error('Debe ingresar un balance válido');
11
+ const result = balance.reduce((acc, item) => {
12
+ if (item.Clasificador !== 'CT') {
13
+ let key = `${item.RubroId}_${item.Correlativo}`;
14
+ if (item.Clasificador !== 'H') {
15
+ key = `${item.RubroId}_${!item.UUID ? '0' : item.UUID}_${item.Correlativo}`;
16
+ }
17
+ if (!acc.has(key)) {
18
+ acc.set(key, Object.assign({}, item));
19
+ }
20
+ }
21
+ return acc;
22
+ }, new Map());
23
+ return result;
24
+ };
25
+ exports.getBalanceHashMap = getBalanceHashMap;
26
+ const trasponer = (data) => {
27
+ let result = data.reduce((acc, item) => {
28
+ const uuid = item.UUID != null ? item.UUID : '0';
29
+ const key = `${item.RubroId}_${uuid}`;
30
+ if (!acc.has(key)) {
31
+ acc.set(key, {
32
+ RubroId: item.RubroId,
33
+ RubroPadreId: item.RubroPadreId,
34
+ Descripcion: item.Descripcion,
35
+ IndicadorABM: item.IndicadorABM,
36
+ Clasificador: item.Clasificador,
37
+ Borrable: (item.Clasificador == 'HABM'),
38
+ Editable: item.Editable,
39
+ Secuencia: item.Secuencia,
40
+ UUID: item.UUID,
41
+ Rango: item.Rango,
42
+ });
43
+ for (let i = 1; i <= item.Rango; i++) {
44
+ acc.get(key)[`MontoEmpresa_${i}`] = 0;
45
+ acc.get(key)[`MontoFamiliar_${i}`] = 0;
46
+ acc.get(key)[`MontoTotal_${i}`] = 0;
47
+ acc.get(key)[`Fecha_${i}`] = null;
48
+ }
49
+ }
50
+ acc.get(key)[`MontoEmpresa_${item.Correlativo}`] = item.MontoEmpresa;
51
+ acc.get(key)[`MontoFamiliar_${item.Correlativo}`] = item.MontoFamiliar;
52
+ acc.get(key)[`MontoTotal_${item.Correlativo}`] = item.MontoTotal;
53
+ acc.get(key)[`Fecha_${item.Correlativo}`] = item.Fecha;
54
+ return acc;
55
+ }, new Map());
56
+ result = Array.from(result.values());
57
+ result = result.sort((a, b) => a.RubroId.localeCompare(b.RubroId));
58
+ return result;
59
+ };
60
+ exports.trasponer = trasponer;
8
61
  const calcularPorcentaje = (balance) => {
9
62
  };
10
63
  exports.calcularPorcentaje = calcularPorcentaje;
@@ -0,0 +1 @@
1
+ export declare const anadirNuevoRubro: (muestra: any, balanceMap: any, values: any, descripcion: string) => void;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.anadirNuevoRubro = void 0;
4
+ const anadirNuevoRubro = (muestra, balanceMap, values, descripcion) => {
5
+ for (let i = 1; i <= muestra.Rango; i++) {
6
+ let newData = Object.assign(Object.assign({}, muestra), { Descripcion: `${muestra.Descripcion} ${descripcion}`, Fecha: null, Correlativo: i, MontoFamiliar: 0, MontoEmpresa: 0, IndicadorABM: 'N', Editable: false, Clasificador: 'CT' });
7
+ if (i == muestra.Rango) {
8
+ if (values.MontoEmpresa && values.MontoEmpresa > 0)
9
+ newData.MontoEmpresa = values.MontoEmpresa;
10
+ if (values.MontoFamiliar && values.MontoFamiliar > 0)
11
+ newData.MontoFamiliar = values.MontoFamiliar;
12
+ }
13
+ balanceMap.set(`${muestra.RubroId}_${i}`, newData);
14
+ }
15
+ };
16
+ exports.anadirNuevoRubro = anadirNuevoRubro;
@@ -0,0 +1 @@
1
+ export declare const anadirDeclaracionJurada: (balanceMap: any, balanceArray: any, declaracionJurada: any) => void;
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.anadirDeclaracionJurada = void 0;
4
+ const balanceAux_calc_1 = require("./balanceAux.calc");
5
+ const anadirDeclaracionJurada = (balanceMap, balanceArray, declaracionJurada) => {
6
+ const rango = balanceArray[0].Rango;
7
+ if (!declaracionJurada || declaracionJurada.length == 0)
8
+ throw new Error('Debe ingresar un Declaración Jurada válida');
9
+ const declaracionMap = declaracionJurada.reduce((acc, item) => {
10
+ acc.set(item.RubroId, item);
11
+ if (!acc.has('Total')) {
12
+ acc.set('Total', { TotalActivosE: 0, TotalPasivosE: 0, TotalActivosF: 0, TotalPasivosF: 0 });
13
+ }
14
+ if (item.TipoRubroId === 'ACTIVOS') {
15
+ acc.get('Total').TotalActivosE += parseFloat(item.MontoEmpresa);
16
+ acc.get('Total').TotalActivosF += parseFloat(item.MontoFamiliar);
17
+ }
18
+ if (item.TipoRubroId === 'PASIVOS') {
19
+ acc.get('Total').TotalPasivosE += parseFloat(item.MontoEmpresa);
20
+ acc.get('Total').TotalPasivosF += parseFloat(item.MontoFamiliar);
21
+ }
22
+ return acc;
23
+ }, new Map());
24
+ let referencia = [];
25
+ referencia.push(arrayValue(['SOL_ACT_001'], 'ACT_CN_11001'));
26
+ referencia.push(arrayValue(['SOL_ACT_002'], 'ACT_CN_11002'));
27
+ referencia.push(arrayValue(['SOL_ACT_011'], 'ACT_CN_11003'));
28
+ referencia.push(arrayValue(['SOL_ACT_003'], 'ACT_CN_12001'));
29
+ referencia.push(arrayValue(['SOL_ACT_005', 'SOL_ACT_007', 'SOL_ACT_008', 'SOL_ACT_009', 'SOL_ACT_010'], 'ACT_CN_12002'));
30
+ referencia.push(arrayValue(['SOL_ACT_004'], 'ACT_CN_12003'));
31
+ referencia.push(arrayValue(['SOL_ACT_006', 'SOL_ACT_012'], 'ACT_CN_12004'));
32
+ referencia.push(arrayValue(['SOL_PAS_001'], 'ACT_CN_21001'));
33
+ referencia.push(arrayValue(['SOL_PAS_002'], 'ACT_CN_21002'));
34
+ referencia.push(arrayValue(['SOL_PAS_003'], 'ACT_CN_22001'));
35
+ referencia.push(arrayValue(['SOL_PAS_004'], 'ACT_CN_22002'));
36
+ for (const item of referencia) {
37
+ const key = `${item.key}_${rango}`;
38
+ if (balanceMap.has(key)) {
39
+ if (balanceMap.get(key).MontoEmpresa == 0 || balanceMap.get(key).MontoFamiliar == 0) {
40
+ const values = getValuesFromDj(item.array, declaracionMap);
41
+ if (balanceMap.get(key).MontoEmpresa == 0)
42
+ balanceMap.get(key).MontoEmpresa = values.montoEmpresa;
43
+ if (balanceMap.get(key).MontoFamiliar == 0)
44
+ balanceMap.get(key).MontoFamiliar = values.montoFamiliar;
45
+ }
46
+ }
47
+ else {
48
+ const some = balanceArray.find((value) => value.RubroId === item.ley);
49
+ const values = getValuesFromDj(item.array, declaracionMap);
50
+ (0, balanceAux_calc_1.anadirNuevoRubro)(some, balanceMap, values, '(Declaración Jurada)');
51
+ }
52
+ }
53
+ const keyCapital = `ACT_CN_30001_${rango}`;
54
+ balanceMap.get(keyCapital).MontoEmpresa = declaracionMap.get('Total').TotalActivosE -
55
+ declaracionMap.get('Total').TotalPasivosE;
56
+ balanceMap.get(keyCapital).MontoFamiliar = declaracionMap.get('Total').TotalActivosF -
57
+ declaracionMap.get('Total').TotalPasivosF;
58
+ };
59
+ exports.anadirDeclaracionJurada = anadirDeclaracionJurada;
60
+ const arrayValue = (array, key) => {
61
+ return {
62
+ array: array,
63
+ key: key
64
+ };
65
+ };
66
+ const getValuesFromDj = (arrayDj, declaracionMap) => {
67
+ let montoFamiliar = 0;
68
+ let montoEmpresa = 0;
69
+ for (const djItem of arrayDj) {
70
+ montoEmpresa += parseFloat(declaracionMap.get(djItem).MontoEmpresa);
71
+ montoFamiliar += parseFloat(declaracionMap.get(djItem).MontoFamiliar);
72
+ }
73
+ return { montoFamiliar, montoEmpresa };
74
+ };
@@ -0,0 +1 @@
1
+ export declare const setFlujoInEERR: (data: any) => Promise<void>;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.setFlujoInEERR = void 0;
13
+ const setFlujoInEERR = (data) => __awaiter(void 0, void 0, void 0, function* () {
14
+ if (data.flujoProyectado && data.flujoProyectado.FlujoProyectadoMensual
15
+ && data.flujoProyectado.FlujoProyectadoMensual.length > 0) {
16
+ let gastosFinancierosEmp = data.flujoProyectado.FlujoProyectadoMensual.
17
+ filter((value) => value.RubroId == 'ACT_CNFL_61001').reduce((acc, item) => {
18
+ for (let i = 1; i <= 12; i++) {
19
+ acc += parseFloat(item[`Monto${i}`]);
20
+ }
21
+ return acc;
22
+ }, 0);
23
+ const rango = data.eerrMap.get('ACT_CN_43003_1').Rango;
24
+ data.eerrMap.get(`ACT_CN_43003_${rango}`).MontoEmpresa = gastosFinancierosEmp;
25
+ }
26
+ });
27
+ exports.setFlujoInEERR = setFlujoInEERR;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bdpformulas",
3
- "version": "1.0.34",
3
+ "version": "1.0.36",
4
4
  "description": "",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",