From c861927ffb1026b5c1717a7c0a13090c415a66ee Mon Sep 17 00:00:00 2001
From: Katrin Fischer <katrin.fischer@bsz-bw.de>
Date: Fri, 15 May 2015 12:19:16 +0200
Subject: [PATCH] Bug 14172: Acq: Orders without items missing from 'spent'
 list
Content-Type: text/plain; charset=utf-8

If the item for an order had been deleted since or there was never
an item created for the order (subscription orders) those records
where missing from the "Spent" page in acquisitions.

Patch corrects the SQL to list the correct records.

To test:
- Create different orders for one fund and receive them
  - normal order with a few items
  - subscription order (no item)
  - normal order with an item, delete the item after receiving
  - include some freight cost in one of the invoices
- Compare the amount spent shown on the acq start page
  with the amount shown at the end of the 'spent' page
- Without the patch, the amounts don't match and not all
  received titles are listed
- With the patch, amounts should match and list shoudl be complete

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
---
 acqui/spent.pl |   10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/acqui/spent.pl b/acqui/spent.pl
index 1aaedf2..4d60029 100755
--- a/acqui/spent.pl
+++ b/acqui/spent.pl
@@ -69,18 +69,18 @@ SELECT
 FROM (aqorders, aqbasket)
 LEFT JOIN biblio ON
     biblio.biblionumber=aqorders.biblionumber
-LEFT JOIN items ON
-    biblio.biblionumber = items.biblionumber
 LEFT JOIN aqorders_items ON
-     items.itemnumber = aqorders_items.itemnumber
+    aqorders.ordernumber = aqorders_items.ordernumber
+LEFT JOIN items ON
+    aqorders_items.itemnumber = items.itemnumber
 LEFT JOIN aqinvoices ON
     aqorders.invoiceid = aqinvoices.invoiceid
 WHERE
-    aqorders.ordernumber=aqorders_items.ordernumber AND
     aqorders.basketno=aqbasket.basketno AND
     budget_id=? AND
     (datecancellationprinted IS NULL OR
-        datecancellationprinted='0000-00-00')
+        datecancellationprinted='0000-00-00') AND
+    datereceived IS NOT NULL
     GROUP BY aqorders.ordernumber
 EOQ
 my $sth = $dbh->prepare($query);
-- 
1.7.10.4