示例#1
0
        public ActionResult Resumen()
        {
            var kpi = from k in db.kpisinventariosaplontime
                      select new { k.id, dia = k.DiasOracle, mes = k.Mes };

            var listakpis = new List <kpisinventariosaplontime>();

            foreach (var item in kpi)
            {
                kpisinventariosaplontime kpis = new kpisinventariosaplontime();
                kpis.id         = item.id;
                kpis.Mes        = item.mes;
                kpis.DiasOracle = item.dia;
                listakpis.Add(kpis);
            }

            var kpisAgrupados = from k in listakpis
                                group k by k.Mes into g
                                select new GourpMeses <string, kpisinventariosaplontime>
            {
                Key          = g.Key,
                Values       = g,
                TotalRecords = g.Count(x => x.DiasOracle > 0),
                TotalOks     = g.Count(x => x.DiasOracle <= 7 && x.DiasOracle > 0),
                TotalDesv    = g.Count(x => x.DiasOracle > 7)
            };

            List <kpisinventariosaplontime> lista = new List <kpisinventariosaplontime>();

            foreach (var item in kpisAgrupados)
            {
                kpisinventariosaplontime kpisplaneacion = new kpisinventariosaplontime();
                kpisplaneacion.Mes       = item.Key;
                kpisplaneacion.Total     = (int)item.TotalRecords;
                kpisplaneacion.TotalOks  = (int)item.TotalOks;
                kpisplaneacion.TotalDesv = (int)item.TotalDesv;

                if (item.TotalOks > 0)
                {
                    var porcentajeOk          = ((int)item.TotalOks / (decimal)(int)item.TotalRecords) * 100;
                    var porcentajeDesvRounded = Math.Round(porcentajeOk, 2);
                    kpisplaneacion.procentaje = porcentajeDesvRounded;
                }
                else
                {
                    kpisplaneacion.procentaje = 0;
                }

                lista.Add(kpisplaneacion);
            }

            Totales();

            return(PartialView(lista.ToList()));
        }
示例#2
0
        public ActionResult ListaKpis()
        {
            var Draw          = Request.Form.GetValues("draw").FirstOrDefault();
            var Start         = Request.Form.GetValues("start").FirstOrDefault();
            var Length        = Request.Form.GetValues("length").FirstOrDefault();
            var SortColumn    = Request.Form.GetValues("columns[" + Request.Form.GetValues("order[0][column]").FirstOrDefault() + "][data]").FirstOrDefault();
            var SortColumnDir = Request.Form.GetValues("order[0][dir]").FirstOrDefault();

            var Mes = Request.Form.GetValues("columns[1][search][value]").FirstOrDefault();

            int PageSize = Length != null?Convert.ToInt32(Length) : 0;

            int Skip = Start != null?Convert.ToInt32(Start) : 0;

            int TotalRecords = 0;

            try
            {
                List <kpisinventariosaplontime> listaKPIS = new List <kpisinventariosaplontime>();

                using (var con = new SqlConnection(ConfigurationManager.ConnectionStrings["DefaultConnection"].ToString()))
                {
                    con.Open();

                    string sql = "exec [dbo].[SP_KPISINVENTARIOSAPLONTIME_PARAMETROSOPCIONALES] @mes";

                    var query = new SqlCommand(sql, con);

                    if (Mes != "")
                    {
                        query.Parameters.AddWithValue("@mes", Mes);
                    }
                    else
                    {
                        query.Parameters.AddWithValue("@mes", DBNull.Value);
                    }

                    using (var dr = query.ExecuteReader())
                    {
                        while (dr.Read())
                        {
                            // facturas
                            var kpis = new kpisinventariosaplontime();

                            kpis.id  = Convert.ToInt32(dr["id"]);
                            kpis.Mes = dr["Mes"].ToString();
                            kpis.FechaReciboFisico      = Convert.ToDateTime(dr["FechaReciboFisico"]);
                            kpis.FechaTerminoValidacion = Convert.ToDateTime(dr["FechaTerminoValidacion"]);
                            kpis.DiasValidacion         = Convert.ToInt32(dr["DiasValidacion"]);
                            kpis.FechaCreacionOracle    = Convert.ToDateTime(dr["FechaCreacionOracle"]);
                            kpis.FechaReciboOracle      = Convert.ToDateTime(dr["FechaReciboOracle"]);
                            kpis.DiasOracle             = Convert.ToInt32(dr["DiasOracle"]);
                            kpis.FolioFacturacion       = dr["FolioFacturacion"].ToString();
                            kpis.Observaciones          = dr["Observaciones"].ToString();
                            kpis.CV               = dr["CV"].ToString();
                            kpis.Number           = dr["Number"].ToString();
                            kpis.ordernumber      = dr["ordernumber"].ToString();
                            kpis.piezassistema    = Convert.ToInt32(dr["piezassistema"]);
                            kpis.piezasfisico     = Convert.ToInt32(dr["piezasfisico"]);
                            kpis.palletsrecibidos = Convert.ToInt32(dr["palletsrecibidos"]);
                            kpis.montofacturado   = Convert.ToInt32(dr["montofacturado"]);
                            kpis.ingresado        = dr["ingresado"].ToString();

                            listaKPIS.Add(kpis);
                        }
                    }
                }

                if (!(string.IsNullOrEmpty(SortColumn) && string.IsNullOrEmpty(SortColumnDir)))
                {
                    listaKPIS = listaKPIS.OrderBy(SortColumn + " " + SortColumnDir).ToList();
                }

                TotalRecords = listaKPIS.ToList().Count();
                var NewItems = listaKPIS.Skip(Skip).Take(PageSize == -1 ? TotalRecords : PageSize).ToList();

                return(Json(new { draw = Draw, recordsFiltered = TotalRecords, recordsTotal = TotalRecords, data = NewItems }, JsonRequestBehavior.AllowGet));
            }
            catch (Exception _ex)
            {
                Console.WriteLine(_ex.Message.ToString());
                ViewBag.Error = "Ha ocurrido un error. Contacte al administrador del sistema";
                return(RedirectToAction("Error500", "Errores"));
            }
        }