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

            Registry("execute fetch_reciboRepasse ");

            /// USER [ execute ]

            T_RepasseLoja rep = new T_RepasseLoja(this);

            if (!rep.selectIdentity(input_id_repasse))
            {
                return(false);
            }

            string st_extra = rep.get_st_ident();

            T_Loja loj = new T_Loja(this);

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

            output_cont_rec.set_loja(loj.get_st_nome() + " - " + loj.get_st_social());
            output_cont_rec.set_cnpj(loj.get_nu_CNPJ());
            output_cont_rec.set_pagto(rep.get_tg_opcao());

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

            long vr_compras = 0;
            long dias_rep   = 0;

            string fk_empresa = "";

            if (lrp.select_fk_rep(input_id_repasse))
            {
                while (lrp.fetch())
                {
                    parc.selectIdentity(lrp.get_fk_parcela());
                    cart.selectIdentity(parc.get_fk_cartao());

                    if (fk_empresa == "")
                    {
                        fk_empresa = parc.get_fk_empresa();

                        loj_emp.select_fk_empresa_loja(fk_empresa, loj.get_identity());
                        loj_emp.fetch();

                        dias_rep = loj_emp.get_int_nu_dias_repasse();

                        if (rep.get_tg_opcao() != TipoPagamento.Dinheiro)
                        {
                            if (rep.get_tg_opcao() != TipoPagamento.Cheque)
                            {
                                // deposito
                                st_extra = " Banco : " + loj_emp.get_st_banco() + " - Ag. " + loj_emp.get_st_ag() + " Conta: " + loj_emp.get_st_conta();
                            }
                            else
                            {
                                st_extra = rep.get_st_ident();
                            }
                        }
                    }

                    vr_compras += parc.get_int_vr_valor();

                    DadosRepasse dr = new DadosRepasse();

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

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

                    tim = tim.AddDays(dias_rep);

                    dr.set_dt_repasse(GetDataBaseTime(tim));

                    output_array_generic_lst.Add(dr);
                }
            }

            long desc = vr_compras - rep.get_int_vr_valor();

            output_cont_rec.set_vr_compras(vr_compras.ToString());
            output_cont_rec.set_tx_admin(new money().formatToMoney(loj_emp.get_tx_admin()) + "%");
            output_cont_rec.set_vr_desc(new money().formatToMoney(desc.ToString()));
            output_cont_rec.set_vr_tot_rep(rep.get_vr_valor());
            output_cont_rec.set_st_extra(st_extra);

            /// USER [ execute ] END

            Registry("execute done fetch_reciboRepasse ");

            return(true);
        }
예제 #2
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);
        }