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 * Created on Sep 2, 2004 018 * 019 */ 020 package org.kuali.kfs.pdp.businessobject; 021 022 import java.sql.Date; 023 import java.sql.Timestamp; 024 import java.util.LinkedHashMap; 025 026 import org.apache.commons.lang.builder.EqualsBuilder; 027 import org.apache.commons.lang.builder.HashCodeBuilder; 028 import org.apache.commons.lang.builder.ToStringBuilder; 029 import org.kuali.kfs.coa.businessobject.Account; 030 import org.kuali.kfs.gl.businessobject.FlexibleAccountUpdateable; 031 import org.kuali.kfs.gl.businessobject.OriginEntryFull; 032 import org.kuali.kfs.sys.KFSPropertyConstants; 033 import org.kuali.rice.kns.bo.PersistableBusinessObjectBase; 034 import org.kuali.rice.kns.util.KualiDecimal; 035 import org.kuali.rice.kns.util.KualiInteger; 036 037 /** 038 * General Ledger Pending Table for PDP 039 */ 040 public class GlPendingTransaction extends PersistableBusinessObjectBase implements FlexibleAccountUpdateable { 041 private KualiInteger id; // GL_PENDING_ENTRY_ID NUMBER 8 0 042 private String fsOriginCd; // FS_ORIGIN_CD VARCHAR2 2 043 private String fdocNbr; // FDOC_NBR VARCHAR2 9 044 private KualiInteger sequenceNbr; // TRN_ENTR_SEQ_NBR NUMBER 5 0 045 private String chartOfAccountsCode; // FIN_COA_CD VARCHAR2 2 046 private String accountNumber; // ACCOUNT_NBR VARCHAR2 7 047 private String subAccountNumber; // SUB_ACCOUNT_NBR VARCHAR2 5 048 private String financialObjectCode; // FIN_OBJECT_CD VARCHAR2 4 049 private String financialSubObjectCode; // FIN_SUB_OBJ_CD VARCHAR2 3 050 private String financialBalanceTypeCode; // FIN_BALANCE_TYP_CD VARCHAR2 2 051 private String finObjTypCd; // FIN_OBJ_TYP_CD VARCHAR2 2 052 private Integer universityFiscalYear; // UNIV_FISCAL_YR NUMBER 4 0 053 private String univFiscalPrdCd; // UNIV_FISCAL_PRD_CD VARCHAR2 2 054 private String description; // TRN_LDGR_ENTR_DESC VARCHAR2 40 055 private KualiDecimal amount; // TRN_LDGR_ENTR_AMT NUMBER 19 2 056 private String debitCrdtCd; // TRN_DEBIT_CRDT_CD VARCHAR2 1 057 private Date transactionDt; // TRANSACTION_DT DATE 7 058 private String financialDocumentTypeCode; // FDOC_TYP_CD VARCHAR2 4 059 private String orgDocNbr; // ORG_DOC_NBR VARCHAR2 10 060 private String projectCd; // PROJECT_CD VARCHAR2 10 061 private String orgReferenceId; // ORG_REFERENCE_ID VARCHAR2 8 062 private String fdocRefTypCd; // FDOC_REF_TYP_CD VARCHAR2 4 063 private String fsRefOriginCd; // FS_REF_ORIGIN_CD VARCHAR2 2 064 private String fdocRefNbr; // FDOC_REF_NBR VARCHAR2 9 065 private Date fdocReversalDt; // FDOC_REVERSAL_DT DATE 7 066 private String trnEncumUpdtCd; // TRN_ENCUM_UPDT_CD VARCHAR2 1 067 private String fdocApprovedCd; // FDOC_APPROVED_CD VARCHAR2 1 068 private String acctSfFinObjCd; // ACCT_SF_FINOBJ_CD VARCHAR2 4 069 private String trnEntrOfstCd; // TRN_ENTR_OFST_CD VARCHAR2 1 070 private boolean processInd; // TRN_EXTRT_IND VARCHAR2 7 071 072 public GlPendingTransaction() { 073 super(); 074 075 processInd = false; 076 } 077 078 public OriginEntryFull getOriginEntry() { 079 OriginEntryFull oe = new OriginEntryFull(); 080 081 oe.setFinancialSystemOriginationCode(fsOriginCd); 082 oe.setDocumentNumber(fdocNbr); 083 oe.setTransactionLedgerEntrySequenceNumber(sequenceNbr.intValue()); 084 oe.setChartOfAccountsCode(chartOfAccountsCode); 085 oe.setAccountNumber(accountNumber); 086 oe.setSubAccountNumber(subAccountNumber); 087 oe.setFinancialObjectCode(financialObjectCode); 088 oe.setFinancialSubObjectCode(financialSubObjectCode); 089 oe.setFinancialBalanceTypeCode(financialBalanceTypeCode); 090 oe.setFinancialObjectTypeCode(finObjTypCd); 091 oe.setUniversityFiscalYear(universityFiscalYear); 092 oe.setUniversityFiscalPeriodCode(univFiscalPrdCd); 093 oe.setTransactionLedgerEntryDescription(description); 094 if (amount != null) { 095 oe.setTransactionLedgerEntryAmount(amount); 096 } 097 oe.setTransactionDebitCreditCode(debitCrdtCd); 098 if (transactionDt != null) { 099 oe.setTransactionDate(new Date(transactionDt.getTime())); 100 } 101 oe.setFinancialDocumentTypeCode(financialDocumentTypeCode); 102 oe.setOrganizationDocumentNumber(orgDocNbr); 103 oe.setProjectCode(projectCd); 104 oe.setOrganizationReferenceId(orgReferenceId); 105 oe.setReferenceFinancialDocumentTypeCode(fdocRefTypCd); 106 oe.setReferenceFinancialSystemOriginationCode(fsRefOriginCd); 107 oe.setReferenceFinancialDocumentNumber(fdocRefNbr); 108 if (fdocReversalDt != null) { 109 oe.setFinancialDocumentReversalDate(new Date(fdocReversalDt.getTime())); 110 } 111 oe.setTransactionEncumbranceUpdateCode(trnEncumUpdtCd); 112 113 return oe; 114 } 115 116 public String getAccountNumber() { 117 return accountNumber; 118 } 119 120 public void setAccountNumber(String accountNbr) { 121 this.accountNumber = accountNbr; 122 } 123 124 public String getAcctSfFinObjCd() { 125 return acctSfFinObjCd; 126 } 127 128 public void setAcctSfFinObjCd(String acctSfFinObjCd) { 129 this.acctSfFinObjCd = acctSfFinObjCd; 130 } 131 132 public KualiDecimal getAmount() { 133 return amount; 134 } 135 136 public void setAmount(KualiDecimal amount) { 137 this.amount = amount; 138 } 139 140 public String getDebitCrdtCd() { 141 return debitCrdtCd; 142 } 143 144 public void setDebitCrdtCd(String debitCrdtCd) { 145 this.debitCrdtCd = debitCrdtCd; 146 } 147 148 public String getDescription() { 149 return description; 150 } 151 152 public void setDescription(String description) { 153 this.description = description; 154 } 155 156 public String getFdocApprovedCd() { 157 return fdocApprovedCd; 158 } 159 160 public void setFdocApprovedCd(String fdocApprovedCd) { 161 this.fdocApprovedCd = fdocApprovedCd; 162 } 163 164 public String getFdocNbr() { 165 return fdocNbr; 166 } 167 168 public void setFdocNbr(String fdocNbr) { 169 this.fdocNbr = fdocNbr; 170 } 171 172 public String getFdocRefNbr() { 173 return fdocRefNbr; 174 } 175 176 public void setFdocRefNbr(String fdocRefNbr) { 177 this.fdocRefNbr = fdocRefNbr; 178 } 179 180 public String getFdocRefTypCd() { 181 return fdocRefTypCd; 182 } 183 184 public void setFdocRefTypCd(String fdocRefTypCd) { 185 this.fdocRefTypCd = fdocRefTypCd; 186 } 187 188 public Date getFdocReversalDt() { 189 return fdocReversalDt; 190 } 191 192 public void setFdocReversalDt(Date fdocReversalDt) { 193 this.fdocReversalDt = fdocReversalDt; 194 } 195 196 public String getFinancialDocumentTypeCode() { 197 return financialDocumentTypeCode; 198 } 199 200 public void setFinancialDocumentTypeCode(String fdocTypCd) { 201 this.financialDocumentTypeCode = fdocTypCd; 202 } 203 204 public String getFinancialBalanceTypeCode() { 205 return financialBalanceTypeCode; 206 } 207 208 public void setFinancialBalanceTypeCode(String finBalanceTypCd) { 209 this.financialBalanceTypeCode = finBalanceTypCd; 210 } 211 212 public String getChartOfAccountsCode() { 213 return chartOfAccountsCode; 214 } 215 216 public void setChartOfAccountsCode(String finCoaCd) { 217 this.chartOfAccountsCode = finCoaCd; 218 } 219 220 public String getFinancialObjectCode() { 221 return financialObjectCode; 222 } 223 224 public void setFinancialObjectCode(String finObjectCd) { 225 this.financialObjectCode = finObjectCd; 226 } 227 228 public String getFinObjTypCd() { 229 return finObjTypCd; 230 } 231 232 public void setFinObjTypCd(String finObjTypCd) { 233 this.finObjTypCd = finObjTypCd; 234 } 235 236 public String getFinancialSubObjectCode() { 237 return financialSubObjectCode; 238 } 239 240 public void setFinancialSubObjectCode(String finSubObjCd) { 241 this.financialSubObjectCode = finSubObjCd; 242 } 243 244 public String getFsOriginCd() { 245 return fsOriginCd; 246 } 247 248 public void setFsOriginCd(String fsOriginCd) { 249 this.fsOriginCd = fsOriginCd; 250 } 251 252 public String getFsRefOriginCd() { 253 return fsRefOriginCd; 254 } 255 256 public void setFsRefOriginCd(String fsRefOriginCd) { 257 this.fsRefOriginCd = fsRefOriginCd; 258 } 259 260 public KualiInteger getId() { 261 return id; 262 } 263 264 public void setId(KualiInteger id) { 265 this.id = id; 266 } 267 268 public String getOrgDocNbr() { 269 return orgDocNbr; 270 } 271 272 public void setOrgDocNbr(String orgDocNbr) { 273 this.orgDocNbr = orgDocNbr; 274 } 275 276 public String getOrgReferenceId() { 277 return orgReferenceId; 278 } 279 280 public void setOrgReferenceId(String orgReferenceId) { 281 this.orgReferenceId = orgReferenceId; 282 } 283 284 /** 285 * Gets the processInd attribute. 286 * 287 * @return Returns the processInd. 288 */ 289 public boolean isProcessInd() { 290 return processInd; 291 } 292 293 /** 294 * Sets the processInd attribute value. 295 * 296 * @param processInd The processInd to set. 297 */ 298 public void setProcessInd(boolean processInd) { 299 this.processInd = processInd; 300 } 301 302 public String getProjectCd() { 303 return projectCd; 304 } 305 306 public void setProjectCd(String projectCd) { 307 this.projectCd = projectCd; 308 } 309 310 public KualiInteger getSequenceNbr() { 311 return sequenceNbr; 312 } 313 314 public void setSequenceNbr(KualiInteger sequenceNbr) { 315 this.sequenceNbr = sequenceNbr; 316 } 317 318 public String getSubAccountNumber() { 319 return subAccountNumber; 320 } 321 322 public void setSubAccountNumber(String subAccountNbr) { 323 this.subAccountNumber = subAccountNbr; 324 } 325 326 public Date getTransactionDt() { 327 return transactionDt; 328 } 329 330 public void setTransactionDt(Date transactionDt) { 331 this.transactionDt = transactionDt; 332 } 333 334 public String getTrnEncumUpdtCd() { 335 return trnEncumUpdtCd; 336 } 337 338 public void setTrnEncumUpdtCd(String trnEncumUpdtCd) { 339 this.trnEncumUpdtCd = trnEncumUpdtCd; 340 } 341 342 public String getTrnEntrOfstCd() { 343 return trnEntrOfstCd; 344 } 345 346 public void setTrnEntrOfstCd(String trnEntrOfstCd) { 347 this.trnEntrOfstCd = trnEntrOfstCd; 348 } 349 350 public String getUnivFiscalPrdCd() { 351 return univFiscalPrdCd; 352 } 353 354 public void setUnivFiscalPrdCd(String univFiscalPrdCd) { 355 this.univFiscalPrdCd = univFiscalPrdCd; 356 } 357 358 public Integer getUniversityFiscalYear() { 359 return universityFiscalYear; 360 } 361 362 public void setUniversityFiscalYear(Integer univFiscalYr) { 363 this.universityFiscalYear = univFiscalYr; 364 } 365 366 public boolean equals(Object obj) { 367 if (!(obj instanceof GlPendingTransaction)) { 368 return false; 369 } 370 GlPendingTransaction o = (GlPendingTransaction) obj; 371 return new EqualsBuilder().append(id, o.getId()).isEquals(); 372 } 373 374 public int hashCode() { 375 return new HashCodeBuilder(83, 5).append(id).toHashCode(); 376 } 377 378 public String toString() { 379 return new ToStringBuilder(this).append("id", id).toString(); 380 } 381 382 public void setAccount(Account a) { /* don't do nada; we're just fulfilling the contract of FlexibleAccountUpdateable */ 383 } 384 385 @Override 386 protected LinkedHashMap toStringMapper() { 387 LinkedHashMap m = new LinkedHashMap(); 388 m.put(KFSPropertyConstants.ID, this.id); 389 390 return m; 391 } 392 }