Advertisement
Guest User

Untitled

a guest
Oct 23rd, 2019
252
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PL/SQL 9.22 KB | None | 0 0
  1. PROCEDURE gerar_boleto(p_tipo_cliente        IN VARCHAR2, --PF / PJ
  2.                          p_nome                IN outros_emit_sac_pf.nome%TYPE,
  3.                          p_cpf_cnpj            IN outros_emit_sac_pf.cpf%TYPE,
  4.                          p_cod_inscricao       IN portal.form_email_resposta.cod_resposta%TYPE,
  5.                          p_estudante           IN VARCHAR2, -- S/N
  6.                          p_parametro_descricao IN portal.parametros.parametro%TYPE,
  7.                          p_seq_relatorio       OUT NUMBER,
  8.                          p_ok                  OUT INTEGER,
  9.                          p_mensagem            OUT VARCHAR2) AS
  10.     mensagem_erro_padrao VARCHAR2(100) := 'Falha ao realizar sua solicitação. Favor tente novamente mais tarde';
  11.  
  12.     v_tipo_cliente_fornec emitentes_sacados.tipo_emitente_sacado%TYPE;
  13.     v_sequence            NUMBER;
  14.     v_sequence_null       NUMBER;
  15.     v_cod_emitente        NUMBER;
  16.  
  17.     v_num_boleto_avulso NUMBER;
  18.     v_num_recibo        NUMBER;
  19.     v_erro              NUMBER;
  20.  
  21.     p_vet_tipodoc_financ  sabius.pkg_geracao_avulso.vetnumber;
  22.     p_vet_verba           sabius.pkg_geracao_avulso.vetnumber;
  23.     p_vet_valor           sabius.pkg_geracao_avulso.vetnumber;
  24.     p_vet_qtdedoc_financ  sabius.pkg_geracao_avulso.vetnumber;
  25.     p_vet_complemento     sabius.pkg_geracao_avulso.vetstring;
  26.     p_vet_doc_financ      sabius.pkg_geracao_avulso.vetnumber;
  27.     p_vet_verba_financ    sabius.pkg_geracao_avulso.vetnumber;
  28.     p_vet_num_doc_financ  sabius.pkg_geracao_avulso.vetstring;
  29.     p_vet_banco           sabius.pkg_geracao_avulso.vetnumber;
  30.     p_vet_agencia         sabius.pkg_geracao_avulso.vetnumber;
  31.     p_vet_conta           sabius.pkg_geracao_avulso.vetnumber;
  32.     p_vet_dv_conta        sabius.pkg_geracao_avulso.vetstring;
  33.     p_vet_servico_unimed  sabius.pkg_geracao_avulso.vetstring;
  34.     p_vet_servico_medhosp sabius.pkg_geracao_avulso.vetnumber;
  35.     p_vet_valor_servico   sabius.pkg_geracao_avulso.vetnumber;
  36.     p_vet_prestador       sabius.pkg_geracao_avulso.vetnumber;
  37.     p_vet_unimed          sabius.pkg_geracao_avulso.vetnumber;
  38.     p_vet_unidade         sabius.pkg_geracao_avulso.vetstring;
  39.     p_vet_tipo_doc        sabius.pkg_geracao_avulso.vetnumber;
  40.     p_vet_num_doc         sabius.pkg_geracao_avulso.vetnumber;
  41.  
  42.     v_qtd_titulo NUMBER;
  43.     v_qtd_boleto NUMBER;
  44.     v_usuario    sabius.usuarios.cod_usuario%TYPE;
  45.  
  46.     v_dados_param VARCHAR(500);
  47.  
  48.     v_data_nasc outros_emit_sac_pf.data_nascimento%TYPE := NULL;
  49.     v_sexo      outros_emit_sac_pf.sexo%TYPE := NULL;
  50.     v_rg        outros_emit_sac_pf.rg%TYPE := NULL;
  51.  
  52.     v_conta        titulo_avulso.cod_conta_unimed%TYPE;
  53.     v_valor_boleto titulo_avulso.valor_total%TYPE := 60.00;
  54.  
  55.   BEGIN
  56.     v_dados_param := 'Tipo cliente: ' || p_tipo_cliente || ' | Nome: ' ||
  57.                      p_nome || ' | CPF/CNPJ: ' || p_cpf_cnpj ||
  58.                      ' | Inscrição: ' || p_cod_inscricao;
  59.  
  60.     IF p_tipo_cliente = 'PF' THEN
  61.       v_tipo_cliente_fornec := 6;
  62.       v_conta               := 87;
  63.       v_data_nasc           := TO_DATE('01/09/2016', 'dd/mm/yyyy');
  64.       v_sexo                := 'M';
  65.       v_rg                  := '0';
  66.  
  67.       IF p_estudante = 'S' THEN
  68.         v_valor_boleto := v_valor_boleto / 2;
  69.       END IF;
  70.     ELSE
  71.       v_tipo_cliente_fornec := 7;
  72.       v_conta               := 85;
  73.     END IF;
  74.  
  75.     p_ok := 0;
  76.     p_mensagem := NULL;
  77.     p_vet_tipodoc_financ(1) := 24;
  78.     p_vet_verba(1) := 519;
  79.     p_vet_valor(1) := v_valor_boleto;
  80.     p_vet_qtdedoc_financ(1) := 1;
  81.     p_vet_complemento(1) := p_cod_inscricao;
  82.     p_vet_doc_financ(1) := NULL;
  83.     p_vet_verba_financ(1) := NULL;
  84.     p_vet_num_doc_financ(1) := NULL;
  85.     p_vet_banco(1) := NULL;
  86.     p_vet_agencia(1) := NULL;
  87.     p_vet_conta(1) := NULL;
  88.     p_vet_dv_conta(1) := NULL;
  89.     p_vet_servico_unimed(1) := NULL;
  90.     p_vet_servico_medhosp(1) := NULL;
  91.     p_vet_valor_servico(1) := NULL;
  92.     p_vet_prestador(1) := NULL;
  93.     p_vet_unimed(1) := NULL;
  94.     p_vet_unidade(1) := NULL;
  95.     p_vet_tipo_doc(1) := NULL;
  96.     p_vet_num_doc(1) := NULL;
  97.  
  98.     pkg_geracao_avulso.carrega_dados_detalhe_ant(1, p_vet_tipodoc_financ,
  99.                                                  p_vet_verba, p_vet_valor,
  100.                                                  p_vet_qtdedoc_financ,
  101.                                                  p_vet_complemento, 0,
  102.                                                  p_vet_doc_financ,
  103.                                                  p_vet_verba_financ,
  104.                                                  p_vet_num_doc_financ,
  105.                                                  p_vet_banco, p_vet_agencia,
  106.                                                  p_vet_conta, p_vet_dv_conta,
  107.                                                  0, p_vet_servico_unimed,
  108.                                                  p_vet_servico_medhosp,
  109.                                                  p_vet_valor_servico,
  110.                                                  p_vet_prestador,
  111.                                                  p_vet_unimed, p_vet_unidade,
  112.                                                  0, p_vet_tipo_doc,
  113.                                                  p_vet_num_doc, 293,
  114.                                                  v_sequence, p_mensagem);
  115.  
  116.     IF p_mensagem IS NULL THEN
  117.  
  118.       SELECT MAX(e.cod_emitente_sacado) + 1
  119.         INTO v_cod_emitente
  120.         FROM emitentes_sacados e;
  121.  
  122.       sabius.pkg_geracao_avulso.carrega_dados_outro_pf_pj(63,
  123.                                                           v_tipo_cliente_fornec,
  124.                                                           p_nome,
  125.                                                           v_data_nasc,
  126.                                                           v_sexo, v_rg,
  127.                                                           p_cpf_cnpj, 'CE'
  128.                                                           /* UF */, 9533
  129.                                                           /* Cidade */, 20
  130.                                                           /*Bairro*/, 9041
  131.                                                           /* Logradouro */,
  132.                                                           949 /* Número */,
  133.                                                           NULL
  134.                                                           /* Complemento */,
  135.                                                           60150160 /* Cep */,
  136.                                                           293
  137.                                                           /* Processo */,
  138.                                                           v_sequence,
  139.                                                           p_mensagem);
  140.  
  141.     END IF;
  142.  
  143.     IF p_mensagem IS NULL THEN
  144.       v_sequence_null := 0;
  145.       sabius.pkg_geracao_avulso .gera_avulso(63, 293,
  146.                                              EXTRACT(YEAR FROM SYSDATE),
  147.                                              EXTRACT(MONTH FROM SYSDATE),
  148.                                              SYSDATE, SYSDATE + 2,
  149.                                              v_tipo_cliente_fornec,
  150.                                              v_cod_emitente, NULL, NULL,
  151.                                              NULL, 48, v_valor_boleto, 'S',
  152.                                              63, v_conta, 'N', NULL, USER,
  153.                                              v_sequence, v_sequence_null,
  154.                                              v_num_boleto_avulso,
  155.                                              v_num_recibo, p_mensagem,
  156.                                              v_erro);
  157.       --commit;
  158.       IF p_mensagem IS NULL THEN
  159.         sabius.pkg_geracao_boleto_avulso.gera_boleto(63,
  160.                                                      v_num_boleto_avulso,
  161.                                                      v_num_boleto_avulso,
  162.                                                      293, v_qtd_titulo,
  163.                                                      v_qtd_boleto,
  164.                                                      p_mensagem, v_usuario,
  165.                                                      p_seq_relatorio);
  166.         IF p_seq_relatorio IS NOT NULL THEN
  167.           p_ok := 1;
  168.           UPDATE temp_relatorio
  169.              SET campo_21 =
  170.                   (SELECT MAX(valor)
  171.                      FROM portal.parametros
  172.                     WHERE parametro = p_parametro_descricao)
  173.            WHERE num_relatorio = p_seq_relatorio;
  174.         END IF;
  175.       END IF;
  176.     END IF;
  177.     IF p_mensagem IS NOT NULL THEN
  178.       portal.pkg_servicos_gerais.log_error(v_dados_param, p_mensagem,
  179.                                            'PORTAL.pkg_servicos_gerais.gerar_boleto');
  180.       p_ok       := 0;
  181.       p_mensagem := 'Falha ao realizar inscrição. Favor tente novamente mais tarde.';
  182.     END IF;
  183.   EXCEPTION
  184.     WHEN OTHERS THEN
  185.       ROLLBACK;
  186.       p_ok := 0;
  187.       portal.pkg_servicos_gerais.log_error(v_dados_param,
  188.                                            SQLERRM || ' | ' ||
  189.                                             DBMS_UTILITY.format_error_backtrace,
  190.                                            'PORTAL.pkg_servicos_gerais.gerar_boleto');
  191.       p_mensagem := mensagem_erro_padrao;
  192.  
  193.   END;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement