From 087e439b54fd35c14418ccb2b990cdce486317f8 Mon Sep 17 00:00:00 2001 From: Alejandro Date: Thu, 9 Jul 2026 11:39:26 +0200 Subject: [PATCH] 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 ?? ""; } }