Exemplo n.º 1
0
        public override bool finish( )
        {
            Registry("finish exec_pos_desfazVendaEmpresarialSITEF ");

            /// USER [ finish ]

            // ## Copiar para saída cod de resposta

            LOG_NSU l_nsu = new LOG_NSU(this);

            l_nsu.set_dt_log(GetDataBaseTime());

            l_nsu.create_LOG_NSU();

            output_cont_pr.set_st_codResp(var_codResp);
            output_cont_pr.set_st_nsuBanco(l_nsu.get_identity());

            LOG_Transacoes l_tr_fin = new LOG_Transacoes(this);

            #region - registra a transação -

            l_tr_fin.set_fk_terminal(term.get_identity());
            l_tr_fin.set_dt_transacao(GetDataBaseTime());

            if (output_cont_pr.get_st_codResp() == "N3N3")
            {
                l_tr_fin.set_nu_cod_erro("1313");
            }
            else
            {
                l_tr_fin.set_nu_cod_erro(output_cont_pr.get_st_codResp());
            }

            l_tr_fin.set_nu_nsuOrig(l_tr.get_nu_nsu());
            l_tr_fin.set_nu_nsu(l_nsu.get_identity());
            l_tr_fin.set_st_msg_transacao("Registro: " + l_tr.get_nu_nsu());
            l_tr_fin.set_en_operacao(OperacaoCartao.VENDA_EMPRESARIAL_DESFAZ);
            l_tr_fin.set_fk_loja(term.get_fk_loja());
            l_tr_fin.set_tg_confirmada(TipoConfirmacao.Registro);
            l_tr_fin.set_tg_contabil(Context.FALSE);
            l_tr_fin.set_vr_saldo_disp(l_tr.get_vr_saldo_disp());
            l_tr_fin.set_vr_saldo_disp_tot(l_tr.get_vr_saldo_disp_tot());
            l_tr_fin.set_vr_total(l_tr.get_vr_total());
            l_tr_fin.set_fk_empresa(l_tr.get_fk_empresa());
            l_tr_fin.set_fk_loja(l_tr.get_fk_loja());
            l_tr_fin.set_fk_cartao(l_tr.get_fk_cartao());

            #endregion

            l_tr_fin.create_LOG_Transacoes();

            /// USER [ finish ] END

            Registry("finish done exec_pos_desfazVendaEmpresarialSITEF ");

            if (remoteTransaction == true)
            {
                return(true);
            }

            DataPortable dp_out = new DataPortable();

            dp_out.MapTagValue(COMM_OUT_EXEC_POS_DESFAZVENDAEMPRESARIAL.st_msg, output_st_msg);

            var_Comm.AddExitPortable(ref dp_out);

            DataPortable dp_cont_1 = new DataPortable();

            dp_cont_1.MapTagContainer(COMM_OUT_EXEC_POS_DESFAZVENDAEMPRESARIAL.pr, output_cont_pr as DataPortable);

            var_Comm.AddExitPortable(ref dp_cont_1);

            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);
        }
Exemplo n.º 3
0
        public override bool execute( )
        {
            if (base.execute() == false)
            {
                return(false);
            }

            Registry("execute fetch_listaTransacoesLojas ");

            /// USER [ execute ]

            LOG_Transacoes ltr = new LOG_Transacoes(this);

            if (!ltr.select_rows_dt(input_dt_ini, input_dt_fim))
            {
                PublishError("Nenhuma transação disponível");
                return(false);
            }

            Hashtable hshEmp = new Hashtable();
            Hashtable hshLoj = new Hashtable();

            ArrayList lstEmp = new ArrayList();
            ArrayList lstLoj = new ArrayList();

            while (ltr.fetch())
            {
                string fk_empresa = ltr.get_fk_empresa();

                if (hshEmp [fk_empresa] == null)
                {
                    hshEmp [fk_empresa] = (long)0;
                    lstEmp.Add(fk_empresa);
                }

                hshEmp [fk_empresa] = (long)hshEmp [fk_empresa] + 1;

                string fk_loja = ltr.get_fk_loja();

                if (hshLoj [fk_loja] == null)
                {
                    hshLoj [fk_loja] = (long)0;
                    lstLoj.Add(fk_loja);
                }

                hshLoj [fk_loja] = (long)hshLoj [fk_loja] + 1;
            }

            ArrayList lstEmpSort = new ArrayList();

            for (int t = 0; t < lstEmp.Count; ++t)
            {
                string tg  = lstEmp[t].ToString();
                long   qtd = (long)hshEmp [tg];
                string res = qtd.ToString().PadLeft(12, '0') + tg;

                lstEmpSort.Add(res);
            }

            ArrayList lstLojSort = new ArrayList();

            for (int t = 0; t < lstLoj.Count; ++t)
            {
                string tg  = lstLoj[t].ToString();
                long   qtd = (long)hshLoj [tg];
                string res = qtd.ToString().PadLeft(12, '0') + tg;

                lstLojSort.Add(res);
            }

            lstEmpSort.Sort();
            lstLojSort.Sort();

            StringBuilder sb_global = new StringBuilder();

            T_Empresa emp = new T_Empresa(this);

            for (int t = lstEmpSort.Count - 1; t >= 0; --t)
            {
                string line = lstEmpSort[t].ToString();
                string qtd  = line.Substring(0, 12).TrimStart('0');

                if (emp.selectIdentity(line.Substring(12, line.Length - 12)))
                {
                    DadosConsultaGraficoTransLojas dl = new DadosConsultaGraficoTransLojas();

                    dl.set_nu_trans(qtd);
                    dl.set_nu_cod(emp.get_st_empresa());
                    dl.set_st_nome(emp.get_st_fantasia());
                    dl.set_tg_tipo("E");

                    DataPortable mem = dl as DataPortable;

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

            T_Loja loj = new T_Loja(this);

            for (int t = lstLojSort.Count - 1; t >= 0; --t)
            {
                string line = lstLojSort[t].ToString();
                string qtd  = line.Substring(0, 12).TrimStart('0');

                if (loj.selectIdentity(line.Substring(12, line.Length - 12)))
                {
                    DadosConsultaGraficoTransLojas dl = new DadosConsultaGraficoTransLojas();

                    dl.set_nu_trans(qtd);
                    dl.set_nu_cod(loj.get_st_loja());
                    dl.set_st_nome(loj.get_st_nome() + " - " + loj.get_st_social());
                    dl.set_tg_tipo("L");

                    DataPortable mem = dl 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 fetch_listaTransacoesLojas ");

            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 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);
        }
Exemplo n.º 6
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);
        }