예제 #1
0
        /*===================================================*\
            INGRESOS
        \*===================================================*/

        public List<EntidadFlujo> IngresosByCuentaDesc(EntidadFlujo parFiltros)
        {

            /* VARIABLES
            -----------------------------------------------------------*/
            int anio = parFiltros.Anio;
            string proyecto = parFiltros.Proyecto;
            string compania = parFiltros.Compania;
            string un = parFiltros.UnidadNegocio;
            string cuentaFlujo = "ING";


            /* FILTROS
            -----------------------------------------------------------*/
            // Se preparan los filtros de Cuenta
            EntidadCuenta entidadCuenta = new EntidadCuenta();
            entidadCuenta.Proyecto = proyecto;
            entidadCuenta.Compania = compania;
            entidadCuenta.UnidadNegocio = un;
            entidadCuenta.Flujo = cuentaFlujo;

            // Se preparan los filtros de Presupuestos
            EntidadBudget entidadBudget = new EntidadBudget();
            entidadBudget.Anio = anio;
            entidadBudget.Proyecto = proyecto;
            entidadBudget.Compania = compania;
            entidadBudget.UnidadNegocio = un;
            entidadBudget.CuentaFlujo = cuentaFlujo;

            // Se preparan los filtros de Facturas
            EntidadFactura entidadFactura = new EntidadFactura();
            entidadFactura.Anio = parFiltros.Anio;
            entidadFactura.Proyecto = parFiltros.Proyecto;
            entidadFactura.Compania = parFiltros.Compania;
            entidadFactura.UnidadNegocio = parFiltros.UnidadNegocio;
            entidadFactura.CuentaFlujo = cuentaFlujo;


            /* SE OBTIENEN LAS CUENTAS
            -----------------------------------------------------------*/
            VistaCuentas vistaCuentas = new VistaCuentas(entidadCuenta);
            List<EntidadCuenta> listaCuentas = vistaCuentas.GroupByDesc();
            if (vistaCuentas.Log == "OK")
            {

                /* SE OBTIENEN LOS PRESUPUESTOS
                -----------------------------------------------------------*/
                VistaBudgets vistaBudgets = new VistaBudgets(entidadBudget);
                List<EntidadBudget> listaBudgets = vistaBudgets.GroupByCuentaDesc();
                if (vistaBudgets.Log == "VACIO")
                {
                    listaBudgets = new List<EntidadBudget>();
                }
                else if (vistaBudgets.Log != "OK")
                {
                    EntidadFlujo error = new EntidadFlujo();
                    error.Log = vistaBudgets.Log;
                    return this.Error(error);
                }

                /* SE OBTIENEN LAS CUENTAS COBRADAS
                -----------------------------------------------------------*/
                VisMaCuentasCobradas vistaCuentasCobradas = new VisMaCuentasCobradas(entidadFactura);
                List<EntidadFactura> listaCobros = vistaCuentasCobradas.GroupByCuentaDesc();
                if (vistaCuentasCobradas.Log == "VACIO")
                {
                    listaCobros = new List<EntidadFactura>();
                }
                else if (vistaCuentasCobradas.Log != "OK")
                {
                    EntidadFlujo error = new EntidadFlujo();
                    error.Log = vistaCuentasCobradas.Log;
                    return this.Error(error);
                }


                /* SE OBTIENEN LAS CUENTAS POR COBRAR
                -----------------------------------------------------------*/
                VisMaCuentasXCobrar vistaCuentasXCobrar = new VisMaCuentasXCobrar(entidadFactura);
                List<EntidadFactura> listaCxc = vistaCuentasXCobrar.GroupByCuentaDesc();
                if (vistaCuentasXCobrar.Log == "VACIO")
                {
                    listaCxc = new List<EntidadFactura>();
                }
                else if (vistaCuentasXCobrar.Log != "OK")
                {
                    EntidadFlujo error = new EntidadFlujo();
                    error.Log = vistaCuentasXCobrar.Log;
                    return this.Error(error);
                }


                /* SE GRENERAN LOS JOINS ENTE RESULTADOS
                -----------------------------------------------------------*/

                var listaCuBu = (
                                        from Cu in listaCuentas
                                        join Bu in listaBudgets
                                        on Cu.Descripcion equals Bu.CuentaDesc into jCuBu
                                        from Bu in jCuBu.DefaultIfEmpty()
                                        select new
                                        {
                                            CuentaDesc = Cu.Descripcion,
                                            EneroPresu = Bu != null ? Bu.Enero : 0,
                                            FebreroPresu = Bu != null ? Bu.Febrero : 0,
                                            MarzoPresu = Bu != null ? Bu.Marzo : 0,
                                            AbrilPresu = Bu != null ? Bu.Abril : 0,
                                            MayoPresu = Bu != null ? Bu.Mayo : 0,
                                            JunioPresu = Bu != null ? Bu.Junio : 0,
                                            JulioPresu = Bu != null ? Bu.Julio : 0,
                                            AgostoPresu = Bu != null ? Bu.Agosto : 0,
                                            SeptiembrePresu = Bu != null ? Bu.Septiembre : 0,
                                            OctubrePresu = Bu != null ? Bu.Octubre : 0,
                                            NoviembrePresu = Bu != null ? Bu.Noviembre : 0,
                                            DiciembrePresu = Bu != null ? Bu.Diciembre : 0,
                                            TotalPresu = Bu != null ? Bu.Total : 0
                                        }).ToList();

                var listaCuBuCc = (
                                        from CuBu in listaCuBu
                                        join CC in listaCobros
                                        on CuBu.CuentaDesc equals CC.CuentaDesc into jCuBuCc
                                        from CC in jCuBuCc.DefaultIfEmpty()
                                        select new
                                        {
                                            CuentaDesc = CuBu.CuentaDesc,
                                            EneroPresu = CuBu.EneroPresu,
                                            FebreroPresu = CuBu.FebreroPresu,
                                            MarzoPresu = CuBu.MarzoPresu,
                                            AbrilPresu = CuBu.AbrilPresu,
                                            MayoPresu = CuBu.MayoPresu,
                                            JunioPresu = CuBu.JunioPresu,
                                            JulioPresu = CuBu.JulioPresu,
                                            AgostoPresu = CuBu.AgostoPresu,
                                            SeptiembrePresu = CuBu.SeptiembrePresu,
                                            OctubrePresu = CuBu.OctubrePresu,
                                            NoviembrePresu = CuBu.NoviembrePresu,
                                            DiciembrePresu = CuBu.DiciembrePresu,
                                            TotalPresu = CuBu.TotalPresu,

                                            EneroEjer = CC != null ? CC.Enero : 0,
                                            FebreroEjer = CC != null ? CC.Febrero : 0,
                                            MarzoEjer = CC != null ? CC.Marzo : 0,
                                            AbrilEjer = CC != null ? CC.Abril : 0,
                                            MayoEjer = CC != null ? CC.Mayo : 0,
                                            JunioEjer = CC != null ? CC.Junio : 0,
                                            JulioEjer = CC != null ? CC.Julio : 0,
                                            AgostoEjer = CC != null ? CC.Agosto : 0,
                                            SeptiembreEjer = CC != null ? CC.Septiembre : 0,
                                            OctubreEjer = CC != null ? CC.Octubre : 0,
                                            NoviembreEjer = CC != null ? CC.Noviembre : 0,
                                            DiciembreEjer = CC != null ? CC.Diciembre : 0,
                                            TotalPagado = CC != null ? CC.Total : 0,

                                            EneroDif = CC != null ? CuBu.EneroPresu - CC.Enero : CuBu.EneroPresu,
                                            FebreroDif = CC != null ? CuBu.FebreroPresu - CC.Febrero : CuBu.FebreroPresu,
                                            MarzoDif = CC != null ? CuBu.MarzoPresu - CC.Marzo : CuBu.MarzoPresu,
                                            AbrilDif = CC != null ? CuBu.AbrilPresu - CC.Abril : CuBu.AbrilPresu,
                                            MayoDif = CC != null ? CuBu.MayoPresu - CC.Mayo : CuBu.MayoPresu,
                                            JunioDif = CC != null ? CuBu.JunioPresu - CC.Junio : CuBu.JunioPresu,
                                            JulioDif = CC != null ? CuBu.JulioPresu - CC.Julio : CuBu.JulioPresu,
                                            AgostoDif = CC != null ? CuBu.AgostoPresu - CC.Agosto : CuBu.AgostoPresu,
                                            SeptiembreDif = CC != null ? CuBu.SeptiembrePresu - CC.Septiembre : CuBu.SeptiembrePresu,
                                            OctubreDif = CC != null ? CuBu.OctubrePresu - CC.Octubre : CuBu.OctubrePresu,
                                            NoviembreDif = CC != null ? CuBu.NoviembrePresu - CC.Noviembre : CuBu.NoviembrePresu,
                                            DiciembreDif = CC != null ? CuBu.DiciembrePresu - CC.Diciembre : CuBu.DiciembrePresu,
                                            TotalDif = CC != null ? CuBu.TotalPresu - CC.Total : CuBu.TotalPresu
                                        }

                                ).ToList();

                var fullList = (
                                    from CuBuCc in listaCuBuCc
                                    join Cxc in listaCxc
                                    on CuBuCc.CuentaDesc equals Cxc.CuentaDesc into jCuBuCcCxc
                                    from Cxc in jCuBuCcCxc.DefaultIfEmpty()
                                    select new
                                    {
                                        CuentaDesc = CuBuCc.CuentaDesc,
                                        EneroEjer = CuBuCc.EneroEjer,
                                        FebreroEjer = CuBuCc.FebreroEjer,
                                        MarzoEjer = CuBuCc.MarzoEjer,
                                        AbrilEjer = CuBuCc.AbrilEjer,
                                        MayoEjer = CuBuCc.MayoEjer,
                                        JunioEjer = CuBuCc.JunioEjer,
                                        JulioEjer = CuBuCc.JulioEjer,
                                        AgostoEjer = CuBuCc.AgostoEjer,
                                        SeptiembreEjer = CuBuCc.SeptiembreEjer,
                                        OctubreEjer = CuBuCc.OctubreEjer,
                                        NoviembreEjer = CuBuCc.NoviembreEjer,
                                        DiciembreEjer = CuBuCc.DiciembreEjer,
                                        TotalPagado = CuBuCc.TotalPagado,

                                        EneroPresu = CuBuCc.EneroPresu,
                                        FebreroPresu = CuBuCc.FebreroPresu,
                                        MarzoPresu = CuBuCc.MarzoPresu,
                                        AbrilPresu = CuBuCc.AbrilPresu,
                                        MayoPresu = CuBuCc.MayoPresu,
                                        JunioPresu = CuBuCc.JunioPresu,
                                        JulioPresu = CuBuCc.JulioPresu,
                                        AgostoPresu = CuBuCc.AgostoPresu,
                                        SeptiembrePresu = CuBuCc.SeptiembrePresu,
                                        OctubrePresu = CuBuCc.OctubrePresu,
                                        NoviembrePresu = CuBuCc.NoviembrePresu,
                                        DiciembrePresu = CuBuCc.DiciembrePresu,
                                        TotalPresu = CuBuCc.TotalPresu,

                                        EneroDif = CuBuCc.EneroDif,
                                        FebreroDif = CuBuCc.FebreroDif,
                                        MarzoDif = CuBuCc.MarzoDif,
                                        AbrilDif = CuBuCc.AbrilDif,
                                        MayoDif = CuBuCc.MayoDif,
                                        JunioDif = CuBuCc.JunioDif,
                                        JulioDif = CuBuCc.JulioDif,
                                        AgostoDif = CuBuCc.AgostoDif,
                                        SeptiembreDif = CuBuCc.SeptiembreDif,
                                        OctubreDif = CuBuCc.OctubreDif,
                                        NoviembreDif = CuBuCc.NoviembreDif,
                                        DiciembreDif = CuBuCc.DiciembreDif,
                                        TotalDif = CuBuCc.TotalDif,
                                        TotalCxc = Cxc != null ? Cxc.Total : 0
                                    }

                            ).ToList().OrderBy(a => a.CuentaDesc);



                /* CREAR LISTA DE INGRESOS
                -----------------------------------------------------------*/
                List<EntidadFlujo> listaIngresos = new List<EntidadFlujo>();

                foreach (var item in fullList)
                {
                    if (item.TotalPagado != 0 || item.TotalPresu != 0 || item.TotalCxc != 0)
                    {
                        EntidadFlujo aux = new EntidadFlujo();
                        aux.Anio = anio;
                        aux.Proyecto = proyecto;
                        aux.Compania = compania;
                        aux.UnidadNegocio = un;
                        aux.CuentaDesc = item.CuentaDesc;
                        aux.EneroEjercido = item.EneroEjer;
                        aux.FebreroEjercido = item.FebreroEjer;
                        aux.MarzoEjercido = item.MarzoEjer;
                        aux.AbrilEjercido = item.AbrilEjer;
                        aux.MayoEjercido = item.MayoEjer;
                        aux.JunioEjercido = item.JunioEjer;
                        aux.JulioEjercido = item.JulioEjer;
                        aux.AgostoEjercido = item.AgostoEjer;
                        aux.SeptiembreEjercido = item.SeptiembreEjer;
                        aux.OctubreEjercido = item.OctubreEjer;
                        aux.NoviembreEjercido = item.NoviembreEjer;
                        aux.DiciembreEjercido = item.DiciembreEjer;
                        aux.EneroBudget = item.EneroPresu;
                        aux.FebreroBudget = item.FebreroPresu;
                        aux.MarzoBudget = item.MarzoPresu;
                        aux.AbrilBudget = item.AbrilPresu;
                        aux.MayoBudget = item.MayoPresu;
                        aux.JunioBudget = item.JunioPresu;
                        aux.JulioBudget = item.JulioPresu;
                        aux.AgostoBudget = item.AgostoPresu;
                        aux.SeptiembreBudget = item.SeptiembrePresu;
                        aux.OctubreBudget = item.OctubrePresu;
                        aux.NoviembreBudget = item.NoviembrePresu;
                        aux.DiciembreBudget = item.DiciembrePresu;
                        aux.EneroDesviacion = item.EneroDif;
                        aux.FebreroDesviacion = item.FebreroDif;
                        aux.MarzoDesviacion = item.MarzoDif;
                        aux.AbrilDesviacion = item.AbrilDif;
                        aux.MayoDesviacion = item.MayoDif;
                        aux.JunioDesviacion = item.JunioDif;
                        aux.JulioDesviacion = item.JulioDif;
                        aux.AgostoDesviacion = item.AgostoDif;
                        aux.SeptiembreDesviacion = item.SeptiembreDif;
                        aux.OctubreDesviacion = item.OctubreDif;
                        aux.NoviembreDesviacion = item.NoviembreDif;
                        aux.DiciembreDesviacion = item.DiciembreDif;
                        aux.TotalBudget = item.TotalPresu;
                        aux.TotalEjercido = item.TotalPagado;
                        aux.TotalPendiente = item.TotalCxc;
                        aux.TotalDesviacion = item.TotalDif - item.TotalCxc;
                        aux.Log = "-";
                        listaIngresos.Add(aux);
                    }
                }

                if (listaIngresos.Count != 0)
                {
                    return listaIngresos;
                }
                else
                {

                    EntidadFlujo error = new EntidadFlujo();
                    error.Log = "VACIO";
                    return this.Error(error);
                }
            }
            else
            {
                EntidadFlujo error = new EntidadFlujo();
                error.Log = vistaCuentas.Log;
                return this.Error(error);

            }
        }
예제 #2
0
        public List<EntidadResumen> IngresosEgresosByUn(EntidadResumen parFiltros)
        {

            /* VARIABLES
            -----------------------------------------------------------*/
            int anio = parFiltros.Anio;
            string compania = parFiltros.Compania;
            string unidadNegocio = parFiltros.UnidadNegocio;
            string proyecto = parFiltros.Proyecto;

            EntidadResumen control = new EntidadResumen();


            /* FILTROS
            -----------------------------------------------------------*/
            EntidadUnidadNegocio entidadCentro = new EntidadUnidadNegocio();
            entidadCentro.Compania = compania;
            entidadCentro.Clave = unidadNegocio;
            //entidadCentro.ProyectoTipo = "D";
            entidadCentro.Proyecto = proyecto;

            EntidadFactura entidadFactura = new EntidadFactura();
            entidadFactura.Anio = anio;
            entidadFactura.Compania = compania;


            /* Obtener Centros de Costos
            -----------------------------------------------------------*/
            TablaUnidadesNegocio tablaCentros = new TablaUnidadesNegocio(entidadCentro);
            List<EntidadUnidadNegocio> listaCentros = tablaCentros.Obtener();
            if (tablaCentros.Log == "OK")
            {

                /* Preparar la lista a devolver
                -----------------------------------------------------------*/
                List<EntidadResumen> listaResumen = new List<EntidadResumen>();

                foreach (EntidadUnidadNegocio centro in listaCentros)
                {
                    /* Prepara linea
                    -----------------------------------------------------------*/
                    EntidadResumen resumen = new EntidadResumen();
                    resumen.Anio = anio;
                    resumen.Compania = compania;
                    resumen.UnidadNegocio = centro.Clave;
                    resumen.UnidadNegocioDesc = centro.Descripcion;
                    resumen.Proyecto = centro.Proyecto;
                    resumen.ProyectoDesc = centro.ProyectoDesc;
                    resumen.Log = "-";

                    /* Obtener Ingreso
                    -----------------------------------------------------------*/
                    entidadFactura.CuentaFlujo = "ING";
                    entidadFactura.UnidadNegocio = centro.Clave;
                    VisMaCuentasCobradas vistaCC = new VisMaCuentasCobradas(entidadFactura);
                    List<EntidadFactura> listaCC = vistaCC.GroupByUn();
                    if (vistaCC.Log == "OK" || vistaCC.Log == "VACIO")
                    {
                        if (listaCC != null)
                        {
                            resumen.IngresoEnero = (from registro in listaCC select registro.Enero).Sum();
                            resumen.IngresoFebrero = (from registro in listaCC select registro.Febrero).Sum();
                            resumen.IngresoMarzo = (from registro in listaCC select registro.Marzo).Sum();
                            resumen.IngresoAbril = (from registro in listaCC select registro.Abril).Sum();
                            resumen.IngresoMayo = (from registro in listaCC select registro.Mayo).Sum();
                            resumen.IngresoJunio = (from registro in listaCC select registro.Junio).Sum();
                            resumen.IngresoJulio = (from registro in listaCC select registro.Julio).Sum();
                            resumen.IngresoAgosto = (from registro in listaCC select registro.Agosto).Sum();
                            resumen.IngresoSeptiembre = (from registro in listaCC select registro.Septiembre).Sum();
                            resumen.IngresoOctubre = (from registro in listaCC select registro.Octubre).Sum();
                            resumen.IngresoNoviembre = (from registro in listaCC select registro.Noviembre).Sum();
                            resumen.IngresoDiciembre = (from registro in listaCC select registro.Diciembre).Sum();

                            resumen.IngresoTotal = (from registro in listaCC select registro.Total).Sum();
                        }
                        else
                        {
                            resumen.IngresoEnero = 0.0f;
                            resumen.IngresoFebrero = 0.0f;
                            resumen.IngresoMarzo = 0.0f;
                            resumen.IngresoAbril = 0.0f;
                            resumen.IngresoMayo = 0.0f;
                            resumen.IngresoJunio = 0.0f;
                            resumen.IngresoJulio = 0.0f;
                            resumen.IngresoAgosto = 0.0f;
                            resumen.IngresoSeptiembre = 0.0f;
                            resumen.IngresoOctubre = 0.0f;
                            resumen.IngresoNoviembre = 0.0f;
                            resumen.IngresoDiciembre = 0.0f;

                            resumen.IngresoTotal = 0.0f;
                        }
                    }
                    else
                    {

                        control.Log = vistaCC.Log;
                        return this.Error(control);
                    }

                    /* Obtener Egreso
                    -----------------------------------------------------------*/
                    entidadFactura.CuentaFlujo = "EGR";
                    entidadFactura.UnidadNegocio = centro.Clave;
                    VisMaCuentasPagadas vistaCP = new VisMaCuentasPagadas(entidadFactura);
                    List<EntidadFactura> listaCP = vistaCP.GroupByUn();
                    if (vistaCP.Log == "OK" || vistaCP.Log == "VACIO")
                    {
                        if (listaCP != null)
                        {
                            resumen.EgresoEnero = (from registro in listaCP select registro.Enero).Sum();
                            resumen.EgresoFebrero = (from registro in listaCP select registro.Febrero).Sum();
                            resumen.EgresoMarzo = (from registro in listaCP select registro.Marzo).Sum();
                            resumen.EgresoAbril = (from registro in listaCP select registro.Abril).Sum();
                            resumen.EgresoMayo = (from registro in listaCP select registro.Mayo).Sum();
                            resumen.EgresoJunio = (from registro in listaCP select registro.Junio).Sum();
                            resumen.EgresoJulio = (from registro in listaCP select registro.Julio).Sum();
                            resumen.EgresoAgosto = (from registro in listaCP select registro.Agosto).Sum();
                            resumen.EgresoSeptiembre = (from registro in listaCP select registro.Septiembre).Sum();
                            resumen.EgresoOctubre = (from registro in listaCP select registro.Octubre).Sum();
                            resumen.EgresoNoviembre = (from registro in listaCP select registro.Noviembre).Sum();
                            resumen.EgresoDiciembre = (from registro in listaCP select registro.Diciembre).Sum();

                            resumen.EgresoTotal = (from registro in listaCP select registro.Total).Sum();
                        }
                        else
                        {
                            resumen.EgresoEnero = 0.0f;
                            resumen.EgresoFebrero = 0.0f;
                            resumen.EgresoMarzo = 0.0f;
                            resumen.EgresoAbril = 0.0f;
                            resumen.EgresoMayo = 0.0f;
                            resumen.EgresoJunio = 0.0f;
                            resumen.EgresoJulio = 0.0f;
                            resumen.EgresoAgosto = 0.0f;
                            resumen.EgresoSeptiembre = 0.0f;
                            resumen.EgresoOctubre = 0.0f;
                            resumen.EgresoNoviembre = 0.0f;
                            resumen.EgresoDiciembre = 0.0f;
                            resumen.EgresoTotal = 0.0f;
                        }
                    }
                    else
                    {
                        control.Log = vistaCC.Log;
                        return this.Error(control);
                    }

                    /* Obtener CXC
                    -----------------------------------------------------------*/
                    entidadFactura.CuentaFlujo = "ING";
                    entidadFactura.UnidadNegocio = centro.Clave;
                    VisMaCuentasXCobrar vistaCxc = new VisMaCuentasXCobrar(entidadFactura);
                    List<EntidadFactura> listaCxc = vistaCxc.GroupByUn();
                    if (vistaCxc.Log == "OK" || vistaCxc.Log == "VACIO")
                    {
                        if (listaCxc != null)
                        {
                            resumen.Cxc = (from registro in listaCxc select registro.Total).Sum();
                        }
                        else
                        {
                            resumen.Cxc = 0.0f;
                        }
                    }
                    else
                    {
                        control.Log = vistaCxc.Log;
                        return this.Error(control);
                    }

                    /* Obtener CXP
                    -----------------------------------------------------------*/
                    entidadFactura.CuentaFlujo = "EGR";
                    entidadFactura.UnidadNegocio = centro.Clave;
                    VisMaCuentasXPagar vistaCxp = new VisMaCuentasXPagar(entidadFactura);
                    List<EntidadFactura> listaCxp = vistaCxp.GroupByUn();
                    if (vistaCxp.Log == "OK" || vistaCxp.Log == "VACIO")
                    {
                        if (listaCxp != null)
                        {
                            resumen.Cxp = (from registro in listaCxp select registro.Total).Sum();
                        }
                        else
                        {
                            resumen.Cxp = 0.0f;
                        }

                    }
                    else
                    {
                        control.Log = vistaCxp.Log;
                        return this.Error(control);
                    }

                    // Agrega linea a lista a devolver
                    listaResumen.Add(resumen);
                }

                return listaResumen;
            }
            else
            {
                EntidadResumen error = new EntidadResumen();
                error.Log = tablaCentros.Log;
                return this.Error(error);
            }
        }
예제 #3
0
        /*===================================================*\
            INGRESOS & EGRESOS
        \*===================================================*/

        public List<EntidadFlujo> FlujosEfectivoByZona(EntidadFlujo parFiltros)
        {
            /* VARIABLES
            -----------------------------------------------------------*/
            int anio = parFiltros.Anio;
            string zona = parFiltros.Zona;

            float ingresoEjercido = 0.0f;
            float ingresoPendiente = 0.0f;
            float ingresoBudget = 0.0f;
            float ingresoBalance = 0.0f;
            float ingresoDesviacion = 0.0f;

            float egresoEjercido = 0.0f;
            float egresoPendiente = 0.0f;
            float egresoBudget = 0.0f;
            float egresoBalance = 0.0f;
            float egresoDesviacion = 0.0f;


            /* FILTROS
            -----------------------------------------------------------*/
            // Se preparan los filtros de Factura
            EntidadFactura entidadFactura = new EntidadFactura();
            entidadFactura.Anio = anio;
            entidadFactura.Zona = zona;
            entidadFactura.ProyectoTipo = "P";
            entidadFactura.ProyectoEstado = "Y";

            /* INGRESOS
            -----------------------------------------------------------*/
            // Cuentas Cobradas
            entidadFactura.CuentaFlujo = "ING";
            VisMaCuentasCobradas vistaCuentasCobradas = new VisMaCuentasCobradas(entidadFactura);
            List<EntidadFactura> listaCuentasCobradas = vistaCuentasCobradas.GroupByZona();

            if (vistaCuentasCobradas.Log == "OK")
            {
                ingresoEjercido = (from a in listaCuentasCobradas select a.Total).Sum();
            }
            else if (vistaCuentasCobradas.Log == "VACIO")
            {

                ingresoEjercido = 0.0f;
            }
            else
            {
                EntidadFlujo error = new EntidadFlujo();
                error.Log = vistaCuentasCobradas.Log;
                return this.Error(error);
            }

            // Cuentas X Cobrar
            entidadFactura.CuentaFlujo = "ING";
            VisMaCuentasXCobrar vistaCuentasXCobrar = new VisMaCuentasXCobrar(entidadFactura);
            List<EntidadFactura> listaCuentasXCobrar = vistaCuentasXCobrar.GroupByZona();

            if (vistaCuentasXCobrar.Log == "OK")
            {
                ingresoPendiente = (from a in listaCuentasXCobrar select a.Total).Sum();
            }
            else if (vistaCuentasXCobrar.Log == "VACIO")
            {
                ingresoPendiente = 0.0f;
            }
            else
            {
                EntidadFlujo error = new EntidadFlujo();
                error.Log = vistaCuentasXCobrar.Log;
                return this.Error(error);
            }

            // Se Calcula la Balance y Desviación
            ingresoBalance = ingresoEjercido + ingresoPendiente;
            ingresoDesviacion = ingresoBudget - ingresoBalance;


            /* EGRESOS
            -----------------------------------------------------------*/
            // Se obtiene las Cuentas Pagadas
            entidadFactura.CuentaFlujo = "EGR";
            VisMaCuentasPagadas vistaCuentasPagadas = new VisMaCuentasPagadas(entidadFactura);
            List<EntidadFactura> listaCuentasPagadas = vistaCuentasPagadas.GroupByZona();
            if (vistaCuentasPagadas.Log == "OK")
            {
                egresoEjercido = (from a in listaCuentasPagadas select a.Total).Sum();
            }
            else if (vistaCuentasPagadas.Log == "VACIO")
            {
                egresoEjercido = 0.0f;
            }
            else
            {
                EntidadFlujo error = new EntidadFlujo();
                error.Log = vistaCuentasPagadas.Log;
                return this.Error(error);
            }

            // Se obtiene las Cuentas X Pagar
            entidadFactura.CuentaFlujo = "EGR";
            VisMaCuentasXPagar vistaCuentasXPagar = new VisMaCuentasXPagar(entidadFactura);
            List<EntidadFactura> listaCuentasXPagar = vistaCuentasXPagar.GroupByZona();

            if (vistaCuentasXPagar.Log == "OK")
            {
                egresoPendiente = (from a in listaCuentasXPagar select a.Total).Sum();
            }
            else if (vistaCuentasXPagar.Log == "VACIO")
            {
                egresoPendiente = 0.0f;
            }
            else
            {
                EntidadFlujo error = new EntidadFlujo();
                error.Log = vistaCuentasXPagar.Log;
                return this.Error(error);
            }

            // Se Calcula la Balance y Desviación
            egresoBalance = egresoEjercido + egresoPendiente;
            egresoDesviacion = egresoBudget - egresoBalance;


            /* PREPARAR RESULTADOS (Lista de Egresos e Ingresos)
            -----------------------------------------------------------*/
            // Fila de Ingresos
            EntidadFlujo ingresos = new EntidadFlujo();
            ingresos.Zona = zona;
            ingresos.CuentaTipo = "INGRESO";
            ingresos.TotalEjercido = ingresoEjercido;
            ingresos.TotalPendiente = ingresoPendiente;
            ingresos.TotalBudget = ingresoBudget;
            ingresos.TotalBalance = ingresoBalance;
            ingresos.TotalDesviacion = ingresoDesviacion;
            ingresos.Log = "-";

            // Fila de Egresos
            EntidadFlujo egresos = new EntidadFlujo();
            egresos.Zona = zona;
            egresos.CuentaTipo = "EGRESO";
            egresos.TotalEjercido = egresoEjercido;
            egresos.TotalPendiente = egresoPendiente;
            egresos.TotalBudget = egresoBudget;
            egresos.TotalBalance = egresoBalance;
            egresos.TotalDesviacion = egresoDesviacion;
            egresos.Log = "-";

            // Lista de Ingreso y Egreso
            List<EntidadFlujo> lista = new List<EntidadFlujo>();
            lista.Add(ingresos);
            lista.Add(egresos);

            return lista;
        }
예제 #4
0
        public List<EntidadFlujo> FlujosEfectivoByUn(EntidadFlujo parFiltros)
        {

            /* VARIABLES
            -----------------------------------------------------------*/
            int anio = parFiltros.Anio;
            string compania = parFiltros.Compania;
            string un = parFiltros.UnidadNegocio;

            float ingresoEjercido = 0.0f;
            float ingresoPendiente = 0.0f;
            float ingresoBudget = 0.0f;
            float ingresoBalance = 0.0f;
            float ingresoDesviacion = 0.0f;

            float egresoEjercido = 0.0f;
            float egresoPendiente = 0.0f;
            float egresoBudget = 0.0f;
            float egresoBalance = 0.0f;
            float egresoDesviacion = 0.0f;


            /* FILTROS
            -----------------------------------------------------------*/
            // Se preparan los filtros de entidades Factura
            EntidadFactura entidadFactura = new EntidadFactura();
            entidadFactura.Anio = anio;
            entidadFactura.Compania = compania;
            entidadFactura.UnidadNegocio = un;


            /* INGRESOS
            -----------------------------------------------------------*/
            // Se obtiene las Cuentas Cobradas
            entidadFactura.CuentaFlujo = "ING";
            VisMaCuentasCobradas vistaCuentasCobradas = new VisMaCuentasCobradas(entidadFactura);
            List<EntidadFactura> listaCuentasCobradas = vistaCuentasCobradas.GroupByUn();
            if (vistaCuentasCobradas.Log == "OK" || vistaCuentasCobradas.Log == "VACIO")
            {
                if (listaCuentasCobradas != null)
                {
                    ingresoEjercido = (from a in listaCuentasCobradas select a.Total).Sum();
                }
                else
                {
                    ingresoEjercido = 0.0f;
                }
            }
            else
            {
                EntidadFlujo error = new EntidadFlujo();
                error.Log = vistaCuentasCobradas.Log;
                return this.Error(error);
            }

            // Se obtiene las Cuentas X Cobrar
            VisMaCuentasXCobrar vistaCuentasXCobrar = new VisMaCuentasXCobrar(entidadFactura);
            List<EntidadFactura> listaCuentasXCobrar = vistaCuentasXCobrar.GroupByUn();
            if (vistaCuentasXCobrar.Log == "OK" || vistaCuentasXCobrar.Log == "VACIO")
            {
                if (listaCuentasXCobrar != null)
                {
                    ingresoPendiente = (from a in listaCuentasXCobrar select a.Total).Sum();
                }
                else
                {
                    ingresoPendiente = 0.0f;
                }
            }
            else
            {
                EntidadFlujo error = new EntidadFlujo();
                error.Log = vistaCuentasXCobrar.Log;
                return this.Error(error);
            }

            //Se Calcula la Balance y Desviacion
            ingresoBalance = ingresoEjercido + ingresoPendiente;
            ingresoDesviacion = ingresoBudget - ingresoBalance;


            /* EGRESOS
             -----------------------------------------------------------*/
            // Se obtiene las Cuentas Pagadas
            entidadFactura.CuentaFlujo = "EGR";
            VisMaCuentasPagadas vistaCuentasPagadas = new VisMaCuentasPagadas(entidadFactura);
            List<EntidadFactura> listaCuentasPagadas = vistaCuentasPagadas.GroupByUn();
            if (vistaCuentasPagadas.Log == "OK" || vistaCuentasPagadas.Log == "VACIO")
            {
                if (listaCuentasPagadas != null)
                {
                    egresoEjercido = (from a in listaCuentasPagadas select a.Total).Sum();
                }
                else
                {
                    egresoEjercido = 0.0f;
                }
            }
            else
            {
                EntidadFlujo error = new EntidadFlujo();
                error.Log = vistaCuentasPagadas.Log;
                return this.Error(error);
            }

            // Se obtiene las Cuentas X Pagar
            VisMaCuentasXPagar vistaCuentasXPagar = new VisMaCuentasXPagar(entidadFactura);
            List<EntidadFactura> listaCuentasXPagar = vistaCuentasXPagar.GroupByUn();
            if (vistaCuentasXPagar.Log == "OK" || vistaCuentasXPagar.Log == "VACIO")
            {
                if (listaCuentasXPagar != null)
                {
                    egresoPendiente = (from a in listaCuentasXPagar select a.Total).Sum();
                }
                else
                {
                    egresoPendiente = 0.0f;
                }
            }
            else
            {
                EntidadFlujo error = new EntidadFlujo();
                error.Log = vistaCuentasXPagar.Log;
                return this.Error(error);
            }

            // Se Calcula el Balance y Desviacion
            egresoBalance = egresoEjercido + egresoPendiente;
            egresoDesviacion = egresoBudget - egresoBalance;


            /* RESULTADOS (Lista de Ingresos y Egresos)
            -----------------------------------------------------------*/
            // Fila de Ingresos
            EntidadFlujo ingresos = new EntidadFlujo();
            ingresos.CuentaTipo = "INGRESO";
            ingresos.UnidadNegocio = un;
            ingresos.TotalEjercido = ingresoEjercido;
            ingresos.TotalPendiente = ingresoPendiente;
            ingresos.TotalBudget = ingresoBudget;
            ingresos.TotalBalance = ingresoBalance;
            ingresos.TotalDesviacion = ingresoDesviacion;
            ingresos.Log = "-";

            // Fila de Egresos
            EntidadFlujo egresos = new EntidadFlujo();
            egresos.CuentaTipo = "EGRESO";
            egresos.UnidadNegocio = un;
            egresos.TotalEjercido = egresoEjercido;
            egresos.TotalPendiente = egresoPendiente;
            egresos.TotalBudget = egresoBudget;
            egresos.TotalBalance = egresoBalance;
            egresos.TotalDesviacion = egresoDesviacion;
            egresos.Log = "-";

            // Lista de Ingresos y Egresos
            List<EntidadFlujo> datos = new List<EntidadFlujo>();

            datos.Add(ingresos);
            datos.Add(egresos);

            return datos;
        }
예제 #5
0
        /*===================================================*\
            CUENTAS COBRADAS
        \*===================================================*/

        public List<EntidadFactura> CuentasCobradasByDoc(EntidadFactura parFiltros)
        {

            // Se preparan los filtros de Factura
            EntidadFactura entidad = new EntidadFactura();
            entidad.Anio = parFiltros.Anio;
            entidad.Proyecto = parFiltros.Proyecto;
            entidad.Compania = parFiltros.Compania;
            entidad.CuentaDesc = parFiltros.CuentaDesc;
            entidad.Periodo = parFiltros.Periodo;

            entidad.UnidadNegocio = parFiltros.UnidadNegocio;
            entidad.CuentaFlujo = "ING";

            VisMaCuentasCobradas tabla = new VisMaCuentasCobradas(entidad);
            List<EntidadFactura> lista = tabla.Obtener();

            if (tabla.Log == "OK")
            {
                return lista;
            }
            else
            {
                entidad.Log = tabla.Log;
                return this.Error(entidad);
            }

        }