Skip to content

Instantly share code, notes, and snippets.

@cronopio
Created April 4, 2011 13:59
Show Gist options
  • Save cronopio/901668 to your computer and use it in GitHub Desktop.
Save cronopio/901668 to your computer and use it in GitHub Desktop.
Script de migracion de pruebas segun modelo antiguo del SIPDS
db.pruebas.find().forEach(function(prueba){
print(' ');
print(' ');
print('-------- Inicio Procesamiento Prueba '+prueba.cod_ira);
print('NOMBRE: '+prueba.descrip_pru);
//print(tojson(prueba));
db.pru_param.find({cod_pru:prueba.cod_ira}).forEach(function(param){
if (param) {
// param es cada uno de los parametros descritos en esta tabla que pertenecen a la prueba
print('---- PARAMETRO ENCONTRADO');
db.parametros.find({cod_param:param.cod_param}).forEach(function(nombre){
// nombre nos da el tipo de parametro para la prueba
db.vlr_param.find({cod_param1:param.cod_param, cod_vlrparam1:param.cod_vlrparam}).forEach(function(otroparam){
// es posible que el parametro tenga una subdivicion y aqui se hace
if (otroparam.cod_param2) {
db.vlr_param.find({cod_param1:otroparam.cod_param2,cod_vlrparam1:otroparam.cod_vlrparam2})
.forEach(function(masparams){
print('TIPO: '+nombre.descrip_param+' ==> '+masparams.descrip_vlrparam);
print('NOMBRE: '+otroparam.descrip_vlrparam);
})
} else {
print('TIPO: '+nombre.descrip_param);
print('NOMBRE: '+otroparam.descrip_vlrparam);
}
})
})
}
})
/// Aqui se verifica si la prueba tiene otras pruebas relacionadas
db.comppor.find({cod_pru1:prueba.cod_ira}).forEach(function(rel){
if (rel.cod_pru2) {
db.pruebas.find({cod_ira:rel.cod_pru2}).forEach(function(relPru){
print('-- Esta prueba esta relacionada con otra prueba --');
print('Prueba Relacionada: ('+relPru.cod_ira+') '+relPru.descrip_pru);
})
}
})
// Aqui se verifica las muestras que contenga la prueba
db.cond_muestra.find({cod_pru:prueba.cod_ira}).forEach(function(muestra){
if (muestra) {
print('---- MUESTRA ----');
//print(tojson(muestra));
if (muestra.cod_param_tmues){
// Verifico otro param que ni idea que es - Resulto ser el nombre de la muestra
db.vlr_param.find({cod_param1:muestra.cod_param_tmues, cod_vlrparam1:muestra.cod_vlrparam_tmues})
.forEach(function(niidea){
print('NOMBRE:'+niidea.descrip_vlrparam);
})
}
if (muestra.cod_param_utamb){
// Verifico Temperatura Ambiente y sus params
db.vlr_param.find({cod_param1:muestra.cod_param_utamb,cod_vlrparam1:muestra.cod_vlrparam_utamb})
.forEach(function(tAmbiente){
print('TEMPERATURA AMBIENTE: '+muestra.qtamb+' '+tAmbiente.descrip_vlrparam);
})
}
if (muestra.cod_param_utrefrig){
// Verifico Temperatura refrigerada y sus params
db.vlr_param.find({cod_param1:muestra.cod_param_utrefrig,cod_vlrparam1:muestra.cod_vlrparam_utrefrig})
.forEach(function(tRefrigerada){
print('TEMPERATURA REFRIGERADA: '+muestra.qtrefrig+' '+tRefrigerada.descrip_vlrparam);
})
}
if (muestra.cod_param_utcong){
// Verifico Temperatura congelada y sus params
db.vlr_param.find({cod_param1:muestra.cod_param_utcong,cod_vlrparam1:muestra.cod_vlrparam_utcong})
.forEach(function(tCongelada){
print('TEMPERATURA CONGELADA: '+muestra.qtcong+' '+tCongelada.descrip_vlrparam);
})
}
if (muestra.cod_param_ucant_condm){
// Verifico la Cantidad de la muestra (puede ser Cuantitativa o Cualitativa)
db.vlr_param.find({cod_param1:muestra.cod_param_ucant_condm,cod_vlrparam1:muestra.cod_vlrparam_ucant_condm})
.forEach(function(cant){
print('CANTIDAD CUANTITATIVA: '+muestra.qcant_condm+' '+cant.descrip_vlrparam);
})
}
if (muestra.cod_param_qcual){
// Verifico la cantidad cualitativa
db.vlr_param.find({cod_param1:muestra.cod_param_qcual,cod_vlrparam1:muestra.cod_vlrparam_qcual})
.forEach(function(cant){
print('CANTIDAD CUALITATIVA: '+muestra.qcant_condm+' '+cant.descrip_vlrparam);
})
}
// Ahora voy por los aditivos
if (muestra.cod_condm){
db.condm_aditivo.find({cod_pru:muestra.cod_pru, cod_condm:muestra.cod_condm}).forEach(function(listaAditivo){
if (listaAditivo){
db.vlr_aditivos.find({cod_param:listaAditivo.cod_param, cod_aditivo:listaAditivo.cod_aditivo})
.forEach(function(codAditivo){
if (codAditivo){
db.vlr_param.find({cod_param1:codAditivo.cod_param_nombreaditivo, cod_vlrparam1:codAditivo.cod_vlrparam_nombreaditivo})
.forEach(function(nombreAditivo){
print('------- ADITIVO ------');
print('NOMBRE: '+nombreAditivo.descrip_vlrparam);
db.vlr_param.find({cod_param1:codAditivo.cod_param_ucant_aditivo, cod_vlrparam1:codAditivo.cod_vlrparam_ucant_aditivo})
.forEach(function(cantidadAditivo){
print('CANTIDAD: '+listaAditivo.qcant_aditivo+' '+cantidadAditivo.descrip_vlrparam);
})
})
}
})
}
})
}
// Otras condiciones
db.condm_param.find({cod_pru:muestra.cod_pru, cod_condm:muestra.cod_condm})
.forEach(function(condicion){
db.vlr_param.find({cod_param1:condicion.cod_param, cod_vlrparam1:condicion.cod_vlrparam})
.forEach(function(nombreCond){
if (nombreCond.cod_param2){
db.vlr_param.find({cod_param1:nombreCond.cod_param2, cod_vlrparam1:nombreCond.cod_vlrparam2})
.forEach(function(tipoCond){
print('TIPO: '+tipoCond.descrip_vlrparam);
print(nombreCond.descrip_vlrparam);
})
} else {
print('!!!!!!!!!!!!!!OJO QUE NO TIENE SUBPARAM!!!!!!!!!!!!!!');
}
})
})
// Reviso los valores de referencia
print('---------- VALORES DE REFERENCIA -----------');
db.lineas_vr.find({cod_pru:muestra.cod_pru, cod_condm:muestra.cod_condm})
.forEach(function(linea){
print(' ----- EDAD -----');
print(tojson(linea));
db.columnas_vr.find({cod_pru:linea.cod_pru, cod_condm:linea.cod_condm, cod_linvr:linea.cod_linvr})
.forEach(function(columna){
print(' ----- VALOR ----');
print(tojson(columna));
})
})
}
})
// Revisamos si tiene archivos adjuntos
print('--------- ADJUNTOS -------------');
db.pru_adjunto.find({cod_pru:prueba.cod_ira}).forEach(function(codAdj){
if (codAdj){
db.vlr_adjuntos.find({cod_adjunto:codAdj.cod_adjunto}).forEach(function(adjunto){
print('El Anexo '+adjunto.descrip_adjunto+' usa el PDF '+adjunto.url_archivo);
})
}
})
// Revisamos si tiene sinonimos
print('------------ SINONIMOS -----------');
db.sinonimos.find({cod_pru:prueba.cod_ira}).forEach(function(sinonimos){
print('Sinonimos: '+sinonimos.descrip_sinon);
})
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment