예제 #1
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( )
        {
            Registry("execute fetch_extratoWebFuturo ");

            /// USER [ execute ]

            T_Cartao cart          = new T_Cartao(this);
            T_Cartao cart_parc_dep = new T_Cartao(this);

            if (!cart.select_rows_tudo(input_st_cartao.Substring(0, 6),
                                       input_st_cartao.Substring(6, 6),
                                       input_st_cartao.Substring(12, 2)))
            {
                PublishError("Matrícula não disponível");
                return(false);
            }

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

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

            T_Empresa emp = new T_Empresa(this);

            if (!emp.select_rows_empresa(cart.get_st_empresa()))
            {
                PublishError("Empresa inválida");
                return(false);
            }

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

            T_Parcelas parc = new T_Parcelas(this);

            ArrayList lstDeps = new ArrayList();

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

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

            StringBuilder sb_parcs = new StringBuilder();

            for (int t = 2; t <= emp.get_int_nu_parcelas(); ++t)
            {
                if (parc.select_rows_relat_parc(t.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;
                            }
                        }

                        Rel_RTC rtc = new Rel_RTC();

                        rtc.set_st_loja(loj.get_st_nome());
                        rtc.set_vr_total(parc.get_vr_valor());
                        rtc.set_nu_parc(parc.get_nu_tot_parcelas());
                        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(",");
                    }
                }
            }

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

            DataPortable dp_parcs = new DataPortable();

            dp_parcs.setValue("ids", list_ids_parc);

            output_st_content = MemorySave(ref dp_parcs);

            /// USER [ execute ] END

            Registry("execute done fetch_extratoWebFuturo ");

            return(true);
        }
예제 #3
0
        public override bool execute( )
        {
            Registry("execute fetch_extratoWeb ");

            /// USER [ execute ]

            T_Cartao cart        = new T_Cartao(this);
            T_Cartao cart_all    = new T_Cartao(this);
            T_Cartao cart_search = new T_Cartao(this);

            string emp = input_st_cartao.Substring(0, 6);
            string mat = input_st_cartao.Substring(6, 6);

            if (!cart.select_rows_tudo(emp, mat, input_st_cartao.Substring(12, 2)))
            {
                PublishError("Matrícula não disponível");
                return(false);
            }

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

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

            ArrayList lst_all_carts = new ArrayList();

            if (cart_all.select_rows_empresa_matricula(emp, mat))
            {
                while (cart_all.fetch())
                {
                    lst_all_carts.Add(cart_all.get_identity());
                }
            }

            string mes = input_st_cartao.Substring(14, 2);
            string ano = input_st_cartao.Substring(16, 4);

            LOG_Transacoes l_tr = new LOG_Transacoes(this);
            T_Loja         loj  = new T_Loja(this);
            T_Parcelas     parc = new T_Parcelas(this);

            T_Dependente   dep  = new T_Dependente(this);
            T_Proprietario prot = new T_Proprietario(this);

            StringBuilder sb_parcs = new StringBuilder();

            LOG_Fechamento lf = new LOG_Fechamento(this);

            if (lf.select_rows_mes_ano_carts(mes, ano, ref lst_all_carts))
            {
                while (lf.fetch())
                {
                    if (!loj.selectIdentity(lf.get_fk_loja()))
                    {
                        continue;
                    }

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

                    if (!parc.fetch())
                    {
                        continue;
                    }

                    string nome = "";

                    if (!cart_search.selectIdentity(lf.get_fk_cartao()))
                    {
                        continue;
                    }

                    if (cart_search.get_st_titularidade() == "01")
                    {
                        if (!prot.selectIdentity(cart_search.get_fk_dadosProprietario()))
                        {
                            continue;
                        }

                        nome = prot.get_st_nome();
                    }
                    else
                    {
                        if (!dep.select_rows_prop_tit(cart_search.get_fk_dadosProprietario(), cart_search.get_st_titularidade()))
                        {
                            continue;
                        }

                        if (!dep.fetch())
                        {
                            continue;
                        }

                        nome = dep.get_st_nome();
                    }

                    if (parc.get_vr_valor() == "0")
                    {
                        continue;
                    }

                    Rel_RTC rtc = new Rel_RTC();

                    rtc.set_dt_trans(parc.get_dt_inclusao());
                    rtc.set_st_loja(loj.get_st_nome());
                    rtc.set_st_nsu(parc.get_nu_nsu());
                    rtc.set_vr_total(parc.get_vr_valor());
                    rtc.set_st_indice_parcela(parc.get_nu_indice());
                    rtc.set_st_term(parc.get_nu_tot_parcelas());
                    rtc.set_en_op_cartao(nome);

                    DataPortable mem_rtc = rtc as DataPortable;

                    // ## obtem indice

                    sb_parcs.Append(MemorySave(ref mem_rtc));
                    sb_parcs.Append(",");
                }
            }
            else             // presente e futuro
            {
                DateTime dt_target = new DateTime(Convert.ToInt32(ano), Convert.ToInt32(mes), 1);

                DateTime dt_it = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1);

                int my_parc = 1;

                while (dt_it < dt_target)
                {
                    my_parc++;
                    dt_it = dt_it.AddMonths(1);
                }

                if (parc.select_rows_cartao(ref lst_all_carts, my_parc.ToString()))
                {
                    while (parc.fetch())
                    {
                        if (!loj.selectIdentity(parc.get_fk_loja()))
                        {
                            continue;
                        }

                        string nome = "";

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

                        if (cart_search.get_st_titularidade() == "01")
                        {
                            if (!prot.selectIdentity(cart_search.get_fk_dadosProprietario()))
                            {
                                continue;
                            }

                            nome = prot.get_st_nome();
                        }
                        else
                        {
                            if (!dep.select_rows_prop_tit(cart_search.get_fk_dadosProprietario(), cart_search.get_st_titularidade()))
                            {
                                continue;
                            }

                            if (!dep.fetch())
                            {
                                continue;
                            }

                            nome = dep.get_st_nome();
                        }

                        Rel_RTC rtc = new Rel_RTC();

                        rtc.set_dt_trans(parc.get_dt_inclusao());
                        rtc.set_st_loja(loj.get_st_nome());
                        rtc.set_st_nsu(parc.get_nu_nsu());
                        rtc.set_vr_total(parc.get_vr_valor());
                        rtc.set_st_indice_parcela(parc.get_nu_indice());
                        rtc.set_st_term(parc.get_nu_tot_parcelas());
                        rtc.set_en_op_cartao(nome);

                        DataPortable mem_rtc = rtc as DataPortable;

                        // ## obtem indice

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

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

            DataPortable dp_parcs = new DataPortable();

            dp_parcs.setValue("ids", list_ids_parc);

            output_st_content = MemorySave(ref dp_parcs);

            ApplicationUtil var_util = new ApplicationUtil();

            long dispMensal = cart.get_int_vr_limiteMensal() + cart.get_int_vr_extraCota(),
                 dispTotal  = cart.get_int_vr_limiteTotal() + cart.get_int_vr_extraCota();

            var_util.GetSaldoDisponivel(ref cart, ref dispMensal, ref dispTotal);

            output_vr_disp = dispMensal.ToString();
            output_vr_lim  = (cart.get_int_vr_limiteMensal() + cart.get_int_vr_extraCota()).ToString();

            /// USER [ execute ] END

            Registry("execute done fetch_extratoWeb ");

            return(true);
        }