Adding Invoice View and making corrections.
authorChris Sharp <csharp@georgialibraries.org>
Tue, 4 Oct 2016 12:44:48 +0000 (08:44 -0400)
committerChris Sharp <csharp@georgialibraries.org>
Tue, 4 Oct 2016 12:44:48 +0000 (08:44 -0400)
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Open-ILS/examples/fm_IDL.xml
Open-ILS/src/sql/Pg/example.reporter-extension.sql

index 70a0094..cf4705d 100644 (file)
@@ -10874,8 +10874,9 @@ SELECT  usr,
                        <field reporter:label="Lineitem ID" name="lineitem_id" reporter:datatype="id"/>
                        <field reporter:label="Lineitem Identifier" name="lineitem_identifier" reporter:datatype="text"/>
                        <field reporter:label="Lineitem Title" name="lineitem_title" reporter:datatype="text"/>
-                       <field reporter:label="Quantity Ordered" name="quantity_ordered" reporter:datatype="int"/>
+                       <field reporter:label="Lineitem Quantity Ordered" name="quantity_ordered" reporter:datatype="int"/>
                        <field reporter:label="Estimated Unit Price" name="estimated_unit_price" reporter:datatype="money"/>
+                       <field reporter:label="Purchasing Library Link" name="purchasing_lib_id" reporter:datatype="link"/>
                        <field reporter:label="Purchasing Library Name" name="purchasing_lib_name" reporter:datatype="text"/>
                        <field reporter:label="Purchasing Library Short (Policy) Name" name="purchasing_lib_shortname" reporter:datatype="text"/>
                        <field reporter:label="Fund Link" name="fund_id" reporter:datatype="link"/>
@@ -10889,7 +10890,7 @@ SELECT  usr,
                        <field reporter:label="Purchase Order Item Estimated Cost" name="po_item_estimated_cost" reporter:datatype="money"/>
                        <field reporter:label="Purchase Order Item Fund Link" name="po_item_fund_id" reporter:datatype="link"/>
                        <field reporter:label="Purchase Order Item Fund Name (Year)" name="po_item_fund_name" reporter:datatype="text"/>
-                       <field reporter:label="Line Item Total" name="lineitem_total_price" reporter:datatype="money"/>
+                       <field reporter:label="Lineitem Total" name="lineitem_total_price" reporter:datatype="money"/>
                        <field reporter:label="Purchase Order Item Total" name="po_item_total_price" reporter:datatype="money"/>
                </fields>
                <links>
@@ -10899,12 +10900,76 @@ SELECT  usr,
                        <link field="ordering_agency_id" reltype="has_a" key="id" map="" class="aou"/>
                        <link field="lineitem_id" reltype="might_have" key="id" map="" class="jub"/>
                        <link field="fund_id" reltype="has_a" key="id" map="" class="acqf"/>
+                       <link field="purchasing_lib_id" reltype="has_a" key="id" map="" class="aou"/>
                        <link field="po_item_id" reltype="might_have" key="id" map="" class="acqpoi"/>
                        <link field="po_item_fund_id" reltype="might_have" key="id" map="" class="acqf"/>
                </links>
        </class>        
 
-
+       <class id="racqiv" controller="open-ils.reporter-store" oils_obj:fieldmapper="reporter::acq_invoice_view" oils_persist:tablename="reporter.acq_purchase_order_view" reporter:core="false" reporter:label="Acquisitions: Invoice View">
+               <fields oils_persist:primary="inv_id">
+                       <field reporter:label="Invoice ID" name="inv_id" reporter:datatype="id"/>
+                       <field reporter:label="Invoice Identifier" name="inv_ident" reporter:datatype="text"/>
+                       <field reporter:label="Provider Link" name="provider_id" reporter:datatype="link"/>
+                       <field reporter:label="Provider Name" name="provider_name" reporter:datatype="text"/>
+                       <field reporter:label="Shipper Link" name="shipper_id" reporter:datatype="link"/>
+                       <field reporter:label="Shipper Name" name="shipper_name" reporter:datatype="text"/>
+                       <field reporter:label="Receive Date/Time" name="recv_date" reporter:datatype="timestamp"/>
+                       <field reporter:label="Receiving Org Unit Link" name="receiver_id" reporter:datatype="link"/>
+                       <field reporter:label="Receiving Org Unit Name" name="receiver_name" reporter:datatype="text"/>
+                       <field reporter:label="Receiving Org Unit Short (Policy) Name" name="receiver_shortname" reporter:datatype="text"/>
+                       <field reporter:label="Receiving Method Name" name="recv_method_name" reporter:datatype="text"/>
+                       <field reporter:label="Receiving Method Code" name="recv_method_code" reporter:datatype="text"/>
+                       <field reporter:label="Invoice Type" name="inv_type" reporter:datatype="text"/>
+                       <field reporter:label="Payment Authorization" name="payment_auth" reporter:datatype="text"/>
+                       <field reporter:label="Payment Method" name="payment_method" reporter:datatype="text"/>
+                       <field reporter:label="Invoice Note" name="inv_note" reporter:datatype="text"/>
+                       <field reporter:label="Invoice Is Complete?" name="inv_complete" reporter:datatype="boolean"/>
+                       <field reporter:label="Lineitem Link" name="li_id" reporter:datatype="link"/>
+                       <field reporter:label="Purchase Order Link" name="po_id" reporter:datatype="link"/>
+                       <field reporter:label="Lineitem Identifier" name="li_identifier" reporter:datatype="text"/>
+                       <field reporter:label="Lineitem Title" name="li_title" reporter:datatype="text"/>
+                       <field reporter:label="Lineitem Quantity Ordered" name="quantity_ordered" reporter:datatype="int"/>
+                       <field reporter:label="Estimated Unit Price" name="estimated_unit_price" reporter:datatype="money"/>
+                       <field reporter:label="Billed Per Item?" name="billed_per_item" reporter:datatype="boolean"/>
+                       <field reporter:label="Cost Billed" name="cost_billed" reporter_datatype="money"/>
+                       <field reporter:label="Actual Cost" name="actual_cost" reporter_datatype="money"/>
+                       <field reporter:label="Amount Paid" name="amount_paid" reporter_datatype="money"/>
+                       <field reporter:label="Purchasing Library Link" name="purchasing_lib_id" reporter:datatype="link"/>
+                       <field reporter:label="Purchasing Library Name" name="purchasing_lib_name" reporter:datatype="text"/>
+                       <field reporter:label="Purchasing Library Short (Policy) Name" name="purchasing_lib_shortname"/>
+                       <field reporter:label="Fund Link" name="fund_id" reporter:datatype="link"/>
+                       <field reporter:label="Fund Name (Year)" name="fund_name" reporter:datatype="text"/>
+                       <field reporter:label="Invoice Item Link" name="inv_item_id" reporter:datatype="link"/>
+                       <field reporter:label="Invoice Item Title" name="inv_item_title" reporter:datatype="text"/>
+                       <field reporter:label="Invoice Item Author" name="inv_item_author" reporter:dataype="text"/>
+                       <field reporter:label="Invoice Item Note" name="inv_item_note" reporter:datatype="text"/>
+                       <field reporter:label="Invoice Item Cost Billed" name="inv_item_cost_billed" reporter:datatype="money"/>
+                       <field reporter:label="Invoice Item Actual Cost" name="inv_item_actual_cost" reporter:datatype="money"/>
+                       <field reporter:label="Invoice Item Amount Paid" name="inv_item_amount_paid" reporter:datatype="money"/>
+                       <field reporter:label="Invoice Item Type Code" name="inv_item_type_code" reporter:datatype="text"/>
+                       <field reporter:label="Invoice Item Type Name" name="inv_item_type_name" reporter:datatype="text"/>
+                       <field reporter:label="Invoice Item Fund Link" name="inv_item_fund_id" reporter:datatype="link"/>
+                       <field reporter:label="Invoice Item Fund Name (Year)" name="inv_item_fund_name" reporter:datatype="text"/>
+                       <field reporter:label="Invoice Item Purchase Order Link" name="inv_item_po_id" reporter:datatype="link"/>
+                       <field reporter:label="Purchase Order Item Link" name="po_item_id" reporter:datatype="link"/>
+                       <field reporter:label="Invoice Item Target" name="inv_item_target" reporter:datatype="int"/>
+               </fields>
+               <links>
+                       <link field="inv_id" reltype="has_a" key="id" map="" class="acqinv"/>
+                       <link field="provider_id" reltype="has_a" key="id" map="" class="acqpro"/>
+                       <link field="shipper_id" reltype="has_a" key="id" map="" class="acqpro"/>
+                       <link field="receiver_id" reltype="has_a" key="id" map="" class="aou"/>
+                       <link field="li_id" reltype="might_have" key="id" map="" class="jub"/>
+                       <link field="po_id" reltype="has_a" key="id" map="" class="acqpo"/>
+                       <link field="purchasing_lib_id" reltype="has_a" key="id" map="" class="aou"/>
+                       <link field="fund_id" reltype="has_a" key="id" map="" class="acqf"/>
+                       <link field="inv_item_id" reltype="might_have" key="id" map="" class="acqii"/>
+                       <link field="inv_item_fund_id" reltype="might_have" key="id" map="" class="acqf"/>
+                       <link field="inv_itme_po_id" reltype="has_a" key="id" map="" class="acqpo"/>
+                       <link field="po_item_id" reltype="has_a" key="id" map="" class="acqpoi"/>
+               </links>
+       </class>
        <!-- ********************************************************************************************************************* -->
        <!-- What follows is a set of example extensions that are useful for PINES.  Comment out or remove if you don't want them. -->
        <!-- ********************************************************************************************************************* -->
index 584d89d..e343b0e 100644 (file)
@@ -337,6 +337,7 @@ CREATE VIEW reporter.acq_purchase_order_view AS
                 WHERE acqlid.lineitem = li.id
                 AND cancel_reason IS NULL) AS quantity_ordered,
         li.estimated_unit_price,
+               purchasing_lib.id AS purchasing_lib_id,
         purchasing_lib.name AS purchasing_lib_name,
         purchasing_lib.shortname AS purchasing_lib_shortname,
         fund.id AS fund_id,
@@ -383,7 +384,8 @@ CREATE VIEW reporter.acq_invoice_view AS
         receiver.id AS receiver_id,
         receiver.name AS receiver_name,
         receiver.shortname AS receiver_shortname,
-        inv.recv_method AS recv_method,
+        recv_method.name AS recv_method_name,
+               recv_method.code AS recv_method_code,
         inv.inv_type AS inv_type,
         inv.payment_auth AS payment_auth,
         inv.payment_method AS payment_method,
@@ -397,15 +399,12 @@ CREATE VIEW reporter.acq_invoice_view AS
                 FROM acq.lineitem_detail acqlid
                 WHERE acqlid.lineitem = li.id
                 AND cancel_reason IS NULL) AS quantity_ordered,
-               -- this is still wrong :-/
-        (SELECT sum(estimated_unit_price)
-                FROM acq.lineitem acqli
-                WHERE inv_entry.lineitem = acqli.id) AS lineitem_total,
         li.estimated_unit_price,
         inv_entry.billed_per_item,
         inv_entry.cost_billed,
         inv_entry.actual_cost,
         inv_entry.amount_paid,
+               purchasing_lib.id AS purchasing_lib_id,
         purchasing_lib.name AS purchasing_lib_name,
         purchasing_lib.shortname AS purchasing_lib_shortname,
         fund.id AS fund_id,
@@ -423,17 +422,12 @@ CREATE VIEW reporter.acq_invoice_view AS
         inv_item_fund.name || ' (' || inv_item_fund.year || ')' AS inv_item_fund_name,
         inv_item_po.id AS inv_item_po_id,
         po_item.id AS po_item_id,
-        inv_item.target AS inv_item_target,
-        (SELECT sum(actual_cost)
-                FROM acq.invoice_item acqii
-                WHERE acqii.invoice = inv.id) AS inv_item_total,
-        (SELECT COUNT(*)
-                FROM acq.lineitem acqli
-                WHERE inv_entry.lineitem = acqli.id) AS lineitem_count
+        inv_item.target AS inv_item_target
  FROM   acq.invoice inv
         INNER JOIN acq.provider provider ON (inv.provider = provider.id)
         INNER JOIN acq.provider shipper ON (inv.shipper = shipper.id)
         INNER JOIN actor.org_unit receiver ON (inv.receiver = receiver.id)
+               INNER JOIN acq.invoice_method recv_method ON (inv.recv_method = recv_method.id)
         LEFT OUTER JOIN acq.invoice_entry inv_entry ON (inv_entry.invoice = inv.id)
         LEFT OUTER JOIN acq.lineitem li ON (inv_entry.lineitem = li.id)
         LEFT OUTER JOIN acq.purchase_order po ON (li.purchase_order = po.id)
@@ -448,10 +442,4 @@ CREATE VIEW reporter.acq_invoice_view AS
         LEFT OUTER JOIN acq.po_item po_item ON (inv_item.po_item = po_item.id)
         LEFT OUTER JOIN acq.purchase_order inv_item_po ON (inv_item.purchase_order = inv_item_po.id);
 
-
-
-
-
 COMMIT;
-
-