JOIN asset.copy cp ON (circ.target_copy = cp.id)
JOIN asset.call_number cn ON (cn.id = cp.call_number)
WHERE circ.xact_finish IS NULL
- AND NOT bill.voided
GROUP BY 1,2,3
ORDER BY 1,2,3;
JOIN asset.copy cp ON (circ.target_copy = cp.id)
JOIN asset.call_number cn ON (cn.id = cp.call_number)
WHERE circ.xact_finish IS NULL
- AND NOT bill.voided
GROUP BY 1,2,3,4
ORDER BY 1,2,3,4;
JOIN asset.call_number cn ON (cn.id = cp.call_number)
JOIN actor.usr usr ON (circ.usr = usr.id)
WHERE circ.xact_finish IS NULL
- AND NOT bill.voided
GROUP BY 1,2,3,4
ORDER BY 1,2,3,4;
FROM xact_summary xs
WHERE xs.xact = id;
+-- Replace some other views that use the money.billing table. These
+-- appear in example.reporter-extension.sql, and therefore may not be
+-- installed at all sites. For that reason, we wrap the CREATE OR
+-- REPLACE statement in a check to see if they already exist.
+DO $$
+BEGIN
+IF EXISTS(SELECT viewname FROM pg_views WHERE schemaname = 'money' AND viewname = 'open_circ_balance_by_owning_lib')
+THEN
+CREATE OR REPLACE VIEW money.open_circ_balance_by_owning_lib AS
+ SELECT circ.id,
+ cn.owning_lib,
+ bill.billing_type,
+ SUM(bill.amount) AS billed
+ FROM action.circulation circ
+ JOIN money.billing bill ON (circ.id = bill.xact)
+ JOIN asset.copy cp ON (circ.target_copy = cp.id)
+ JOIN asset.call_number cn ON (cn.id = cp.call_number)
+ WHERE circ.xact_finish IS NULL
+ GROUP BY 1,2,3
+ ORDER BY 1,2,3;
+END IF;
+END$$;
+
+DO $$
+BEGIN
+IF EXISTS(SELECT viewname FROM pg_views WHERE schemaname = 'money' AND viewname = 'open_circ_balance_by_circ_and_owning_lib')
+THEN
+CREATE OR REPLACE VIEW money.open_circ_balance_by_circ_and_owning_lib AS
+ SELECT circ.id,
+ circ.circ_lib,
+ cn.owning_lib,
+ bill.billing_type,
+ SUM(bill.amount) AS billed
+ FROM action.circulation circ
+ JOIN money.billing bill ON (circ.id = bill.xact)
+ JOIN asset.copy cp ON (circ.target_copy = cp.id)
+ JOIN asset.call_number cn ON (cn.id = cp.call_number)
+ WHERE circ.xact_finish IS NULL
+ GROUP BY 1,2,3,4
+ ORDER BY 1,2,3,4;
+END IF;
+END$$;
+
+DO $$
+BEGIN
+IF EXISTS(SELECT viewname FROM pg_views WHERE schemaname = 'money' AND viewname = 'open_circ_balance_by_usr_home_and_owning_lib')
+THEN
+CREATE OR REPLACE VIEW money.open_circ_balance_by_usr_home_and_owning_lib AS
+ SELECT circ.id,
+ usr.home_ou,
+ cn.owning_lib,
+ bill.billing_type,
+ SUM(bill.amount) AS billed
+ FROM action.circulation circ
+ JOIN money.billing bill ON (circ.id = bill.xact)
+ JOIN asset.copy cp ON (circ.target_copy = cp.id)
+ JOIN asset.call_number cn ON (cn.id = cp.call_number)
+ JOIN actor.usr usr ON (circ.usr = usr.id)
+ WHERE circ.xact_finish IS NULL
+ GROUP BY 1,2,3,4
+ ORDER BY 1,2,3,4;
+END IF;
+END$$;
+
COMMIT;