From bdc86b2535411d144010a03dc4753e156e91e331 Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Tue, 1 Oct 2013 14:06:11 +0200 Subject: [PATCH] [PASSED QA] Bug 5336: FIX: partial status was not correctly set An order (o1) is considered as partially received if (at least) another order (o2) has the o1.ordernumber == o2.parent_ordernumber and the quantity received is < to the quantity (to receive) and o1.ordernumber != o1.parent_ordernumber. Signed-off-by: Katrin Fischer --- installer/data/mysql/updatedatabase.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/installer/data/mysql/updatedatabase.pl b/installer/data/mysql/updatedatabase.pl index 2289420..f2dbeb8 100755 --- a/installer/data/mysql/updatedatabase.pl +++ b/installer/data/mysql/updatedatabase.pl @@ -7166,7 +7166,7 @@ if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) { my $return_count; $dbh->do("ALTER TABLE aqorders ADD COLUMN orderstatus varchar(16) DEFAULT 'new' AFTER parent_ordernumber"); $dbh->do("UPDATE aqorders SET orderstatus='ordered' WHERE basketno IN (SELECT basketno FROM aqbasket WHERE closedate IS NOT NULL)"); - $dbh->do("UPDATE aqorders SET orderstatus='partial' WHERE quantity > quantityreceived AND quantityreceived > 0"); + $dbh->do("UPDATE aqorders SET orderstatus='partial' WHERE quantity > quantityreceived AND ordernumber IN ( SELECT parent_ordernumber FROM ( SELECT DISTINCT(parent_ordernumber) FROM aqorders WHERE ordernumber != parent_ordernumber) AS aq )"); $dbh->do("UPDATE aqorders SET orderstatus='complete' WHERE quantity=quantityreceived"); $dbh->do("UPDATE aqorders SET orderstatus='cancelled' WHERE datecancellationprinted IS NOT NULL"); print "Upgrade to $DBversion done (Bug 5336: Add the new column aqorders.orderstatus)\n"; -- 1.7.9.5