1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.kuali.kfs.module.tem;
20
21 import java.text.SimpleDateFormat;
22 import java.util.ArrayList;
23 import java.util.EnumSet;
24 import java.util.HashMap;
25 import java.util.LinkedHashMap;
26 import java.util.List;
27 import java.util.Map;
28
29 import org.apache.commons.lang.StringUtils;
30 import org.apache.commons.lang.WordUtils;
31 import org.kuali.kfs.module.tem.document.TravelAuthorizationDocument;
32 import org.kuali.kfs.sys.KFSConstants;
33 import org.kuali.kfs.sys.KFSPropertyConstants;
34 import org.kuali.kfs.sys.KfsAuthorizationConstants.TransactionalEditMode;
35
36 public class TemConstants {
37 public static final String PRE_FILLED_DESCRIPTION = "(Description will be filled upon submit)";
38 public static final String PRIMARY_DESTINATION_LOOKUPABLE = "primaryDestinationLookupable";
39
40 public static final String PER_DIEM_LOOKUPABLE = "perDiemLookupable";
41 public static final String KIM_PERSON_LOOKUPABLE = "kimPersonLookupable";
42 public static final String TEM_PROFILE_LOOKUPABLE = "temProfileLookupable";
43 public static final String TRAVELER_PROFILE_DOC_LOOKUPABLE = "travelerProfileDocLookupable";
44 public static final String GROUP_TRAVELER_FOR_LOOKUP_LOOKUPABLE = "groupTravelerForLookupLookupable";
45
46 public static final String NAMESPACE = "KFS-TEM";
47 public static final String PARAM_NAMESPACE = NAMESPACE;
48
49 public static final String CERTIFICATION_STATEMENT_ATTRIBUTE = "certificationStatement";
50 public static final String CAN_CERTIFY_ATTRIBUTE = "certificationStatement";
51 public static final String EMPLOYEE_TEST_ATTRIBUTE = "isEmployee";
52 public static final String ENABLE_PRIMARY_DESTINATION_ATTRIBUTE = "enablePrimaryDestination";
53 public static final String ENABLE_PER_DIEM_LOOKUP_LINKS_ATTRIBUTE = "enablePerDiemLookupLinks";
54 public static final String REMAINING_DISTRIBUTION_ATTRIBUTE = "remainingDistribution";
55 public static final String DISPLAY_EMERGENCY_CONTACT_TAB = "displayEmergencyContactTab";
56 public static final String AR_INVOICE_DOC_TYPE_NAME = "INV";
57 public static final String COVERSHEET_FILENAME_FORMAT = "%s_cover_sheet.pdf";
58 public static final String EXPENSE_SUMMARY_REPORT_TITLE = "%s_Expense_Summary";
59 public static final String SUMMARY_BY_DAY_TITLE = "%s_Summary_By_Day";
60 public static final String ENTERTAINMENT_CERTIFICATION_REPORT_TITLE = "_Entertainment_Certification";
61 public static final String NON_EMPLOYEE_CERTIFICATION_REPORT_TITLE = "_Non_Employee_Certification";
62 public static final String SHOW_REPORTS_ATTRIBUTE = "showReports";
63 public static final String ALLOW_TRAVELER_ADDRESS_CHANGE_ATTRIBUTE = "allowTravelerAddressChange";
64 public static final String TRAVEL_ARRANGER_TEST_ATTRIBUTE = "travelArranger";
65 public static final String TRAVEL_MANAGER_TEST_ATTRIBUTE = "travelManager";
66 public static final String FISCAL_OFFICER_TEST_ATTRIBUTE = "fiscalOfficer";
67 public static final String DELINQUENT_TEST_ATTRIBUTE = "delinquent";
68 public static final String TEM_DOCUMENT_IDENTIFER_NOT_AVAILABLE = "Not Available";
69
70 public static final String AMENDMENT_TA_QUESTION = "AmendmentTa";
71 public static final String CLOSE_TA_QUESTION = "CloseTa";
72 public static final String CONFIRM_AMENDMENT_QUESTION = "ConfirmAmendment";
73 public static final String CONFIRM_CLOSE_QUESTION = "ConfirmClose";
74 public static final String AMENDMENT_NOTE_PREFIX = "Note entered while amending a Travel Authorization : ";
75 public static final String HOLD_TA_QUESTION = "HoldTa";
76 public static final String CONFIRM_HOLD_QUESTION = "ConfirmHold";
77 public static final String HOLD_NOTE_PREFIX = "Note entered while placing Travel Authorization on hold : ";
78 public static final String REMOVE_HOLD_TA_QUESTION = "RemoveHoldTa";
79 public static final String CONFIRM_REMOVE_HOLD_QUESTION = "ConfirmRemoveHold";
80 public static final String CONFIRM_CLOSE_QUESTION_TEXT = "When you close this Travel Authorization, remaining encumbrance will be liquidated.";
81 public static final String CANCEL_TA_QUESTION = "CancelTa";
82 public static final String CONFIRM_CANCEL_QUESTION = "ConfirmCancel";
83 public static final String CONFIRM_CANCEL_QUESTION_TEXT = "When you cancel this Travel Authorization, remaining encumbrance will be liquidated.";
84
85 public static final String REMOVE_HOLD_NOTE_PREFIX = "Note entered while removing a hold on Travel Authorization : ";
86 public static final String RETURN_TO_FO_QUESTION = "ReturnToFiscalOfficer";
87 public static final String RETURN_TO_FO_NOTE_PREFIX = "Note entered while returning Travel Reimbursement to fiscal officer : ";
88 public static final String AMEND_NOTE_PREFIX = "Note entered while amending a Travel Authorization : ";
89 public static final String AMEND_NOTE_SUFFIX = "(Previous Document Id is {0})";
90 public static final String CANCEL_NOTE_PREFIX = "Note entered while canceling a Travel Authorization : ";
91 public static final String ORIGIN_CODE = "01";
92 public static final String QUESTION_CONFIRMATION = "temSingleConfirmationQuestion";
93 public static final String REMOVE_HOLD_TA_TEXT = "Remove the Hold on";
94 public static final String HOLD_TA_TEXT = "Hold";
95 public static final String AMEND_TA_TEXT = "Amend";
96 public static final String CLOSE_TA_TEXT = "Close";
97 public static final String RETURN_TO_FO_TEXT = "Return";
98 public static final String CANCEL_TA_TEXT = "Cancel";
99
100 public static final String NEW_TEM_PROFILE_DESCRIPTION_PREFIX = "New Traveler Profile for ";
101
102 public static final String INITIATOR_RESPONSIBILITY = "Initiator";
103
104
105
106
107 public static final String TOTAL_EXPENSES_ATTRIBUTE = "totalExpenses";
108 public static final String PER_DIEM_ADJUSTMENT_ATTRIBUTE = "lessManualPerDiemAdjustment";
109 public static final String NON_REIMBURSABLE_ATTRIBUTE = "nonReimbursable";
110 public static final String ELIGIBLE_FOR_REIMB_ATTRIBUTE = "eligibleForReimbursement";
111 public static final String TOTAL_REIMBURSABLE_ATTRIBUTE = "totalReimbursable";
112 public static final String EXPENSE_LIMIT_ATTRIBUTE = "expenseLimitEditable";
113 public static final String LESS_ADVANCES_ATTRIBUTE = "lessAdvances";
114 public static final String SHOW_ENCUMBRANCE_ATTRIBUTE = "showEncumbrance";
115 public static final String SHOW_ADVANCES_ATTRIBUTE = "showAdvances";
116 public static final String REIMBURSEMENT_ATTRIBUTE = "reimbursement";
117 public static final String ENCUMBRANCE_AMOUNT_ATTRIBUTE = "encumbranceAmount";
118 public static final String SHOW_ACCOUNT_DISTRIBUTION_ATTRIBUTE = "accountDistribution";
119
120
121
122
123 public static final String MILEAGE_TOTAL_ATTRIBUTE = "mileageTotal";
124 public static final String LODGING_TOTAL_ATTRIBUTE = "lodgingTotal";
125 public static final String MEALS_AND_INC_TOTAL_ATTRIBUTE = "mealsAndIncidentalsTotal";
126 public static final String DAILY_TOTAL = "dailyTotal";
127
128
129 public static final String PERCENTAGE = "P";
130 public static final String QUARTER = "Q";
131
132 public static class TripIdPrefix {
133 public static final String TRIP_PREFIX = "T-";
134 public static final String RELOCATION_PREFIX = "R-";
135 public static final String ENTERTAINMENT_PREFIX = "E-";
136 }
137
138 public static interface Report {
139 public static final String TEMPLATE_CLASSPATH = "org/kuali/kfs/module/tem/report/";
140 public static final String TEMPLATE_PATH_FORMAT = TEMPLATE_CLASSPATH + "%s";
141 public static final String MESSAGES_CLASSPATH = TEMPLATE_CLASSPATH + "TravelExpenseReport";
142
143 }
144
145 public static class TravelDocTypes {
146 public static final String TRAVEL_AUTHORIZATION_DOCUMENT = "TA";
147 public static final String TRAVEL_AUTHORIZATION_CLOSE_DOCUMENT = "TAC";
148 public static final String TRAVEL_AUTHORIZATION_AMEND_DOCUMENT = "TAA";
149 public static final String TRAVEL_REIMBURSEMENT_DOCUMENT = "TR";
150 public static final String TRAVEL_RELOCATION_DOCUMENT = "RELO";
151 public static final String TRAVEL_ENTERTAINMENT_DOCUMENT = "ENT";
152 public static final String TRAVEL_ARRANGER_DOCUMENT = "TTA";
153 public static final String TRAVEL_PROFILE_DOCUMENT = "TTP";
154 public static final String TRAVEL_AUTHORIZATION_CHECK_ACH_DOCUMENT = "TACA";
155 public static final String TRAVEL_AUTHORIZATION_WIRE_OR_FOREIGN_DRAFT_DOCUMENT = "TAWF";
156 public static final String TRAVEL_REIMBURSEMENT_CHECK_ACH_DOCUMENT = "TRCA";
157 public static final String TRAVEL_REIMBURSEMENT_WIRE_OR_FOREIGN_DRAFT_DOCUMENT = "TRWF";
158 public static final String TRAVEL_REIMBURSEMENT_TRAVEL_ADVANCES_DOCUMENT = "TRTA";
159 public static final String ENTERTAINMENT_CHECK_ACH_DOCUMENT = "ENCA";
160 public static final String ENTERTAINMENT_WIRE_OR_FOREIGN_DRAFT_DOCUMENT = "ENWF";
161 public static final String RELOCATION_CHECK_ACH_DOCUMENT = "RECA";
162 public static final String RELOCATION_WIRE_OR_FOREIGN_DRAFT_DOCUMENT = "REWF";
163 public static final String REIMBURSABLE_CORPORATE_CARD_CHECK_ACH_DOCUMENT = "RCCA";
164 public static final String TRAVEL_CTS_CARD_DOCUMENT = "CTAP";
165 public static final String TRAVEL_CORP_CARD_DOCUMENT = "CCAP";
166 public static final String TEM_TRANSACTIONAL_DOCUMENT = "TT";
167 public static final String TRAVEL_TRANSACTIONAL_DOCUMENT = "TRV";
168
169 public static List<String> getAuthorizationDocTypes(){
170 List<String> authorizationDocTypes = new ArrayList<String>();
171 authorizationDocTypes.add(TRAVEL_AUTHORIZATION_DOCUMENT);
172 authorizationDocTypes.add(TRAVEL_AUTHORIZATION_AMEND_DOCUMENT);
173 authorizationDocTypes.add(TRAVEL_AUTHORIZATION_CLOSE_DOCUMENT);
174 return authorizationDocTypes;
175 }
176
177 public static List<String> getReimbursementDocTypes(){
178 List<String> authorizationDocTypes = new ArrayList<String>();
179 authorizationDocTypes.add(TRAVEL_REIMBURSEMENT_DOCUMENT);
180 authorizationDocTypes.add(TRAVEL_RELOCATION_DOCUMENT);
181 authorizationDocTypes.add(TRAVEL_ENTERTAINMENT_DOCUMENT);
182 return authorizationDocTypes;
183 }
184
185 }
186
187 public static class TravelParameters {
188 public static final String TRAVELER_ADDRESS_CHANGE_IND = "TRAVELER_ADDRESS_CHANGE_IND";
189
190 public static final String DOCUMENT_DTL_TYPE = "Document";
191 public static final String NON_EMPLOYEE_TRAVELER_TYPE_CODES = "NON_EMPLOYEE_TRAVELER_TYPE_CODES";
192 public static final String EMPLOYEE_TRAVELER_TYPE_CODES = "EMPLOYEE_TRAVELER_TYPE_CODES";
193 public static final String PER_DIEM_CATEGORIES = "PER_DIEM_CATEGORIES";
194 public static final String VALIDATE_DAILY_PER_DIEM_AND_INCIDENTALS_IND = "VALIDATE_DAILY_PER_DIEM_AND_INCIDENTALS_IND";
195 public static final String DOCUMENTATION_LOCATION_CODE = "DOCUMENTATION_LOCATION_CODE";
196 public static final String TRAVEL_COVERSHEET_INSTRUCTIONS = "TRAVEL_COVERSHEET_INSTRUCTIONS";
197 public static final String EMPLOYEE_CERTIFICATION_STATEMENT = "EMPLOYEE_CERTIFICATION_STATEMENT";
198 public static final String NON_EMPLOYEE_CERTIFICATION_STATEMENT = "NON_EMPLOYEE_CERTIFICATION_STATEMENT";
199 public static final String CUMULATIVE_REIMBURSABLE_AMOUNT_WITHOUT_DIVISION_APPROVAL = "CUMULATIVE_REIMBURSABLE_AMOUNT_WITHOUT_DIVISION_APPROVAL";
200 public static final String INCIDENTALS_WITH_MEALS_IND = "INCIDENTALS_WITH_MEALS_IND";
201 public static final String QUARTER_DAY_TIME_TABLE = "QUARTER_DAY_TIME_TABLE";
202 public static final String NUMBER_OF_DAYS_DELINQUENT = "NUMBER_OF_DAYS_DELINQUENT";
203
204 public static final String ALWAYS_REIMBURSABLE_CARD_TYPE = "ALWAYS_REIMBURSABLE_CARD_TYPE";
205 public static final String AMOUNT_DUE_CORPORATE_CARD_TOTAL_LINE_IND = "AMOUNT_DUE_CORPORATE_CARD_TOTAL_LINE_IND";
206 public static final String CORPORATE_CARD_PAYMENT_IND = "CORPORATE_CARD_PAYMENT_IND";
207 public static final String SEPARATION_OF_DUTIES_ROUTING_CHOICE = "SEPARATION_OF_DUTIES_ROUTING_CHOICE";
208 public static final String IMPORTED_EXPENSE_DETAIL_IND = "IMPORTED_EXPENSE_DETAIL_IND";
209 public static final String ACCOUNTING_LINE_VALIDATION = "ACCOUNTING_LINE_VALIDATION";
210
211 public static final String ENTERTAINMENT_MANAGER_TO_EDIT_ALL_IND = "ENTERTAINMENT_MANAGER_TO_EDIT_ALL_IND";
212 public static final String MOVING_RELOCATION_MANAGER_TO_EDIT_ALL_IND = "MOVING_RELOCATION_MANAGER_TO_EDIT_ALL_IND";
213 public static final String INTERNATIONAL_TRIP_TYPES = "INTERNATIONAL_TRIP_TYPES";
214
215 public static final String UPLOAD_PARSER_INSTRUCTIONS_URL = "UPLOAD_PARSER_INSTRUCTIONS_URL";
216
217 public static final String SEND_NOTIFICATION_DOCUMENT_TYPES = "SEND_NOTIFICATION_DOCUMENT_TYPES";
218
219 public static final String TRAVEL_EMAIL_ADDRESS = "TRAVEL_EMAIL_ADDRESS";
220 public static final String SEND_NOTIFICATION_ON_WORKFLOW_STATUS_CHANGE_IND = "SEND_NOTIFICATION_ON_WORKFLOW_STATUS_CHANGE_IND";
221 public static final String CHANGE_NOTIFICATION_SUBJECT = "CHANGE_NOTIFICATION_SUBJECT";
222 public static final String FROM_EMAIL_ADDRESS_PARAM_NAME = "FROM_EMAIL_ADDRESS";
223
224 public static final String VENDOR_PAYMENT_REASON_CODE = "VENDOR_PAYMENT_REASON_CODE";
225 public static final String INCLUDE_ARRANGER_EXPENSE_IN_IMPORTED_EXPENSE_IND = "INCLUDE_ARRANGER_EXPENSE_IN_IMPORTED_EXPENSE_IND";
226 public static final String INCLUDE_TRAVELER_TYPE_IN_TRIP_ID_IND = "INCLUDE_TRAVELER_TYPE_IN_TRIP_ID_IND";
227
228 public static final String PER_DIEM_MILEAGE_RATE_EXPENSE_TYPE_CODE = "PER_DIEM_MILEAGE_RATE_EXPENSE_TYPE_CODE";
229
230 public static final String INTERNATIONAL_TRIP_REQUIRES_ACCOMMODATION_IND = "INTERNATIONAL_TRIP_REQUIRES_ACCOMMODATION_IND";
231 public static final String DUPLICATE_TRIP_DATE_RANGE_DAYS = "DUPLICATE_TRIP_DATE_RANGE_DAYS";
232 }
233
234 public static class TravelAuthorizationParameters {
235 public static final String TRAVEL_ADVANCE_OBJECT_CODE = "TRAVEL_ADVANCE_OBJECT_CODE";
236 public static final String TRAVEL_ADVANCE_CHART = "TRAVEL_ADVANCE_CHART";
237 public static final String TRAVEL_ADVANCE_ACCOUNT = "TRAVEL_ADVANCE_ACCOUNT";
238 public static final String TRAVEL_ADVANCE_PAYMENT_REASON_CODE = "TRAVEL_ADVANCE_PAYMENT_REASON_CODE";
239 public static final String DISPLAY_EMERGENCY_CONTACT_IND = "DISPLAY_EMERGENCY_CONTACT_IND";
240 public static final String CUSTOMER_TYPE_CODE = "CUSTOMER_TYPE_CODE";
241
242 public static final String GENERATE_INVOICE_FOR_TRAVEL_ADVANCE_IND = "GENERATE_INVOICE_INV_FOR_TRAVL_ADVANCE_IND";
243 public static final String FIRST_AND_LAST_DAY_PER_DIEM_PERCENTAGE = "FIRST_AND_LAST_DAY_PER_DIEM_PERCENTAGE";
244 public static final String DUE_DATE_DAYS = "DUE_DATE_DAYS";
245 public static final String TRAVEL_ADVANCE_INVOICE_ITEM_CODE = "TRAVEL_ADVANCE_INVOICE_ITEM_CODE";
246 public static final String TRAVEL_ADVANCE_BILLING_ORGANIZATION = "TRAVEL_ADVANCE_BILLING_ORGANIZATION";
247 public static final String TRAVEL_ADVANCE_BILLING_CHART = "TRAVEL_ADVANCE_BILLING_CHART";
248 public static final String DISPLAY_PER_DIEM_URL_IND = "DISPLAY_PER_DIEM_URL_IND";
249 public static final String OVERRIDE_PRIMARY_DESTINATION_IND = "OVERRIDE_PRIMARY_DESTINATION_IND";
250 public static final String PER_DIEM_AMOUNT_EDITABLE_IND = "PER_DIEM_AMOUNT_EDITABLE_IND";
251 public static final String TRAVEL_ADVANCES_POLICY_URL = "TRAVEL_ADVANCES_POLICY_URL";
252 public static final String CASH_ADVANCE_CREDIT_CARD_TYPES = "CASH_ADVANCE_CREDIT_CARD_TYPES";
253 public static final String CASH_ADVANCE_WARNING_IND = "CASH_ADVANCE_WARNING_IND";
254 public static final String MULTIPLE_CASH_ADVANCES_ALLOWED_IND = "MULTIPLE_CASH_ADVANCES_ALLOWED_IND";
255
256 public static final String VENDOR_PAYMENT_ALLOWED_BEFORE_FINAL_APPROVAL_IND = "VENDOR_PAYMENT_ALLOWED_BEFORE_FINAL_APPROVAL_IND";
257 public static final String HOLD_NEW_FISCAL_YEAR_ENCUMBRANCES_IND = "HOLD_NEW_FISCAL_YEAR_ENCUMBRANCES_IND";
258 public static final String DISPLAY_IMPORTED_EXPENSE_IND = "DISPLAY_IMPORTED_EXPENSE_IND";
259
260 }
261
262 public static class TravelReimbursementParameters {
263 public static final String FOREIGN_CURRENCY_URL = "FOREIGN_CURRENCY_URL";
264 public static final String DISPLAY_ENCUMBRANCE_IND = "DISPLAY_ENCUMBRANCE_IND";
265 public static final String DISPLAY_ADVANCES_IN_REIMBURSEMENT_TOTAL_IND = "DISPLAY_ADVANCES_IN_REIMBURSEMENT_TOTAL_IND";
266 public static final String TRAVEL_PAYMENT_MEDIUM = "TRAVEL_PAYMENT_MEDIUM_TYPE_CODE";
267 public static final String PER_DIEM_OBJECT_CODE = "PER_DIEM_OBJECT_CODE";
268 public static final String LODGING_OBJECT_CODE = "LODGING_OBJECT_CODE";
269 public static final String DEFAULT_CHART = "DEFAULT_CHART";
270 public static final String LODGING_TYPE_CODES = "LODGING_TYPE_CODES";
271 public static final String TRANSPORTATION_TYPE_CODES = "TRANSPORTATION_TYPE_CODES";
272 public static final String APPLY_REIMBURSEMENT_AGAINST_MULTIPLE_INVOICES_IND = "APPLY_REIMBURSEMENT_AGAINST_MULTIPLE_INVOICES_IND";
273 public static final String DISPLAY_ACCOUNTING_DISTRIBUTION_TAB_IND = "DISPLAY_ACCOUNTING_DISTRIBUTION_TAB_IND";
274 public static final String REIMBURSEMENT_PERCENT_OVER_ENCUMBRANCE_AMOUNT = "REIMBURSEMENT_PERCENT_OVER_ENCUMBRANCE_AMOUNT";
275 public static final String OBJECT_LEVELS = "OBJECT_LEVELS";
276 public static final String PER_DIEM_AMOUNT_EDITABLE_IND = "PER_DIEM_AMOUNT_EDITABLE_IND";
277 public static final String AUTOMATIC_APPROVALS_IND = "AUTOMATIC_APPROVALS_IND";
278 public static final String DISPLAY_TRAVEL_AUTHORIZATION_ESTIMATE_IN_SUMMARY_REPORT_IND = "DISPLAY_TRAVEL_AUTHORIZATION_ESTIMATE_IN_SUMMARY_REPORT_IND";
279 public static final String FAX_NUMBER = "FAX_NUMBER";
280 public static final String VENDOR_PAYMENT_ALLOWED_BEFORE_FINAL_APPROVAL_IND = "VENDOR_PAYMENT_ALLOWED_BEFORE_FINAL_APPROVAL_IND";
281 public static final String PAYMENT_REASON_CODE = "PAYMENT_REASON_CODE";
282 public static final String PRETRIP_REIMBURSEMENT_IND = "PRETRIP_REIMBURSEMENT_IND";
283 public static final String BARCODE_STYLE = "BARCODE_STYLE";
284 }
285
286 public static class TravelRelocationParameters {
287 public static final String DISPLAY_ACCOUNTING_DISTRIBUTION_TAB_IND = "DISPLAY_ACCOUNTING_DISTRIBUTION_TAB_IND";
288 public static final String DEFAULT_CHART = "DEFAULT_CHART";
289 public static final String PAYMENT_REASON_CODE = "PAYMENT_REASON_CODE";
290 }
291
292 public static class TravelEntertainmentParameters {
293 public static final String HOST_CERTIFICATION_REQUIRED_IND = "HOST_CERTIFICATION_REQUIRED_IND";
294 public static final String PAYMENT_REASON_CODE = "PAYMENT_REASON_CODE";
295 public static final String DISPLAY_ACCOUNTING_DISTRIBUTION_TAB_IND = "DISPLAY_ACCOUNTING_DISTRIBUTION_TAB_IND";
296 public static final String NON_EMPLOYEE_CERTIFICATION_REQUIRED_IND = "NON_EMPLOYEE_CERTIFICATION_REQUIRED_IND";
297 }
298
299 public static class TravelEntertainment {
300 public static final String DOCUMENT_NAME = "Entertainment Reimbursement";
301 }
302
303 public static class TemProfileParameters {
304 public static final String PARAM_DTL_TYPE = "TemProfile";
305 public static final String VALID_TRAVELER_TYPE_BY_CUSTOMER_TYPE = "VALID_TRAVELER_TYPE_BY_CUSTOMER_TYPE";
306 public static final String VALID_KIM_TYPE_AFFILIATION_BY_TRAVER_TYPE = "VALID_KIM_TYPE_AFFILIATION_BY_TRAVER_TYPE";
307 public static final String EXPORT_FILE_FORMAT = "EXPORT_FILE_FORMAT";
308 }
309
310 public static final String TRAVEL_DOC_APP_DOC_STATUS_INIT = "Initiated";
311
312 public static class TravelStatusCodeKeys {
313 public static final String IN_PROCESS = "In Process";
314 public static final String CANCELLED = "Cancelled";
315
316 public static final String AWAIT_TRVLR = "Awaiting Traveler Review";
317 public static final String AWAIT_FISCAL = "Awaiting Fiscal Officer Review";
318 public static final String AWAIT_ORG = "Awaiting Organization Review";
319 public static final String AWAIT_DIV = "Awaiting Division Review";
320 public static final String AWAIT_INTL = "Awaiting International Travel Review";
321 public static final String AWAIT_SUB = "Awaiting Sub-Fund Review";
322 public static final String AWAIT_AWARD = "Awaiting Award Review";
323 public static final String AWAIT_BUDGET = "Await Budget";
324 public static final String AWAIT_SPCL = "Awaiting Special Request Review";
325 public static final String AWAIT_SEP_DUTIES = "Awaiting Separation Of Duties Review";
326 public static final String AWAIT_DISBURSEMENT_METHOD = "Awaiting Disbursement Method Review";
327
328 public static final String DAPRVD_TRVLR = "Disapproved - Traveler";
329 public static final String DAPRVD_FISCAL = "Disapproved - Fiscal Officer";
330 public static final String DAPRVD_ORG = "Disapproved - Organization";
331 public static final String DAPRVD_DIV = "Disapproved - Division";
332 public static final String DAPRVD_INTL = "Disapproved - International Travel";
333 public static final String DAPRVD_SUB = "Disapproved - Sub-Fund";
334 public static final String DAPRVD_AWARD = "Disapproved - Award";
335 public static final String DAPRVD_BUDGET = "Disapproved - Budget";
336 public static final String DAPRVD_SPCL = "Disapproved - Special Request";
337 public static final String DAPRVD_SEP_DUTIES = "Disapproved - Separation Of Duties";
338 public static final String DAPRVD_DISBURSEMENT_METHOD = "Disapproved - Disbursement Method";
339 }
340
341 public static class TravelAuthorizationStatusCodeKeys extends TravelStatusCodeKeys{
342
343 public static final String AWAIT_RISK = "Awaiting Risk Management Review";
344 public static final String AWAIT_TRVL_MGR = "Awaiting Travel Manager Review";
345 public static final String DAPRVD_RISK = "Disapproved - Risk Management";
346 public static final String DAPRVD_TRVL = "Disapproved - Travel";
347
348 public static final String REIMB_HELD = "Reimbursement On Hold";
349 public static final String CLOSED = "Closed";
350 public static final String OPEN_REIMB = "Open For Reimbursement";
351 public static final String PEND_AMENDMENT = "Pending Amendment";
352 public static final String CHANGE_IN_PROCESS = "Change In Process";
353 public static final String RETIRED_VERSION = "Retired Version";
354
355 public static HashMap<String, String> getDisapprovedAppDocStatusMap() {
356 HashMap<String, String> disapprovedAppDocStatusMap;
357
358 disapprovedAppDocStatusMap = new HashMap<String, String>();
359 disapprovedAppDocStatusMap.put(AWAIT_TRVLR, DAPRVD_TRVLR);
360 disapprovedAppDocStatusMap.put(AWAIT_FISCAL, DAPRVD_FISCAL);
361 disapprovedAppDocStatusMap.put(AWAIT_ORG, DAPRVD_ORG);
362 disapprovedAppDocStatusMap.put(AWAIT_DIV, DAPRVD_DIV);
363 disapprovedAppDocStatusMap.put(AWAIT_INTL, DAPRVD_INTL);
364 disapprovedAppDocStatusMap.put(AWAIT_RISK, DAPRVD_RISK);
365 disapprovedAppDocStatusMap.put(AWAIT_SUB, DAPRVD_SUB);
366 disapprovedAppDocStatusMap.put(AWAIT_AWARD, DAPRVD_AWARD);
367 disapprovedAppDocStatusMap.put(AWAIT_BUDGET, DAPRVD_BUDGET);
368 disapprovedAppDocStatusMap.put(AWAIT_SPCL, DAPRVD_SPCL);
369 disapprovedAppDocStatusMap.put(AWAIT_TRVL_MGR, DAPRVD_TRVL);
370 disapprovedAppDocStatusMap.put(AWAIT_SEP_DUTIES, DAPRVD_SEP_DUTIES);
371 disapprovedAppDocStatusMap.put(AWAIT_DISBURSEMENT_METHOD, DAPRVD_DISBURSEMENT_METHOD);
372
373 return disapprovedAppDocStatusMap;
374 }
375 }
376 public static final String TRAVEL_ADVANCE_ACCOUNTING_LINE_TYPE_CODE = "A";
377 public static final String TRAVEL_ADVANCE_ACCOUNTING_LINE_GROUP_NAME = "advance";
378 public static final String TRAVEL_ADVANCE_CLEARING_LINE_TYPE_CODE = "B";
379 public static final String TRAVEL_ADVANCE_CREDITING_LINE_TYPE_CODE = "C";
380
381 public static final String ALL_EXPENSE_TYPE_OBJECT_CODE_TRIP_TYPE = "All";
382 public static final String ALL_EXPENSE_TYPE_OBJECT_CODE_TRAVELER_TYPE = "All";
383
384 public static final Map<String, Class> uncopyableFieldsForTravelAuthorization() {
385 Map<String, Class> returnMap = new HashMap<String, Class>();
386 returnMap.put(KFSPropertyConstants.DOCUMENT_NUMBER, null);
387 return returnMap;
388 }
389
390 public static class TravelReimbursementStatusCodeKeys extends TravelStatusCodeKeys{
391
392 public static final String DEPT_APPROVED = "Department Approved";
393 public static final String AWAIT_TRVL_ACCOUNTING = "Awaiting Travel Accounting Review";
394 public static final String AWAIT_TAX_MANAGER = "Awaiting Tax Manager Review";
395 public static final String AWAIT_TRVL_MGR = "Awaiting Travel Manager Review";
396
397 public static final String DAPRVD_TRVL_ACCOUNTING = "Disapproved - Travel Accounting";
398 public static final String DAPRVD_TAX_MANAGER = "Disapproved - Tax Manager";
399 public static final String DAPRVD_TRVL = "Disapproved - Travel";
400
401 public static HashMap<String, String> getDisapprovedAppDocStatusMap() {
402 HashMap<String, String> disapprovedAppDocStatusMap;
403
404 disapprovedAppDocStatusMap = new HashMap<String, String>();
405 disapprovedAppDocStatusMap.put(AWAIT_TRVLR, DAPRVD_TRVLR);
406 disapprovedAppDocStatusMap.put(AWAIT_FISCAL, DAPRVD_FISCAL);
407 disapprovedAppDocStatusMap.put(AWAIT_DIV, DAPRVD_DIV);
408 disapprovedAppDocStatusMap.put(AWAIT_INTL, DAPRVD_INTL);
409 disapprovedAppDocStatusMap.put(AWAIT_SUB, DAPRVD_SUB);
410 disapprovedAppDocStatusMap.put(AWAIT_AWARD, DAPRVD_AWARD);
411 disapprovedAppDocStatusMap.put(AWAIT_BUDGET, DAPRVD_BUDGET);
412 disapprovedAppDocStatusMap.put(AWAIT_SPCL, DAPRVD_SPCL);
413 disapprovedAppDocStatusMap.put(AWAIT_TAX_MANAGER, DAPRVD_TAX_MANAGER);
414 disapprovedAppDocStatusMap.put(AWAIT_TRVL_MGR, DAPRVD_TRVL);
415 disapprovedAppDocStatusMap.put(AWAIT_DISBURSEMENT_METHOD, DAPRVD_DISBURSEMENT_METHOD);
416 return disapprovedAppDocStatusMap;
417 }
418 }
419
420 public static class TravelRelocationStatusCodeKeys extends TravelReimbursementStatusCodeKeys{
421 public static final String AWAIT_RELO_MANAGER = "Awaiting Moving And Relocation Manager Review";
422 public static final String AWAIT_EXECUTIVE = "Awaiting Executive Review";
423
424 public static final String RELO_MANAGER_APPROVED = "Moving And Relocation Manager Approved";
425 public static final String DAPRVD_RELO_MANAGER = "Disapproved - Moving And Relocation Manager";
426 public static final String DAPRVD_EXECUTIVE = "Disapproved - Executive";
427
428 public static HashMap<String, String> getDisapprovedAppDocStatusMap() {
429 HashMap<String, String> disapprovedAppDocStatusMap;
430
431 disapprovedAppDocStatusMap = new HashMap<String, String>();
432 disapprovedAppDocStatusMap.put(AWAIT_TRVLR, DAPRVD_TRVLR);
433 disapprovedAppDocStatusMap.put(AWAIT_FISCAL, DAPRVD_FISCAL);
434 disapprovedAppDocStatusMap.put(AWAIT_ORG, DAPRVD_ORG);
435 disapprovedAppDocStatusMap.put(AWAIT_SUB, DAPRVD_SUB);
436 disapprovedAppDocStatusMap.put(AWAIT_AWARD, DAPRVD_AWARD);
437 disapprovedAppDocStatusMap.put(AWAIT_BUDGET, DAPRVD_BUDGET);
438 disapprovedAppDocStatusMap.put(AWAIT_EXECUTIVE, DAPRVD_EXECUTIVE);
439 disapprovedAppDocStatusMap.put(AWAIT_TAX_MANAGER, DAPRVD_TAX_MANAGER);
440 disapprovedAppDocStatusMap.put(AWAIT_SEP_DUTIES, DAPRVD_SEP_DUTIES);
441 disapprovedAppDocStatusMap.put(AWAIT_DISBURSEMENT_METHOD, DAPRVD_DISBURSEMENT_METHOD);
442 disapprovedAppDocStatusMap.put(AWAIT_RELO_MANAGER, DAPRVD_RELO_MANAGER);
443
444 return disapprovedAppDocStatusMap;
445 }
446 }
447
448 public static class EntertainmentStatusCodeKeys extends TravelReimbursementStatusCodeKeys{
449
450 public static final String AWAIT_ENT_MANAGER = "Awaiting Entertainment Manager Review";
451 public static final String ENT_MANAGER_APPROVED = "Entertainment Manager Approved";
452 public static final String DAPRVD_ENT_MANAGER = "Disapproved - Entertainment Manager";
453
454 public static HashMap<String, String> getDisapprovedAppDocStatusMap() {
455 HashMap<String, String> disapprovedAppDocStatusMap;
456
457 disapprovedAppDocStatusMap = new HashMap<String, String>();
458 disapprovedAppDocStatusMap.put(AWAIT_TRVLR, DAPRVD_TRVLR);
459 disapprovedAppDocStatusMap.put(AWAIT_FISCAL, DAPRVD_FISCAL);
460 disapprovedAppDocStatusMap.put(AWAIT_ORG, DAPRVD_ORG);
461 disapprovedAppDocStatusMap.put(AWAIT_SUB, DAPRVD_SUB);
462 disapprovedAppDocStatusMap.put(AWAIT_AWARD, DAPRVD_AWARD);
463 disapprovedAppDocStatusMap.put(AWAIT_BUDGET, DAPRVD_BUDGET);
464 disapprovedAppDocStatusMap.put(AWAIT_SPCL, DAPRVD_SPCL);
465 disapprovedAppDocStatusMap.put(AWAIT_TAX_MANAGER, DAPRVD_TAX_MANAGER);
466 disapprovedAppDocStatusMap.put(AWAIT_SEP_DUTIES, DAPRVD_SEP_DUTIES);
467 disapprovedAppDocStatusMap.put(AWAIT_DISBURSEMENT_METHOD, DAPRVD_DISBURSEMENT_METHOD);
468 disapprovedAppDocStatusMap.put(AWAIT_ENT_MANAGER, DAPRVD_ENT_MANAGER);
469
470 return disapprovedAppDocStatusMap;
471 }
472 }
473
474
475 public class Permission {
476 public static final String AMEND_TA = "Amend TA";
477 public static final String HOLD_TA = "Hold TA";
478 public static final String REMOVE_HOLD_TA = "Remove Hold TA";
479 public static final String CANCEL_TA = "Cancel TA";
480 public static final String CLOSE_TA = "Close TA";
481 public static final String RETURN_TO_FO = "Return to Fiscal Officer";
482 public static final String EDIT_TAXABLE_IND = "Edit Taxable Indicator";
483 public static final String EDIT_OWN_PROFILE = "Edit My TEM Profile";
484 public static final String EDIT_ANY_PROFILE = "Edit All TEM Profiles";
485 public static final String CREATE_ANY_PROFILE = "Create All TEM Profiles";
486
487
488 public static final String HIDE_BUTTONS = "Hide Buttons TA";
489 }
490
491 public static final String TRVL_SPECHAND_TAB_ERRORS = "TravelPaymentSpecialHandlingErrors,document.travelPayment.specialHandlingPersonName,document.travelPayment.specialHandlingCityName,document.travelPayment.specialHandlingLine1Addr,document.travelPayment.specialHandlingStateCode," + "document.travelPayment.specialHandlingLine2Addr,document.travelPayment.specialHandlingZipCode,document.travelPayment.specialHandlingCountryName";
492 public static final String MAPPING_TRAVEL_PAYMENT_CLOSE = "travelPaymentClose";
493 public static final String TRAVEL_AUTHORIZATION_ACTION_NAME = "temTravelAuthorization";
494 public static final String TRAVEL_REIMBURESMENT_ACTION_NAME = "temTravelReimbursement";
495 public static final String TRAVEL_RELOCATION_ACTION_NAME = "temTravelRelocation";
496 public static final String ENTERTAINMENT_ACTION_NAME = "temTravelEntertainment";
497
498 public static final String DATE_CHANGED_MESSAGE = "The trip begin/end dates have been changed from %s - %s to %s - %s by Travel Reimbursement Doc # %s";
499 public static final String TA_CANCELLED_MESSAGE = "Travel Authorization cancelled.";
500
501 public static final String EMP_TRAVELER_TYP_CD = "EMP";
502 public static final String NONEMP_TRAVELER_TYP_CD = "NON";
503 public static final String LODGING = "LODGING";
504 public static final String YES = "Y";
505 public static final String MILEAGE = "MILEAGE";
506 public static final String PER_DIEM = "PER_DIEM";
507 public static final String DOLLAR_SIGN = "$";
508
509 public static final String TEM_PROFILE_DOCUMENT = "TTP";
510 public static final String TEM_PROFILE_ARRANGER_DOCUMENT = "TTPA";
511
512 public static final String INT_PHONE_PATTERN = "\\+?[0-9]{1}([0-9.]*|\\-|\\s)*[0-9]((\\s[x][0-9]+)*)";
513 public static final String US_PHONE_PATTERN = "[0-9]{3}\\-[0-9]{3}\\-[0-9]{4}((\\s[x][0-9]+)*)";
514
515 public static final int CUSTOM_PRIMARY_DESTINATION_ID = Integer.MAX_VALUE;
516
517 public static final int QUADRANT_PERCENT_VALUE = 25;
518
519 public static final String TEM_PROFILE_SEQ_NAME = "TEM_PROFILE_ID_SEQ";
520 public static final String TEM_PROFILE_ARRANGER_SEQ_NAME = "TEM_PROFILE_ARRANGER_ID_SEQ";
521 public static final String TEM_PROFILE_ACCOUNT_SEQ_NAME = "TEM_PROFILE_ACCOUNT_ID_SEQ";
522 public static final String TEM_TRAVELER_DETAIL_SEQ_NAME = "TEM_TRAVELER_DTL_ID_SEQ";
523 public static final String TEM_TRAVELER_DETAIL_EM_CONTACT_SEQ_NAME = "TEM_EM_CONT_ID_SEQ";
524 public static final String TEM_TRAVELER_DETAIL_ACCOUNT_SEQ_NAME = "TEM_TRVLR_DTL_ACCOUNT_ID_SEQ";
525 public static final String TEM_ACTUAL_EXPENSE_SEQ_NAME = "TEM_TRVL_EXP_ID_SEQ";
526 public static final String TEM_CORP_CARD_PSEUDO_NUM_SEQ_NAME = "TEM_CORP_CARD_PSEUDO_NUM_SEQ";
527
528 public static final String TEM_PROFILE_HOME_DEPARTMENT = "homeDepartment";
529 public static final String TEM_PROFILE_HOME_DEPT_ORG_CODE = "homeDeptOrgCode";
530 public static final String TEM_PROFILE_HOME_DEPT_COA_CODE = "homeDeptChartOfAccountsCode";
531
532 public static final String TEM_AGENCY_DATA_SEARCH_ACCOUNT = "searchAccountNumber";
533 public static final String TEM_AGENCY_DATA_SEARCH_SUB_ACCOUNT = "searchSubAccountNumber";
534 public static final String TEM_AGENCY_DATA_SEARCH_CHART_CODE = "searchChartOfAccountsCode";
535
536 public static enum AgencyAuditSection{
537 airline, lodging, rentalcar;
538 }
539
540 public static final class AttachmentTypeCodes {
541 public static final String ATTACHMENT_TYPE_RECEIPT = "Receipt";
542 public static final String ATTACHMENT_TYPE_W_9 = "W-9";
543 public static final String ATTACHMENT_TYPE_ADA = "ADA";
544 public static final String ATTACHMENT_TYPE_W8_BEN = "W8-BEN";
545 public static final String ATTACHMENT_TYPE_ENT_HOST_CERT = "Entertainment Host Certification";
546 public static final String ATTACHMENT_TYPE_ATTENDEE_LIST = "Attendee List";
547 public static final String NON_EMPLOYEE_FORM = "Non Employee Form";
548 }
549
550 public static final class Attendee {
551 public static final String ATTENDEES_GROUP_LABEL_NAME = "Attendees";
552 }
553
554 public static final String TEM_ORGANIZATION_PROFILE_ARRANGER = "TEM Organization Profile Arranger";
555 public static final String TEM_ASSIGNED_PROFILE_ARRANGER = "TEM Assigned Profile Arranger";
556 public static final String TEM_PROFILE_ADMIN = "TEM Profile Administrator";
557 public static final String TRAVEL_MANAGER = "Travel Manager";
558 public static final String RISK_MANAGEMENT = "Risk Management";
559
560 public class PerDiemParameter {
561 public static final String IN_STATE_TRIP_TYPE_CODE_PARAM_NAME = "IN_STATE_TRIP_TYPE_CODE";
562 public static final String OUT_STATE_TRIP_TYPE_CODE_PARAM_NAME = "OUT_OF_STATE_TRIP_TYPE_CODE";
563 public static final String INTERNATIONAL_TRIP_TYPE_CODE_PARAM_NAME = "INTERNATIONAL_TRIP_TYPE_CODE";
564 public static final String INSTITUTION_STATE_PARAM_NAME = "INSTITUTION_STATE";
565 public static final String OCONUS_MEAL_BREAKDOWN_PARAM_NAME = "OCONUS_MEAL_BREAKDOWN";
566 public static final String CONUS_MEAL_BREAKDOWN = "CONUS_MEAL_BREAKDOWN";
567 public static final String REJECT_FILE_IND = "REJECT_FILE_IND";
568 public static final String BYPASS_STATE_OR_COUNTRY_CODES = "BYPASS_STATE_OR_COUNTRY_CODES";
569 public static final String DEFAULT_EFFECTIVE_TO_DATE = "DEFAULT_EFFECTIVE_TO_DATE";
570 }
571
572 public static final class HostedMeals {
573 public static final String HOSTED_DINNER = "dinner";
574 public static final String HOSTED_LUNCH = "lunch";
575 public static final String HOSTED_BREAKFAST = "breakfast";
576 }
577
578 public static final class ExpenseTypes {
579 public static final String HOSTED_DINNER = "HD";
580 public static final String HOSTED_LUNCH = "HL";
581 public static final String HOSTED_BREAKFAST = "HB";
582 public static final String LODGING = "L";
583 public static final String AIRFARE = "A";
584 public static final String RENTAL_CAR = "R";
585 public static final String PREPAID_AIRFARE = "PA";
586 public static final String MILEAGE = "MM";
587 public static final String OTHER = "O";
588 }
589
590 public enum MEAL_CODE {
591 BREAKFAST("B"), LUNCH("L"), DINNER("D"), INCIDENTALS("I");
592
593 public String mealCode;
594
595 private MEAL_CODE(String mealCode) {
596 this.mealCode = mealCode;
597 }
598 }
599
600 public static final String PER_DIEM_INPUT_FILE_TYPE_INDENTIFIER = "perDiemInputFileType";
601 public static final String PER_DIEM_XML_INPUT_FILE_TYPE_INDENTIFIER = "perDiemXmlInputFileType";
602 public static final String AGENCY_DATA_XML_INPUT_FILE_TYPE_INDENTIFIER = "agencyDataXmlInputFileType";
603 public static final String CREDIT_CARD_DATA_XML_INPUT_FILE_TYPE_INDENTIFIER = "creditCardDataXmlInputFileType";
604
605 public static final String FILE_NAME_PART_DELIMITER = "_";
606
607 public static final String DONE_FILE_SUFFIX = ".done";
608 public final static String TEXT_FILE_SUFFIX = ".txt";
609 public final static String XML_FILE_SUFFIX = ".xml";
610
611 public static final String DATE_FIELD_SEPARATOR = "/";
612 public static final String DATE_FORMAT_STRING = "MM/dd/yyyy";
613 public static final SimpleDateFormat SIMPLE_DATE_FORMAT = new SimpleDateFormat(DATE_FORMAT_STRING);
614
615 public static final String CUSTOMER_TRAVLER_TYPE_CODE = "Traveler";
616 public static final String CUSTOMER_PRIMARY_ADDRESS_TYPE_CODE = "P";
617
618 public static final Integer DEFAULT_NOTIFICATION_DAYS = 120;
619 public static final Integer DEFAULT_DUPLICATE_TRIP_DATE_RANGE_DAYS = 3;
620
621 public class TaxRamificationParameter{
622 public static final String NOTIFICATION_DAYS_PARAM_NAME = "NOTIFICATION_DAYS";
623 public static final String NOTIFICATION_TEXT_PARAM_NAME = "NOTIFICATION_TEXT";
624 public static final String NOTIFICATION_SUBJECT_PARAM_NAME = "NOTIFICATION_SUBJECT";
625 public static final String SEND_FYI_TO_FISCAL_OFFICER_IND = "SEND_FYI_TO_FISCAL_OFFICER_IND";
626 }
627
628
629 public static final String DOCUMENT_NUMBER = "Document Number";
630
631
632 public static final String DELINQUENT_STOP = "S";
633 public static final String DELINQUENT_WARN = "W";
634
635
636 public static final String SEP_OF_DUTIES_FO = "F";
637 public static final String SEP_OF_DUTIES_DR = "D";
638
639
640 public static final String EXPENSE_IMPORTED = "I";
641 public static final String EXPENSE_ACTUAL = "A";
642
643 public static final String TRAVEL_TYPE_CTS = "CTS";
644 public static final String TRAVEL_TYPE_CORP = "CORP";
645 public static final String ACTUAL_EXPENSE = "OUT OF POCKET";
646 public static final String ENCUMBRANCE = "ENCUMBRANCE";
647 public static final String ADVANCE = "ADVANCE";
648
649
650 public static final String ENCUMBRANCE_PREFIX = "Estimated ";
651 public static final String PER_DIEM_EXPENSES_LABEL = "Per Diem Expenses";
652 public static final String ACTUAL_EXPENSES_LABEL = "Actual Expenses";
653 public static final String GENERAL_EXPENSES_LABEL = "Expenses";
654
655 public static final String ACCOUNTING_LINE_INDEX = "-1";
656 public static final String DIST_ACCOUNTING_LINE_INDEX = "-2";
657
658 public static final String UNSELECT_ALL_INDEX = "1";
659 public static final String SELECT_ALL_INDEX = "0";
660
661 public static final String MILEAGE_EXPENSE = "MM";
662
663 public static final String DISBURSEMENT_VOUCHER_DOCTYPE = "DV";
664 public static final String REQUISITION_DOCTYPE = "REQS";
665
666 public static final String ASSIGN_ACCOUNTS_DISABLED_MESSAGE = "All amounts have been assigned accounts.";
667
668 public static final class AgencyMatchProcessParameter {
669 public static final String AGENCY_MATCH_DTL_TYPE = "AgencyMatchProcess";
670 public static final String TRAVEL_CREDIT_CARD_AIRFARE_OBJECT_CODE = "TRAVEL_CREDIT_CARD_AIRFARE_OBJECT_CODE";
671 public static final String TRAVEL_CREDIT_CARD_RENTAL_CAR_OBJECT_CODE = "TRAVEL_CREDIT_CARD_RENTAL_CAR_OBJECT_CODE";
672 public static final String TRAVEL_CREDIT_CARD_LODGING_OBJECT_CODE = "TRAVEL_CREDIT_CARD_LODGING_OBJECT_CODE";
673 public static final String TRAVEL_CREDIT_CARD_CLEARING_CHART = "TRAVEL_CREDIT_CARD_CLEARING_CHART";
674 public static final String TRAVEL_CREDIT_CARD_CLEARING_ACCOUNT = "TRAVEL_CREDIT_CARD_CLEARING_ACCOUNT";
675 public static final String TRAVEL_CREDIT_CARD_CLEARING_OBJECT_CODE = "TRAVEL_CREDIT_CARD_CLEARING_OBJECT_CODE";
676 }
677
678 public static final class TemRoleNames {
679 public static final String SPECIAL_REQUEST_REVIEWER = "Special Request Reviewer";
680 public static final String INTERNATIONAL_TRAVEL_REVIEWER = "International Travel Reviewer";
681 public static final String RISK_MANAGEMENT = "Risk Management";
682 public static final String ACCOUNTING_REVIEWER = "Accounting Reviewer";
683 public static final String DIVISION_REVIEWER = "Division Reviewer";
684 public static final String CONTACT_REVIEWER = "Contact Reviewer";
685 public static final String ENTERTAINMENT_MANAGER = "Entertainment Manager";
686 public static final String MOVING_AND_RELOCATION_MANAGER = "Moving And Relocation Manager";
687 public static final String EXECUTIVE_APPROVER = "Executive Approver";
688 public static final String SEPARATION_OF_DUTIES_REVIEWER = "Separation Of Duties Reviewer";
689 public static final String TRAVELER = "Traveler";
690 public static final String TEM_PROFILE = "TemProfile";
691 public static final String TEM_PROFILE_ADMINISTRATOR = "TEM Profile Administrator";
692 public static final String TEM_ORGANIZATION_PROFILE_ARRANGER = "TEM Organization Profile Arranger";
693 public static final String TEM_ASSIGNED_PROFILE_ARRANGER = "TEM Assigned Profile Arranger";
694
695 }
696
697 public static class AgencyStagingDataErrorCodes {
698 public static final String AGENCY_NO_ERROR = "OK";
699 public static final String AGENCY_INVALID_TRAVELER = "TRAV";
700 public static final String AGENCY_INVALID_TRIPID = "TRIP";
701 public static final String AGENCY_INVALID_ACCOUNT = "ACT";
702 public static final String AGENCY_INVALID_SUBACCOUNT = "SACT";
703 public static final String AGENCY_INVALID_PROJECT = "PROJ";
704 public static final String AGENCY_INVALID_OBJECT = "OBJ";
705 public static final String AGENCY_INVALID_SUBOBJECT = "SOBJ";
706 public static final String AGENCY_MOVED_TO_HISTORICAL = "HIS";
707 public static final String AGENCY_INVALID_CC_AGENCY = "CCA";
708 public static final String AGENCY_REQUIRED_FIELDS = "REQ";
709 public static final String AGENCY_DUPLICATE_DATA = "DUP";
710 public static final String AGENCY_INVALID_EXPENSE_TYPE_OBJECT_CODE = "EXP";
711 public static final String AGENCY_INVALID_DI_CD = "DI";
712 }
713
714 public static class AgencyStagingDataValidation {
715 public static final String AGENCY_DATA_VALIDATION_DTL = "AgencyDataValidation";
716 public static final String VALIDATE_ACCOUNT = "Account";
717 public static final String VALIDATE_SUBACCOUNT = "Sub-Account";
718 }
719
720 public static class CreditCardStagingDataErrorCodes {
721 public static final String CREDIT_CARD_NO_ERROR = "OK";
722 public static final String CREDIT_CARD_INVALID_TRAVELER = "TRAV";
723 public static final String CREDIT_CARD_INVALID_CARD = "CRDC";
724 public static final String CREDIT_CARD_MOVED_TO_HISTORICAL = "HIS";
725 public static final String CREDIT_CARD_INVALID_CC_AGENCY = "CCA";
726 public static final String CREDIT_CARD_INVALID_EXPENSE_TYPE_CODE = "ETC";
727 }
728
729 public static class ExpenseImportTypes {
730 public static final String IMPORT_BY_TRIP = "TRP";
731 public static final String IMPORT_BY_TRAVELLER = "TRV";
732 }
733
734 public enum ExpenseImport {
735 trip(ExpenseImportTypes.IMPORT_BY_TRIP),
736 traveler(ExpenseImportTypes.IMPORT_BY_TRAVELLER);
737
738 public String code;
739
740 private ExpenseImport(String code) {
741 this.code = code;
742 }
743
744 private static final Map<String, ExpenseImport> lookup = new LinkedHashMap<String, ExpenseImport>();
745
746 static {
747 for (ExpenseImport type : EnumSet.allOf(ExpenseImport.class)) {
748 lookup.put(type.code, type);
749 }
750 }
751
752
753
754
755
756
757
758 public static ExpenseImport getExpenseImportByCode(String code){
759 return lookup.get(code);
760 }
761 }
762
763 public static class ReconciledCodes {
764 public static final String RECONCILED = "R";
765 public static final String UNRECONCILED = "N";
766 public static final String CLEARED = "C";
767 }
768
769 public static final Map<String, String> reconciledCodes() {
770 Map<String, String> returnMap = new HashMap<String, String>();
771 returnMap.put(ReconciledCodes.UNRECONCILED, "Unreconciled");
772 returnMap.put(ReconciledCodes.RECONCILED,"Reconciled");
773 returnMap.put(ReconciledCodes.CLEARED,"Cleared");
774 return returnMap;
775 }
776
777 public static class TravelCustomSearchLinks {
778 public static final String NEW_REIMBURSEMENT = "New Reimbursement";
779 public static final String NEW_ENTERTAINMENT = "New Entertainment";
780 public static final String NEW_RELOCATION = "New Relocation";
781 public static final String VENDOR_PAYMENT = "Vendor Payment";
782 public static final String REQUISITION = "Requisition";
783 public static final String AGENCY_SITES = "Agency Sites";
784 public static final String DV_URL = "temDV.do?methodToCall=docHandler&command=initiate&docTypeName=DV&temDocID=";
785 }
786
787 public static class TemTripTypes {
788 public static final String DOMESTIC = "DOM";
789 public static final String INTERNATIONAL = "INT";
790 public static final String IN_STATE = "IN";
791 public static final String OUT_OF_STATE = "OUT";
792 }
793
794 public static class TemExpenseTypes {
795 public static final String PER_DIEM = "perDiemService";
796 public static final String ACTUAL = "actualExpenseService";
797 public static final String IMPORTED_CTS = "importedCTSExpenseService";
798 public static final String IMPORTED_CORP_CARD = "importedCorporateCardExpenseService";
799 }
800
801 public enum ExpenseType {
802 actual(TemExpenseTypes.ACTUAL),
803 importedCTS(TemExpenseTypes.IMPORTED_CTS),
804 importedCorpCard(TemExpenseTypes.IMPORTED_CORP_CARD),
805 perDiem(TemExpenseTypes.PER_DIEM);
806
807 public String service;
808
809 private ExpenseType(String service) {
810 this.service= service;
811 }
812 }
813
814 public enum PerDiemType {
815 mileage("Mileage"),
816 meals("Meals"),
817 lodging("Lodging"),
818 incidentals("Incidentals"),
819 breakfast("Breakfast"),
820 lunch("Lunch"),
821 dinner("Dinner");
822
823 public String label;
824
825 private PerDiemType(String label) {
826 this.label = label;
827 }
828 }
829
830 public static final String CONUS = "CONUS";
831 public static final String OTHER_PRIMARY_DESTINATION = "[OTHER]";
832 public static final String ALL_STATES = "ALL";
833
834 public static final String ALL_DOCUMENT = "ALL";
835
836 public static final String IMPORTED_FLAG = "-IMP";
837
838 public static final String TEM_IMPORTED_SYS_ORIG_CD = KFSConstants.ORIGIN_CODE_KUALI;
839 public static final String TEM_IMPORTED_GLPE_DESC = "TEM Imported Expense Re-Distribution";
840
841 public static final String TEM_PROFILE_RELO_ENT = "Requester";
842 public static final String TEM_PROFILE_TRAVEL = "Traveler";
843
844 public static final Map<String, String> documentProfileNames() {
845 Map<String, String> returnMap = new HashMap<String, String>();
846 returnMap.put(TravelDocTypes.TRAVEL_REIMBURSEMENT_DOCUMENT, TEM_PROFILE_TRAVEL);
847 returnMap.put(TravelDocTypes.TRAVEL_AUTHORIZATION_DOCUMENT, TEM_PROFILE_TRAVEL);
848 returnMap.put(TravelDocTypes.TRAVEL_AUTHORIZATION_CLOSE_DOCUMENT, TEM_PROFILE_TRAVEL);
849 returnMap.put(TravelDocTypes.TRAVEL_AUTHORIZATION_DOCUMENT, TEM_PROFILE_TRAVEL);
850 returnMap.put(TravelDocTypes.TRAVEL_ENTERTAINMENT_DOCUMENT, TEM_PROFILE_RELO_ENT);
851 returnMap.put(TravelDocTypes.TRAVEL_RELOCATION_DOCUMENT, TEM_PROFILE_RELO_ENT);
852 return returnMap;
853 }
854
855 public static final String INQUIRY_URL = "inquiry.do";
856 public static final String VIEW = "view";
857
858 public static final String SOURCE_ANCHOR = "sourceAnchor";
859 public static final String DISTRIBUTION_ANCHOR = "distributionAnchor";
860 public static final String SUMMARY_ANCHOR = "summaryAnchor";
861
862 public static final String PRIMARY_DESTINATION_CLASS_NAME = "PrimaryDestination";
863
864 public enum NotificationPreference {
865 TA_ON_FINAL(TravelAuthorizationDocument.class, "FINAL", "TA_ON_FINAL"),
866 TA_ON_CHANGE(TravelAuthorizationDocument.class, "CHANGE", "TA_ON_CHANGE"),
867 TER_ON_FINAL(TemParameterConstants.TEM_DOCUMENT.class, "FINAL", "TER_ON_FINAL"),
868 TER_ON_CHANGE(TemParameterConstants.TEM_DOCUMENT.class, "CHANGE", "TER_ON_CHANGE"),
869 NONE(TemParameterConstants.TEM_DOCUMENT.class, "", "");
870
871 protected String parameterEventCode;
872 protected Class<?> parameterComponentClass;
873 protected String label;
874
875 private NotificationPreference(Class<?> parameterComponentClass, String parameterEventCode, String label) {
876 this.parameterEventCode = parameterEventCode;
877 this.parameterComponentClass = parameterComponentClass;
878 this.label = label;
879 }
880
881 public String getParameterEventCode() {
882 return this.parameterEventCode;
883 }
884
885 public Class<?> getParameterComponentClass() {
886 return parameterComponentClass;
887 }
888
889 public String getLabel() {
890 return label;
891 }
892 }
893
894 public static final String STATUS_CHANGE_DTO = "statusChangeDTO";
895 public static final String CAMPUS_TRAVEL_EMAIL_ADDRESS = "campusTravelEmailAddress";
896 public static final String NOTIFICATION_PREFERENCE = "notificationPreference";
897
898 public class ImportedExpenseParameter{
899 public static final String NOTIFICATION_SUBJECT_PARAM_NAME = "NOTIFICATION_SUBJECT";
900 public static final String NOTIFICATION_TEXT_BY_TRP_PARAM_NAME = "NOTIFICATION_TEXT_BY_TRP";
901 public static final String NOTIFICATION_TEXT_BY_TRV_PARAM_NAME = "NOTIFICATION_TEXT_BY_TRV";
902 }
903
904 public static final String TRAVEL_EXPENSES_KEY = "travelExpenses";
905 public static final String TRAVELER_PROFILE_KEY = "travelerProfile";
906 public static final String TRAVEL_REIMBURSEMENT_PRETRIP_DESCRIPTION_TEXT = "PT:";
907
908 public static final class ExpenseTypeReimbursementCodes {
909 public static final String ALL = "A";
910 public static final String NON_REIMBURSABLE = "N";
911 public static final String REIMBURSABLE = "R";
912 }
913
914 public static class TravelEditMode extends TransactionalEditMode {
915 public static final String FULL_ENTRY = "fullEntry";
916 public static final String ADVANCE_PAYMENT_ENTRY = "advancePaymentEntry";
917 public static final String ADVANCE_POLICY_ENTRY = "advancePolicyEntry";
918 public static final String CLEAR_ADVANCE_MODE = "clearAdvanceMode";
919 public static final String TRAVELER_ENTRY = "travelerEntry";
920 }
921
922 public static final String GENERATE_CREDIT_CARD_NUMBER_IND = "GENERATE_CREDIT_CARD_NUMBER_IND";
923 public static final String CORPORATE_CARD_CODE = "CORPORATE_CARD_CODE";
924 public static final String CENTRAL_TRAVEL_SYSTEM_CARD_CODE = "CENTRAL_TRAVEL_SYSTEM_CARD_CODE";
925
926
927
928
929 public static final String CARD_EXISTS_QUESTION = "Card Exists Question";
930
931 public static class EditModes {
932 public static final String CHECK_AMOUNT_ENTRY = "checkAmountEntry";
933 public static final String EXPENSE_TAXABLE_MODE = "expenseTaxableEntry";
934 public static final String BLANKET_TRAVEL_ENTRY = "blanketTravelEntry";
935 public static final String BLANKET_TRAVEL_VIEW = "blanketTravelView";
936 public static final String EXPENSE_LIMIT_ENTRY = "expenseLimitEntry";
937 public static final String CONVERSION_RATE_ENTRY = "conversionRateEntry";
938 public static final String REQUESTER_LOOKUP_MODE = "requesterLooupMode";
939 }
940
941 public static class TravelAuthorizationActions {
942 public static final String CAN_AMEND = "canAmend";
943 public static final String CAN_HOLD = "canHold";
944 public static final String CAN_REMOVE_HOLD = "canRemoveHold";
945 public static final String CAN_CLOSE_TA = "canCloseTA";
946 public static final String CAN_CANCEL_TA = "canCancelTA";
947 public static final String CAN_NEW_ENTERTAINMENT = "canNewEntertainment";
948 public static final String CAN_NEW_RELOCATION = "canNewRelocation";
949 public static final String CAN_NEW_REIMBURSEMENT = "canNewReimbursement";
950 public static final String CAN_PAY_VENDOR = "canPayVendor";
951 }
952
953 public static final String TRAVEL_PAYMENT_TAB_ERRORS = "TravelPaymentErrors,document.travelPayment.checkTotalAmount,document.travelPayment.dueDate,document.travelPayment.alienPaymentCode,document.travelPayment.payeeEmployeeCode,document.travelPayment.attachmentCode,document.travelPayment.specialHandlingCode,document.travelPayment.payeeW9CompleteCode,document.travelPayment.paymentMethodCode,document.travelPayment.paymentDocumentationLocationCode,document.travelPayment.checkStubText";
954 public static final String ADVANCE_TRAVEL_PAYMENT_TAB_ERRORS = "TravelPaymentErrors,document.advanceTravelPayment.checkTotalAmount,document.advanceTravelPayment.dueDate,document.advanceTravelPayment.alienPaymentCode,document.advanceTravelPayment.payeeEmployeeCode,document.advanceTravelPayment.attachmentCode,document.advanceTravelPayment.specialHandlingCode,document.advanceTravelPayment.payeeW9CompleteCode,document.advanceTravelPayment.paymentMethodCode,document.advanceTravelPayment.paymentDocumentationLocationCode,document.travelPayment.checkStubText";
955 public static final String ADVANCE_TRVL_SPECHAND_TAB_ERRORS = "TravelPaymentSpecialHandlingErrors,document.advanceTravelPayment.specialHandlingPersonName,document.advanceTravelPayment.specialHandlingCityName,document.advanceTravelPayment.specialHandlingLine1Addr,document.advanceTravelPayment.specialHandlingStateCode,document.advanceTravelPayment.specialHandlingLine2Addr,document.advanceTravelPayment.specialHandlingZipCode,document.advanceTravelPayment.specialHandlingCountryName";
956 public static final String GENERAL_TRAVEL_PAYMENT_TAB_KEY = "TravelPaymentErrors";
957
958 public enum PermissionAttributeValue {
959 ADVANCE_ACCOUNTING_LINES("advanceAccountingLines");
960
961 public final String value;
962
963 private PermissionAttributeValue(String value) {
964 this.value = value;
965 }
966 }
967
968 public final static String AUTHORIZATION_PAYMENT_SOURCE_EXTRACTION_SERVICE = "travelAuthorizationsExtractService";
969 public final static String REIMBURSABLE_PAYMENT_SOURCE_EXTRACTION_SERVICE = "travelReimbursementsExtractService";
970
971 public static class TabTitles {
972 public static final String EMERGENCY_CONTACT_INFORMATION_TAB_TITLE = "Emergency Contact Information";
973 }
974
975
976
977
978 public enum ExpenseTypeMetaCategory {
979 AIRFARE("A"),
980 BREAKFAST("B"),
981 LUNCH("J"),
982 DINNER("D"),
983 INCIDENTALS("I"),
984 LODGING("L"),
985 LODGING_ALLOWANCE("W"),
986 MILEAGE("M"),
987 RENTAL_CAR("R");
988
989 private String code;
990
991 ExpenseTypeMetaCategory(String code) {
992 this.code = code;
993 }
994
995 public String getCode() {
996 return this.code;
997 }
998
999 public String getName() {
1000 return WordUtils.capitalizeFully(StringUtils.replace(this.toString(), "_", " "));
1001 }
1002
1003
1004
1005
1006
1007
1008 public static ExpenseTypeMetaCategory forCode(String c) {
1009 for (ExpenseTypeMetaCategory category : ExpenseTypeMetaCategory.values()) {
1010 if (StringUtils.equals(category.getCode(), c)) {
1011 return category;
1012 }
1013 }
1014 return null;
1015 }
1016 }
1017
1018 public enum ErrorTypeCode {
1019
1020 HARDSTOP("1"),
1021 WARNING("2");
1022 private String code;
1023
1024 ErrorTypeCode(String code) {
1025 this.code = code;
1026 }
1027
1028 public String getCode() {
1029 return this.code;
1030 }
1031
1032 public String getName() {
1033 return StringUtils.capitalize(this.toString().toLowerCase());
1034 }
1035
1036
1037
1038
1039
1040 public static ErrorTypeCode forCode(String c) {
1041 for (ErrorTypeCode errorType : ErrorTypeCode.values()) {
1042 if (StringUtils.equals(errorType.getCode(), c)) {
1043 return errorType;
1044 }
1045 }
1046 return null;
1047 }
1048
1049 }
1050
1051
1052
1053
1054 public enum GroupTravelerType {
1055 EMPLOYEE("EMP"),
1056 STUDENT("STU"),
1057 CUSTOMER("CST"),
1058 OTHER("OTH");
1059
1060 private String code;
1061
1062 GroupTravelerType(String code) {
1063 this.code = code;
1064 }
1065
1066 public String getCode() {
1067 return this.code;
1068 }
1069
1070 public String getName() {
1071 return StringUtils.capitalize(this.toString().toLowerCase());
1072 }
1073
1074
1075
1076
1077
1078
1079 public static GroupTravelerType forCode(String c) {
1080 for (GroupTravelerType travelerType : GroupTravelerType.values()) {
1081 if (StringUtils.equals(travelerType.getCode(), c)) {
1082 return travelerType;
1083 }
1084 }
1085 return null;
1086 }
1087 }
1088 }