/* * The Kuali Financial System, a comprehensive financial management system for higher education. * * Copyright 2005-2014 The Kuali Foundation * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as * published by the Free Software Foundation, either version 3 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ package org.kuali.kfs.module.tem; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.EnumSet; import java.util.HashMap; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.WordUtils; import org.kuali.kfs.module.tem.document.TravelAuthorizationDocument; import org.kuali.kfs.sys.KFSConstants; import org.kuali.kfs.sys.KFSPropertyConstants; import org.kuali.kfs.sys.KfsAuthorizationConstants.TransactionalEditMode; public class TemConstants { public static final String PRE_FILLED_DESCRIPTION = "(Description will be filled upon submit)"; public static final String PRIMARY_DESTINATION_LOOKUPABLE = "primaryDestinationLookupable"; public static final String PER_DIEM_LOOKUPABLE = "perDiemLookupable"; public static final String KIM_PERSON_LOOKUPABLE = "kimPersonLookupable"; public static final String TEM_PROFILE_LOOKUPABLE = "temProfileLookupable"; public static final String TRAVELER_PROFILE_DOC_LOOKUPABLE = "travelerProfileDocLookupable"; public static final String GROUP_TRAVELER_FOR_LOOKUP_LOOKUPABLE = "groupTravelerForLookupLookupable"; public static final String NAMESPACE = "KFS-TEM"; public static final String PARAM_NAMESPACE = NAMESPACE; public static final String CERTIFICATION_STATEMENT_ATTRIBUTE = "certificationStatement"; public static final String CAN_CERTIFY_ATTRIBUTE = "certificationStatement"; public static final String EMPLOYEE_TEST_ATTRIBUTE = "isEmployee"; public static final String ENABLE_PRIMARY_DESTINATION_ATTRIBUTE = "enablePrimaryDestination"; public static final String ENABLE_PER_DIEM_LOOKUP_LINKS_ATTRIBUTE = "enablePerDiemLookupLinks"; public static final String REMAINING_DISTRIBUTION_ATTRIBUTE = "remainingDistribution"; public static final String DISPLAY_EMERGENCY_CONTACT_TAB = "displayEmergencyContactTab"; public static final String AR_INVOICE_DOC_TYPE_NAME = "INV"; public static final String COVERSHEET_FILENAME_FORMAT = "%s_cover_sheet.pdf"; public static final String EXPENSE_SUMMARY_REPORT_TITLE = "%s_Expense_Summary"; public static final String SUMMARY_BY_DAY_TITLE = "%s_Summary_By_Day"; public static final String ENTERTAINMENT_CERTIFICATION_REPORT_TITLE = "_Entertainment_Certification"; public static final String NON_EMPLOYEE_CERTIFICATION_REPORT_TITLE = "_Non_Employee_Certification"; public static final String SHOW_REPORTS_ATTRIBUTE = "showReports"; public static final String ALLOW_TRAVELER_ADDRESS_CHANGE_ATTRIBUTE = "allowTravelerAddressChange"; public static final String TRAVEL_ARRANGER_TEST_ATTRIBUTE = "travelArranger"; public static final String TRAVEL_MANAGER_TEST_ATTRIBUTE = "travelManager"; public static final String FISCAL_OFFICER_TEST_ATTRIBUTE = "fiscalOfficer"; public static final String DELINQUENT_TEST_ATTRIBUTE = "delinquent"; public static final String TEM_DOCUMENT_IDENTIFER_NOT_AVAILABLE = "Not Available"; public static final String AMENDMENT_TA_QUESTION = "AmendmentTa"; public static final String CLOSE_TA_QUESTION = "CloseTa"; public static final String CONFIRM_AMENDMENT_QUESTION = "ConfirmAmendment"; public static final String CONFIRM_CLOSE_QUESTION = "ConfirmClose"; public static final String AMENDMENT_NOTE_PREFIX = "Note entered while amending a Travel Authorization : "; public static final String HOLD_TA_QUESTION = "HoldTa"; public static final String CONFIRM_HOLD_QUESTION = "ConfirmHold"; public static final String HOLD_NOTE_PREFIX = "Note entered while placing Travel Authorization on hold : "; public static final String REMOVE_HOLD_TA_QUESTION = "RemoveHoldTa"; public static final String CONFIRM_REMOVE_HOLD_QUESTION = "ConfirmRemoveHold"; public static final String CONFIRM_CLOSE_QUESTION_TEXT = "When you close this Travel Authorization, remaining encumbrance will be liquidated."; public static final String CANCEL_TA_QUESTION = "CancelTa"; public static final String CONFIRM_CANCEL_QUESTION = "ConfirmCancel"; public static final String CONFIRM_CANCEL_QUESTION_TEXT = "When you cancel this Travel Authorization, remaining encumbrance will be liquidated."; public static final String REMOVE_HOLD_NOTE_PREFIX = "Note entered while removing a hold on Travel Authorization : "; public static final String RETURN_TO_FO_QUESTION = "ReturnToFiscalOfficer"; public static final String RETURN_TO_FO_NOTE_PREFIX = "Note entered while returning Travel Reimbursement to fiscal officer : "; public static final String AMEND_NOTE_PREFIX = "Note entered while amending a Travel Authorization : "; public static final String AMEND_NOTE_SUFFIX = "(Previous Document Id is {0})"; public static final String CANCEL_NOTE_PREFIX = "Note entered while canceling a Travel Authorization : "; public static final String ORIGIN_CODE = "01"; public static final String QUESTION_CONFIRMATION = "temSingleConfirmationQuestion"; public static final String REMOVE_HOLD_TA_TEXT = "Remove the Hold on"; public static final String HOLD_TA_TEXT = "Hold"; public static final String AMEND_TA_TEXT = "Amend"; public static final String CLOSE_TA_TEXT = "Close"; public static final String RETURN_TO_FO_TEXT = "Return"; public static final String CANCEL_TA_TEXT = "Cancel"; public static final String NEW_TEM_PROFILE_DESCRIPTION_PREFIX = "New Traveler Profile for "; public static final String INITIATOR_RESPONSIBILITY = "Initiator"; // ////////////////////////////////////////////////////////////////////////////////////// // Attributes used for the Reimbursement Expenses Totals // // ////////////////////////////////////////////////////////////////////////////////////// public static final String TOTAL_EXPENSES_ATTRIBUTE = "totalExpenses"; public static final String PER_DIEM_ADJUSTMENT_ATTRIBUTE = "lessManualPerDiemAdjustment"; public static final String NON_REIMBURSABLE_ATTRIBUTE = "nonReimbursable"; public static final String ELIGIBLE_FOR_REIMB_ATTRIBUTE = "eligibleForReimbursement"; public static final String TOTAL_REIMBURSABLE_ATTRIBUTE = "totalReimbursable"; public static final String EXPENSE_LIMIT_ATTRIBUTE = "expenseLimitEditable"; public static final String LESS_ADVANCES_ATTRIBUTE = "lessAdvances"; public static final String SHOW_ENCUMBRANCE_ATTRIBUTE = "showEncumbrance"; public static final String SHOW_ADVANCES_ATTRIBUTE = "showAdvances"; public static final String REIMBURSEMENT_ATTRIBUTE = "reimbursement"; public static final String ENCUMBRANCE_AMOUNT_ATTRIBUTE = "encumbranceAmount"; public static final String SHOW_ACCOUNT_DISTRIBUTION_ATTRIBUTE = "accountDistribution"; // ////////////////////////////////////////////////////////////////////////////////////// // End of Attributes used for the Reimbursement Expenses Totals // // ////////////////////////////////////////////////////////////////////////////////////// public static final String MILEAGE_TOTAL_ATTRIBUTE = "mileageTotal"; public static final String LODGING_TOTAL_ATTRIBUTE = "lodgingTotal"; public static final String MEALS_AND_INC_TOTAL_ATTRIBUTE = "mealsAndIncidentalsTotal"; public static final String DAILY_TOTAL = "dailyTotal"; // TripType's Per Diem Calc Method public static final String PERCENTAGE = "P"; public static final String QUARTER = "Q"; public static class TripIdPrefix { public static final String TRIP_PREFIX = "T-"; public static final String RELOCATION_PREFIX = "R-"; public static final String ENTERTAINMENT_PREFIX = "E-"; } public static interface Report { public static final String TEMPLATE_CLASSPATH = "org/kuali/kfs/module/tem/report/"; public static final String TEMPLATE_PATH_FORMAT = TEMPLATE_CLASSPATH + "%s"; public static final String MESSAGES_CLASSPATH = TEMPLATE_CLASSPATH + "TravelExpenseReport"; } public static class TravelDocTypes { public static final String TRAVEL_AUTHORIZATION_DOCUMENT = "TA"; public static final String TRAVEL_AUTHORIZATION_CLOSE_DOCUMENT = "TAC"; public static final String TRAVEL_AUTHORIZATION_AMEND_DOCUMENT = "TAA"; public static final String TRAVEL_REIMBURSEMENT_DOCUMENT = "TR"; public static final String TRAVEL_RELOCATION_DOCUMENT = "RELO"; public static final String TRAVEL_ENTERTAINMENT_DOCUMENT = "ENT"; public static final String TRAVEL_ARRANGER_DOCUMENT = "TTA"; public static final String TRAVEL_PROFILE_DOCUMENT = "TTP"; public static final String TRAVEL_AUTHORIZATION_CHECK_ACH_DOCUMENT = "TACA"; public static final String TRAVEL_AUTHORIZATION_WIRE_OR_FOREIGN_DRAFT_DOCUMENT = "TAWF"; public static final String TRAVEL_REIMBURSEMENT_CHECK_ACH_DOCUMENT = "TRCA"; public static final String TRAVEL_REIMBURSEMENT_WIRE_OR_FOREIGN_DRAFT_DOCUMENT = "TRWF"; public static final String TRAVEL_REIMBURSEMENT_TRAVEL_ADVANCES_DOCUMENT = "TRTA"; public static final String ENTERTAINMENT_CHECK_ACH_DOCUMENT = "ENCA"; public static final String ENTERTAINMENT_WIRE_OR_FOREIGN_DRAFT_DOCUMENT = "ENWF"; public static final String RELOCATION_CHECK_ACH_DOCUMENT = "RECA"; public static final String RELOCATION_WIRE_OR_FOREIGN_DRAFT_DOCUMENT = "REWF"; public static final String REIMBURSABLE_CORPORATE_CARD_CHECK_ACH_DOCUMENT = "RCCA"; public static final String TRAVEL_CTS_CARD_DOCUMENT = "CTAP"; public static final String TRAVEL_CORP_CARD_DOCUMENT = "CCAP"; public static final String TEM_TRANSACTIONAL_DOCUMENT = "TT"; public static final String TRAVEL_TRANSACTIONAL_DOCUMENT = "TRV"; public static List<String> getAuthorizationDocTypes(){ List<String> authorizationDocTypes = new ArrayList<String>(); authorizationDocTypes.add(TRAVEL_AUTHORIZATION_DOCUMENT); authorizationDocTypes.add(TRAVEL_AUTHORIZATION_AMEND_DOCUMENT); authorizationDocTypes.add(TRAVEL_AUTHORIZATION_CLOSE_DOCUMENT); return authorizationDocTypes; } public static List<String> getReimbursementDocTypes(){ List<String> authorizationDocTypes = new ArrayList<String>(); authorizationDocTypes.add(TRAVEL_REIMBURSEMENT_DOCUMENT); authorizationDocTypes.add(TRAVEL_RELOCATION_DOCUMENT); authorizationDocTypes.add(TRAVEL_ENTERTAINMENT_DOCUMENT); return authorizationDocTypes; } } public static class TravelParameters { public static final String TRAVELER_ADDRESS_CHANGE_IND = "TRAVELER_ADDRESS_CHANGE_IND"; //CLEANUP update all the parameter usage public static final String DOCUMENT_DTL_TYPE = "Document"; public static final String NON_EMPLOYEE_TRAVELER_TYPE_CODES = "NON_EMPLOYEE_TRAVELER_TYPE_CODES"; public static final String EMPLOYEE_TRAVELER_TYPE_CODES = "EMPLOYEE_TRAVELER_TYPE_CODES"; public static final String PER_DIEM_CATEGORIES = "PER_DIEM_CATEGORIES"; public static final String VALIDATE_DAILY_PER_DIEM_AND_INCIDENTALS_IND = "VALIDATE_DAILY_PER_DIEM_AND_INCIDENTALS_IND"; public static final String DOCUMENTATION_LOCATION_CODE = "DOCUMENTATION_LOCATION_CODE"; public static final String TRAVEL_COVERSHEET_INSTRUCTIONS = "TRAVEL_COVERSHEET_INSTRUCTIONS"; public static final String EMPLOYEE_CERTIFICATION_STATEMENT = "EMPLOYEE_CERTIFICATION_STATEMENT"; public static final String NON_EMPLOYEE_CERTIFICATION_STATEMENT = "NON_EMPLOYEE_CERTIFICATION_STATEMENT"; public static final String CUMULATIVE_REIMBURSABLE_AMOUNT_WITHOUT_DIVISION_APPROVAL = "CUMULATIVE_REIMBURSABLE_AMOUNT_WITHOUT_DIVISION_APPROVAL"; public static final String INCIDENTALS_WITH_MEALS_IND = "INCIDENTALS_WITH_MEALS_IND"; public static final String QUARTER_DAY_TIME_TABLE = "QUARTER_DAY_TIME_TABLE"; public static final String NUMBER_OF_DAYS_DELINQUENT = "NUMBER_OF_DAYS_DELINQUENT"; public static final String ALWAYS_REIMBURSABLE_CARD_TYPE = "ALWAYS_REIMBURSABLE_CARD_TYPE"; public static final String AMOUNT_DUE_CORPORATE_CARD_TOTAL_LINE_IND = "AMOUNT_DUE_CORPORATE_CARD_TOTAL_LINE_IND"; public static final String CORPORATE_CARD_PAYMENT_IND = "CORPORATE_CARD_PAYMENT_IND"; public static final String SEPARATION_OF_DUTIES_ROUTING_CHOICE = "SEPARATION_OF_DUTIES_ROUTING_CHOICE"; public static final String IMPORTED_EXPENSE_DETAIL_IND = "IMPORTED_EXPENSE_DETAIL_IND"; public static final String ACCOUNTING_LINE_VALIDATION = "ACCOUNTING_LINE_VALIDATION"; public static final String ENTERTAINMENT_MANAGER_TO_EDIT_ALL_IND = "ENTERTAINMENT_MANAGER_TO_EDIT_ALL_IND"; public static final String MOVING_RELOCATION_MANAGER_TO_EDIT_ALL_IND = "MOVING_RELOCATION_MANAGER_TO_EDIT_ALL_IND"; public static final String INTERNATIONAL_TRIP_TYPES = "INTERNATIONAL_TRIP_TYPES"; public static final String UPLOAD_PARSER_INSTRUCTIONS_URL = "UPLOAD_PARSER_INSTRUCTIONS_URL"; public static final String SEND_NOTIFICATION_DOCUMENT_TYPES = "SEND_NOTIFICATION_DOCUMENT_TYPES"; public static final String TRAVEL_EMAIL_ADDRESS = "TRAVEL_EMAIL_ADDRESS"; public static final String SEND_NOTIFICATION_ON_WORKFLOW_STATUS_CHANGE_IND = "SEND_NOTIFICATION_ON_WORKFLOW_STATUS_CHANGE_IND"; public static final String CHANGE_NOTIFICATION_SUBJECT = "CHANGE_NOTIFICATION_SUBJECT"; public static final String FROM_EMAIL_ADDRESS_PARAM_NAME = "FROM_EMAIL_ADDRESS"; public static final String VENDOR_PAYMENT_REASON_CODE = "VENDOR_PAYMENT_REASON_CODE"; public static final String INCLUDE_ARRANGER_EXPENSE_IN_IMPORTED_EXPENSE_IND = "INCLUDE_ARRANGER_EXPENSE_IN_IMPORTED_EXPENSE_IND"; public static final String INCLUDE_TRAVELER_TYPE_IN_TRIP_ID_IND = "INCLUDE_TRAVELER_TYPE_IN_TRIP_ID_IND"; public static final String PER_DIEM_MILEAGE_RATE_EXPENSE_TYPE_CODE = "PER_DIEM_MILEAGE_RATE_EXPENSE_TYPE_CODE"; public static final String INTERNATIONAL_TRIP_REQUIRES_ACCOMMODATION_IND = "INTERNATIONAL_TRIP_REQUIRES_ACCOMMODATION_IND"; public static final String DUPLICATE_TRIP_DATE_RANGE_DAYS = "DUPLICATE_TRIP_DATE_RANGE_DAYS"; } public static class TravelAuthorizationParameters { public static final String TRAVEL_ADVANCE_OBJECT_CODE = "TRAVEL_ADVANCE_OBJECT_CODE"; public static final String TRAVEL_ADVANCE_CHART = "TRAVEL_ADVANCE_CHART"; public static final String TRAVEL_ADVANCE_ACCOUNT = "TRAVEL_ADVANCE_ACCOUNT"; public static final String TRAVEL_ADVANCE_PAYMENT_REASON_CODE = "TRAVEL_ADVANCE_PAYMENT_REASON_CODE"; public static final String DISPLAY_EMERGENCY_CONTACT_IND = "DISPLAY_EMERGENCY_CONTACT_IND"; public static final String CUSTOMER_TYPE_CODE = "CUSTOMER_TYPE_CODE"; public static final String GENERATE_INVOICE_FOR_TRAVEL_ADVANCE_IND = "GENERATE_INVOICE_INV_FOR_TRAVL_ADVANCE_IND"; public static final String FIRST_AND_LAST_DAY_PER_DIEM_PERCENTAGE = "FIRST_AND_LAST_DAY_PER_DIEM_PERCENTAGE"; public static final String DUE_DATE_DAYS = "DUE_DATE_DAYS"; public static final String TRAVEL_ADVANCE_INVOICE_ITEM_CODE = "TRAVEL_ADVANCE_INVOICE_ITEM_CODE"; public static final String TRAVEL_ADVANCE_BILLING_ORGANIZATION = "TRAVEL_ADVANCE_BILLING_ORGANIZATION"; public static final String TRAVEL_ADVANCE_BILLING_CHART = "TRAVEL_ADVANCE_BILLING_CHART"; public static final String DISPLAY_PER_DIEM_URL_IND = "DISPLAY_PER_DIEM_URL_IND"; public static final String OVERRIDE_PRIMARY_DESTINATION_IND = "OVERRIDE_PRIMARY_DESTINATION_IND"; public static final String PER_DIEM_AMOUNT_EDITABLE_IND = "PER_DIEM_AMOUNT_EDITABLE_IND"; public static final String TRAVEL_ADVANCES_POLICY_URL = "TRAVEL_ADVANCES_POLICY_URL"; public static final String CASH_ADVANCE_CREDIT_CARD_TYPES = "CASH_ADVANCE_CREDIT_CARD_TYPES"; public static final String CASH_ADVANCE_WARNING_IND = "CASH_ADVANCE_WARNING_IND"; public static final String MULTIPLE_CASH_ADVANCES_ALLOWED_IND = "MULTIPLE_CASH_ADVANCES_ALLOWED_IND"; public static final String VENDOR_PAYMENT_ALLOWED_BEFORE_FINAL_APPROVAL_IND = "VENDOR_PAYMENT_ALLOWED_BEFORE_FINAL_APPROVAL_IND"; public static final String HOLD_NEW_FISCAL_YEAR_ENCUMBRANCES_IND = "HOLD_NEW_FISCAL_YEAR_ENCUMBRANCES_IND"; public static final String DISPLAY_IMPORTED_EXPENSE_IND = "DISPLAY_IMPORTED_EXPENSE_IND"; } public static class TravelReimbursementParameters { public static final String FOREIGN_CURRENCY_URL = "FOREIGN_CURRENCY_URL"; public static final String DISPLAY_ENCUMBRANCE_IND = "DISPLAY_ENCUMBRANCE_IND"; public static final String DISPLAY_ADVANCES_IN_REIMBURSEMENT_TOTAL_IND = "DISPLAY_ADVANCES_IN_REIMBURSEMENT_TOTAL_IND"; public static final String TRAVEL_PAYMENT_MEDIUM = "TRAVEL_PAYMENT_MEDIUM_TYPE_CODE"; public static final String PER_DIEM_OBJECT_CODE = "PER_DIEM_OBJECT_CODE"; public static final String LODGING_OBJECT_CODE = "LODGING_OBJECT_CODE"; public static final String DEFAULT_CHART = "DEFAULT_CHART"; public static final String LODGING_TYPE_CODES = "LODGING_TYPE_CODES"; public static final String TRANSPORTATION_TYPE_CODES = "TRANSPORTATION_TYPE_CODES"; public static final String APPLY_REIMBURSEMENT_AGAINST_MULTIPLE_INVOICES_IND = "APPLY_REIMBURSEMENT_AGAINST_MULTIPLE_INVOICES_IND"; public static final String DISPLAY_ACCOUNTING_DISTRIBUTION_TAB_IND = "DISPLAY_ACCOUNTING_DISTRIBUTION_TAB_IND"; public static final String REIMBURSEMENT_PERCENT_OVER_ENCUMBRANCE_AMOUNT = "REIMBURSEMENT_PERCENT_OVER_ENCUMBRANCE_AMOUNT"; public static final String OBJECT_LEVELS = "OBJECT_LEVELS"; public static final String PER_DIEM_AMOUNT_EDITABLE_IND = "PER_DIEM_AMOUNT_EDITABLE_IND"; public static final String AUTOMATIC_APPROVALS_IND = "AUTOMATIC_APPROVALS_IND"; public static final String DISPLAY_TRAVEL_AUTHORIZATION_ESTIMATE_IN_SUMMARY_REPORT_IND = "DISPLAY_TRAVEL_AUTHORIZATION_ESTIMATE_IN_SUMMARY_REPORT_IND"; public static final String FAX_NUMBER = "FAX_NUMBER"; public static final String VENDOR_PAYMENT_ALLOWED_BEFORE_FINAL_APPROVAL_IND = "VENDOR_PAYMENT_ALLOWED_BEFORE_FINAL_APPROVAL_IND"; public static final String PAYMENT_REASON_CODE = "PAYMENT_REASON_CODE"; public static final String PRETRIP_REIMBURSEMENT_IND = "PRETRIP_REIMBURSEMENT_IND"; public static final String BARCODE_STYLE = "BARCODE_STYLE"; } public static class TravelRelocationParameters { public static final String DISPLAY_ACCOUNTING_DISTRIBUTION_TAB_IND = "DISPLAY_ACCOUNTING_DISTRIBUTION_TAB_IND"; public static final String DEFAULT_CHART = "DEFAULT_CHART"; public static final String PAYMENT_REASON_CODE = "PAYMENT_REASON_CODE"; } public static class TravelEntertainmentParameters { public static final String HOST_CERTIFICATION_REQUIRED_IND = "HOST_CERTIFICATION_REQUIRED_IND"; public static final String PAYMENT_REASON_CODE = "PAYMENT_REASON_CODE"; public static final String DISPLAY_ACCOUNTING_DISTRIBUTION_TAB_IND = "DISPLAY_ACCOUNTING_DISTRIBUTION_TAB_IND"; public static final String NON_EMPLOYEE_CERTIFICATION_REQUIRED_IND = "NON_EMPLOYEE_CERTIFICATION_REQUIRED_IND"; } public static class TravelEntertainment { public static final String DOCUMENT_NAME = "Entertainment Reimbursement"; } public static class TemProfileParameters { public static final String PARAM_DTL_TYPE = "TemProfile"; public static final String VALID_TRAVELER_TYPE_BY_CUSTOMER_TYPE = "VALID_TRAVELER_TYPE_BY_CUSTOMER_TYPE"; public static final String VALID_KIM_TYPE_AFFILIATION_BY_TRAVER_TYPE = "VALID_KIM_TYPE_AFFILIATION_BY_TRAVER_TYPE"; public static final String EXPORT_FILE_FORMAT = "EXPORT_FILE_FORMAT"; } public static final String TRAVEL_DOC_APP_DOC_STATUS_INIT = "Initiated"; public static class TravelStatusCodeKeys { public static final String IN_PROCESS = "In Process"; public static final String CANCELLED = "Cancelled"; public static final String AWAIT_TRVLR = "Awaiting Traveler Review"; public static final String AWAIT_FISCAL = "Awaiting Fiscal Officer Review"; public static final String AWAIT_ORG = "Awaiting Organization Review"; public static final String AWAIT_DIV = "Awaiting Division Review"; public static final String AWAIT_INTL = "Awaiting International Travel Review"; public static final String AWAIT_SUB = "Awaiting Sub-Fund Review"; public static final String AWAIT_AWARD = "Awaiting Award Review"; public static final String AWAIT_BUDGET = "Await Budget"; public static final String AWAIT_SPCL = "Awaiting Special Request Review"; public static final String AWAIT_SEP_DUTIES = "Awaiting Separation Of Duties Review"; public static final String AWAIT_DISBURSEMENT_METHOD = "Awaiting Disbursement Method Review"; public static final String DAPRVD_TRVLR = "Disapproved - Traveler"; public static final String DAPRVD_FISCAL = "Disapproved - Fiscal Officer"; public static final String DAPRVD_ORG = "Disapproved - Organization"; public static final String DAPRVD_DIV = "Disapproved - Division"; public static final String DAPRVD_INTL = "Disapproved - International Travel"; public static final String DAPRVD_SUB = "Disapproved - Sub-Fund"; public static final String DAPRVD_AWARD = "Disapproved - Award"; public static final String DAPRVD_BUDGET = "Disapproved - Budget"; public static final String DAPRVD_SPCL = "Disapproved - Special Request"; public static final String DAPRVD_SEP_DUTIES = "Disapproved - Separation Of Duties"; public static final String DAPRVD_DISBURSEMENT_METHOD = "Disapproved - Disbursement Method"; } public static class TravelAuthorizationStatusCodeKeys extends TravelStatusCodeKeys{ public static final String AWAIT_RISK = "Awaiting Risk Management Review"; public static final String AWAIT_TRVL_MGR = "Awaiting Travel Manager Review"; public static final String DAPRVD_RISK = "Disapproved - Risk Management"; public static final String DAPRVD_TRVL = "Disapproved - Travel"; public static final String REIMB_HELD = "Reimbursement On Hold"; public static final String CLOSED = "Closed"; public static final String OPEN_REIMB = "Open For Reimbursement"; public static final String PEND_AMENDMENT = "Pending Amendment"; public static final String CHANGE_IN_PROCESS = "Change In Process"; public static final String RETIRED_VERSION = "Retired Version"; public static HashMap<String, String> getDisapprovedAppDocStatusMap() { HashMap<String, String> disapprovedAppDocStatusMap; disapprovedAppDocStatusMap = new HashMap<String, String>(); disapprovedAppDocStatusMap.put(AWAIT_TRVLR, DAPRVD_TRVLR); disapprovedAppDocStatusMap.put(AWAIT_FISCAL, DAPRVD_FISCAL); disapprovedAppDocStatusMap.put(AWAIT_ORG, DAPRVD_ORG); disapprovedAppDocStatusMap.put(AWAIT_DIV, DAPRVD_DIV); disapprovedAppDocStatusMap.put(AWAIT_INTL, DAPRVD_INTL); disapprovedAppDocStatusMap.put(AWAIT_RISK, DAPRVD_RISK); disapprovedAppDocStatusMap.put(AWAIT_SUB, DAPRVD_SUB); disapprovedAppDocStatusMap.put(AWAIT_AWARD, DAPRVD_AWARD); disapprovedAppDocStatusMap.put(AWAIT_BUDGET, DAPRVD_BUDGET); disapprovedAppDocStatusMap.put(AWAIT_SPCL, DAPRVD_SPCL); disapprovedAppDocStatusMap.put(AWAIT_TRVL_MGR, DAPRVD_TRVL); disapprovedAppDocStatusMap.put(AWAIT_SEP_DUTIES, DAPRVD_SEP_DUTIES); disapprovedAppDocStatusMap.put(AWAIT_DISBURSEMENT_METHOD, DAPRVD_DISBURSEMENT_METHOD); return disapprovedAppDocStatusMap; } } public static final String TRAVEL_ADVANCE_ACCOUNTING_LINE_TYPE_CODE = "A"; public static final String TRAVEL_ADVANCE_ACCOUNTING_LINE_GROUP_NAME = "advance"; public static final String TRAVEL_ADVANCE_CLEARING_LINE_TYPE_CODE = "B"; public static final String TRAVEL_ADVANCE_CREDITING_LINE_TYPE_CODE = "C"; public static final String ALL_EXPENSE_TYPE_OBJECT_CODE_TRIP_TYPE = "All"; public static final String ALL_EXPENSE_TYPE_OBJECT_CODE_TRAVELER_TYPE = "All"; public static final Map<String, Class> uncopyableFieldsForTravelAuthorization() { Map<String, Class> returnMap = new HashMap<String, Class>(); returnMap.put(KFSPropertyConstants.DOCUMENT_NUMBER, null); return returnMap; } public static class TravelReimbursementStatusCodeKeys extends TravelStatusCodeKeys{ public static final String DEPT_APPROVED = "Department Approved"; public static final String AWAIT_TRVL_ACCOUNTING = "Awaiting Travel Accounting Review"; public static final String AWAIT_TAX_MANAGER = "Awaiting Tax Manager Review"; public static final String AWAIT_TRVL_MGR = "Awaiting Travel Manager Review"; public static final String DAPRVD_TRVL_ACCOUNTING = "Disapproved - Travel Accounting"; public static final String DAPRVD_TAX_MANAGER = "Disapproved - Tax Manager"; public static final String DAPRVD_TRVL = "Disapproved - Travel"; public static HashMap<String, String> getDisapprovedAppDocStatusMap() { HashMap<String, String> disapprovedAppDocStatusMap; disapprovedAppDocStatusMap = new HashMap<String, String>(); disapprovedAppDocStatusMap.put(AWAIT_TRVLR, DAPRVD_TRVLR); disapprovedAppDocStatusMap.put(AWAIT_FISCAL, DAPRVD_FISCAL); disapprovedAppDocStatusMap.put(AWAIT_DIV, DAPRVD_DIV); disapprovedAppDocStatusMap.put(AWAIT_INTL, DAPRVD_INTL); disapprovedAppDocStatusMap.put(AWAIT_SUB, DAPRVD_SUB); disapprovedAppDocStatusMap.put(AWAIT_AWARD, DAPRVD_AWARD); disapprovedAppDocStatusMap.put(AWAIT_BUDGET, DAPRVD_BUDGET); disapprovedAppDocStatusMap.put(AWAIT_SPCL, DAPRVD_SPCL); disapprovedAppDocStatusMap.put(AWAIT_TAX_MANAGER, DAPRVD_TAX_MANAGER); disapprovedAppDocStatusMap.put(AWAIT_TRVL_MGR, DAPRVD_TRVL); disapprovedAppDocStatusMap.put(AWAIT_DISBURSEMENT_METHOD, DAPRVD_DISBURSEMENT_METHOD); return disapprovedAppDocStatusMap; } } public static class TravelRelocationStatusCodeKeys extends TravelReimbursementStatusCodeKeys{ public static final String AWAIT_RELO_MANAGER = "Awaiting Moving And Relocation Manager Review"; public static final String AWAIT_EXECUTIVE = "Awaiting Executive Review"; public static final String RELO_MANAGER_APPROVED = "Moving And Relocation Manager Approved"; public static final String DAPRVD_RELO_MANAGER = "Disapproved - Moving And Relocation Manager"; public static final String DAPRVD_EXECUTIVE = "Disapproved - Executive"; public static HashMap<String, String> getDisapprovedAppDocStatusMap() { HashMap<String, String> disapprovedAppDocStatusMap; disapprovedAppDocStatusMap = new HashMap<String, String>(); disapprovedAppDocStatusMap.put(AWAIT_TRVLR, DAPRVD_TRVLR); disapprovedAppDocStatusMap.put(AWAIT_FISCAL, DAPRVD_FISCAL); disapprovedAppDocStatusMap.put(AWAIT_ORG, DAPRVD_ORG); disapprovedAppDocStatusMap.put(AWAIT_SUB, DAPRVD_SUB); disapprovedAppDocStatusMap.put(AWAIT_AWARD, DAPRVD_AWARD); disapprovedAppDocStatusMap.put(AWAIT_BUDGET, DAPRVD_BUDGET); disapprovedAppDocStatusMap.put(AWAIT_EXECUTIVE, DAPRVD_EXECUTIVE); disapprovedAppDocStatusMap.put(AWAIT_TAX_MANAGER, DAPRVD_TAX_MANAGER); disapprovedAppDocStatusMap.put(AWAIT_SEP_DUTIES, DAPRVD_SEP_DUTIES); disapprovedAppDocStatusMap.put(AWAIT_DISBURSEMENT_METHOD, DAPRVD_DISBURSEMENT_METHOD); disapprovedAppDocStatusMap.put(AWAIT_RELO_MANAGER, DAPRVD_RELO_MANAGER); return disapprovedAppDocStatusMap; } } public static class EntertainmentStatusCodeKeys extends TravelReimbursementStatusCodeKeys{ public static final String AWAIT_ENT_MANAGER = "Awaiting Entertainment Manager Review"; public static final String ENT_MANAGER_APPROVED = "Entertainment Manager Approved"; public static final String DAPRVD_ENT_MANAGER = "Disapproved - Entertainment Manager"; public static HashMap<String, String> getDisapprovedAppDocStatusMap() { HashMap<String, String> disapprovedAppDocStatusMap; disapprovedAppDocStatusMap = new HashMap<String, String>(); disapprovedAppDocStatusMap.put(AWAIT_TRVLR, DAPRVD_TRVLR); disapprovedAppDocStatusMap.put(AWAIT_FISCAL, DAPRVD_FISCAL); disapprovedAppDocStatusMap.put(AWAIT_ORG, DAPRVD_ORG); disapprovedAppDocStatusMap.put(AWAIT_SUB, DAPRVD_SUB); disapprovedAppDocStatusMap.put(AWAIT_AWARD, DAPRVD_AWARD); disapprovedAppDocStatusMap.put(AWAIT_BUDGET, DAPRVD_BUDGET); disapprovedAppDocStatusMap.put(AWAIT_SPCL, DAPRVD_SPCL); disapprovedAppDocStatusMap.put(AWAIT_TAX_MANAGER, DAPRVD_TAX_MANAGER); disapprovedAppDocStatusMap.put(AWAIT_SEP_DUTIES, DAPRVD_SEP_DUTIES); disapprovedAppDocStatusMap.put(AWAIT_DISBURSEMENT_METHOD, DAPRVD_DISBURSEMENT_METHOD); disapprovedAppDocStatusMap.put(AWAIT_ENT_MANAGER, DAPRVD_ENT_MANAGER); return disapprovedAppDocStatusMap; } } //Permission and Template names are same in the setup public class Permission { public static final String AMEND_TA = "Amend TA"; public static final String HOLD_TA = "Hold TA"; public static final String REMOVE_HOLD_TA = "Remove Hold TA"; public static final String CANCEL_TA = "Cancel TA"; public static final String CLOSE_TA = "Close TA"; public static final String RETURN_TO_FO = "Return to Fiscal Officer"; public static final String EDIT_TAXABLE_IND = "Edit Taxable Indicator"; public static final String EDIT_OWN_PROFILE = "Edit My TEM Profile"; public static final String EDIT_ANY_PROFILE = "Edit All TEM Profiles"; public static final String CREATE_ANY_PROFILE = "Create All TEM Profiles"; //Non-existing Permission public static final String HIDE_BUTTONS = "Hide Buttons TA"; } 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"; public static final String MAPPING_TRAVEL_PAYMENT_CLOSE = "travelPaymentClose"; public static final String TRAVEL_AUTHORIZATION_ACTION_NAME = "temTravelAuthorization"; public static final String TRAVEL_REIMBURESMENT_ACTION_NAME = "temTravelReimbursement"; public static final String TRAVEL_RELOCATION_ACTION_NAME = "temTravelRelocation"; public static final String ENTERTAINMENT_ACTION_NAME = "temTravelEntertainment"; 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"; public static final String TA_CANCELLED_MESSAGE = "Travel Authorization cancelled."; public static final String EMP_TRAVELER_TYP_CD = "EMP"; public static final String NONEMP_TRAVELER_TYP_CD = "NON"; public static final String LODGING = "LODGING"; public static final String YES = "Y"; public static final String MILEAGE = "MILEAGE"; public static final String PER_DIEM = "PER_DIEM"; public static final String DOLLAR_SIGN = "$"; public static final String TEM_PROFILE_DOCUMENT = "TTP"; public static final String TEM_PROFILE_ARRANGER_DOCUMENT = "TTPA"; public static final String INT_PHONE_PATTERN = "\\+?[0-9]{1}([0-9.]*|\\-|\\s)*[0-9]((\\s[x][0-9]+)*)"; public static final String US_PHONE_PATTERN = "[0-9]{3}\\-[0-9]{3}\\-[0-9]{4}((\\s[x][0-9]+)*)"; public static final int CUSTOM_PRIMARY_DESTINATION_ID = Integer.MAX_VALUE; public static final int QUADRANT_PERCENT_VALUE = 25; public static final String TEM_PROFILE_SEQ_NAME = "TEM_PROFILE_ID_SEQ"; public static final String TEM_PROFILE_ARRANGER_SEQ_NAME = "TEM_PROFILE_ARRANGER_ID_SEQ"; public static final String TEM_PROFILE_ACCOUNT_SEQ_NAME = "TEM_PROFILE_ACCOUNT_ID_SEQ"; public static final String TEM_TRAVELER_DETAIL_SEQ_NAME = "TEM_TRAVELER_DTL_ID_SEQ"; public static final String TEM_TRAVELER_DETAIL_EM_CONTACT_SEQ_NAME = "TEM_EM_CONT_ID_SEQ"; public static final String TEM_TRAVELER_DETAIL_ACCOUNT_SEQ_NAME = "TEM_TRVLR_DTL_ACCOUNT_ID_SEQ"; public static final String TEM_ACTUAL_EXPENSE_SEQ_NAME = "TEM_TRVL_EXP_ID_SEQ"; public static final String TEM_CORP_CARD_PSEUDO_NUM_SEQ_NAME = "TEM_CORP_CARD_PSEUDO_NUM_SEQ"; public static final String TEM_PROFILE_HOME_DEPARTMENT = "homeDepartment"; public static final String TEM_PROFILE_HOME_DEPT_ORG_CODE = "homeDeptOrgCode"; public static final String TEM_PROFILE_HOME_DEPT_COA_CODE = "homeDeptChartOfAccountsCode"; public static final String TEM_AGENCY_DATA_SEARCH_ACCOUNT = "searchAccountNumber"; public static final String TEM_AGENCY_DATA_SEARCH_SUB_ACCOUNT = "searchSubAccountNumber"; public static final String TEM_AGENCY_DATA_SEARCH_CHART_CODE = "searchChartOfAccountsCode"; public static enum AgencyAuditSection{ airline, lodging, rentalcar; } public static final class AttachmentTypeCodes { public static final String ATTACHMENT_TYPE_RECEIPT = "Receipt"; public static final String ATTACHMENT_TYPE_W_9 = "W-9"; public static final String ATTACHMENT_TYPE_ADA = "ADA"; public static final String ATTACHMENT_TYPE_W8_BEN = "W8-BEN"; public static final String ATTACHMENT_TYPE_ENT_HOST_CERT = "Entertainment Host Certification"; public static final String ATTACHMENT_TYPE_ATTENDEE_LIST = "Attendee List"; public static final String NON_EMPLOYEE_FORM = "Non Employee Form"; } public static final class Attendee { public static final String ATTENDEES_GROUP_LABEL_NAME = "Attendees"; } public static final String TEM_ORGANIZATION_PROFILE_ARRANGER = "TEM Organization Profile Arranger"; public static final String TEM_ASSIGNED_PROFILE_ARRANGER = "TEM Assigned Profile Arranger"; public static final String TEM_PROFILE_ADMIN = "TEM Profile Administrator"; public static final String TRAVEL_MANAGER = "Travel Manager"; public static final String RISK_MANAGEMENT = "Risk Management"; public class PerDiemParameter { public static final String IN_STATE_TRIP_TYPE_CODE_PARAM_NAME = "IN_STATE_TRIP_TYPE_CODE"; public static final String OUT_STATE_TRIP_TYPE_CODE_PARAM_NAME = "OUT_OF_STATE_TRIP_TYPE_CODE"; public static final String INTERNATIONAL_TRIP_TYPE_CODE_PARAM_NAME = "INTERNATIONAL_TRIP_TYPE_CODE"; public static final String INSTITUTION_STATE_PARAM_NAME = "INSTITUTION_STATE"; public static final String OCONUS_MEAL_BREAKDOWN_PARAM_NAME = "OCONUS_MEAL_BREAKDOWN"; public static final String CONUS_MEAL_BREAKDOWN = "CONUS_MEAL_BREAKDOWN"; public static final String REJECT_FILE_IND = "REJECT_FILE_IND"; public static final String BYPASS_STATE_OR_COUNTRY_CODES = "BYPASS_STATE_OR_COUNTRY_CODES"; public static final String DEFAULT_EFFECTIVE_TO_DATE = "DEFAULT_EFFECTIVE_TO_DATE"; } public static final class HostedMeals { public static final String HOSTED_DINNER = "dinner"; public static final String HOSTED_LUNCH = "lunch"; public static final String HOSTED_BREAKFAST = "breakfast"; } public static final class ExpenseTypes { public static final String HOSTED_DINNER = "HD"; public static final String HOSTED_LUNCH = "HL"; public static final String HOSTED_BREAKFAST = "HB"; public static final String LODGING = "L"; public static final String AIRFARE = "A"; public static final String RENTAL_CAR = "R"; public static final String PREPAID_AIRFARE = "PA"; public static final String MILEAGE = "MM"; public static final String OTHER = "O"; } public enum MEAL_CODE { BREAKFAST("B"), LUNCH("L"), DINNER("D"), INCIDENTALS("I"); public String mealCode; private MEAL_CODE(String mealCode) { this.mealCode = mealCode; } } public static final String PER_DIEM_INPUT_FILE_TYPE_INDENTIFIER = "perDiemInputFileType"; public static final String PER_DIEM_XML_INPUT_FILE_TYPE_INDENTIFIER = "perDiemXmlInputFileType"; public static final String AGENCY_DATA_XML_INPUT_FILE_TYPE_INDENTIFIER = "agencyDataXmlInputFileType"; public static final String CREDIT_CARD_DATA_XML_INPUT_FILE_TYPE_INDENTIFIER = "creditCardDataXmlInputFileType"; public static final String FILE_NAME_PART_DELIMITER = "_"; public static final String DONE_FILE_SUFFIX = ".done"; public final static String TEXT_FILE_SUFFIX = ".txt"; public final static String XML_FILE_SUFFIX = ".xml"; public static final String DATE_FIELD_SEPARATOR = "/"; public static final String DATE_FORMAT_STRING = "MM/dd/yyyy"; public static final SimpleDateFormat SIMPLE_DATE_FORMAT = new SimpleDateFormat(DATE_FORMAT_STRING); public static final String CUSTOMER_TRAVLER_TYPE_CODE = "Traveler"; public static final String CUSTOMER_PRIMARY_ADDRESS_TYPE_CODE = "P"; public static final Integer DEFAULT_NOTIFICATION_DAYS = 120; public static final Integer DEFAULT_DUPLICATE_TRIP_DATE_RANGE_DAYS = 3; public class TaxRamificationParameter{ public static final String NOTIFICATION_DAYS_PARAM_NAME = "NOTIFICATION_DAYS"; public static final String NOTIFICATION_TEXT_PARAM_NAME = "NOTIFICATION_TEXT"; public static final String NOTIFICATION_SUBJECT_PARAM_NAME = "NOTIFICATION_SUBJECT"; public static final String SEND_FYI_TO_FISCAL_OFFICER_IND = "SEND_FYI_TO_FISCAL_OFFICER_IND"; } public static final String DOCUMENT_NUMBER = "Document Number"; // delinquent code public static final String DELINQUENT_STOP = "S"; public static final String DELINQUENT_WARN = "W"; // Separation of duties codes public static final String SEP_OF_DUTIES_FO = "F"; public static final String SEP_OF_DUTIES_DR = "D"; // Separation of duties codes public static final String EXPENSE_IMPORTED = "I"; public static final String EXPENSE_ACTUAL = "A"; public static final String TRAVEL_TYPE_CTS = "CTS"; public static final String TRAVEL_TYPE_CORP = "CORP"; public static final String ACTUAL_EXPENSE = "OUT OF POCKET"; public static final String ENCUMBRANCE = "ENCUMBRANCE"; public static final String ADVANCE = "ADVANCE"; //Expenses label public static final String ENCUMBRANCE_PREFIX = "Estimated "; public static final String PER_DIEM_EXPENSES_LABEL = "Per Diem Expenses"; public static final String ACTUAL_EXPENSES_LABEL = "Actual Expenses"; public static final String GENERAL_EXPENSES_LABEL = "Expenses"; public static final String ACCOUNTING_LINE_INDEX = "-1"; public static final String DIST_ACCOUNTING_LINE_INDEX = "-2"; public static final String UNSELECT_ALL_INDEX = "1"; public static final String SELECT_ALL_INDEX = "0"; public static final String MILEAGE_EXPENSE = "MM"; public static final String DISBURSEMENT_VOUCHER_DOCTYPE = "DV"; public static final String REQUISITION_DOCTYPE = "REQS"; public static final String ASSIGN_ACCOUNTS_DISABLED_MESSAGE = "All amounts have been assigned accounts."; public static final class AgencyMatchProcessParameter { public static final String AGENCY_MATCH_DTL_TYPE = "AgencyMatchProcess"; public static final String TRAVEL_CREDIT_CARD_AIRFARE_OBJECT_CODE = "TRAVEL_CREDIT_CARD_AIRFARE_OBJECT_CODE"; public static final String TRAVEL_CREDIT_CARD_RENTAL_CAR_OBJECT_CODE = "TRAVEL_CREDIT_CARD_RENTAL_CAR_OBJECT_CODE"; public static final String TRAVEL_CREDIT_CARD_LODGING_OBJECT_CODE = "TRAVEL_CREDIT_CARD_LODGING_OBJECT_CODE"; public static final String TRAVEL_CREDIT_CARD_CLEARING_CHART = "TRAVEL_CREDIT_CARD_CLEARING_CHART"; public static final String TRAVEL_CREDIT_CARD_CLEARING_ACCOUNT = "TRAVEL_CREDIT_CARD_CLEARING_ACCOUNT"; public static final String TRAVEL_CREDIT_CARD_CLEARING_OBJECT_CODE = "TRAVEL_CREDIT_CARD_CLEARING_OBJECT_CODE"; } public static final class TemRoleNames { public static final String SPECIAL_REQUEST_REVIEWER = "Special Request Reviewer"; public static final String INTERNATIONAL_TRAVEL_REVIEWER = "International Travel Reviewer"; public static final String RISK_MANAGEMENT = "Risk Management"; public static final String ACCOUNTING_REVIEWER = "Accounting Reviewer"; public static final String DIVISION_REVIEWER = "Division Reviewer"; public static final String CONTACT_REVIEWER = "Contact Reviewer"; public static final String ENTERTAINMENT_MANAGER = "Entertainment Manager"; public static final String MOVING_AND_RELOCATION_MANAGER = "Moving And Relocation Manager"; public static final String EXECUTIVE_APPROVER = "Executive Approver"; public static final String SEPARATION_OF_DUTIES_REVIEWER = "Separation Of Duties Reviewer"; public static final String TRAVELER = "Traveler"; public static final String TEM_PROFILE = "TemProfile"; public static final String TEM_PROFILE_ADMINISTRATOR = "TEM Profile Administrator"; public static final String TEM_ORGANIZATION_PROFILE_ARRANGER = "TEM Organization Profile Arranger"; public static final String TEM_ASSIGNED_PROFILE_ARRANGER = "TEM Assigned Profile Arranger"; } public static class AgencyStagingDataErrorCodes { public static final String AGENCY_NO_ERROR = "OK"; public static final String AGENCY_INVALID_TRAVELER = "TRAV"; public static final String AGENCY_INVALID_TRIPID = "TRIP"; public static final String AGENCY_INVALID_ACCOUNT = "ACT"; public static final String AGENCY_INVALID_SUBACCOUNT = "SACT"; public static final String AGENCY_INVALID_PROJECT = "PROJ"; public static final String AGENCY_INVALID_OBJECT = "OBJ"; public static final String AGENCY_INVALID_SUBOBJECT = "SOBJ"; public static final String AGENCY_MOVED_TO_HISTORICAL = "HIS"; public static final String AGENCY_INVALID_CC_AGENCY = "CCA"; public static final String AGENCY_REQUIRED_FIELDS = "REQ"; public static final String AGENCY_DUPLICATE_DATA = "DUP"; public static final String AGENCY_INVALID_EXPENSE_TYPE_OBJECT_CODE = "EXP"; public static final String AGENCY_INVALID_DI_CD = "DI"; } public static class AgencyStagingDataValidation { public static final String AGENCY_DATA_VALIDATION_DTL = "AgencyDataValidation"; public static final String VALIDATE_ACCOUNT = "Account"; public static final String VALIDATE_SUBACCOUNT = "Sub-Account"; } public static class CreditCardStagingDataErrorCodes { public static final String CREDIT_CARD_NO_ERROR = "OK"; public static final String CREDIT_CARD_INVALID_TRAVELER = "TRAV"; public static final String CREDIT_CARD_INVALID_CARD = "CRDC"; public static final String CREDIT_CARD_MOVED_TO_HISTORICAL = "HIS"; public static final String CREDIT_CARD_INVALID_CC_AGENCY = "CCA"; public static final String CREDIT_CARD_INVALID_EXPENSE_TYPE_CODE = "ETC"; } public static class ExpenseImportTypes { public static final String IMPORT_BY_TRIP = "TRP"; public static final String IMPORT_BY_TRAVELLER = "TRV"; } public enum ExpenseImport { trip(ExpenseImportTypes.IMPORT_BY_TRIP), traveler(ExpenseImportTypes.IMPORT_BY_TRAVELLER); public String code; private ExpenseImport(String code) { this.code = code; } private static final Map<String, ExpenseImport> lookup = new LinkedHashMap<String, ExpenseImport>(); static { for (ExpenseImport type : EnumSet.allOf(ExpenseImport.class)) { lookup.put(type.code, type); } } /** * Retrieve Expense Import by the code * * @param code * @return */ public static ExpenseImport getExpenseImportByCode(String code){ return lookup.get(code); } } public static class ReconciledCodes { public static final String RECONCILED = "R"; public static final String UNRECONCILED = "N"; public static final String CLEARED = "C"; } public static final Map<String, String> reconciledCodes() { Map<String, String> returnMap = new HashMap<String, String>(); returnMap.put(ReconciledCodes.UNRECONCILED, "Unreconciled"); returnMap.put(ReconciledCodes.RECONCILED,"Reconciled"); returnMap.put(ReconciledCodes.CLEARED,"Cleared"); return returnMap; } public static class TravelCustomSearchLinks { public static final String NEW_REIMBURSEMENT = "New Reimbursement"; public static final String NEW_ENTERTAINMENT = "New Entertainment"; public static final String NEW_RELOCATION = "New Relocation"; public static final String VENDOR_PAYMENT = "Vendor Payment"; public static final String REQUISITION = "Requisition"; public static final String AGENCY_SITES = "Agency Sites"; public static final String DV_URL = "temDV.do?methodToCall=docHandler&command=initiate&docTypeName=DV&temDocID="; } public static class TemTripTypes { public static final String DOMESTIC = "DOM"; public static final String INTERNATIONAL = "INT"; public static final String IN_STATE = "IN"; public static final String OUT_OF_STATE = "OUT"; } public static class TemExpenseTypes { public static final String PER_DIEM = "perDiemService"; public static final String ACTUAL = "actualExpenseService"; public static final String IMPORTED_CTS = "importedCTSExpenseService"; public static final String IMPORTED_CORP_CARD = "importedCorporateCardExpenseService"; } public enum ExpenseType { actual(TemExpenseTypes.ACTUAL), importedCTS(TemExpenseTypes.IMPORTED_CTS), importedCorpCard(TemExpenseTypes.IMPORTED_CORP_CARD), perDiem(TemExpenseTypes.PER_DIEM); public String service; private ExpenseType(String service) { this.service= service; } } public enum PerDiemType { mileage("Mileage"), meals("Meals"), lodging("Lodging"), incidentals("Incidentals"), breakfast("Breakfast"), lunch("Lunch"), dinner("Dinner"); public String label; private PerDiemType(String label) { this.label = label; } } public static final String CONUS = "CONUS"; public static final String OTHER_PRIMARY_DESTINATION = "[OTHER]"; public static final String ALL_STATES = "ALL"; public static final String ALL_DOCUMENT = "ALL"; public static final String IMPORTED_FLAG = "-IMP"; public static final String TEM_IMPORTED_SYS_ORIG_CD = KFSConstants.ORIGIN_CODE_KUALI; public static final String TEM_IMPORTED_GLPE_DESC = "TEM Imported Expense Re-Distribution"; public static final String TEM_PROFILE_RELO_ENT = "Requester"; public static final String TEM_PROFILE_TRAVEL = "Traveler"; public static final Map<String, String> documentProfileNames() { Map<String, String> returnMap = new HashMap<String, String>(); returnMap.put(TravelDocTypes.TRAVEL_REIMBURSEMENT_DOCUMENT, TEM_PROFILE_TRAVEL); returnMap.put(TravelDocTypes.TRAVEL_AUTHORIZATION_DOCUMENT, TEM_PROFILE_TRAVEL); returnMap.put(TravelDocTypes.TRAVEL_AUTHORIZATION_CLOSE_DOCUMENT, TEM_PROFILE_TRAVEL); returnMap.put(TravelDocTypes.TRAVEL_AUTHORIZATION_DOCUMENT, TEM_PROFILE_TRAVEL); returnMap.put(TravelDocTypes.TRAVEL_ENTERTAINMENT_DOCUMENT, TEM_PROFILE_RELO_ENT); returnMap.put(TravelDocTypes.TRAVEL_RELOCATION_DOCUMENT, TEM_PROFILE_RELO_ENT); return returnMap; } public static final String INQUIRY_URL = "inquiry.do"; public static final String VIEW = "view"; public static final String SOURCE_ANCHOR = "sourceAnchor"; public static final String DISTRIBUTION_ANCHOR = "distributionAnchor"; public static final String SUMMARY_ANCHOR = "summaryAnchor"; public static final String PRIMARY_DESTINATION_CLASS_NAME = "PrimaryDestination"; public enum NotificationPreference { TA_ON_FINAL(TravelAuthorizationDocument.class, "FINAL", "TA_ON_FINAL"), TA_ON_CHANGE(TravelAuthorizationDocument.class, "CHANGE", "TA_ON_CHANGE"), TER_ON_FINAL(TemParameterConstants.TEM_DOCUMENT.class, "FINAL", "TER_ON_FINAL"), TER_ON_CHANGE(TemParameterConstants.TEM_DOCUMENT.class, "CHANGE", "TER_ON_CHANGE"), NONE(TemParameterConstants.TEM_DOCUMENT.class, "", ""); protected String parameterEventCode; protected Class<?> parameterComponentClass; protected String label; private NotificationPreference(Class<?> parameterComponentClass, String parameterEventCode, String label) { this.parameterEventCode = parameterEventCode; this.parameterComponentClass = parameterComponentClass; this.label = label; } public String getParameterEventCode() { return this.parameterEventCode; } public Class<?> getParameterComponentClass() { return parameterComponentClass; } public String getLabel() { return label; } } public static final String STATUS_CHANGE_DTO = "statusChangeDTO"; public static final String CAMPUS_TRAVEL_EMAIL_ADDRESS = "campusTravelEmailAddress"; public static final String NOTIFICATION_PREFERENCE = "notificationPreference"; public class ImportedExpenseParameter{ public static final String NOTIFICATION_SUBJECT_PARAM_NAME = "NOTIFICATION_SUBJECT"; public static final String NOTIFICATION_TEXT_BY_TRP_PARAM_NAME = "NOTIFICATION_TEXT_BY_TRP"; public static final String NOTIFICATION_TEXT_BY_TRV_PARAM_NAME = "NOTIFICATION_TEXT_BY_TRV"; } public static final String TRAVEL_EXPENSES_KEY = "travelExpenses"; public static final String TRAVELER_PROFILE_KEY = "travelerProfile"; public static final String TRAVEL_REIMBURSEMENT_PRETRIP_DESCRIPTION_TEXT = "PT:"; public static final class ExpenseTypeReimbursementCodes { public static final String ALL = "A"; public static final String NON_REIMBURSABLE = "N"; public static final String REIMBURSABLE = "R"; } public static class TravelEditMode extends TransactionalEditMode { public static final String FULL_ENTRY = "fullEntry"; public static final String ADVANCE_PAYMENT_ENTRY = "advancePaymentEntry"; public static final String ADVANCE_POLICY_ENTRY = "advancePolicyEntry"; public static final String CLEAR_ADVANCE_MODE = "clearAdvanceMode"; public static final String TRAVELER_ENTRY = "travelerEntry"; } public static final String GENERATE_CREDIT_CARD_NUMBER_IND = "GENERATE_CREDIT_CARD_NUMBER_IND"; public static final String CORPORATE_CARD_CODE = "CORPORATE_CARD_CODE"; public static final String CENTRAL_TRAVEL_SYSTEM_CARD_CODE = "CENTRAL_TRAVEL_SYSTEM_CARD_CODE"; // public static final String CTS_CARD_APPLICATION = "TemCTSCardApplication"; // public static final String CORP_CARD_APPLICATION = "TemCorporateCardApplication"; public static final String CARD_EXISTS_QUESTION = "Card Exists Question"; public static class EditModes { public static final String CHECK_AMOUNT_ENTRY = "checkAmountEntry"; public static final String EXPENSE_TAXABLE_MODE = "expenseTaxableEntry"; public static final String BLANKET_TRAVEL_ENTRY = "blanketTravelEntry"; public static final String BLANKET_TRAVEL_VIEW = "blanketTravelView"; public static final String EXPENSE_LIMIT_ENTRY = "expenseLimitEntry"; public static final String CONVERSION_RATE_ENTRY = "conversionRateEntry"; public static final String REQUESTER_LOOKUP_MODE = "requesterLooupMode"; } public static class TravelAuthorizationActions { public static final String CAN_AMEND = "canAmend"; public static final String CAN_HOLD = "canHold"; public static final String CAN_REMOVE_HOLD = "canRemoveHold"; public static final String CAN_CLOSE_TA = "canCloseTA"; public static final String CAN_CANCEL_TA = "canCancelTA"; public static final String CAN_NEW_ENTERTAINMENT = "canNewEntertainment"; public static final String CAN_NEW_RELOCATION = "canNewRelocation"; public static final String CAN_NEW_REIMBURSEMENT = "canNewReimbursement"; public static final String CAN_PAY_VENDOR = "canPayVendor"; } 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"; 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"; 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"; public static final String GENERAL_TRAVEL_PAYMENT_TAB_KEY = "TravelPaymentErrors"; public enum PermissionAttributeValue { ADVANCE_ACCOUNTING_LINES("advanceAccountingLines"); public final String value; private PermissionAttributeValue(String value) { this.value = value; } } public final static String AUTHORIZATION_PAYMENT_SOURCE_EXTRACTION_SERVICE = "travelAuthorizationsExtractService"; public final static String REIMBURSABLE_PAYMENT_SOURCE_EXTRACTION_SERVICE = "travelReimbursementsExtractService"; public static class TabTitles { public static final String EMERGENCY_CONTACT_INFORMATION_TAB_TITLE = "Emergency Contact Information"; } /** * Categories of expense types that cause special reactions from the system, as described below */ public enum ExpenseTypeMetaCategory { AIRFARE("A"), // forces extra airfare information to be filled on as part of an expense BREAKFAST("B"), // expenses with this expense type meta category cannot have a per diem breakfast on the same day LUNCH("J"), // expenses with this expense type meta category cannot have a per diem lunch on the same day ("J" for deJeneur which I just liked better than "U") DINNER("D"), // expenses with this expense type meta category cannot have a per diem dinner on the same day INCIDENTALS("I"), LODGING("L"), LODGING_ALLOWANCE("W"), MILEAGE("M"), // changes the expense type entry to accept mileage rate and miles driven instead of a lump amount RENTAL_CAR("R"); private String code; ExpenseTypeMetaCategory(String code) { this.code = code; } public String getCode() { return this.code; } public String getName() { return WordUtils.capitalizeFully(StringUtils.replace(this.toString(), "_", " ")); } /** * Lookup ExpenseTypeMetaCategory value based on code * @param c the code to look up * @return the matching ExpenseTypeMetaCategory, or null if the code does not match an existing category */ public static ExpenseTypeMetaCategory forCode(String c) { for (ExpenseTypeMetaCategory category : ExpenseTypeMetaCategory.values()) { if (StringUtils.equals(category.getCode(), c)) { return category; } } return null; } } public enum ErrorTypeCode { HARDSTOP("1"), WARNING("2"); private String code; ErrorTypeCode(String code) { this.code = code; } public String getCode() { return this.code; } public String getName() { return StringUtils.capitalize(this.toString().toLowerCase()); } /** * Lookup GroupTravelerType value based on code * @param c the code to look up * @return the GroupTravelerType, or null if the code does not match an existing traveler type */ public static ErrorTypeCode forCode(String c) { for (ErrorTypeCode errorType : ErrorTypeCode.values()) { if (StringUtils.equals(errorType.getCode(), c)) { return errorType; } } return null; } } /** * Enumeration which represents the types of group travelers */ public enum GroupTravelerType { EMPLOYEE("EMP"), STUDENT("STU"), CUSTOMER("CST"), OTHER("OTH"); private String code; GroupTravelerType(String code) { this.code = code; } public String getCode() { return this.code; } public String getName() { return StringUtils.capitalize(this.toString().toLowerCase()); } /** * Lookup GroupTravelerType value based on code * @param c the code to look up * @return the GroupTravelerType, or null if the code does not match an existing traveler type */ public static GroupTravelerType forCode(String c) { for (GroupTravelerType travelerType : GroupTravelerType.values()) { if (StringUtils.equals(travelerType.getCode(), c)) { return travelerType; } } return null; } } }