Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

executable file 119 lines (97 sloc) 2.877 kb
#!/usr/bin/env perl
use strict;
use warnings;
use CGI;
use C4::Auth;
use C4::Serials;
use C4::Acquisition;
use C4::Output;
use Koha;
use C4::Context;
# 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') || q{};
my $serialidcount = @serialid;
my %supplierlist = GetSuppliersWithLateIssues;
my @select_supplier;
my @loop1;
my ($count, @lateissues);
if($op ne 'claims'){
($count, @lateissues) = GetLateIssues($supplierid);
for my $issue (@lateissues){
push @loop1,
[ $issue->{'name'}, $issue->{'title'}, $issue->{'serialseq'}, $issue->{'planneddate'},];
}
}
my $totalcount2 = 0;
my @loop2;
my ($count2, @missingissues);
for (my $k=0;$k<@serialid;$k++){
($count2, @missingissues) = GetLateOrMissingIssues($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, \@rows2);
}
$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";
}
Jump to Line
Something went wrong with that request. Please try again.