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.bc.document.dataaccess.impl;
017
018 import org.kuali.kfs.module.bc.document.dataaccess.ReportDumpDao;
019
020 /**
021 * JCBC implementation of ReportDumpDao
022 *
023 * @see org.kuali.kfs.module.bc.document.dataaccess.ReportDumpDao
024 */
025 public class ReportDumpDaoJdbc extends BudgetConstructionDaoJdbcBase implements ReportDumpDao {
026 private static String updateAccountDump = new String();
027
028 public ReportDumpDaoJdbc() {
029 super();
030
031 // SQL to update account dump table from control list and sub-fund selections
032 StringBuilder sqlText = new StringBuilder(500);
033 sqlText.append("INSERT INTO LD_BCN_ACCT_DUMP_T\n");
034 sqlText.append("SELECT ?, ctrl.univ_fiscal_yr, ctrl.fin_coa_cd, ctrl.account_nbr, ctrl.sub_acct_nbr, ctrl.ver_nbr \n");
035 sqlText.append("FROM LD_BCN_CTRL_LIST_T ctrl, LD_BCN_SUBFUND_PICK_T pick \n");
036 sqlText.append("WHERE ctrl.person_unvl_id = ? \n");
037 sqlText.append("AND pick.person_unvl_id = ctrl.person_unvl_id \n");
038 sqlText.append("AND pick.sub_fund_grp_cd = ctrl.sel_sub_fund_grp \n");
039 sqlText.append("AND pick.report_flag > 0 \n");
040
041 updateAccountDump = sqlText.toString();
042 sqlText.delete(0, sqlText.length());
043 }
044
045 /**
046 * @see org.kuali.kfs.module.bc.document.dataaccess.ReportDumpDao#cleanAccountDump(java.lang.String)
047 */
048 public void cleanAccountDump(String principalName) {
049 // clear out previous account dump data for user
050 clearTempTableByUnvlId("LD_BCN_ACCT_DUMP_T", "PERSON_UNVL_ID", principalName);
051 }
052
053 /**
054 * @see org.kuali.kfs.module.bc.document.dataaccess.ReportDumpDao#updateAccountDump(java.lang.String)
055 */
056 public void updateAccountDump(String principalId) {
057 cleanAccountDump(principalId);
058
059 // rebuild account dump table
060 getSimpleJdbcTemplate().update(updateAccountDump, principalId, principalId);
061 }
062
063 }
064