コード例 #1
0
        public void ReiniciarComponentes(int idIncidencia, int idIncidenciaEstado)
        {
            IdIncidencia       = idIncidencia;
            IdIncidenciaEstado = idIncidenciaEstado;
            DataTable dtIncidencia = new IncidenciaBC().GetIncidenciaById(IdIncidencia);

            lblTipoCierre.Text = string.Format("Tipo de Cierre definido por supervisor: {0}",
                                               Convert.ToString(dtIncidencia.Rows[0]["tipo_cierre"]));
            int idSolicitudNueva = Convert.ToInt32(dtIncidencia.Rows[0]["id_solicitud_nueva"]);

            switch (Convert.ToInt32(dtIncidencia.Rows[0]["id_tipo_cierre"]))
            {
            case 1:
                pnlCierre.Visible = false;
                if (idSolicitudNueva != 0)
                {
                    ConOperacionIngresada(idSolicitudNueva);
                }
                else
                {
                    LlenarComboboxTipoProducto();
                }
                break;

            case 2:
                pnlOperacion.Visible = false;
                break;

            default:
                pnlCierre.Visible    = false;
                pnlOperacion.Visible = false;
                break;
            }
        }
コード例 #2
0
        private void Permisos(string usuario)
        {
            try
            {
                DataTable dtPermisos = new IncidenciaBC().GetIncidenciasPermisos(usuario);

                var permisoEliminar      = Convert.ToBoolean(dtPermisos.Rows[0]["permiso_eliminar"]);
                var permisoDerivar       = Convert.ToBoolean(dtPermisos.Rows[0]["permiso_derivar"]);
                var permisoCambiarEstado = Convert.ToBoolean(dtPermisos.Rows[0]["permiso_cambiar_estado"]);
                var permisoComentario    = Convert.ToBoolean(dtPermisos.Rows[0]["permiso_comentario"]);

                ibAsignar.Enabled       = permisoDerivar;
                ibBaja.Enabled          = permisoEliminar;
                ibCambiarEstado.Enabled = permisoCambiarEstado;
                ibComentario.Enabled    = permisoComentario;

                ibAsignar.ImageUrl       = permisoDerivar ? IMAGEN_ASIGNAR : IMAGEN_ASIGNAR_NO_HABILITADO;
                ibBaja.ImageUrl          = permisoEliminar ? IMAGEN_ELIMINAR : IMAGEN_ELIMINAR_NO_HABILITADO;
                ibCambiarEstado.ImageUrl = permisoCambiarEstado ? IMAGEN_CAMBIO_ESTADO : IMAGEN_CAMBIO_ESTADO_NO_HABILITADO;
                ibComentario.ImageUrl    = permisoComentario ? IMAGEN_COMENTARIO : IMAGEN_COMENTARIO_NO_HABILITADO;
            }
            catch (Exception ex)
            {
                Mensaje(ex.Message, TiposMensajes.Error);
            }
        }
コード例 #3
0
        protected void Page_Load(object sender, EventArgs e)
        {
            var verdes   = 0;
            var amarilla = 0;
            var rojas    = 0;
            var dt       = new IncidenciaBC().GetDatosResumen(Convert.ToString(Session["usrname"]), Constantes.SP_RESUMEN_INGRESADOR);

            if (dt.Rows.Count > 0)
            {
                foreach (DataRow dr in dt.Rows)
                {
                    var sla       = Convert.ToInt32(dr["sla"]);
                    var tiempoLab = Convert.ToInt32(dr["tiempo_laboral"]);

                    if (tiempoLab < sla / 2)
                    {
                        //VERDE
                        verdes++;
                    }
                    else if (tiempoLab >= sla / 2 && tiempoLab < sla)
                    {
                        //AMARILLO
                        amarilla++;
                    }
                    else
                    {
                        //ROJO
                        rojas++;
                    }
                }

                var porcentajeRojas    = rojas > 0 ? (Convert.ToDouble(rojas) / Convert.ToDouble(dt.Rows.Count) * 100) : 0;
                var porcentajeAmarilla = amarilla > 0 ? (Convert.ToDouble(amarilla) / Convert.ToDouble(dt.Rows.Count) * 100) : 0;
                var porcentajeVerde    = verdes > 0 ? (Convert.ToDouble(verdes) / Convert.ToDouble(dt.Rows.Count) * 100) : 0;

                hpRojo.Text     = Convert.ToString(rojas);
                hpVerdes.Text   = Convert.ToString(verdes);
                hpAmarillo.Text = Convert.ToString(amarilla);
                hpTotal.Text    = Convert.ToString(dt.Rows.Count);

                lblrojasprom.Text     = Math.Round(porcentajeRojas, 2).ToString(CultureInfo.InvariantCulture) + "%";
                lblAmarillasprom.Text = Math.Round(porcentajeAmarilla, 2).ToString(CultureInfo.InvariantCulture) + "%";
                lblVerdesprom.Text    = Math.Round(porcentajeVerde, 2).ToString(CultureInfo.InvariantCulture) + "%";

                string tipoResumen = Convert.ToString((int)Enums.TipoVistaResumen.Ingresador);

                hpRojo.NavigateUrl = "../Incidencias/ControlPanel.aspx?D=" + FuncionGlobal.FuctionEncriptar("CIN") +
                                     "&origen=" + FuncionGlobal.FuctionEncriptar("true") + "&semaforo=" + FuncionGlobal.FuctionEncriptar("r") +
                                     "&proc=" + FuncionGlobal.FuctionEncriptar(tipoResumen);
                hpVerdes.NavigateUrl = "../Incidencias/ControlPanel.aspx?D=" + FuncionGlobal.FuctionEncriptar("CIN") +
                                       "&origen=" + FuncionGlobal.FuctionEncriptar("true") + "&semaforo=" + FuncionGlobal.FuctionEncriptar("v") +
                                       "&proc=" + FuncionGlobal.FuctionEncriptar(tipoResumen);
                hpAmarillo.NavigateUrl = "../Incidencias/ControlPanel.aspx?D=" + FuncionGlobal.FuctionEncriptar("CIN") +
                                         "&origen=" + FuncionGlobal.FuctionEncriptar("true") + "&semaforo=" + FuncionGlobal.FuctionEncriptar("a") +
                                         "&proc=" + FuncionGlobal.FuctionEncriptar(tipoResumen);
                hpTotal.NavigateUrl = "../Incidencias/ControlPanel.aspx?D=" + FuncionGlobal.FuctionEncriptar("CIN") +
                                      "&origen=" + FuncionGlobal.FuctionEncriptar("true") + "&semaforo=" + FuncionGlobal.FuctionEncriptar("t") +
                                      "&proc=" + FuncionGlobal.FuctionEncriptar(tipoResumen);
            }
        }
コード例 #4
0
        protected void Page_Load(object sender, EventArgs e)
        {
            IdSolicitud = Convert.ToInt32(FuncionGlobal.FuctionDesEncriptar(Request.QueryString["id_solicitud"]));

            IdIncidencia = Request.QueryString["id_incidencia"];
            //no se pueden subir ni eliminar documentos de la incidencia fuera cuando esta ya es operación
            wucDocumento.VerPanelAcciones = false;

            if (IdIncidencia != null)
            {
                //lleno la incidencia
                wucDocumento.Inicio(Convert.ToInt32(IdIncidencia));
                ExisteIncidencia = true;
            }

            if (Session["usrname"] == null)
            {
                FuncionGlobal.alerta_updatepanel("Ha perdido la sesión", this.Page, updateP); return;
            }

            Usuario = (Session["usrname"]).ToString().Trim();
            var usuario = new UsuarioBC().GetUsuario(Usuario);

            //Busco si por numero de operación encuentro una incidencia
            var dtNuevaSolicitud = new IncidenciaBC().GetIncidenciaFromNuevaSolicitud(IdSolicitud);

            if (dtNuevaSolicitud.Rows.Count > 0)
            {
                gr_documentos_origen.DataSource = GetDocs(Convert.ToInt32(dtNuevaSolicitud.Rows[0]["id_solicitud"]), usuario);
                gr_documentos_origen.DataBind();

                //si no recibio idIncidencia como parametro pero si exite desde la busqueda por operacion
                if (IdIncidencia == null)
                {
                    wucDocumento.Inicio(Convert.ToInt32(dtNuevaSolicitud.Rows[0]["id_incidencia"]));
                }
                ExisteIncidencia = true;
            }

            if (!ExisteIncidencia)
            {
                tab_opciones.Tabs[1].Visible = false;
                tab_opciones.Tabs[2].Visible = false;
            }

            //lleno la grilla de la operacion
            TipoOperacion = Request.QueryString["tipo"];
            if (IsPostBack)
            {
                return;
            }

            InicializarComponentes(usuario);
            GetTitulosDoc();


            gr_documentos.DataSource = GetDocs(IdSolicitud, usuario);
            gr_documentos.DataBind();
        }
コード例 #5
0
        private void Permisos(string usuario)
        {
            DataTable dtPermisos = new IncidenciaBC().GetIncidenciasPermisos(usuario);

            var       permisoInicio     = Convert.ToBoolean(dtPermisos.Rows[0]["permiso_inicio"]);
            var       permisoCierre     = Convert.ToBoolean(dtPermisos.Rows[0]["permiso_resolver"]);
            var       permisoComentario = Convert.ToBoolean(dtPermisos.Rows[0]["permiso_comentario"]);
            var       permisoDocumentos = Convert.ToBoolean(dtPermisos.Rows[0]["permiso_modificar_documento"]);
            DataTable dt = new IncidenciaBC().GetIncidenciaById(IdIncidencia);

            if (!permisoInicio ||
                (Convert.ToInt32(dt.Rows[0]["id_estado"]) != 1 && Convert.ToInt32(dt.Rows[0]["id_estado"]) != 3) ||
                Convert.ToString(dt.Rows[0]["cuenta_usuario_responsable"]) != Convert.ToString(Session["usrname"]))
            {
                tab_opciones.Tabs[0].Enabled = false;
            }
            else
            {
                if (Convert.ToInt32(dt.Rows[0]["id_estado"]) == 1)
                {
                    this.wucInicio.AvanzarEstadoAbiertoSupervisor();
                }

                this.wucInicio.InicioComponentes(IdIncidencia);
            }


            // CIERRES
            if (!permisoCierre ||
                (Convert.ToInt32(dt.Rows[0]["id_estado"]) != 5 && Convert.ToInt32(dt.Rows[0]["id_estado"]) != 4) ||
                Convert.ToString(dt.Rows[0]["cuenta_usuario_responsable"]) != Convert.ToString(Session["usrname"])
                )
            {
                tab_opciones.Tabs[1].Enabled = false;
            }
            else
            {
                if (Convert.ToInt32(dt.Rows[0]["id_estado"]) == 4)
                {
                    this.wucCierre.AvanzarEstadoAbiertoEjecutivo(IdIncidencia);
                }
                this.wucCierre.ReiniciarComponentes(IdIncidencia, Convert.ToInt32(dt.Rows[0]["id_incidencia_estado"]));
            }

            //COMENTARIOS
            if (!permisoComentario)
            {
                tab_opciones.Tabs[2].Enabled = false;
            }
            else
            {
                wucComentario.ReiniciarComponentes(IdIncidencia);
            }

            wucDocumento.VerPanelAcciones = permisoDocumentos;
            wucDocumento.Inicio(IdIncidencia);
        }
コード例 #6
0
        protected void botonReload_Click(object sender, EventArgs e)
        {
            DataTable dtIncidencia     = new IncidenciaBC().GetIncidenciaById(IdIncidencia);
            int       idSolicitudNueva = Convert.ToInt32(dtIncidencia.Rows[0]["id_solicitud_nueva"]);

            if (idSolicitudNueva != 0)
            {
                ConOperacionIngresada(idSolicitudNueva);
            }
        }
コード例 #7
0
        public void Resumen(string grupo, HtmlGenericControl div)
        {
            DataTable dt = new IncidenciaBC().GetResumen(Convert.ToString(Session["usrname"]));

            div.Visible = dt.Rows.Count > 0;
            foreach (DataRow dr in dt.Rows)
            {
                UserControl uc = (UserControl)Page.LoadControl(dr["url_resumen_incidencia"].ToString());
                div.Controls.Add(uc);
            }
        }
コード例 #8
0
        protected void btnComentario_Click(object sender, EventArgs e)
        {
            if (txtComentario2.Text.Trim() == string.Empty)
            {
                FuncionGlobal.alerta("Agregue un comentario", Page);
                txtComentario2.Focus();
                return;
            }

            DataTable dt = new IncidenciaBC().GetIncidenciaById(IdIncidencia);
            var       incidenciaEstado = Convert.ToInt32(dt.Rows[0]["id_incidencia_estado"]);

            new IncidenciaBC().AddComentario(IdIncidencia, incidenciaEstado, (string)(Session["usrname"]), txtComentario2.Text.Trim());


            grComentario.DataSource = new IncidenciaBC().GetComentariosByIncidencia(Convert.ToInt32(IdIncidencia));
            grComentario.DataBind();
            txtComentario2.Text = string.Empty;
            FuncionGlobal.alerta("El comentario fue ingresado con éxito.", Page);
        }
コード例 #9
0
        private void LlenarComboboxTipoProducto()
        {
            var       dt           = new IncidenciaBC().GetTipoOperacionIncidencia(IdIncidencia);
            DataTable dtIncidencia = new IncidenciaBC().GetIncidenciaById(IdIncidencia);

            dlTipoOperacion.DataSource     = dt;
            dlTipoOperacion.DataTextField  = "descripcion";
            dlTipoOperacion.DataValueField = "url_operacion";
            dlTipoOperacion.DataBind();
            dlTipoOperacion.SelectedValue = "0";

            IdCliente = Convert.ToString(dtIncidencia.Rows[0]["id_cliente"]);

            if (dt.Rows.Count > 0)
            {
                lnk.HRef = dlTipoOperacion.SelectedValue +
                           FuncionGlobal.FuctionEncriptar("0") +
                           "&id_cliente=" + FuncionGlobal.FuctionEncriptar(IdCliente) +
                           "&idOrdenTrabajo=" + FuncionGlobal.FuctionEncriptar("0") +
                           "&id_incidencia=" + FuncionGlobal.FuctionEncriptar(Convert.ToString(IdIncidencia));
            }
        }
コード例 #10
0
        public void Incidencia()
        {
            dato          = string.Empty;
            buscarPatente = false;
            switch (txPatente.Value.Trim().Any())
            {
            case true:
                dato          = txPatente.Value.Trim();
                buscarPatente = true;
                break;

            default:
                dato = txtChasis.Value.Trim();
                break;
            }

            var inc = new IncidenciaBC().GetIncidenciaByChasisORPatente(dato, buscarPatente);

            if (inc.Rows.Count > 0)
            {
                idIncidencia = Convert.ToInt32(inc.Rows[0]["id_incidencia"]);
                Response.Redirect("~/Incidencias/modal/Administracion.aspx?id_incidencia=" + idIncidencia + "&origen=2");
            }
            else
            {
                new IncidenciaBC().AddIncidencia((string)(Session["usrname"]),
                                                 dlTipoIncidencia.SelectedValue,
                                                 txPatente.Value,
                                                 txtComentario.Text,
                                                 Convert.ToInt32(dlCliente.SelectedValue),
                                                 Convert.ToInt32(dlSucursal.SelectedValue),
                                                 txtChasis.Value.Trim());

                numInc       = new IncidenciaBC().GetIncidenciaByChasisORPatente(dato, buscarPatente);
                idIncidencia = Convert.ToInt32(numInc.Rows[0]["id_incidencia"]);
                Response.Redirect("~/Incidencias/modal/Administracion.aspx?id_incidencia=" + idIncidencia + "&origen=1");
            }
        }
コード例 #11
0
        private DataTable GetIncidencias(string usuario)
        {
            //limpiamos la grilla
            gr_dato.DataSource = null;

            //llenado de variables de filtros
            string patente   = txtPatente.Value.Trim();
            string id_ticket = txtTicket.Value.Trim() == string.Empty ? "0" : txtTicket.Value.Trim();
            //valida que el tiket sea numérico
            int  number1      = 0;
            bool ticketEntero = int.TryParse(id_ticket, out number1);

            //si no es numero devuelve null
            if (!ticketEntero)
            {
                Mensaje("El filtro por número de ticket no es númerico.", TiposMensajes.Error); return(null);
            }

            int ticket = Convert.ToInt32(id_ticket);
            int estado = Convert.ToInt32(dlEstados.SelectedValue);

            //llena busqueda masiva: Al ser null devuelve datos de otros filtros
            DataTable dataTableTickets  = null;
            DataTable dataTablePatentes = null;
            DataTable dataTableChasis   = null;

            //si hay seleccionado una opcionde busqueda masiva
            switch (dlTipoBusquedaMasiva.Text.ToLowerInvariant())
            {
            case "ticket":
                dataTableTickets = ListaMasiva();
                break;

            case "patente":
                dataTablePatentes = ListaMasiva();
                break;

            case "chasis":
                dataTableChasis = ListaMasiva();
                break;
            }

            DataTable dtDatos = new DataTable();

            try
            {
                dtDatos = new IncidenciaBC().GetIncidencias(usuario,
                                                            estado,
                                                            ticket,
                                                            patente,
                                                            dataTableTickets,
                                                            dataTablePatentes,
                                                            dataTableChasis);


                string mensaje = dtDatos.Rows.Count == 0 ?
                                 "Su busqueda no trajo resultados, intentelo con otros filtros" :
                                 "Se encontraron " + dtDatos.Rows.Count + " filas";

                Mensaje(mensaje, TiposMensajes.Informacion);
            }
            catch (Exception ex)
            {
                Mensaje(ex.Message, TiposMensajes.Error);
            }

            return(dtDatos);
        }
コード例 #12
0
        private DataTable GetIncidenciaExterna(string usuario, string semaforo, int tipoResumen)
        {
            var sp = string.Empty;

            switch (tipoResumen)
            {
            case (int)Enums.TipoVistaResumen.Ingresador:
                sp = Constantes.SP_RESUMEN_INGRESADOR;
                break;

            case (int)Enums.TipoVistaResumen.Ejecutivo:
                sp = Constantes.SP_RESUMEN_EJECUTIVO;
                break;

            case (int)Enums.TipoVistaResumen.Supervisor:
                sp = Constantes.SP_RESUMEN_SUPERVISOR;
                break;
            }


            //limpiamos la grilla
            gr_dato.DataSource = null;

            //llenado de variables de defecto
            string patente = string.Empty;
            int    ticket  = 0;
            int    estado  = 0;

            //llena busqueda masiva: Al ser null devuelve datos de otros filtros
            DataTable dataTableTickets  = new DataTable();
            DataTable dataTablePatentes = null;
            DataTable dataTableChasis   = null;

            //se traspasan los datos para la busqueda por id incidencia
            var dt = new IncidenciaBC().GetDatosResumen(Convert.ToString(Session["usrname"]), sp);

            dataTableTickets.Columns.Add(new DataColumn("dato"));
            foreach (DataRow dr in dt.Rows)
            {
                var sla       = Convert.ToInt32(dr["sla"]);
                var tiempoLab = Convert.ToInt32(dr["tiempo_laboral"]);
                var drn       = dataTableTickets.NewRow();
                switch (semaforo)
                {
                case "v":
                    if (tiempoLab < sla / 2)
                    {
                        drn["dato"] = dr["id_incidencia"].ToString();
                        dataTableTickets.Rows.Add(drn);
                    }
                    break;

                case "a":
                    if (tiempoLab >= sla / 2 && tiempoLab < sla)
                    {
                        drn["dato"] = dr["id_incidencia"].ToString();
                        dataTableTickets.Rows.Add(drn);
                    }
                    break;

                case "r":
                    if (tiempoLab >= sla)
                    {
                        drn["dato"] = dr["id_incidencia"].ToString();
                        dataTableTickets.Rows.Add(drn);
                    }
                    break;

                default:
                    drn["dato"] = dr["id_incidencia"].ToString();
                    dataTableTickets.Rows.Add(drn);
                    break;
                }
            }


            DataTable dtDatos = new DataTable();

            if (dataTableTickets.Rows.Count > 0)
            {
                try
                {
                    dtDatos = new IncidenciaBC().GetIncidencias(usuario,
                                                                estado,
                                                                ticket,
                                                                patente,
                                                                dataTableTickets,
                                                                dataTablePatentes,
                                                                dataTableChasis);


                    string mensaje = dtDatos.Rows.Count == 0 ?
                                     "Su busqueda no trajo resultados, intentelo con otros filtros" :
                                     "Se encontraron " + dtDatos.Rows.Count + " filas";

                    Mensaje(mensaje, TiposMensajes.Informacion);
                }
                catch (Exception ex)
                {
                    Mensaje(ex.Message, TiposMensajes.Error);
                }
            }
            else
            {
                Mensaje("Su busqueda no trajo resultados, intentelo con otros filtros", TiposMensajes.Informacion);
            }
            return(dtDatos);
        }
コード例 #13
0
        protected void subir_archivos()
        {
            //divido la fecha en año mes dia.
            string x    = DateTime.Now.ToString("yyyyMMddHHmmss");
            string anio = x.Substring(0, 4);
            string mes  = x.Substring(4, 2);
            string dia  = x.Substring(6, 2);

            //obtengo todos los nombres de los meses del año en español.
            String[] meses = CultureInfo.CurrentCulture.DateTimeFormat.MonthNames;

            //valido que el formato de los dias y meses sean equivalentes a los nombres de las carpetas de destino.
            string numeroMes  = CambiarMes(mes);
            string carpetaMes = numeroMes + "." + meses[Convert.ToInt32(mes) - 1];
            string nuevoDia   = CambiarDia(dia);

            //armo los strings con las rutas dependiendo de la consulta.
            var destino = "";

            destino = "/" + anio + "/" + carpetaMes + "/" + nuevoDia;

            var sPath = String.Format("{0}/{1}", "docs", IdIncidencia);

            if (!Directory.Exists(@sPath))
            {
                sPath = String.Format("{0}/{1}", "docs", IdIncidencia);
            }
            if (!Directory.Exists(@sPath))
            {
                sPath = "docs";
            }

            var observaciones = txtComentario.Text.Trim();

            var fuDocumento = fu_archivo;

            if (fuDocumento.PostedFile == null || fuDocumento.PostedFile.ContentLength <= 0)
            {
                return;
            }
            var fiDocumento = new FileInfo(fuDocumento.FileName);

            if (fiDocumento.Extension.ToLower() != ".png" && fiDocumento.Extension.ToLower() != ".jpg" &&
                fiDocumento.Extension.ToLower() != ".gif" && fiDocumento.Extension.ToLower() != ".pdf" &&
                fiDocumento.Extension.ToLower() != ".doc" && fiDocumento.Extension.ToLower() != ".docx" &&
                fiDocumento.Extension.ToLower() != ".xls" && fiDocumento.Extension.ToLower() != ".xlsx" &&
                fiDocumento.Extension.ToLower() != ".tiff")
            {
                return;
            }
            if (fuDocumento.PostedFile.ContentLength > 6194304)
            {
                return;
            }
            var sDoc  = IdIncidencia + "_" + DateTime.Now.ToString("yyyyMMdd_HHmmss") + fiDocumento.Extension;
            var sSave = Server.MapPath(@sPath) + destino + "\\" + sDoc;

            fuDocumento.PostedFile.SaveAs(sSave);
            sSave = sPath + destino + "/" + sDoc;
            var       doc = new DocumentosOperacionBC();
            DataTable dt  = new IncidenciaBC().GetIncidenciaById(IdIncidencia);
            var       incidenciaEstado = Convert.ToInt32(dt.Rows[0]["id_incidencia_estado"]);

            new IncidenciaBC().AddDocumentoIncidencia(IdIncidencia, txtTítulo.Text.Trim(), incidenciaEstado, sSave, Convert.ToString(Session["usrname"]), txtComentario.Text.Trim());
        }