示例#1
0
 public void copy(ref T_Faturamento cpy)
 {
     fk_empresa    = cpy.fk_empresa;
     fk_loja       = cpy.fk_loja;
     vr_cobranca   = cpy.vr_cobranca;
     dt_vencimento = cpy.dt_vencimento;
     dt_baixa      = cpy.dt_baixa;
     tg_situacao   = cpy.tg_situacao;
     tg_retBanco   = cpy.tg_retBanco;
 }
示例#2
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);
        }
示例#3
0
        public override bool execute( )
        {
            if (base.execute() == false)
            {
                return(false);
            }

            Registry("execute schedule_faturamento ");

            /// USER [ execute ]

            T_Empresa emp   = new T_Empresa(this);
            DateTime  dtFat = DateTime.Now.AddDays(-1);

            #region - ## Busca todas as empresas -

            if (emp.selectAll())
            {
                // ## Busco todos os registros

                while (emp.fetch())
                {
                    // ## Se dia é hoje

                    if (emp.get_int_nu_periodoFat() == dtFat.Day &&
                        emp.get_tg_isentoFat() == Context.FALSE)
                    {
                        T_Faturamento fat     = new T_Faturamento(this);
                        T_Faturamento fat_upd = new T_Faturamento(this);

                        DateTime aux = dtFat;

                        // ## Para casos onde o mês deve ser o próximo

                        if (emp.get_int_nu_diaVenc() < dtFat.Day)
                        {
                            aux = dtFat.AddMonths(1);
                        }

                        DateTime dtVenc = new DateTime(aux.Year,
                                                       aux.Month,
                                                       (int)emp.get_int_nu_diaVenc());

                        fat.set_dt_vencimento(GetDataBaseTime(dtVenc));
                        fat.set_fk_empresa(emp.get_identity());
                        fat.set_tg_situacao(TipoSitFat.Pendente);

                        // ## Crio registro

                        fat.create_T_Faturamento();

                        long vr_total_fat = 0;

                        // ## Crio registro detalhe

                        #region - 1 - mensalidade -

                        {
                            T_FaturamentoDetalhes fat_det = new T_FaturamentoDetalhes(this);

                            fat_det.set_fk_fatura(fat.get_identity());
                            fat_det.set_vr_cobranca(emp.get_vr_mensalidade());
                            fat_det.set_tg_tipoFat(TipoFat.TBM);
                            fat_det.set_tg_desconto(Context.FALSE);
                            fat_det.set_fk_empresa(emp.get_identity());
                            fat_det.set_fk_loja(Context.FALSE);

                            vr_total_fat += fat_det.get_int_vr_cobranca();

                            fat_det.create_T_FaturamentoDetalhes();
                        }

                        #endregion

                        #region - 2 - valor por transações -

                        if (emp.get_int_vr_transacao() > 0)
                        {
                            LOG_Transacoes l_tr = new LOG_Transacoes(this);

                            l_tr.SetCountMode();

                            l_tr.select_rows_dt_emp(GetDataBaseTime(dtFat.AddMonths(-1)),
                                                    GetDataBaseTime(dtFat),
                                                    emp.get_identity());

                            long trans = l_tr.GetCount() - emp.get_int_nu_franquia();

                            if (trans > 0)
                            {
                                T_FaturamentoDetalhes fat_det = new T_FaturamentoDetalhes(this);

                                fat_det.set_fk_fatura(fat.get_identity());
                                fat_det.set_vr_cobranca((trans * emp.get_int_vr_transacao()).ToString());
                                fat_det.set_tg_tipoFat(TipoFat.FixoTrans);
                                fat_det.set_nu_quantidade(l_tr.GetCount().ToString());
                                fat_det.set_tg_desconto(Context.FALSE);
                                fat_det.set_fk_empresa(emp.get_identity());
                                fat_det.set_fk_loja(Context.FALSE);

                                vr_total_fat += fat_det.get_int_vr_cobranca();

                                fat_det.create_T_FaturamentoDetalhes();
                            }
                        }

                        #endregion

                        #region - 3 - valor percentual por transações -

                        if (emp.get_int_nu_pctValor() > 0)
                        {
                            LOG_Transacoes l_tr = new LOG_Transacoes(this);

                            // ## Busca por período e empresa

                            if (l_tr.select_rows_dt_emp(GetDataBaseTime(dtFat.AddMonths(-1)),
                                                        GetDataBaseTime(dtFat),
                                                        emp.get_identity()))
                            {
                                long vr_trans = 0;

                                while (l_tr.fetch())
                                {
                                    if (l_tr.get_tg_confirmada() == TipoConfirmacao.Confirmada)
                                    {
                                        vr_trans += l_tr.get_int_vr_total();
                                    }
                                }

                                if (vr_trans > 0)
                                {
                                    vr_trans = vr_trans * emp.get_int_nu_pctValor() / 10000;

                                    T_FaturamentoDetalhes fat_det = new T_FaturamentoDetalhes(this);

                                    fat_det.set_fk_fatura(fat.get_identity());
                                    fat_det.set_vr_cobranca(vr_trans.ToString());
                                    fat_det.set_tg_tipoFat(TipoFat.Percent);
                                    fat_det.set_tg_desconto(Context.FALSE);
                                    fat_det.set_fk_empresa(emp.get_identity());
                                    fat_det.set_fk_loja(Context.FALSE);

                                    vr_total_fat += fat_det.get_int_vr_cobranca();

                                    fat_det.create_T_FaturamentoDetalhes();
                                }
                            }
                        }

                        #endregion

                        #region - 4 - valor cartão ativo -

                        if (emp.get_int_vr_cartaoAtivo() > 0)
                        {
                            T_Cartao cart = new T_Cartao(this);

                            // ## Busca por período e empresa

                            if (cart.select_rows_empresa(emp.get_st_empresa()))
                            {
                                T_FaturamentoDetalhes fat_det = new T_FaturamentoDetalhes(this);

                                fat_det.set_fk_fatura(fat.get_identity());
                                fat_det.set_vr_cobranca((cart.RowCount() * emp.get_int_vr_cartaoAtivo()).ToString());
                                fat_det.set_tg_tipoFat(TipoFat.CartaoAtiv);
                                fat_det.set_tg_desconto(Context.FALSE);
                                fat_det.set_fk_empresa(emp.get_identity());
                                fat_det.set_fk_loja(Context.FALSE);

                                vr_total_fat += fat_det.get_int_vr_cobranca();

                                fat_det.create_T_FaturamentoDetalhes();
                            }
                        }

                        #endregion

                        #region - 5 - valores extras -

                        T_FaturamentoDetalhes fat_extras = new T_FaturamentoDetalhes(this);

                        if (fat_extras.select_rows_emp(emp.get_identity(), TipoFat.Extras))
                        {
                            while (fat_extras.fetch())
                            {
                                vr_total_fat += fat_extras.get_int_vr_cobranca();

                                T_FaturamentoDetalhes fat_extras_upd = new T_FaturamentoDetalhes(this);

                                fat_extras_upd.ExclusiveAccess();

                                fat_extras_upd.selectIdentity(fat_extras.get_identity());
                                fat_extras_upd.set_fk_fatura(fat.get_identity());

                                fat_extras_upd.synchronize_T_FaturamentoDetalhes();
                                fat_extras_upd.ReleaseExclusive();
                            }
                        }

                        #endregion

                        if (emp.get_int_vr_minimo() > vr_total_fat)
                        {
                            vr_total_fat = emp.get_int_vr_minimo();
                        }

                        fat_upd.ExclusiveAccess();
                        fat_upd.selectIdentity(fat.get_identity());

                        fat_upd.set_vr_cobranca(vr_total_fat.ToString());

                        fat_upd.synchronize_T_Faturamento();
                        fat_upd.ReleaseExclusive();
                    }
                }
            }

            #endregion

            T_Loja loj = new T_Loja(this);

            // ## Busca todas as lojas

            if (loj.selectAll())
            {
                // ## Busco todos os registros

                while (loj.fetch())
                {
                    // ## Se dia é hoje

                    Trace("Loja: " + loj.get_st_nome());

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

                    Trace("Loja ok ");

                    if (loj.get_int_nu_periodoFat() == dtFat.Day &&
                        loj.get_tg_isentoFat() == Context.FALSE)
                    {
                        Trace("[A]");

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

                        DateTime aux = dtFat;

                        // ## Para casos onde o mês deve ser o próximo

                        if (loj.get_int_nu_diavenc() < dtFat.Day)
                        {
                            Trace("[B]");
                            aux = dtFat.AddMonths(1);
                        }

                        Trace("[C]");

                        int zday = Convert.ToInt32(loj.get_int_nu_diavenc());

                        Trace("[C] 1 " + aux.Year.ToString());
                        Trace("[C] 2 " + aux.Month.ToString());
                        Trace("[C] 3 " + zday.ToString());

                        DateTime dtVenc = new DateTime(aux.Year, aux.Month, zday);

                        Trace("[D]");

                        fat.set_dt_vencimento(GetDataBaseTime(dtVenc));
                        fat.set_fk_loja(loj.get_identity());
                        fat.set_tg_situacao(TipoSitFat.Pendente);

                        // ## Crio registro

                        fat.create_T_Faturamento();

                        long vr_total_fat = 0;

                        // ## Crio registro detalhe

                        #region - 1 - mensalidade -

                        {
                            Trace("[E]");

                            T_FaturamentoDetalhes fat_det = new T_FaturamentoDetalhes(this);

                            fat_det.set_fk_fatura(fat.get_identity());
                            fat_det.set_vr_cobranca(loj.get_vr_mensalidade());
                            fat_det.set_tg_tipoFat(TipoFat.TBM);
                            fat_det.set_tg_desconto(Context.FALSE);
                            fat_det.set_fk_empresa(Context.FALSE);
                            fat_det.set_fk_loja(loj.get_identity());

                            vr_total_fat += fat_det.get_int_vr_cobranca();

                            fat_det.create_T_FaturamentoDetalhes();
                        }

                        #endregion

                        #region - 2 - valor por transações -

                        if (loj.get_int_vr_transacao() > 0)
                        {
                            Trace("[F]");

                            LOG_Transacoes l_tr = new LOG_Transacoes(this);

                            l_tr.SetCountMode();

                            l_tr.select_rows_dt_loj(GetDataBaseTime(dtFat.AddMonths(-1)),
                                                    GetDataBaseTime(dtFat),
                                                    loj.get_identity());

                            long trans = l_tr.GetCount() - loj.get_int_nu_franquia();

                            if (trans > 0)
                            {
                                Trace("[G]");

                                T_FaturamentoDetalhes fat_det = new T_FaturamentoDetalhes(this);

                                fat_det.set_fk_fatura(fat.get_identity());
                                fat_det.set_vr_cobranca((trans * loj.get_int_vr_transacao()).ToString());
                                fat_det.set_tg_tipoFat(TipoFat.FixoTrans);
                                fat_det.set_nu_quantidade(l_tr.GetCount().ToString());
                                fat_det.set_tg_desconto(Context.FALSE);
                                fat_det.set_fk_empresa(Context.FALSE);
                                fat_det.set_fk_loja(loj.get_identity());

                                vr_total_fat += fat_det.get_int_vr_cobranca();

                                fat_det.create_T_FaturamentoDetalhes();
                            }
                        }

                        #endregion

                        #region - 3 - valor percentual por transações -

                        if (loj.get_int_nu_pctValor() > 0)
                        {
                            Trace("[H]");

                            LOG_Transacoes l_tr = new LOG_Transacoes(this);

                            // ## Busca por período e empresa

                            if (l_tr.select_rows_dt_loj(GetDataBaseTime(dtFat.AddMonths(-1)),
                                                        GetDataBaseTime(dtFat),
                                                        loj.get_identity()))
                            {
                                Trace("[I]");

                                long vr_trans = 0;

                                while (l_tr.fetch())
                                {
                                    if (l_tr.get_tg_confirmada() == TipoConfirmacao.Confirmada)
                                    {
                                        vr_trans += l_tr.get_int_vr_total();
                                    }
                                }

                                if (vr_trans > 0)
                                {
                                    Trace("[J]");

                                    vr_trans = vr_trans * loj.get_int_nu_pctValor() / 10000;

                                    T_FaturamentoDetalhes fat_det = new T_FaturamentoDetalhes(this);

                                    fat_det.set_fk_fatura(fat.get_identity());
                                    fat_det.set_vr_cobranca(vr_trans.ToString());
                                    fat_det.set_tg_tipoFat(TipoFat.Percent);
                                    fat_det.set_tg_desconto(Context.FALSE);
                                    fat_det.set_fk_empresa(Context.FALSE);
                                    fat_det.set_fk_loja(loj.get_identity());

                                    vr_total_fat += fat_det.get_int_vr_cobranca();

                                    fat_det.create_T_FaturamentoDetalhes();
                                }
                            }
                        }

                        #endregion

                        #region - 4 - valores extras -

                        T_FaturamentoDetalhes fat_extras = new T_FaturamentoDetalhes(this);

                        if (fat_extras.select_rows_emp(loj.get_identity(), TipoFat.Extras))
                        {
                            Trace("[K]");

                            while (fat_extras.fetch())
                            {
                                Trace("[L]");

                                vr_total_fat += fat_extras.get_int_vr_cobranca();

                                T_FaturamentoDetalhes fat_extras_upd = new T_FaturamentoDetalhes(this);

                                fat_extras_upd.ExclusiveAccess();

                                fat_extras_upd.selectIdentity(fat_extras.get_identity());
                                fat_extras_upd.set_fk_fatura(fat.get_identity());

                                fat_extras_upd.synchronize_T_FaturamentoDetalhes();
                                fat_extras_upd.ReleaseExclusive();
                            }
                        }

                        #endregion

                        if (vr_total_fat < loj.get_int_vr_minimo())
                        {
                            vr_total_fat = loj.get_int_vr_minimo();
                        }

                        fat_upd.ExclusiveAccess();
                        fat_upd.selectIdentity(fat.get_identity());

                        fat_upd.set_vr_cobranca(vr_total_fat.ToString());

                        fat_upd.synchronize_T_Faturamento();
                        fat_upd.ReleaseExclusive();

                        Trace("[M]");
                    }
                }
            }

            /// USER [ execute ] END

            Registry("execute done schedule_faturamento ");

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

            Registry("execute exec_processaArqBancario ");

            /// USER [ execute ]

            DataPortable csv_AllArchive = MemoryGet(input_st_id);

            ApplicationUtil var_util = new ApplicationUtil();

            string st_ids = csv_AllArchive.getValue("ids");

            Trace(st_ids);

            int total_records = var_util.indexCSV(st_ids);

            T_Faturamento fat = new T_Faturamento(this);

            for (int t = 0; t < total_records; ++t)
            {
                DataPortable port_line = MemoryGet(var_util.getCSV(t));

                string line = port_line.getValue("line");

                Trace(line);

                int pos = 0;

                //7
                //06
                //030908
                //7
                //0509629684
                //030908
                //0000000002108

                string fk        = line.Substring(pos, 25).Trim();    pos += 25;
                string cod       = line.Substring(pos, 2).Trim();    pos += 2;
                string dt_banco  = line.Substring(pos, 6).Trim();    pos += 6;
                string st_seuNum = line.Substring(pos, 10).Trim();    pos += 10;
                string st_nosNum = line.Substring(pos, 20).Trim();    pos += 20;
                string dt_venc   = line.Substring(pos, 6).Trim();    pos += 6;
                string vr_pago   = line.Substring(pos, 13).Trim();    pos += 13;

                vr_pago = vr_pago.TrimStart('0');

                Trace(line);

                fat.ExclusiveAccess();

                if (!fat.selectIdentity(fk))
                {
                    Registry("Registro " + fk + " desconhecido!");
                    fat.ReleaseExclusive();
                    continue;
                }

                fat.set_tg_retBanco(cod);

                if (cod == "00")
                {
                    fat.set_tg_situacao(TipoSitFat.PagoCC);
                }

                if (cod == "10")
                {
                    fat.set_tg_situacao(TipoSitFat.BaixaCfeInst);
                }

                if (cod == "06" ||
                    cod == "08" ||
                    cod == "15" ||
                    cod == "25")
                {
                    fat.set_tg_situacao(TipoSitFat.PagoDoc);
                }

                fat.set_dt_baixa(GetDataBaseTime(new DateTime(2000 + Convert.ToInt32(dt_banco.Substring(4, 2)),
                                                              Convert.ToInt32(dt_banco.Substring(2, 2)),
                                                              Convert.ToInt32(dt_banco.Substring(0, 2)))));

                if (!fat.synchronize_T_Faturamento())
                {
                    Registry("Registro " + fk + " não foi possível atualizar!");
                }

                fat.ReleaseExclusive();
            }

            /// USER [ execute ] END

            Registry("execute done exec_processaArqBancario ");

            return(true);
        }
示例#5
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);
        }
        public override bool execute( )
        {
            if (base.execute() == false)
            {
                return(false);
            }

            Registry("execute fetch_dadosDespesas ");

            /// USER [ execute ]

            string fk = "";

            if (input_tg_empresa == Context.TRUE)
            {
                T_Empresa emp = new T_Empresa(this);

                if (!emp.select_rows_empresa(input_st_codigo.PadLeft(6, '0')))
                {
                    PublishError("Código de empresa inválido");
                    return(false);
                }

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

                fk             = emp.get_identity();
                output_st_nome = emp.get_st_fantasia();
            }
            else
            {
                T_Loja loj = new T_Loja(this);

                if (!loj.select_rows_loja(input_st_codigo))
                {
                    PublishError("Código de loja inválido");
                    return(false);
                }

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

                fk             = loj.get_identity();
                output_st_nome = loj.get_st_nome();
            }

            T_FaturamentoDetalhes fat_det = new T_FaturamentoDetalhes(this);

            if (input_tg_empresa == Context.TRUE)
            {
                if (!fat_det.select_rows_emp(fk, TipoFat.Extras))
                {
                    PublishError("Nenhuma despesa encontrada");
                    return(false);
                }
            }
            else
            {
                if (!fat_det.select_rows_loja(fk, TipoFat.Extras))
                {
                    PublishError("Nenhuma despesa encontrada");
                    return(false);
                }
            }

            T_Faturamento fat = new T_Faturamento(this);

            while (fat_det.fetch())
            {
                if (fat.selectIdentity(fat_det.get_fk_fatura()))
                {
                    if (fat.get_tg_situacao() != TipoSitFat.Pendente)
                    {
                        continue;
                    }
                }

                DadosDespesas dd = new DadosDespesas();

                dd.set_fk_faturadet(fat_det.get_identity());
                dd.set_st_info(fat_det.get_st_extras());

                if (fat_det.get_tg_desconto() == Context.TRUE)
                {
                    dd.set_vr_cobrança("-" + fat_det.get_vr_cobranca());
                }
                else
                {
                    dd.set_vr_cobrança(fat_det.get_vr_cobranca());
                }

                output_array_generic_list.Add(dd);
            }

            /// USER [ execute ] END

            Registry("execute done fetch_dadosDespesas ");

            return(true);
        }
        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 exec_fat_recManual ");

            /// USER [ execute ]

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

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

                if (!emp.fetch())
                {
                    return(false);
                }
            }
            else
            {
                if (!loj.select_rows_loja(input_st_codigo))
                {
                    PublishError("Loja não disponível");
                    return(false);
                }

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

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

            if (input_tg_empresa == Context.TRUE)
            {
                fat.select_rows_emp(emp.get_identity());
            }
            else
            {
                fat.select_rows_loj(loj.get_identity());
            }

            while (fat.fetch())
            {
                if (fat.get_tg_situacao() == TipoSitFat.EmCobrança)
                {
                    fat_upd.ExclusiveAccess();

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

                    fat_upd.set_tg_situacao(TipoSitFat.PagoOutros);
                    fat_upd.set_vr_cobranca(input_vr_valor);

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

                    fat_upd.ReleaseExclusive();

                    PublishNote("Faturamento atualizado com sucesso");
                    break;
                }
            }

            /// USER [ execute ] END

            Registry("execute done exec_fat_recManual ");

            return(true);
        }
示例#9
0
        public override bool authenticate( )
        {
            if (base.authenticate() == false)
            {
                return(false);
            }

            Registry("authenticate fetch_dadosFaturamento ");

            /// USER [ authenticate ]

            T_Faturamento         fat     = new T_Faturamento(this);
            T_FaturamentoDetalhes fat_det = new T_FaturamentoDetalhes(this);

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

            money mon = new money();

            string ident = "";

            if (input_tg_empresa == Context.TRUE)
            {
                if (!emp.select_rows_empresa(input_st_codigo.PadLeft(6, '0')))
                {
                    PublishError("Empresa não existente");
                    return(false);
                }

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

                output_st_msg += emp.get_st_social() + "@";
                output_st_msg += emp.get_st_fantasia() + "@";
                output_st_msg += emp.get_nu_CNPJ() + "@";
                output_st_msg += emp.get_nu_telefone() + "@";

                output_st_msg += "@Faturamento pendente: @@";

                fat.SetReversedFetch();

                if (!fat.select_rows_emp(emp.get_identity()))
                {
                    PublishError("Nenhum faturamento encontrado");
                    return(false);
                }

                ident = emp.get_st_fantasia();
            }
            else
            {
                if (!loj.select_rows_loja(input_st_codigo))
                {
                    PublishError("Loja não existente");
                    return(false);
                }

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

                output_st_msg += loj.get_st_nome() + "@";
                output_st_msg += loj.get_st_social() + "@";
                output_st_msg += loj.get_nu_CNPJ() + "@";
                output_st_msg += loj.get_nu_telefone();

                //fat.SetReversedFetch();

                if (!fat.select_rows_loj(loj.get_identity()))
                {
                    PublishError("Nenhum faturamento encontrado");
                    return(false);
                }
            }

            bool Found = false;

            long tot_cob = 0;

            while (fat.fetch())
            {
                if (fat.get_tg_situacao() == TipoSitFat.Pendente)
                {
                    output_st_msg += "@@Faturamento pendente: ";
                    Found          = true;
                }
                else if (fat.get_tg_situacao() == TipoSitFat.EmCobrança)
                {
                    output_st_msg += "@@Faturamento em cobrança: ";
                    Found          = true;
                }
                else
                {
                    continue;
                }

                output_st_msg += var_util.getDDMMYYYY_format(fat.get_dt_vencimento()).Substring(0, 10) + "@";
                output_st_msg += "@Total: R$ " + mon.formatToMoney(fat.get_vr_cobranca()) + "@";

                tot_cob += fat.get_int_vr_cobranca();

                if (!fat_det.select_fk_fat(fat.get_identity()))
                {
                    PublishNote("Nenhum faturamento encontrado");
                }

                output_st_msg += "@------ Detalhes ------- @";

                while (fat_det.fetch())
                {
                    switch (fat_det.get_tg_tipoFat())
                    {
                    case TipoFat.TBM:
                    {
                        output_st_msg += "@Tarifa básica mensal: ".PadRight(33, ' ') + "R$ " + mon.formatToMoney(fat_det.get_vr_cobranca()).PadLeft(7, ' ');
                        break;
                    }

                    case TipoFat.CartaoAtiv:
                    {
                        output_st_msg += "@Tarifa por cartões ativos: ".PadRight(33, ' ') + "R$ " + mon.formatToMoney(fat_det.get_vr_cobranca()).PadLeft(7, ' ');
                        break;
                    }

                    case TipoFat.FixoTrans:
                    {
                        output_st_msg += "@Valor sobre Transações: ".PadRight(33, ' ') + "R$ " + mon.formatToMoney(fat_det.get_vr_cobranca()).PadLeft(7, ' ');
                        break;
                    }

                    case TipoFat.Percent:
                    {
                        output_st_msg += "@Percentual sobre Transações: ".PadRight(33, ' ') + "R$ " + mon.formatToMoney(fat_det.get_vr_cobranca()).PadLeft(7, ' ');
                        break;
                    }
                    }
                }

                if (!fat_det.select_fk_fat(fat.get_identity()))
                {
                    PublishError("Nenhum faturamento encontrado");
                    return(false);
                }

                while (fat_det.fetch())
                {
                    switch (fat_det.get_tg_tipoFat())
                    {
                    case TipoFat.Extras:
                    {
                        output_st_msg += "@@------ Extras ------- @";

                        output_st_msg += "@" + fat_det.get_st_extras().PadRight(32, ' ') + "R$ " + mon.formatToMoney(fat_det.get_vr_cobranca()).PadLeft(7, ' ');

                        break;
                    }
                    }
                }
            }

            if (!Found)
            {
                output_st_msg += "@ - Nenhum débito pendente ou em cobrança - @";
            }
            else
            {
                output_st_msg += "@@@# Valor completo devido: R$ " + new money().setMoneyFormat(tot_cob) + "@";
            }

            output_vr_valor = tot_cob.ToString();

            if (input_tg_empresa == Context.TRUE)
            {
                fat_det.select_rows_emp(emp.get_identity(), TipoFat.Extras);
            }
            else
            {
                fat_det.select_rows_loja(loj.get_identity(), TipoFat.Extras);
            }

            if (fat_det.RowCount() > 0)
            {
                output_st_msg += "@@------ Lançamentos futuros ------- @";

                while (fat_det.fetch())
                {
                    output_st_msg += "@" + fat_det.get_st_extras().PadRight(32, ' ') + "R$ " + mon.formatToMoney(fat_det.get_vr_cobranca()).PadLeft(7, ' ');
                }

                if (Found)
                {
                    output_st_msg += "@@";
                }
            }

            /// USER [ authenticate ] END

            Registry("authenticate done fetch_dadosFaturamento ");

            return(true);
        }