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.fp.businessobject;
017
018 import java.sql.Date;
019 import java.util.LinkedHashMap;
020
021 import org.kuali.rice.kns.bo.PersistableBusinessObjectBase;
022 import org.kuali.rice.kns.util.KualiDecimal;
023
024 /**
025 * This class represents in a cashiering item in process. This cashiering item in process
026 * has an item amount, reduced amount, and remaining amount. It also has a closed and open date.
027 */
028 public class CashieringItemInProcess extends PersistableBusinessObjectBase {
029
030 private String campusCode;
031 private Integer itemIdentifier;
032 private KualiDecimal itemAmount;
033 private KualiDecimal itemReducedAmount;
034 private KualiDecimal itemRemainingAmount;
035 private KualiDecimal currentPayment;
036 private Date itemOpenDate;
037 private Date itemClosedDate;
038 private String itemDescription;
039
040 /**
041 * Default constructor.
042 */
043 public CashieringItemInProcess() {
044 }
045
046 /**
047 * Gets the campusCode attribute.
048 *
049 * @return Returns the campusCode
050 */
051 public String getCampusCode() {
052 return campusCode;
053 }
054
055 /**
056 * Sets the campusCode attribute.
057 *
058 * @param campusCode The campusCode to set.
059 */
060 public void setCampusCode(String campusCode) {
061 this.campusCode = campusCode;
062 }
063
064
065 /**
066 * Gets the itemIdentifier attribute.
067 *
068 * @return Returns the itemIdentifier
069 */
070 public Integer getItemIdentifier() {
071 return itemIdentifier;
072 }
073
074 /**
075 * Sets the itemIdentifier attribute.
076 *
077 * @param itemIdentifier The itemIdentifier to set.
078 */
079 public void setItemIdentifier(Integer itemIdentifier) {
080 this.itemIdentifier = itemIdentifier;
081 }
082
083
084 /**
085 * Gets the itemAmount attribute.
086 *
087 * @return Returns the itemAmount
088 */
089 public KualiDecimal getItemAmount() {
090 return itemAmount;
091 }
092
093 /**
094 * Sets the itemAmount attribute.
095 *
096 * @param itemAmount The itemAmount to set.
097 */
098 public void setItemAmount(KualiDecimal itemAmount) {
099 this.itemAmount = itemAmount;
100 }
101
102
103 /**
104 * Gets the itemReducedAmount attribute.
105 *
106 * @return Returns the itemReducedAmount
107 */
108 public KualiDecimal getItemReducedAmount() {
109 return itemReducedAmount;
110 }
111
112 /**
113 * Sets the itemReducedAmount attribute.
114 *
115 * @param itemReducedAmount The itemReducedAmount to set.
116 */
117 public void setItemReducedAmount(KualiDecimal itemReducedAmount) {
118 this.itemReducedAmount = itemReducedAmount;
119 }
120
121
122 /**
123 * Gets the itemRemainingAmount attribute.
124 *
125 * @return Returns the itemRemainingAmount
126 */
127 public KualiDecimal getItemRemainingAmount() {
128 return itemRemainingAmount;
129 }
130
131 /**
132 * Sets the itemRemainingAmount attribute.
133 *
134 * @param itemRemainingAmount The itemRemainingAmount to set.
135 */
136 public void setItemRemainingAmount(KualiDecimal itemTotalAmount) {
137 this.itemRemainingAmount = itemTotalAmount;
138 }
139
140
141 /**
142 * Gets the itemOpenDate attribute.
143 *
144 * @return Returns the itemOpenDate
145 */
146 public Date getItemOpenDate() {
147 return itemOpenDate;
148 }
149
150 /**
151 * Sets the itemOpenDate attribute.
152 *
153 * @param itemOpenDate The itemOpenDate to set.
154 */
155 public void setItemOpenDate(Date itemOpenDate) {
156 this.itemOpenDate = itemOpenDate;
157 }
158
159
160 /**
161 * Gets the itemClosedDate attribute.
162 *
163 * @return Returns the itemClosedDate
164 */
165 public Date getItemClosedDate() {
166 return itemClosedDate;
167 }
168
169 /**
170 * Sets the itemClosedDate attribute.
171 *
172 * @param itemClosedDate The itemClosedDate to set.
173 */
174 public void setItemClosedDate(Date itemClosedDate) {
175 this.itemClosedDate = itemClosedDate;
176 }
177
178
179 /**
180 * Gets the itemDescription attribute.
181 *
182 * @return Returns the itemDescription
183 */
184 public String getItemDescription() {
185 return itemDescription;
186 }
187
188 /**
189 * Sets the itemDescription attribute.
190 *
191 * @param itemDescription The itemDescription to set.
192 */
193 public void setItemDescription(String itemDescription) {
194 this.itemDescription = itemDescription;
195 }
196
197 /**
198 * Gets the currentPayment attribute.
199 *
200 * @return Returns the currentPayment.
201 */
202 public KualiDecimal getCurrentPayment() {
203 return currentPayment;
204 }
205
206 /**
207 * Sets the currentPayment attribute value.
208 *
209 * @param currentPayment The currentPayment to set.
210 */
211 public void setCurrentPayment(KualiDecimal currentPayment) {
212 this.currentPayment = currentPayment;
213 }
214
215 /**
216 * @see org.kuali.rice.kns.bo.BusinessObjectBase#toStringMapper()
217 */
218 protected LinkedHashMap toStringMapper() {
219 LinkedHashMap m = new LinkedHashMap();
220 m.put("campusCode", this.campusCode);
221 if (this.itemIdentifier != null) {
222 m.put("itemIdentifier", this.itemIdentifier.toString());
223 }
224 return m;
225 }
226
227 /**
228 * This method determines if this cashiering item in process was likely filled in by someone Since campusCode is likely
229 * automatically populated, it doesn't count
230 *
231 * @return if this item in process is populated
232 */
233 public boolean isPopulated() {
234 return (this.itemOpenDate != null && itemAmount != null && !itemAmount.equals(KualiDecimal.ZERO));
235 }
236 }