<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://stockhub.co/index.php?action=history&amp;feed=atom&amp;title=Module%3AGS_pay</id>
	<title>Module:GS pay - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://stockhub.co/index.php?action=history&amp;feed=atom&amp;title=Module%3AGS_pay"/>
	<link rel="alternate" type="text/html" href="https://stockhub.co/index.php?title=Module:GS_pay&amp;action=history"/>
	<updated>2026-05-06T23:45:10Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://stockhub.co/index.php?title=Module:GS_pay&amp;diff=136351&amp;oldid=prev</id>
		<title>imported&gt;MR1237: Updated for 2022</title>
		<link rel="alternate" type="text/html" href="https://stockhub.co/index.php?title=Module:GS_pay&amp;diff=136351&amp;oldid=prev"/>
		<updated>2022-01-01T15:53:04Z</updated>

		<summary type="html">&lt;p&gt;Updated for 2022&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;--&lt;br /&gt;
-- This module implements {{GS pay}}&lt;br /&gt;
-- There are 150 cells in the GS Pay table. This LUA reduces the amount of&lt;br /&gt;
--   manual input needed to 46&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
local stepOnePay = {}&lt;br /&gt;
local GSOnePay = {}&lt;br /&gt;
local GSTwoPay = {}&lt;br /&gt;
local WIGIncrease = {}&lt;br /&gt;
&lt;br /&gt;
-- UPDATE THESE. Last Update: 2022&lt;br /&gt;
-- https://www.opm.gov/policy-data-oversight/pay-leave/salaries-wages/salary-tables/pdf/2022/GS.pdf&lt;br /&gt;
	--For GS [Grade] Step 1 pay&lt;br /&gt;
	stepOnePay[3] = 24749&lt;br /&gt;
	stepOnePay[4] = 27782&lt;br /&gt;
	stepOnePay[5] = 31083&lt;br /&gt;
	stepOnePay[6] = 34649&lt;br /&gt;
	stepOnePay[7] = 38503&lt;br /&gt;
	stepOnePay[8] = 42641&lt;br /&gt;
	stepOnePay[9] = 47097&lt;br /&gt;
	stepOnePay[10] = 51864&lt;br /&gt;
	stepOnePay[11] = 56983&lt;br /&gt;
	stepOnePay[12] = 68299&lt;br /&gt;
	stepOnePay[13] = 81216&lt;br /&gt;
	stepOnePay[14] = 95973&lt;br /&gt;
	stepOnePay[15] = 112890&lt;br /&gt;
	-- Within Grade increase for GS [Grade]&lt;br /&gt;
	WIGIncrease[3] = 825&lt;br /&gt;
	WIGIncrease[4] = 926&lt;br /&gt;
	WIGIncrease[5] = 1036&lt;br /&gt;
	WIGIncrease[6] = 1155&lt;br /&gt;
	WIGIncrease[7] = 1283&lt;br /&gt;
	WIGIncrease[8] = 1421&lt;br /&gt;
	WIGIncrease[9] = 1570&lt;br /&gt;
	WIGIncrease[10] = 1729&lt;br /&gt;
	WIGIncrease[11] = 1899&lt;br /&gt;
	WIGIncrease[12] = 2277&lt;br /&gt;
	WIGIncrease[13] = 2707&lt;br /&gt;
	WIGIncrease[14] = 3199&lt;br /&gt;
	WIGIncrease[15] = 3763&lt;br /&gt;
	-- GS1 Pay Table (because it has inconsistent WIG)&lt;br /&gt;
	GSOnePay[1] = 20172&lt;br /&gt;
	GSOnePay[2] = 20849&lt;br /&gt;
	GSOnePay[3] = 21519&lt;br /&gt;
	GSOnePay[4] = 22187&lt;br /&gt;
	GSOnePay[5] = 22857&lt;br /&gt;
	GSOnePay[6] = 23249&lt;br /&gt;
	GSOnePay[7] = 23913&lt;br /&gt;
	GSOnePay[8] = 24581&lt;br /&gt;
	GSOnePay[9] = 24608&lt;br /&gt;
	GSOnePay[10] = 25234&lt;br /&gt;
	-- GS2 Pay Table (because it has inconsistent WIG}&lt;br /&gt;
	GSTwoPay[1] = 22682&lt;br /&gt;
	GSTwoPay[2] = 23222&lt;br /&gt;
	GSTwoPay[3] = 23973&lt;br /&gt;
	GSTwoPay[4] = 24608&lt;br /&gt;
	GSTwoPay[5] = 24886&lt;br /&gt;
	GSTwoPay[6] = 25618&lt;br /&gt;
	GSTwoPay[7] = 26350&lt;br /&gt;
	GSTwoPay[8] = 27082&lt;br /&gt;
	GSTwoPay[9] = 27814&lt;br /&gt;
	GSTwoPay[10] = 28546&lt;br /&gt;
&lt;br /&gt;
-- Base pay calculation&lt;br /&gt;
function p.basePay(grade, step)&lt;br /&gt;
	-- For Step 1 pay for all grades&lt;br /&gt;
	if step == nil then&lt;br /&gt;
		if grade &amp;gt; 2 then&lt;br /&gt;
			-- Returns the Step 1 Pay for [grade]&lt;br /&gt;
			return stepOnePay[grade]&lt;br /&gt;
		elseif grade == 1 then&lt;br /&gt;
			-- Returns GS1 Step 1&lt;br /&gt;
			return GSOnePay[1]&lt;br /&gt;
		else&lt;br /&gt;
			-- Returns GS2 Step 1&lt;br /&gt;
			return GSTwoPay[1]&lt;br /&gt;
		end&lt;br /&gt;
	-- For grades where step is specified&lt;br /&gt;
	else&lt;br /&gt;
		if grade &amp;gt; 2 then&lt;br /&gt;
			-- Calculate GS [grade #], Step [step #] pay&lt;br /&gt;
			local pay = stepOnePay[grade] + (WIGIncrease[grade] * (step - 1))&lt;br /&gt;
			return pay&lt;br /&gt;
		elseif grade == 1 then&lt;br /&gt;
			return GSOnePay[step]&lt;br /&gt;
		else&lt;br /&gt;
			return GSTwoPay[step]&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
	&lt;br /&gt;
-- &amp;#039;Main&amp;#039; function&lt;br /&gt;
function p.get(frame)&lt;br /&gt;
	-- Error checking&lt;br /&gt;
	if frame.args[1] == nil then&lt;br /&gt;
		if frame.args[2] == nil then&lt;br /&gt;
			return&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		-- Grab the basic pay number based on inputs&lt;br /&gt;
		return p.basePay(tonumber(frame.args[1]), tonumber(frame.args[2]))&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
	&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>imported&gt;MR1237</name></author>
	</entry>
</feed>