/* * 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.sql.Date; import java.sql.Timestamp; import java.util.HashMap; import java.util.LinkedHashMap; import java.util.Map; import org.apache.commons.lang.StringUtils; import org.kuali.kfs.module.purap.document.PurchaseOrderDocument; import org.kuali.kfs.sys.context.SpringContext; import org.kuali.rice.krad.bo.PersistableBusinessObjectBase; import org.kuali.rice.krad.service.KualiModuleService; import org.kuali.rice.krad.service.ModuleService; import org.kuali.rice.krad.util.ObjectUtils; import org.kuali.rice.location.api.LocationConstants; import org.kuali.rice.location.framework.country.CountryEbo; /** * Purchase Order Vendor Quote Business Object. */ public class PurchaseOrderVendorQuote extends PersistableBusinessObjectBase { private String documentNumber; private Integer purchaseOrderVendorQuoteIdentifier; private Integer vendorHeaderGeneratedIdentifier; private Integer vendorDetailAssignedIdentifier; private String vendorName; private String vendorLine1Address; private String vendorLine2Address; private String vendorCityName; private String vendorStateCode; private String vendorPostalCode; private String vendorPhoneNumber; private String vendorFaxNumber; private String vendorEmailAddress; private String vendorAttentionName; private String purchaseOrderQuoteTransmitTypeCode; private Timestamp purchaseOrderQuoteTransmitTimestamp; private Date purchaseOrderQuotePriceExpirationDate; private String purchaseOrderQuoteStatusCode; private Timestamp purchaseOrderQuoteAwardTimestamp; private String purchaseOrderQuoteRankNumber; private String vendorCountryCode; private String vendorAddressInternationalProvinceName; private boolean isTransmitPrintDisplayed = false; private PurchaseOrderDocument purchaseOrder; private PurchaseOrderQuoteStatus purchaseOrderQuoteStatus; private CountryEbo vendorCountry; //non-persisted variables protected boolean isPdfDisplayedToUserOnce; /** * Default constructor. */ public PurchaseOrderVendorQuote() { } public String getDocumentNumber() { return documentNumber; } public void setDocumentNumber(String documentNumber) { this.documentNumber = documentNumber; } public Integer getPurchaseOrderVendorQuoteIdentifier() { return purchaseOrderVendorQuoteIdentifier; } /** * Gets the vendorCountryCode attribute. * * @return Returns the vendorCountryCode. */ public CountryEbo getVendorCountry() { if ( StringUtils.isBlank(vendorCountryCode) ) { vendorCountry = null; } else { if ( vendorCountry == null || !StringUtils.equals( vendorCountry.getCode(), vendorCountryCode) ) { ModuleService moduleService = SpringContext.getBean(KualiModuleService.class).getResponsibleModuleService(CountryEbo.class); if ( moduleService != null ) { Map<String,Object> keys = new HashMap<String, Object>(1); keys.put(LocationConstants.PrimaryKeyConstants.CODE, vendorCountryCode); vendorCountry = moduleService.getExternalizableBusinessObject(CountryEbo.class, keys); } else { throw new RuntimeException( "CONFIGURATION ERROR: No responsible module found for EBO class. Unable to proceed." ); } } } return vendorCountry; } public void setVendorCountry(CountryEbo vendorCountry) { this.vendorCountry = vendorCountry; } public void setPurchaseOrderVendorQuoteIdentifier(Integer purchaseOrderVendorQuoteIdentifier) { this.purchaseOrderVendorQuoteIdentifier = purchaseOrderVendorQuoteIdentifier; } public Integer getVendorHeaderGeneratedIdentifier() { return vendorHeaderGeneratedIdentifier; } public void setVendorHeaderGeneratedIdentifier(Integer vendorHeaderGeneratedIdentifier) { this.vendorHeaderGeneratedIdentifier = vendorHeaderGeneratedIdentifier; } public Integer getVendorDetailAssignedIdentifier() { return vendorDetailAssignedIdentifier; } public void setVendorDetailAssignedIdentifier(Integer vendorDetailAssignedIdentifier) { this.vendorDetailAssignedIdentifier = vendorDetailAssignedIdentifier; } public String getVendorAddressInternationalProvinceName() { return vendorAddressInternationalProvinceName; } public void setVendorAddressInternationalProvinceName(String vendorAddressInternationalProvinceName) { this.vendorAddressInternationalProvinceName = vendorAddressInternationalProvinceName; } public String getVendorNumber() { String vendorNumber = ""; if (ObjectUtils.isNotNull(this.vendorHeaderGeneratedIdentifier)) { vendorNumber = this.vendorHeaderGeneratedIdentifier.toString(); } if (ObjectUtils.isNotNull(this.vendorDetailAssignedIdentifier)) { vendorNumber += "-" + this.vendorDetailAssignedIdentifier.toString(); } return vendorNumber; } public void setVendorNumber(String vendorNumber) { // do nothing } public String getVendorName() { return vendorName; } public void setVendorName(String vendorName) { this.vendorName = vendorName; } public String getVendorLine1Address() { return vendorLine1Address; } public void setVendorLine1Address(String vendorLine1Address) { this.vendorLine1Address = vendorLine1Address; } public String getVendorLine2Address() { return vendorLine2Address; } public void setVendorLine2Address(String vendorLine2Address) { this.vendorLine2Address = vendorLine2Address; } public String getVendorCityName() { return vendorCityName; } public void setVendorCityName(String vendorCityName) { this.vendorCityName = vendorCityName; } public String getVendorStateCode() { return vendorStateCode; } public void setVendorStateCode(String vendorStateCode) { this.vendorStateCode = vendorStateCode; } public String getVendorPostalCode() { return vendorPostalCode; } public void setVendorPostalCode(String vendorPostalCode) { this.vendorPostalCode = vendorPostalCode; } public String getVendorPhoneNumber() { return vendorPhoneNumber; } public void setVendorPhoneNumber(String vendorPhoneNumber) { this.vendorPhoneNumber = vendorPhoneNumber; } public String getVendorFaxNumber() { return vendorFaxNumber; } public void setVendorFaxNumber(String vendorFaxNumber) { this.vendorFaxNumber = vendorFaxNumber; } public String getVendorEmailAddress() { return vendorEmailAddress; } public void setVendorEmailAddress(String vendorEmailAddress) { this.vendorEmailAddress = vendorEmailAddress; } public String getVendorAttentionName() { return vendorAttentionName; } public void setVendorAttentionName(String vendorAttentionName) { this.vendorAttentionName = vendorAttentionName; } public String getPurchaseOrderQuoteTransmitTypeCode() { return purchaseOrderQuoteTransmitTypeCode; } public void setPurchaseOrderQuoteTransmitTypeCode(String purchaseOrderQuoteTransmitTypeCode) { this.purchaseOrderQuoteTransmitTypeCode = purchaseOrderQuoteTransmitTypeCode; } public Timestamp getPurchaseOrderQuoteTransmitTimestamp() { return purchaseOrderQuoteTransmitTimestamp; } public void setPurchaseOrderQuoteTransmitTimestamp(Timestamp purchaseOrderQuoteTransmitTimestamp) { this.purchaseOrderQuoteTransmitTimestamp = purchaseOrderQuoteTransmitTimestamp; } public Date getPurchaseOrderQuotePriceExpirationDate() { return purchaseOrderQuotePriceExpirationDate; } public void setPurchaseOrderQuotePriceExpirationDate(Date purchaseOrderQuotePriceExpirationDate) { this.purchaseOrderQuotePriceExpirationDate = purchaseOrderQuotePriceExpirationDate; } public String getPurchaseOrderQuoteStatusCode() { return purchaseOrderQuoteStatusCode; } public void setPurchaseOrderQuoteStatusCode(String purchaseOrderQuoteStatusCode) { this.purchaseOrderQuoteStatusCode = purchaseOrderQuoteStatusCode; } public Timestamp getPurchaseOrderQuoteAwardTimestamp() { return purchaseOrderQuoteAwardTimestamp; } public void setPurchaseOrderQuoteAwardTimestamp(Timestamp purchaseOrderQuoteAwardTimestamp) { this.purchaseOrderQuoteAwardTimestamp = purchaseOrderQuoteAwardTimestamp; } public String getPurchaseOrderQuoteRankNumber() { return purchaseOrderQuoteRankNumber; } public void setPurchaseOrderQuoteRankNumber(String purchaseOrderQuoteRankNumber) { this.purchaseOrderQuoteRankNumber = purchaseOrderQuoteRankNumber; } public PurchaseOrderDocument getPurchaseOrder() { return purchaseOrder; } /** * Sets the purchaseOrder attribute. * * @param purchaseOrder The purchaseOrder to set. * @deprecated */ public void setPurchaseOrder(PurchaseOrderDocument purchaseOrder) { this.purchaseOrder = purchaseOrder; } public PurchaseOrderQuoteStatus getPurchaseOrderQuoteStatus() { return purchaseOrderQuoteStatus; } /** * Sets the purchaseOrderQuoteStatus attribute. * * @param purchaseOrderQuoteStatus The purchaseOrderQuoteStatus to set. * @deprecated */ public void setPurchaseOrderQuoteStatus(PurchaseOrderQuoteStatus purchaseOrderQuoteStatus) { this.purchaseOrderQuoteStatus = purchaseOrderQuoteStatus; } public String getVendorCountryCode() { return vendorCountryCode; } public void setVendorCountryCode(String vendorCountryCode) { this.vendorCountryCode = vendorCountryCode; } public boolean isTransmitPrintDisplayed() { return isTransmitPrintDisplayed; } public void setTransmitPrintDisplayed(boolean isTransmitPrintDisplayed) { this.isTransmitPrintDisplayed = isTransmitPrintDisplayed; } /** * @see org.kuali.rice.krad.bo.BusinessObjectBase#toStringMapper() */ protected LinkedHashMap toStringMapper_RICE20_REFACTORME() { LinkedHashMap m = new LinkedHashMap(); m.put("documentNumber", this.documentNumber); if (this.purchaseOrderVendorQuoteIdentifier != null) { m.put("purchaseOrderVendorQuoteIdentifier", this.purchaseOrderVendorQuoteIdentifier.toString()); } return m; } /** * Method to determine if the the pdf has already been displayed to the user * one time. If false, its set to true and locks this out. * * @return */ public boolean isPdfDisplayedToUserOnce() { boolean valueToReturn = isPdfDisplayedToUserOnce; //if not displayed, we will return false, but subsequent calls will return true. if (valueToReturn == false){ isPdfDisplayedToUserOnce = true; } return valueToReturn; } public void setPdfDisplayedToUserOnce(boolean isPdfDisplayedToUserOnce) { this.isPdfDisplayedToUserOnce = isPdfDisplayedToUserOnce; } }