Compare commits
5 Commits
d84d41b0e0
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 27705440cd | |||
| 6d22d5d97a | |||
| 8636283695 | |||
| 9db3d3fa61 | |||
| 84305493de |
@@ -332,7 +332,7 @@
|
|||||||
</Tab>
|
</Tab>
|
||||||
<Tab Title="Diferencia Pago Delegado" Name="tabDiferencia">
|
<Tab Title="Diferencia Pago Delegado" Name="tabDiferencia">
|
||||||
<Content>
|
<Content>
|
||||||
<MaternidadesGrid Persona="persona"></MaternidadesGrid>
|
<DiferenciaGrid Persona="persona"></DiferenciaGrid>
|
||||||
</Content>
|
</Content>
|
||||||
</Tab>
|
</Tab>
|
||||||
<Tab Title="Permisos sin Retribución" Name="tabPermSinRet">
|
<Tab Title="Permisos sin Retribución" Name="tabPermSinRet">
|
||||||
|
|||||||
@@ -15,6 +15,7 @@
|
|||||||
@inject UserState UserState
|
@inject UserState UserState
|
||||||
|
|
||||||
<div class="tablaTabLateral">
|
<div class="tablaTabLateral">
|
||||||
|
@* <input type="button" value="Nueva maternidad/riesgo de embarazo" @onclick="@(() => abrirPopupModificacion(new MATERNIDADES(), true))" class="mb-2 btnOAAFBlack" /> *@
|
||||||
|
|
||||||
<div style="overflow-x:auto;" class="tablaDesk">
|
<div style="overflow-x:auto;" class="tablaDesk">
|
||||||
<Grid TItem="DIFERENCIAPAGODELEGADO"
|
<Grid TItem="DIFERENCIAPAGODELEGADO"
|
||||||
@@ -49,6 +50,56 @@
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@* <Modal @ref="popupGestionDatos" IsVerticallyCentered="true" UseStaticBackdrop="true" CloseOnEscape="false">
|
||||||
|
<BodyTemplate>
|
||||||
|
<div class="row">
|
||||||
|
|
||||||
|
<div class="col-md-6 mb-2">
|
||||||
|
<label class="fw-bold">Fecha inicio</label>
|
||||||
|
<input class="form-control" type="date" @bind-value="ItemEnEdicion.FECHAINICIO" />
|
||||||
|
</div>
|
||||||
|
<div class="col-md-6 mb-2">
|
||||||
|
<label class="fw-bold">Fecha fin</label>
|
||||||
|
<input class="form-control" type="date" @bind-value="ItemEnEdicion.FECHAFIN" />
|
||||||
|
</div>
|
||||||
|
<div class="col-md-12 mb-2">
|
||||||
|
<label for="txtEDesc" class="fw-bold">Base cotización seguridad social: </label>
|
||||||
|
<input class="form-control" type="number" @bind-value="@ItemEnEdicion.BASECOTIZACIONSEGURIDADSOCIAL" />
|
||||||
|
</div>
|
||||||
|
<div class="col-md-12 mb-2">
|
||||||
|
<label for="txtEDesc" class="fw-bold">Porcentaje reducción jornada: </label>
|
||||||
|
<input class="form-control" type="number" @bind-value="@ItemEnEdicion.PORCENTAJEREDUCCIONJORNADA" />
|
||||||
|
</div>
|
||||||
|
<div class="col-md-12" style="display:flex; justify-content:space-between">
|
||||||
|
<label for="txtEDesc" class="fw-bold">Riesgo embarazo: </label>
|
||||||
|
<input class="" type="checkbox" id="chbRiesgoEmbarazo" checked="@ItemEnEdicion.RIESGOEMBARAZO" />
|
||||||
|
|
||||||
|
<label for="txtEDesc" class="fw-bold">Nomina normal: </label>
|
||||||
|
<input class="" type="checkbox" id="chbNominaNormal" checked="@ItemEnEdicion.NOMINANORMAL" />
|
||||||
|
|
||||||
|
<label for="txtEDesc" class="fw-bold">Nomina seguridad social: </label>
|
||||||
|
<input class="" type="checkbox" id="chbNominaSS" checked="@ItemEnEdicion.NOMINASEGURIDADSOCIAL" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</BodyTemplate>
|
||||||
|
<FooterTemplate>
|
||||||
|
<Button Color="ButtonColor.Secondary" @onclick="cerrarPopupModificacion">Cerrar</Button>
|
||||||
|
@if (ItemEnEdicion.IDMATERNIDADES != 0)
|
||||||
|
{
|
||||||
|
<Button Type="ButtonType.Submit" Color="ButtonColor.Primary" @onclick="@(() => GestionarDatos(false))">Modificar</Button>
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
<Button Type="ButtonType.Submit" Color="ButtonColor.Primary" @onclick="@(() => GestionarDatos(true))">Crear</Button>
|
||||||
|
}
|
||||||
|
</FooterTemplate>
|
||||||
|
</Modal>
|
||||||
|
*@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@code {
|
@code {
|
||||||
[Parameter]
|
[Parameter]
|
||||||
public PERSONAS Persona { get; set; } = new PERSONAS();
|
public PERSONAS Persona { get; set; } = new PERSONAS();
|
||||||
@@ -57,8 +108,17 @@
|
|||||||
public EventCallback OnPersonaActualizada { get; set; }
|
public EventCallback OnPersonaActualizada { get; set; }
|
||||||
// private List<int?> meses = new List<int?>();
|
// private List<int?> meses = new List<int?>();
|
||||||
private List<DIFERENCIAPAGODELEGADO> itmList = new List<DIFERENCIAPAGODELEGADO>();
|
private List<DIFERENCIAPAGODELEGADO> itmList = new List<DIFERENCIAPAGODELEGADO>();
|
||||||
|
|
||||||
|
|
||||||
protected override async Task OnInitializedAsync()
|
protected override async Task OnInitializedAsync()
|
||||||
{
|
{
|
||||||
|
cliente = Utilidades.ObtenerCliente(UserState.Token, HttpClientFactory);
|
||||||
|
await CargarListas();
|
||||||
|
}
|
||||||
|
private async Task CargarListas()
|
||||||
|
{
|
||||||
|
|
||||||
|
itmList.Clear();
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var listnom = Persona.DIFERENCIAPAGODELEGADO;
|
var listnom = Persona.DIFERENCIAPAGODELEGADO;
|
||||||
@@ -69,4 +129,5 @@
|
|||||||
Console.WriteLine($"Error al obtener los datos: {e.Message}");
|
Console.WriteLine($"Error al obtener los datos: {e.Message}");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,7 +15,7 @@
|
|||||||
@inject UserState UserState
|
@inject UserState UserState
|
||||||
|
|
||||||
<div class="tablaTabLateral">
|
<div class="tablaTabLateral">
|
||||||
|
<input type="button" value="Nueva Enfermedad" @onclick="@(() => abrirPopupModificacion(new ENFERMEDADES(), true))" class="mb-2 btnOAAFBlack" />
|
||||||
<div style="overflow-x:auto;" class="tablaDesk">
|
<div style="overflow-x:auto;" class="tablaDesk">
|
||||||
<Grid TItem="ENFERMEDADES"
|
<Grid TItem="ENFERMEDADES"
|
||||||
Class="table tablaRegPers"
|
Class="table tablaRegPers"
|
||||||
@@ -32,6 +32,9 @@
|
|||||||
PaginationItemsTextFormat="{0} - {1} de {2} elementos">
|
PaginationItemsTextFormat="{0} - {1} de {2} elementos">
|
||||||
|
|
||||||
<GridColumns>
|
<GridColumns>
|
||||||
|
<GridColumn TItem="ENFERMEDADES" HeaderText="">
|
||||||
|
<button @onclick="@(() => abrirPopupModificacion(context, false))" class="btnOAAFAzul">Editar</button>
|
||||||
|
</GridColumn>
|
||||||
<GridColumn TItem="ENFERMEDADES" HeaderText="Fecha Inicio">
|
<GridColumn TItem="ENFERMEDADES" HeaderText="Fecha Inicio">
|
||||||
@context.FECHAINICIO?.ToString("dd/MM/yyyy")
|
@context.FECHAINICIO?.ToString("dd/MM/yyyy")
|
||||||
</GridColumn>
|
</GridColumn>
|
||||||
@@ -42,7 +45,7 @@
|
|||||||
@context.BASE
|
@context.BASE
|
||||||
</GridColumn>
|
</GridColumn>
|
||||||
<GridColumn TItem="ENFERMEDADES" HeaderText="Tipo">
|
<GridColumn TItem="ENFERMEDADES" HeaderText="Tipo">
|
||||||
@context.IDTIPONavigation.DESCRIPCION
|
@if(@context.IDTIPONavigation != null){@context.IDTIPONavigation.DESCRIPCION}
|
||||||
</GridColumn>
|
</GridColumn>
|
||||||
<GridColumn TItem="ENFERMEDADES" HeaderText="Continuidad">
|
<GridColumn TItem="ENFERMEDADES" HeaderText="Continuidad">
|
||||||
@if (context.CONTINUIDAD)
|
@if (context.CONTINUIDAD)
|
||||||
@@ -67,16 +70,108 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<Modal @ref="popupGestionDatos" IsVerticallyCentered="true" UseStaticBackdrop="true" CloseOnEscape="false">
|
||||||
|
<BodyTemplate>
|
||||||
|
<div class="row">
|
||||||
|
|
||||||
|
<div class="col-md-6 mb-2">
|
||||||
|
<label class="fw-bold">Fecha inicio</label>
|
||||||
|
<input class="form-control" type="date" @bind-value="ItemEnEdicion.FECHAINICIO" />
|
||||||
|
</div>
|
||||||
|
<div class="col-md-6 mb-2">
|
||||||
|
<label class="fw-bold">Fecha fin</label>
|
||||||
|
<input class="form-control" type="date" @bind-value="ItemEnEdicion.FECHAFIN" />
|
||||||
|
</div>
|
||||||
|
<div class="col-md-12 mb-2">
|
||||||
|
<label for="txtEDesc" class="fw-bold">Base: </label>
|
||||||
|
<input class="form-control" type="number" @bind-value="@ItemEnEdicion.BASE" />
|
||||||
|
</div>
|
||||||
|
<div class="col-md-12 mb-2">
|
||||||
|
<input list="listTip" id="selTip" @bind-value="@itmTipo" type="text" style="width:100%" class="form-control" placeholder="Tipo" />
|
||||||
|
<datalist id="listTip">
|
||||||
|
@foreach (ENUMERACIONES con in lTipo)
|
||||||
|
{
|
||||||
|
<option data-value="@con.IDENUMERACION">@con.DESCRIPCION</option>
|
||||||
|
}
|
||||||
|
</datalist>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-12" style="display:flex; justify-content:space-between">
|
||||||
|
<label for="txtEDesc" class="fw-bold">Continuidad: </label>
|
||||||
|
<input class="" type="checkbox" id="chbCont" checked="@ItemEnEdicion.CONTINUIDAD" />
|
||||||
|
|
||||||
|
<label for="txtEDesc" class="fw-bold">Nomina normal: </label>
|
||||||
|
<input class="" type="checkbox" id="chbNominaNormal" checked="@ItemEnEdicion.NOMINANORMAL" />
|
||||||
|
|
||||||
|
<label for="txtEDesc" class="fw-bold">Nomina seguridad social: </label>
|
||||||
|
<input class="" type="checkbox" id="chbNominaSS" checked="@ItemEnEdicion.NOMINASEGURIDADSOCIAL" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</BodyTemplate>
|
||||||
|
<FooterTemplate>
|
||||||
|
<Button Color="ButtonColor.Secondary" @onclick="cerrarPopupModificacion">Cerrar</Button>
|
||||||
|
@if (ItemEnEdicion.IDENFERMEDADES != 0)
|
||||||
|
{
|
||||||
|
<Button Type="ButtonType.Submit" Color="ButtonColor.Primary" @onclick="@(() => GestionarDatos(false))">Modificar</Button>
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
<Button Type="ButtonType.Submit" Color="ButtonColor.Primary" @onclick="@(() => GestionarDatos(true))">Crear</Button>
|
||||||
|
}
|
||||||
|
</FooterTemplate>
|
||||||
|
</Modal>
|
||||||
|
|
||||||
|
|
||||||
@code {
|
@code {
|
||||||
[Parameter]
|
[Parameter]
|
||||||
public PERSONAS Persona { get; set; } = new PERSONAS();
|
public PERSONAS Persona { get; set; } = new PERSONAS();
|
||||||
private HttpClient cliente = new HttpClient();
|
private HttpClient cliente = new HttpClient();
|
||||||
|
private Modal popupGestionDatos = default;
|
||||||
[Parameter]
|
[Parameter]
|
||||||
public EventCallback OnPersonaActualizada { get; set; }
|
public EventCallback OnPersonaActualizada { get; set; }
|
||||||
|
private string itmTipo { get; set; }
|
||||||
private List<ENFERMEDADES> itmList = new List<ENFERMEDADES>();
|
private List<ENFERMEDADES> itmList = new List<ENFERMEDADES>();
|
||||||
|
private List<ENUMERACIONES> lTipo = new List<ENUMERACIONES>();
|
||||||
|
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()
|
protected override async Task OnInitializedAsync()
|
||||||
{
|
{
|
||||||
|
cliente = Utilidades.ObtenerCliente(UserState.Token, HttpClientFactory);
|
||||||
|
await CargarListas();
|
||||||
|
}
|
||||||
|
private async Task CargarListas()
|
||||||
|
{
|
||||||
|
itmList.Clear();
|
||||||
|
lTipo.Clear();
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
foreach (ENFERMEDADES enf in Persona.ENFERMEDADES)
|
foreach (ENFERMEDADES enf in Persona.ENFERMEDADES)
|
||||||
@@ -84,11 +179,51 @@
|
|||||||
{
|
{
|
||||||
itmList.Add(enf);
|
itmList.Add(enf);
|
||||||
}
|
}
|
||||||
|
lTipo = await Utilidades.ObtenerObjeto<List<ENUMERACIONES>>(cliente, "/api/ENUMERACIONES/EnumeracionesGrupo/TIPENF");
|
||||||
|
StateHasChanged();
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
Console.WriteLine($"Error al obtener los datos: {e.Message}");
|
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<bool>("obtenerCheck", chbCont);
|
||||||
|
string chbNominaNormal = "chbNominaNormal";
|
||||||
|
inci.NOMINANORMAL = await JS.InvokeAsync<bool>("obtenerCheck", chbNominaNormal);
|
||||||
|
string chbNominaSS = "chbNominaSS";
|
||||||
|
inci.NOMINASEGURIDADSOCIAL = await JS.InvokeAsync<bool>("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<PERSONAS>(resultContent) ?? throw new Exception("Error al deserializar los datos de la persona.");
|
||||||
|
await CargarListas();
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -15,7 +15,7 @@
|
|||||||
@inject UserState UserState
|
@inject UserState UserState
|
||||||
|
|
||||||
<div class="tablaTabLateral">
|
<div class="tablaTabLateral">
|
||||||
|
<input type="button" value="Nueva Incidencia" @onclick="@(() => abrirPopupModificacion(new INCIDENCIAS(), true))" class="mb-2 btnOAAFBlack" />
|
||||||
<Accordion>
|
<Accordion>
|
||||||
@foreach (var año in annos.Take(annos.Count))
|
@foreach (var año in annos.Take(annos.Count))
|
||||||
{
|
{
|
||||||
@@ -149,7 +149,30 @@
|
|||||||
<Modal @ref="popupGestionDatos" IsVerticallyCentered="true" UseStaticBackdrop="true" CloseOnEscape="false">
|
<Modal @ref="popupGestionDatos" IsVerticallyCentered="true" UseStaticBackdrop="true" CloseOnEscape="false">
|
||||||
<BodyTemplate>
|
<BodyTemplate>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
|
<div class="col-md-12 mb-2">
|
||||||
|
<input list="listNom" id="selNomina" @bind-value="@itmNomina" type="text" style="width:100%" class="form-control" placeholder="Nomina" />
|
||||||
|
<datalist id="listNom">
|
||||||
|
@foreach(NOMINAS nom in lNom)
|
||||||
|
{
|
||||||
|
<option data-value="@nom.IDNOMINAS">@nom.DESCRIPCION</option>
|
||||||
|
}
|
||||||
|
</datalist>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-12 mb-2">
|
||||||
|
<input list="listCon" id="selCon" @bind-value="@itmConcepto" type="text" style="width:100%" class="form-control" placeholder="Concepto" />
|
||||||
|
<datalist id="listCon">
|
||||||
|
@foreach (CONCEPTOSGENERALES con in lConceptos)
|
||||||
|
{
|
||||||
|
<option data-value="@con.IDCONCEPTOSGENERALES">@con.DESCRIPCION</option>
|
||||||
|
}
|
||||||
|
</datalist>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-12 mb-2">
|
||||||
|
<label class="fw-bold">Mes y año nomina</label>
|
||||||
|
<input class="form-control" type="month" @bind-value="FECHANOM" />
|
||||||
|
</div>
|
||||||
<div class="col-md-12" style="display:flex; justify-content:space-between">
|
<div class="col-md-12" style="display:flex; justify-content:space-between">
|
||||||
|
|
||||||
<label for="txtEDesc" class="fw-bold">Sustituye concepto: </label>
|
<label for="txtEDesc" class="fw-bold">Sustituye concepto: </label>
|
||||||
<input class="" type="checkbox" id="chbSusConcepto" checked="@ItemEnEdicion.SUSTITUYECONCEPTO" />
|
<input class="" type="checkbox" id="chbSusConcepto" checked="@ItemEnEdicion.SUSTITUYECONCEPTO" />
|
||||||
<label for="txtEDesc" class="fw-bold">Cotiza seguridad social: </label>
|
<label for="txtEDesc" class="fw-bold">Cotiza seguridad social: </label>
|
||||||
@@ -192,7 +215,13 @@
|
|||||||
</BodyTemplate>
|
</BodyTemplate>
|
||||||
<FooterTemplate>
|
<FooterTemplate>
|
||||||
<Button Color="ButtonColor.Secondary" @onclick="cerrarPopupModificacion">Cerrar</Button>
|
<Button Color="ButtonColor.Secondary" @onclick="cerrarPopupModificacion">Cerrar</Button>
|
||||||
<Button Type="ButtonType.Submit" Color="ButtonColor.Primary" @onclick="GestionarDatos">Modificar</Button>
|
@if(ItemEnEdicion.IDINCIDENCIA != 0){
|
||||||
|
<Button Type="ButtonType.Submit" Color="ButtonColor.Primary" @onclick="@(() =>GestionarDatos(false))">Modificar</Button>
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
<Button Type="ButtonType.Submit" Color="ButtonColor.Primary" @onclick="@(() => GestionarDatos(true))">Crear</Button>
|
||||||
|
}
|
||||||
</FooterTemplate>
|
</FooterTemplate>
|
||||||
</Modal>
|
</Modal>
|
||||||
|
|
||||||
@@ -203,7 +232,10 @@
|
|||||||
public PERSONAS Persona { get; set; } = new PERSONAS();
|
public PERSONAS Persona { get; set; } = new PERSONAS();
|
||||||
private Modal popupGestionDatos = default;
|
private Modal popupGestionDatos = default;
|
||||||
public int? idNom { get; set; }
|
public int? idNom { get; set; }
|
||||||
|
private DateTime FECHANOM { get; set; }
|
||||||
private string titulo { get; set; }
|
private string titulo { get; set; }
|
||||||
|
private string itmNomina { get; set; }
|
||||||
|
private string itmConcepto { get; set; }
|
||||||
private HttpClient cliente = new HttpClient();
|
private HttpClient cliente = new HttpClient();
|
||||||
[Parameter]
|
[Parameter]
|
||||||
public EventCallback OnPersonaActualizada { get; set; }
|
public EventCallback OnPersonaActualizada { get; set; }
|
||||||
@@ -211,14 +243,31 @@
|
|||||||
// private List<int?> meses = new List<int?>();
|
// private List<int?> meses = new List<int?>();
|
||||||
private List<INCIDENCIAS> itmList = new List<INCIDENCIAS>();
|
private List<INCIDENCIAS> itmList = new List<INCIDENCIAS>();
|
||||||
private List<String> nombMeses = ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"];
|
private List<String> nombMeses = ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"];
|
||||||
|
private List<NOMINAS> lNom = new List<NOMINAS>();
|
||||||
|
private List<CONCEPTOSGENERALES> lConceptos = new List<CONCEPTOSGENERALES>();
|
||||||
private INCIDENCIAS ItemEnEdicion { get; set; } = new INCIDENCIAS();
|
private INCIDENCIAS ItemEnEdicion { get; set; } = new INCIDENCIAS();
|
||||||
protected override async Task OnInitializedAsync()
|
protected override async Task OnInitializedAsync()
|
||||||
{
|
{
|
||||||
|
cliente = Utilidades.ObtenerCliente(UserState.Token, HttpClientFactory);
|
||||||
CargarListas();
|
CargarListas();
|
||||||
}
|
}
|
||||||
private async Task abrirPopupModificacion(INCIDENCIAS objeto, bool esNuevo)
|
private async Task abrirPopupModificacion(INCIDENCIAS objeto, bool esNuevo)
|
||||||
{
|
{
|
||||||
ItemEnEdicion = objeto;
|
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();
|
await popupGestionDatos.ShowAsync();
|
||||||
}
|
}
|
||||||
private async Task cerrarPopupModificacion()
|
private async Task cerrarPopupModificacion()
|
||||||
@@ -229,14 +278,11 @@
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
itmList.Clear();
|
||||||
|
annos.Clear();
|
||||||
var listnom = Persona.INCIDENCIAS.Where(x => x.ESDELIQUIDACION == false).ToList();
|
var listnom = Persona.INCIDENCIAS.Where(x => x.ESDELIQUIDACION == false).ToList();
|
||||||
var nominaIncidenciadelcarajo = listnom.FirstOrDefault(x => x.IDINCIDENCIA == 56543);
|
var nominaIncidenciadelcarajo = listnom.FirstOrDefault(x => x.IDINCIDENCIA == 56543);
|
||||||
foreach (INCIDENCIAS i in listnom)
|
foreach (INCIDENCIAS i in listnom){ itmList.Add(i); }
|
||||||
{
|
|
||||||
itmList.Add(i);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
for (var i = 0; i < itmList.Count; i++)
|
for (var i = 0; i < itmList.Count; i++)
|
||||||
{
|
{
|
||||||
int? year = itmList[i].AÑONOMINA;
|
int? year = itmList[i].AÑONOMINA;
|
||||||
@@ -249,7 +295,10 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
annos = annos.OrderDescending().ToList();
|
annos = annos.OrderDescending().ToList();
|
||||||
Task.Delay(1);
|
var lNomi = await Utilidades.ObtenerObjeto<List<NOMINAS>>(cliente, "/api/NOMINAS");
|
||||||
|
lNom = lNomi.OrderBy(x => x.FECHAINICIO).ToList();
|
||||||
|
lConceptos = await Utilidades.ObtenerObjeto<List<CONCEPTOSGENERALES>>(cliente, "/api/CONCEPTOSGENERALES/");
|
||||||
|
// Task.Delay(1);
|
||||||
StateHasChanged();
|
StateHasChanged();
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -259,10 +308,22 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// GUARDAR
|
// GUARDAR
|
||||||
|
private async Task GestionarDatos(bool tipo)
|
||||||
private async Task GestionarDatos()
|
|
||||||
{
|
{
|
||||||
|
|
||||||
var inci = ItemEnEdicion;
|
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";
|
string chbSusConcepto = "chbSusConcepto";
|
||||||
inci.SUSTITUYECONCEPTO = await JS.InvokeAsync<bool>("obtenerCheck", chbSusConcepto);
|
inci.SUSTITUYECONCEPTO = await JS.InvokeAsync<bool>("obtenerCheck", chbSusConcepto);
|
||||||
string chbCotizaSS = "chbCotizaSS";
|
string chbCotizaSS = "chbCotizaSS";
|
||||||
@@ -276,9 +337,13 @@
|
|||||||
string chbNominaSS = "chbNominaSS";
|
string chbNominaSS = "chbNominaSS";
|
||||||
inci.NOMINASEGURIDADSOCIAL = await JS.InvokeAsync<bool>("obtenerCheck", chbNominaSS);
|
inci.NOMINASEGURIDADSOCIAL = await JS.InvokeAsync<bool>("obtenerCheck", chbNominaSS);
|
||||||
|
|
||||||
|
if(inci.IDINCIDENCIA != 0){
|
||||||
var cliente = Utilidades.ObtenerCliente(UserState.Token, HttpClientFactory);
|
|
||||||
var response = await Utilidades.ActualizarObjeto(cliente, "/api/INCIDENCIAS/" + inci.IDINCIDENCIA, inci);
|
var response = await Utilidades.ActualizarObjeto(cliente, "/api/INCIDENCIAS/" + inci.IDINCIDENCIA, inci);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
var response = await Utilidades.NuevoObjeto(cliente, "/api/INCIDENCIAS/", inci);
|
||||||
|
}
|
||||||
await cerrarPopupModificacion();
|
await cerrarPopupModificacion();
|
||||||
var response1 = await cliente.GetAsync($"/api/PERSONAS/PersonaNominaNif/{Persona.NIF}");
|
var response1 = await cliente.GetAsync($"/api/PERSONAS/PersonaNominaNif/{Persona.NIF}");
|
||||||
if (!response1.IsSuccessStatusCode)
|
if (!response1.IsSuccessStatusCode)
|
||||||
@@ -289,11 +354,6 @@
|
|||||||
var resultContent = await response1.Content.ReadAsStringAsync();
|
var resultContent = await response1.Content.ReadAsStringAsync();
|
||||||
Persona = JsonConvert.DeserializeObject<PERSONAS>(resultContent) ?? throw new Exception("Error al deserializar los datos de la persona.");
|
Persona = JsonConvert.DeserializeObject<PERSONAS>(resultContent) ?? throw new Exception("Error al deserializar los datos de la persona.");
|
||||||
await CargarListas();
|
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);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,7 +15,7 @@
|
|||||||
@inject UserState UserState
|
@inject UserState UserState
|
||||||
|
|
||||||
<div class="tablaTabLateral">
|
<div class="tablaTabLateral">
|
||||||
|
<input type="button" value="Nueva maternidad/riesgo de embarazo" @onclick="@(() => abrirPopupModificacion(new MATERNIDADES(), true))" class="mb-2 btnOAAFBlack" />
|
||||||
<div style="overflow-x:auto;" class="tablaDesk">
|
<div style="overflow-x:auto;" class="tablaDesk">
|
||||||
<Grid TItem="MATERNIDADES"
|
<Grid TItem="MATERNIDADES"
|
||||||
Class="table tablaRegPers"
|
Class="table tablaRegPers"
|
||||||
@@ -32,11 +32,14 @@
|
|||||||
PaginationItemsTextFormat="{0} - {1} de {2} elementos">
|
PaginationItemsTextFormat="{0} - {1} de {2} elementos">
|
||||||
|
|
||||||
<GridColumns>
|
<GridColumns>
|
||||||
|
<GridColumn TItem="MATERNIDADES" HeaderText="">
|
||||||
|
<button @onclick="@(() => abrirPopupModificacion(context, false))" class="btnOAAFAzul">Editar</button>
|
||||||
|
</GridColumn>
|
||||||
<GridColumn TItem="MATERNIDADES" HeaderText="Fecha Inicio">
|
<GridColumn TItem="MATERNIDADES" HeaderText="Fecha Inicio">
|
||||||
@context.FECHAINICIO?.ToString("dd/MM/yyyy")
|
@context.FECHAINICIO?.ToString("dd/MM/yyyy")
|
||||||
</GridColumn>
|
</GridColumn>
|
||||||
<GridColumn TItem="MATERNIDADES" HeaderText="Fecha Fin">
|
<GridColumn TItem="MATERNIDADES" HeaderText="Fecha Fin">
|
||||||
@context.FECHAINICIO?.ToString("dd/MM/yyyy")
|
@context.FECHAFIN?.ToString("dd/MM/yyyy")
|
||||||
</GridColumn>
|
</GridColumn>
|
||||||
<GridColumn TItem="MATERNIDADES" HeaderText="Base Cotización Seguridad Social">
|
<GridColumn TItem="MATERNIDADES" HeaderText="Base Cotización Seguridad Social">
|
||||||
@context.BASECOTIZACIONSEGURIDADSOCIAL
|
@context.BASECOTIZACIONSEGURIDADSOCIAL
|
||||||
@@ -67,24 +70,132 @@
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<Modal @ref="popupGestionDatos" IsVerticallyCentered="true" UseStaticBackdrop="true" CloseOnEscape="false">
|
||||||
|
<BodyTemplate>
|
||||||
|
<div class="row">
|
||||||
|
|
||||||
|
<div class="col-md-6 mb-2">
|
||||||
|
<label class="fw-bold">Fecha inicio</label>
|
||||||
|
<input class="form-control" type="date" @bind-value="ItemEnEdicion.FECHAINICIO" />
|
||||||
|
</div>
|
||||||
|
<div class="col-md-6 mb-2">
|
||||||
|
<label class="fw-bold">Fecha fin</label>
|
||||||
|
<input class="form-control" type="date" @bind-value="ItemEnEdicion.FECHAFIN" />
|
||||||
|
</div>
|
||||||
|
<div class="col-md-12 mb-2">
|
||||||
|
<label for="txtEDesc" class="fw-bold">Base cotización seguridad social: </label>
|
||||||
|
<input class="form-control" type="number" @bind-value="@ItemEnEdicion.BASECOTIZACIONSEGURIDADSOCIAL" />
|
||||||
|
</div>
|
||||||
|
<div class="col-md-12 mb-2">
|
||||||
|
<label for="txtEDesc" class="fw-bold">Porcentaje reducción jornada: </label>
|
||||||
|
<input class="form-control" type="number" @bind-value="@ItemEnEdicion.PORCENTAJEREDUCCIONJORNADA" />
|
||||||
|
</div>
|
||||||
|
<div class="col-md-12" style="display:flex; justify-content:space-between">
|
||||||
|
<label for="txtEDesc" class="fw-bold">Riesgo embarazo: </label>
|
||||||
|
<input class="" type="checkbox" id="chbRiesgoEmbarazo" checked="@ItemEnEdicion.RIESGOEMBARAZO" />
|
||||||
|
|
||||||
|
<label for="txtEDesc" class="fw-bold">Nomina normal: </label>
|
||||||
|
<input class="" type="checkbox" id="chbNominaNormal" checked="@ItemEnEdicion.NOMINANORMAL" />
|
||||||
|
|
||||||
|
<label for="txtEDesc" class="fw-bold">Nomina seguridad social: </label>
|
||||||
|
<input class="" type="checkbox" id="chbNominaSS" checked="@ItemEnEdicion.NOMINASEGURIDADSOCIAL" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</BodyTemplate>
|
||||||
|
<FooterTemplate>
|
||||||
|
<Button Color="ButtonColor.Secondary" @onclick="cerrarPopupModificacion">Cerrar</Button>
|
||||||
|
@if (ItemEnEdicion.IDMATERNIDADES != 0)
|
||||||
|
{
|
||||||
|
<Button Type="ButtonType.Submit" Color="ButtonColor.Primary" @onclick="@(() => GestionarDatos(false))">Modificar</Button>
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
<Button Type="ButtonType.Submit" Color="ButtonColor.Primary" @onclick="@(() => GestionarDatos(true))">Crear</Button>
|
||||||
|
}
|
||||||
|
</FooterTemplate>
|
||||||
|
</Modal>
|
||||||
|
|
||||||
|
|
||||||
@code {
|
@code {
|
||||||
[Parameter]
|
[Parameter]
|
||||||
public PERSONAS Persona { get; set; } = new PERSONAS();
|
public PERSONAS Persona { get; set; } = new PERSONAS();
|
||||||
private HttpClient cliente = new HttpClient();
|
private HttpClient cliente = new HttpClient();
|
||||||
|
private Modal popupGestionDatos = default;
|
||||||
[Parameter]
|
[Parameter]
|
||||||
public EventCallback OnPersonaActualizada { get; set; }
|
public EventCallback OnPersonaActualizada { get; set; }
|
||||||
|
private MATERNIDADES ItemEnEdicion { get; set; } = new MATERNIDADES();
|
||||||
// private List<int?> meses = new List<int?>();
|
// private List<int?> meses = new List<int?>();
|
||||||
private List<MATERNIDADES> itmList = new List<MATERNIDADES>();
|
private List<MATERNIDADES> itmList = new List<MATERNIDADES>();
|
||||||
protected override async Task OnInitializedAsync()
|
protected override async Task OnInitializedAsync()
|
||||||
{
|
{
|
||||||
|
cliente = Utilidades.ObtenerCliente(UserState.Token, HttpClientFactory);
|
||||||
|
await CargarListas();
|
||||||
|
}
|
||||||
|
private async Task CargarListas()
|
||||||
|
{
|
||||||
|
|
||||||
|
itmList.Clear();
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var listnom = Persona.MATERNIDADES;
|
foreach (MATERNIDADES enf in Persona.MATERNIDADES)
|
||||||
foreach (MATERNIDADES i in listnom){itmList.Add(i);}
|
{
|
||||||
|
itmList.Add(enf);
|
||||||
|
}
|
||||||
|
StateHasChanged();
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
Console.WriteLine($"Error al obtener los datos: {e.Message}");
|
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<bool>("obtenerCheck", chbRiesgoEmbarazo);
|
||||||
|
string chbNominaNormal = "chbNominaNormal";
|
||||||
|
inci.NOMINANORMAL = await JS.InvokeAsync<bool>("obtenerCheck", chbNominaNormal);
|
||||||
|
string chbNominaSS = "chbNominaSS";
|
||||||
|
inci.NOMINASEGURIDADSOCIAL = await JS.InvokeAsync<bool>("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<PERSONAS>(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();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -205,6 +205,7 @@ else
|
|||||||
<input class="form-control @GetCssClass(nameof(Model.DENOMINACION))"
|
<input class="form-control @GetCssClass(nameof(Model.DENOMINACION))"
|
||||||
value="@Model!.DENOMINACION"
|
value="@Model!.DENOMINACION"
|
||||||
placeholder="@GetPlaceholder(nameof(Model.DENOMINACION))"
|
placeholder="@GetPlaceholder(nameof(Model.DENOMINACION))"
|
||||||
|
maxlength="190"
|
||||||
@oninput="e => ValidarYActualizar(e, nameof(Model.DENOMINACION))" />
|
@oninput="e => ValidarYActualizar(e, nameof(Model.DENOMINACION))" />
|
||||||
<div class="validation-message">@GetExternalValidationMessage(nameof(Model.DENOMINACION))</div>
|
<div class="validation-message">@GetExternalValidationMessage(nameof(Model.DENOMINACION))</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -49,6 +49,18 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
}
|
}
|
||||||
|
@if (mostrarMensajeEliminarLinea == true)
|
||||||
|
{
|
||||||
|
<div class="loadingFrameVida">
|
||||||
|
<div class="popupRPCard row">
|
||||||
|
<p>¿Esta seguro de eliminar esta linea de vida administrativa?</p>
|
||||||
|
<div class="col-12 d-flex gap-2 justify-content-end">
|
||||||
|
<input type="button" class="btnGris" value="Continuar" @onclick="BorrarLineaVida" />
|
||||||
|
<input type="button" class="btnOAAFAzul" value="Cancelar" @onclick="cerrarEliminarLineaVida" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
}
|
||||||
@if (mostrarAnadirLineaVida == true)
|
@if (mostrarAnadirLineaVida == true)
|
||||||
{
|
{
|
||||||
<div class="loadingFrameVida">
|
<div class="loadingFrameVida">
|
||||||
@@ -385,9 +397,9 @@
|
|||||||
<span @onclick="@(() => abrirEditarLineaVida(context))" style="cursor: pointer;">
|
<span @onclick="@(() => abrirEditarLineaVida(context))" style="cursor: pointer;">
|
||||||
<Icon CustomIconName="fas fa-edit"></Icon>
|
<Icon CustomIconName="fas fa-edit"></Icon>
|
||||||
</span>
|
</span>
|
||||||
@* <span @onclick="@(() => abrirPopupConfirmarBorrado(@context))" style="cursor: pointer;">
|
<span @onclick="@(() => mostrarAvisoEliminarLinea(context))" style="cursor: pointer;">
|
||||||
<Icon CustomIconName="fas fa-trash"></Icon>
|
<Icon CustomIconName="fas fa-trash"></Icon>
|
||||||
</span> *@
|
</span>
|
||||||
</GridColumn>
|
</GridColumn>
|
||||||
</GridColumns>
|
</GridColumns>
|
||||||
|
|
||||||
@@ -408,6 +420,7 @@
|
|||||||
private bool nueva = false;
|
private bool nueva = false;
|
||||||
private bool mostrarMensajeCuerpo = false;
|
private bool mostrarMensajeCuerpo = false;
|
||||||
private bool mostrarMensajeEliminar = false;
|
private bool mostrarMensajeEliminar = false;
|
||||||
|
private bool mostrarMensajeEliminarLinea = false;
|
||||||
private bool mostrarAnadirLineaVida = false;
|
private bool mostrarAnadirLineaVida = false;
|
||||||
private bool mostrarEditarLineaVida = false;
|
private bool mostrarEditarLineaVida = false;
|
||||||
private string usuarioVida { get; set; } = "";
|
private string usuarioVida { get; set; } = "";
|
||||||
@@ -862,9 +875,11 @@
|
|||||||
protected void OcultarMenCuer() { mostrarMensajeCuerpo = false; }
|
protected void OcultarMenCuer() { mostrarMensajeCuerpo = false; }
|
||||||
protected void OcultarMenElim() { mostrarMensajeEliminar = false; }
|
protected void OcultarMenElim() { mostrarMensajeEliminar = false; }
|
||||||
protected void mostrarAvisoEliminar() { mostrarMensajeEliminar = true; }
|
protected void mostrarAvisoEliminar() { mostrarMensajeEliminar = true; }
|
||||||
|
protected void mostrarAvisoEliminarLinea(LINEASVIDAADMINISTRATIVA linea){lineaEditada = linea;mostrarMensajeEliminarLinea = true; }
|
||||||
protected void abrirAnadirLineaVida() { mostrarAnadirLineaVida = true; }
|
protected void abrirAnadirLineaVida() { mostrarAnadirLineaVida = true; }
|
||||||
protected void abrirEditarLineaVida(LINEASVIDAADMINISTRATIVA linea) { mostrarEditarLineaVida = true; lineaEditada = linea; DESCRIPCIONLINEAVIDAED = linea.DESCRIPCION; IDTIPODOCUED = linea.IDTIPO; }
|
protected void abrirEditarLineaVida(LINEASVIDAADMINISTRATIVA linea) { mostrarEditarLineaVida = true; lineaEditada = linea; DESCRIPCIONLINEAVIDAED = linea.DESCRIPCION; IDTIPODOCUED = linea.IDTIPO; }
|
||||||
protected void cerrarAnadirLineaVida() { mostrarAnadirLineaVida = false; }
|
protected void cerrarAnadirLineaVida() { mostrarAnadirLineaVida = false; }
|
||||||
|
protected void cerrarEliminarLineaVida() { lineaEditada = null; mostrarAnadirLineaVida = false; }
|
||||||
protected void cerrarEditarLineaVida() { mostrarEditarLineaVida = false; }
|
protected void cerrarEditarLineaVida() { mostrarEditarLineaVida = false; }
|
||||||
protected void volver() { Navigation.NavigateTo(LINKPERSONA, forceLoad: true); }
|
protected void volver() { Navigation.NavigateTo(LINKPERSONA, forceLoad: true); }
|
||||||
protected string urlFich(int id)
|
protected string urlFich(int id)
|
||||||
@@ -1346,6 +1361,28 @@
|
|||||||
if (dot.IsSuccessStatusCode) { Navigation.NavigateTo(LINKPERSONA, forceLoad: true); }
|
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)
|
private void abrirPopupGestionLinea(LINEASVIDAADMINISTRATIVA objeto)
|
||||||
{
|
{
|
||||||
DESCRIPCIONLINEAVIDAED = objeto.DESCRIPCION!;
|
DESCRIPCIONLINEAVIDAED = objeto.DESCRIPCION!;
|
||||||
|
|||||||
@@ -46,6 +46,23 @@ namespace SwaggerAntifraude.Controllers
|
|||||||
return Ok(resultado);
|
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);
|
return StatusCode(500, resultado);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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<ENFERMEDADES, int>
|
||||||
|
{
|
||||||
|
public ENFERMEDADESController()
|
||||||
|
: base()
|
||||||
|
{
|
||||||
|
Debug.WriteLine("aqui");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -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<MATERNIDADES, int>
|
||||||
|
{
|
||||||
|
public MATERNIDADESController()
|
||||||
|
: base()
|
||||||
|
{
|
||||||
|
Debug.WriteLine("aqui");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -91,9 +91,6 @@ namespace SwaggerAntifraude.Servicios
|
|||||||
|
|
||||||
return resultado;
|
return resultado;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public ResultadoObtenFicheroAtransmitir DevolverObtenFicheroAtransmitir(int idRegistro, string tabla, string nif)
|
public ResultadoObtenFicheroAtransmitir DevolverObtenFicheroAtransmitir(int idRegistro, string tabla, string nif)
|
||||||
{
|
{
|
||||||
var resultado = new ResultadoObtenFicheroAtransmitir();
|
var resultado = new ResultadoObtenFicheroAtransmitir();
|
||||||
@@ -184,8 +181,96 @@ namespace SwaggerAntifraude.Servicios
|
|||||||
|
|
||||||
return resultado;
|
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)
|
private SftpClient ConectarServidorSftp(tsGestionAntifraude context)
|
||||||
{
|
{
|
||||||
var configuraciones = context.ENUMERACIONES
|
var configuraciones = context.ENUMERACIONES
|
||||||
|
|||||||
Reference in New Issue
Block a user