001 /* 002 * Copyright 2011 The Kuali Foundation. 003 * 004 * Licensed under the Educational Community License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.opensource.org/licenses/ecl2.php 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 013 * See the License for the specific language governing permissions and 014 * limitations under the License. 015 */ 016 package org.kuali.kfs.module.cam; 017 018 import java.util.Currency; 019 import java.util.HashMap; 020 import java.util.Map; 021 022 import org.kuali.rice.core.util.JSTLConstants; 023 import org.kuali.rice.kns.authorization.AuthorizationConstants.EditMode; 024 025 026 /** 027 * Global constants for CAMS. 028 */ 029 public class CamsConstants extends JSTLConstants { 030 public static final String CAM_MODULE_CODE = "KFS-CAM"; 031 public static final String[] MONTHS = { "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" }; 032 public static final String SET_PERIOD_DEPRECIATION_AMOUNT_REGEX = "setperiod\\d.*depreciation\\damount"; 033 public static final String GET_PERIOD_DEPRECIATION_AMOUNT_REGEX = "getperiod\\d.*depreciation\\damount"; 034 public static final String CPTLAST_NBR_SEQ = "CPTLAST_NBR_SEQ"; 035 public static final String DOCUMENT_NUMBER_PATH = "documentNumber"; 036 public static final String DOCUMENT_PATH = "document"; 037 public static final String DOC_HEADER_PATH = DOCUMENT_PATH + "." + DOCUMENT_NUMBER_PATH; 038 public static final String INQUIRY_URL = "inquiry.do"; 039 public static final Currency CURRENCY_USD = Currency.getInstance("USD"); 040 public static final String LOCATION_INFORMATION_SECTION_ID = "Location Information"; 041 042 public static class DateFormats { 043 public static final String MONTH_DAY_YEAR = "MM/dd/yyyy"; 044 public static final String YEAR_MONTH_DAY = "yyyy-MM-dd"; 045 public static final String MILITARY_TIME = "HH:mm:ss"; 046 public static final String STANDARD_TIME = "hh:mm:ss"; 047 public static final String YEAR_MONTH_DAY_NO_DELIMITER = "yyyyMMdd"; 048 public static final String MILITARY_TIME_NO_DELIMITER = "HHmmss"; 049 } 050 051 public static class PermissionNames { 052 public static final String ADD_NEGATIVE_PAYMENTS = "Add Negative Payments"; 053 public static final String RETIRE_MULTIPLE = "Retire Multiple"; 054 public static final String OVERRIDE_CAPITALIZATION_LIMIT_AMOUNT = "Override CAPITALIZATION_LIMIT_AMOUNT"; 055 public static final String RETIRE_NON_MOVABLE_ASSETS = "Retire Non-Movable Assets"; 056 public static final String TRANSFER_NON_MOVABLE_ASSETS = "Transfer Non-Movable Assets"; 057 public static final String USE_ACQUISITION_TYPE_NEW = "Use Acquisition Type \"New\""; 058 public static final String RAZE = "Raze"; 059 public static final String MERGE = "Merge"; 060 public static final String SEPARATE = "Separate"; 061 public static final String USE_RESTRICTED_RETIREMENT_REASON = "Use Restricted Retirement Reason"; 062 public static final String EDIT_WHEN_TAGGED_PRIOR_FISCAL_YEAR = "Edit When Tagged Prior Fiscal Year"; 063 public static final String MAINTAIN_ASSET_LOCATION = "Maintain Asset Location"; 064 } 065 066 public static class RouteLevelNames { 067 public static final String EXTERNAL_TRANSFER = "ExternalTransfer"; 068 public static final String PURCHASING = "Purchasing"; 069 public static final String MANAGEMENT = "Management"; 070 public static final String PLANT_FUND = "PlantFund"; 071 public static final String BORROWER = "Borrower"; 072 } 073 074 public static class AssetActions { 075 public static final String LOAN = "loan"; 076 public static final String LOAN_RETURN = "return"; 077 public static final String LOAN_RENEW = "renew"; 078 public static final String LOAN_TYPE = "loanType"; 079 public static final String MERGE = "merge"; 080 public static final String PAYMENT = "payment"; 081 public static final String RETIRE = "retire"; 082 public static final String SEPARATE = "separate"; 083 public static final String TRANSFER = "transfer"; 084 public static final String VIEW = "view"; 085 } 086 087 public static class StrutsActions { 088 public static final String ONE_UP = "../"; 089 public static final String TRANSFER = "camsAssetTransfer.do"; 090 public static final String EQUIPMENT_LOAN_OR_RETURN = "camsEquipmentLoanOrReturn.do"; 091 public static final String PAYMENT = "camsAssetPayment.do"; 092 } 093 094 public static class DocumentTypeName { 095 // CAM doc 096 public static final String ASSET_DEPRECIATION = "DEPR"; 097 public static final String ASSET_TRANSFER = "AT"; 098 public static final String ASSET_EQUIPMENT_LOAN_OR_RETURN = "ELR"; 099 public static final String ASSET_PAYMENT = "MPAY"; 100 public static final String ASSET_RETIREMENT_GLOBAL = "ARG"; 101 public static final String ASSET_ADD_GLOBAL = "AA"; 102 public static final String ASSET_EDIT = "CASM"; 103 public static final String ASSET_FABRICATION = "FR"; 104 public static final String ASSET_LOCATION_GLOBAL = "ALOC"; 105 public static final String ASSET_BARCODE_INVENTORY_ERROR = "BCIE"; 106 // Below docTypes will be used for locking purposed only 107 public static final String ASSET_SEPARATE = "ASEP"; 108 public static final String ASSET_PAYMENT_FROM_CAB = "MPAYCAB"; 109 public static final String ASSET_FP_INQUIRY = "AFPINQ"; 110 public static final String ASSET_PREQ_INQUIRY = "APREQINQ"; 111 // Below used for view related document links 112 public static final String COMPLEX_MAINTENANCE_DOC_BASE = "CAMM"; 113 } 114 115 public static class PaymentDocumentTypeCodes { 116 // These are the document type codes that payments are saved under when they are modified by assets. Note that not 117 // necessarily the documents themselves use these document type codes. 118 public static final String ASSET_GLOBAL_SEPARATE = "ASEP"; 119 public static final String ASSET_RETIREMENT_MERGE = "AMRG"; 120 } 121 122 public static class Parameters { 123 public static final String DEPRECIATION_RUN_DATE_PARAMETER = "DEPRECIATION_RUN_DATE"; 124 public static final String DEPRECIATION_CAMPUS_PLANT_FUND_OBJECT_SUB_TYPES = "DEPRECIATION_CAMPUS_PLANT_FUND_OBJECT_SUB_TYPE"; 125 public static final String DEPRECIATION_ORGANIZATON_PLANT_FUND_SUB_OBJECT_TYPES = "DEPRECIATION_ORGANIZATON_PLANT_FUND_OBJECT_SUB_TYPE"; 126 public static final String NON_DEPRECIABLE_FEDERALLY_OWNED_OBJECT_SUB_TYPES = "NON_DEPRECIABLE_FEDERALLY_OWNED_OBJECT_SUB_TYPES"; 127 public static final String NON_DEPRECIABLE_NON_CAPITAL_ASSETS_STATUS_CODES = "NON_DEPRECIABLE_NON_CAPITAL_ASSET_STATUS_CODES"; 128 public static final String FEDERAL_CONTRIBUTIONS_OBJECT_SUB_TYPES = "FEDERAL_CONTRIBUTIONS_OBJECT_SUB_TYPES"; 129 public static final String FEDERAL_OWNED_OBJECT_SUB_TYPES = "FEDERAL_OWNED_OBJECT_SUB_TYPES"; 130 public static final String VALID_INVENTROY_STATUS_CODE_CHANGE = "VALID_ASSET_STATUS_BY_PRIOR_ASSET_STATUS"; 131 public static final String INVALID_INVENTROY_STATUS_CODE_CHANGE = "INVALID_ASSET_STATUS_BY_PRIOR_ASSET_STATUS"; 132 public static final String CAPITAL_ASSET_STATUS_CODES = "CAPITAL_ASSET_STATUS_CODES"; 133 public static final String RETIRED_STATUS_CODES = "RETIRED_STATUS_CODES"; 134 public static final String EDITABLE_FIELDS_WHEN_TAGGED_PRIOR_FISCAL_YEAR = "EDITABLE_FIELDS_WHEN_TAGGED_PRIOR_FISCAL_YEAR"; 135 public static final String OBJECT_SUB_TYPE_GROUPS = "OBJECT_SUB_TYPE_GROUPS"; 136 public static final String INVALID_ASSET_STATUSES_BY_ACQUISITION_TYPE = "INVALID_ASSET_STATUSES_BY_ACQUISITION_TYPE"; 137 public static final String VALID_ASSET_STATUSES_BY_ACQUISITION_TYPE = "VALID_ASSET_STATUSES_BY_ACQUISITION_TYPE"; 138 public static final String INVALID_OBJECT_SUB_TYPES_BY_ACQUISITION_TYPE = "INVALID_OBJECT_SUB_TYPES_BY_ACQUISITION_TYPE"; 139 public static final String VALID_OBJECT_SUB_TYPES_BY_ACQUISITION_TYPE = "VALID_OBJECT_SUB_TYPES_BY_ACQUISITION_TYPE"; 140 public static final String MOVABLE_EQUIPMENT_OBJECT_SUB_TYPES = "MOVABLE_EQUIPMENT_OBJECT_SUB_TYPES"; 141 public static final String NON_MOVABLE_EQUIPMENT_OBJECT_SUB_TYPES = "NON_MOVABLE_EQUIPMENT_OBJECT_SUB_TYPES"; 142 public static final String CAPITALIZATION_LIMIT_AMOUNT = "CAPITALIZATION_LIMIT_AMOUNT"; 143 public static final String DEFAULT_FABRICATION_ASSET_TYPE_CODE = "DEFAULT_FABRICATION_ASSET_TYPE"; 144 public static final String DEFAULT_GAIN_LOSS_DISPOSITION_OBJECT_CODE = "DEFAULT_GAIN_LOSS_DISPOSITION_OBJECT_CODE"; 145 public static final String MERGE_SEPARATE_RETIREMENT_REASONS = "MERGE_SEPARATE_RETIREMENT_REASONS"; 146 public static final String RAZE_RETIREMENT_REASONS = "RAZE_RETIREMENT_REASONS"; 147 public static final String CAPITAL_OBJECT_SUB_TYPES = "CAPITAL_OBJECT_SUB_TYPES"; 148 public static final String BAR_CODE_ERROR_DOCUMENT_IGNORES_LOCKS = "IGNORES_LOCKS_IND"; 149 public static final String MAX_NUMBER_OF_RECORDS_PER_DOCUMENT = "MAX_NUMBER_OF_RECORDS_PER_DOCUMENT"; 150 } 151 152 public static class Report { 153 public static final String REPORT_EXTENSION = "PDF"; 154 public static final String FILE_PREFIX = "CAMS"; 155 } 156 157 public static class Depreciation { 158 public static final String TRANSACTION_DESCRIPTION = "Batch Depreciation Asset "; 159 public static final String DOCUMENT_DESCRIPTION = "Batch Depreciation Entry"; 160 public static final String REPORT_FILE_NAME = "DEPRECIATION_REPORT"; 161 public static final String DEPRECIATION_REPORT_TITLE = "Asset Depreciation Report - Statistics"; 162 public static final String DEPRECIATION_BATCH = "DEPRECIATION BATCH - "; 163 } 164 165 public static class BarCodeInventory { 166 public static final String FILE_TYPE_INDENTIFIER = "assetBarcodeInventoryInputFileType"; 167 public static final String DATA_FILE_TYPE = "csv"; 168 public static final String DATA_FILE_EXTENSION = ".csv"; 169 public static final String DONE_FILE_EXTENSION = ".done"; 170 public static final String BCI_MANUALLY_KEYED_CODE = "0"; 171 public static final String BCI_SCANED_INTO_DEVICE = "1"; 172 } 173 174 public static class BarCodeInventoryError { 175 public static final String STATUS_CODE_ERROR = "E"; 176 public static final String STATUS_CODE_CORRECTED = "C"; 177 public static final String STATUS_CODE_DELETED = "D"; 178 public static final String STATUS_CODE_ERROR_DESCRIPTION = "Error"; 179 public static final String STATUS_CODE_CORRECTED_DESCRIPTION = "Corrected"; 180 public static final String STATUS_CODE_DELETED_DESCRIPTION = "Deleted"; 181 public static final String BAR_CODE_ERROR_DOCUMENT_IGNORES_LOCKS_NO = "N"; 182 183 public static final Map<String, String> statusDescription = new HashMap<String, String>(); 184 static { 185 statusDescription.put(STATUS_CODE_CORRECTED, STATUS_CODE_CORRECTED_DESCRIPTION); 186 statusDescription.put(STATUS_CODE_DELETED, STATUS_CODE_DELETED_DESCRIPTION); 187 statusDescription.put(STATUS_CODE_ERROR, STATUS_CODE_ERROR_DESCRIPTION); 188 } 189 } 190 191 public static class InventoryStatusCode { 192 public static final String CAPITAL_ASSET_ACTIVE_IDENTIFIABLE = "A"; 193 public static final String CAPITAL_ASSET_ACTIVE_NON_ACCESSIBLE = "C"; 194 public static final String CAPITAL_ASSET_UNDER_CONSTRUCTION = "U"; 195 public static final String CAPITAL_ASSET_SURPLUS_EQUIPEMENT = "S"; 196 public static final String CAPITAL_ASSET_RETIRED = "R"; 197 public static final String NON_CAPITAL_ASSET_ACTIVE = "N"; 198 public static final String NON_CAPITAL_ASSET_RETIRED = "O"; 199 public static final String NON_CAPITAL_ASSET_ACTIVE_2003 = "D"; 200 public static final String NON_CAPITAL_ASSET_RETIRED_2003 = "E"; 201 } 202 203 public static class AssetLocationTypeCode { 204 public static final String OFF_CAMPUS = "O"; 205 public static final String BORROWER = "B"; 206 public static final String BORROWER_STORAGE = "BS"; 207 public static final String RETIREMENT = "R"; 208 } 209 210 public static class AssetRetirementGlobal { 211 public static final String ASSET_LOOKUPABLE_ID = "assetLookupable"; 212 public static final String DOCUMENT_HEADER = "documentHeader"; 213 public static final String SECTION_ID_ASSET_DETAIL_INFORMATION = "Asset Detail Information"; 214 public static final String SECTION_ID_EXTERNAL_TRANSFER_OR_GIFT = "ExternalTransferOrGift"; 215 public static final String SECTION_ID_AUCTION_OR_SOLD = "AuctionOrSold"; 216 public static final String SECTION_ID_THEFT = "Theft"; 217 public static final String SECTION_TARGET_ASSET_RETIREMENT_INFO = "Retirement Target Information"; 218 public static final String DOCUMENT_TYPE_CODE = "ARG"; 219 public static final String CAPITALIZATION_LINE_DESCRIPTION = "CAPITALIZATION_LINE_DESCRIPTION"; 220 public static final String ACCUMULATED_DEPRECIATION_LINE_DESCRIPTION = "ACCUMULATED_DEPRECIATION_LINE_DESCRIPTION"; 221 public static final String OFFSET_AMOUNT_LINE_DESCRIPTION = "OFFSET_AMOUNT_LINE_DESCRIPTION"; 222 public static final String MERGE_AN_ASSET_DESCRIPTION = "Merge an Asset"; 223 } 224 225 public static class AssetRetirementReasonCode { 226 public static final String SOLD = "1"; 227 public static final String GIFT = "6"; 228 public static final String THEFT = "7"; 229 public static final String EXTERNAL_TRANSFER = "9"; 230 public static final String AUCTION = "A"; 231 public static final String MERGED = "M"; 232 } 233 234 public static class RetirementLabel { 235 public static final String BUYER_DESCRIPTION = "Buyer Description"; 236 public static final String SALE_PRICE = "Sale Price"; 237 public static final String CASH_RECEIPT_FINANCIAL_DOCUMENT_NUMBER = "Cash Receipt Financial Document Number"; 238 public static final String RETIREMENT_INSTITUTION_NAME = "Retirement Institution Name"; 239 public static final String PAID_CASE_NUMBER = "Police Case Number"; 240 } 241 242 public static class Asset { 243 public static final String DEPRECIATION_METHOD_SALVAGE_VALUE_CODE = "SV"; 244 public static final String DEPRECIATION_METHOD_STRAIGHT_LINE_CODE = "SL"; 245 public static final String CONDITION_CODE_E = "E"; 246 public static final String PRE_ASSET_TAGGING_FILE_TYPE_INDENTIFIER = "preAssetTaggingFileType"; 247 public static final String VENDOR_NAME_CONSTRUCTED = "CONSTRUCTED"; 248 public static final String ACQUISITION_TYPE_CODE_C = "C"; 249 public static final String NON_TAGGABLE_ASSET = "N"; 250 public static final int ASSET_MAXIMUM_NUMBER_OF_PAYMENT_DISPLAY = 10; 251 public static final String SECTION_ID_FABRICATION_INFORMATION = "fabricationInformation"; 252 public static final String SECTION_ID_LAND_INFORMATION = "landInformation"; 253 public static final String SECTION_ID_PAYMENT_INFORMATION = "paymentInformation"; 254 public static final String SECTION_ID_PAYMENT_LOOKUP = "paymentLookup"; 255 public static final String SECTION_ID_DOCUMENT_LOOKUP = "documentLookup"; 256 public static final String SECTION_ID_DEPRECIATION_INFORMATION = "depreciationInformation"; 257 public static final String SECTION_ID_MERGE_HISTORY = "mergeHistory"; 258 public static final String SECTION_ID_HISTORY = "history"; 259 public static final String SECTION_ID_RETIREMENT_INFORMATION = "retirementInformation"; 260 public static final String SECTION_ID_EQUIPMENT_LOAN_INFORMATION = "equipmentLoanInformation"; 261 public static final String SECTION_ID_WARRENTY = "warrenty"; 262 public static final String SECTION_ID_REPAIR_HISTORY = "repairHistory"; 263 public static final String COLLECTION_ID_ASSET_REPAIR_HISTORY = "assetRepairHistory"; 264 public static final String SECTION_ID_COMPONENTS = "components"; 265 public static final String SECTION_ID_LOAN_INFORMATION = "equipmentLoanInformation"; 266 public static final String[] EDIT_DETAIL_INFORMATION_FIELDS = new String[] { CamsPropertyConstants.Asset.ASSET_DATE_OF_SERVICE, CamsPropertyConstants.Asset.CAMPUS_TAG_NUMBER, CamsPropertyConstants.Asset.GOVERNMENT_TAG_NUMBER, CamsPropertyConstants.Asset.NATIONAL_STOCK_NUMBER, CamsPropertyConstants.Asset.MANUFACTURER_NAME, CamsPropertyConstants.Asset.MANUFACTURER_MODEL_NUMBER, CamsPropertyConstants.Asset.SERIAL_NUMBER, CamsPropertyConstants.Asset.CAMPUS_TAG_NUMBER, CamsPropertyConstants.Asset.OLD_TAG_NUMBER, CamsPropertyConstants.Asset.TOTAL_COST_AMOUNT, CamsPropertyConstants.Asset.FEDERAL_CONTRIBUTION, CamsPropertyConstants.Asset.ASSET_DEPRECIATION_DATE, CamsPropertyConstants.Asset.FINANCIAL_OBJECT_SUB_TYP_CODE }; 267 public static final String[] EDIT_ORGANIZATION_INFORMATION_FIELDS = new String[] { CamsPropertyConstants.AssetOrganization.ASSET_ORGANIZATION + "." + CamsPropertyConstants.AssetOrganization.ORGANIZATION_TAG_NUMBER, CamsPropertyConstants.Asset.ESTIMATED_SELLING_PRICE, CamsPropertyConstants.Asset.RECEIVE_DATE, CamsPropertyConstants.Asset.REPLACEMENT_AMOUNT }; 268 public static final String[] FABRICATION_INFORMATION_FIELDS = new String[] { CamsPropertyConstants.Asset.ESTIMATED_FABRICATION_COMPLETION_DATE, CamsPropertyConstants.Asset.FABRICATION_ESTIMATED_RETENTION_YEARS, CamsPropertyConstants.Asset.FABRICATION_ESTIMATED_TOTAL_AMOUNT }; 269 public static final String SECTION_TITLE_NO_PAYMENT = "- No payment exists for Capital Asset: "; 270 } 271 272 public static class AssetPayment { 273 public static final String TRANSFER_PAYMENT_CODE_N = "N"; 274 public static final String TRANSFER_PAYMENT_CODE_Y = "Y"; 275 public static final String ASSET_PAYMENT_DIFFERENT_OBJECT_SUB_TYPE_CONFIRMATION_QUESTION = "AssetPaymentDifferentObjectSubTypeQuestion"; 276 } 277 278 public static class DepreciationConvention { 279 public static final String CREATE_DATE = "CD"; 280 public static final String HALF_YEAR = "HY"; 281 public static final String FULL_YEAR = "FY"; 282 } 283 284 public static class EquipmentLoanOrReturnEditMode extends EditMode { 285 public static final String DISPLAY_NEW_LOAN_TAB = "displayNewLoanTab"; 286 public static final String DISPLAY_RETURN_LOAN_FIELDS_READ_ONLY = "displayReturnLoanFieldsReadOnly"; 287 } 288 289 public static class AssetGlobal { 290 public static final String CAPITAL_OBJECT_ACQUISITION_CODE_PARAM = "CAPITAL_OBJECT_ACQUISITION_CODES"; 291 public static final String NON_NEW_ACQUISITION_GROUP_PARAM = "NON_NEW_ACQUISITION_CODES"; 292 public static final String NEW_ACQUISITION_CODE_PARAM = "NEW_ACQUISITION_CODE"; 293 public static final String FABRICATED_ACQUISITION_CODE = "FABRICATED_ACQUISITION_CODE"; 294 public static final String PRE_TAGGING_ACQUISITION_CODE = "PRE_TAGGING_ACQUISITION_CODE"; 295 public static final String PRE_TAGGING_ACQUISITION_TYPE_CODE = "P"; 296 public static final String LINE_DESCRIPTION_PAYMENT = "Payment"; 297 public static final String LINE_DESCRIPTION_PAYMENT_OFFSET = "Payment Offset"; 298 public static final String SECTION_ID_ASSET_ACQUISITION_TYPE = "assetAcquisitionType"; 299 public static final String SECTION_ID_ASSET_INFORMATION = "assetInformation"; 300 public static final String SECTION_ID_RECALCULATE_SEPARATE_SOURCE_AMOUNT = "recalculateSeparateSourceAmount"; 301 } 302 303 public static class AssetSeparate { 304 public static final String CALCULATE_EQUAL_SOURCE_AMOUNTS_BUTTON = "calculateEqualSourceAmountsButton"; 305 public static final String CALCULATE_SEPARATE_SOURCE_REMAINING_AMOUNT_BUTTON = "calculateSeparateSourceRemainingAmountButton"; 306 public static final String SEPARATE_AN_ASSET_DESCRIPTION = "Separate an Asset"; 307 } 308 309 public static class GLPostingObjectCodeType { 310 public static final String CAPITALIZATION = "Capitalization"; 311 public static final String ACCUMMULATE_DEPRECIATION = "Accummulate Depreciation"; 312 public static final String OFFSET_AMOUNT = "Offset Amount"; 313 public static final String INCOME = "Income"; 314 } 315 316 public static class Postable { 317 public static final String GL_BALANCE_TYPE_CODE_AC = "AC"; 318 } 319 320 public static class AssetTransfer { 321 public static final String DOCUMENT_TYPE_CODE = "AT"; 322 } 323 324 325 public static class PreAssetTagging { 326 public static final String SECTION_ID_PREASSET_TAGGING_DETAIL = "Edit List of Pre-Asset Tagging Details"; 327 } 328 329 public static final String defaultLockingInformation = "-1"; 330 }