255362e3cf
Add License statement to those files lacking it
130 lines
3.4 KiB
Perl
Executable file
130 lines
3.4 KiB
Perl
Executable file
#!/usr/bin/perl
|
|
|
|
# This file is part of Koha.
|
|
#
|
|
# Koha is free software; you can redistribute it and/or modify it under the
|
|
# terms of the GNU General Public License as published by the Free Software
|
|
# Foundation; either version 2 of the License, or (at your option) any later
|
|
# version.
|
|
#
|
|
# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
|
# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License along
|
|
# with Koha; if not, write to the Free Software Foundation, Inc.,
|
|
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
|
|
use strict;
|
|
use warnings;
|
|
use CGI;
|
|
use C4::Auth;
|
|
use C4::Serials;
|
|
use C4::Acquisition;
|
|
use C4::Output;
|
|
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 @loop1;
|
|
my @lateissues;
|
|
if($op ne 'claims'){
|
|
@lateissues = GetLateIssues($supplierid);
|
|
for my $issue (@lateissues){
|
|
push @loop1,
|
|
[ $issue->{'name'}, $issue->{'title'}, $issue->{'serialseq'}, $issue->{'planneddate'},];
|
|
}
|
|
}
|
|
my $totalcount2 = 0;
|
|
my @loop2;
|
|
my @missingissues;
|
|
for (my $k=0;$k<@serialid;$k++){
|
|
@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 += scalar @missingissues;
|
|
# 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'){
|
|
my $count = scalar @lateissues;
|
|
print ",,Total Number Late, $count\n";
|
|
}
|
|
if($serialidcount == 1){
|
|
|
|
} else {
|
|
print ",,Total Number Missing, $totalcount2\n";
|
|
}
|