151500';
$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 "