koha-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Koha-cvs] koha/serials lateissues-excel.pl


From: Robert Lyon
Subject: [Koha-cvs] koha/serials lateissues-excel.pl
Date: Thu, 20 Jul 2006 03:23:49 +0000

CVSROOT:        /sources/koha
Module name:    koha
Changes by:     Robert Lyon <bob_lyon>  06/07/20 03:23:49

Added files:
        serials        : lateissues-excel.pl 

Log message:
        Merging in katipo changes for serials

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/koha/serials/lateissues-excel.pl?cvsroot=koha&rev=1.1

Patches:
Index: lateissues-excel.pl
===================================================================
RCS file: lateissues-excel.pl
diff -N lateissues-excel.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ lateissues-excel.pl 20 Jul 2006 03:23:49 -0000      1.1
@@ -0,0 +1,121 @@
+#!/usr/bin/perl
+
+use strict;
+use CGI;
+use C4::Auth;
+use C4::Serials;
+use C4::Acquisition;
+use C4::Output;
+use C4::Interface::CGI::Output;
+use C4::Context;
+use HTML::Template;
+# use Date::Manip;
+use Text::CSV_XS;
+
+
+# &Date_Init("DateFormat=non-US"); # set non-USA date, eg:19/08/2005
+
+
+my $csv = Text::CSV_XS->new(
+        {
+            'quote_char'  => '"',
+            'escape_char' => '"',
+            'sep_char'    => ',',
+            'binary'      => 1
+        }
+    );
+
+
+my $query = new CGI;
+my $supplierid = $query->param('supplierid');
+my @serialid = $query->param('serialid');
+my $op = $query->param('op');
+my $serialidcount = @serialid;
+
+my %supplierlist = GetSuppliersWithLateIssues;
+my @select_supplier;
+
+my @loop1;
+my ($count, @lateissues);
+if($op ne 'claims'){
+    ($count, @lateissues) = GetLateIssues($supplierid);
+    for (my $i=0;$i<@lateissues;$i++){
+        my @rows1 = ($lateissues[$i]->{'name'},          # lets build up a row
+                    $lateissues[$i]->{'title'}, 
+                     $lateissues[$i]->{'serialseq'},
+                     $lateissues[$i]->{'planneddate'},
+                     );
+        push (@loop1, address@hidden);
+    }
+}
+my $totalcount2 = 0;
+my @loop2;
+my ($count2, @missingissues);
+for (my $k=0;$k<@serialid;$k++){
+    ($count2, @missingissues) = GetMissingIssues($supplierid, $serialid[$k]);
+
+    for (my $j=0;$j<@missingissues;$j++){
+       my @rows2 = ($missingissues[$j]->{'name'},          # lets build up a 
row
+                    $missingissues[$j]->{'title'}, 
+                     $missingissues[$j]->{'serialseq'},
+                     $missingissues[$j]->{'planneddate'},
+                     );
+        push (@loop2, address@hidden);
+    }
+    $totalcount2 = $totalcount2 + $count2;
+    # update claim date to let one know they have looked at this missing item
+    updateClaim($serialid[$k]);
+}
+
+my $heading ='';
+my $filename ='';
+if($supplierid){
+    if($missingissues[0]->{'name'}){ # if exists display supplier name in 
heading for neatness
+       # not necessarily needed as the name will appear in supplier column also
+        $heading = "FOR $missingissues[0]->{'name'}";
+       $filename = "_$missingissues[0]->{'name'}"; 
+    }
+}
+
+print $query->header(
+        -type       => 'application/vnd.ms-excel',
+        -attachment => "claims".$filename.".csv",
+    );
+
+if($op ne 'claims'){
+    print "LATE ISSUES ".$heading."\n\n";
+    print "SUPPLIER,TITLE,ISSUE NUMBER,LATE SINCE\n";
+
+    for my $row ( @loop1 ) {
+    
+        $csv->combine(@$row);
+        my $string = $csv->string;
+        print $string, "\n";
+    }
+
+    print ",,,,,,,\n\n";
+}
+if($serialidcount == 1){
+    print "MISSING ISSUE ".$heading."\n\n";
+} else {
+    print "MISSING ISSUES ".$heading."\n\n";
+}
+print "SUPPLIER,TITLE,ISSUE NUMBER,LATE SINCE\n";
+
+for my $row ( @loop2 ) {
+    
+        $csv->combine(@$row);
+        my $string = $csv->string;
+        print $string, "\n";
+    }
+
+print ",,,,,,,\n";
+print ",,,,,,,\n";
+if($op ne 'claims'){
+    print ",,Total Number Late, $count\n";
+}
+if($serialidcount == 1){
+
+} else {
+    print ",,Total Number Missing, $totalcount2\n";
+}




reply via email to

[Prev in Thread] Current Thread [Next in Thread]