Skip to content

Commit

Permalink
fix(MAT): realiza la busqueda de especialidad en memoria
Browse files Browse the repository at this point in the history
  • Loading branch information
silviroa committed May 5, 2023
1 parent 5d4d506 commit 61867bd
Showing 1 changed file with 13 additions and 18 deletions.
31 changes: 13 additions & 18 deletions scripts/MAT-134.ts
Original file line number Diff line number Diff line change
@@ -1,19 +1,21 @@
import { Profesional } from '../core/tm/schemas/profesional';
import { Especialidad, SIISAEspecialidad } from '../core/tm/schemas/siisa';
import { removeDiacritics } from '../utils/utils';

async function run(done) {

const TotProf = await Profesional.aggregate([{ $count: 'Cant' }]);
let totalProf: Number;
for (const cp of TotProf ) {
for (const cp of TotProf) {
totalProf = cp.Cant;
}

const profesionalEspecialidad = Profesional.find({ $and: [{ 'formacionPosgrado.especialidad': { $ne: null } },
{ $or: [{ 'formacionPosgrado.especialidad._id': null },
{ 'formacionPosgrado.especialidad.codigo.sisa': null },
{ 'formacionPosgrado.especialidad.habilitado': null }] }] })
.cursor({ batchSize: 100 });
const listadoEspecialidades = await Especialidad.find({});
const profesionalEspecialidad = Profesional.find({
$and: [{ 'formacionPosgrado.especialidad': { $ne: null } }, {
$or: [{ 'formacionPosgrado.especialidad._id': null }, { 'formacionPosgrado.especialidad.codigo.sisa': null }, { 'formacionPosgrado.especialidad.habilitado': null }]
}]
}).cursor({ batchSize: 100 });

let cantProf = 0;
let cantProfUp = 0;
Expand All @@ -32,18 +34,16 @@ async function run(done) {
const profEspecialidad = formacionposgrado.especialidad;

if (profEspecialidad.codigo > 0) {
const esp: SIISAEspecialidad = await Especialidad.findOne({ 'codigo.sisa': profEspecialidad.codigo });
const esp = listadoEspecialidades.find(e => e.codigo.sisa === profEspecialidad.codigo);

if (esp) {
formacionposgrado.especialidad = esp;
upProf = true;
}
} else {
if (profEspecialidad.nombre != null) {
const regexNombre = (value) => new RegExp(['^', value, '$'].join(''), 'i');
const params = {
nombre: regexNombre(replSpecialChr(profEspecialidad.nombre))
};
const esp: SIISAEspecialidad = await Especialidad.findOne(params);
const esp = listadoEspecialidades.find(e => removeDiacritics(e.nombre.replace('(R)', '').trim().toLocaleLowerCase()) === removeDiacritics(profEspecialidad.nombre.replace('(R)', '').trim().toLocaleLowerCase()));

if (esp) {
formacionposgrado.especialidad = esp;
upProf = true;
Expand All @@ -53,18 +53,13 @@ async function run(done) {
cantFpg++;
}
if (upProf) {
await Profesional.findByIdAndUpdate( profesionalId, { $set: { formacionPosgrado } });
await Profesional.findByIdAndUpdate(profesionalId, { $set: { formacionPosgrado } });
cantProfUp++;
}
cantProf++;
}
done();
}

function replSpecialChr(texto: string) {
let textoReplace = texto.replace(/\(/g, '.');
textoReplace = textoReplace.replace(/\)/g, '.');
return textoReplace;
}

export = run;

0 comments on commit 61867bd

Please sign in to comment.