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

            Registry("execute schedule_fech_mensal ");

            /// USER [ execute ]

            T_Parcelas parc = new T_Parcelas(this);

            string mes = DateTime.Now.Month.ToString().PadLeft(2, '0');
            string ano = DateTime.Now.Year.ToString();

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

            if (parc.select_rows_emp_fechamento(emp.get_identity(), "0"))                  // numero parcela > 0
            {
                T_Parcelas       tmp  = new T_Parcelas(this);
                LOG_Transacoes   ltr  = new LOG_Transacoes(this);
                T_InfoAdicionais info = new T_InfoAdicionais(this);

                while (parc.fetch())
                {
                    if (!tmp.selectIdentity(parc.get_identity()))
                    {
                        continue;
                    }

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

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

                    if (ltr.get_tg_confirmada() != TipoConfirmacao.Confirmada)
                    {
                        continue;
                    }

                    if (st_empresaAfiliada != "")
                    {
                        if (!info.selectIdentity(cart.get_fk_infoAdicionais()))
                        {
                            continue;
                        }

                        if (info.get_st_empresaAfiliada().ToUpper().Trim() != st_empresaAfiliada.ToUpper().Trim())
                        {
                            continue;
                        }
                    }

                    if (parc.get_int_nu_parcela() == 1)
                    {
                        LOG_Fechamento log_fech = new LOG_Fechamento(this);

                        log_fech.set_st_mes(mes);
                        log_fech.set_st_ano(ano);
                        log_fech.set_vr_valor(parc.get_vr_valor());
                        log_fech.set_dt_fechamento(GetDataBaseTime());
                        log_fech.set_fk_empresa(parc.get_fk_empresa());
                        log_fech.set_fk_loja(parc.get_fk_loja());
                        log_fech.set_fk_cartao(parc.get_fk_cartao());
                        log_fech.set_fk_parcela(parc.get_identity());
                        log_fech.set_dt_compra(parc.get_dt_inclusao());
                        log_fech.set_nu_parcela(parc.get_nu_parcela());

                        log_fech.set_st_afiliada(st_empresaAfiliada);

                        log_fech.set_st_cartao(cart.get_st_empresa() +
                                               cart.get_st_matricula() +
                                               cart.get_st_titularidade());

                        if (!log_fech.create_LOG_Fechamento())
                        {
                            return(false);
                        }
                    }

                    // decrementa parcela
                    tmp.set_nu_parcela(tmp.get_int_nu_parcela() - 1);

                    tmp.set_tg_pago(Context.TRUE);

                    if (!tmp.synchronize_T_Parcelas())
                    {
                        return(false);
                    }
                }
            }

            //zera cota extra de todo mundo

            if (cart.select_rows_empresa(emp.get_st_empresa()))
            {
                while (cart.fetch())
                {
                    cart_upd.ExclusiveAccess();

                    cart_upd.selectIdentity(cart.get_identity());
                    cart_upd.set_vr_extraCota("0");

                    cart_upd.synchronize_T_Cartao();
                    cart_upd.ReleaseExclusive();
                }
            }


            /// USER [ execute ] END

            Registry("execute done schedule_fech_mensal ");

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

            Registry("execute fetch_rel_dirCont ");

            /// USER [ execute ]

            T_Empresa emp = new T_Empresa(this);

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

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

            output_st_nome_empresa = emp.get_st_fantasia();

            StringBuilder sb_content = new StringBuilder();

            {
                DadosContabilGift dcg = new DadosContabilGift();

                dcg.set_st_item("Quant. Cartões Cancelados");

                T_Cartao cart = new T_Cartao(this);

                cart.SetCountMode();

                cart.select_rows_canc(input_cont_header.get_st_empresa(),
                                      input_dt_ini,
                                      input_dt_fim,
                                      MotivoBloqueio.CANCELAMENTO,
                                      TipoCartao.presente,
                                      CartaoStatus.Bloqueado);

                dcg.set_nu_valor(cart.GetCount().ToString());

                Trace(dcg.get_st_item());
                Trace(dcg.get_nu_valor());

                DataPortable port = dcg;

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

            {
                DadosContabilGift dcg = new DadosContabilGift();

                dcg.set_st_item("Quant. Recargas");

                LOG_VendaCartaoGift lvc = new LOG_VendaCartaoGift(this);

                lvc.SetCountMode();

                lvc.select_rows_cargas(input_dt_ini,
                                       input_dt_fim,
                                       emp.get_identity(),
                                       Context.FALSE);

                dcg.set_nu_valor(lvc.GetCount().ToString());

                Trace(dcg.get_st_item());
                Trace(dcg.get_nu_valor());

                DataPortable port = dcg;

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

            long vendidos = 0;

            {
                DadosContabilGift dcg = new DadosContabilGift();

                dcg.set_st_item("Quant. Cartões Vendidos");

                LOG_VendaCartaoGift lvc = new LOG_VendaCartaoGift(this);

                lvc.SetCountMode();

                lvc.select_rows_cargas(input_dt_ini,
                                       input_dt_fim,
                                       emp.get_identity(),
                                       Context.TRUE);


                vendidos = lvc.GetCount();

                dcg.set_nu_valor(vendidos.ToString());

                Trace(dcg.get_st_item());
                Trace(dcg.get_nu_valor());

                DataPortable port = dcg;

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

            long disp = 0;

            {
                DadosContabilGift dcg = new DadosContabilGift();

                dcg.set_st_item("Saldo Anterior");

                T_Cartao cart = new T_Cartao(this);

                cart.SetCountMode();

                cart.select_rows_gift_disp(Context.NONE, TipoCartao.presente);

                disp = cart.GetCount();

                long anterior = vendidos + cart.GetCount();

                dcg.set_nu_valor(anterior.ToString());

                DataPortable port = dcg;

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

            {
                DadosContabilGift dcg = new DadosContabilGift();

                dcg.set_st_item("Saldo Atual");
                dcg.set_nu_valor(disp.ToString());

                DataPortable port = dcg;

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

            long novo_cartao_carga = 0;
            long cartao_recarga    = 0;

            long tarifa_novo_cartao_carga = 0;
            long tarifa_cartao_recarga    = 0;

            {
                DadosContabilGift dcg = new DadosContabilGift();

                dcg.set_st_item("Movimento do dia");
                dcg.set_nu_valor("0");

                LOG_VendaCartaoGift lvc = new LOG_VendaCartaoGift(this);

                T_ExtraGift eGift = new T_ExtraGift(this);

                eGift.selectAll();
                eGift.fetch();

                long vr_valor  = 0;
                long tx_adesao = eGift.get_int_vr_valor();

                eGift.fetch();

                long tx_recarga = eGift.get_int_vr_valor();

                // novo cartão
                lvc.select_rows_cargas(input_dt_ini,
                                       input_dt_fim,
                                       emp.get_identity(),
                                       Context.TRUE);

                long qtd_novo_cartao_carga = lvc.RowCount();

                while (lvc.fetch())
                {
                    novo_cartao_carga += lvc.get_int_vr_carga();
                }

                tarifa_novo_cartao_carga = qtd_novo_cartao_carga * tx_adesao;

                vr_valor += novo_cartao_carga + tarifa_novo_cartao_carga;

                lvc.Reset();

                // recargas
                if (lvc.select_rows_cargas(input_dt_ini,
                                           input_dt_fim,
                                           emp.get_identity(),
                                           Context.FALSE))
                {
                    long qtd_cartao_recarga = lvc.RowCount();

                    while (lvc.fetch())
                    {
                        cartao_recarga += lvc.get_int_vr_carga();
                    }

                    tarifa_cartao_recarga = qtd_cartao_recarga * tx_recarga;

                    vr_valor += cartao_recarga + tarifa_cartao_recarga;
                }

                dcg.set_nu_valor("R$ " + new money().formatToMoney(vr_valor.ToString()));

                DataPortable port = dcg;

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

            output_cont_dsc.set_vr_tot_carga((cartao_recarga + novo_cartao_carga).ToString());
            output_cont_dsc.set_vr_tot_tarifa((tarifa_cartao_recarga + tarifa_novo_cartao_carga).ToString());

            long tot_compras = 0;
            long tot_taxa    = 0;
            long tot_repasse = 0;

            {
                T_Parcelas       parc    = new T_Parcelas(this);
                LINK_LojaEmpresa loj_emp = new LINK_LojaEmpresa(this);

                // busca parcelas da empresa no dia
                if (parc.select_rows_empresa_gift(emp.get_identity(), input_dt_ini, input_dt_fim))
                {
                    while (parc.fetch())
                    {
                        // busca convenio
                        if (!loj_emp.select_fk_empresa_loja(emp.get_identity(), parc.get_fk_loja()))
                        {
                            return(false);
                        }

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

                        double tx = loj_emp.get_int_tx_admin();

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

                        tot_compras += parc.get_int_vr_valor();
                        tot_taxa    += taxa;
                        tot_repasse += Convert.ToInt64(parc.get_int_vr_valor() - taxa);
                    }
                }
            }

            output_cont_dsc.set_vr_tot_compras(tot_compras.ToString());
            output_cont_dsc.set_vr_tot_tx(tot_taxa.ToString());
            output_cont_dsc.set_vr_tot_repasse(tot_repasse.ToString());

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

            /// USER [ execute ] END

            Registry("execute done fetch_rel_dirCont ");

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

            /// USER [ execute ]

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

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

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

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

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

            ArrayList lst_all_carts = new ArrayList();

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

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

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

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

            StringBuilder sb_parcs = new StringBuilder();

            LOG_Fechamento lf = new LOG_Fechamento(this);

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

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

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

                    string nome = "";

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

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

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

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

                        nome = dep.get_st_nome();
                    }

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

                    Rel_RTC rtc = new Rel_RTC();

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

                    DataPortable mem_rtc = rtc as DataPortable;

                    // ## obtem indice

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

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

                int my_parc = 1;

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

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

                        string nome = "";

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

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

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

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

                            nome = dep.get_st_nome();
                        }

                        Rel_RTC rtc = new Rel_RTC();

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

                        DataPortable mem_rtc = rtc as DataPortable;

                        // ## obtem indice

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

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

            DataPortable dp_parcs = new DataPortable();

            dp_parcs.setValue("ids", list_ids_parc);

            output_st_content = MemorySave(ref dp_parcs);

            ApplicationUtil var_util = new ApplicationUtil();

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

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

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

            /// USER [ execute ] END

            Registry("execute done fetch_extratoWeb ");

            return(true);
        }