예제 #1
0
        public JsonResult AgregaIndexacion(string _nroDocumento, string _nroPagina)
        {
            GestorDocumentalEnt    data  = new GestorDocumentalEnt();
            AsignacionesController bAsig = new AsignacionesController();
            DocumentosController   bdoc  = new DocumentosController();
            List <Documentos>      doc   = new List <Documentos>();
            int    negocio   = Convert.ToInt32(Session["_Negocio"].ToString());
            string txtPagina = _nroPagina;

            ViewData["MensajeError_"]        = "";
            Session["_Error"]                = 0;
            ViewData["ROtxtPagina"]          = "";
            ViewData["ROtxtDocumento"]       = "";
            ViewData["_btnFinalizarVisible"] = "hidden";
            ViewData["_disableCampDoc"]      = "";
            ViewData["_btnGuardarVisible"]   = "";
            ViewData["_ValorPagina_"]        = "";
            try
            {
                if (_nroDocumento.Equals("") || _nroDocumento.Equals(null))
                {
                    ViewData["MensajeError_"] = "Debe ingresar un documento para indexar.";
                }
                else
                {
                    //string txtDocumento = collection["txtDocumento"].ToString();
                    string txtDocumento = consultDcoId(_nroDocumento, negocio);


                    //Verifica que el numero de documento que digita este en la lista asignada
                    int NedId = int.Parse(((Captura)this.Session["NEGOCIO"]).NegId.ToString());
                    doc = bdoc.obtenerDocumentosIndexacion(NedId);
                    var DocumentosIdex = doc.Find(x => x.DocId == int.Parse(txtDocumento));

                    //JFP; abril-2016; verificar que no se indexe mas de un documento con la misma tipologia a no ser que se permita
                    int IndexaMultiple = data.sp_ValidaIndexaMultiple(Convert.ToInt32(txtDocumento), Convert.ToInt32(_nroDocumento), Convert.ToDecimal(NedId)).ToList().SingleOrDefault().Value;

                    //int sn_indexa = Convert.ToInt32(IndexaMultiple.ToString());
                    if (IndexaMultiple == 1)
                    {
                        if ((txtDocumento.Trim() != string.Empty) & (txtPagina.Trim() != string.Empty))
                        {
                            if (DocumentosIdex != null)
                            {
                                if (Convert.ToInt32(txtPagina) <= bdoc.ObtenerNumPaginasNegocio((Captura)this.Session["NEGOCIO"]))
                                {
                                    ArchivosAnexos c = new ArchivosAnexos
                                    {
                                        NegId         = ((Captura)this.Session["NEGOCIO"]).NegId,
                                        AADescripcion = ((Captura)this.Session["NEGOCIO"]).NegId.ToString(),
                                        DocId         = Convert.ToInt32(txtDocumento),
                                        NumPagina     = Convert.ToInt32(txtPagina),
                                        FechaRegistro = DateTime.Now,
                                        Usuario       = new decimal?(((Usuarios)this.Session["USUARIO"]).IdUsuario)
                                    };

                                    if (!bdoc.buscarPaginaDigitada(c))
                                    {
                                        bdoc.insertarDocsIndexados(c);
                                        cargarPaginasIndexadas();
                                        var a = (int.Parse(txtPagina) + 1).ToString();
                                        ViewData["_Pagina"] = (int.Parse(txtPagina) + 1).ToString();
                                        if (bdoc.IndexacionTerminada(c))
                                        {
                                            ViewData["_btnFinalizarVisible"] = "visible";
                                            ViewData["_disableCampDoc"]      = "disabled='disabled'";
                                            ViewData["_btnGuardarVisible"]   = "hidden";
                                            ViewData["ROtxtDocumento"]       = "readonly='true'";
                                            ViewData["ValorDocumento"]       = "";
                                            ViewData["MensajeError_"]        = "";
                                        }
                                        ViewData["_btnFinalizarVisible"] = "hidden";
                                        ViewData["MensajeError_"]        = "";
                                        Session["_NumPaginas_"]          = bdoc.ObtenerNumPaginasNegocio((Captura)this.Session["NEGOCIO"]).ToString();
                                    }
                                    else
                                    {
                                        ViewData["MensajeError_"] = "La pagina ingresada ya se encuentra asignada a otro documento";
                                    }
                                }
                                else
                                {
                                    ViewData["MensajeError_"] = "El numero de pagina es mayor al total de paginas del archivo";
                                }
                            }
                            else
                            {
                                ViewData["MensajeError_"] = "Digite un documento valido de la lista";
                            }
                        }
                        else
                        {
                            ViewData["MensajeError_"] = "Digite el documento y la pagina correspondiente.";
                        }
                    }
                    else
                    {
                        ViewData["MensajeError_"] = "Ya existe un documento clasificado con el código ingresado, por favor validar si es un anexo del tipo documental.";
                    }
                }

                // Modificacion 04/05/2016 William Eduardo Cicua
                // este if recargar la pagina si no hay ningun error al indexar
                // se cambia visibilidad de los botones y se desactivan los campos
                if (ViewData["MensajeError_"].ToString() == "")
                {
                    ViewData["_ValorPagina_"] = "1";
                    P_Etapas etapas = new P_Etapas
                    {
                        IdEtapa = 20
                    };

                    Captura n     = new Captura();
                    decimal dec   = ((Usuarios)this.Session["USUARIO"]).IdUsuario;
                    var     negId = bAsig.ObtenerNegociosXEntrada((Usuarios)this.Session["USUARIO"], etapas);
                    if (negId == 0M)
                    {
                        n.NegId = 0M;
                        this.Session["NEGOCIO"]    = n;
                        ViewData["ROtxtPagina"]    = "readonly='true'";
                        ViewData["ROtxtDocumento"] = "readonly='true'";
                        ViewData["MensajeError_"]  = "No existen negocios disponibles para esta etapa";
                        Session["TITULO"]          = "Indexación";
                    }
                    else
                    {
                        n.NegId = negId;
                        this.Session["NEGOCIO"] = n;
                        Session["TITULO"]       = "Indexación del Negocio:" + n.NegId.ToString();
                        AsignacionTareas a = new AsignacionTareas
                        {
                            NegId      = n.NegId,
                            IdEtapa    = etapas.IdEtapa,
                            Usuario    = ((Usuarios)this.Session["USUARIO"]).IdUsuario,
                            HoraInicio = DateTime.Now,
                            IdEstado   = 10
                        };

                        cargarPaginasIndexadas();
                        int     num;
                        decimal _usu      = ((Usuarios)this.Session["USUARIO"]).IdUsuario;
                        var     resultado = data.sp_ValIndexacion(Convert.ToDecimal(negId), _usu).SingleOrDefault();
                        if (resultado == 0)
                        {
                            var numN = data.sp_ObtSigPag(Convert.ToDecimal(negId)).SingleOrDefault();
                            num = Convert.ToInt32(numN);
                        }
                        else
                        {
                            num = bdoc.obtenerUltimaPagina(n) + 1;
                        }
                        ViewData["_ValorPagina_"] = num.ToString();
                        int num2 = bdoc.ObtenerNumPaginasNegocio(n);
                        if (num > num2)
                        {
                            ViewData["_btnFinalizarVisible"] = "visible";
                            ViewData["_disableCampDoc"]      = "disabled='disabled'";
                            ViewData["_btnGuardarVisible"]   = "hidden";
                        }
                        if (!bAsig.ExisteEtapa(a))
                        {
                            bAsig.insertarAsignacion(a);
                        }
                    }

                    Session["_Negocio"] = (int)n.NegId;
                    if (n.NegId == 0)
                    {
                        ViewData["MensajeError_"] = "No existen documentos asociados a el subgrupo.";
                    }


                    if (((Captura)this.Session["NEGOCIO"]).NegId != 0M)
                    {
                        Session["_NumPaginas_"] = bdoc.ObtenerNumPaginasNegocio((Captura)this.Session["NEGOCIO"]).ToString();
                    }
                    string[] ArrView = { ViewData["MensajeError_"].ToString(), ViewData["_ValorPagina_"].ToString(), ViewData["_btnFinalizarVisible"].ToString(), ViewData["_disableCampDoc"].ToString(), ViewData["_btnGuardarVisible"].ToString() };
                    return(Json(ArrView, JsonRequestBehavior.AllowGet));
                }
            }
            catch (Exception exception)
            {
                LogRepository.registro("Error en IndexacionImg.aspx metodo Button1_Click " + exception.Message);
                ViewData["MensajeError_"] = "Error en el metodo Button1_Click en indexacion " + exception.InnerException.ToString();
                base.Response.Redirect("/IndexacionImg/Index");
            }


            string[] ArrView2 = { ViewData["MensajeError_"].ToString() };
            return(Json(ArrView2, JsonRequestBehavior.AllowGet));
        }
예제 #2
0
        public ActionResult Index(GridEditMode?mode, GridButtonType?type, GridInsertRowPosition?
                                  insertRowPosition)
        {
            ViewBag.pageLoad = "<script type=\"text/javascript\">pageLoad();</script>";
            //Carlos : metodos para limpiar la cache
            Response.Cache.SetCacheability(HttpCacheability.NoCache);
            Response.Cache.SetExpires(DateTime.Now);
            Response.Cache.SetNoServerCaching();
            Response.Cache.SetNoStore();
            if (Session["CLIENTE"] == null)
            {
                Response.Redirect("../Seguridad/Login");
                return(null);
            }
            Session["idETAPA"] = 20;
            try
            {
                //JFP
                ModelState.Clear();
                GestorDocumentalEnt    data  = new GestorDocumentalEnt();
                AsignacionesController bAsig = new AsignacionesController();
                DocumentosController   bdoc  = new DocumentosController();
                ViewData["ROtxtPagina"]          = "";
                ViewData["ROtxtDocumento"]       = "";
                ViewData["_btnFinalizarVisible"] = "hidden";
                ViewData["_disableCampDoc"]      = "";
                ViewData["_ValorPagina_"]        = "";
                ViewData["tamaño"] = "style='height: 850px'";
                ViewData["_disableDocFaltantes"] = "hidden";

                //<<JFPancho;6-abril-2017;
                //---valida que el usuario no este activo en mas de una máquina
                LogUsuarios x = new LogUsuarios();
                x.ActualizaSesion(((Usuarios)Session["USUARIO_LOGUEADO"]).IdUsuario);
                //---valida si el usuario logueado tiene accceso al modulo
                int?idRol  = ((Usuarios)Session["USUARIO_LOGUEADO"]).RolId;
                var result = data.spValidaAccesoModulo(idRol, "/IndexacionImg/Index").FirstOrDefault();

                if (result == 0)
                {
                    Response.Redirect("../Home/Index");
                }
                //JFPancho >>

                if (Request.HttpMethod != "POST")
                {
                    ViewData["_ValorPagina_"] = "1";
                    P_Etapas etapas = new P_Etapas
                    {
                        IdEtapa = 20
                    };

                    Captura n     = new Captura();
                    decimal dec   = ((Usuarios)this.Session["USUARIO"]).IdUsuario;
                    var     negId = bAsig.ObtenerNegociosXEntrada((Usuarios)this.Session["USUARIO"], etapas);
                    if (negId == 0M)
                    {
                        n.NegId = 0M;
                        this.Session["NEGOCIO"]    = n;
                        ViewData["ROtxtPagina"]    = "readonly='true'";
                        ViewData["ROtxtDocumento"] = "readonly='true'";
                        ViewData["MensajeError_"]  = "No existen negocios disponibles para esta etapa";
                        Session["TITULO"]          = "Indexación";
                    }
                    else
                    {
                        n.NegId = negId;

                        // William; Obtiene el idcase de la etapa anterior y la utiliza en la creacion de la asignacion de tareas
                        // de esta estapa
                        var Case = data.sp_IdCase_Indexacion(n.NegId).ToList();

                        //Ivan Rodriguez: se obtiene el numero bizagi y la accion para mostrar en el titulo de la indexacion
                        //-----------Inicio CambiosIvan Rodriguez
                        if (negId != null && negId != 0)
                        {
                            var nombreIndex = data.sp_Indexacion_NegNumbizagiAccion((int?)negId).ToList().FirstOrDefault();

                            this.Session["NEGOCIO"] = n;
                            Session["TITULO"]       = "Indexación del Negocio:" + n.NegId.ToString() + " |" + nombreIndex;
                        }
                        else
                        {
                            Session["TITULO"] = "Indexación del Negocio: 0";
                        }

                        //---------Fin cambio Ivan Rodriguez

                        AsignacionTareas a = new AsignacionTareas
                        {
                            NegId      = n.NegId,
                            IdEtapa    = etapas.IdEtapa,
                            Usuario    = ((Usuarios)this.Session["USUARIO"]).IdUsuario,
                            HoraInicio = DateTime.Now,
                            IdEstado   = 10,
                            idCase     = Convert.ToInt32(Case[0]) //William Cicua; se agrega campo
                        };

                        cargarPaginasIndexadas();
                        int     num;
                        decimal _usu      = ((Usuarios)this.Session["USUARIO"]).IdUsuario;
                        var     resultado = data.sp_ValIndexacion(Convert.ToDecimal(negId), _usu).SingleOrDefault();
                        if (resultado == 0)
                        {
                            var numN = data.sp_ObtSigPag(Convert.ToDecimal(negId)).SingleOrDefault();
                            num = Convert.ToInt32(numN);
                        }
                        else
                        {
                            num = bdoc.obtenerUltimaPagina(n) + 1;
                        }
                        ViewData["_ValorPagina_"] = num.ToString();
                        int num2 = bdoc.ObtenerNumPaginasNegocio(n);
                        if (num > num2)
                        {
                            ViewData["_btnFinalizarVisible"] = "visible";
                            ViewData["_disableCampDoc"]      = "disabled='disabled'";
                            ViewData["_btnGuardarVisible"]   = "hidden";
                        }
                        if (!bAsig.ExisteEtapa(a))
                        {
                            bAsig.insertarAsignacion(a);
                        }
                        string usuario  = Session["_IDUsuario_"].ToString();
                        int?   resutado = data.sp_Cap_ValidacionNegocioAsignado(((Captura)this.Session["NEGOCIO"]).NegId, Convert.ToDecimal(usuario), etapas.IdEtapa).FirstOrDefault();

                        if (resutado == 0)
                        {
                            Response.Redirect("../IndexacionImg/Index");
                        }
                    }

                    Session["_Negocio"] = (int)n.NegId;
                    if (n.NegId == 0)
                    {
                        ViewData["MensajeError_"] = "No existen documentos asociados a el subgrupo.";
                    }
                }
                else
                {
                    ViewData["MensajeError_"] = "";
                }

                if (((Captura)this.Session["NEGOCIO"]).NegId != 0M)
                {
                    Session["_NumPaginas_"] = bdoc.ObtenerNumPaginasNegocio((Captura)this.Session["NEGOCIO"]).ToString();
                }
                var accion  = data.sp_Obtener_Accion((int?)((Captura)this.Session["NEGOCIO"]).NegId).ToList().FirstOrDefault();
                int accion2 = Convert.ToInt32(accion);
                if (accion2 == 1 || accion2 == 3)
                {
                    ViewData["_disableDocFaltantes"] = "hidden";
                }
                else
                {
                    ViewData["_disableDocFaltantes"] = "visible";
                    ViewData["tamaño"] = "style='height: 1160px'";
                }
                ViewData["mode"] = mode ?? GridEditMode.InLine;
                ViewData["type"] = type ?? GridButtonType.Text;
                ViewData["insertRowPosition"] = insertRowPosition ?? GridInsertRowPosition.Top;
                return(View());
            }
            catch (Exception exception)
            {
                LogRepository.registro("Error en IndexacionImg.aspx metodo Page_Load " + exception.Message);
                throw;
            }
        }