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 }