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.document;
017
018 import java.util.ArrayList;
019 import java.util.HashMap;
020 import java.util.LinkedHashMap;
021 import java.util.List;
022 import java.util.Map;
023
024 import org.apache.commons.lang.StringUtils;
025 import org.kuali.kfs.coa.businessobject.Account;
026 import org.kuali.kfs.coa.businessobject.Chart;
027 import org.kuali.kfs.fp.document.TransferOfFundsDocument;
028 import org.kuali.kfs.integration.cam.CapitalAssetManagementModuleService;
029 import org.kuali.kfs.module.cam.CamsConstants;
030 import org.kuali.kfs.module.cam.businessobject.Asset;
031 import org.kuali.kfs.module.cam.businessobject.AssetGlpeSourceDetail;
032 import org.kuali.kfs.module.cam.document.service.AssetTransferService;
033 import org.kuali.kfs.sys.KFSPropertyConstants;
034 import org.kuali.kfs.sys.businessobject.Building;
035 import org.kuali.kfs.sys.businessobject.GeneralLedgerPendingEntry;
036 import org.kuali.kfs.sys.businessobject.GeneralLedgerPendingEntrySequenceHelper;
037 import org.kuali.kfs.sys.businessobject.GeneralLedgerPendingEntrySourceDetail;
038 import org.kuali.kfs.sys.businessobject.Room;
039 import org.kuali.kfs.sys.context.SpringContext;
040 import org.kuali.kfs.sys.document.GeneralLedgerPendingEntrySource;
041 import org.kuali.kfs.sys.document.GeneralLedgerPostingDocumentBase;
042 import org.kuali.kfs.sys.service.GeneralLedgerPendingEntryService;
043 import org.kuali.rice.kew.dto.DocumentRouteStatusChangeDTO;
044 import org.kuali.rice.kim.bo.Person;
045 import org.kuali.rice.kns.bo.Campus;
046 import org.kuali.rice.kns.bo.Country;
047 import org.kuali.rice.kns.bo.PersistableBusinessObject;
048 import org.kuali.rice.kns.bo.PostalCode;
049 import org.kuali.rice.kns.bo.State;
050 import org.kuali.rice.kns.exception.ValidationException;
051 import org.kuali.rice.kns.rule.event.KualiDocumentEvent;
052 import org.kuali.rice.kns.rule.event.SaveDocumentEvent;
053 import org.kuali.rice.kns.service.BusinessObjectService;
054 import org.kuali.rice.kns.service.CountryService;
055 import org.kuali.rice.kns.service.KualiModuleService;
056 import org.kuali.rice.kns.service.PostalCodeService;
057 import org.kuali.rice.kns.service.StateService;
058 import org.kuali.rice.kns.util.KNSPropertyConstants;
059 import org.kuali.rice.kns.util.KualiDecimal;
060 import org.kuali.rice.kns.util.ObjectUtils;
061 import org.kuali.rice.kns.workflow.service.KualiWorkflowDocument;
062
063 public class AssetTransferDocument extends GeneralLedgerPostingDocumentBase implements GeneralLedgerPendingEntrySource {
064 protected static org.apache.log4j.Logger LOG = org.apache.log4j.Logger.getLogger(AssetTransferDocument.class);
065 protected String hiddenFieldForError;
066 protected String representativeUniversalIdentifier;
067 protected String campusCode;
068 protected String buildingCode;
069 protected String buildingRoomNumber;
070 protected String buildingSubRoomNumber;
071 protected String organizationTagNumber;
072 protected String organizationOwnerChartOfAccountsCode;
073 protected String organizationOwnerAccountNumber;
074 protected String organizationText;
075 protected String organizationInventoryName;
076 protected String transferOfFundsFinancialDocumentNumber;
077 protected String offCampusAddress;
078 protected String offCampusCityName;
079 protected String offCampusStateCode;
080 protected String offCampusZipCode;
081 protected String oldOrganizationOwnerChartOfAccountsCode;
082 protected String oldOrganizationOwnerAccountNumber;
083 protected String offCampusName;
084 protected String offCampusCountryCode;
085 protected boolean interdepartmentalSalesIndicator;
086 protected Long capitalAssetNumber;
087 protected Person assetRepresentative;
088 protected Campus campus;
089 protected Account organizationOwnerAccount;
090 protected Account oldOrganizationOwnerAccount;
091 protected Chart organizationOwnerChartOfAccounts;
092 protected State offCampusState;
093 protected Country offCampusCountry;
094 protected Building building;
095 protected Room buildingRoom;
096 protected transient List<AssetGlpeSourceDetail> sourceAssetGlpeSourceDetails;
097 protected transient List<AssetGlpeSourceDetail> targetAssetGlpeSourceDetails;
098 protected Asset asset;
099 protected PostalCode postalZipCode;
100
101 public AssetTransferDocument() {
102 super();
103 this.sourceAssetGlpeSourceDetails = new ArrayList<AssetGlpeSourceDetail>();
104 this.targetAssetGlpeSourceDetails = new ArrayList<AssetGlpeSourceDetail>();
105 }
106
107
108 /**
109 * @see org.kuali.kfs.sys.document.GeneralLedgerPendingEntrySource#customizeExplicitGeneralLedgerPendingEntry(org.kuali.kfs.sys.businessobject.GeneralLedgerPendingEntrySourceDetail,
110 * org.kuali.kfs.sys.businessobject.GeneralLedgerPendingEntry)
111 */
112 public void customizeExplicitGeneralLedgerPendingEntry(GeneralLedgerPendingEntrySourceDetail postable, GeneralLedgerPendingEntry explicitEntry) {
113
114 }
115
116 /**
117 * @see org.kuali.kfs.sys.document.GeneralLedgerPendingEntrySource#customizeOffsetGeneralLedgerPendingEntry(org.kuali.kfs.sys.businessobject.GeneralLedgerPendingEntrySourceDetail,
118 * org.kuali.kfs.sys.businessobject.GeneralLedgerPendingEntry, org.kuali.kfs.sys.businessobject.GeneralLedgerPendingEntry)
119 */
120 public boolean customizeOffsetGeneralLedgerPendingEntry(GeneralLedgerPendingEntrySourceDetail accountingLine, GeneralLedgerPendingEntry explicitEntry, GeneralLedgerPendingEntry offsetEntry) {
121 return false;
122 }
123
124 /**
125 * @see org.kuali.kfs.sys.document.GeneralLedgerPendingEntrySource#generateDocumentGeneralLedgerPendingEntries(org.kuali.kfs.sys.businessobject.GeneralLedgerPendingEntrySequenceHelper)
126 */
127 public boolean generateDocumentGeneralLedgerPendingEntries(GeneralLedgerPendingEntrySequenceHelper sequenceHelper) {
128 return true;
129 }
130
131
132 public Asset getAsset() {
133 return asset;
134 }
135
136 /**
137 * Gets the assetRepresentative attribute.
138 *
139 * @return Returns the assetRepresentative
140 */
141 public Person getAssetRepresentative() {
142 assetRepresentative = SpringContext.getBean(org.kuali.rice.kim.service.PersonService.class).updatePersonIfNecessary(representativeUniversalIdentifier, assetRepresentative);
143 return assetRepresentative;
144 }
145
146 /**
147 * Sets the assetRepresentative attribute.
148 *
149 * @param assetRepresentative The assetRepresentative to set.
150 */
151 public void setAssetRepresentative(Person assetRepresentative) {
152 this.assetRepresentative = assetRepresentative;
153 }
154
155 /**
156 * Gets the building attribute.
157 *
158 * @return Returns the building.
159 */
160 public Building getBuilding() {
161 return building;
162 }
163
164
165 /**
166 * Gets the buildingCode attribute.
167 *
168 * @return Returns the buildingCode
169 */
170 public String getBuildingCode() {
171 return buildingCode;
172 }
173
174 /**
175 * Gets the buildingRoom attribute.
176 *
177 * @return Returns the buildingRoom.
178 */
179 public Room getBuildingRoom() {
180 return buildingRoom;
181 }
182
183
184 /**
185 * Gets the buildingRoomNumber attribute.
186 *
187 * @return Returns the buildingRoomNumber
188 */
189 public String getBuildingRoomNumber() {
190 return buildingRoomNumber;
191 }
192
193 /**
194 * Gets the buildingSubRoomNumber attribute.
195 *
196 * @return Returns the buildingSubRoomNumber
197 */
198 public String getBuildingSubRoomNumber() {
199 return buildingSubRoomNumber;
200 }
201
202
203 /**
204 * Gets the campus attribute.
205 *
206 * @return Returns the campus
207 */
208 public Campus getCampus() {
209 Map<String, Object> criteria = new HashMap<String, Object>();
210 criteria.put(KNSPropertyConstants.CAMPUS_CODE, campusCode);
211 return campus = (Campus) SpringContext.getBean(KualiModuleService.class).getResponsibleModuleService(Campus.class).getExternalizableBusinessObject(Campus.class, criteria);
212 }
213
214 /**
215 * Gets the campusCode attribute.
216 *
217 * @return Returns the campusCode
218 */
219 public String getCampusCode() {
220 return campusCode;
221 }
222
223 /**
224 * Gets the documentNumber attribute.
225 *
226 * @return Returns the documentNumber
227 */
228 public String getDocumentNumber() {
229 return documentNumber;
230 }
231
232 /**
233 * @see org.kuali.kfs.sys.document.GeneralLedgerPendingEntrySource#getGeneralLedgerPendingEntryAmountForGeneralLedgerPostable(org.kuali.kfs.sys.businessobject.GeneralLedgerPendingEntrySourceDetail)
234 */
235 public KualiDecimal getGeneralLedgerPendingEntryAmountForDetail(GeneralLedgerPendingEntrySourceDetail postable) {
236 return postable.getAmount().abs();
237 }
238
239 public List<AssetGlpeSourceDetail> getSourceAssetGlpeSourceDetails() {
240 if (this.sourceAssetGlpeSourceDetails == null) {
241 this.sourceAssetGlpeSourceDetails = new ArrayList<AssetGlpeSourceDetail>();
242 }
243 return this.sourceAssetGlpeSourceDetails;
244 }
245
246 public boolean generateGeneralLedgerPendingEntries(GeneralLedgerPendingEntrySourceDetail postable, GeneralLedgerPendingEntrySequenceHelper sequenceHelper) {
247 GeneralLedgerPendingEntry explicitEntry = new GeneralLedgerPendingEntry();
248 SpringContext.getBean(GeneralLedgerPendingEntryService.class).populateExplicitGeneralLedgerPendingEntry(this, postable, sequenceHelper, explicitEntry);
249 customizeExplicitGeneralLedgerPendingEntry(postable, explicitEntry);
250 addPendingEntry(explicitEntry);
251 return true;
252 }
253
254 /**
255 * Gets the offCampusAddress attribute.
256 *
257 * @return Returns the offCampusAddress
258 */
259 public String getOffCampusAddress() {
260 return offCampusAddress;
261 }
262
263
264 /**
265 * Gets the offCampusCityName attribute.
266 *
267 * @return Returns the offCampusCityName
268 */
269 public String getOffCampusCityName() {
270 return offCampusCityName;
271 }
272
273 /**
274 * Gets the offCampusState attribute.
275 *
276 * @return Returns the offCampusState.
277 */
278 public State getOffCampusState() {
279 offCampusState = SpringContext.getBean(StateService.class).getByPrimaryIdIfNecessary(offCampusCountryCode, offCampusStateCode, offCampusState);
280 return offCampusState;
281 }
282
283
284 /**
285 * Gets the offCampusStateCode attribute.
286 *
287 * @return Returns the offCampusStateCode
288 */
289 public String getOffCampusStateCode() {
290 return offCampusStateCode;
291 }
292
293 /**
294 * Gets the offCampusZipCode attribute.
295 *
296 * @return Returns the offCampusZipCode
297 */
298 public String getOffCampusZipCode() {
299 return offCampusZipCode;
300 }
301
302 /**
303 * Gets the postalZipCode attribute.
304 *
305 * @return Returns the postalZipCode
306 */
307 public PostalCode getPostalZipCode() {
308 postalZipCode = SpringContext.getBean(PostalCodeService.class).getByPrimaryIdIfNecessary(offCampusCountryCode, offCampusZipCode, postalZipCode);
309 return postalZipCode;
310 }
311
312 /**
313 * Gets the offCampusCountry attribute.
314 *
315 * @return Returns the offCampusCountry.
316 */
317 public Country getOffCampusCountry() {
318 offCampusCountry = SpringContext.getBean(CountryService.class).getByPrimaryIdIfNecessary(offCampusCountryCode, offCampusCountry);
319 return offCampusCountry;
320 }
321
322
323 /**
324 * Gets the organizationInventoryName attribute.
325 *
326 * @return Returns the organizationInventoryName
327 */
328 public String getOrganizationInventoryName() {
329 return organizationInventoryName;
330 }
331
332 /**
333 * Gets the organizationOwnerAccount attribute.
334 *
335 * @return Returns the organizationOwnerAccount
336 */
337 public Account getOrganizationOwnerAccount() {
338 return organizationOwnerAccount;
339 }
340
341 /**
342 * Gets the oldOrganizationOwnerAccount attribute.
343 *
344 * @return Returns the oldOrganizationOwnerAccount
345 */
346 public Account getOldOrganizationOwnerAccount() {
347 return oldOrganizationOwnerAccount;
348 }
349
350 /**
351 * Gets the organizationOwnerAccountNumber attribute.
352 *
353 * @return Returns the organizationOwnerAccountNumber
354 */
355 public String getOrganizationOwnerAccountNumber() {
356 return organizationOwnerAccountNumber;
357 }
358
359 /**
360 * Gets the organizationOwnerChartOfAccounts attribute.
361 *
362 * @return Returns the organizationOwnerChartOfAccounts
363 */
364 public Chart getOrganizationOwnerChartOfAccounts() {
365 return organizationOwnerChartOfAccounts;
366 }
367
368
369 /**
370 * Gets the organizationOwnerChartOfAccountsCode attribute.
371 *
372 * @return Returns the organizationOwnerChartOfAccountsCode
373 */
374 public String getOrganizationOwnerChartOfAccountsCode() {
375 return organizationOwnerChartOfAccountsCode;
376 }
377
378 /**
379 * Gets the organizationTagNumber attribute.
380 *
381 * @return Returns the organizationTagNumber
382 */
383 public String getOrganizationTagNumber() {
384 return organizationTagNumber;
385 }
386
387 /**
388 * Gets the organizationText attribute.
389 *
390 * @return Returns the organizationText
391 */
392 public String getOrganizationText() {
393 return organizationText;
394 }
395
396 /**
397 * Gets the representativeUniversalIdentifier attribute.
398 *
399 * @return Returns the representativeUniversalIdentifier
400 */
401 public String getRepresentativeUniversalIdentifier() {
402 return representativeUniversalIdentifier;
403 }
404
405 /**
406 * Gets the transferOfFundsFinancialDocument attribute.
407 *
408 * @return Returns the transferOfFundsFinancialDocument.
409 */
410 public TransferOfFundsDocument getTransferOfFundsFinancialDocument() {
411 if (StringUtils.isNotBlank(getTransferOfFundsFinancialDocumentNumber())) {
412 Map<String, String> primaryKeys = new HashMap<String, String>();
413 primaryKeys.put(KFSPropertyConstants.DOCUMENT_NUMBER, getTransferOfFundsFinancialDocumentNumber());
414 PersistableBusinessObject obj = SpringContext.getBean(BusinessObjectService.class).findByPrimaryKey(TransferOfFundsDocument.class, primaryKeys);
415 if (ObjectUtils.isNotNull(obj)) {
416 return (TransferOfFundsDocument) obj;
417 }
418 }
419 return null;
420 }
421
422 /**
423 * Gets the transferOfFundsFinancialDocumentNumber attribute.
424 *
425 * @return Returns the transferOfFundsFinancialDocumentNumber
426 */
427 public String getTransferOfFundsFinancialDocumentNumber() {
428 return transferOfFundsFinancialDocumentNumber;
429 }
430
431 /**
432 * Gets the capitalAssetNumber attribute.
433 *
434 * @return Returns the capitalAssetNumber.
435 */
436 public Long getCapitalAssetNumber() {
437 return capitalAssetNumber;
438 }
439
440 /**
441 * Sets the capitalAssetNumber attribute value.
442 *
443 * @param capitalAssetNumber The capitalAssetNumber to set.
444 */
445 public void setCapitalAssetNumber(Long capitalAssetNumber) {
446 this.capitalAssetNumber = capitalAssetNumber;
447 }
448
449 /**
450 * @see org.kuali.rice.kns.document.DocumentBase#postProcessSave(org.kuali.rice.kns.rule.event.KualiDocumentEvent)
451 */
452 @Override
453 public void postProcessSave(KualiDocumentEvent event) {
454 super.postProcessSave(event);
455
456 if (!(event instanceof SaveDocumentEvent)) { // don't lock until they route
457 ArrayList capitalAssetNumbers = new ArrayList<Long>();
458 if (this.getCapitalAssetNumber() != null) {
459 capitalAssetNumbers.add(this.getCapitalAssetNumber());
460 }
461
462 if (!this.getCapitalAssetManagementModuleService().storeAssetLocks(capitalAssetNumbers, this.getDocumentNumber(), CamsConstants.DocumentTypeName.ASSET_TRANSFER, null)) {
463 throw new ValidationException("Asset " + capitalAssetNumbers.toString() + " is being locked by other documents.");
464 }
465 }
466 }
467
468 protected CapitalAssetManagementModuleService getCapitalAssetManagementModuleService() {
469 return SpringContext.getBean(CapitalAssetManagementModuleService.class);
470 }
471
472 /**
473 * @see org.kuali.kfs.sys.document.GeneralLedgerPostingDocumentBase#doRouteStatusChange()
474 */
475 @Override
476 public void doRouteStatusChange(DocumentRouteStatusChangeDTO statusChangeEvent) {
477 super.doRouteStatusChange(statusChangeEvent);
478
479 KualiWorkflowDocument workflowDocument = getDocumentHeader().getWorkflowDocument();
480 if (workflowDocument.stateIsProcessed()) {
481 SpringContext.getBean(AssetTransferService.class).saveApprovedChanges(this);
482 }
483
484 // Remove asset lock when doc status change. We don't include stateIsFinal since document always go to 'processed' first.
485 if (workflowDocument.stateIsCanceled() || workflowDocument.stateIsDisapproved() || workflowDocument.stateIsProcessed()) {
486 getCapitalAssetManagementModuleService().deleteAssetLocks(this.getDocumentNumber(), null);
487 }
488 }
489
490 public boolean isDebit(GeneralLedgerPendingEntrySourceDetail postable) {
491 AssetGlpeSourceDetail srcDetail = (AssetGlpeSourceDetail) postable;
492 boolean isDebit = false;
493 // For source account, debit line when capitalization amount is negative or accumulated depreciation is positive or offset
494 // amount is positive
495 if (srcDetail.isSource()) {
496 if ((srcDetail.isCapitalization() && srcDetail.getAmount().isNegative()) || (srcDetail.isAccumulatedDepreciation() && srcDetail.getAmount().isPositive()) || (srcDetail.isCapitalizationOffset() && srcDetail.getAmount().isPositive())) {
497 isDebit = true;
498 }
499 }
500 // For target account, debit line when capitalization is positive or accumulated depreciation is negative or offset amount
501 // is negative
502 if (!srcDetail.isSource()) {
503 if ((srcDetail.isCapitalization() && srcDetail.getAmount().isPositive()) || (srcDetail.isAccumulatedDepreciation() && srcDetail.getAmount().isNegative()) || (srcDetail.isCapitalizationOffset() && srcDetail.getAmount().isNegative())) {
504 isDebit = true;
505 }
506 }
507 return isDebit;
508
509 }
510
511
512 /**
513 * Gets the interdepartmentalSalesIndicator attribute.
514 *
515 * @return Returns the interdepartmentalSalesIndicator
516 */
517 public boolean isInterdepartmentalSalesIndicator() {
518 return interdepartmentalSalesIndicator;
519 }
520
521
522 public void setAsset(Asset asset) {
523 this.asset = asset;
524 }
525
526 /**
527 * Sets the building attribute value.
528 *
529 * @param building The building to set.
530 * @deprecated
531 */
532 public void setBuilding(Building building) {
533 this.building = building;
534 }
535
536
537 /**
538 * Sets the buildingCode attribute.
539 *
540 * @param buildingCode The buildingCode to set.
541 */
542 public void setBuildingCode(String buildingCode) {
543 this.buildingCode = buildingCode;
544 }
545
546
547 /**
548 * Sets the buildingRoom attribute value.
549 *
550 * @param buildingRoom The buildingRoom to set.
551 * @deprecated
552 */
553 public void setBuildingRoom(Room buildingRoom) {
554 this.buildingRoom = buildingRoom;
555 }
556
557 /**
558 * Sets the buildingRoomNumber attribute.
559 *
560 * @param buildingRoomNumber The buildingRoomNumber to set.
561 */
562 public void setBuildingRoomNumber(String buildingRoomNumber) {
563 this.buildingRoomNumber = buildingRoomNumber;
564 }
565
566
567 /**
568 * Sets the buildingSubRoomNumber attribute.
569 *
570 * @param buildingSubRoomNumber The buildingSubRoomNumber to set.
571 */
572 public void setBuildingSubRoomNumber(String buildingSubRoomNumber) {
573 this.buildingSubRoomNumber = buildingSubRoomNumber;
574 }
575
576
577 /**
578 * Sets the campus attribute.
579 *
580 * @param campus The campus to set.
581 * @deprecated
582 */
583 public void setCampus(Campus campus) {
584 this.campus = campus;
585 }
586
587
588 /**
589 * Sets the campusCode attribute.
590 *
591 * @param campusCode The campusCode to set.
592 */
593 public void setCampusCode(String campusCode) {
594 this.campusCode = campusCode;
595 }
596
597 /**
598 * Sets the documentNumber attribute.
599 *
600 * @param documentNumber The documentNumber to set.
601 */
602 public void setDocumentNumber(String documentNumber) {
603 this.documentNumber = documentNumber;
604 }
605
606
607 public void setGeneralLedgerPostables(List<AssetGlpeSourceDetail> generalLedgerPostables) {
608 this.sourceAssetGlpeSourceDetails = generalLedgerPostables;
609 }
610
611
612 /**
613 * Sets the interdepartmentalSalesIndicator attribute.
614 *
615 * @param interdepartmentalSalesIndicator The interdepartmentalSalesIndicator to set.
616 */
617 public void setInterdepartmentalSalesIndicator(boolean interdepartmentalSalesIndicator) {
618 this.interdepartmentalSalesIndicator = interdepartmentalSalesIndicator;
619 }
620
621
622 /**
623 * Sets the offCampusAddress attribute.
624 *
625 * @param offCampusAddress The offCampusAddress to set.
626 */
627 public void setOffCampusAddress(String offCampusAddress) {
628 this.offCampusAddress = offCampusAddress;
629 }
630
631 /**
632 * Sets the offCampusCityName attribute.
633 *
634 * @param offCampusCityName The offCampusCityName to set.
635 */
636 public void setOffCampusCityName(String offCampusCityName) {
637 this.offCampusCityName = offCampusCityName;
638 }
639
640 /**
641 * Sets the offCampusState attribute value.
642 *
643 * @param offCampusState The offCampusState to set.
644 * @deprecated
645 */
646 public void setOffCampusState(State offCampusState) {
647 this.offCampusState = offCampusState;
648 }
649
650
651 /**
652 * Sets the offCampusStateCode attribute.
653 *
654 * @param offCampusStateCode The offCampusStateCode to set.
655 */
656 public void setOffCampusStateCode(String offCampusStateCode) {
657 this.offCampusStateCode = offCampusStateCode;
658 }
659
660
661 /**
662 * Sets the offCampusZipCode attribute.
663 *
664 * @param offCampusZipCode The offCampusZipCode to set.
665 */
666 public void setOffCampusZipCode(String offCampusZipCode) {
667 this.offCampusZipCode = offCampusZipCode;
668 }
669
670 /**
671 * Sets the postalZipCode attribute.
672 *
673 * @param postalZipCode The postalZipCode to set.
674 */
675 public void setPostalZipCode(PostalCode postalZipCode) {
676 this.postalZipCode = postalZipCode;
677 }
678
679 /**
680 * Sets the offCampusCountry attribute value.
681 *
682 * @param offCampusCountry The offCampusCountry to set.
683 * @deprecated
684 */
685 public void setOffCampusCountry(Country offCampusCountry) {
686 this.offCampusCountry = offCampusCountry;
687 }
688
689
690 /**
691 * Sets the organizationInventoryName attribute.
692 *
693 * @param organizationInventoryName The organizationInventoryName to set.
694 */
695 public void setOrganizationInventoryName(String organizationInventoryName) {
696 this.organizationInventoryName = organizationInventoryName;
697 }
698
699
700 /**
701 * Sets the organizationOwnerAccount attribute.
702 *
703 * @param organizationOwnerAccount The organizationOwnerAccount to set.
704 * @deprecated
705 */
706 public void setOrganizationOwnerAccount(Account organizationOwnerAccount) {
707 this.organizationOwnerAccount = organizationOwnerAccount;
708 }
709
710 /**
711 * Sets the oldOrganizationOwnerAccount attribute.
712 *
713 * @param oldOrganizationOwnerAccount The oldOrganizationOwnerAccount to set.
714 * @deprecated
715 */
716 public void setOldOrganizationOwnerAccount(Account oldOrganizationOwnerAccount) {
717 this.oldOrganizationOwnerAccount = oldOrganizationOwnerAccount;
718 }
719
720 /**
721 * Sets the organizationOwnerAccountNumber attribute.
722 *
723 * @param organizationOwnerAccountNumber The organizationOwnerAccountNumber to set.
724 */
725 public void setOrganizationOwnerAccountNumber(String organizationOwnerAccountNumber) {
726 this.organizationOwnerAccountNumber = organizationOwnerAccountNumber;
727 }
728
729
730 /**
731 * Sets the organizationOwnerChartOfAccounts attribute.
732 *
733 * @param organizationOwnerChartOfAccounts The organizationOwnerChartOfAccounts to set.
734 * @deprecated
735 */
736 public void setOrganizationOwnerChartOfAccounts(Chart organizationOwnerChartOfAccounts) {
737 this.organizationOwnerChartOfAccounts = organizationOwnerChartOfAccounts;
738 }
739
740
741 /**
742 * Sets the organizationOwnerChartOfAccountsCode attribute.
743 *
744 * @param organizationOwnerChartOfAccountsCode The organizationOwnerChartOfAccountsCode to set.
745 */
746 public void setOrganizationOwnerChartOfAccountsCode(String organizationOwnerChartOfAccountsCode) {
747 this.organizationOwnerChartOfAccountsCode = organizationOwnerChartOfAccountsCode;
748 }
749
750 /**
751 * Sets the organizationTagNumber attribute.
752 *
753 * @param organizationTagNumber The organizationTagNumber to set.
754 */
755 public void setOrganizationTagNumber(String organizationTagNumber) {
756 this.organizationTagNumber = organizationTagNumber;
757 }
758
759
760 /**
761 * Sets the organizationText attribute.
762 *
763 * @param organizationText The organizationText to set.
764 */
765 public void setOrganizationText(String organizationText) {
766 this.organizationText = organizationText;
767 }
768
769
770 /**
771 * Sets the representativeUniversalIdentifier attribute.
772 *
773 * @param representativeUniversalIdentifier The representativeUniversalIdentifier to set.
774 */
775 public void setRepresentativeUniversalIdentifier(String representativeUniversalIdentifier) {
776 this.representativeUniversalIdentifier = representativeUniversalIdentifier;
777 }
778
779
780 /**
781 * Sets the transferOfFundsFinancialDocumentNumber attribute.
782 *
783 * @param transferOfFundsFinancialDocumentNumber The transferOfFundsFinancialDocumentNumber to set.
784 */
785 public void setTransferOfFundsFinancialDocumentNumber(String transferOfFundsFinancialDocumentNumber) {
786 this.transferOfFundsFinancialDocumentNumber = transferOfFundsFinancialDocumentNumber;
787 }
788
789
790 /**
791 * @see org.kuali.rice.kns.bo.BusinessObjectBase#toStringMapper()
792 */
793 protected LinkedHashMap<String, String> toStringMapper() {
794 LinkedHashMap<String, String> m = new LinkedHashMap<String, String>();
795 m.put("documentNumber", this.documentNumber);
796 return m;
797 }
798
799 /**
800 * @see org.kuali.kfs.sys.document.GeneralLedgerPendingEntrySource#getGeneralLedgerPostables()
801 */
802 public List<GeneralLedgerPendingEntrySourceDetail> getGeneralLedgerPendingEntrySourceDetails() {
803 List<GeneralLedgerPendingEntrySourceDetail> generalLedgerPostables = new ArrayList<GeneralLedgerPendingEntrySourceDetail>();
804 generalLedgerPostables.addAll(this.sourceAssetGlpeSourceDetails);
805 generalLedgerPostables.addAll(this.targetAssetGlpeSourceDetails);
806 return generalLedgerPostables;
807 }
808
809
810 public List<AssetGlpeSourceDetail> getTargetAssetGlpeSourceDetails() {
811 if (this.targetAssetGlpeSourceDetails == null) {
812 this.targetAssetGlpeSourceDetails = new ArrayList<AssetGlpeSourceDetail>();
813 }
814 return this.targetAssetGlpeSourceDetails;
815 }
816
817
818 public void setTargetAssetGlpeSourceDetails(List<AssetGlpeSourceDetail> targetAssetGlpeSourceDetails) {
819 this.targetAssetGlpeSourceDetails = targetAssetGlpeSourceDetails;
820 }
821
822
823 public void setSourceAssetGlpeSourceDetails(List<AssetGlpeSourceDetail> sourceAssetGlpeSourceDetails) {
824 this.sourceAssetGlpeSourceDetails = sourceAssetGlpeSourceDetails;
825 }
826
827 public List<GeneralLedgerPendingEntrySourceDetail> getGeneralLedgerPostables() {
828 List<GeneralLedgerPendingEntrySourceDetail> generalLedgerPostables = new ArrayList<GeneralLedgerPendingEntrySourceDetail>();
829 generalLedgerPostables.addAll(this.sourceAssetGlpeSourceDetails);
830 generalLedgerPostables.addAll(this.targetAssetGlpeSourceDetails);
831 return generalLedgerPostables;
832 }
833
834
835 public String getOffCampusCountryCode() {
836 return offCampusCountryCode;
837 }
838
839
840 public void setOffCampusCountryCode(String offCampusCountryCode) {
841 this.offCampusCountryCode = offCampusCountryCode;
842 }
843
844
845 public String getOffCampusName() {
846 return offCampusName;
847 }
848
849
850 public void setOffCampusName(String offCampusName) {
851 this.offCampusName = offCampusName;
852 }
853
854
855 public String getOldOrganizationOwnerAccountNumber() {
856 return oldOrganizationOwnerAccountNumber;
857 }
858
859
860 public void setOldOrganizationOwnerAccountNumber(String oldOrganizationOwnerAccountNumber) {
861 this.oldOrganizationOwnerAccountNumber = oldOrganizationOwnerAccountNumber;
862 }
863
864
865 public String getOldOrganizationOwnerChartOfAccountsCode() {
866 return oldOrganizationOwnerChartOfAccountsCode;
867 }
868
869
870 public void setOldOrganizationOwnerChartOfAccountsCode(String oldOrganizationOwnerChartOfAccountsCode) {
871 this.oldOrganizationOwnerChartOfAccountsCode = oldOrganizationOwnerChartOfAccountsCode;
872 }
873
874 public void clearGlPostables() {
875 getGeneralLedgerPendingEntries().clear();
876 getSourceAssetGlpeSourceDetails().clear();
877 getTargetAssetGlpeSourceDetails().clear();
878 }
879
880 public String getHiddenFieldForError() {
881 return hiddenFieldForError;
882 }
883
884
885 public void setHiddenFieldForError(String hiddenFieldForError) {
886 this.hiddenFieldForError = hiddenFieldForError;
887 }
888
889
890 }