From 5c0a56926ff45a756db3d332fcf76ecf1cffa359 Mon Sep 17 00:00:00 2001 From: Bill Erickson Date: Tue, 7 Apr 2015 15:47:10 -0400 Subject: [PATCH] LP#1440114 Direct charge blanket orders Support "blanket" (long-lived, multi-invoice) orders via a new "blanket" boolean on invoice item types. Blanket charges can be invoiced multiple times by creating a new fund_debit for each invoice item linked to a blanket po_item. This change also adds the amounts paid over time for blanket charges to the Amount Paid summary information for purchase orders containing the charges. Adds a new Invoice Item Type of "Blanket Order". Signed-off-by: Bill Erickson Conflicts: Open-ILS/src/perlmods/lib/OpenILS/Application/Acq/Invoice.pm --- Open-ILS/src/sql/Pg/upgrade/XXXX.schema.acq_blanket_orders.sql | 10 ++++++++++ Open-ILS/src/sql/Pg/upgrade/YYYY.data.acq_blanket_order.sql | 8 ++++++++ 2 files changed, 18 insertions(+) create mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.schema.acq_blanket_orders.sql create mode 100644 Open-ILS/src/sql/Pg/upgrade/YYYY.data.acq_blanket_order.sql diff --git a/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.acq_blanket_orders.sql b/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.acq_blanket_orders.sql new file mode 100644 index 0000000000..4e9df8cd54 --- /dev/null +++ b/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.acq_blanket_orders.sql @@ -0,0 +1,10 @@ +BEGIN; + +--SELECT evergreen.upgrade_deps_block_check('XXXX', :eg_version); + +ALTER TABLE acq.invoice_item_type + ADD COLUMN blanket BOOLEAN NOT NULL DEFAULT FALSE, + ADD CONSTRAINT aiit_not_blanket_and_prorate + CHECK (blanket IS FALSE OR prorate IS FALSE); + +COMMIT; diff --git a/Open-ILS/src/sql/Pg/upgrade/YYYY.data.acq_blanket_order.sql b/Open-ILS/src/sql/Pg/upgrade/YYYY.data.acq_blanket_order.sql new file mode 100644 index 0000000000..b5a2f6dad8 --- /dev/null +++ b/Open-ILS/src/sql/Pg/upgrade/YYYY.data.acq_blanket_order.sql @@ -0,0 +1,8 @@ +BEGIN; + +--SELECT evergreen.upgrade_deps_block_check('XXXX', :eg_version); + +INSERT INTO acq.invoice_item_type (code, blanket, name) VALUES ( + 'BLA', TRUE, oils_i18n_gettext('BLA', 'Blanket Order', 'aiit', 'name')); + +COMMIT; -- 2.11.0