bdpformulas 1.0.5 → 1.0.6
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 +2 -2
- package/build/index.js +3 -26
- package/build/models/pecuary/auxiliar.schema.d.ts +80 -0
- package/build/models/pecuary/desarrolloResponse.Schema.d.ts +767 -0
- package/build/models/pecuary/desarrolloResponse.Schema.js +53 -0
- package/build/strategies/pecuary/Constantes.d.ts +21 -0
- package/build/strategies/pecuary/Constantes.js +41 -0
- package/build/strategies/pecuary/anexo.strategy.js +3 -3
- package/build/strategies/pecuary/desarrollo.detail/desarrolloCalc.d.ts +29 -0
- package/build/strategies/pecuary/desarrollo.detail/desarrolloCalc.js +79 -0
- package/build/strategies/pecuary/desarrollo.detail/hatoDisponibleCalc.d.ts +1 -0
- package/build/strategies/pecuary/desarrollo.detail/hatoDisponibleCalc.js +10 -0
- package/build/strategies/pecuary/desarrollo.detail/mortalidadCalc.d.ts +1 -0
- package/build/strategies/pecuary/desarrollo.detail/mortalidadCalc.js +16 -0
- package/build/strategies/pecuary/desarrollo.detail/proyeccionCalc.d.ts +1 -0
- package/build/strategies/pecuary/desarrollo.detail/proyeccionCalc.js +90 -0
- package/build/strategies/pecuary/desarrollo.detail/requerimientoCalc.d.ts +1 -0
- package/build/strategies/pecuary/desarrollo.detail/requerimientoCalc.js +26 -0
- package/build/strategies/pecuary/desarrollo.detail/ventasAnualesCalc.d.ts +1 -0
- package/build/strategies/pecuary/desarrollo.detail/ventasAnualesCalc.js +10 -0
- package/build/strategies/pecuary/desarrollo.detail/ventasCantidadCalc.d.ts +1 -0
- package/build/strategies/pecuary/desarrollo.detail/ventasCantidadCalc.js +11 -0
- package/build/strategies/pecuary/desarrollo.strategy.d.ts +5 -0
- package/build/strategies/pecuary/desarrollo.strategy.js +89 -0
- package/package.json +1 -1
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CalcDesarrolloSchema = exports.DesarrolloSchema = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const auxiliar_schema_1 = require("./auxiliar.schema");
|
|
6
|
+
const SolicitudSchema = zod_1.z.object({
|
|
7
|
+
SolicitudOperacionId: zod_1.z.number(),
|
|
8
|
+
TipoSolicitudOperacionId: zod_1.z.string(),
|
|
9
|
+
Monto: zod_1.z.string(),
|
|
10
|
+
Moneda: zod_1.z.string(),
|
|
11
|
+
MonedaDesc: zod_1.z.string(),
|
|
12
|
+
Plazo: zod_1.z.string(),
|
|
13
|
+
TipoOperacionId: zod_1.z.string(),
|
|
14
|
+
TipoOperacionDesc: zod_1.z.string(),
|
|
15
|
+
});
|
|
16
|
+
const AvaluoSchema = zod_1.z.object({
|
|
17
|
+
RubroId: zod_1.z.string(),
|
|
18
|
+
Descripcion: zod_1.z.string(),
|
|
19
|
+
PlanInversion: zod_1.z.string().nullable(),
|
|
20
|
+
Equivalencia: zod_1.z.string().nullable(),
|
|
21
|
+
Porcentaje: zod_1.z.string().nullable(),
|
|
22
|
+
Justificaciones: zod_1.z.string().nullable(),
|
|
23
|
+
HatoInicial: zod_1.z.number().nullable().optional(),
|
|
24
|
+
PrecioVenta: zod_1.z.number().nullable().optional(),
|
|
25
|
+
});
|
|
26
|
+
const ParametroSchema = zod_1.z.object({
|
|
27
|
+
RubroId: zod_1.z.string(),
|
|
28
|
+
Descripcion: zod_1.z.string(),
|
|
29
|
+
Tipo: zod_1.z.string().nullable(),
|
|
30
|
+
Porcentaje: zod_1.z.string().nullable(),
|
|
31
|
+
Bandera: zod_1.z.string().nullable(),
|
|
32
|
+
Justificaciones: zod_1.z.string().nullable(),
|
|
33
|
+
});
|
|
34
|
+
exports.DesarrolloSchema = zod_1.z.object({
|
|
35
|
+
EvaluacionId: zod_1.z.number(),
|
|
36
|
+
FechaEvaluacion: zod_1.z.string(), // Use z.date() if you want to parse it as a Date object
|
|
37
|
+
ActividadEconomicaId: zod_1.z.number(),
|
|
38
|
+
PersonaId: zod_1.z.number(),
|
|
39
|
+
PID: zod_1.z.string(),
|
|
40
|
+
NombreCompleto: zod_1.z.string(),
|
|
41
|
+
Municipio: zod_1.z.string(),
|
|
42
|
+
NombrePropiedad: zod_1.z.string(),
|
|
43
|
+
TamannoHectareas: zod_1.z.string(),
|
|
44
|
+
ActividadGanadera: zod_1.z.string(),
|
|
45
|
+
CantidadProyeccion: zod_1.z.number(),
|
|
46
|
+
Solicitudes: zod_1.z.array(SolicitudSchema),
|
|
47
|
+
Avaluo: zod_1.z.array(AvaluoSchema),
|
|
48
|
+
Parametros: zod_1.z.array(ParametroSchema),
|
|
49
|
+
});
|
|
50
|
+
exports.CalcDesarrolloSchema = zod_1.z.object({
|
|
51
|
+
Desarrollo: exports.DesarrolloSchema,
|
|
52
|
+
Auxiliar: auxiliar_schema_1.AuxiliarSchema
|
|
53
|
+
});
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export declare const PARAMETROS: {
|
|
2
|
+
IND_PAR: string;
|
|
3
|
+
IND_MOR1: string;
|
|
4
|
+
IND_MOR2: string;
|
|
5
|
+
REL_HEM_MACH: string;
|
|
6
|
+
REL_VACA_TORO: string;
|
|
7
|
+
REL_USO_CAMPO: string;
|
|
8
|
+
PRE_VAQUILLA_2_3: string;
|
|
9
|
+
PRE_VAQUILLA_1_2: string;
|
|
10
|
+
};
|
|
11
|
+
export declare const RUBROS: {
|
|
12
|
+
ACT_PEC_H12: string;
|
|
13
|
+
ACT_PEC_H1324: string;
|
|
14
|
+
ACT_PEC_H2536: string;
|
|
15
|
+
ACT_PEC_H36: string;
|
|
16
|
+
ACT_PEC_M12: string;
|
|
17
|
+
ACT_PEC_M1324: string;
|
|
18
|
+
ACT_PEC_M2536: string;
|
|
19
|
+
ACT_PEC_M36: string;
|
|
20
|
+
ACT_PEC_NOV: string;
|
|
21
|
+
};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ACT_PEC_H12 TERNERAS HASTA 12 MESES
|
|
3
|
+
// ACT_PEC_H1324 VAQUILLAS 1-2 AÑOS
|
|
4
|
+
// ACT_PEC_H2536 VAQUILLAS 2-3 AÑOS
|
|
5
|
+
// ACT_PEC_H36 VACAS
|
|
6
|
+
// ACT_PEC_M12 TERNEROS HASTA 12 MESES
|
|
7
|
+
// ACT_PEC_M1324 TORILLOS 1-2 AÑOS
|
|
8
|
+
// ACT_PEC_M2536 TORILLOS 2-3 AÑOS
|
|
9
|
+
// ACT_PEC_M36 TOROS
|
|
10
|
+
// ACT_PEC_NOV NOVILLOS > 3 AÑOS
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.RUBROS = exports.PARAMETROS = void 0;
|
|
13
|
+
// ACT_PEC_DES01 Índice de parición
|
|
14
|
+
// ACT_PEC_DES02 Índice de mortalidad < 1 año
|
|
15
|
+
// ACT_PEC_DES03 Índice de mortalidad > 1 año
|
|
16
|
+
// ACT_PEC_DES04 Relación Hembra Macho (nacimientos)
|
|
17
|
+
// ACT_PEC_DES05 Relación Vaca x Toro
|
|
18
|
+
// ACT_PEC_DES06 Relación Uso de campo (Has/UA)
|
|
19
|
+
// ACT_PEC_DES07 Preñez precoz de vaquillas de 2-3 años
|
|
20
|
+
// ACT_PEC_DES08 Preñez precoz de vaquillas de 1-2 años
|
|
21
|
+
exports.PARAMETROS = {
|
|
22
|
+
IND_PAR: "ACT_PEC_DES01",
|
|
23
|
+
IND_MOR1: "ACT_PEC_DES02",
|
|
24
|
+
IND_MOR2: "ACT_PEC_DES03",
|
|
25
|
+
REL_HEM_MACH: "ACT_PEC_DES04",
|
|
26
|
+
REL_VACA_TORO: "ACT_PEC_DES05",
|
|
27
|
+
REL_USO_CAMPO: "ACT_PEC_DES06",
|
|
28
|
+
PRE_VAQUILLA_2_3: "ACT_PEC_DES07",
|
|
29
|
+
PRE_VAQUILLA_1_2: "ACT_PEC_DES08"
|
|
30
|
+
};
|
|
31
|
+
exports.RUBROS = {
|
|
32
|
+
ACT_PEC_H12: "ACT_PEC_H12",
|
|
33
|
+
ACT_PEC_H1324: "ACT_PEC_H12",
|
|
34
|
+
ACT_PEC_H2536: "ACT_PEC_H12",
|
|
35
|
+
ACT_PEC_H36: "ACT_PEC_H36",
|
|
36
|
+
ACT_PEC_M12: "ACT_PEC_M12",
|
|
37
|
+
ACT_PEC_M1324: "ACT_PEC_M1324",
|
|
38
|
+
ACT_PEC_M2536: "ACT_PEC_M2536",
|
|
39
|
+
ACT_PEC_M36: "ACT_PEC_M36",
|
|
40
|
+
ACT_PEC_NOV: "ACT_PEC_NOV"
|
|
41
|
+
};
|
|
@@ -10,7 +10,7 @@ const calcularHato = (data) => {
|
|
|
10
10
|
const rubros = data.filter((item) => item.Gestion === gestion);
|
|
11
11
|
const precios = rubros.reduce((acc, item) => {
|
|
12
12
|
if (Object.keys(acc).length === 0) {
|
|
13
|
-
acc.Gestion = item.
|
|
13
|
+
acc.Gestion = item.Gestion;
|
|
14
14
|
acc.key = 'PRECIOS';
|
|
15
15
|
acc.GestionDesc = item.GestionDesc;
|
|
16
16
|
acc.Total = parseFloat('0');
|
|
@@ -23,7 +23,7 @@ const calcularHato = (data) => {
|
|
|
23
23
|
}, {});
|
|
24
24
|
const cantidades = rubros.reduce((acc, item) => {
|
|
25
25
|
if (Object.keys(acc).length === 0) {
|
|
26
|
-
acc.Gestion = item.
|
|
26
|
+
acc.Gestion = item.Gestion;
|
|
27
27
|
acc.key = 'CANTIDADES';
|
|
28
28
|
acc.GestionDesc = item.GestionDesc;
|
|
29
29
|
acc.Total = 0;
|
|
@@ -35,7 +35,7 @@ const calcularHato = (data) => {
|
|
|
35
35
|
return acc;
|
|
36
36
|
}, {});
|
|
37
37
|
return [precios, cantidades];
|
|
38
|
-
});
|
|
38
|
+
})[0];
|
|
39
39
|
};
|
|
40
40
|
class Auxiliar {
|
|
41
41
|
execute(data) {
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { AvaluoSchemaType } from "../../../models/pecuary/desarrolloResponse.Schema";
|
|
2
|
+
import { PropiedadesGanaderasType } from "../../../models/pecuary/auxiliar.schema";
|
|
3
|
+
export declare const getAvaluo: (avaluo: AvaluoSchemaType[], propiedades: PropiedadesGanaderasType[]) => {
|
|
4
|
+
RubroId: string;
|
|
5
|
+
Descripcion: string;
|
|
6
|
+
PlanInversion: string | null;
|
|
7
|
+
Equivalencia: string | null;
|
|
8
|
+
Porcentaje: string | null;
|
|
9
|
+
Justificaciones: string | null;
|
|
10
|
+
HatoInicial?: number | null | undefined;
|
|
11
|
+
PrecioVenta?: number | null | undefined;
|
|
12
|
+
}[];
|
|
13
|
+
export declare const getProyectado: (avaluo: any[], CantidadProy: number, init?: number) => any;
|
|
14
|
+
export declare const getEquivalencias: (avaluo: AvaluoSchemaType[]) => {
|
|
15
|
+
RubroId: string;
|
|
16
|
+
Descripcion: string;
|
|
17
|
+
Equivalencia: string | null;
|
|
18
|
+
PrecioVenta: number | null | undefined;
|
|
19
|
+
}[];
|
|
20
|
+
export declare const getDescartes: (avaluo: AvaluoSchemaType[]) => {
|
|
21
|
+
RubroId: string;
|
|
22
|
+
Descripcion: string;
|
|
23
|
+
Porcentaje: string | null;
|
|
24
|
+
Justificaciones: string | null;
|
|
25
|
+
}[];
|
|
26
|
+
export declare const getRequerimientoInit: () => {
|
|
27
|
+
RubroId: string;
|
|
28
|
+
Descripcion: string;
|
|
29
|
+
}[];
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getRequerimientoInit = exports.getDescartes = exports.getEquivalencias = exports.getProyectado = exports.getAvaluo = void 0;
|
|
4
|
+
const getAvaluo = (avaluo, propiedades) => {
|
|
5
|
+
const cantidad = propiedades.length;
|
|
6
|
+
let sumatoria = Array.from(propiedades.reduce((acc, item) => {
|
|
7
|
+
item.Rubros.forEach((rubro) => {
|
|
8
|
+
if (!acc.has(rubro.RubroId)) {
|
|
9
|
+
acc.set(rubro.RubroId, { RubroId: rubro.RubroId, Cantidad: 0, Precio: 0 });
|
|
10
|
+
}
|
|
11
|
+
acc.get(rubro.RubroId).Cantidad = acc.get(rubro.RubroId).Cantidad +
|
|
12
|
+
parseFloat(rubro.CantidadCabezas);
|
|
13
|
+
acc.get(rubro.RubroId).Precio = acc.get(rubro.RubroId).Precio +
|
|
14
|
+
parseFloat(rubro.PrecioCabeza);
|
|
15
|
+
});
|
|
16
|
+
return acc;
|
|
17
|
+
}, new Map()).values());
|
|
18
|
+
sumatoria = sumatoria.map((item) => {
|
|
19
|
+
return Object.assign(Object.assign({}, item), { Cantidad: Math.round(item.Cantidad / cantidad * 100) / 100, PrecioVenta: Math.round(item.Precio / cantidad * 100) / 100 });
|
|
20
|
+
});
|
|
21
|
+
avaluo = avaluo.map((item) => {
|
|
22
|
+
item.HatoInicial = 0;
|
|
23
|
+
if (cantidad > 0) {
|
|
24
|
+
const findx = sumatoria.find((rubro) => rubro.RubroId === item.RubroId);
|
|
25
|
+
if (findx)
|
|
26
|
+
item.HatoInicial = findx.Cantidad;
|
|
27
|
+
else
|
|
28
|
+
item.HatoInicial = 0;
|
|
29
|
+
}
|
|
30
|
+
return item;
|
|
31
|
+
});
|
|
32
|
+
return avaluo;
|
|
33
|
+
};
|
|
34
|
+
exports.getAvaluo = getAvaluo;
|
|
35
|
+
const getProyectado = (avaluo, CantidadProy, init = 1) => {
|
|
36
|
+
let result = {};
|
|
37
|
+
result = avaluo.map((item) => {
|
|
38
|
+
let data = {};
|
|
39
|
+
for (let i = init; i <= CantidadProy; i++) {
|
|
40
|
+
data[`C-${i}`] = 0;
|
|
41
|
+
}
|
|
42
|
+
return Object.assign({ RubroId: item.RubroId, Descripcion: item.Descripcion }, data);
|
|
43
|
+
});
|
|
44
|
+
result = result.reduce((acc, item) => {
|
|
45
|
+
acc.set(item.RubroId, Object.assign({}, item));
|
|
46
|
+
return acc;
|
|
47
|
+
}, new Map());
|
|
48
|
+
return result;
|
|
49
|
+
};
|
|
50
|
+
exports.getProyectado = getProyectado;
|
|
51
|
+
const getEquivalencias = (avaluo) => {
|
|
52
|
+
return avaluo.map((item) => {
|
|
53
|
+
return {
|
|
54
|
+
RubroId: item.RubroId,
|
|
55
|
+
Descripcion: item.Descripcion,
|
|
56
|
+
Equivalencia: item.Equivalencia,
|
|
57
|
+
PrecioVenta: item.PrecioVenta
|
|
58
|
+
};
|
|
59
|
+
});
|
|
60
|
+
};
|
|
61
|
+
exports.getEquivalencias = getEquivalencias;
|
|
62
|
+
const getDescartes = (avaluo) => {
|
|
63
|
+
return avaluo.map((item) => {
|
|
64
|
+
return {
|
|
65
|
+
RubroId: item.RubroId,
|
|
66
|
+
Descripcion: item.Descripcion,
|
|
67
|
+
Porcentaje: item.Porcentaje,
|
|
68
|
+
Justificaciones: item.Justificaciones,
|
|
69
|
+
};
|
|
70
|
+
});
|
|
71
|
+
};
|
|
72
|
+
exports.getDescartes = getDescartes;
|
|
73
|
+
const getRequerimientoInit = () => {
|
|
74
|
+
return [{ RubroId: 'REQ01', Descripcion: '# de Vacas Período' },
|
|
75
|
+
{ RubroId: 'REQ02', Descripcion: 'Toros Actuales (Período Anterior)' },
|
|
76
|
+
{ RubroId: 'REQ03', Descripcion: 'Toros Necesarios' },
|
|
77
|
+
{ RubroId: 'REQ04', Descripcion: 'COMPRA DE TOROS' }];
|
|
78
|
+
};
|
|
79
|
+
exports.getRequerimientoInit = getRequerimientoInit;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const calcularData: (i: number, proyeccion: Map<any, any>, hatoDisponible: Map<any, any>, mortalidad: Map<any, any>) => Map<any, any>;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.calcularData = void 0;
|
|
4
|
+
const calcularData = (i, proyeccion, hatoDisponible, mortalidad) => {
|
|
5
|
+
for (const [key, value] of hatoDisponible) {
|
|
6
|
+
value[`C-${i}`] = Math.round(proyeccion.get(key)[`C-${i - 1}`] - mortalidad.get(key)[`C-${i}`]);
|
|
7
|
+
}
|
|
8
|
+
return hatoDisponible;
|
|
9
|
+
};
|
|
10
|
+
exports.calcularData = calcularData;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const calcularData: (i: number, proyeccion: Map<any, any>, mortalidad: Map<any, any>, parametros: Map<any, any>) => Map<any, any>;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.calcularData = void 0;
|
|
4
|
+
const Constantes_1 = require("../Constantes");
|
|
5
|
+
const calcularData = (i, proyeccion, mortalidad, parametros) => {
|
|
6
|
+
const I12 = parametros.get(Constantes_1.PARAMETROS.IND_MOR1).Porcentaje;
|
|
7
|
+
const I13 = parametros.get(Constantes_1.PARAMETROS.IND_MOR2).Porcentaje;
|
|
8
|
+
for (const [key, value] of mortalidad) {
|
|
9
|
+
if (key == Constantes_1.RUBROS.ACT_PEC_H12 || key == Constantes_1.RUBROS.ACT_PEC_M12)
|
|
10
|
+
value[`C-${i}`] = Math.round(proyeccion.get(key)[`C-${i - 1}`] * I12);
|
|
11
|
+
else
|
|
12
|
+
value[`C-${i}`] = Math.round(proyeccion.get(key)[`C-${i - 1}`] * I13);
|
|
13
|
+
}
|
|
14
|
+
return mortalidad;
|
|
15
|
+
};
|
|
16
|
+
exports.calcularData = calcularData;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const calcularData: (i: number, proyeccion: Map<any, any>, avaluos: Map<any, any>, mortalidad: Map<any, any>, ventasAnuales: Map<any, any>, parametros: Map<any, any>) => any;
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.calcularData = void 0;
|
|
4
|
+
const Constantes_1 = require("../Constantes");
|
|
5
|
+
const formulaInicial = (proyeccion, avaluos) => {
|
|
6
|
+
for (const [key, value] of proyeccion) {
|
|
7
|
+
const avaluo = avaluos.get(key);
|
|
8
|
+
value[`C-0`] = avaluo.HatoInicial * avaluo.PlanInversion;
|
|
9
|
+
}
|
|
10
|
+
return proyeccion;
|
|
11
|
+
};
|
|
12
|
+
const calcularData = (i, proyeccion, avaluos, mortalidad, ventasAnuales, parametros) => {
|
|
13
|
+
if (i == 0)
|
|
14
|
+
return formulaInicial(proyeccion, avaluos);
|
|
15
|
+
else {
|
|
16
|
+
for (const [key, value] of proyeccion) {
|
|
17
|
+
if (key == Constantes_1.RUBROS.ACT_PEC_M36)
|
|
18
|
+
value[`C-${i}`] = formulaToros(i, proyeccion, mortalidad, ventasAnuales);
|
|
19
|
+
if (key == Constantes_1.RUBROS.ACT_PEC_H36)
|
|
20
|
+
value[`C-${i}`] = formulaVacas(i, proyeccion, mortalidad, ventasAnuales);
|
|
21
|
+
if (key == Constantes_1.RUBROS.ACT_PEC_M12)
|
|
22
|
+
value[`C-${i}`] = formulaTerneras(i, proyeccion, parametros);
|
|
23
|
+
if (key == Constantes_1.RUBROS.ACT_PEC_H12)
|
|
24
|
+
value[`C-${i}`] = formulaTerneras(i, proyeccion, parametros);
|
|
25
|
+
if (key == Constantes_1.RUBROS.ACT_PEC_H1324)
|
|
26
|
+
value[`C-${i}`] = formulaVaquillas12(i, proyeccion, mortalidad, ventasAnuales);
|
|
27
|
+
if (key == Constantes_1.RUBROS.ACT_PEC_H2536)
|
|
28
|
+
value[`C-${i}`] = formulaVaquillas23(i, proyeccion, mortalidad, ventasAnuales);
|
|
29
|
+
if (key == Constantes_1.RUBROS.ACT_PEC_M1324)
|
|
30
|
+
value[`C-${i}`] = formulaTorillos12(i, proyeccion, mortalidad, ventasAnuales);
|
|
31
|
+
if (key == Constantes_1.RUBROS.ACT_PEC_M2536)
|
|
32
|
+
value[`C-${i}`] = formulaTorillos23(i, proyeccion, mortalidad, ventasAnuales);
|
|
33
|
+
if (key == Constantes_1.RUBROS.ACT_PEC_NOV)
|
|
34
|
+
value[`C-${i}`] = formulaNovillos(i, proyeccion, mortalidad, ventasAnuales);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
exports.calcularData = calcularData;
|
|
39
|
+
const formulaToros = (i, proyeccion, mortalidad, ventasAnuales) => {
|
|
40
|
+
return proyeccion.get(Constantes_1.RUBROS.ACT_PEC_M36)[`C-${i - 1}`] +
|
|
41
|
+
proyeccion.get(Constantes_1.RUBROS.ACT_PEC_NOV)[`C-${i - 1}`] -
|
|
42
|
+
mortalidad.get(Constantes_1.RUBROS.ACT_PEC_M36)[`C-${i}`] -
|
|
43
|
+
ventasAnuales.get(Constantes_1.RUBROS.ACT_PEC_M36)[`C-${i}`];
|
|
44
|
+
};
|
|
45
|
+
const formulaVacas = (i, proyeccion, mortalidad, ventasAnuales) => {
|
|
46
|
+
return proyeccion.get(Constantes_1.RUBROS.ACT_PEC_H36)[`C-${i - 1}`] +
|
|
47
|
+
proyeccion.get(Constantes_1.RUBROS.ACT_PEC_H2536)[`C-${i - 1}`] -
|
|
48
|
+
mortalidad.get(Constantes_1.RUBROS.ACT_PEC_M36)[`C-${i}`] -
|
|
49
|
+
ventasAnuales.get(Constantes_1.RUBROS.ACT_PEC_M36)[`C-${i}`];
|
|
50
|
+
};
|
|
51
|
+
const formulaTerneras = (i, proyeccion, parametros) => {
|
|
52
|
+
const C25 = proyeccion.get(Constantes_1.RUBROS.ACT_PEC_H36)[`C-${i - 1}`];
|
|
53
|
+
const C29 = proyeccion.get(Constantes_1.RUBROS.ACT_PEC_H1324)[`C-${i - 1}`];
|
|
54
|
+
const C28 = proyeccion.get(Constantes_1.RUBROS.ACT_PEC_H2536)[`C-${i - 1}`];
|
|
55
|
+
const I14 = parametros.get(Constantes_1.PARAMETROS.REL_HEM_MACH).Porcentaje;
|
|
56
|
+
const I11 = parametros.get(Constantes_1.PARAMETROS.IND_PAR).Porcentaje;
|
|
57
|
+
if (parametros.get(Constantes_1.PARAMETROS.PRE_VAQUILLA_1_2).Bandera)
|
|
58
|
+
return ((C25 + C29 + C28) * I14 * I11);
|
|
59
|
+
else {
|
|
60
|
+
if (parametros.get(Constantes_1.PARAMETROS.PRE_VAQUILLA_2_3).Bandera)
|
|
61
|
+
return ((C25 + C29) * I14 * I11);
|
|
62
|
+
else
|
|
63
|
+
return (C25 * I14 * I11);
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
const formulaVaquillas12 = (i, proyeccion, mortalidad, ventasAnuales) => {
|
|
67
|
+
return proyeccion.get(Constantes_1.RUBROS.ACT_PEC_H12)[`C-${i - 1}`] -
|
|
68
|
+
mortalidad.get(Constantes_1.RUBROS.ACT_PEC_H12)[`C-${i}`] -
|
|
69
|
+
ventasAnuales.get(Constantes_1.RUBROS.ACT_PEC_H12)[`C-${i}`];
|
|
70
|
+
};
|
|
71
|
+
const formulaVaquillas23 = (i, proyeccion, mortalidad, ventasAnuales) => {
|
|
72
|
+
return proyeccion.get(Constantes_1.RUBROS.ACT_PEC_H1324)[`C-${i - 1}`] -
|
|
73
|
+
mortalidad.get(Constantes_1.RUBROS.ACT_PEC_H2536)[`C-${i}`] -
|
|
74
|
+
ventasAnuales.get(Constantes_1.RUBROS.ACT_PEC_H1324)[`C-${i}`];
|
|
75
|
+
};
|
|
76
|
+
const formulaTorillos12 = (i, proyeccion, mortalidad, ventasAnuales) => {
|
|
77
|
+
return proyeccion.get(Constantes_1.RUBROS.ACT_PEC_M12)[`C-${i - 1}`] -
|
|
78
|
+
mortalidad.get(Constantes_1.RUBROS.ACT_PEC_M12)[`C-${i}`] -
|
|
79
|
+
ventasAnuales.get(Constantes_1.RUBROS.ACT_PEC_M12)[`C-${i}`];
|
|
80
|
+
};
|
|
81
|
+
const formulaTorillos23 = (i, proyeccion, mortalidad, ventasAnuales) => {
|
|
82
|
+
return proyeccion.get(Constantes_1.RUBROS.ACT_PEC_M1324)[`C-${i - 1}`] -
|
|
83
|
+
mortalidad.get(Constantes_1.RUBROS.ACT_PEC_M1324)[`C-${i}`] -
|
|
84
|
+
ventasAnuales.get(Constantes_1.RUBROS.ACT_PEC_M1324)[`C-${i}`];
|
|
85
|
+
};
|
|
86
|
+
const formulaNovillos = (i, proyeccion, mortalidad, ventasAnuales) => {
|
|
87
|
+
return proyeccion.get(Constantes_1.RUBROS.ACT_PEC_M2536)[`C-${i - 1}`] -
|
|
88
|
+
mortalidad.get(Constantes_1.RUBROS.ACT_PEC_M1324)[`C-${i}`] -
|
|
89
|
+
ventasAnuales.get(Constantes_1.RUBROS.ACT_PEC_M1324)[`C-${i}`];
|
|
90
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const calcularData: (i: number, proyeccion: Map<any, any>, requerimiento: Map<any, any>, parametros: Map<any, any>) => Map<any, any>;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.calcularData = void 0;
|
|
4
|
+
const Constantes_1 = require("../Constantes");
|
|
5
|
+
const calcularData = (i, proyeccion, requerimiento, parametros) => {
|
|
6
|
+
console.log('REQ01');
|
|
7
|
+
const I15 = parametros.get(Constantes_1.PARAMETROS.REL_VACA_TORO).Porcentaje;
|
|
8
|
+
console.log('REQ02');
|
|
9
|
+
for (const [key, value] of requerimiento) {
|
|
10
|
+
if (key == 'REQ01') {
|
|
11
|
+
value[`C-${i}`] = proyeccion.get(Constantes_1.RUBROS.ACT_PEC_H36)[`C-${i - 1}`];
|
|
12
|
+
}
|
|
13
|
+
if (key == 'REQ02')
|
|
14
|
+
value[`C-${i}`] = proyeccion.get(Constantes_1.RUBROS.ACT_PEC_M36)[`C-${i - 1}`];
|
|
15
|
+
}
|
|
16
|
+
console.log('REQ03');
|
|
17
|
+
for (const [key, value] of requerimiento) {
|
|
18
|
+
if (key == 'REQ03')
|
|
19
|
+
value[`C-${i}`] = Math.round(requerimiento.get('REQ01')[`C-${i}`] * I15);
|
|
20
|
+
if (key == 'REQ04')
|
|
21
|
+
value[`C-${i}`] = requerimiento.get('REQ03')[`C-${i}`] -
|
|
22
|
+
requerimiento.get('REQ02')[`C-${i}`];
|
|
23
|
+
}
|
|
24
|
+
return requerimiento;
|
|
25
|
+
};
|
|
26
|
+
exports.calcularData = calcularData;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const calcularData: (i: number, ventasAnuales: Map<any, any>, avaluos: Map<any, any>, hatoDisponible: Map<any, any>) => Map<any, any>;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.calcularData = void 0;
|
|
4
|
+
const calcularData = (i, ventasAnuales, avaluos, hatoDisponible) => {
|
|
5
|
+
for (const [key, value] of ventasAnuales) {
|
|
6
|
+
value[`C-${i}`] = Math.round(hatoDisponible.get(key)[`C-${i}`] * avaluos.get(key).Porcentaje / 100);
|
|
7
|
+
}
|
|
8
|
+
return ventasAnuales;
|
|
9
|
+
};
|
|
10
|
+
exports.calcularData = calcularData;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const calcularData: (i: number, ventasCantidad: Map<any, any>, ventasAnuales: Map<any, any>, avaluosMap: Map<any, any>) => Map<any, any>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.calcularData = void 0;
|
|
4
|
+
const calcularData = (i, ventasCantidad, ventasAnuales, avaluosMap) => {
|
|
5
|
+
for (const [key, value] of ventasCantidad) {
|
|
6
|
+
value[`C-${i}`] = ventasAnuales.get(key)[`C-${i}`] *
|
|
7
|
+
avaluosMap.get(key).Equivalencia;
|
|
8
|
+
}
|
|
9
|
+
return ventasCantidad;
|
|
10
|
+
};
|
|
11
|
+
exports.calcularData = calcularData;
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
const proyeccionCalc = __importStar(require("./desarrollo.detail/proyeccionCalc"));
|
|
27
|
+
const requerimientoCal = __importStar(require("./desarrollo.detail/requerimientoCalc"));
|
|
28
|
+
const mortalidadCalc = __importStar(require("./desarrollo.detail/mortalidadCalc"));
|
|
29
|
+
const hatoDisponibleCalc = __importStar(require("./desarrollo.detail/hatoDisponibleCalc"));
|
|
30
|
+
const ventasCantidadCalc = __importStar(require("./desarrollo.detail/ventasCantidadCalc"));
|
|
31
|
+
const ventasAnualesCalc = __importStar(require("./desarrollo.detail/ventasAnualesCalc"));
|
|
32
|
+
const desarrolloCalc = __importStar(require("./desarrollo.detail/desarrolloCalc"));
|
|
33
|
+
const getProyDesarrollo = (avaluos, parametros, CantidadProy, CantidadHectareas) => {
|
|
34
|
+
console.log('proy0001');
|
|
35
|
+
let proyeccion = desarrolloCalc.getProyectado(avaluos, CantidadProy, 0);
|
|
36
|
+
let requerimiento = desarrolloCalc.getProyectado(desarrolloCalc.getRequerimientoInit(), CantidadProy);
|
|
37
|
+
let mortalidad = desarrolloCalc.getProyectado(avaluos, CantidadProy);
|
|
38
|
+
let hatoDisponible = desarrolloCalc.getProyectado(avaluos, CantidadProy);
|
|
39
|
+
let ventasCantidad = desarrolloCalc.getProyectado(avaluos, CantidadProy);
|
|
40
|
+
let ventasAnuales = desarrolloCalc.getProyectado(avaluos, CantidadProy);
|
|
41
|
+
console.log('proy0002');
|
|
42
|
+
const paramsMap = parametros.reduce((acc, item) => {
|
|
43
|
+
acc.set(item.RubroId, Object.assign({}, item));
|
|
44
|
+
return acc;
|
|
45
|
+
}, new Map());
|
|
46
|
+
const avaluosMap = avaluos.reduce((acc, item) => {
|
|
47
|
+
acc.set(item.RubroId, Object.assign({}, item));
|
|
48
|
+
return acc;
|
|
49
|
+
}, new Map());
|
|
50
|
+
console.log('proy0003');
|
|
51
|
+
for (let i = 0; i <= CantidadProy; i++) {
|
|
52
|
+
if (i == 0) {
|
|
53
|
+
console.log('proy0003.1');
|
|
54
|
+
proyeccion = proyeccionCalc.calcularData(i, proyeccion, avaluosMap, new Map(), new Map(), new Map());
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
console.log('proy0003.2');
|
|
58
|
+
mortalidad = mortalidadCalc.calcularData(i, proyeccion, mortalidad, paramsMap);
|
|
59
|
+
console.log('proy0003.3');
|
|
60
|
+
hatoDisponible = hatoDisponibleCalc.calcularData(i, proyeccion, hatoDisponible, mortalidad);
|
|
61
|
+
console.log('proy0003.4');
|
|
62
|
+
ventasAnuales = ventasAnualesCalc.calcularData(i, ventasAnuales, avaluosMap, hatoDisponible);
|
|
63
|
+
console.log('proy0003.5');
|
|
64
|
+
proyeccion = proyeccionCalc.calcularData(i, proyeccion, avaluosMap, mortalidad, ventasAnuales, paramsMap);
|
|
65
|
+
console.log('proy0003.6');
|
|
66
|
+
requerimiento = requerimientoCal.calcularData(i, proyeccion, requerimiento, paramsMap);
|
|
67
|
+
console.log('proy0003.7');
|
|
68
|
+
ventasCantidad = ventasCantidadCalc.calcularData(i, ventasCantidad, ventasAnuales, avaluosMap);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
console.log('proy0004');
|
|
72
|
+
return { proyeccion, requerimiento, mortalidad, hatoDisponible, ventasCantidad, ventasAnuales };
|
|
73
|
+
};
|
|
74
|
+
class Desarrollo {
|
|
75
|
+
execute(data) {
|
|
76
|
+
let result = data.Desarrollo;
|
|
77
|
+
console.log('dev0001');
|
|
78
|
+
result.Avaluo = desarrolloCalc.getAvaluo(data.Desarrollo.Avaluo, data.Auxiliar.PropiedadesGanaderas);
|
|
79
|
+
result.Parametros = data.Desarrollo.Parametros;
|
|
80
|
+
console.log('dev0002');
|
|
81
|
+
result.ProyeccionDesarrollo = getProyDesarrollo(result.Avaluo, result.Parametros, result.CantidadProyeccion, result.TamannoHectareas);
|
|
82
|
+
console.log('dev0003');
|
|
83
|
+
result.Equivalencias = desarrolloCalc.getEquivalencias(result.Avaluo);
|
|
84
|
+
console.log('dev0004');
|
|
85
|
+
result.Descarte = desarrolloCalc.getDescartes(result.Avaluo);
|
|
86
|
+
return result;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
exports.default = Desarrollo;
|