fixed field report added
[migration-tools.git] / mig-xml / evergreen_staged_report.xml
index ecdc30a..52f8053 100644 (file)
         <query>SELECT COUNT(ahr.id), ahr.selection_depth FROM action.hold_request ahr WHERE ahr.id IN (SELECT id FROM action_hold_request) AND ahr.cancel_time IS NULL AND ahr.capture_time IS NULL AND ahr.fulfillment_time IS NULL GROUP BY 2 ORDER BY 2</query>
     </report>
 
+      <!-- finding title matched holds where there are duplicates, this will table match for legacy but column won't be present for all  -->
+      <report>
+        <name>duplicate_title_matching_holds</name>
+        <tag>holds</tag>
+        <iteration>0</iteration>
+        <report_title>Holds by Title Matchs</report_title>
+        <heading>Count.Number of Matches</heading>
+        <query>SELECT COUNT(*), x_title_matches FROM action_hold_request_legacy WHERE TO_DATE(l_expire_date,'MM/DD/YYYY') > NOW() GROUP BY 2 ORDER BY 2</query>
+    </report>
+
+      <report>
+        <name>duplicate_title_matching_holds_w_zero</name>
+        <tag>holds</tag>
+        <iteration>0</iteration>
+        <report_title>Sample of Holds with No Matches</report_title>
+        <heading>Borrower Barcode.Title.Request Date</heading>
+        <query>SELECT l_borrower_id, l_title, l_request_date FROM action_hold_request_legacy WHERE TO_DATE(l_expire_date,'MM/DD/YYYY') > NOW() AND x_title_matches = 0 LIMIT 20</query>
+    </report>
+
+      <report>
+        <name>duplicate_title_matching_holds_w_greater_than_1</name>
+        <tag>holds</tag>
+        <iteration>0</iteration>
+        <report_title>Sample of Holds with More Than One Title Match</report_title>
+        <heading>Borrower Barcode.Title.Request Date</heading>
+        <query>SELECT l_borrower_id, l_title, l_request_date FROM action_hold_request_legacy WHERE TO_DATE(l_expire_date,'MM/DD/YYYY') > NOW() AND x_title_matches > 1 LIMIT 20</query>
+    </report>
+
     <!-- ASSET REPORTS -->
     
     <report>
         <query>SELECT COUNT(ac.id), acl.name, aou.name, ac.x_migrate::TEXT FROM asset_copy_legacy ac JOIN asset.copy_location acl ON acl.id = ac.location JOIN actor.org_unit aou ON aou.id = ac.circ_lib GROUP BY 2, 3, 4 ORDER BY 2, 3, 4</query>
     </report>
 
-    <report>
+    <!-- report>
         <name>asset_barcode_lengths</name>
         <report_title>Barcode Lengths by Library</report_title>
         <tag>assets</tag>
         <iteration>0</iteration>
         <heading>Count of Barcode.Barcode Length.Library</heading>
         <query>SELECT COUNT(ac.id), LENGTH(ac.barcode), aou.name FROM asset_copy_legacy ac JOIN actor.org_unit aou ON aou.id = ac.circ_lib WHERE ac.x_migrate = TRUE GROUP BY 2, 3 ORDER BY 3, 2</query>
-    </report>
+    </report -->
 
     <report>
         <name>asset_barcode_patterns</name>
@@ -696,6 +724,15 @@ id = ac_sc.owner GROUP BY 2,3 ORDER BY 2,3</query>
         <query>SELECT COUNT(id) FROM biblio_record_entry where id IN (SELECT record FROM asset.call_number WHERE label ~* '##URI##')</query>
     </report>
 
+       <report>
+               <name>bibsff</name>
+               <report_title>Bibliographic Records with Adjusted Fixed Fields</report_title>
+               <tag>bibs</tag>
+               <iteration>0</iteration>
+               <heading>Count.Original Search Format.New Search Format</heading>
+               <query>SELECT COUNT(*), x_search_format, x_after_search_format FROM biblio_record_entry_legacy WHERE x_migrate AND x_after_search_format IS NOT NULL GROUP BY 2, 3 ORDER BY 3,2</query>
+       </report>
+
     <report>
         <name>bibs_notes</name>
         <report_title>Bib Record Notes</report_title>
@@ -838,23 +875,23 @@ id = ac_sc.owner GROUP BY 2,3 ORDER BY 2,3</query>
         <query>SELECT COUNT(id), active::TEXT FROM actor_card GROUP BY 2</query>
     </report>
 
-    <report>
+    <!-- report>
         <name>usr_barcode_lengths</name>
         <report_title>Barcode Lengths by Library</report_title>
         <tag>actors</tag>
         <iteration>0</iteration>
         <heading>Count of Barcode.Barcode Length.Library</heading>
         <query>SELECT COUNT(acard.id), LENGTH(acard.barcode), aou.name FROM actor_card_legacy acard JOIN actor_usr_legacy au ON au.id = acard.usr JOIN actor.org_unit aou ON aou.id = au.home_ou WHERE acard.x_migrate = TRUE GROUP BY 2, 3 ORDER BY 3, 2</query>
-    </report>
+    </report -->
 
-    <report>
+    <!-- report>
         <name>usr_barcode_lengths</name>
         <report_title>Barcode Lengths by Library</report_title>
         <tag>actors</tag>
         <iteration>1</iteration>
         <heading>Count of Barcode.Barcode Length.Library</heading>
         <query>SELECT COUNT(acard.id), LENGTH(acard.barcode), aou.name FROM actor_card acard JOIN actor_usr au ON au.id = acard.usr JOIN actor.org_unit aou ON aou.id = au.home_ou GROUP BY 2, 3 ORDER BY 3, 2</query>
-    </report>
+    </report -->
 
     <report>
         <name>usr_barcode_patterns</name>
@@ -873,10 +910,10 @@ id = ac_sc.owner GROUP BY 2,3 ORDER BY 2,3</query>
         <heading>Count of Barcodes (greater than 10).Left 60% of Characters</heading>
         <query>SELECT COUNT(acard.id), LEFT(acard.barcode,(ROUND(LENGTH(acard.barcode)*.6))::INT) FROM actor_card acard GROUP BY 2 HAVING COUNT(acard.id) > 10 ORDER BY 2</query>
     </report>
-
-    <report>
-        <name>usr_barcode_collisions</name>
-        <report_title>Patron Barcode Collisions</report_title>
+   <report>
+        <name>usr_barcode_incoming_collisions</name>
+        <report_title>Incoming Patron Barcode Collisions</report_title>
         <tag>actors</tag>
         <iteration>0</iteration>
         <heading>Collision Count</heading>
@@ -884,21 +921,39 @@ id = ac_sc.owner GROUP BY 2,3 ORDER BY 2,3</query>
     </report>
 
     <report>
-        <name>usr_barcode_collisions</name>
-        <report_title>Patron Barcode Collisions</report_title>
+        <name>usr_barcode_incoming_collisions</name>
+        <report_title>Incoming Patron Barcode Collisions</report_title>
         <tag>actors</tag>
         <iteration>1</iteration>
         <heading>Collision Count</heading>
         <query>SELECT COUNT(acard.id) FROM actor_card acard WHERE barcode ~* 'collision'</query>
     </report>
 
+       <report>
+       <name>usr_barcode_incumbent_collisions</name>
+       <report_title>Incumbent Patron Barcode Collisions</report_title>
+       <tag>actors</tag>
+       <iteration>0</iteration>
+       <heading>Collision Count</heading>
+       <query>SELECT COUNT(acard.id) FROM actor_card_legacy acard WHERE barcode ~* '^x_' AND x_migrate = TRUE</query>
+       </report>
+
+       <report>
+       <name>usr_barcode_incumbent_collisions</name>
+       <report_title>Incumbent Patron Barcode Collisions</report_title>
+       <tag>actors</tag>
+       <iteration>1</iteration>
+       <heading>Collision Count</heading>
+       <query>SELECT COUNT(acard.id) FROM actor_card acard WHERE barcode ~* '^x_'</query>
+       </report>
+
     <report>
         <name>usr_barcode_collision_shortlist</name>
         <report_title>Patron Barcode Collisions (first 20)</report_title>
         <tag>actors</tag>
         <iteration>0</iteration>
         <heading>Collision List</heading>
-        <query>SELECT acard.barcode FROM actor_card_legacy acard WHERE acard.barcode ~* 'collision' AND acard.x_migrate = TRUE ORDER BY 1 LIMIT 20</query>
+        <query>SELECT acard.barcode FROM actor_card_legacy acard WHERE (acard.barcode ~* 'collision' OR acard.barcode ~* '^x_') AND acard.x_migrate = TRUE ORDER BY 1 LIMIT 20</query>
         <note>This is a shortlist of patron barcode collisions that maxes out at 20.  If there are more collisions we will need to run a custom report.  In some cases we may flag individual accounts to not migrate.</note>
     </report>
 
@@ -908,7 +963,7 @@ id = ac_sc.owner GROUP BY 2,3 ORDER BY 2,3</query>
         <tag>actors</tag>
         <iteration>1</iteration>
         <heading>Collision List</heading>
-        <query>SELECT acard.barcode FROM actor_card acard WHERE acard.barcode ~* 'collision' ORDER BY 1 LIMIT 20</query>
+        <query>SELECT acard.barcode FROM actor_card acard WHERE (acard.barcode ~* 'collision' OR acard.barcode ~* '^x_') ORDER BY 1 LIMIT 20</query>
         <note>This is a shortlist of patron barcode collisions that maxes out at 20.  If there are more collisions we will need to run a custom report.  In some cases we may flag individual accounts to not migrate.</note>
     </report>
 
@@ -918,7 +973,7 @@ id = ac_sc.owner GROUP BY 2,3 ORDER BY 2,3</query>
         <tag>actors</tag>
         <iteration>0</iteration>
         <heading>Number of Barcodes Matching Pattern Greater than 10.Left 60% of Characters</heading>
-        <query>SELECT COUNT(acard.id), LEFT(acard.barcode,(ROUND(LENGTH(acard.barcode)*.6))::INT) FROM actor_card_legacy acard WHERE acard.barcode ~* 'collision' AND acard.x_migrate = TRUE GROUP BY 2 HAVING COUNT(acard.id) > 10 ORDER BY 2</query>
+        <query>SELECT COUNT(acard.id), LEFT(acard.barcode,(ROUND(LENGTH(acard.barcode)*.6))::INT) FROM actor_card_legacy acard WHERE (acard.barcode ~* 'collision' OR acard.barcode ~* '^x_') AND acard.x_migrate = TRUE GROUP BY 2 HAVING COUNT(acard.id) > 10 ORDER BY 2</query>
     </report>
 
     <report>
@@ -927,7 +982,7 @@ id = ac_sc.owner GROUP BY 2,3 ORDER BY 2,3</query>
         <tag>actors</tag>
         <iteration>1</iteration>
         <heading>Number of Barcodes Matching Pattern Greater than 10.Left 60% of Characters</heading>
-        <query>SELECT COUNT(acard.id), LEFT(acard.barcode,(ROUND(LENGTH(acard.barcode)*.6))::INT) FROM actor_card acard WHERE acard.barcode ~* 'collision' GROUP BY 2 HAVING COUNT(acard.id) > 10 ORDER BY 2</query>
+        <query>SELECT COUNT(acard.id), LEFT(acard.barcode,(ROUND(LENGTH(acard.barcode)*.6))::INT) FROM actor_card acard WHERE (acard.barcode ~* 'collision' OR acard.barcode ~* '^x_') GROUP BY 2 HAVING COUNT(acard.id) > 10 ORDER BY 2</query>
     </report>
 
     <report>
@@ -1049,6 +1104,17 @@ id = ac_sc.owner GROUP BY 2,3 ORDER BY 2,3</query>
                 ORDER BY 2, 1, 3</query>
     </report>
 
+    <report>
+        <name>usr_settings</name>
+        <report_title>Patron Settings</report_title>
+        <tag>actors</tag>
+        <iteration>0</iteration>
+        <heading>Count.Setting.Value</heading>
+        <query>SELECT COUNT(*), name, 'User''s Phone' FROM actor_usr_setting WHERE name IN ('opac.default_phone') GROUP BY 2, 3 
+                       UNION ALL SELECT COUNT(*), name, value FROM actor_usr_setting WHERE name IN ('opac.hold_notify') GROUP BY 2, 3 
+                       UNION ALL SELECT COUNT(*), a.name, aou.shortname FROM actor_usr_setting a JOIN actor.org_unit aou ON aou.id = REPLACE(a.value,'"','')::INTEGER 
+                               WHERE a.name IN ('opac.default_pickup_location','opac.default_search_location') GROUP BY 2, 3 ORDER BY 2, 3;</query>
+    </report>
 
     <!-- ACQUISITIONS REPORTS -->
     <report>