/// <summary> /// Método que se llama al iniciar la vista /// </summary> /// <param name="sender">Objeto del evento</param> /// <param name="e">Argumentos del evento</param> protected void Page_Load(object sender, EventArgs e) { if (IsPostBack) return; // Etapa de análisis var listaAnalisis = new IncidenciasBo().ObtenerIncidenciasEnAnalisis(); gvEtapaAnalisis.DataSource = listaAnalisis; gvEtapaAnalisis.DataBind(); lblEtapaAnalisis.Text = listaAnalisis.Count + ""; if (listaAnalisis.Count > 0) { gvEtapaAnalisis.HeaderRow.TableSection = TableRowSection.TableHeader; } // Etapa de revisión var listaRevision = new IncidenciasBo().ObtenerIncidenciasEnRevision(); gvEtapaEvaluacion.DataSource = listaRevision; gvEtapaEvaluacion.DataBind(); lblAccionesCorrectivas.Text = listaRevision.Count + ""; if (listaRevision.Count > 0) { gvEtapaEvaluacion.HeaderRow.TableSection = TableRowSection.TableHeader; } // Total Incidencias var listaIncidencias = new IncidenciasBo().ObtenerIncidencias(); gvTotalIncidencias.DataSource = listaIncidencias; gvTotalIncidencias.DataBind(); lblTotalIncidencias.Text = listaIncidencias.Count + ""; if (listaIncidencias.Count > 0) { gvTotalIncidencias.HeaderRow.TableSection = TableRowSection.TableHeader; } }
/// <summary> /// Método que almacena las acciones establecidas en la vista /// </summary> /// <param name="sender">Objeto del evento</param> /// <param name="e">Argumentos del evento</param> protected void IngresarAnalisis(object sender, EventArgs e) { var incidencia = new IncidenciasBo().ObtenerIncidencia(int.Parse(btnIngresarAcciones.CommandArgument)); var analisis = new AnalisisCausa { IdIncidencia = incidencia.IdIncidencia, CausasPotenciales = txtCausas.Text, EfectosDeseados = txtEfectosDeseados.Text, IdTratamiento = int.Parse(ddlTratamiento.SelectedValue) }; if (!string.IsNullOrEmpty(btnIngresarAcciones.CommandName)) analisis.IdAnalisisCausa = int.Parse(btnIngresarAcciones.CommandName); var ingresoAnalisis = string.IsNullOrEmpty(btnIngresarAcciones.CommandName) ? new AnalisisCausasBo().CrearAnalisisCausa(analisis) : new AnalisisCausasBo().ActualizarAnalisisCausa(analisis); if (ingresoAnalisis > 0) { var items = ""; foreach (var item in hdnItems.Value.Split('|')) { var accion = new Acciones { IdAnalisisCausa = ingresoAnalisis, DescAccion = item }; new AccionesBo().CrearAccion(accion); items += item + "<br/>"; } incidencia.IdEstadoIncidencia = 3; new IncidenciasBo().ActualizarIncidencia(incidencia); lblTituloModal.Text = "Análisis ingresado"; var detalle = "<p><b>Se ha ingresado el análisis correctamente:</b></p>"; detalle += "<p><b>Causas de No Conformidad:</b> " + txtCausas.Text + "</p>"; detalle += "<p><b>Efectos deseados al finalizar el proceso:</b> " + txtEfectosDeseados.Text + "</p>"; detalle += "<p><b>Tratamiento:</b> " + ddlTratamiento.SelectedItem.Text + "</p>"; var dias = new GeneralBo().ObtenerTratamiento(int.Parse(ddlTratamiento.SelectedValue)).DiasPlazo; detalle += "<p><b>Fecha Límite:</b> " + incidencia.FechaIngreso.AddDays(dias).ToString("dd-MM-yyyy") + "</p>"; detalle += "<p><b>Acciones Correctivas:</b> " + items + "</p>"; detalle += "<p><b>Expediente electrónico:</b> "; var documentos = new DocumentosBo().ObtenerDocumentos() .Where(o => incidencia.IdIncidencia.Equals(o.IdIncidencia)).ToList(); foreach (var doc in documentos) { detalle += doc.RutaDocumento + "<br/>"; } detalle += documentos.Count == 0 ? "No existen documentos asociados</p>" : "</p>"; litDetalle.Text = detalle; btnModalAceptar.Attributes.Remove("data-dismiss"); btnModalAceptar.PostBackUrl = "~/GestionIncidencias.aspx"; } else { lblTituloModal.Text = "Error al ingresar el análisis"; litDetalle.Text = "<p><b>Ha ocurrido un error en el ingreso</b></p>"; } ScriptManager.RegisterStartupScript(Page, Page.GetType(), "modalAlerta", "$('#modalAlerta').modal();", true); upModal.Update(); }
/// <summary> /// Método que almacena o actualiza una no conformidad /// </summary> /// <param name="sender">Objeto del evento</param> /// <param name="e">Argumentos del evento</param> protected void IngresarIncidencia(object sender, EventArgs e) { var rutExterno = txtRutExterno.Text.Trim().Replace(".", "").Replace("-", ""); if (new GeneralBo().ValidarRut(rutExterno)) { var incidencia = new Incidencias { RutCreador = int.Parse("15988820"), EsExterno = true, RutExterno = int.Parse(rutExterno.Substring(0, rutExterno.Length - 1)), FechaIngreso = DateTime.Today, IdTipoIncidencia = int.Parse(ddlTipoConformidad.SelectedValue), IdModoDeteccion = int.Parse(ddlModoDeteccion.SelectedValue), FechaIdentificacion = DateTime.Parse(txtFechaIdent.Text), AreaAfectada = txtAreaAfectada.Text, ProcesoAfectado = txtProcesoAfectado.Text, Descripcion = txtDescripcion.Text, IdEstadoIncidencia = 1 }; var idIncidencia = new IncidenciasBo().CrearIncidencia(incidencia); if (idIncidencia > 0) { lblTituloModal.Text = "Guardado correctamente"; var detalle = "<p><b>Código de la Incidencia:</b> " + string.Format("{0:00000}", idIncidencia) + "</p>"; detalle += "<p><b>Tipo de incidencia:</b> " + ddlTipoConformidad.SelectedItem.Text + "</p>"; detalle += "<p><b>Modo de detección:</b> " + ddlModoDeteccion.SelectedItem.Text + "</p>"; detalle += "<p><b>Fecha de identificación:</b> " + DateTime.Parse(txtFechaIdent.Text).ToString("dd-MM-yyyy") + "</p>"; detalle += "<p><b>Área afectada:</b> " + txtAreaAfectada.Text + "</p>"; detalle += "<p><b>Proceso afectado:</b> " + txtProcesoAfectado.Text + "</p>"; detalle += "<p><b>Descripción de la No Conformidad:</b> " + txtDescripcion.Text + "</p>"; litDetalle.Text = detalle; btnModalAceptar.Attributes.Remove("data-dismiss"); btnModalAceptar.PostBackUrl = "Index.aspx"; } else { lblTituloModal.Text = "Error al guardar"; litDetalle.Text = "<p><b>Ha ocurrido un error al guardar</b></p>"; } } else { lblTituloModal.Text = "RUT no válido"; litDetalle.Text = "<p><b>Por favor verifique el RUT ingresado</b></p>"; } ScriptManager.RegisterStartupScript(Page, Page.GetType(), "modalIngresar", "$('#modalIngresar').modal();", true); upModal.Update(); }
/// <summary> /// Método que finaliza la revisión de cumplimiento /// </summary> /// <param name="sender">Objeto del evento</param> /// <param name="e">Argumentos del evento</param> protected void FinalizarOnClick(object sender, EventArgs e) { var incidencia = new IncidenciasBo().ObtenerIncidencia(int.Parse(btnFinalizar.CommandArgument)); incidencia.IdEstadoIncidencia = 6; if (new IncidenciasBo().ActualizarIncidencia(incidencia) > 0) { foreach (ListItem item in chklAcciones.Items) { var accion = new AccionesBo().ObtenerAccion(int.Parse(item.Value)); accion.IdEstado = item.Selected ? 1 : 2; new AccionesBo().ActualizarAccion(accion); } var evaluacion = new EvaluacionCumplimiento { IdAnalisisCausa = int.Parse(btnFinalizar.CommandName), Observacion = txtObservaciones.Text, FechaEv = DateTime.Today }; if (new EvaluacionesCumplimientoBo().CrearEvaluacionCumplimiento(evaluacion) > 0) { lblTituloModal.Text = "Incidencia Finalizada"; litDetalle.Text = string.Format("<p><b>La incidencia {0:00000} se ha establecido como finalizada</b></p>", incidencia.IdIncidencia); btnModalAceptar.Attributes.Add("formnovalidate", ""); btnModalAceptar.Attributes.Remove("data-dismiss"); btnModalAceptar.PostBackUrl = "~/GestionIncidencias.aspx"; } else { lblTituloModal.Text = "Error al cambiar la incidencia"; litDetalle.Text = "<p><b>Ha ocurrido un error al cambiar el estado de la incidencia</b></p>"; } } else { lblTituloModal.Text = "Error al cambiar la incidencia"; litDetalle.Text = "<p><b>Ha ocurrido un error al cambiar el estado de la incidencia</b></p>"; } ScriptManager.RegisterStartupScript(Page, Page.GetType(), "modalAlerta", "$('#modalAlerta').modal();", true); upModal.Update(); }
/// <summary> /// Método que almacena o actualiza una no conformidad /// </summary> /// <param name="sender">Objeto del evento</param> /// <param name="e">Argumentos del evento</param> protected void IngresarIncidencia(object sender, EventArgs e) { var incidencia = new Incidencias { RutCreador = int.Parse(Session["RutUsuario"] + ""), EsExterno = false, FechaIngreso = DateTime.Today, IdTipoIncidencia = int.Parse(ddlTipoConformidad.SelectedValue), IdModoDeteccion = int.Parse(ddlModoDeteccion.SelectedValue), FechaIdentificacion = DateTime.Parse(txtFechaIdent.Text), AreaAfectada = txtAreaAfectada.Text, ProcesoAfectado = txtProcesoAfectado.Text, Descripcion = txtDescripcion.Text, IdEstadoIncidencia = 1 }; var idIncidencia = new IncidenciasBo().CrearIncidencia(incidencia); if (idIncidencia > 0) { lblTituloModal.Text = "Guardado correctamente"; var detalle = "<p><b>Código de la Incidencia:</b> " + string.Format("{0:00000}", idIncidencia) + "</p>"; detalle += "<p><b>Tipo de incidencia:</b> " + ddlTipoConformidad.SelectedItem.Text + "</p>"; detalle += "<p><b>Modo de detección:</b> " + ddlModoDeteccion.SelectedItem.Text + "</p>"; detalle += "<p><b>Fecha de identificación:</b> " + DateTime.Parse(txtFechaIdent.Text).ToString("dd-MM-yyyy") + "</p>"; detalle += "<p><b>Área afectada:</b> " + txtAreaAfectada.Text + "</p>"; detalle += "<p><b>Proceso afectado:</b> " + txtProcesoAfectado.Text + "</p>"; detalle += "<p><b>Descripción de la No Conformidad:</b> " + txtDescripcion.Text + "</p>"; litDetalle.Text = detalle; } else { lblTituloModal.Text = "Error al guardar"; litDetalle.Text = "<p><b>Ha ocurrido un error al guardar</b></p>"; } ScriptManager.RegisterStartupScript(Page, Page.GetType(), "modalIngresar", "$('#modalIngresar').modal();", true); upModal.Update(); }
/// <summary> /// Método que inicia la vista /// </summary> /// <param name="sender">Objeto del evento</param> /// <param name="e">Argumentos del evento</param> protected void Page_Load(object sender, EventArgs e) { if (IsPostBack) return; #region Carga DDL Tratamientos var generalBo = new GeneralBo(); ddlTratamiento.DataSource = generalBo.ObtenerTratamientos(); ddlTratamiento.DataTextField = generalBo.Text; ddlTratamiento.DataValueField = generalBo.Value; ddlTratamiento.DataBind(); ddlTratamiento.Items.Insert(0, new ListItem("Seleccione una opción...", "")); ddlTratamiento.Attributes.Add("required", "required"); #endregion if (string.IsNullOrEmpty(Request.QueryString["IdIncidencia"])) return; var incidencia = new IncidenciasBo().ObtenerIncidencia(int.Parse(Request.QueryString["IdIncidencia"])); if (incidencia == null) return; btnIngresarAcciones.CommandArgument = incidencia.IdIncidencia + ""; lblCodSNC.Text = string.Format("{0:00000}", incidencia.IdIncidencia); var rut = incidencia.EsExterno ? incidencia.RutExterno ?? 1 : incidencia.RutCreador; lblRutIngreso.Text = string.Format("{0:N0}-", rut) + new GeneralBo().ObtenerDigitoVerificador(rut); lblFechaIngreso.Text = incidencia.FechaIngreso.ToString("dd-MM-yyyy"); btnInvalidar.CommandArgument = incidencia.FechaIngreso.ToString("yyyy-MM-dd"); lblFechaIdentificacion.Text = incidencia.FechaIdentificacion.ToString("dd-MM-yyyy"); lblEstado.Text = new GeneralBo().ObtenerEstadoIncidencia(incidencia.IdEstadoIncidencia).Descripcion; lblTipo.Text = new GeneralBo().ObtenerTipoIncidencia(incidencia.IdEstadoIncidencia).Descripcion; lblModoDetect.Text = new GeneralBo().ObtenerModoDeteccion(incidencia.IdModoDeteccion).Descripcion; lblAreaAfectada.Text = incidencia.AreaAfectada; txtDetalle.Text = incidencia.Descripcion; txtDetalle.Attributes.Add("readonly", "readonly"); var reanalisis = new AnalisisCausasBo().ObtenerAnalisisExistente(incidencia.IdIncidencia); if (reanalisis != null && incidencia.IdEstadoIncidencia == 5) { txtCausas.Text = reanalisis.CausasPotenciales; txtEfectosDeseados.Text = reanalisis.EfectosDeseados; ddlTratamiento.SelectedValue = reanalisis.IdTratamiento.ToString(); var dias = generalBo.ObtenerTratamiento(reanalisis.IdTratamiento).DiasPlazo; lblFechaLimite.Text = incidencia.FechaIngreso.AddDays(dias).ToString("dd-MM-yyyy"); lbxAcciones.DataSource = new AccionesBo().ObtenerAccionesPorAnalisis(reanalisis.IdAnalisisCausa); lbxAcciones.DataTextField = "DescAccion"; lbxAcciones.DataValueField = "DescAccion"; lbxAcciones.DataBind(); btnIngresarAcciones.CommandName = reanalisis.IdAnalisisCausa + ""; } gvDocumentos.DataSource = new DocumentosBo().ObtenerDocumentosPorIncidencia(incidencia.IdIncidencia); gvDocumentos.DataBind(); }
/// <summary> /// Método que invalida el análisis /// </summary> /// <param name="sender">Objeto del evento</param> /// <param name="e">Argumentos del evento</param> protected void InvalidarOnClick(object sender, EventArgs e) { var incidencia = new IncidenciasBo().ObtenerIncidencia(int.Parse(btnIngresarAcciones.CommandArgument)); incidencia.IdEstadoIncidencia = 2; incidencia.Descripcion += "\nInvalida: " + txtCausas.Text; if (new IncidenciasBo().ActualizarIncidencia(incidencia) > 0) { lblTituloModal.Text = "Incidencia invalidada"; var detalle = string.Format("<p><b>Se ha invalidado la incidencia {0:00000} </b></p>", incidencia.IdIncidencia); litDetalle.Text = detalle + "<p><b>La causa es:</b> " + txtCausas.Text + "</p>"; btnModalAceptar.Attributes.Add("formnovalidate", ""); btnModalAceptar.Attributes.Remove("data-dismiss"); btnModalAceptar.PostBackUrl = "~/GestionIncidencias.aspx"; } else { lblTituloModal.Text = "Error al actualizar la incidencia"; litDetalle.Text = "<p><b>Ha ocurrido un error al actualizar</b></p>"; } ScriptManager.RegisterStartupScript(Page, Page.GetType(), "modalAlerta", "$('#modalAlerta').modal();", true); upModal.Update(); }
/// <summary> /// Método que cambia el estado de la incidencia a reanálisis /// </summary> /// <param name="sender">Objeto del evento</param> /// <param name="e">Argumentos del evento</param> protected void ReAnalizarOnClick(object sender, EventArgs e) { var incidencia = new IncidenciasBo().ObtenerIncidencia(int.Parse(btnFinalizar.CommandArgument)); incidencia.IdEstadoIncidencia = 5; if (new IncidenciasBo().ActualizarIncidencia(incidencia) > 0) { lblTituloModal.Text = "Incidencia en Reanálisis"; litDetalle.Text = string.Format("<p><b>La incidencia {0:00000} ha cambiado de estado a Reanálisis</b></p>", incidencia.IdIncidencia); btnModalAceptar.Attributes.Add("formnovalidate", ""); btnModalAceptar.Attributes.Remove("data-dismiss"); btnModalAceptar.PostBackUrl = "~/GestionIncidencias.aspx"; } else { lblTituloModal.Text = "Error al cambiar la incidencia"; litDetalle.Text = "<p><b>Ha ocurrido un error al cambiar el estado de la incidencia</b></p>"; } ScriptManager.RegisterStartupScript(Page, Page.GetType(), "modalAlerta", "$('#modalAlerta').modal();", true); upModal.Update(); }
/// <summary> /// Método que se llama al iniciar la vista /// </summary> /// <param name="sender">Objeto del evento</param> /// <param name="e">Argumentos del evento</param> protected void Page_Load(object sender, EventArgs e) { if (IsPostBack) return; if (string.IsNullOrEmpty(Request.QueryString["IdIncidencia"])) return; var incidencia = new IncidenciasBo().ObtenerIncidencia(int.Parse(Request.QueryString["IdIncidencia"])); if (incidencia == null) return; btnFinalizar.CommandArgument = incidencia.IdIncidencia + ""; lblCodSNC.Text = string.Format("{0:00000}", incidencia.IdIncidencia); var rut = incidencia.EsExterno ? incidencia.RutExterno ?? 1 : incidencia.RutCreador; lblRutIngreso.Text = string.Format("{0:N0}-", rut) + new GeneralBo().ObtenerDigitoVerificador(rut); lblFechaIngreso.Text = incidencia.FechaIngreso.ToString("dd-MM-yyyy"); lblFechaIdentificacion.Text = incidencia.FechaIdentificacion.ToString("dd-MM-yyyy"); lblEstado.Text = new GeneralBo().ObtenerEstadoIncidencia(incidencia.IdEstadoIncidencia).Descripcion; lblTipo.Text = new GeneralBo().ObtenerTipoIncidencia(incidencia.IdEstadoIncidencia).Descripcion; lblModoDetect.Text = new GeneralBo().ObtenerModoDeteccion(incidencia.IdModoDeteccion).Descripcion; lblAreaAfectada.Text = incidencia.AreaAfectada; lblDetalle.Text = incidencia.Descripcion; var idAnalisis = new AnalisisCausasBo().ObtenerAnalisisExistente(incidencia.IdIncidencia).IdAnalisisCausa; var analisis = new AnalisisCausasBo().ObtenerAnalisisCausa(idAnalisis); if (analisis == null) return; lblCausasPotenciales.Text = analisis.CausasPotenciales; lblEfectosDeseados.Text = analisis.EfectosDeseados; var dias = new GeneralBo().ObtenerTratamiento(analisis.IdTratamiento).DiasPlazo; lblFechaLimite.Text = incidencia.FechaIngreso.AddDays(dias).ToString("dd-MM-yyyy"); lblTratamiento.Text = new GeneralBo().ObtenerTratamiento(analisis.IdTratamiento).Descripcion; gvDocumentos.DataSource = new DocumentosBo().ObtenerDocumentosPorIncidencia(incidencia.IdIncidencia); gvDocumentos.DataBind(); btnFinalizar.CommandName = analisis.IdAnalisisCausa + ""; chklAcciones.DataSource = new AccionesBo().ObtenerAccionesPorAnalisis(analisis.IdAnalisisCausa); chklAcciones.DataTextField = "DescAccion"; chklAcciones.DataValueField = "IdAccion"; chklAcciones.DataBind(); // Cálculo de días restantes var diasRestantes = (incidencia.FechaIngreso.AddDays(dias) - DateTime.Today).Days; var classDias = "progress-bar progress-bar-striped"; if (diasRestantes > 0) { divProgress.Style.Add("width", "100%"); if (diasRestantes <= 3) { divProgress.Style.Add("width", diasRestantes * 10 + "%"); classDias += " progress-bar-danger"; } else if (diasRestantes <= 6) { divProgress.Style.Add("width", diasRestantes * 10 + "%"); classDias += " progress-bar-warning"; } else if (diasRestantes <= 10) { divProgress.Style.Add("width", diasRestantes * 10 + "%"); classDias += " progress-bar-success"; } lblDiasRestantes.Text = diasRestantes + ""; divProgress.Attributes.Add("class", classDias); } else { lblDiasRestantes.Text = "0"; divProgress.Attributes.Add("class", classDias + " progress-bar-danger"); divProgress.Style.Add("width", "100%"); } }