public override bool execute( )
        {
            if (base.execute() == false)
            {
                return(false);
            }

            Registry("execute fetch_reciboVendaGift ");

            /// USER [ execute ]

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

            if (!ltr.select_rows_nsu(input_nsu, GetTodayStartTime(), GetTodayEndTime()))
            {
                return(false);
            }

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

            fk_transacao = ltr.get_identity();

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

            if (!term.selectIdentity(ltr.get_fk_terminal()))
            {
                return(false);
            }

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

            ArrayList lstContent = new ArrayList();

            lstContent.Add("Gift Card Lindóia Shopping");
            lstContent.Add("Rede ConveyNET");
            lstContent.Add("Cod. Estab: " + loj.get_st_loja());
            lstContent.Add("Nr.Cartao: " + cart.get_st_empresa() + "." + cart.get_st_matricula());
            lstContent.Add("No. Terminal: " + term.get_nu_terminal());
            lstContent.Add("Loja: " + loj.get_st_nome());
            lstContent.Add("--------------------------------------");
            lstContent.Add("Cod.Process.: 2000 - Cartao Convenio");

            string data = ltr.get_dt_transacao();

            lstContent.Add("Data Trans.: " + data.Substring(8, 2) + "/" +
                           data.Substring(5, 2) + "/" +
                           data.Substring(0, 4) + " Hora: " +
                           data.Substring(11, 8));

            lstContent.Add("NSU: " + ltr.get_nu_nsu());
            lstContent.Add("");
            lstContent.Add("");
            lstContent.Add("VALOR TOT. R$ " + new money().formatToMoney(ltr.get_vr_total()));
            lstContent.Add("");
            lstContent.Add("");
            lstContent.Add("Operador: " + user.get_st_nome());

            for (int t = 0; t < lstContent.Count; ++t)
            {
                DataPortable port = new DataPortable();
                port.setValue("linha", lstContent[t].ToString());
                output_array_generic_lst.Add(port);
            }

            /// USER [ execute ] END

            Registry("execute done fetch_reciboVendaGift ");

            return(true);
        }
        public override bool execute( )
        {
            Registry("execute web_fetch_rel_edu_extrato ");

            /// USER [ execute ]

            StringBuilder sb = new StringBuilder();

            long vr_tot = 0;

            T_Terminal term = new T_Terminal(this);

            T_Loja loj = new T_Loja(this);

            while (l_tr.fetch())
            {
                loj.set_st_nome("");

                if (l_tr.get_tg_contabil() == Context.TRUE)
                {
                    if (l_tr.get_en_operacao() == OperacaoCartao.VENDA_EMPRESARIAL ||
                        l_tr.get_en_operacao() == OperacaoCartao.PAY_FONE_GRAVA_PEND)
                    {
                        if (l_tr.get_tg_confirmada() == TipoConfirmacao.Confirmada)
                        {
                            vr_tot += l_tr.get_int_vr_total();
                        }
                    }
                    else if (l_tr.get_en_operacao() != OperacaoCartao.EDU_DEP_DIARIO &&
                             l_tr.get_en_operacao() != OperacaoCartao.EDU_DEP_FUNDO &&
                             l_tr.get_en_operacao() != OperacaoCartao.EDU_DEP_IMEDIATO)
                    {
                        continue;
                    }
                }
                else
                {
                    if (l_tr.get_en_operacao() != OperacaoCartao.PAY_FONE_CANCELA_VENDA &&
                        l_tr.get_en_operacao() != OperacaoCartao.VENDA_EMPRESARIAL_CANCELA)
                    {
                        continue;
                    }
                }

                EduExtrato etc = new EduExtrato();

                etc.set_st_nsu(l_tr.get_nu_nsu());
                etc.set_dt_trans(l_tr.get_dt_transacao());

                if (l_tr.get_en_operacao() == OperacaoCartao.VENDA_EMPRESARIAL ||
                    l_tr.get_en_operacao() == OperacaoCartao.PAY_FONE_GRAVA_PEND)
                {
                    etc.set_vr_valor("-" + l_tr.get_vr_total());
                }
                else
                {
                    etc.set_vr_valor(l_tr.get_vr_total());
                }

                if (!loj.selectIdentity(l_tr.get_fk_loja()))
                {
                    etc.set_st_loja("ConveyNET");
                }
                else
                {
                    etc.set_st_loja(loj.get_st_nome());
                }

                etc.set_vr_disp(l_tr.get_vr_saldo_disp());
                etc.set_vr_fundo(l_tr.get_vr_saldo_disp_tot());
                etc.set_en_oper(l_tr.get_en_operacao());

                DataPortable mem_rtc = etc as DataPortable;

                string index = MemorySave(ref mem_rtc);

                sb.Append(index);
                sb.Append(",");
            }

            // indexa todos os pagamentos
            {
                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 = MemorySave(ref dp);
            }

            output_st_total_periodo = vr_tot.ToString();

            if (output_st_csv == "")
            {
                PublishNote("Nenhum resultado foi encontrado");
            }

            /// USER [ execute ] END

            Registry("execute done web_fetch_rel_edu_extrato ");

            return(true);
        }
        public override bool execute( )
        {
            if (base.execute() == false)
            {
                return(false);
            }

            Registry("execute fetch_rel_edu_extrato ");

            /// USER [ execute ]

            T_Terminal term = new T_Terminal(this);
            T_Loja     loj  = new T_Loja(this);

            StringBuilder sb = new StringBuilder();

            long vr_tot = 0;

            // ## Busca registros

            while (l_tr.fetch())
            {
                loj.set_st_nome("");

                if (l_tr.get_tg_contabil() == Context.TRUE)
                {
                    if (l_tr.get_en_operacao() == OperacaoCartao.VENDA_EMPRESARIAL ||
                        l_tr.get_en_operacao() == OperacaoCartao.PAY_FONE_GRAVA_PEND)
                    {
                        if (l_tr.get_tg_confirmada() == TipoConfirmacao.Confirmada)
                        {
                            // ## Contabilizar em total

                            vr_tot += l_tr.get_int_vr_total();
                        }
                    }
                    else if (l_tr.get_en_operacao() != OperacaoCartao.EDU_DEP_DIARIO &&
                             l_tr.get_en_operacao() != OperacaoCartao.EDU_DEP_FUNDO &&
                             l_tr.get_en_operacao() != OperacaoCartao.EDU_DEP_IMEDIATO)
                    {
                        // ## desprezar

                        continue;
                    }
                }
                else
                {
                    if (l_tr.get_en_operacao() != OperacaoCartao.PAY_FONE_CANCELA_VENDA &&
                        l_tr.get_en_operacao() != OperacaoCartao.VENDA_EMPRESARIAL_CANCELA)
                    {
                        // ## desprezar

                        continue;
                    }
                }

                // ## Guardar este registro em memória

                EduExtrato etc = new EduExtrato();

                etc.set_st_nsu(l_tr.get_nu_nsu());
                etc.set_dt_trans(l_tr.get_dt_transacao());

                if (l_tr.get_en_operacao() == OperacaoCartao.VENDA_EMPRESARIAL ||
                    l_tr.get_en_operacao() == OperacaoCartao.PAY_FONE_GRAVA_PEND)
                {
                    // ## débito

                    etc.set_vr_valor("-" + l_tr.get_vr_total());
                }
                else
                {
                    // ## depósito

                    etc.set_vr_valor(l_tr.get_vr_total());
                }

                // ## Busca loja

                if (!loj.selectIdentity(l_tr.get_fk_loja()))
                {
                    // ## depósito automático de conversão de fundo ao disponivel

                    etc.set_st_loja("ConveyNET");
                }
                else
                {
                    etc.set_st_loja(loj.get_st_nome());
                }

                etc.set_vr_disp(l_tr.get_vr_saldo_disp());
                etc.set_vr_fundo(l_tr.get_vr_saldo_disp_tot());

                etc.set_en_oper(l_tr.get_en_operacao());

                DataPortable mem_rtc = etc as DataPortable;

                // ## Gera identificador

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

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

            DataPortable dp = new DataPortable();

            dp.setValue("ids", list_ids);

            // # Guarda todos os registros

            output_st_csv = MemorySave(ref dp);

            T_Empresa emp = new T_Empresa(this);

            // ## Busca empresa

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

            output_st_empresa = emp.get_st_fantasia();

            output_st_total_periodo = vr_tot.ToString();

            if (output_st_csv == "")
            {
                PublishNote("Nenhum resultado foi encontrado");
            }

            /// USER [ execute ] END

            Registry("execute done fetch_rel_edu_extrato ");

            return(true);
        }
        public override bool authenticate( )
        {
            Registry("authenticate exec_pos_cancelaVendaEmpresarial ");

            /// USER [ authenticate ]

            var_codResp = "0606";

            cart     = new T_Cartao(this);
            old_l_tr = new LOG_Transacoes(this);

            // ## Buscar transação original

            old_l_tr.ExclusiveAccess();

            if (input_dt_hoje != "")
            {
                DateTime start = Convert.ToDateTime(input_dt_hoje);
                DateTime end   = Convert.ToDateTime(input_dt_hoje).AddDays(1);

                // ## Buscar transação de NSU com data especifica

                if (!old_l_tr.select_rows_nsu_oper(input_st_nsu_cancel,
                                                   OperacaoCartao.VENDA_EMPRESARIAL,
                                                   GetDataBaseTime(start),
                                                   GetDataBaseTime(end)))
                {
                    output_st_msg = "NSU inválido (" + input_st_nsu_cancel.TrimStart('0') + ")";
                    var_codResp   = "1212";
                    return(false);
                }
            }
            else
            {
                // ## Buscar transação de NSU com data de hoje

                if (!old_l_tr.select_rows_nsu_oper(input_st_nsu_cancel,
                                                   OperacaoCartao.VENDA_EMPRESARIAL,
                                                   GetTodayStartTime(),
                                                   GetTodayEndTime()))
                {
                    output_st_msg = "NSU inválido (" + input_st_nsu_cancel.TrimStart('0') + ")";
                    var_codResp   = "1212";
                    return(false);
                }
            }

            if (!old_l_tr.fetch())
            {
                output_st_msg = "Erro aplicativo";
                return(false);
            }

            valor   = old_l_tr.get_vr_total();
            dt_orig = old_l_tr.get_dt_transacao();

            // ## Buscar terminal

            T_Terminal term = new T_Terminal(this);

            if (!term.selectIdentity(old_l_tr.get_fk_terminal()))
            {
                output_st_msg = "Erro aplicativo";
                return(false);
            }

            // ## Caso terminais diferentes, sair

            // desnecessário

            /*
             * if (term.get_nu_terminal() != input_cont_pe.get_st_terminal())
             * {
             *  output_st_msg = "Terminal inválido";
             *  var_codResp = "0303";
             *  return false;
             * }*/

            // conferir se usuário que quer cancelar (via client)
            // a transação é da mesma empresa ou
            // se for lojista, for o mesmo terminal

            if (input_id_user != "")
            {
                T_Usuario user = new T_Usuario(this);

                if (!user.selectIdentity(input_id_user))
                {
                    output_st_msg = "Usuário inválido";
                    var_codResp   = "0303";
                    return(false);
                }

                if (user.get_tg_nivel() == TipoUsuario.Lojista)
                {
                    #region - lojista -

                    LINK_UsuarioTerminal lut = new LINK_UsuarioTerminal(this);

                    if (!lut.select_fk_term(term.get_identity()))
                    {
                        output_st_msg = "Usuário inválido";
                        var_codResp   = "0303";
                        return(false);
                    }

                    if (!lut.fetch())
                    {
                        output_st_msg = "Usuário inválido";
                        var_codResp   = "0303";
                        return(false);
                    }

                    if (lut.get_fk_user() != user.get_identity())
                    {
                        output_st_msg = "Transação não pertence à sua loja";
                        var_codResp   = "0303";
                        return(false);
                    }

                    #endregion
                }
                else if (user.get_tg_nivel() != TipoUsuario.OperadorConvey &&
                         user.get_tg_nivel() != TipoUsuario.SuperUser)
                {
                    #region - operadores normais -

                    T_Empresa emp = new T_Empresa(this);

                    if (!emp.select_rows_empresa(user.get_st_empresa()))
                    {
                        output_st_msg = "Empresa inválida";
                        var_codResp   = "0303";
                        return(false);
                    }

                    if (!emp.fetch())
                    {
                        output_st_msg = "Empresa inválida";
                        var_codResp   = "0303";
                        return(false);
                    }

                    if (old_l_tr.get_fk_empresa() != emp.get_identity())
                    {
                        output_st_msg = "Transação não pertence à sua empresa";
                        var_codResp   = "0303";
                        return(false);
                    }

                    #endregion
                }
            }

            // ## Atualizar cartão

            cart.ExclusiveAccess();

            if (!cart.selectIdentity(old_l_tr.get_fk_cartao()))
            {
                output_st_msg = "Erro aplicativo";
                return(false);
            }

            // ## Se transação já foi cancelada, sair

            if (old_l_tr.get_tg_confirmada() == TipoConfirmacao.Cancelada)
            {
                output_st_msg = "prev. cancel";
                var_codResp   = "N3N3";
                return(false);
            }

            // ## Confirma cancelamento

            old_l_tr.set_tg_contabil(Context.TRUE);
            old_l_tr.set_tg_confirmada(TipoConfirmacao.Cancelada);

            // ## Atualizar transação original

            if (!old_l_tr.synchronize_LOG_Transacoes())
            {
                output_st_msg = "Erro aplicativo";
                return(false);
            }

            var_codResp = "0000";

            /// USER [ authenticate ] END

            Registry("authenticate done exec_pos_cancelaVendaEmpresarial ");

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

            Registry("execute fetch_rel_1_rtc ");

            /// USER [ execute ]

            // ##
            // ## 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

            StringBuilder sb = new StringBuilder();

            long vr_tot           = 0;
            long vr_tot_cancelado = 0;

            T_Terminal term = new T_Terminal(this);

            while (l_tr.fetch())
            {
                // ## Filtra lojas não vinculadas à empresa

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

                // ## Busca terminal

                if (term.selectIdentity(l_tr.get_fk_terminal()))
                {
                    if (fk_loja.Length > 0)
                    {
                        if (term.get_fk_loja() != fk_loja)
                        {
                            continue;
                        }
                    }

                    if (!loj.selectIdentity(term.get_fk_loja()))
                    {
                        continue;
                    }

                    if (input_st_cidade.Length > 0)
                    {
                        if (!loj.get_st_cidade().Contains(input_st_cidade))
                        {
                            continue;
                        }
                    }

                    if (input_st_estado.Length > 0)
                    {
                        if (!loj.get_st_estado().Contains(input_st_estado))
                        {
                            continue;
                        }
                    }

                    if (l_tr.get_tg_contabil() == Context.TRUE)
                    {
                        if (l_tr.get_tg_confirmada() == TipoConfirmacao.Cancelada)
                        {
                            vr_tot_cancelado += l_tr.get_int_vr_total();
                        }
                        else
                        if (l_tr.get_tg_confirmada() == TipoConfirmacao.Confirmada)
                        {
                            vr_tot += l_tr.get_int_vr_total();
                        }
                    }
                }

                // ## Copia dados para memória

                Rel_RTC rtc = new Rel_RTC();

                rtc.set_st_loja(loj.get_st_nome());
                rtc.set_st_term(term.get_nu_terminal());
                rtc.set_st_nsu(l_tr.get_nu_nsu());
                rtc.set_vr_total(l_tr.get_vr_total());
                rtc.set_nu_parc(l_tr.get_nu_parcelas());
                rtc.set_dt_trans(l_tr.get_dt_transacao());
                rtc.set_tg_status(l_tr.get_tg_confirmada());
                rtc.set_st_motivo(l_tr.get_st_msg_transacao());
                rtc.set_en_op_cartao(l_tr.get_en_operacao());

                DataPortable mem_rtc = rtc as DataPortable;

                // ## obtem indice

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

                if (l_tr.get_int_nu_parcelas() > 1)
                {
                    T_Parcelas parc = new T_Parcelas(this);

                    if (parc.select_fk_log_trans(l_tr.get_identity()))
                    {
                        while (parc.fetch())
                        {
                            Rel_RTC rtc2 = new Rel_RTC();

                            rtc2.set_vr_total(parc.get_vr_valor());
                            rtc2.set_nu_parc(parc.get_nu_indice());
                            rtc2.set_dt_trans(l_tr.get_dt_transacao());
                            rtc2.set_tg_status(l_tr.get_tg_confirmada());
                            rtc2.set_st_motivo(l_tr.get_st_msg_transacao());
                            rtc2.set_en_op_cartao(l_tr.get_en_operacao());

                            DataPortable mem_rtc_parc = rtc2 as DataPortable;

                            // ## obtem indice

                            sb.Append(MemorySave(ref mem_rtc_parc));
                            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);

            // ## obtem dados adicionais

            T_Cartao cart = new T_Cartao(this);

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

            T_Empresa emp = new T_Empresa(this);

            if (!emp.select_rows_empresa(cart.get_st_empresa()))
            {
                return(false);
            }

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

            string nome = "";

            if (cart.get_st_titularidade() != "01")
            {
                T_Dependente dep = new T_Dependente(this);

                dep.select_rows_prop_tit(cart.get_fk_dadosProprietario(), cart.get_st_titularidade());
                dep.fetch();

                nome = dep.get_st_nome() + " (Dependente)";
            }
            else
            {
                T_Proprietario prot = new T_Proprietario(this);

                prot.selectIdentity(cart.get_fk_dadosProprietario());

                nome = prot.get_st_nome() + " - CPF " + prot.get_st_cpf();
            }

            output_st_empresa = emp.get_st_fantasia();

            output_st_cartao = cart.get_st_empresa() + "." +
                               cart.get_st_matricula() + "." +
                               cart.get_st_titularidade() + ":" +
                               cart.get_nu_viaCartao() + " - " +
                               nome;

            output_st_total_periodo   = vr_tot.ToString();
            output_st_total_cancelado = vr_tot_cancelado.ToString();



            // ##### ------------------------------------------------------
            // ##### Relatório extra sobre todas as parcelas do cartão
            // ##### ------------------------------------------------------
            {
                T_Cartao cart_parc     = new T_Cartao(this);
                T_Cartao cart_parc_dep = new T_Cartao(this);

                ArrayList lstDeps = new ArrayList();

                if (cart_parc.selectIdentity(st_cart_id))
                {
                    if (cart_parc.get_tg_tipoCartao() == TipoCartao.presente)
                    {
                        return(true);
                    }

                    if (cart_parc_dep.select_rows_empresa_matricula(cart_parc.get_st_empresa(),
                                                                    cart_parc.get_st_matricula()))
                    {
                        while (cart_parc_dep.fetch())
                        {
                            lstDeps.Add(cart_parc_dep.get_identity());
                        }
                    }
                }

                StringBuilder sb_parcs = new StringBuilder();

                T_Parcelas parc = new T_Parcelas(this);

                for (int u = 1; u <= 12; ++u)
                {
                    string cur_pac = "Comprometimento mensal (" + u.ToString() + ")";

                    if (u == 1)
                    {
                        cur_pac += " - vigente";
                    }

                    bool HasContent   = false;
                    long tot_parc_ind = 0;

                    if (parc.select_rows_relat_parc(u.ToString(), ref lstDeps))
                    {
                        while (parc.fetch())
                        {
                            if (!term.selectIdentity(parc.get_fk_terminal()))
                            {
                                continue;
                            }

                            if (!loj.selectIdentity(term.get_fk_loja()))
                            {
                                continue;
                            }

                            if (l_tr.selectIdentity(parc.get_fk_log_transacoes()))
                            {
                                if (l_tr.get_tg_confirmada() != TipoConfirmacao.Confirmada)
                                {
                                    continue;
                                }
                            }

                            tot_parc_ind += parc.get_int_vr_valor();

                            HasContent = true;

                            Rel_RTC rtc = new Rel_RTC();

                            rtc.set_st_loja(loj.get_st_nome());
                            rtc.set_st_term(term.get_nu_terminal());
                            rtc.set_st_nsu(l_tr.get_nu_nsu());
                            rtc.set_vr_total(parc.get_vr_valor());
                            rtc.set_nu_parc(u.ToString());
                            rtc.set_dt_trans(l_tr.get_dt_transacao());
                            rtc.set_tg_status(l_tr.get_tg_confirmada());
                            rtc.set_st_motivo(l_tr.get_st_msg_transacao());
                            rtc.set_en_op_cartao(l_tr.get_en_operacao());

                            rtc.set_st_indice_parcela(parc.get_nu_indice());

                            DataPortable mem_rtc = rtc as DataPortable;

                            // ## obtem indice

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

                    if (!HasContent)
                    {
                        break;
                    }

                    output_st_parcs       += cur_pac + ",";
                    output_st_parcs_total += tot_parc_ind.ToString() + "," +
                                             (cart_parc.get_int_vr_limiteMensal() - tot_parc_ind).ToString() + ",";
                }

                string list_ids_parc = sb_parcs.ToString().TrimEnd(',');

                DataPortable dp_parcs = new DataPortable();

                dp_parcs.setValue("ids", list_ids_parc);

                output_st_parcs_content = MemorySave(ref dp_parcs);
                output_st_parcs         = output_st_parcs.TrimEnd(',');
                output_st_parcs_total   = output_st_parcs_total.TrimEnd(',');
            }

            /// USER [ execute ] END

            Registry("execute done fetch_rel_1_rtc ");

            return(true);
        }
        public override bool execute( )
        {
            if (base.execute() == false)
            {
                return(false);
            }

            Registry("execute fetch_rel_5_rle ");

            /// USER [ execute ]


            // # Disabilita escrita em disco
            // # AVISO: somente por motivos de performance
            // # Somente recomendado para relatórios em produção

            SQL_LOGGING_ENABLE = false;

            StringBuilder sb = new StringBuilder();

            Hashtable hsh_loja_confirmada = new Hashtable();
            Hashtable hsh_loja_cancelada  = new Hashtable();

            Hashtable hsh_loja = new Hashtable();             // guarda se container foi gerado
            ArrayList tmp_loja = new ArrayList();             // lista de  lojas

            long vr_sub_confirmada = 0,
                 vr_sub_cancelada  = 0,
                 vr_tot_confirmada = 0,
                 vr_tot_cancelada  = 0;

            LINK_LojaEmpresa link = new LINK_LojaEmpresa(this);
            T_Cartao         cart = new T_Cartao(this);

            string id = "";

            // # Busca todos os convênios de uma empresa

            if (link.select_fk_empresa_geral(emp.get_identity()))
            {
                while (link.fetch())
                {
                    loj.Reset();

                    if (!loj.selectIdentity(link.get_fk_loja()))
                    {
                        continue;
                    }

                    id = loj.get_identity();

                    #region - identifico a loja -

                    if (hsh_loja [id] == null)
                    {
                        DadosLoja dl = new DadosLoja();

                        dl.set_st_loja(id);
                        dl.set_st_nome("(" + loj.get_st_loja() + ") " + loj.get_st_nome());

                        output_array_generic_lstLojas.Add(dl);

                        tmp_loja.Add(id);
                        hsh_loja [id] = 1;
                    }

                    #endregion

                    if (!l_tr.select_rows_dt_loj(input_st_dt_ini,
                                                 input_st_dt_fim,
                                                 id))
                    {
                        continue;
                    }

                    T_Parcelas parc = new T_Parcelas(this);

                    while (l_tr.fetch())
                    {
                        if (!cart.selectIdentity(l_tr.get_fk_cartao()))
                        {
                            continue;
                        }

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

                        #region - contabiliza -

                        if (l_tr.get_tg_contabil() == Context.TRUE)
                        {
                            long cur_val = l_tr.get_int_vr_total();

                            if (l_tr.get_tg_confirmada() == TipoConfirmacao.Confirmada)
                            {
                                if (hsh_loja_confirmada [id] == null)
                                {
                                    vr_sub_confirmada = (long)0;
                                }
                                else
                                {
                                    vr_sub_confirmada = (long)hsh_loja_confirmada [id];
                                }

                                vr_tot_confirmada += cur_val;

                                hsh_loja_confirmada [id] = vr_sub_confirmada + cur_val;
                            }
                            else if (l_tr.get_tg_confirmada() == TipoConfirmacao.Cancelada)
                            {
                                if (hsh_loja_cancelada [id] == null)
                                {
                                    vr_sub_cancelada = (long)0;
                                }
                                else
                                {
                                    vr_sub_cancelada = (long)hsh_loja_cancelada [id];
                                }

                                vr_tot_cancelada += cur_val;

                                hsh_loja_cancelada [id] = vr_sub_cancelada + cur_val;
                            }
                        }

                        #endregion

                        Rel_RLE rle = new Rel_RLE();

                        #region - atribui ao container -

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

                        rle.set_st_nsu(l_tr.get_nu_nsu());
                        rle.set_vr_total(l_tr.get_vr_total());
                        rle.set_nu_parc(l_tr.get_nu_parcelas());

                        if (parc.select_fk_log_trans(l_tr.get_identity()))
                        {
                            if (parc.fetch())
                            {
                                rle.set_st_nsu(l_tr.get_nu_nsu());
                            }
                        }

                        rle.set_dt_trans(l_tr.get_dt_transacao());
                        rle.set_tg_status(l_tr.get_tg_confirmada());
                        rle.set_st_motivo(l_tr.get_st_msg_transacao());
                        rle.set_en_op_cartao(l_tr.get_en_operacao());
                        rle.set_st_loja(id);

                        #endregion

                        DataPortable mem_rle = rle as DataPortable;

                        // # Guarda registro

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

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

                DataPortable dp = new DataPortable();

                dp.setValue("ids", list_ids);

                // # Guarda todos os registros

                output_st_csv = MemorySave(ref dp);

                #region - calcula totais -

                long value_sub = 0;

                for (int t = 0; t < tmp_loja.Count; ++t)
                {
                    id = tmp_loja[t] as string;

                    if (hsh_loja_confirmada [id] == null)
                    {
                        hsh_loja_confirmada [id] = (long)0;
                    }
                    if (hsh_loja_cancelada  [id] == null)
                    {
                        hsh_loja_cancelada  [id] = (long)0;
                    }

                    value_sub = (long)hsh_loja_confirmada [id];

                    output_st_csv_subtotal += value_sub.ToString() + ",";

                    value_sub = (long)hsh_loja_cancelada [id];

                    output_st_csv_subtotal_cancelado += value_sub.ToString() + ",";
                }

                #endregion

                output_st_csv_subtotal           = output_st_csv_subtotal.TrimEnd(',');
                output_st_csv_subtotal_cancelado = output_st_csv_subtotal_cancelado.TrimEnd(',');
                output_st_total           = vr_tot_confirmada.ToString();
                output_st_total_cancelado = vr_tot_cancelada.ToString();
            }

            /// USER [ execute ] END

            Registry("execute done fetch_rel_5_rle ");

            return(true);
        }
        public override bool execute( )
        {
            if (base.execute() == false)
            {
                return(false);
            }

            Registry("execute fetch_rel_edu_movEscola ");

            /// USER [ execute ]

            T_Empresa emp = new T_Empresa(this);

            if (!emp.select_rows_empresa(input_st_empresa))
            {
                PublishError("Nenhuma empresa com o código fornecido");
                return(false);
            }

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

            output_st_nome_escola = emp.get_st_fantasia();

            LOG_Transacoes ltr = new LOG_Transacoes(this);

            StringBuilder sb = new StringBuilder();

            if (ltr.select_rows_emp_dt(emp.get_identity(),
                                       input_st_dt_ini,
                                       input_st_dt_fim,
                                       TipoConfirmacao.Confirmada))
            {
                T_Cartao cart = new T_Cartao(this);
                T_Loja   loj  = new T_Loja(this);

                while (ltr.fetch())
                {
                    if (!cart.selectIdentity(ltr.get_fk_cartao()))
                    {
                        continue;
                    }

                    if (!loj.selectIdentity(ltr.get_fk_loja()))
                    {
                        continue;
                    }

                    Rel_MovEscola rme = new Rel_MovEscola();

                    rme.set_st_aluno(cart.get_st_aluno());
                    rme.set_st_loja(loj.get_st_nome() + " - " + loj.get_st_social());
                    rme.set_vr_valor(ltr.get_vr_total());
                    rme.set_dt_trans(ltr.get_dt_transacao());

                    DataPortable mem_rme = rme as DataPortable;

                    // # Guarda registro

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

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

            DataPortable dp = new DataPortable();

            dp.setValue("ids", list_ids);

            output_st_content = MemorySave(ref dp);

            /// USER [ execute ] END

            Registry("execute done fetch_rel_edu_movEscola ");

            return(true);
        }
        public override bool execute( )
        {
            if (base.execute() == false)
            {
                return(false);
            }

            Registry("execute fetch_consultaTransacao ");

            /// USER [ execute ]

            T_Terminal term = new T_Terminal(this);
            T_Cartao   cart = new T_Cartao(this);
            T_Loja     loj  = new T_Loja(this);

            StringBuilder sb = new StringBuilder();

            int  i_nu_parc  = 0;
            long i_vr_valor = 0;

            if (nu_parc.Length > 0)
            {
                i_nu_parc = Convert.ToInt32(nu_parc);
            }

            if (vr_valor.Length > 0)
            {
                i_vr_valor = Convert.ToInt64(vr_valor);
            }

            string nsu = input_cont_dct.get_st_nsu();

            Hashtable hshEmpresas = new Hashtable();

            #region - para o caso de administrador -

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

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

                    T_Empresa emp_tb = new T_Empresa(this);

                    // ## Para o caso de empresa administradora de empresas

                    if (emp_tb.select_fk_admin(emp_admin.get_identity()))
                    {
                        while (emp_tb.fetch())
                        {
                            hshEmpresas [emp_tb.get_identity()] = "*";
                        }
                    }
                }
            }

            #endregion

            // ## Busca as transações

            SQL_LOGGING_ENABLE = false;

            int max_trans = 200;

            if (input_cont_header.get_tg_user_type() == TipoUsuario.SuperUser)
            {
                max_trans = 1000;
            }

            while (l_tr.fetch())
            {
                // ## Filtro de empresas
                // ## somente de administradora ou de vinculadas

                if (hshEmpresas.Count > 0)
                {
                    if (hshEmpresas [l_tr.get_fk_empresa()] == null)
                    {
                        continue;
                    }
                }

                if (nsu.Length > 0)
                {
                    if (l_tr.get_nu_nsu() != nsu)
                    {
                        continue;
                    }
                }

                if (st_cart_id.Length > 0)
                {
                    if (l_tr.get_fk_cartao() != st_cart_id)
                    {
                        continue;
                    }
                }

                if (nu_parc.Length > 0)
                {
                    if (l_tr.get_int_nu_parcelas() < i_nu_parc)
                    {
                        continue;
                    }
                }

                if (vr_valor.Length > 0)
                {
                    if (l_tr.get_int_vr_total() < i_vr_valor)
                    {
                        continue;
                    }
                }

                if (en_oper.Length > 0)
                {
                    if (l_tr.get_en_operacao() != en_oper)
                    {
                        continue;
                    }
                }

                if (en_conf.Length > 0)
                {
                    if (l_tr.get_tg_confirmada() != en_conf)
                    {
                        continue;
                    }
                }

                if (fk_empresa.Length > 0)
                {
                    if (l_tr.get_fk_empresa() != fk_empresa)
                    {
                        continue;
                    }
                }

                if (fk_terminal.Length > 0)
                {
                    if (l_tr.get_fk_terminal() != fk_terminal)
                    {
                        continue;
                    }
                }

                term.Reset();
                loj.Reset();
                cart.Reset();

                // ## Busca terminal

                term.selectIdentity(l_tr.get_fk_terminal());

                if (fk_loja.Length > 0)
                {
                    if (term.get_fk_loja() != fk_loja)
                    {
                        continue;
                    }
                }

                loj.selectIdentity(l_tr.get_fk_loja());
                cart.selectIdentity(l_tr.get_fk_cartao());

                // ## Cria registro em memória

                if (--max_trans == 0)
                {
                    PublishNote("Limite máximo de registros excedido");
                    break;
                }

                DadosConsultaTransacao dt = new DadosConsultaTransacao();

                dt.set_en_oper(l_tr.get_en_operacao());
                dt.set_st_nsu(l_tr.get_nu_nsu());

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

                dt.set_st_cnpj_loja(loj.get_st_nome());

                dt.set_st_terminal(term.get_nu_terminal());
                dt.set_vr_valor(l_tr.get_vr_total());
                dt.set_nu_parcelas(l_tr.get_nu_parcelas());
                dt.set_dt_transacao(l_tr.get_dt_transacao());
                dt.set_tg_status(l_tr.get_tg_confirmada());

                dt.set_st_msg_erro(l_tr.get_st_msg_transacao() +
                                   l_tr.get_st_doc());

                DataPortable tmp = dt as DataPortable;

                // ## indexa em memória

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

            SQL_LOGGING_ENABLE = true;

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

            if (list_ids == "")
            {
                PublishNote("Nenhum resultado foi encontrado");
                return(true);
            }

            DataPortable dp = new DataPortable();

            dp.setValue("ids", list_ids);

            // ## cria indexador de bloco

            output_st_csv_id = MemorySave(ref dp);

            /// USER [ execute ] END

            Registry("execute done fetch_consultaTransacao ");

            return(true);
        }
        public override bool execute( )
        {
            Registry("execute fetch_consultaLojistaRep ");

            /// USER [ execute ]

            T_Loja loj = new T_Loja(this);

            if (!loj.select_rows_loja(input_cnpj))
            {
                PublishError("Cnpj não disponível");
                return(false);
            }

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

            if (loj.get_st_senha() != input_pass)
            {
                PublishError("Senha inválida");
                return(false);
            }

            T_Empresa emp = new T_Empresa(this);

            if (!emp.select_rows_empresa(input_empresa.PadLeft(6, '0')))
            {
                PublishError("Empresa não disponível");
                return(false);
            }

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

            LINK_LojaEmpresa lje = new LINK_LojaEmpresa(this);

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

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

            double tx = lje.get_int_tx_admin();

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

            StringBuilder sb = new StringBuilder();

            if (lf.select_rows_mes_ano(input_mes.PadLeft(2, '0'),
                                       input_ano.PadLeft(2, '0'),
                                       emp.get_identity()))
            {
                if (lf.RowCount() > 0)
                {
                    while (lf.fetch())
                    {
                        if (lf.get_fk_loja() != loj.get_identity())
                        {
                            continue;
                        }

                        if (!parc.selectIdentity(lf.get_fk_parcela()))
                        {
                            return(false);
                        }

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

                        if (!emp.selectIdentity(ltr.get_fk_empresa()))
                        {
                            return(false);
                        }

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

                        DadosConsultaTransacao dct = new DadosConsultaTransacao();

                        dct.set_dt_transacao(ltr.get_dt_transacao());
                        dct.set_st_nsu(ltr.get_nu_nsu());
                        dct.set_nu_parcelas(parc.get_nu_indice());

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

                        dct.set_vr_valor(ltr.get_vr_total());

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

                        dct.set_vr_repasse(repasse.ToString());

                        DataPortable tmp = dct as DataPortable;

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

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

            if (list_ids == "")
            {
                PublishNote("Nenhum resultado foi encontrado");
                return(true);
            }

            DataPortable dp = new DataPortable();

            dp.setValue("ids", list_ids);

            output_st_content = MemorySave(ref dp);

            /// USER [ execute ] END

            Registry("execute done fetch_consultaLojistaRep ");

            return(true);
        }
        public override bool execute( )
        {
            if (base.execute() == false)
            {
                return(false);
            }

            Registry("execute graph_financeiro ");

            /// USER [ execute ]

            LOG_Transacoes ltr = new LOG_Transacoes(this);

            StringBuilder sb_global = new StringBuilder();

            T_Loja    loj = new T_Loja(this);
            T_Empresa emp = new T_Empresa(this);

            for (int u = 0; u < input_array_generic_lstCurves.Count; ++u)
            {
                DadosGraficoFinanceiro tmp_dgf = new DadosGraficoFinanceiro(input_array_generic_lstCurves[u] as DataPortable);

                DateTime t_start = Convert.ToDateTime(tmp_dgf.get_dt_ini());
                DateTime t_end   = Convert.ToDateTime(tmp_dgf.get_dt_fim()).AddHours(23).AddMinutes(59).AddSeconds(59);

                loj.Reset();

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

                emp.Reset();

                if (emp.select_rows_empresa(tmp_dgf.get_st_empresa().PadLeft(6, '0')))
                {
                    if (!emp.fetch())
                    {
                        return(false);
                    }
                }

                Hashtable hsh_globalday = new Hashtable();
                ArrayList lst_globalday = new ArrayList();

                bool loj_fetch = false;
                bool tudo      = false;

                if (t_start.Day == t_end.Day)
                {
                    if (t_start.Month == t_end.Month)
                    {
                        PublishError("Favor informar período com datas diferentes");
                        return(false);
                    }
                }

                if (loj.get_identity() != Context.NOT_SET &&
                    emp.get_identity() != Context.NOT_SET)
                {
                    loj_fetch = true;

                    if (!ltr.select_rows_graph_financ_loj(GetDataBaseTime(t_start),
                                                          GetDataBaseTime(t_end),
                                                          TipoConfirmacao.Confirmada,
                                                          loj.get_identity(),
                                                          emp.get_identity()))
                    {
                        PublishNote("Nenhum resultado para " + loj.get_st_nome());
                    }
                }
                else if (emp.get_identity() != Context.NOT_SET)
                {
                    if (!ltr.select_rows_graph_financ_emp(GetDataBaseTime(t_start),
                                                          GetDataBaseTime(t_end),
                                                          TipoConfirmacao.Confirmada,
                                                          emp.get_identity()))
                    {
                        PublishNote("Nenhum resultado para " + emp.get_st_fantasia());
                    }
                }
                else if (tmp_dgf.get_st_empresa() == Context.NOT_SET)
                {
                    tudo = true;

                    ltr.select_rows_graph_financ(GetDataBaseTime(t_start),
                                                 GetDataBaseTime(t_end),
                                                 TipoConfirmacao.Confirmada);
                }

                long vr_tot = 0;

                while (ltr.fetch())
                {
                    string day = ltr.get_dt_transacao().Substring(0, 10);

                    if (hsh_globalday [day] == null)
                    {
                        if (input_tg_tipo == "0")                           // variavel
                        {
                            hsh_globalday [day] = (long)0;
                        }
                        else
                        {
                            hsh_globalday [day] = (long)vr_tot;
                        }

                        lst_globalday.Add(day);
                    }

                    vr_tot += ltr.get_int_vr_total();

                    if (input_tg_tipo == "0")                       // variavel
                    {
                        hsh_globalday [day] = (long)hsh_globalday [day] + ltr.get_int_vr_total();
                    }
                    else
                    {
                        hsh_globalday [day] = vr_tot;
                    }
                }

                for (int t = 0; t < lst_globalday.Count; ++t)
                {
                    string day = lst_globalday[t].ToString();

                    string nome_desc = "";

                    if (loj_fetch)
                    {
                        nome_desc = "Loja " + loj.get_st_loja() + " " + loj.get_st_nome() + " [" + emp.get_st_empresa() + "]";
                    }
                    else if (!tudo)
                    {
                        nome_desc = "Empresa " + emp.get_st_empresa();
                    }
                    else
                    {
                        nome_desc = "ConveyNET";
                    }

                    long vr_valor = (long)hsh_globalday [day];

                    DadosGraficoFinanceiro dgf = new DadosGraficoFinanceiro();

                    dgf.set_nu_id(u.ToString());
                    dgf.set_dt_point(day + " 00:00");
                    dgf.set_st_loja(nome_desc);
                    dgf.set_vr_point(vr_valor.ToString());

                    DataPortable mem = dgf as DataPortable;

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

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

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

            DataPortable dp = new DataPortable();

            dp.setValue("ids", list_ids);

            output_st_content = MemorySave(ref dp);

            /// USER [ execute ] END

            Registry("execute done graph_financeiro ");

            return(true);
        }
		public override bool execute ( ) 
		{
			if ( base.execute() == false) return false;
			
			Registry ( "execute fetch_canc_dia_lojista " ); 
		
			/// USER [ execute ]
			
			T_Terminal term  = new T_Terminal (this);
			
			if ( !term.select_rows_terminal ( input_cont_header.get_nu_terminal() ) )
				return false;
			
			if ( !term.fetch() )
				return false;
			
			DateTime tim = new DateTime ( DateTime.Now.Year, 
			                              DateTime.Now.Month,
			                              DateTime.Now.Day );
			
			LOG_Transacoes ltr = new LOG_Transacoes (this);
			
			if ( !ltr.select_rows_dt_loj ( 	GetDataBaseTime ( tim) , 
			                        		GetDataBaseTime ( tim.AddDays(1) ) ,
			                        		term.get_fk_loja() ) )
			{
				PublishError ( "Nenhum registro encontrado" );
				return false;
			}
			
			StringBuilder sb = new StringBuilder();
			
			T_Cartao cart = new T_Cartao (this);
			
			while ( ltr.fetch() )
			{
				if ( !cart.selectIdentity ( ltr.get_fk_cartao() ) )
					continue;
				
				if ( ltr.get_tg_confirmada() != TipoConfirmacao.Confirmada )
					continue;
				
				string st_cartao =  cart.get_st_empresa() + 
					 				cart.get_st_matricula() + 
									cart.get_st_titularidade();
				
				DadosConsultaTransacao dct = new DadosConsultaTransacao();
				
				dct.set_vr_valor ( ltr.get_vr_total() );
				dct.set_st_nsu   ( ltr.get_nu_nsu()   );
				dct.set_dt_transacao ( ltr.get_dt_transacao() );
				dct.set_st_cartao  ( st_cartao );
				
				DataPortable tmp = dct as DataPortable;
				
				// ## Obtem identificador para registro
					
				sb.Append ( MemorySave ( ref tmp ) );
				sb.Append ( "," 				   );
			}
			
			string list_ids = sb.ToString().TrimEnd ( ',' );
			
			if ( list_ids == "" )
			{
				PublishNote ( "Nenhum resultado foi encontrado" );
				return true;
			}
											
			DataPortable dp = new DataPortable();
			
			dp.setValue ( "ids", list_ids );
			
			output_st_content = MemorySave ( ref dp );			
			
			/// USER [ execute ] END
		
			Registry ( "execute done fetch_canc_dia_lojista " ); 
		
			return true;
		}
        public override bool execute( )
        {
            if (base.execute() == false)
            {
                return(false);
            }

            Registry("execute graph_transacoes ");

            /// USER [ execute ]

            LOG_Transacoes ltr = new LOG_Transacoes(this);

            StringBuilder sb_global = new StringBuilder();

            T_Loja    loj = new T_Loja(this);
            T_Empresa emp = new T_Empresa(this);

            DateTime t_start = Convert.ToDateTime(input_dt_ini);
            DateTime t_end   = Convert.ToDateTime(input_dt_fim).AddHours(23).AddMinutes(59).AddSeconds(59);

            if (t_start.Day == t_end.Day)
            {
                if (t_start.Month == t_end.Month)
                {
                    PublishError("Favor informar período com datas diferentes");
                    return(false);
                }
            }

            for (int u = 0; u < input_array_generic_lst.Count; ++u)
            {
                DadosConsultaGraficoTransLojas dl = new DadosConsultaGraficoTransLojas(input_array_generic_lst[u] as DataPortable);

                ltr.Reset();

                Hashtable hsh_globalday = new Hashtable();
                ArrayList lst_globalday = new ArrayList();

                if (dl.get_tg_tipo() == "E")
                {
                    if (emp.select_rows_empresa(dl.get_nu_cod()))
                    {
                        if (emp.fetch())
                        {
                            if (!ltr.select_rows_dt_emp(GetDataBaseTime(t_start),
                                                        GetDataBaseTime(t_end),
                                                        emp.get_identity()))
                            {
                                continue;
                            }
                        }
                    }
                }
                else
                {
                    if (loj.select_rows_loja(dl.get_nu_cod()))
                    {
                        if (loj.fetch())
                        {
                            if (!ltr.select_rows_dt_loj(GetDataBaseTime(t_start),
                                                        GetDataBaseTime(t_end),
                                                        loj.get_identity()))
                            {
                                continue;
                            }
                        }
                    }
                }

                long nu_tot = 0;

                while (ltr.fetch())
                {
                    string day = ltr.get_dt_transacao().Substring(0, 10);

                    if (hsh_globalday [day] == null)
                    {
                        hsh_globalday [day] = (long)nu_tot;
                        lst_globalday.Add(day);
                    }

                    hsh_globalday [day] = ++nu_tot;
                }

                for (int t = 0; t < lst_globalday.Count; ++t)
                {
                    string day = lst_globalday[t].ToString();

                    long nu_trans = (long)hsh_globalday [day];

                    DadosConsultaGraficoTransLojas dgtl = new DadosConsultaGraficoTransLojas();

                    dgtl.set_dt_trans(day + " 00:00");
                    dgtl.set_nu_trans(nu_trans.ToString());
                    dgtl.set_nu_id(u.ToString());

                    DataPortable mem = dgtl as DataPortable;

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

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

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

            DataPortable dp = new DataPortable();

            dp.setValue("ids", list_ids);

            output_st_csv = MemorySave(ref dp);

            /// USER [ execute ] END

            Registry("execute done graph_transacoes ");

            return(true);
        }
        public override bool execute( )
        {
            if (base.execute() == false)
            {
                return(false);
            }

            Registry("execute fetch_rel_2_rlt ");

            /// USER [ execute ]

            if (input_cont_header.get_tg_user_type() != TipoUsuario.Lojista)
            {
                input_st_empresa = input_st_empresa.PadLeft(6, '0');

                T_Empresa emp = new T_Empresa(this);

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

            // ##
            // ## 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

            StringBuilder sb = new StringBuilder();

            Hashtable hsh_term_confirmada = new Hashtable();
            Hashtable hsh_term_cancelada  = new Hashtable();
            Hashtable hsh_term            = new Hashtable();

            T_Terminal term = new T_Terminal(this);
            T_Cartao   cart = new T_Cartao(this);

            string term_ident = "";

            long vr_sub_confirmada = 0,
                 vr_sub_cancelada  = 0,
                 vr_tot_confirmada = 0,
                 vr_tot_cancelada  = 0;

            ArrayList tmp_Terms = new ArrayList();

            // ## Busca registros de transações

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

                // ## Busca terminal referente

                if (!term.selectIdentity(l_tr.get_fk_terminal()))
                {
                    continue;
                }

                term_ident = term.get_nu_terminal();

                // ## Captura terminais

                if (hsh_term [term_ident] == null)
                {
                    DadosTerminal dt = new DadosTerminal();

                    dt.set_st_terminal(term.get_nu_terminal());
                    dt.set_st_localizacao(term.get_st_localizacao());

                    output_array_generic_lstTerminais.Add(dt);

                    tmp_Terms.Add(term_ident);

                    hsh_term [term_ident] = 1;
                }

                // ## Busca cartão relacionado

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

                if (input_st_empresa.Length > 0)
                {
                    if (cart.get_st_empresa() != input_st_empresa)
                    {
                        continue;
                    }
                }

                // ## Se transação deve ser contabilizada

                if (l_tr.get_tg_contabil() == Context.TRUE)
                {
                    long cur_val = l_tr.get_int_vr_total();

                    if (l_tr.get_tg_confirmada() == TipoConfirmacao.Confirmada)
                    {
                        if (hsh_term_confirmada [term_ident] == null)
                        {
                            vr_sub_confirmada = (long)0;
                        }
                        else
                        {
                            vr_sub_confirmada = (long)hsh_term_confirmada [term_ident];
                        }

                        vr_tot_confirmada += cur_val;

                        hsh_term_confirmada [term_ident] = vr_sub_confirmada + cur_val;
                    }
                    else if (l_tr.get_tg_confirmada() == TipoConfirmacao.Cancelada)
                    {
                        if (hsh_term_cancelada [term_ident] == null)
                        {
                            vr_sub_cancelada = (long)0;
                        }
                        else
                        {
                            vr_sub_cancelada = (long)hsh_term_cancelada [term_ident];
                        }

                        vr_tot_cancelada += cur_val;

                        hsh_term_cancelada [term_ident] = vr_sub_cancelada + cur_val;
                    }
                }

                Rel_RLT rlt = new Rel_RLT();

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

                rlt.set_st_nsu(l_tr.get_nu_nsu());
                rlt.set_vr_total(l_tr.get_vr_total());
                rlt.set_nu_parc(l_tr.get_nu_parcelas());
                rlt.set_dt_trans(l_tr.get_dt_transacao());
                rlt.set_tg_status(l_tr.get_tg_confirmada());
                rlt.set_st_motivo(l_tr.get_st_msg_transacao());
                rlt.set_en_op_cartao(l_tr.get_en_operacao());
                rlt.set_st_terminal(term_ident);

                DataPortable mem_rlt = rlt as DataPortable;

                // ## Grava em memória

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

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

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

            DataPortable dp = new DataPortable();

            dp.setValue("ids", list_ids);

            // ## Gera identificador geral

            output_st_csv = MemorySave(ref dp);

            long value_sub = 0;

            // ## Percorre terminais

            for (int t = 0; t < tmp_Terms.Count; ++t)
            {
                term_ident = tmp_Terms[t].ToString();

                if (hsh_term_confirmada [term_ident] == null)
                {
                    hsh_term_confirmada [term_ident] = (long)0;
                }
                if (hsh_term_cancelada [term_ident] == null)
                {
                    hsh_term_cancelada  [term_ident] = (long)0;
                }

                // ## Contabiiza

                value_sub = (long)hsh_term_confirmada [term_ident];

                output_st_csv_subtotal += value_sub.ToString() + ",";

                value_sub = (long)hsh_term_cancelada [term_ident];

                output_st_csv_subtotal_cancelado += value_sub.ToString() + ",";
            }

            output_st_csv_subtotal           = output_st_csv_subtotal.TrimEnd(',');
            output_st_csv_subtotal_cancelado = output_st_csv_subtotal_cancelado.TrimEnd(',');
            output_st_total           = vr_tot_confirmada.ToString();
            output_st_total_cancelado = vr_tot_cancelada.ToString();

            /// USER [ execute ] END

            Registry("execute done fetch_rel_2_rlt ");

            return(true);
        }
Example #14
0
        public override bool execute( )
        {
            Registry("execute fetch_consultaLojista ");

            /// USER [ execute ]

            T_Loja loj = new T_Loja(this);

            if (!loj.select_rows_loja(input_cnpj))
            {
                PublishError("Cnpj não disponível");
                return(false);
            }

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

            if (loj.get_st_senha() != input_pass)
            {
                PublishError("Senha inválida");
                return(false);
            }

            LOG_Transacoes ltr = new LOG_Transacoes(this);

            T_Cartao  cart = new T_Cartao(this);
            T_Empresa emp  = new T_Empresa(this);

            StringBuilder sb = new StringBuilder();

            if (ltr.select_rows_dt_loj(input_dt_ini, input_dt_fim, loj.get_identity()))
            {
                while (ltr.fetch())
                {
                    if (!emp.selectIdentity(ltr.get_fk_empresa()))
                    {
                        continue;
                    }

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

                    DadosConsultaTransacao dct = new DadosConsultaTransacao();

                    dct.set_dt_transacao(ltr.get_dt_transacao());
                    dct.set_st_nsu(ltr.get_nu_nsu());
                    dct.set_vr_valor(ltr.get_vr_total());
                    dct.set_nu_parcelas(ltr.get_nu_parcelas());
                    dct.set_tg_status(ltr.get_tg_confirmada());

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

                    dct.set_st_cod_empresa(emp.get_st_empresa());

                    DataPortable tmp = dct as DataPortable;

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

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

            if (list_ids == "")
            {
                PublishNote("Nenhum resultado foi encontrado");
                return(true);
            }

            DataPortable dp = new DataPortable();

            dp.setValue("ids", list_ids);

            // ## Obtem indexador geral

            output_st_content = MemorySave(ref dp);

            /// USER [ execute ] END

            Registry("execute done fetch_consultaLojista ");

            return(true);
        }