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    
019    /**
020     * Holds error key constants.
021     */
022    public class CamsKeyConstants {
023        public static final String CONTINUE_QUESTION = "document.question.continue.text";
024        public static final String ERROR_INVALID_BUILDING_CODE = "error.invalid.building.code";
025        public static final String ERROR_INVALID_ROOM_NUMBER = "error.invalid.room.number";
026        public static final String ERROR_INVALID_IN_SERVICE_DATE = "error.invalid.in.service.date";
027        public static final String ERROR_BLANK_IN_SERVICE_DATE_DISALLOWED = "error.blank.in.service.date.disallowed";
028        public static final String MESSAGE_BATCH_UPLOAD_TITLE_PRE_ASSET_TAGGING = "message.batchUpload.title.pre.asset.tagging";
029        public static final String ERROR_INVALID_ASSET_WARRANTY_NO = "error.invalid.asset.warranty.no";
030        public static final String ERROR_CAPITAL_ASSET_VENDOR_NAME_REQUIRED = "error.capital.asset.vendor.name.required";
031        public static final String ERROR_TAG_NUMBER_DUPLICATE = "error.tag.number.duplicate";
032        public static final String ERROR_ASSET_RETIRED_CAPITAL = "error.asset.retired.capital";
033        public static final String ERROR_ASSET_RETIRED_NON_CAPITAL_ACTIVE = "error.asset.retired.non.capital.active";
034        public static final String ERROR_ASSET_RETIRED_ACT_NON_CAPITAL_2003 = "error.asset.retired.act.non.capital.2003";
035        public static final String ERROR_FABRICATION_ESTIMATED_TOTAL_AMOUNT_REQUIRED = "error.asset.fabrication.totalAmount.required";
036        public static final String ERROR_ESTIMATED_FABRICATION_COMPLETION_DATE_REQUIRED = "error.asset.fabrication.completionDate.required";
037        public static final String ERROR_ESTIMATED_FABRICATION_LIFE_LIMIT_REQUIRED = "error.asset.fabrication.lifeLimit.required";
038        public static final String ERROR_FABRICATION_ESTIMATED_TOTAL_AMOUNT_NEGATIVE = "error.asset.fabrication.totalAmount.negative";
039        public static final String ERROR_ESTIMATED_FABRICATION_LIFE_LIMIT_NEGATIVE = "error.asset.fabrication.lifeLimit.negative";
040        public static final String ORGANIZATION_OWNER_ACCOUNT_INACTIVE = "error.asset.org.owner.account.inactive";
041        public static final String ORGANIZATION_OWNER_ACCOUNT_INVALID = "error.asset.org.owner.account.invalid";
042        public static final String ERROR_ESTIMATED_FABRICATION_COMPLETION_DATE_PAST = "error.asset.fabrication.completionDate.past";
043    
044        public static class Depreciation {
045            public static final String NO_ELIGIBLE_FOR_DEPRECIATION_ASSETS_FOUND = "error.batch.depreciation.assetsNotFound";
046            public static final String ERROR_WHEN_CALCULATING_BASE_AMOUNT = "error.batch.depreciation.baseAmountCalculationError";
047            public static final String ERROR_WHEN_CALCULATING_DEPRECIATION = "error.batch.depreciation.calculationError";
048            public static final String ERROR_WHEN_UPDATING_GL_PENDING_ENTRY_TABLE = "error.batch.depreciation.glpeUpdateError";
049            public static final String DEPRECIATION_DATE_PARAMETER_NOT_FOUND = "error.batch.depreciation.depreciationDateNotFound";
050            public static final String INVALID_DEPRECIATION_DATE_FORMAT = "error.batch.depreciation.invalidDepreciationDateFormat";
051            public static final String DEPRECIATION_ALREADY_RAN_MSG = "error.batch.depreciation.alreadyRan";
052            public static final String MSG_REPORT_DEPRECIATION_HEADING1 = "message.batch.report.depreciation.heading.description";
053            public static final String MSG_REPORT_DEPRECIATION_HEADING2 = "message.batch.report.depreciation.heading.figures";
054        }
055    
056        public static class Payment {
057            public static final String ERROR_INVALID_DOC_POST_DATE = "error.payment.invalid.document.postdate";
058            public static final String ERROR_INVALID_OBJECT_SUBTYPE = "error.asset.payment.invalidObjectSubtypeCode";
059            public static final String WARNING_NOT_SAME_OBJECT_SUB_TYPES = "warning.payment.object.subtype.not_the_same";
060            public static final String ERROR_NON_CAPITAL_ASSET = "error.non.capital.asset.payment";
061            public static final String ERROR_ASSET_EXISTS_IN_DOCUMENT = "error.asset.exists.in.payment.document";
062            public static final String ERROR_NON_ASSETS_IN_DOCUMENT = "error.payment.document.noAssetsInDocumentFound";
063            public static final String ERROR_NON_ZERO_COST_ASSETS_ALLOWED = "error.payment.document.noZeroValueAssetsAllowed";
064            public static final String ERROR_POSTING_DATE_FUTURE_NOT_ALLOWED = "error.posting.date.future.notallowed";
065        }
066    
067        public static class Transfer {
068            public static final String ERROR_ASSET_RETIRED_NOTRANSFER = "error.asset.retired.notransfer";
069            public static final String ERROR_CAMPUS_PLANT_FUND_UNKNOWN = "error.campus.plant.fund.unknown";
070            public static final String ERROR_ORG_PLANT_FUND_UNKNOWN = "error.org.plant.fund.unknown";
071            public static final String ERROR_OWNER_ACCT_NOT_ACTIVE = "error.account.notactive";
072            public static final String ERROR_OWNER_CHART_CODE_INVALID = "error.receiving.org.chart.code.invalid";
073            public static final String ERROR_OWNER_ACCT_INVALID = "error.receiving.org.acct.invalid";
074            public static final String ERROR_TRFR_FDOC_INVALID = "error.transfer.fund.financial.doc.invalid";
075            public static final String ERROR_TRFR_FDOC_REQUIRED = "error.transfer.fund.financial.doc.required";
076            public static final String ERROR_TRFR_LOANED = "error.transfer.asset.loaned";
077            public static final String ASSET_LOAN_NOTE = "note.asset.loan.active";
078            public static final String ERROR_INVALID_USER_AUTH_ID = "error.representative.user.invalid";
079            public static final String ERROR_PAYMENT_OBJECT_CODE_NOT_FOUND = "error.transfer.document.payment.objectcode.doesnt.exists";
080            public static final String ERROR_INVALID_USER_GROUP_FOR_TRANSFER_NONMOVABLE_ASSET = "error.invalid.user.group.for.transfer.nonmoveable.asset";
081            public static final String MESSAGE_NO_LEDGER_ENTRY_REQUIRED_TRANSFER = "message.no.ledger.entry.required.transfer";
082        }
083    
084        public static class GLPosting {
085            public static final String ERROR_ASSET_OBJECT_CODE_NOT_FOUND = "error.asset.object.code.not.found";
086            public static final String ERROR_ASSET_OBJECT_CODE_INACTIVE = "error.asset.object.code.inactive";
087            public static final String ERROR_OBJECT_CODE_FROM_ASSET_OBJECT_CODE_NOT_FOUND = "error.object.code.from.asset.object.code.not.found";
088            public static final String ERROR_OBJECT_CODE_FROM_ASSET_OBJECT_CODE_INACTIVE = "error.object.code.from.asset.object.code.inactive";
089            public static final String ERROR_OBJECT_CODE_FROM_ASSET_OBJECT_CODE_INVALID = "error.object.code.from.asset.object.code.invalid";
090        }
091    
092        public static class AssetLocation {
093            public static final String ERROR_INVALID_BUILDING_CODE = "error.invalid.building.code";
094            public static final String ERROR_INVALID_CAMPUS_CODE = "error.invalid.campus.code";
095            public static final String ERROR_INVALID_ROOM_NUMBER = "error.invalid.room.code";
096            public static final String ERROR_INVALID_OFF_CAMPUS_STATE = "error.invalid.state.code";
097            public static final String ERROR_INVALID_STATE_ZIP_CODE = "error.invalid.state.zip.code";
098            public static final String ERROR_INVALID_ZIP_CODE = "error.invalid.zip.code";
099            public static final String ERROR_LOCATION_INFO_REQUIRED = "error.location.info.required";
100            public static final String ERROR_ONCAMPUS_BUILDING_CODE_REQUIRED = "error.oncampus.building.value.required";
101            public static final String ERROR_ONCAMPUS_BUILDING_ROOM_NUMBER_REQUIRED = "error.oncampus.room.number.required";
102            public static final String ERROR_OFFCAMPUS_ADDRESS_REQUIRED = "error.offcampus.address.required";
103            public static final String ERROR_OFFCAMPUS_CITY_REQUIRED = "error.offcampus.city.required";
104            public static final String ERROR_OFFCAMPUS_STATE_REQUIRED = "error.offcampus.state.required";
105            public static final String ERROR_OFFCAMPUS_ZIP_REQUIRED = "error.offcampus.zip.required";
106            public static final String ERROR_OFFCAMPUS_CONTACT_REQUIRED = "error.offcampus.contactName.required";
107            public static final String ERROR_OFFCAMPUS_COUNTRY_REQUIRED = "error.offcampus.country.required";
108            public static final String ERROR_CHOOSE_LOCATION_INFO = "error.location.choose.right";
109            public static final String ERROR_LOCATION_OFF_CAMPUS_NOT_PERMITTED = "error.location.offcampus.not.permitted";
110            public static final String ERROR_LOCATION_ON_CAMPUS_NOT_PERMITTED = "error.location.oncampus.not.permitted";
111            public static final String ERROR_ONCAMPUS_BUILDING_ROOM_NUMBER_NOT_PERMITTED = "error.oncampus.room.number.not.permitted";
112            public static final String ERROR_ONCAMPUS_SUB_ROOM_NUMBER_NOT_PERMITTED = "error.oncampus.sub.room.number.not.permitted";
113            public static final String ERROR_CHOOSE_ASSET_TYPE = "error.choose.asset.type.validate.location";
114            public static final String ERROR_LOCATION_NOT_PERMITTED_ASSET_TYPE = "error.location.not.permitted.asset.type";
115            public static final String ERROR_ASSET_LOCATION_ROOM_NUMBER_NONMOVEABLE = "error.asset.location.room.number.nonmoveable";
116        }
117    
118        public static class Retirement {
119            public static final String ERROR_RETIREMENT_DETAIL_INFO_NULL = "error.retirement.detail.info.null";
120            public static final String ERROR_INVALID_RETIREMENT_DETAIL_INFO = "error.invalid.retirement.detail.info";
121            public static final String ERROR_INVALID_MERGED_TARGET_ASSET_NUMBER = "error.invalid.merged.target.asset.number";
122            public static final String ERROR_NON_CAPITAL_ASSET_RETIREMENT = "error.non.capital.asset.retirment";
123            public static final String ERROR_NON_ACTIVE_ASSET_RETIREMENT = "error.non.active.asset.retirment";
124            public static final String ERROR_INVALID_CAPITAL_ASSET_NUMBER = "error.invalid.capital.asset.number";
125            public static final String ERROR_DUPLICATE_CAPITAL_ASSET_NUMBER_WITH_TARGET = "error.duplicate.capital.asset.number.with.target";
126            public static final String ERROR_INVALID_USER_GROUP_FOR_NON_MOVEABLE_ASSET = "error.invalid.user.group.for.nonmoveable.asset";
127            public static final String ERROR_BLANK_CAPITAL_ASSET_NUMBER = "error.blank.capital.asset.number";
128            public static final String ERROR_ASSET_RETIREMENT_GLOBAL_NO_ASSET = "error.asset.retirement.global.no.asset";
129            public static final String ERROR_DISALLOWED_MERGE_RETIREMENT_REASON_CODE = "error.disallowed.merge.retirement.reason.code";
130            public static final String ERROR_DISALLOWED_RETIREMENT_REASON_CODE = "error.disallowed.retirement.reason.code";
131            public static final String ERROR_DISALLOWED_MERGE_SEPARATE_REASON_CODE = "error.disallowed.merge.separate.reason.code";
132            public static final String ERROR_DISALLOWED_RAZE_REASON_CODE = "error.disallowed.raze.reason.code";
133            public static final String ERROR_MULTIPLE_ASSET_RETIRED = "error.multiple.asset.retired";
134            public static final String ERROR_LOANED_ASSET_CANNOT_RETIRED = "error.retirement.asset.loaned";
135            public static final String MESSAGE_NO_LEDGER_ENTRY_REQUIRED_RETIREMENT = "message.no.ledger.entry.required.retirement";
136        }
137    
138        public static class AssetLocationGlobal {
139            public static final String ERROR_INVALID_CAPITAL_ASSET_NUMBER = "error.asset.location.invalid.capital.asset.number";
140            public static final String ERROR_INVALID_CAMPUS_CODE = "error.asset.location.invalid.campus.code";
141            public static final String ERROR_INVALID_BUILDING_CODE = "error.asset.location.invalid.building.code";
142            public static final String ERROR_INVALID_ROOM_NUMBER = "error.asset.location.invalid.room.code";
143            public static final String ERROR_INVALID_ROOM_NUMBER_FOR_CAMPUS = "error.asset.location.invalid.room.code.for.campus";
144            public static final String ERROR_TAG_NUMBER_REQUIRED = "error.asset.location.tag.number.required";
145            public static final String ERROR_DUPLICATE_TAG_NUMBER_FOUND = "error.asset.location.duplicate.tag.number";
146            public static final String ERROR_DUPLICATE_TAG_NUMBER_WITHIN_DOCUMENT = "error.asset.location.duplicate.tag.within.document";
147            public static final String ERROR_ASSET_LOCATION_GLOBAL_NO_ASSET_DETAIL = "error.asset.location.no.asset.location.detail.line";
148            public static final String ERROR_CAMPUS_CODE_REQUIRED = "error.asset.location.campus.code.required";
149            public static final String ERROR_BUILDING_CODE_REQUIRED = "error.asset.location.building.code.required";
150            public static final String ERROR_ROOM_NUMBER_REQUIRED = "error.asset.location.room.number.required";
151            public static final String ERROR_ASSET_AUTHORIZATION = "error.asset.authorization";
152        }
153    
154        public static class BarcodeInventory {
155            public static final String TITLE_BAR_CODE_INVENTORY = "message.upload.title.barCodeInventory";
156            public static final String ERROR_INVALID_FIELD = "error.document.invalid.field";
157            public static final String ERROR_CAPITAL_ASSET_DOESNT_EXIST = "error.document.capitalAsset.not.found";
158            public static final String ERROR_CAPITAL_ASSET_IS_RETIRED = "error.document.capitalAsset.retired";
159            public static final String ERROR_DUPLICATED_TAG_NUMBER = "error.document.duplicated.tagNumber";
160            public static final String ERROR_ASSET_LOCKED = "error.document.locked.asset";
161            public static final String ERROR_INVALID_FILE_TYPE = "error.uploadFile.invalid.type";
162            public static final String ERROR_INACTIVE_FIELD = "error.document.inactive.field";
163            public static final String ERROR_APPROVE_DOCUMENT_WITH_ERROR_EXIST = "error.approve.document.with.error.exist";
164            public static final String ERROR_RECORDS_NO_SELECTED = "error.document.records_no_selected";
165            public static final String ERROR_CHECKBOX_MUST_BE_CHECKED = "error.checkbox.must.be.checked";
166            public static final String ERROR_GLOBAL_REPLACE_SEARCH_CRITERIA = "error.global.replace.empty.fields";
167            public static final String ERROR_VALIDATE_ITEMS_BEFORE_APPROVE = "error.validate.items.before.approval";
168        }
169    
170        public static class EquipmentLoanOrReturn {
171            public static final String ERROR_INVALID_BORROWER_ID = "error.invalid.borrower.id";
172            public static final String ERROR_INVALID_LOAN_DATE = "error.invalid.loan.date";
173            public static final String ERROR_INVALID_EXPECTED_RETURN_DATE = "error.invalid.expected.return.date";
174            public static final String ERROR_INVALID_EXPECTED_MAX_DATE = "error.invalid.expected.max.date";
175            public static final String ERROR_INVALID_LOAN_RETURN_DATE = "error.invalid.loan.return.date";
176            public static final String ERROR_INVALID_BORROWER_STATE = "error.invalid.borrower.state.code";
177            public static final String ERROR_INVALID_BORROWER_STORAGE_STATE = "error.invalid.borrower.storage.state.code";
178            public static final String ERROR_BORROWER_STORAGE_STATE_REQUIRED = "error.borrower.storage.state.required";
179            public static final String ERROR_BORROWER_STORAGE_ZIP_REQUIRED = "error.borrower.storage.zip.required";
180            public static final String ERROR_CAMPUS_TAG_NUMBER_REQUIRED = "error.campus.tag.number.required";
181        }
182    
183        public static class AssetGlobal {
184            public static final String ERROR_INVENTORY_STATUS_REQUIRED = "error.asset.inventory.status.code.required";
185            public static final String ERROR_INVENTORY_STATUS_REQUIRED_FOR_PAYMENT = "error.asset.inventory.status.code.required.for.payment";
186            public static final String ERROR_OWNER_ACCT_NOT_ACTIVE = "error.asset.owner.account.not.active";
187            public static final String ERROR_PAYMENT_ACCT_NOT_VALID = "error.asset.payment.account.not.valid";
188            public static final String MIN_ONE_ASSET_REQUIRED = "error.document.min.one.asset.required";
189            public static final String MIN_ONE_PAYMENT_REQUIRED = "error.document.min.one.payment.required";
190            public static final String ERROR_VENDOR_NAME_REQUIRED = "error.capital.asset.vendor.name.required";
191            public static final String ERROR_MFR_NAME_REQUIRED = "error.capital.asset.manufacturer.name.required";
192            public static final String ERROR_ACQUISITION_TYPE_CODE_REQUIRED = "error.acquisition.code.required";
193            //public static final String ERROR_ACQUISITION_TYPE_CODE_NOT_ALLOWED = "error.acquisition.code.not.allowed";
194            //public static final String ERROR_INACTIVE_ACQUISITION_TYPE_CODE = "error.inactive.acquisition.code";
195            public static final String ERROR_OWNER_CHART_INVALID = "error.asset.owner.chart.code.invalid";
196            public static final String ERROR_OWNER_ACCT_NUMBER_INVALID = "error.asset.owner.account.number.invalid";
197            public static final String ERROR_CAMPUS_TAG_NUMBER_DUPLICATE = "error.asset.campus.tag.number.duplicate";
198            public static final String ERROR_CAPITAL_OBJECT_CODE_NOT_ALLOWED = "error.capital.object.code.not.allowed";
199            public static final String ERROR_CAPITAL_OBJECT_CODE_INVALID = "error.capital.object.code.invalid";
200            public static final String ERROR_DOCUMENT_TYPE_CODE_NOT_ALLOWED = "error.document.type.code.not.allowed";
201            public static final String ERROR_ASSET_TYPE_REQUIRED = "error.valid.capital.asset.type.required";
202            public static final String ERROR_ASSET_LOCATION_DEPENDENCY = "error.asset.location.validation.dependecy";
203            public static final String ERROR_ASSET_PAYMENT_DEPENDENCY = "error.asset.payment.validation.dependecy";
204            public static final String ERROR_CAPITAL_ASSET_PAYMENT_AMOUNT_MIN = "error.capital.asset.payment.min.limit";
205            public static final String ERROR_NON_CAPITAL_ASSET_PAYMENT_AMOUNT_MAX = "error.noncapital.asset.payment.max.limit";
206            public static final String ERROR_DOCUMENT_POSTING_DATE_REQUIRED = "error.document.posting.date.required";
207            public static final String ERROR_INVALID_PAYMENT_AMOUNT = "error.payment.amount.invalid";
208            public static final String ERROR_EXPENDITURE_FINANCIAL_DOCUMENT_NUMBER_REQUIRED = "error.expenditure.financial.document.number.required";
209            public static final String ERROR_EXPENDITURE_FINANCIAL_DOCUMENT_TYPE_CODE_REQUIRED = "error.expenditure.financial.document.type.code.required";
210            public static final String ERROR_FINANCIAL_DOCUMENT_POSTING_YEAR_REQUIRED = "error.financial.document.posting.year.required";
211            public static final String ERROR_UNIVERSITY_NOT_DEFINED_FOR_DATE = "error.university.not.defined.for.date";
212            public static final String ERROR_SEPARATE_ASSET_TOTAL_COST_NOT_MATCH_PAYMENT_TOTAL_COST = "error.separate.asset.total.cost.not.match.payment.total.cost";
213            public static final String ERROR_SEPARATE_ASSET_ALREADY_SEPARATED = "error.separate.asset.already.separated";
214            public static final String ERROR_INVALID_ACQUISITION_INCOME_OBJECT_CODE = "error.invalid.acquisition.income.object.code";
215            public static final String ERROR_CHANGE_ASSET_TOTAL_AMOUNT_DISALLOW = "error.change.asset.total.amount.disallow";
216        }
217    
218        public static class AssetSeparate {
219            public static final String ERROR_ASSET_SPLIT_MAX_LIMIT = "error.max.payments.limit";
220            public static final String ERROR_CAPITAL_ASSET_TYPE_CODE_REQUIRED = "error.capital.asset.type.code.required";
221            public static final String ERROR_CAPITAL_ASSET_TYPE_CODE_INVALID = "error.capital.asset.type.code.invalid";
222            public static final String ERROR_ASSET_DESCRIPTION_REQUIRED = "error.asset.description.required";
223            public static final String ERROR_MANUFACTURER_REQUIRED = "error.manufacturer.required";
224            public static final String ERROR_NON_CAPITAL_ASSET_SEPARATE_REQUIRED = "error.non.active.capital.asset.required";
225            public static final String ERROR_TOTAL_SEPARATE_SOURCE_AMOUNT_REQUIRED = "error.total.separate.source.amount.required";
226            public static final String ERROR_INVALID_TOTAL_SEPARATE_SOURCE_AMOUNT = "error.total.separate.source.amount.invalid";
227            public static final String ERROR_ZERO_OR_NEGATIVE_DOLLAR_AMOUNT = "error.zero.or.negative.dollar.amount";
228            public static final String ERROR_ZERO_OR_NEGATIVE_LOCATION_QUANTITY = "error.zero.or.negative.location.quantity";
229            public static final String ERROR_SEPARATE_ASSET_BELOW_THRESHOLD = "error.separate.asset.below.threshold";
230        }
231    
232        public static class Asset {
233            public static final String ERROR_INVALID_SALVAGE_AMOUNT = "error.asset.salvage.amount.not.valid";
234            // for use with Asset Edit
235            public static final String ERROR_OWNER_INVALID = "error.owner.invalid";
236            public static final String ERROR_ACQUISITION_TYPE_CODE_INVALID = "error.acquisition.type.code.invalid";
237            public static final String ERROR_ASSET_STATUS_INVALID = "error.asset.status.invalid";
238            public static final String ERROR_ASSET_CONDITION_INVALID = "error.asset.condition.invalid";
239            public static final String ERROR_TYPE_CODE_INVALID = "error.type.code.invalid";
240            public static final String ERROR_FINANCIAL_OBJECT_SUBTYPE_CODE_INVALID = "error.financial.object.subtype.code.invalid";
241            public static final String ERROR_DEPRECATION_METHOD_CODE_INVALID = "error.deprecation.method.code.invalid";
242            
243            public static final String ERROR_OWNER_INACTIVE = "error.owner.inactive";
244            public static final String ERROR_ACQUISITION_TYPE_CODE_INACTIVE = "error.acquisition.type.code.inactive";
245            public static final String ERROR_ASSET_STATUS_INACTIVE = "error.asset.status.inactive";
246            public static final String ERROR_ASSET_CONDITION_INACTIVE = "error.asset.condition.inactive";
247            public static final String ERROR_TYPE_CODE_INACTIVE = "error.type.code.inactive";
248            public static final String ERROR_FINANCIAL_OBJECT_SUBTYPE_CODE_INACTIVE = "error.financial.object.subtype.code.inactive";
249            public static final String ERROR_DEPRECATION_METHOD_CODE_INACTIVE = "error.deprecation.method.code.inactive";
250        }
251    
252        public static class AssetRepairHistory {
253            public static final String ERROR_DUPLICATE_INCIDENT_DATE = "error.duplicate.incident.date";
254        }
255    
256        public static class AssetLock {
257            public static final String ERROR_ASSET_LOCKED = "error.asset.locked";
258            public static final String ERROR_ASSET_MAINTENANCE_LOCKED = "error.asset.maintenance.locked";
259        }
260        
261        public static class PreTag {
262            public static final String ERROR_PRE_TAG_INVALID_REPRESENTATIVE_ID = "error.invalid.representative.id";
263            public static final String ERROR_PRE_TAG_NUMBER = "error.invalid.pre.tag.number";
264            public static final String ERROR_PRE_TAG_DETAIL_EXCESS = "error.pre.tag.detail.excess";
265        }
266    }