bdpformulas 1.0.25 → 1.0.27

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.
@@ -0,0 +1,12 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <module type="WEB_MODULE" version="4">
3
+ <component name="NewModuleRootManager">
4
+ <content url="file://$MODULE_DIR$">
5
+ <excludeFolder url="file://$MODULE_DIR$/.tmp" />
6
+ <excludeFolder url="file://$MODULE_DIR$/temp" />
7
+ <excludeFolder url="file://$MODULE_DIR$/tmp" />
8
+ </content>
9
+ <orderEntry type="inheritedJdk" />
10
+ <orderEntry type="sourceFolder" forTests="false" />
11
+ </component>
12
+ </module>
@@ -0,0 +1,8 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="ProjectModuleManager">
4
+ <modules>
5
+ <module fileurl="file://$PROJECT_DIR$/.idea/bdpFormulas.iml" filepath="$PROJECT_DIR$/.idea/bdpFormulas.iml" />
6
+ </modules>
7
+ </component>
8
+ </project>
package/.idea/vcs.xml ADDED
@@ -0,0 +1,6 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="VcsDirectoryMappings">
4
+ <mapping directory="$PROJECT_DIR$/.." vcs="Git" />
5
+ </component>
6
+ </project>
package/build/index.d.ts CHANGED
@@ -6,6 +6,8 @@ import CostosPec from "./strategies/pecuary/costos.strategy";
6
6
  import VentasPrd from "./strategies/production/ventas.strategy";
7
7
  import CostosPrd from "./strategies/production/costos.strategy";
8
8
  import CostosAgr from "./strategies/agriculture/costos.strategy";
9
+ import BalanceAgrStrategy from "./strategies/agriculture/balanceAgr.strategy";
10
+ import Balance from "./strategies/balance.strategy";
9
11
  declare const Pecuario: {
10
12
  Auxiliar: typeof Auxiliar;
11
13
  Desarrollo: typeof Desarrollo;
@@ -18,5 +20,9 @@ declare const Produccion: {
18
20
  };
19
21
  declare const Agricola: {
20
22
  CostosAgr: typeof CostosAgr;
23
+ BalanceAgrStrategy: typeof BalanceAgrStrategy;
21
24
  };
22
- export { Context, Agricola, Pecuario, Produccion };
25
+ declare const Actividades: {
26
+ Balance: typeof Balance;
27
+ };
28
+ export { Context, Agricola, Pecuario, Produccion, Actividades };
package/build/index.js CHANGED
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.Produccion = exports.Pecuario = exports.Agricola = exports.Context = void 0;
6
+ exports.Actividades = exports.Produccion = exports.Pecuario = exports.Agricola = exports.Context = void 0;
7
7
  const anexo_strategy_1 = __importDefault(require("./strategies/pecuary/anexo.strategy"));
8
8
  const desarrollo_strategy_1 = __importDefault(require("./strategies/pecuary/desarrollo.strategy"));
9
9
  const ventas_strategy_1 = __importDefault(require("./strategies/pecuary/ventas.strategy"));
@@ -13,6 +13,8 @@ const costos_strategy_1 = __importDefault(require("./strategies/pecuary/costos.s
13
13
  const ventas_strategy_2 = __importDefault(require("./strategies/production/ventas.strategy"));
14
14
  const costos_strategy_2 = __importDefault(require("./strategies/production/costos.strategy"));
15
15
  const costos_strategy_3 = __importDefault(require("./strategies/agriculture/costos.strategy"));
16
+ const balanceAgr_strategy_1 = __importDefault(require("./strategies/agriculture/balanceAgr.strategy"));
17
+ const balance_strategy_1 = __importDefault(require("./strategies/balance.strategy"));
16
18
  const Pecuario = {
17
19
  Auxiliar: anexo_strategy_1.default,
18
20
  Desarrollo: desarrollo_strategy_1.default,
@@ -26,6 +28,11 @@ const Produccion = {
26
28
  };
27
29
  exports.Produccion = Produccion;
28
30
  const Agricola = {
29
- CostosAgr: costos_strategy_3.default
31
+ CostosAgr: costos_strategy_3.default,
32
+ BalanceAgrStrategy: balanceAgr_strategy_1.default
30
33
  };
31
34
  exports.Agricola = Agricola;
35
+ const Actividades = {
36
+ Balance: balance_strategy_1.default
37
+ };
38
+ exports.Actividades = Actividades;
@@ -0,0 +1,6 @@
1
+ import { Strategy } from "../../strategy.interface";
2
+ export default class BalanceAgrStrategy implements Strategy {
3
+ ventas: any;
4
+ costos: any;
5
+ execute(data: any): any;
6
+ }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ class BalanceAgrStrategy {
4
+ execute(data) {
5
+ data.eerr = calcularEERR(data.eerr, this.ventas, this.costos);
6
+ return data;
7
+ }
8
+ }
9
+ exports.default = BalanceAgrStrategy;
10
+ const calcularEERR = (eerr, ventas, costos) => {
11
+ return eerr;
12
+ };
@@ -0,0 +1,4 @@
1
+ import { Strategy } from "../strategy.interface";
2
+ export default class Balance implements Strategy {
3
+ execute(data: any): any;
4
+ }
@@ -0,0 +1,145 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ class Balance {
4
+ execute(data) {
5
+ let result = {};
6
+ if (data.strategy != null)
7
+ data = data.strategy.execute(data);
8
+ result.balance = calcularBalance(data.balance);
9
+ result.eerr = calcularEERR(data.eerr);
10
+ return result;
11
+ }
12
+ }
13
+ exports.default = Balance;
14
+ const calcularBalance = (balance) => {
15
+ let i = 0;
16
+ let result = balance.map((item) => {
17
+ i++;
18
+ return Object.assign(Object.assign({}, item), { MontoEmpresa: parseFloat(item.MontoEmpresa), MontoFamiliar: parseFloat(item.MontoFamiliar), MontoTotal: parseFloat(item.MontoEmpresa) + parseFloat(item.MontoFamiliar), IdVirtual: i });
19
+ });
20
+ result = sumarizarCuenta(['ACT_CN_11000', 'ACT_CN_12000',
21
+ 'ACT_CN_21000', 'ACT_CN_22000', 'ACT_CN_30000'], result);
22
+ result = sumarizarCuenta(['ACT_CN_10000', 'ACT_CN_20000'], result);
23
+ result = adicionarCuenta('ACT_CN_11000', 'ACT_CN_11900', result);
24
+ result = adicionarCuenta('ACT_CN_12000', 'ACT_CN_12900', result);
25
+ result = adicionarCuenta('ACT_CN_10000', 'ACT_CN_19000', result);
26
+ result = adicionarCuenta('ACT_CN_21000', 'ACT_CN_21900', result);
27
+ result = adicionarCuenta('ACT_CN_22000', 'ACT_CN_22900', result);
28
+ result = adicionarCuenta('ACT_CN_20000', 'ACT_CN_29000', result);
29
+ result = adicionarCuenta('ACT_CN_30000', 'ACT_CN_39000', result);
30
+ result = adicionarCuenta('ACT_CN_20000', 'ACT_CN_39900', result);
31
+ result = adicionarCuenta('ACT_CN_30000', 'ACT_CN_39900', result);
32
+ result = trasponer(result);
33
+ return result;
34
+ };
35
+ const calcularEERR = (eerr) => {
36
+ let i = 0;
37
+ let result = eerr.map((item) => {
38
+ i++;
39
+ return Object.assign(Object.assign({}, item), { MontoEmpresa: parseFloat(item.MontoEmpresa), MontoFamiliar: parseFloat(item.MontoFamiliar), MontoTotal: parseFloat(item.MontoEmpresa) + parseFloat(item.MontoFamiliar), IdVirtual: i });
40
+ });
41
+ //Ingresos
42
+ result = sumarizarCuenta(['ACT_CN_40000'], result);
43
+ result = adicionarCuenta('ACT_CN_40000', 'ACT_CN_40003', result);
44
+ //Costos
45
+ result = adicionarCuenta('ACT_CN_41002', 'ACT_CN_41000', result);
46
+ result = adicionarCuenta('ACT_CN_41003', 'ACT_CN_41000', result);
47
+ //Total costos
48
+ result = adicionarCuenta('ACT_CN_41000', 'ACT_CN_41004', result);
49
+ //Utilidad bruta
50
+ result = adicionarCuenta('ACT_CN_40000', 'ACT_CN_42000', result);
51
+ result = adicionarCuenta('ACT_CN_41000', 'ACT_CN_42000', result, true);
52
+ //Gastos
53
+ result = adicionarCuenta('ACT_CN_43003', 'ACT_CN_43000', result);
54
+ result = adicionarCuenta('ACT_CN_43002', 'ACT_CN_43000', result);
55
+ result = adicionarCuenta('ACT_CN_43004', 'ACT_CN_43000', result);
56
+ //Total gastos
57
+ result = adicionarCuenta('ACT_CN_43000', 'ACT_CN_43900', result);
58
+ //Utilidad operativa
59
+ result = adicionarCuenta('ACT_CN_42000', 'ACT_CN_44000', result);
60
+ result = adicionarCuenta('ACT_CN_43000', 'ACT_CN_44000', result, true);
61
+ //Otros Ingresos Egresos
62
+ result = adicionarCuenta('ACT_CN_45001', 'ACT_CN_45000', result);
63
+ result = adicionarCuenta('ACT_CN_45002', 'ACT_CN_45000', result, true);
64
+ result = adicionarCuenta('ACT_CN_45003', 'ACT_CN_45000', result, true);
65
+ result = adicionarCuenta('ACT_CN_45000', 'ACT_CN_45900', result);
66
+ //Utilidad antes de impuestos
67
+ result = adicionarCuenta('ACT_CN_44000', 'ACT_CN_46000', result);
68
+ result = adicionarCuenta('ACT_CN_45000', 'ACT_CN_46000', result);
69
+ //Utilidad neta
70
+ result = adicionarCuenta('ACT_CN_46000', 'ACT_CN_47000', result);
71
+ result = adicionarCuenta('ACT_CN_46001', 'ACT_CN_47000', result, true);
72
+ result = trasponer(result);
73
+ return result;
74
+ };
75
+ const adicionarCuenta = (origen, destino, datos, isNegative = false) => {
76
+ const origenVector = datos.filter((item) => item.RubroId == origen).reduce((acc, valor) => {
77
+ if (!acc.has(valor.Correlativo))
78
+ acc.set(valor.Correlativo, valor);
79
+ return acc;
80
+ }, new Map());
81
+ let destinoVector = datos.filter((item) => item.RubroId == destino);
82
+ destinoVector.forEach((item) => {
83
+ if (isNegative) {
84
+ item.MontoEmpresa -= origenVector.get(item.Correlativo).MontoEmpresa;
85
+ item.MontoFamiliar -= origenVector.get(item.Correlativo).MontoFamiliar;
86
+ item.MontoTotal -= origenVector.get(item.Correlativo).MontoEmpresa;
87
+ }
88
+ else {
89
+ item.MontoEmpresa += origenVector.get(item.Correlativo).MontoEmpresa;
90
+ item.MontoFamiliar += origenVector.get(item.Correlativo).MontoFamiliar;
91
+ item.MontoTotal += origenVector.get(item.Correlativo).MontoEmpresa;
92
+ }
93
+ });
94
+ return datos;
95
+ };
96
+ const sumarizarCuenta = (rubros, datos) => {
97
+ let filtrados = datos.filter((item) => rubros.includes(item.RubroPadreId));
98
+ let grupos = datos.filter((item) => rubros.includes(item.RubroId));
99
+ const suma = filtrados.reduce((acc, item) => {
100
+ const key = `${item.RubroPadreId}_${item.Correlativo}`;
101
+ if (!acc.has(key)) {
102
+ acc.set(key, {
103
+ MontoEmpresa: 0,
104
+ MontoFamiliar: 0,
105
+ MontoTotal: 0
106
+ });
107
+ }
108
+ acc.get(key).MontoEmpresa += item.MontoEmpresa;
109
+ acc.get(key).MontoFamiliar += item.MontoFamiliar;
110
+ acc.get(key).MontoTotal += item.MontoTotal;
111
+ return acc;
112
+ }, new Map());
113
+ grupos.forEach((item) => {
114
+ const key = `${item.RubroId}_${item.Correlativo}`;
115
+ const value = suma.get(key);
116
+ if (value) {
117
+ item.MontoEmpresa = value.MontoEmpresa;
118
+ item.MontoFamiliar = value.MontoFamiliar;
119
+ item.MontoTotal = value.MontoTotal;
120
+ }
121
+ });
122
+ return datos;
123
+ };
124
+ //@ts-ignore
125
+ const trasponer = (data) => {
126
+ let result = data.reduce((acc, item) => {
127
+ const uuid = item.UUID != null ? item.UUID : '0';
128
+ const key = `${item.RubroId}_${uuid}`;
129
+ if (!acc.has(key))
130
+ acc.set(key, {
131
+ RubroId: item.RubroId,
132
+ RubroPadreId: item.RubroPadreId,
133
+ Descripcion: item.Descripcion,
134
+ IndicadorABM: item.IndicadorABM,
135
+ Editable: item.Editable,
136
+ });
137
+ acc.get(key)[`UUID_${item.Correlativo}`] = item.UUID;
138
+ acc.get(key)[`MontoEmpresa_${item.Correlativo}`] = item.MontoEmpresa;
139
+ acc.get(key)[`MontoFamiliar_${item.Correlativo}`] = item.MontoFamiliar;
140
+ acc.get(key)[`MontoTotal_${item.Correlativo}`] = item.MontoTotal;
141
+ acc.get(key)[`Fecha_${item.Correlativo}`] = item.Fecha;
142
+ return acc;
143
+ }, new Map());
144
+ return Array.from(result.values());
145
+ };
@@ -30,6 +30,7 @@ class CostosPrd {
30
30
  execute(data) {
31
31
  let result = {};
32
32
  result.CantidadesProducidas = costosCalc.getValuePivote(data.Ventas);
33
+ console.log('0.1');
33
34
  result.Costos = costosCalc.calcular(data.Costos.Costos);
34
35
  result.Meses = mesesCalc.calcularMeses(result.Costos, data.Costos.Productos);
35
36
  return result;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bdpformulas",
3
- "version": "1.0.25",
3
+ "version": "1.0.27",
4
4
  "description": "",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",