1515 0 0'; $sql_cb_old="INSERT INTO empr_custom(name,titre,type,datatype,options) values('" .$name_cb. "','" .$etiqueta. "','" .$type. "','" .$datatype. "','" .$options. "')"; $nuevo_campo=@pmb_mysql_query($sql_cb_old, $dbh); } //4. Creamos si es necesario crear el campo empr_migrado en la tabla empr $sql="SELECT column_name from INFORMATION_SCHEMA.columns where table_schema='pmb' and table_name='empr' AND column_name='empr_Migrado'"; $existeMigrado=@pmb_mysql_query($sql, $dbh); //Si el campo empr_Tipo no existe se crea if (@pmb_mysql_num_rows($existeMigrado)==0){ $sql="ALTER TABLE empr ADD empr_Migrado varchar(1)"; $insert=@pmb_mysql_query($sql, $dbh); } // 5. Copiamos el campo empr_cb en la tabla empr_custom_values y cambiamos el campo empr_cb por empr_NIA $sql_alumnos_migrar="SELECT id_empr,empr_cb, empr_NIA from empr where NOT ISNULL(empr_NIA) and empr_cb!=empr_NIA"; $alumnos_migrar=@pmb_mysql_query($sql_alumnos_migrar, $dbh); $total_migrar=@pmb_mysql_num_rows($alumnos_migrar); $codigos=array(); $sql_idcb_old="SELECT idchamp from empr_custom where name='" .$name_cb. "'"; $id_cb_old=@pmb_mysql_query($sql_idcb_old, $dbh); $row2 =pmb_mysql_fetch_array($id_cb_old); $j=0; for ($i=0;$i<$total_migrar;$i++){ $row1 = pmb_mysql_fetch_array($alumnos_migrar); $idempr=$row1['id_empr']; $old_cb=$row1['empr_cb']; $sql_comprobacion="SELECT * from empr_custom_values where empr_custom_champ='" .$row2['idchamp']. "'and empr_custom_origine='" .$idempr. "'"; $existe_registro=@pmb_mysql_num_rows(@pmb_mysql_query($sql_comprobacion,$dbh)); if ($existe_registro==0){ $sql_repetidos="SELECT * from empr where empr_NIA='" .$row1['empr_NIA']. "' and empr_Migrado='S'"; $registro_duplicado=@pmb_mysql_num_rows(@pmb_mysql_query($sql_repetidos,$dbh)); if ($registro_duplicado==0){ $sql_insert_cb="INSERT INTO empr_custom_values(empr_custom_champ,empr_custom_origine,empr_custom_small_text) values('" .$row2['idchamp']. "','" .$idempr. "', '" .$old_cb. "')"; $insertcb=@pmb_mysql_query($sql_insert_cb, $dbh); $idempr=$row1['id_empr']; $cb_nia=$row1['empr_NIA']; $sql_update="UPDATE empr SET empr_cb='" .$cb_nia ."', empr_Migrado='S' WHERE id_empr='" .$idempr. "'"; $resulmig = @pmb_mysql_query($sql_update, $dbh); $codigos[$j]=$cb_nia; $j++; }else{ $idempr=$row1['id_empr']; $sql_update="UPDATE empr SET empr_Migrado='N' WHERE id_empr='" .$idempr. "'"; $resulmig = @pmb_mysql_query($sql_update, $dbh); } } } $codigosJS=json_encode($codigos); print "

$msg[migr_ejecutada]

"; //print ""; print '
'; print "
"; } function show_data($dbh){ global $msg; //1.Comprobamos si ya se ha realizado un migración anteriormente $name_cb='empr_cb_old'; $sql_idcb_old="SELECT idchamp from empr_custom where name='" .$name_cb. "'"; $id_cb_old=@pmb_mysql_query($sql_idcb_old, $dbh); $valor=pmb_mysql_fetch_array($id_cb_old); $sql_comprobacion="SELECT * from empr_custom_values where empr_custom_champ='" .$valor['idchamp']. "'"; $existen_registros=@pmb_mysql_num_rows(@pmb_mysql_query($sql_comprobacion,$dbh)); if ($existen_registros==0){ $sql_NIA="SELECT column_name from INFORMATION_SCHEMA.columns where table_schema='pmb' and table_name='empr' AND column_name='empr_NIA'"; $existeNIA=@pmb_mysql_query($sql_NIA, $dbh); if (@pmb_mysql_num_rows($existeNIA)>0){ // Vemos cuantos usuarios disponen de NIA y cuantos no $sql_nia="SELECT count(distinct empr_NIA) from empr"; $total_nia=pmb_mysql_fetch_row(@pmb_mysql_query($sql_nia, $dbh)); $sql_sinnia="SELECT count(*) from empr where (ISNULL(empr_NIA) or empr_NIA='') and ISNULL(empr_Tipo) and (YEAR(UTC_DATE())-YEAR(empr_date_expiration))<2"; $total_sinnia=pmb_mysql_fetch_row(@pmb_mysql_query($sql_sinnia,$dbh)); //2. Comprobamos que la mayoria de los alumnos dispone del nia if ($total_nia[0] > $total_sinnia[0]){ //Total de registros de la tabla usuario $sql_total="SELECT count(*) from empr"; $total_users=pmb_mysql_fetch_row(@pmb_mysql_query($sql_total, $dbh)); //Numero de registros de alumnos ya importados con NIA (por no tener número de expediente) $sql_connia="SELECT count(distinct empr_NIA) from empr where empr_cb=empr_NIA"; $total_connia=pmb_mysql_fetch_row(@pmb_mysql_query($sql_connia, $dbh)); //$sql_duplicados="SELECT count(*) from empr group by empr_NIA having count(*)>1"; //$sql_sinmigrar="SELECT count(*) from empr where (ISNULL(empr_NIA) or empr_NIA='')"; //$total_sinmigrar=mysql_fetch_row(@mysql_query($sql_sinmigrar,$dbh)); //Numero de registros a migrar (utilizan el número de expediente pero tenemos su NIA) $sql_migrar="SELECT count(distinct empr_NIA) from empr where empr_cb!=empr_NIA"; $total_migrar=pmb_mysql_fetch_row(@pmb_mysql_query($sql_migrar, $dbh)); //Numero de registros que no se migraran $total_sinmigrar="$total_users[0]"-"$total_nia[0]"; print "
" .$msg['migr_total_registros']. "
" .$msg['migr_total_connia']. " $msg[desc_registros_connia]
" .$msg['migr_total_nia']. " $msg[desc_registros_migrar]
" .$msg['migr_total_simigrar']. " $msg[consulta_informe_no_migrados]
"; print " "; }else{ print "

$msg[migr_noactivada]

"; } }else{ print "

$msg[migr_noactivada]

"; } }else{ print "

$msg[migr_noactivada]

"; } } switch($action){ case 'migrar': migracion_nia($dbh); break; default: show_data($dbh); break; } ?>