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
017 package org.kuali.kfs.module.purap.businessobject;
018
019 import java.sql.Date;
020 import java.sql.Timestamp;
021 import java.util.LinkedHashMap;
022
023 import org.kuali.kfs.module.purap.document.PurchaseOrderDocument;
024 import org.kuali.kfs.sys.context.SpringContext;
025 import org.kuali.rice.kns.bo.Country;
026 import org.kuali.rice.kns.bo.PersistableBusinessObjectBase;
027 import org.kuali.rice.kns.service.CountryService;
028 import org.kuali.rice.kns.util.ObjectUtils;
029
030 /**
031 * Purchase Order Vendor Quote Business Object.
032 */
033 public class PurchaseOrderVendorQuote extends PersistableBusinessObjectBase {
034
035 private String documentNumber;
036 private Integer purchaseOrderVendorQuoteIdentifier;
037 private Integer vendorHeaderGeneratedIdentifier;
038 private Integer vendorDetailAssignedIdentifier;
039 private String vendorName;
040 private String vendorLine1Address;
041 private String vendorLine2Address;
042 private String vendorCityName;
043 private String vendorStateCode;
044 private String vendorPostalCode;
045 private String vendorPhoneNumber;
046 private String vendorFaxNumber;
047 private String vendorEmailAddress;
048 private String vendorAttentionName;
049 private String purchaseOrderQuoteTransmitTypeCode;
050 private Timestamp purchaseOrderQuoteTransmitTimestamp;
051 private Date purchaseOrderQuotePriceExpirationDate;
052 private String purchaseOrderQuoteStatusCode;
053 private Timestamp purchaseOrderQuoteAwardTimestamp;
054 private String purchaseOrderQuoteRankNumber;
055 private String vendorCountryCode;
056 private String vendorAddressInternationalProvinceName;
057 private boolean isTransmitPrintDisplayed = false;
058
059 private PurchaseOrderDocument purchaseOrder;
060 private PurchaseOrderQuoteStatus purchaseOrderQuoteStatus;
061 private Country vendorCountry;
062
063 //non-persisted variables
064 protected boolean isPdfDisplayedToUserOnce;
065
066 /**
067 * Default constructor.
068 */
069 public PurchaseOrderVendorQuote() {
070
071 }
072
073 public String getDocumentNumber() {
074 return documentNumber;
075 }
076
077 public void setDocumentNumber(String documentNumber) {
078 this.documentNumber = documentNumber;
079 }
080
081 public Integer getPurchaseOrderVendorQuoteIdentifier() {
082 return purchaseOrderVendorQuoteIdentifier;
083 }
084
085 public Country getVendorCountry() {
086 vendorCountry = SpringContext.getBean(CountryService.class).getByPrimaryIdIfNecessary(vendorCountryCode, vendorCountry);
087 return vendorCountry;
088 }
089
090 public void setVendorCountry(Country vendorCountry) {
091 this.vendorCountry = vendorCountry;
092 }
093
094 public void setPurchaseOrderVendorQuoteIdentifier(Integer purchaseOrderVendorQuoteIdentifier) {
095 this.purchaseOrderVendorQuoteIdentifier = purchaseOrderVendorQuoteIdentifier;
096 }
097
098 public Integer getVendorHeaderGeneratedIdentifier() {
099 return vendorHeaderGeneratedIdentifier;
100 }
101
102 public void setVendorHeaderGeneratedIdentifier(Integer vendorHeaderGeneratedIdentifier) {
103 this.vendorHeaderGeneratedIdentifier = vendorHeaderGeneratedIdentifier;
104 }
105
106 public Integer getVendorDetailAssignedIdentifier() {
107 return vendorDetailAssignedIdentifier;
108 }
109
110 public void setVendorDetailAssignedIdentifier(Integer vendorDetailAssignedIdentifier) {
111 this.vendorDetailAssignedIdentifier = vendorDetailAssignedIdentifier;
112 }
113
114 public String getVendorAddressInternationalProvinceName() {
115 return vendorAddressInternationalProvinceName;
116 }
117
118 public void setVendorAddressInternationalProvinceName(String vendorAddressInternationalProvinceName) {
119 this.vendorAddressInternationalProvinceName = vendorAddressInternationalProvinceName;
120 }
121
122 public String getVendorNumber() {
123 String vendorNumber = "";
124 if (ObjectUtils.isNotNull(this.vendorHeaderGeneratedIdentifier)) {
125 vendorNumber = this.vendorHeaderGeneratedIdentifier.toString();
126 }
127 if (ObjectUtils.isNotNull(this.vendorDetailAssignedIdentifier)) {
128 vendorNumber += "-" + this.vendorDetailAssignedIdentifier.toString();
129 }
130 return vendorNumber;
131 }
132
133 public void setVendorNumber(String vendorNumber) {
134 // do nothing
135 }
136
137 public String getVendorName() {
138 return vendorName;
139 }
140
141 public void setVendorName(String vendorName) {
142 this.vendorName = vendorName;
143 }
144
145 public String getVendorLine1Address() {
146 return vendorLine1Address;
147 }
148
149 public void setVendorLine1Address(String vendorLine1Address) {
150 this.vendorLine1Address = vendorLine1Address;
151 }
152
153 public String getVendorLine2Address() {
154 return vendorLine2Address;
155 }
156
157 public void setVendorLine2Address(String vendorLine2Address) {
158 this.vendorLine2Address = vendorLine2Address;
159 }
160
161 public String getVendorCityName() {
162 return vendorCityName;
163 }
164
165 public void setVendorCityName(String vendorCityName) {
166 this.vendorCityName = vendorCityName;
167 }
168
169 public String getVendorStateCode() {
170 return vendorStateCode;
171 }
172
173 public void setVendorStateCode(String vendorStateCode) {
174 this.vendorStateCode = vendorStateCode;
175 }
176
177 public String getVendorPostalCode() {
178 return vendorPostalCode;
179 }
180
181 public void setVendorPostalCode(String vendorPostalCode) {
182 this.vendorPostalCode = vendorPostalCode;
183 }
184
185 public String getVendorPhoneNumber() {
186 return vendorPhoneNumber;
187 }
188
189 public void setVendorPhoneNumber(String vendorPhoneNumber) {
190 this.vendorPhoneNumber = vendorPhoneNumber;
191 }
192
193 public String getVendorFaxNumber() {
194 return vendorFaxNumber;
195 }
196
197 public void setVendorFaxNumber(String vendorFaxNumber) {
198 this.vendorFaxNumber = vendorFaxNumber;
199 }
200
201 public String getVendorEmailAddress() {
202 return vendorEmailAddress;
203 }
204
205 public void setVendorEmailAddress(String vendorEmailAddress) {
206 this.vendorEmailAddress = vendorEmailAddress;
207 }
208
209 public String getVendorAttentionName() {
210 return vendorAttentionName;
211 }
212
213 public void setVendorAttentionName(String vendorAttentionName) {
214 this.vendorAttentionName = vendorAttentionName;
215 }
216
217 public String getPurchaseOrderQuoteTransmitTypeCode() {
218 return purchaseOrderQuoteTransmitTypeCode;
219 }
220
221 public void setPurchaseOrderQuoteTransmitTypeCode(String purchaseOrderQuoteTransmitTypeCode) {
222 this.purchaseOrderQuoteTransmitTypeCode = purchaseOrderQuoteTransmitTypeCode;
223 }
224
225 public Timestamp getPurchaseOrderQuoteTransmitTimestamp() {
226 return purchaseOrderQuoteTransmitTimestamp;
227 }
228
229 public void setPurchaseOrderQuoteTransmitTimestamp(Timestamp purchaseOrderQuoteTransmitTimestamp) {
230 this.purchaseOrderQuoteTransmitTimestamp = purchaseOrderQuoteTransmitTimestamp;
231 }
232
233 public Date getPurchaseOrderQuotePriceExpirationDate() {
234 return purchaseOrderQuotePriceExpirationDate;
235 }
236
237 public void setPurchaseOrderQuotePriceExpirationDate(Date purchaseOrderQuotePriceExpirationDate) {
238 this.purchaseOrderQuotePriceExpirationDate = purchaseOrderQuotePriceExpirationDate;
239 }
240
241 public String getPurchaseOrderQuoteStatusCode() {
242 return purchaseOrderQuoteStatusCode;
243 }
244
245 public void setPurchaseOrderQuoteStatusCode(String purchaseOrderQuoteStatusCode) {
246 this.purchaseOrderQuoteStatusCode = purchaseOrderQuoteStatusCode;
247 }
248
249 public Timestamp getPurchaseOrderQuoteAwardTimestamp() {
250 return purchaseOrderQuoteAwardTimestamp;
251 }
252
253 public void setPurchaseOrderQuoteAwardTimestamp(Timestamp purchaseOrderQuoteAwardTimestamp) {
254 this.purchaseOrderQuoteAwardTimestamp = purchaseOrderQuoteAwardTimestamp;
255 }
256
257 public String getPurchaseOrderQuoteRankNumber() {
258 return purchaseOrderQuoteRankNumber;
259 }
260
261 public void setPurchaseOrderQuoteRankNumber(String purchaseOrderQuoteRankNumber) {
262 this.purchaseOrderQuoteRankNumber = purchaseOrderQuoteRankNumber;
263 }
264
265 public PurchaseOrderDocument getPurchaseOrder() {
266 return purchaseOrder;
267 }
268
269 /**
270 * Sets the purchaseOrder attribute.
271 *
272 * @param purchaseOrder The purchaseOrder to set.
273 * @deprecated
274 */
275 public void setPurchaseOrder(PurchaseOrderDocument purchaseOrder) {
276 this.purchaseOrder = purchaseOrder;
277 }
278
279 public PurchaseOrderQuoteStatus getPurchaseOrderQuoteStatus() {
280 return purchaseOrderQuoteStatus;
281 }
282
283 /**
284 * Sets the purchaseOrderQuoteStatus attribute.
285 *
286 * @param purchaseOrderQuoteStatus The purchaseOrderQuoteStatus to set.
287 * @deprecated
288 */
289 public void setPurchaseOrderQuoteStatus(PurchaseOrderQuoteStatus purchaseOrderQuoteStatus) {
290 this.purchaseOrderQuoteStatus = purchaseOrderQuoteStatus;
291 }
292
293 public String getVendorCountryCode() {
294 return vendorCountryCode;
295 }
296
297 public void setVendorCountryCode(String vendorCountryCode) {
298 this.vendorCountryCode = vendorCountryCode;
299 }
300
301 public boolean isTransmitPrintDisplayed() {
302 return isTransmitPrintDisplayed;
303 }
304
305 public void setTransmitPrintDisplayed(boolean isTransmitPrintDisplayed) {
306 this.isTransmitPrintDisplayed = isTransmitPrintDisplayed;
307 }
308
309 /**
310 * @see org.kuali.rice.kns.bo.BusinessObjectBase#toStringMapper()
311 */
312 protected LinkedHashMap toStringMapper() {
313 LinkedHashMap m = new LinkedHashMap();
314 m.put("documentNumber", this.documentNumber);
315 if (this.purchaseOrderVendorQuoteIdentifier != null) {
316 m.put("purchaseOrderVendorQuoteIdentifier", this.purchaseOrderVendorQuoteIdentifier.toString());
317 }
318 return m;
319 }
320
321 /**
322 * Method to determine if the the pdf has already been displayed to the user
323 * one time. If false, its set to true and locks this out.
324 *
325 * @return
326 */
327 public boolean isPdfDisplayedToUserOnce() {
328 boolean valueToReturn = isPdfDisplayedToUserOnce;
329
330 //if not displayed, we will return false, but subsequent calls will return true.
331 if (valueToReturn == false){
332 isPdfDisplayedToUserOnce = true;
333 }
334
335 return valueToReturn;
336 }
337
338 public void setPdfDisplayedToUserOnce(boolean isPdfDisplayedToUserOnce) {
339 this.isPdfDisplayedToUserOnce = isPdfDisplayedToUserOnce;
340 }
341
342 }