/** * Exclui um objeto oid do Banco de dados * @param integer $iOid * * Caso de Uso: Ao excluir um registro de uma tabela e eo campo for do tipo oid, * Deve-se excluir o objeto do banco utilizando este método */ public static function exclusao($iOid) { $lTransacaoInterna = false; global $conn; if (!db_utils::inTransaction()) { throw new Exception("Sem transação Ativa."); } return pg_lo_unlink($conn, $iOid); }
/** * Funçao que retorna o número + 1 do ultimo alvará cadastrado para evitar descontinuidade na sequence. * O numero estará armazenado na tabela de parâmetro issbasenumeracao * No momento da chamada da função esse número será atualizado para o próximo (q133_numeracaoatual + 1) * e atribuido a váriavel q02_inscr da classe * * @return boolean */ function getNumeroContinuo() { $lTransacaoInterna = false; $lErro = false; if (!db_utils::inTransaction()) { $lTransacaoInterna = true; db_inicio_transacao(); } $sUpdate = "update issbasenumeracao \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t"; $sUpdate .= " set q133_numeracaoatual = q133_numeracaoatual + 1 "; if (db_query($sUpdate)) { $sSql = "select q133_numeracaoatual "; $sSql .= " from issbasenumeracao \t\t\t "; $sSql .= " order by q133_sequencial desc "; $sSql .= " limit 1\t\t\t\t\t\t\t\t\t\t\t "; $rsNumeroContinuo = db_query($sSql); if ($rsNumeroContinuo and pg_num_rows($rsNumeroContinuo) > 0) { $this->q02_inscr = db_utils::fieldsMemory($rsNumeroContinuo, 0)->q133_numeracaoatual; } else { $lErro = true; } } if ($lTransacaoInterna) { db_fim_transacao($lErro); } if (!$lErro) { if (!db_query("select setval('issbase_q02_inscr_seq', {$this->q02_inscr})")) { return false; } return true; } else { return false; } }
/** * Salva os Dados da Nota da Planilha de Retencao * * @access public * @return void */ public function salvar() { if (!db_utils::inTransaction()) { throw new Exception("Erro [0] - Não Existe transação ativa"); } $oDaoNotas = db_utils::getDao("issplanit"); $oDaoNotas->q21_planilha = $this->getCodigoPlanilha(); //$this->iCodigoPlanilha; $oDaoNotas->q21_dataop = $this->getDataOperacao()->getDate(); //$this->getDatausu(); $oDaoNotas->q21_horaop = $this->getHoraOperacao(); //db_hora(); $oDaoNotas->q21_tipolanc = $this->getTipoLancamento(); //1; $oDaoNotas->q21_retido = $this->isRetido() ? 'true' : 'false'; //"true"; $oDaoNotas->q21_status = $this->getStatus(); //1; $oDaoNotas->q21_situacao = $this->getSituacao(); //"0"; $oDaoNotas->q21_datanota = $this->getDataNota()->getDate(); //$oNota->dtNota; $oDaoNotas->q21_cnpj = $this->getCNPJ(); //$oNota->sCnpj; $oDaoNotas->q21_serie = $this->getSerie(); //""; $oDaoNotas->q21_nome = $this->getNome(); //substr($oNota->sNome,0,40); $oDaoNotas->q21_nota = $this->getNumeroNota(); //$oNota->sNumeroNota; $oDaoNotas->q21_valorser = $this->getValorServico(); //$oNota->nValor; $oDaoNotas->q21_valor = $this->getValorRetencao(); //$oNota->nValorTotalRetencao; $oDaoNotas->q21_aliq = $this->getAliquota(); //$oNota-nAliquota; $oDaoNotas->q21_valordeducao = $this->getValorDeducao(); //"{$oNota->nValorDeducao}"; $oDaoNotas->q21_valorbase = $this->getValorBase(); //$oNota->nValorBase; $oDaoNotas->q21_valorimposto = $this->getValorImposto(); //$oNota->nValorTotalRetencao; $oDaoNotas->q21_servico = $this->getDescricaoServico(); //"Recolhimento de retencao"; $oDaoNotas->q21_obs = $this->getObservacoes(); //""; $oDaoNotas->incluir(null); if ($oDaoNotas->erro_status == 0) { throw new Exception("Erro ao incluir nota na planilha.\n{$oDaoNotas->erro_msg}"); } if (!empty($this->iCodigoNotaLiquidacao)) { $oDaoIssPlanOp = db_utils::getDao("issplanitop"); $oDaoIssPlanOp->q96_issplanit = $this->getCodigoPlanilha(); $oDaoIssPlanOp->q96_pagordem = $this->getCodigoNotaLiquidacao(); $oDaoIssPlanOp->incluir(null); if ($oDaoIssPlanOp->erro_status == 0) { throw new Exception("Erro ao incluir nota na planilha."); } } return true; }
function gerarDebito($sHistorico = null) { if (!db_utils::inTransaction()) { throw new Exception("Erro [0] - Não Existe transação ativa"); } //Criamos um novo Numpre $rsNumpre = pg_exec("select nextval('numpref_k03_numpre_seq') as k03_numpre"); $this->iNumpre = db_utils::fieldsMemory($rsNumpre, 0)->k03_numpre; /* *Buscamos as informações de configuração da db_confplam */ $oDaoConfPlan = db_utils::getDao("db_confplan"); $rsConfPlan = $oDaoConfPlan->sql_record($oDaoConfPlan->sql_query_file()); if ($oDaoConfPlan->numrows == 0) { $sErro = "Erro [1] - Não há configurações informadas para a planilha."; $sErro .= "\nConfigure acessando Prefeitura Online -> Procedimentos -> Manutenção de Planilhas."; throw new Exception($sErro); } $oConfPlanilhas = db_utils::fieldsMemory($rsConfPlan, 0); /** * Alteramos a planilha , informado o numpre gerado */ $oDaoIssPlan = db_utils::getDao("issplan"); $oDaoIssPlan->q20_numpre = $this->iNumpre; $oDaoIssPlan->q20_planilha = $this->iCodigoPlanilha; $oDaoIssPlan->q20_situacao = 3; $oDaoIssPlan->alterar($this->iCodigoPlanilha); /* * incluimos um issvariavel para o mes. */ $oDaoIssVar = db_utils::getDao("issvar"); $oDaoIssVar->q05_numpre = $this->iNumpre; $oDaoIssVar->q05_histor = "ISSQN retenção na fonte."; $oDaoIssVar->q05_numpar = 1; $oDaoIssVar->q05_ano = $this->iAnoUsu; $oDaoIssVar->q05_mes = $this->iMes; $oDaoIssVar->q05_valor = $this->nValorTotal; $oDaoIssVar->q05_aliq = "0"; $oDaoIssVar->q05_bruto = "0"; $oDaoIssVar->q05_vlrinf = "0"; $oDaoIssVar->incluir(null); if ($oDaoIssVar->erro_status == 0) { throw new Exception("Erro [2] - Não foi possivel incluir issqn Variavel."); } /** * Incluimos o débito no arrecad */ $oDaoArrecad = db_utils::getDao("arrecad"); $oDaoArrecad->k00_dtoper = $this->getDatausu(); $oDaoArrecad->k00_dtvenc = $this->getDatausu(); $oDaoArrecad->k00_hist = $oConfPlanilhas->w10_hist; $oDaoArrecad->k00_receit = $oConfPlanilhas->w10_receit; $oDaoArrecad->k00_numcgm = $this->iNumCgm; $oDaoArrecad->k00_numdig = "0"; $oDaoArrecad->k00_numpar = "1"; $oDaoArrecad->k00_numpre = $this->iNumpre; $oDaoArrecad->k00_numtot = 1; $oDaoArrecad->k00_tipo = $oConfPlanilhas->w10_tipo; $oDaoArrecad->k00_tipojm = "0"; $oDaoArrecad->k00_valor = $this->nValorTotal; $oDaoArrecad->incluir(); if ($oDaoArrecad->erro_status == 0) { throw new Exception("Erro [3] - Não Foi possível incluir débito"); } /** * Incluimos o Historico, caso nao seje nulo */ if (!empty($sHistorico)) { $sSqlhistorico = "insert into arrehist (\n k00_numpre,\n k00_numpar,\n k00_hist,\n k00_dtoper,\n k00_hora,\n k00_id_usuario,\n k00_histtxt,\n k00_limithist,\n k00_idhist\n ) values (\n {$this->iNumpre},\n 0,\n 502,\n '{$this->dtDatausu}',\n '" . date("H:i") . "',\n " . db_getsession("DB_id_usuario") . ",\n '" . $sHistorico . "',\n null,\n nextval('arrehist_k00_idhist_seq'))"; $rsHistorico = db_query($sSqlhistorico); if (!$rsHistorico) { throw new Exception("Erro [4] - Não foi possivel informar histórico do Recibo"); } } /** * Incluimos na tabela issplannumpre - Ligação do numpre da planilha com o numpre; */ $oDaoIssPlanNumpre = db_utils::getDao("issplannumpre"); $oDaoIssPlanNumpre->q32_planilha = $this->iCodigoPlanilha; $oDaoIssPlanNumpre->q32_numpre = $this->iNumpre; $oDaoIssPlanNumpre->q32_dataop = $this->getDatausu(); $oDaoIssPlanNumpre->q32_horaop = db_hora(); $oDaoIssPlanNumpre->q32_status = 1; $oDaoIssPlanNumpre->incluir(null); if ($oDaoIssPlanNumpre->erro_status == 0) { throw new Exception("Erro [4] - Não Foi possível incluir débito"); } /** * Selecionamos todos as notas cadastradas para a planilha , e * vinculamos ao numpre */ $oDaoIssplanIt = db_utils::getDao("issplanit"); $sSqlNotasPlanilha = $oDaoIssplanIt->sql_query_file(null, "*", null, "q21_planilha = {$this->iCodigoPlanilha}\n and q21_status = 1"); $rsNotasPlanilha = $oDaoIssplanIt->sql_record($sSqlNotasPlanilha); for ($i = 0; $i < $oDaoIssplanIt->numrows; $i++) { $oNotaPlanilha = db_utils::fieldsMemory($rsNotasPlanilha, $i); $oDaoNotaNumpre = db_utils::getDao("issplannumpreissplanit"); $oDaoNotaNumpre->q77_issplanit = $oNotaPlanilha->q21_sequencial; $oDaoNotaNumpre->q77_issplannumpre = $oDaoIssPlanNumpre->q32_sequencial; $oDaoNotaNumpre->incluir(null); if ($oDaoNotaNumpre->erro_status == 0) { throw new Exception("Erro [5] - Não Foi possível incluir débito"); } } /** * vinculamos o numpre a nota de liquidação */ if ($this->iNotaLiquidacao != null) { $oDaoCaiRetOrdem = db_utils::getDao("cairetordem"); $oDaoCaiRetOrdem->k32_numpre = $this->iNumpre; $oDaoCaiRetOrdem->k32_ordpag = $this->iNotaLiquidacao; $oDaoCaiRetOrdem->incluir(null); if ($oDaoCaiRetOrdem->erro_status == 0) { throw new Exception("Erro [6] - Não Foi possível incluir débito"); } } return $this->iNumpre; }