コード例 #1
0
        /// <summary>
        /// Obtiene la Auditoría Mantenimiento Idealease seleccionado.
        /// </summary>
        /// <param name="seleccionado">La Auditoría Mantenimiento Idealease seleccionado.</param>
        /// <returns>Retorna True si encontró la Auditoría Mantenimiento Idealease.</returns>
        public bool VerAuditoriaCompleta(AuditoriaMantenimientoBO seleccionado)
        {
            bool cargarAuditoria = false;

            try{
                AuditoriaMantenimientoBO          filtro = seleccionado;
                ConsultarAuditoriaMantenimientoBR ctrlAuditoriaCompleta = new ConsultarAuditoriaMantenimientoBR();
                AuditoriaMantenimientoBO          auditoriaCompleta     = ctrlAuditoriaCompleta.ConsultarAuditoriaCompleta(dataContext, filtro);
                auditoriaCompleta.OrdenServicio.AdscripcionServicio = seleccionado.OrdenServicio.AdscripcionServicio;
                if (auditoriaCompleta != null && auditoriaCompleta.AuditoriaMantenimientoID != null)
                {
                    vista.AuditoriaSeleccionada = auditoriaCompleta;
                    cargarAuditoria             = true;
                }
                else
                {
                    vista.MostrarMensaje("No se encontraron resultados para esta auditoria", ETipoMensajeIU.ADVERTENCIA);
                }
            } catch (Exception e) {
                if (!e.Message.Equals(""))
                {
                    vista.MostrarMensaje(e.Message, ETipoMensajeIU.ADVERTENCIA);
                }
            }
            return(cargarAuditoria);
        }
コード例 #2
0
        /// <summary>
        /// Realiza la búsqueda de Auditorías de Mantenimientos Idealease por, Orden de Servicio y Tipo de Mantenimiento seleccionado.
        /// Si el Tipo de Mantenimiento seleccionado es nulo, realiza la búsqueda para todos los Tipos de Mantenimientos con la Orden de Servicio.
        /// </summary>
        /// <returns>Retorna True si encontró resultados, en caso contrario retorna False</returns>
        private bool BuscarPorOrdenServicio()
        {
            bool encontrado = false;

            if (vista.TipoMantenimiento == null)
            {
                vista.Auditorias = new List <AuditoriaMantenimientoBO>();
                for (int i = 1; i < 4; i++)
                {
                    ETipoMantenimiento       tipoMantenimiento = (ETipoMantenimiento)Enum.Parse(typeof(ETipoMantenimiento), i.ToString());
                    AuditoriaMantenimientoBO result            = ctrlAuditoria.ConsultarAuditoria(dataContext, getFiltroAuditoriaOrdenServicio(tipoMantenimiento)).FirstOrDefault();
                    if (result != null && result.AuditoriaMantenimientoID != null)
                    {
                        result.OrdenServicio = getOrdenServicioCompleta((int)result.OrdenServicio.Id);
                        vista.Auditorias.Add(result);
                        encontrado = true;
                    }
                }
            }
            else
            {
                AuditoriaMantenimientoBO result = ctrlAuditoria.ConsultarAuditoria(dataContext, getFiltroAuditoriaOrdenServicio(vista.TipoMantenimiento.Value)).FirstOrDefault();
                if (result != null && result.AuditoriaMantenimientoID != null)
                {
                    result.OrdenServicio = getOrdenServicioCompleta((int)result.OrdenServicio.Id);
                    vista.Auditorias     = new List <AuditoriaMantenimientoBO>();
                    vista.Auditorias.Add(result);
                    encontrado = true;
                }
            }

            return(encontrado);
        }
コード例 #3
0
 /// <summary>
 /// Crea una nueva instancia de la lista de Auditorías de Mantenimientos Idealease encontradas y la Auditoría de Mantenimiento Idealease seleccionada.
 /// </summary>
 private void IniciarCampos()
 {
     if (Session["recargarAuditorias"] == null)
     {
         Auditorias = new List <AuditoriaMantenimientoBO>();
     }
     AuditoriaSeleccionada = new AuditoriaMantenimientoBO();
 }
コード例 #4
0
 /// <summary>
 /// Muestra el objeto Auditoria en la interfaz
 /// </summary>
 /// <param name="resultado"></param>
 private void DesplegarResultado(AuditoriaMantenimientoBO resultado)
 {
     this.vista.OrdenServicioID   = resultado.OrdenServicio.Id;
     this.vista.TipoMantenimiento = resultado.TipoMantenimiento.ToString();
     this.vista.Tecnicos          = resultado.Tecnicos;
     this.vista.DetalleAuditoria  = resultado.DetalleAuditoria;
     this.vista.ActividadesAuditoria.DataSource = resultado.DetalleAuditoria;
     this.vista.ActividadesAuditoria.DataBind();
 }
コード例 #5
0
        /// <summary>
        /// Crea y obtiene un nuevo Filtro de AuditoriaMantenimientoBO con el Tipo de Mantenimiento Seleccionado, para realizar la búsqueda de las
        /// Auditorías Mantenimientos Idealease.
        /// </summary>
        /// <param name="tipoMantenimiento">Tipo de Mantenimiento Seleccionado</param>
        /// <returns>Un Objeto de tipo AuditoriaMantenimientoBO</returns>
        private AuditoriaMantenimientoBO getFiltroAuditoria(ETipoMantenimiento tipoMantenimiento)
        {
            AuditoriaMantenimientoBO filtro = new AuditoriaMantenimientoBO()
            {
                TipoMantenimiento = tipoMantenimiento
            };

            return(filtro);
        }
コード例 #6
0
        /// <summary>
        /// llama al AuditoriaBR para guardar la auditoria realizada y despliega un mensaje de error si no se completo el guardado
        /// </summary>
        /// <returns></returns>
        public int GuardarAuditoria()
        {
            AuditoriaMantenimientoBO AuditoriaRecibida = this.InterfazUsuarioADato();
            int           error           = 0;
            int           formatoCorrecto = 0;
            bool          resultado       = AuditoriaRecibida.DetalleAuditoria.Exists(x => x.ResultadoAuditoria == 0);
            List <bool>   existFormat     = new List <bool>();
            List <string> formatos        = this.vista.ObtenerConfiguracionFormatos();

            if (AuditoriaRecibida.EvidenciaMantenimiento.DocumentoEvidencia != null)
            {
                foreach (var item in formatos)
                {
                    bool format = this.vista.Evidencia.PostedFile.FileName.EndsWith(item);
                    existFormat.Add(format);
                }
                ;
            }
            if (existFormat.Exists(x => x == true))
            {
                formatoCorrecto = 1;
            }

            if (resultado == true)
            {
                error = 1;
            }
            else if (AuditoriaRecibida.EvidenciaMantenimiento.DocumentoEvidencia == null)
            {
                error = 2;
            }
            else if (AuditoriaRecibida.Observaciones == string.Empty)
            {
                error = 3;
            }
            else if (formatoCorrecto == 0)
            {
                error = 4;
            }
            else
            {
                SeguridadBO seguridad = this.obtenerUsuario();
                try
                {
                    new AuditoriaMantenimientoBR().Insertar(dataContext, AuditoriaRecibida, seguridad);
                }
                catch (Exception)
                {
                    throw;
                }
            }

            return(error);
        }
コード例 #7
0
        /// <summary>
        /// Metodo para imprimir la auditoria
        /// </summary>
        public void ImprimirAuditoria()
        {
            AuditoriaMantenimientoBO auditoriaRecibida = this.InterfazUsuarioADato();

            if (this.ValidarCampos(auditoriaRecibida))
            {
                Dictionary <string, object> datosReporte = new ImprimirAuditoriaRealizadaBR().EstablecerDatosReporte(dataContext, auditoriaRecibida);

                this.vista.EstablecerValoresImpresion("PLEN.BEP.15.MODMTTO.CU020", datosReporte);

                this.vista.RedirigirAImprimir();
            }
        }
コード例 #8
0
        /// <summary>
        /// Crea y obtiene un nuevo Filtro de AuditoriaMantenimientoBO con el Tipo de Mantenimiento Seleccionado y la Orden de Servicio, para realizar la
        /// búsqueda de las Auditorías Mantenimientos Idealease.
        /// </summary>
        /// <param name="tipoMantenimiento">El Tipo de Mantenimiento seleccionado</param>
        /// <returns>Objeto de tipo AuditoriaMantenimientoBO</returns>
        private AuditoriaMantenimientoBO getFiltroAuditoriaOrdenServicio(ETipoMantenimiento tipoMantenimiento)
        {
            AuditoriaMantenimientoBO filtro = new AuditoriaMantenimientoBO()
            {
                TipoMantenimiento = tipoMantenimiento,
                OrdenServicio     = new OrdenServicioBO()
                {
                    Id = vista.OrdenServicioID
                }
            };

            return(filtro);
        }
コード例 #9
0
        /// <summary>
        /// Realiza la búsqueda de Auditorías de Mantenimientos Idealease por, el Técnico seleccionado y el Tipo de Mantenimiento seleccionado.
        /// Si el Tipo de Mantenimiento seleccionado es nulo, realiza la búsqueda para todos los Tipos de Mantenimientos y el Técnico seleccionado.
        /// </summary>
        /// <returns>Retorna True si encontró resultados, en caso contrario retorna False</returns>
        private bool BuscarAuditoriaPorTecnicos()
        {
            bool encontrado = false;
            List <AuditoriaMantenimientoTecnicoBO> auditoriasPorTecnico = new List <AuditoriaMantenimientoTecnicoBO>();
            List <AuditoriaMantenimientoTecnicoBO> result = new List <AuditoriaMantenimientoTecnicoBO>();

            if (vista.TipoMantenimiento == null)
            {
                for (int i = 1; i < 4; i++)
                {
                    ETipoMantenimiento tipoMantenimiento           = (ETipoMantenimiento)Enum.Parse(typeof(ETipoMantenimiento), i.ToString());
                    List <AuditoriaMantenimientoTecnicoBO> result2 = getAuditoriasPorTecnicos(auditoriasPorTecnico, tipoMantenimiento);
                    if (result2 != null && result2.Count > 0)
                    {
                        result.AddRange(result2);
                    }
                }
            }
            else
            {
                result = getAuditoriasPorTecnicos(auditoriasPorTecnico, vista.TipoMantenimiento.Value);
            }
            if (result.Count > 0)
            {
                auditoriasPorTecnico.AddRange(result);
            }

            if (auditoriasPorTecnico.Count > 0)
            {
                List <AuditoriaMantenimientoBO> auditorias = new List <AuditoriaMantenimientoBO>();
                foreach (AuditoriaMantenimientoTecnicoBO auditoriaTecnico in auditoriasPorTecnico)
                {
                    AuditoriaMantenimientoBO auditoria = ctrlAuditoria.ConsultarAuditoria(dataContext, auditoriaTecnico.AuditoriaMantenimiento).FirstOrDefault();
                    if (auditoria != null && auditoria.AuditoriaMantenimientoID != null && auditoria.OrdenServicio != null && auditoria.OrdenServicio.Id != null)
                    {
                        auditoria.OrdenServicio = getOrdenServicioCompleta((int)auditoria.OrdenServicio.Id);
                        auditorias.Add(auditoria);
                    }
                }
                if (auditorias.Count > 0)
                {
                    vista.Auditorias = auditorias;
                    encontrado       = true;
                }
            }

            return(encontrado);
        }
コード例 #10
0
 /// <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);
     }
 }
コード例 #11
0
        /// <summary>
        /// Crea y obtiene un nuevo Filtro de AuditoriaMantenimientoBO con la Sucursal seleccionada, el Tipo de Mantenimiento seleccionado y la Orden de Servicio.
        /// Si la Orden de Servicio es nula, crea la nueva instancia de AuditoriaMantenimientoBO con la Sucursal seleccionada y el Tipo de Mantenimiento seleccionado,
        /// para realizar la búsqueda de las Auditorías Mantenimientos Idealease.
        /// </summary>
        /// <param name="tipoMantenimiento">Tipo de Mantenimiento Seleccionado.</param>
        /// <returns>Objeto de tipo AuditoriaMantenimientoBO</returns>
        private AuditoriaMantenimientoBO getFiltroSucursal(ETipoMantenimiento tipoMantenimiento)
        {
            AuditoriaMantenimientoBO filtro = new AuditoriaMantenimientoBO()
            {
                TipoMantenimiento = tipoMantenimiento,
                OrdenServicio     = new OrdenServicioBO()
                {
                    Adscripcion = new AdscripcionBO()
                    {
                        Sucursal = new SucursalBO()
                        {
                            Id = vista.SucursalID
                        }
                    }
                }
            };

            if (vista.OrdenServicioID != null && vista.OrdenServicioID > 0)
            {
                filtro.OrdenServicio.Id = vista.OrdenServicioID;
            }
            return(filtro);
        }
コード例 #12
0
        /// <summary>
        /// Verifica que la auditoria este completa para poder imprimir
        /// </summary>
        /// <param name="auditoriaRecibida"></param>
        /// <returns></returns>
        private bool ValidarCampos(AuditoriaMantenimientoBO auditoriaRecibida, bool esGuardado = false)
        {
            int error = 0;

            bool resultado = auditoriaRecibida.DetalleAuditoria.Exists(x => x.ResultadoAuditoria == 0);

            if (resultado)
            {
                error = 1;
            }
            if (esGuardado && auditoriaRecibida.EvidenciaMantenimiento.DocumentoEvidencia == null)
            {
                error = 2;
            }
            if (string.IsNullOrEmpty(auditoriaRecibida.Observaciones))
            {
                error = 3;
            }

            switch (error)
            {
            case 1:
                this.vista.MostrarMensaje("Todo las actividades de la auditoria deben tener una calificación", ETipoMensajeIU.ADVERTENCIA);
                break;

            case 2:
                this.vista.MostrarMensaje("Debe adjuntar un documento de evidencia a la auditoria", ETipoMensajeIU.ADVERTENCIA);
                break;

            case 3:
                this.vista.MostrarMensaje("Debe llenar el campo de observaciones de auditoria", ETipoMensajeIU.ADVERTENCIA);
                break;
            }

            return(error == 0);
        }
コード例 #13
0
        /// <summary>
        /// Mapea la interfaz de usuario al Objeto Auditoria
        /// </summary>
        /// <returns></returns>
        private AuditoriaMantenimientoBO InterfazUsuarioADato()
        {
            if (this.vista.MantenimientoRecibido == null)
            {
                throw new Exception(".InterfazUsuarioADato: El folio de la orden de servicio no puede ser nulo");
            }
            AuditoriaMantenimientoBO bo = new AuditoriaMantenimientoBO();

            bo.EvidenciaMantenimiento = new EvidenciaAuditoriaMantenimientoBO();
            bo.OrdenServicio          = this.vista.Resultado.OrdenServicio;
            if (this.vista.TipoMantenimiento != null)
            {
                if (this.vista.TipoMantenimiento.Trim() == ETipoMantenimiento.PMA.ToString())
                {
                    bo.TipoMantenimiento = ETipoMantenimiento.PMA;
                }
                if (this.vista.TipoMantenimiento.Trim() == ETipoMantenimiento.PMB.ToString())
                {
                    bo.TipoMantenimiento = ETipoMantenimiento.PMB;
                }
                if (this.vista.TipoMantenimiento.Trim() == ETipoMantenimiento.PMC.ToString())
                {
                    bo.TipoMantenimiento = ETipoMantenimiento.PMC;
                }
            }
            if (this.vista.Tecnicos != null && this.vista.Tecnicos.Count > 0)
            {
                bo.Tecnicos = this.vista.Tecnicos;
            }

            foreach (GridViewRow item in this.vista.ActividadesAuditoria.Rows)
            {
                DetalleAuditoriaMantenimientoBO detalle = new DetalleAuditoriaMantenimientoBO();
                detalle.PosicionTrabajoPaquete = new PosicionTrabajoPaqueteBO();
                detalle.PosicionTrabajoPaquete.ConfiguracionPosicionTrabajo = new ConfiguracionPosicionTrabajoBO();
                detalle.PosicionTrabajoPaquete.ConfiguracionPosicionTrabajo.DescriptorTrabajo = new DescriptorTrabajoBO();
                Label    NombreActividad     = item.FindControl("lbActividadAuditoria") as Label;
                Label    idActividad         = item.FindControl("lbActividadID") as Label;
                Label    lblCriterio         = item.FindControl("lbCriterioAuditoria") as Label;
                CheckBox chbxSatifactorio    = item.FindControl("chbxSatisfactorio") as CheckBox;
                CheckBox chbxReparar         = item.FindControl("chbxReparar") as CheckBox;
                CheckBox chbxAjustado        = item.FindControl("chbxAjustado") as CheckBox;
                TextBox  comentarioactividad = item.FindControl("txbComentarioActividad") as TextBox;
                if (chbxSatifactorio.Checked == true)
                {
                    detalle.ResultadoAuditoria = EResultadoAuditoria.Satisfactoria;
                }
                if (chbxReparar.Checked == true)
                {
                    detalle.ResultadoAuditoria = EResultadoAuditoria.Reparar;
                }
                if (chbxAjustado.Checked == true)
                {
                    detalle.ResultadoAuditoria = EResultadoAuditoria.Ajustado;
                }
                detalle.Comentarios = comentarioactividad.Text.ToUpper();
                detalle.Criterio    = lblCriterio.Text.ToUpper();
                detalle.PosicionTrabajoPaquete.ConfiguracionPosicionTrabajo.DescriptorTrabajo.Nombre = NombreActividad.Text;
                detalle.PosicionTrabajoPaquete.ConfiguracionPosicionTrabajo.Id = int.Parse(idActividad.Text);
                bo.DetalleAuditoria.Add(detalle);
                bo.EvidenciaMantenimiento.DocumentoEvidencia = this.vista.Evidencia.HasFile ? this.vista.Evidencia.FileBytes : null;
                bo.EvidenciaMantenimiento.Nombre             = this.vista.Evidencia.HasFile ? this.vista.Evidencia.FileName : string.Empty;;
                bo.Observaciones = this.vista.Observaciones.ToUpper();
            }

            return(bo);
        }
コード例 #14
0
        /// <summary>
        /// Complementa los datos del mantenimiento para la crearcion del objeto de auditoria
        /// </summary>
        /// <param name="AuditoriaMantenimiento"></param>
        /// <returns></returns>
        private AuditoriaMantenimientoBO ComplementarDatos(AuditoriaMantenimientoBO AuditoriaMantenimiento)
        {
            AuditoriaMantenimiento = this.ctrAuditoriaMantenimiento.ComplementarAuditoria(dataContext, AuditoriaMantenimiento);
            if (AuditoriaMantenimiento.OrdenServicio.Unidad.ConfiguracionModeloMotorizacion.Modelo != null)
            {
                ConfiguracionAuditoriaMantenimientoBO configuracionAuditoria = new ConfiguracionAuditoriaMantenimientoBO()
                {
                    Sucursal          = AuditoriaMantenimiento.OrdenServicio.AdscripcionServicio.Sucursal,
                    Modelo            = AuditoriaMantenimiento.OrdenServicio.Unidad.ConfiguracionModeloMotorizacion.Modelo,
                    Taller            = AuditoriaMantenimiento.OrdenServicio.AdscripcionServicio.Taller,
                    TipoMantenimiento = AuditoriaMantenimiento.TipoMantenimiento
                };
                configuracionAuditoria = this.ctrConfiguracionAuditoria.Consultar(dataContext, configuracionAuditoria).FirstOrDefault();
                if (configuracionAuditoria != null)
                {
                    foreach (var item in AuditoriaMantenimiento.DetalleAuditoria)
                    {
                        var DetalleConfig = configuracionAuditoria.DetalleConfiguracion.Find(x => x.ConfiguracionPosicionTrabajo.Id == item.PosicionTrabajoPaquete.ConfiguracionPosicionTrabajo.Id);

                        if (DetalleConfig != null)
                        {
                            item.Criterio = DetalleConfig.Criterio;
                        }
                    }
                    List <DetalleAuditoriaMantenimientoBO> listaPosicionesAleatorias = new List <DetalleAuditoriaMantenimientoBO>();
                    List <DetalleAuditoriaMantenimientoBO> DetalleObligatorias       = new List <DetalleAuditoriaMantenimientoBO>();
                    foreach (var item in AuditoriaMantenimiento.DetalleAuditoria)
                    {
                        if (configuracionAuditoria.DetalleConfiguracion.Exists(x => x.ConfiguracionPosicionTrabajo.Id == item.PosicionTrabajoPaquete.ConfiguracionPosicionTrabajo.Id && x.Obligatorio == false) == true)
                        {
                            listaPosicionesAleatorias.Add(item);
                        }
                        else if (configuracionAuditoria.DetalleConfiguracion.Exists(x => x.ConfiguracionPosicionTrabajo.Id == item.PosicionTrabajoPaquete.ConfiguracionPosicionTrabajo.Id && x.Obligatorio == true) == true)
                        {
                            DetalleObligatorias.Add(item);
                        }
                    }
                    AuditoriaMantenimiento.DetalleAuditoria = DetalleObligatorias;
                    if (listaPosicionesAleatorias != null && listaPosicionesAleatorias.Count > 0)
                    {
                        Random IndexRandom = new Random();
                        int    indexMaximo = listaPosicionesAleatorias.Count;
                        int    iteraciones = (int)configuracionAuditoria.NumeroActividadesAleatorias;
                        for (int i = 0; i < iteraciones; i++)
                        {
                            bool bandera;
                            int  index;
                            do
                            {
                                index   = IndexRandom.Next(0, indexMaximo);
                                bandera = AuditoriaMantenimiento.DetalleAuditoria.Exists(x => x.PosicionTrabajoPaquete.ConfiguracionPosicionTrabajo.Id == listaPosicionesAleatorias[index].PosicionTrabajoPaquete.ConfiguracionPosicionTrabajo.Id);
                            } while (bandera == true);

                            AuditoriaMantenimiento.DetalleAuditoria.Add(listaPosicionesAleatorias[index]);
                        }
                    }
                }
                else
                {
                    this.vista.MostrarMensaje("No se encontro una configuracion de auditoria para el modelo, taller y tipo de mantenimiento de esta unidad", ETipoMensajeIU.ERROR);
                }
            }
            else
            {
                this.vista.MostrarMensaje("No se encontro la unidad de esta orden de servicio", ETipoMensajeIU.ERROR);
            }

            return(AuditoriaMantenimiento);
        }
コード例 #15
0
 /// <summary>
 /// Realiza la redirección al visor de Consulta de Auditoría Mantenimiento Idealease.
 /// </summary>
 /// <param name="sender">Objeto que desencadenó el evento.</param>
 /// <param name="e">Argumento asociado al evento.</param>
 protected void btnFinalizar_Click(Object sender, EventArgs e)
 {
     Auditoria = new AuditoriaMantenimientoBO();
     RedirigirAConsultaAuditoria();
 }