Skip to content

Commit

Permalink
Merge pull request #198 from enflujo/nuevos-indicadores
Browse files Browse the repository at this point in the history
Nuevos indicadores
  • Loading branch information
1cgonza authored Sep 30, 2024
2 parents 8ec7886 + b2d99ea commit 1b58521
Show file tree
Hide file tree
Showing 130 changed files with 328 additions and 101 deletions.
123 changes: 65 additions & 58 deletions aplicaciones/procesador/fuente/aplicacion.ts
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ function procesarLugares() {
}

async function procesarDatos() {
/** 1 */
const ya11 = new VariableSingular('tacued', true, 'porcentaje');
await ya11.procesar('1.1: salud - acueducto', 'YA_1.1', 'Export', 'ya1-1');
const ya12 = new VariableSingular('talcan', true, 'porcentaje');
Expand All @@ -69,76 +70,82 @@ async function procesarDatos() {
await ya15.procesar('1.5: desnutrición', 'YA_1.5', 'Sheet 1', 'ya1-5');
const ya16 = new VariableSingular('bajo_peso', false, 'porcentaje');
await ya16.procesar('1.6: bajo peso', 'YA_1.6', 'Sheet 1', 'ya1-6');
// const ya21 = new VariableSingular('cobertura_bruta_transicion', true, 'porcentaje');
// await ya21.procesar('2.1: cobertura transición', 'YA2_2.1', 'Sheet1', 'ya2-1');
// const ya22 = new VariableSingular('reprobacion_transicion', false, 'porcentaje');
// await ya22.procesar('2.2: cobertura transición', 'YA2_2.2', 'Sheet1', 'ya2-2');
// const ya23 = new VariableSingular('repitencia_transicion', false, 'porcentaje');
// await ya23.procesar('2.3: repitencia transición', 'YA2_2.3', 'Sheet1', 'ya2-3');
// const ya24 = new VariableSingular('desercion_transicion', false, 'porcentaje');
// await ya24.procesar('2.4: deserción transición', 'YA2_2.4', 'Sheet1', 'ya2-4');

/** 2 */
const ya21 = new VariableSingular('neta_transicion', true, 'porcentaje');
await ya21.procesar('2.1: cobertura transición', 'YA_2.1_VF', 'Sheet 1', 'ya2-1');
const ya22 = new VariableSingular('reprobacion_transicion', false, 'porcentaje');
await ya22.procesar('2.2: cobertura transición', 'YA_2.2_VF', 'Sheet 1', 'ya2-2');
const ya23 = new VariableSingular('repitencia_transicion', false, 'porcentaje');
await ya23.procesar('2.3: repitencia transición', 'YA_2.3_VF', 'Sheet 1', 'ya2-3');
const ya24 = new VariableSingular('desercion_transicion', false, 'porcentaje');
await ya24.procesar('2.4: deserción transición', 'YA_2.4_VF', 'Sheet 1', 'ya2-4');

/** 3 */
const ya31 = new VariableSingular('matematicas', true, 'porcentaje');
await ya31.procesar('3.1: saber 11 matemáticas', 'YA_3.1', 'Sheet 1', 'ya3-1');
const ya32 = new VariableSingular('lectura', true, 'porcentaje');
await ya32.procesar('3.2: saber 11 lectura', 'YA_3.2', 'Sheet 1', 'ya3-2');
const ya33 = new VariableSingular('total', true, 'porcentaje');
await ya33.procesar('3.3: saber 11 total', 'YA_3.3', 'Sheet 1', 'ya3-3');
// const ya34 = new VariableSingular('cobertura_bruta_primaria', true, 'porcentaje');
// await ya34.procesar('3.4: cobertura bruta primaria', 'YA3_3.4', 'Sheet1', 'ya3-4');
// const ya35 = new VariableSingular('cobertura_bruta_secundaria', true, 'porcentaje');
// await ya35.procesar('3.5: cobertura bruta secundaria', 'YA3_3.5', 'Sheet1', 'ya3-5');
// const ya36 = new VariableSingular('cobertura_bruta_media', true, 'porcentaje');
// await ya36.procesar('3.6: cobertura media', 'YA3_3.6', 'Sheet1', 'ya3-6');
// const ya37 = new VariableSingular('reprobación_primaria', false, 'porcentaje');
// await ya37.procesar('3.7: reprobación primaria', 'YA3_3.7', 'Sheet1', 'ya3-7');
// const ya38 = new VariableSingular('reprobación_secundaria', false, 'porcentaje');
// await ya38.procesar('3.8: reprobación secundaria', 'YA3_3.8', 'Sheet1', 'ya3-8');
// const ya39 = new VariableSingular('reprobación_media', false, 'porcentaje');
// await ya39.procesar('3.9: reprobación media', 'YA3_3.9', 'Sheet1', 'ya3-9');
// const ya310 = new VariableSingular('repitencia_primaria', false, 'porcentaje');
// await ya310.procesar('3.10: repitencia primaria', 'YA3_3.10', 'Sheet1', 'ya3-10');
// const ya311 = new VariableSingular('repitencia_secundaria', false, 'porcentaje');
// await ya311.procesar('3.11: repitencia secundaria', 'YA3_3.11', 'Sheet1', 'ya3-11');
// const ya312 = new VariableSingular('repitencia_media', false, 'porcentaje');
// await ya312.procesar('3.12: repitencia media', 'YA3_3.12', 'Sheet1', 'ya3-12');
// const ya313 = new VariableSingular('desercion_primaria', false, 'porcentaje');
// await ya313.procesar('3.13: deserción primaria', 'YA3_3.13', 'Sheet1', 'ya3-13');
// const ya314 = new VariableSingular('desercion_secundaria', false, 'porcentaje');
// await ya314.procesar('3.14: deserción secundaria', 'YA3_3.14', 'Sheet1', 'ya3-14');
// const ya315 = new VariableSingular('desercion_media', false, 'porcentaje');
// await ya315.procesar('3.15: deserción media', 'YA3_3.15', 'Sheet1', 'ya3-15');
const ya34 = new VariableSingular('neta_primaria', true, 'porcentaje');
await ya34.procesar('3.4: cobertura bruta primaria', 'YA_3.4_VF', 'Sheet 1', 'ya3-4');
const ya35 = new VariableSingular('neta_media', true, 'porcentaje');
await ya35.procesar('3.5: cobertura bruta secundaria', 'YA_3.5_VF', 'Sheet 1', 'ya3-5');
const ya36 = new VariableSingular('reprobacion_primaria', false, 'porcentaje');
await ya36.procesar('3.6: reprobacion primaria', 'YA_3.6_VF', 'Sheet 1', 'ya3-6');
const ya37 = new VariableSingular('reprobacion_media', false, 'porcentaje');
await ya37.procesar('3.7: reprobación media', 'YA_3.7_VF', 'Sheet 1', 'ya3-7');
const ya38 = new VariableSingular('repitencia_primaria', false, 'porcentaje');
await ya38.procesar('3.8: repitencia primaria', 'YA_3.8_VF', 'Sheet 1', 'ya3-8');
const ya39 = new VariableSingular('repitencia_media', false, 'porcentaje');
await ya39.procesar('3.9: repitencia media', 'YA_3.9_VF', 'Sheet 1', 'ya3-9');
const ya310 = new VariableSingular('desercion_primaria', false, 'porcentaje');
await ya310.procesar('3.10: desercion primaria', 'YA_3.10_VF', 'Sheet 1', 'ya3-10');
const ya311 = new VariableSingular('desercion_media', false, 'porcentaje');
await ya311.procesar('3.11: deserción media', 'YA_3.11_VF', 'Sheet 1', 'ya3-11');

/** 4 */
const ya41 = new VariableSingular('tasa_EDA', false, 'porcentaje');
await ya41.procesar('4.1: mortalidad EDA', 'YA_4.1', 'Sheet 1', 'ya4-1');
const ya42 = new VariableSingular('tasa_IRA', false, 'porcentaje');
await ya42.procesar('4.2: mortalidad IRA', 'YA_4.2', 'Sheet 1', 'ya4-2');
// const ya41 = new NumeradorDenominador(false, 'tasa', 100000);
// await ya41.procesar('4.1: mortalidad EDA', 'YA4_4.1', 'datos', 'ya4-1');
// const ya42 = new NumeradorDenominador(false, 'tasa', 100000);
// await ya42.procesar('4.2: mortalidad IRA', 'YA4_4.2', 'datos', 'ya4-2');
const ya43 = new VariableSingular('tacued', true, 'porcentaje');
await ya43.procesar('4.3: acceso agua potable', 'YA_4.3', 'Export', 'ya4-3');
// const ya44 = new VariableSingular('concentracion', false, 'escala');
// await ya44.procesar('4.4: calidad aire', 'YA4_4.4', 'Sheet1', 'ya4-4');
// const ya71 = new VariableSingular('GINI', false, 'coeficiente', 1.0);
// await ya71.procesar('7.1: GINI', 'YA7_7.1', 'Sheet1', 'ya7-1');
// const ya72 = new VariableSingular('pobreza', false, 'porcentaje');
// await ya72.procesar('7.2: pobreza', 'YA7_7.2', 'Sheet1', 'ya7-2');
// const ya81 = new VariableSingular('tasa', false, 'tasa', 100000);
// await ya81.procesar('8.1: violencia física', 'YA8_8.1', 'Sheet1', 'ya8-1');
// const ya83 = new VariableSingular('delito', false, 'tasa', 100000);
// await ya83.procesar('8.3: delitos participación menores', 'YA8_8.3', 'Sheet1', 'ya8-3');
// const ya84 = new VariableSingular('tasa', false, 'tasa', 100000);
// await ya84.procesar('8.4: delito', 'YA8_8.4', 'Sheet1', 'ya8-4');
// const ya101 = new VariableSingular('e_delito_sex', false, 'conteo', 1);
// await ya101.procesar('10.1: delito sexual', 'YA10_10.1', 'Sheet1', 'ya10-1');
// const ya102 = new VariableSingular('reclu', false, 'conteo', 1);
// await ya102.procesar('10.2: vinculación estructuras criminales', 'YA10_10.2', 'Sheet1', 'ya10-2');
// const ya103 = new VariableSingular('o_acto_terror', false, 'conteo', 1);
// await ya103.procesar('10.3: ataques armados', 'YA10_10.3', 'Sheet1', 'ya10-3');
// const ya104 = new VariableSingular('o_minas_anti', false, 'conteo', 1);
// await ya104.procesar('10.4: explosivos', 'YA10_10.4', 'Sheet1', 'ya10-4');
// const ya105 = new VariableSingular('secu', false, 'conteo', 1);
// await ya105.procesar('10.5: secuestro', 'YA10_10.5', 'Sheet1', 'ya10-5');
const ya44 = new VariableSingular('concentracion', false, 'escala');
await ya44.procesar('4.4: calidad aire', 'YA_4.4', 'Sheet1', 'ya4-4');

/** 7 */
const ya71 = new VariableSingular('gini', false, 'coeficiente', 1.0);
await ya71.procesar('7.1: GINI', 'YA_7.1', 'Sheet1', 'ya7-1');
const ya72 = new VariableSingular('pobreza_monetaria', false, 'porcentaje');
await ya72.procesar('7.2: pobreza monetaria', 'YA_7.2', 'Sheet1', 'ya7-2');

/** 8 */
const ya81 = new VariableSingular('homicidios', false, 'tasa', 100000);
await ya81.procesar('8.1: homicidios', 'YA_8.1', 'Sheet 1', 'ya8-1');
const ya82 = new VariableSingular('sexual', false, 'tasa', 100000);
await ya82.procesar('8.2: violencia sexual', 'YA_8.2', 'Sheet 1', 'ya8-2');
const ya83 = new VariableSingular('intrafamiliar', false, 'tasa', 100000);
await ya83.procesar('8.3: violencia intrafamiliar', 'YA_8.3', 'Sheet 1', 'ya8-3');
const ya84 = new VariableSingular('interpersonal', false, 'tasa', 100000);
await ya84.procesar('8.4: violencia interpersonal', 'YA_8.4', 'Sheet 1', 'ya8-4');

/** 9 */
// const ya91 = new VariableSingular('tasa', false, 'porcentaje');
// await ya91.procesar('9.1: detención no privativa', 'YA_9.1', 'Sheet 1', 'ya9-1');

/** 10 */
const ya101 = new VariableSingular('e_delito_sex', false, 'conteo', 1);
await ya101.procesar('10.1: delito sexual', 'YA10_10.1', 'Sheet1', 'ya10-1');
const ya102 = new VariableSingular('reclu', false, 'conteo', 1);
await ya102.procesar('10.2: vinculación estructuras criminales', 'YA10_10.2', 'Sheet1', 'ya10-2');
const ya103 = new VariableSingular('o_acto_terror', false, 'conteo', 1);
await ya103.procesar('10.3: ataques armados', 'YA10_10.3', 'Sheet1', 'ya10-3');
const ya104 = new VariableSingular('o_minas_anti', false, 'conteo', 1);
await ya104.procesar('10.4: explosivos', 'YA10_10.4', 'Sheet1', 'ya10-4');
const ya105 = new VariableSingular('secu', false, 'conteo', 1);
await ya105.procesar('10.5: secuestro', 'YA10_10.5', 'Sheet1', 'ya10-5');
}

inicio().catch(console.error);
1 change: 0 additions & 1 deletion aplicaciones/procesador/fuente/indicadores/ya8_3_num.json

This file was deleted.

24 changes: 18 additions & 6 deletions aplicaciones/procesador/fuente/modulos/VariableSingular.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import type {
VariableValorSingular,
VariablesSingulares,
} from '@/tipos';
import { guardarJSON, redondearDecimal } from '@/utilidades/ayudas';
import { esNumero, guardarJSON, redondearDecimal } from '@/utilidades/ayudas';
import maquinaXlsx from '@/utilidades/maquinaXlsx';
import { departamentos } from '@/utilidades/lugaresColombia';

Expand Down Expand Up @@ -103,12 +103,24 @@ export default class {

const año = fila.anno;

if (!this.datosMunicipios[año]) {
this.datosMunicipios[año] = [];
}
if (año) {
if (esNumero(`${año}`)) {
const indice = parseInt(`${año}`.replace(',', ''));
if (!indice) {
console.log(año, indice, parseInt(`${año}`), esNumero(`${año}`));
}
if (!this.datosMunicipios[indice]) {
this.datosMunicipios[indice] = [];
}

if (valor) {
this.datosMunicipios[año].push([(municipio as Municipio)[3], redondearDecimal(valor, 1, 2)]);
if (valor) {
this.datosMunicipios[indice].push([(municipio as Municipio)[3], redondearDecimal(valor, 1, 2)]);
}
} else {
this.errata.push({ fila: numeroFila, error: `El año ${año} no es número.` });
}
} else {
this.errata.push({ fila: numeroFila, error: `No hay año en esta fila, sino ${año}` });
}
};

Expand Down
17 changes: 12 additions & 5 deletions aplicaciones/procesador/fuente/tipos.ts
Original file line number Diff line number Diff line change
Expand Up @@ -81,9 +81,12 @@ export type VariableValorSingular =
| 'bajo_peso'
| 'tasa_EDA'
| 'tasa_IRA'
| 'cobertura_bruta_transicion'
| 'neta_transicion'
| 'cobertura_bruta_media'
| 'cobertura_bruta_primaria'
| 'neta_primaria'
| 'neta_media'
| 'reprobacion_primaria'
| 'reprobacion_media'
| 'reprobacion_transicion'
| 'repitencia_transicion'
| 'desercion_transicion'
Expand Down Expand Up @@ -114,11 +117,15 @@ export type VariableValorSingular =
| 'Alumnos_primaria_O'
| 'Alumnos_primaria_N_O'
| 'reclu'
| 'tasa'
| 'intrafamiliar'
| 'delito'
| 'secu'
| 'GINI'
| 'pobreza';
| 'gini'
| 'pobreza_monetaria'
| 'homicidios'
| 'sexual'
| 'interpersonal'
| 'tasa';

export type VariablesSingulares = {
[llave in VariableValorSingular]: number;
Expand Down
1 change: 1 addition & 0 deletions aplicaciones/www/estaticos/datos/Errata ya2-1.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
[{"fila":146,"error":"No existe municipio con código 0"},{"fila":538,"error":"No existe municipio con código 0"},{"fila":959,"error":"No existe municipio con código 0"}]
1 change: 1 addition & 0 deletions aplicaciones/www/estaticos/datos/Errata ya2-2.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
[{"fila":146,"error":"No existe municipio con código 0"},{"fila":538,"error":"No existe municipio con código 0"},{"fila":959,"error":"No existe municipio con código 0"}]
1 change: 1 addition & 0 deletions aplicaciones/www/estaticos/datos/Errata ya2-3.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
[{"fila":146,"error":"No existe municipio con código 0"},{"fila":538,"error":"No existe municipio con código 0"},{"fila":959,"error":"No existe municipio con código 0"}]
1 change: 1 addition & 0 deletions aplicaciones/www/estaticos/datos/Errata ya2-4.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
[{"fila":146,"error":"No existe municipio con código 0"},{"fila":538,"error":"No existe municipio con código 0"},{"fila":959,"error":"No existe municipio con código 0"}]
1 change: 1 addition & 0 deletions aplicaciones/www/estaticos/datos/Errata ya3-10.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
[{"fila":146,"error":"No existe municipio con código 0"},{"fila":538,"error":"No existe municipio con código 0"},{"fila":959,"error":"No existe municipio con código 0"}]
1 change: 1 addition & 0 deletions aplicaciones/www/estaticos/datos/Errata ya3-11.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
[{"fila":146,"error":"No existe municipio con código 0"},{"fila":538,"error":"No existe municipio con código 0"},{"fila":959,"error":"No existe municipio con código 0"}]
1 change: 1 addition & 0 deletions aplicaciones/www/estaticos/datos/Errata ya3-4.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
[{"fila":146,"error":"No existe municipio con código 0"},{"fila":538,"error":"No existe municipio con código 0"},{"fila":959,"error":"No existe municipio con código 0"}]
1 change: 1 addition & 0 deletions aplicaciones/www/estaticos/datos/Errata ya3-5.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
[{"fila":146,"error":"No existe municipio con código 0"},{"fila":538,"error":"No existe municipio con código 0"},{"fila":959,"error":"No existe municipio con código 0"}]
1 change: 1 addition & 0 deletions aplicaciones/www/estaticos/datos/Errata ya3-6.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
[{"fila":146,"error":"No existe municipio con código 0"},{"fila":538,"error":"No existe municipio con código 0"},{"fila":959,"error":"No existe municipio con código 0"}]
1 change: 1 addition & 0 deletions aplicaciones/www/estaticos/datos/Errata ya3-7.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
[{"fila":146,"error":"No existe municipio con código 0"},{"fila":538,"error":"No existe municipio con código 0"},{"fila":959,"error":"No existe municipio con código 0"}]
1 change: 1 addition & 0 deletions aplicaciones/www/estaticos/datos/Errata ya3-8.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
[{"fila":146,"error":"No existe municipio con código 0"},{"fila":538,"error":"No existe municipio con código 0"},{"fila":959,"error":"No existe municipio con código 0"}]
1 change: 1 addition & 0 deletions aplicaciones/www/estaticos/datos/Errata ya3-9.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
[{"fila":146,"error":"No existe municipio con código 0"},{"fila":538,"error":"No existe municipio con código 0"},{"fila":959,"error":"No existe municipio con código 0"}]
2 changes: 1 addition & 1 deletion aplicaciones/www/estaticos/datos/Errata ya4-2.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
[{"fila":13247,"error":"el valor no es un número: #NUM!"}]
[{"fila":12501,"error":"el valor no es un número: #NUM!"}]
1 change: 1 addition & 0 deletions aplicaciones/www/estaticos/datos/Errata ya8-1.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
[{"fila":2,"error":"el valor no es un número: #NUM!"}]
1 change: 1 addition & 0 deletions aplicaciones/www/estaticos/datos/Errata ya8-2.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
[{"fila":2,"error":"el valor no es un número: #NUM!"},{"fila":3,"error":"el valor no es un número: #NUM!"},{"fila":4,"error":"el valor no es un número: #NUM!"},{"fila":5,"error":"el valor no es un número: #NUM!"},{"fila":6,"error":"el valor no es un número: #NUM!"},{"fila":7,"error":"el valor no es un número: #NUM!"},{"fila":8,"error":"el valor no es un número: #NUM!"}]
1 change: 1 addition & 0 deletions aplicaciones/www/estaticos/datos/Errata ya8-3.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
[{"fila":2,"error":"el valor no es un número: #NUM!"},{"fila":3,"error":"el valor no es un número: #NUM!"},{"fila":4,"error":"el valor no es un número: #NUM!"},{"fila":5,"error":"el valor no es un número: #NUM!"}]
1 change: 1 addition & 0 deletions aplicaciones/www/estaticos/datos/Errata ya8-4.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
[{"fila":2,"error":"el valor no es un número: #NUM!"},{"fila":3,"error":"el valor no es un número: #NUM!"},{"fila":4,"error":"el valor no es un número: #NUM!"},{"fila":5,"error":"el valor no es un número: #NUM!"}]
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file modified aplicaciones/www/estaticos/datos/descarga/YA_4.1.xlsx
Binary file not shown.
Binary file modified aplicaciones/www/estaticos/datos/descarga/YA_4.2.xlsx
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading

0 comments on commit 1b58521

Please sign in to comment.