[Koha-cvs] koha/acqui bookfund.pl

Chris Cormack chris at katipo.co.nz
Wed Jun 7 04:17:54 CEST 2006


CVSROOT:	/sources/koha
Module name:	koha
Changes by:	Chris Cormack <rangi>	06/06/07 02:17:54

Added files:
	acqui          : bookfund.pl 

Log message:
	Merging Katipo changes
	
	Script to breakdown the amount committed (ordered but not received) of a particular budget

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/koha/acqui/bookfund.pl?cvsroot=koha&rev=1.1

Patches:
Index: bookfund.pl
===================================================================
RCS file: bookfund.pl
diff -N bookfund.pl
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ bookfund.pl	7 Jun 2006 02:17:54 -0000	1.1
@@ -0,0 +1,81 @@
+#!/usr/bin/perl -w
+
+# Copyright 2006 Katipo Communications
+#                                     
+# 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., 59 Temple Place, 
+# Suite 330, Boston, MA  02111-1307 USA 
+
+use C4::Context;
+use strict;
+use CGI;
+use C4::Auth;
+use C4::Interface::CGI::Output;
+
+my $dbh      = C4::Context->dbh;
+my $input    = new CGI;
+my $bookfund = $input->param('bookfund');
+my $start    = $input->param('start');
+my $end      = $input->param('end');
+
+my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
+    {
+        template_name   => "acqui/bookfund.tmpl",
+        query           => $input,
+        type            => "intranet",
+        authnotrequired => 0,
+        flagsrequired   => { acquisition => 1 },
+        debug           => 1,
+    }
+);
+
+my $query =
+"Select quantity,datereceived,freight,unitprice,listprice,ecost,quantityreceived                                      
+as qrev,subscription,title,itemtype,aqorders.biblionumber,aqorders.booksellerinvoicenumber,                                 
+quantity-quantityreceived as tleft,aqorders.ordernumber                                                                                                        
+as ordnum,entrydate,budgetdate,booksellerid,aqbasket.basketno                                                               
+from aqorders,aqorderbreakdown,aqbasket                                                                                     
+left join biblioitems on  biblioitems.biblioitemnumber=aqorders.biblioitemnumber
+where bookfundid=? and aqorders.ordernumber=aqorderbreakdown.ordernumber and
+aqorders.basketno=aqbasket.basketno and (budgetdate >= ? and budgetdate < ?)
+and (datecancellationprinted is NULL or datecancellationprinted='0000-00-00')
+";
+warn $query;
+my $sth = $dbh->prepare($query);
+$sth->execute( $bookfund, $start, $end );
+my @commited_loop;
+
+my $total = 0;
+while ( my $data = $sth->fetchrow_hashref ) {
+    my $left = $data->{'tleft'};
+    if ( !$left || $left eq '' ) {
+        $left = $data->{'quantity'};
+    }
+    if ( $left && $left > 0 ) {
+        my $subtotal = $left * $data->{'ecost'};
+        $data->{subtotal} = $subtotal;
+        $data->{'left'} = $left;
+        push @commited_loop, $data;
+        $total += $subtotal;
+    }
+}
+
+$template->param(
+    COMMITEDLOOP => \@commited_loop,
+    total        => $total
+);
+$sth->finish;
+$dbh->disconnect;
+
+output_html_with_http_headers $input, $cookie, $template->output;





More information about the Koha-cvs mailing list