From 84305493de9245bd8efb019dc82045c246b54571 Mon Sep 17 00:00:00 2001 From: Alejandro Date: Tue, 16 Jun 2026 14:12:59 +0200 Subject: [PATCH 01/10] arreglo y gestionpersonal --- .../InfoPersComponents/EnfermedadesGrid.razor | 141 +++++++++++++++++- .../InfoPersComponents/IncidenciaGrid.razor | 100 ++++++++++--- .../InfoPersComponents/MaternidadesGrid.razor | 120 ++++++++++++++- .../Pages/InfoPuestosDeTrabajo.razor | 1 + .../Controllers/ENFERMEDADESController.cs | 23 +++ 5 files changed, 361 insertions(+), 24 deletions(-) create mode 100644 Antifraude.Net/SwaggerAntifraude/Controllers/ENFERMEDADESController.cs diff --git a/Antifraude.Net/GestionPersonalWeb/Components/Pages/InfoPersComponents/EnfermedadesGrid.razor b/Antifraude.Net/GestionPersonalWeb/Components/Pages/InfoPersComponents/EnfermedadesGrid.razor index d9a9cc1..5e0e3d4 100644 --- a/Antifraude.Net/GestionPersonalWeb/Components/Pages/InfoPersComponents/EnfermedadesGrid.razor +++ b/Antifraude.Net/GestionPersonalWeb/Components/Pages/InfoPersComponents/EnfermedadesGrid.razor @@ -15,7 +15,7 @@ @inject UserState UserState
- +
+ + + @context.FECHAINICIO?.ToString("dd/MM/yyyy") @@ -42,7 +45,7 @@ @context.BASE - @context.IDTIPONavigation.DESCRIPCION + @if(@context.IDTIPONavigation != null){@context.IDTIPONavigation.DESCRIPCION} @if (context.CONTINUIDAD) @@ -66,17 +69,109 @@
+ + + + + +
+ +
+ + +
+
+ + +
+
+ + +
+
+ + + @foreach (ENUMERACIONES con in lTipo) + { + + } + +
+
+ + + + + + + + +
+
+
+ + + @if (ItemEnEdicion.IDENFERMEDADES != 0) + { + + } + else + { + + } + +
+ @code { [Parameter] public PERSONAS Persona { get; set; } = new PERSONAS(); private HttpClient cliente = new HttpClient(); + private Modal popupGestionDatos = default; [Parameter] public EventCallback OnPersonaActualizada { get; set; } + private string itmTipo { get; set; } private List itmList = new List(); + private List lTipo = new List(); + private ENFERMEDADES ItemEnEdicion { get; set; } = new ENFERMEDADES(); + + //TIPENF + // + + private async Task abrirPopupModificacion(ENFERMEDADES objeto, bool esNuevo) + { + ItemEnEdicion = objeto; + if (objeto.IDENFERMEDADES != 0) + { + itmTipo = objeto.IDTIPONavigation.DESCRIPCION; + // itmNomina = objeto.IDNOMINANavigation.DESCRIPCION; + // itmConcepto = objeto.IDCONCEPTONOMINANavigation.DESCRIPCION; + // FECHANOM = DateTime.ParseExact(objeto.AÑONOMINA.ToString() + "-" + objeto.MESNOMINA.ToString() + "-01 00:00:00,000", "yyyy-MM-dd HH:mm:ss,fff", + // System.Globalization.CultureInfo.InvariantCulture); + } + else + { + // itmNomina = ""; + // itmConcepto = ""; + // FECHANOM = DateTime.ParseExact("0001-01-01 00:00:00,000", "yyyy-MM-dd HH:mm:ss,fff", + // System.Globalization.CultureInfo.InvariantCulture); + } + await popupGestionDatos.ShowAsync(); + } + private async Task cerrarPopupModificacion() + { + await popupGestionDatos.HideAsync(); + } protected override async Task OnInitializedAsync() { + cliente = Utilidades.ObtenerCliente(UserState.Token, HttpClientFactory); + await CargarListas(); + } + private async Task CargarListas() + { + itmList.Clear(); + lTipo.Clear(); try { foreach (ENFERMEDADES enf in Persona.ENFERMEDADES) @@ -84,11 +179,51 @@ { itmList.Add(enf); } - + lTipo = await Utilidades.ObtenerObjeto>(cliente, "/api/ENUMERACIONES/EnumeracionesGrupo/TIPENF"); + StateHasChanged(); } catch (Exception e) { Console.WriteLine($"Error al obtener los datos: {e.Message}"); } } + private async Task GestionarDatos(bool tipo) + { + var inci = ItemEnEdicion; + if (tipo == true) + { + inci.IDENFERMEDADES = 0; + } + inci.IDPERSONA = Persona.IDPERSONA; + + string chbCont = "chbCont"; + inci.CONTINUIDAD = await JS.InvokeAsync("obtenerCheck", chbCont); + string chbNominaNormal = "chbNominaNormal"; + inci.NOMINANORMAL = await JS.InvokeAsync("obtenerCheck", chbNominaNormal); + string chbNominaSS = "chbNominaSS"; + inci.NOMINASEGURIDADSOCIAL = await JS.InvokeAsync("obtenerCheck", chbNominaSS); + + + inci.IDTIPO = lTipo.FirstOrDefault(x => x.DESCRIPCION == itmTipo).IDENUMERACION; + if (inci.IDENFERMEDADES != 0) + { + var response = await Utilidades.ActualizarObjeto(cliente, "/api/ENFERMEDADES/" + inci.IDENFERMEDADES, inci); + } + else + { + var response = await Utilidades.NuevoObjeto(cliente, "/api/ENFERMEDADES/", inci); + } + await cerrarPopupModificacion(); + var response1 = await cliente.GetAsync($"/api/PERSONAS/PersonaNominaNif/{Persona.NIF}"); + if (!response1.IsSuccessStatusCode) + { + throw new Exception($"Error al obtener los datos de la persona. Código: {response1.StatusCode}"); + } + + var resultContent = await response1.Content.ReadAsStringAsync(); + Persona = JsonConvert.DeserializeObject(resultContent) ?? throw new Exception("Error al deserializar los datos de la persona."); + await CargarListas(); + + + } } \ No newline at end of file diff --git a/Antifraude.Net/GestionPersonalWeb/Components/Pages/InfoPersComponents/IncidenciaGrid.razor b/Antifraude.Net/GestionPersonalWeb/Components/Pages/InfoPersComponents/IncidenciaGrid.razor index 4695edd..971729d 100644 --- a/Antifraude.Net/GestionPersonalWeb/Components/Pages/InfoPersComponents/IncidenciaGrid.razor +++ b/Antifraude.Net/GestionPersonalWeb/Components/Pages/InfoPersComponents/IncidenciaGrid.razor @@ -15,7 +15,7 @@ @inject UserState UserState
- + @foreach (var año in annos.Take(annos.Count)) { @@ -149,7 +149,30 @@
+
+ + + @foreach(NOMINAS nom in lNom) + { + + } + +
+
+ + + @foreach (CONCEPTOSGENERALES con in lConceptos) + { + + } + +
+
+ + +
+ @@ -192,7 +215,13 @@ - + @if(ItemEnEdicion.IDINCIDENCIA != 0){ + + } + else + { + + } @@ -203,7 +232,10 @@ public PERSONAS Persona { get; set; } = new PERSONAS(); private Modal popupGestionDatos = default; public int? idNom { get; set; } + private DateTime FECHANOM { get; set; } private string titulo { get; set; } + private string itmNomina { get; set; } + private string itmConcepto { get; set; } private HttpClient cliente = new HttpClient(); [Parameter] public EventCallback OnPersonaActualizada { get; set; } @@ -211,14 +243,31 @@ // private List meses = new List(); private List itmList = new List(); private List nombMeses = ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"]; + private List lNom = new List(); + private List lConceptos = new List(); private INCIDENCIAS ItemEnEdicion { get; set; } = new INCIDENCIAS(); protected override async Task OnInitializedAsync() { + cliente = Utilidades.ObtenerCliente(UserState.Token, HttpClientFactory); CargarListas(); } private async Task abrirPopupModificacion(INCIDENCIAS objeto, bool esNuevo) { ItemEnEdicion = objeto; + if(objeto.IDINCIDENCIA != 0) + { + itmNomina = objeto.IDNOMINANavigation.DESCRIPCION; + itmConcepto = objeto.IDCONCEPTONOMINANavigation.DESCRIPCION; + FECHANOM = DateTime.ParseExact( objeto.AÑONOMINA.ToString() + "-" + objeto.MESNOMINA.ToString() + "-01 00:00:00,000", "yyyy-MM-dd HH:mm:ss,fff", + System.Globalization.CultureInfo.InvariantCulture); + } + else + { + itmNomina = ""; + itmConcepto = ""; + FECHANOM = DateTime.ParseExact( "0001-01-01 00:00:00,000", "yyyy-MM-dd HH:mm:ss,fff", + System.Globalization.CultureInfo.InvariantCulture); + } await popupGestionDatos.ShowAsync(); } private async Task cerrarPopupModificacion() @@ -229,14 +278,11 @@ { try { + itmList.Clear(); + annos.Clear(); var listnom = Persona.INCIDENCIAS.Where(x => x.ESDELIQUIDACION == false).ToList(); var nominaIncidenciadelcarajo = listnom.FirstOrDefault(x => x.IDINCIDENCIA == 56543); - foreach (INCIDENCIAS i in listnom) - { - itmList.Add(i); - } - - + foreach (INCIDENCIAS i in listnom){ itmList.Add(i); } for (var i = 0; i < itmList.Count; i++) { int? year = itmList[i].AÑONOMINA; @@ -249,7 +295,10 @@ } } annos = annos.OrderDescending().ToList(); - Task.Delay(1); + var lNomi = await Utilidades.ObtenerObjeto>(cliente, "/api/NOMINAS"); + lNom = lNomi.OrderBy(x => x.FECHAINICIO).ToList(); + lConceptos = await Utilidades.ObtenerObjeto>(cliente, "/api/CONCEPTOSGENERALES/"); + // Task.Delay(1); StateHasChanged(); } @@ -259,10 +308,22 @@ } } // GUARDAR - - private async Task GestionarDatos() + private async Task GestionarDatos(bool tipo) { + var inci = ItemEnEdicion; + if (tipo == true) + { + inci.IDINCIDENCIA = 0; + } + inci.IDPERSONA = Persona.IDPERSONA; + inci.MESNOMINA = FECHANOM.Month; + inci.AÑONOMINA = FECHANOM.Year; + + var nomSelect = lNom.FirstOrDefault(x => x.DESCRIPCION == itmNomina); + var concSelect = lConceptos.FirstOrDefault(x => x.DESCRIPCION == itmConcepto); + inci.IDNOMINA = nomSelect.IDNOMINAS; + inci.IDCONCEPTONOMINA = concSelect.IDCONCEPTOSGENERALES; string chbSusConcepto = "chbSusConcepto"; inci.SUSTITUYECONCEPTO = await JS.InvokeAsync("obtenerCheck", chbSusConcepto); string chbCotizaSS = "chbCotizaSS"; @@ -276,9 +337,13 @@ string chbNominaSS = "chbNominaSS"; inci.NOMINASEGURIDADSOCIAL = await JS.InvokeAsync("obtenerCheck", chbNominaSS); - - var cliente = Utilidades.ObtenerCliente(UserState.Token, HttpClientFactory); - var response = await Utilidades.ActualizarObjeto(cliente, "/api/INCIDENCIAS/" + inci.IDINCIDENCIA, inci); + if(inci.IDINCIDENCIA != 0){ + var response = await Utilidades.ActualizarObjeto(cliente, "/api/INCIDENCIAS/" + inci.IDINCIDENCIA, inci); + } + else + { + var response = await Utilidades.NuevoObjeto(cliente, "/api/INCIDENCIAS/", inci); + } await cerrarPopupModificacion(); var response1 = await cliente.GetAsync($"/api/PERSONAS/PersonaNominaNif/{Persona.NIF}"); if (!response1.IsSuccessStatusCode) @@ -289,11 +354,6 @@ var resultContent = await response1.Content.ReadAsStringAsync(); Persona = JsonConvert.DeserializeObject(resultContent) ?? throw new Exception("Error al deserializar los datos de la persona."); await CargarListas(); - // itmList.First(x => x.IDINCIDENCIA == inci.IDINCIDENCIA).IDNOMINANavigation = inci.IDNOMINANavigation; - // itmList.First(x => x.IDINCIDENCIA == inci.IDINCIDENCIA).IDCONCEPTONOMINANavigation= inci.IDCONCEPTONOMINANavigation; - - - - // await InvokeAsync(StateHasChanged); + } } diff --git a/Antifraude.Net/GestionPersonalWeb/Components/Pages/InfoPersComponents/MaternidadesGrid.razor b/Antifraude.Net/GestionPersonalWeb/Components/Pages/InfoPersComponents/MaternidadesGrid.razor index 441d5bd..e15adff 100644 --- a/Antifraude.Net/GestionPersonalWeb/Components/Pages/InfoPersComponents/MaternidadesGrid.razor +++ b/Antifraude.Net/GestionPersonalWeb/Components/Pages/InfoPersComponents/MaternidadesGrid.razor @@ -15,7 +15,7 @@ @inject UserState UserState
- +
+ + + @context.FECHAINICIO?.ToString("dd/MM/yyyy") @@ -67,12 +70,62 @@
+ + + + +
+ +
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + + + + + + + +
+
+
+ + + @if (ItemEnEdicion.IDMATERNIDADES != 0) + { + + } + else + { + + } + +
+ + @code { [Parameter] public PERSONAS Persona { get; set; } = new PERSONAS(); private HttpClient cliente = new HttpClient(); + private Modal popupGestionDatos = default; [Parameter] public EventCallback OnPersonaActualizada { get; set; } + private MATERNIDADES ItemEnEdicion { get; set; } = new MATERNIDADES(); // private List meses = new List(); private List itmList = new List(); protected override async Task OnInitializedAsync() @@ -87,4 +140,69 @@ Console.WriteLine($"Error al obtener los datos: {e.Message}"); } } + private async Task CargarListas() + { + itmList.Clear(); + try + { + foreach (MATERNIDADES enf in Persona.MATERNIDADES) + + { + itmList.Add(enf); + } + StateHasChanged(); + } + catch (Exception e) + { + Console.WriteLine($"Error al obtener los datos: {e.Message}"); + } + } + private async Task GestionarDatos(bool tipo) + { + var inci = ItemEnEdicion; + if (tipo == true) + { + inci.IDMATERNIDADES = 0; + } + inci.IDPERSONA = Persona.IDPERSONA; + + string chbRiesgoEmbarazo = "chbRiesgoEmbarazo"; + inci.RIESGOEMBARAZO = await JS.InvokeAsync("obtenerCheck", chbRiesgoEmbarazo); + string chbNominaNormal = "chbNominaNormal"; + inci.NOMINANORMAL = await JS.InvokeAsync("obtenerCheck", chbNominaNormal); + string chbNominaSS = "chbNominaSS"; + inci.NOMINASEGURIDADSOCIAL = await JS.InvokeAsync("obtenerCheck", chbNominaSS); + + + + if (inci.IDMATERNIDADES != 0) + { + var response = await Utilidades.ActualizarObjeto(cliente, "/api/MATERNIDADES/" + inci.IDMATERNIDADES, inci); + } + else + { + var response = await Utilidades.NuevoObjeto(cliente, "/api/MATERNIDADES/", inci); + } + await cerrarPopupModificacion(); + var response1 = await cliente.GetAsync($"/api/PERSONAS/PersonaNominaNif/{Persona.NIF}"); + if (!response1.IsSuccessStatusCode) + { + throw new Exception($"Error al obtener los datos de la persona. Código: {response1.StatusCode}"); + } + + var resultContent = await response1.Content.ReadAsStringAsync(); + Persona = JsonConvert.DeserializeObject(resultContent) ?? throw new Exception("Error al deserializar los datos de la persona."); + await CargarListas(); + + + } + private async Task abrirPopupModificacion(MATERNIDADES objeto, bool esNuevo) + { + ItemEnEdicion = objeto; + await popupGestionDatos.ShowAsync(); + } + private async Task cerrarPopupModificacion() + { + await popupGestionDatos.HideAsync(); + } } diff --git a/Antifraude.Net/RegistroPersonalAN/Components/Pages/InfoPuestosDeTrabajo.razor b/Antifraude.Net/RegistroPersonalAN/Components/Pages/InfoPuestosDeTrabajo.razor index 3ca29d1..fee0ab7 100644 --- a/Antifraude.Net/RegistroPersonalAN/Components/Pages/InfoPuestosDeTrabajo.razor +++ b/Antifraude.Net/RegistroPersonalAN/Components/Pages/InfoPuestosDeTrabajo.razor @@ -205,6 +205,7 @@ else
@GetExternalValidationMessage(nameof(Model.DENOMINACION))
diff --git a/Antifraude.Net/SwaggerAntifraude/Controllers/ENFERMEDADESController.cs b/Antifraude.Net/SwaggerAntifraude/Controllers/ENFERMEDADESController.cs new file mode 100644 index 0000000..ffc5009 --- /dev/null +++ b/Antifraude.Net/SwaggerAntifraude/Controllers/ENFERMEDADESController.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 ENFERMEDADESController : GenericoController + { + public ENFERMEDADESController() + : base() + { + Debug.WriteLine("aqui"); + } + + } +} From 9db3d3fa6125f5e2cdc1f236b142661592627261 Mon Sep 17 00:00:00 2001 From: Alejandro Date: Tue, 16 Jun 2026 14:29:46 +0200 Subject: [PATCH 02/10] . --- .../Components/Pages/InfoPuestosDeTrabajo.razor | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Antifraude.Net/RegistroPersonalAN/Components/Pages/InfoPuestosDeTrabajo.razor b/Antifraude.Net/RegistroPersonalAN/Components/Pages/InfoPuestosDeTrabajo.razor index fee0ab7..6a7fb19 100644 --- a/Antifraude.Net/RegistroPersonalAN/Components/Pages/InfoPuestosDeTrabajo.razor +++ b/Antifraude.Net/RegistroPersonalAN/Components/Pages/InfoPuestosDeTrabajo.razor @@ -205,7 +205,7 @@ else
@GetExternalValidationMessage(nameof(Model.DENOMINACION))
From 86362836952752540a404eb47f776546c7e4c571 Mon Sep 17 00:00:00 2001 From: Alejandro Date: Wed, 17 Jun 2026 08:02:46 +0200 Subject: [PATCH 03/10] . --- .../Components/Pages/InfoPuestosDeTrabajo.razor | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Antifraude.Net/RegistroPersonalAN/Components/Pages/InfoPuestosDeTrabajo.razor b/Antifraude.Net/RegistroPersonalAN/Components/Pages/InfoPuestosDeTrabajo.razor index 6a7fb19..f2a0676 100644 --- a/Antifraude.Net/RegistroPersonalAN/Components/Pages/InfoPuestosDeTrabajo.razor +++ b/Antifraude.Net/RegistroPersonalAN/Components/Pages/InfoPuestosDeTrabajo.razor @@ -205,7 +205,7 @@ else
@GetExternalValidationMessage(nameof(Model.DENOMINACION))
From 6d22d5d97a8ea0d659c435add467d1bb32ad2536 Mon Sep 17 00:00:00 2001 From: Alejandro Date: Wed, 17 Jun 2026 08:09:39 +0200 Subject: [PATCH 04/10] . --- .../Components/Pages/InfoPuestosDeTrabajo.razor | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Antifraude.Net/RegistroPersonalAN/Components/Pages/InfoPuestosDeTrabajo.razor b/Antifraude.Net/RegistroPersonalAN/Components/Pages/InfoPuestosDeTrabajo.razor index f2a0676..b7c70d7 100644 --- a/Antifraude.Net/RegistroPersonalAN/Components/Pages/InfoPuestosDeTrabajo.razor +++ b/Antifraude.Net/RegistroPersonalAN/Components/Pages/InfoPuestosDeTrabajo.razor @@ -205,7 +205,7 @@ else
@GetExternalValidationMessage(nameof(Model.DENOMINACION))
From 27705440cd9c88b179108b9491f02ce4c9e56bd1 Mon Sep 17 00:00:00 2001 From: Alejandro Date: Thu, 18 Jun 2026 10:48:56 +0200 Subject: [PATCH 05/10] 1 --- .../Components/Pages/InfoPers.razor | 2 +- .../InfoPersComponents/DiferenciaGrid.razor | 61 ++++++++++++ .../InfoPersComponents/MaternidadesGrid.razor | 15 +-- .../Pages/InfoVidaAdministrativa.razor | 41 +++++++- .../Controllers/AlmacenamientoController.cs | 17 ++++ .../Controllers/MATERNIDADESController.cs | 23 +++++ .../Servicios/ServicioAlmacenamiento.cs | 95 ++++++++++++++++++- 7 files changed, 235 insertions(+), 19 deletions(-) create mode 100644 Antifraude.Net/SwaggerAntifraude/Controllers/MATERNIDADESController.cs 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 From 7949123f2a6b001bed5811cd683f00a1e873c830 Mon Sep 17 00:00:00 2001 From: Alejandro Date: Mon, 22 Jun 2026 08:29:24 +0200 Subject: [PATCH 06/10] . --- .../Components/Pages/InfoVidaAdministrativa.razor | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Antifraude.Net/RegistroPersonalAN/Components/Pages/InfoVidaAdministrativa.razor b/Antifraude.Net/RegistroPersonalAN/Components/Pages/InfoVidaAdministrativa.razor index 6b3567f..2adf8f8 100644 --- a/Antifraude.Net/RegistroPersonalAN/Components/Pages/InfoVidaAdministrativa.razor +++ b/Antifraude.Net/RegistroPersonalAN/Components/Pages/InfoVidaAdministrativa.razor @@ -879,7 +879,7 @@ 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 cerrarEliminarLineaVida() { mostrarMensajeEliminarLinea = false; } protected void cerrarEditarLineaVida() { mostrarEditarLineaVida = false; } protected void volver() { Navigation.NavigateTo(LINKPERSONA, forceLoad: true); } protected string urlFich(int id) From ab3111e50562b23ed96ca0d23b144fbb3e1b2b9e Mon Sep 17 00:00:00 2001 From: agugra Date: Tue, 16 Jun 2026 17:15:49 +0200 Subject: [PATCH 07/10] appson local --- Antifraude.Net/SwaggerAntifraude/appsettings.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Antifraude.Net/SwaggerAntifraude/appsettings.json b/Antifraude.Net/SwaggerAntifraude/appsettings.json index 8de5b19..16a73d3 100644 --- a/Antifraude.Net/SwaggerAntifraude/appsettings.json +++ b/Antifraude.Net/SwaggerAntifraude/appsettings.json @@ -5,15 +5,15 @@ "Audience": "TuDominio.com", "ExpiresInMinutes": 60 }, - "ConnectionStrings": { - "WriteConnection": "DATA SOURCE=192.168.41.203:21521/XE;PASSWORD=antifraude2022;PERSIST SECURITY INFO=True;USER ID=ANTIFRAUDEDESARROLLO", - "ReadOnlyConnection": "DATA SOURCE=192.168.41.203:21521/XE;PASSWORD=antifraude2022;PERSIST SECURITY INFO=True;USER ID=ANTIFRAUDEDESARROLLO" - }, - //PRODUCCION //"ConnectionStrings": { - // "WriteConnection": "DATA SOURCE=192.168.41.203:21521/XE;PASSWORD=antifraude2022;PERSIST SECURITY INFO=True;USER ID=ANTIFRAUDE", - // "ReadOnlyConnection": "DATA SOURCE=192.168.41.203:21521/XE;PASSWORD=antifraude2022;PERSIST SECURITY INFO=True;USER ID=ANTIFRAUDE" + // "WriteConnection": "DATA SOURCE=192.168.41.203:21521/XE;PASSWORD=antifraude2022;PERSIST SECURITY INFO=True;USER ID=ANTIFRAUDEDESARROLLO", + // "ReadOnlyConnection": "DATA SOURCE=192.168.41.203:21521/XE;PASSWORD=antifraude2022;PERSIST SECURITY INFO=True;USER ID=ANTIFRAUDEDESARROLLO" //}, + //PRODUCCION + "ConnectionStrings": { + "WriteConnection": "DATA SOURCE=192.168.41.203:21521/XE;PASSWORD=antifraude2022;PERSIST SECURITY INFO=True;USER ID=ANTIFRAUDE", + "ReadOnlyConnection": "DATA SOURCE=192.168.41.203:21521/XE;PASSWORD=antifraude2022;PERSIST SECURITY INFO=True;USER ID=ANTIFRAUDE" + }, "Logging": { "LogLevel": { "Default": "Information", From cd9519c917a64d52773f53421651d2df7e42d30e Mon Sep 17 00:00:00 2001 From: agugra Date: Wed, 17 Jun 2026 08:24:28 +0200 Subject: [PATCH 08/10] desarrollo --- Antifraude.Net/SwaggerAntifraude/appsettings.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Antifraude.Net/SwaggerAntifraude/appsettings.json b/Antifraude.Net/SwaggerAntifraude/appsettings.json index 16a73d3..8de5b19 100644 --- a/Antifraude.Net/SwaggerAntifraude/appsettings.json +++ b/Antifraude.Net/SwaggerAntifraude/appsettings.json @@ -5,15 +5,15 @@ "Audience": "TuDominio.com", "ExpiresInMinutes": 60 }, - //"ConnectionStrings": { - // "WriteConnection": "DATA SOURCE=192.168.41.203:21521/XE;PASSWORD=antifraude2022;PERSIST SECURITY INFO=True;USER ID=ANTIFRAUDEDESARROLLO", - // "ReadOnlyConnection": "DATA SOURCE=192.168.41.203:21521/XE;PASSWORD=antifraude2022;PERSIST SECURITY INFO=True;USER ID=ANTIFRAUDEDESARROLLO" - //}, - //PRODUCCION "ConnectionStrings": { - "WriteConnection": "DATA SOURCE=192.168.41.203:21521/XE;PASSWORD=antifraude2022;PERSIST SECURITY INFO=True;USER ID=ANTIFRAUDE", - "ReadOnlyConnection": "DATA SOURCE=192.168.41.203:21521/XE;PASSWORD=antifraude2022;PERSIST SECURITY INFO=True;USER ID=ANTIFRAUDE" + "WriteConnection": "DATA SOURCE=192.168.41.203:21521/XE;PASSWORD=antifraude2022;PERSIST SECURITY INFO=True;USER ID=ANTIFRAUDEDESARROLLO", + "ReadOnlyConnection": "DATA SOURCE=192.168.41.203:21521/XE;PASSWORD=antifraude2022;PERSIST SECURITY INFO=True;USER ID=ANTIFRAUDEDESARROLLO" }, + //PRODUCCION + //"ConnectionStrings": { + // "WriteConnection": "DATA SOURCE=192.168.41.203:21521/XE;PASSWORD=antifraude2022;PERSIST SECURITY INFO=True;USER ID=ANTIFRAUDE", + // "ReadOnlyConnection": "DATA SOURCE=192.168.41.203:21521/XE;PASSWORD=antifraude2022;PERSIST SECURITY INFO=True;USER ID=ANTIFRAUDE" + //}, "Logging": { "LogLevel": { "Default": "Information", From 03dac34f5ea16297261be71a2c6e43d46bbf602f Mon Sep 17 00:00:00 2001 From: agugra Date: Wed, 8 Jul 2026 18:42:22 +0200 Subject: [PATCH 09/10] prod --- Antifraude.Net/SwaggerAntifraude/appsettings.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Antifraude.Net/SwaggerAntifraude/appsettings.json b/Antifraude.Net/SwaggerAntifraude/appsettings.json index 8de5b19..16a73d3 100644 --- a/Antifraude.Net/SwaggerAntifraude/appsettings.json +++ b/Antifraude.Net/SwaggerAntifraude/appsettings.json @@ -5,15 +5,15 @@ "Audience": "TuDominio.com", "ExpiresInMinutes": 60 }, - "ConnectionStrings": { - "WriteConnection": "DATA SOURCE=192.168.41.203:21521/XE;PASSWORD=antifraude2022;PERSIST SECURITY INFO=True;USER ID=ANTIFRAUDEDESARROLLO", - "ReadOnlyConnection": "DATA SOURCE=192.168.41.203:21521/XE;PASSWORD=antifraude2022;PERSIST SECURITY INFO=True;USER ID=ANTIFRAUDEDESARROLLO" - }, - //PRODUCCION //"ConnectionStrings": { - // "WriteConnection": "DATA SOURCE=192.168.41.203:21521/XE;PASSWORD=antifraude2022;PERSIST SECURITY INFO=True;USER ID=ANTIFRAUDE", - // "ReadOnlyConnection": "DATA SOURCE=192.168.41.203:21521/XE;PASSWORD=antifraude2022;PERSIST SECURITY INFO=True;USER ID=ANTIFRAUDE" + // "WriteConnection": "DATA SOURCE=192.168.41.203:21521/XE;PASSWORD=antifraude2022;PERSIST SECURITY INFO=True;USER ID=ANTIFRAUDEDESARROLLO", + // "ReadOnlyConnection": "DATA SOURCE=192.168.41.203:21521/XE;PASSWORD=antifraude2022;PERSIST SECURITY INFO=True;USER ID=ANTIFRAUDEDESARROLLO" //}, + //PRODUCCION + "ConnectionStrings": { + "WriteConnection": "DATA SOURCE=192.168.41.203:21521/XE;PASSWORD=antifraude2022;PERSIST SECURITY INFO=True;USER ID=ANTIFRAUDE", + "ReadOnlyConnection": "DATA SOURCE=192.168.41.203:21521/XE;PASSWORD=antifraude2022;PERSIST SECURITY INFO=True;USER ID=ANTIFRAUDE" + }, "Logging": { "LogLevel": { "Default": "Information", From 087e439b54fd35c14418ccb2b990cdce486317f8 Mon Sep 17 00:00:00 2001 From: Alejandro Date: Thu, 9 Jul 2026 11:39:26 +0200 Subject: [PATCH 10/10] Arreglo Departamento datos administrativos --- .../Components/Pages/InfoPers.razor | 2 +- .../InfoPersComponents/DiferenciaGrid.razor | 73 ++++++--- .../InfoPersComponents/HuelgasGrid.razor | 138 ++++++++++++++++- .../PermisosSinRetriGrid.razor | 142 ++++++++++++++++++ .../DatosAdministrativos.razor | 6 +- .../DIFERENCIAPAGODELEGADOController.cs | 15 ++ .../Controllers/HUELGASController.cs | 15 ++ .../PERMISOSSINRETRIBUCIONController.cs | 15 ++ .../Controllers/PERSONASController.cs | 6 + .../bdAntifraude/extensiones/PERSONAS.cs | 4 +- 10 files changed, 389 insertions(+), 27 deletions(-) create mode 100644 Antifraude.Net/SwaggerAntifraude/Controllers/DIFERENCIAPAGODELEGADOController.cs create mode 100644 Antifraude.Net/SwaggerAntifraude/Controllers/HUELGASController.cs create mode 100644 Antifraude.Net/SwaggerAntifraude/Controllers/PERMISOSSINRETRIBUCIONController.cs diff --git a/Antifraude.Net/GestionPersonalWeb/Components/Pages/InfoPers.razor b/Antifraude.Net/GestionPersonalWeb/Components/Pages/InfoPers.razor index 8093388..20044f0 100644 --- a/Antifraude.Net/GestionPersonalWeb/Components/Pages/InfoPers.razor +++ b/Antifraude.Net/GestionPersonalWeb/Components/Pages/InfoPers.razor @@ -308,7 +308,7 @@
-
+
diff --git a/Antifraude.Net/GestionPersonalWeb/Components/Pages/InfoPersComponents/DiferenciaGrid.razor b/Antifraude.Net/GestionPersonalWeb/Components/Pages/InfoPersComponents/DiferenciaGrid.razor index 8c97095..d579b2a 100644 --- a/Antifraude.Net/GestionPersonalWeb/Components/Pages/InfoPersComponents/DiferenciaGrid.razor +++ b/Antifraude.Net/GestionPersonalWeb/Components/Pages/InfoPersComponents/DiferenciaGrid.razor @@ -15,7 +15,7 @@ @inject UserState UserState
- @* *@ +
+ + + @context.FECHAINICIO?.ToString("dd/MM/yyyy") @@ -50,8 +53,7 @@
- -@* +
@@ -64,28 +66,19 @@
- - + +
- - -
-
- - - - - - - - + +
+
- @if (ItemEnEdicion.IDMATERNIDADES != 0) + @if (ItemEnEdicion.IDDIFERENCIAPAGODELEGADO != 0) { } @@ -95,8 +88,6 @@ } - *@ - @@ -104,8 +95,10 @@ [Parameter] public PERSONAS Persona { get; set; } = new PERSONAS(); private HttpClient cliente = new HttpClient(); + private Modal popupGestionDatos = default; [Parameter] public EventCallback OnPersonaActualizada { get; set; } + private DIFERENCIAPAGODELEGADO ItemEnEdicion { get; set; } = new DIFERENCIAPAGODELEGADO(); // private List meses = new List(); private List itmList = new List(); @@ -129,5 +122,45 @@ Console.WriteLine($"Error al obtener los datos: {e.Message}"); } } + private async Task cerrarPopupModificacion() + { + await popupGestionDatos.HideAsync(); + } + private async Task GestionarDatos(bool tipo) + { + var inci = ItemEnEdicion; + if (tipo == true) + { + inci.IDDIFERENCIAPAGODELEGADO = 0; + } + inci.IDPERSONA = Persona.IDPERSONA; + + if (inci.IDDIFERENCIAPAGODELEGADO != 0) + { + var response = await Utilidades.ActualizarObjeto(cliente, "/api/DIFERENCIAPAGODELEGADO/" + inci.IDDIFERENCIAPAGODELEGADO, inci); + } + else + { + var response = await Utilidades.NuevoObjeto(cliente, "/api/DIFERENCIAPAGODELEGADO/", inci); + } + await cerrarPopupModificacion(); + var response1 = await cliente.GetAsync($"/api/PERSONAS/PersonaNominaNif/{Persona.NIF}"); + if (!response1.IsSuccessStatusCode) + { + throw new Exception($"Error al obtener los datos de la persona. Código: {response1.StatusCode}"); + } + + var resultContent = await response1.Content.ReadAsStringAsync(); + Persona = JsonConvert.DeserializeObject(resultContent) ?? throw new Exception("Error al deserializar los datos de la persona."); + await CargarListas(); + + + } + private async Task abrirPopupModificacion(DIFERENCIAPAGODELEGADO objeto, bool esNuevo) + { + ItemEnEdicion = objeto; + await popupGestionDatos.ShowAsync(); + } + } diff --git a/Antifraude.Net/GestionPersonalWeb/Components/Pages/InfoPersComponents/HuelgasGrid.razor b/Antifraude.Net/GestionPersonalWeb/Components/Pages/InfoPersComponents/HuelgasGrid.razor index 781b499..8b0d36f 100644 --- a/Antifraude.Net/GestionPersonalWeb/Components/Pages/InfoPersComponents/HuelgasGrid.razor +++ b/Antifraude.Net/GestionPersonalWeb/Components/Pages/InfoPersComponents/HuelgasGrid.razor @@ -15,6 +15,7 @@ @inject UserState UserState
+
+ + + + +
+ +
+ + +
+
+ + +
+
+ + + + @foreach (NOMINAS con in lNominas) + { + + } + +
+
+ + + + @foreach (NOMINAS con in lNominas) + { + + } + +
+
+ + + +
+
+ + + + + +
+
+
+ + + @if (ItemEnEdicion.IDHUELGA != 0) + { + + } + else + { + + } + +
+ @code { [Parameter] public PERSONAS Persona { get; set; } = new PERSONAS(); + private Modal popupGestionDatos = default; private HttpClient cliente = new HttpClient(); + private string itmNomOD { get; set; } + private string itmNomAp { get; set; } [Parameter] public EventCallback OnPersonaActualizada { get; set; } private List itmList = new List(); - protected override async Task OnInitializedAsync() + private List lNominas = new List(); + private HUELGAS ItemEnEdicion { get; set; } = new HUELGAS(); + protected override async Task OnInitializedAsync() { + cliente = Utilidades.ObtenerCliente(UserState.Token, HttpClientFactory); + await CargarListas(); + } + + private async Task CargarListas() + { + itmList.Clear(); try { var listnom = Persona.HUELGAS; foreach (HUELGAS i in listnom) { itmList.Add(i); } + var lNomi = await Utilidades.ObtenerObjeto>(cliente, "/api/NOMINAS"); + lNominas = lNomi.OrderBy(x => x.FECHAINICIO).ToList(); } catch (Exception e) { Console.WriteLine($"Error al obtener los datos: {e.Message}"); } } + private async Task GestionarDatos(bool tipo) + { + var inci = ItemEnEdicion; + inci.IDNOMINAAPLICACION = lNominas.FirstOrDefault(x => x.DESCRIPCION == itmNomAp).IDNOMINAS; + inci.IDNOMINAORIGENDATOS = lNominas.FirstOrDefault(x => x.DESCRIPCION == itmNomOD).IDNOMINAS; + if (tipo == true) + { + inci.IDHUELGA = 0; + } + inci.IDPERSONA = Persona.IDPERSONA; + + string chbNominaNormal = "chbNominaNormal"; + inci.NOMINANORMAL = await JS.InvokeAsync("obtenerCheck", chbNominaNormal); + string chbNominaSS = "chbNominaSS"; + inci.NOMINASEGURIDADSOCIAL = await JS.InvokeAsync("obtenerCheck", chbNominaSS); + + + + if (inci.IDHUELGA != 0) + { + var response = await Utilidades.ActualizarObjeto(cliente, "/api/HUELGAS/" + inci.IDHUELGA, inci); + } + else + { + var response = await Utilidades.NuevoObjeto(cliente, "/api/HUELGAS/", inci); + } + await cerrarPopupModificacion(); + var response1 = await cliente.GetAsync($"/api/PERSONAS/PersonaNominaNif/{Persona.NIF}"); + if (!response1.IsSuccessStatusCode) + { + throw new Exception($"Error al obtener los datos de la persona. Código: {response1.StatusCode}"); + } + + var resultContent = await response1.Content.ReadAsStringAsync(); + Persona = JsonConvert.DeserializeObject(resultContent) ?? throw new Exception("Error al deserializar los datos de la persona."); + await CargarListas(); + + + } + private async Task abrirPopupModificacion(HUELGAS objeto, bool esNuevo) + { + if (objeto.IDHUELGA != 0) + { + itmNomOD = objeto.IDNOMINAORIGENDATOSNavigation.DESCRIPCION; + itmNomAp = objeto.IDNOMINAAPLICACIONNavigation?.DESCRIPCION; + } + else + { + itmNomAp = ""; + itmNomOD = ""; + } + + ItemEnEdicion = objeto; + await popupGestionDatos.ShowAsync(); + } + private async Task cerrarPopupModificacion() + { + await popupGestionDatos.HideAsync(); + } + } diff --git a/Antifraude.Net/GestionPersonalWeb/Components/Pages/InfoPersComponents/PermisosSinRetriGrid.razor b/Antifraude.Net/GestionPersonalWeb/Components/Pages/InfoPersComponents/PermisosSinRetriGrid.razor index b848751..4b4d24a 100644 --- a/Antifraude.Net/GestionPersonalWeb/Components/Pages/InfoPersComponents/PermisosSinRetriGrid.razor +++ b/Antifraude.Net/GestionPersonalWeb/Components/Pages/InfoPersComponents/PermisosSinRetriGrid.razor @@ -15,6 +15,7 @@ @inject UserState UserState
+
+ + + @context.FECHAINICIO?.ToString("dd/MM/yyyy") @@ -62,24 +66,162 @@
+ + + +
+ +
+ + +
+
+ + +
+
+ + + + @foreach (NOMINAS con in lNominas) + { + + } + +
+
+ + + + @foreach (NOMINAS con in lNominas) + { + + } + +
+
+ + + +
+
+ + + + + +
+
+
+ + + @if (ItemEnEdicion.IDPERMISOSDERETRIBUCION != 0) + { + + } + else + { + + } + +
+ + + @code { [Parameter] public PERSONAS Persona { get; set; } = new PERSONAS(); private HttpClient cliente = new HttpClient(); + private Modal popupGestionDatos = default; + private string itmNomOD { get; set; } + private string itmNomAp { get; set; } [Parameter] public EventCallback OnPersonaActualizada { get; set; } + private PERMISOSSINRETRIBUCION ItemEnEdicion { get; set; } = new PERMISOSSINRETRIBUCION(); private List itmList = new List(); + private List lNominas = 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.PERMISOSSINRETRIBUCION; foreach (PERMISOSSINRETRIBUCION i in listnom) { itmList.Add(i); } + var lNomi = await Utilidades.ObtenerObjeto>(cliente, "/api/NOMINAS"); + lNominas = lNomi.OrderBy(x => x.FECHAINICIO).ToList(); } catch (Exception e) { Console.WriteLine($"Error al obtener los datos: {e.Message}"); } } + + + private async Task GestionarDatos(bool tipo) + { + var inci = ItemEnEdicion; + inci.IDNOMINAAPLICACION = lNominas.FirstOrDefault(x => x.DESCRIPCION == itmNomAp).IDNOMINAS; + inci.IDNOMINAORIGENDEDATOS = lNominas.FirstOrDefault(x => x.DESCRIPCION == itmNomOD).IDNOMINAS; + if (tipo == true) + { + inci.IDPERMISOSDERETRIBUCION = 0; + } + inci.IDPERSONA = Persona.IDPERSONA; + + string chbNominaNormal = "chbNominaNormal"; + inci.NOMINANORMAL = await JS.InvokeAsync("obtenerCheck", chbNominaNormal); + string chbNominaSS = "chbNominaSS"; + inci.NOMINASEGURIDADSOCIAL = await JS.InvokeAsync("obtenerCheck", chbNominaSS); + + + + if (inci.IDPERMISOSDERETRIBUCION != 0) + { + var response = await Utilidades.ActualizarObjeto(cliente, "/api/PERMISOSSINRETRIBUCION/" + inci.IDPERMISOSDERETRIBUCION, inci); + } + else + { + var response = await Utilidades.NuevoObjeto(cliente, "/api/PERMISOSSINRETRIBUCION/", inci); + } + await cerrarPopupModificacion(); + var response1 = await cliente.GetAsync($"/api/PERSONAS/PersonaNominaNif/{Persona.NIF}"); + if (!response1.IsSuccessStatusCode) + { + throw new Exception($"Error al obtener los datos de la persona. Código: {response1.StatusCode}"); + } + + var resultContent = await response1.Content.ReadAsStringAsync(); + Persona = JsonConvert.DeserializeObject(resultContent) ?? throw new Exception("Error al deserializar los datos de la persona."); + await CargarListas(); + + + } + private async Task abrirPopupModificacion(PERMISOSSINRETRIBUCION objeto, bool esNuevo) + { + if(objeto.IDPERMISOSDERETRIBUCION != 0) + { + itmNomOD = objeto.IDNOMINAORIGENDEDATOSNavigation?.DESCRIPCION; + itmNomAp = objeto.IDNOMINAAPLICACIONNavigation?.DESCRIPCION; + } + else + { + itmNomAp = ""; + itmNomOD = ""; + } + + ItemEnEdicion = objeto; + await popupGestionDatos.ShowAsync(); + } + private async Task cerrarPopupModificacion() + { + await popupGestionDatos.HideAsync(); + } + } diff --git a/Antifraude.Net/RegistroPersonalAN/Components/Pages/InfoPersonasComponents/DatosAdministrativos.razor b/Antifraude.Net/RegistroPersonalAN/Components/Pages/InfoPersonasComponents/DatosAdministrativos.razor index f8a0532..13bea41 100644 --- a/Antifraude.Net/RegistroPersonalAN/Components/Pages/InfoPersonasComponents/DatosAdministrativos.razor +++ b/Antifraude.Net/RegistroPersonalAN/Components/Pages/InfoPersonasComponents/DatosAdministrativos.razor @@ -189,7 +189,7 @@
- +
@*
@@ -301,7 +301,7 @@ private List listadoMutua = new List(); private List listadoEscala = new List(); private List listadoEspecialidad = new List(); - + private PUESTOS puestoQueOcupa { get; set; } = new PUESTOS(); private HttpClient cliente = new HttpClient(); private int NumeroTrienios { get; set; } @@ -352,7 +352,7 @@ listadoEspecialidad = await rellenarLitadoEnum("ESPECIALIDADES"); listadoMutua = await rellenarLitadoEnum("MUT"); listadotramos = await rellenarLitadoEnum("TRAMCOMCARR"); - + await CalcularNumeroTrienios(); diff --git a/Antifraude.Net/SwaggerAntifraude/Controllers/DIFERENCIAPAGODELEGADOController.cs b/Antifraude.Net/SwaggerAntifraude/Controllers/DIFERENCIAPAGODELEGADOController.cs new file mode 100644 index 0000000..8a43b46 --- /dev/null +++ b/Antifraude.Net/SwaggerAntifraude/Controllers/DIFERENCIAPAGODELEGADOController.cs @@ -0,0 +1,15 @@ +using bdAntifraude.db; +using Microsoft.AspNetCore.Mvc; + +namespace SwaggerAntifraude.Controllers +{ + [ApiController] + [Route("api/[controller]")] + public class DIFERENCIAPAGODELEGADOController : GenericoController + { + public DIFERENCIAPAGODELEGADOController() + : base() + { + } + } +} diff --git a/Antifraude.Net/SwaggerAntifraude/Controllers/HUELGASController.cs b/Antifraude.Net/SwaggerAntifraude/Controllers/HUELGASController.cs new file mode 100644 index 0000000..387dae2 --- /dev/null +++ b/Antifraude.Net/SwaggerAntifraude/Controllers/HUELGASController.cs @@ -0,0 +1,15 @@ +using bdAntifraude.db; +using Microsoft.AspNetCore.Mvc; + +namespace SwaggerAntifraude.Controllers +{ + [ApiController] + [Route("api/[controller]")] + public class HUELGASController : GenericoController + { + public HUELGASController() + : base() + { + } + } +} diff --git a/Antifraude.Net/SwaggerAntifraude/Controllers/PERMISOSSINRETRIBUCIONController.cs b/Antifraude.Net/SwaggerAntifraude/Controllers/PERMISOSSINRETRIBUCIONController.cs new file mode 100644 index 0000000..d71364f --- /dev/null +++ b/Antifraude.Net/SwaggerAntifraude/Controllers/PERMISOSSINRETRIBUCIONController.cs @@ -0,0 +1,15 @@ +using bdAntifraude.db; +using Microsoft.AspNetCore.Mvc; + +namespace SwaggerAntifraude.Controllers +{ + [ApiController] + [Route("api/[controller]")] + public class PERMISOSSINRETRIBUCIONController : GenericoController + { + public PERMISOSSINRETRIBUCIONController() + : base() + { + } + } +} diff --git a/Antifraude.Net/SwaggerAntifraude/Controllers/PERSONASController.cs b/Antifraude.Net/SwaggerAntifraude/Controllers/PERSONASController.cs index e9f561d..f62a0f6 100644 --- a/Antifraude.Net/SwaggerAntifraude/Controllers/PERSONASController.cs +++ b/Antifraude.Net/SwaggerAntifraude/Controllers/PERSONASController.cs @@ -155,6 +155,9 @@ namespace SwaggerAntifraude.Controllers .Include(pue => pue.PUESTOSIDPERSONALNavigation) .ThenInclude(rpt => rpt.IDRPTDESNavigation) .ThenInclude(rpt => rpt.IDUNIDADADMINISTRATIVANavigation) + .Include(pue => pue.PUESTOSIDPERSONALNavigation) + .ThenInclude(rpt => rpt.IDRPTDESNavigation) + .ThenInclude(x => x.IDDEPARTAMENTONavigation) .Include(pue => pue.PUESTOSIDPERSONALNavigation) .Include(pue => pue.EXCEPCIONESPERMISOSIDPERSONANavigation) .ThenInclude(exc=>exc.IDDEPARTAMENTONavigation) @@ -201,6 +204,9 @@ namespace SwaggerAntifraude.Controllers .Include(cp => cp.IDDEPARTAMENTONavigation) .Include(cp => cp.CODIGOMUNICIPIONavigation) .ThenInclude(cpro => cpro.CODIGOPROVINCIANavigation) + .Include(pue => pue.PUESTOSIDPERSONALNavigation) + .ThenInclude(rpt => rpt.IDRPTDESNavigation) + .ThenInclude(x => x.IDDEPARTAMENTONavigation) .AsNoTracking() .FirstOrDefault(p => p.NIF == nif); if (persona == null) diff --git a/Antifraude.Net/bdAntifraude/extensiones/PERSONAS.cs b/Antifraude.Net/bdAntifraude/extensiones/PERSONAS.cs index 2bcdb57..70e401d 100644 --- a/Antifraude.Net/bdAntifraude/extensiones/PERSONAS.cs +++ b/Antifraude.Net/bdAntifraude/extensiones/PERSONAS.cs @@ -41,8 +41,8 @@ namespace bdAntifraude.db var aa = this; var puesto = PUESTOSIDPERSONALNavigation?.FirstOrDefault(x => x.IDRPTNavigation?.IDSITUACIONNavigation?.DESCRIPCION == "ACTIVA"); - - return puesto?.IDRPTDESNavigation?.DESDEP ?? ""; + + return puesto?.IDRPTDESNavigation?.IDDEPARTAMENTONavigation?.DESCRIPCION ?? ""; } }