/// <summary> /// Método que consulta la calcomnía de la unidad seleccionada /// </summary> /// <param name="serie"></param> public void Consultar(string OrdenID) { Hashtable parameters = new Hashtable(); parameters["UnidadOperativaID"] = this.vista.UnidadOperativaID; parameters["ModuloID"] = this.vista.ModuloID; bool auxImpreso = false; bool catalogo = true; parameters["MantenimientoUnidad"] = new MantenimientoUnidadBO { OrdenServicio = new OrdenServicioBO { Id = int.Parse(OrdenID) } }; Dictionary <String, Object> reportParameters = this.controlador.GenerarReporte(this.dctx, OrdenID, parameters, CrearObjetoSeguridad(), out auxImpreso, catalogo); if (((DataSet)reportParameters["DataSource"]).Tables["Mantenimientos"].Rows.Count <= 0) { this.vista.MostrarMensaje("No se encontraron coincidencias. Favor de verificar", ETipoMensajeIU.ADVERTENCIA); return; } else { foreach (DataRow row in ((DataSet)reportParameters["DataSource"]).Tables["Calcomania"].Rows) { this.vista.EstablecerPaqueteNavegacionImprimir("PLEN.BEP.15.MODMTTO.CU017", reportParameters); this.vista.IrAImprimir(); } } }
/// <summary> /// Crea y obtiene los Mantenimientos Equipos Aliados Idealease. Crea un nuevo diccionario de datos para los Mantenimientos /// Equipos Aliados. /// </summary> /// <param name="seleccionado">Filtro de Mantenimiento Unidad Idealease.</param> private void LlenarEquiposAliados(MantenimientoUnidadBO seleccionado) { List <EquipoAliadoBO> equiposAliados = new SDNI.Equipos.BR.UnidadBR().ConsultarEquipoAliado(dataContext, seleccionado.IngresoUnidad.Unidad); List <MantenimientoEquipoAliadoBO> mantenimientosEquiposAliados = new MantenimientoUnidadBR().ConsultarMantenimientosEquiposAliados(dataContext, seleccionado).MantenimientoEquiposAliados; DataSet mantenimientosEquipoAliado = new DataSet(); DataTable mantenimientoEquipoAliado = new DataTable(); mantenimientoEquipoAliado.Columns.Add("NumeroEconomico"); mantenimientoEquipoAliado.Columns.Add("Modelo"); mantenimientoEquipoAliado.Columns.Add("Kilometraje"); mantenimientoEquipoAliado.Columns.Add("Horometro"); mantenimientoEquipoAliado.Columns.Add("Cliente"); mantenimientoEquipoAliado.Columns.Add("TipoMantenimiento"); if (equiposAliados != null && equiposAliados.Count > 0) { foreach (EquipoAliadoBO equipoAliado in equiposAliados) { DataRow row = mantenimientoEquipoAliado.NewRow(); mantenimientoEquipoAliado.Rows.Add(getEquipoAliadoToDataRow(row, equipoAliado, mantenimientosEquiposAliados, seleccionado)); } } if (mantenimientoEquipoAliado.Rows.Count == 0) { DataRow row = mantenimientoEquipoAliado.NewRow(); } mantenimientosEquipoAliado.Tables.Add(mantenimientoEquipoAliado); vista.EquiposAliadosMantenimiento = mantenimientosEquipoAliado; vista.MantenimientoToHash = getMantenimientoUnidadToHash(seleccionado); }
/// <summary> /// Crea y obtiene el Mantenimiento Unidad Idealease completo. /// </summary> /// <param name="mantenimiento">El filtro para obtener el Mantenimiento Unidad Idealease.</param> /// <returns>Objeto de tipo MantenimientoUnidadBO</returns> private MantenimientoUnidadBO getMantenimientoCompleto(MantenimientoUnidadBO mantenimiento) { MantenimientoUnidadBO mantenimientoCompleto = ctrlMantenimiento.Consultar(dataContext, new MantenimientoUnidadBO() { MantenimientoUnidadId = mantenimiento.MantenimientoUnidadId }).FirstOrDefault(); mantenimientoCompleto.IngresoUnidad.Unidad = new BPMO.SDNI.Equipos.BR.UnidadBR().ConsultarCompleto(dataContext, mantenimientoCompleto.IngresoUnidad.Unidad).FirstOrDefault(); if (mantenimientoCompleto.FechaSalida == null) { mantenimiento.FechaSalida = DateTime.Now; } else { mantenimiento.FechaSalida = mantenimientoCompleto.FechaSalida; } mantenimientoCompleto.MantenimientoEquiposAliados = ctrlMantenimiento.ConsultarMantenimientosEquiposAliados(dataContext, new MantenimientoUnidadBO() { MantenimientoUnidadId = mantenimiento.MantenimientoUnidadId }).MantenimientoEquiposAliados; foreach (MantenimientoEquipoAliadoBO equipoAliado in mantenimientoCompleto.MantenimientoEquiposAliados) { if (equipoAliado.TipoServicio.Nombre == null) { equipoAliado.TipoServicio.Nombre = "N/A"; } } return(mantenimientoCompleto); }
/// <summary> /// Obtiene el Mantenimiento Idealease, si el Mantenimiento Idealease es de Tipo Unidad se obtiene la información completa, /// si es de Tipo Equipo Aliado se obtiene el Mantenimiento Unidad. /// </summary> private void CargarDatosUnidad() { if (vista.Mantenimiento != null) { if (vista.Mantenimiento.MantenimientoUnidad != null && vista.Mantenimiento.MantenimientoUnidad.MantenimientoUnidadId != null) { mantenimientoSeleccionado = getMantenimientoCompleto(vista.Mantenimiento.MantenimientoUnidad); } else if (vista.Mantenimiento != null) { MantenimientoEquipoAliadoBO seleccionado = vista.Mantenimiento.MantenimientoAliado; if (seleccionado != null && seleccionado.MantenimientoEquipoAliadoId != null) { MantenimientoEquipoAliadoBR ctrlMantenimientoEquipoAliado = new MantenimientoEquipoAliadoBR(); mantenimientoSeleccionado = ctrlMantenimientoEquipoAliado.ConsultarMantenimientoUnidadPorMantenimientoEquipoAliado(dataContext, seleccionado.MantenimientoEquipoAliadoId); mantenimientoSeleccionado = getMantenimientoCompleto(mantenimientoSeleccionado); if (mantenimientoSeleccionado.MantenimientoUnidadId == null) { throw new Exception("No se encontró un Mantenimiento Unidad para el Mantenimiento Equipo Aliado"); } } else { throw new Exception("No se encontró un Mantenimiento Unidad o Mantenimiento Equipo Aliado"); } } if (mantenimientoSeleccionado != null) { ConsultarMantenimientoProgramadoBR ctrlMantenimientoProgramado = new ConsultarMantenimientoProgramadoBR(); int EquipoID = mantenimientoSeleccionado.IngresoUnidad.Unidad.EquipoID.Value; MantenimientoProgramadoBO mantenimientoProgramado = ctrlMantenimientoProgramado.ConsultarUltimoMantenimientoProgramado(dataContext, EquipoID, true, true); vista.Taller = mantenimientoSeleccionado.Taller; if (mantenimientoProgramado != null && mantenimientoProgramado.MantenimientoProgramadoID != null) { vista.Datos.Add("unidad", mantenimientoSeleccionado.IngresoUnidad.Unidad.NumeroSerie); vista.Datos.Add("tipoProximoServicio", mantenimientoProgramado.TipoMantenimiento.ToString()); vista.Datos.Add("fechaProximoServicio", mantenimientoProgramado.Fecha.Value.ToString("dd-MM-yyyy", CultureInfo.InvariantCulture)); vista.Datos.Add("kilometraje", mantenimientoSeleccionado.KilometrajeEntrada.ToString()); vista.Datos.Add("horas", mantenimientoSeleccionado.HorasEntrada.ToString()); vista.CargarDatosUnidad(); } else { vista.Datos.Add("unidad", mantenimientoSeleccionado.IngresoUnidad.Unidad.NumeroSerie); vista.Datos.Add("tipoProximoServicio", "SIN SERVICIO PROGRAMADO"); vista.Datos.Add("fechaProximoServicio", "SIN FECHA DE PROXIMO SERVICIO"); vista.Datos.Add("kilometraje", mantenimientoSeleccionado.KilometrajeEntrada.ToString()); vista.Datos.Add("horas", mantenimientoSeleccionado.HorasEntrada.ToString()); vista.CargarDatosUnidad(); //vista.MostrarMensaje("No se encontró un mantenimiento programado para la unidad", ETipoMensajeIU.ERROR); } } } else { throw new Exception("No se encontró un Mantenimiento Unidad o Mantenimiento Equipo Aliado"); } }
/// <summary> /// Construye el Mantenimiento Unidad Idealease seleccionado. /// </summary> public void ConsultarMantenimientoUnidadCompleto() { try { MantenimientoUnidadBO seleccionado = this.vista.MantenimientosUnidad[vista.Index]; seleccionado.IngresoUnidad.Unidad.Cliente = getClienteCompleto(seleccionado.IngresoUnidad.Unidad.Cliente); seleccionado.IngresoUnidad.Controlista = getControlistaCompleto(seleccionado.IngresoUnidad.Controlista); seleccionado.Taller = getTallerCompleto(seleccionado.Taller); seleccionado.IngresoUnidad.Unidad.Sucursal = getSucursalCompleto(seleccionado.IngresoUnidad.Unidad.Sucursal); LlenarEquiposAliados(seleccionado); } catch (Exception e) {} }
/// <summary> /// Construye el Mantenimiento Unidad Idealease seleccionado. /// </summary> public void ConsultarMantenimientoUnidadCompleto() { try { MantenimientoUnidadBO seleccionado = this.vista.MantenimientosUnidad[vista.Index]; seleccionado.IngresoUnidad.Unidad.Cliente = getClienteCompleto(seleccionado.IngresoUnidad.Unidad.Cliente); seleccionado.IngresoUnidad.Controlista = getControlistaCompleto(seleccionado.IngresoUnidad.Controlista); seleccionado.Taller = getTallerCompleto(seleccionado.Taller); seleccionado.IngresoUnidad.Unidad.Sucursal = getSucursalCompleto(seleccionado.IngresoUnidad.Unidad.Sucursal); LlenarEquiposAliados(seleccionado); } catch (Exception e) { this.vista.MostrarMensaje("Error al consultar el mantenimiento", ETipoMensajeIU.ERROR, e.Message); } }
/// <summary> /// Convierte el Mantenimiento Unidad Idealease en un diccionario de datos. /// </summary> /// <param name="seleccionado">El Mantenimiento Unidad Idealease seleccionado.</param> /// <returns>Un nuevo diccionario de datos.</returns> private Dictionary <string, string> getMantenimientoUnidadToHash(MantenimientoUnidadBO seleccionado) { Dictionary <string, string> datos = new Dictionary <string, string>(); BPMO.SDNI.Equipos.BO.UnidadBO unidad = seleccionado.IngresoUnidad.Unidad; datos.Add("id", seleccionado.MantenimientoUnidadId.ToString()); datos.Add("numeroSerie", unidad.NumeroSerie); datos.Add("numeroEconomico", unidad.NumeroEconomico); datos.Add("modelo", unidad.Modelo.Nombre); datos.Add("cliente", unidad.Cliente.NombreCompleto); datos.Add("kilometraje", seleccionado.KilometrajeEntrada.ToString()); datos.Add("horometro", seleccionado.HorasEntrada.ToString()); datos.Add("totalCombustible", seleccionado.CombustibleTotal.ToString()); datos.Add("sucursal", unidad.Sucursal.Nombre); datos.Add("taller", seleccionado.Taller.Nombre); datos.Add("combustibleEntrada", seleccionado.CombustibleEntrada.ToString()); datos.Add("combustibleSalida", seleccionado.CombustibleSalida.ToString()); if (seleccionado.TipoServicio != null && seleccionado.TipoServicio.Id != null && seleccionado.TipoServicio.Id > 0) { switch (seleccionado.TipoServicio.Id) { case (int)ETipoMantenimientoIdealease.CORRECTIVO: datos.Add("tipoServicio", "Correctivo"); datos.Add("tipoMantenimiento", "CORRECTIVO"); break; case (int)ETipoMantenimientoIdealease.PREVENTIVO: datos.Add("tipoServicio", "Preventivo"); datos.Add("tipoMantenimiento", seleccionado.TipoMantenimiento.ToString()); break; } } else { datos.Add("tipoServicio", ""); datos.Add("tipoMantenimiento", seleccionado.TipoMantenimiento.ToString()); } datos.Add("controlista", seleccionado.IngresoUnidad.Controlista.Nombre); datos.Add("operador", seleccionado.IngresoUnidad.Operador); datos.Add("inventario", seleccionado.Inventario); datos.Add("falla", seleccionado.DescripcionFalla); datos.Add("codigosFalla", seleccionado.CodigosFalla); datos.Add("observaciones", seleccionado.IngresoUnidad.ObservacionesOperador); datos.Add("fechaApertura", seleccionado.FechaArranque.ToString()); datos.Add("fechaCierre", seleccionado.FechaSalida.ToString()); return(datos); }
/// <summary> /// Crea y obtiene el Filtro del Mantenimiento Unidad Idealease por medio de la Unidad seleccionada, para realizar la búsqueda de los /// Mantenimientos Unidad Idealease. /// </summary> /// <param name="unidadEncontrada">La Unidad seleccionada.</param> /// <returns>El filtro del Mantenimiento Unidad Idealease.</returns> private MantenimientoUnidadBO getFiltroMatenimientoUnidadBO(BPMO.SDNI.Equipos.BO.UnidadBO unidadEncontrada) { MantenimientoUnidadBO filtroMantenimiento = new MantenimientoUnidadBO() { Activo = true, IngresoUnidad = new IngresoUnidadBO() { Unidad = new BPMO.SDNI.Equipos.BO.UnidadBO() { UnidadID = unidadEncontrada.UnidadID } } }; return(filtroMantenimiento); }
/// <summary> /// Obtiene el maantenimiento que se va a auditar /// </summary> public void Consultar() { try { AuditoriaMantenimientoBO bo = new AuditoriaMantenimientoBO { OrdenServicio = this.vista.MantenimientoRecibido }; MantenimientoUnidadBO mantenimientoUnidad = new MantenimientoUnidadBO() { OrdenServicio = bo.OrdenServicio }; MantenimientoEquipoAliadoBO mantenimientoAliado = new MantenimientoEquipoAliadoBO() { OrdenServicio = bo.OrdenServicio }; List <MantenimientoUnidadBO> listMantenimientosUnidad = ctrMantenimientoUnidad.Consultar(dataContext, mantenimientoUnidad); if (listMantenimientosUnidad == null || listMantenimientosUnidad.Count == 0) { List <MantenimientoEquipoAliadoBO> listMantenimientoAliado = ctrMantenimientoEquipoAliado.Consultar(dataContext, mantenimientoAliado); if (listMantenimientoAliado != null && listMantenimientoAliado.Count > 0) { bo.TipoMantenimiento = (ETipoMantenimiento)listMantenimientoAliado.FirstOrDefault().TipoMantenimiento; } else { this.vista.MostrarMensaje("La búsqueda no produjo resultados", ETipoMensajeIU.INFORMACION, "No se encontraron coincidencias con los criterios ingresados. Verifique sus datos"); } } else { bo.TipoMantenimiento = (ETipoMantenimiento)listMantenimientosUnidad.FirstOrDefault().TipoMantenimiento; } bo = this.ComplementarDatos(bo); this.vista.Resultado = bo; this.DesplegarResultado(bo); } catch (Exception ex) { throw new Exception(this.nombreClase + ".Consultar:" + ex.Message); } }
/// <summary> /// Realiza la búsqueda del Mantenimiento Unidad Idealease por la Orden de Servicio E-Lider. Obtiene los Mantenimientos Equipos Aliados Idealease /// del Mantenimiento Unidad Idealease. /// </summary> /// <param name="ordenServicioElider">La Orden de Servicio E-Lider</param> /// <returns>Retorna True si encontró resultados, en caso contrario retorna False.</returns> private bool BuscarUnidadPorOrdenElider(OrdenServicioBO ordenServicioElider) { Boolean encontrado = false; MantenimientoUnidadBO filtroMantenimientoUnidadIdealease = new MantenimientoUnidadBO() { OrdenServicio = ordenServicioElider }; MantenimientoUnidadBO mantenimientoUnidadIdealease = ctrlMantenimientoUnidad.Consultar(dataContext, filtroMantenimientoUnidadIdealease).FirstOrDefault(); if (mantenimientoUnidadIdealease != null && mantenimientoUnidadIdealease.MantenimientoUnidadId != null) { BPMO.SDNI.Equipos.BO.UnidadBO filtroUnidadIdealease = new BPMO.SDNI.Equipos.BO.UnidadBO() { UnidadID = mantenimientoUnidadIdealease.IngresoUnidad.Unidad.UnidadID }; BPMO.SDNI.Equipos.BR.UnidadBR ctrlUnidadIdealease = new BPMO.SDNI.Equipos.BR.UnidadBR(); BPMO.SDNI.Equipos.BO.UnidadBO unidadIdealease = ctrlUnidadIdealease.Consultar(dataContext, filtroUnidadIdealease).FirstOrDefault(); if (unidadIdealease != null && unidadIdealease.UnidadID != null) { if (unidadIdealease.Modelo == null || unidadIdealease.Modelo.Id == null) { BPMO.SDNI.Equipos.BO.UnidadBO unidadCompleta = new BPMO.SDNI.Equipos.BO.UnidadBO(unidadIdealease.ActaNacimiento); unidadIdealease.Modelo = unidadCompleta.Modelo; } mantenimientoUnidadIdealease.IngresoUnidad.Unidad = unidadIdealease; mantenimientoUnidadIdealease.OrdenServicio = ordenServicioElider; vista.MantenimientosUnidad = new List <MantenimientoUnidadBO>(); vista.MantenimientosUnidad.Add(mantenimientoUnidadIdealease); encontrado = true; } } return(encontrado); }
/// <summary> /// Convierte el Mantenimiento Equipo Aliado Idealease en un diccionario de datos. /// </summary> /// <param name="seleccionado">El Mantenimiento Equipo Aliado Idealease seleccionado.</param> /// <returns>Un nuevo diccionario de datos.</returns> private Dictionary <string, string> getMantenimientoEquipoToHash(MantenimientoEquipoAliadoBO seleccionado) { Dictionary <string, string> datos = new Dictionary <string, string>(); EquipoAliadoBO equipo = seleccionado.IngresoEquipoAliado.EquipoAliado; datos.Add("id", seleccionado.MantenimientoEquipoAliadoId.ToString()); datos.Add("numeroSerie", equipo.NumeroSerie); datos.Add("numeroEconomico", "N/A"); datos.Add("modelo", equipo.Modelo.Nombre); MantenimientoUnidadBO m = ctrlMantenimientoEquipoAliado.ConsultarMantenimientoUnidadPorMantenimientoEquipoAliado(dataContext, seleccionado.MantenimientoEquipoAliadoId); if (m.IngresoUnidad.Unidad.Cliente.Id != null) { m.IngresoUnidad.Unidad.Cliente = getClienteCompleto(m.IngresoUnidad.Unidad.Cliente); datos.Add("cliente", m.IngresoUnidad.Unidad.Cliente.NombreCompleto); } else { datos.Add("cliente", "N/D"); } datos.Add("kilometraje", seleccionado.KilometrajeEntrada != null ? seleccionado.KilometrajeEntrada.ToString() : "N/D"); datos.Add("horometro", seleccionado.HorasEntrada != null ? seleccionado.HorasEntrada.ToString() : "N/D"); datos.Add("totalCombustible", ""); datos.Add("sucursal", equipo.Sucursal.Nombre); datos.Add("taller", seleccionado.Taller.Nombre); datos.Add("combustibleEntrada", ""); datos.Add("combustibleSalida", ""); if (seleccionado.TipoServicio != null && seleccionado.TipoServicio.Id != null && seleccionado.TipoServicio.Id > 0) { switch (seleccionado.TipoServicio.Id) { case (int)ETipoMantenimientoIdealease.CORRECTIVO: datos.Add("tipoServicio", "Correctivo"); datos.Add("tipoMantenimiento", "CORRECTIVO"); break; case (int)ETipoMantenimientoIdealease.PREVENTIVO: datos.Add("tipoServicio", "Preventivo"); datos.Add("tipoMantenimiento", seleccionado.TipoMantenimiento.ToString()); break; } } else { datos.Add("tipoServicio", "N/D"); datos.Add("tipoMantenimiento", seleccionado.TipoMantenimiento.ToString()); } if (seleccionado.Auditoria.UC != null) { UsuarioBO filtroControlista = new UsuarioBO() { Id = seleccionado.Auditoria.UC }; UsuarioBO controlista = FacadeBR.ConsultarUsuario(dataContext, filtroControlista).FirstOrDefault(); if (controlista != null && controlista.Id != null) { datos.Add("controlista", controlista.Nombre); } } else { datos.Add("controlista", "N/D"); } datos.Add("operador", m.IngresoUnidad.Operador); datos.Add("inventario", seleccionado.Inventario); datos.Add("falla", seleccionado.DescripcionFalla); datos.Add("codigosFalla", seleccionado.CodigosFalla); datos.Add("observaciones", seleccionado.IngresoEquipoAliado.ObservacionesOperador); datos.Add("fechaApertura", seleccionado.FechaArranque.ToString()); datos.Add("fechaCierre", seleccionado.FechaSalida.ToString()); return(datos); }
/// <summary> /// Convierte el Mantenimiento Equipo Aliado Idealease en un diccionario de datos. /// </summary> /// <param name="mantenimiento">El direccionario de datos.</param> /// <param name="equipoAliado">El Equipo Aliado relacionado.</param> /// <param name="mantenimientosEquiposAliados">Lista de Mantenimientos Equipos Aliados Idealease del Mantenimiento Unidad Idealease.</param> /// <param name="seleccionado">Mantenimiento Unidad Idealease encontrada.</param> /// <returns></returns> private DataRow getEquipoAliadoToDataRow(DataRow mantenimiento, EquipoAliadoBO equipoAliado, List <MantenimientoEquipoAliadoBO> mantenimientosEquiposAliados, MantenimientoUnidadBO seleccionado) { MantenimientoEquipoAliadoBO mantenimientoEquipoAliadoEncontrado = mantenimientosEquiposAliados.Find(x => x.IngresoEquipoAliado.EquipoAliado.EquipoAliadoID == equipoAliado.EquipoAliadoID); string kilometraje = "", horometro = "", tipoMantenimiento = "", modelo = ""; if (mantenimientoEquipoAliadoEncontrado != null && mantenimientoEquipoAliadoEncontrado.OrdenServicio.Id != null) { OrdenServicioBO ordenLider = FacadeBR.ConsultarOrdenServicio(dataContext, mantenimientoEquipoAliadoEncontrado.OrdenServicio).FirstOrDefault(); if (ordenLider.Unidad.KmHrs != null) { if ((bool)ordenLider.Unidad.KmHrs) { horometro = ordenLider.Unidad.KmHrsInicial.ToString(); kilometraje = mantenimientoEquipoAliadoEncontrado.KilometrajeEntrada.ToString(); } else { kilometraje = ordenLider.Unidad.KmHrsInicial.ToString(); } } tipoMantenimiento = mantenimientoEquipoAliadoEncontrado.TipoMantenimiento.ToString(); } else { kilometraje = horometro = tipoMantenimiento = "Sin orden de Servicio"; } if (equipoAliado.Modelo != null && equipoAliado.Modelo.Id != null) { modelo = equipoAliado.Modelo.Nombre; } else { BPMO.Servicio.Catalogos.BO.UnidadBO filtro = new BPMO.Servicio.Catalogos.BO.UnidadBO() { Id = equipoAliado.IDLider }; BPMO.Servicio.Catalogos.BO.UnidadBO equipoAliadoElider = FacadeBR.ConsultarUnidad(dataContext, filtro); if (equipoAliadoElider != null) { modelo = equipoAliadoElider.ConfiguracionModeloMotorizacion.Modelo != null && equipoAliadoElider.ConfiguracionModeloMotorizacion.Modelo.Nombre != null ? equipoAliadoElider.ConfiguracionModeloMotorizacion.Modelo.Nombre : ""; } } mantenimiento.ItemArray = new object[] { "", modelo, kilometraje, horometro, seleccionado.IngresoUnidad.Unidad.Cliente.NombreCompleto, tipoMantenimiento }; return(mantenimiento); }