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.util.LinkedHashMap;
019 import java.util.List;
020
021 import org.kuali.kfs.sys.businessobject.Building;
022 import org.kuali.kfs.sys.businessobject.Room;
023 import org.kuali.kfs.sys.context.SpringContext;
024 import org.kuali.rice.kim.bo.Person;
025 import org.kuali.rice.kns.bo.Campus;
026 import org.kuali.rice.kns.bo.Country;
027 import org.kuali.rice.kns.bo.GlobalBusinessObjectDetailBase;
028 import org.kuali.rice.kns.bo.PostalCode;
029 import org.kuali.rice.kns.bo.State;
030 import org.kuali.rice.kns.service.CountryService;
031 import org.kuali.rice.kns.service.KualiModuleService;
032 import org.kuali.rice.kns.service.PostalCodeService;
033 import org.kuali.rice.kns.service.StateService;
034 import org.kuali.rice.kns.util.KualiDecimal;
035 import org.kuali.rice.kns.util.TypedArrayList;
036
037 /**
038 * @author Kuali Nervous System Team (kualidev@oncourse.iu.edu)
039 */
040 public class AssetGlobalDetail extends GlobalBusinessObjectDetailBase {
041
042 private String documentNumber;
043 private Long capitalAssetNumber;
044 private String campusCode;
045 private String buildingCode;
046 private String serialNumber;
047 private String buildingRoomNumber;
048 private String buildingSubRoomNumber;
049 private String campusTagNumber;
050 private String organizationInventoryName;
051 private String organizationAssetTypeIdentifier;
052 private String offCampusName;
053 private String offCampusAddress;
054 private String offCampusCityName;
055 private String offCampusStateCode;
056 private String offCampusZipCode;
057 private String offCampusCountryCode;
058 private String governmentTagNumber;
059 private String nationalStockNumber;
060
061 private Asset asset;
062 private Campus campus;
063 private Building building;
064 private Room buildingRoom;
065 private State offCampusState;
066 private Country offCampusCountry;
067 private PostalCode postalZipCode;
068
069
070 private Integer locationQuantity;
071 private String representativeUniversalIdentifier;
072
073 private String capitalAssetTypeCode;
074 private AssetType capitalAssetType;
075
076 private String capitalAssetDescription;
077 private String manufacturerName;
078 private String organizationText;
079 private String manufacturerModelNumber;
080 private KualiDecimal separateSourceAmount;
081
082 // Non persistent
083 private List<AssetGlobalDetail> assetGlobalUniqueDetails;
084 private Person assetRepresentative;
085
086 public Person getAssetRepresentative() {
087 assetRepresentative = SpringContext.getBean(org.kuali.rice.kim.service.PersonService.class).updatePersonIfNecessary(representativeUniversalIdentifier, assetRepresentative);
088 return assetRepresentative;
089 }
090
091 public void setAssetRepresentative(Person assetRepresentative) {
092 this.assetRepresentative = assetRepresentative;
093 }
094
095 /**
096 * Gets the locationQuantity attribute.
097 *
098 * @return Returns the locationQuantity.
099 */
100 public Integer getLocationQuantity() {
101 return locationQuantity;
102 }
103
104 /**
105 * Sets the locationQuantity attribute value.
106 *
107 * @param locationQuantity The locationQuantity to set.
108 */
109 public void setLocationQuantity(Integer locationQuantity) {
110 this.locationQuantity = locationQuantity;
111 }
112
113 /**
114 * Default constructor.
115 */
116 public AssetGlobalDetail() {
117 assetGlobalUniqueDetails = new TypedArrayList(AssetGlobalDetail.class);
118
119 }
120
121 /**
122 * Gets the documentNumber attribute.
123 *
124 * @return Returns the documentNumber
125 */
126 public String getDocumentNumber() {
127 return documentNumber;
128 }
129
130 /**
131 * Sets the documentNumber attribute.
132 *
133 * @param documentNumber The documentNumber to set.
134 */
135 public void setDocumentNumber(String documentNumber) {
136 this.documentNumber = documentNumber;
137 }
138
139 /**
140 * Gets the capitalAssetNumber attribute.
141 *
142 * @return Returns the capitalAssetNumber
143 */
144 public Long getCapitalAssetNumber() {
145 return capitalAssetNumber;
146 }
147
148 /**
149 * Sets the capitalAssetNumber attribute.
150 *
151 * @param capitalAssetNumber The capitalAssetNumber to set.
152 */
153 public void setCapitalAssetNumber(Long capitalAssetNumber) {
154 this.capitalAssetNumber = capitalAssetNumber;
155 }
156
157 /**
158 * Gets the campusCode attribute.
159 *
160 * @return Returns the campusCode
161 */
162 public String getCampusCode() {
163 return campusCode;
164 }
165
166 /**
167 * Sets the campusCode attribute.
168 *
169 * @param campusCode The campusCode to set.
170 */
171 public void setCampusCode(String campusCode) {
172 this.campusCode = campusCode;
173 }
174
175
176 /**
177 * Gets the buildingCode attribute.
178 *
179 * @return Returns the buildingCode
180 */
181 public String getBuildingCode() {
182 return buildingCode;
183 }
184
185 /**
186 * Sets the buildingCode attribute.
187 *
188 * @param buildingCode The buildingCode to set.
189 */
190 public void setBuildingCode(String buildingCode) {
191 this.buildingCode = buildingCode;
192 }
193
194
195 /**
196 * Gets the serialNumber attribute.
197 *
198 * @return Returns the serialNumber
199 */
200 public String getSerialNumber() {
201 return serialNumber;
202 }
203
204 /**
205 * Sets the serialNumber attribute.
206 *
207 * @param serialNumber The serialNumber to set.
208 */
209 public void setSerialNumber(String serialNumber) {
210 this.serialNumber = serialNumber;
211 }
212
213
214 /**
215 * Gets the buildingRoomNumber attribute.
216 *
217 * @return Returns the buildingRoomNumber
218 */
219 public String getBuildingRoomNumber() {
220 return buildingRoomNumber;
221 }
222
223 /**
224 * Sets the buildingRoomNumber attribute.
225 *
226 * @param buildingRoomNumber The buildingRoomNumber to set.
227 */
228 public void setBuildingRoomNumber(String buildingRoomNumber) {
229 this.buildingRoomNumber = buildingRoomNumber;
230 }
231
232
233 /**
234 * Gets the buildingSubRoomNumber attribute.
235 *
236 * @return Returns the buildingSubRoomNumber
237 */
238 public String getBuildingSubRoomNumber() {
239 return buildingSubRoomNumber;
240 }
241
242 /**
243 * Sets the buildingSubRoomNumber attribute.
244 *
245 * @param buildingSubRoomNumber The buildingSubRoomNumber to set.
246 */
247 public void setBuildingSubRoomNumber(String buildingSubRoomNumber) {
248 this.buildingSubRoomNumber = buildingSubRoomNumber;
249 }
250
251
252 /**
253 * Gets the campusTagNumber attribute.
254 *
255 * @return Returns the campusTagNumber
256 */
257 public String getCampusTagNumber() {
258 return campusTagNumber;
259 }
260
261 /**
262 * Sets the campusTagNumber attribute.
263 *
264 * @param campusTagNumber The campusTagNumber to set.
265 */
266 public void setCampusTagNumber(String campusTagNumber) {
267 this.campusTagNumber = campusTagNumber;
268 }
269
270
271 /**
272 * Gets the organizationInventoryName attribute.
273 *
274 * @return Returns the organizationInventoryName
275 */
276 public String getOrganizationInventoryName() {
277 return organizationInventoryName;
278 }
279
280 /**
281 * Sets the organizationInventoryName attribute.
282 *
283 * @param organizationInventoryName The organizationInventoryName to set.
284 */
285 public void setOrganizationInventoryName(String organizationInventoryName) {
286 this.organizationInventoryName = organizationInventoryName;
287 }
288
289
290 /**
291 * Gets the organizationAssetTypeIdentifier attribute.
292 *
293 * @return Returns the organizationAssetTypeIdentifier
294 */
295 public String getOrganizationAssetTypeIdentifier() {
296 return organizationAssetTypeIdentifier;
297 }
298
299 /**
300 * Sets the organizationAssetTypeIdentifier attribute.
301 *
302 * @param organizationAssetTypeIdentifier The organizationAssetTypeIdentifier to set.
303 */
304 public void setOrganizationAssetTypeIdentifier(String organizationAssetTypeIdentifier) {
305 this.organizationAssetTypeIdentifier = organizationAssetTypeIdentifier;
306 }
307
308
309 /**
310 * Gets the offCampusAddress attribute.
311 *
312 * @return Returns the offCampusAddress
313 */
314 public String getOffCampusAddress() {
315 return offCampusAddress;
316 }
317
318 /**
319 * Sets the offCampusAddress attribute.
320 *
321 * @param offCampusAddress The offCampusAddress to set.
322 */
323 public void setOffCampusAddress(String offCampusAddress) {
324 this.offCampusAddress = offCampusAddress;
325 }
326
327
328 /**
329 * Gets the offCampusCityName attribute.
330 *
331 * @return Returns the offCampusCityName
332 */
333 public String getOffCampusCityName() {
334 return offCampusCityName;
335 }
336
337 /**
338 * Sets the offCampusCityName attribute.
339 *
340 * @param offCampusCityName The offCampusCityName to set.
341 */
342 public void setOffCampusCityName(String offCampusCityName) {
343 this.offCampusCityName = offCampusCityName;
344 }
345
346
347 /**
348 * Gets the offCampusStateCode attribute.
349 *
350 * @return Returns the offCampusStateCode
351 */
352 public String getOffCampusStateCode() {
353 return offCampusStateCode;
354 }
355
356 /**
357 * Sets the offCampusStateCode attribute.
358 *
359 * @param offCampusStateCode The offCampusStateCode to set.
360 */
361 public void setOffCampusStateCode(String offCampusStateCode) {
362 this.offCampusStateCode = offCampusStateCode;
363 }
364
365
366 /**
367 * Gets the offCampusZipCode attribute.
368 *
369 * @return Returns the offCampusZipCode
370 */
371 public String getOffCampusZipCode() {
372 return offCampusZipCode;
373 }
374
375 /**
376 * Sets the offCampusZipCode attribute.
377 *
378 * @param offCampusZipCode The offCampusZipCode to set.
379 */
380 public void setOffCampusZipCode(String offCampusZipCode) {
381 this.offCampusZipCode = offCampusZipCode;
382 }
383
384 /**
385 * Gets the offCampusCountryCode attribute.
386 *
387 * @return Returns the offCampusCountryCode.
388 */
389 public String getOffCampusCountryCode() {
390 return offCampusCountryCode;
391 }
392
393 /**
394 * Sets the offCampusCountryCode attribute value.
395 *
396 * @param offCampusCountryCode The offCampusCountryCode to set.
397 */
398 public void setOffCampusCountryCode(String offCampusCountryCode) {
399 this.offCampusCountryCode = offCampusCountryCode;
400 }
401
402 /**
403 * Gets the offCampusName attribute.
404 *
405 * @return Returns the offCampusName.
406 */
407 public String getOffCampusName() {
408 return offCampusName;
409 }
410
411 /**
412 * Sets the offCampusName attribute value.
413 *
414 * @param offCampusName The offCampusName to set.
415 */
416 public void setOffCampusName(String offCampusName) {
417 this.offCampusName = offCampusName;
418 }
419
420 /**
421 * Gets the governmentTagNumber attribute.
422 *
423 * @return Returns the governmentTagNumber
424 */
425 public String getGovernmentTagNumber() {
426 return governmentTagNumber;
427 }
428
429 /**
430 * Sets the governmentTagNumber attribute.
431 *
432 * @param governmentTagNumber The governmentTagNumber to set.
433 */
434 public void setGovernmentTagNumber(String governmentTagNumber) {
435 this.governmentTagNumber = governmentTagNumber;
436 }
437
438
439 /**
440 * Gets the nationalStockNumber attribute.
441 *
442 * @return Returns the nationalStockNumber
443 */
444 public String getNationalStockNumber() {
445 return nationalStockNumber;
446 }
447
448 /**
449 * Sets the nationalStockNumber attribute.
450 *
451 * @param nationalStockNumber The nationalStockNumber to set.
452 */
453 public void setNationalStockNumber(String nationalStockNumber) {
454 this.nationalStockNumber = nationalStockNumber;
455 }
456
457 /**
458 * Gets the campus attribute.
459 *
460 * @return Returns the campus
461 */
462 public Campus getCampus() {
463 return campus = (Campus) SpringContext.getBean(KualiModuleService.class).getResponsibleModuleService(Campus.class).retrieveExternalizableBusinessObjectIfNecessary(this, campus, "campus");
464 }
465
466 /**
467 * Sets the campus attribute.
468 *
469 * @param campus The campus to set.
470 * @deprecated
471 */
472 public void setCampus(Campus campus) {
473 this.campus = campus;
474 }
475
476 /**
477 * Gets the building attribute.
478 *
479 * @return Returns the building.
480 */
481 public Building getBuilding() {
482 return building;
483 }
484
485 /**
486 * Sets the building attribute value.
487 *
488 * @param building The building to set.
489 * @deprecated
490 */
491 public void setBuilding(Building building) {
492 this.building = building;
493 }
494
495 /**
496 * Gets the buildingRoom attribute.
497 *
498 * @return Returns the buildingRoom.
499 */
500 public Room getBuildingRoom() {
501 return buildingRoom;
502 }
503
504 /**
505 * Sets the buildingRoom attribute value.
506 *
507 * @param buildingRoom The buildingRoom to set.
508 * @deprecated
509 */
510 public void setBuildingRoom(Room buildingRoom) {
511 this.buildingRoom = buildingRoom;
512 }
513
514 /**
515 * Gets the offCampusState attribute.
516 *
517 * @return Returns the offCampusState.
518 */
519 public State getOffCampusState() {
520 offCampusState = SpringContext.getBean(StateService.class).getByPrimaryIdIfNecessary(offCampusCountryCode, offCampusStateCode, offCampusState);
521 return offCampusState;
522 }
523
524 /**
525 * Sets the offCampusState attribute value.
526 *
527 * @param offCampusState The offCampusState to set.
528 * @deprecated
529 */
530 public void setOffCampusState(State offCampusState) {
531 this.offCampusState = offCampusState;
532 }
533
534 /**
535 * Gets the postalZipCode attribute.
536 *
537 * @return Returns the postalZipCode.
538 */
539 public PostalCode getPostalZipCode() {
540 postalZipCode = SpringContext.getBean(PostalCodeService.class).getByPrimaryIdIfNecessary(offCampusCountryCode, offCampusZipCode, postalZipCode);
541 return postalZipCode;
542 }
543
544 /**
545 * Sets the postalZipCode attribute value.
546 *
547 * @param postalZipCode The postalZipCode to set.
548 * @deprecated
549 */
550 public void setPostalZipCode(PostalCode postalZipCode) {
551 this.postalZipCode = postalZipCode;
552 }
553
554 /**
555 * Gets the offCampusCountry attribute.
556 *
557 * @return Returns the offCampusCountry.
558 */
559 public Country getOffCampusCountry() {
560 offCampusCountry = SpringContext.getBean(CountryService.class).getByPrimaryIdIfNecessary(offCampusCountryCode, offCampusCountry);
561 return offCampusCountry;
562 }
563
564 /**
565 * Sets the offCampusCountry attribute value.
566 *
567 * @param offCampusCountry The offCampusCountry to set.
568 * @deprecated
569 */
570 public void setOffCampusCountry(Country offCampusCountry) {
571 this.offCampusCountry = offCampusCountry;
572 }
573
574 /**
575 * Gets the asset attribute.
576 *
577 * @return Returns the asset.
578 */
579 public Asset getAsset() {
580 return asset;
581 }
582
583 /**
584 * Sets the asset attribute value.
585 *
586 * @param asset The asset to set.
587 */
588 public void setAsset(Asset asset) {
589 this.asset = asset;
590 }
591
592
593 /**
594 * Gets the assetGlobalUniqueDetails attribute.
595 *
596 * @return Returns the assetGlobalUniqueDetails.
597 */
598 public List<AssetGlobalDetail> getAssetGlobalUniqueDetails() {
599 return assetGlobalUniqueDetails;
600 }
601
602 /**
603 * Sets the assetGlobalUniqueDetails attribute value.
604 *
605 * @param assetGlobalUniqueDetails The assetGlobalUniqueDetails to set.
606 */
607 public void setAssetGlobalUniqueDetails(List<AssetGlobalDetail> assetGlobalUniqueDetails) {
608 this.assetGlobalUniqueDetails = assetGlobalUniqueDetails;
609 }
610
611 /**
612 * @see org.kuali.rice.kns.bo.BusinessObjectBase#toStringMapper()
613 */
614 protected LinkedHashMap toStringMapper() {
615 LinkedHashMap m = new LinkedHashMap();
616 m.put("documentNumber", this.documentNumber);
617 if (this.capitalAssetNumber != null) {
618 m.put("capitalAssetNumber", this.capitalAssetNumber.toString());
619 }
620 return m;
621 }
622
623 public String getCapitalAssetDescription() {
624 return capitalAssetDescription;
625 }
626
627 public void setCapitalAssetDescription(String capitalAssetDescription) {
628 this.capitalAssetDescription = capitalAssetDescription;
629 }
630
631 public String getCapitalAssetTypeCode() {
632 return capitalAssetTypeCode;
633 }
634
635 public void setCapitalAssetTypeCode(String capitalAssetTypeCode) {
636 this.capitalAssetTypeCode = capitalAssetTypeCode;
637 }
638
639 public String getManufacturerModelNumber() {
640 return manufacturerModelNumber;
641 }
642
643 public void setManufacturerModelNumber(String manufacturerModelNumber) {
644 this.manufacturerModelNumber = manufacturerModelNumber;
645 }
646
647 public String getManufacturerName() {
648 return manufacturerName;
649 }
650
651 public void setManufacturerName(String manufacturerName) {
652 this.manufacturerName = manufacturerName;
653 }
654
655 public String getOrganizationText() {
656 return organizationText;
657 }
658
659 public KualiDecimal getSeparateSourceAmount() {
660 return separateSourceAmount;
661 }
662
663 public void setSeparateSourceAmount(KualiDecimal separateSourceAmount) {
664 this.separateSourceAmount = separateSourceAmount;
665 }
666
667 public void setOrganizationText(String organizationText) {
668 this.organizationText = organizationText;
669 }
670
671 public String getRepresentativeUniversalIdentifier() {
672 return representativeUniversalIdentifier;
673 }
674
675 public void setRepresentativeUniversalIdentifier(String representativeUniversalIdentifier) {
676 this.representativeUniversalIdentifier = representativeUniversalIdentifier;
677 }
678
679 public AssetType getCapitalAssetType() {
680 return capitalAssetType;
681 }
682
683 public void setCapitalAssetType(AssetType capitalAssetType) {
684 this.capitalAssetType = capitalAssetType;
685 }
686
687 }