From: Bill Erickson Date: Tue, 13 Mar 2018 20:02:41 +0000 (-0400) Subject: LP#1750894 Invoice close date/by SQL/IDL WIP X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=e735fa34ce970d27b4aea1a041062252743d6868;p=working%2FEvergreen.git LP#1750894 Invoice close date/by SQL/IDL WIP Signed-off-by: Bill Erickson --- diff --git a/Open-ILS/examples/fm_IDL.xml b/Open-ILS/examples/fm_IDL.xml index b272b9ffab..5a72d22617 100644 --- a/Open-ILS/examples/fm_IDL.xml +++ b/Open-ILS/examples/fm_IDL.xml @@ -8295,7 +8295,8 @@ SELECT usr, - + + @@ -8307,6 +8308,7 @@ SELECT usr, + diff --git a/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.invoice-close-date.sql b/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.invoice-close-date.sql new file mode 100644 index 0000000000..61a20c4305 --- /dev/null +++ b/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.invoice-close-date.sql @@ -0,0 +1,50 @@ +BEGIN; + +-- SELECT evergreen.upgrade_deps_block_check('XXXX', :eg_version); + +-- TODO +-- ADD TO PATRON PURGE SQL FUNC +-- Back-fill closed_by? with ?? + +DROP VIEW auditor.acq_invoice_lifecycle; + +ALTER TABLE acq.invoice + ADD COLUMN close_date TIMESTAMPTZ, + ADD COLUMN closed_by INTEGER + REFERENCES actor.usr (id) DEFERRABLE INITIALLY DEFERRED; + +-- duplicate steps for auditor table +ALTER TABLE auditor.acq_invoice_history + ADD COLUMN close_date TIMESTAMPTZ, + ADD COLUMN closed_by INTEGER; + +UPDATE acq.invoice SET close_date = NOW() WHERE complete; +UPDATE auditor.acq_invoice_history SET close_date = NOW() WHERE complete; + +ALTER TABLE acq.invoice DROP COLUMN complete; +ALTER TABLE auditor.acq_invoice_history DROP COLUMN complete; + +-- this recreates auditor.acq_invoice_lifecycle; +SELECT auditor.update_auditors(); + +COMMIT; + + +-- UNDO +/* + +BEGIN; +DROP VIEW auditor.acq_invoice_lifecycle; +ALTER TABLE acq.invoice ADD COLUMN complete BOOLEAN NOT NULL DEFAULT FALSE; +ALTER TABLE auditor.acq_invoice_history + ADD COLUMN complete BOOLEAN NOT NULL DEFAULT FALSE; +UPDATE acq.invoice SET complete = TRUE where close_date IS NOT NULL; +UPDATE auditor.acq_invoice_history + SET complete = TRUE where close_date IS NOT NULL; +ALTER TABLE acq.invoice DROP COLUMN close_date, DROP COLUMN closed_by; +ALTER TABLE auditor.acq_invoice_history + DROP COLUMN close_date, DROP COLUMN closed_by; +SELECT auditor.update_auditors(); +COMMIT; + +*/