]> git.llucax.com Git - mecon/scripts.git/blob - contratados/Contratados.pl
Ahora verifica que no se haya modificado la estructura del archivo Resultados.dbf
[mecon/scripts.git] / contratados / Contratados.pl
1 #!/usr/bin/perl
2 #
3
4 use DBI;
5 use Data::Dumper;
6
7 $dir_local   ='/home/contratados/mnt';
8 $dir_local2  ='/home/contratados';
9 $opciones  ='-o username=msklar\@mecon%larva1976';
10
11 # COPIO LOS ARCHIVOS DBF NECESARIOS {{{
12 $fallo1 = system ("smbmount //dgrh/ottonello  $dir_local $opciones");
13 if ($fallo1) {
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);
17     exit;
18 }
19 # }}} FIN COPIA DE ARCHIVOS 
20
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");
31     exit;
32 }
33
34 #COPIO EL ARCHIVO PARA COMPARAR DESPUES
35 system ("cp $dir_local/Resultados.dbf ~/Resultados.dbf.bak --preserve=timestamp");
36
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");
40
41 $dbh_mysql->do("DELETE FROM Contratados");
42
43 $sql_select = 'SELECT * FROM resultados';
44                
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();
49
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})) {
56         
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");
63         exit;
64    }
65 #   print Dumper($res);
66 #   last;
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});
70 }
71
72 $dbh_local->disconnect();
73
74 system ("smbumount $dir_local");
75
76 1;
77
78