237 lines
14 KiB
VB.net
237 lines
14 KiB
VB.net
Imports Newtonsoft.Json
|
|
Imports System.Net
|
|
Imports System.Net.Http
|
|
Imports System.Net.Security
|
|
Imports System.Threading.Tasks
|
|
Imports WebIntranet.Clases
|
|
Imports WebIntranet.Models
|
|
|
|
Public Class listSolicitudesComunicaciones
|
|
Inherits System.Web.UI.Page
|
|
Private usuarioPrincipal As Models.Personal
|
|
'Shared listaEstados As List(Of Models.Estados)
|
|
'Shared sessionUsuario As String
|
|
'Shared usuariosSeleccionados As New List(Of String)
|
|
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
|
|
estIncPicBL.Visible = False
|
|
Dim sessionUsuario As String = Session("usuario")
|
|
Dim usuariosSeleccionados = Session("usuariosSeleccionados")
|
|
If Session("modo") = "PERSONAL" Then
|
|
intPicadaBL.Visible = False
|
|
'bolsaDeHorasBL.Visible = False
|
|
VAAPBCBL.Visible = False
|
|
'informPicadasBL.Visible = False
|
|
If Session("persona").Personas(0).Dni = "44286377S" Then
|
|
estIncPicBL.Visible = True
|
|
End If
|
|
Else
|
|
VAAPBCBLpers.Visible = False
|
|
Li1.Visible = False
|
|
intPicadaPersBL.Visible = False
|
|
End If
|
|
Dim pendientes = Request.QueryString("pnd")
|
|
usuarioPrincipal = Session("persona").Personas(0)
|
|
fechaInicioListInc.Value = DateTime.Now.ToString("yyyy-MM") + "-01"
|
|
fechaFinListInc.Value = DateTime.Now.ToString("yyyy-MM-dd")
|
|
If pendientes = "true" Then
|
|
Session.Add("modo", "PERSONAL")
|
|
Dim persona = Session("persona")
|
|
Dim personasPendientes = Session("listaPersonasIncPend")
|
|
Session.Add("usuariosSeleccionados", personasPendientes)
|
|
fechaInicioListInc.Value = CDate(persona.FeIniInciPorAceptar).ToString("yyyy-MM-dd")
|
|
fechaFinListInc.Value = CDate(persona.FeFinInciPorAceptar).ToString("yyyy-MM-dd")
|
|
usuariosSeleccionados = personasPendientes
|
|
End If
|
|
If pendientes = "borr" Then
|
|
Dim persona = Session("persona")
|
|
fechaInicioListInc.Value = If(CDate(persona.personas(0).FeIniInciBorrador).ToString("yyyy-MM-dd") <> "0001-01-01", CDate(persona.personas(0).FeIniInciBorrador).ToString("yyyy-MM-dd"), Now.Year.ToString() + "-01-01")
|
|
fechaFinListInc.Value = If(CDate(persona.personas(0).FeFinInciBorrador).ToString("yyyy-MM-dd") <> "0001-01-01", CDate(persona.personas(0).FeFinInciBorrador).ToString("yyyy-MM-dd"), Now.Year.ToString() + "-01-01")
|
|
End If
|
|
TIPOUSU.Value = Session("persona").Personas(0).Roll
|
|
MODO.Value = Session("modo")
|
|
|
|
'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 inciVacia As New Incidencia
|
|
|
|
'listaPicada = listaPicada.Where(Function(x) x.EsInciReloj = False).OrderBy(Function(x) x.Nombre).ToList
|
|
|
|
cargarEstados()
|
|
End Sub
|
|
Function cargarEstados()
|
|
ServicePointManager.ServerCertificateValidationCallback = New RemoteCertificateValidationCallback(Function() True)
|
|
Dim url3 As String = ConfigurationManager.AppSettings("RutaRes").ToString + "/api/EstadosAsistencias"
|
|
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.Estados) =
|
|
deserializador3.Deserialize(Of List(Of Models.Estados))(respuesta3)
|
|
Dim html = ""
|
|
Dim listaEstados = Datos
|
|
Session.Add("listEstados", listaEstados)
|
|
html += "<div class='estado'><input id='chbTODOS' type='checkbox' value='TODOS' /><p>TODOS</p></div>"
|
|
|
|
For Each Estado As Models.Estados In Datos
|
|
html += "<div id='" + Estado.idEstado + "Div' class='estado'><input class='chbEstado' type='checkbox' value='" + Estado.Descripcion.Replace(" ", "-") + "' /><p>" + Estado.Descripcion + "</p></div>"
|
|
Next
|
|
|
|
filtroEstados.InnerHtml = html
|
|
|
|
|
|
End Function
|
|
<System.Web.Services.WebMethod()>
|
|
Public Shared Async Function CargarListadodeIncidencias(fechaInit As String, fechaEnd As String, checkTodas As Boolean) As Task(Of String)
|
|
Try
|
|
If UtilAntifraude.CheckCred() = False Then
|
|
Return "ERROR--1"
|
|
Exit Function
|
|
End If
|
|
|
|
Dim listIncis As New List(Of String)
|
|
|
|
If checkTodas = True Then
|
|
ServicePointManager.ServerCertificateValidationCallback = New RemoteCertificateValidationCallback(Function() True)
|
|
Dim usuariosSeleccionados As List(Of String) = HttpContext.Current.Session("usuariosSeleccionados")
|
|
Dim objetoConsulta As New Models.Consulta
|
|
objetoConsulta.fechaInicio = New Date(fechaInit)
|
|
objetoConsulta.fechaFin = New Date(fechaEnd)
|
|
objetoConsulta.listaNif = usuariosSeleccionados
|
|
Dim jsonConsulta As String = JsonConvert.SerializeObject(objetoConsulta)
|
|
Dim url As String = ConfigurationManager.AppSettings("RutaRes").ToString + "/api/ListAsisEntreFechas"
|
|
Dim clienteHTTP As New HttpClient
|
|
Dim contenidoConsultaHTTP As New StringContent(jsonConsulta, Encoding.UTF8, "application/json")
|
|
Debug.WriteLine("CargarListadodePicadasAsync:1===" + Now.ToLongTimeString)
|
|
Dim respuestaHTTP As HttpResponseMessage = Await clienteHTTP.PostAsync(url, contenidoConsultaHTTP).ConfigureAwait(False)
|
|
Debug.WriteLine("CargarListadodePicadasAsync:2===" + Now.ToLongTimeString)
|
|
Dim sRespuesta As String = Await respuestaHTTP.Content.ReadAsStringAsync().ConfigureAwait(False)
|
|
Debug.WriteLine("CargarListadodePicadasAsync:3===" + Now.ToLongTimeString)
|
|
Dim settings As New Newtonsoft.Json.JsonSerializerSettings()
|
|
settings.CheckAdditionalContent = True
|
|
Dim objetoDatos As Models.ResultadoListAsisEntreFechas =
|
|
Newtonsoft.Json.JsonConvert.DeserializeObject(Of Models.ResultadoListAsisEntreFechas)(sRespuesta, settings)
|
|
Debug.WriteLine("Resultado: " & objetoDatos.Resultado)
|
|
Dim listaPersonas = objetoDatos.ListadoEFNoAceptada.ListaPersonas
|
|
Dim Json = ""
|
|
Json += "["
|
|
Dim cont = 0
|
|
For Each persona As Models.PersonaAsi In listaPersonas
|
|
If cont > 0 Then
|
|
Json += ","
|
|
End If
|
|
cont += 1
|
|
Json += "{""Persona"":""" + persona.ApellidosNombre + """,""LisAsistencias"":["
|
|
Dim listadoAsistencias = persona.LisAsistencias.OrderBy(Function(x) x.FechaInicio).Reverse().ToList
|
|
If persona.LisAsistencias IsNot Nothing Then
|
|
Dim contAsis = 0
|
|
For Each Asistencia As Models.Asistencia In listadoAsistencias
|
|
If listIncis.Contains(Asistencia.DesAsistencia.ToUpper.Replace(" ", "-")) = False Then
|
|
listIncis.Add(Asistencia.DesAsistencia.ToUpper.Replace(" ", "-"))
|
|
End If
|
|
Dim urlDesg = "/desgSolicitudesComunicaciones.aspx?idAsis=" + Asistencia.idAsistencia.ToString + "&cl=" + tsl5.crypt.SHA1("M3Soft." & Asistencia.idAsistencia)
|
|
If contAsis > 0 Then
|
|
Json += ","
|
|
End If
|
|
contAsis += 1
|
|
Json += "{""DesAsistencia"":""" + Asistencia.DesAsistencia + """,""numDias"":""" + Asistencia.Ndias.ToString + """,""Estado"":""" + Asistencia.Estado + """,""tipo"":""" + Asistencia.Tipo + """,""ExpedienteECO"":""" + Asistencia.ExpedienteECO + """,""FechaFin"":""" + Asistencia.FechaFin.ToString("dd/MM/yyyy") + """" +
|
|
",""FechaInicio"":""" + Asistencia.FechaInicio.ToString("dd/MM/yyyy") + """,""HorasTraManana"":""" + Asistencia.HorasTraManana + """,""HorasTraTarde"":""" + Asistencia.HorasTraTarde + ""","
|
|
Dim Observaciones = ""
|
|
If Asistencia.Observaciones IsNot Nothing Then
|
|
Observaciones = Asistencia.Observaciones.Replace("""", "'")
|
|
End If
|
|
Json += """Observaciones"":""" + Observaciones + """,""idAsistencia"":""" + Asistencia.idAsistencia.ToString + """,""linkDesglose"":""" + urlDesg + """,""tipo"":""tipo" + Asistencia.Tipo + """}"
|
|
Next
|
|
Json += "]}"
|
|
Else
|
|
Json += "{}]}"
|
|
End If
|
|
Next
|
|
Json += "]"
|
|
Return Json
|
|
Else
|
|
ServicePointManager.ServerCertificateValidationCallback = New RemoteCertificateValidationCallback(Function() True)
|
|
Dim usuariosSeleccionados As List(Of String) = HttpContext.Current.Session("usuariosSeleccionados")
|
|
Dim objetoConsulta As New Models.Consulta
|
|
objetoConsulta.fechaInicio = New Date(fechaInit)
|
|
objetoConsulta.fechaFin = New Date(fechaEnd)
|
|
objetoConsulta.listaNif = usuariosSeleccionados
|
|
Dim jsonConsulta As String = JsonConvert.SerializeObject(objetoConsulta)
|
|
Dim url As String = ConfigurationManager.AppSettings("RutaRes").ToString + "/api/ListAsisEntreFechas"
|
|
Dim clienteHTTP As New HttpClient
|
|
Dim contenidoConsultaHTTP As New StringContent(jsonConsulta, Encoding.UTF8, "application/json")
|
|
Debug.WriteLine("CargarListadodePicadasAsync:1===" + Now.ToLongTimeString)
|
|
Dim respuestaHTTP As HttpResponseMessage = Await clienteHTTP.PostAsync(url, contenidoConsultaHTTP).ConfigureAwait(False)
|
|
Debug.WriteLine("CargarListadodePicadasAsync:2===" + Now.ToLongTimeString)
|
|
Dim sRespuesta As String = Await respuestaHTTP.Content.ReadAsStringAsync().ConfigureAwait(False)
|
|
Debug.WriteLine("CargarListadodePicadasAsync:3===" + Now.ToLongTimeString)
|
|
Dim settings As New Newtonsoft.Json.JsonSerializerSettings()
|
|
settings.CheckAdditionalContent = True
|
|
Dim objetoDatos As Models.ResultadoListAsisEntreFechas =
|
|
Newtonsoft.Json.JsonConvert.DeserializeObject(Of Models.ResultadoListAsisEntreFechas)(sRespuesta, settings)
|
|
Debug.WriteLine("Resultado: " & objetoDatos.Resultado)
|
|
Dim listaPersonas = objetoDatos.ListadoEF.ListaPersonas
|
|
Dim Json = ""
|
|
Json += "["
|
|
Dim cont = 0
|
|
For Each persona As Models.PersonaAsi In listaPersonas
|
|
If cont > 0 Then
|
|
Json += ","
|
|
End If
|
|
cont += 1
|
|
Json += "{""Persona"":""" + persona.ApellidosNombre + """,""LisAsistencias"":["
|
|
Dim listadoAsistencias = persona.LisAsistencias.OrderBy(Function(x) x.FechaInicio).Reverse().ToList
|
|
If persona.LisAsistencias IsNot Nothing Then
|
|
Dim contAsis = 0
|
|
For Each Asistencia As Models.Asistencia In listadoAsistencias
|
|
If listIncis.Contains(Asistencia.DesAsistencia.ToUpper.Replace(" ", "-")) = False Then
|
|
listIncis.Add(Asistencia.DesAsistencia.ToUpper.Replace(" ", "-"))
|
|
End If
|
|
Dim urlDesg = "/desgSolicitudesComunicaciones.aspx?idAsis=" + Asistencia.idAsistencia.ToString + "&cl=" + tsl5.crypt.SHA1("M3Soft." & Asistencia.idAsistencia)
|
|
If contAsis > 0 Then
|
|
Json += ","
|
|
End If
|
|
contAsis += 1
|
|
Json += "{""DesAsistencia"":""" + Asistencia.DesAsistencia + """,""numDias"":""" + Asistencia.Ndias.ToString + """,""Estado"":""" + Asistencia.Estado + """,""tipo"":""" + Asistencia.Tipo + """,""ExpedienteECO"":""" + Asistencia.ExpedienteECO + """,""FechaFin"":""" + Asistencia.FechaFin.ToString("dd/MM/yyyy") + """" +
|
|
",""FechaInicio"":""" + Asistencia.FechaInicio.ToString("dd/MM/yyyy") + """,""HorasTraManana"":""" + Asistencia.HorasTraManana + """,""HorasTraTarde"":""" + Asistencia.HorasTraTarde + ""","
|
|
Dim Observaciones = ""
|
|
If Asistencia.Observaciones IsNot Nothing Then
|
|
Observaciones = Asistencia.Observaciones.Replace("""", "'")
|
|
End If
|
|
Json += """Observaciones"":""" + Observaciones + """,""idAsistencia"":""" + Asistencia.idAsistencia.ToString + """,""linkDesglose"":""" + urlDesg + """,""tipo"":""" + Asistencia.Tipo + """}"
|
|
Next
|
|
Json += "]}"
|
|
Else
|
|
Json += "{}]}"
|
|
End If
|
|
Next
|
|
Json += "]"
|
|
Return Json
|
|
End If
|
|
|
|
|
|
Catch ex As Exception
|
|
Debug.Print(ex.StackTrace)
|
|
End Try
|
|
End Function
|
|
|
|
|
|
End Class |