[open-ils-commits] [GIT] Evergreen ILS branch rel_3_1 updated. 30a39e25c28da965540bc91d8259f069d22ca95e

Evergreen Git git at git.evergreen-ils.org
Thu Jul 12 09:26:52 EDT 2018


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Evergreen ILS".

The branch, rel_3_1 has been updated
       via  30a39e25c28da965540bc91d8259f069d22ca95e (commit)
      from  e99b5757c1786a74eb3acad6ea231fc38e9b556c (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 30a39e25c28da965540bc91d8259f069d22ca95e
Author: Mike Rylander <mrylander at gmail.com>
Date:   Thu Jul 12 09:26:42 2018 -0400

    Stamping upgrade script
    
    Signed-off-by: Mike Rylander <mrylander at gmail.com>

diff --git a/Open-ILS/src/sql/Pg/002.schema.config.sql b/Open-ILS/src/sql/Pg/002.schema.config.sql
index 4a061d8..c71db97 100644
--- a/Open-ILS/src/sql/Pg/002.schema.config.sql
+++ b/Open-ILS/src/sql/Pg/002.schema.config.sql
@@ -92,7 +92,7 @@ CREATE TRIGGER no_overlapping_deps
     BEFORE INSERT OR UPDATE ON config.db_patch_dependencies
     FOR EACH ROW EXECUTE PROCEDURE evergreen.array_overlap_check ('deprecates');
 
-INSERT INTO config.upgrade_log (version, applied_to) VALUES ('1112', :eg_version); -- Bmagic/JBoyer/Dyrcona
+INSERT INTO config.upgrade_log (version, applied_to) VALUES ('1113', :eg_version); -- Dyrcona/csharp/miker
 
 CREATE TABLE config.bib_source (
 	id		SERIAL	PRIMARY KEY,
diff --git a/Open-ILS/src/sql/Pg/upgrade/XXXX.function.acq.rollover-by-org-tree.sql b/Open-ILS/src/sql/Pg/upgrade/XXXX.function.acq.rollover-by-org-tree.sql
deleted file mode 100644
index 9298e75..0000000
--- a/Open-ILS/src/sql/Pg/upgrade/XXXX.function.acq.rollover-by-org-tree.sql
+++ /dev/null
@@ -1,211 +0,0 @@
-BEGIN;
-
--- SELECT evergreen.upgrade_deps_block_check('XXXX', :eg_version); 
-
-CREATE OR REPLACE FUNCTION acq.rollover_funds_by_org_tree(
-	old_year INTEGER,
-	user_id INTEGER,
-	org_unit_id INTEGER,
-    encumb_only BOOL DEFAULT FALSE,
-    include_desc BOOL DEFAULT TRUE
-) RETURNS VOID AS $$
-DECLARE
---
-new_fund    INT;
-new_year    INT := old_year + 1;
-org_found   BOOL;
-perm_ous    BOOL;
-xfer_amount NUMERIC := 0;
-roll_fund   RECORD;
-deb         RECORD;
-detail      RECORD;
-roll_distrib_forms BOOL;
---
-BEGIN
-	--
-	-- Sanity checks
-	--
-	IF old_year IS NULL THEN
-		RAISE EXCEPTION 'Input year argument is NULL';
-    ELSIF old_year NOT BETWEEN 2008 and 2200 THEN
-        RAISE EXCEPTION 'Input year is out of range';
-	END IF;
-	--
-	IF user_id IS NULL THEN
-		RAISE EXCEPTION 'Input user id argument is NULL';
-	END IF;
-	--
-	IF org_unit_id IS NULL THEN
-		RAISE EXCEPTION 'Org unit id argument is NULL';
-	ELSE
-		--
-		-- Validate the org unit
-		--
-		SELECT TRUE
-		INTO org_found
-		FROM actor.org_unit
-		WHERE id = org_unit_id;
-		--
-		IF org_found IS NULL THEN
-			RAISE EXCEPTION 'Org unit id % is invalid', org_unit_id;
-		ELSIF encumb_only THEN
-			SELECT INTO perm_ous value::BOOL FROM
-			actor.org_unit_ancestor_setting(
-				'acq.fund.allow_rollover_without_money', org_unit_id
-			);
-			IF NOT FOUND OR NOT perm_ous THEN
-				RAISE EXCEPTION 'Encumbrance-only rollover not permitted at org %', org_unit_id;
-			END IF;
-		END IF;
-	END IF;
-	--
-	-- Loop over the propagable funds to identify the details
-	-- from the old fund plus the id of the new one, if it exists.
-	--
-	FOR roll_fund in
-	SELECT
-	    oldf.id AS old_fund,
-	    oldf.org,
-	    oldf.name,
-	    oldf.currency_type,
-	    oldf.code,
-		oldf.rollover,
-	    newf.id AS new_fund_id
-	FROM
-    	acq.fund AS oldf
-    	LEFT JOIN acq.fund AS newf
-        	ON ( oldf.code = newf.code AND oldf.org = newf.org )
-	WHERE
- 		    oldf.year = old_year
-		AND oldf.propagate
-        AND newf.year = new_year
-		AND ( ( include_desc AND oldf.org IN ( SELECT id FROM actor.org_unit_descendants( org_unit_id ) ) )
-                OR (NOT include_desc AND oldf.org = org_unit_id ) )
-	LOOP
-		--RAISE NOTICE 'Processing fund %', roll_fund.old_fund;
-		--
-		IF roll_fund.new_fund_id IS NULL THEN
-			--
-			-- The old fund hasn't been propagated yet.  Propagate it now.
-			--
-			INSERT INTO acq.fund (
-				org,
-				name,
-				year,
-				currency_type,
-				code,
-				rollover,
-				propagate,
-				balance_warning_percent,
-				balance_stop_percent
-			) VALUES (
-				roll_fund.org,
-				roll_fund.name,
-				new_year,
-				roll_fund.currency_type,
-				roll_fund.code,
-				true,
-				true,
-				roll_fund.balance_warning_percent,
-				roll_fund.balance_stop_percent
-			)
-			RETURNING id INTO new_fund;
-
-		        PERFORM acq.copy_fund_tags(roll_fund.id,new_fund);
-
-		ELSE
-			new_fund = roll_fund.new_fund_id;
-		END IF;
-		--
-		-- Determine the amount to transfer
-		--
-		SELECT amount
-		INTO xfer_amount
-		FROM acq.fund_spent_balance
-		WHERE fund = roll_fund.old_fund;
-		--
-		IF xfer_amount <> 0 THEN
-			IF NOT encumb_only AND roll_fund.rollover THEN
-				--
-				-- Transfer balance from old fund to new
-				--
-				--RAISE NOTICE 'Transferring % from fund % to %', xfer_amount, roll_fund.old_fund, new_fund;
-				--
-				PERFORM acq.transfer_fund(
-					roll_fund.old_fund,
-					xfer_amount,
-					new_fund,
-					xfer_amount,
-					user_id,
-					'Rollover'
-				);
-			ELSE
-				--
-				-- Transfer balance from old fund to the void
-				--
-				-- RAISE NOTICE 'Transferring % from fund % to the void', xfer_amount, roll_fund.old_fund;
-				--
-				PERFORM acq.transfer_fund(
-					roll_fund.old_fund,
-					xfer_amount,
-					NULL,
-					NULL,
-					user_id,
-					'Rollover into the void'
-				);
-			END IF;
-		END IF;
-		--
-		IF roll_fund.rollover THEN
-			--
-			-- Move any lineitems from the old fund to the new one
-			-- where the associated debit is an encumbrance.
-			--
-			-- Any other tables tying expenditure details to funds should
-			-- receive similar treatment.  At this writing there are none.
-			--
-			UPDATE acq.lineitem_detail
-			SET fund = new_fund
-			WHERE
-    			fund = roll_fund.old_fund -- this condition may be redundant
-    			AND fund_debit in
-    			(
-        			SELECT id
-        			FROM acq.fund_debit
-        			WHERE
-            			fund = roll_fund.old_fund
-            			AND encumbrance
-    			);
-			--
-			-- Move encumbrance debits from the old fund to the new fund
-			--
-			UPDATE acq.fund_debit
-			SET fund = new_fund
-			wHERE
-				fund = roll_fund.old_fund
-				AND encumbrance;
-		END IF;
-
-		-- Rollover distribution formulae funds
-		SELECT INTO roll_distrib_forms value::BOOL FROM
-			actor.org_unit_ancestor_setting(
-				'acq.fund.rollover_distrib_forms', org_unit_id
-			);
-
-		IF roll_distrib_forms THEN
-			UPDATE acq.distribution_formula_entry 
-				SET fund = roll_fund.new_fund_id
-				WHERE fund = roll_fund.old_fund;
-		END IF;
-
-		--
-		-- Mark old fund as inactive, now that we've closed it
-		--
-		UPDATE acq.fund
-		SET active = FALSE
-		WHERE id = roll_fund.old_fund;
-	END LOOP;
-END;
-$$ LANGUAGE plpgsql;
-
-COMMIT;

-----------------------------------------------------------------------

Summary of changes:
 Open-ILS/src/sql/Pg/002.schema.config.sql          |    2 +-
 .../XXXX.function.acq.rollover-by-org-tree.sql     |  211 --------------------
 2 files changed, 1 insertions(+), 212 deletions(-)
 delete mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.function.acq.rollover-by-org-tree.sql


hooks/post-receive
-- 
Evergreen ILS


More information about the open-ils-commits mailing list