001    /**
002     * Copyright 2004-2013 The Kuali Foundation
003     *
004     * Licensed under the Educational Community License, Version 2.0 (the "License");
005     * you may not use this file except in compliance with the License.
006     * You may obtain a copy of the License at
007     *
008     * http://www.opensource.org/licenses/ecl2.php
009     *
010     * Unless required by applicable law or agreed to in writing, software
011     * distributed under the License is distributed on an "AS IS" BASIS,
012     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013     * See the License for the specific language governing permissions and
014     * limitations under the License.
015     */
016    package org.kuali.hr.lm;
017    
018    import java.util.HashMap;
019    import java.util.LinkedHashMap;
020    import java.util.Map;
021    
022    
023    public class LMConstants {
024            public static final String SERVICE_TIME_YEAR = "year";
025            public static final String SERVICE_TIME_MONTHS = "month";
026    
027        public static final class ACCRUAL_EARN_INTERVAL_CODE{
028            public static final String DAILY = "D";
029            public static final String WEEKLY = "W";
030            public static final String SEMI_MONTHLY = "S";
031            public static final String MONTHLY = "M";
032            public static final String YEARLY = "Y";
033            public static final String NO_ACCRUAL = "N";
034            public static final String PAY_CAL = "P";
035        }
036    
037            public static final class ACCRUAL_EARN_INTERVAL{
038                    public static final String DAILY = "daily";
039                    public static final String WEEKLY = "weekly";
040                    public static final String SEMI_MONTHLY = "semimonthly";
041                    public static final String MONTHLY = "monthly";
042                    public static final String YEARLY = "yearly";
043                    public static final String NO_ACCRUAL = "noaccrual";
044                    public static final String PAY_CAL = "paycalendar";
045            }
046            
047            // KPME-1347 Kagata
048            public static final Map<String, String> ACCRUAL_EARN_INTERVAL_MAP = new HashMap<String, String>(7);
049        static {
050            ACCRUAL_EARN_INTERVAL_MAP.put(ACCRUAL_EARN_INTERVAL_CODE.DAILY, "Daily");
051            ACCRUAL_EARN_INTERVAL_MAP.put(ACCRUAL_EARN_INTERVAL_CODE.WEEKLY, "Weekly");
052            ACCRUAL_EARN_INTERVAL_MAP.put(ACCRUAL_EARN_INTERVAL_CODE.SEMI_MONTHLY, "Semi-Monthly");
053            ACCRUAL_EARN_INTERVAL_MAP.put(ACCRUAL_EARN_INTERVAL_CODE.MONTHLY, "Monthly");
054            ACCRUAL_EARN_INTERVAL_MAP.put(ACCRUAL_EARN_INTERVAL_CODE.YEARLY, "Yearly");
055            ACCRUAL_EARN_INTERVAL_MAP.put(ACCRUAL_EARN_INTERVAL_CODE.NO_ACCRUAL, "No Accrual");
056            ACCRUAL_EARN_INTERVAL_MAP.put(ACCRUAL_EARN_INTERVAL_CODE.PAY_CAL, "Pay Calendar");
057        }
058        
059            
060            // Action history
061            public static final class ACTION{
062                    public static final String DELETE = "D";
063                    public static final String ADD = "A";
064                    public static final String MODIFIED = "M";
065            }
066            
067            // Request status
068            public static final class REQUEST_STATUS{
069                    public static final String PLANNED="P";
070                    public static final String REQUESTED="R";
071                    public static final String APPROVED="A";
072                    public static final String DISAPPROVED = "D";
073                    public static final String DEFERRED="F";
074                    public static final String USAGE = "U";
075            }
076            
077             public static final Map<String, String> REQUEST_STATUS_STRINGS = new HashMap<String, String>(6);
078    
079                static {
080                    REQUEST_STATUS_STRINGS.put(REQUEST_STATUS.PLANNED, "Planned");
081                    REQUEST_STATUS_STRINGS.put(REQUEST_STATUS.REQUESTED, "Requested");
082                    REQUEST_STATUS_STRINGS.put(REQUEST_STATUS.APPROVED, "Approved"); 
083                    REQUEST_STATUS_STRINGS.put(REQUEST_STATUS.DISAPPROVED, "Disapproved");
084                    REQUEST_STATUS_STRINGS.put(REQUEST_STATUS.DEFERRED, "Deferred");
085                    REQUEST_STATUS_STRINGS.put(REQUEST_STATUS.USAGE, "Usage");
086                }
087                
088             public static final Map<String, String> ROUND_OPTION_MAP = new HashMap<String, String>(2);
089             static {
090                     ROUND_OPTION_MAP.put("T", "Traditional");
091                     ROUND_OPTION_MAP.put("R", "Truncate");
092             }
093             
094             public static final class RECORD_METHOD {
095                     public static final String TIME = "T";
096                     public static final String HOUR = "H";
097                     public static final String AMOUNT = "A";
098                     public static final String DAY = "D";
099             }
100             
101             public static final Map<String, String> RECORD_METHOD_MAP = new HashMap<String, String>(2);
102             static {
103                     RECORD_METHOD_MAP.put(RECORD_METHOD.TIME, "Time");
104                     RECORD_METHOD_MAP.put(RECORD_METHOD.HOUR, "Hours");
105                     RECORD_METHOD_MAP.put(RECORD_METHOD.AMOUNT, "Amount");
106                     RECORD_METHOD_MAP.put(RECORD_METHOD.DAY, "Days");
107             }
108            
109             public static final Map<String, String> ACCRUAL_BALANCE_ACTION_MAP = new LinkedHashMap<String, String>(2);
110             static {
111                     ACCRUAL_BALANCE_ACTION_MAP.put("N", "None");
112                     ACCRUAL_BALANCE_ACTION_MAP.put("U", "Usage");
113                     ACCRUAL_BALANCE_ACTION_MAP.put("A", "Adjustment");
114             }
115             
116             
117             public static final String LEAVE_CALENDAR_TYPE = "leaveCalendar";
118             
119             public static final class LEAVE_BLOCK_TYPE {
120                     public static final String LEAVE_CALENDAR = "LC";
121                     public static final String TIME_CALENDAR = "TC";
122                     public static final String ACCRUAL_SERVICE = "AS";
123                     public static final String BALANCE_TRANSFER = "BT";
124             public static final String LEAVE_PAYOUT = "LP";
125                     public static final String DONATION_MAINT = "DM";
126                     public static final String LEAVE_ADJUSTMENT_MAINT = "LAM";
127                     public static final String CARRY_OVER = "CO";
128             }
129    
130             public static final Map<String, String> LEAVE_BLOCK_TYPE_MAP = new HashMap<String, String>(4);
131             static {
132                    LEAVE_BLOCK_TYPE_MAP.put(LEAVE_BLOCK_TYPE.ACCRUAL_SERVICE, "Accrual Service");
133                    LEAVE_BLOCK_TYPE_MAP.put(LEAVE_BLOCK_TYPE.BALANCE_TRANSFER, "Balance Transfer");
134                    LEAVE_BLOCK_TYPE_MAP.put(LEAVE_BLOCK_TYPE.LEAVE_PAYOUT, "Leave Payout");
135                    LEAVE_BLOCK_TYPE_MAP.put(LEAVE_BLOCK_TYPE.DONATION_MAINT, "Donation");
136                    LEAVE_BLOCK_TYPE_MAP.put(LEAVE_BLOCK_TYPE.LEAVE_ADJUSTMENT_MAINT, "Leave Adjustment");
137                    LEAVE_BLOCK_TYPE_MAP.put(LEAVE_BLOCK_TYPE.CARRY_OVER, "Carry Over");
138             }
139                
140        public static final class ACTION_AT_MAX_BAL {
141            public static final String LOSE = "L";
142            public static final String TRANSFER = "T";
143            public static final String PAYOUT = "P";
144        }
145    
146        public static final class MAX_BAL_ACTION_FREQ {
147            //As of revision 3882, constant LEAVE_APPROVE given value LA to remove discrepancy for value
148            //being set in LM_ACCRUAL_CATEGORY_RULES_T.MAX_BAL_ACTION_FREQ. Constant was defined as "L"
149            //table value being set is "LA"
150            public static final String LEAVE_APPROVE = "LA";
151            public static final String YEAR_END = "YE";
152                    public static final String ON_DEMAND = "OD";
153        }
154             
155             public static final String STATUS_CHANGE_EARN_CODE = "Accrual Note";
156             
157             public static final String RUN_ACCRUAL_FROM_CALENDAR = "run.accrual.from.calendar";   // controls if accrual should be ran from Leave calendar
158             
159             public static final String INITIATE_LEAVE_REQUEST_ACTION = "kpme.lm.leaveCalendar.initiate.leaveRequest.action";
160             public static final class INITIATE_LEAVE_REQUEST_ACTION_OPTIONS {
161                    public static final String DELETE = "DELETE";
162                    public static final String APPROVE = "APPROVE";
163             }
164             
165             public static final class TIME_APPROVAL_TYPE {
166                     public static final String TIME = "time";
167                     public static final String LEAVE = "leave";
168                     public static final String ALL = "all";
169             }
170             
171             public static int DELINQUENT_LEAVE_CALENDARS_LIMIT = 2;
172             
173             public static final Map<String, String> EARN_CODE_USAGE_LIMIT_MAP = new LinkedHashMap<String, String>(2);
174             static {
175                     EARN_CODE_USAGE_LIMIT_MAP.put("I", "Include");
176                     EARN_CODE_USAGE_LIMIT_MAP.put("E", "Exclude");
177             }
178             
179             public static final class BALANCE_TRANSFER_TYPE {
180                     public static final String ACCRUAL_TRIGGERED = "AT";
181                     public static final String SSTO = "TO";
182                     public static final String MAINTENANCE = "MT";
183                     public static final String CARRY_OVER = "CO";
184             }
185             
186            public static final class UNUSED_TIME{
187                    public static final String NO_UNUSED = "NUTA";
188            public static final String TRANSFER = "T";
189            public static final String BANK = "B";
190            }
191                    
192            public static final Map<String, String> UNUSED_TIME_MAP = new HashMap<String, String>(7);
193        static {
194            UNUSED_TIME_MAP.put(UNUSED_TIME.NO_UNUSED, "No Unused Time Allowed");
195            UNUSED_TIME_MAP.put(UNUSED_TIME.TRANSFER, "Transfer");
196            UNUSED_TIME_MAP.put(UNUSED_TIME.BANK, "Bank");
197        }
198    }