adding flattened open transaction view for the reporter
authormiker <miker@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Wed, 20 Jun 2007 00:21:44 +0000 (00:21 +0000)
committermiker <miker@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Wed, 20 Jun 2007 00:21:44 +0000 (00:21 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/trunk@7452 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/examples/fm_IDL.xml
Open-ILS/src/sql/Pg/example.reporter-extension.sql

index fd0fb11..7f0eefe 100644 (file)
                        <link field="owner" reltype="has_a" key="id" map="" class="aou"/>
                </links>
        </class>
+
+       <class id="rccbs" controller="open-ils.reporter-store" oils_obj:fieldmapper="reporter::classic_current_billing_summary" oils_persist:tablename="reporter.classic_current_billing_summary" reporter:core="true" reporter:label="Classic Open Transaction Summary">
+               <fields oils_persist:primary="id">
+                       <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+                       <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+                       <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+                       <field reporter:label="Transaction ID" name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="id" />
+
+                       <field reporter:label="Billing Location Short (Policy) Name" name="billing_location_shortname" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="text"/>
+                       <field reporter:label="Billing Location Name" name="billing_location_name" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="text"/>
+                       <field reporter:label="Billing Location Link" name="billing_location" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="org_unit"/>
+
+                       <field reporter:label="User Home Library Short (Policy) Name" name="usr_home_ou_shortname" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="text"/>
+                       <field reporter:label="User Home Library Name" name="usr_home_ou" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="text"/>
+                       <field reporter:label="User Home Library Link" name="usr_home_ou" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="org_unit"/>
+
+                       <field reporter:label="User Barcode" name="barcode" oils_obj:array_position="10" oils_persist:virtual="false" reporter:datatype="text"/>
+                       <field reporter:label="User Link" name="usr" oils_obj:array_position="11" oils_persist:virtual="false" reporter:datatype="link"/>
+
+                       <field reporter:label="Transaction Start Date/Time" name="xact_start" oils_obj:array_position="12" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+                       <field reporter:label="Transaction End Date/Time" name="xact_finish" oils_obj:array_position="13" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+                       <field reporter:label="Transaction Type" name="xact_type" oils_obj:array_position="14" oils_persist:virtual="false" reporter:datatype="text"/>
+
+                       <field reporter:label="Total Paid" name="total_paid" oils_obj:array_position="15" oils_persist:virtual="false" reporter:datatype="money"/>
+                       <field reporter:label="Total Billed" name="total_owed" oils_obj:array_position="16" oils_persist:virtual="false" reporter:datatype="money"/>
+
+                       <field reporter:label="Last Payment Date/Time" name="last_payment_ts" oils_obj:array_position="17" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+                       <field reporter:label="Last Payment Note" name="last_payment_note" oils_obj:array_position="18" oils_persist:virtual="false" reporter:datatype="text"/>
+                       <field reporter:label="Last Payment Type" name="last_payment_type" oils_obj:array_position="19" oils_persist:virtual="false" reporter:datatype="text"/>
+
+                       <field reporter:label="Last Billing Date/Time" name="last_billing_ts" oils_obj:array_position="20" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+                       <field reporter:label="Last Billing Note" name="last_billing_note" oils_obj:array_position="21" oils_persist:virtual="false" reporter:datatype="text"/>
+                       <field reporter:label="Last Billing Type" name="last_billing_type" oils_obj:array_position="22" oils_persist:virtual="false" reporter:datatype="text"/>
+
+                       <field reporter:label="User Age Demographic" name="demographic_general_division" oils_obj:array_position="23" oils_persist:virtual="false" reporter:datatype="text"/>
+                       <field reporter:label="User County" name="patron_county" oils_obj:array_position="24" oils_persist:virtual="false" reporter:datatype="text"/>
+                       <field reporter:label="User City" name="patron_city" oils_obj:array_position="25" oils_persist:virtual="false" reporter:datatype="text"/>
+                       <field reporter:label="User ZIP Code" name="patron_zip" oils_obj:array_position="26" oils_persist:virtual="false" reporter:datatype="text"/>
+
+                       <field reporter:label="Balance Owed" name="balance_owed" oils_obj:array_position="27" oils_persist:virtual="false" reporter:datatype="money"/>
+                       <field reporter:label="User Profile Group" name="profile_group" oils_obj:array_position="28" oils_persist:virtual="false" reporter:datatype="text"/>
+
+               </fields>
+               <links>
+                       <link field="id" reltype="has_a" key="id" map="" class="mbt"/>
+                       <link field="usr" reltype="has_a" key="id" map="" class="au"/>
+                       <link field="billing_location" reltype="has_a" key="id" map="" class="aou"/>
+                       <link field="usr_home_ou" reltype="has_a" key="id" map="" class="aou"/>
+               </links>
+       </class>
+
+
+
        <!-- ********************************************************************************************************************* -->
 
 </IDL>
index 6d1e375..88d310e 100644 (file)
@@ -118,5 +118,43 @@ SELECT     id,
   WHERE        stat_cat = 2;
 
 
+CREATE OR REPLACE VIEW reporter.classic_current_billing_summary AS
+SELECT x.id AS id,
+       x.usr AS usr,
+       bl.shortname AS billing_location_shortname,
+       bl.name AS billing_location_name,
+       x.billing_location AS billing_location,
+       c.barcode AS barcode,
+       u.home_ou AS usr_home_ou,
+       ul.shortname AS usr_home_ou_shortname,
+       ul.name AS usr_home_ou_name,
+       x.xact_start AS xact_start,
+       x.xact_finish AS xact_finish,
+       x.xact_type AS xact_type,
+       x.total_paid AS total_paid,
+       x.total_owed AS total_owed,
+       x.balance_owed AS balance_owed,
+       x.last_payment_ts AS last_payment_ts,
+       x.last_payment_note AS last_payment_note,
+       x.last_payment_type AS last_payment_type,
+       x.last_billing_ts AS last_billing_ts,
+       x.last_billing_note AS last_billing_note,
+       x.last_billing_type AS last_billing_type,
+       paddr.county AS patron_county,
+       paddr.city AS patron_city,
+       paddr.post_code AS patron_zip,
+       g.name AS profile_group,
+       dem.general_division AS demographic_general_division
+  FROM money.open_billable_xact_summary x
+       JOIN actor.org_unit bl ON (x.billing_location = bl.id)
+       JOIN actor.usr u ON (u.id = x.usr)
+       JOIN actor.org_unit ul ON (u.home_ou = ul.id)
+       JOIN actor.card c ON (u.card = c.id)
+       JOIN permission.grp_tree g ON (u.profile = g.id)
+       JOIN reporter.demographic dem ON (dem.id = u.id)
+       JOIN actor.usr_address paddr ON (paddr.id = u.billing_address);
+
+
 COMMIT;
 
+