public JsonResult GetExportaciones(string desde, string hasta) { List <Entidad.Exportaciones> _resultExportaciones = new List <Entidad.Exportaciones>(); List <Entidad.Exportaciones> resultadoDetalle = new List <Entidad.Exportaciones>(); List <Entidad.ExportacionAgrupado> _resultExportacionesAgrupado = new List <Entidad.ExportacionAgrupado>(); Entidad.ExportacionesInput parametros = new Entidad.ExportacionesInput(); parametros.IN_DESDE = desde; parametros.IN_HASTA = hasta; _resultExportaciones = exportaciones.Consultar(parametros); var resultado = _resultExportaciones.Where(x => x.FLGETR == "N" && x.FLGOPP != "").AsEnumerable <Entidad.Exportaciones>(); foreach (var item in resultado) { resultadoDetalle.Add(new Entidad.Exportaciones() { NORSRN = item.NORSRN, TCMPVP = item.TCMPVP.Trim(), NBKNCN = item.NBKNCN.Trim(), CPRCN6 = item.CPRCN6.Trim(), NSRCN6 = item.NSRCN6.Trim(), TPOBKN = item.TPOBKN.Trim(), TTMNCN = item.TTMNCN, CTPOC2 = item.CTPOC2.Trim(), NGSLCN = item.NGSLCN, FPSDSL = item.FPSDSL, HPSDSL = item.HPSDSL, FLGETR = item.FLGETR == "T" ? "SI" : "", IMO = item.IMO.Trim(), IQBF = item.IQBF.Trim(), FLGPRC = item.FLGPRC.Trim(), NPRGS2 = item.NPRGS2.Trim(), INGRESOSALIDA = item.FPSDSL > 0 ? "S" : "I", CONTENEDOR = item.CPRCN6 + item.NSRCN6, FECHASALIDA = Helper.DevolverFormatoFecha(item.FPSDSL), HORASALIDA = Helper.DevolverFormatoHora(item.HPSDSL), FECHAHORASALIDA = Helper.DevolverFormatoFecha(item.FPSDSL) + ' ' + Helper.DevolverFormatoHora(item.HPSDSL), PESO = item.PESO, TEMBR1 = item.TEMBR1.Trim(), NORDEM = item.NORDEM, FCOFF1 = item.FCOFF1, HCOFF1 = item.HCOFF1, EXCLUSIVO = item.EXCLUSIVO.Trim(), FECHAHORACUTOFF = Helper.DevolverFormatoFecha(item.FCOFF1) + " " + Helper.DevolverFormatoHora(item.HCOFF1), FLGOPP = item.FLGOPP.Trim(), TARA = item.TARA, FECHAINGRESO = Helper.DevolverFormatoFecha(item.FGINAL), HORAINGRESO = Helper.DevolverFormatoHora(item.HGINAL), FECHAHORAINGRESO = Helper.DevolverFormatoFecha(item.FGINAL) + ' ' + Helper.DevolverFormatoHora(item.HGINAL), PESONETO = item.PESO > 0 ? item.PESO - item.TARA : 0, FECDOC = item.FECDOC, FECHAENTRDOC = Helper.DevolverFormatoFecha(item.FECDOC), HORDOC = item.HORDOC, HORAENTRDOC = Helper.DevolverFormatoHora(item.HORDOC), FECHAHORAENTRDOC = Helper.DevolverFormatoFecha(item.FECDOC) + ' ' + Helper.DevolverFormatoHora(item.HORDOC), //CONTENE = item.CONTENE.Trim(), REFRIGER = item.REFRIGER.Trim(), SPRPRP = item.SPRPRP.Trim(), CVPRCN = item.CVPRCN.Trim(), QCNTSL = item.QCNTSL }); } var ResultCantidad = resultadoDetalle.GroupBy(x => new { x.NORSRN, x.TCMPVP, x.TTMNCN, x.REFRIGER, x.QCNTSL, x.NBKNCN }); var grupo = ResultCantidad.Select(g => new Entidad.ExportacionAgrupadoTotales { orden = int.Parse(g.Key.NORSRN.ToString()), nave = g.Key.TCMPVP.Trim(), reef = g.Key.REFRIGER, tamanio = g.Key.TTMNCN, booking = g.Key.NBKNCN, cantidad = g.Select(s => s.QCNTSL).Distinct().Single() }); var Result = resultadoDetalle.GroupBy(x => new { x.NORSRN, x.TCMPVP, x.FECHAHORACUTOFF }); _resultExportacionesAgrupado = Result.Select(g => new Entidad.ExportacionAgrupado { orden = int.Parse(g.Key.NORSRN.ToString()), nave = g.Key.TCMPVP.Trim(), CutOff = g.Key.FECHAHORACUTOFF, TotalManifestado20 = grupo.Where(x => x.orden == g.Key.NORSRN && x.reef == "NO" && x.tamanio == 20).Sum(s => s.cantidad), TotalManifestado40 = grupo.Where(x => x.orden == g.Key.NORSRN && x.reef == "NO" && x.tamanio == 40).Sum(s => s.cantidad), TotalManifestado20Ree = grupo.Where(x => x.orden == g.Key.NORSRN && x.reef == "SI" && x.tamanio == 20).Sum(s => s.cantidad), TotalManifestado40Ree = grupo.Where(x => x.orden == g.Key.NORSRN && x.reef == "SI" && x.tamanio == 20).Sum(s => s.cantidad), Total20Recibido = g.Count(r => r.TTMNCN == 20 & r.REFRIGER == "NO"), Total20RecibidoReef = g.Count(r => r.TTMNCN == 20 & r.REFRIGER == "SI"), Total20RecibidoCD = g.Count(r => r.TTMNCN == 20 & r.NORDEM >= 1 & r.REFRIGER == "NO"), Total20RecibidoCDReef = g.Count(r => r.TTMNCN == 20 & r.NORDEM >= 1 & r.REFRIGER == "SI"), Total20RecibidoSD = g.Count(r => r.TTMNCN == 20 & r.NORDEM == 0 & r.REFRIGER == "NO"), Total20RecibidoSDReef = g.Count(r => r.TTMNCN == 20 & r.NORDEM == 0 & r.REFRIGER == "SI"), Total40Recibido = g.Count(r => r.TTMNCN == 40 & r.REFRIGER == "NO"), Total40RecibidoReef = g.Count(r => r.TTMNCN == 40 & r.REFRIGER == "SI"), Total40RecibidoCD = g.Count(r => r.TTMNCN == 40 & r.NORDEM >= 1 & r.REFRIGER == "NO"), Total40RecibidoCDReef = g.Count(r => r.TTMNCN == 40 & r.NORDEM >= 1 & r.REFRIGER == "SI"), Total40RecibidoSD = g.Count(r => r.TTMNCN == 40 & r.NORDEM == 0 & r.REFRIGER == "NO"), Total40RecibidoSDReef = g.Count(r => r.TTMNCN == 40 & r.NORDEM == 0 & r.REFRIGER == "SI"), Faltan20 = grupo.Where(x => x.orden == g.Key.NORSRN && x.reef == "NO" && x.tamanio == 20).Sum(s => s.cantidad) - g.Count(r => r.TTMNCN == 20 & r.REFRIGER == "NO"), Faltan40 = grupo.Where(x => x.orden == g.Key.NORSRN && x.reef == "NO" && x.tamanio == 40).Sum(s => s.cantidad) - g.Count(r => r.TTMNCN == 40 & r.REFRIGER == "NO"), Faltan20Ree = grupo.Where(x => x.orden == g.Key.NORSRN && x.reef == "SI" && x.tamanio == 20).Sum(s => s.cantidad) - g.Count(r => r.TTMNCN == 20 & r.REFRIGER == "SI"), Faltan40Ree = grupo.Where(x => x.orden == g.Key.NORSRN && x.reef == "SI" && x.tamanio == 20).Sum(s => s.cantidad) - g.Count(r => r.TTMNCN == 20 & r.REFRIGER == "SI") }).ToList <Entidad.ExportacionAgrupado>(); // _resultExportacionesAgrupado = Result; List <Entidad.DatosExportacion> Resultado = new List <Entidad.DatosExportacion>(); Resultado.Add(new Entidad.DatosExportacion() { Detallado = resultadoDetalle, Agrupado = _resultExportacionesAgrupado }); var TT = Json(Resultado); return(TT); }
public List <Entidad.Exportaciones> Consultar(Entidad.ExportacionesInput Parametros) { return(exportaciones.Consultar(Parametros)); }
public List <Entidad.Exportaciones> Consultar(Entidad.ExportacionesInput Parametros) { dtResultado = DB2Helper.ExecuteDb2Query(CommandType.StoredProcedure, "SP_CONSULTA_JNTAOPEEXPO", Parametros); return(dtResultado.ToList <Entidad.Exportaciones>()); }