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.ar.businessobject;
017
018 import java.sql.Date;
019 import java.util.LinkedHashMap;
020
021 import org.kuali.kfs.module.ar.document.CustomerInvoiceDocument;
022 import org.kuali.kfs.sys.context.SpringContext;
023 import org.kuali.rice.kns.bo.Inactivateable;
024 import org.kuali.rice.kns.bo.PersistableBusinessObjectBase;
025 import org.kuali.rice.kim.bo.Person;
026 import org.kuali.rice.kim.service.PersonService;
027
028 /**
029 * @author Kuali Nervous System Team (kualidev@oncourse.iu.edu)
030 */
031
032 public class InvoiceRecurrence extends PersistableBusinessObjectBase implements Inactivateable {
033
034 protected String invoiceNumber;
035 protected String customerNumber;
036 protected Date documentRecurrenceBeginDate;
037 protected Date documentRecurrenceEndDate;
038 protected Integer documentTotalRecurrenceNumber;
039 protected String documentRecurrenceIntervalCode;
040 protected String documentInitiatorUserIdentifier;
041 protected Date documentLastCreateDate;
042 protected boolean active;
043
044 protected AccountsReceivableDocumentHeader accountsReceivableDocumentHeader;
045 protected CustomerInvoiceDocument customerInvoiceDocument;
046 protected Customer customer;
047 protected Person documentInitiatorUser;
048
049
050 /**
051 * Default constructor.
052 */
053 public InvoiceRecurrence() {
054
055 }
056
057
058
059
060 /**
061 * Gets the invoiceNumber attribute.
062 *
063 * @return Returns the invoiceNumber
064 *
065 */
066 public String getInvoiceNumber() {
067 return invoiceNumber;
068 }
069
070
071 /**
072 * Sets the invoiceNumber attribute.
073 *
074 * @param invoiceNumber The invoiceNumber to set.
075 *
076 */
077 public void setInvoiceNumber(String invoiceNumber) {
078 this.invoiceNumber = invoiceNumber;
079 }
080
081 /**
082 * Gets the customerNumber attribute.
083 *
084 * @return Returns the customerNumber
085 *
086 */
087 public String getCustomerNumber() {
088 return customerNumber;
089 }
090
091 /**
092 * Sets the customerNumber attribute.
093 *
094 * @param customerNumber The customerNumber to set.
095 *
096 */
097 public void setCustomerNumber(String customerNumber) {
098 this.customerNumber = customerNumber;
099 }
100
101
102 /**
103 * Gets the documentRecurrenceBeginDate attribute.
104 *
105 * @return Returns the documentRecurrenceBeginDate
106 *
107 */
108 public Date getDocumentRecurrenceBeginDate() {
109 return documentRecurrenceBeginDate;
110 }
111
112 /**
113 * Sets the documentRecurrenceBeginDate attribute.
114 *
115 * @param documentRecurrenceBeginDate The documentRecurrenceBeginDate to set.
116 *
117 */
118 public void setDocumentRecurrenceBeginDate(Date documentRecurrenceBeginDate) {
119 this.documentRecurrenceBeginDate = documentRecurrenceBeginDate;
120 }
121
122
123 /**
124 * Gets the documentRecurrenceEndDate attribute.
125 *
126 * @return Returns the documentRecurrenceEndDate
127 *
128 */
129 public Date getDocumentRecurrenceEndDate() {
130 return documentRecurrenceEndDate;
131 }
132
133 /**
134 * Sets the documentRecurrenceEndDate attribute.
135 *
136 * @param documentRecurrenceEndDate The documentRecurrenceEndDate to set.
137 *
138 */
139 public void setDocumentRecurrenceEndDate(Date documentRecurrenceEndDate) {
140 this.documentRecurrenceEndDate = documentRecurrenceEndDate;
141 }
142
143
144 /**
145 * Gets the documentTotalRecurrenceNumber attribute.
146 *
147 * @return Returns the documentTotalRecurrenceNumber
148 *
149 */
150 public Integer getDocumentTotalRecurrenceNumber() {
151 return documentTotalRecurrenceNumber;
152 }
153
154 /**
155 * Sets the documentTotalRecurrenceNumber attribute.
156 *
157 * @param documentTotalRecurrenceNumber The documentTotalRecurrenceNumber to set.
158 *
159 */
160 public void setDocumentTotalRecurrenceNumber(Integer documentTotalRecurrenceNumber) {
161 this.documentTotalRecurrenceNumber = documentTotalRecurrenceNumber;
162 }
163
164
165 /**
166 * Gets the documentRecurrenceIntervalCode attribute.
167 *
168 * @return Returns the documentRecurrenceIntervalCode
169 *
170 */
171 public String getDocumentRecurrenceIntervalCode() {
172 return documentRecurrenceIntervalCode;
173 }
174
175 /**
176 * Sets the documentRecurrenceIntervalCode attribute.
177 *
178 * @param documentRecurrenceIntervalCode The documentRecurrenceIntervalCode to set.
179 *
180 */
181 public void setDocumentRecurrenceIntervalCode(String documentRecurrenceIntervalCode) {
182 this.documentRecurrenceIntervalCode = documentRecurrenceIntervalCode;
183 }
184
185 /**
186 * Gets the documentInitiatorUserIdentifier attribute.
187 *
188 * @return Returns the documentInitiatorUserIdentifier
189 *
190 */
191 public String getDocumentInitiatorUserIdentifier() {
192 return documentInitiatorUserIdentifier;
193 }
194
195 /**
196 * Sets the documentInitiatorUserIdentifier attribute.
197 *
198 * @param documentInitiatorUserIdentifier The documentInitiatorUserIdentifier to set.
199 *
200 */
201 public void setDocumentInitiatorUserIdentifier(String documentInitiatorUserIdentifier) {
202 this.documentInitiatorUserIdentifier = documentInitiatorUserIdentifier;
203 }
204
205
206 public Person getDocumentInitiatorUser() {
207 documentInitiatorUser = SpringContext.getBean(org.kuali.rice.kim.service.PersonService.class).updatePersonIfNecessary(documentInitiatorUserIdentifier, documentInitiatorUser);
208 return documentInitiatorUser;
209 }
210
211 /**
212 * @param documentInitiatorUser The documentInitiatorUser to set.
213 */
214 public void setDocumentInitiatorUser(Person documentInitiatorUser) {
215 this.documentInitiatorUser = documentInitiatorUser;
216 }
217
218 /**
219 * The network id of the document initiator
220 *
221 * @return the network id of the document initiator
222 */
223 public String getDocumentInitiatorUserPersonUserIdentifier() {
224 return this.getDocumentInitiatorUser().getPrincipalName();
225 }
226
227
228 /**
229 * Gets the documentLastCreateDate attribute.
230 *
231 * @return Returns the documentLastCreateDate
232 *
233 */
234 public Date getDocumentLastCreateDate() {
235 return documentLastCreateDate;
236 }
237
238 /**
239 * Sets the documentLastCreateDate attribute.
240 *
241 * @param documentLastCreateDate The documentLastCreateDate to set.
242 *
243 */
244 public void setDocumentLastCreateDate(Date documentLastCreateDate) {
245 this.documentLastCreateDate = documentLastCreateDate;
246 }
247
248
249 /**
250 * Gets the active attribute.
251 *
252 * @return Returns the active
253 *
254 */
255 public boolean isActive() {
256 return active;
257 }
258
259 /**
260 * Sets the active attribute.
261 *
262 * @param active The active to set.
263 *
264 */
265 public void setActive(boolean active) {
266 this.active = active;
267 }
268
269 /**
270 * Gets the customer attribute.
271 * @return Returns the customer.
272 */
273 public Customer getCustomer() {
274 return customer;
275 }
276
277 /**
278 * Sets the customer attribute value.
279 * @param customer The customer to set.
280 * @deprecated
281 */
282 public void setCustomer(Customer customer) {
283 this.customer = customer;
284 }
285
286
287
288 /**
289 * @see org.kuali.rice.kns.bo.BusinessObjectBase#toStringMapper()
290 */
291 @SuppressWarnings("rawtypes")
292 protected LinkedHashMap toStringMapper() {
293 LinkedHashMap m = new LinkedHashMap();
294 m.put("documentNumber", this.invoiceNumber);
295 return m;
296 }
297
298 public AccountsReceivableDocumentHeader getAccountsReceivableDocumentHeader() {
299 return accountsReceivableDocumentHeader;
300 }
301
302 /**
303 * Sets the accountsReceivableDocumentHeader attribute value.
304 * @param accountsReceivableDocumentHeader The AccountsReceivableDocumentHeader to set.
305 * @deprecated
306 */
307 public void setAccountsReceivableDocumentHeader(AccountsReceivableDocumentHeader accountsReceivableDocumentHeader) {
308 this.accountsReceivableDocumentHeader = accountsReceivableDocumentHeader;
309 }
310
311
312 /**
313 * Gets the customerName attribute.
314 *
315 * @return Returns the customerName
316 *
317 */
318 public String getCustomerName() {
319 return this.getCustomer().getCustomerName();
320 }
321
322
323 public CustomerInvoiceDocument getCustomerInvoiceDocument() {
324 return customerInvoiceDocument;
325 }
326
327 /**
328 * Sets the customerInvoiceDocument attribute value.
329 * @param customerInvoiceDocument The customerInvoiceDocument to set.
330 * @deprecated
331 */
332 public void setCustomerInvoiceDocument(CustomerInvoiceDocument customerInvoiceDocument) {
333 this.customerInvoiceDocument = customerInvoiceDocument;
334 }
335
336 }
337