/** * Function deleteReportTable * This Function deletes report table * * @access public * @param string $sRepTabUid * @return void */ public function deleteReportTable($sRepTabUid) { try { $oReportTable = new ReportTable(); $aFields = $oReportTable->load($sRepTabUid); if (!empty($aFields)) { $this->dropTable($aFields['REP_TAB_NAME'], $aFields['REP_TAB_CONNECTION']); $oCriteria = new Criteria('workflow'); $oCriteria->add(ReportVarPeer::REP_TAB_UID, $sRepTabUid); $oDataset = ReportVarPeer::doDelete($oCriteria); $oReportTable->remove($sRepTabUid); } } catch (Exception $oError) { throw $oError; } }
/** * Create Report Tables from an array of data * * @param array $aReportTables * @param array $aReportTablesVars * @return void */ public function createReportTables ($aReportTables, $aReportTablesVars) { $this->createReportTablesVars( $aReportTablesVars ); $oReportTables = new ReportTables(); foreach ($aReportTables as $sKey => $aRow) { $bExists = true; $sTable = $aRow['REP_TAB_NAME']; $iCounter = 1; while ($bExists) { $oCriteria = new Criteria( 'workflow' ); $oCriteria->add( ReportTablePeer::REP_TAB_NAME, $sTable ); $oDataset = ReportTablePeer::doSelectRS( $oCriteria ); $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC ); $oDataset->next(); $bExists = ($aRow2 = $oDataset->getRow()); if ($bExists) { $sTable = $aRow['REP_TAB_NAME'] . '_' . $iCounter; $iCounter ++; } else { $aRow['REP_TAB_NAME'] = $sTable; } } $aFields = $oReportTables->getTableVars( $aRow['REP_TAB_UID'], true ); $oReportTables->createTable( $aRow['REP_TAB_NAME'], $aRow['REP_TAB_CONNECTION'], $aRow['REP_TAB_TYPE'], $aFields ); $oReportTables->populateTable( $aRow['REP_TAB_NAME'], $aRow['REP_TAB_CONNECTION'], $aRow['REP_TAB_TYPE'], $aFields, $aRow['PRO_UID'], $aRow['REP_TAB_GRID'] ); $aReportTables[$sKey]['REP_TAB_NAME'] = $aRow['REP_TAB_NAME']; $oRep = new ReportTable(); if ($oRep->reportTableExists( $aRow['REP_TAB_UID'] )) { $oRep->remove( $aRow['REP_TAB_UID'] ); } $oRep->create( $aRow ); } }