Show
Ignore:
Timestamp:
04/30/08 00:47:34 (6 months ago)
Author:
miker
Message:

adding some more billing report views

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • branches/rel_1_2/Open-ILS/src/sql/Pg/example.reporter-extension.sql

    r8905 r9489  
    225225    LEFT JOIN asset.stat_cat_entry sce2 ON (sce2.id = sc2.stat_cat_entry); 
    226226 
     227 
     228CREATE OR REPLACE VIEW money.open_circ_balance_by_owning_lib AS 
     229        SELECT  circ.id, 
     230                cn.owning_lib, 
     231                bill.billing_type, 
     232                SUM(bill.amount) AS billed 
     233          FROM  action.circulation circ 
     234                JOIN money.billing bill ON (circ.id = bill.xact)  
     235                JOIN asset.copy cp ON (circ.target_copy = cp.id)  
     236                JOIN asset.call_number cn ON (cn.id = cp.call_number)  
     237          WHERE circ.xact_finish IS NULL 
     238                AND NOT bill.voided 
     239          GROUP BY 1,2,3 
     240          ORDER BY 1,2,3; 
     241 
     242CREATE OR REPLACE VIEW money.open_balance_by_owning_lib AS 
     243        SELECT  owning_lib, 
     244                ARRAY_TO_STRING(ARRAY_ACCUM(DISTINCT billing_type), ', ') AS billing_types, 
     245                SUM(billed) - SUM( COALESCE((SELECT SUM(amount) AS paid FROM money.payment WHERE NOT voided AND xact = x.id), 0::NUMERIC) ) AS balance 
     246          FROM  money.open_circ_balance_by_owning_lib x 
     247          GROUP BY 1; 
     248 
     249 
     250 
     251 
     252 
     253CREATE OR REPLACE VIEW money.open_circ_balance_by_circ_and_owning_lib AS 
     254        SELECT  circ.id, 
     255                circ.circ_lib, 
     256                cn.owning_lib, 
     257                bill.billing_type, 
     258                SUM(bill.amount) AS billed 
     259          FROM  action.circulation circ 
     260                JOIN money.billing bill ON (circ.id = bill.xact)  
     261                JOIN asset.copy cp ON (circ.target_copy = cp.id)  
     262                JOIN asset.call_number cn ON (cn.id = cp.call_number)  
     263          WHERE circ.xact_finish IS NULL 
     264                AND NOT bill.voided 
     265          GROUP BY 1,2,3,4 
     266          ORDER BY 1,2,3,4; 
     267 
     268CREATE OR REPLACE VIEW money.open_balance_by_circ_and_owning_lib AS 
     269        SELECT  circ_lib, 
     270                owning_lib, 
     271                ARRAY_TO_STRING(ARRAY_ACCUM(DISTINCT billing_type), ', ') AS billing_types, 
     272                SUM(billed) - SUM( COALESCE((SELECT SUM(amount) AS paid FROM money.payment WHERE NOT voided AND xact = x.id), 0::NUMERIC) ) AS balance 
     273          FROM  money.open_circ_balance_by_circ_and_owning_lib x 
     274          GROUP BY 1,2; 
     275 
     276 
     277 
     278 
     279 
     280CREATE OR REPLACE VIEW money.open_circ_balance_by_usr_home_and_owning_lib AS 
     281        SELECT  circ.id, 
     282                usr.home_ou, 
     283                cn.owning_lib, 
     284                bill.billing_type, 
     285                SUM(bill.amount) AS billed 
     286          FROM  action.circulation circ 
     287                JOIN money.billing bill ON (circ.id = bill.xact)  
     288                JOIN asset.copy cp ON (circ.target_copy = cp.id)  
     289                JOIN asset.call_number cn ON (cn.id = cp.call_number)  
     290                JOIN actor.usr usr ON (circ.usr = usr.id)  
     291          WHERE circ.xact_finish IS NULL 
     292                AND NOT bill.voided 
     293          GROUP BY 1,2,3,4 
     294          ORDER BY 1,2,3,4; 
     295 
     296CREATE OR REPLACE VIEW money.open_balance_by_usr_home_and_owning_lib AS 
     297        SELECT  home_ou, 
     298                owning_lib, 
     299                ARRAY_TO_STRING(ARRAY_ACCUM(DISTINCT billing_type), ', ') AS billing_types, 
     300                SUM(billed) - SUM( COALESCE((SELECT SUM(amount) AS paid FROM money.payment WHERE NOT voided AND xact = x.id), 0::NUMERIC) ) AS balance 
     301          FROM  money.open_circ_balance_by_usr_home_and_owning_lib x 
     302          GROUP BY 1,2; 
     303 
    227304COMMIT; 
    228305