Пример #1
0
 /**
  * Retorna o valor antigo do registro antes de realizar a atualização
  *
  * @return Log_Model_LogTabela_Mapper
  */
 public function getValueOld()
 {
     if (!$this->_dataOld instanceof Log_Model_LogTabela_Mapper) {
         $this->_dataOld = new Log_Model_LogTabela_Mapper();
         $this->_dataOld->setId($this->getId());
         $this->_dataOld->retrive();
     }
     return $this->_dataOld;
 }
Пример #2
0
 public function save($tableName = '', $operation = '', $key = '', $note = '')
 {
     if ($tableName && $operation && $key) {
         list($owner, $table) = explode(".", str_replace('"', '', $tableName));
         if (substr($table, 0, 4) != 'LOG_') {
             $_logTabela = new Log_Model_LogTabela_Mapper();
             $where = new ZendT_Db_Where();
             $where->addFilter('owner', $owner);
             $where->addFilter('nome', $table);
             $_logTabela->retrieve($where);
             if (!$_logTabela->getId()) {
                 $_logTabela->setOwner($owner);
                 $_logTabela->setNome($table);
                 $_logTabela->setTableName($table);
                 $_logTabela->insert();
             }
             $this->setIdLogTabela($_logTabela->getId());
             $_logObjeto = new Log_Model_LogObjeto_Mapper();
             $where = new ZendT_Db_Where();
             $where->addFilter('id_log_tabela', $_logTabela->getId());
             $_logObjeto->retrieve($where);
             if (!$_logObjeto->getId()) {
                 $_logObjeto->setNome($table);
                 $_logObjeto->setDescricao("LOG DE {$table}");
                 $_logObjeto->setStatus('A');
                 $_logObjeto->setIdLogTabela($_logTabela->getId());
                 $_logObjeto->insert();
             }
             $this->setIdLogObjeto($_logObjeto->getId());
         }
         if ($this->getIdLogTabela() && $this->getIdLogObjeto()) {
             if ($operation == 'insert') {
                 $codOperation = 'INC';
             } else {
                 if ($operation == 'update') {
                     $codOperation = 'ALT';
                 } else {
                     if ($operation == 'delete') {
                         $codOperation = 'EXC';
                     }
                 }
             }
             if ($codOperation) {
                 $this->setIdUsuario(Zend_Auth::getInstance()->getStorage()->read()->getId());
                 $this->setChave($key);
                 $this->setIdObjeto($key);
                 $this->setObservacao($note);
                 $db = $this->getModel()->getAdapter();
                 $sql = "begin\n                                        log_pkg.addlog(p_objeto     => {$db->quote($_logObjeto->getNome()->getValueToDb())},\n                                                       p_operac     => {$db->quote($codOperation)},\n                                                       p_id_objeto  => {$db->quote($this->getIdObjeto()->getValueToDb())},\n                                                       p_id_usuario => {$db->quote($this->getIdUsuario()->getValueToDb())},\n                                                       p_chave      => {$db->quote($this->getChave()->getValueToDb())},\n                                                       p_observacao => {$db->quote($this->getObservacao()->getValueToDb())},\n                                                       p_commit     => 'S',\n                                                       p_tabela     => {$db->quote($_logTabela->getNome()->getValueToDb())});\n                                    end;";
                 $stmt = $db->prepare($sql);
                 $stmt->execute();
             }
         }
     }
     return $this;
 }
Пример #3
0
 /**
  * Retorna o SQL Base
  */
 protected function _getSqlBase()
 {
     $sql = parent::_getSqlBase();
     return $sql;
 }