예제 #1
0
        public override bool execute( )
        {
            if (base.execute() == false)
            {
                return(false);
            }

            Registry("execute fetch_rel_prevLojista ");

            /// USER [ execute ]

            T_Empresa emp = new T_Empresa(this);

            if (!emp.select_rows_empresa(input_st_empresa))
            {
                PublishError("Empresa não disponível");
                return(false);
            }

            if (!emp.fetch())
            {
                return(false);
            }

            T_Loja loj = new T_Loja(this);

            if (!loj.select_rows_loja(input_cont_header.get_st_empresa().TrimStart('0')))
            {
                return(false);
            }

            if (!loj.fetch())
            {
                return(false);
            }

            LINK_LojaEmpresa loj_emp = new LINK_LojaEmpresa(this);

            if (!loj_emp.select_fk_empresa_loja(emp.get_identity(),
                                                loj.get_identity()))
            {
                PublishError("Loja não conveniada com empresa");
                return(false);
            }

            if (!loj_emp.fetch())
            {
                return(false);
            }

            double tx = loj_emp.get_int_tx_admin();

            T_Parcelas     parc = new T_Parcelas(this);
            T_Cartao       cart = new T_Cartao(this);
            LOG_Transacoes ltr  = new LOG_Transacoes(this);

            if (parc.select_rows_lojista_emp(loj.get_identity(),
                                             emp.get_identity(),
                                             "1"))
            {
                SQL_LOGGING_ENABLE = false;

                StringBuilder sb = new StringBuilder();

                while (parc.fetch())
                {
                    if (parc.get_tg_pago() == Context.TRUE)
                    {
                        continue;
                    }

                    if (!ltr.selectIdentity(parc.get_fk_log_transacoes()))
                    {
                        continue;
                    }

                    if (ltr.get_tg_confirmada() != TipoConfirmacao.Confirmada)
                    {
                        continue;
                    }

                    if (!cart.selectIdentity(parc.get_fk_cartao()))
                    {
                        continue;
                    }

                    if (cart.get_st_empresa() != emp.get_st_empresa())
                    {
                        continue;
                    }

                    DadosRepasse dr = new DadosRepasse();

                    dr.set_st_cartao(cart.get_st_empresa() + "." +
                                     cart.get_st_matricula() + "." +
                                     cart.get_st_titularidade());

                    dr.set_st_nsu(parc.get_nu_nsu());
                    dr.set_dt_trans(parc.get_dt_inclusao());
                    dr.set_id_parcela(parc.get_nu_indice());
                    dr.set_vr_total(parc.get_vr_valor());

                    //DateTime t_rep = Convert.ToDateTime ( p

                    //dr.set_dt_repasse   (

                    long repasse = Convert.ToInt64(parc.get_int_vr_valor() - (parc.get_int_vr_valor() * tx / 10000));

                    dr.set_vr_repasse(repasse.ToString());

                    DataPortable mem_rtc = dr as DataPortable;

                    // ## obtem indice

                    sb.Append(MemorySave(ref mem_rtc));
                    sb.Append(",");
                }

                string list_ids = sb.ToString().TrimEnd(',');

                DataPortable dp = new DataPortable();

                dp.setValue("ids", list_ids);

                // ## obtem indice geral

                output_st_csv = MemorySave(ref dp);

                SQL_LOGGING_ENABLE = true;
            }

            /// USER [ execute ] END

            Registry("execute done fetch_rel_prevLojista ");

            return(true);
        }
예제 #2
0
        public override bool execute( )
        {
            if (base.execute() == false)
            {
                return(false);
            }

            Registry("execute fetch_reciboRepasse ");

            /// USER [ execute ]

            T_RepasseLoja rep = new T_RepasseLoja(this);

            if (!rep.selectIdentity(input_id_repasse))
            {
                return(false);
            }

            string st_extra = rep.get_st_ident();

            T_Loja loj = new T_Loja(this);

            if (!loj.selectIdentity(rep.get_fk_loja()))
            {
                return(false);
            }

            output_cont_rec.set_loja(loj.get_st_nome() + " - " + loj.get_st_social());
            output_cont_rec.set_cnpj(loj.get_nu_CNPJ());
            output_cont_rec.set_pagto(rep.get_tg_opcao());

            LINK_RepasseParcela lrp     = new LINK_RepasseParcela(this);
            T_Parcelas          parc    = new T_Parcelas(this);
            T_Cartao            cart    = new T_Cartao(this);
            LINK_LojaEmpresa    loj_emp = new LINK_LojaEmpresa(this);

            long vr_compras = 0;
            long dias_rep   = 0;

            string fk_empresa = "";

            if (lrp.select_fk_rep(input_id_repasse))
            {
                while (lrp.fetch())
                {
                    parc.selectIdentity(lrp.get_fk_parcela());
                    cart.selectIdentity(parc.get_fk_cartao());

                    if (fk_empresa == "")
                    {
                        fk_empresa = parc.get_fk_empresa();

                        loj_emp.select_fk_empresa_loja(fk_empresa, loj.get_identity());
                        loj_emp.fetch();

                        dias_rep = loj_emp.get_int_nu_dias_repasse();

                        if (rep.get_tg_opcao() != TipoPagamento.Dinheiro)
                        {
                            if (rep.get_tg_opcao() != TipoPagamento.Cheque)
                            {
                                // deposito
                                st_extra = " Banco : " + loj_emp.get_st_banco() + " - Ag. " + loj_emp.get_st_ag() + " Conta: " + loj_emp.get_st_conta();
                            }
                            else
                            {
                                st_extra = rep.get_st_ident();
                            }
                        }
                    }

                    vr_compras += parc.get_int_vr_valor();

                    DadosRepasse dr = new DadosRepasse();

                    dr.set_st_cartao(cart.get_st_empresa() + "." + cart.get_st_matricula());
                    dr.set_dt_trans(parc.get_dt_inclusao());
                    dr.set_st_nsu(parc.get_nu_nsu());
                    dr.set_vr_total(parc.get_vr_valor());

                    DateTime tim = Convert.ToDateTime(parc.get_dt_inclusao());

                    tim = tim.AddDays(dias_rep);

                    dr.set_dt_repasse(GetDataBaseTime(tim));

                    output_array_generic_lst.Add(dr);
                }
            }

            long desc = vr_compras - rep.get_int_vr_valor();

            output_cont_rec.set_vr_compras(vr_compras.ToString());
            output_cont_rec.set_tx_admin(new money().formatToMoney(loj_emp.get_tx_admin()) + "%");
            output_cont_rec.set_vr_desc(new money().formatToMoney(desc.ToString()));
            output_cont_rec.set_vr_tot_rep(rep.get_vr_valor());
            output_cont_rec.set_st_extra(st_extra);

            /// USER [ execute ] END

            Registry("execute done fetch_reciboRepasse ");

            return(true);
        }
예제 #3
0
        public override bool execute( )
        {
            if (base.execute() == false)
            {
                return(false);
            }

            Registry("execute exec_repasseLoja ");

            /// USER [ execute ]

            loj = new T_Loja(this);

            if (!loj.select_rows_loja(input_st_codLoja))
            {
                return(false);
            }

            if (!loj.fetch())
            {
                return(false);
            }

            T_RepasseLoja rl = new T_RepasseLoja(this);

            rl.set_dt_efetiva(GetDataBaseTime());
            rl.set_fk_loja(loj.get_identity());
            rl.set_st_ident(input_st_ident);
            rl.set_tg_opcao(input_tg_opcao);
            rl.set_vr_valor(input_vr_valor);

            if (!rl.create_T_RepasseLoja())
            {
                return(false);
            }

            output_id_confRepasse = rl.get_identity();

            LINK_RepasseParcela lrp = new LINK_RepasseParcela(this);

            T_Parcelas parc = new T_Parcelas(this);

            for (int t = 0; t < input_array_generic_lstPar.Count; ++t)
            {
                DadosRepasse dr = new DadosRepasse(input_array_generic_lstPar[t] as DataPortable);

                if (dr.get_tg_confirmado() == Context.FALSE)
                {
                    continue;
                }

                parc.ExclusiveAccess();

                if (!parc.selectIdentity(dr.get_id_parcela()))
                {
                    return(false);
                }

                // esta parcela foi repassada
                parc.set_tg_pago(Context.TRUE);

                if (!parc.synchronize_T_Parcelas())
                {
                    return(false);
                }

                parc.ReleaseExclusive();

                lrp.set_fk_parcela(parc.get_identity());
                lrp.set_fk_repasseLoja(rl.get_identity());

                if (!lrp.create_LINK_RepasseParcela())
                {
                    return(false);
                }
            }

            PublishNote("Repasse feito com sucesso");

            /// USER [ execute ] END

            Registry("execute done exec_repasseLoja ");

            return(true);
        }
예제 #4
0
        public override bool execute( )
        {
            if (base.execute() == false)
            {
                return(false);
            }

            Registry("execute fetch_rel_repEfetivo ");

            /// USER [ execute ]

            T_Empresa emp = new T_Empresa(this);

            if (!emp.select_rows_empresa(input_st_empresa))
            {
                PublishError("Empresa não disponível");
                return(false);
            }

            if (!emp.fetch())
            {
                return(false);
            }

            output_st_nome_empresa = emp.get_st_fantasia();

            T_RepasseLoja repLoja = new T_RepasseLoja(this);

            if (!repLoja.select_rows_dt(input_dt_ini, input_dt_fim))
            {
                PublishError("Nenhum repasse encontrado");
                return(false);
            }

            LINK_RepasseParcela lrp     = new LINK_RepasseParcela(this);
            LINK_LojaEmpresa    loj_emp = new LINK_LojaEmpresa(this);
            T_Loja     loj  = new T_Loja(this);
            T_Parcelas parc = new T_Parcelas(this);
            T_Cartao   cart = new T_Cartao(this);

            StringBuilder sb_lojas        = new StringBuilder();
            StringBuilder sb_content      = new StringBuilder();
            StringBuilder sb_contentPagto = new StringBuilder();

            string id_rep_loja = "";

            while (repLoja.fetch())
            {
                if (!loj.selectIdentity(repLoja.get_fk_loja()))
                {
                    return(false);
                }

                if (input_st_loja.Length > 0)
                {
                    if (loj.get_st_loja() != input_st_loja)
                    {
                        continue;
                    }
                }

                if (!loj_emp.select_fk_empresa_loja(emp.get_identity(), loj.get_identity()))
                {
                    return(false);
                }

                if (!loj_emp.fetch())
                {
                    return(false);
                }

                // obtenho identificação geral deste pagto
                id_rep_loja = loj.get_st_nome() + " [" + loj.get_st_loja() + "] Perc.: " + ((double)loj_emp.get_int_tx_admin() / 100).ToString().Replace(",", ".") + "% <br>Data Repasse: " + repLoja.get_dt_efetiva();

                sb_lojas.Append(id_rep_loja);
                sb_lojas.Append(",");

                double tx = loj_emp.get_int_tx_admin();

                DadosPagtoRepasse dpr = new DadosPagtoRepasse();

                dpr.set_st_loja(id_rep_loja);
                dpr.set_vr_valor(repLoja.get_vr_valor());
                dpr.set_tg_opcao(repLoja.get_tg_opcao());
                dpr.set_dt_pagto(repLoja.get_dt_efetiva());

                if (repLoja.get_tg_opcao() != TipoPagamento.Cheque &&
                    repLoja.get_tg_opcao() != TipoPagamento.Dinheiro)
                {
                    // valor em depósito
                    dpr.set_st_extra("Banco (" + loj_emp.get_st_banco() +
                                     ") Agência (" + loj_emp.get_st_ag() +
                                     ") Conta (" + loj_emp.get_st_conta() + ")");
                }
                else
                {
                    dpr.set_st_extra(repLoja.get_st_ident());
                }

                // index em memoria, retrieve depois
                {
                    DataPortable port = dpr;

                    sb_contentPagto.Append(MemorySave(ref port));
                    sb_contentPagto.Append(",");
                }

                // busco detalhes

                if (!lrp.select_fk_rep(repLoja.get_identity()))
                {
                    return(false);
                }

                while (lrp.fetch())
                {
                    if (!parc.selectIdentity(lrp.get_fk_parcela()))
                    {
                        return(false);
                    }

                    if (!cart.selectIdentity(parc.get_fk_cartao()))
                    {
                        return(false);
                    }

                    DadosRepasse dr = new DadosRepasse();

                    dr.set_st_loja(id_rep_loja);

                    dr.set_st_nsu(parc.get_nu_nsu());
                    dr.set_dt_trans(parc.get_dt_inclusao());
                    dr.set_st_cartao(cart.get_st_empresa() + "." +
                                     cart.get_st_matricula() + "." +
                                     cart.get_st_titularidade());

                    long det_tot = Convert.ToInt64(parc.get_int_vr_valor() - (parc.get_int_vr_valor() * tx / 10000));

                    dr.set_vr_repasse(det_tot.ToString());
                    dr.set_vr_total(parc.get_vr_valor());

                    // index em memoria, retrieve depois
                    {
                        DataPortable port = dr;

                        sb_content.Append(MemorySave(ref port));
                        sb_content.Append(",");
                    }
                }
            }

            output_st_csv_lojas = sb_lojas.ToString().TrimEnd(',');

            // indexa todos os items
            {
                string list_ids = sb_content.ToString().TrimEnd(',');

                if (list_ids == "")
                {
                    PublishNote("Nenhum registro encontrado");
                    return(false);
                }

                DataPortable dp = new DataPortable();

                dp.setValue("ids", list_ids);

                // ## Guarda indexador de grupo

                output_st_csv_contents = MemorySave(ref dp);
            }

            // indexa todos os pagamentos
            {
                string list_ids = sb_contentPagto.ToString().TrimEnd(',');

                if (list_ids == "")
                {
                    PublishNote("Nenhum registro encontrado");
                    return(false);
                }

                DataPortable dp = new DataPortable();

                dp.setValue("ids", list_ids);

                // ## Guarda indexador de grupo

                output_st_csv_pagto = MemorySave(ref dp);
            }

            /// USER [ execute ] END

            Registry("execute done fetch_rel_repEfetivo ");

            return(true);
        }
예제 #5
0
        public override bool execute( )
        {
            if (base.execute() == false)
            {
                return(false);
            }

            Registry("execute fetch_repasseData ");

            /// USER [ execute ]

            DateTime t_start = Convert.ToDateTime(input_dt_ini);
            DateTime t_end   = t_start.AddDays(1);

            Hashtable hshLojas = new Hashtable();

            ArrayList lstEmpresas = new ArrayList();

            // ## Busca empresa

            T_Empresa emp      = new T_Empresa(this);
            T_Empresa emp_link = new T_Empresa(this);

            if (!emp.select_rows_empresa(input_cont_header.get_st_empresa()))
            {
                PublishError("Código de empresa inválida");
                return(false);
            }

            if (!emp.fetch())
            {
                return(false);
            }

            lstEmpresas.Add(emp.get_identity());

            if (emp_link.select_fk_admin(emp.get_identity()))
            {
                while (emp_link.fetch())
                {
                    lstEmpresas.Add(emp_link.get_identity());
                }
            }

            LINK_LojaEmpresa loj_emp = new LINK_LojaEmpresa(this);

            // ## Busca convenios

            if (!loj_emp.select_rows_empresas(ref lstEmpresas))
            {
                PublishError("Nenhuma loja cadastrada");
                return(false);
            }

            T_Loja         loj  = new T_Loja(this);
            T_Cartao       cart = new T_Cartao(this);
            LOG_Transacoes ltr  = new LOG_Transacoes(this);
            T_Parcelas     parc = new T_Parcelas(this);

            StringBuilder sb       = new StringBuilder();
            StringBuilder sb_lojas = new StringBuilder();

            while (loj_emp.fetch())
            {
                if (!loj.selectIdentity(loj_emp.get_fk_loja()))
                {
                    return(false);
                }

                double tx   = loj_emp.get_int_tx_admin();
                long   dias = loj_emp.get_int_nu_dias_repasse();

                long repasse    = 0,
                     total_loja = 0;

                if (parc.select_rows_repasse(loj.get_identity(),
                                             TipoParcela.EM_ABERTO))                      // ainda não pagos
                {
                    while (parc.fetch())
                    {
                        if (ltr.selectIdentity(parc.get_fk_log_transacoes()))
                        {
                            if (ltr.get_tg_confirmada() != TipoConfirmacao.Confirmada)
                            {
                                continue;
                            }
                        }

                        if (!cart.selectIdentity(parc.get_fk_cartao()))
                        {
                            return(false);
                        }

                        DadosRepasse dr = new DadosRepasse();

                        dr.set_st_nsu(parc.get_nu_nsu());
                        dr.set_st_loja(loj.get_st_loja());
                        dr.set_st_cartao(cart.get_st_empresa() + "." +
                                         cart.get_st_matricula() + "." +
                                         cart.get_st_titularidade());

                        DateTime tim = Convert.ToDateTime(parc.get_dt_inclusao());

                        // fora da faixa requerida pelo relatório
                        if (tim > t_end)
                        {
                            continue;
                        }

                        dr.set_dt_trans(parc.get_dt_inclusao());

                        // acerta data correta do repasse
                        dr.set_dt_repasse(GetDataBaseTime(tim.AddDays(dias)));

                        repasse = Convert.ToInt64(parc.get_int_vr_valor() - (parc.get_int_vr_valor() * tx / 10000));

                        dr.set_vr_repasse(repasse.ToString());
                        dr.set_id_parcela(parc.get_identity());

                        DateTime tm_rep = Convert.ToDateTime(dr.get_dt_repasse());

                        dr.set_tg_confirmado(Context.TRUE);

                        if (tm_rep <= t_start)
                        {
                            total_loja += repasse;
                        }
                        else if (tm_rep <= t_end)
                        {
                            total_loja += repasse;
                        }

                        // salva registro do detalhe
                        {
                            DataPortable mem = dr as DataPortable;

                            sb.Append(MemorySave(ref mem));
                            sb.Append(",");
                        }
                    }
                }

                // salva registro da loja
                if (total_loja > 0)
                {
                    DadosSumarioRepasse dsr = new DadosSumarioRepasse();

                    dsr.set_st_loja("(" + loj.get_st_loja() + ") " + loj.get_st_nome() + " - " + loj.get_st_social());
                    dsr.set_st_codLoja(loj.get_st_loja());
                    dsr.set_vr_valor(total_loja.ToString());

                    DataPortable mem = dsr as DataPortable;

                    sb_lojas.Append(MemorySave(ref mem));
                    sb_lojas.Append(",");
                }
            }

            // ## Guarda indexador de grupo dos detalhes
            {
                string list_ids = sb.ToString().TrimEnd(',');

                if (list_ids == "")
                {
                    PublishNote("Nenhum registro encontrado");
                    return(false);
                }

                DataPortable dp = new DataPortable();

                dp.setValue("ids", list_ids);

                output_block_detalhe_loja = MemorySave(ref dp);
            }

            // ## Guarda indexador de grupo de sumario das lojas
            {
                string list_ids = sb_lojas.ToString().TrimEnd(',');

                if (list_ids == "")
                {
                    PublishNote("Nenhum registro encontrado");
                    return(false);
                }

                DataPortable dp = new DataPortable();

                dp.setValue("ids", list_ids);

                output_block_sumario_loja = MemorySave(ref dp);
            }

            /// USER [ execute ] END

            Registry("execute done fetch_repasseData ");

            return(true);
        }
예제 #6
0
        public override bool execute( )
        {
            if (base.execute() == false)
            {
                return(false);
            }

            Registry("execute fetch_rel_4_rrp ");

            /// USER [ execute ]

            DateTime t_end = Convert.ToDateTime(input_dt_fim).AddDays(1);

            // ##
            // ## O seguinte trecho indexa as lojas possíveis
            // ## de retorno para uma determinada empresa.
            // ##
            // ## E, no caso de a empresa original ser administradora
            // ## de empresas, indexar todas as lojas de todas empresas
            // ## desta rede.
            // ##

            Hashtable hshLojas = new Hashtable();

            #region - filtro de lojas da empresa -

            if (user.get_tg_nivel() == TipoUsuario.Administrador)
            {
                T_Empresa emp_orig = new T_Empresa(this);

                // ## Busca empresa original

                if (!emp_orig.select_rows_empresa(user.get_st_empresa()))
                {
                    return(false);
                }

                if (!emp_orig.fetch())
                {
                    return(false);
                }

                LINK_LojaEmpresa lnk = new LINK_LojaEmpresa(this);

                // ## busca relacionamento das empresas com lojas

                if (lnk.select_fk_empresa_geral(emp_orig.get_identity()))
                {
                    while (lnk.fetch())
                    {
                        // ## indexa lojas

                        hshLojas [lnk.get_fk_loja()] = "*";
                    }
                }

                // ## busca empresas administradas

                T_Empresa emp_lnk_admin = new T_Empresa(this);

                if (emp_lnk_admin.select_fk_admin(emp_orig.get_identity()))
                {
                    while (emp_lnk_admin.fetch())
                    {
                        // ## busca lojas de cada empresa administrada

                        LINK_LojaEmpresa lnk_admin = new LINK_LojaEmpresa(this);

                        if (lnk_admin.select_fk_empresa_geral(emp_lnk_admin.get_identity()))
                        {
                            while (lnk_admin.fetch())
                            {
                                // ## indexa loja

                                hshLojas [lnk_admin.get_fk_loja()] = "*";
                            }
                        }
                    }
                }
            }

            #endregion

            // ## Busca empresa

            T_Empresa emp = new T_Empresa(this);

            if (!emp.select_rows_empresa(input_st_empresa))
            {
                PublishError("Código de empresa inválida");
                return(false);
            }

            if (!emp.fetch())
            {
                return(false);
            }

            output_st_nome_empresa = emp.get_st_fantasia();

            LINK_LojaEmpresa loj_emp = new LINK_LojaEmpresa(this);

            // ## Busca convenios

            if (!loj_emp.select_fk_empresa_geral(emp.get_identity()))
            {
                PublishError("Nenhuma loja cadastrada");
                return(false);
            }

            T_Loja         loj  = new T_Loja(this);
            T_Cartao       cart = new T_Cartao(this);
            LOG_Transacoes ltr  = new LOG_Transacoes(this);

            long total       = 0;
            long total_geral = 0;

            StringBuilder sb = new StringBuilder();

            // ## Busca registros de convênios

            T_Parcelas parc = new T_Parcelas(this);

            while (loj_emp.fetch())
            {
                if (hshLojas.Count > 0)
                {
                    if (hshLojas [loj_emp.get_fk_loja()] == null)
                    {
                        continue;
                    }
                }

                // ## Busca loja

                if (!loj.selectIdentity(loj_emp.get_fk_loja()))
                {
                    return(false);
                }

                double tx   = loj_emp.get_int_tx_admin();
                long   dias = loj_emp.get_int_nu_dias_repasse();

                long subtotal   = 0,
                     repasse    = 0,
                     total_loja = 0;

                // ## Busca nas transações do periodo

                bool zerada = true;

                if (parc.select_rows_repasse(loj.get_identity(),
                                             TipoParcela.EM_ABERTO))                      // ainda não pagos
                {
                    while (parc.fetch())
                    {
                        if (ltr.selectIdentity(parc.get_fk_log_transacoes()))
                        {
                            if (ltr.get_tg_confirmada() != TipoConfirmacao.Confirmada)
                            {
                                continue;
                            }
                        }

                        if (!cart.selectIdentity(parc.get_fk_cartao()))
                        {
                            return(false);
                        }

                        DateTime tim = Convert.ToDateTime(parc.get_dt_inclusao()).AddDays(dias);

                        // fora da faixa requerida pelo relatório
                        if (tim > t_end)
                        {
                            continue;
                        }

                        DadosRepasse dr = new DadosRepasse();

                        dr.set_tg_tipoCartao(cart.get_tg_tipoCartao());
                        dr.set_st_nsu(parc.get_nu_nsu());
                        dr.set_st_loja(loj.get_st_loja());

                        dr.set_st_cartao(cart.get_st_empresa() + "." +
                                         cart.get_st_matricula() + "." +
                                         cart.get_st_titularidade());

                        dr.set_dt_trans(parc.get_dt_inclusao());
                        dr.set_vr_total(parc.get_vr_valor());

                        // acerta data correta do repasse
                        dr.set_dt_repasse(GetDataBaseTime(tim));

                        total_loja += parc.get_int_vr_valor();
                        repasse     = Convert.ToInt64(parc.get_int_vr_valor() - (parc.get_int_vr_valor() * tx / 10000));
                        subtotal   += repasse;

                        dr.set_vr_repasse(repasse.ToString());

                        DataPortable mem = dr as DataPortable;

                        sb.Append(MemorySave(ref mem));
                        sb.Append(",");

                        zerada = false;
                    }
                }

                if (!zerada)
                {
                    total       += subtotal;
                    total_geral += total_loja;

                    output_st_csv_lojas      += loj.get_st_loja() + ",";
                    output_st_csv_nome_lojas += loj.get_st_nome() +
                                                " - CNPJ (" + loj.get_nu_CNPJ() +
                                                ") - Percentual " + ((double)loj_emp.get_int_tx_admin() / 100).ToString().Replace(",", ".") +
                                                "% - Dias de repasse " + loj_emp.get_nu_dias_repasse() + ",";

                    output_st_csv_subtotal       += subtotal.ToString() + ",";
                    output_st_csv_subtotal_geral += total_loja.ToString() + ",";
                }
            }

            string list_ids = sb.ToString().TrimEnd(',');

            if (list_ids == "")
            {
                PublishNote("Nenhum registro encontrado");
                return(false);
            }

            DataPortable dp = new DataPortable();

            dp.setValue("ids", list_ids);

            // ## Guarda indexador de grupo

            output_st_csv_content = MemorySave(ref dp);

            output_st_csv_lojas          = output_st_csv_lojas.TrimEnd(',');
            output_st_csv_nome_lojas     = output_st_csv_nome_lojas.TrimEnd(',');
            output_st_csv_subtotal       = output_st_csv_subtotal.TrimEnd(',');
            output_st_csv_subtotal_geral = output_st_csv_subtotal_geral.TrimEnd(',');

            output_st_total       = total.ToString();
            output_st_total_geral = total_geral.ToString();

            /// USER [ execute ] END

            Registry("execute done fetch_rel_4_rrp ");

            return(true);
        }