JBAS-1491 Claims return reset batch updates
authorBradley Bonner <bbonner@kcls.org>
Thu, 2 Mar 2017 18:16:27 +0000 (10:16 -0800)
committerBill Erickson <berickxx@gmail.com>
Thu, 21 Mar 2019 19:46:23 +0000 (15:46 -0400)
nightly jobs to reset claims returned count for patrons every
5 years (from usr create date) or on their 18th birthday

Bradley Bonner
bbonner@kcls.org

KCLS/utility-scripts/CRONTAB
KCLS/utility-scripts/claim_returned_reset/zero_claims_18_dob.sh [new file with mode: 0644]
KCLS/utility-scripts/claim_returned_reset/zero_claims_18_dob.sql [new file with mode: 0644]
KCLS/utility-scripts/claim_returned_reset/zero_claims_5_years.sh [new file with mode: 0644]
KCLS/utility-scripts/claim_returned_reset/zero_claims_5_years.sql [new file with mode: 0644]

index efc17f7..bbccf8a 100644 (file)
@@ -69,6 +69,11 @@ BACKSTAGE_PASSWORD = BSPASS
 # Update Envisionware patron access
 #0 1 * * * . ~/.bashrc && cd $SCRIPT_DIR/juv_to_adult/ && ./juv_to_adult.sh
 
+# Reset Claim Returned Counts - JBAS-1491
+#0 2 * * * . ~/.bashrc && cd $SCRIPT_DIR/claim_returned_reset/ && ./zero_claims_5_years.sh
+#30 2 * * * . ~/.bashrc && cd $SCRIPT_DIR/claim_returned_reset/ && ./zero_claims_18_dob.sh
+
+
 # EDI
 # TODO: un-comment for EDI
 #45 * * * * . ~/.bashrc && $EG_BIN/edi_pusher.pl -d 
diff --git a/KCLS/utility-scripts/claim_returned_reset/zero_claims_18_dob.sh b/KCLS/utility-scripts/claim_returned_reset/zero_claims_18_dob.sh
new file mode 100644 (file)
index 0000000..de3ed50
--- /dev/null
@@ -0,0 +1,6 @@
+#!/bin/bash
+
+psql -U evergreen < zero_claims_18_dob.sql > log.zero_claims_18_dob
+
+cat log.zero_claims_18_dob | mailx -s "Patron IDs claims returned zeroed after 18th birthday" bbonner@kcls.org, mcarlson@kcls.org, karend@kcls.org
+
diff --git a/KCLS/utility-scripts/claim_returned_reset/zero_claims_18_dob.sql b/KCLS/utility-scripts/claim_returned_reset/zero_claims_18_dob.sql
new file mode 100644 (file)
index 0000000..8e03fec
--- /dev/null
@@ -0,0 +1,22 @@
+BEGIN;
+
+SET SESSION STATEMENT_TIMEOUT TO 0;
+
+SELECT
+actor.usr.id, claims_returned_count
+FROM
+actor.usr
+where date(dob) = date(now() - interval'18 years')
+and claims_returned_count > 0 
+and deleted = 'f';
+
+UPDATE actor.usr SET claims_returned_count = '0' where actor.usr.id IN (
+SELECT
+actor.usr.id
+FROM
+actor.usr
+where date(dob) = date(now() - interval'18 years')
+and claims_returned_count > 0 
+and deleted = 'f'
+);
+COMMIT;
diff --git a/KCLS/utility-scripts/claim_returned_reset/zero_claims_5_years.sh b/KCLS/utility-scripts/claim_returned_reset/zero_claims_5_years.sh
new file mode 100644 (file)
index 0000000..24ca0cc
--- /dev/null
@@ -0,0 +1,7 @@
+#!/bin/bash
+
+psql -U evergreen < zero_claims_5_years.sql > log.zero_claims_5_years
+
+cat log.zero_claims_5_years | mailx -s "Patron IDs claims returned zeroed after 5 years" bbonner@kcls.org, mcarlson@kcls.org, karend@kcls.org
+
+
diff --git a/KCLS/utility-scripts/claim_returned_reset/zero_claims_5_years.sql b/KCLS/utility-scripts/claim_returned_reset/zero_claims_5_years.sql
new file mode 100644 (file)
index 0000000..3226b97
--- /dev/null
@@ -0,0 +1,19 @@
+BEGIN;
+
+SET SESSION STATEMENT_TIMEOUT TO 0;
+
+SELECT id, claims_returned_count FROM actor.usr
+where 
+date(create_date) IN (SELECT generate_series(current_date - '100 years'::interval, current_date - '5 years'::interval,'5 years' ) )
+and deleted = 'f'
+and claims_returned_count > 0;
+
+UPDATE actor.usr SET claims_returned_count = '0' where actor.usr.id IN (
+SELECT id FROM actor.usr
+where 
+date(create_date) IN (SELECT generate_series(current_date - '100 years'::interval, current_date - '5 years'::interval,'5 years' ) )
+and deleted = 'f'
+and claims_returned_count > 0
+);
+
+COMMIT;