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.coa.businessobject; 018 019 import java.sql.Date; 020 import java.util.LinkedHashMap; 021 022 import org.kuali.kfs.sys.context.SpringContext; 023 import org.kuali.rice.kew.doctype.bo.DocumentTypeEBO; 024 import org.kuali.rice.kew.service.impl.KEWModuleService; 025 import org.kuali.rice.kim.bo.Person; 026 import org.kuali.rice.kns.bo.Inactivateable; 027 import org.kuali.rice.kns.bo.PersistableBusinessObjectBase; 028 import org.kuali.rice.kns.util.KualiDecimal; 029 030 /** 031 * 032 */ 033 public class AccountDelegateModelDetail extends PersistableBusinessObjectBase implements Inactivateable { 034 035 private String chartOfAccountsCode; 036 private String organizationCode; 037 private String accountDelegateModelName; 038 private String accountDelegateUniversalId; 039 private String financialDocumentTypeCode; 040 private KualiDecimal approvalFromThisAmount; 041 private KualiDecimal approvalToThisAmount; 042 private boolean accountDelegatePrimaryRoutingIndicator; 043 private Date accountDelegateStartDate; 044 private boolean active; 045 046 private Chart chartOfAccounts; 047 private DocumentTypeEBO financialSystemDocumentTypeCode; 048 private Person accountDelegate; 049 050 /** 051 * Default constructor. 052 */ 053 public AccountDelegateModelDetail() { 054 } 055 056 public AccountDelegateModelDetail(AccountDelegateGlobalDetail delegateGlobalDetail) { 057 accountDelegateUniversalId = delegateGlobalDetail.getAccountDelegateUniversalId(); 058 accountDelegatePrimaryRoutingIndicator = delegateGlobalDetail.getAccountDelegatePrimaryRoutingIndicator(); 059 approvalFromThisAmount = delegateGlobalDetail.getApprovalFromThisAmount(); 060 approvalToThisAmount = delegateGlobalDetail.getApprovalToThisAmount(); 061 accountDelegateStartDate = delegateGlobalDetail.getAccountDelegateStartDate(); 062 financialDocumentTypeCode = delegateGlobalDetail.getFinancialDocumentTypeCode(); 063 } 064 065 /** 066 * Gets the chartOfAccountsCode attribute. 067 * 068 * @return Returns the chartOfAccountsCode 069 */ 070 public String getChartOfAccountsCode() { 071 return chartOfAccountsCode; 072 } 073 074 /** 075 * Sets the chartOfAccountsCode attribute. 076 * 077 * @param chartOfAccountsCode The chartOfAccountsCode to set. 078 */ 079 public void setChartOfAccountsCode(String chartOfAccountsCode) { 080 this.chartOfAccountsCode = chartOfAccountsCode; 081 } 082 083 084 /** 085 * Gets the organizationCode attribute. 086 * 087 * @return Returns the organizationCode 088 */ 089 public String getOrganizationCode() { 090 return organizationCode; 091 } 092 093 /** 094 * Sets the organizationCode attribute. 095 * 096 * @param organizationCode The organizationCode to set. 097 */ 098 public void setOrganizationCode(String organizationCode) { 099 this.organizationCode = organizationCode; 100 } 101 102 103 /** 104 * Gets the accountDelegateModelName attribute. 105 * 106 * @return Returns the accountDelegateModelName 107 */ 108 public String getAccountDelegateModelName() { 109 return accountDelegateModelName; 110 } 111 112 /** 113 * Sets the accountDelegateModelName attribute. 114 * 115 * @param accountDelegateModelName The accountDelegateModelName to set. 116 */ 117 public void setAccountDelegateModelName(String organizationRoutingModelName) { 118 this.accountDelegateModelName = organizationRoutingModelName; 119 } 120 121 122 /** 123 * Gets the accountDelegateUniversalId attribute. 124 * 125 * @return Returns the accountDelegateUniversalId 126 */ 127 public String getAccountDelegateUniversalId() { 128 return accountDelegateUniversalId; 129 } 130 131 /** 132 * Sets the accountDelegateUniversalId attribute. 133 * 134 * @param accountDelegateUniversalId The accountDelegateUniversalId to set. 135 */ 136 public void setAccountDelegateUniversalId(String accountDelegateUniversalId) { 137 this.accountDelegateUniversalId = accountDelegateUniversalId; 138 } 139 140 141 /** 142 * Gets the accountDelegate attribute. 143 * 144 * @return Returns the accountDelegate. 145 */ 146 public Person getAccountDelegate() { 147 accountDelegate = SpringContext.getBean(org.kuali.rice.kim.service.PersonService.class).updatePersonIfNecessary(accountDelegateUniversalId, accountDelegate); 148 return accountDelegate; 149 } 150 151 /** 152 * Sets the accountDelegate attribute value. 153 * 154 * @param accountDelegate The accountDelegate to set. 155 */ 156 public void setAccountDelegate(Person accountDelegate) { 157 this.accountDelegate = accountDelegate; 158 } 159 160 /** 161 * Gets the financialDocumentTypeCode attribute. 162 * 163 * @return Returns the financialDocumentTypeCode 164 */ 165 public String getFinancialDocumentTypeCode() { 166 return financialDocumentTypeCode; 167 } 168 169 /** 170 * Sets the financialDocumentTypeCode attribute. 171 * 172 * @param financialDocumentTypeCode The financialDocumentTypeCode to set. 173 */ 174 public void setFinancialDocumentTypeCode(String financialDocumentTypeCode) { 175 this.financialDocumentTypeCode = financialDocumentTypeCode; 176 } 177 178 /** 179 * Gets the financialSystemDocumentTypeCode attribute. 180 * @return Returns the financialSystemDocumentTypeCode. 181 */ 182 public DocumentTypeEBO getFinancialSystemDocumentTypeCode() { 183 return financialSystemDocumentTypeCode = SpringContext.getBean(KEWModuleService.class).retrieveExternalizableBusinessObjectIfNecessary(this, financialSystemDocumentTypeCode, "financialSystemDocumentTypeCode"); 184 } 185 186 /** 187 * Gets the approvalFromThisAmount attribute. 188 * 189 * @return Returns the approvalFromThisAmount 190 */ 191 public KualiDecimal getApprovalFromThisAmount() { 192 return approvalFromThisAmount; 193 } 194 195 /** 196 * Sets the approvalFromThisAmount attribute. 197 * 198 * @param approvalFromThisAmount The approvalFromThisAmount to set. 199 */ 200 public void setApprovalFromThisAmount(KualiDecimal approvalFromThisAmount) { 201 this.approvalFromThisAmount = approvalFromThisAmount; 202 } 203 204 205 /** 206 * Gets the approvalToThisAmount attribute. 207 * 208 * @return Returns the approvalToThisAmount 209 */ 210 public KualiDecimal getApprovalToThisAmount() { 211 return approvalToThisAmount; 212 } 213 214 /** 215 * Sets the approvalToThisAmount attribute. 216 * 217 * @param approvalToThisAmount The approvalToThisAmount to set. 218 */ 219 public void setApprovalToThisAmount(KualiDecimal approvalToThisAmount) { 220 this.approvalToThisAmount = approvalToThisAmount; 221 } 222 223 224 /** 225 * Gets the accountDelegatePrimaryRoutingIndicator attribute. 226 * 227 * @return Returns the accountDelegatePrimaryRoutingIndicator 228 */ 229 public boolean getAccountDelegatePrimaryRoutingIndicator() { 230 return accountDelegatePrimaryRoutingIndicator; 231 } 232 233 /** 234 * Sets the accountDelegatePrimaryRoutingIndicator attribute. 235 * 236 * @param accountDelegatePrimaryRoutingCode The accountDelegatePrimaryRoutingIndicator to set. 237 */ 238 public void setAccountDelegatePrimaryRoutingIndicator(boolean accountDelegatePrimaryRoutingCode) { 239 this.accountDelegatePrimaryRoutingIndicator = accountDelegatePrimaryRoutingCode; 240 } 241 242 243 /** 244 * Gets the accountDelegateStartDate attribute. 245 * 246 * @return Returns the accountDelegateStartDate 247 */ 248 public Date getAccountDelegateStartDate() { 249 return accountDelegateStartDate; 250 } 251 252 /** 253 * Sets the accountDelegateStartDate attribute. 254 * 255 * @param accountDelegateStartDate The accountDelegateStartDate to set. 256 */ 257 public void setAccountDelegateStartDate(Date accountDelegateStartDate) { 258 this.accountDelegateStartDate = accountDelegateStartDate; 259 } 260 261 /** 262 * Gets the active attribute. 263 * 264 * @return Returns the active. 265 */ 266 public boolean isActive() { 267 return active; 268 } 269 270 /** 271 * Sets the active attribute value. 272 * 273 * @param active The active to set. 274 */ 275 public void setActive(boolean active) { 276 this.active = active; 277 } 278 279 /** 280 * Gets the chartOfAccounts attribute. 281 * 282 * @return Returns the chartOfAccounts 283 */ 284 public Chart getChartOfAccounts() { 285 return chartOfAccounts; 286 } 287 288 /** 289 * Sets the chartOfAccounts attribute. 290 * 291 * @param chartOfAccounts The chartOfAccounts to set. 292 * @deprecated 293 */ 294 public void setChartOfAccounts(Chart chartOfAccounts) { 295 this.chartOfAccounts = chartOfAccounts; 296 } 297 298 /** 299 * @see org.kuali.rice.kns.bo.BusinessObjectBase#toStringMapper() 300 */ 301 protected LinkedHashMap toStringMapper() { 302 LinkedHashMap m = new LinkedHashMap(); 303 m.put("chartOfAccountsCode", this.chartOfAccountsCode); 304 m.put("organizationCode", this.organizationCode); 305 m.put("accountDelegateModelName", this.accountDelegateModelName); 306 m.put("accountDelegateUniversalId", this.accountDelegateUniversalId); 307 m.put("financialDocumentTypeCode", this.financialDocumentTypeCode); 308 return m; 309 } 310 } 311