7 $dir_local ='/home/contratados/mnt';
8 $dir_local2 ='/home/contratados';
9 $opciones ='-o username=msklar\@mecon%larva1976';
11 # COPIO LOS ARCHIVOS DBF NECESARIOS {{{
12 $fallo1 = system ("smbmount //dgrh/ottonello $dir_local $opciones");
14 $address='mmarre@mecon.gov.ar, sotton@mecon.gov.ar, msklar@mecon.gov.ar, hdelbo@mecon.gov.ar';
15 $linea = "echo 'Hubo un error con el samba del script de Contratados en portal.mecon.gov.ar' | mail $address ";
16 $ret = system ($linea);
19 # }}} FIN COPIA DE ARCHIVOS
21 # VEO SI LAS FECHAS DE LOS ARCHIVOS ES IGUAL
22 $variable1 = `ls -l --time-style=long-iso mnt/Resultados.dbf`;
23 $variable2 = `ls -l --time-style=long-iso Resultados.dbf.bak`;
24 @variable1 = split (/\s+/, $variable1);
25 @variable2 = split (/\s+/, $variable2);
26 if (@variable1['5'] eq @variable2['5'] && @variable1['6'] eq @variable2['6']) {
27 $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';
28 $linea = "echo 'Hubo un error. No se actualizo el archivo de contratados para la carga de la intranet. ' | mail $address ";
29 $ret = system ($linea);
30 system ("smbumount $dir_local");
34 #COPIO EL ARCHIVO PARA COMPARAR DESPUES
35 system ("cp $dir_local/Resultados.dbf ~/Resultados.dbf.bak --preserve=timestamp");
37 # OBTENGO LOS HANDLERS DE LAS BASES {{{
38 $dbh_local = DBI->connect("DBI:XBase:$dir_local");
39 $dbh_mysql = DBI->connect("DBI:mysql:dbname=Contratados;host=intranet-db","intranet","intranet");
41 $dbh_mysql->do("DELETE FROM Contratados");
43 $sql_select = 'SELECT * FROM resultados';
45 $sql_insert = "REPLACE INTO Contratados (nrodoc,tipodoc,nombre,codep,marco_legal,dedicacion,hentra,hsale,oficina,edificio,interno,fevig,febaja,felimita,responsa) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
46 $re_select = $dbh_local->prepare($sql_select);
47 $re_insert = $dbh_mysql->prepare($sql_insert);
48 $re_select->execute();
50 while ($res = $re_select->fetchrow_hashref()){
51 #VERIFICO SI CAMBIARON LA ESTRUCTURA DEL ARCHIVO Resultados.dbf
52 if (!exists($res->{NUMDOC}) || !exists($res->{TIPDOC}) || !exists($res->{APELLIDO}) || !exists($res->{NOMBRE}) ||
53 !exists($res->{CODIGO_ACT}) || !exists($res->{TIPOCONTRA}) || !exists($res->{PARTIME}) || !exists($res->{HENTRA}) ||
54 !exists($res->{HSALE}) || !exists($res->{OFICINA}) || !exists($res->{EDIFICIO}) || !exists($res->{INTERNO}) ||
55 !exists($res->{FEVIG}) || !exists($res->{FEBAJA}) || !exists($res->{FELIMITA}) || !exists($res->{RESPONSA})) {
57 #$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';
58 $address='mmarre@mecon.gov.ar';
59 $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 ";
60 $ret = system ($linea);
61 $dbh_local->disconnect();
62 system ("smbumount $dir_local");
67 $re_insert->execute($res->{NUMDOC}, $res->{TIPDOC}, $res->{APELLIDO}.' '.$res->{NOMBRE},$res->{CODIGO_ACT},$res->{TIPOCONTRA},
68 $res->{PARTIME},$res->{HENTRA},$res->{HSALE},$res->{OFICINA},$res->{EDIFICIO},$res->{INTERNO},$res->{FEVIG},
69 $res->{FEBAJA},$res->{FELIMITA},$res->{RESPONSA});
72 $dbh_local->disconnect();
74 system ("smbumount $dir_local");