Created
April 4, 2011 13:59
-
-
Save cronopio/901668 to your computer and use it in GitHub Desktop.
Script de migracion de pruebas segun modelo antiguo del SIPDS
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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