cambios en apidenuncias

This commit is contained in:
2026-04-30 08:55:00 +02:00
parent 3b77fc827d
commit b22f02807d
295 changed files with 26359 additions and 3777 deletions

View File

@@ -0,0 +1,186 @@
Imports System.Net
Imports System.Net.Security
Imports WebIntranet.Models
Public Class Menu
Inherits System.Web.UI.Page
Public sessionUsuario As String
Public usuariosSeleccionados As List(Of String)
Public idGrupo As Integer
Public listaGruposInci As List(Of grupos)
Public listaGruposSoli As List(Of grupos)
Public listaGruposGene As List(Of grupos)
Public idSubgrupo As String
Public subgrupos As List(Of subGrupos)
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Session("usuario") = "" Then
Response.Redirect("default.aspx")
End If
sessionUsuario = Session("usuario")
idGrupo = Request.QueryString("g")
Dim tipo = Request.QueryString("t")
idSubgrupo = Request.QueryString("sg")
ServicePointManager.ServerCertificateValidationCallback = New RemoteCertificateValidationCallback(Function() True)
Dim url3 As String = ConfigurationManager.AppSettings("RutaRes").ToString + "/api/GruposIncidenciasControlHorario"
Dim credenciales3 As New Net.CredentialCache()
Dim clienteHTTP3 As New Net.WebClient()
clienteHTTP3.Encoding = System.Text.Encoding.UTF8
clienteHTTP3.Credentials = credenciales3
Dim respuesta3 As String = clienteHTTP3.DownloadString(url3)
Dim deserializador3 As New System.Web.Script.Serialization.JavaScriptSerializer()
Dim settings As New Newtonsoft.Json.JsonSerializerSettings()
settings.CheckAdditionalContent = True
Dim Datos As List(Of Models.grupos) =
deserializador3.Deserialize(Of List(Of Models.grupos))(respuesta3)
listaGruposInci = Datos.Where(Function(x) x.NumIncidencias <> 0).OrderBy(Function(x) x.orden).ThenBy(Function(x) x.Descripcion).ToList
listaGruposSoli = Datos.Where(Function(x) x.NumSolicitudes <> 0).OrderBy(Function(x) x.orden).ThenBy(Function(x) x.Descripcion).ToList
listaGruposGene = Datos.OrderBy(Function(x) x.orden AndAlso (x.NumIncidencias <> 0 OrElse x.NumSolicitudes <> 0)).ThenBy(Function(x) x.Descripcion).ToList
ServicePointManager.ServerCertificateValidationCallback = New RemoteCertificateValidationCallback(Function() True)
Dim url2 As String = ConfigurationManager.AppSettings("RutaRes").ToString + "/api/SubGruposIncidenciasControlHorario?idGrupo=" + idGrupo.ToString
Dim credenciales2 As New Net.CredentialCache()
Dim clienteHTTP2 As New Net.WebClient()
clienteHTTP2.Encoding = System.Text.Encoding.UTF8
clienteHTTP2.Credentials = credenciales2
Dim respuesta2 As String = clienteHTTP3.DownloadString(url2)
Dim deserializador2 As New System.Web.Script.Serialization.JavaScriptSerializer()
Dim settings2 As New Newtonsoft.Json.JsonSerializerSettings()
settings.CheckAdditionalContent = True
Dim Datos2 As ResultadoSubGruposIncidenciasControlHorario =
deserializador2.Deserialize(Of ResultadoSubGruposIncidenciasControlHorario)(respuesta2)
subgrupos = Datos2.listaSubgrupos
subgrupos = If(tipo = "p", subgrupos.Where(Function(x) x.numSol <> 0).OrderBy(Function(x) x.orden).ThenBy(Function(x) x.descripcion).ToList, subgrupos.Where(Function(x) x.numCom <> 0).OrderBy(Function(x) x.orden).ThenBy(Function(x) x.descripcion).ToList)
cargarBarraLateral(tipo)
cargarMenu(tipo)
End Sub
Public Sub cargarBarraLateral(tipo As String)
Dim lista
If tipo = "p" Then
lista = listaGruposSoli
ElseIf tipo = "i" Then
lista = listaGruposInci
ElseIf tipo Is Nothing OrElse tipo = "" Then
lista = listaGruposGene
End If
Dim html = ""
html += "<ul>"
For Each grupo As grupos In lista
If grupo.idGrupo = idGrupo Then
html += "<li id=""" + grupo.Descripcion.Replace(" ", "") + "BL"" class=""obtListLat listActivo""><a onclick=""redirigir()"" href=""/Menu.aspx?g=" + grupo.idGrupo.ToString + "&t=" + tipo + """>" + grupo.Descripcion + "</a></li>"
Else
html += "<li id=""" + grupo.Descripcion.Replace(" ", "") + "BL"" class=""obtListLat""><a onclick=""redirigir()"" href=""/Menu.aspx?g=" + grupo.idGrupo.ToString + "&t=" + tipo + """>" + grupo.Descripcion + "</a></li>"
End If
Next
html += "</ul>"
navLateral.InnerHtml = html
End Sub
Public Sub cargarMenu(tipo As String)
Dim usuario As String = "tecnosis"
Dim contraseña As String = "patata2022"
Dim url3 As String = ConfigurationManager.AppSettings("RutaRes").ToString + "/api/IncidenciasControlHorario"
' Dim url3 As String = "http://192.168.41.14:81/api/IncidenciasControlHorario"
Dim credenciales3 As New Net.CredentialCache()
credenciales3.Add(New Uri(url3), "Basic", New Net.NetworkCredential(usuario, contraseña))
Dim clienteHTTP3 As New Net.WebClient()
clienteHTTP3.Encoding = System.Text.Encoding.UTF8
clienteHTTP3.Credentials = credenciales3
Dim respuesta3 As String = clienteHTTP3.DownloadString(url3)
Dim deserializador3 As New System.Web.Script.Serialization.JavaScriptSerializer()
deserializador3.MaxJsonLength = Integer.MaxValue
Dim listaPicada As List(Of Incidencia) =
deserializador3.Deserialize(Of List(Of Incidencia))(respuesta3)
Dim ListIncidenciasNoReloj = listaPicada.Where(Function(x) x.EsInciReloj = False).OrderBy(Function(x) x.Descripcion).ToList
Dim lista As List(Of Incidencia)
Dim htmlMigas = ""
'Dim htmlTituloMob = ""
Dim descrip
Dim sec
Dim titulo
If tipo = "p" Then
sec = "Permisos"
descrip = listaGruposSoli.FirstOrDefault(Function(x) x.idGrupo = idGrupo).Descripcion
lista = ListIncidenciasNoReloj.Where(Function(x) x.RequiereAprobacion = True AndAlso x.idGrupo IsNot "" AndAlso x.idGrupo = idGrupo AndAlso x.visibleWeb = True).OrderBy(Function(x) x.orden).ThenBy(Function(x) x.Nombre).ToList
htmlMigas += "<ul>" +
"<li class='migaActiva'>/ Permisos</li>" +
"<li class='migaActiva'>/ " + listaGruposSoli.FirstOrDefault(Function(x) x.idGrupo = idGrupo).Descripcion + "</li>" +
"</ul>"
titulo = listaGruposSoli.FirstOrDefault(Function(x) x.idGrupo = idGrupo).Descripcion
ElseIf tipo = "i" Then
sec = "Incidencias"
descrip = listaGruposInci.FirstOrDefault(Function(x) x.idGrupo = idGrupo).Descripcion
lista = ListIncidenciasNoReloj.Where(Function(x) x.RequiereAprobacion = False AndAlso x.idGrupo IsNot "" AndAlso x.idGrupo = idGrupo AndAlso x.visibleWeb = True).OrderBy(Function(x) x.orden).ThenBy(Function(x) x.Nombre).ToList
htmlMigas += "<ul>" +
"<li class='migaActiva'>/ Comunicaciones</li>" +
"<li class='migaActiva'>/ " + listaGruposInci.FirstOrDefault(Function(x) x.idGrupo = idGrupo).Descripcion + "</li>" +
"</ul>"
titulo = listaGruposInci.FirstOrDefault(Function(x) x.idGrupo = idGrupo).Descripcion
ElseIf tipo Is Nothing OrElse tipo = "" Then
sec = "Incidencias y comunicaciones"
descrip = listaGruposGene.FirstOrDefault(Function(x) x.idGrupo = idGrupo).Descripcion
lista = ListIncidenciasNoReloj.Where(Function(x) x.idGrupo IsNot "" AndAlso x.idGrupo = idGrupo AndAlso x.visibleWeb = True).OrderBy(Function(x) x.orden).ThenBy(Function(x) x.Nombre).ToList
htmlMigas += "<ul>" +
"<li class='migaActiva'>/ Solicitudes y comunicaciones</li>" +
"<li class='migaActiva'>/ " + listaGruposGene.FirstOrDefault(Function(x) x.idGrupo = idGrupo).Descripcion + "</li>" +
"</ul>"
titulo = listaGruposGene.FirstOrDefault(Function(x) x.idGrupo = idGrupo).Descripcion
End If
Dim htmlSubgrupos = ""
If subgrupos.Count > 0 Then
For Each subgrp As subGrupos In subgrupos
Dim listainciSubgrupo = lista.Where(Function(x) x.idSubgrupo IsNot "" AndAlso x.idSubgrupo = subgrp.idSubGrupo)
If listainciSubgrupo.All(Function(x) x.visibleWeb <> False) = True Then
htmlSubgrupos += "<div Class=""card tooltip2"">" +
If(subgrp.ayudaWeb IsNot Nothing, "<span class=""tooltipText"" id=""tooltip" + subgrp.idSubGrupo.ToString + """>" + subgrp.ayudaWeb + "</span>", "") +
"<div Class=""card-header"" onmouseover=""mostrarTooltip(" + subgrp.idSubGrupo.ToString + "s)"" onmouseout=""ocultarTooltip(" + subgrp.idSubGrupo.ToString + ")"" id=""headingS" + subgrp.idSubGrupo.ToString + """ data-toggle=""collapse"" data-target=""#collapseS" + subgrp.idSubGrupo.ToString + """ aria-expanded=""" + If(subgrp.idSubGrupo.ToString = idSubgrupo, "true", "false") + """ aria-controls=""collapseS" + subgrp.idSubGrupo.ToString + """>" +
"<h5 Class=""mb-0"">" +
"<input type=""button"" value=""+ " + If(tipo = "p", listaGruposSoli.FirstOrDefault(Function(x) x.idGrupo = idGrupo).Descripcion, listaGruposInci.FirstOrDefault(Function(x) x.idGrupo = idGrupo).Descripcion) + " - " + subgrp.descripcion.ToString + """ Class=""CardSubgrupo"" >" +
"</input>" +
"</h5>" +
"</div>" +
"<div id=""collapseS" + subgrp.idSubGrupo.ToString + """ class=""collapse " + If(subgrp.idSubGrupo.ToString = idSubgrupo, "show", "") + """ aria-labelledby=""headingS" + subgrp.idSubGrupo.ToString + """ data-parent=""#accordion"">" +
"<div class=""card-body"">" +
"<ul class='mb-0 ListaMenu'>"
For Each itemSub As Incidencia In listainciSubgrupo.OrderBy(Function(x) x.orden).ThenBy(Function(x) x.Nombre)
htmlSubgrupos += "<li onmouseover=""mostrarTooltip(" + itemSub.idIncidencias.ToString + ")"" onmouseout=""ocultarTooltip(" + itemSub.idIncidencias.ToString + ")"" class=""tooltip2"">" + If(itemSub.ayudaWeb IsNot Nothing, "<span class=""tooltipText"" id=""tooltip" + itemSub.idIncidencias.ToString + """>" + itemSub.ayudaWeb + "</span>", "") + "<a onclick="" redirigir()"" href=""/SolicitudesComunicaciones.aspx?idInci=" + itemSub.idIncidencias + "&t=" + tipo + """>" + itemSub.Nombre.Replace("""", "") + "</a></li>"
Next
htmlSubgrupos += "</ul>" +
"</div>" +
"</div>" +
"</div>"
End If
Next
End If
Dim html = ""
'Dim listaSinSG = lista.Where(Function(x) x.idSubgrupo = "")
''SERGIO:El agu me dijo que tenian que salir ordenados por campo orden
Dim listaSinSG = lista.Where(Function(x) x.idSubgrupo = "").OrderBy(Function(x) x.orden)
If listaSinSG.Count > 0 Then
html += "<div Class=""card"">" +
"<div Class=""card-header"" id=""heading" + idGrupo.ToString + """ data-toggle=""collapse"" data-target=""#collapse" + idGrupo.ToString + """ aria-expanded=""" + If(idSubgrupo IsNot Nothing, "false", "true") + """ aria-controls=""collapse" + idGrupo.ToString + """>" +
"<h5 Class=""mb-0"">" +
"<input type=""button"" value=""+ " + If(tipo = "p", listaGruposSoli.FirstOrDefault(Function(x) x.idGrupo = idGrupo).Descripcion, listaGruposInci.FirstOrDefault(Function(x) x.idGrupo = idGrupo).Descripcion) + " - General"" Class=""CardSubgrupo"" >" +
"</input>" +
"</h5>" +
"</div>" +
"<div id=""collapse" + idGrupo.ToString + """ class=""collapse " + If(idSubgrupo IsNot Nothing, "", "show") + """ aria-labelledby=""heading" + idGrupo.ToString + """ data-parent=""#accordion"">" +
"<div class=""card-body"">" +
"<ul class='mb-0 ListaMenu'>"
For Each item As Incidencia In listaSinSG.OrderBy(Function(x) x.orden).ThenBy(Function(x) x.Nombre)
html += "<li onmouseover=""mostrarTooltip(" + item.idIncidencias.ToString + ")"" onmouseout=""ocultarTooltip(" + item.idIncidencias.ToString + ")"" class=""tooltip2"">" + If(item.ayudaWeb IsNot Nothing, "<span class=""tooltipText"" id=""tooltip" + item.idIncidencias.ToString + """>" + item.ayudaWeb + "</span>", "") + "<a onclick="" redirigir()"" href=""/SolicitudesComunicaciones.aspx?idInci=" + item.idIncidencias + "&t=" + tipo + """>" + item.Nombre.Replace("""", "") + "</a></li>"
Next
html += "</ul>" +
"</div>" +
"</div>" +
"</div>"
End If
migasDePan.InnerHtml = htmlMigas
'tituloMenu.InnerText = titulo
listMenu.InnerHtml = "<div id=""accordion"">" + html + htmlSubgrupos + "</div></div>"
tituloMob.InnerText = titulo
End Sub
End Class