From: Jonathan Druart Date: Tue, 1 Oct 2013 12:06:11 +0000 (+0200) Subject: Bug 5336: (follow-up) fix case where partial status was not correctly set X-Git-Url: http://git.rot13.org/?p=koha.git;a=commitdiff_plain;h=10548eba61d6a998fd940447688ac589dfbf20f9 Bug 5336: (follow-up) fix case where 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 Signed-off-by: Galen Charlton --- diff --git a/installer/data/mysql/updatedatabase.pl b/installer/data/mysql/updatedatabase.pl index 7d8832e6c5..5ac921dd21 100755 --- a/installer/data/mysql/updatedatabase.pl +++ b/installer/data/mysql/updatedatabase.pl @@ -7311,7 +7311,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";