Exemple #1
0
 public IEnumerable<KardexCombustibleModel> ReporteTanques(string ANIO = null, string MES = null)
 {
     List<KardexCombustibleModel> result = new List<KardexCombustibleModel>();
     if (ANIO == null && MES == null)
     {
         //DateTime fecha = DateTime.Now;
         MES = DateTime.Now.ToString("MM");
         ANIO = DateTime.Now.ToString("yyyy");
     }
     string date = string.Format("01/{0}/{1}", MES, ANIO);
     //"01/08/2008";
     DateTime dt = Convert.ToDateTime(date);
     var _serKcm = new KardexCombustibleServices();
     var kardex = _serKcm.ObtenerKardexCombustible(MES, ANIO);
     var grupo = kardex.GroupBy(x => x.FECHA);
     var diesel = kardex.Where(x => x.SG_COMBUSTIBLES.NOMBRE == "DIESEL").OrderBy(x => x.FECHA);
     //diesel.Where(x=>x.)
     var gasolina = kardex.Where(x => x.SG_COMBUSTIBLES.NOMBRE == "GASOLINA").OrderBy(x => x.FECHA);
     foreach (var item in grupo)
     {
         KardexCombustibleModel venDia = new KardexCombustibleModel
         {
             FECHA = item.Key,
             //SALDO_INICIAL_DIE = diesel.where(y=>y.FECHA == item.Key).fi
         };
         venDia.MES = ObtenerMesEspanol(item.Key.Month);
         var die = diesel.Where(x => x.FECHA == item.Key).FirstOrDefault();
         var gas = gasolina.Where(x => x.FECHA == item.Key).FirstOrDefault();
         venDia.SALDO_INICIAL_DIE = die.SALDO_INICIAL;
         venDia.COMPRAS_DIE = (decimal)die.COMPRAS;
         venDia.VENTAS_DIE = (decimal)die.VENTAS;
         venDia.AJUSTES_DIE = (decimal)die.AJUSTES;
         venDia.ACUMULADO_DIE = (decimal)die.ACUMULADOS;
         
         venDia.VENTAS_GAS = (decimal)gas.VENTAS;
         venDia.COMPRAS_GAS = (decimal)gas.COMPRAS;
         venDia.SALDO_INICIAL_GAS = gas.SALDO_INICIAL;
         venDia.ACUMULADO_GAS = (decimal)gas.ACUMULADOS;
         venDia.AJUSTES_GAS = (decimal)gas.AJUSTES;
         result.Add(venDia);
     }
     result = result.OrderBy(x => x.FECHA).ToList();
     return result;
 }
Exemple #2
0
        public IEnumerable<UtilidadBrutaReal> ReporteUtilidadBrutaReal(string ANIO = null, string MES = null)
        {
            //obtener precvios
            var _serCom = new CombustiblesServices();
            var Gas = _serCom.ObtenerCombustible(x => x.ID_COMBUSTIBLE == 1);

            var Die = _serCom.ObtenerCombustible(x => x.ID_COMBUSTIBLE == 2);
            ////
            var _serKcm = new KardexCombustibleServices();
            List<UtilidadBrutaReal> result = new List<UtilidadBrutaReal>();
            string date = string.Format("01/{0}/{1}", MES, ANIO);
            DateTime dt = Convert.ToDateTime(date);
            _serKcm.SP_ActualizarKardexMN(dt, 0);
            var kardex = _serKcm.ObtenerKardexCombustible(MES, ANIO);
            var grupo = kardex.GroupBy(x => x.FECHA);
            var diesel = kardex.Where(x => x.SG_COMBUSTIBLES.NOMBRE == "DIESEL").OrderBy(x => x.FECHA);
            var gasolina = kardex.Where(x => x.SG_COMBUSTIBLES.NOMBRE == "GASOLINA").OrderBy(x => x.FECHA);
            UtilidadBrutaReal result1 = new UtilidadBrutaReal();
            result1.ING_INV_INI_FIS_DIE = diesel.FirstOrDefault().SALDO_INICIAL;
            result1.ING_VEN_TOT_FIS_DIE = diesel.GroupBy(x => x.SG_COMBUSTIBLES.ID_COMBUSTIBLE).Select(x => x.Sum(y => y.VENTAS)).FirstOrDefault().Value;

            result1.ING_VEN_TOT_VAL_DIE = (decimal)(result1.ING_VEN_TOT_FIS_DIE * Die.PRECIO_VENTA);
            result1.ING_INV_INI_VAL_DIE = (decimal)(result1.ING_INV_INI_FIS_DIE * Die.PRECIO_VENTA);

            result1.ING_INV_INI_FIS_GAS = gasolina.FirstOrDefault().SALDO_INICIAL;
            result1.ING_VEN_TOT_FIS_GAS = gasolina.GroupBy(x => x.SG_COMBUSTIBLES.ID_COMBUSTIBLE).Select(x => x.Sum(y => y.VENTAS)).FirstOrDefault().Value;

            result1.ING_VEN_TOT_VAL_GAS = (decimal)(result1.ING_VEN_TOT_FIS_GAS * Gas.PRECIO_VENTA);
            result1.ING_INV_INI_VAL_GAS = (decimal)(result1.ING_INV_INI_FIS_GAS * Gas.PRECIO_VENTA);

            result1.EGR_INV_INI_FIS_DIE = (decimal)diesel.LastOrDefault().ACUMULADOS;
            result1.EGR_VEN_TOT_FIS_DIE = diesel.GroupBy(x => x.SG_COMBUSTIBLES.ID_COMBUSTIBLE).Select(x => x.Sum(y => y.COMPRAS)).FirstOrDefault().Value;

            result1.EGR_INV_INI_FIS_GAS = (decimal)gasolina.LastOrDefault().ACUMULADOS;
            result1.EGR_VEN_TOT_FIS_GAS = gasolina.GroupBy(x => x.SG_COMBUSTIBLES.ID_COMBUSTIBLE).Select(x => x.Sum(y => y.COMPRAS)).FirstOrDefault().Value;

            result1.EGR_VEN_TOT_VAL_DIE = (decimal)(result1.EGR_VEN_TOT_FIS_DIE * Die.PRECIO_COMPRA);
            result1.EGR_INV_INI_VAL_DIE = (decimal)(result1.EGR_INV_INI_FIS_DIE * Die.PRECIO_COMPRA);

            result1.EGR_VEN_TOT_VAL_GAS = (decimal)(result1.EGR_VEN_TOT_FIS_GAS * Gas.PRECIO_COMPRA);
            result1.EGR_INV_INI_VAL_GAS = (decimal)(result1.EGR_INV_INI_FIS_GAS * Gas.PRECIO_COMPRA);


            result.Add(result1);
            return result;
        }