logic bug
authorerickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Thu, 16 Apr 2009 21:33:50 +0000 (21:33 +0000)
committererickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Thu, 16 Apr 2009 21:33:50 +0000 (21:33 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/trunk@12898 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/src/support-scripts/test-scripts/purge_po.sql

index 0aeb0aa..3fe182c 100644 (file)
@@ -16,18 +16,19 @@ BEGIN
         DELETE FROM acq.fund_debit WHERE id in (
             SELECT fund_debit FROM acq.lineitem_detail WHERE lineitem = li.id);
 
-        IF li.picklist IS NULL THEN
+        IF li.picklist IS NOT NULL THEN
             IF purge_items THEN
                 DELETE FROM acq.lineitem_detail WHERE lineitem = li.id;
             ELSE
-                UPDATE acq.lineitem_detail SET eg_copy_id = NULL WHERE lineitem = li.id;
+                UPDATE acq.lineitem_detail SET eg_copy_id = NULL, fund_debit = NULL WHERE lineitem = li.id;
             END IF;
-            DELETE FROM acq.lineitem_attr WHERE lineitem = li.id;
-            DELETE from acq.lineitem WHERE id = li.id;
+            UPDATE acq.lineitem SET purchase_order = NULL, eg_bib_id = NULL, state = 'new' WHERE id = li.id;
         ELSE
             DELETE FROM acq.lineitem_detail WHERE lineitem = li.id;
-            UPDATE acq.lineitem SET purchase_order = NULL, eg_bib_id = NULL, state = 'new' WHERE id = li.id;
+            DELETE FROM acq.lineitem_attr WHERE lineitem = li.id;
+            DELETE from acq.lineitem WHERE id = li.id;
         END IF;
+
     END LOOP;
 
     DELETE FROM acq.purchase_order WHERE id = po_id;