diff --git a/Antifraude.Net/GestionPersonalWeb/Components/Pages/InfoPers.razor b/Antifraude.Net/GestionPersonalWeb/Components/Pages/InfoPers.razor index 8d02b4c..8093388 100644 --- a/Antifraude.Net/GestionPersonalWeb/Components/Pages/InfoPers.razor +++ b/Antifraude.Net/GestionPersonalWeb/Components/Pages/InfoPers.razor @@ -332,7 +332,7 @@ - + diff --git a/Antifraude.Net/GestionPersonalWeb/Components/Pages/InfoPersComponents/DiferenciaGrid.razor b/Antifraude.Net/GestionPersonalWeb/Components/Pages/InfoPersComponents/DiferenciaGrid.razor index bcfc10a..8c97095 100644 --- a/Antifraude.Net/GestionPersonalWeb/Components/Pages/InfoPersComponents/DiferenciaGrid.razor +++ b/Antifraude.Net/GestionPersonalWeb/Components/Pages/InfoPersComponents/DiferenciaGrid.razor @@ -15,6 +15,7 @@ @inject UserState UserState
+ @* *@
+ +@* + +
+ +
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + + + + + + + +
+
+
+ + + @if (ItemEnEdicion.IDMATERNIDADES != 0) + { + + } + else + { + + } + +
+ *@ + + + + @code { [Parameter] public PERSONAS Persona { get; set; } = new PERSONAS(); @@ -57,8 +108,17 @@ public EventCallback OnPersonaActualizada { get; set; } // private List meses = new List(); private List itmList = new List(); + + protected override async Task OnInitializedAsync() { + cliente = Utilidades.ObtenerCliente(UserState.Token, HttpClientFactory); + await CargarListas(); + } + private async Task CargarListas() + { + + itmList.Clear(); try { var listnom = Persona.DIFERENCIAPAGODELEGADO; @@ -69,4 +129,5 @@ Console.WriteLine($"Error al obtener los datos: {e.Message}"); } } + } diff --git a/Antifraude.Net/GestionPersonalWeb/Components/Pages/InfoPersComponents/MaternidadesGrid.razor b/Antifraude.Net/GestionPersonalWeb/Components/Pages/InfoPersComponents/MaternidadesGrid.razor index e15adff..1a49a65 100644 --- a/Antifraude.Net/GestionPersonalWeb/Components/Pages/InfoPersComponents/MaternidadesGrid.razor +++ b/Antifraude.Net/GestionPersonalWeb/Components/Pages/InfoPersComponents/MaternidadesGrid.razor @@ -39,7 +39,7 @@ @context.FECHAINICIO?.ToString("dd/MM/yyyy") - @context.FECHAINICIO?.ToString("dd/MM/yyyy") + @context.FECHAFIN?.ToString("dd/MM/yyyy") @context.BASECOTIZACIONSEGURIDADSOCIAL @@ -130,23 +130,16 @@ private List itmList = new List(); protected override async Task OnInitializedAsync() { - try - { - var listnom = Persona.MATERNIDADES; - foreach (MATERNIDADES i in listnom){itmList.Add(i);} - } - catch (Exception e) - { - Console.WriteLine($"Error al obtener los datos: {e.Message}"); - } + cliente = Utilidades.ObtenerCliente(UserState.Token, HttpClientFactory); + await CargarListas(); } private async Task CargarListas() { + itmList.Clear(); try { foreach (MATERNIDADES enf in Persona.MATERNIDADES) - { itmList.Add(enf); } diff --git a/Antifraude.Net/RegistroPersonalAN/Components/Pages/InfoVidaAdministrativa.razor b/Antifraude.Net/RegistroPersonalAN/Components/Pages/InfoVidaAdministrativa.razor index faafc85..6b3567f 100644 --- a/Antifraude.Net/RegistroPersonalAN/Components/Pages/InfoVidaAdministrativa.razor +++ b/Antifraude.Net/RegistroPersonalAN/Components/Pages/InfoVidaAdministrativa.razor @@ -49,6 +49,18 @@
} +@if (mostrarMensajeEliminarLinea == true) +{ +
+
+

¿Esta seguro de eliminar esta linea de vida administrativa?

+
+ + +
+
+
+} @if (mostrarAnadirLineaVida == true) {
@@ -385,9 +397,9 @@ - @* + - *@ + @@ -408,6 +420,7 @@ private bool nueva = false; private bool mostrarMensajeCuerpo = false; private bool mostrarMensajeEliminar = false; + private bool mostrarMensajeEliminarLinea = false; private bool mostrarAnadirLineaVida = false; private bool mostrarEditarLineaVida = false; private string usuarioVida { get; set; } = ""; @@ -862,9 +875,11 @@ protected void OcultarMenCuer() { mostrarMensajeCuerpo = false; } protected void OcultarMenElim() { mostrarMensajeEliminar = false; } protected void mostrarAvisoEliminar() { mostrarMensajeEliminar = true; } + protected void mostrarAvisoEliminarLinea(LINEASVIDAADMINISTRATIVA linea){lineaEditada = linea;mostrarMensajeEliminarLinea = true; } protected void abrirAnadirLineaVida() { mostrarAnadirLineaVida = true; } protected void abrirEditarLineaVida(LINEASVIDAADMINISTRATIVA linea) { mostrarEditarLineaVida = true; lineaEditada = linea; DESCRIPCIONLINEAVIDAED = linea.DESCRIPCION; IDTIPODOCUED = linea.IDTIPO; } protected void cerrarAnadirLineaVida() { mostrarAnadirLineaVida = false; } + protected void cerrarEliminarLineaVida() { lineaEditada = null; mostrarAnadirLineaVida = false; } protected void cerrarEditarLineaVida() { mostrarEditarLineaVida = false; } protected void volver() { Navigation.NavigateTo(LINKPERSONA, forceLoad: true); } protected string urlFich(int id) @@ -1346,6 +1361,28 @@ if (dot.IsSuccessStatusCode) { Navigation.NavigateTo(LINKPERSONA, forceLoad: true); } } + protected async void BorrarLineaVida() + { + var idlinea = lineaEditada.IDLINEAVIDAADMIN; + var dot = await client.DeleteAsync("/api/LINEASVIDAADMINISTRATIVA/" + idlinea); + var dotContent = await dot.Content.ReadAsStringAsync(); + if (dot.IsSuccessStatusCode) + { + + var fichTrans = new AlmacenaFicheroAtransmitir(); + fichTrans.IdRegistro = idlinea; + fichTrans.Tabla = "LINEAVIDAADMINISTRATIVA"; + var jsonConsulta = JsonConvert.SerializeObject(fichTrans); + var content = new StringContent(jsonConsulta, Encoding.UTF8, "application/json"); + var ficherotrans = await client.PostAsync("/api/Almacenamiento/eliminar-fichero", content); + var fichContent = await ficherotrans.Content.ReadAsStringAsync(); + + } + cargarGridLineas(); + cerrarEliminarLineaVida(); + mostrar = false; + StateHasChanged(); + } private void abrirPopupGestionLinea(LINEASVIDAADMINISTRATIVA objeto) { DESCRIPCIONLINEAVIDAED = objeto.DESCRIPCION!; diff --git a/Antifraude.Net/SwaggerAntifraude/Controllers/AlmacenamientoController.cs b/Antifraude.Net/SwaggerAntifraude/Controllers/AlmacenamientoController.cs index c2e3b64..5044aac 100644 --- a/Antifraude.Net/SwaggerAntifraude/Controllers/AlmacenamientoController.cs +++ b/Antifraude.Net/SwaggerAntifraude/Controllers/AlmacenamientoController.cs @@ -46,6 +46,23 @@ namespace SwaggerAntifraude.Controllers return Ok(resultado); } + return StatusCode(500, resultado); + } + [Authorize(Policy = "SupervisorPolicy")] + [HttpPost("eliminar-fichero")] + public IActionResult EliminarFichero(PeticionFichero solicitud) + { + if (string.IsNullOrEmpty(solicitud.Tabla) || solicitud.IdRegistro <= 0) + return BadRequest("Solicitud inválida. Asegúrese de enviar los parámetros requeridos."); + + var resultado = _servicio.EliminarFicheroAtransmitir(solicitud.IdRegistro, solicitud.Tabla, solicitud.Nif); + + if (resultado.Resultado == 0) + { + // Devolver el archivo como un PDF descargable + return Ok(resultado); + } + return StatusCode(500, resultado); } } diff --git a/Antifraude.Net/SwaggerAntifraude/Controllers/MATERNIDADESController.cs b/Antifraude.Net/SwaggerAntifraude/Controllers/MATERNIDADESController.cs new file mode 100644 index 0000000..90a1cc4 --- /dev/null +++ b/Antifraude.Net/SwaggerAntifraude/Controllers/MATERNIDADESController.cs @@ -0,0 +1,23 @@ +using bdAntifraude.db; +using bdAntifraude.dbcontext; +using Microsoft.AspNetCore.Mvc; +using System.Diagnostics; +using Microsoft.AspNetCore.Authorization; +using Serialize.Linq.Serializers; +using System.Linq.Expressions; +using Microsoft.EntityFrameworkCore; + +namespace SwaggerAntifraude.Controllers +{ + [ApiController] + [Route("api/[controller]")] + public class MATERNIDADESController : GenericoController + { + public MATERNIDADESController() + : base() + { + Debug.WriteLine("aqui"); + } + + } +} diff --git a/Antifraude.Net/SwaggerAntifraude/Servicios/ServicioAlmacenamiento.cs b/Antifraude.Net/SwaggerAntifraude/Servicios/ServicioAlmacenamiento.cs index 857df11..fb73471 100644 --- a/Antifraude.Net/SwaggerAntifraude/Servicios/ServicioAlmacenamiento.cs +++ b/Antifraude.Net/SwaggerAntifraude/Servicios/ServicioAlmacenamiento.cs @@ -91,9 +91,6 @@ namespace SwaggerAntifraude.Servicios return resultado; } - - - public ResultadoObtenFicheroAtransmitir DevolverObtenFicheroAtransmitir(int idRegistro, string tabla, string nif) { var resultado = new ResultadoObtenFicheroAtransmitir(); @@ -181,11 +178,99 @@ namespace SwaggerAntifraude.Servicios resultado.Mensaje += $" {ex.InnerException.Message}"; } } + + return resultado; + } + public ResultadoObtenFicheroAtransmitir EliminarFicheroAtransmitir(int idRegistro, string tabla, string nif) + { + var resultado = new ResultadoObtenFicheroAtransmitir(); + + try + { + // Obtener el nombre de la base de datos utilizando el contexto + string baseDeDatos; + using (var context = tsGestionAntifraude.NuevoContexto(SoloLectura: true)) + { + baseDeDatos = context.Database.GetDbConnection().Database; + } + + Conf = new ConfigurationBuilder() + .AddJsonFile("appsettings.json") + .Build(); + baseDeDatos = Conf.GetSection("BaseDatos").Value; ; + + //if (string.IsNullOrEmpty(baseDeDatos)) + //{ + // baseDeDatos = "preproduccion"; + //} + + // Generar la ruta base + string ruta = $"{baseDeDatos.ToLower()}/registrodepersonal"; + + switch (tabla.ToUpper()) + { + case "LINEAVIDAADMINISTRATIVA": + ruta += "/lineavidaadministrativa/"; + break; + case "FORMACION": + ruta += "/formacion/"; + break; + case "TITULACION": + ruta += "/titulacion/"; + break; + case "DOCENCIA": + ruta += "/docencia/"; + break; + case "INCIDENCIA": + ruta = $"{baseDeDatos.ToLower()}/control_horario/"; + break; + case "CSV": + using (var context = tsGestionAntifraude.NuevoContexto(SoloLectura: true)) + { + //ruta += context.VALIDACIONDOCUMENTOS.First(x => x.CSV == nif).RUTAFICHERO; + } + break; + default: + resultado.Resultado = 1; + resultado.Mensaje = "Tabla no contemplada entre las posibles para tener ficheros"; + return resultado; + } + + if (tabla.ToUpper() != "CSV") + { + ruta += $"{idRegistro}.pdf"; + } + + resultado.Mensaje = $"Ruta: {ruta}"; + + // Descargar el archivo desde el servidor SFTP + using (var context = tsGestionAntifraude.NuevoContexto(SoloLectura: true)) + using (var clienteSftp = ConectarServidorSftp(context)) + { + clienteSftp.Connect(); + + //using var memoryStream = new MemoryStream(); + clienteSftp.DeleteFile(ruta); + clienteSftp.Disconnect(); + + //resultado.Pdf = memoryStream.ToArray(); + } + + resultado.Resultado = 0; + } + catch (Exception ex) + { + resultado.Resultado = 1; + resultado.Mensaje = $"ERROR de generación: {ex.Message}"; + + if (ex.InnerException != null) + { + resultado.Mensaje += $" {ex.InnerException.Message}"; + } + } return resultado; } - - private SftpClient ConectarServidorSftp(tsGestionAntifraude context) { var configuraciones = context.ENUMERACIONES