circs by circ mod view
authormiker <miker@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Fri, 7 Mar 2008 21:37:28 +0000 (21:37 +0000)
committermiker <miker@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Fri, 7 Mar 2008 21:37:28 +0000 (21:37 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/branches/rel_1_2@8907 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/examples/fm_IDL.xml
Open-ILS/src/sql/Pg/090.schema.action.sql

index 5941c75..821e605 100644 (file)
                        <link field="payment_total" reltype="might_have" key="xact" map="" class="rxpt"/>
                </links>
        </class>
+       <class id="aoccbcm" controller="open-ils.cstore" oils_obj:fieldmapper="action::open_circ_count_by_circ_mod" oils_persist:tablename="action.open_circ_count_by_circ_mod">
+               <fields>
+                       <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 name="circ_modifier" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="text"/>
+                       <field name="count" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="int" />
+                       <field name="usr" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="link" />
+               </fields>
+               <links>
+                       <link field="usr" reltype="has_a" key="id" map="" class="au"/>
+        </links>
+       </class>
        <class id="ccnbi" controller="open-ils.cstore" oils_obj:fieldmapper="container::call_number_bucket_item" oils_persist:tablename="container.call_number_bucket_item">
                <fields oils_persist:primary="id" oils_persist:sequence="container.call_number_bucket_item_id_seq">
                        <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
index 0e06d3b..7209067 100644 (file)
@@ -108,6 +108,16 @@ CREATE INDEX circ_checkin_time ON "action".circulation (checkin_time) WHERE chec
 CREATE INDEX circ_circ_lib_idx ON "action".circulation (circ_lib);
 CREATE INDEX circ_open_date_idx ON "action".circulation (xact_start) WHERE xact_finish IS NULL;
 
+CREATE OR REPLACE VIEW action.open_circ_count_by_circ_mod AS
+    SELECT  circ.usr,
+            cp.circ_modifier,
+            count(circ.id)
+      FROM  action.circulation circ
+            JOIN asset.copy cp ON (circ.target_copy = cp.id)
+      WHERE circ.checkin_time IS NULL
+            AND ( circ.stop_fines IN ('LOST','LONGOVERDUE','CLAIMSRETURNED') OR circ.stop_fines IS NULL )
+      GROUP BY 1;
+
 
 CREATE OR REPLACE VIEW action.open_circulation AS
        SELECT  *