/*
* The Kuali Financial System, a comprehensive financial management system for higher education.
*
* Copyright 2005-2014 The Kuali Foundation
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.kuali.kfs.module.purap.businessobject;
import java.util.LinkedHashMap;
import org.kuali.kfs.integration.purap.CapitalAssetLocation;
import org.kuali.kfs.integration.purap.CapitalAssetSystem;
import org.kuali.kfs.integration.purap.ItemCapitalAsset;
/**
* @author Kuali Nervous System Team (kualidev@oncourse.iu.edu)
*/
public class PurchaseOrderCapitalAssetSystem extends PurchasingCapitalAssetSystemBase {
private String documentNumber;
/**
* Default constructor.
*/
public PurchaseOrderCapitalAssetSystem() {
super();
}
public PurchaseOrderCapitalAssetSystem(CapitalAssetSystem originalSystem) {
super();
if (originalSystem != null) {
this.setCapitalAssetSystemDescription(originalSystem.getCapitalAssetSystemDescription());
this.setCapitalAssetNotReceivedCurrentFiscalYearIndicator(originalSystem.isCapitalAssetNotReceivedCurrentFiscalYearIndicator());
this.setCapitalAssetTypeCode(originalSystem.getCapitalAssetTypeCode());
this.setCapitalAssetManufacturerName(originalSystem.getCapitalAssetManufacturerName());
this.setCapitalAssetModelDescription(originalSystem.getCapitalAssetModelDescription());
this.setCapitalAssetNoteText(originalSystem.getCapitalAssetNoteText());
populatePurchaseOrderItemCapitalAssets(originalSystem);
populateCapitalAssetLocations(originalSystem);
this.setCapitalAssetCountAssetNumber(originalSystem.getCapitalAssetCountAssetNumber());
}
}
private void populatePurchaseOrderItemCapitalAssets(CapitalAssetSystem originalSystem) {
for (ItemCapitalAsset reqAsset : originalSystem.getItemCapitalAssets()) {
PurchaseOrderItemCapitalAsset poAsset = new PurchaseOrderItemCapitalAsset(reqAsset.getCapitalAssetNumber());
this.getItemCapitalAssets().add(poAsset);
}
}
private void populateCapitalAssetLocations(CapitalAssetSystem originalSystem) {
for (CapitalAssetLocation reqLocation : originalSystem.getCapitalAssetLocations()) {
PurchaseOrderCapitalAssetLocation poLocation = new PurchaseOrderCapitalAssetLocation();
poLocation.setItemQuantity(reqLocation.getItemQuantity());
poLocation.setCampusCode(reqLocation.getCampusCode());
poLocation.setOffCampusIndicator(reqLocation.isOffCampusIndicator());
poLocation.setBuildingCode(reqLocation.getBuildingCode());
poLocation.setBuildingRoomNumber(reqLocation.getBuildingRoomNumber());
poLocation.setCapitalAssetLine1Address(reqLocation.getCapitalAssetLine1Address());
poLocation.setCapitalAssetCityName(reqLocation.getCapitalAssetCityName());
poLocation.setCapitalAssetStateCode(reqLocation.getCapitalAssetStateCode());
poLocation.setCapitalAssetPostalCode(reqLocation.getCapitalAssetPostalCode());
poLocation.setCapitalAssetCountryCode(reqLocation.getCapitalAssetCountryCode());
this.getCapitalAssetLocations().add(poLocation);
}
}
public String getDocumentNumber() {
return documentNumber;
}
public Class getCapitalAssetLocationClass() {
return PurchaseOrderCapitalAssetLocation.class;
}
@Override
public Class getItemCapitalAssetClass() {
return PurchaseOrderItemCapitalAsset.class;
}
public void setDocumentNumber(String documentNumber) {
this.documentNumber = documentNumber;
}
@Override
protected LinkedHashMap toStringMapper_RICE20_REFACTORME() {
LinkedHashMap m = new LinkedHashMap();
if (this.documentNumber != null) {
m.put("documentNumber", this.documentNumber.toString());
}
if (this.getCapitalAssetSystemIdentifier() != null) {
m.put("capitalAssetSystemIdentifier", this.getCapitalAssetSystemIdentifier().toString());
}
return m;
}
}