Пример #1
0
        public void CalcularDetrafNacionalResumidoCredito(string dataInicial, string dataFinal, string eotOrigem, string eotDestino, modalidadeLigacao ModalidadeLigacao, tipoDetraf TipoDetraf, int tipo)
        {
            DetrafDal objDetrafDal = new DetrafDal();

            DETRAF.LOGGER.Logger objLogger = new DETRAF.LOGGER.Logger();
            DataTable            dt;

            dt = objDetrafDal.CalcularDetrafNacionalResumidoCredito(dataInicial, dataFinal, eotOrigem, eotDestino, tipo);

            string eotCredor     = "";
            string eotDevedor    = "";
            string periodoRef    = "";
            string periodoTraf   = "";
            string poi           = "";
            string tipoRelatorio = "";
            string descriptor    = "";
            string grupoHorario  = "";
            string mensagem      = "";

            string tarifa;
            string qtdChamadas;
            string duracaoSegundos;
            string valorLiquido;
            string valorImposto;
            string valorBruto;

            double  qtdChamadasAux;
            double  duracaoSegundosAux;
            decimal valorLiquidoAux;
            decimal valorImpostoAux;
            decimal valorBrutoAux;

            double  qtdChamadasTotal     = 0;
            double  duracaoSegundosTotal = 0;
            decimal valorLiquidoTotal    = 0;
            decimal valorImpostoTotal    = 0;
            decimal valorBrutoTotal      = 0;

            foreach (DataRow dr in dt.Rows)
            {
                eotCredor       = dr["EOT_CREDOR"].ToString();
                eotDevedor      = dr["EOT_DEVEDOR"].ToString();
                periodoRef      = dr["PERIODO_REF"].ToString();
                periodoTraf     = dr["PERIODO_TRAF"].ToString();
                poi             = dr["POI"].ToString();
                tipoRelatorio   = dr["TIPO_RELATORIO"].ToString();
                descriptor      = dr["DESCRIPTOR"].ToString();
                grupoHorario    = dr["GRUPO_HORARIO"].ToString();
                tarifa          = dr["TARIFA"].ToString();
                qtdChamadas     = dr["QTD_CHAMADAS"].ToString();
                duracaoSegundos = dr["DURACAO_SEGUNDOS"].ToString();
                valorLiquido    = dr["VALOR_LIQUIDO"].ToString();
                valorImposto    = dr["VALOR_IMPOSTO"].ToString();
                valorBruto      = dr["VALOR_BRUTO"].ToString();

                qtdChamadasAux     = Convert.ToDouble(qtdChamadas);
                duracaoSegundosAux = Convert.ToDouble(duracaoSegundos) / 60;
                valorLiquidoAux    = Convert.ToDecimal(valorLiquido);
                valorImpostoAux    = Convert.ToDecimal(valorImposto);
                valorBrutoAux      = Convert.ToDecimal(valorBruto);

                mensagem = eotCredor + ";" + eotDevedor + ";" + periodoRef + ";" + periodoTraf + ";" + poi + ";" + tipoRelatorio + ";" + descriptor + ";" + grupoHorario + ";" + qtdChamadas.ToString() + ";" + duracaoSegundosAux.ToString() + ";" + tarifa + ";" + valorLiquido.ToString() + ";" + valorImposto.ToString() + ";" + valorBruto.ToString();
                objLogger.GravarCSV(@"C:/detraf/resumido/DetrafNacionalResumidoCredito.csv", mensagem);

                qtdChamadasTotal     += qtdChamadasAux;
                duracaoSegundosTotal += duracaoSegundosAux;
                valorLiquidoTotal    += valorLiquidoAux;
                valorImpostoTotal    += valorImpostoAux;
                valorBrutoTotal      += valorBrutoAux;
            }

            mensagem = eotCredor + ";" + eotDevedor + ";" + periodoRef + ";" + periodoTraf + ";" + poi + ";1;;;" + qtdChamadasTotal.ToString() + ";" + duracaoSegundosTotal.ToString() + ";;" + valorLiquidoTotal.ToString() + ";" + valorImpostoTotal.ToString() + ";" + valorBrutoTotal.ToString();
            objLogger.GravarCSV(@"C:/detraf/resumido/DetrafNacionalResumidoCredito.csv", mensagem);

            objDetrafDal = null;
            objLogger    = null;
            dt           = null;
        }
Пример #2
0
        public void CalcularDetrafNacionalDetalhadoCredito(string dataInicial, string dataFinal, string eotOrigem, string eotDestino, modalidadeLigacao ModalidadeLigacao, tipoDetraf TipoDetraf, int tipo)
        {
            DetrafDal objDetrafDal = new DetrafDal();

            DETRAF.LOGGER.Logger objLogger = new DETRAF.LOGGER.Logger();
            DataTable            dt;

            dt = objDetrafDal.CalcularDetrafNacionalDetalhadoCredito(dataInicial, dataFinal, eotOrigem, eotDestino, tipo);

            string mensagem          = "";
            string clid              = "";
            string eot_origem        = "";
            string localidade_origem = "";
            string dst                = "";
            string eot_destino        = "";
            string localidade_destino = "";
            string billsec            = "";
            string data               = "";
            string hora               = "";
            string entrante           = "";
            string sainte             = "";
            string tipo_ligacao       = "";
            string modalidade_ligacao = "";
            string billsec_cobrado    = "";
            string tarifa             = "";
            string valor_cobrado      = "";

            foreach (DataRow dr in dt.Rows)
            {
                clid              = dr["clid"].ToString();
                eot_origem        = dr["eot_origem"].ToString();
                localidade_origem = dr["localidade_origem"].ToString();
                dst                = dr["dst"].ToString();
                eot_destino        = dr["eot_destino"].ToString();
                localidade_destino = dr["localidade_destino"].ToString();
                billsec            = dr["billsec"].ToString();
                data               = dr["data"].ToString();
                hora               = dr["hora"].ToString();
                entrante           = dr["entrante"].ToString();
                sainte             = dr["sainte"].ToString();
                tipo_ligacao       = dr["tipo_ligacao"].ToString();
                modalidade_ligacao = dr["modalidade_ligacao"].ToString();
                billsec_cobrado    = dr["billsec_cobrado"].ToString();
                tarifa             = dr["tarifa"].ToString();
                valor_cobrado      = dr["valor"].ToString();

                mensagem = clid + ";" + eot_origem + ";" + localidade_origem + ";" + dst + ";" + eot_destino + ";" + localidade_destino + ";" + billsec + ";" + data + ";" + hora + ";" + entrante + ";" + sainte + ";" + tipo_ligacao + ";" + modalidade_ligacao + ";" + billsec_cobrado + ";" + tarifa + ";" + valor_cobrado;

                objLogger.GravarCSV(@"C:/detraf/detalhado/DetrafNacionalDetalhadoCredito.csv", mensagem);
            }

            objDetrafDal = null;
            objLogger    = null;
            dt           = null;
        }
Пример #3
0
        public void CalcularDetrafLocalDesbalanceamento(string dataInicial, string dataFinal, string eotOrigem, string eotDestino, modalidadeLigacao ModalidadeLigacao, tipoDetraf TipoDetraf)
        {
            DataTable dt           = null;
            DetrafDal objDetrafDal = new DetrafDal();
            PrecoDal  objPrecoDal  = new PrecoDal();

            //Local Local = Desbalanceamento
            dt = objDetrafDal.CalcularDetrafLocalDesbalanceamento(dataInicial, dataFinal, eotOrigem, eotDestino);
            double segundos_normal_credito   = 0;
            double segundos_reduzido_credito = 0;
            double segundos_normal_debito    = 0;
            double segundos_reduzido_debito  = 0;

            foreach (DataRow dr in dt.Rows)
            {
                segundos_normal_credito   = Convert.ToDouble(dr["normal_credito"]);
                segundos_reduzido_credito = Convert.ToDouble(dr["reduzido_credito"]);

                segundos_normal_debito   = Convert.ToDouble(dr["normal_debito"]);
                segundos_reduzido_debito = Convert.ToDouble(dr["reduzido_debito"]);
            }

            double minutos_normal_credito = Math.Round(segundos_normal_credito / 60, 2);
            double minutos_normal_debito  = Math.Round(segundos_normal_debito / 60, 2);
            double total_minutos_normal   = Math.Round(minutos_normal_credito + minutos_normal_debito, 2);
            double limite_superior_normal = Math.Round(total_minutos_normal * 0.55, 2);

            double excesso_limite_superior_normal = 0;
            int    eot_turl_normal;
            int    eot_turl_reduzido;

            if (minutos_normal_debito <= minutos_normal_credito)
            {
                eot_turl_normal = Convert.ToInt32(eotOrigem);
                excesso_limite_superior_normal = minutos_normal_credito - limite_superior_normal;

                dt = objPrecoDal.ConsultarTabela(eot_turl_normal, "tabela_turl");
                foreach (DataRow dr in dt.Rows)
                {
                    ValorHorarioNormal = Convert.ToDouble(dr["valor_horario_normal"]);
                }
                EotDevedorNormal = Convert.ToInt32(eotDestino);
            }
            else
            {
                eot_turl_normal = Convert.ToInt32(eotDestino);
                excesso_limite_superior_normal = minutos_normal_debito - limite_superior_normal;

                dt = objPrecoDal.ConsultarTabela(eot_turl_normal, "tabela_turl");
                foreach (DataRow dr in dt.Rows)
                {
                    ValorHorarioNormal = Convert.ToDouble(dr["valor_horario_normal"]);
                }
                EotDevedorNormal = Convert.ToInt32(eotOrigem);
            }

            double minutos_reduzido_credito = segundos_reduzido_credito / 60;
            double minutos_reduzido_debito  = segundos_reduzido_debito / 60;
            double total_minutos_reduzido   = minutos_reduzido_credito + minutos_reduzido_debito;
            double limite_superior_reduzido = total_minutos_reduzido * 0.55;

            double excesso_limite_superior_reduzido = 0;

            if (minutos_reduzido_debito <= minutos_reduzido_credito)
            {
                eot_turl_reduzido = Convert.ToInt32(eotOrigem);
                excesso_limite_superior_reduzido = minutos_reduzido_credito - limite_superior_reduzido;

                dt = objPrecoDal.ConsultarTabela(eot_turl_reduzido, "tabela_turl");
                foreach (DataRow dr in dt.Rows)
                {
                    ValorHorarioReduzido = Convert.ToDouble(dr["valor_horario_reduzido"]);
                }
                EotDevedorReduzido = Convert.ToInt32(eotDestino);
            }
            else
            {
                eot_turl_reduzido = Convert.ToInt32(eotDestino);
                excesso_limite_superior_reduzido = minutos_reduzido_debito - limite_superior_reduzido;

                dt = objPrecoDal.ConsultarTabela(eot_turl_reduzido, "tabela_turl");
                foreach (DataRow dr in dt.Rows)
                {
                    ValorHorarioReduzido = Convert.ToDouble(dr["valor_horario_reduzido"]);
                }
                EotDevedorReduzido = Convert.ToInt32(eotOrigem);
            }

            CreditoHorarioNormal = minutos_normal_credito;
            DebitoHorarioNormal  = minutos_normal_debito;
            TotalHorarioNormal   = total_minutos_normal;
            LimiteSuperiorNormal = limite_superior_normal;
            ExcessoNormal        = excesso_limite_superior_normal;
            ValorBrutoNormal     = ExcessoNormal * ValorHorarioNormal;

            CreditoHorarioReduzido = minutos_reduzido_credito;
            DebitoHorarioReduzido  = minutos_reduzido_debito;
            TotalHorarioReduzido   = total_minutos_reduzido;
            LimiteSuperiorReduzido = limite_superior_reduzido;
            ExcessoReduzido        = excesso_limite_superior_reduzido;
            ValorBrutoReduzido     = ExcessoReduzido * ValorHorarioReduzido;

            DETRAF.LOGGER.Logger objLogger = new DETRAF.LOGGER.Logger();
            string linha = "";

            linha = "Creditos Minutos Normal;" + CreditoHorarioNormal.ToString();
            objLogger.GravarCSV(@"C:/detraf/resumido/DetrafLocalDesbalanceamento.csv", linha);
            linha = "Debitos Minutos Normal;" + DebitoHorarioNormal.ToString();
            objLogger.GravarCSV(@"C:/detraf/resumido/DetrafLocalDesbalanceamento.csv", linha);
            linha = "Total Normal;" + TotalHorarioNormal.ToString();
            objLogger.GravarCSV(@"C:/detraf/resumido/DetrafLocalDesbalanceamento.csv", linha);
            linha = "Limite Superior Normal;" + LimiteSuperiorNormal.ToString();
            objLogger.GravarCSV(@"C:/detraf/resumido/DetrafLocalDesbalanceamento.csv", linha);
            linha = "Excesso Normal;" + ExcessoNormal.ToString();
            objLogger.GravarCSV(@"C:/detraf/resumido/DetrafLocalDesbalanceamento.csv", linha);
            linha = "Tarifa Normal;" + ValorHorarioNormal.ToString();
            objLogger.GravarCSV(@"C:/detraf/resumido/DetrafLocalDesbalanceamento.csv", linha);
            linha = "Valor Bruto Normal;" + ValorBrutoNormal.ToString();
            objLogger.GravarCSV(@"C:/detraf/resumido/DetrafLocalDesbalanceamento.csv", linha);
            linha = "EOT Devedor Normal;" + EotDevedorNormal.ToString();
            objLogger.GravarCSV(@"C:/detraf/resumido/DetrafLocalDesbalanceamento.csv", linha);
            linha = "";
            objLogger.GravarCSV(@"C:/detraf/resumido/DetrafLocalDesbalanceamento.csv", linha);
            linha = "Creditos Minutos Reduzido;" + CreditoHorarioReduzido.ToString();
            objLogger.GravarCSV(@"C:/detraf/resumido/DetrafLocalDesbalanceamento.csv", linha);
            linha = "Debitos Minutos Reduzido;" + DebitoHorarioReduzido.ToString();
            objLogger.GravarCSV(@"C:/detraf/resumido/DetrafLocalDesbalanceamento.csv", linha);
            linha = "Total Reduzido;" + TotalHorarioReduzido.ToString();
            objLogger.GravarCSV(@"C:/detraf/resumido/DetrafLocalDesbalanceamento.csv", linha);
            linha = "Limite Superior Reduzido;" + LimiteSuperiorReduzido.ToString();
            objLogger.GravarCSV(@"C:/detraf/resumido/DetrafLocalDesbalanceamento.csv", linha);
            linha = "Excesso Reduzido;" + ExcessoReduzido.ToString();
            objLogger.GravarCSV(@"C:/detraf/resumido/DetrafLocalDesbalanceamento.csv", linha);
            linha = "Tarifa Reduzido;" + ValorHorarioReduzido.ToString();
            objLogger.GravarCSV(@"C:/detraf/resumido/DetrafLocalDesbalanceamento.csv", linha);
            linha = "Valor Bruto Reduzido;" + ValorBrutoReduzido.ToString();
            objLogger.GravarCSV(@"C:/detraf/resumido/DetrafLocalDesbalanceamento.csv", linha);
            linha = "EOT Devedor Reduzido;" + EotDevedorReduzido.ToString();
            objLogger.GravarCSV(@"C:/detraf/resumido/DetrafLocalDesbalanceamento.csv", linha);

            objLogger    = null;
            objDetrafDal = null;
            objPrecoDal  = null;
        }