From: miker Date: Sat, 2 Dec 2006 02:49:46 +0000 (+0000) Subject: billing and payment summary views X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=d76854ac23afa06de9b3711466a70b832a6249dd;p=Evergreen.git billing and payment summary views git-svn-id: svn://svn.open-ils.org/ILS/branches/rel_1_0@6646 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- diff --git a/Open-ILS/examples/fm_IDL.xml b/Open-ILS/examples/fm_IDL.xml index 2cfd939fae..1a640da5e8 100644 --- a/Open-ILS/examples/fm_IDL.xml +++ b/Open-ILS/examples/fm_IDL.xml @@ -1002,6 +1002,8 @@ + + @@ -1017,6 +1019,8 @@ + + @@ -1189,7 +1193,7 @@ - + @@ -1203,17 +1207,18 @@ - + - - + + - + + @@ -1222,11 +1227,12 @@ - - - - - + + + + + + @@ -1481,6 +1487,8 @@ + + @@ -1488,6 +1496,8 @@ + + @@ -1514,7 +1524,9 @@ - + + + @@ -1522,6 +1534,8 @@ + + @@ -2295,4 +2309,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Open-ILS/src/sql/Pg/reporter-schema.sql b/Open-ILS/src/sql/Pg/reporter-schema.sql index 8990e46188..55c6e57551 100644 --- a/Open-ILS/src/sql/Pg/reporter-schema.sql +++ b/Open-ILS/src/sql/Pg/reporter-schema.sql @@ -174,5 +174,37 @@ SELECT id, END AS "type" FROM action.circulation; +CREATE OR REPLACE VIEW reporter.hold_request_record AS +SELECT id, + target, + hold_type, + CASE + WHEN hold_type = 'T' + THEN target + WHEN hold_type = 'V' + THEN (SELECT cn.record FROM asset.call_number cn WHERE cn.id = ahr.target) + WHEN hold_type = 'C' + THEN (SELECT cn.record FROM asset.call_number cn JOIN asset.copy cp ON (cn.id = cp.call_number) WHERE cp.id = ahr.target) + WHEN hold_type = 'M' + THEN (SELECT mr.master_record FROM metabib.metarecord mr WHERE mr.id = ahr.target) + END AS bib_record + FROM action.hold_request ahr; + +CREATE OR REPLACE VIEW reporter.xact_billing_totals AS +SELECT b.xact, + SUM( CASE WHEN b.voided THEN 0 ELSE amount END ) as unvoided, + SUM( CASE WHEN b.voided THEN amount ELSE 0 END ) as voided, + SUM( amount ) as total + FROM money.billing b + GROUP BY 1; + +CREATE OR REPLACE VIEW reporter.xact_paid_totals AS +SELECT b.xact, + SUM( CASE WHEN b.voided THEN 0 ELSE amount END ) as unvoided, + SUM( CASE WHEN b.voided THEN amount ELSE 0 END ) as voided, + SUM( amount ) as total + FROM money.payment b + GROUP BY 1; + COMMIT;