Пример #1
0
        public List<EntidadBudget> Error(EntidadBudget parError)
        {
            List<EntidadBudget> ListaError = new List<EntidadBudget>();
            ListaError.Add(parError);

            return ListaError;
        }
Пример #2
0
        /*===================================================*\
            CONSTRUCTOR
        \*===================================================*/

        public VistaBudgets(EntidadBudget parRegistro) : base()
        {
            if (parRegistro != null)
            {
                this.registro = parRegistro;
            }
            else
            {
                this.registro = new EntidadBudget();
            }
        }
Пример #3
0
        /*===================================================*\
            METODOS PRIVADOS
        \*===================================================*/
        /// <summary>
        /// Metodo que sirve para convertir el objeto DataTable a una lista de Budgets
        /// </summary>
        private List<EntidadBudget> ConvertToList(OracleCommand parComando)
        {
            if (this.EjecutarConsulta(parComando, "JDE") > 0)
            {
                List<EntidadBudget> listaRegistros = new List<EntidadBudget>();

                foreach (DataRow fila in this.DatosTabla.Rows)
                {
                    EntidadBudget regTemp = new EntidadBudget();

                    regTemp.Anio = this.AsignarValor(regTemp.Anio, fila, "ANIO");
                    regTemp.Compania = this.AsignarValor(regTemp.Compania, fila, "COMPANIA");
                    regTemp.Proyecto = this.AsignarValor(regTemp.Proyecto, fila, "UN_PROYECTO");
                    regTemp.ProyectoDesc = this.AsignarValor(regTemp.ProyectoDesc, fila, "UN_PROYECTO_DESC");
                    regTemp.ProyectoTipo = this.AsignarValor(regTemp.ProyectoTipo, fila, "UN_PROYECTO_TIPO");
                    regTemp.ProyectoEstado = this.AsignarValor(regTemp.ProyectoEstado, fila, "UN_PROYECTO_ESTADO");
                    regTemp.UnidadNegocio = this.AsignarValor(regTemp.UnidadNegocio, fila, "UN");
                    regTemp.UnidadNegocioDesc = this.AsignarValor(regTemp.UnidadNegocioDesc, fila, "UN_DESC");
                    regTemp.Cuenta = this.AsignarValor(regTemp.Cuenta, fila, "CUENTA");
                    regTemp.CuentaDesc = this.AsignarValor(regTemp.CuentaDesc, fila, "CUENTA_DESC");
                    regTemp.CuentaTipo = this.AsignarValor(regTemp.CuentaTipo, fila, "CUENTA_TIPO");
                    regTemp.CuentaTipoDesc = this.AsignarValor(regTemp.CuentaTipoDesc, fila, "CUENTA_TIPO_DESC");
                    regTemp.CuentaClase = this.AsignarValor(regTemp.CuentaClase, fila, "CUENTA_CLASE");
                    regTemp.CuentaClaseDesc = this.AsignarValor(regTemp.CuentaClaseDesc, fila, "CUENTA_CLASE_DESC");
                    regTemp.CuentaFlujo = this.AsignarValor(regTemp.CuentaFlujo, fila, "CUENTA_FLUJO");
                    regTemp.CuentaFlujoDesc = this.AsignarValor(regTemp.CuentaFlujoDesc, fila, "CUENTA_FLUJO_DESC");
                    regTemp.Enero = this.AsignarValor(regTemp.Enero, fila, "ENERO");
                    regTemp.Febrero = this.AsignarValor(regTemp.Febrero, fila, "FEBRERO");
                    regTemp.Marzo = this.AsignarValor(regTemp.Marzo, fila, "MARZO");
                    regTemp.Abril = this.AsignarValor(regTemp.Abril, fila, "ABRIL");
                    regTemp.Mayo = this.AsignarValor(regTemp.Mayo, fila, "MAYO");
                    regTemp.Junio = this.AsignarValor(regTemp.Junio, fila, "JUNIO");
                    regTemp.Julio = this.AsignarValor(regTemp.Julio, fila, "JULIO");
                    regTemp.Agosto = this.AsignarValor(regTemp.Agosto, fila, "AGOSTO");
                    regTemp.Septiembre = this.AsignarValor(regTemp.Septiembre, fila, "SEPTIEMBRE");
                    regTemp.Octubre = this.AsignarValor(regTemp.Octubre, fila, "OCTUBRE");
                    regTemp.Noviembre = this.AsignarValor(regTemp.Noviembre, fila, "NOVIEMBRE");
                    regTemp.Diciembre = this.AsignarValor(regTemp.Diciembre, fila, "DICIEMBRE");
                    regTemp.Total = this.AsignarValor(regTemp.Total, fila, "TOTAL");
                    regTemp.Log = "-";

                    listaRegistros.Add(regTemp);
                }

                return listaRegistros;
            }
            else
            {
                return null;
            }
        }
Пример #4
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);

            }
        }
Пример #5
0
        public List<EntidadFlujo> FlujosEfectivoByProyecto(EntidadFlujo parFiltros)
        {

            /* VARIABLES
            -----------------------------------------------------------*/
            int anio = parFiltros.Anio;
            string compania = parFiltros.Compania;
            string proyecto = parFiltros.Proyecto;
            string proyectoDesc = parFiltros.ProyectoDesc;
            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 presupuestos
            EntidadBudget entidadBudget = new EntidadBudget();
            entidadBudget.Anio = anio;
            entidadBudget.Compania = compania;
            entidadBudget.Proyecto = proyecto;
            entidadBudget.UnidadNegocio = un;

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


            /* INGRESOS
            -----------------------------------------------------------*/
            // Se obtienen los Presupuestos de Ingresos
            entidadBudget.CuentaFlujo = "ING";
            VistaBudgets vistaBudgetsIngresos = new VistaBudgets(entidadBudget);
            List<EntidadBudget> listaBudgetsIngresos = vistaBudgetsIngresos.GroupByProyecto();
            if (vistaBudgetsIngresos.Log == "OK")
            {
                ingresoBudget = (from a in listaBudgetsIngresos select a.Total).Sum();
            }
            else if (vistaBudgetsIngresos.Log == "VACIO")
            {
                ingresoBudget = 0.0f;
            }
            else
            {
                EntidadFlujo error = new EntidadFlujo();
                error.Log = vistaBudgetsIngresos.Log;
                return this.Error(error);
            }

            // Se obtiene las Cuentas Cobradas
            entidadFactura.CuentaFlujo = "ING";
            VisMaCuentasCobradas vistaCuentasCobradas = new VisMaCuentasCobradas(entidadFactura);
            List<EntidadFactura> listaCuentasCobradas = vistaCuentasCobradas.GroupByProyecto();
            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);
            }

            // Se obtiene las Cuentas X Cobrar
            entidadFactura.CuentaFlujo = "ING";
            VisMaCuentasXCobrar vistaCuentasXCobrar = new VisMaCuentasXCobrar(entidadFactura);
            List<EntidadFactura> listaCuentasXCobrar = vistaCuentasXCobrar.GroupByProyecto();
            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 Balance y Desviacion
            ingresoBalance = ingresoEjercido + ingresoPendiente;
            ingresoDesviacion = ingresoBudget - ingresoBalance;


            /* EGRESOS
            -----------------------------------------------------------*/
            // Se obtienen los Presupuestos de Egresos
            entidadBudget.CuentaFlujo = "EGR";
            VistaBudgets vistaBudgetsEgresos = new VistaBudgets(entidadBudget);
            List<EntidadBudget> listaBudgetsEgresos = vistaBudgetsEgresos.GroupByProyecto();
            if (vistaBudgetsEgresos.Log == "OK")
            {
                egresoBudget = (from a in listaBudgetsEgresos select a.Total).Sum();
            }
            else if (vistaBudgetsEgresos.Log == "VACIO")
            {
                egresoBudget = 0.0f;
            }
            else
            {
                EntidadFlujo error = new EntidadFlujo();
                error.Log = vistaBudgetsEgresos.Log;
                return this.Error(error);
            }

            // Se obtiene las Cuentas Pagadas
            entidadFactura.CuentaFlujo = "EGR";
            VisMaCuentasPagadas vistaCuentasPagadas = new VisMaCuentasPagadas(entidadFactura);
            List<EntidadFactura> listaCuentasPagadas = vistaCuentasPagadas.GroupByProyecto();
            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.GroupByProyecto();
            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 Balance  y Desviacion
            egresoBalance = egresoEjercido + egresoPendiente;
            egresoDesviacion = egresoBudget - egresoBalance;


            /* RESULTADOS
            -----------------------------------------------------------*/

            // Fila de Ingresos
            EntidadFlujo ingresos = new EntidadFlujo();
            ingresos.CuentaTipo = "INGRESO";
            ingresos.Proyecto = proyecto;
            ingresos.ProyectoDesc = proyectoDesc;
            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.Proyecto = proyecto;
            egresos.ProyectoDesc = proyectoDesc;
            egresos.TotalEjercido = egresoEjercido;
            egresos.TotalPendiente = egresoPendiente;
            egresos.TotalBudget = egresoBudget;
            egresos.TotalBalance = egresoBalance;
            egresos.TotalDesviacion = egresoDesviacion;
            egresos.Log = "-";

            // Lista de Egresos e Ingresos
            List<EntidadFlujo> lista = new List<EntidadFlujo>();

            lista.Add(ingresos);
            lista.Add(egresos);

            return lista;
        }
Пример #6
0
        public List<EntidadFlujo2> FlujosEfectivoByProyecto2(EntidadFlujo2 parFiltros)
        {

            /* VARIABLES
            -----------------------------------------------------------*/
            int anio = parFiltros.Anio;
            string compania = parFiltros.Compania;
            string proyecto = parFiltros.Proyecto;
            string proyectoDesc = parFiltros.ProyectoDesc;
            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;

            float ingresoEnero = 0.0f;
            float ingresoFebrero = 0.0f;
            float ingresoMarzo = 0.0f;
            float ingresoAbril = 0.0f;
            float ingresoMayo = 0.0f;
            float ingresoJunio = 0.0f;
            float ingresoJulio = 0.0f;
            float ingresoAgosto = 0.0f;
            float ingresoSeptiembre = 0.0f;
            float ingresoOctubre = 0.0f;
            float ingresoNoviembre = 0.0f;
            float ingresoDiciembre = 0.0f;
            float ingresoTraspaso = 0.0f;

            float egresoEnero = 0.0f;
            float egresoFebrero = 0.0f;
            float egresoMarzo = 0.0f;
            float egresoAbril = 0.0f;
            float egresoMayo = 0.0f;
            float egresoJunio = 0.0f;
            float egresoJulio = 0.0f;
            float egresoAgosto = 0.0f;
            float egresoSeptiembre = 0.0f;
            float egresoOctubre = 0.0f;
            float egresoNoviembre = 0.0f;
            float egresoDiciembre = 0.0f;
            float egresoTraspasoPasivo = 0.0f;

            float invEnero = 0.0f;
            float invFebrero = 0.0f;
            float invMarzo = 0.0f;
            float invAbril = 0.0f;
            float invMayo = 0.0f;
            float invJunio = 0.0f;
            float invJulio = 0.0f;
            float invAgosto = 0.0f;
            float invSeptiembre = 0.0f;
            float invOctubre = 0.0f;
            float invNoviembre = 0.0f;
            float invDiciembre = 0.0f;
            float invTraspaso = 0.0f;

            float PasTotEnero = 0.0f;
            float PasTotFebrero = 0.0f;
            float PasTotMarzo = 0.0f;
            float PasTotAbril = 0.0f;
            float PasTotMayo = 0.0f;
            float PasTotJunio = 0.0f;
            float PasTotJulio = 0.0f;
            float PasTotAgosto = 0.0f;
            float PasTotSeptiembre = 0.0f;
            float PasTotOctubre = 0.0f;
            float PasTotNoviembre = 0.0f;
            float PasTotDiciembre = 0.0f;
            float PasTotTraspaso = 0.0f;

            float CapitalEnero = 0.0f;
            float CapitalFebrero = 0.0f;
            float CapitalMarzo = 0.0f;
            float CapitalAbril = 0.0f;
            float CapitalMayo = 0.0f;
            float CapitalJunio = 0.0f;
            float CapitalJulio = 0.0f;
            float CapitalAgosto = 0.0f;
            float CapitalSeptiembre = 0.0f;
            float CapitalOctubre = 0.0f;
            float CapitalNoviembre = 0.0f;
            float CapitalDiciembre = 0.0f;
            float CapitalTraspaso = 0.0f;

            float activofijoEnero = 0.0f;
            float activofijoFebrero = 0.0f;
            float activofijoMarzo = 0.0f;
            float activofijoAbril = 0.0f;
            float activofijoMayo = 0.0f;
            float activofijoJunio = 0.0f;
            float activofijoJulio = 0.0f;
            float activofijoAgosto = 0.0f;
            float activofijoSeptiembre = 0.0f;
            float activofijoOctubre = 0.0f;
            float activofijoNoviembre = 0.0f;
            float activofijoDiciembre = 0.0f;
            float activofijoTraspaso = 0.0f;

            float CapSocialEnero = 0.0f;
            float CapSocialFebrero = 0.0f;
            float CapSocialMarzo = 0.0f;
            float CapSocialAbril = 0.0f;
            float CapSocialMayo = 0.0f;
            float CapSocialJunio = 0.0f;
            float CapSocialJulio = 0.0f;
            float CapSocialAgosto = 0.0f;
            float CapSocialSeptiembre = 0.0f;
            float CapSocialOctubre = 0.0f;
            float CapSocialNoviembre = 0.0f;
            float CapSocialDiciembre = 0.0f;
            float CapSocialTraspaso = 0.0f;

            float VentasNetasEnero = 0.0f;
            float VentasNetasFebrero = 0.0f;
            float VentasNetasMarzo = 0.0f;
            float VentasNetasAbril = 0.0f;
            float VentasNetasMayo = 0.0f;
            float VentasNetasJunio = 0.0f;
            float VentasNetasJulio = 0.0f;
            float VentasNetasAgosto = 0.0f;
            float VentasNetasSeptiembre = 0.0f;
            float VentasNetasOctubre = 0.0f;
            float VentasNetasNoviembre = 0.0f;
            float VentasNetasDiciembre = 0.0f;
            float VentasNetasTraspaso = 0.0f;

            float egresosEnero = 0.0f;
            float egresosFebrero = 0.0f;
            float egresosMarzo = 0.0f;
            float egresosAbril = 0.0f;
            float egresosMayo = 0.0f;
            float egresosJunio = 0.0f;
            float egresosJulio = 0.0f;
            float egresosAgosto = 0.0f;
            float egresosSeptiembre = 0.0f;
            float egresosOctubre = 0.0f;
            float egresosNoviembre = 0.0f;
            float egresosDiciembre = 0.0f;
            float egresosTraspaso = 0.0f;



            /* FILTROS
            -----------------------------------------------------------*/
            // Se preparan los filtros de presupuestos
            EntidadBudget entidadBudget = new EntidadBudget();
            entidadBudget.Anio = anio;
            entidadBudget.Compania = compania;
            entidadBudget.Proyecto = proyecto;
            entidadBudget.UnidadNegocio = un;

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

            // Se preparan los filtros de activos circulantes
            EntidadActivoCirculante entidadActivoCir = new EntidadActivoCirculante();
            entidadActivoCir.Anio = anio;
            entidadActivoCir.Compania = proyecto;

            // Se preparan los filtros de pasivos circulantes
            EntidadPasivoCirculante entidadPasivoCir = new EntidadPasivoCirculante();
            entidadPasivoCir.Anio = anio;
            entidadPasivoCir.Compania = proyecto;

            /* ACTIVO CIRCULANTE
            -----------------------------------------------------------*/
            // Se obtienen los Activos Circulantes
            entidadActivoCir.CuentaFlujo = "ING";
            VistaActivoCirculante vistaActivoCirculante = new VistaActivoCirculante(entidadActivoCir);
            List<EntidadActivoCirculante> listaActivoCirculante = vistaActivoCirculante.GroupByCuentas();
            if (vistaActivoCirculante.Log == "OK")
            {

                ingresoEnero = listaActivoCirculante[0].Enero;
                ingresoFebrero = listaActivoCirculante[0].Febrero;
                ingresoMarzo = listaActivoCirculante[0].Marzo;
                ingresoAbril = listaActivoCirculante[0].Abril;
                ingresoMayo = listaActivoCirculante[0].Mayo;
                ingresoJunio = listaActivoCirculante[0].Junio;
                ingresoJulio = listaActivoCirculante[0].Julio;
                ingresoAgosto = listaActivoCirculante[0].Agosto;
                ingresoSeptiembre = listaActivoCirculante[0].Septiembre;
                ingresoOctubre = listaActivoCirculante[0].Octubre;
                ingresoNoviembre = listaActivoCirculante[0].Noviembre;
                ingresoDiciembre = listaActivoCirculante[0].Diciembre;
                ingresoTraspaso = listaActivoCirculante[0].Traspaso;

                //ingresoBudget = (from a in listaActivoCirculante select a.Enero).Sum()
                //                + (from a in listaActivoCirculante select a.Febrero).Sum()
                //                + (from a in listaActivoCirculante select a.Marzo).Sum()
                //                + (from a in listaActivoCirculante select a.Abril).Sum()
                //                + (from a in listaActivoCirculante select a.Mayo).Sum()
                //                + (from a in listaActivoCirculante select a.Junio).Sum()
                //                + (from a in listaActivoCirculante select a.Julio).Sum()
                //                + (from a in listaActivoCirculante select a.Agosto).Sum()
                //                + (from a in listaActivoCirculante select a.Septiembre).Sum()
                //                + (from a in listaActivoCirculante select a.Octubre).Sum()
                //                + (from a in listaActivoCirculante select a.Noviembre).Sum()
                //                + (from a in listaActivoCirculante select a.Diciembre).Sum()
                //                + (from a in listaActivoCirculante select a.Total).Sum();
            }
            else if (vistaActivoCirculante.Log == "VACIO")
            {
                ingresoBudget = 0.0f;
                ingresoEjercido = 0.0f;
            }
            else
            {
                EntidadFlujo2 error = new EntidadFlujo2();  //checar*****
                error.Log = vistaActivoCirculante.Log;
                return this.Error(error);
            }
            /*  -----------------------------------------------------------  */


            /* PASIVO CIRCULANTE
            -----------------------------------------------------------*/
            // Se obtienen los Pasivos Circulantes
            entidadPasivoCir.CuentaFlujo = "EGR";
            VistaPasivoCirculante vistaPasivoCirculante = new VistaPasivoCirculante(entidadPasivoCir);
            List<EntidadPasivoCirculante> listaPasivoCirculante = vistaPasivoCirculante.GroupByCuentasPasivo();
            if (vistaPasivoCirculante.Log == "OK")
            {

                egresoEnero = listaPasivoCirculante[0].Enero;
                egresoFebrero = listaPasivoCirculante[0].Febrero;
                egresoMarzo = listaPasivoCirculante[0].Marzo;
                egresoAbril = listaPasivoCirculante[0].Abril;
                egresoMayo = listaPasivoCirculante[0].Mayo;
                egresoJunio = listaPasivoCirculante[0].Junio;
                egresoJulio = listaPasivoCirculante[0].Julio;
                egresoAgosto = listaPasivoCirculante[0].Agosto;
                egresoSeptiembre = listaPasivoCirculante[0].Septiembre;
                egresoOctubre = listaPasivoCirculante[0].Octubre;
                egresoNoviembre = listaPasivoCirculante[0].Noviembre;
                egresoDiciembre = listaPasivoCirculante[0].Diciembre;
                egresoTraspasoPasivo = listaPasivoCirculante[0].Traspaso;

            }
            else if (vistaPasivoCirculante.Log == "VACIO")
            {
                ingresoBudget = 0.0f;
                ingresoEjercido = 0.0f;
                //egresoEnero = 0.0f;
                //egresoFebrero = 0.0f;
                //egresoMarzo = 0.0f;
                //egresoAbril = 0.0f;
                //egresoMayo = 0.0f;
                //egresoJunio = 0.0f;
                //egresoJulio = 0.0f;
                //egresoAgosto = 0.0f;
                //egresoSeptiembre = 0.0f;
                //egresoOctubre = 0.0f;
                //egresoNoviembre = 0.0f;
                //egresoDiciembre = 0.0f;
            }
            else
            {
                EntidadFlujo2 error = new EntidadFlujo2();  //checar*****
                error.Log = vistaActivoCirculante.Log;
                return this.Error(error);
            }
            /*  -----------------------------------------------------------  */









            /* INGRESOS
            -----------------------------------------------------------*/
            // Se obtienen los Presupuestos de Ingresos
            //entidadBudget.CuentaFlujo = "ING";
            //VistaBudgets vistaBudgetsIngresos = new VistaBudgets(entidadBudget);
            //List<EntidadBudget> listaBudgetsIngresos = vistaBudgetsIngresos.GroupByProyecto();
            //if (vistaBudgetsIngresos.Log == "OK")
            //{
            //    ingresoBudget = (from a in listaBudgetsIngresos select a.Total).Sum();
            //}
            //else if (vistaBudgetsIngresos.Log == "VACIO")
            //{
            //    ingresoBudget = 0.0f;
            //}
            //else
            //{
            //    EntidadFlujo error = new EntidadFlujo();
            //    error.Log = vistaBudgetsIngresos.Log;
            //    return this.Error(error);
            //}
            /*  -----------------------------------------------------------  */

            //// Se obtiene las Cuentas Cobradas
            //entidadFactura.CuentaFlujo = "ING";
            //VisMaCuentasCobradas vistaCuentasCobradas = new VisMaCuentasCobradas(entidadFactura);
            //List<EntidadFactura> listaCuentasCobradas = vistaCuentasCobradas.GroupByProyecto();
            //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);
            //}

            //// Se obtiene las Cuentas X Cobrar
            //entidadFactura.CuentaFlujo = "ING";
            //VisMaCuentasXCobrar vistaCuentasXCobrar = new VisMaCuentasXCobrar(entidadFactura);
            //List<EntidadFactura> listaCuentasXCobrar = vistaCuentasXCobrar.GroupByProyecto();
            //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 Balance y Desviacion
            //ingresoBalance = ingresoEjercido + ingresoPendiente;
            //ingresoDesviacion = ingresoBudget - ingresoBalance;

            /* ACTIVO FIJO
           -----------------------------------------------------------*/
            // Se obtienen los Activos Fijo
            entidadActivoCir.CuentaFlujo = "ING";
            VistaActivoFijo vistaActivoFijo = new VistaActivoFijo(entidadActivoCir);
            List<EntidadActivoCirculante> listaActivoFijo = vistaActivoFijo.GroupByActivoFijo();
            if (vistaActivoFijo.Log == "OK")
            {
                activofijoEnero = listaActivoFijo[0].Enero;
                activofijoFebrero = listaActivoFijo[0].Febrero;
                activofijoMarzo = listaActivoFijo[0].Marzo;
                activofijoAbril = listaActivoFijo[0].Abril;
                activofijoMayo = listaActivoFijo[0].Mayo;
                activofijoJunio = listaActivoFijo[0].Junio;
                activofijoJulio = listaActivoFijo[0].Julio;
                activofijoAgosto = listaActivoFijo[0].Agosto;
                activofijoSeptiembre = listaActivoFijo[0].Septiembre;
                activofijoOctubre = listaActivoFijo[0].Octubre;
                activofijoNoviembre = listaActivoFijo[0].Noviembre;
                activofijoDiciembre = listaActivoFijo[0].Diciembre;
                activofijoTraspaso = listaActivoFijo[0].Traspaso;
            }
            else if (vistaActivoFijo.Log == "VACIO")
            {
                ingresoBudget = 0.0f;
                ingresoEjercido = 0.0f;
            }
            else
            {
                EntidadFlujo2 error = new EntidadFlujo2();  //checar*****
                error.Log = vistaActivoFijo.Log;
                return this.Error(error);
            }

            /* EGRESOS
            -----------------------------------------------------------*/
            // Se obtienen los Presupuestos de Egresos
            //entidadBudget.CuentaFlujo = "EGR";
            //VistaBudgets vistaBudgetsEgresos = new VistaBudgets(entidadBudget);
            //List<EntidadBudget> listaBudgetsEgresos = vistaBudgetsEgresos.GroupByProyecto();
            //if (vistaBudgetsEgresos.Log == "OK")
            //{
            //    egresoBudget = (from a in listaBudgetsEgresos select a.Total).Sum();
            //}
            //else if (vistaBudgetsEgresos.Log == "VACIO")
            //{
            //    egresoBudget = 0.0f;
            //}
            //else
            //{
            //    EntidadFlujo error = new EntidadFlujo();
            //    error.Log = vistaBudgetsEgresos.Log;
            //    return this.Error(error);
            //}

            // Se obtiene las Cuentas Pagadas
            //entidadFactura.CuentaFlujo = "EGR";
            //VisMaCuentasPagadas vistaCuentasPagadas = new VisMaCuentasPagadas(entidadFactura);
            //List<EntidadFactura> listaCuentasPagadas = vistaCuentasPagadas.GroupByProyecto();
            //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.GroupByProyecto();
            //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 Balance  y Desviacion
            //egresoBalance = egresoEjercido + egresoPendiente;
            //egresoDesviacion = egresoBudget - egresoBalance;

            /* INVENTARIOS ACEITEMEX
            -----------------------------------------------------------*/
            // Se obtienen los inventarios aceitemex
            entidadActivoCir.CuentaFlujo = "ING";
            VistaInventarioAceitemex vistaInvAceitemex = new VistaInventarioAceitemex(entidadActivoCir);
            List<EntidadActivoCirculante> listaInvAceitemex = vistaInvAceitemex.GroupByCuentasAceitemex();
            if (vistaInvAceitemex.Log == "OK")
            {

                invEnero = listaInvAceitemex[0].Enero;
                invFebrero = listaInvAceitemex[0].Febrero;
                invMarzo = listaInvAceitemex[0].Marzo;
                invAbril = listaInvAceitemex[0].Abril;
                invMayo = listaInvAceitemex[0].Mayo;
                invJunio = listaInvAceitemex[0].Junio;
                invJulio = listaInvAceitemex[0].Julio;
                invAgosto = listaInvAceitemex[0].Agosto;
                invSeptiembre = listaInvAceitemex[0].Septiembre;
                invOctubre = listaInvAceitemex[0].Octubre;
                invNoviembre = listaInvAceitemex[0].Noviembre;
                invDiciembre = listaInvAceitemex[0].Diciembre;
                invTraspaso = listaInvAceitemex[0].Traspaso;

            }
            else if (vistaInvAceitemex.Log == "VACIO")
            {
                ingresoBudget = 0.0f;
                ingresoEjercido = 0.0f;
            }
            else
            {
                EntidadFlujo2 error = new EntidadFlujo2();  //checar*****
                error.Log = vistaActivoCirculante.Log;
                return this.Error(error);
            }
            /*  -----------------------------------------------------------  */

            /* VENTAS NETAS INGRESOS
          -----------------------------------------------------------*/
            // Se obtienen ingresos
            entidadActivoCir.CuentaFlujo = "ING";
            VistaVentasNetas vistaVentasNetas = new VistaVentasNetas(entidadActivoCir);
            List<EntidadActivoCirculante> listaVentasNetas = vistaVentasNetas.GroupByVentasNetas();
            if (vistaVentasNetas.Log == "OK")
            {

                VentasNetasEnero = listaVentasNetas[0].Enero;
                VentasNetasFebrero = listaVentasNetas[0].Febrero;
                VentasNetasMarzo = listaVentasNetas[0].Marzo;
                VentasNetasAbril = listaVentasNetas[0].Abril;
                VentasNetasMayo = listaVentasNetas[0].Mayo;
                VentasNetasJunio = listaVentasNetas[0].Junio;
                VentasNetasJulio = listaVentasNetas[0].Julio;
                VentasNetasAgosto = listaVentasNetas[0].Agosto;
                VentasNetasSeptiembre = listaVentasNetas[0].Septiembre;
                VentasNetasOctubre = listaVentasNetas[0].Octubre;
                VentasNetasNoviembre = listaVentasNetas[0].Noviembre;
                VentasNetasDiciembre = listaVentasNetas[0].Diciembre;
                VentasNetasTraspaso = listaVentasNetas[0].Traspaso;
            }
            else if (vistaVentasNetas.Log == "VACIO")
            {
                ingresoBudget = 0.0f;
                ingresoEjercido = 0.0f;
            }
            else
            {
                EntidadFlujo2 error = new EntidadFlujo2();  //checar*****
                error.Log = vistaActivoFijo.Log;
                return this.Error(error);
            }

            /* PASIVO TOTAL
          -----------------------------------------------------------*/
            // Se obtienen los pasivo total
            entidadPasivoCir.CuentaFlujo = "EGR";
            VistaPasivoTotal vistaPasivoTotal = new VistaPasivoTotal(entidadPasivoCir);
            List<EntidadPasivoCirculante> listaPasivoTotal = vistaPasivoTotal.GroupByPasivoTotal();
            if (vistaPasivoTotal.Log == "OK")
            {

                PasTotEnero = listaPasivoTotal[0].Enero;
                PasTotFebrero = listaPasivoTotal[0].Febrero;
                PasTotMarzo = listaPasivoTotal[0].Marzo;
                PasTotAbril = listaPasivoTotal[0].Abril;
                PasTotMayo = listaPasivoTotal[0].Mayo;
                PasTotJunio = listaPasivoTotal[0].Junio;
                PasTotJulio = listaPasivoTotal[0].Julio;
                PasTotAgosto = listaPasivoTotal[0].Agosto;
                PasTotSeptiembre = listaPasivoTotal[0].Septiembre;
                PasTotOctubre = listaPasivoTotal[0].Octubre;
                PasTotNoviembre = listaPasivoTotal[0].Noviembre;
                PasTotDiciembre = listaPasivoTotal[0].Diciembre;
                PasTotTraspaso = listaPasivoTotal[0].Traspaso;

            }
            else if (vistaPasivoTotal.Log == "VACIO")
            {
                ingresoBudget = 0.0f;
                ingresoEjercido = 0.0f;
            }
            else
            {
                EntidadFlujo2 error = new EntidadFlujo2();  //checar*****
                error.Log = vistaPasivoTotal.Log;
                return this.Error(error);
            }
            /*  -----------------------------------------------------------  */

            /* CAPITAL CONTABLE
        -----------------------------------------------------------*/
            // Se obtienen capital contable total
            entidadActivoCir.CuentaFlujo = "ING";
            VistaCapitalContable vistaCapitalContable = new VistaCapitalContable(entidadActivoCir);
            List<EntidadActivoCirculante> listaCapitalContable = vistaCapitalContable.GroupByCapitalContable();
            if (vistaCapitalContable.Log == "OK")
            {

                CapitalEnero = listaCapitalContable[0].Enero;
                CapitalFebrero = listaCapitalContable[0].Febrero;
                CapitalMarzo = listaCapitalContable[0].Marzo;
                CapitalAbril = listaCapitalContable[0].Abril;
                CapitalMayo = listaCapitalContable[0].Mayo;
                CapitalJunio = listaCapitalContable[0].Junio;
                CapitalJulio = listaCapitalContable[0].Julio;
                CapitalAgosto = listaCapitalContable[0].Agosto;
                CapitalSeptiembre = listaCapitalContable[0].Septiembre;
                CapitalOctubre = listaCapitalContable[0].Octubre;
                CapitalNoviembre = listaCapitalContable[0].Noviembre;
                CapitalDiciembre = listaCapitalContable[0].Diciembre;
                CapitalTraspaso = listaCapitalContable[0].Traspaso;
            }
            else if (vistaCapitalContable.Log == "VACIO")
            {
                ingresoBudget = 0.0f;
                ingresoEjercido = 0.0f;
            }
            else
            {
                EntidadFlujo2 error = new EntidadFlujo2();  //checar*****
                error.Log = vistaCapitalContable.Log;
                return this.Error(error);
            }
            /*  -----------------------------------------------------------  */


            /* CAPITAL SOCIAL
          -----------------------------------------------------------*/
            // Se obtienen capital social
            entidadPasivoCir.CuentaFlujo = "EGR";
            VistaCapitalSocial vistaCapitalSocial = new VistaCapitalSocial(entidadPasivoCir);
            List<EntidadPasivoCirculante> listaCapitalSocial = vistaCapitalSocial.GroupByVistaCapitalSocial();
            if (vistaCapitalSocial.Log == "OK")
            {

                CapSocialEnero = listaCapitalSocial[0].Enero;
                CapSocialFebrero = listaCapitalSocial[0].Febrero;
                CapSocialMarzo = listaCapitalSocial[0].Marzo;
                CapSocialAbril = listaCapitalSocial[0].Abril;
                CapSocialMayo = listaCapitalSocial[0].Mayo;
                CapSocialJunio = listaCapitalSocial[0].Junio;
                CapSocialJulio = listaCapitalSocial[0].Julio;
                CapSocialAgosto = listaCapitalSocial[0].Agosto;
                CapSocialSeptiembre = listaCapitalSocial[0].Septiembre;
                CapSocialOctubre = listaCapitalSocial[0].Octubre;
                CapSocialNoviembre = listaCapitalSocial[0].Noviembre;
                CapSocialDiciembre = listaCapitalSocial[0].Diciembre;
                CapSocialTraspaso = listaCapitalSocial[0].Traspaso;

            }
            else if (vistaCapitalSocial.Log == "VACIO")
            {
                ingresoBudget = 0.0f;
                ingresoEjercido = 0.0f;
            }
            else
            {
                EntidadFlujo2 error = new EntidadFlujo2();  //checar*****
                error.Log = vistaCapitalSocial.Log;
                return this.Error(error);
            }
            /*  -----------------------------------------------------------  */

            /* EGRESOS
           -----------------------------------------------------------*/
            // Se obtienen los EGRESOS para  Razon de Rentabilidad - (Ganancia por unidad invertida por los socio)
            entidadPasivoCir.CuentaFlujo = "EGR";
            VistaEgresos vistaEgresos = new VistaEgresos(entidadPasivoCir);
            List<EntidadPasivoCirculante> listaEgresos = vistaEgresos.GroupByEgresos();
            if (vistaEgresos.Log == "OK")
            {
                egresosEnero = listaEgresos[0].Enero;
                egresosFebrero = listaEgresos[0].Febrero;
                egresosMarzo = listaEgresos[0].Marzo;
                egresosAbril = listaEgresos[0].Abril;
                egresosMayo = listaEgresos[0].Mayo;
                egresosJunio = listaEgresos[0].Junio;
                egresosJulio = listaEgresos[0].Julio;
                egresosAgosto = listaEgresos[0].Agosto;
                egresosSeptiembre = listaEgresos[0].Septiembre;
                egresosOctubre = listaEgresos[0].Octubre;
                egresosNoviembre = listaEgresos[0].Noviembre;
                egresosDiciembre = listaEgresos[0].Diciembre;
                egresosTraspaso = listaEgresos[0].Traspaso;
            }
            else if (vistaEgresos.Log == "VACIO")
            {
                ingresoBudget = 0.0f;
                ingresoEjercido = 0.0f;
            }
            else
            {
                EntidadFlujo2 error = new EntidadFlujo2();  //checar*****
                error.Log = vistaEgresos.Log;
                return this.Error(error);
            }
            /*  -----------------------------------------------------------  */
            /* RESULTADOS
            -----------------------------------------------------------*/

            // Fila de Ingresos
            EntidadFlujo2 ingresos = new EntidadFlujo2();
            ingresos.CuentaTipo = "INGRESO";
            ingresos.Proyecto = proyecto;
            ingresos.ProyectoDesc = proyectoDesc;
            ingresos.TotalEjercido = ingresoEjercido;
            ingresos.TotalPendiente = ingresoPendiente;
            ingresos.TotalBudget = ingresoBudget;
            ingresos.TotalBalance = ingresoBalance;
            ingresos.TotalDesviacion = ingresoDesviacion;

            // activos circulantes meses
            var acumuladocirculante = 0.0f;
            ingresos.EneroCirculante = ingresoEnero + ingresoTraspaso;
            acumuladocirculante = acumuladocirculante + ingresoEnero;

            ingresos.FebreroCirculante = ingresoFebrero + ingresoTraspaso + acumuladocirculante;
            acumuladocirculante = acumuladocirculante + ingresoFebrero;

            ingresos.MarzoCirculante = ingresoMarzo + ingresoTraspaso + acumuladocirculante;
            acumuladocirculante = acumuladocirculante + ingresoMarzo;

            ingresos.AbrilCirculante = ingresoAbril + ingresoTraspaso + acumuladocirculante;
            acumuladocirculante = acumuladocirculante + ingresoAbril;

            ingresos.MayoCirculante = ingresoMayo + ingresoTraspaso + acumuladocirculante;
            acumuladocirculante = acumuladocirculante + ingresoMayo;

            ingresos.JunioCirculante = ingresoJunio + ingresoTraspaso + acumuladocirculante;
            acumuladocirculante = acumuladocirculante + ingresoJunio;

            ingresos.JulioCirculante = ingresoJulio + ingresoTraspaso + acumuladocirculante;
            acumuladocirculante = acumuladocirculante + ingresoJulio;

            ingresos.AgostoCirculante = ingresoAgosto + ingresoTraspaso + acumuladocirculante;
            acumuladocirculante = acumuladocirculante + ingresoAgosto;

            ingresos.SeptiembreCirculante = ingresoSeptiembre + ingresoTraspaso + acumuladocirculante;
            acumuladocirculante = acumuladocirculante + ingresoSeptiembre;

            ingresos.OctubreCirculante = ingresoOctubre + ingresoTraspaso + acumuladocirculante;
            acumuladocirculante = acumuladocirculante + ingresoOctubre;

            ingresos.NoviembreCirculante = ingresoNoviembre + ingresoTraspaso + acumuladocirculante;
            acumuladocirculante = acumuladocirculante + ingresoNoviembre;

            ingresos.DiciembreCirculante = ingresoDiciembre + ingresoTraspaso + acumuladocirculante;

            //ingresos.TraspasoCirculante = ingresoTraspaso;
            ingresos.Log = "-";

            // inventarios aceitemex meses
            ingresos.TotalDesviacion = ingresoDesviacion;
            var acumuladoInventarioAce = 0.0f;

            ingresos.EneroInventarioAce = invEnero + invTraspaso;
            acumuladoInventarioAce = acumuladoInventarioAce + invEnero;
            ingresos.FebreroInventarioAce = invFebrero + invTraspaso + acumuladoInventarioAce;
            acumuladoInventarioAce = acumuladoInventarioAce + invFebrero;
            ingresos.MarzoInventarioAce = invMarzo + invTraspaso + acumuladoInventarioAce;
            acumuladoInventarioAce = acumuladoInventarioAce + invMarzo;
            ingresos.AbrilInventarioAce = invAbril + invTraspaso + acumuladoInventarioAce;
            acumuladoInventarioAce = acumuladoInventarioAce + invAbril;
            ingresos.MayoInventarioAce = invMayo + invTraspaso + acumuladoInventarioAce;
            acumuladoInventarioAce = acumuladoInventarioAce + invMayo;
            ingresos.JunioInventarioAce = invJunio + invTraspaso + acumuladoInventarioAce;
            acumuladoInventarioAce = acumuladoInventarioAce + invJunio;
            ingresos.JulioInventarioAce = invJulio + invTraspaso + acumuladoInventarioAce;
            acumuladoInventarioAce = acumuladoInventarioAce + invJulio;
            ingresos.AgostoInventarioAce = invAgosto + invTraspaso + acumuladoInventarioAce;
            acumuladoInventarioAce = acumuladoInventarioAce + invAgosto;
            ingresos.SeptiembreInventarioAce = invSeptiembre + invTraspaso + acumuladoInventarioAce;
            acumuladoInventarioAce = acumuladoInventarioAce + invSeptiembre;
            ingresos.OctubreInventarioAce = invOctubre + invTraspaso + acumuladoInventarioAce;
            acumuladoInventarioAce = acumuladoInventarioAce + invOctubre;
            ingresos.NoviembreInventarioAce = invNoviembre + invTraspaso + acumuladoInventarioAce;
            acumuladoInventarioAce = acumuladoInventarioAce + invNoviembre;
            ingresos.DiciembreInventarioAce = invDiciembre + invTraspaso + acumuladoInventarioAce;

            ingresos.Log = "-";

            // Fila de Egresos
            EntidadFlujo2 egresos = new EntidadFlujo2();
            egresos.CuentaTipo = "EGRESO";
            egresos.Proyecto = proyecto;
            egresos.ProyectoDesc = proyectoDesc;
            egresos.TotalEjercido = egresoEjercido;
            egresos.TotalPendiente = egresoPendiente;
            egresos.TotalBudget = egresoBudget;
            egresos.TotalBalance = egresoBalance;
            egresos.TotalDesviacion = egresoDesviacion;
            egresos.Log = "-";

            // pasivos circulantes meses
            var acumuladopasivocirculante = 0.0f;
            ingresos.EneroPasivoCirculante = egresoEnero + egresoTraspasoPasivo;
            acumuladopasivocirculante = acumuladopasivocirculante + egresoEnero;

            ingresos.FebreroPasivoCirculante = egresoFebrero + egresoTraspasoPasivo + acumuladopasivocirculante;
            acumuladopasivocirculante = acumuladopasivocirculante + egresoFebrero;

            ingresos.MarzoPasivoCirculante = egresoMarzo + egresoTraspasoPasivo + acumuladopasivocirculante;
            acumuladopasivocirculante = acumuladopasivocirculante + egresoMarzo;

            ingresos.AbrilPasivoCirculante = egresoAbril + egresoTraspasoPasivo + acumuladopasivocirculante;
            acumuladopasivocirculante = acumuladopasivocirculante + egresoAbril;

            ingresos.MayoPasivoCirculante = egresoMayo + egresoTraspasoPasivo + acumuladopasivocirculante;
            acumuladopasivocirculante = acumuladopasivocirculante + egresoMayo;

            ingresos.JunioPasivoCirculante = egresoJunio + egresoTraspasoPasivo + acumuladopasivocirculante;
            acumuladopasivocirculante = acumuladopasivocirculante + egresoJunio;

            ingresos.JulioPasivoCirculante = egresoJulio + egresoTraspasoPasivo + acumuladopasivocirculante;
            acumuladopasivocirculante = acumuladopasivocirculante + egresoJulio;

            ingresos.AgostoPasivoCirculante = egresoAgosto + egresoTraspasoPasivo + acumuladopasivocirculante;
            acumuladopasivocirculante = acumuladopasivocirculante + egresoAgosto;

            ingresos.SeptiembrePasivoCirculante = egresoSeptiembre + egresoTraspasoPasivo + acumuladopasivocirculante;
            acumuladopasivocirculante = acumuladopasivocirculante + egresoSeptiembre;

            ingresos.OctubrePasivoCirculante = egresoOctubre + egresoTraspasoPasivo + acumuladopasivocirculante;
            acumuladopasivocirculante = acumuladopasivocirculante + egresoOctubre;

            ingresos.NoviembrePasivoCirculante = egresoNoviembre + egresoTraspasoPasivo + acumuladopasivocirculante;
            acumuladopasivocirculante = acumuladopasivocirculante + egresoNoviembre;

            ingresos.DiciembrePasivoCirculante = egresoDiciembre + egresoTraspasoPasivo + acumuladopasivocirculante;

            ingresos.Log = "-";

            // PASIVOS TOTALES
            var acumuladoPasivoTot = 0.0f;
            ingresos.EneroPasivoTot = PasTotEnero + PasTotTraspaso;
            acumuladoPasivoTot = acumuladoPasivoTot + PasTotEnero;

            ingresos.FebreroPasivoTot = PasTotFebrero + PasTotTraspaso + acumuladoPasivoTot;
            acumuladoPasivoTot = acumuladoPasivoTot + PasTotFebrero;
            ingresos.MarzoPasivoTot = PasTotMarzo + PasTotTraspaso + acumuladoPasivoTot;
            acumuladoPasivoTot = acumuladoPasivoTot + PasTotMarzo;
            ingresos.AbrilPasivoTot = PasTotAbril + PasTotTraspaso + acumuladoPasivoTot;
            acumuladoPasivoTot = acumuladoPasivoTot + PasTotAbril;
            ingresos.MayoPasivoTot = PasTotMayo + PasTotTraspaso + acumuladoPasivoTot;
            acumuladoPasivoTot = acumuladoPasivoTot + PasTotMayo;
            ingresos.JunioPasivoTot = PasTotJunio + PasTotTraspaso + acumuladoPasivoTot;
            acumuladoPasivoTot = acumuladoPasivoTot + PasTotJunio;
            ingresos.JulioPasivoTot = PasTotJulio + PasTotTraspaso + acumuladoPasivoTot;
            acumuladoPasivoTot = acumuladoPasivoTot + PasTotJulio;
            ingresos.AgostoPasivoTot = PasTotAgosto + PasTotTraspaso + acumuladoPasivoTot;
            acumuladoPasivoTot = acumuladoPasivoTot + PasTotAgosto;
            ingresos.SeptiembrePasivoTot = PasTotSeptiembre + PasTotTraspaso + acumuladoPasivoTot;
            acumuladoPasivoTot = acumuladoPasivoTot + PasTotSeptiembre;
            ingresos.OctubrePasivoTot = PasTotOctubre + PasTotTraspaso + acumuladoPasivoTot;
            acumuladoPasivoTot = acumuladoPasivoTot + PasTotOctubre;
            ingresos.NoviembrePasivoTot = PasTotNoviembre + PasTotTraspaso + acumuladoPasivoTot;
            acumuladoPasivoTot = acumuladoPasivoTot + PasTotNoviembre;
            ingresos.DiciembrePasivoTot = PasTotDiciembre + PasTotTraspaso + acumuladoPasivoTot;
            ingresos.Log = "-";

            // capital contable son todas las cuentas que empiezan con 3000
            var acumuladoCapital = 0.0f;
            ingresos.EneroCapital = CapitalEnero + CapitalTraspaso;
            acumuladoCapital = acumuladoCapital + CapitalEnero;
            ingresos.FebreroCapital = CapitalFebrero + CapitalTraspaso + acumuladoCapital;

            acumuladoCapital = acumuladoCapital + CapitalFebrero;
            ingresos.MarzoCapital = CapitalMarzo + CapitalTraspaso + acumuladoCapital;

            acumuladoCapital = acumuladoCapital + CapitalMarzo;
            ingresos.AbrilCapital = CapitalAbril + CapitalTraspaso + acumuladoCapital;

            acumuladoCapital = acumuladoCapital + CapitalAbril;
            ingresos.MayoCapital = CapitalMayo + CapitalTraspaso + acumuladoCapital;

            acumuladoCapital = acumuladoCapital + CapitalMayo;
            ingresos.JunioCapital = CapitalJunio + CapitalTraspaso + acumuladoCapital;

            acumuladoCapital = acumuladoCapital + CapitalJunio;
            ingresos.JulioCapital = CapitalJulio + CapitalTraspaso + acumuladoCapital;

            acumuladoCapital = acumuladoCapital + CapitalJulio;
            ingresos.AgostoCapital = CapitalAgosto + CapitalTraspaso + acumuladoCapital;

            acumuladoCapital = acumuladoCapital + CapitalAgosto;
            ingresos.SeptiembreCapital = CapitalSeptiembre + CapitalTraspaso + acumuladoCapital;

            acumuladoCapital = acumuladoCapital + CapitalSeptiembre;
            ingresos.OctubreCapital = CapitalOctubre + CapitalTraspaso + acumuladoCapital;

            acumuladoCapital = acumuladoCapital + CapitalOctubre;
            ingresos.NoviembreCapital = CapitalNoviembre + CapitalTraspaso + acumuladoCapital;
            acumuladoCapital = acumuladoCapital + CapitalNoviembre;
            ingresos.DiciembreCapital = CapitalDiciembre + CapitalTraspaso + acumuladoCapital;
            ingresos.Log = "-";

            // ACTIVO FIJO
            var acumuladoActivoFijo = 0.0f;
            ingresos.EneroActivoFijo = activofijoEnero + activofijoTraspaso;
            acumuladoActivoFijo = acumuladoActivoFijo + activofijoEnero;
            ingresos.FebreroActivoFijo = activofijoFebrero + activofijoTraspaso + acumuladoActivoFijo;
            acumuladoActivoFijo = acumuladoActivoFijo + activofijoFebrero;
            ingresos.MarzoActivoFijo = activofijoMarzo + activofijoTraspaso + acumuladoActivoFijo;
            acumuladoActivoFijo = acumuladoActivoFijo + activofijoMarzo;
            ingresos.AbrilActivoFijo = activofijoAbril + activofijoTraspaso + acumuladoActivoFijo;
            acumuladoActivoFijo = acumuladoActivoFijo + activofijoAbril;
            ingresos.MayoActivoFijo = activofijoMayo + activofijoTraspaso + acumuladoActivoFijo;
            acumuladoActivoFijo = acumuladoActivoFijo + activofijoMayo;
            ingresos.JunioActivoFijo = activofijoJunio + activofijoTraspaso + acumuladoActivoFijo;
            acumuladoActivoFijo = acumuladoActivoFijo + activofijoJunio;
            ingresos.JulioActivoFijo = activofijoJulio + activofijoTraspaso + acumuladoActivoFijo;
            acumuladoActivoFijo = acumuladoActivoFijo + activofijoJulio;
            ingresos.AgostoActivoFijo = activofijoAgosto + activofijoTraspaso + acumuladoActivoFijo;
            acumuladoActivoFijo = acumuladoActivoFijo + activofijoAgosto;
            ingresos.SeptiembreActivoFijo = activofijoSeptiembre + activofijoTraspaso + acumuladoActivoFijo;
            acumuladoActivoFijo = acumuladoActivoFijo + activofijoSeptiembre;
            ingresos.OctubreActivoFijo = activofijoOctubre + activofijoTraspaso + acumuladoActivoFijo;
            acumuladoActivoFijo = acumuladoActivoFijo + activofijoOctubre;
            ingresos.NoviembreActivoFijo = activofijoNoviembre + activofijoTraspaso + acumuladoActivoFijo;
            acumuladoActivoFijo = acumuladoActivoFijo + activofijoNoviembre;
            ingresos.DiciembreActivoFijo = activofijoDiciembre + activofijoTraspaso + acumuladoActivoFijo;
            ingresos.Log = "-";

            // capital social son todas las cuentas que empiezan con  3110-3111
            var acumuladoCapSocial = 0.0f;
            ingresos.EneroCapitalSocial = CapSocialEnero + CapSocialTraspaso;
            acumuladoCapSocial = acumuladoCapSocial + CapSocialEnero;
            ingresos.FebreroCapitalSocial = CapSocialEnero + CapSocialTraspaso + acumuladoCapSocial;
            acumuladoCapSocial = acumuladoCapSocial + CapSocialFebrero;
            ingresos.MarzoCapitalSocial = CapSocialMarzo + CapSocialTraspaso + acumuladoCapSocial;
            acumuladoCapSocial = acumuladoCapSocial + CapSocialMarzo;
            ingresos.AbrilCapitalSocial = CapSocialAbril + CapSocialTraspaso + acumuladoCapSocial;
            acumuladoCapSocial = acumuladoCapSocial + CapSocialAbril;
            ingresos.MayoCapitalSocial = CapSocialMayo + CapSocialTraspaso + acumuladoCapSocial;
            acumuladoCapSocial = acumuladoCapSocial + CapSocialMayo;
            ingresos.JunioCapitalSocial = CapSocialJunio + CapSocialTraspaso + acumuladoCapSocial;
            acumuladoCapSocial = acumuladoCapSocial + CapSocialJunio;
            ingresos.JulioCapitalSocial = CapSocialJulio + CapSocialTraspaso + acumuladoCapSocial;
            acumuladoCapSocial = acumuladoCapSocial + CapSocialJulio;
            ingresos.AgostoCapitalSocial = CapSocialAgosto + CapSocialTraspaso + acumuladoCapSocial;
            acumuladoCapSocial = acumuladoCapSocial + CapSocialAgosto;
            ingresos.SeptiembreCapitalSocial = CapSocialSeptiembre + CapSocialTraspaso + acumuladoCapSocial;
            acumuladoCapSocial = acumuladoCapSocial + CapSocialSeptiembre;
            ingresos.OctubreCapitalSocial = CapSocialOctubre + CapSocialTraspaso + acumuladoCapSocial;
            acumuladoCapSocial = acumuladoCapSocial + CapSocialOctubre;
            ingresos.NoviembreCapitalSocial = CapSocialNoviembre + CapSocialTraspaso + acumuladoCapSocial;
            acumuladoCapSocial = acumuladoCapSocial + CapSocialNoviembre;
            ingresos.DiciembreCapitalSocial = CapSocialDiciembre + CapSocialTraspaso + acumuladoCapSocial;
            ingresos.Log = "-";

            // ventas netas (ingresos)
            var acumuladoVentasNetas = 0.0f;
            //para que no agregre traspaso
            VentasNetasTraspaso = 0.0f;
            ingresos.EneroVentasNetas = VentasNetasEnero + VentasNetasTraspaso;
            acumuladoVentasNetas = acumuladoVentasNetas + VentasNetasEnero;
            ingresos.FebreroVentasNetas = VentasNetasFebrero + VentasNetasTraspaso + acumuladoVentasNetas;
            acumuladoVentasNetas = acumuladoVentasNetas + VentasNetasFebrero;
            ingresos.MarzoVentasNetas = VentasNetasMarzo + VentasNetasTraspaso + acumuladoVentasNetas;
            acumuladoVentasNetas = acumuladoVentasNetas + VentasNetasMarzo;
            ingresos.AbrilVentasNetas = VentasNetasAbril + VentasNetasTraspaso + acumuladoVentasNetas;
            acumuladoVentasNetas = acumuladoVentasNetas + VentasNetasAbril;
            ingresos.MayoVentasNetas = VentasNetasMayo + VentasNetasTraspaso + acumuladoVentasNetas;
            acumuladoVentasNetas = acumuladoVentasNetas + VentasNetasMayo;
            ingresos.JunioVentasNetas = VentasNetasJunio + VentasNetasTraspaso + acumuladoVentasNetas;
            acumuladoVentasNetas = acumuladoVentasNetas + VentasNetasJunio;
            ingresos.JulioVentasNetas = VentasNetasJulio + VentasNetasTraspaso + acumuladoVentasNetas;
            acumuladoVentasNetas = acumuladoVentasNetas + VentasNetasJulio;
            ingresos.AgostoVentasNetas = VentasNetasAgosto + VentasNetasTraspaso + acumuladoVentasNetas;
            acumuladoVentasNetas = acumuladoVentasNetas + VentasNetasAgosto;
            ingresos.SeptiembreVentasNetas = VentasNetasSeptiembre + VentasNetasTraspaso + acumuladoVentasNetas;
            acumuladoVentasNetas = acumuladoVentasNetas + VentasNetasSeptiembre;
            ingresos.OctubreVentasNetas = VentasNetasOctubre + VentasNetasTraspaso + acumuladoVentasNetas;
            acumuladoVentasNetas = acumuladoVentasNetas + VentasNetasOctubre;
            ingresos.NoviembreVentasNetas = VentasNetasNoviembre + VentasNetasTraspaso + acumuladoVentasNetas;
            acumuladoVentasNetas = acumuladoVentasNetas + VentasNetasNoviembre;
            ingresos.DiciembreVentasNetas = VentasNetasDiciembre + VentasNetasTraspaso + acumuladoVentasNetas;
            ingresos.Log = "-";

            // egresos
            var acumuladoegresos = 0.0f;
            //para que no agregre traspaso
            egresosTraspaso = 0.0f;
            ingresos.EneroEgresos = egresosEnero + egresosTraspaso;
            acumuladoegresos = acumuladoegresos + egresosEnero;
            ingresos.FebreroEgresos = egresosFebrero + egresosTraspaso + acumuladoegresos;
            acumuladoegresos = acumuladoegresos + egresosFebrero;
            ingresos.MarzoEgresos = egresosMarzo + egresosTraspaso + acumuladoegresos;
            acumuladoegresos = acumuladoegresos + egresosMarzo;
            ingresos.AbrilEgresos = egresosAbril + egresosTraspaso + acumuladoegresos;
            acumuladoegresos = acumuladoegresos + egresosAbril;
            ingresos.MayoEgresos = egresosMayo + egresosTraspaso + acumuladoegresos;
            acumuladoegresos = acumuladoegresos + egresosMayo;
            ingresos.JunioEgresos = egresosJunio + egresosTraspaso + acumuladoegresos;
            acumuladoegresos = acumuladoegresos + egresosJunio;
            ingresos.JulioEgresos = egresosJulio + egresosTraspaso + acumuladoegresos;
            acumuladoegresos = acumuladoegresos + egresosJulio;
            ingresos.AgostoEgresos = egresosAgosto + egresosTraspaso + acumuladoegresos;
            acumuladoegresos = acumuladoegresos + egresosAgosto;
            ingresos.SeptiembreEgresos = egresosSeptiembre + egresosTraspaso + acumuladoegresos;
            acumuladoegresos = acumuladoegresos + egresosSeptiembre;
            ingresos.OctubreEgresos = egresosOctubre + egresosTraspaso + acumuladoegresos;
            acumuladoegresos = acumuladoegresos + egresosOctubre;
            ingresos.NoviembreEgresos = egresosNoviembre + egresosTraspaso + acumuladoegresos;
            acumuladoegresos = acumuladoegresos + egresosNoviembre;
            ingresos.DiciembreEgresos = egresosDiciembre + egresosTraspaso + acumuladoegresos;
            ingresos.Log = "-";

            // Lista de Egresos e Ingresos
            List<EntidadFlujo2> lista = new List<EntidadFlujo2>();

            lista.Add(ingresos);
            lista.Add(egresos);

            return lista;


        }
Пример #7
0
        public List<EntidadFlujo> EgresosByCuentaDesc(EntidadFlujo parFiltros)
        {
            /* VARIABLES
            -----------------------------------------------------------*/
            int anio = parFiltros.Anio;
            int periodo = parFiltros.Periodo;
            string proyecto = parFiltros.Proyecto;
            string compania = parFiltros.Compania;
            string un = parFiltros.UnidadNegocio;
            string cuentaClaseDesc = parFiltros.CuentaClaseDesc;
            string cuentaFlujo = "EGR";

            /* FILTROS
            -----------------------------------------------------------*/
            // Se preparan los filtros de Cuentas
            EntidadCuenta entidadCuenta = new EntidadCuenta();
            entidadCuenta.Proyecto = proyecto;
            entidadCuenta.Compania = compania;
            entidadCuenta.UnidadNegocio = un;
            entidadCuenta.ClaseDesc = cuentaClaseDesc;
            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.CuentaClaseDesc = cuentaClaseDesc;
            entidadBudget.CuentaFlujo = cuentaFlujo;

            // Se preparan los filtros de Factura
            EntidadFactura entidadFactura = new EntidadFactura();
            entidadFactura.Anio = anio;
            entidadFactura.Proyecto = proyecto;
            entidadFactura.Compania = compania;
            entidadFactura.UnidadNegocio = un;
            entidadFactura.Periodo = periodo;
            entidadFactura.CuentaClaseDesc = cuentaClaseDesc;
            entidadFactura.CuentaFlujo = cuentaFlujo;


            /* SE OBTIENEN LAS CUENTAS
            -----------------------------------------------------------*/
            VistaCuentas vistaCuentas = new VistaCuentas(entidadCuenta);
            List<EntidadCuenta> listaCuentas = new List<EntidadCuenta>();

            // Se agregan cuentas virtuales de clasificación
            if (entidadCuenta.ClaseDesc == "ANTICIPOS SIN FACTURA")
            {
                EntidadCuenta auxCuenta = new EntidadCuenta();
                auxCuenta.ClaseDesc = "ANTICIPOS SIN FACTURA";
                auxCuenta.Descripcion = "COMPRAS";
                listaCuentas.Add(auxCuenta);

                EntidadCuenta auxCuenta2 = new EntidadCuenta();
                auxCuenta2.ClaseDesc = "ANTICIPOS SIN FACTURA";
                auxCuenta2.Descripcion = "OTROS";
                listaCuentas.Add(auxCuenta2);

                EntidadCuenta auxCuenta3 = new EntidadCuenta();
                auxCuenta3.ClaseDesc = "ANTICIPOS SIN FACTURA";
                auxCuenta3.Descripcion = "DEPOSITOS EN GARANTIA";
                listaCuentas.Add(auxCuenta3);

                EntidadCuenta auxCuenta4 = new EntidadCuenta();
                auxCuenta4.ClaseDesc = "ANTICIPOS SIN FACTURA";
                auxCuenta4.Descripcion = "VIATICOS SIN COMPROBAR";
                listaCuentas.Add(auxCuenta4);
            }
            else
            {
                listaCuentas = vistaCuentas.GroupByDesc();
            }

            if (listaCuentas != null)
            {

                /* 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 PAGADAS
                -----------------------------------------------------------*/
                VisMaCuentasPagadas vistaCuentasPagadas = new VisMaCuentasPagadas(entidadFactura);
                List<EntidadFactura> listaPagos = vistaCuentasPagadas.GroupByCuentaDesc();
                if (vistaCuentasPagadas.Log == "VACIO")
                {
                    listaPagos = new List<EntidadFactura>();
                }
                else if (vistaCuentasPagadas.Log != "OK")
                {
                    EntidadFlujo error = new EntidadFlujo();
                    error.Log = vistaCuentasPagadas.Log;
                    return this.Error(error);
                }


                /* SE GRENERAN LOS JOINS ENTE RESULTADOS
                -----------------------------------------------------------*/
                var query = (
                                from CuBu in
                                    (
                                        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
                                        }
                                     )
                                join Co in listaPagos
                                on CuBu.CuentaDesc equals Co.CuentaDesc into JCuBuCo
                                from Co in JCuBuCo.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 = Co != null ? Co.Enero : 0,
                                    FebreroEjer = Co != null ? Co.Febrero : 0,
                                    MarzoEjer = Co != null ? Co.Marzo : 0,
                                    AbrilEjer = Co != null ? Co.Abril : 0,
                                    MayoEjer = Co != null ? Co.Mayo : 0,
                                    JunioEjer = Co != null ? Co.Junio : 0,
                                    JulioEjer = Co != null ? Co.Julio : 0,
                                    AgostoEjer = Co != null ? Co.Agosto : 0,
                                    SeptiembreEjer = Co != null ? Co.Septiembre : 0,
                                    OctubreEjer = Co != null ? Co.Octubre : 0,
                                    NoviembreEjer = Co != null ? Co.Noviembre : 0,
                                    DiciembreEjer = Co != null ? Co.Diciembre : 0,
                                    TotalEjer = Co != null ? Co.Total : 0,

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

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


                /* CREAR LISTA DE EGRESOS
                -----------------------------------------------------------*/
                List<EntidadFlujo> listaEgresos = new List<EntidadFlujo>();

                foreach (var item in query)
                {
                    if (item.TotalEjer != 0 || item.TotalPresu != 0)
                    {
                        EntidadFlujo aux = new EntidadFlujo();
                        aux.Anio = anio;
                        aux.Proyecto = proyecto;
                        aux.UnidadNegocio = un;
                        aux.Compania = compania;
                        aux.CuentaClaseDesc = cuentaClaseDesc;
                        aux.CuentaDesc = item.CuentaDesc;
                        aux.Periodo = parFiltros.Periodo;
                        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.TotalEjercido = item.TotalEjer;
                        aux.TotalBudget = item.TotalPresu;
                        aux.TotalDesviacion = item.TotalDif;
                        aux.Log = "-";

                        listaEgresos.Add(aux);
                    }
                }

                if (listaEgresos.Count != 0)
                {
                    return listaEgresos;
                }
                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);
            }
        }
Пример #8
0
        /*===================================================*\
            EGRESOS
        \*===================================================*/

        public List<EntidadFlujo> EgresosByCuentaClase(EntidadFlujo parFiltros)
        {

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


            /* FILTROS
            -----------------------------------------------------------*/
            // Se preparan los filtros de Cuentas
            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 Factura
            EntidadFactura entidadFactura = new EntidadFactura();
            entidadFactura.Anio = anio;
            entidadFactura.Proyecto = proyecto;
            entidadFactura.Compania = compania;
            entidadFactura.UnidadNegocio = un;
            entidadFactura.CuentaFlujo = cuentaFlujo;


            /* SE OBTIENEN LAS CUENTAS
            -----------------------------------------------------------*/
            VistaCuentas vistaCuentas = new VistaCuentas(entidadCuenta);
            List<EntidadCuenta> listaCuentas = vistaCuentas.GroupByClase();

            if (vistaCuentas.Log == "OK")
            {

                /* SE AGREGAN CUENTAS VIRTUALES DE CLASIFIACION
                -----------------------------------------------------------*/
                EntidadCuenta auxCuenta = new EntidadCuenta();
                auxCuenta.ClaseDesc = "ANTICIPOS SIN FACTURA";
                listaCuentas.Add(auxCuenta);


                /* SE OBTIENEN LOS PRESUPUESTOS
                -----------------------------------------------------------*/
                VistaBudgets vistaBudgets = new VistaBudgets(entidadBudget);
                List<EntidadBudget> listaBudgets = vistaBudgets.GroupByCuentaClase();
                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 PAGADAS
                -----------------------------------------------------------*/
                VisMaCuentasPagadas vistaCuentasPagadas = new VisMaCuentasPagadas(entidadFactura);
                List<EntidadFactura> listaPagos = vistaCuentasPagadas.GroupByCuentaClase();
                if (vistaCuentasPagadas.Log == "VACIO")
                {
                    listaPagos = new List<EntidadFactura>();
                }
                else if (vistaCuentasPagadas.Log != "OK")
                {
                    EntidadFlujo error = new EntidadFlujo();
                    error.Log = vistaCuentasPagadas.Log;
                    return this.Error(error);
                }


                /* SE OBTIENEN LAS CUENTAS X PAGAR
                -----------------------------------------------------------*/
                VisMaCuentasXPagar vistaCuentasXPagar = new VisMaCuentasXPagar(entidadFactura);
                List<EntidadFactura> listaCxp = vistaCuentasXPagar.GroupByCuentaClase();
                if (vistaCuentasXPagar.Log == "VACIO")
                {
                    listaCxp = new List<EntidadFactura>();
                }
                else if (vistaCuentasXPagar.Log != "OK")
                {
                    EntidadFlujo error = new EntidadFlujo();
                    error.Log = vistaCuentasXPagar.Log;
                    return this.Error(error);
                }


                /* SE GRENERAN LOS JOINS ENTE RESULTADOS
                -----------------------------------------------------------*/
                var query = (
                                from CuBuCo in
                                    (
                                         from CuBu in
                                             (
                                                from Cu in listaCuentas
                                                join Bu in listaBudgets
                                                on Cu.ClaseDesc equals Bu.CuentaClaseDesc into JCuBu
                                                from Bu in JCuBu.DefaultIfEmpty()
                                                select new
                                                {
                                                    CuentaClaseDesc = Cu.ClaseDesc,
                                                    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
                                                }
                                             )
                                         join Co in listaPagos
                                         on CuBu.CuentaClaseDesc equals Co.CuentaClaseDesc into JCuBuCo
                                         from Co in JCuBuCo.DefaultIfEmpty()
                                         select new
                                         {
                                             CuentaClaseDesc = CuBu.CuentaClaseDesc,
                                             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 = Co != null ? Co.Enero : 0,
                                             FebreroEjer = Co != null ? Co.Febrero : 0,
                                             MarzoEjer = Co != null ? Co.Marzo : 0,
                                             AbrilEjer = Co != null ? Co.Abril : 0,
                                             MayoEjer = Co != null ? Co.Mayo : 0,
                                             JunioEjer = Co != null ? Co.Junio : 0,
                                             JulioEjer = Co != null ? Co.Julio : 0,
                                             AgostoEjer = Co != null ? Co.Agosto : 0,
                                             SeptiembreEjer = Co != null ? Co.Septiembre : 0,
                                             OctubreEjer = Co != null ? Co.Octubre : 0,
                                             NoviembreEjer = Co != null ? Co.Noviembre : 0,
                                             DiciembreEjer = Co != null ? Co.Diciembre : 0,
                                             TotalPagado = Co != null ? Co.Total : 0,

                                             EneroDif = Co != null ? CuBu.EneroPresu - Co.Enero : CuBu.EneroPresu,
                                             FebreroDif = Co != null ? CuBu.FebreroPresu - Co.Febrero : CuBu.FebreroPresu,
                                             MarzoDif = Co != null ? CuBu.MarzoPresu - Co.Marzo : CuBu.MarzoPresu,
                                             AbrilDif = Co != null ? CuBu.AbrilPresu - Co.Abril : CuBu.AbrilPresu,
                                             MayoDif = Co != null ? CuBu.MayoPresu - Co.Mayo : CuBu.MayoPresu,
                                             JunioDif = Co != null ? CuBu.JunioPresu - Co.Junio : CuBu.JunioPresu,
                                             JulioDif = Co != null ? CuBu.JulioPresu - Co.Julio : CuBu.JulioPresu,
                                             AgostoDif = Co != null ? CuBu.AgostoPresu - Co.Agosto : CuBu.AgostoPresu,
                                             SeptiembreDif = Co != null ? CuBu.SeptiembrePresu - Co.Septiembre : CuBu.SeptiembrePresu,
                                             OctubreDif = Co != null ? CuBu.OctubrePresu - Co.Octubre : CuBu.OctubrePresu,
                                             NoviembreDif = Co != null ? CuBu.NoviembrePresu - Co.Noviembre : CuBu.NoviembrePresu,
                                             DiciembreDif = Co != null ? CuBu.DiciembrePresu - Co.Diciembre : CuBu.DiciembrePresu,
                                             TotalDif = Co != null ? CuBu.TotalPresu - Co.Total : CuBu.TotalPresu
                                         }
                                    )
                                join CxCs in listaCxp
                                on CuBuCo.CuentaClaseDesc equals CxCs.CuentaClaseDesc into JCuBuCoCx
                                from CxCs in JCuBuCoCx.DefaultIfEmpty()
                                select new
                                {
                                    CuentaClaseDesc = CuBuCo.CuentaClaseDesc,
                                    EneroEjer = CuBuCo.EneroEjer,
                                    FebreroEjer = CuBuCo.FebreroEjer,
                                    MarzoEjer = CuBuCo.MarzoEjer,
                                    AbrilEjer = CuBuCo.AbrilEjer,
                                    MayoEjer = CuBuCo.MayoEjer,
                                    JunioEjer = CuBuCo.JunioEjer,
                                    JulioEjer = CuBuCo.JulioEjer,
                                    AgostoEjer = CuBuCo.AgostoEjer,
                                    SeptiembreEjer = CuBuCo.SeptiembreEjer,
                                    OctubreEjer = CuBuCo.OctubreEjer,
                                    NoviembreEjer = CuBuCo.NoviembreEjer,
                                    DiciembreEjer = CuBuCo.DiciembreEjer,
                                    TotalPagado = CuBuCo.TotalPagado,

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

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

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


                /* CREAR LISTA DE EGRESOS
                -----------------------------------------------------------*/
                List<EntidadFlujo> listaEgresos = new List<EntidadFlujo>();

                foreach (var item in query)
                {
                    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.CuentaClaseDesc = item.CuentaClaseDesc;
                        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 = "-";
                        listaEgresos.Add(aux);
                    }
                }

                if (listaEgresos.Count != 0)
                {
                    return listaEgresos;
                }
                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);
            }
        }