cambios en apidenuncias
This commit is contained in:
251
.codex-links/WebIntranet/listPicadas.aspx.vb
Normal file
251
.codex-links/WebIntranet/listPicadas.aspx.vb
Normal file
@@ -0,0 +1,251 @@
|
||||
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 listPicadas
|
||||
Inherits System.Web.UI.Page
|
||||
'Shared sessionUsuario As String
|
||||
'Shared usuariosSeleccionados As 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
|
||||
If Not IsPostBack Then
|
||||
inpFechaInicio.Value = DateTime.Now.ToString("yyyy-MM") + "-01"
|
||||
inpFechaFin.Value = DateTime.Now.ToString("yyyy-MM-dd")
|
||||
End If
|
||||
'sessionUsuario = Session("usuario")
|
||||
'usuariosSeleccionados = Session("usuariosSeleccionados")
|
||||
If Session("modo") = "PERSONAL" Then
|
||||
intPicadaBL.Visible = False
|
||||
VAAPBCBL.Visible = False
|
||||
If Session("persona").Personas(0).Dni = "44286377S" Then
|
||||
estIncPicBL.Visible = True
|
||||
End If
|
||||
'bolsaDeHorasBL.Visible = False
|
||||
Else
|
||||
VAAPBCBLpers.Visible = False
|
||||
Li1.Visible = False
|
||||
intPicadaPersBL.Visible = False
|
||||
End If
|
||||
MODO.Value = Session("modo")
|
||||
End Sub
|
||||
|
||||
<System.Web.Services.WebMethod()>
|
||||
Public Shared Async Function CargarListadodePicadasAsync(fechaInit As String, fechaEnd As String) As Task(Of String)
|
||||
|
||||
Try
|
||||
ServicePointManager.ServerCertificateValidationCallback = New RemoteCertificateValidationCallback(Function() True)
|
||||
Dim usuariosSeleccionados As List(Of String) = HttpContext.Current.Session("usuariosSeleccionados")
|
||||
'// Aquí preparamos el objeto para la consulta.
|
||||
Dim objetoConsulta As New Models.Consulta
|
||||
objetoConsulta.fechaInicio = New Date(fechaInit)
|
||||
objetoConsulta.fechaFin = New Date(fechaEnd)
|
||||
'objetoConsulta.listaNif = DNI 'New List(Of String)
|
||||
objetoConsulta.listaNif = usuariosSeleccionados 'New List(Of String)
|
||||
|
||||
'// Aquí convertimos el objeto en una cadena JSON.
|
||||
Dim jsonConsulta As String = JsonConvert.SerializeObject(objetoConsulta)
|
||||
Dim url As String = ConfigurationManager.AppSettings("RutaRes").ToString + "/api/ListPicaEntreFechas"
|
||||
|
||||
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)
|
||||
'// danmun: Aquí SÍ hay que poner `.ConfigureAwait(False)` al final de las llamadas a métodos Async()
|
||||
'// para que el control de ejecución vuelva a este hilo.
|
||||
|
||||
''// Deserializar a una clase.
|
||||
Dim settings As New Newtonsoft.Json.JsonSerializerSettings()
|
||||
settings.CheckAdditionalContent = True
|
||||
Dim objetoDatos As ResultadoListPicaEntreFechas =
|
||||
Newtonsoft.Json.JsonConvert.DeserializeObject(Of ResultadoListPicaEntreFechas)(sRespuesta, settings)
|
||||
|
||||
'Debug.WriteLine("Resultado: " & objetoDatos.resultado)
|
||||
'Debug.WriteLine("Mensaje: " & objetoDatos.Mensaje)
|
||||
'Debug.WriteLine("ListadoEF.FechaInicio: " & objetoDatos.ListadoEF.FechaInicio)
|
||||
|
||||
'Dim htmlImp = ""
|
||||
'Dim html = ""
|
||||
Dim listaDepartamento = objetoDatos.ListadoEF.ListaDepartamento
|
||||
Dim totales As TotalPeriodo =
|
||||
Newtonsoft.Json.JsonConvert.DeserializeObject(Of TotalPeriodo)(sRespuesta, settings)
|
||||
|
||||
|
||||
'-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------'
|
||||
|
||||
Dim json As String = ""
|
||||
Dim contadorDep = 0
|
||||
For Each dep As Departamento In listaDepartamento
|
||||
Dim contador = 0
|
||||
For Each per As PersonaCH In dep.LisPersonas
|
||||
'Dim sesUsu As String = HttpContext.Current.Session("usuario")
|
||||
json += "{""ApellidosNombre"":""" + per.ApellidosNombre + """, ""NombreDepartamento"":""" + dep.NombreDepartamento + """,""turno"": ["
|
||||
Dim x = 0
|
||||
For Each turno As FechaTurno In per.LisFechasTurnos
|
||||
If turno.LisPicadasAsistencias IsNot Nothing Then
|
||||
|
||||
If x > 0 Then
|
||||
json += ","
|
||||
End If
|
||||
|
||||
x += 1
|
||||
json += "{""DesFechaTurno"": """ + turno.DesFechaTurno + """,""Picada"":["
|
||||
Dim i = 0
|
||||
|
||||
For Each picada As PicadaAsistencia In turno.LisPicadasAsistencias
|
||||
If i > 0 Then
|
||||
json += ","
|
||||
End If
|
||||
i += 1
|
||||
json += "{""Hora"":""" + picada.Hora + """, ""horaReal"":""" + picada.HoraReal + """, ""Incidencia"":""" + picada.Incidencia + """,""HorasATrabajar"":""" + picada.HorasATrabajar + """,""HorasTrabajadas"":""" + picada.HorasTrabajadas + """," +
|
||||
"""HorasExtraACompensar"":""" + picada.HorasExtraACompensar + """,""HorasExtraAguardar"":""" + picada.HorasExtraAguardar + """, ""Saldo"":""" + picada.Saldo + """,""HorasRecuperables"":""" + picada.HorasRecuperables + """," +
|
||||
"""HorasIncumplimiento"":""" + picada.HorasIncumplimiento + """,""HorasTrabajadasTarde"":""" + picada.HorasTrabajadasTarde + """}"
|
||||
Next
|
||||
json += "]}"
|
||||
End If
|
||||
Next
|
||||
json += "],""totales"":[{""TotalHorasATrabajar"":""" + per.TotalesPeriodo.TotalHorasATrabajar + """,""TotalHorasTrabajadas"":""" + per.TotalesPeriodo.TotalHorasTrabajadas + """,""TotalHorasExtraACompensar"":""" + per.TotalesPeriodo.TotalHorasExtraACompensar + """," +
|
||||
"""TotalHorasExtraAguardar"":""" + per.TotalesPeriodo.TotalHorasExtraAguardar + """,""TotalSaldo"":""" + per.TotalesPeriodo.TotalSaldo + """,""TotalHorasRecuperables"":""" + per.TotalesPeriodo.TotalHorasRecuperables + """,""TotalHorasIncumplimiento"":""" + per.TotalesPeriodo.TotalHorasIncumplimiento + """," +
|
||||
"""TotalHorasTrabajadasTarde"":""" + per.TotalesPeriodo.TotalHorasTrabajadasTarde + """}]"
|
||||
json += "}"
|
||||
If contador < dep.LisPersonas.Count - 1 Then
|
||||
contador += 1
|
||||
json += ","
|
||||
ElseIf contadorDep < listaDepartamento.Count - 1 Then
|
||||
contadorDep += 1
|
||||
json += ","
|
||||
End If
|
||||
|
||||
Next
|
||||
|
||||
|
||||
Next
|
||||
If Not json = "" Then
|
||||
json = "[" + json + "]"
|
||||
End If
|
||||
Return json
|
||||
Catch ex As Exception
|
||||
Return "error"
|
||||
End Try
|
||||
End Function
|
||||
|
||||
<System.Web.Services.WebMethod()>
|
||||
Public Shared Function CargarListadodePicadas(fechaInit As String, fechaEnd As String) As String
|
||||
'mensaje.InnerHtml = ""
|
||||
Dim usuario As String = "tecnosis"
|
||||
Dim contraseña As String = "patata2022"
|
||||
Dim sessionUsuario As String = HttpContext.Current.Session("usuario")
|
||||
'// A continuación, se realizará una petición al servicio REST
|
||||
'// de la Oficina Antifraude para identificar al usuario "manuel".
|
||||
|
||||
Dim url1 As String = ConfigurationManager.AppSettings("RutaRes").ToString + "/api/ListPicaEntreFechas"
|
||||
Dim clienteHTTP1 As New Net.WebClient()
|
||||
Dim cadenaAutenticación As String =
|
||||
System.Convert.ToBase64String(System.Text.Encoding.GetEncoding("ISO-8859-1").GetBytes(usuario & ":" & contraseña))
|
||||
clienteHTTP1.Headers.Add("Authorization", "Basic " & cadenaAutenticación)
|
||||
clienteHTTP1.Encoding = System.Text.Encoding.UTF8
|
||||
Dim nif = sessionUsuario
|
||||
Dim FechaInicio = fechaInit
|
||||
Dim FechaFin = fechaEnd
|
||||
Dim sRespuesta1 As String = clienteHTTP1.UploadString(url1, nif & "," & FechaInicio & "," & FechaFin)
|
||||
'Me.TextBoxResultados.Text = sRespuesta1
|
||||
|
||||
|
||||
'// Esta es una manera "genérica" de acceder a datos JSON mediante LINQ,
|
||||
'// usando la biblioteca Newtonsoft.Json.
|
||||
Dim datos As Newtonsoft.Json.Linq.JObject =
|
||||
Newtonsoft.Json.JsonConvert.DeserializeObject(Of Newtonsoft.Json.Linq.JObject)(sRespuesta1)
|
||||
Dim sbResultado As New Text.StringBuilder()
|
||||
sbResultado.AppendFormat("Resultado: {0}{1}", datos.Item("Resultado").ToString, vbCrLf)
|
||||
sbResultado.AppendFormat("Mensaje: {0}{1}", datos.Item("Mensaje"), vbCrLf)
|
||||
sbResultado.AppendFormat("ListadoEF: {0}{1}", datos.Item("ListadoEF"), vbCrLf)
|
||||
|
||||
'// Deserializar a una clase.
|
||||
Dim settings As New Newtonsoft.Json.JsonSerializerSettings()
|
||||
settings.CheckAdditionalContent = True
|
||||
Dim objetoDatos As Models.ResultadoListPicaEntreFechas =
|
||||
Newtonsoft.Json.JsonConvert.DeserializeObject(Of Models.ResultadoListPicaEntreFechas)(sRespuesta1, settings)
|
||||
|
||||
Debug.WriteLine("Resultado: " & objetoDatos.resultado)
|
||||
Debug.WriteLine("Mensaje: " & objetoDatos.Mensaje)
|
||||
Debug.WriteLine("ListadoEF.FechaInicio: " & objetoDatos.ListadoEF.FechaInicio)
|
||||
|
||||
Dim htmlImp = ""
|
||||
Dim html = ""
|
||||
Dim listaDepartamento = objetoDatos.ListadoEF.ListaDepartamento
|
||||
Dim totales As Models.TotalPeriodo =
|
||||
Newtonsoft.Json.JsonConvert.DeserializeObject(Of Models.TotalPeriodo)(sRespuesta1, settings)
|
||||
|
||||
|
||||
'-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------'
|
||||
|
||||
Dim json As String = ""
|
||||
|
||||
For Each dep As Models.Departamento In listaDepartamento
|
||||
For Each per As Models.PersonaCH In dep.LisPersonas
|
||||
json += "{""ApellidosNombre"":""" + per.ApellidosNombre + """, ""NombreDepartamento"":""" + dep.NombreDepartamento + """,""turno"": ["
|
||||
Dim x = 0
|
||||
For Each turno As Models.FechaTurno In per.LisFechasTurnos
|
||||
|
||||
If turno.LisPicadasAsistencias IsNot Nothing Then
|
||||
If x > 0 Then
|
||||
json += ","
|
||||
End If
|
||||
x += 1
|
||||
json += "{""DesFechaTurno"": """ + turno.DesFechaTurno + """,""Picada"":["
|
||||
Dim i = 0
|
||||
For Each picada As Models.PicadaAsistencia In turno.LisPicadasAsistencias
|
||||
|
||||
If i > 0 Then
|
||||
json += ","
|
||||
End If
|
||||
|
||||
i += 1
|
||||
|
||||
json += "{""Hora"":""" + picada.Hora + """, ""horaReal"":""" + picada.HoraReal + """, ""Incidencia"":""" + picada.Incidencia + """,""HorasATrabajar"":""" + picada.HorasATrabajar + """,""HorasTrabajadas"":""" + picada.HorasTrabajadas + """," +
|
||||
"""HorasExtraACompensar"":""" + picada.HorasExtraACompensar + """,""HorasExtraAguardar"":""" + picada.HorasExtraAguardar + """, ""Saldo"":""" + picada.Saldo + """,""HorasRecuperables"":""" + picada.HorasRecuperables + """," +
|
||||
"""HorasIncumplimiento"":""" + picada.HorasIncumplimiento + """,""HorasTrabajadasTarde"":""" + picada.HorasTrabajadasTarde + """}"
|
||||
Next
|
||||
json += "]}"
|
||||
End If
|
||||
|
||||
|
||||
Next
|
||||
json += "],""totales"":[{""TotalHorasATrabajar"":""" + per.TotalesPeriodo.TotalHorasATrabajar + """,""TotalHorasTrabajadas"":""" + per.TotalesPeriodo.TotalHorasTrabajadas + """,""TotalHorasExtraACompensar"":""" + per.TotalesPeriodo.TotalHorasExtraACompensar + """," +
|
||||
"""TotalHorasExtraAguardar"":""" + per.TotalesPeriodo.TotalHorasExtraAguardar + """,""TotalSaldo"":""" + per.TotalesPeriodo.TotalSaldo + """,""TotalHorasRecuperables"":""" + per.TotalesPeriodo.TotalHorasRecuperables + """,""TotalHorasIncumplimiento"":""" + per.TotalesPeriodo.TotalHorasIncumplimiento + """," +
|
||||
"""TotalHorasTrabajadasTarde"":""" + per.TotalesPeriodo.TotalHorasTrabajadasTarde + """}]"
|
||||
Next
|
||||
|
||||
json += "}"
|
||||
Next
|
||||
|
||||
If Not json = "" Then
|
||||
json = "[" + json + "]"
|
||||
End If
|
||||
|
||||
Return json
|
||||
|
||||
|
||||
'-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------'
|
||||
|
||||
|
||||
End Function
|
||||
|
||||
Public Function UnAccent(ByVal aString As String) As String
|
||||
Dim toReplace() As Char = "àèìòùÀÈÌÒÙ äëïöüÄËÏÖÜ âêîôûÂÊÎÔÛ áéíóúÁÉÍÓÚðÐýÝ ãñõÃÑÕšŠžŽçÇåÅøØ".ToCharArray
|
||||
Dim replaceChars() As Char = "aeiouAEIOU aeiouAEIOU aeiouAEIOU aeiouAEIOUdDyY anoANOsSzZcCaAoO".ToCharArray
|
||||
For index As Integer = 0 To toReplace.GetUpperBound(0)
|
||||
aString = aString.Replace(toReplace(index), replaceChars(index))
|
||||
Next
|
||||
Return aString
|
||||
End Function
|
||||
End Class
|
||||
Reference in New Issue
Block a user