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.businessobject;
017    
018    import java.sql.Date;
019    import java.sql.Timestamp;
020    import java.util.ArrayList;
021    import java.util.LinkedHashMap;
022    import java.util.List;
023    import java.util.Properties;
024    
025    import org.apache.commons.lang.StringUtils;
026    import org.kuali.kfs.coa.businessobject.Account;
027    import org.kuali.kfs.coa.businessobject.AccountingPeriod;
028    import org.kuali.kfs.coa.businessobject.Chart;
029    import org.kuali.kfs.coa.businessobject.ObjectSubType;
030    import org.kuali.kfs.integration.cam.CapitalAssetManagementAsset;
031    import org.kuali.kfs.integration.cg.ContractsAndGrantsAgency;
032    import org.kuali.kfs.module.cam.CamsConstants;
033    import org.kuali.kfs.module.cam.CamsPropertyConstants;
034    import org.kuali.kfs.module.cam.document.service.PaymentSummaryService;
035    import org.kuali.kfs.sys.KFSConstants;
036    import org.kuali.kfs.sys.businessobject.Building;
037    import org.kuali.kfs.sys.businessobject.Room;
038    import org.kuali.kfs.sys.context.SpringContext;
039    import org.kuali.kfs.sys.service.UniversityDateService;
040    import org.kuali.rice.kew.docsearch.DocSearchCriteriaDTO;
041    import org.kuali.rice.kew.util.KEWConstants;
042    import org.kuali.rice.kim.bo.Person;
043    import org.kuali.rice.kns.bo.Campus;
044    import org.kuali.rice.kns.bo.DocumentHeader;
045    import org.kuali.rice.kns.bo.PersistableBusinessObjectBase;
046    import org.kuali.rice.kns.service.DateTimeService;
047    import org.kuali.rice.kns.service.KualiModuleService;
048    import org.kuali.rice.kns.util.KNSConstants;
049    import org.kuali.rice.kns.util.KualiDecimal;
050    import org.kuali.rice.kns.util.ObjectUtils;
051    import org.kuali.rice.kns.util.TypedArrayList;
052    import org.kuali.rice.kns.util.UrlFactory;
053    
054    /**
055     * @author Kuali Nervous System Team (kualidev@oncourse.iu.edu)
056     */
057    public class Asset extends PersistableBusinessObjectBase implements CapitalAssetManagementAsset {
058        private Long capitalAssetNumber;
059        private String capitalAssetDescription;
060        private String capitalAssetTypeCode;
061        private String conditionCode;
062        private Date createDate;
063        private Date receiveDate;
064        private Date loanReturnDate;
065        private Date loanDate;
066        private Date expectedReturnDate;
067        private String financialDocumentPostingPeriodCode;
068        private Integer financialDocumentPostingYear;
069        private String organizationOwnerAccountNumber;
070        private String organizationOwnerChartOfAccountsCode;
071        private String vendorName;
072        private String acquisitionTypeCode;
073        private KualiDecimal totalCostAmount;
074        private KualiDecimal replacementAmount;
075        private KualiDecimal salePrice;
076        private KualiDecimal estimatedSellingPrice;
077        private KualiDecimal salvageAmount;
078        private String campusCode;
079        private String buildingCode;
080        private String buildingRoomNumber;
081        private String buildingSubRoomNumber;
082        private String retirementChartOfAccountsCode;
083        private String retirementAccountNumber;
084        private String retirementReasonCode;
085        private String retirementPeriodCode;
086        private Integer retirementFiscalYear;
087        private String cashReceiptFinancialDocumentNumber;
088        private String primaryDepreciationMethodCode;
089        private Date estimatedFabricationCompletionDate;
090        private KualiDecimal fabricationEstimatedTotalAmount;
091        private String transferOfFundsFinancialDocumentNumber;
092        private String inventoryStatusCode;
093        private String campusTagNumber;
094        private Timestamp lastInventoryDate;
095        private String organizationInventoryName;
096        private String oldTagNumber;
097        private String manufacturerName;
098        private String manufacturerModelNumber;
099        private String serialNumber;
100        private String representativeUniversalIdentifier;
101        private String agencyNumber;
102        private String campusPoliceDepartmentCaseNumber;
103        private String inventoryScannedCode;
104        private boolean active;
105        private Date capitalAssetInServiceDate;
106        private String governmentTagNumber;
107        private String nationalStockNumber;
108        private String landCountyName;
109        private Integer landAcreageSize;
110        private String landParcelNumber;
111        private Date depreciationDate;
112        private String financialObjectSubTypeCode;
113        private Integer fabricationEstimatedRetentionYears;
114    
115        private AssetType capitalAssetType;
116        private Account organizationOwnerAccount;
117        private Chart organizationOwnerChartOfAccounts;
118        private Campus campus;
119        private Room buildingRoom;
120        private Account retirementAccount;
121        private Chart retirementChartOfAccounts;
122        private AccountingPeriod financialDocumentPostingPeriod;
123        private Building building;
124        private AccountingPeriod retirementPeriod;
125        private AssetRetirementReason retirementReason;
126        private DocumentHeader cashReceiptFinancialDocument;
127        private DocumentHeader transferOfFundsFinancialDocument;
128        private AssetCondition condition;
129        private AssetStatus inventoryStatus;
130        private List<AssetPayment> assetPayments;
131        private Person assetRepresentative;
132        private Person borrowerPerson;
133        private AssetOrganization assetOrganization;
134        private String organizationTagNumber;
135        private List<AssetRepairHistory> assetRepairHistory;
136        private AssetWarranty assetWarranty;
137        private List<AssetComponent> assetComponents;
138        private List<AssetLocation> assetLocations;
139        private List<AssetRetirementGlobalDetail> assetRetirementHistory;
140        private AssetDepreciationMethod assetPrimaryDepreciationMethod;
141        private List<AssetRetirementGlobal> retirementGlobals;
142        private ObjectSubType financialObjectSubType;
143        private AssetAcquisitionType acquisitionType;
144        private ContractsAndGrantsAgency agency;
145    
146    
147        // Non-persisted attributes:
148        private KualiDecimal paymentTotalCost;
149        private transient AssetGlobal separateHistory;
150        private List<AssetRetirementGlobalDetail> mergeHistory;
151        private KualiDecimal federalContribution;
152        private AssetRetirementGlobalDetail retirementInfo;
153        private AssetLocation offCampusLocation;
154        private AssetLocation borrowerLocation;
155        private AssetLocation borrowerStorageLocation;
156        // calculated depreciation amounts
157        private KualiDecimal accumulatedDepreciation;
158        private KualiDecimal baseAmount;
159        private KualiDecimal bookValue;
160        private KualiDecimal prevYearDepreciation;
161        private KualiDecimal yearToDateDepreciation;
162        private KualiDecimal currentMonthDepreciation;
163        private Date depreciationDateCopy;
164        private transient Integer quantity;
165        private String lookup;
166        private String assetTransferDocumentLookup;
167        private String assetMaintenanceDocumentLookup;
168        private String assetFabricationDocumentLookup;
169        private String assetCreateOrSeparateDocumentLookup;
170        private String assetPaymentDocumentLookup;
171        private String assetEquipmentLoanOrReturnDocumentLookup;
172        private String assetLocationDocumentLookup;
173        private String assetMergeOrRetirementDocumentLookup;
174        private String camsComplexMaintenanceDocumentLookup;
175        private boolean tagged;
176    
177        /**
178         * Default constructor.
179         */
180        public Asset() {
181            this.assetPayments = new TypedArrayList(AssetPayment.class);
182            this.assetRepairHistory = new TypedArrayList(AssetRepairHistory.class);
183            this.assetComponents = new TypedArrayList(AssetComponent.class);
184            this.assetLocations = new TypedArrayList(AssetLocation.class);
185            this.assetRetirementHistory = new TypedArrayList(AssetRetirementGlobalDetail.class);
186            this.retirementGlobals = new TypedArrayList(AssetRetirementGlobal.class);
187            this.mergeHistory = new TypedArrayList(AssetRetirementGlobalDetail.class);
188        }
189    
190        /**
191         * Constructs a Asset object. Includes logic to properly set fields depending if it's creating a new asset or separating an
192         * asset
193         * 
194         * @param assetGlobal
195         * @param assetGlobalDetail
196         * @param separate if it's seprate an asset
197         */
198        public Asset(AssetGlobal assetGlobal, AssetGlobalDetail assetGlobalDetail, boolean separate) {
199            this();
200    
201            UniversityDateService universityDateService = SpringContext.getBean(UniversityDateService.class);
202    
203            this.setFinancialDocumentPostingYear(universityDateService.getCurrentUniversityDate().getUniversityFiscalYear());
204            this.setFinancialDocumentPostingPeriodCode(universityDateService.getCurrentUniversityDate().getUniversityFiscalAccountingPeriod());
205            this.setLastInventoryDate(new Timestamp(SpringContext.getBean(DateTimeService.class).getCurrentSqlDate().getTime()));
206    
207            this.setPrimaryDepreciationMethodCode(CamsConstants.Asset.DEPRECIATION_METHOD_STRAIGHT_LINE_CODE);
208    
209            this.setInventoryStatusCode(assetGlobal.getInventoryStatusCode());
210            this.setConditionCode(assetGlobal.getConditionCode());
211            this.setAcquisitionTypeCode(assetGlobal.getAcquisitionTypeCode());
212            this.setLandCountyName(assetGlobal.getLandCountyName());
213            this.setLandAcreageSize(assetGlobal.getLandAcreageSize());
214            this.setLandParcelNumber(assetGlobal.getLandParcelNumber());
215            this.setVendorName(assetGlobal.getVendorName());
216            this.setOrganizationOwnerAccountNumber(assetGlobal.getOrganizationOwnerAccountNumber());
217            this.setOrganizationOwnerChartOfAccountsCode(assetGlobal.getOrganizationOwnerChartOfAccountsCode());
218            this.setAgencyNumber(assetGlobal.getAgencyNumber());
219            this.setCapitalAssetInServiceDate(assetGlobal.getCapitalAssetInServiceDate());
220            this.setDepreciationDate(assetGlobal.getCapitalAssetDepreciationDate());
221            this.setCreateDate(assetGlobal.getCreateDate());
222    
223            this.setCapitalAssetNumber(assetGlobalDetail.getCapitalAssetNumber());
224            this.setCampusCode(assetGlobalDetail.getCampusCode());
225            this.setBuildingCode(assetGlobalDetail.getBuildingCode());
226            this.setBuildingRoomNumber(assetGlobalDetail.getBuildingRoomNumber());
227            this.setBuildingSubRoomNumber(assetGlobalDetail.getBuildingSubRoomNumber());
228            this.setSerialNumber(assetGlobalDetail.getSerialNumber());
229            this.setOrganizationInventoryName(assetGlobalDetail.getOrganizationInventoryName());
230            this.setGovernmentTagNumber(assetGlobalDetail.getGovernmentTagNumber());
231            this.setCampusTagNumber(assetGlobalDetail.getCampusTagNumber());
232            this.setNationalStockNumber(assetGlobalDetail.getNationalStockNumber());
233    
234            AssetOrganization assetOrganization = new AssetOrganization();
235            assetOrganization.setCapitalAssetNumber(assetGlobalDetail.getCapitalAssetNumber());
236            assetOrganization.setOrganizationAssetTypeIdentifier(assetGlobalDetail.getOrganizationAssetTypeIdentifier());
237            this.setAssetOrganization(assetOrganization);
238    
239            this.setActive(true);
240    
241            if (separate) {
242                this.setRepresentativeUniversalIdentifier(assetGlobalDetail.getRepresentativeUniversalIdentifier());
243                this.setCapitalAssetTypeCode(assetGlobalDetail.getCapitalAssetTypeCode());
244                this.setCapitalAssetDescription(assetGlobalDetail.getCapitalAssetDescription());
245                this.setManufacturerName(assetGlobalDetail.getManufacturerName());
246                this.setManufacturerModelNumber(assetGlobalDetail.getManufacturerModelNumber());
247    
248                this.assetOrganization.setOrganizationText(assetGlobalDetail.getOrganizationText());
249            }
250            else {
251                this.setRepresentativeUniversalIdentifier(assetGlobalDetail.getRepresentativeUniversalIdentifier());
252                this.setCapitalAssetTypeCode(assetGlobal.getCapitalAssetTypeCode());
253                this.setCapitalAssetDescription(assetGlobal.getCapitalAssetDescription());
254                this.setManufacturerName(assetGlobal.getManufacturerName());
255                this.setManufacturerModelNumber(assetGlobal.getManufacturerModelNumber());
256    
257                this.assetOrganization.setOrganizationText(assetGlobal.getOrganizationText());
258            }
259        }
260    
261        public KualiDecimal getCurrentMonthDepreciation() {
262            return currentMonthDepreciation;
263        }
264    
265        public void setCurrentMonthDepreciation(KualiDecimal currentMonthDepreciation) {
266            this.currentMonthDepreciation = currentMonthDepreciation;
267        }
268    
269        public KualiDecimal getAccumulatedDepreciation() {
270    
271            // Calculates payment summary and depreciation summary based on available payment records
272            // The value can be null due to it being used as a non-singleton on the AssetRetirementGlobal
273            // page (a list of retired assets). If it were a singleton, each value would get overridden
274            // by the next use on the same page
275            if (this.accumulatedDepreciation == null) {
276                PaymentSummaryService paymentSummaryService = SpringContext.getBean(PaymentSummaryService.class);
277                paymentSummaryService.calculateAndSetPaymentSummary(this);
278            }
279    
280            return accumulatedDepreciation;
281        }
282    
283        public void setAccumulatedDepreciation(KualiDecimal accumulatedDepreciation) {
284            this.accumulatedDepreciation = accumulatedDepreciation;
285        }
286    
287        public KualiDecimal getBaseAmount() {
288            return baseAmount;
289        }
290    
291        public void setBaseAmount(KualiDecimal baseAmount) {
292            this.baseAmount = baseAmount;
293        }
294    
295        public KualiDecimal getBookValue() {
296            // Calculates payment summary and depreciation summary based on available payment records
297            // The value can be null due to it being used as a non-singleton on the AssetRetirementGlobal
298            // page (a list of retired assets). If it were a singleton, each value would get overridden
299            // by the next use on the same page
300            if (this.bookValue == null) {
301                PaymentSummaryService paymentSummaryService = SpringContext.getBean(PaymentSummaryService.class);
302                paymentSummaryService.calculateAndSetPaymentSummary(this);
303            }
304    
305            return bookValue;
306        }
307    
308        public void setBookValue(KualiDecimal bookValue) {
309            this.bookValue = bookValue;
310        }
311    
312        public KualiDecimal getPrevYearDepreciation() {
313            return prevYearDepreciation;
314        }
315    
316        public void setPrevYearDepreciation(KualiDecimal prevYearDepreciation) {
317            this.prevYearDepreciation = prevYearDepreciation;
318        }
319    
320        public KualiDecimal getYearToDateDepreciation() {
321            return yearToDateDepreciation;
322        }
323    
324        public void setYearToDateDepreciation(KualiDecimal yearToDateDepreciation) {
325            this.yearToDateDepreciation = yearToDateDepreciation;
326        }
327    
328    
329        /**
330         * Gets the capitalAssetNumber attribute.
331         * 
332         * @return Returns the capitalAssetNumber
333         */
334        public Long getCapitalAssetNumber() {
335            return capitalAssetNumber;
336        }
337    
338        /**
339         * Sets the capitalAssetNumber attribute.
340         * 
341         * @param capitalAssetNumber The capitalAssetNumber to set.
342         */
343        public void setCapitalAssetNumber(Long capitalAssetNumber) {
344            this.capitalAssetNumber = capitalAssetNumber;
345        }
346    
347    
348        /**
349         * Gets the capitalAssetDescription attribute
350         * 
351         * @return Returns the capitalAssetDescription
352         */
353        public String getCapitalAssetDescription() {
354            return capitalAssetDescription;
355        }
356    
357        /**
358         * Sets the capitalAssetDescription attribute.
359         * 
360         * @param capitalAssetDescription The capitalAssetDescription to set.
361         */
362        public void setCapitalAssetDescription(String capitalAssetDescription) {
363            this.capitalAssetDescription = capitalAssetDescription;
364        }
365    
366    
367        /**
368         * Gets the capitalAssetTypeCode attribute.
369         * 
370         * @return Returns the capitalAssetTypeCode
371         */
372        public String getCapitalAssetTypeCode() {
373            return capitalAssetTypeCode;
374        }
375    
376        /**
377         * Sets the capitalAssetTypeCode attribute.
378         * 
379         * @param capitalAssetTypeCode The capitalAssetTypeCode to set.
380         */
381        public void setCapitalAssetTypeCode(String capitalAssetTypeCode) {
382            this.capitalAssetTypeCode = capitalAssetTypeCode;
383        }
384    
385    
386        /**
387         * Gets the conditionCode attribute.
388         * 
389         * @return Returns the conditionCode
390         */
391        public String getConditionCode() {
392            return conditionCode;
393        }
394    
395        /**
396         * Sets the conditionCode attribute.
397         * 
398         * @param conditionCode The conditionCode to set.
399         */
400        public void setConditionCode(String conditionCode) {
401            this.conditionCode = conditionCode;
402        }
403    
404    
405        /**
406         * Gets the createDate attribute.
407         * 
408         * @return Returns the createDate
409         */
410        public Date getCreateDate() {
411            return createDate;
412        }
413    
414        /**
415         * Sets the createDate attribute.
416         * 
417         * @param createDate The createDate to set.
418         */
419        public void setCreateDate(Date createDate) {
420            this.createDate = createDate;
421        }
422    
423    
424        /**
425         * Gets the receiveDate attribute.
426         * 
427         * @return Returns the receiveDate
428         */
429        public Date getReceiveDate() {
430            return receiveDate;
431        }
432    
433        /**
434         * Sets the receiveDate attribute.
435         * 
436         * @param receiveDate The receiveDate to set.
437         */
438        public void setReceiveDate(Date receiveDate) {
439            this.receiveDate = receiveDate;
440        }
441    
442    
443        /**
444         * Gets the loanReturnDate attribute.
445         * 
446         * @return Returns the loanReturnDate
447         */
448        public Date getLoanReturnDate() {
449            return loanReturnDate;
450        }
451    
452        /**
453         * Sets the loanReturnDate attribute.
454         * 
455         * @param loanReturnDate The loanReturnDate to set.
456         */
457        public void setLoanReturnDate(Date loanReturnDate) {
458            this.loanReturnDate = loanReturnDate;
459        }
460    
461    
462        /**
463         * Gets the loanDate attribute.
464         * 
465         * @return Returns the loanDate
466         */
467        public Date getLoanDate() {
468            return loanDate;
469        }
470    
471        /**
472         * Sets the loanDate attribute.
473         * 
474         * @param loanDate The loanDate to set.
475         */
476        public void setLoanDate(Date loanDate) {
477            this.loanDate = loanDate;
478        }
479    
480    
481        /**
482         * Gets the expectedReturnDate attribute.
483         * 
484         * @return Returns the expectedReturnDate
485         */
486        public Date getExpectedReturnDate() {
487            return expectedReturnDate;
488        }
489    
490        /**
491         * Sets the expectedReturnDate attribute.
492         * 
493         * @param expectedReturnDate The expectedReturnDate to set.
494         */
495        public void setExpectedReturnDate(Date expectedReturnDate) {
496            this.expectedReturnDate = expectedReturnDate;
497        }
498    
499    
500        /**
501         * Gets the financialDocumentPostingPeriodCode attribute.
502         * 
503         * @return Returns the financialDocumentPostingPeriodCode
504         */
505        public String getFinancialDocumentPostingPeriodCode() {
506            return financialDocumentPostingPeriodCode;
507        }
508    
509        /**
510         * Sets the financialDocumentPostingPeriodCode attribute.
511         * 
512         * @param financialDocumentPostingPeriodCode The financialDocumentPostingPeriodCode to set.
513         */
514        public void setFinancialDocumentPostingPeriodCode(String financialDocumentPostingPeriodCode) {
515            this.financialDocumentPostingPeriodCode = financialDocumentPostingPeriodCode;
516        }
517    
518    
519        /**
520         * Gets the financialDocumentPostingYear attribute.
521         * 
522         * @return Returns the financialDocumentPostingYear
523         */
524        public Integer getFinancialDocumentPostingYear() {
525            return financialDocumentPostingYear;
526        }
527    
528        /**
529         * Sets the financialDocumentPostingYear attribute.
530         * 
531         * @param financialDocumentPostingYear The financialDocumentPostingYear to set.
532         */
533        public void setFinancialDocumentPostingYear(Integer financialDocumentPostingYear) {
534            this.financialDocumentPostingYear = financialDocumentPostingYear;
535        }
536    
537    
538        /**
539         * Gets the organizationOwnerAccountNumber attribute.
540         * 
541         * @return Returns the organizationOwnerAccountNumber
542         */
543        public String getOrganizationOwnerAccountNumber() {
544            return organizationOwnerAccountNumber;
545        }
546    
547        /**
548         * Sets the organizationOwnerAccountNumber attribute.
549         * 
550         * @param organizationOwnerAccountNumber The organizationOwnerAccountNumber to set.
551         */
552        public void setOrganizationOwnerAccountNumber(String organizationOwnerAccountNumber) {
553            this.organizationOwnerAccountNumber = organizationOwnerAccountNumber;
554        }
555    
556    
557        /**
558         * Gets the organizationOwnerChartOfAccountsCode attribute.
559         * 
560         * @return Returns the organizationOwnerChartOfAccountsCode
561         */
562        public String getOrganizationOwnerChartOfAccountsCode() {
563            return organizationOwnerChartOfAccountsCode;
564        }
565    
566        /**
567         * Sets the organizationOwnerChartOfAccountsCode attribute.
568         * 
569         * @param organizationOwnerChartOfAccountsCode The organizationOwnerChartOfAccountsCode to set.
570         */
571        public void setOrganizationOwnerChartOfAccountsCode(String organizationOwnerChartOfAccountsCode) {
572            this.organizationOwnerChartOfAccountsCode = organizationOwnerChartOfAccountsCode;
573        }
574    
575    
576        /**
577         * Gets the vendorName attribute.
578         * 
579         * @return Returns the vendorName
580         */
581        public String getVendorName() {
582            return vendorName;
583        }
584    
585        /**
586         * Sets the vendorName attribute.
587         * 
588         * @param vendorName The vendorName to set.
589         */
590        public void setVendorName(String vendorName) {
591            this.vendorName = vendorName;
592        }
593    
594    
595        /**
596         * Gets the acquisitionTypeCode attribute.
597         * 
598         * @return Returns the acquisitionTypeCode
599         */
600        public String getAcquisitionTypeCode() {
601            return acquisitionTypeCode;
602        }
603    
604        /**
605         * Sets the acquisitionTypeCode attribute.
606         * 
607         * @param acquisitionTypeCode The acquisitionTypeCode to set.
608         */
609        public void setAcquisitionTypeCode(String acquisitionTypeCode) {
610            this.acquisitionTypeCode = acquisitionTypeCode;
611        }
612    
613    
614        /**
615         * Gets the totalCostAmount attribute.
616         * 
617         * @return Returns the totalCostAmount
618         */
619        public KualiDecimal getTotalCostAmount() {
620            return totalCostAmount;
621        }
622    
623        /**
624         * Sets the totalCostAmount attribute.
625         * 
626         * @param totalCostAmount The totalCostAmount to set.
627         */
628        public void setTotalCostAmount(KualiDecimal totalCostAmount) {
629            this.totalCostAmount = totalCostAmount;
630        }
631    
632    
633        /**
634         * Gets the replacementAmount attribute.
635         * 
636         * @return Returns the replacementAmount
637         */
638        public KualiDecimal getReplacementAmount() {
639            return replacementAmount;
640        }
641    
642        /**
643         * Sets the replacementAmount attribute.
644         * 
645         * @param replacementAmount The replacementAmount to set.
646         */
647        public void setReplacementAmount(KualiDecimal replacementAmount) {
648            this.replacementAmount = replacementAmount;
649        }
650    
651    
652        /**
653         * Gets the salePrice attribute.
654         * 
655         * @return Returns the salePrice
656         */
657        public KualiDecimal getSalePrice() {
658            return salePrice;
659        }
660    
661        /**
662         * Sets the salePrice attribute.
663         * 
664         * @param salePrice The salePrice to set.
665         */
666        public void setSalePrice(KualiDecimal salePrice) {
667            this.salePrice = salePrice;
668        }
669    
670    
671        /**
672         * Gets the estimatedSellingPrice attribute.
673         * 
674         * @return Returns the estimatedSellingPrice
675         */
676        public KualiDecimal getEstimatedSellingPrice() {
677            return estimatedSellingPrice;
678        }
679    
680        /**
681         * Sets the estimatedSellingPrice attribute.
682         * 
683         * @param estimatedSellingPrice The estimatedSellingPrice to set.
684         */
685        public void setEstimatedSellingPrice(KualiDecimal estimatedSellingPrice) {
686            this.estimatedSellingPrice = estimatedSellingPrice;
687        }
688    
689    
690        /**
691         * Gets the salvageAmount attribute.
692         * 
693         * @return Returns the salvageAmount
694         */
695        public KualiDecimal getSalvageAmount() {
696            if (salvageAmount == null)salvageAmount=KualiDecimal.ZERO;
697            return salvageAmount;
698        }
699    
700        /**
701         * Sets the salvageAmount attribute.
702         * 
703         * @param salvageAmount The salvageAmount to set.
704         */
705        public void setSalvageAmount(KualiDecimal salvageAmount) {
706            this.salvageAmount = salvageAmount;
707        }
708    
709    
710        /**
711         * Gets the campusCode attribute.
712         * 
713         * @return Returns the campusCode
714         */
715        public String getCampusCode() {
716            return campusCode;
717        }
718    
719        /**
720         * Sets the campusCode attribute.
721         * 
722         * @param campusCode The campusCode to set.
723         */
724        public void setCampusCode(String campusCode) {
725            this.campusCode = campusCode;
726        }
727    
728    
729        /**
730         * Gets the buildingCode attribute.
731         * 
732         * @return Returns the buildingCode
733         */
734        public String getBuildingCode() {
735            return buildingCode;
736        }
737    
738        /**
739         * Sets the buildingCode attribute.
740         * 
741         * @param buildingCode The buildingCode to set.
742         */
743        public void setBuildingCode(String buildingCode) {
744            this.buildingCode = buildingCode;
745        }
746    
747    
748        /**
749         * Gets the buildingRoomNumber attribute.
750         * 
751         * @return Returns the buildingRoomNumber
752         */
753        public String getBuildingRoomNumber() {
754            return buildingRoomNumber;
755        }
756    
757        /**
758         * Sets the buildingRoomNumber attribute.
759         * 
760         * @param buildingRoomNumber The buildingRoomNumber to set.
761         */
762        public void setBuildingRoomNumber(String buildingRoomNumber) {
763            this.buildingRoomNumber = buildingRoomNumber;
764        }
765    
766    
767        /**
768         * Gets the buildingSubRoomNumber attribute.
769         * 
770         * @return Returns the buildingSubRoomNumber
771         */
772        public String getBuildingSubRoomNumber() {
773            return buildingSubRoomNumber;
774        }
775    
776        /**
777         * Sets the buildingSubRoomNumber attribute.
778         * 
779         * @param buildingSubRoomNumber The buildingSubRoomNumber to set.
780         */
781        public void setBuildingSubRoomNumber(String buildingSubRoomNumber) {
782            this.buildingSubRoomNumber = buildingSubRoomNumber;
783        }
784    
785    
786        /**
787         * Gets the retirementChartOfAccountsCode attribute.
788         * 
789         * @return Returns the retirementChartOfAccountsCode
790         */
791        public String getRetirementChartOfAccountsCode() {
792            return retirementChartOfAccountsCode;
793        }
794    
795        /**
796         * Sets the retirementChartOfAccountsCode attribute.
797         * 
798         * @param retirementChartOfAccountsCode The retirementChartOfAccountsCode to set.
799         */
800        public void setRetirementChartOfAccountsCode(String retirementChartOfAccountsCode) {
801            this.retirementChartOfAccountsCode = retirementChartOfAccountsCode;
802        }
803    
804    
805        /**
806         * Gets the retirementAccountNumber attribute.
807         * 
808         * @return Returns the retirementAccountNumber
809         */
810        public String getRetirementAccountNumber() {
811            return retirementAccountNumber;
812        }
813    
814        /**
815         * Sets the retirementAccountNumber attribute.
816         * 
817         * @param retirementAccountNumber The retirementAccountNumber to set.
818         */
819        public void setRetirementAccountNumber(String retirementAccountNumber) {
820            this.retirementAccountNumber = retirementAccountNumber;
821        }
822    
823    
824        /**
825         * Gets the retirementReasonCode attribute.
826         * 
827         * @return Returns the retirementReasonCode
828         */
829        public String getRetirementReasonCode() {
830            return retirementReasonCode;
831        }
832    
833        /**
834         * Sets the retirementReasonCode attribute.
835         * 
836         * @param retirementReasonCode The retirementReasonCode to set.
837         */
838        public void setRetirementReasonCode(String retirementReasonCode) {
839            this.retirementReasonCode = retirementReasonCode;
840        }
841    
842    
843        /**
844         * Gets the retirementPeriodCode attribute.
845         * 
846         * @return Returns the retirementPeriodCode
847         */
848        public String getRetirementPeriodCode() {
849            return retirementPeriodCode;
850        }
851    
852        /**
853         * Sets the retirementPeriodCode attribute.
854         * 
855         * @param retirementPeriodCode The retirementPeriodCode to set.
856         */
857        public void setRetirementPeriodCode(String retirementPeriodCode) {
858            this.retirementPeriodCode = retirementPeriodCode;
859        }
860    
861    
862        /**
863         * Gets the retirementFiscalYear attribute.
864         * 
865         * @return Returns the retirementFiscalYear
866         */
867        public Integer getRetirementFiscalYear() {
868            return retirementFiscalYear;
869        }
870    
871        /**
872         * Sets the retirementFiscalYear attribute.
873         * 
874         * @param retirementFiscalYear The retirementFiscalYear to set.
875         */
876        public void setRetirementFiscalYear(Integer retirementFiscalYear) {
877            this.retirementFiscalYear = retirementFiscalYear;
878        }
879    
880        /**
881         * Gets the cashReceiptFinancialDocumentNumber attribute.
882         * 
883         * @return Returns the cashReceiptFinancialDocumentNumber
884         */
885        public String getCashReceiptFinancialDocumentNumber() {
886            return cashReceiptFinancialDocumentNumber;
887        }
888    
889        /**
890         * Sets the cashReceiptFinancialDocumentNumber attribute.
891         * 
892         * @param cashReceiptFinancialDocumentNumber The cashReceiptFinancialDocumentNumber to set.
893         */
894        public void setCashReceiptFinancialDocumentNumber(String cashReceiptFinancialDocumentNumber) {
895            this.cashReceiptFinancialDocumentNumber = cashReceiptFinancialDocumentNumber;
896        }
897    
898    
899        /**
900         * Gets the primaryDepreciationMethodCode attribute.
901         * 
902         * @return Returns the primaryDepreciationMethodCode
903         */
904        public String getPrimaryDepreciationMethodCode() {
905            return primaryDepreciationMethodCode;
906        }
907    
908        /**
909         * Sets the primaryDepreciationMethodCode attribute.
910         * 
911         * @param primaryDepreciationMethodCode The primaryDepreciationMethodCode to set.
912         */
913        public void setPrimaryDepreciationMethodCode(String primaryDepreciationMethodCode) {
914            this.primaryDepreciationMethodCode = primaryDepreciationMethodCode;
915        }
916    
917    
918        /**
919         * Gets the estimatedFabricationCompletionDate attribute.
920         * 
921         * @return Returns the estimatedFabricationCompletionDate
922         */
923        public Date getEstimatedFabricationCompletionDate() {
924            return estimatedFabricationCompletionDate;
925        }
926    
927        /**
928         * Sets the estimatedFabricationCompletionDate attribute.
929         * 
930         * @param estimatedFabricationCompletionDate The estimatedFabricationCompletionDate to set.
931         */
932        public void setEstimatedFabricationCompletionDate(Date estimatedFabricationCompletionDate) {
933            this.estimatedFabricationCompletionDate = estimatedFabricationCompletionDate;
934        }
935    
936    
937        /**
938         * Gets the fabricationEstimatedTotalAmount attribute.
939         * 
940         * @return Returns the fabricationEstimatedTotalAmount
941         */
942        public KualiDecimal getFabricationEstimatedTotalAmount() {
943            return fabricationEstimatedTotalAmount;
944        }
945    
946        /**
947         * Sets the fabricationEstimatedTotalAmount attribute.
948         * 
949         * @param fabricationEstimatedTotalAmount The fabricationEstimatedTotalAmount to set.
950         */
951        public void setFabricationEstimatedTotalAmount(KualiDecimal fabricationEstimatedTotalAmount) {
952            this.fabricationEstimatedTotalAmount = fabricationEstimatedTotalAmount;
953        }
954    
955        /**
956         * Gets the transferOfFundsFinancialDocumentNumber attribute.
957         * 
958         * @return Returns the transferOfFundsFinancialDocumentNumber
959         */
960        public String getTransferOfFundsFinancialDocumentNumber() {
961            return transferOfFundsFinancialDocumentNumber;
962        }
963    
964        /**
965         * Sets the transferOfFundsFinancialDocumentNumber attribute.
966         * 
967         * @param transferOfFundsFinancialDocumentNumber The transferOfFundsFinancialDocumentNumber to set.
968         */
969        public void setTransferOfFundsFinancialDocumentNumber(String transferOfFundsFinancialDocumentNumber) {
970            this.transferOfFundsFinancialDocumentNumber = transferOfFundsFinancialDocumentNumber;
971        }
972    
973        /**
974         * Gets the inventoryStatusCode attribute.
975         * 
976         * @return Returns the inventoryStatusCode
977         */
978        public String getInventoryStatusCode() {
979            return inventoryStatusCode;
980        }
981    
982        /**
983         * Sets the inventoryStatusCode attribute.
984         * 
985         * @param inventoryStatusCode The inventoryStatusCode to set.
986         */
987        public void setInventoryStatusCode(String inventoryStatusCode) {
988            this.inventoryStatusCode = inventoryStatusCode;
989        }
990    
991        /**
992         * Gets the campusTagNumber attribute.
993         * 
994         * @return Returns the campusTagNumber
995         */
996        public String getCampusTagNumber() {
997            return campusTagNumber;
998        }
999    
1000        /**
1001         * Sets the campusTagNumber attribute.
1002         * 
1003         * @param campusTagNumber The campusTagNumber to set.
1004         */
1005        public void setCampusTagNumber(String campusTagNumber) {
1006            this.campusTagNumber = campusTagNumber;
1007        }
1008    
1009    
1010        /**
1011         * Gets the lastInventoryDate attribute.
1012         * 
1013         * @return Returns the lastInventoryDate
1014         */
1015        public Timestamp getLastInventoryDate() {
1016            return lastInventoryDate;
1017        }
1018    
1019        /**
1020         * Sets the lastInventoryDate attribute.
1021         * 
1022         * @param lastInventoryDate The lastInventoryDate to set.
1023         */
1024        public void setLastInventoryDate(Timestamp lastInventoryDate) {
1025            this.lastInventoryDate = lastInventoryDate;
1026        }
1027    
1028    
1029        /**
1030         * Gets the organizationInventoryName attribute.
1031         * 
1032         * @return Returns the organizationInventoryName
1033         */
1034        public String getOrganizationInventoryName() {
1035            return organizationInventoryName;
1036        }
1037    
1038        /**
1039         * Sets the organizationInventoryName attribute.
1040         * 
1041         * @param organizationInventoryName The organizationInventoryName to set.
1042         */
1043        public void setOrganizationInventoryName(String organizationInventoryName) {
1044            this.organizationInventoryName = organizationInventoryName;
1045        }
1046    
1047    
1048        /**
1049         * Gets the oldTagNumber attribute.
1050         * 
1051         * @return Returns the oldTagNumber
1052         */
1053        public String getOldTagNumber() {
1054            return oldTagNumber;
1055        }
1056    
1057        /**
1058         * Sets the oldTagNumber attribute.
1059         * 
1060         * @param oldTagNumber The oldTagNumber to set.
1061         */
1062        public void setOldTagNumber(String oldTagNumber) {
1063            this.oldTagNumber = oldTagNumber;
1064        }
1065    
1066    
1067        /**
1068         * Gets the manufacturerName attribute.
1069         * 
1070         * @return Returns the manufacturerName
1071         */
1072        public String getManufacturerName() {
1073            return manufacturerName;
1074        }
1075    
1076        /**
1077         * Sets the manufacturerName attribute.
1078         * 
1079         * @param manufacturerName The manufacturerName to set.
1080         */
1081        public void setManufacturerName(String manufacturerName) {
1082            this.manufacturerName = manufacturerName;
1083        }
1084    
1085    
1086        /**
1087         * Gets the manufacturerModelNumber attribute.
1088         * 
1089         * @return Returns the manufacturerModelNumber
1090         */
1091        public String getManufacturerModelNumber() {
1092            return manufacturerModelNumber;
1093        }
1094    
1095        /**
1096         * Sets the manufacturerModelNumber attribute.
1097         * 
1098         * @param manufacturerModelNumber The manufacturerModelNumber to set.
1099         */
1100        public void setManufacturerModelNumber(String manufacturerModelNumber) {
1101            this.manufacturerModelNumber = manufacturerModelNumber;
1102        }
1103    
1104    
1105        /**
1106         * Gets the serialNumber attribute.
1107         * 
1108         * @return Returns the serialNumber
1109         */
1110        public String getSerialNumber() {
1111            return serialNumber;
1112        }
1113    
1114        /**
1115         * Sets the serialNumber attribute.
1116         * 
1117         * @param serialNumber The serialNumber to set.
1118         */
1119        public void setSerialNumber(String serialNumber) {
1120            this.serialNumber = serialNumber;
1121        }
1122    
1123    
1124        /**
1125         * Gets the representativeUniversalIdentifier attribute.
1126         * 
1127         * @return Returns the representativeUniversalIdentifier
1128         */
1129        public String getRepresentativeUniversalIdentifier() {
1130            return representativeUniversalIdentifier;
1131        }
1132    
1133        /**
1134         * Sets the representativeUniversalIdentifier attribute.
1135         * 
1136         * @param representativeUniversalIdentifier The representativeUniversalIdentifier to set.
1137         */
1138        public void setRepresentativeUniversalIdentifier(String representativeUniversalIdentifier) {
1139            this.representativeUniversalIdentifier = representativeUniversalIdentifier;
1140        }
1141    
1142    
1143        /**
1144         * Gets the agencyNumber attribute.
1145         * 
1146         * @return Returns the agencyNumber
1147         */
1148        public String getAgencyNumber() {
1149            return agencyNumber;
1150        }
1151    
1152        /**
1153         * Sets the agencyNumber attribute.
1154         * 
1155         * @param agencyNumber The agencyNumber to set.
1156         */
1157        public void setAgencyNumber(String agencyNumber) {
1158            this.agencyNumber = agencyNumber;
1159        }
1160    
1161    
1162        /**
1163         * Gets the campusPoliceDepartmentCaseNumber attribute.
1164         * 
1165         * @return Returns the campusPoliceDepartmentCaseNumber
1166         */
1167        public String getCampusPoliceDepartmentCaseNumber() {
1168            return campusPoliceDepartmentCaseNumber;
1169        }
1170    
1171        /**
1172         * Sets the campusPoliceDepartmentCaseNumber attribute.
1173         * 
1174         * @param campusPoliceDepartmentCaseNumber The campusPoliceDepartmentCaseNumber to set.
1175         */
1176        public void setCampusPoliceDepartmentCaseNumber(String campusPoliceDepartmentCaseNumber) {
1177            this.campusPoliceDepartmentCaseNumber = campusPoliceDepartmentCaseNumber;
1178        }
1179    
1180    
1181        /**
1182         * Gets the inventoryScannedCode attribute.
1183         * 
1184         * @return Returns the inventoryScannedCode
1185         */
1186        public String getInventoryScannedCode() {
1187            return inventoryScannedCode;
1188        }
1189    
1190        /**
1191         * Sets the inventoryScannedCode attribute.
1192         * 
1193         * @param inventoryScannedCode The inventoryScannedCode to set.
1194         */
1195        public void setInventoryScannedCode(String inventoryScannedCode) {
1196            this.inventoryScannedCode = inventoryScannedCode;
1197        }
1198    
1199        /**
1200         * Gets the capitalAssetInServiceDate attribute.
1201         * 
1202         * @return Returns the capitalAssetInServiceDate.
1203         */
1204        public Date getCapitalAssetInServiceDate() {
1205            return capitalAssetInServiceDate;
1206        }
1207    
1208        /**
1209         * Sets the capitalAssetInServiceDate attribute value.
1210         * 
1211         * @param capitalAssetInServiceDate The capitalAssetInServiceDate to set.
1212         */
1213        public void setCapitalAssetInServiceDate(Date capitalAssetInServiceDate) {
1214            this.capitalAssetInServiceDate = capitalAssetInServiceDate;
1215        }
1216    
1217        /**
1218         * Gets the governmentTagNumber attribute.
1219         * 
1220         * @return Returns the governmentTagNumber.
1221         */
1222        public String getGovernmentTagNumber() {
1223            return governmentTagNumber;
1224        }
1225    
1226        /**
1227         * Sets the governmentTagNumber attribute value.
1228         * 
1229         * @param governmentTagNumber The governmentTagNumber to set.
1230         */
1231        public void setGovernmentTagNumber(String governmentTagNumber) {
1232            this.governmentTagNumber = governmentTagNumber;
1233        }
1234    
1235        /**
1236         * Gets the nationalStockNumber attribute.
1237         * 
1238         * @return Returns the nationalStockNumber.
1239         */
1240        public String getNationalStockNumber() {
1241            return nationalStockNumber;
1242        }
1243    
1244        /**
1245         * Sets the nationalStockNumber attribute value.
1246         * 
1247         * @param nationalStockNumber The nationalStockNumber to set.
1248         */
1249        public void setNationalStockNumber(String nationalStockNumber) {
1250            this.nationalStockNumber = nationalStockNumber;
1251        }
1252    
1253        /**
1254         * Gets the landAcreageSize attribute.
1255         * 
1256         * @return Returns the landAcreageSize.
1257         */
1258        public Integer getLandAcreageSize() {
1259            return landAcreageSize;
1260        }
1261    
1262        /**
1263         * Sets the landAcreageSize attribute value.
1264         * 
1265         * @param landAcreageSize The landAcreageSize to set.
1266         */
1267        public void setLandAcreageSize(Integer landAcreageSize) {
1268            this.landAcreageSize = landAcreageSize;
1269        }
1270    
1271        /**
1272         * Gets the landCountyName attribute.
1273         * 
1274         * @return Returns the landCountyName.
1275         */
1276        public String getLandCountyName() {
1277            return landCountyName;
1278        }
1279    
1280        /**
1281         * Sets the landCountyName attribute value.
1282         * 
1283         * @param landCountyName The landCountyName to set.
1284         */
1285        public void setLandCountyName(String landCountyName) {
1286            this.landCountyName = landCountyName;
1287        }
1288    
1289        /**
1290         * Gets the landParcelNumber attribute.
1291         * 
1292         * @return Returns the landParcelNumber.
1293         */
1294        public String getLandParcelNumber() {
1295            return landParcelNumber;
1296        }
1297    
1298        /**
1299         * Sets the landParcelNumber attribute value.
1300         * 
1301         * @param landParcelNumber The landParcelNumber to set.
1302         */
1303        public void setLandParcelNumber(String landParcelNumber) {
1304            this.landParcelNumber = landParcelNumber;
1305        }
1306    
1307        /**
1308         * Gets the depreciationDate attribute.
1309         * 
1310         * @return Returns the depreciationDate.
1311         */
1312        public Date getDepreciationDate() {
1313            return depreciationDate;
1314        }
1315    
1316        /**
1317         * Sets the depreciationDate attribute value.
1318         * 
1319         * @param depreciationDate The depreciationDate to set.
1320         */
1321        public void setDepreciationDate(Date depreciationDate) {
1322            this.depreciationDate = depreciationDate;
1323        }
1324    
1325        /**
1326         * Gets the capitalAssetType attribute.
1327         * 
1328         * @return Returns the capitalAssetType
1329         */
1330        public AssetType getCapitalAssetType() {
1331            return capitalAssetType;
1332        }
1333    
1334        /**
1335         * Sets the capitalAssetType attribute.
1336         * 
1337         * @param capitalAssetType The capitalAssetType to set.
1338         * @deprecated
1339         */
1340        public void setCapitalAssetType(AssetType capitalAssetType) {
1341            this.capitalAssetType = capitalAssetType;
1342        }
1343    
1344        /**
1345         * Gets the organizationOwnerAccount attribute.
1346         * 
1347         * @return Returns the organizationOwnerAccount
1348         */
1349        public Account getOrganizationOwnerAccount() {
1350            return organizationOwnerAccount;
1351        }
1352    
1353        /**
1354         * Sets the organizationOwnerAccount attribute.
1355         * 
1356         * @param organizationOwnerAccount The organizationOwnerAccount to set.
1357         * @deprecated
1358         */
1359        public void setOrganizationOwnerAccount(Account organizationOwnerAccount) {
1360            this.organizationOwnerAccount = organizationOwnerAccount;
1361        }
1362    
1363        /**
1364         * Gets the organizationOwnerChartOfAccounts attribute.
1365         * 
1366         * @return Returns the organizationOwnerChartOfAccounts
1367         */
1368        public Chart getOrganizationOwnerChartOfAccounts() {
1369            return organizationOwnerChartOfAccounts;
1370        }
1371    
1372        /**
1373         * Sets the organizationOwnerChartOfAccounts attribute.
1374         * 
1375         * @param organizationOwnerChartOfAccounts The organizationOwnerChartOfAccounts to set.
1376         * @deprecated
1377         */
1378        public void setOrganizationOwnerChartOfAccounts(Chart organizationOwnerChartOfAccounts) {
1379            this.organizationOwnerChartOfAccounts = organizationOwnerChartOfAccounts;
1380        }
1381    
1382        /**
1383         * Gets the campus attribute.
1384         * 
1385         * @return Returns the campus
1386         */
1387        public Campus getCampus() {
1388            return campus = (Campus) SpringContext.getBean(KualiModuleService.class).getResponsibleModuleService(Campus.class).retrieveExternalizableBusinessObjectIfNecessary(this, campus, "campus");
1389        }
1390    
1391        /**
1392         * Sets the campus attribute.
1393         * 
1394         * @param campus The campus to set.
1395         * @deprecated
1396         */
1397        public void setCampus(Campus campus) {
1398            this.campus = campus;
1399        }
1400    
1401        /**
1402         * Gets the buildingRoom attribute.
1403         * 
1404         * @return Returns the buildingRoom
1405         */
1406        public Room getBuildingRoom() {
1407            return buildingRoom;
1408        }
1409    
1410        /**
1411         * Sets the buildingRoom attribute.
1412         * 
1413         * @param buildingRoom The buildingRoom to set.
1414         * @deprecated
1415         */
1416        public void setBuildingRoom(Room buildingRoom) {
1417            this.buildingRoom = buildingRoom;
1418        }
1419    
1420        /**
1421         * Gets the retirementAccount attribute.
1422         * 
1423         * @return Returns the retirementAccount
1424         */
1425        public Account getRetirementAccount() {
1426            return retirementAccount;
1427        }
1428    
1429        /**
1430         * Sets the retirementAccount attribute.
1431         * 
1432         * @param retirementAccount The retirementAccount to set.
1433         * @deprecated
1434         */
1435        public void setRetirementAccount(Account retirementAccount) {
1436            this.retirementAccount = retirementAccount;
1437        }
1438    
1439        /**
1440         * Gets the retirementChartOfAccounts attribute.
1441         * 
1442         * @return Returns the retirementChartOfAccounts
1443         */
1444        public Chart getRetirementChartOfAccounts() {
1445            return retirementChartOfAccounts;
1446        }
1447    
1448        /**
1449         * Sets the retirementChartOfAccounts attribute.
1450         * 
1451         * @param retirementChartOfAccounts The retirementChartOfAccounts to set.
1452         * @deprecated
1453         */
1454        public void setRetirementChartOfAccounts(Chart retirementChartOfAccounts) {
1455            this.retirementChartOfAccounts = retirementChartOfAccounts;
1456        }
1457    
1458        /**
1459         * Gets the building attribute.
1460         * 
1461         * @return Returns the building.
1462         */
1463        public Building getBuilding() {
1464            return building;
1465        }
1466    
1467        /**
1468         * Sets the building attribute value.
1469         * 
1470         * @param building The building to set.
1471         * @deprecated
1472         */
1473        public void setBuilding(Building building) {
1474            this.building = building;
1475        }
1476    
1477        /**
1478         * Gets the cashReceiptFinancialDocument attribute.
1479         * 
1480         * @return Returns the cashReceiptFinancialDocument.
1481         */
1482        public DocumentHeader getCashReceiptFinancialDocument() {
1483            return cashReceiptFinancialDocument;
1484        }
1485    
1486        /**
1487         * Sets the cashReceiptFinancialDocument attribute value.
1488         * 
1489         * @param cashReceiptFinancialDocument The cashReceiptFinancialDocument to set.
1490         * @deprecated
1491         */
1492        public void setCashReceiptFinancialDocument(DocumentHeader cashReceiptFinancialDocument) {
1493            this.cashReceiptFinancialDocument = cashReceiptFinancialDocument;
1494        }
1495    
1496        /**
1497         * Gets the retirementPeriod attribute.
1498         * 
1499         * @return Returns the retirementPeriod.
1500         */
1501        public AccountingPeriod getRetirementPeriod() {
1502            return retirementPeriod;
1503        }
1504    
1505        /**
1506         * Sets the retirementPeriod attribute value.
1507         * 
1508         * @param retirementPeriod The retirementPeriod to set.
1509         * @deprecated
1510         */
1511        public void setRetirementPeriod(AccountingPeriod retirementPeriod) {
1512            this.retirementPeriod = retirementPeriod;
1513        }
1514    
1515        /**
1516         * Gets the retirementReason attribute.
1517         * 
1518         * @return Returns the retirementReason.
1519         */
1520        public AssetRetirementReason getRetirementReason() {
1521            return retirementReason;
1522        }
1523    
1524        /**
1525         * Sets the retirementReason attribute value.
1526         * 
1527         * @param retirementReason The retirementReason to set.
1528         * @deprecated
1529         */
1530        public void setRetirementReason(AssetRetirementReason retirementReason) {
1531            this.retirementReason = retirementReason;
1532        }
1533    
1534        /**
1535         * Gets the transferOfFundsFinancialDocument attribute.
1536         * 
1537         * @return Returns the transferOfFundsFinancialDocument.
1538         */
1539        public DocumentHeader getTransferOfFundsFinancialDocument() {
1540            return transferOfFundsFinancialDocument;
1541        }
1542    
1543        /**
1544         * Sets the transferOfFundsFinancialDocument attribute value.
1545         * 
1546         * @param transferOfFundsFinancialDocument The transferOfFundsFinancialDocument to set.
1547         * @deprecated
1548         */
1549        public void setTransferOfFundsFinancialDocument(DocumentHeader transferOfFundsFinancialDocument) {
1550            this.transferOfFundsFinancialDocument = transferOfFundsFinancialDocument;
1551        }
1552    
1553        /**
1554         * Gets the financialDocumentPostingPeriod attribute.
1555         * 
1556         * @return Returns the financialDocumentPostingPeriod.
1557         */
1558        public AccountingPeriod getFinancialDocumentPostingPeriod() {
1559            return financialDocumentPostingPeriod;
1560        }
1561    
1562        /**
1563         * Sets the financialDocumentPostingPeriod attribute value.
1564         * 
1565         * @param financialDocumentPostingPeriod The financialDocumentPostingPeriod to set.
1566         * @deprecated
1567         */
1568        public void setFinancialDocumentPostingPeriod(AccountingPeriod financialDocumentPostingPeriod) {
1569            this.financialDocumentPostingPeriod = financialDocumentPostingPeriod;
1570        }
1571    
1572        /**
1573         * Gets the condition attribute.
1574         * 
1575         * @return Returns the condition.
1576         */
1577        public AssetCondition getCondition() {
1578            return condition;
1579        }
1580    
1581        /**
1582         * Sets the condition attribute value.
1583         * 
1584         * @param condition The condition to set.
1585         * @deprecated
1586         */
1587        public void setCondition(AssetCondition condition) {
1588            this.condition = condition;
1589        }
1590    
1591        /**
1592         * Gets the active attribute.
1593         * 
1594         * @return Returns the active
1595         */
1596        public boolean isActive() {
1597            return active;
1598        }
1599    
1600        /**
1601         * Sets the active attribute.
1602         * 
1603         * @param active The active to set.
1604         */
1605        public void setActive(boolean active) {
1606            this.active = active;
1607        }
1608    
1609    
1610        /**
1611         * @see org.kuali.rice.kns.bo.BusinessObjectBase#toStringMapper()
1612         */
1613        protected LinkedHashMap<String, String> toStringMapper() {
1614            LinkedHashMap<String, String> m = new LinkedHashMap<String, String>();
1615            if (this.capitalAssetNumber != null) {
1616                m.put("capitalAssetNumber", this.capitalAssetNumber.toString());
1617            }
1618            return m;
1619        }
1620    
1621        public List<AssetPayment> getAssetPayments() {
1622            return assetPayments;
1623        }
1624    
1625        public void setAssetPayments(List<AssetPayment> assetPayments) {
1626            this.assetPayments = assetPayments;
1627        }
1628    
1629        /**
1630         * Gets the inventoryStatus attribute.
1631         * 
1632         * @return Returns the inventoryStatus.
1633         */
1634        public AssetStatus getInventoryStatus() {
1635            return inventoryStatus;
1636        }
1637    
1638        /**
1639         * Sets the inventoryStatus attribute value.
1640         * 
1641         * @param inventoryStatus The inventoryStatus to set.
1642         */
1643        public void setInventoryStatus(AssetStatus inventoryStatus) {
1644            this.inventoryStatus = inventoryStatus;
1645        }
1646    
1647        /**
1648         * Gets the assetRepresentative attribute.
1649         * 
1650         * @return Returns the assetRepresentative.
1651         */
1652        public Person getAssetRepresentative() {
1653            assetRepresentative = SpringContext.getBean(org.kuali.rice.kim.service.PersonService.class).updatePersonIfNecessary(representativeUniversalIdentifier, assetRepresentative);
1654            return assetRepresentative;
1655        }
1656    
1657        /**
1658         * Sets the assetRepresentative attribute value.
1659         * 
1660         * @deprecated
1661         * @param assetRepresentative The assetRepresentative to set.
1662         */
1663        public void setAssetRepresentative(Person assetRepresentative) {
1664            this.assetRepresentative = assetRepresentative;
1665        }
1666    
1667    
1668        /**
1669         * Gets the borrowerPerson attribute.
1670         * 
1671         * @return Returns the borrowerPerson.
1672         */
1673        public Person getBorrowerPerson() {
1674            if (ObjectUtils.isNotNull(borrowerLocation)) {
1675                borrowerPerson = SpringContext.getBean(org.kuali.rice.kim.service.PersonService.class).updatePersonIfNecessary(borrowerLocation.getAssetLocationContactIdentifier(), borrowerPerson);
1676            }
1677            return borrowerPerson;
1678        }
1679    
1680        /**
1681         * Sets the borrowerPerson attribute value.
1682         * 
1683         * @param borrowerPerson The borrowerPerson to set.
1684         */
1685        public void setBorrowerPerson(Person borrowerPerson) {
1686            this.borrowerPerson = borrowerPerson;
1687        }
1688    
1689        /**
1690         * Gets the assetOrganization attribute.
1691         * 
1692         * @return Returns the assetOrganization.
1693         */
1694        public AssetOrganization getAssetOrganization() {
1695            return assetOrganization;
1696        }
1697    
1698        /**
1699         * Sets the assetOrganization attribute value.
1700         * 
1701         * @param assetOrganization The assetOrganization to set.
1702         */
1703        public void setAssetOrganization(AssetOrganization assetOrganization) {
1704            this.assetOrganization = assetOrganization;
1705        }
1706    
1707        /**
1708         * Gets the organizationTagNumber attribute.
1709         * 
1710         * @return Returns the organizationTagNumber.
1711         */
1712        public String getOrganizationTagNumber() {
1713            return organizationTagNumber;
1714        }
1715    
1716        /**
1717         * Sets the organizationTagNumber attribute value.
1718         * 
1719         * @param organizationTagNumber The organizationTagNumber to set.
1720         */
1721        public void setOrganizationTagNumber(String organizationTagNumber) {
1722            this.organizationTagNumber = organizationTagNumber;
1723        }
1724    
1725        public List<AssetRepairHistory> getAssetRepairHistory() {
1726            return assetRepairHistory;
1727        }
1728    
1729        public void setAssetRepairHistory(List<AssetRepairHistory> assetRepairHistory) {
1730            this.assetRepairHistory = assetRepairHistory;
1731        }
1732    
1733        public AssetWarranty getAssetWarranty() {
1734            return assetWarranty;
1735        }
1736    
1737        public void setAssetWarranty(AssetWarranty assetWarranty) {
1738            this.assetWarranty = assetWarranty;
1739        }
1740    
1741        /**
1742         * Gets the paymentTotalCost attribute.
1743         * 
1744         * @return Returns the paymentTotalCost.
1745         */
1746        public KualiDecimal getPaymentTotalCost() {
1747            return paymentTotalCost;
1748        }
1749    
1750        /**
1751         * Sets the paymentTotalCost attribute value.
1752         * 
1753         * @param paymentTotalCost The paymentTotalCost to set.
1754         */
1755        public void setPaymentTotalCost(KualiDecimal paymentTotalCost) {
1756            this.paymentTotalCost = paymentTotalCost;
1757        }
1758    
1759        public List<AssetComponent> getAssetComponents() {
1760            return assetComponents;
1761        }
1762    
1763        public void setAssetComponents(List<AssetComponent> assetComponents) {
1764            this.assetComponents = assetComponents;
1765        }
1766    
1767        /**
1768         * Gets the federalContribution attribute.
1769         * 
1770         * @return Returns the federalContribution.
1771         */
1772        public KualiDecimal getFederalContribution() {
1773            return federalContribution;
1774        }
1775    
1776        /**
1777         * Sets the federalContribution attribute value.
1778         * 
1779         * @param federalContribution The federalContribution to set.
1780         */
1781        public void setFederalContribution(KualiDecimal federalContribution) {
1782            this.federalContribution = federalContribution;
1783        }
1784    
1785        public AssetRetirementGlobalDetail getRetirementInfo() {
1786            return retirementInfo;
1787        }
1788    
1789        public void setRetirementInfo(AssetRetirementGlobalDetail retirementInfo) {
1790            this.retirementInfo = retirementInfo;
1791        }
1792    
1793        public List<AssetLocation> getAssetLocations() {
1794            return assetLocations;
1795        }
1796    
1797        public void setAssetLocations(List<AssetLocation> assetLocations) {
1798            this.assetLocations = assetLocations;
1799        }
1800    
1801        public AssetLocation getOffCampusLocation() {
1802            return offCampusLocation;
1803        }
1804    
1805        public void setOffCampusLocation(AssetLocation offCampusLocation) {
1806            this.offCampusLocation = offCampusLocation;
1807        }
1808    
1809        public List<AssetRetirementGlobalDetail> getAssetRetirementHistory() {
1810            return assetRetirementHistory;
1811        }
1812    
1813        public void setAssetRetirementHistory(List<AssetRetirementGlobalDetail> assetRetirementHistory) {
1814            this.assetRetirementHistory = assetRetirementHistory;
1815        }
1816    
1817        public AssetDepreciationMethod getAssetPrimaryDepreciationMethod() {
1818            return assetPrimaryDepreciationMethod;
1819        }
1820    
1821        public void setAssetPrimaryDepreciationMethod(AssetDepreciationMethod assetPrimaryDepreciationMethod) {
1822            this.assetPrimaryDepreciationMethod = assetPrimaryDepreciationMethod;
1823        }
1824    
1825        /**
1826         * Gets the fabricationEstimatedRetentionYears attribute.
1827         * 
1828         * @return Returns the fabricationEstimatedRetentionYears.
1829         */
1830        public Integer getFabricationEstimatedRetentionYears() {
1831            return fabricationEstimatedRetentionYears;
1832        }
1833    
1834        /**
1835         * Sets the fabricationEstimatedRetentionYears attribute value.
1836         * 
1837         * @param fabricationEstimatedRetentionYears The fabricationEstimatedRetentionYears to set.
1838         */
1839        public void setFabricationEstimatedRetentionYears(Integer fabricationEstimatedRetentionYears) {
1840            this.fabricationEstimatedRetentionYears = fabricationEstimatedRetentionYears;
1841        }
1842    
1843    
1844        public List<AssetRetirementGlobal> getRetirementGlobals() {
1845            return retirementGlobals;
1846        }
1847    
1848        public void setRetirementGlobals(List<AssetRetirementGlobal> retirementGlobals) {
1849            this.retirementGlobals = retirementGlobals;
1850        }
1851    
1852        public AssetGlobal getSeparateHistory() {
1853            return separateHistory;
1854        }
1855    
1856        public void setSeparateHistory(AssetGlobal separateHistory) {
1857            this.separateHistory = separateHistory;
1858        }
1859    
1860        public List<AssetRetirementGlobalDetail> getMergeHistory() {
1861            return mergeHistory;
1862        }
1863    
1864        public void setMergeHistory(List<AssetRetirementGlobalDetail> mergeHistory) {
1865            this.mergeHistory = mergeHistory;
1866        }
1867    
1868        /**
1869         * Gets the financialObjectSubTypeCode attribute.
1870         * 
1871         * @return Returns the financialObjectSubTypeCode.
1872         */
1873        public String getFinancialObjectSubTypeCode() {
1874            return financialObjectSubTypeCode;
1875        }
1876    
1877        /**
1878         * Sets the financialObjectSubTypeCode attribute value.
1879         * 
1880         * @param financialObjectSubTypeCode The financialObjectSubTypeCode to set.
1881         */
1882        public void setFinancialObjectSubTypeCode(String financialObjectSubTypeCode) {
1883            this.financialObjectSubTypeCode = financialObjectSubTypeCode;
1884        }
1885    
1886        /**
1887         * Gets the financialObjectSubType attribute.
1888         * 
1889         * @return Returns the financialObjectSubType.
1890         */
1891        public ObjectSubType getFinancialObjectSubType() {
1892            return financialObjectSubType;
1893        }
1894    
1895        /**
1896         * Sets the financialObjectSubType attribute value.
1897         * 
1898         * @param financialObjectSubType The financialObjectSubType to set.
1899         * @deprecated
1900         */
1901        public void setFinancialObjectSubType(ObjectSubType financialObjectSubType) {
1902            this.financialObjectSubType = financialObjectSubType;
1903        }
1904    
1905        public Date getDepreciationDateCopy() {
1906            return depreciationDate;
1907        }
1908    
1909        /**
1910         * @param depreciationDateCopy
1911         * @deprecated
1912         */
1913        public void setDepreciationDateCopy(Date depreciationDateCopy) {
1914            this.depreciationDateCopy = depreciationDateCopy;
1915        }
1916    
1917        public AssetAcquisitionType getAcquisitionType() {
1918            return acquisitionType;
1919        }
1920    
1921        public void setAcquisitionType(AssetAcquisitionType acquisitionType) {
1922            this.acquisitionType = acquisitionType;
1923        }
1924    
1925        public ContractsAndGrantsAgency getAgency() {
1926            return agency = (ContractsAndGrantsAgency) SpringContext.getBean(KualiModuleService.class).getResponsibleModuleService(ContractsAndGrantsAgency.class).retrieveExternalizableBusinessObjectIfNecessary(this, agency, "agency");
1927        }
1928    
1929        /**
1930         * Technically this is obsolete but necessary because MaintenanceDocumentBase.populateXmlDocumentContentsFromMaintainables has
1931         * the following hack:<br>
1932         * ObjectUtils.materializeAllSubObjects(oldBo); // hack to resolve XStream not dealing well with Proxies<br>
1933         * so as long as that is there we need this setter otherwise a NoSuchMethodException occurs.
1934         * 
1935         * @deprecated
1936         */
1937        public void setAgency(ContractsAndGrantsAgency agency) {
1938            this.agency = agency;
1939        }
1940    
1941        public Integer getQuantity() {
1942            return quantity;
1943        }
1944    
1945        public boolean isTagged() {
1946            return tagged;
1947        }
1948    
1949        public void setTagged() {
1950            this.tagged = (StringUtils.isBlank(campusTagNumber)) ? false : true;
1951        }
1952    
1953        /**
1954         * Gets the borrowerLocation attribute.
1955         * 
1956         * @return Returns the borrowerLocation.
1957         */
1958        public AssetLocation getBorrowerLocation() {
1959            return borrowerLocation;
1960        }
1961    
1962        /**
1963         * Sets the borrowerLocation attribute value.
1964         * 
1965         * @param borrowerLocation The borrowerLocation to set.
1966         */
1967        public void setBorrowerLocation(AssetLocation borrowerLocation) {
1968            this.borrowerLocation = borrowerLocation;
1969        }
1970    
1971        /**
1972         * Gets the borrowerStorageLocation attribute.
1973         * 
1974         * @return Returns the borrowerStorageLocation.
1975         */
1976        public AssetLocation getBorrowerStorageLocation() {
1977            return borrowerStorageLocation;
1978        }
1979    
1980        /**
1981         * Sets the borrowerStorageLocation attribute value.
1982         * 
1983         * @param borrowerStorageLocation The borrowerStorageLocation to set.
1984         */
1985        public void setBorrowerStorageLocation(AssetLocation borrowerStorageLocation) {
1986            this.borrowerStorageLocation = borrowerStorageLocation;
1987        }
1988    
1989    
1990        /**
1991         * Return the link for payment lookup
1992         * 
1993         * @return
1994         */
1995        public String getLookup() {
1996            if (this.getCapitalAssetNumber() == null)
1997                return "";
1998    
1999            Properties params = new Properties();
2000            params.put(KFSConstants.DISPATCH_REQUEST_PARAMETER, KFSConstants.SEARCH_METHOD);
2001            params.put(KFSConstants.DOC_FORM_KEY, "88888888");
2002            params.put(KFSConstants.HIDE_LOOKUP_RETURN_LINK, "true");
2003            params.put(CamsPropertyConstants.Asset.CAPITAL_ASSET_NUMBER, this.getCapitalAssetNumber().toString());
2004            params.put(KFSConstants.RETURN_LOCATION_PARAMETER, "portal.do");
2005            params.put(KFSConstants.BUSINESS_OBJECT_CLASS_ATTRIBUTE, AssetPayment.class.getName());
2006    
2007            return UrlFactory.parameterizeUrl(KNSConstants.LOOKUP_ACTION, params);
2008        }
2009    
2010        /**
2011         * Build the properties collection for document lookup link. This link will be used for related document lookup.
2012         * 
2013         * @return
2014         */
2015        private Properties buildDocumentLookupLinkProperties() {
2016            Properties params = new Properties();
2017            params.put(KFSConstants.DISPATCH_REQUEST_PARAMETER, KFSConstants.SEARCH_METHOD);
2018            params.put(KFSConstants.DOC_FORM_KEY, "88888888");
2019            params.put(KFSConstants.HIDE_LOOKUP_RETURN_LINK, "true");
2020            params.put(CamsPropertyConstants.Asset.CAPITAL_ASSET_NUMBER, this.getCapitalAssetNumber().toString());
2021            params.put(KFSConstants.RETURN_LOCATION_PARAMETER, "portal.do");
2022            params.put(KFSConstants.BUSINESS_OBJECT_CLASS_ATTRIBUTE, DocSearchCriteriaDTO.class.getName());
2023            return params;
2024        }
2025    
2026        /**
2027         * return the link for asset transfer document lookup for given capital asset number.
2028         * 
2029         * @return
2030         */
2031        public String getAssetTransferDocumentLookup() {
2032            if (this.getCapitalAssetNumber() == null)
2033                return "";
2034    
2035            Properties params = buildDocumentLookupLinkProperties();
2036            params.put(KEWConstants.Sorting.SORT_DOC_TYPE_FULL_NAME, CamsConstants.DocumentTypeName.ASSET_TRANSFER);
2037    
2038            return UrlFactory.parameterizeUrl(KNSConstants.LOOKUP_ACTION, params);
2039        }
2040    
2041        /**
2042         * return the link for asset maintenance document lookup for given capital asset number.
2043         * 
2044         * @return
2045         */
2046        public String getAssetMaintenanceDocumentLookup() {
2047            if (this.getCapitalAssetNumber() == null)
2048                return "";
2049    
2050            Properties params = buildDocumentLookupLinkProperties();
2051            params.put(KEWConstants.Sorting.SORT_DOC_TYPE_FULL_NAME, CamsConstants.DocumentTypeName.ASSET_EDIT);
2052    
2053            return UrlFactory.parameterizeUrl(KNSConstants.LOOKUP_ACTION, params);
2054        }
2055    
2056        /**
2057         * return the link for asset fabrication document lookup for given capital asset number.
2058         * 
2059         * @return
2060         */
2061        public String getAssetFabricationDocumentLookup() {
2062            if (this.getCapitalAssetNumber() == null)
2063                return "";
2064    
2065            Properties params = buildDocumentLookupLinkProperties();
2066            params.put(KEWConstants.Sorting.SORT_DOC_TYPE_FULL_NAME, CamsConstants.DocumentTypeName.ASSET_FABRICATION);
2067    
2068            return UrlFactory.parameterizeUrl(KNSConstants.LOOKUP_ACTION, params);
2069        }
2070    
2071        /**
2072         * return the link for asset create or separate global document lookup for given capital asset number.
2073         * 
2074         * @return
2075         */
2076        public String getAssetCreateOrSeparateDocumentLookup() {
2077            if (this.getCapitalAssetNumber() == null)
2078                return "";
2079    
2080            Properties params = buildDocumentLookupLinkProperties();
2081            params.put(KEWConstants.Sorting.SORT_DOC_TYPE_FULL_NAME, CamsConstants.DocumentTypeName.ASSET_ADD_GLOBAL);
2082    
2083            return UrlFactory.parameterizeUrl(KNSConstants.LOOKUP_ACTION, params);
2084        }
2085    
2086        /**
2087         * return the link for asset payment document lookup for given capital asset number.
2088         * 
2089         * @return
2090         */
2091        public String getAssetPaymentDocumentLookup() {
2092            if (this.getCapitalAssetNumber() == null)
2093                return "";
2094    
2095            Properties params = buildDocumentLookupLinkProperties();
2096            params.put(KEWConstants.Sorting.SORT_DOC_TYPE_FULL_NAME, CamsConstants.DocumentTypeName.ASSET_PAYMENT);
2097    
2098            return UrlFactory.parameterizeUrl(KNSConstants.LOOKUP_ACTION, params);
2099        }
2100    
2101        /**
2102         * return the link for asset equipment loan or return document lookup for given capital asset number.
2103         * 
2104         * @return
2105         */
2106        public String getAssetEquipmentLoanOrReturnDocumentLookup() {
2107            if (this.getCapitalAssetNumber() == null)
2108                return "";
2109    
2110            Properties params = buildDocumentLookupLinkProperties();
2111            params.put(KEWConstants.Sorting.SORT_DOC_TYPE_FULL_NAME, CamsConstants.DocumentTypeName.ASSET_EQUIPMENT_LOAN_OR_RETURN);
2112    
2113            return UrlFactory.parameterizeUrl(KNSConstants.LOOKUP_ACTION, params);
2114        }
2115    
2116        /**
2117         * return the link for asset location global document lookup for given capital asset number.
2118         * 
2119         * @return
2120         */
2121        public String getAssetLocationDocumentLookup() {
2122            if (this.getCapitalAssetNumber() == null)
2123                return "";
2124    
2125            Properties params = buildDocumentLookupLinkProperties();
2126            params.put(KEWConstants.Sorting.SORT_DOC_TYPE_FULL_NAME, CamsConstants.DocumentTypeName.ASSET_LOCATION_GLOBAL);
2127    
2128            return UrlFactory.parameterizeUrl(KNSConstants.LOOKUP_ACTION, params);
2129        }
2130    
2131        /**
2132         * return the link for asset retirement or merge document lookup for given capital asset number.
2133         * 
2134         * @return
2135         */
2136        public String getAssetMergeOrRetirementDocumentLookup() {
2137            if (this.getCapitalAssetNumber() == null)
2138                return "";
2139    
2140            Properties params = buildDocumentLookupLinkProperties();
2141            params.put(KEWConstants.Sorting.SORT_DOC_TYPE_FULL_NAME, CamsConstants.DocumentTypeName.ASSET_RETIREMENT_GLOBAL);
2142    
2143            return UrlFactory.parameterizeUrl(KNSConstants.LOOKUP_ACTION, params);
2144        }
2145    
2146    
2147        /**
2148         * Gets the camsComplexMaintenanceDocumentLookup attribute.
2149         * 
2150         * @return Returns the camsComplexMaintenanceDocumentLookup.
2151         */
2152        public String getCamsComplexMaintenanceDocumentLookup() {
2153            if (this.getCapitalAssetNumber() == null)
2154                return "";
2155    
2156            Properties params = buildDocumentLookupLinkProperties();
2157            params.put(KEWConstants.Sorting.SORT_DOC_TYPE_FULL_NAME, CamsConstants.DocumentTypeName.COMPLEX_MAINTENANCE_DOC_BASE);
2158    
2159            return UrlFactory.parameterizeUrl(KNSConstants.LOOKUP_ACTION, params);
2160        }
2161    
2162    
2163        /**
2164         * override this method so we can remove the offcampus location
2165         * 
2166         * @see org.kuali.rice.kns.bo.PersistableBusinessObjectBase#buildListOfDeletionAwareLists()
2167         */
2168        @Override
2169        public List buildListOfDeletionAwareLists() {
2170            List<List> managedLists = new ArrayList<List>();
2171            managedLists.add(getAssetLocations());
2172            return managedLists;
2173        }
2174    }