text 剧本ComissãoCampeã

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了text 剧本ComissãoCampeã相关的知识,希望对你有一定的参考价值。

declare

  v_cd_extrato gen_cota_extrato.cd_extrato%type;

  procedure prc_ajuste_manual_grava(p_cd_extrato           in cxa_extrato_diario.cd_extrato%type,
                                    p_cd_pessoa_filial     in cxa_extrato_diario.cd_pessoa_filial%type,
                                    p_vl_movimento         in varchar2,
                                    p_id_movimento         in varchar2,
                                    p_ds_observacao        in cxa_extrato_diario.ds_observacao%type,
                                    p_cd_lancamento        in cxa_extrato_diario.cd_lancamento%type default null,
                                    p_pc_representante     in cxa_extrato_diario.pc_representante%type default null,
                                    p_vl_movimento_m       in varchar2 default '0',
                                    p_cd_cota              in cxa_extrato_diario.cd_cota%type default 2,
                                    p_ds_documento         in cxa_extrato_diario.ds_documento%type default null,
                                    p_cd_lancamento_origem in cxa_extrato_diario.cd_lancamento_origem_repasse%type default null,
                                    p_cd_extrato_combo     in varchar2 default null) is
    -- Tables
    v_table_extrato_diario     pkg_gen_extrato_comissao_util.table_extrato_diario;
    v_table_extrato_diario_alt pkg_gen_extrato_comissao_util.table_extrato_diario_alt;

    -- Records
    v_record_comissao pkg_gen_extrato_comissao_util.record_comissao;

    -- Variáveis
    v_ds_mensagem     varchar2(1000);
    vCdExtrato        cxa_extrato_diario.cd_extrato%type;
    v_vl_movimento_m  cxa_extrato_diario.vl_movimento%type;
    v_filial_parceira boolean default false;
    arr_string_dados  owa_util.vc_arr;
    -- Exceptions
    e_erro exception;

    v_id_master_franqueado         gen_pes_cvc.id_master_franqueado%type;
    v_cd_pessoa_master_franqueado  gen_pes_cvc.cd_pessoa_master_franqueado%type;
  begin
    if owa.num_cgi_vars > 0 then
      if not wsgsec.security_check(p_package_name => owa_util.get_procedure) then
        return;
      end if;
    end if;

    v_table_extrato_diario.delete;

    if p_id_movimento = 'D'
    then
      v_table_extrato_diario(1).vl_movimento := - (replace(replace(p_vl_movimento,'.',''),',','.'));
    else
      v_table_extrato_diario(1).vl_movimento := replace(replace(p_vl_movimento,'.',''),',','.');
    end if;

    v_vl_movimento_m := to_number(replace(replace(p_vl_movimento_m,'.',''),',','.'));

    -- Recupera os dados de comissão do lançamento
    v_record_comissao := pkg_gen_extrato_comissao_util.fun_record_comissao(p_cd_lancamento => p_cd_lancamento);

    --Verifica se é Filial Parceira
    v_filial_parceira := pkg_fin_vendas_parceiro.validaFilialParceira( p_codigo => p_cd_pessoa_filial,
                                                                       p_tipo => pkg_fin_vendas_parceiro.CODIGO_PESSOA_FILIAL );
    if v_table_extrato_diario(1).vl_movimento <> 0 then

      v_table_extrato_diario(1).cd_extrato                   := p_cd_extrato;
      v_table_extrato_diario(1).cd_movimento                 := null;
      v_table_extrato_diario(1).id_movimento                 := 11; -- AJUSTE MANUAL
      v_table_extrato_diario(1).cd_pessoa_filial             := p_cd_pessoa_filial;
      v_table_extrato_diario(1).cd_pessoa_vendedor           := null;
      v_table_extrato_diario(1).cd_pessoa_intermediario      := null;

      if p_cd_extrato_combo is not null then
         arr_string_dados := fun_split(p_cd_extrato_combo,';');
         v_table_extrato_diario(1).dt_movimento                 := to_date(arr_string_dados(2), 'dd/MM/rrrr');
      else
         v_table_extrato_diario(1).dt_movimento                 := sysdate;
      end if;

      if v_filial_parceira then
        v_table_extrato_diario(1).cd_lancamento                := p_cd_lancamento;
      else
        v_table_extrato_diario(1).cd_lancamento                := null;
      end if;
      v_table_extrato_diario(1).vl_lancamento                := 0;
      v_table_extrato_diario(1).vl_taxa                      := 0;
      v_table_extrato_diario(1).vl_bloqueado                 := 0;
      v_table_extrato_diario(1).vl_deposito                  := 0;
      v_table_extrato_diario(1).vl_desconto                  := 0;
      v_table_extrato_diario(1).vl_abatimento                := 0;
      v_table_extrato_diario(1).pc_representante             := 0;
      v_table_extrato_diario(1).pc_intermediario             := 0;
      v_table_extrato_diario(1).vl_representante_calculado   := 0;
      v_table_extrato_diario(1).vl_intermediario_calculado   := 0;
      v_table_extrato_diario(1).vl_representante_retido      := 0;
      v_table_extrato_diario(1).vl_intermediario_retido      := 0;
      v_table_extrato_diario(1).dt_atualizacao               := sysdate;
      v_table_extrato_diario(1).cd_pessoa_mnt                := pkg_global.pkg_cd_pessoa;
      v_table_extrato_diario(1).nm_usuario                   := pkg_global.pkg_nm_usuario;
      v_table_extrato_diario(1).ip_usuario                   := pkg_global.pkg_ip_usuario;
      v_table_extrato_diario(1).ds_documento                 := p_ds_documento;
      v_table_extrato_diario(1).cd_lancamento_origem_repasse := p_cd_lancamento_origem;
      v_table_extrato_diario(1).ds_observacao                := p_ds_observacao;
      v_table_extrato_diario(1).cd_cota                      := p_cd_cota;

      pkg_gen_extrato_comissao.prc_grava_movimento(p_table_extrato_diario => v_table_extrato_diario);
    end if;

    if p_cd_lancamento is not null and p_cd_cota = 2 and
       p_id_movimento = 'D' and
       ((v_table_extrato_diario(1).vl_movimento <> 0) or
       (v_vl_movimento_m <> 0)) then

      if p_pc_representante > v_record_comissao.pc_representante then
        v_ds_mensagem := 'Problemas na gravação da comissão !';
        raise e_erro;
      end if;

      v_table_extrato_diario_alt.delete;
      v_table_extrato_diario_alt(1).cd_lancamento               := p_cd_lancamento;
      v_table_extrato_diario_alt(1).sq_lancamento               := null;
      v_table_extrato_diario_alt(1).dt_lancamento               := sysdate;
      v_table_extrato_diario_alt(1).pc_representante_inicial    := v_record_comissao.pc_representante;
      v_table_extrato_diario_alt(1).pc_representante_final      := p_pc_representante;
      v_table_extrato_diario_alt(1).vl_representante_inicial    := v_record_comissao.vl_representante;
      v_table_extrato_diario_alt(1).vl_representante_final      := v_table_extrato_diario_alt(1).vl_representante_inicial - abs(v_table_extrato_diario(1).vl_movimento);
      v_table_extrato_diario_alt(1).vl_rep_master_franq_inicial := v_record_comissao.vl_repasse_master;
      v_table_extrato_diario_alt(1).vl_rep_master_franq_final   := abs(v_record_comissao.vl_repasse_master - abs(v_vl_movimento_m));
      v_table_extrato_diario_alt(1).dt_atualizacao              := sysdate;
      v_table_extrato_diario_alt(1).cd_pessoa_mnt               := pkg_global.pkg_cd_pessoa;
      v_table_extrato_diario_alt(1).nm_usuario                  := pkg_global.pkg_nm_usuario;
      v_table_extrato_diario_alt(1).ip_usuario                  := pkg_global.pkg_ip_usuario;

      pkg_gen_extrato_comissao.prc_grava_alteracao(
        p_table_extrato_diario_alt => v_table_extrato_diario_alt);
    end if;

    --se houver ajustes para o master franqueado
    if v_vl_movimento_m <> 0 and p_cd_cota = 2 then

      begin
        select id_master_franqueado,
               cd_pessoa_master_franqueado
          into v_id_master_franqueado,
               v_cd_pessoa_master_franqueado
          from gen_pes_cvc
         where cd_pessoa = p_cd_pessoa_filial;

        if nvl(v_id_master_franqueado, 'N') = 'S' then
          v_cd_pessoa_master_franqueado := p_cd_pessoa_filial;
        end if;
      exception
        when others then
          v_cd_pessoa_master_franqueado := null;
      end;

      -- Recupera número do extrato em aberto
      vCdExtrato := pkg_gen_extrato_comissao_util.fun_cd_extrato(p_cd_pessoa => v_cd_pessoa_master_franqueado,
                                                                 p_cd_cota   => 3);

      --se existir extrato aberto e não for filial própria
      if vCdExtrato is not null and
         pkg_gen_extrato_comissao_util.fun_id_filial_propria(p_cd_pessoa_filial => v_cd_pessoa_master_franqueado) = 'N' then

        --insere ajuste do master
        prc_ajuste_manual_grava(p_cd_extrato           => vCdExtrato,
                                p_cd_pessoa_filial     => v_cd_pessoa_master_franqueado,
                                p_vl_movimento         => p_vl_movimento_m,
                                p_id_movimento         => p_id_movimento,
                                p_ds_observacao        => p_ds_observacao,
                                p_cd_lancamento        => p_cd_lancamento,
                                p_pc_representante     => p_pc_representante,
                                p_cd_cota              => 3,
                                p_ds_documento         => p_cd_lancamento,
                                p_cd_lancamento_origem => p_cd_lancamento,
                                p_cd_extrato_combo     => p_cd_extrato_combo
                                );
      elsif vCdExtrato is null then
        htp.script('alert("Não existe extrato aberto para o Master Franqueado");');
      else
        htp.script('alert("O Master Franqueado é filial própria. Não é permitido ajuste manual");');
      end if;

    end if;

  exception
    when e_erro then
      rollback;
      dbms_output.put_line(v_ds_mensagem);

    when others then
      rollback;
      dbms_output.put_line(sqlerrm);
  end prc_ajuste_manual_grava;
  
begin
    dbms_output.put_line('Começo');
    for reg in ( select (select cd_pessoa from gen_pes_cvc where cd_filial_cvc = a.filial ) cd_pessoa
                      , a.filial
                      , a.valor
                      , a.descricao 
                   from comissao_campea@desenv a ) loop
                   
       dbms_output.put_line(reg.cd_pessoa);
       v_cd_extrato := pkg_gen_extrato_comissao_util.fun_cd_extrato(p_cd_pessoa => reg.cd_pessoa, p_cd_cota => 2);

       prc_ajuste_manual_grava
         ( p_cd_extrato => v_cd_extrato
         , p_cd_pessoa_filial => reg.cd_pessoa
         , p_vl_movimento => reg.valor
         , p_id_movimento => 'C'
         , p_ds_observacao => reg.descricao );
        commit;
        
    end loop;
    
end;

以上是关于text 剧本ComissãoCampeã的主要内容,如果未能解决你的问题,请参考以下文章

text 剧本 - 泊坞窗安装

text iniciaraplicação

text RecibosparaintegraçãoEBS

text Paginação.txt

text Mudarpermissãoservidordedicatedado.txt

text Associaçãodedois tipos没有graphql