From 90ffdc7dfd66603fb523a1351e684a4bfa3569d3 Mon Sep 17 00:00:00 2001 From: rangi Date: Wed, 7 Jun 2006 02:17:54 +0000 Subject: [PATCH] Merging Katipo changes Script to breakdown the amount committed (ordered but not received) of a particular budget --- acqui/bookfund.pl | 81 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100755 acqui/bookfund.pl diff --git a/acqui/bookfund.pl b/acqui/bookfund.pl new file mode 100755 index 0000000000..fa2b0fe0ef --- /dev/null +++ b/acqui/bookfund.pl @@ -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; -- 2.39.2