source: pmb4.2/trunk/fuentes/pmb/migracion_NIA.php @ 962

Last change on this file since 962 was 962, checked in by jrpelegrina, 4 years ago

Fix migration to NIA

File size: 8.2 KB
Line 
1<?php
2
3
4// Modulo para migrar los alumnos al NIA //
5
6if (stristr($_SERVER['REQUEST_URI'], ".inc.php")) die("no access");
7
8
9
10$base_path=".";                           
11$base_auth = "ADMINISTRATION_AUTH"; 
12$base_title = "\$msg[7]";   
13require_once ("$base_path/includes/init.inc.php"); 
14
15include("$include_path/messages/help/$lang/migracion_NIA.txt");
16
17function migracion_nia($dbh){
18  global $msg;
19
20 // 3. Creamos si es necesario crear (o ya esta creado) el campo empr_cb_old en la tabla empr_custom
21        $name_cb='empr_cb_old'; 
22        $sql_cb="SELECT idchamp from empr_custom WHERE name='" .$name_cb. "'";
23        $existe_cb_old=@mysql_query($sql_cb, $dbh);
24       
25        if (@mysql_num_rows($existe_cb_old)==0){       
26                $etiqueta='Codi anterior al NIA';
27                $type='text';
28                $datatype='small_text';
29                $options='<OPTIONS FOR="text"><SIZE>15</SIZE><MAXSIZE>15</MAXSIZE> <REPEATABLE>0</REPEATABLE> <ISHTML>0</ISHTML></OPTIONS>';
30                $sql_cb_old="INSERT INTO empr_custom(name,titre,type,datatype,options) values('" .$name_cb. "','" .$etiqueta. "','" .$type. "','" .$datatype. "','" .$options. "')"; 
31                $nuevo_campo=@mysql_query($sql_cb_old, $dbh);
32        }
33
34  //4. Creamos si es necesario crear el campo empr_migrado en la tabla empr     
35
36        $sql="SELECT column_name from INFORMATION_SCHEMA.columns where table_schema='pmb' and table_name='empr' AND column_name='empr_Migrado'";
37        $existeMigrado=@mysql_query($sql, $dbh);
38        //Si el campo empr_Tipo no existe se crea
39        if (@mysql_num_rows($existeMigrado)==0){
40                $sql="ALTER TABLE empr ADD empr_Migrado varchar(1)";
41                $insert=@mysql_query($sql, $dbh);
42                       
43        }       
44       
45// 5. Copiamos el campo empr_cb en la tabla empr_custom_values y cambiamos el campo empr_cb por empr_NIA
46        $sql_alumnos_migrar="SELECT id_empr,empr_cb, empr_NIA from empr where NOT ISNULL(empr_NIA) and empr_cb!=empr_NIA";
47        $alumnos_migrar=@mysql_query($sql_alumnos_migrar, $dbh);
48        $total_migrar=@mysql_num_rows($alumnos_migrar);
49        $codigos=array();
50       
51               
52        $sql_idcb_old="SELECT idchamp from empr_custom where name='" .$name_cb. "'";
53        $id_cb_old=@mysql_query($sql_idcb_old, $dbh);
54        $row2 =mysql_fetch_array($id_cb_old);
55        $j=0;
56        for ($i=0;$i<$total_migrar;$i++){
57                $row1 = mysql_fetch_array($alumnos_migrar);
58                $idempr=$row1['id_empr'];
59                $old_cb=$row1['empr_cb'];
60                $sql_comprobacion="SELECT * from empr_custom_values where empr_custom_champ='" .$row2['idchamp']. "'and empr_custom_origine='" .$idempr. "'";
61                $existe_registro=@mysql_num_rows(@mysql_query($sql_comprobacion,$dbh));
62                if ($existe_registro==0){
63                        $sql_repetidos="SELECT * from empr where empr_NIA='" .$row1['empr_NIA']. "'  and empr_Migrado='S'";
64                        $registro_duplicado=@mysql_num_rows(@mysql_query($sql_repetidos,$dbh));
65                                                if ($registro_duplicado==0){
66                                                        $sql_insert_cb="INSERT INTO empr_custom_values(empr_custom_champ,empr_custom_origine,empr_custom_small_text) values('" .$row2['idchamp']. "','" .$idempr. "', '" .$old_cb. "')";
67                                                        $insertcb=@mysql_query($sql_insert_cb, $dbh);
68                                                        $idempr=$row1['id_empr'];
69                                                        $cb_nia=$row1['empr_NIA'];
70                                                        $sql_update="UPDATE empr SET empr_cb='" .$cb_nia ."', empr_Migrado='S' WHERE id_empr='" .$idempr. "'";
71                                                        $resulmig = @mysql_query($sql_update, $dbh);
72                                $codigos[$j]=$cb_nia;
73                                $j++;
74                                                }else{
75                                                        $idempr=$row1['id_empr'];
76                                                        $sql_update="UPDATE empr SET empr_Migrado='N' WHERE id_empr='" .$idempr. "'";
77                                                        $resulmig = @mysql_query($sql_update, $dbh);
78
79
80                                                }
81                       
82                           
83                }
84        }
85        $codigosJS=json_encode($codigos); 
86        print "<h3><center>$msg[migr_ejecutada]</center></h3>";
87        //print "<INPUT type='button' name='imprimercarte' class='bouton' value='$msg[genera_carnets_NIA]' onclick='valida_formulario(".$codigosJS.")'/>";
88        print '<form id="form1" name="form1" method="post" action="circ.php?categ=carnetsUsuariosMigrados"/>';
89        print "<div>
90                <input class='bouton' type='submit' value=' $msg[genera_carnets_NIA]'/>
91                </div>
92                </form>";
93
94} 
95
96function show_data($dbh){
97    global $msg;
98
99  //1.Comprobamos si ya se ha realizado un migración anteriormente
100    $name_cb='empr_cb_old';
101    $sql_idcb_old="SELECT idchamp from empr_custom where name='" .$name_cb. "'";
102    $id_cb_old=@mysql_query($sql_idcb_old, $dbh);
103    $valor=mysql_fetch_array($id_cb_old);
104   
105    $sql_comprobacion="SELECT * from empr_custom_values where empr_custom_champ='" .$valor['idchamp']. "'";
106    $existen_registros=@mysql_num_rows(@mysql_query($sql_comprobacion,$dbh));
107   
108 
109    if ($existen_registros==0){ 
110
111        $sql_NIA="SELECT column_name from INFORMATION_SCHEMA.columns where table_schema='pmb' and table_name='empr' AND column_name='empr_NIA'";
112        $existeNIA=@mysql_query($sql_NIA, $dbh);
113   
114        if (@mysql_num_rows($existeNIA)>0){     
115         
116         // Vemos cuantos usuarios disponen de NIA y cuantos no       
117                $sql_nia="SELECT count(distinct empr_NIA) from empr";
118                $total_nia=mysql_fetch_row(@mysql_query($sql_nia, $dbh));
119       
120                $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";
121                $total_sinnia=mysql_fetch_row(@mysql_query($sql_sinnia,$dbh));   
122       
123         
124        //2. Comprobamos que la mayoria de los alumnos dispone del nia
125               
126                if ($total_nia[0] > $total_sinnia[0]){
127                                               
128                //Total de registros de la tabla usuario
129                        $sql_total="SELECT count(*) from empr";
130                        $total_users=mysql_fetch_row(@mysql_query($sql_total, $dbh));
131                //Numero de registros de alumnos ya importados con NIA (por no tener número de expediente)
132                        $sql_connia="SELECT count(distinct empr_NIA) from empr where empr_cb=empr_NIA";
133            $total_connia=mysql_fetch_row(@mysql_query($sql_connia, $dbh));
134
135                        //$sql_duplicados="SELECT count(*) from empr group by empr_NIA having count(*)>1";
136       
137                        //$sql_sinmigrar="SELECT count(*) from empr where (ISNULL(empr_NIA) or empr_NIA='')";
138                        //$total_sinmigrar=mysql_fetch_row(@mysql_query($sql_sinmigrar,$dbh)); 
139
140                //Numero de registros a migrar (utilizan el número de expediente pero tenemos su NIA)
141            $sql_migrar="SELECT count(distinct empr_NIA) from empr where empr_cb!=empr_NIA";
142            $total_migrar=mysql_fetch_row(@mysql_query($sql_migrar, $dbh));
143 
144        //Numero de registros que no se migraran         
145            $total_sinmigrar="$total_users[0]"-"$total_nia[0]";
146             
147                        print "
148                                <style>
149                                        table, th, td {
150                                                border: 0px solid black;
151                                        }
152                                </style>
153
154                                <table border=0 style=width:50%>
155                                        <tr>
156                                                <td border=0 width='15%'><left><b>" .$msg['migr_total_registros']. "</b></left></td>
157                                                <td border=0 width='10%'><left><input name='Total registros' value='" . $total_users[0] . "' type='text' size='6' disabled></left></td>                 
158                                        </tr>
159                                        <tr>
160                                                <td border=0 width='15%'><left><b>" .$msg['migr_total_nia']. "</b></left></td>
161                                                <td border=0 width='10%'><left><input name='Total registros a migrar' value='" . $total_migrar[0] . "' type='text' size='6' disabled></left></td>       
162                                                <td border=0 width='30%'><left><b>$msg[desc_registros_migrar]</b></left></td>           
163                                        </tr>
164                                        <tr>
165                                                <td border=0 width='15%'><left><b>" .$msg['migr_total_simigrar']. "<b></left></td>
166                                                <td border=0 width='10%'><left><input name='Total registros sin NIA' value='" . $total_sinmigrar . "' type='text' size='6' disabled></left></td>
167                                                <td border=0 width='30%'><left><b><a href=./edit.php?categ=empr&sub=no_migrados>$msg[consulta_informe_no_migrados]</b></left></td>                     
168                                        </tr>
169                                </table>";
170                        print "
171                        <input class='bouton' type='button' value=' $msg[migr_exe] ' onClick=\"document.location='./admin.php?categ=empr&sub=migration&action=migrar'\" />";
172                }else{
173       
174                        print "<h3><center>$msg[migr_noactivada]</center></h3>";
175                }
176       
177        }else{ 
178                               
179                print "<h3><center>$msg[migr_noactivada]</center></h3>";
180        }
181
182 }else{
183        print "<h3><center>$msg[migr_noactivada]</center></h3>";
184}
185
186}
187
188
189switch($action){
190
191        case 'migrar':
192                migracion_nia($dbh);           
193        break;
194        default:
195                show_data($dbh);
196        break; 
197
198}
199
200?>
201
202<SCRIPT type="text/javaScript">
203
204function valida_formulario(codigos)
205{
206     var url="";
207 
208    // Abrimos una ventana con los carnets
209    url = './pdf.php?pdfdoc=listadoCarnets&empr_cb=' + codigos;
210    window.open(url, 'print_PDF', 'toolbar=no, dependent=yes, width=600, height=500, resizable=yes');
211   
212   
213}
214
215</SCRIPT>
216
217
Note: See TracBrowser for help on using the repository browser.