]> git.llucax.com Git - mecon/scripts.git/blob - novedades/cargas_de_datos/web020
- Se chequean errores al abrir archivos
[mecon/scripts.git] / novedades / cargas_de_datos / web020
1 #!/usr/bin/perl
2
3 use strict;
4
5 my $origen = shift;
6 my $destino = shift;
7 open web020, "< ".$origen."/web020";
8 open web020_corregido, "> ".$destino."/web020";
9
10 my $registro = <web020>;
11 print web020_corregido $registro;
12 $registro = <web020>;
13 while ($registro)
14 {
15         my @campos = split(",",$registro);
16         my %agente = ();
17         my %nov = ();
18         $agente{'nrodoc'} = $campos[3];
19         while ($agente{'nrodoc'} == $campos[3] and $registro)
20         {
21                 my $anio = $campos[0];
22                 my $mes = $campos[1];
23                 my $novedad = $campos[2];
24                 if (!defined($nov{$novedad}->{$anio}->{$mes}))
25                 {
26                         foreach my $dia (1..31)
27                         {
28                                 $dia = "0".$dia if($dia < 10);
29                                 $nov{$novedad}->{$anio}->{$mes}->{$dia} = $campos[$dia+3];
30                         }
31                 }else
32                 {
33                         foreach my $nov_dia (1..31)
34                         {
35                                 $nov_dia = "0".$nov_dia if($nov_dia < 10);
36                                 if($campos[$nov_dia+3] ne "00") {$nov{$novedad}->{$anio}->{$mes}->{$nov_dia}="01"};
37                         }
38                 }
39                 $registro = <web020>;
40                 if($registro) {@campos = split(",",$registro);}
41         }
42         foreach my $novedad (sort(keys(%nov)))
43         {
44                 foreach my $anio (sort(keys(%{$nov{$novedad}})))
45                 {
46                         foreach my $mes (sort(keys(%{$nov{$novedad}->{$anio}})))
47                         {
48                                 print web020_corregido $anio.",".$mes.",".$novedad.",".$agente{'nrodoc'}.",";
49                                 my $total = 0;
50                                 my $chequeo = 0;
51                                 foreach  my $dia (sort(keys(%{$nov{$novedad}->{$anio}->{$mes}})))
52                                 {
53                                         print web020_corregido $nov{$novedad}->{$anio}->{$mes}->{$dia}.",";
54                                         $total++ if($nov{$novedad}->{$anio}->{$mes}->{$dia} > 0);
55                                 }
56                                 print web020_corregido $total."\n";
57                         }
58                 }
59         }
60 }
61