public ActionResult ObtenerPilas(string term) { CRUDGeometalurgia cd = new CRUDGeometalurgia(); IEnumerable <BusquedaPilas> data = cd.ListaSondajes(); var lista = from p in data select p; return(Json(lista.Where(c => c.HOLEID.Contains(term.ToUpper())).Select(a => new { label = a.HOLEID }), JsonRequestBehavior.AllowGet)); }
public ActionResult GraficosRecuperacionPonderadoTonelaje(String holeid) { CRUDGeometalurgia cd = new CRUDGeometalurgia(); //Detalle Carga Diaria Cut Cortador Cut Ripios IEnumerable <RecuperacionPondTonelaje> data = cd.ponderacionTonelaje(holeid.ToUpper()); var lista = from p in data select p; //resumen Pila IEnumerable <ResumenPilas> dataResumen = cd.ResumenPilas(holeid.ToUpper()); var listaResumen = from p in dataResumen select p; //Detalle Mineral IEnumerable <MineralPila> dataMineral = cd.MineralPila(listaResumen.Select(x => x.PLANTA).Max(), listaResumen.Select(x => x.INICIOCARGA).Max(), listaResumen.Select(x => x.TERMINOCARGA).Max()); var listaMineral = from p in dataMineral select p; //ViewBag.Tmin = listaMineral.GroupBy(x => x.T_MIN_MINA).Select(group => group.First()).ToList(); ViewBag.Tmin = listaMineral.GroupBy(d => 1).Select(g => new MineralPila { TONDIA = g.Sum(s => s.TONDIA), SULFURO = g.Sum(s => s.SULFURO), OXIDO = g.Sum(s => s.OXIDO), }); var dataJoin = lista.Join(listaMineral, post => post.FECHACARGA, meta => meta.FECHAMOVIMIENTO, (post, meta) => new { post, meta }).Select(z => new MineralRecuperacion { CuT_CORTADOR = z.post.CuT_CORTADOR, CuS_CORTADOR = z.post.CuS_CORTADOR, CuT_RIPIOS = z.post.CuT_RIPIOS, FECHACARGA = z.post.FECHACARGA, Rec_CuT_Fecha_Carga = z.post.Rec_CuT_Fecha_Carga, TONELAJEDIARIO = z.post.TONELAJEDIARIO, FECHAMOVIMIENTO = z.meta.FECHAMOVIMIENTO, MSH = z.meta.MSH, MSHB = z.meta.MSHB, MSHM = z.meta.MSHM, OXIDO = z.meta.OXIDO, SULFURO = z.meta.SULFURO, TONDIA = z.meta.TONDIA }).ToList(); try { var control = dataJoin; ViewBag.detalleResumen = listaResumen.ToList(); var application = new Application(); var worksheetFunction = application.WorksheetFunction; double sumaTotalTonelaje = lista.Select(x => x.TONELAJEDIARIO).Sum(); ViewBag.sumaTotalTonelaje = sumaTotalTonelaje; ViewBag.CuTFinoIN = worksheetFunction.SumProduct(lista.Where(x => x.CuT_RIPIOS != 0).Select(x => x.CuT_CORTADOR).ToArray(), lista.Where(x => x.CuT_RIPIOS != 0).Select(x => x.TONELAJEDIARIO).ToArray()); ViewBag.CuTFinoOUT = worksheetFunction.SumProduct(lista.Where(x => x.CuT_RIPIOS != 0).Select(x => x.CuT_RIPIOS).ToArray(), lista.Where(x => x.CuT_RIPIOS != 0).Select(x => x.TONELAJEDIARIO).ToArray()); ViewBag.CutRecuperado_PILA = (((double)((int)(((ViewBag.CuTFinoIN - ViewBag.CuTFinoOUT) / ViewBag.CuTFinoIN * 100) * 1000.0))) / 1000.0); GraficosGeomet gm = new GraficosGeomet(); // ViewBag.Graf1RecTotPila = gm.RecTotalCutPila(holeid, lista.Select(x => x.FECHACARGA.ToString().Substring(0,10)).ToArray(), lista.Select(x => x.Rec_CuT_Fecha_Carga.ToString()).Cast<object>().ToArray()); ViewBag.Graf1RecTotPila = gm.RecTotalCutPila(holeid, dataJoin.Select(x => x.FECHACARGA.ToString().Substring(0, 10)).ToArray(), dataJoin); // ViewBag.Graf2RecTotPila= gm.RecTotalTmin(holeid, dataJoin.Select(x => x.FECHACARGA.ToString().Substring(0, 10)).ToArray(), dataJoin); ViewBag.HOleid = holeid.ToUpper(); ViewBag.detalle = control; }catch (Exception ex) { //Excepcion sin control } return(View()); }