# COPIO LOS ARCHIVOS DBF NECESARIOS {{{
$fallo1 = system ("smbmount //dgrh/ottonello $dir_local $opciones");
if ($fallo1) {
- print "NO MONTE NADA.....";
$address='mmarre@mecon.gov.ar, sotton@mecon.gov.ar, msklar@mecon.gov.ar, hdelbo@mecon.gov.ar';
$linea = "echo 'Hubo un error con el samba del script de Contratados en portal.mecon.gov.ar' | mail $address ";
$ret = system ($linea);
}
# }}} FIN COPIA DE ARCHIVOS
+# VEO SI LAS FECHAS DE LOS ARCHIVOS ES IGUAL
+$variable1 = `ls -l --time-style=long-iso mnt/Resultados.dbf`;
+$variable2 = `ls -l --time-style=long-iso Resultados.dbf.bak`;
+@variable1 = split (/\s+/, $variable1);
+@variable2 = split (/\s+/, $variable2);
+if (@variable1['5'] eq @variable2['5'] && @variable1['6'] eq @variable2['6']) {
+ $address='mmarre@mecon.gov.ar, sotton@mecon.gov.ar, msklar@mecon.gov.ar, eneme@mecon.gov.ar, gagric@mecon.gov.ar, gmeray@mecon.gov.ar';
+ $linea = "echo 'Hubo un error. No se actualizo el archivo de contratados para la carga de la intranet. ' | mail $address ";
+ $ret = system ($linea);
+ system ("smbumount $dir_local");
+ exit;
+}
+
+#COPIO EL ARCHIVO PARA COMPARAR DESPUES
+system ("cp $dir_local/Resultados.dbf ~/Resultados.dbf.bak --preserve=timestamp");
+
# OBTENGO LOS HANDLERS DE LAS BASES {{{
$dbh_local = DBI->connect("DBI:XBase:$dir_local");
$dbh_mysql = DBI->connect("DBI:mysql:dbname=Contratados;host=intranet-db","intranet","intranet");
$dbh_mysql->do("DELETE FROM Contratados");
$sql_select = 'SELECT * FROM resultados';
+
$sql_insert = "REPLACE INTO Contratados (nrodoc,tipodoc,nombre,codep,marco_legal,dedicacion,hentra,hsale,oficina,edificio,interno,fevig,febaja,felimita,responsa) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
$re_select = $dbh_local->prepare($sql_select);
$re_insert = $dbh_mysql->prepare($sql_insert);
$re_select->execute();
+
while ($res = $re_select->fetchrow_hashref()){
-# print Dumper($res);
-# last;
- $re_insert->execute($res->{DOC}, $res->{TIPDOC}, $res->{APELLIDO}.' '.$res->{NOMBRE},$res->{CODIGO_ACT},$res->{TIPOCONTRA},$res->{PARTIME},$res->{HENTRA},$res->{HSALE},$res->{OFICINA},$res->{EDIFICIO},$res->{INTERNO},$res->{FEVIG},$res->{FEBAJA},$res->{FELIMITA},$res->{RESPONSA});
+ #VERIFICO SI CAMBIARON LA ESTRUCTURA DEL ARCHIVO Resultados.dbf
+ if (!exists($res->{NUMDOC}) || !exists($res->{TIPDOC}) || !exists($res->{APELLIDO}) || !exists($res->{NOMBRE}) ||
+ !exists($res->{CODIGO_ACT}) || !exists($res->{TIPOCONTRA}) || !exists($res->{PARTIME}) || !exists($res->{HENTRA}) ||
+ !exists($res->{HSALE}) || !exists($res->{OFICINA}) || !exists($res->{EDIFICIO}) || !exists($res->{INTERNO}) ||
+ !exists($res->{FEVIG}) || !exists($res->{FEBAJA}) || !exists($res->{FELIMITA}) || !exists($res->{RESPONSA})) {
+
+ #$address='mmarre@mecon.gov.ar, sotton@mecon.gov.ar, msklar@mecon.gov.ar, eneme@mecon.gov.ar, gagric@mecon.gov.ar, gmeray@mecon.gov.ar';
+ $address='mmarre@mecon.gov.ar';
+ $linea = "echo 'Hubo un error. Se Modifico la estructura del archivo Resultados.dbf.\nMientras no se deje como la version anterior este proceso va a fallar.\nSi esto pasa, cambia la linea para que les mande un mail a todos. ' | mail $address ";
+ $ret = system ($linea);
+ $dbh_local->disconnect();
+ system ("smbumount $dir_local");
+ exit;
+ }
+# print Dumper($res);
+# last;
+ $re_insert->execute($res->{NUMDOC}, $res->{TIPDOC}, $res->{APELLIDO}.' '.$res->{NOMBRE},$res->{CODIGO_ACT},$res->{TIPOCONTRA},
+ $res->{PARTIME},$res->{HENTRA},$res->{HSALE},$res->{OFICINA},$res->{EDIFICIO},$res->{INTERNO},$res->{FEVIG},
+ $res->{FEBAJA},$res->{FELIMITA},$res->{RESPONSA});
}
$dbh_local->disconnect();