private function geraLinhaBarra($iNumpre, $iNumpar, $sValor, $sVlrbar, $dDataVenc, $iTercDig) { $sDataVencimento = str_replace("-", "", $dDataVenc); if ($this->iModalidadeConvenio == 1) { $sSqlFichaCompensacao = "select * \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t "; $sSqlFichaCompensacao .= " from fc_fichacompensacao( {$this->iCodConvenio},\t\t\t "; $sSqlFichaCompensacao .= " \t\t\t\t \t\t {$iNumpre},\t\t\t\t\t\t\t\t\t\t"; $sSqlFichaCompensacao .= " \t\t\t\t\t \t {$iNumpar},\t\t\t\t\t\t\t\t\t\t"; $sSqlFichaCompensacao .= " \t\t\t\t\t\t '{$dDataVenc}',\t\t\t\t\t \t\t"; $sSqlFichaCompensacao .= " \t\t\t\t\t\t {$sValor})\t\t\t\t\t\t\t\t\t\t"; $rsFichaCompensacao = pg_query($sSqlFichaCompensacao); $oFichaCompensacao = db_utils::fieldsMemory($rsFichaCompensacao, 0); if ($oFichaCompensacao->erro == 'f') { $this->sCodigoBarra = $oFichaCompensacao->codigobarras; $this->sLinhaDigitavel = $oFichaCompensacao->linhadigitavel; $this->sNossoNumero = $oFichaCompensacao->nossonumero; $this->sCampoLivre = $oFichaCompensacao->campolivre; } else { throw new Exception($oFichaCompensacao->mensagem); } } else { if ($this->iModalidadeConvenio == 2) { if ($this->iFormatoVenc == 1) { $sVencBar = $sDataVencimento . '000000'; } else { if ($this->iFormatoVenc == 2) { $sDataVencimento = substr($sDataVencimento, 6, 2) . substr($sDataVencimento, 4, 2) . substr($sDataVencimento, 2, 2); $sVencBar = $sDataVencimento . '00000000'; } } $sInibar = "8" . $this->sSegmento . $iTercDig; $iNumpre = db_numpre($iNumpre, 0) . db_formatar($iNumpar, 's', "0", 3, "e"); $sSqlFebraban = " select fc_febraban('{$sInibar}'||'{$sVlrbar}'||'" . $this->sConvenioArrecadacao . "'||'" . $sVencBar . "'||'{$iNumpre}')"; $rsFebraban = pg_query($sSqlFebraban); $oFebraban = db_utils::fieldsMemory($rsFebraban, 0); if ($oFebraban->fc_febraban == "") { throw new Exception("Erro ao gerar código de barras(2)"); } $this->sCodigoBarra = substr($oFebraban->fc_febraban, 0, strpos($oFebraban->fc_febraban, ',')); $this->sLinhaDigitavel = substr($oFebraban->fc_febraban, strpos($oFebraban->fc_febraban, ',') + 1); } else { $this->sCodigoBarra = str_pad($iNumpre, 8, '0', STR_PAD_LEFT) . str_pad($iNumpar, 3, '0', STR_PAD_LEFT); $this->sLinhaDigitavel = str_pad($iNumpre, 8, '0', STR_PAD_LEFT) . str_pad($iNumpar, 3, '0', STR_PAD_LEFT); } } /* * Verificamos se o numpre é um numpre de recibo * Se a condição for verdadeira, inserimos registro do numpre, código de barra e linha digitavel na tabela recibocodbar */ $sSqlRecibo = "select 1 "; $sSqlRecibo .= " from recibopaga "; $sSqlRecibo .= " where k00_numnov = {$iNumpre} "; $sSqlRecibo .= " union "; $sSqlRecibo .= "select 1 "; $sSqlRecibo .= " from recibo "; $sSqlRecibo .= " where k00_numpre = {$iNumpre} "; $rsRecibo = db_query($sSqlRecibo); if (pg_num_rows($rsRecibo) > 0) { $rsVerificaExistenciaTabela = db_query("select * from pg_class where relname = 'recibocodbar' and relkind = 'r'"); if (pg_num_rows($rsVerificaExistenciaTabela) > 0) { $oDaoReciboCodBar = db_utils::getDao("recibocodbar"); $oDaoReciboCodBar->k00_numpre = $iNumpre; $oDaoReciboCodBar->k00_codbar = $this->sCodigoBarra; $oDaoReciboCodBar->k00_linhadigitavel = $this->sLinhaDigitavel; $oDaoReciboCodBar->incluir($iNumpre); if ($oDaoReciboCodBar->erro_status == "0") { $sMsgErro = "Erro ao incluir registros do numpre na tabela recibocodbar.\\n\\n"; $sMsgErro .= "Erro da Classe:\\n"; $sMsgErro .= "{$oDaoReciboCodBar->erro_msg}"; throw new Exception($sMsgErro); } } } }
if (!empty($HTTP_POST_VARS["ver_numcgm"])) { $numero = $HTTP_POST_VARS["ver_numcgm"]; $Identificacao = pg_query("select z01_nome,z01_cgccpf,z01_ender,z01_munic,z01_uf,z01_cep,''::bpchar as nomepri,''::bpchar as j39_compl,''::bpchar as j39_numero,z01_bairro as j13_descr, '' as sql\n from cgm\n where z01_numcgm = " . $HTTP_POST_VARS["ver_numcgm"]); db_fieldsmemory($Identificacao, 0); $tipo_chave = "Numcgm"; } else { if (isset($emite_recibo_protocolo)) { $Identificacao = pg_query("\n select cgm.z01_nome,cgm.z01_ender,cgm.z01_munic,cgm.z01_uf,cgm.z01_cep,' ' as nomepri,' ' as j39_compl, ' ' as j39_numero, ' ' as j13_descr, '' as sql\n from recibo r\n inner join cgm c on c.z01_numcgm = r.k00_numcgm\n where r.k00_numpre = " . $k03_numpre . "\n limit 1"); db_fieldsmemory($Identificacao, 0); } } } } $Observacoes = pg_query($conn, "select mens,alinhamento from db_confmensagem where cod in('obsboleto1','obsboleto2','obsboleto3','obsboleto4')"); $db_vlrbar = db_formatar(str_replace('.', '', str_pad(number_format($total_recibo, 2, "", "."), 11, "0", STR_PAD_LEFT)), 's', '0', 11, 'e'); $db_numpre = db_numpre($k03_numpre) . '000'; global $pdf; $pdf = new scpdf(); $pdf->Open(); global $pdf; $pdf1 = $oRegraEmissao->getObjPdf(); try { $oConvenio = new convenio($oRegraEmissao->getConvenio(), $k03_numpre, 0, $total_recibo, $db_vlrbar, $datavencimento, '6'); } catch (Exception $eExeption) { db_redireciona("db_erros.php?fechar=true&db_erro={$eExeption->getMessage()}"); exit; } $codigobarras = $oConvenio->getCodigoBarra(); $linhadigitavel = $oConvenio->getLinhaDigitavel(); $pdf1->tipo_convenio = $oConvenio->getTipoConvenio(); if (strlen(trim($oConvenio->getConvenioCobranca())) == 7) {
$pdf1->datacalc = $k00_dtvenc; $pdf1->predatacalc = $k00_dtvenc; $pdf1->confirmdtpag = 't'; } $pdf1->descr6 = $k00_dtvenc; $pdf1->predescr6 = $k00_dtvenc; $pdf1->titulo8 = $descr; $pdf1->pretitulo8 = $descr; $pdf1->descr8 = $iNumeroOrigem; $pdf1->predescr8 = $iNumeroOrigem; if ($recibopaga == false) { $pdf1->descr9 = db_numpre($k00_numpre, 0) . db_formatar($k00_numpar, 's', "0", 3, "e"); $pdf1->predescr9 = db_numpre($k00_numpre, 0) . db_formatar($k00_numpar, 's', "0", 3, "e"); } else { $pdf1->descr9 = db_numpre($k03_numpre, 0) . db_formatar(0, 's', "0", 3, "e"); $pdf1->predescr9 = db_numpre($k03_numpre, 0) . db_formatar(0, 's', "0", 3, "e"); } $pdf1->descr10 = $k00_numpar . ' / ' . $k00_numtot; $pdf1->descr14 = $k00_dtvenc; if ($total == 0) { //////////// ISSQN VARIAVEL /////////// if ($k03_tipo == 3) { $sqlaliq = "select q05_aliq,q05_ano from issvar where q05_numpre = {$k00_numpre} and q05_numpar = {$k00_numpar}"; $rsIssvarano = db_query($sqlaliq); $intNumrows = pg_numrows($rsIssvarano); if ($intNumrows == 0) { db_redireciona('db_erros.php?fechar=true&db_erro=Ano não encontrado na tabela issvar. Contate o suporte'); exit; } db_fieldsmemory($rsIssvarano, 0); $pdf1->descr4_1 = $k00_numpar . 'a PARCELA - Alíquota ' . $q05_aliq . '% EXERCÍCIO : ' . $q05_ano;