public List<EntidadResumen> IngresosEgresosByUn(EntidadResumen parFiltros) { /* VARIABLES -----------------------------------------------------------*/ int anio = parFiltros.Anio; string compania = parFiltros.Compania; string unidadNegocio = parFiltros.UnidadNegocio; string proyecto = parFiltros.Proyecto; EntidadResumen control = new EntidadResumen(); /* FILTROS -----------------------------------------------------------*/ EntidadUnidadNegocio entidadCentro = new EntidadUnidadNegocio(); entidadCentro.Compania = compania; entidadCentro.Clave = unidadNegocio; //entidadCentro.ProyectoTipo = "D"; entidadCentro.Proyecto = proyecto; EntidadFactura entidadFactura = new EntidadFactura(); entidadFactura.Anio = anio; entidadFactura.Compania = compania; /* Obtener Centros de Costos -----------------------------------------------------------*/ TablaUnidadesNegocio tablaCentros = new TablaUnidadesNegocio(entidadCentro); List<EntidadUnidadNegocio> listaCentros = tablaCentros.Obtener(); if (tablaCentros.Log == "OK") { /* Preparar la lista a devolver -----------------------------------------------------------*/ List<EntidadResumen> listaResumen = new List<EntidadResumen>(); foreach (EntidadUnidadNegocio centro in listaCentros) { /* Prepara linea -----------------------------------------------------------*/ EntidadResumen resumen = new EntidadResumen(); resumen.Anio = anio; resumen.Compania = compania; resumen.UnidadNegocio = centro.Clave; resumen.UnidadNegocioDesc = centro.Descripcion; resumen.Proyecto = centro.Proyecto; resumen.ProyectoDesc = centro.ProyectoDesc; resumen.Log = "-"; /* Obtener Ingreso -----------------------------------------------------------*/ entidadFactura.CuentaFlujo = "ING"; entidadFactura.UnidadNegocio = centro.Clave; VisMaCuentasCobradas vistaCC = new VisMaCuentasCobradas(entidadFactura); List<EntidadFactura> listaCC = vistaCC.GroupByUn(); if (vistaCC.Log == "OK" || vistaCC.Log == "VACIO") { if (listaCC != null) { resumen.IngresoEnero = (from registro in listaCC select registro.Enero).Sum(); resumen.IngresoFebrero = (from registro in listaCC select registro.Febrero).Sum(); resumen.IngresoMarzo = (from registro in listaCC select registro.Marzo).Sum(); resumen.IngresoAbril = (from registro in listaCC select registro.Abril).Sum(); resumen.IngresoMayo = (from registro in listaCC select registro.Mayo).Sum(); resumen.IngresoJunio = (from registro in listaCC select registro.Junio).Sum(); resumen.IngresoJulio = (from registro in listaCC select registro.Julio).Sum(); resumen.IngresoAgosto = (from registro in listaCC select registro.Agosto).Sum(); resumen.IngresoSeptiembre = (from registro in listaCC select registro.Septiembre).Sum(); resumen.IngresoOctubre = (from registro in listaCC select registro.Octubre).Sum(); resumen.IngresoNoviembre = (from registro in listaCC select registro.Noviembre).Sum(); resumen.IngresoDiciembre = (from registro in listaCC select registro.Diciembre).Sum(); resumen.IngresoTotal = (from registro in listaCC select registro.Total).Sum(); } else { resumen.IngresoEnero = 0.0f; resumen.IngresoFebrero = 0.0f; resumen.IngresoMarzo = 0.0f; resumen.IngresoAbril = 0.0f; resumen.IngresoMayo = 0.0f; resumen.IngresoJunio = 0.0f; resumen.IngresoJulio = 0.0f; resumen.IngresoAgosto = 0.0f; resumen.IngresoSeptiembre = 0.0f; resumen.IngresoOctubre = 0.0f; resumen.IngresoNoviembre = 0.0f; resumen.IngresoDiciembre = 0.0f; resumen.IngresoTotal = 0.0f; } } else { control.Log = vistaCC.Log; return this.Error(control); } /* Obtener Egreso -----------------------------------------------------------*/ entidadFactura.CuentaFlujo = "EGR"; entidadFactura.UnidadNegocio = centro.Clave; VisMaCuentasPagadas vistaCP = new VisMaCuentasPagadas(entidadFactura); List<EntidadFactura> listaCP = vistaCP.GroupByUn(); if (vistaCP.Log == "OK" || vistaCP.Log == "VACIO") { if (listaCP != null) { resumen.EgresoEnero = (from registro in listaCP select registro.Enero).Sum(); resumen.EgresoFebrero = (from registro in listaCP select registro.Febrero).Sum(); resumen.EgresoMarzo = (from registro in listaCP select registro.Marzo).Sum(); resumen.EgresoAbril = (from registro in listaCP select registro.Abril).Sum(); resumen.EgresoMayo = (from registro in listaCP select registro.Mayo).Sum(); resumen.EgresoJunio = (from registro in listaCP select registro.Junio).Sum(); resumen.EgresoJulio = (from registro in listaCP select registro.Julio).Sum(); resumen.EgresoAgosto = (from registro in listaCP select registro.Agosto).Sum(); resumen.EgresoSeptiembre = (from registro in listaCP select registro.Septiembre).Sum(); resumen.EgresoOctubre = (from registro in listaCP select registro.Octubre).Sum(); resumen.EgresoNoviembre = (from registro in listaCP select registro.Noviembre).Sum(); resumen.EgresoDiciembre = (from registro in listaCP select registro.Diciembre).Sum(); resumen.EgresoTotal = (from registro in listaCP select registro.Total).Sum(); } else { resumen.EgresoEnero = 0.0f; resumen.EgresoFebrero = 0.0f; resumen.EgresoMarzo = 0.0f; resumen.EgresoAbril = 0.0f; resumen.EgresoMayo = 0.0f; resumen.EgresoJunio = 0.0f; resumen.EgresoJulio = 0.0f; resumen.EgresoAgosto = 0.0f; resumen.EgresoSeptiembre = 0.0f; resumen.EgresoOctubre = 0.0f; resumen.EgresoNoviembre = 0.0f; resumen.EgresoDiciembre = 0.0f; resumen.EgresoTotal = 0.0f; } } else { control.Log = vistaCC.Log; return this.Error(control); } /* Obtener CXC -----------------------------------------------------------*/ entidadFactura.CuentaFlujo = "ING"; entidadFactura.UnidadNegocio = centro.Clave; VisMaCuentasXCobrar vistaCxc = new VisMaCuentasXCobrar(entidadFactura); List<EntidadFactura> listaCxc = vistaCxc.GroupByUn(); if (vistaCxc.Log == "OK" || vistaCxc.Log == "VACIO") { if (listaCxc != null) { resumen.Cxc = (from registro in listaCxc select registro.Total).Sum(); } else { resumen.Cxc = 0.0f; } } else { control.Log = vistaCxc.Log; return this.Error(control); } /* Obtener CXP -----------------------------------------------------------*/ entidadFactura.CuentaFlujo = "EGR"; entidadFactura.UnidadNegocio = centro.Clave; VisMaCuentasXPagar vistaCxp = new VisMaCuentasXPagar(entidadFactura); List<EntidadFactura> listaCxp = vistaCxp.GroupByUn(); if (vistaCxp.Log == "OK" || vistaCxp.Log == "VACIO") { if (listaCxp != null) { resumen.Cxp = (from registro in listaCxp select registro.Total).Sum(); } else { resumen.Cxp = 0.0f; } } else { control.Log = vistaCxp.Log; return this.Error(control); } // Agrega linea a lista a devolver listaResumen.Add(resumen); } return listaResumen; } else { EntidadResumen error = new EntidadResumen(); error.Log = tablaCentros.Log; return this.Error(error); } }
public List<EntidadFlujo> FlujosEfectivoByUn(EntidadFlujo parFiltros) { /* VARIABLES -----------------------------------------------------------*/ int anio = parFiltros.Anio; string compania = parFiltros.Compania; string un = parFiltros.UnidadNegocio; float ingresoEjercido = 0.0f; float ingresoPendiente = 0.0f; float ingresoBudget = 0.0f; float ingresoBalance = 0.0f; float ingresoDesviacion = 0.0f; float egresoEjercido = 0.0f; float egresoPendiente = 0.0f; float egresoBudget = 0.0f; float egresoBalance = 0.0f; float egresoDesviacion = 0.0f; /* FILTROS -----------------------------------------------------------*/ // Se preparan los filtros de entidades Factura EntidadFactura entidadFactura = new EntidadFactura(); entidadFactura.Anio = anio; entidadFactura.Compania = compania; entidadFactura.UnidadNegocio = un; /* INGRESOS -----------------------------------------------------------*/ // Se obtiene las Cuentas Cobradas entidadFactura.CuentaFlujo = "ING"; VisMaCuentasCobradas vistaCuentasCobradas = new VisMaCuentasCobradas(entidadFactura); List<EntidadFactura> listaCuentasCobradas = vistaCuentasCobradas.GroupByUn(); if (vistaCuentasCobradas.Log == "OK" || vistaCuentasCobradas.Log == "VACIO") { if (listaCuentasCobradas != null) { ingresoEjercido = (from a in listaCuentasCobradas select a.Total).Sum(); } else { ingresoEjercido = 0.0f; } } else { EntidadFlujo error = new EntidadFlujo(); error.Log = vistaCuentasCobradas.Log; return this.Error(error); } // Se obtiene las Cuentas X Cobrar VisMaCuentasXCobrar vistaCuentasXCobrar = new VisMaCuentasXCobrar(entidadFactura); List<EntidadFactura> listaCuentasXCobrar = vistaCuentasXCobrar.GroupByUn(); if (vistaCuentasXCobrar.Log == "OK" || vistaCuentasXCobrar.Log == "VACIO") { if (listaCuentasXCobrar != null) { ingresoPendiente = (from a in listaCuentasXCobrar select a.Total).Sum(); } else { ingresoPendiente = 0.0f; } } else { EntidadFlujo error = new EntidadFlujo(); error.Log = vistaCuentasXCobrar.Log; return this.Error(error); } //Se Calcula la Balance y Desviacion ingresoBalance = ingresoEjercido + ingresoPendiente; ingresoDesviacion = ingresoBudget - ingresoBalance; /* EGRESOS -----------------------------------------------------------*/ // Se obtiene las Cuentas Pagadas entidadFactura.CuentaFlujo = "EGR"; VisMaCuentasPagadas vistaCuentasPagadas = new VisMaCuentasPagadas(entidadFactura); List<EntidadFactura> listaCuentasPagadas = vistaCuentasPagadas.GroupByUn(); if (vistaCuentasPagadas.Log == "OK" || vistaCuentasPagadas.Log == "VACIO") { if (listaCuentasPagadas != null) { egresoEjercido = (from a in listaCuentasPagadas select a.Total).Sum(); } else { egresoEjercido = 0.0f; } } else { EntidadFlujo error = new EntidadFlujo(); error.Log = vistaCuentasPagadas.Log; return this.Error(error); } // Se obtiene las Cuentas X Pagar VisMaCuentasXPagar vistaCuentasXPagar = new VisMaCuentasXPagar(entidadFactura); List<EntidadFactura> listaCuentasXPagar = vistaCuentasXPagar.GroupByUn(); if (vistaCuentasXPagar.Log == "OK" || vistaCuentasXPagar.Log == "VACIO") { if (listaCuentasXPagar != null) { egresoPendiente = (from a in listaCuentasXPagar select a.Total).Sum(); } else { egresoPendiente = 0.0f; } } else { EntidadFlujo error = new EntidadFlujo(); error.Log = vistaCuentasXPagar.Log; return this.Error(error); } // Se Calcula el Balance y Desviacion egresoBalance = egresoEjercido + egresoPendiente; egresoDesviacion = egresoBudget - egresoBalance; /* RESULTADOS (Lista de Ingresos y Egresos) -----------------------------------------------------------*/ // Fila de Ingresos EntidadFlujo ingresos = new EntidadFlujo(); ingresos.CuentaTipo = "INGRESO"; ingresos.UnidadNegocio = un; ingresos.TotalEjercido = ingresoEjercido; ingresos.TotalPendiente = ingresoPendiente; ingresos.TotalBudget = ingresoBudget; ingresos.TotalBalance = ingresoBalance; ingresos.TotalDesviacion = ingresoDesviacion; ingresos.Log = "-"; // Fila de Egresos EntidadFlujo egresos = new EntidadFlujo(); egresos.CuentaTipo = "EGRESO"; egresos.UnidadNegocio = un; egresos.TotalEjercido = egresoEjercido; egresos.TotalPendiente = egresoPendiente; egresos.TotalBudget = egresoBudget; egresos.TotalBalance = egresoBalance; egresos.TotalDesviacion = egresoDesviacion; egresos.Log = "-"; // Lista de Ingresos y Egresos List<EntidadFlujo> datos = new List<EntidadFlujo>(); datos.Add(ingresos); datos.Add(egresos); return datos; }
/*===================================================*\ INGRESOS & EGRESOS \*===================================================*/ public List<EntidadFlujo> FlujosEfectivoByZona(EntidadFlujo parFiltros) { /* VARIABLES -----------------------------------------------------------*/ int anio = parFiltros.Anio; string zona = parFiltros.Zona; float ingresoEjercido = 0.0f; float ingresoPendiente = 0.0f; float ingresoBudget = 0.0f; float ingresoBalance = 0.0f; float ingresoDesviacion = 0.0f; float egresoEjercido = 0.0f; float egresoPendiente = 0.0f; float egresoBudget = 0.0f; float egresoBalance = 0.0f; float egresoDesviacion = 0.0f; /* FILTROS -----------------------------------------------------------*/ // Se preparan los filtros de Factura EntidadFactura entidadFactura = new EntidadFactura(); entidadFactura.Anio = anio; entidadFactura.Zona = zona; entidadFactura.ProyectoTipo = "P"; entidadFactura.ProyectoEstado = "Y"; /* INGRESOS -----------------------------------------------------------*/ // Cuentas Cobradas entidadFactura.CuentaFlujo = "ING"; VisMaCuentasCobradas vistaCuentasCobradas = new VisMaCuentasCobradas(entidadFactura); List<EntidadFactura> listaCuentasCobradas = vistaCuentasCobradas.GroupByZona(); if (vistaCuentasCobradas.Log == "OK") { ingresoEjercido = (from a in listaCuentasCobradas select a.Total).Sum(); } else if (vistaCuentasCobradas.Log == "VACIO") { ingresoEjercido = 0.0f; } else { EntidadFlujo error = new EntidadFlujo(); error.Log = vistaCuentasCobradas.Log; return this.Error(error); } // Cuentas X Cobrar entidadFactura.CuentaFlujo = "ING"; VisMaCuentasXCobrar vistaCuentasXCobrar = new VisMaCuentasXCobrar(entidadFactura); List<EntidadFactura> listaCuentasXCobrar = vistaCuentasXCobrar.GroupByZona(); if (vistaCuentasXCobrar.Log == "OK") { ingresoPendiente = (from a in listaCuentasXCobrar select a.Total).Sum(); } else if (vistaCuentasXCobrar.Log == "VACIO") { ingresoPendiente = 0.0f; } else { EntidadFlujo error = new EntidadFlujo(); error.Log = vistaCuentasXCobrar.Log; return this.Error(error); } // Se Calcula la Balance y Desviación ingresoBalance = ingresoEjercido + ingresoPendiente; ingresoDesviacion = ingresoBudget - ingresoBalance; /* EGRESOS -----------------------------------------------------------*/ // Se obtiene las Cuentas Pagadas entidadFactura.CuentaFlujo = "EGR"; VisMaCuentasPagadas vistaCuentasPagadas = new VisMaCuentasPagadas(entidadFactura); List<EntidadFactura> listaCuentasPagadas = vistaCuentasPagadas.GroupByZona(); if (vistaCuentasPagadas.Log == "OK") { egresoEjercido = (from a in listaCuentasPagadas select a.Total).Sum(); } else if (vistaCuentasPagadas.Log == "VACIO") { egresoEjercido = 0.0f; } else { EntidadFlujo error = new EntidadFlujo(); error.Log = vistaCuentasPagadas.Log; return this.Error(error); } // Se obtiene las Cuentas X Pagar entidadFactura.CuentaFlujo = "EGR"; VisMaCuentasXPagar vistaCuentasXPagar = new VisMaCuentasXPagar(entidadFactura); List<EntidadFactura> listaCuentasXPagar = vistaCuentasXPagar.GroupByZona(); if (vistaCuentasXPagar.Log == "OK") { egresoPendiente = (from a in listaCuentasXPagar select a.Total).Sum(); } else if (vistaCuentasXPagar.Log == "VACIO") { egresoPendiente = 0.0f; } else { EntidadFlujo error = new EntidadFlujo(); error.Log = vistaCuentasXPagar.Log; return this.Error(error); } // Se Calcula la Balance y Desviación egresoBalance = egresoEjercido + egresoPendiente; egresoDesviacion = egresoBudget - egresoBalance; /* PREPARAR RESULTADOS (Lista de Egresos e Ingresos) -----------------------------------------------------------*/ // Fila de Ingresos EntidadFlujo ingresos = new EntidadFlujo(); ingresos.Zona = zona; ingresos.CuentaTipo = "INGRESO"; ingresos.TotalEjercido = ingresoEjercido; ingresos.TotalPendiente = ingresoPendiente; ingresos.TotalBudget = ingresoBudget; ingresos.TotalBalance = ingresoBalance; ingresos.TotalDesviacion = ingresoDesviacion; ingresos.Log = "-"; // Fila de Egresos EntidadFlujo egresos = new EntidadFlujo(); egresos.Zona = zona; egresos.CuentaTipo = "EGRESO"; egresos.TotalEjercido = egresoEjercido; egresos.TotalPendiente = egresoPendiente; egresos.TotalBudget = egresoBudget; egresos.TotalBalance = egresoBalance; egresos.TotalDesviacion = egresoDesviacion; egresos.Log = "-"; // Lista de Ingreso y Egreso List<EntidadFlujo> lista = new List<EntidadFlujo>(); lista.Add(ingresos); lista.Add(egresos); return lista; }
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); } }
/*===================================================*\ 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); } }
public List<EntidadFactura> CuentasPagadasByDoc(EntidadFactura parFiltros) { // Se preparan los filtros de Factura EntidadFactura entidad = new EntidadFactura(); entidad.Anio = parFiltros.Anio; entidad.Proyecto = parFiltros.Proyecto; entidad.Compania = parFiltros.Compania; entidad.CuentaClaseDesc = parFiltros.CuentaClaseDesc; entidad.CuentaDesc = parFiltros.CuentaDesc; entidad.Periodo = parFiltros.Periodo; entidad.UnidadNegocio = parFiltros.UnidadNegocio; entidad.CuentaFlujo = "EGR"; VisMaCuentasPagadas tabla = new VisMaCuentasPagadas(entidad); List<EntidadFactura> lista = tabla.Obtener(); if (tabla.Log == "OK") { return lista; } else { entidad.Log = tabla.Log; return this.Error(entidad); } }