/[informatika.old]/print/izvjestaj.pl
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /print/izvjestaj.pl

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.4 by dpavlin, Wed May 10 08:19:39 2000 UTC revision 1.10 by dpavlin, Fri Jan 25 14:47:50 2002 UTC
# Line 2  Line 2 
2    
3  use strict;  use strict;
4    
5    my $ic_mail='biljana.gombar@pliva.hr,antonio.gulam@pliva.hr';
6    my $mreze_mail='davorin.koprivnjak@pliva.hr';
7    
8  my $debug=0;  my $debug=0;
9    
10  use DBI;  use DBI;
11  use POSIX qw(strftime);  use POSIX qw(strftime);
12    
13  $debug++ if ($ARGV[0] eq "-d");  $debug++ if (defined $ARGV[0] && $ARGV[0] eq "-d");
14    
15  print STDERR "Debug mod: output je u /tmp/debug*\n" if ($debug);  print STDERR "Debug mod: output je u /tmp/debug*\n" if ($debug);
16    
17  my $currdate = strftime "%d.%m.%Y %H:%M:%S", localtime;  my $currdate = strftime "%Y-%m-%d %H:%M:%S", localtime;
18    
19  my $html_file=$currdate;  my $html_file=$currdate;
20  $html_file=~s/ /_/g;  $html_file=~s/ /_/g;
21  $html_file="izvjestaji/$html_file.html";  $html_file="izvjestaji/$html_file.html";
22    my $html_date=$currdate;
23    $html_date=~s/ /%20/g;
24    
25  if (! $debug) {  if (! $debug) {
26  open(HTML,"> $html_file") || die "html: $!";  open(HTML,"> $html_file") || die "html: $!";
27  open(MAIL,"|/usr/lib/sendmail biljana.gombar\@pliva.hr,izvjestaji\@support.pliva.hr") || die "sendmail: $!";  open(MAIL,"|/usr/lib/sendmail $ic_mail,$mreze_mail,izvjestaji\@support.pliva.hr") || die "sendmail: $!";
28  } else {  } else {
29  open(HTML,"> /tmp/debug.html") || die "html: $!";  open(HTML,"> /tmp/debug.html") || die "html: $!";
30  open(MAIL,"> /tmp/debug.mail") || die "sendmail: $!";  open(MAIL,"> /tmp/debug.mail") || die "sendmail: $!";
# Line 37  Subject: otvoreni računi za e-mail Line 42  Subject: otvoreni računi za e-mail
42    
43  ';  ';
44    
45  my $dbh = DBI->connect("DBI:Pg:dbname=informatika","","") || die $DBI::errstr;  my $host = "host=support.pliva.hr;";
46    
47    open(WHO,"who -m |") || die "who am i? $!";
48    my $db_user=<WHO>;
49    $db_user=~s/[^!]+!//;
50    close(WHO);
51    if (! defined($db_user)) {
52            $db_user="user=dpavlin;"; $host="";     # works on localhost
53    } else {
54            $db_user=~s/\s.+$//g;
55            $db_user="user=$db_user;";
56    }
57    
58    my $dbh = DBI->connect("DBI:Pg:dbname=informatika;${host}${db_user}","","") || die "can't connect";
59    # die $DBI::errstr;
60  $dbh->do("set datestyle = 'german'") || die $dbh->errstr();  $dbh->do("set datestyle = 'german'") || die $dbh->errstr();
61    
62  my $sth = $dbh->prepare("select id from last_print order by id desc limit 1,1");  my $sth = $dbh->prepare("select id from last_print order by id desc limit 1,1");
# Line 58  while (my ($osoba_id,$status_tip_id) = $ Line 77  while (my ($osoba_id,$status_tip_id) = $
77          }          }
78  }  }
79    
80  print MAIL "Otvorenih računa: ",$#osoba_id_za_print+1,"  print MAIL "
81  Datum i vrijeme generiranja izvještaja: $currdate  Datum i vrijeme generiranja izvještaja: $currdate
82    
83  Izvještaj za štampanje se nalazi na  Izvještaj za štampanje se nalazi na
84  http://support.pliva.hr/$html_file  http://support.pliva.hr/ic.php?datum=$html_date
85  sa potpunim podacima o umrežavanju, lokaciji računala i osobe  sa potpunim podacima o umrežavanju, lokaciji računala i osobe
86    
87  ";  ";
88  print HTML "Otvorenih računa: ",$#osoba_id_za_print+1,"  print HTML "
89  <br>Datum i vrijeme generiranja izvještaja: $currdate<p>";  <br>Datum i vrijeme generiranja izvještaja: $currdate<p>";
90    
91  $sth = $dbh->prepare("  my $sql="
92          select osobe.id,ime,prezime,tel,lokacije.naziv,          select osobe.id,ime,prezime,tel,lokacije.naziv,
93                  org_jed.naziv,org_pod_jed.pod_naziv,                  org_jed.naziv,org_pod_jed.pod_naziv,
94                  lok_racunala,objekt,kat,soba,z_rac,umrezavanje                  lok_racunala,objekt,kat,soba,z_rac,umrezavanje,
95                    kontakt_osobe.e_mail,podesavanje
96          from osobe          from osobe
97          where osobe.id in (".join(",",@osoba_id_za_print).")          where osobe.id in (".join(",",@osoba_id_za_print).")
98                  and lokacija_id=lokacije.id and org_jed_id=org_jed.id                  and lokacija_id=lokacije.id and org_jed_id=org_jed.id
99                  and org_pod_jed_id=org_pod_jed.pod_id                  and org_pod_jed_id=org_pod_jed.pod_id
100                  and podesavanje=true                  and podesavanje=true
101                    and kontakt_osobe.id=kontakt_osoba_id
102          order by lokacije.naziv,org_jed.naziv          order by lokacije.naziv,org_jed.naziv
103          ") || die $dbh->errstr();          ";
104    
105    die "nema osoba za izvještaj" if (! @osoba_id_za_print);
106    
107    $sth = $dbh->prepare($sql) || die $dbh->errstr();
108  $sth->execute() || die $sth->errstr();  $sth->execute() || die $sth->errstr();
109    
110  my $rbr=1;  my $rbr=1;
# Line 93  print HTML '<table border=1> Line 118  print HTML '<table border=1>
118    
119  my $bgcol='';  my $bgcol='';
120  my $mreza='';  my $mreza='';
121    my @za_ic;
122    my %mail4ko;
123    
124  while (my @arr = $sth->fetchrow_array() ) {  while (my @arr = $sth->fetchrow_array() ) {
125            push @za_ic,$arr[0];
126            $mail4ko{$arr[13]}.="\t$arr[1] $arr[2]";
127            $mail4ko{$arr[13]}.=" (bez podešavanja)" if ($arr[14] == 0);
128    
129          printf MAIL ("%3s %4s %-20s %4s %-30s %-20s\n",$rbr,$arr[0],"$arr[1] $arr[2]",$arr[3],$arr[4],"$arr[5] $arr[6]");          printf MAIL ("%3s %4s %-20s %4s %-30s %-20s\n",$rbr,$arr[0],"$arr[1] $arr[2]",$arr[3],$arr[4],"$arr[5] $arr[6]");
130          if ($lokacija ne $arr[4]) {          if ($lokacija ne $arr[4]) {
131                  $lokacija=$arr[4];                  $lokacija=$arr[4];
132                  print HTML "<tr bgcolor=#000000><td colspan=6><font size=+1 color=#ffffff>$lokacija</font></td></tr>";                  print HTML "<tr bgcolor=#000000><td colspan=6><font size=+1 color=#ffffff>$lokacija</font></td></tr>";
133          }          }
134          print HTML "<tr$bgcol><td>$rbr</td><td>$arr[0]</td><td>$arr[1] $arr[2]</td><td>tel: $arr[3]</td><td><small>$arr[4]</small></td><td>$arr[5]<br>$arr[6]</td></tr>\n";          print HTML "<tr$bgcol><td>$rbr</td><td><a href=\"http://support.pliva.hr/obavijest.php?id=$arr[0]\">$arr[0]</a></td><td>$arr[1] $arr[2]</td><td>tel: $arr[3]</td><td><small>$arr[4]</small></td><td>$arr[5]<br>$arr[6]</td></tr>\n";
135          if ($arr[12] == 0) {          if ($arr[12] == 0) {
136                  $mreza='umreženo';                  $mreza='umreženo';
137          } else {          } else {
138                  my $rows = $dbh->do("select max(status_tip_id) from status                  my $sth2 = $dbh->prepare("select count(status_tip_id) from status
139                          where osoba_id = $arr[0] and status_tip_id=8") || die $dbh->errstr();                          where osoba_id = $arr[0] and status_tip_id=8") ||
140                  if ($rows > 0) {                                  die $dbh->errstr();
141                    $sth2->execute() || die $sth2->errstr();
142                    my ($nr_of_status8) = $sth2->fetchrow_array();
143                            
144                    if ($nr_of_status8 > 0) {
145                          $mreza='<i>umrežavanje obavljeno</i>';                          $mreza='<i>umrežavanje obavljeno</i>';
146                  } else {                  } else {
147                          $mreza='<b>potrebno umrežavanje</b>';                          $mreza='<b>potrebno umrežavanje</b>';
# Line 121  while (my @arr = $sth->fetchrow_array() Line 156  while (my @arr = $sth->fetchrow_array()
156          }          }
157  }  }
158    
 $sth->finish;  
159    
160  print HTML '  print HTML '
161  </table>  </table>
# Line 131  print HTML ' Line 165  print HTML '
165  close(HTML);  close(HTML);
166  close(MAIL);  close(MAIL);
167    
168    foreach my $email_ko (keys %mail4ko) {
169            if (! $debug) {
170                    open(MAIL,"|/usr/lib/sendmail $email_ko") || die "sendmail: $!";
171            } else {
172                    open(MAIL,">> /tmp/debug.komail") || die "sendmail: $!";
173            }
174    
175            print MAIL 'From: PlivaNet Core Support Team <pcst@pliva.hr>
176    Subject: otvoreni računi za e-mail
177    
178    Obavještavamo Vas da su otvoreni korisnički računi na intranet poslužitelju
179    za slijedeće osobe:
180    ';
181            foreach my $ime_pr (split(/\t/,$mail4ko{$email_ko})) {
182                    print MAIL "\t$ime_pr\n";
183            }
184            print MAIL '
185    Vaši korisnici dobiti će pristupno ime (login) i lozinku (password) internom
186    poštom, a djelatnici odjela Informatika IC će izvršiti podešavanje korisničkog
187    računala.';
188    
189            close(MAIL);
190    }
191    
192    #print "Printanje zahtjeva za print za IC:\n./print.pl ",join(",",@za_ic),"\n";
193    foreach my $id (@za_ic) {
194            if (! $debug) {
195                    $dbh->do("insert into izvjestaji (datum,osoba_id)
196                            values ('$currdate',$id)") || die $dbh->errstr();
197            }
198    }
199    
200    $sth->finish; undef $sth;
201    $dbh->disconnect;
202    

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.10

  ViewVC Help
Powered by ViewVC 1.1.26