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

            Registry("execute fetch_nomeLoja ");

            /// USER [ execute ]

            LINK_LojaEmpresa lojEmp = new LINK_LojaEmpresa(this);

            if (!lojEmp.select_fk_empresa_geral(emp.get_identity()))
            {
                PublishError("Nenhuma loja conveniada à empresa");
                return(false);
            }

            T_Loja loj = new T_Loja(this);

            // ## Busca registros de relacionamento

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

                // ## Se nome de loja bate

                if (loj.get_st_nome().Contains(input_st_nomeLoja))
                {
                    // ## Copia dados para memória

                    DadosLoja dl = new DadosLoja();

                    dl.set_st_nome(loj.get_st_nome());
                    dl.set_st_loja(loj.get_st_loja());

                    output_array_generic_lst.Add(dl);
                }
            }

            /// USER [ execute ] END

            Registry("execute done fetch_nomeLoja ");

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

            Registry("execute exec_bloq_loja ");

            /// USER [ execute ]

            T_Loja loj = new T_Loja(this);

            loj.ExclusiveAccess();

            if (!loj.select_rows_cnpj(input_st_cnpj))
            {
                PublishError("Loja não disponível");
                return(false);
            }

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

            if (loj.get_tg_blocked() == Context.TRUE)
            {
                PublishError("Loja previamente bloqueada");
                return(false);
            }

            st_cod_loja = loj.get_st_loja();

            loj.set_tg_blocked(Context.TRUE);

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

            PublishNote("Loja bloqueada com sucesso");

            /// USER [ execute ] END

            Registry("execute done exec_bloq_loja ");

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

            Registry("finish exec_repasseLoja ");

            /// USER [ finish ]

            if (!IsFail)
            {
                LOG_Audit aud = new LOG_Audit(this);

                aud.set_tg_operacao(TipoOperacao.RepasseLojaGift);

                aud.set_fk_usuario(input_cont_header.get_st_user_id());
                aud.set_dt_operacao(GetDataBaseTime());

                aud.set_st_observacao(loj.get_st_loja());

                aud.set_fk_generic(0);

                if (!aud.create_LOG_Audit())
                {
                    return(false);
                }
            }

            /// USER [ finish ] END

            Registry("finish done exec_repasseLoja ");

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

            DataPortable dp_out = new DataPortable();

            dp_out.MapTagValue(COMM_OUT_EXEC_REPASSELOJA.id_confRepasse, output_id_confRepasse);

            var_Comm.AddExitPortable(ref dp_out);

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

            Registry("execute fetch_listaLoja ");

            /// USER [ execute ]

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

            for (int t = 0; t < var_util.indexCSV(input_st_csv); ++t)
            {
                if (!loj.selectIdentity(var_util.getCSV(t)))
                {
                    return(false);
                }

                term.fetch_fk_loja(loj.get_identity());

                DadosLoja dl = new DadosLoja();

                dl.set_st_loja(loj.get_st_loja());
                dl.set_nu_CNPJ(loj.get_nu_CNPJ());
                dl.set_st_nome(loj.get_st_nome());
                dl.set_st_cidade(loj.get_st_cidade());
                dl.set_st_estado(loj.get_st_estado());
                dl.set_vr_mensalidade(loj.get_vr_mensalidade());
                dl.set_st_obs(term.RowCount().ToString());

                output_array_generic_list.Add(dl);
            }

            /// USER [ execute ] END

            Registry("execute done fetch_listaLoja ");

            return(true);
        }
        public override bool finish( )
        {
            Registry("finish exec_pos_vendaEmpresarialSITEF ");

            /// USER [ finish ]

            if (IsFail)
            {
                // ## Nsu não foi criado!
                l_nsu.set_dt_log(GetDataBaseTime());

                if (!l_nsu.create_LOG_NSU())
                {
                    output_st_msg = "Erro aplicativo";
                    return(false);
                }

                var_nu_nsuAtual    = l_nsu.get_identity();
                var_operacaoCartao = var_operacaoCartaoFail;
            }

            // ## Copiar dados para saída

            output_cont_pr.set_st_codResp(var_codResp);
            output_cont_pr.set_st_nsuRcb(var_nu_nsuAtual.PadLeft(6, '0'));

            output_cont_pr.set_st_nsuBanco(new StringBuilder().Append(DateTime.Now.Year.ToString())
                                           .Append(DateTime.Now.Month.ToString("00"))
                                           .Append(DateTime.Now.Day.ToString("00"))
                                           .Append(var_nu_nsuAtual.PadLeft(6, '0')).ToString());

            output_cont_pr.set_st_PAN(cart.get_st_empresa() + cart.get_st_matricula());

            output_cont_pr.set_st_mesPri(Context.EMPTY);
            output_cont_pr.set_st_loja(loj.get_st_loja());
            output_cont_pr.set_st_nomeCliente(var_nomeCliente);

            output_cont_pr.set_st_variavel(info.get_st_empresaAfiliada());

            LOG_Transacoes l_tr = new LOG_Transacoes(this);

            #region - registra a transação -

            l_tr.set_fk_terminal(term.get_identity());
            l_tr.set_fk_empresa(emp.get_identity());
            l_tr.set_fk_cartao(cart.get_identity());
            l_tr.set_vr_total(var_vr_total);
            l_tr.set_nu_parcelas(var_nu_parcelas);
            l_tr.set_nu_nsu(var_nu_nsuAtual);
            l_tr.set_dt_transacao(GetDataBaseTime());
            l_tr.set_nu_cod_erro(output_cont_pr.get_st_codResp());
            l_tr.set_nu_nsuOrig(input_cont_pe.get_st_nsuOrigemSITEF());
            l_tr.set_en_operacao(var_operacaoCartao);
            l_tr.set_st_msg_transacao("TERMINAL SITEF: " + input_cont_pe.get_st_terminalSITEF());
            l_tr.set_fk_loja(term.get_fk_loja());
            l_tr.set_st_doc(st_doc);

            if (IsFail)
            {
                l_tr.set_tg_confirmada(TipoConfirmacao.Erro);
                l_tr.set_tg_contabil(Context.FALSE);
            }
            else
            {
                l_tr.set_tg_confirmada(TipoConfirmacao.Pendente);
                l_tr.set_tg_contabil(Context.TRUE);
            }

            if (cart.get_tg_tipoCartao() == TipoCartao.educacional)
            {
                l_tr.set_vr_saldo_disp(cart.get_vr_disp_educacional());
                l_tr.set_vr_saldo_disp_tot(cart.get_vr_educacional());
            }
            else
            {
                l_tr.set_vr_saldo_disp(vr_dispMes.ToString());
                l_tr.set_vr_saldo_disp_tot(vr_dispTot.ToString());
            }

            #endregion

            //alterado

            output_cont_pr.set_st_variavel("Saldo disponível no mês: " + new money().setMoneyFormat(vr_dispMes) + " * " +
                                           "Saldo disponível parcelado: " + new money().setMoneyFormat(vr_dispTot));

            l_tr.create_LOG_Transacoes();

            #region - vincula parcelas com a transação -

            T_Parcelas parc_upd = new T_Parcelas(this);

            // ## Como o registro da transação é feito depois,
            // ## vincular as parcelas com este mesmo registro.

            for (int t = 0; t < lstParcs.Count; ++t)
            {
                parc_upd.ExclusiveAccess();

                if (parc_upd.selectIdentity(lstParcs[t].ToString()))
                {
                    parc_upd.set_fk_log_transacoes(l_tr.get_identity());

                    parc_upd.synchronize_T_Parcelas();
                }

                parc_upd.ReleaseExclusive();
            }

            #endregion

            /// USER [ finish ] END

            Registry("finish done exec_pos_vendaEmpresarialSITEF ");

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

            DataPortable dp_out = new DataPortable();

            dp_out.MapTagValue(COMM_OUT_EXEC_POS_VENDAEMPRESARIAL.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_VENDAEMPRESARIAL.pr, output_cont_pr as DataPortable);

            var_Comm.AddExitPortable(ref dp_cont_1);

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

            Registry("execute fetch_rel_4_rrp ");

            /// USER [ execute ]

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

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

            Hashtable hshLojas = new Hashtable();

            #region - filtro de lojas da empresa -

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

                // ## Busca empresa original

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

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

                LINK_LojaEmpresa lnk = new LINK_LojaEmpresa(this);

                // ## busca relacionamento das empresas com lojas

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

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

                // ## busca empresas administradas

                T_Empresa emp_lnk_admin = new T_Empresa(this);

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

                        LINK_LojaEmpresa lnk_admin = new LINK_LojaEmpresa(this);

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

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

            #endregion

            // ## Busca empresa

            T_Empresa emp = new T_Empresa(this);

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

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

            output_st_nome_empresa = emp.get_st_fantasia();

            LINK_LojaEmpresa loj_emp = new LINK_LojaEmpresa(this);

            // ## Busca convenios

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

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

            long total       = 0;
            long total_geral = 0;

            StringBuilder sb = new StringBuilder();

            // ## Busca registros de convênios

            T_Parcelas parc = new T_Parcelas(this);

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

                // ## Busca loja

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

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

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

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

                bool zerada = true;

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

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

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

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

                        DadosRepasse dr = new DadosRepasse();

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

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

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

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

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

                        dr.set_vr_repasse(repasse.ToString());

                        DataPortable mem = dr as DataPortable;

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

                        zerada = false;
                    }
                }

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

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

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

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

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

            DataPortable dp = new DataPortable();

            dp.setValue("ids", list_ids);

            // ## Guarda indexador de grupo

            output_st_csv_content = MemorySave(ref dp);

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

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

            /// USER [ execute ] END

            Registry("execute done fetch_rel_4_rrp ");

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

            Registry("execute fetch_arquivoFat ");

            /// USER [ execute ]

            T_Faturamento fat     = new T_Faturamento(this);
            T_Faturamento fat_upd = new T_Faturamento(this);

            if (!fat.select_rows_dt_venc(input_dia_venc_ini,
                                         input_dia_venc_fim,
                                         TipoSitFat.Pendente))
            {
                PublishError("Nenhum registro encontrado");
                return(false);
            }

            StringBuilder sb_content = new StringBuilder();

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

            if (input_tg_debito == Context.FALSE)
            {
                #region - DOC -

                long seq           = 1;
                long vr_total_tits = 0;

                string cnpj   = "";
                string nome   = "";
                string end    = "";
                string cidade = "";
                string estado = "";
                string cep    = "";

                #region - HEADER -
                {
                    DataPortable port = new DataPortable();

                    string header = "01REMESSA" +
                                    " ".PadLeft(17, ' ') +
                                    Parametros.Cedente.PadLeft(12, '0') +
                                    " ".PadLeft(8, ' ') +
                                    Parametros.Empresa.PadRight(30, ' ') +
                                    "041BANRISUL" +
                                    " ".PadLeft(7, ' ') +
                                    DateTime.Now.Day.ToString("00") +
                                    DateTime.Now.Month.ToString("00") +
                                    (DateTime.Now.Year - 2000).ToString("00") +
                                    " ".PadLeft(294, ' ') +
                                    "000001";

                    port.setValue("line", header);

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

                while (fat.fetch())
                {
                    if (fat.get_fk_empresa() != Context.FALSE)
                    {
                        if (!emp.selectIdentity(fat.get_fk_empresa()))
                        {
                            return(false);
                        }

                        if (emp.get_tg_tipoCobranca() != TipoCobranca.Doc)
                        {
                            continue;
                        }
                    }
                    else
                    {
                        if (!loj.selectIdentity(fat.get_fk_loja()))
                        {
                            return(false);
                        }

                        if (loj.get_tg_tipoCobranca() != TipoCobranca.Doc)
                        {
                            continue;
                        }
                    }

                    bool registroValido = true;

                    if (fat.get_int_vr_cobranca() < 500 && fat.get_int_vr_cobranca() > 0)
                    {
                        ins_despesa tr = new ins_despesa(this);

                        tr.input_cont_header = input_cont_header;

                        if (fat.get_fk_empresa() != Context.FALSE)
                        {
                            tr.input_st_codigo = emp.get_st_empresa();
                        }
                        else
                        {
                            tr.input_st_codigo = loj.get_st_loja();
                        }

                        tr.input_tg_desconto = Context.FALSE;
                        tr.input_vr_cobranca = fat.get_vr_cobranca();
                        tr.input_st_extra    = "Adiamento de cobrança";

                        tr.quiet = true;

                        tr.RunOnline();

                        registroValido = false;
                    }

                    if (fat.get_int_vr_cobranca() == 0)
                    {
                        registroValido = false;
                    }

                    if (registroValido)
                    {
                        seq++;

                        StringBuilder sb_line = new StringBuilder();

                        string dv = fat.get_dt_vencimento().Substring(8, 2) +                                   // dia
                                    fat.get_dt_vencimento().Substring(5, 2) +                                   // mes
                                    fat.get_dt_vencimento().Substring(2, 2);                                    // ano

                        vr_total_tits += fat.get_int_vr_cobranca() + 350;

                        if (fat.get_fk_empresa() != Context.FALSE)
                        {
                            nome   = emp.get_st_social().PadRight(35, ' ').Substring(0, 35);
                            end    = emp.get_st_endereco().PadRight(40, ' ').Substring(0, 40);
                            cnpj   = emp.get_nu_CNPJ().PadLeft(14, '0');
                            cidade = emp.get_st_cidade().PadRight(15, ' ').Substring(0, 15);
                            estado = emp.get_st_estado().PadRight(2, ' ');
                            cep    = emp.get_nu_CEP().PadRight(8, '0');
                        }
                        else
                        {
                            nome   = loj.get_st_social().PadRight(35, ' ').Substring(0, 35);
                            end    = loj.get_st_endereco().PadRight(40, ' ').Substring(0, 40);
                            cnpj   = loj.get_nu_CNPJ().PadLeft(14, '0');
                            cidade = loj.get_st_cidade().PadRight(15, ' ').Substring(0, 15);
                            estado = loj.get_st_estado().PadRight(2, ' ');
                            cep    = loj.get_nu_CEP().PadRight(8, '0');
                        }

                        sb_line.Append("1");
                        sb_line.Append("0".PadLeft(16, '0'));
                        sb_line.Append(Parametros.Cedente.PadLeft(12, '0'));
                        sb_line.Append("0".PadLeft(8, '0'));
                        sb_line.Append(fat.get_identity().PadRight(25, ' '));                                          // ??? Dados de retorno
                        sb_line.Append(" ".PadLeft(10, ' '));
                        sb_line.Append("Multa de 10% após vencto.".PadRight(32, ' '));                                 // Msg imp no bloqueto
                        sb_line.Append(" ".PadLeft(3, ' '));
                        sb_line.Append("1");                                                                           // tipo de carteira
                        sb_line.Append("01");                                                                          // código de ocorrência
                        sb_line.Append(fat.get_identity().ToString().PadRight(10, ' '));                               // seu numero
                        sb_line.Append(dv);                                                                            // dia vencimento
                        sb_line.Append(fat.get_vr_cobranca().PadLeft(13, '0'));
                        sb_line.Append("041");                                                                         // banco
                        sb_line.Append(" ".PadLeft(5, ' '));
                        sb_line.Append("06");                                                                          // cobrança escritural
                        sb_line.Append("N");                                                                           // aceite
                        sb_line.Append(DateTime.Now.Day.ToString("00"));
                        sb_line.Append(DateTime.Now.Month.ToString("00"));
                        sb_line.Append((DateTime.Now.Year - 2000).ToString("00"));
                        sb_line.Append("09");                                                                                                      // código de protesto! (09) protestar (15) devolver
                        sb_line.Append("  ");
                        sb_line.Append("0");                                                                                                       // codigo de mora (0) diario (1) mensal
                        sb_line.Append("0".PadLeft(12, '0'));                                                                                      // valor juros diario
                        sb_line.Append("0".PadLeft(6, '0'));                                                                                       // data desconto antecipado
                        sb_line.Append("0".PadLeft(13, '0'));                                                                                      // valor desconto
                        sb_line.Append("0".PadLeft(13, '0'));                                                                                      // valor iof
                        sb_line.Append("0".PadLeft(13, '0'));                                                                                      // abatimento
                        sb_line.Append("02");                                                                                                      // tipo de inscrição CNPJ
                        sb_line.Append(cnpj);
                        sb_line.Append(nome);
                        sb_line.Append(" ".PadLeft(5, ' '));
                        sb_line.Append(end);
                        sb_line.Append(" ".PadLeft(7, ' '));
                        sb_line.Append("0".PadLeft(3, '0'));
                        sb_line.Append("0".PadLeft(2, '0'));
                        sb_line.Append(cep);
                        sb_line.Append(cidade);
                        sb_line.Append(estado);
                        sb_line.Append("0".PadLeft(4, '0'));
                        sb_line.Append(" ");
                        sb_line.Append("0".PadLeft(13, '0'));
                        sb_line.Append("15");
                        sb_line.Append(" ".PadLeft(23, ' '));
                        sb_line.Append(seq.ToString().PadLeft(6, '0'));

                        DataPortable port = new DataPortable();

                        port.setValue("line", sb_line.ToString());

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

                    fat_upd.ExclusiveAccess();

                    if (!fat_upd.selectIdentity(fat.get_identity()))
                    {
                        return(false);
                    }

                    if (registroValido)
                    {
                        fat_upd.set_tg_situacao(TipoSitFat.EmCobrança);
                    }
                    else
                    {
                        fat_upd.set_tg_situacao(TipoSitFat.PagoDoc);
                    }

                    if (!fat_upd.synchronize_T_Faturamento())
                    {
                        return(false);
                    }

                    fat_upd.ReleaseExclusive();
                }

                // ## TRAILER
                {
                    DataPortable port = new DataPortable();

                    string trailer = "9" +
                                     " ".PadLeft(26, ' ') +
                                     vr_total_tits.ToString().PadLeft(13, '0') +
                                     " ".PadLeft(354, ' ') +
                                     seq.ToString("000000");

                    port.setValue("line", trailer);

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

                #endregion
            }
            else
            {
                #region - DÉBITO EM CONTA -

                long seq           = 1;
                long vr_total_tits = 0;

                string conta_deb = "";
                string dt_venc   = "";

                LOG_NSA l_nsa = new LOG_NSA(this);

                l_nsa.set_dt_log(GetDataBaseTime());

                l_nsa.create_LOG_NSA();

                #region - HEADER -
                {
                    DataPortable port = new DataPortable();

                    string header = "A1" +
                                    Parametros.ConvenioDebConta +
                                    " ".PadLeft(15, ' ') +
                                    "Starfiche".PadRight(20, ' ') +
                                    "041BANRISUL".PadRight(23, ' ') +
                                    DateTime.Now.Year.ToString("0000") +
                                    DateTime.Now.Month.ToString("00") +
                                    DateTime.Now.Day.ToString("00") +
                                    l_nsa.get_identity().PadLeft(6, '0') +
                                    "04DEBITOAUTOMATICO".PadRight(69, ' ');

                    port.setValue("line", header);

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

                while (fat.fetch())
                {
                    if (fat.get_fk_empresa() != Context.FALSE)
                    {
                        if (!emp.selectIdentity(fat.get_fk_empresa()))
                        {
                            return(false);
                        }

                        if (emp.get_tg_tipoCobranca() == TipoCobranca.Doc)
                        {
                            continue;
                        }

                        if (emp.get_int_nu_bancoFat() != 41)
                        {
                            continue;
                        }

                        conta_deb = emp.get_nu_contaDeb();
                    }
                    else
                    {
                        if (!loj.selectIdentity(fat.get_fk_loja()))
                        {
                            return(false);
                        }

                        if (loj.get_tg_tipoCobranca() == TipoCobranca.Doc)
                        {
                            continue;
                        }

                        if (loj.get_int_nu_bancoFat() != 41)
                        {
                            continue;
                        }

                        conta_deb = loj.get_nu_contaDeb();
                    }

                    dt_venc = fat.get_dt_vencimento().Substring(0, 4) +
                              fat.get_dt_vencimento().Substring(5, 2) +
                              fat.get_dt_vencimento().Substring(8, 2);

                    vr_total_tits += fat.get_int_vr_cobranca();

                    StringBuilder sb_line = new StringBuilder();

                    sb_line.Append("E");
                    sb_line.Append(fat.get_identity().PadRight(25, ' '));
                    sb_line.Append(conta_deb.PadRight(14, ' '));
                    sb_line.Append(" ".PadRight(4, ' '));
                    sb_line.Append(dt_venc);
                    sb_line.Append(fat.get_vr_cobranca().PadLeft(15, '0'));
                    sb_line.Append("03");
                    sb_line.Append(fat.get_identity().PadRight(60, ' '));
                    sb_line.Append(" ".PadRight(20, ' '));
                    sb_line.Append("0");

                    DataPortable port = new DataPortable();

                    port.setValue("line", sb_line.ToString());

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

                    fat_upd.ExclusiveAccess();

                    if (!fat_upd.selectIdentity(fat.get_identity()))
                    {
                        return(false);
                    }

                    fat_upd.set_tg_situacao(TipoSitFat.EmCobrança);

                    if (!fat_upd.synchronize_T_Faturamento())
                    {
                        return(false);
                    }

                    fat_upd.ReleaseExclusive();
                }

                #region - TRAILER -
                {
                    ++seq;

                    DataPortable port = new DataPortable();

                    string trailer = "Z" + seq.ToString().PadLeft(6, '0') +
                                     vr_total_tits.ToString().PadLeft(17, '0') +
                                     " ".PadLeft(126, ' ');

                    port.setValue("line", trailer);

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

                #endregion
            }

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

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

            DataPortable dp = new DataPortable();

            dp.setValue("ids", list_ids);

            output_st_msg = MemorySave(ref dp);



            LOG_NS_FAT l_nsFat = new LOG_NS_FAT(this);

            l_nsFat.set_dt_log(GetDataBaseTime());

            l_nsFat.create_LOG_NS_FAT();

            output_nu_nsFat = l_nsFat.get_identity();


            // Limpa avisos do ins_despesa
            this.objection.Clear();

            /// USER [ execute ] END

            Registry("execute done fetch_arquivoFat ");

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

            Registry("execute fetch_relFat ");

            /// USER [ execute ]

            T_Faturamento fat = new T_Faturamento(this);

            if (!fat.select_rows_dt_venc(input_st_dt_ini,
                                         input_st_dt_fim,
                                         input_tg_type))
            {
                PublishError("Nenhum registro encontrado");
                return(false);
            }

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

            string nome      = "";
            long   total_cob = 0;

            StringBuilder sb_content = new StringBuilder();

            while (fat.fetch())
            {
                if (input_tg_type == TipoSitFat.PagoDoc ||
                    input_tg_type == TipoSitFat.PagoCC)
                {
                    if (fat.get_tg_retBanco() == "0")
                    {
                        continue;
                    }
                }

                Rel_FatCompleto rel = new Rel_FatCompleto();



                if (fat.get_fk_empresa() != Context.FALSE)
                {
                    if (!emp.selectIdentity(fat.get_fk_empresa()))
                    {
                        return(false);
                    }

                    if (emp.get_tg_isentoFat() == Context.TRUE)
                    {
                        continue;
                    }

                    nome = "(E) " + emp.get_st_social();

                    ret_cob.select_rows_cod(emp.get_nu_bancoFat(),
                                            fat.get_tg_retBanco(),
                                            emp.get_tg_tipoCobranca());

                    total_cob += fat.get_int_vr_cobranca();
                }
                else
                {
                    if (!loj.selectIdentity(fat.get_fk_loja()))
                    {
                        return(false);
                    }

                    nome = "(L) [" + loj.get_st_loja() + "] " + loj.get_st_social() + " - " + loj.get_st_nome();

                    if (loj.get_tg_isentoFat() == Context.TRUE)
                    {
                        nome = "(ISENTO) " + nome;
                    }
                    else
                    {
                        total_cob += fat.get_int_vr_cobranca();
                    }

                    ret_cob.select_rows_cod(loj.get_nu_bancoFat(),
                                            fat.get_tg_retBanco(),
                                            loj.get_tg_tipoCobranca());
                }

                ret_cob.fetch();

                rel.set_st_nome(nome);
                rel.set_vr_cobranca(fat.get_vr_cobranca());
                rel.set_dt_vencimento(fat.get_dt_vencimento());

                if (fat.get_tg_situacao() != TipoSitFat.EmCobrança)
                {
                    rel.set_dt_baixa(fat.get_dt_baixa());
                    rel.set_cod_retBanco(fat.get_tg_retBanco());
                    rel.set_st_msgBanco(ret_cob.get_st_codMsg());
                }

                DataPortable port = rel as DataPortable;

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

            output_st_total = total_cob.ToString();

            // content
            {
                string list_ids = sb_content.ToString().TrimEnd(',');

                if (list_ids == "")
                {
                    PublishError("Nenhum registro encontrado");
                    return(false);
                }
                else
                {
                    DataPortable dp = new DataPortable();

                    dp.setValue("ids", list_ids);

                    output_st_content_block = MemorySave(ref dp);
                }
            }

            /// USER [ execute ] END

            Registry("execute done fetch_relFat ");

            return(true);
        }
예제 #9
0
        public override bool finish( )
        {
            Registry("finish exec_pos_confirmaVendaEmpresarial ");

            /// USER [ finish ]

            var_nu_nsuAtual = old_l_tr.get_identity();

            if (IsFail)
            {
                var_operacaoCartao = var_operacaoCartaoFail;
            }

            // ## Buscar todas as tabelas auxiliares

            T_Empresa        emp  = new T_Empresa(this);
            T_Terminal       term = new T_Terminal(this);
            T_Loja           loj  = new T_Loja(this);
            T_Proprietario   prot = new T_Proprietario(this);
            T_InfoAdicionais info = new T_InfoAdicionais(this);

            if (emp.select_rows_empresa(cart.get_st_empresa()))
            {
                emp.fetch();
            }

            term.selectIdentity(old_l_tr.get_fk_terminal());
            loj.selectIdentity(term.get_fk_loja());
            prot.selectIdentity(cart.get_fk_dadosProprietario());
            info.selectIdentity(cart.get_fk_infoAdicionais());

            // ## Copiar dados para saída

            output_cont_pr.set_st_codResp(var_codResp);
            output_cont_pr.set_st_nsuRcb(var_nu_nsuAtual.PadLeft(6, '0'));

            output_cont_pr.set_st_nsuBanco(new StringBuilder().Append(DateTime.Now.Year.ToString())
                                           .Append(DateTime.Now.Month.ToString("00"))
                                           .Append(DateTime.Now.Day.ToString("00"))
                                           .Append(var_nu_nsuAtual.PadLeft(6, '0')).ToString());

            output_cont_pr.set_st_PAN(cart.get_st_empresa() +
                                      cart.get_st_matricula());

            output_cont_pr.set_st_mesPri(Context.EMPTY);

            output_cont_pr.set_st_loja(loj.get_st_loja());
            output_cont_pr.set_st_nomeCliente(prot.get_st_nome());

            T_Dependente dep_f = new T_Dependente(this);

            if (dep_f.select_rows_prop_tit(cart.get_fk_dadosProprietario(),
                                           cart.get_st_titularidade()))
            {
                if (dep_f.fetch())
                {
                    output_cont_pr.set_st_nomeCliente(dep_f.get_st_nome());
                }
            }

            output_cont_pr.set_st_variavel(info.get_st_empresaAfiliada());

            /// USER [ finish ] END

            Registry("finish done exec_pos_confirmaVendaEmpresarial ");

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

            DataPortable dp_out = new DataPortable();

            dp_out.MapTagValue(COMM_OUT_EXEC_POS_CONFIRMAVENDAEMPRESARIAL.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_CONFIRMAVENDAEMPRESARIAL.pr, output_cont_pr as DataPortable);

            var_Comm.AddExitPortable(ref dp_cont_1);

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

            Registry("execute fetch_repasseData ");

            /// USER [ execute ]

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

            Hashtable hshLojas = new Hashtable();

            ArrayList lstEmpresas = new ArrayList();

            // ## Busca empresa

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

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

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

            lstEmpresas.Add(emp.get_identity());

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

            LINK_LojaEmpresa loj_emp = new LINK_LojaEmpresa(this);

            // ## Busca convenios

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

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

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

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

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

                long repasse    = 0,
                     total_loja = 0;

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

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

                        DadosRepasse dr = new DadosRepasse();

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

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

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

                        dr.set_dt_trans(parc.get_dt_inclusao());

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

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

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

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

                        dr.set_tg_confirmado(Context.TRUE);

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

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

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

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

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

                    DataPortable mem = dsr as DataPortable;

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

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

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

                DataPortable dp = new DataPortable();

                dp.setValue("ids", list_ids);

                output_block_detalhe_loja = MemorySave(ref dp);
            }

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

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

                DataPortable dp = new DataPortable();

                dp.setValue("ids", list_ids);

                output_block_sumario_loja = MemorySave(ref dp);
            }

            /// USER [ execute ] END

            Registry("execute done fetch_repasseData ");

            return(true);
        }
예제 #11
0
        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);
        }
예제 #12
0
        public override bool execute( )
        {
            if (base.execute() == false)
            {
                return(false);
            }

            Registry("execute fetch_consultaLoja ");

            /// USER [ execute ]

            T_Terminal term = new T_Terminal(this);

            // ## Obtem filtros da entrada

            string nome   = input_cont_dcl.get_st_nome().ToUpper(),
                   cidade = input_cont_dcl.get_st_cidade(),
                   estado = input_cont_dcl.get_st_estado(),
                   codigo = input_cont_dcl.get_st_loja();

            long min_qtd = 0;

            if (input_cont_dcl.get_nu_qtd_term().Length > 0)
            {
                min_qtd = Convert.ToInt32(input_cont_dcl.get_nu_qtd_term());
            }

            long memory = Convert.ToInt64(new InstallData().maxPacket) / 360;

            Hashtable hshLojas = new Hashtable();

            #region - lojas para um determinado administrador -

            if (user.get_tg_nivel() == TipoUsuario.Administrador)
            {
                if (!emp.select_rows_empresa(user.get_st_empresa()))
                {
                    PublishError("CNPJ de empresa inválido");
                    return(false);
                }

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

                LINK_LojaEmpresa lnk = new LINK_LojaEmpresa(this);

                if (lnk.select_fk_empresa_geral(emp.get_identity()))
                {
                    while (lnk.fetch())
                    {
                        hshLojas [lnk.get_fk_loja()] = "*";
                    }
                }
            }

            #endregion

            bool bNome = false;

            if (nome.Length > 0)
            {
                bNome = true;
            }

            bool bCod = false;

            if (codigo.Length > 0)
            {
                bCod = true;
            }

            ArrayList lstSortLojas = new ArrayList();
            Hashtable hshSortLojas = new Hashtable();

            LINK_LojaEmpresa loj_emp_conv = new LINK_LojaEmpresa(this);
            T_Empresa        emp_comp     = new T_Empresa(this);

            // ## Loop diferente para ambos os tipos de consulta
            // ## em um só bloco

            for (;;)
            {
                if (IsEmpresa)
                {
                    // ## Busca do relacionamento loja e empresa

                    if (!loj_emp.fetch())
                    {
                        break;
                    }

                    // ## Se loja não existir, sair

                    if (!loj.selectIdentity(loj_emp.get_fk_loja()))
                    {
                        return(false);
                    }
                }
                else
                {
                    // ## busca proximo registro do select all

                    if (!loj.fetch())
                    {
                        break;
                    }

                    if (hshLojas.Count > 0)
                    {
                        // ##  filtro lojas no caso de admin

                        if (hshLojas [loj.get_identity()] == null)
                        {
                            continue;
                        }
                    }
                }

                // ## Verifica qtd de terminais

                term.select_fk_loja(loj.get_identity());

                if (bCod)
                {
                    if (loj.get_st_loja() != codigo)
                    {
                        continue;
                    }
                }

                if (bNome)
                {
                    if (!loj.get_st_nome().ToUpper().Contains(nome))
                    {
                        if (!loj.get_st_social().ToUpper().Contains(nome))
                        {
                            continue;
                        }
                    }
                }

                if (min_qtd > 0)
                {
                    if (term.GetCount() < min_qtd)
                    {
                        continue;
                    }
                }

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

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

                // ## Copia dados para memória

                DadosLoja dl = new DadosLoja();

                string id_loja = loj.get_st_nome().Trim() + " - " + loj.get_st_social().Trim();

                lstSortLojas.Add(id_loja);

                dl.set_st_loja(loj.get_st_loja());
                dl.set_st_nome(id_loja);
                dl.set_st_cidade(loj.get_st_cidade());
                dl.set_st_estado(loj.get_st_estado());

                dl.set_st_endereco("Tel: " + loj.get_nu_telefone() + " End: " + loj.get_st_endereco());

                dl.set_nu_diasRep(loj_emp.get_nu_dias_repasse());

                string tx = loj_emp.get_tx_admin().PadLeft(3, '0');

                dl.set_nu_pctRep(tx.Insert(tx.Length - 2, ",") + "%");

                string st_terms = " (";

                int terms = 0;

                while (term.fetch())
                {
                    if (term.get_fk_loja() == Context.NOT_SET)
                    {
                        continue;
                    }

                    terms++;

                    st_terms += term.get_nu_terminal().TrimStart('0') + ", ";
                }

                st_terms = terms.ToString() + st_terms.Trim().TrimEnd(',') + ")";

                dl.set_st_obs(st_terms);
                dl.set_nu_CNPJ(loj.get_nu_CNPJ());

                string convs = "";

                if (loj_emp_conv.select_fk_loja(loj.get_identity()))
                {
                    while (loj_emp_conv.fetch())
                    {
                        emp_comp.selectIdentity(loj_emp_conv.get_fk_empresa());

                        convs += emp_comp.get_st_empresa().TrimStart('0') + ",";
                    }
                }

                dl.set_st_convenios(convs.TrimEnd(','));

                hshSortLojas [id_loja] = dl;
            }

            lstSortLojas.Sort();

            StringBuilder sb = new StringBuilder();

            for (int t = 0; t < lstSortLojas.Count; ++t)
            {
                DadosLoja dl = hshSortLojas [lstSortLojas [t]] as DadosLoja;

                DataPortable tmp = dl as DataPortable;

                // ## obtem indexador

                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_csv_id = MemorySave(ref dp);

            /// USER [ execute ] END

            Registry("execute done fetch_consultaLoja ");

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

            Registry("execute fetch_chamadoHist ");

            /// USER [ execute ]

            T_Chamado   cham      = new T_Chamado(this);
            T_Loja      loj       = new T_Loja(this);
            T_Usuario   usrConvey = new T_Usuario(this);
            LOG_Chamado l_c       = new LOG_Chamado(this);

            if (!cham.selectIdentity(input_id_chamado))
            {
                return(false);
            }

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

            if (!usrConvey.selectIdentity(cham.get_fk_operador()))
            {
                return(false);
            }

            output_cont_dc.set_st_cod_loja(loj.get_st_loja());
            output_cont_dc.set_st_nome_loja(loj.get_st_nome());
            output_cont_dc.set_st_motivo(cham.get_st_motivo());
            output_cont_dc.set_st_oper(usrConvey.get_st_nome());
            output_cont_dc.set_nu_categ(cham.get_nu_categoria());
            output_cont_dc.set_tg_fechado(cham.get_tg_fechado());
            output_cont_dc.set_dt_ab(cham.get_dt_abertura());
            output_cont_dc.set_dt_fech(cham.get_dt_fechamento());

            if (l_c.select_fk_chamado(cham.get_identity()))
            {
                l_c.SetReversedFetch();

                while (l_c.fetch())
                {
                    if (!usrConvey.selectIdentity(l_c.get_fk_operador()))
                    {
                        return(false);
                    }

                    DadosAlteracaoChamado dac = new DadosAlteracaoChamado();

                    dac.set_dt_alt(l_c.get_dt_solucao());
                    dac.set_st_oper_alt(usrConvey.get_st_nome());
                    dac.set_st_desc_alt(l_c.get_st_solucao());

                    output_array_generic_lst.Add(dac);
                }
            }

            /// USER [ execute ] END

            Registry("execute done fetch_chamadoHist ");

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

            /// USER [ finish ]

            #region - cria NSU -

            LOG_NSU l_nsu = new LOG_NSU(this);

            l_nsu.set_dt_log(GetDataBaseTime());

            l_nsu.create_LOG_NSU();

            #endregion

            var_nu_nsuAtual = l_nsu.get_identity();

            if (IsFail)
            {
                var_operacaoCartao = var_operacaoCartaoFail;
            }

            T_Empresa        emp  = new T_Empresa(this);
            T_Terminal       term = new T_Terminal(this);
            T_Loja           loj  = new T_Loja(this);
            T_Proprietario   prot = new T_Proprietario(this);
            T_InfoAdicionais info = new T_InfoAdicionais(this);

            // ## Busca outras tabelas

            emp.select_rows_empresa(cart.get_st_empresa());
            emp.fetch();

            term.selectIdentity(old_l_tr.get_fk_terminal());
            loj.selectIdentity(term.get_fk_loja());
            prot.selectIdentity(cart.get_fk_dadosProprietario());
            info.selectIdentity(cart.get_fk_infoAdicionais());

            // ## Copia dados para saída

            output_cont_pr.set_st_codResp(var_codResp);
            output_cont_pr.set_st_nsuRcb(var_nu_nsuAtual.PadLeft(6, '0'));

            output_cont_pr.set_st_nsuBanco(new StringBuilder().Append(DateTime.Now.Year.ToString())
                                           .Append(DateTime.Now.Month.ToString("00"))
                                           .Append(DateTime.Now.Day.ToString("00"))
                                           .Append(var_nu_nsuAtual.PadLeft(6, '0')).ToString());

            output_cont_pr.set_st_PAN(cart.get_st_empresa() +
                                      cart.get_st_matricula());

            output_cont_pr.set_st_mesPri(Context.EMPTY);

            output_cont_pr.set_st_loja(loj.get_st_loja());
            output_cont_pr.set_st_nomeCliente(prot.get_st_nome());

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

                if (dep_f.select_rows_prop_tit(cart.get_fk_dadosProprietario(),
                                               cart.get_st_titularidade()))
                {
                    if (dep_f.fetch())
                    {
                        output_cont_pr.set_st_nomeCliente(dep_f.get_st_nome());
                    }
                }
            }

            output_cont_pr.set_st_variavel(info.get_st_empresaAfiliada());

            // ## Cria nova transacao de registro ou de erro
            // ## para cancelamento

            LOG_Transacoes l_tr = new LOG_Transacoes(this);

            if (IsFail)
            {
                l_tr.set_tg_confirmada(TipoConfirmacao.Erro);
            }
            else
            {
                l_tr.set_tg_confirmada(TipoConfirmacao.Cancelada);
            }

            l_tr.set_fk_terminal(term.get_identity());
            l_tr.set_fk_empresa(emp.get_identity());
            l_tr.set_fk_cartao(cart.get_identity());
            l_tr.set_vr_total(old_l_tr.get_vr_total());
            l_tr.set_nu_parcelas(old_l_tr.get_nu_parcelas());
            l_tr.set_nu_nsu(l_nsu.get_identity());
            l_tr.set_dt_transacao(GetDataBaseTime());
            l_tr.set_nu_cod_erro(output_cont_pr.get_st_codResp());
            l_tr.set_nu_nsuOrig("0");
            l_tr.set_en_operacao(var_operacaoCartao);

            // ajustado
            if (input_cont_pe.get_st_terminalSITEF().Length > 0)
            {
                l_tr.set_st_msg_transacao(input_cont_pe.get_st_terminalSITEF());
            }
            else
            {
                l_tr.set_st_msg_transacao(output_st_msg);
            }

            l_tr.set_tg_contabil(Context.FALSE);
            l_tr.set_fk_loja(term.get_fk_loja());
            l_tr.set_vr_saldo_disp(cart.get_vr_disp_educacional());
            l_tr.set_vr_saldo_disp_tot(cart.get_vr_educacional());

            // ## Cria registro

            l_tr.create_LOG_Transacoes();

            /// USER [ finish ] END

            Registry("finish done exec_pos_cancelaVendaEmpresarial ");

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

            DataPortable dp_out = new DataPortable();

            dp_out.MapTagValue(COMM_OUT_EXEC_POS_CANCELAVENDAEMPRESARIAL.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_CANCELAVENDAEMPRESARIAL.pr, output_cont_pr as DataPortable);

            var_Comm.AddExitPortable(ref dp_cont_1);

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

            Registry("execute fetch_rel_repEfetivo ");

            /// USER [ execute ]

            T_Empresa emp = new T_Empresa(this);

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

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

            output_st_nome_empresa = emp.get_st_fantasia();

            T_RepasseLoja repLoja = new T_RepasseLoja(this);

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

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

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

            string id_rep_loja = "";

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

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

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

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

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

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

                double tx = loj_emp.get_int_tx_admin();

                DadosPagtoRepasse dpr = new DadosPagtoRepasse();

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

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

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

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

                // busco detalhes

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

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

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

                    DadosRepasse dr = new DadosRepasse();

                    dr.set_st_loja(id_rep_loja);

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

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

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

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

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

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

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

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

                DataPortable dp = new DataPortable();

                dp.setValue("ids", list_ids);

                // ## Guarda indexador de grupo

                output_st_csv_contents = MemorySave(ref dp);
            }

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

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

                DataPortable dp = new DataPortable();

                dp.setValue("ids", list_ids);

                // ## Guarda indexador de grupo

                output_st_csv_pagto = MemorySave(ref dp);
            }

            /// USER [ execute ] END

            Registry("execute done fetch_rel_repEfetivo ");

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

            Registry("execute fetch_rel_listaLojas ");

            /// USER [ execute ]

            T_Empresa emp = new T_Empresa(this);

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

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

            output_nome_emp = emp.get_st_fantasia();

            LINK_LojaEmpresa loj_emp = new LINK_LojaEmpresa(this);

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

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

            StringBuilder sb = new StringBuilder();

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

                if (!term.select_fk_loja(loj.get_identity()))
                {
                    continue;
                }

                DataPortable port = new DataPortable();

                port.setValue("cod", loj.get_st_loja());
                port.setValue("nome", loj.get_st_nome() + " - " + loj.get_st_social());
                port.setValue("tel", loj.get_nu_telefone());
                port.setValue("cid", loj.get_st_cidade());
                port.setValue("est", loj.get_st_estado());
                port.setValue("term", term.RowCount().ToString());
                port.setValue("cnpj", loj.get_nu_CNPJ());
                port.setValue("drep", loj_emp.get_nu_dias_repasse());
                port.setValue("prep", loj_emp.get_tx_admin().PadLeft(4, '0').Insert(2, ",") + " %");

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

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

            DataPortable dp = new DataPortable();

            dp.setValue("ids", list_ids);

            // ## obtem indice geral

            output_id = MemorySave(ref dp);

            /// USER [ execute ] END

            Registry("execute done fetch_rel_listaLojas ");

            return(true);
        }
예제 #17
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);
        }
예제 #18
0
        public override bool execute( )
        {
            if (base.execute() == false)
            {
                return(false);
            }

            Registry("execute fetch_rel_tarifas ");

            /// USER [ execute ]

            StringBuilder sb_emp     = new StringBuilder();
            StringBuilder sb_content = new StringBuilder();

            money mon_help = new money();

            T_Empresa emp = new T_Empresa(this);

            emp.select_rows_tarifas();

            while (emp.fetch())
            {
                DadosEmpresa de = new DadosEmpresa();

                de.set_st_fantasia("(E) " + emp.get_st_empresa() + " " + emp.get_st_fantasia());

                DataPortable tmp = de as DataPortable;

                sb_emp.Append(MemorySave(ref tmp));
                sb_emp.Append(",");

                {
                    Rel_Tarifas rt = new Rel_Tarifas();

                    rt.set_st_emp(de.get_st_fantasia());
                    //rt.set_st_desc ( "Empresa" );
                    rt.set_st_val(emp.get_st_fantasia());

                    DataPortable port_rt = rt as DataPortable;

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

                {
                    Rel_Tarifas rt = new Rel_Tarifas();

                    rt.set_st_emp(de.get_st_fantasia());
                    //rt.set_st_desc ( "Mensalidade" );
                    rt.set_st_val(mon_help.formatToMoney(emp.get_vr_mensalidade()));

                    DataPortable port_rt = rt as DataPortable;

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

                {
                    Rel_Tarifas rt = new Rel_Tarifas();

                    rt.set_st_emp(de.get_st_fantasia());
                    //rt.set_st_desc ( "Percentual sobre transação" );

                    string pct = emp.get_nu_pctValor().PadLeft(3, '0');

                    pct = pct.Insert(pct.Length - 2, ",") + "%";

                    rt.set_st_val(pct);

                    DataPortable port_rt = rt as DataPortable;

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

                {
                    Rel_Tarifas rt = new Rel_Tarifas();

                    rt.set_st_emp(de.get_st_fantasia());
                    //rt.set_st_desc ( "Valor transação" );
                    rt.set_st_val(mon_help.formatToMoney(emp.get_vr_transacao()));

                    DataPortable port_rt = rt as DataPortable;

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

                {
                    Rel_Tarifas rt = new Rel_Tarifas();

                    rt.set_st_emp(de.get_st_fantasia());
                    //rt.set_st_desc ( "Valor mínimo" );
                    rt.set_st_val(mon_help.formatToMoney(emp.get_vr_minimo()));

                    DataPortable port_rt = rt as DataPortable;

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

                {
                    Rel_Tarifas rt = new Rel_Tarifas();

                    rt.set_st_emp(de.get_st_fantasia());
                    //rt.set_st_desc ( "Franquia de transações" );
                    rt.set_st_val(emp.get_nu_franquia());

                    DataPortable port_rt = rt as DataPortable;

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

                {
                    Rel_Tarifas rt = new Rel_Tarifas();

                    rt.set_st_emp(de.get_st_fantasia());
                    //rt.set_st_desc ( "Valor por cartão ativo" );
                    rt.set_st_val(mon_help.formatToMoney(emp.get_vr_cartaoAtivo()));

                    DataPortable port_rt = rt as DataPortable;

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

                {
                    Rel_Tarifas rt = new Rel_Tarifas();

                    rt.set_st_emp(de.get_st_fantasia());
                    //rt.set_st_desc ( "Isento de Fatura" );

                    if (emp.get_tg_isentoFat() == Context.TRUE)
                    {
                        rt.set_st_val("SIM");
                    }
                    else
                    {
                        rt.set_st_val("NÃO");
                    }

                    DataPortable port_rt = rt as DataPortable;

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

                {
                    Rel_Tarifas rt = new Rel_Tarifas();

                    rt.set_st_emp(de.get_st_fantasia());
                    //rt.set_st_desc ( "Situação" );

                    if (emp.get_tg_blocked() == Context.TRUE)
                    {
                        rt.set_st_val("Bloq.");
                    }
                    else
                    {
                        rt.set_st_val("Ativo");
                    }

                    DataPortable port_rt = rt as DataPortable;

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

            T_Loja loj = new T_Loja(this);

            loj.select_rows_tarifas();

            while (loj.fetch())
            {
                DadosEmpresa de = new DadosEmpresa();

                string id = "(" + loj.get_st_loja() + ") CNPJ: " + loj.get_nu_CNPJ() + " " + loj.get_st_nome() + " - " + loj.get_st_social();

                de.set_st_fantasia(id);

                DataPortable tmp = de as DataPortable;

                sb_emp.Append(MemorySave(ref tmp));
                sb_emp.Append(",");

                {
                    Rel_Tarifas rt = new Rel_Tarifas();

                    rt.set_st_emp(de.get_st_fantasia());
                    //rt.set_st_desc ( "Empresa" );
                    rt.set_st_val(id);

                    DataPortable port_rt = rt as DataPortable;

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

                {
                    Rel_Tarifas rt = new Rel_Tarifas();

                    rt.set_st_emp(id);
                    //rt.set_st_desc ( "Mensalidade" );
                    rt.set_st_val(mon_help.formatToMoney(loj.get_vr_mensalidade()));

                    DataPortable port_rt = rt as DataPortable;

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

                {
                    Rel_Tarifas rt = new Rel_Tarifas();

                    rt.set_st_emp(id);
                    //rt.set_st_desc ( "Percentual sobre transação" );

                    string pct = loj.get_nu_pctValor().PadLeft(3, '0');

                    pct = pct.Insert(pct.Length - 2, ",") + "%";

                    rt.set_st_val(pct);

                    DataPortable port_rt = rt as DataPortable;

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

                {
                    Rel_Tarifas rt = new Rel_Tarifas();

                    rt.set_st_emp(id);
                    //rt.set_st_desc ( "Valor transação" );
                    rt.set_st_val(mon_help.formatToMoney(loj.get_vr_transacao()));

                    DataPortable port_rt = rt as DataPortable;

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

                {
                    Rel_Tarifas rt = new Rel_Tarifas();

                    rt.set_st_emp(id);
                    //rt.set_st_desc ( "Valor mínimo" );
                    rt.set_st_val(mon_help.formatToMoney(loj.get_vr_minimo()));

                    DataPortable port_rt = rt as DataPortable;

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

                {
                    Rel_Tarifas rt = new Rel_Tarifas();

                    rt.set_st_emp(id);
                    //rt.set_st_desc ( "Franquia de transações" );
                    rt.set_st_val(loj.get_nu_franquia());

                    DataPortable port_rt = rt as DataPortable;

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

                {
                    Rel_Tarifas rt = new Rel_Tarifas();

                    rt.set_st_emp(de.get_st_fantasia());
                    //rt.set_st_desc ( "Valor por cartão ativo" );
                    rt.set_st_val("0");

                    DataPortable port_rt = rt as DataPortable;

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

                {
                    Rel_Tarifas rt = new Rel_Tarifas();

                    rt.set_st_emp(id);
                    //rt.set_st_desc ( "Isento de Fatura" );

                    if (loj.get_tg_isentoFat() == Context.TRUE)
                    {
                        rt.set_st_val("SIM");
                    }
                    else
                    {
                        rt.set_st_val("NÃO");
                    }

                    DataPortable port_rt = rt as DataPortable;

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

                {
                    Rel_Tarifas rt = new Rel_Tarifas();

                    rt.set_st_emp(de.get_st_fantasia());
                    //rt.set_st_desc ( "Situação" );

                    if (loj.get_tg_blocked() == Context.TRUE)
                    {
                        rt.set_st_val("Bloq.");
                    }
                    else
                    {
                        rt.set_st_val("Ativo");
                    }

                    if (loj.get_tg_cancel() == Context.TRUE)
                    {
                        rt.set_st_val("Cancel.");
                    }

                    DataPortable port_rt = rt as DataPortable;

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

            // content
            {
                string list_ids = sb_content.ToString().TrimEnd(',');

                DataPortable dp = new DataPortable();

                dp.setValue("ids", list_ids);

                output_st_csv = MemorySave(ref dp);
            }

            // entidades
            {
                string list_ids = sb_emp.ToString().TrimEnd(',');

                DataPortable dp = new DataPortable();

                dp.setValue("ids", list_ids);

                output_st_csv_emp = MemorySave(ref dp);
            }

            /// USER [ execute ] END

            Registry("execute done fetch_rel_tarifas ");

            return(true);
        }
예제 #19
0
        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);
        }
예제 #20
0
        public override bool execute( )
        {
            if (base.execute() == false)
            {
                return(false);
            }

            Registry("execute fetch_dadosLoja ");

            /// USER [ execute ]

            // ## Copia para saida

            output_cont_dl.set_st_loja(loj.get_st_loja());
            output_cont_dl.set_nu_CNPJ(loj.get_nu_CNPJ());
            output_cont_dl.set_st_nome(loj.get_st_nome());
            output_cont_dl.set_st_social(loj.get_st_social());
            output_cont_dl.set_st_endereco(loj.get_st_endereco());
            output_cont_dl.set_st_enderecoInst(loj.get_st_enderecoInst());
            output_cont_dl.set_nu_inscEst(loj.get_nu_inscEst());

            output_cont_dl.set_st_cidade(loj.get_st_cidade());
            output_cont_dl.set_st_estado(loj.get_st_estado());
            output_cont_dl.set_nu_CEP(loj.get_nu_CEP());
            output_cont_dl.set_nu_telefone(loj.get_nu_telefone());
            output_cont_dl.set_nu_fax(loj.get_nu_fax());
            output_cont_dl.set_st_contato(loj.get_st_contato());
            output_cont_dl.set_vr_mensalidade(loj.get_vr_mensalidade());
            output_cont_dl.set_nu_contaDeb(loj.get_nu_contaDeb());
            output_cont_dl.set_st_obs(loj.get_st_obs());

            output_cont_dl.set_nu_pctValor(loj.get_nu_pctValor());
            output_cont_dl.set_vr_transacao(loj.get_vr_transacao());
            output_cont_dl.set_vr_minimo(loj.get_vr_minimo());
            output_cont_dl.set_nu_franquia(loj.get_nu_franquia());
            output_cont_dl.set_nu_periodoFat(loj.get_nu_periodoFat());
            output_cont_dl.set_nu_diavenc(loj.get_nu_diavenc());
            output_cont_dl.set_nu_bancoFat(loj.get_nu_bancoFat());
            output_cont_dl.set_tg_tipoCobranca(loj.get_tg_tipoCobranca());
            output_cont_dl.set_tg_blocked(loj.get_tg_blocked());
            output_cont_dl.set_tg_cancel(loj.get_tg_cancel());
            output_cont_dl.set_tg_isento(loj.get_tg_isentoFat());
            output_cont_dl.set_st_senhaWeb(loj.get_st_senha());

            LINK_LojaEmpresa loj_emp = new LINK_LojaEmpresa(this);
            T_Empresa        emp     = new T_Empresa(this);

            string convs = "";

            if (loj_emp.select_fk_loja(loj.get_identity()))
            {
                while (loj_emp.fetch())
                {
                    emp.selectIdentity(loj_emp.get_fk_empresa());

                    convs += emp.get_st_empresa().TrimStart('0') + ",";
                }
            }

            output_cont_dl.set_st_convenios(convs.TrimEnd(','));

            /// USER [ execute ] END

            Registry("execute done fetch_dadosLoja ");

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

            Registry("execute fetch_rel_6_fat ");

            /// USER [ execute ]

            T_Faturamento fat = new T_Faturamento(this);

            if (!fat.select_rows_dt_venc(input_st_dt_ini,
                                         input_st_dt_fim,
                                         TipoSitFat.Pendente))
            {
                PublishError("Nenhum registro encontrado");
                return(false);
            }

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

            StringBuilder sb_content = new StringBuilder();
            StringBuilder sb_entity  = new StringBuilder();

            long total          = 0,
                 total_desconto = 0,
                 CartaoAtiv     = 0,
                 Extras         = 0,
                 FixoTrans      = 0,
                 Percent        = 0,
                 TBM            = 0;

            while (fat.fetch())
            {
                Entidade ent = new Entidade();

                ent.set_fk_fatura(fat.get_identity());

                long desconto = 0;

                if (fat.get_fk_empresa() != Context.NONE)
                {
                    if (!emp.selectIdentity(fat.get_fk_empresa()))
                    {
                        return(false);
                    }

                    if (emp.get_tg_isentoFat() == Context.TRUE)
                    {
                        continue;
                    }

                    ent.set_st_nome("Associação (" + emp.get_st_empresa() + ") " + emp.get_st_fantasia() + " - CNPJ: " + emp.get_nu_CNPJ());
                }
                else
                {
                    if (!loj.selectIdentity(fat.get_fk_loja()))
                    {
                        return(false);
                    }

                    if (loj.get_tg_isentoFat() == Context.TRUE)
                    {
                        continue;
                    }

                    ent.set_st_nome("Loja (" + loj.get_st_loja() + ") " + loj.get_st_nome() + " - CNPJ: " + loj.get_nu_CNPJ());
                }

                DataPortable tmp = ent as DataPortable;

                sb_entity.Append(MemorySave(ref tmp));
                sb_entity.Append(",");

                fat_det.Reset();

                if (fat_det.select_fk_fat(fat.get_identity()))
                {
                    while (fat_det.fetch())
                    {
                        Rel_FAT r_f = new Rel_FAT();

                        if (fat_det.get_tg_desconto() == Context.TRUE)
                        {
                            desconto += fat_det.get_int_vr_cobranca();
                        }

                        r_f.set_st_extra(fat_det.get_st_extras());
                        r_f.set_vr_cob(fat_det.get_vr_cobranca());
                        r_f.set_tg_tipoFat(fat_det.get_tg_tipoFat());
                        r_f.set_tg_desconto(fat_det.get_tg_desconto());

                        switch (fat_det.get_tg_tipoFat())
                        {
                        case TipoFat.CartaoAtiv:        CartaoAtiv += fat_det.get_int_vr_cobranca();    break;

                        case TipoFat.Extras:            Extras += fat_det.get_int_vr_cobranca();    break;

                        case TipoFat.FixoTrans:         FixoTrans += fat_det.get_int_vr_cobranca();    break;

                        case TipoFat.Percent:           Percent += fat_det.get_int_vr_cobranca();    break;

                        case TipoFat.TBM:                       TBM += fat_det.get_int_vr_cobranca();    break;
                        }

                        r_f.set_fk_fatura(fat_det.get_fk_fatura());

                        DataPortable tmp2 = r_f as DataPortable;

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

                total          += fat.get_int_vr_cobranca();
                total_desconto += desconto;

                output_st_csv_subtotal          += fat.get_vr_cobranca() + ",";
                output_st_csv_subtotal_desconto += desconto.ToString() + ",";
            }

            // content
            {
                string list_ids = sb_content.ToString().TrimEnd(',');

                DataPortable dp = new DataPortable();

                dp.setValue("ids", list_ids);

                output_st_content_block = MemorySave(ref dp);
            }

            // entidades
            {
                string list_ids = sb_entity.ToString().TrimEnd(',');

                DataPortable dp = new DataPortable();

                dp.setValue("ids", list_ids);

                output_st_emp_loj_block = MemorySave(ref dp);
            }

            output_st_csv_subtotal          = output_st_csv_subtotal.TrimEnd(',');
            output_st_csv_subtotal_desconto = output_st_csv_subtotal_desconto.TrimEnd(',');

            output_st_total          = total.ToString();
            output_st_total_desconto = total_desconto.ToString();
            output_CartaoAtiv        = CartaoAtiv.ToString();
            output_Extras            = Extras.ToString();
            output_FixoTrans         = FixoTrans.ToString();
            output_Percent           = Percent.ToString();
            output_TBM = TBM.ToString();

            /// USER [ execute ] END

            Registry("execute done fetch_rel_6_fat ");

            return(true);
        }
        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);
        }
예제 #23
0
        public override bool execute( )
        {
            if (base.execute() == false)
            {
                return(false);
            }

            Registry("execute fetch_rel_3_fech ");

            /// 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();

            T_Loja           loj     = new T_Loja(this);
            T_Parcelas       parc    = new T_Parcelas(this);
            T_Cartao         cart    = new T_Cartao(this);
            T_Terminal       term    = new T_Terminal(this);
            T_Proprietario   prot    = new T_Proprietario(this);
            LINK_LojaEmpresa loj_emp = new LINK_LojaEmpresa(this);

            string aff = "";

            switch (input_en_tipo)
            {
            case "0":                           // por Loja
            {
                #region Por Loja

                Hashtable hsh_loja           = new Hashtable();
                Hashtable hsh_sub_total_loja = new Hashtable();

                StringBuilder sb = new StringBuilder();

                long nu_total_empresa = 0;

                ArrayList lstLojas = new ArrayList();

                // ## Busca registros

                while (log_fech.fetch())
                {
                    if (aff == "")
                    {
                        aff = " - " + log_fech.get_st_afiliada();
                    }

                    // ## Busca tabelas auxiliares

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

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

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

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

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

                    if (input_st_afiliada != "")
                    {
                        if (log_fech.get_st_afiliada() != input_st_afiliada)
                        {
                            continue;
                        }
                    }

                    string pct = "000";

                    if (loj_emp.select_fk_empresa_loja(emp.get_identity(), loj.get_identity()))
                    {
                        if (loj_emp.fetch())
                        {
                            pct = loj_emp.get_tx_admin();
                        }
                    }

                    double tx = loj_emp.get_int_tx_admin();

                    pct = pct.PadLeft(3, '0');
                    pct = pct.Insert(pct.Length - 2, ".") + "%";

                    string st_loja = loj.get_st_nome() + " - Perc.: " + pct + "<br>" + loj.get_st_social() + " - CNPJ: " + loj.get_nu_CNPJ();

                    // ## Guarda nomes de lojas

                    if (hsh_loja [st_loja] == null)
                    {
                        hsh_sub_total_loja [st_loja] = (long)0;
                        hsh_loja           [st_loja] = "*";

                        lstLojas.Add(st_loja);
                    }

                    long valor    = log_fech.get_int_vr_valor();
                    long sub_loja = (long)hsh_sub_total_loja [st_loja];

                    nu_total_empresa += valor;

                    hsh_sub_total_loja [st_loja] = sub_loja + valor;

                    // ## Grava registro em memória

                    DadosFechamento df = new DadosFechamento();

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

                    df.set_st_terminal(term.get_nu_terminal());
                    df.set_st_loja(st_loja);
                    df.set_st_nsu(parc.get_nu_nsu());
                    df.set_dt_trans(parc.get_dt_inclusao());
                    df.set_vr_valor(log_fech.get_vr_valor());

                    df.set_st_nome(prot.get_st_nome());

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

                    df.set_vr_repasse(repasse.ToString());

                    df.set_nu_parcela(parc.get_nu_indice() +
                                      "/" +
                                      parc.get_nu_tot_parcelas());

                    DataPortable mem_rlt = df as DataPortable;

                    // ## Gera identificador

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

                output_st_total = nu_total_empresa.ToString();

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

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

                DataPortable dp = new DataPortable();

                dp.setValue("ids", list_ids);

                // ## gera identificador de todos os registros

                output_st_csv_loja_content = MemorySave(ref dp);

                lstLojas.Sort();

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

                    long sub_total = (long)hsh_sub_total_loja [loja];

                    output_st_csv_subtotal_loja += sub_total.ToString() + ",";
                    output_st_csv_loja          += loja + ",";
                }

                output_st_csv_loja          = output_st_csv_loja.TrimEnd(',');
                output_st_csv_subtotal_loja = output_st_csv_subtotal_loja.TrimEnd(',');

                #endregion

                break;
            }

            case "1":                     // por cartao
            {
                #region Por Cartao

                Hashtable hsh_cartao           = new Hashtable();
                Hashtable hsh_sub_total_cartao = new Hashtable();

                StringBuilder sb = new StringBuilder();

                long nu_total_cartao = 0;

                ArrayList lstCart = new ArrayList();

                while (log_fech.fetch())
                {
                    if (aff == "")
                    {
                        if (log_fech.get_st_afiliada().Trim().Length != 0)
                        {
                            aff = " - " + log_fech.get_st_afiliada();
                        }
                    }

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

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

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

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

                    string cartao = prot.get_st_nome() + "<br>CPF: " +
                                    prot.get_st_cpf() + " Cartão: " +
                                    cart.get_st_empresa() + "." +
                                    cart.get_st_matricula() + "<br>";

                    if (hsh_cartao [cartao] == null)
                    {
                        hsh_sub_total_cartao [cartao] = (long)0;
                        hsh_cartao           [cartao] = "*";

                        lstCart.Add(cartao);
                    }

                    long valor      = log_fech.get_int_vr_valor();
                    long sub_cartao = (long)hsh_sub_total_cartao [cartao];

                    nu_total_cartao += valor;
                    hsh_sub_total_cartao [cartao] = sub_cartao + valor;

                    DadosFechamento df = new DadosFechamento();

                    df.set_st_cartao(cartao);

                    df.set_st_loja("(" + loj.get_st_loja() + ") " + loj.get_st_nome());
                    df.set_st_nsu(parc.get_nu_nsu());
                    df.set_dt_trans(parc.get_dt_inclusao());
                    df.set_vr_valor(log_fech.get_vr_valor());
                    df.set_st_cnpj(loj.get_nu_CNPJ());
                    df.set_st_matricula(cart.get_st_matricula());

                    df.set_nu_parcela(parc.get_nu_indice() +
                                      "/" +
                                      parc.get_nu_tot_parcelas());

                    DataPortable mem_rlt = df as DataPortable;

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

                output_st_total = nu_total_cartao.ToString();

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

                DataPortable dp = new DataPortable();

                dp.setValue("ids", list_ids);

                output_st_csv_cartao_content = MemorySave(ref dp);

                lstCart.Sort();

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

                    long sub_total = (long)hsh_sub_total_cartao [st_cart];

                    output_st_csv_subtotal_cartao += sub_total.ToString() + ",";
                    output_st_csv_cartao          += st_cart + ",";
                }

                output_st_csv_subtotal_cartao = output_st_csv_subtotal_cartao.TrimEnd(',');
                output_st_csv_cartao          = output_st_csv_cartao.TrimEnd(',');

                #endregion

                break;
            }
            }

            output_st_empresa += aff;

            /// USER [ execute ] END

            Registry("execute done fetch_rel_3_fech ");

            return(true);
        }