[Koha-cvs] koha/C4 Acquisition.pm
Chris Cormack
chris at katipo.co.nz
Wed Jun 7 01:18:12 CEST 2006
CVSROOT: /sources/koha
Module name: koha
Changes by: Chris Cormack <rangi> 06/06/06 23:18:12
Modified files:
C4 : Acquisition.pm
Log message:
Merging Katipo changes...
Fixing formatting and fixing neworder
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/koha/C4/Acquisition.pm?cvsroot=koha&r1=1.27&r2=1.28
Patches:
Index: Acquisition.pm
===================================================================
RCS file: /sources/koha/koha/C4/Acquisition.pm,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -b -r1.27 -r1.28
--- Acquisition.pm 23 May 2006 15:01:12 -0000 1.27
+++ Acquisition.pm 6 Jun 2006 23:18:12 -0000 1.28
@@ -23,12 +23,17 @@
use C4::Date;
use MARC::Record;
use C4::Suggestions;
+
# use C4::Biblio;
use vars qw($VERSION @ISA @EXPORT);
# set the version for version checking
-$VERSION = do { my @v = '$Revision: 1.27 $' =~ /\d+/g;shift(@v) . "." . join("_", map {sprintf "%03d", $_ } @v); };
+$VERSION = do { my @v = '$Revision: 1.28 $' =~ /\d+/g; shift(@v) . "." . join( "_", map { sprintf "%03d", $_ } @v ); };
+
+# used in reciveorder subroutine
+# to provide library specific handling
+my $library_name = C4::Context->preference("LibraryName");
=head1 NAME
@@ -74,6 +79,7 @@
#
#
#
+
=item getbasket
$aqbasket = &getbasket($basketnumber);
@@ -82,11 +88,15 @@
=cut
sub getbasket {
- my ($basketno)=@_;
- my $dbh=C4::Context->dbh;
- my $sth=$dbh->prepare("select aqbasket.*,borrowers.firstname+' '+borrowers.surname as authorisedbyname, borrowers.branchcode as branch from aqbasket left join borrowers on aqbasket.authorisedby=borrowers.borrowernumber where basketno=?");
+ my ($basketno) = @_;
+ my $dbh = C4::Context->dbh;
+ my $sth =
+ $dbh->prepare(
+"select aqbasket.*,borrowers.firstname+' '+borrowers.surname as authorisedbyname, borrowers.branchcode as branch from aqbasket left join borrowers on aqbasket.authorisedby=borrowers.borrowernumber where basketno=?"
+ );
$sth->execute($basketno);
- return($sth->fetchrow_hashref);
+ return ( $sth->fetchrow_hashref );
+ $sth->finish();
}
=item getbasketcontent
@@ -103,34 +113,42 @@
number of elements in C<@orders>.
=cut
+
#'
sub getbasketcontent {
- my ($basketno,$supplier,$orderby)=@_;
+ my ( $basketno, $supplier, $orderby ) = @_;
my $dbh = C4::Context->dbh;
- my $query="Select aqorderbreakdown.*,biblio.*,biblioitems.*,aqorders.*,biblio.title from aqorders,biblio,biblioitems
- left join aqorderbreakdown on aqorderbreakdown.ordernumber=aqorders.ordernumber
- where basketno='$basketno'
- and biblio.biblionumber=aqorders.biblionumber and biblioitems.biblioitemnumber
+ my $query =
+"SELECT aqorderbreakdown.*,biblio.*,biblioitems.*,aqorders.*,biblio.title FROM aqorders,biblio,biblioitems
+ LEFT JOIN aqorderbreakdown ON aqorderbreakdown.ordernumber=aqorders.ordernumber
+ where basketno=?
+ AND biblio.biblionumber=aqorders.biblionumber AND biblioitems.biblioitemnumber
=aqorders.biblioitemnumber
- and (datecancellationprinted is NULL or datecancellationprinted =
+ AND (datecancellationprinted IS NULL OR datecancellationprinted =
'0000-00-00')";
- if ($supplier ne ''){
- $query.=" and aqorders.booksellerid='$supplier'";
+ if ( $supplier ne '' ) {
+ $query .= " AND aqorders.booksellerid=?";
}
- $orderby="biblioitems.publishercode" unless $orderby;
- $query.=" order by $orderby";
- my $sth=$dbh->prepare($query);
- $sth->execute;
+ $orderby = "biblioitems.publishercode" unless $orderby;
+ $query .= " ORDER BY $orderby";
+ my $sth = $dbh->prepare($query);
+ if ( $supplier ne '' ) {
+ $sth->execute( $basketno, $supplier );
+ }
+ else {
+ $sth->execute($basketno);
+ }
my @results;
+
# print $query;
- my $i=0;
- while (my $data=$sth->fetchrow_hashref){
- $results[$i]=$data;
+ my $i = 0;
+ while ( my $data = $sth->fetchrow_hashref ) {
+ $results[$i] = $data;
$i++;
}
$sth->finish;
- return($i, at results);
+ return ( $i, @results );
}
=item newbasket
@@ -141,12 +159,16 @@
=cut
sub newbasket {
- my ($booksellerid,$authorisedby) = @_;
+ my ( $booksellerid, $authorisedby ) = @_;
my $dbh = C4::Context->dbh;
- my $sth=$dbh->do("insert into aqbasket (creationdate,booksellerid,authorisedby) values(now(),'$booksellerid','$authorisedby')");
- #find & return basketno MYSQL dependant, but $dbh->last_insert_id always returns null :-(
+ my $sth =
+ $dbh->do(
+"insert into aqbasket (creationdate,booksellerid,authorisedby) values(now(),'$booksellerid','$authorisedby')"
+ );
+
+#find & return basketno MYSQL dependant, but $dbh->last_insert_id always returns null :-(
my $basket = $dbh->{'mysql_insertid'};
- return($basket);
+ return ($basket);
}
=item closebasket
@@ -159,7 +181,8 @@
sub closebasket {
my ($basketno) = @_;
my $dbh = C4::Context->dbh;
- my $sth=$dbh->prepare("update aqbasket set closedate=now() where basketno=?");
+ my $sth =
+ $dbh->prepare("update aqbasket set closedate=now() where basketno=?");
$sth->execute($basketno);
}
@@ -185,36 +208,57 @@
C<$subscription> may be either "yes", or anything else for "no".
=cut
+
#'
sub neworder {
- my ($basketno,$bibnum,$title,$quantity,$listprice,$booksellerid,$authorisedby,$notes,$bookfund,$bibitemnum,$rrp,$ecost,$gst,$budget,$cost,$sub,$invoice,$sort1,$sort2)=@_;
- if ($budget eq 'now'){
- $budget="now()";
- } else {
- $budget="'2001-07-01'";
- }
- if ($sub eq 'yes'){
- $sub=1;
- } else {
- $sub=0;
- }
- # if $basket empty, it's also a new basket, create it
- unless ($basketno) {
- $basketno=newbasket($booksellerid,$authorisedby);
- }
- my $dbh = C4::Context->dbh;
- my $sth=$dbh->prepare("insert into aqorders
+ my (
+ $basketno, $bibnum, $title, $quantity,
+ $listprice, $booksellerid, $authorisedby, $notes,
+ $bookfund, $bibitemnum, $rrp, $ecost,
+ $gst, $budget, $cost, $sub,
+ $invoice, $sort1, $sort2
+ )
+ = @_;
+ my $sth;
+ if ( !$budget || $budget eq 'now' ) {
+ $sth = $dbh->prepare(
+ "INSERT INTO aqorders
(biblionumber,title,basketno,quantity,listprice,notes,
- biblioitemnumber,rrp,ecost,gst,unitprice,subscription,sort1,sort2)
- values (?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
- $sth->execute($bibnum,$title,$basketno,$quantity,$listprice,$notes,
- $bibitemnum,$rrp,$ecost,$gst,$cost,$sub,$sort1,$sort2);
+ biblioitemnumber,rrp,ecost,gst,unitprice,subscription,sort1,sort2,budgetdate,entrydate)
+ VALUES ( ?,?,?,?,?,?,?,?,?,?,?,?,?,?,now(),now() )"
+ );
+ $sth->execute(
+ $bibnum, $title, $basketno, $quantity, $listprice,
+ $notes, $bibitemnum, $rrp, $ecost, $gst,
+ $cost, $sub, $sort1, $sort2
+ );
+ }
+ else {
+
+ ##FIXME HARDCODED DATE.
+ $budget = "'2006-07-01'";
+ $sth = $dbh->prepare(
+ "INSERT INTO aqorders
+ (biblionumber,title,basketno,quantity,listprice,notes,
+ biblioitemnumber,rrp,ecost,gst,unitprice,subscription,sort1,sort2,budgetdate,entrydate)
+ VALUES ( ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,now() )"
+ );
+ $sth->execute(
+ $bibnum, $title, $basketno, $quantity, $listprice,
+ $notes, $bibitemnum, $rrp, $ecost, $gst,
+ $cost, $sub, $sort1, $sort2, $budget
+ );
+
+ }
$sth->finish;
+
#get ordnum MYSQL dependant, but $dbh->last_insert_id returns null
my $ordnum = $dbh->{'mysql_insertid'};
- $sth=$dbh->prepare("insert into aqorderbreakdown (ordernumber,bookfundid) values
- (?,?)");
- $sth->execute($ordnum,$bookfund);
+ $sth = $dbh->prepare(
+ "INSERT INTO aqorderbreakdown (ordernumber,bookfundid) VALUES
+ (?,?)"
+ );
+ $sth->execute( $ordnum, $bookfund );
$sth->finish;
return $basketno;
}
@@ -228,13 +272,16 @@
cancelled.
=cut
+
#'
sub delorder {
- my ($bibnum,$ordnum)=@_;
+ my ( $bibnum, $ordnum ) = @_;
my $dbh = C4::Context->dbh;
- my $sth=$dbh->prepare("update aqorders set datecancellationprinted=now()
- where biblionumber=? and ordernumber=?");
- $sth->execute($bibnum,$ordnum);
+ my $sth = $dbh->prepare(
+ "update aqorders set datecancellationprinted=now()
+ where biblionumber=? and ordernumber=?"
+ );
+ $sth->execute( $bibnum, $ordnum );
$sth->finish;
}
@@ -254,24 +301,42 @@
table are also updated to the new book fund ID.
=cut
+
#'
sub modorder {
- my ($title,$ordnum,$quantity,$listprice,$bibnum,$basketno,$supplier,$who,$notes,$bookfund,$bibitemnum,$rrp,$ecost,$gst,$budget,$cost,$invoice,$sort1,$sort2)=@_;
+ my (
+ $title, $ordnum, $quantity, $listprice, $bibnum,
+ $basketno, $supplier, $who, $notes, $bookfund,
+ $bibitemnum, $rrp, $ecost, $gst, $budget,
+ $cost, $invoice, $sort1, $sort2
+ )
+ = @_;
my $dbh = C4::Context->dbh;
- my $sth=$dbh->prepare("update aqorders set title=?,
+ my $sth = $dbh->prepare(
+ "update aqorders set title=?,
quantity=?,listprice=?,basketno=?,
rrp=?,ecost=?,unitprice=?,booksellerinvoicenumber=?,
notes=?,sort1=?, sort2=?
where
- ordernumber=? and biblionumber=?");
- $sth->execute($title,$quantity,$listprice,$basketno,$rrp,$ecost,$cost,$invoice,$notes,$sort1,$sort2,$ordnum,$bibnum);
- $sth->finish;
- $sth=$dbh->prepare("update aqorderbreakdown set bookfundid=? where
- ordernumber=?");
- unless ($sth->execute($bookfund,$ordnum)) { # zero rows affected [Bug 734]
- my $query="insert into aqorderbreakdown (ordernumber,bookfundid) values (?,?)";
- $sth=$dbh->prepare($query);
- $sth->execute($ordnum,$bookfund);
+ ordernumber=? and biblionumber=?"
+ );
+ $sth->execute(
+ $title, $quantity, $listprice, $basketno, $rrp,
+ $ecost, $cost, $invoice, $notes, $sort1,
+ $sort2, $ordnum, $bibnum
+ );
+ $sth->finish;
+ $sth = $dbh->prepare(
+ "update aqorderbreakdown set bookfundid=? where
+ ordernumber=?"
+ );
+
+ unless ( $sth->execute( $bookfund, $ordnum ) )
+ { # zero rows affected [Bug 734]
+ my $query =
+ "insert into aqorderbreakdown (ordernumber,bookfundid) values (?,?)";
+ $sth = $dbh->prepare($query);
+ $sth->execute( $ordnum, $bookfund );
}
$sth->finish;
}
@@ -284,17 +349,18 @@
database, and returns it.
=cut
+
#'
# FIXME - Race condition
sub newordernum {
my $dbh = C4::Context->dbh;
- my $sth=$dbh->prepare("Select max(ordernumber) from aqorders");
+ my $sth = $dbh->prepare("Select max(ordernumber) from aqorders");
$sth->execute;
- my $data=$sth->fetchrow_arrayref;
- my $ordnum=$$data[0];
+ my $data = $sth->fetchrow_arrayref;
+ my $ordnum = $$data[0];
$ordnum++;
$sth->finish;
- return($ordnum);
+ return ($ordnum);
}
=item receiveorder
@@ -313,18 +379,23 @@
Also updates the book fund ID in the aqorderbreakdown table.
=cut
+
#'
sub receiveorder {
- my ($biblio,$ordnum,$quantrec,$user,$cost,$invoiceno,$freight,$rrp)=@_;
+ my ( $biblio, $ordnum, $quantrec, $user, $cost, $invoiceno, $freight, $rrp )
+ = @_;
my $dbh = C4::Context->dbh;
- my $sth=$dbh->prepare("update aqorders set quantityreceived=?,datereceived=now(),booksellerinvoicenumber=?,
+ my $sth = $dbh->prepare(
+"update aqorders set quantityreceived=?,datereceived=now(),booksellerinvoicenumber=?,
unitprice=?,freight=?,rrp=?
- where biblionumber=? and ordernumber=?");
- my $suggestionid = findsuggestion_from_biblionumber($dbh,$biblio);
+ where biblionumber=? and ordernumber=?"
+ );
+ my $suggestionid = findsuggestion_from_biblionumber( $dbh, $biblio );
if ($suggestionid) {
- changestatus($suggestionid,'AVAILABLE','',$biblio);
+ changestatus( $suggestionid, 'AVAILABLE', '', $biblio );
}
- $sth->execute($quantrec,$invoiceno,$cost,$freight,$rrp,$biblio,$ordnum);
+ $sth->execute( $quantrec, $invoiceno, $cost, $freight, $rrp, $biblio,
+ $ordnum );
$sth->finish;
}
@@ -341,18 +412,23 @@
C<$user> is ignored.
=cut
+
#'
-sub updaterecorder{
- my($biblio,$ordnum,$user,$cost,$bookfund,$rrp)=@_;
+sub updaterecorder {
+ my ( $biblio, $ordnum, $user, $cost, $bookfund, $rrp ) = @_;
my $dbh = C4::Context->dbh;
- my $sth=$dbh->prepare("update aqorders set
+ my $sth = $dbh->prepare(
+ "update aqorders set
unitprice=?, rrp=?
where biblionumber=? and ordernumber=?
- ");
- $sth->execute($cost,$rrp,$biblio,$ordnum);
- $sth->finish;
- $sth=$dbh->prepare("update aqorderbreakdown set bookfundid=? where ordernumber=?");
- $sth->execute($bookfund,$ordnum);
+ "
+ );
+ $sth->execute( $cost, $rrp, $biblio, $ordnum );
+ $sth->finish;
+ $sth =
+ $dbh->prepare(
+ "update aqorderbreakdown set bookfundid=? where ordernumber=?");
+ $sth->execute( $bookfund, $ordnum );
$sth->finish;
}
@@ -394,32 +470,36 @@
Results are ordered from most to least recent.
=cut
+
#'
sub getorders {
- my ($supplierid)=@_;
+ my ($supplierid) = @_;
my $dbh = C4::Context->dbh;
- my $strsth ="Select count(*),authorisedby,creationdate,aqbasket.basketno,
+ my $strsth = "Select count(*),authorisedby,creationdate,aqbasket.basketno,
closedate,surname,firstname,aqorders.title
from aqorders
left join aqbasket on aqbasket.basketno=aqorders.basketno
left join borrowers on aqbasket.authorisedby=borrowers.borrowernumber
where booksellerid=? and (quantity > quantityreceived or
quantityreceived is NULL) and datecancellationprinted is NULL and (to_days(now())-to_days(closedate) < 180 or closedate is null)";
- if (C4::Context->preference("IndependantBranches")) {
+ if ( C4::Context->preference("IndependantBranches") ) {
my $userenv = C4::Context->userenv;
- if (($userenv)&&($userenv->{flags} != 1)){
- $strsth .= " and (borrowers.branchcode = '".$userenv->{branch}."' or borrowers.branchcode ='')";
+ if ( ($userenv) && ( $userenv->{flags} != 1 ) ) {
+ $strsth .=
+ " and (borrowers.branchcode = '"
+ . $userenv->{branch}
+ . "' or borrowers.branchcode ='')";
}
}
- $strsth.=" group by basketno order by aqbasket.basketno";
- my $sth=$dbh->prepare($strsth);
+ $strsth .= " group by basketno order by aqbasket.basketno";
+ my $sth = $dbh->prepare($strsth);
$sth->execute($supplierid);
my @results = ();
- while (my $data=$sth->fetchrow_hashref){
- push(@results,$data);
+ while ( my $data = $sth->fetchrow_hashref ) {
+ push( @results, $data );
}
$sth->finish;
- return (scalar(@results),\@results);
+ return ( scalar(@results), \@results );
}
=item getorder
@@ -435,17 +515,21 @@
=cut
-sub getorder{
- my ($bi,$bib)=@_;
+sub getorder {
+ my ( $bi, $bib ) = @_;
my $dbh = C4::Context->dbh;
- my $sth=$dbh->prepare("Select ordernumber from aqorders where biblionumber=? and biblioitemnumber=?");
- $sth->execute($bib,$bi);
+ my $sth =
+ $dbh->prepare(
+"Select ordernumber from aqorders where biblionumber=? and biblioitemnumber=?"
+ );
+ $sth->execute( $bib, $bi );
+
# FIXME - Use fetchrow_array(), since we're only interested in the one
# value.
- my $ordnum=$sth->fetchrow_hashref;
+ my $ordnum = $sth->fetchrow_hashref;
$sth->finish;
- my $order=getsingleorder($ordnum->{'ordernumber'});
- return ($order,$ordnum->{'ordernumber'});
+ my $order = getsingleorder( $ordnum->{'ordernumber'} );
+ return ( $order, $ordnum->{'ordernumber'} );
}
=item getsingleorder
@@ -461,17 +545,19 @@
=cut
sub getsingleorder {
- my ($ordnum)=@_;
+ my ($ordnum) = @_;
my $dbh = C4::Context->dbh;
- my $sth=$dbh->prepare("Select * from biblio,biblioitems,aqorders left join aqorderbreakdown
+ my $sth = $dbh->prepare(
+ "Select * from biblio,biblioitems,aqorders left join aqorderbreakdown
on aqorders.ordernumber=aqorderbreakdown.ordernumber
where aqorders.ordernumber=?
and biblio.biblionumber=aqorders.biblionumber and
- biblioitems.biblioitemnumber=aqorders.biblioitemnumber");
+ biblioitems.biblioitemnumber=aqorders.biblioitemnumber"
+ );
$sth->execute($ordnum);
- my $data=$sth->fetchrow_hashref;
+ my $data = $sth->fetchrow_hashref;
$sth->finish;
- return($data);
+ return ($data);
}
=item getallorders
@@ -488,13 +574,15 @@
C<@results> is sorted alphabetically by book title.
=cut
+
#'
sub getallorders {
+
#gets all orders from a certain supplier, orders them alphabetically
- my ($supplierid)=@_;
+ my ($supplierid) = @_;
my $dbh = C4::Context->dbh;
my @results = ();
- my $strsth ="Select count(*),authorisedby,creationdate,aqbasket.basketno,
+ my $strsth = "Select count(*),authorisedby,creationdate,aqbasket.basketno,
closedate,surname,firstname,aqorders.biblionumber,aqorders.title, aqorders.ordernumber
from aqorders
left join aqbasket on aqbasket.basketno=aqorders.basketno
@@ -502,21 +590,25 @@
where booksellerid=? and (quantity > quantityreceived or
quantityreceived is NULL) and datecancellationprinted is NULL ";
- if (C4::Context->preference("IndependantBranches")) {
+ if ( C4::Context->preference("IndependantBranches") ) {
my $userenv = C4::Context->userenv;
- if (($userenv) &&($userenv->{flags} != 1)){
- $strsth .= " and (borrowers.branchcode = '".$userenv->{branch}."' or borrowers.branchcode ='')";
+ if ( ($userenv) && ( $userenv->{flags} != 1 ) ) {
+ $strsth .=
+ " and (borrowers.branchcode = '"
+ . $userenv->{branch}
+ . "' or borrowers.branchcode ='')";
}
}
- $strsth.=" group by basketno order by aqbasket.basketno";
- my $sth=$dbh->prepare($strsth);
+ $strsth .= " group by basketno order by aqbasket.basketno";
+ my $sth = $dbh->prepare($strsth);
$sth->execute($supplierid);
- while (my $data=$sth->fetchrow_hashref){
- push(@results,$data);
+ while ( my $data = $sth->fetchrow_hashref ) {
+ push( @results, $data );
}
$sth->finish;
- return(scalar(@results), at results);
+ return ( scalar(@results), @results );
}
+
=item getparcelinformation
($count, @results) = &getparcelinformation($booksellerid, $code, $date);
@@ -531,34 +623,42 @@
C<@results> is sorted alphabetically by book title.
=cut
+
#'
sub getparcelinformation {
+
#gets all orders from a certain supplier, orders them alphabetically
- my ($supplierid,$code, $datereceived)=@_;
+ my ( $supplierid, $code, $datereceived ) = @_;
my $dbh = C4::Context->dbh;
my @results = ();
- $code .='%' if $code; # add % if we search on a given code (otherwise, let him empty)
- my $strsth ="Select authorisedby,creationdate,aqbasket.basketno,closedate,surname,firstname,aqorders.biblionumber,aqorders.title,aqorders.ordernumber, aqorders.quantity, aqorders.quantityreceived, aqorders.unitprice, aqorders.listprice, aqorders.rrp, aqorders.ecost from aqorders,aqbasket left join borrowers on aqbasket.authorisedby=borrowers.borrowernumber where aqbasket.basketno=aqorders.basketno and aqbasket.booksellerid=? and aqorders.booksellerinvoicenumber like \"$code\" and aqorders.datereceived= \'$datereceived\'";
+ $code .= '%'
+ if $code; # add % if we search on a given code (otherwise, let him empty)
+ my $strsth =
+"Select authorisedby,creationdate,aqbasket.basketno,closedate,surname,firstname,aqorders.biblionumber,aqorders.title,aqorders.ordernumber, aqorders.quantity, aqorders.quantityreceived, aqorders.unitprice, aqorders.listprice, aqorders.rrp, aqorders.ecost from aqorders,aqbasket left join borrowers on aqbasket.authorisedby=borrowers.borrowernumber where aqbasket.basketno=aqorders.basketno and aqbasket.booksellerid=? and aqorders.booksellerinvoicenumber like \"$code\" and aqorders.datereceived= \'$datereceived\'";
- if (C4::Context->preference("IndependantBranches")) {
+ if ( C4::Context->preference("IndependantBranches") ) {
my $userenv = C4::Context->userenv;
- if (($userenv) &&($userenv->{flags} != 1)){
- $strsth .= " and (borrowers.branchcode = '".$userenv->{branch}."' or borrowers.branchcode ='')";
+ if ( ($userenv) && ( $userenv->{flags} != 1 ) ) {
+ $strsth .=
+ " and (borrowers.branchcode = '"
+ . $userenv->{branch}
+ . "' or borrowers.branchcode ='')";
}
}
- $strsth.=" order by aqbasket.basketno";
+ $strsth .= " order by aqbasket.basketno";
### parcelinformation : $strsth
- my $sth=$dbh->prepare($strsth);
+ my $sth = $dbh->prepare($strsth);
$sth->execute($supplierid);
- while (my $data=$sth->fetchrow_hashref){
- push(@results,$data);
+ while ( my $data = $sth->fetchrow_hashref ) {
+ push( @results, $data );
}
- my $count =scalar(@results);
+ my $count = scalar(@results);
### countparcelbiblio: $count
$sth->finish;
- return(scalar(@results), at results);
+ return ( scalar(@results), @results );
}
+
=item getsupplierlistwithlateorders
%results = &getsupplierlistwithlateorders;
@@ -566,35 +666,39 @@
Searches for suppliers with late orders.
=cut
+
#'
sub getsupplierlistwithlateorders {
- my $delay=shift;
+ my $delay = shift;
my $dbh = C4::Context->dbh;
+
#FIXME NOT quite sure that this operation is valid for DBMs different from Mysql, HOPING so
#should be tested with other DBMs
my $strsth;
- my $dbdriver = C4::Context->config("db_scheme")||"mysql";
- if ($dbdriver eq "mysql"){
- $strsth="SELECT DISTINCT aqbasket.booksellerid, aqbooksellers.name
+ my $dbdriver = C4::Context->config("db_scheme") || "mysql";
+ if ( $dbdriver eq "mysql" ) {
+ $strsth = "SELECT DISTINCT aqbasket.booksellerid, aqbooksellers.name
FROM aqorders, aqbasket
LEFT JOIN aqbooksellers ON aqbasket.booksellerid = aqbooksellers.id
WHERE aqorders.basketno = aqbasket.basketno AND
(closedate < DATE_SUB(CURDATE( ),INTERVAL $delay DAY) AND (datereceived = '' or datereceived is null))
";
- }else {
- $strsth="SELECT DISTINCT aqbasket.booksellerid, aqbooksellers.name
+ }
+ else {
+ $strsth = "SELECT DISTINCT aqbasket.booksellerid, aqbooksellers.name
FROM aqorders, aqbasket
LEFT JOIN aqbooksellers ON aqbasket.aqbooksellerid = aqbooksellers.id
WHERE aqorders.basketno = aqbasket.basketno AND
(closedate < (CURDATE( )-(INTERVAL $delay DAY))) AND (datereceived = '' or datereceived is null))
";
}
-# warn "C4::Acquisition getsupplierlistwithlateorders : ".$strsth;
+
+ # warn "C4::Acquisition getsupplierlistwithlateorders : ".$strsth;
my $sth = $dbh->prepare($strsth);
$sth->execute;
my %supplierlist;
- while (my ($id,$name) = $sth->fetchrow) {
+ while ( my ( $id, $name ) = $sth->fetchrow ) {
$supplierlist{$id} = $name;
}
return %supplierlist;
@@ -607,19 +711,22 @@
Searches for suppliers with late orders.
=cut
+
#'
sub getlateorders {
- my $delay=shift;
+ my $delay = shift;
my $supplierid = shift;
my $branch = shift;
my $dbh = C4::Context->dbh;
-#BEWARE, order of parenthesis and LEFT JOIN is important for speed
+
+ #BEWARE, order of parenthesis and LEFT JOIN is important for speed
my $strsth;
- my $dbdriver = C4::Context->config("db_scheme")||"mysql";
-# warn " $dbdriver";
- if ($dbdriver eq "mysql"){
- $strsth ="SELECT aqbasket.basketno,
+ my $dbdriver = C4::Context->config("db_scheme") || "mysql";
+
+ # warn " $dbdriver";
+ if ( $dbdriver eq "mysql" ) {
+ $strsth = "SELECT aqbasket.basketno,
DATE(aqbasket.closedate) as orderdate, aqorders.quantity - IFNULL(aqorders.quantityreceived,0) as quantity, aqorders.rrp as unitpricesupplier,aqorders.ecost as unitpricelib,
(aqorders.quantity - IFNULL(aqorders.quantityreceived,0)) * aqorders.rrp as subtotal, aqbookfund.bookfundname as budget, borrowers.branchcode as branch,
aqbooksellers.name as supplier,
@@ -634,11 +741,19 @@
WHERE aqorders.basketno = aqbasket.basketno AND (closedate < DATE_SUB(CURDATE( ),INTERVAL $delay DAY))
AND ((datereceived = '' OR datereceived is null) OR (aqorders.quantityreceived < aqorders.quantity) ) ";
$strsth .= " AND aqbasket.booksellerid = $supplierid " if ($supplierid);
- $strsth .= " AND borrowers.branchcode like \'".$branch."\'" if ($branch);
- $strsth .= " AND borrowers.branchcode like \'".C4::Context->userenv->{branch}."\'" if (C4::Context->preference("IndependantBranches") && C4::Context->userenv && C4::Context->userenv->{flags}!=1);
- $strsth .= " HAVING quantity<>0 AND unitpricesupplier<>0 AND unitpricelib<>0 ORDER BY latesince,basketno,borrowers.branchcode, supplier ";
- } else {
- $strsth ="SELECT aqbasket.basketno,
+ $strsth .= " AND borrowers.branchcode like \'" . $branch . "\'"
+ if ($branch);
+ $strsth .=
+ " AND borrowers.branchcode like \'"
+ . C4::Context->userenv->{branch} . "\'"
+ if ( C4::Context->preference("IndependantBranches")
+ && C4::Context->userenv
+ && C4::Context->userenv->{flags} != 1 );
+ $strsth .=
+" HAVING quantity<>0 AND unitpricesupplier<>0 AND unitpricelib<>0 ORDER BY latesince,basketno,borrowers.branchcode, supplier ";
+ }
+ else {
+ $strsth = "SELECT aqbasket.basketno,
DATE(aqbasket.closedate) as orderdate,
aqorders.quantity, aqorders.rrp as unitpricesupplier,aqorders.ecost as unitpricelib, aqorders.quantity * aqorders.rrp as subtotal
aqbookfund.bookfundname as budget, borrowers.branchcode as branch,
@@ -654,32 +769,40 @@
WHERE aqorders.basketno = aqbasket.basketno AND (closedate < (CURDATE -(INTERVAL $delay DAY))
AND ((datereceived = '' OR datereceived is null) OR (aqorders.quantityreceived < aqorders.quantity) ) ";
$strsth .= " AND aqbasket.booksellerid = $supplierid " if ($supplierid);
- $strsth .= " AND borrowers.branchcode like \'".$branch."\'" if ($branch);
- $strsth .= " AND borrowers.branchcode like \'".C4::Context->userenv->{branch}."\'" if (C4::Context->preference("IndependantBranches") && C4::Context->userenv->{flags}!=1);
- $strsth .= " ORDER BY latesince,basketno,borrowers.branchcode, supplier";
+ $strsth .= " AND borrowers.branchcode like \'" . $branch . "\'"
+ if ($branch);
+ $strsth .=
+ " AND borrowers.branchcode like \'"
+ . C4::Context->userenv->{branch} . "\'"
+ if ( C4::Context->preference("IndependantBranches")
+ && C4::Context->userenv->{flags} != 1 );
+ $strsth .=
+ " ORDER BY latesince,basketno,borrowers.branchcode, supplier";
}
- warn "C4::Acquisition : getlateorders SQL:".$strsth;
+ warn "C4::Acquisition : getlateorders SQL:" . $strsth;
my $sth = $dbh->prepare($strsth);
$sth->execute;
my @results;
my $hilighted = 1;
- while (my $data = $sth->fetchrow_hashref) {
- $data->{hilighted}=$hilighted if ($hilighted>0);
- $data->{orderdate} = format_date($data->{orderdate});
+ while ( my $data = $sth->fetchrow_hashref ) {
+ $data->{hilighted} = $hilighted if ( $hilighted > 0 );
+ $data->{orderdate} = format_date( $data->{orderdate} );
push @results, $data;
- $hilighted= -$hilighted;
+ $hilighted = -$hilighted;
}
$sth->finish;
- return(scalar(@results), at results);
+ return ( scalar(@results), @results );
}
# FIXME - Never used
sub getrecorders {
+
#gets all orders from a certain supplier, orders them alphabetically
- my ($supid)=@_;
+ my ($supid) = @_;
my $dbh = C4::Context->dbh;
- my @results= ();
- my $sth=$dbh->prepare("Select * from aqorders,biblio,biblioitems where booksellerid=?
+ my @results = ();
+ my $sth = $dbh->prepare(
+ "Select * from aqorders,biblio,biblioitems where booksellerid=?
and (cancelledby is NULL or cancelledby = '')
and biblio.biblionumber=aqorders.biblionumber and biblioitems.biblioitemnumber=
aqorders.biblioitemnumber and
@@ -687,13 +810,14 @@
and aqorders.datereceived >=now()
group by aqorders.biblioitemnumber
order by
- biblio.title");
+ biblio.title"
+ );
$sth->execute($supid);
- while (my $data=$sth->fetchrow_hashref){
- push(@results,$data);
+ while ( my $data = $sth->fetchrow_hashref ) {
+ push( @results, $data );
}
$sth->finish;
- return(scalar(@results), at results);
+ return ( scalar(@results), @results );
}
=item ordersearch
@@ -730,15 +854,17 @@
=back
=cut
+
#'
sub ordersearch {
- my ($search,$id,$biblio,$catview) = @_;
+ my ( $search, $id, $biblio, $catview ) = @_;
my $dbh = C4::Context->dbh;
- my @data = split(' ',$search);
+ my @data = split( ' ', $search );
my @searchterms = ($id);
- map { push(@searchterms,"$_%","% $_%") } @data;
- push(@searchterms,$search,$search,$biblio);
- my $sth=$dbh->prepare("Select biblio.*,biblioitems.*,aqorders.*,aqbasket.*,biblio.title from aqorders,biblioitems,biblio,aqbasket
+ map { push( @searchterms, "$_%", "% $_%" ) } @data;
+ push( @searchterms, $search, $search, $biblio );
+ my $sth = $dbh->prepare(
+"Select biblio.*,biblioitems.*,aqorders.*,aqbasket.*,biblio.title from aqorders,biblioitems,biblio,aqbasket
where aqorders.biblioitemnumber = biblioitems.biblioitemnumber and
aqorders.basketno = aqbasket.basketno
and aqbasket.booksellerid = ?
@@ -746,73 +872,95 @@
and ((datecancellationprinted is NULL)
or (datecancellationprinted = '0000-00-00'))
and (("
- .(join(" and ",map { "(biblio.title like ? or biblio.title like ?)" } @data))
- .") or biblioitems.isbn=? or (aqorders.ordernumber=? and aqorders.biblionumber=?)) "
- .(($catview ne 'yes')?" and (quantityreceived < quantity or quantityreceived is NULL)":"")
- ." group by aqorders.ordernumber");
+ . (
+ join( " and ",
+ map { "(biblio.title like ? or biblio.title like ?)" } @data )
+ )
+ . ") or biblioitems.isbn=? or (aqorders.ordernumber=? and aqorders.biblionumber=?)) "
+ . (
+ ( $catview ne 'yes' )
+ ? " and (quantityreceived < quantity or quantityreceived is NULL)"
+ : ""
+ )
+ . " group by aqorders.ordernumber"
+ );
$sth->execute(@searchterms);
my @results = ();
- my $sth2=$dbh->prepare("Select * from biblio where biblionumber=?");
- my $sth3=$dbh->prepare("Select * from aqorderbreakdown where ordernumber=?");
- while (my $data=$sth->fetchrow_hashref){
- $sth2->execute($data->{'biblionumber'});
- my $data2=$sth2->fetchrow_hashref;
- $data->{'author'}=$data2->{'author'};
- $data->{'seriestitle'}=$data2->{'seriestitle'};
- $sth3->execute($data->{'ordernumber'});
- my $data3=$sth3->fetchrow_hashref;
- $data->{'branchcode'}=$data3->{'branchcode'};
- $data->{'bookfundid'}=$data3->{'bookfundid'};
- push(@results,$data);
+ my $sth2 = $dbh->prepare("Select * from biblio where biblionumber=?");
+ my $sth3 =
+ $dbh->prepare("Select * from aqorderbreakdown where ordernumber=?");
+ while ( my $data = $sth->fetchrow_hashref ) {
+ $sth2->execute( $data->{'biblionumber'} );
+ my $data2 = $sth2->fetchrow_hashref;
+ $data->{'author'} = $data2->{'author'};
+ $data->{'seriestitle'} = $data2->{'seriestitle'};
+ $sth3->execute( $data->{'ordernumber'} );
+ my $data3 = $sth3->fetchrow_hashref;
+ $data->{'branchcode'} = $data3->{'branchcode'};
+ $data->{'bookfundid'} = $data3->{'bookfundid'};
+ push( @results, $data );
}
$sth->finish;
$sth2->finish;
$sth3->finish;
- return(scalar(@results), at results);
+ return ( scalar(@results), @results );
}
-
sub histsearch {
- my ($title,$author,$name,$from_placed_on,$to_placed_on)=@_;
+ my ( $title, $author, $name, $from_placed_on, $to_placed_on ) = @_;
my @order_loop;
- my $total_qty=0;
- my $total_qtyreceived=0;
- my $total_price=0;
- # don't run the query if there are no parameters (list would be too long for sure !
- if ($title || $author || $name || $from_placed_on || $to_placed_on) {
- my $dbh= C4::Context->dbh;
- my $query = "select biblio.title,biblio.author,aqorders.basketno,name,aqbasket.creationdate,aqorders.datereceived, aqorders.quantity, aqorders.quantityreceived, aqorders.ecost from aqorders,aqbasket,aqbooksellers,biblio";
- $query .= ",borrowers " if (C4::Context->preference("IndependantBranches"));
- $query .=" where aqorders.basketno=aqbasket.basketno and aqbasket.booksellerid=aqbooksellers.id and biblio.biblionumber=aqorders.biblionumber ";
- $query .= " and aqbasket.authorisedby=borrowers.borrowernumber" if (C4::Context->preference("IndependantBranches"));
- $query .= " and biblio.title like ".$dbh->quote("%".$title."%") if $title;
- $query .= " and biblio.author like ".$dbh->quote("%".$author."%") if $author;
- $query .= " and name like ".$dbh->quote("%".$name."%") if $name;
- $query .= " and creationdate >" .$dbh->quote($from_placed_on) if $from_placed_on;
- $query .= " and creationdate<".$dbh->quote($to_placed_on) if $to_placed_on;
- if (C4::Context->preference("IndependantBranches")) {
+ my $total_qty = 0;
+ my $total_qtyreceived = 0;
+ my $total_price = 0;
+
+# don't run the query if there are no parameters (list would be too long for sure !
+ if ( $title || $author || $name || $from_placed_on || $to_placed_on ) {
+ my $dbh = C4::Context->dbh;
+ my $query =
+"select biblio.title,biblio.author,aqorders.basketno,name,aqbasket.creationdate,aqorders.datereceived, aqorders.quantity, aqorders.quantityreceived, aqorders.ecost from aqorders,aqbasket,aqbooksellers,biblio";
+ $query .= ",borrowers "
+ if ( C4::Context->preference("IndependantBranches") );
+ $query .=
+" where aqorders.basketno=aqbasket.basketno and aqbasket.booksellerid=aqbooksellers.id and biblio.biblionumber=aqorders.biblionumber ";
+ $query .= " and aqbasket.authorisedby=borrowers.borrowernumber"
+ if ( C4::Context->preference("IndependantBranches") );
+ $query .= " and biblio.title like " . $dbh->quote( "%" . $title . "%" )
+ if $title;
+ $query .=
+ " and biblio.author like " . $dbh->quote( "%" . $author . "%" )
+ if $author;
+ $query .= " and name like " . $dbh->quote( "%" . $name . "%" ) if $name;
+ $query .= " and creationdate >" . $dbh->quote($from_placed_on)
+ if $from_placed_on;
+ $query .= " and creationdate<" . $dbh->quote($to_placed_on)
+ if $to_placed_on;
+
+ if ( C4::Context->preference("IndependantBranches") ) {
my $userenv = C4::Context->userenv;
- if (($userenv) &&($userenv->{flags} != 1)){
- $query .= " and (borrowers.branchcode = '".$userenv->{branch}."' or borrowers.branchcode ='')";
+ if ( ($userenv) && ( $userenv->{flags} != 1 ) ) {
+ $query .=
+ " and (borrowers.branchcode = '"
+ . $userenv->{branch}
+ . "' or borrowers.branchcode ='')";
}
}
- $query .=" order by booksellerid";
- warn "query histearch: ".$query;
+ $query .= " order by booksellerid";
+ warn "query histearch: " . $query;
my $sth = $dbh->prepare($query);
$sth->execute;
- my $cnt=1;
- while (my $line = $sth->fetchrow_hashref) {
- $line->{count}=$cnt++;
- $line->{toggle}=1 if $cnt %2;
+ my $cnt = 1;
+ while ( my $line = $sth->fetchrow_hashref ) {
+ $line->{count} = $cnt++;
+ $line->{toggle} = 1 if $cnt % 2;
push @order_loop, $line;
- $line->{creationdate} = format_date($line->{creationdate});
- $line->{datereceived} = format_date($line->{datereceived});
+ $line->{creationdate} = format_date( $line->{creationdate} );
+ $line->{datereceived} = format_date( $line->{datereceived} );
$total_qty += $line->{'quantity'};
$total_qtyreceived += $line->{'quantityreceived'};
- $total_price += $line->{'quantity'}*$line->{'ecost'};
+ $total_price += $line->{'quantity'} * $line->{'ecost'};
}
}
- return \@order_loop,$total_qty,$total_price,$total_qtyreceived;
+ return \@order_loop, $total_qty, $total_price, $total_qtyreceived;
}
#
@@ -820,6 +968,7 @@
# MONEY
#
#
+
=item invoice
($count, @results) = &invoice($booksellerinvoicenumber);
@@ -832,21 +981,24 @@
of the Koha database.
=cut
+
#'
sub invoice {
- my ($invoice)=@_;
+ my ($invoice) = @_;
my $dbh = C4::Context->dbh;
my @results = ();
- my $sth=$dbh->prepare("Select * from aqorders,biblio,biblioitems where
+ my $sth = $dbh->prepare(
+ "Select * from aqorders,biblio,biblioitems where
booksellerinvoicenumber=?
and biblio.biblionumber=aqorders.biblionumber and biblioitems.biblioitemnumber=
- aqorders.biblioitemnumber group by aqorders.ordernumber,aqorders.biblioitemnumber");
+ aqorders.biblioitemnumber group by aqorders.ordernumber,aqorders.biblioitemnumber"
+ );
$sth->execute($invoice);
- while (my $data=$sth->fetchrow_hashref){
- push(@results,$data);
+ while ( my $data = $sth->fetchrow_hashref ) {
+ push( @results, $data );
}
$sth->finish;
- return(scalar(@results), at results);
+ return ( scalar(@results), @results );
}
=item bookfunds
@@ -861,35 +1013,38 @@
alphabetically by book fund name.
=cut
+
#'
sub bookfunds {
- my ($branch)=@_;
+ my ($branch) = @_;
my $dbh = C4::Context->dbh;
my $userenv = C4::Context->userenv;
my $branch = $userenv->{branch};
my $strsth;
- if (!($branch eq '')) {
- $strsth="Select * from aqbookfund,aqbudget where aqbookfund.bookfundid
+ if ( !( $branch eq '' ) ) {
+ $strsth = "Select * from aqbookfund,aqbudget where aqbookfund.bookfundid
=aqbudget.bookfundid and startdate<now() and enddate>now() and (aqbookfund.branchcode is null or aqbookfund.branchcode='' or aqbookfund.branchcode= ? )
group by aqbookfund.bookfundid order by bookfundname";
- } else {
- $strsth="Select * from aqbookfund,aqbudget where aqbookfund.bookfundid
+ }
+ else {
+ $strsth = "Select * from aqbookfund,aqbudget where aqbookfund.bookfundid
=aqbudget.bookfundid and startdate<now() and enddate>now()
group by aqbookfund.bookfundid order by bookfundname";
}
- my $sth=$dbh->prepare($strsth);
- if (!($branch eq '')){
+ my $sth = $dbh->prepare($strsth);
+ if ( !( $branch eq '' ) ) {
$sth->execute($branch);
- } else {
+ }
+ else {
$sth->execute;
}
my @results = ();
- while (my $data=$sth->fetchrow_hashref){
- push(@results,$data);
+ while ( my $data = $sth->fetchrow_hashref ) {
+ push( @results, $data );
}
$sth->finish;
- return(scalar(@results), at results);
+ return ( scalar(@results), @results );
}
=item bookfundbreakdown
@@ -897,12 +1052,14 @@
returns the total comtd & spent for a given bookfund, and a given year
used in acqui-home.pl
=cut
+
#'
sub bookfundbreakdown {
- my ($id, $year)=@_;
+ my ( $id, $year ) = @_;
my $dbh = C4::Context->dbh;
- my $sth=$dbh->prepare("SELECT startdate, enddate, quantity, datereceived, freight, unitprice, listprice, ecost, quantityreceived, subscription
+ my $sth = $dbh->prepare(
+"SELECT startdate, enddate, quantity, datereceived, freight, unitprice, listprice, ecost, quantityreceived, subscription
FROM aqorders, aqorderbreakdown, aqbudget, aqbasket
WHERE aqorderbreakdown.bookfundid = ?
AND aqorders.ordernumber = aqorderbreakdown.ordernumber
@@ -914,25 +1071,26 @@
AND aqbasket.basketno = aqorders.basketno
AND aqbasket.creationdate >= startdate
AND enddate >= aqbasket.creationdate
-and startdate<=now() and enddate>=now()");
+and startdate<=now() and enddate>=now()"
+ );
$sth->execute($id);
- my $comtd=0;
- my $spent=0;
- while (my $data=$sth->fetchrow_hashref){
- if ($data->{'subscription'} == 1){
- $spent+=$data->{'quantity'}*$data->{'unitprice'};
- } else {
- my $leftover=$data->{'quantity'}-$data->{'quantityreceived'};
- $comtd+=($data->{'ecost'})*$leftover;
- $spent+=($data->{'unitprice'})*$data->{'quantityreceived'};
+ my $comtd = 0;
+ my $spent = 0;
+ while ( my $data = $sth->fetchrow_hashref ) {
+
+ if ( $data->{'subscription'} == 1 ) {
+ $spent += $data->{'quantity'} * $data->{'unitprice'};
+ }
+ else {
+ my $leftover = $data->{'quantity'} - $data->{'quantityreceived'};
+ $comtd += ( $data->{'ecost'} ) * $leftover;
+ $spent += ( $data->{'unitprice'} ) * $data->{'quantityreceived'};
}
}
$sth->finish;
- return($spent,$comtd);
+ return ( $spent, $comtd );
}
-
-
=item curconvert
$foreignprice = &curconvert($currency, $localprice);
@@ -944,18 +1102,19 @@
to one.
=cut
+
#'
sub curconvert {
- my ($currency,$price)=@_;
+ my ( $currency, $price ) = @_;
my $dbh = C4::Context->dbh;
- my $sth=$dbh->prepare("Select rate from currency where currency=?");
+ my $sth = $dbh->prepare("Select rate from currency where currency=?");
$sth->execute($currency);
- my $cur=($sth->fetchrow_array())[0];
+ my $cur = ( $sth->fetchrow_array() )[0];
$sth->finish;
- if ($cur==0){
- $cur=1;
+ if ( $cur == 0 ) {
+ $cur = 1;
}
- return($price / $cur);
+ return ( $price / $cur );
}
=item getcurrencies
@@ -969,17 +1128,18 @@
keys are the fields from the currency table in the Koha database.
=cut
+
#'
sub getcurrencies {
my $dbh = C4::Context->dbh;
- my $sth=$dbh->prepare("Select * from currency");
+ my $sth = $dbh->prepare("Select * from currency");
$sth->execute;
my @results = ();
- while (my $data=$sth->fetchrow_hashref){
- push(@results,$data);
+ while ( my $data = $sth->fetchrow_hashref ) {
+ push( @results, $data );
}
$sth->finish;
- return(scalar(@results),\@results);
+ return ( scalar(@results), \@results );
}
=item updatecurrencies
@@ -989,12 +1149,13 @@
Sets the exchange rate for C<$currency> to be C<$newrate>.
=cut
+
#'
sub updatecurrencies {
- my ($currency,$rate)=@_;
+ my ( $currency, $rate ) = @_;
my $dbh = C4::Context->dbh;
- my $sth=$dbh->prepare("update currency set rate=? where currency=?");
- $sth->execute($rate,$currency);
+ my $sth = $dbh->prepare("update currency set rate=? where currency=?");
+ $sth->execute( $rate, $currency );
$sth->finish;
}
@@ -1016,18 +1177,20 @@
aqbooksellers table in the Koha database.
=cut
+
#'
sub bookseller {
- my ($searchstring)=@_;
+ my ($searchstring) = @_;
my $dbh = C4::Context->dbh;
- my $sth=$dbh->prepare("Select * from aqbooksellers where name like ? or id = ?");
- $sth->execute("$searchstring%",$searchstring);
+ my $sth =
+ $dbh->prepare("Select * from aqbooksellers where name like ? or id = ?");
+ $sth->execute( "$searchstring%", $searchstring );
my @results;
- while (my $data=$sth->fetchrow_hashref){
- push(@results,$data);
+ while ( my $data = $sth->fetchrow_hashref ) {
+ push( @results, $data );
}
$sth->finish;
- return(scalar(@results), at results);
+ return ( scalar(@results), @results );
}
=item breakdown
@@ -1041,21 +1204,22 @@
are the fields of the aqorderbreakdown table in the Koha database.
=cut
+
#'
sub breakdown {
- my ($id)=@_;
+ my ($id) = @_;
my $dbh = C4::Context->dbh;
- my $sth=$dbh->prepare("Select * from aqorderbreakdown where ordernumber=?");
+ my $sth =
+ $dbh->prepare("Select * from aqorderbreakdown where ordernumber=?");
$sth->execute($id);
my @results = ();
- while (my $data=$sth->fetchrow_hashref){
- push(@results,$data);
+ while ( my $data = $sth->fetchrow_hashref ) {
+ push( @results, $data );
}
$sth->finish;
- return(scalar(@results),\@results);
+ return ( scalar(@results), \@results );
}
-
=item branches
($count, @results) = &branches();
@@ -1067,28 +1231,35 @@
table of the Koha database.
=cut
+
#'
sub branches {
my $dbh = C4::Context->dbh;
my $sth;
- if (C4::Context->preference("IndependantBranches") && (C4::Context->userenv) && (C4::Context->userenv->{flags} != 1)){
- my $strsth ="Select * from branches ";
- $strsth.= " WHERE branchcode = ".$dbh->quote(C4::Context->userenv->{branch});
- $strsth.= " order by branchname";
- warn "C4::Acquisition->branches : ".$strsth;
- $sth=$dbh->prepare($strsth);
- } else {
+ if ( C4::Context->preference("IndependantBranches")
+ && ( C4::Context->userenv )
+ && ( C4::Context->userenv->{flags} != 1 ) )
+ {
+ my $strsth = "Select * from branches ";
+ $strsth .=
+ " WHERE branchcode = "
+ . $dbh->quote( C4::Context->userenv->{branch} );
+ $strsth .= " order by branchname";
+ warn "C4::Acquisition->branches : " . $strsth;
+ $sth = $dbh->prepare($strsth);
+ }
+ else {
$sth = $dbh->prepare("Select * from branches order by branchname");
}
my @results = ();
$sth->execute();
- while (my $data = $sth->fetchrow_hashref) {
- push(@results,$data);
+ while ( my $data = $sth->fetchrow_hashref ) {
+ push( @results, $data );
} # while
$sth->finish;
- return(scalar(@results), @results);
+ return ( scalar(@results), @results );
} # sub branches
=item updatesup
@@ -1105,27 +1276,37 @@
C<&updatesup> with the result.
=cut
+
#'
sub updatesup {
- my ($data)=@_;
+ my ($data) = @_;
my $dbh = C4::Context->dbh;
- my $sth=$dbh->prepare("Update aqbooksellers set
+ my $sth = $dbh->prepare(
+ "Update aqbooksellers set
name=?,address1=?,address2=?,address3=?,address4=?,postal=?,
phone=?,fax=?,url=?,contact=?,contpos=?,contphone=?,contfax=?,contaltphone=?,
contemail=?,contnotes=?,active=?,
listprice=?, invoiceprice=?,gstreg=?, listincgst=?,
invoiceincgst=?, specialty=?,discount=?,invoicedisc=?,
nocalc=?
- where id=?");
- $sth->execute($data->{'name'},$data->{'address1'},$data->{'address2'},
- $data->{'address3'},$data->{'address4'},$data->{'postal'},$data->{'phone'},
- $data->{'fax'},$data->{'url'},$data->{'contact'},$data->{'contpos'},
- $data->{'contphone'},$data->{'contfax'},$data->{'contaltphone'},
- $data->{'contemail'},
- $data->{'contnote'},$data->{'active'},$data->{'listprice'},
- $data->{'invoiceprice'},$data->{'gstreg'},$data->{'listincgst'},
- $data->{'invoiceincgst'},$data->{'specialty'},$data->{'discount'},
- $data->{'invoicedisc'},$data->{'nocalc'},$data->{'id'});
+ where id=?"
+ );
+ $sth->execute(
+ $data->{'name'}, $data->{'address1'},
+ $data->{'address2'}, $data->{'address3'},
+ $data->{'address4'}, $data->{'postal'},
+ $data->{'phone'}, $data->{'fax'},
+ $data->{'url'}, $data->{'contact'},
+ $data->{'contpos'}, $data->{'contphone'},
+ $data->{'contfax'}, $data->{'contaltphone'},
+ $data->{'contemail'}, $data->{'contnote'},
+ $data->{'active'}, $data->{'listprice'},
+ $data->{'invoiceprice'}, $data->{'gstreg'},
+ $data->{'listincgst'}, $data->{'invoiceincgst'},
+ $data->{'specialty'}, $data->{'discount'},
+ $data->{'invoicedisc'}, $data->{'nocalc'},
+ $data->{'id'}
+ );
$sth->finish;
}
@@ -1140,21 +1321,22 @@
Returns the ID of the newly-created bookseller.
=cut
+
#'
sub insertsup {
- my ($data)=@_;
+ my ($data) = @_;
my $dbh = C4::Context->dbh;
- my $sth=$dbh->prepare("Select max(id) from aqbooksellers");
+ my $sth = $dbh->prepare("Select max(id) from aqbooksellers");
$sth->execute;
- my $data2=$sth->fetchrow_hashref;
+ my $data2 = $sth->fetchrow_hashref;
$sth->finish;
$data2->{'max(id)'}++;
- $sth=$dbh->prepare("Insert into aqbooksellers (id) values (?)");
- $sth->execute($data2->{'max(id)'});
+ $sth = $dbh->prepare("Insert into aqbooksellers (id) values (?)");
+ $sth->execute( $data2->{'max(id)'} );
$sth->finish;
- $data->{'id'}=$data2->{'max(id)'};
+ $data->{'id'} = $data2->{'max(id)'};
updatesup($data);
- return($data->{'id'});
+ return ( $data->{'id'} );
}
=item getparcels
@@ -1170,27 +1352,32 @@
=cut
+
#'
sub getparcels {
- my ($bookseller, $order, $code,$datefrom,$dateto, $limit)=@_;
+ my ( $bookseller, $order, $code, $datefrom, $dateto, $limit ) = @_;
my $dbh = C4::Context->dbh;
- my $strsth = "SELECT aqorders.booksellerinvoicenumber, datereceived, count(DISTINCT biblionumber) as biblio, sum(quantity) as itemsexpected, sum(quantityreceived) as itemsreceived from aqorders, aqbasket where aqbasket.basketno = aqorders.basketno and aqbasket.booksellerid = $bookseller and datereceived is not null ";
- $strsth .= "and aqorders.booksellerinvoicenumber like \"$code%\" " if ($code);
- $strsth .= "and datereceived >=".$dbh->quote($datefrom)." " if ($datefrom);
- $strsth .= "and datereceived <=".$dbh->quote($dateto)." " if ($dateto);
+ my $strsth =
+"SELECT aqorders.booksellerinvoicenumber, datereceived, count(DISTINCT biblionumber) as biblio, sum(quantity) as itemsexpected, sum(quantityreceived) as itemsreceived from aqorders, aqbasket where aqbasket.basketno = aqorders.basketno and aqbasket.booksellerid = $bookseller and datereceived is not null ";
+ $strsth .= "and aqorders.booksellerinvoicenumber like \"$code%\" "
+ if ($code);
+ $strsth .= "and datereceived >=" . $dbh->quote($datefrom) . " "
+ if ($datefrom);
+ $strsth .= "and datereceived <=" . $dbh->quote($dateto) . " " if ($dateto);
$strsth .= "group by aqorders.booksellerinvoicenumber,datereceived ";
$strsth .= "order by $order " if ($order);
$strsth .= " LIMIT 0,$limit" if ($limit);
- my $sth=$dbh->prepare($strsth);
+ my $sth = $dbh->prepare($strsth);
### getparcels: $strsth
$sth->execute;
my @results;
- while (my $data2=$sth->fetchrow_hashref) {
+
+ while ( my $data2 = $sth->fetchrow_hashref ) {
push @results, $data2;
}
$sth->finish;
- return(scalar(@results), @results);
+ return ( scalar(@results), @results );
}
END { } # module clean-up code here (global destructor)
More information about the Koha-cvs
mailing list