Module:GS pay
{{Module rating }}
Implements Template:GS pay
Update using data from OPM[1]
- ^ "Salary Table 2024-GS" (PDF). Retrieved 2024-01-04.
Usage
{{#invoke:GS pay|get|GS Grade}}
{{#invoke:GS pay|get|GS Grade|Step Number}}
--
-- This module implements {{GS pay}}
-- There are 150 cells in the GS Pay table. This LUA reduces the amount of
-- manual input needed to 46
--
local p = {}
local stepOnePay = {}
local GSOnePay = {}
local GSTwoPay = {}
local WIGIncrease = {}
-- UPDATE THESE. Last Update: 2024
-- https://www.opm.gov/policy-data-oversight/pay-leave/salaries-wages/salary-tables/pdf/2024/GS.pdf
--For GS [Grade] Step 1 pay
stepOnePay[3] = 27434
stepOnePay[4] = 30795
stepOnePay[5] = 34454
stepOnePay[6] = 38407
stepOnePay[7] = 42679
stepOnePay[8] = 47265
stepOnePay[9] = 52205
stepOnePay[10] = 57489
stepOnePay[11] = 63163
stepOnePay[12] = 75706
stepOnePay[13] = 90025
stepOnePay[14] = 106382
stepOnePay[15] = 125133
-- Within Grade increase for GS [Grade]
WIGIncrease[3] = 914
WIGIncrease[4] = 1027
WIGIncrease[5] = 1148
WIGIncrease[6] = 1280
WIGIncrease[7] = 1423
WIGIncrease[8] = 1576
WIGIncrease[9] = 1740
WIGIncrease[10] = 1916
WIGIncrease[11] = 2105
WIGIncrease[12] = 2524
WIGIncrease[13] = 3001
WIGIncrease[14] = 3546
WIGIncrease[15] = 4171
-- GS1 Pay Table (because it has inconsistent WIG)
GSOnePay[1] = 22360
GSOnePay[2] = 23110
GSOnePay[3] = 23853
GSOnePay[4] = 24594
GSOnePay[5] = 25336
GSOnePay[6] = 25770
GSOnePay[7] = 26506
GSOnePay[8] = 27247
GSOnePay[9] = 27277
GSOnePay[10] = 27970
-- GS2 Pay Table (because it has inconsistent WIG}
GSTwoPay[1] = 25142
GSTwoPay[2] = 25740
GSTwoPay[3] = 26573
GSTwoPay[4] = 27277
GSTwoPay[5] = 27583
GSTwoPay[6] = 28394
GSTwoPay[7] = 29205
GSTwoPay[8] = 30016
GSTwoPay[9] = 30827
GSTwoPay[10] = 31638
-- Base pay calculation
function p.basePay(grade, step)
-- For Step 1 pay for all grades
if step == nil then
if grade > 2 then
-- Returns the Step 1 Pay for [grade]
return stepOnePay[grade]
elseif grade == 1 then
-- Returns GS1 Step 1
return GSOnePay[1]
else
-- Returns GS2 Step 1
return GSTwoPay[1]
end
-- For grades where step is specified
else
if grade > 2 then
-- Calculate GS [grade #], Step [step #] pay
local pay = stepOnePay[grade] + (WIGIncrease[grade] * (step - 1))
return pay
elseif grade == 1 then
return GSOnePay[step]
else
return GSTwoPay[step]
end
end
end
-- 'Main' function
function p.get(frame)
-- Error checking
if frame.args[1] == nil then
if frame.args[2] == nil then
return
end
else
-- Grab the basic pay number based on inputs
return p.basePay(tonumber(frame.args[1]), tonumber(frame.args[2]))
end
end
return p
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.