This commit is contained in:
2026-09-21 12:52:18 +02:00
21 changed files with 216 additions and 57 deletions

View File

@@ -34,10 +34,10 @@
@context.IDPERSONANavigation?.APELLIDOSNOMBRE @context.IDPERSONANavigation?.APELLIDOSNOMBRE
</GridColumn> </GridColumn>
<GridColumn TItem="ENFERMEDADES" HeaderText="Fecha Inicio"> <GridColumn TItem="ENFERMEDADES" HeaderText="Fecha Inicio">
@context.FECHAINICIO @context.FECHAINICIO?.ToString("dd/MM/yyyy")
</GridColumn> </GridColumn>
<GridColumn TItem="ENFERMEDADES" HeaderText="Fecha Fin"> <GridColumn TItem="ENFERMEDADES" HeaderText="Fecha Fin">
@context.FECHAFIN @context.FECHAFIN?.ToString("dd/MM/yyyy")
</GridColumn> </GridColumn>
<GridColumn TItem="ENFERMEDADES" HeaderText="Base"> <GridColumn TItem="ENFERMEDADES" HeaderText="Base">
@context.BASE @context.BASE

View File

@@ -40,10 +40,10 @@
@context.IDPERSONANavigation?.NIF @context.IDPERSONANavigation?.NIF
</GridColumn> </GridColumn>
<GridColumn TItem="INCIDENCIAS" HeaderText="Fecha Baja"> <GridColumn TItem="INCIDENCIAS" HeaderText="Fecha Baja">
@context.IDPERSONANavigation?.FECHABAJA @context.IDPERSONANavigation?.FECHABAJA?.ToString("dd/MM/yyyy")
</GridColumn> </GridColumn>
<GridColumn TItem="INCIDENCIAS" HeaderText="Fecha Baja"> <GridColumn TItem="INCIDENCIAS" HeaderText="Fecha Baja">
@context.IDPERSONANavigation?.FECHABAJA @context.IDPERSONANavigation?.FECHABAJA?.ToString("dd/MM/yyyy")
</GridColumn> </GridColumn>
<GridColumn TItem="INCIDENCIAS" HeaderText="Sustituye Concepto"> <GridColumn TItem="INCIDENCIAS" HeaderText="Sustituye Concepto">
@if (context.SUSTITUYECONCEPTO == true) @if (context.SUSTITUYECONCEPTO == true)

View File

@@ -40,10 +40,10 @@
@context.IDTIPONavigation?.DESCRIPCION @context.IDTIPONavigation?.DESCRIPCION
</GridColumn> </GridColumn>
<GridColumn TItem="PERSONAS" HeaderText="Total Devengado"> <GridColumn TItem="PERSONAS" HeaderText="Total Devengado">
@context.NOMINATRABAJADORCABECERA.FirstOrDefault(x => x.IDNOMINATRABAJADOR == idNom)?.TOTALDEVENGADO @Utilidades.FormatearNumero(context.NOMINATRABAJADORCABECERA.FirstOrDefault(x => x.IDNOMINATRABAJADOR == idNom)?.TOTALDEVENGADO)
</GridColumn> </GridColumn>
<GridColumn TItem="PERSONAS" HeaderText="Total Liquido"> <GridColumn TItem="PERSONAS" HeaderText="Total Liquido">
@context.NOMINATRABAJADORCABECERA.FirstOrDefault(x => x.IDNOMINATRABAJADOR == idNom)?.TOTALLIQUIDO @Utilidades.FormatearNumero(context.NOMINATRABAJADORCABECERA.FirstOrDefault(x => x.IDNOMINATRABAJADOR == idNom)?.TOTALLIQUIDO)
</GridColumn> </GridColumn>
<GridColumn TItem="PERSONAS" HeaderText="Persona"> <GridColumn TItem="PERSONAS" HeaderText="Persona">
@context.IDGRUPOFUNCIONARIONavigation?.DESCRIPCION @context.IDGRUPOFUNCIONARIONavigation?.DESCRIPCION

View File

@@ -78,7 +78,7 @@
<GridColumn TItem="BANCOS" HeaderText="Fecha baja" PropertyName="FECHABAJA" TextNoWrap="true" FilterButtonCSSClass="hidden" SortKeySelector="item => item.FECHABAJA"> <GridColumn TItem="BANCOS" HeaderText="Fecha baja" PropertyName="FECHABAJA" TextNoWrap="true" FilterButtonCSSClass="hidden" SortKeySelector="item => item.FECHABAJA">
@if (context.FECHABAJA != null) @if (context.FECHABAJA != null)
{ {
@context.FECHABAJA @context.FECHABAJA?.ToString("dd/MM/yyyy")
} }
</GridColumn> *@ </GridColumn> *@
@@ -107,7 +107,11 @@
<dd class="col-sm-9">@itm.BIC</dd> <dd class="col-sm-9">@itm.BIC</dd>
<dt class="col-sm-3">Obsoleto</dt> <dt class="col-sm-3">Obsoleto</dt>
<dd class="col-sm-9"> <dd class="col-sm-9">
@itm.OBSOLETO @if (itm.OBSOLETO == true)
{
<i class="fa-regular fa-square-check"></i>
}
else { }
@* @if(itm.OBSOLETO) @* @if(itm.OBSOLETO)
{ {

View File

@@ -63,7 +63,7 @@
<button @onclick="@(() => abrirPopupModificacion(@context, false))" class="btnOAAFAzul">Editar</button> <button @onclick="@(() => abrirPopupModificacion(@context, false))" class="btnOAAFAzul">Editar</button>
</GridColumn> </GridColumn>
<GridColumn TItem="FIESTAS" Style="width:10%" HeaderText="Fecha" PropertyName="FECHA" FilterTextboxWidth="50" FilterButtonCSSClass="hidden" SortKeySelector="item => item.FECHA"> <GridColumn TItem="FIESTAS" Style="width:10%" HeaderText="Fecha" PropertyName="FECHA" FilterTextboxWidth="50" FilterButtonCSSClass="hidden" SortKeySelector="item => item.FECHA">
@context.FECHA.Value.ToString().Substring(0,10) @context.FECHA?.ToString("dd/MM/yyyy")
</GridColumn> </GridColumn>
<GridColumn TItem="FIESTAS" HeaderText="Descripción" PropertyName="DESCRIPCION" FilterButtonCSSClass="hidden" SortKeySelector="item => item.DESCRIPCION"> <GridColumn TItem="FIESTAS" HeaderText="Descripción" PropertyName="DESCRIPCION" FilterButtonCSSClass="hidden" SortKeySelector="item => item.DESCRIPCION">
@context.DESCRIPCION @context.DESCRIPCION

View File

@@ -79,7 +79,7 @@
</GridColumn> </GridColumn>
<GridColumn TItem="TIPOSPUESTOSTRABAJO" HeaderText="Fecha baja" PropertyName="FECHABAJA" TextNoWrap="true" FilterButtonCSSClass="hidden" SortKeySelector="item => item.FECHABAJA"> <GridColumn TItem="TIPOSPUESTOSTRABAJO" HeaderText="Fecha baja" PropertyName="FECHABAJA" TextNoWrap="true" FilterButtonCSSClass="hidden" SortKeySelector="item => item.FECHABAJA">
@if(context.FECHABAJA != null){ @if(context.FECHABAJA != null){
@context.FECHABAJA @context.FECHABAJA?.ToString("dd/MM/yyyy")
} }
</GridColumn> </GridColumn>
@@ -111,7 +111,7 @@
<dt class="col-sm-3">Tipo</dt> <dt class="col-sm-3">Tipo</dt>
<dd class="col-sm-9">@itm.IDTIPOPERSONANavigation.DESCRIPCION</dd> <dd class="col-sm-9">@itm.IDTIPOPERSONANavigation.DESCRIPCION</dd>
<dt class="col-sm-3">Fecha baja</dt> <dt class="col-sm-3">Fecha baja</dt>
<dd class="col-sm-9">@itm.FECHABAJA</dd> <dd class="col-sm-9">@itm.FECHABAJA?.ToString("dd/MM/yyyy")</dd>
</dl> </dl>
</div> </div>
</div> </div>

View File

@@ -134,7 +134,11 @@
</dd> </dd>
<dt class="col-sm-3">Solicitado al usuario</dt> <dt class="col-sm-3">Solicitado al usuario</dt>
<dd class="col-sm-9"> <dd class="col-sm-9">
@itm.SOLICITADOALUSUARIO @if (itm.SOLICITADOALUSUARIO == true)
{
<i class="fa-regular fa-square-check"></i>
}
else { }
@* @if(itm.OBSOLETO) @* @if(itm.OBSOLETO)
{ {
@@ -156,7 +160,11 @@
</dd> </dd>
<dt class="col-sm-3">Se Manda Importe a Empresa</dt> <dt class="col-sm-3">Se Manda Importe a Empresa</dt>
<dd class="col-sm-9"> <dd class="col-sm-9">
@itm.SEMANDAIMPORTEEMPRESA @if (itm.SEMANDAIMPORTEEMPRESA == true)
{
<i class="fa-regular fa-square-check"></i>
}
else { }
@* @if(itm.OBSOLETO) @* @if(itm.OBSOLETO)
{ {
@@ -169,7 +177,11 @@
</dd> </dd>
<dt class="col-sm-3">Modificable</dt> <dt class="col-sm-3">Modificable</dt>
<dd class="col-sm-9"> <dd class="col-sm-9">
@itm.MODIFICABLE @if (itm.MODIFICABLE == true)
{
<i class="fa-regular fa-square-check"></i>
}
else { }
@* @if(itm.OBSOLETO) @* @if(itm.OBSOLETO)
{ {
@@ -182,7 +194,11 @@
</dd> </dd>
<dt class="col-sm-3">Resta en Acumulado</dt> <dt class="col-sm-3">Resta en Acumulado</dt>
<dd class="col-sm-9"> <dd class="col-sm-9">
@itm.RESTAENACUMULADO @if (itm.RESTAENACUMULADO == true)
{
<i class="fa-regular fa-square-check"></i>
}
else { }
@* @if(itm.OBSOLETO) @* @if(itm.OBSOLETO)
{ {

View File

@@ -56,10 +56,10 @@
PaginationItemsTextFormat="{0} - {1} de {2} elementos"> PaginationItemsTextFormat="{0} - {1} de {2} elementos">
<GridColumns> <GridColumns>
<GridColumn TItem="VALORESNOMINA" HeaderText="Fecha Inicio" PropertyName="FECHAINCIO" FilterButtonCSSClass="hidden" SortKeySelector="item => item.FECHAINCIO"> <GridColumn TItem="VALORESNOMINA" HeaderText="Fecha Inicio" PropertyName="FECHAINCIO" FilterButtonCSSClass="hidden" SortKeySelector="item => item.FECHAINCIO">
<NavLink class="btn btn-link" href="@HashRed(context.IDVALNOMINA.ToString())">@context.FECHAINCIO</NavLink> <NavLink class="btn btn-link" href="@HashRed(context.IDVALNOMINA.ToString())">@context.FECHAINCIO?.ToString("dd/MM/yyyy")</NavLink>
</GridColumn> </GridColumn>
<GridColumn TItem="VALORESNOMINA" HeaderText="Fecha Fin" PropertyName="FECHAFIN" FilterButtonCSSClass="hidden" SortKeySelector="item => item.FECHAFIN"> <GridColumn TItem="VALORESNOMINA" HeaderText="Fecha Fin" PropertyName="FECHAFIN" FilterButtonCSSClass="hidden" SortKeySelector="item => item.FECHAFIN">
@context.FECHAFIN @context.FECHAFIN?.ToString("dd/MM/yyyy")
</GridColumn> </GridColumn>
</GridColumns> </GridColumns>
</Grid> </Grid>

View File

@@ -70,10 +70,10 @@
@context.IDCUERPORPTNavigation?.DESCRIPCION @context.IDCUERPORPTNavigation?.DESCRIPCION
</GridColumn> </GridColumn>
<GridColumn TItem="PERSONAS" HeaderText="Fecha Alta" PropertyName="FechaAltaPAR" FilterButtonCSSClass="hidden" SortKeySelector="item => item.FECHAALTAPAR"> <GridColumn TItem="PERSONAS" HeaderText="Fecha Alta" PropertyName="FechaAltaPAR" FilterButtonCSSClass="hidden" SortKeySelector="item => item.FECHAALTAPAR">
@context.FECHAALTAPAR @context.FECHAALTAPAR?.ToString("dd/MM/yyyy")
</GridColumn> </GridColumn>
<GridColumn TItem="PERSONAS" HeaderText="Fecha Baja" PropertyName="FechaBajaPAR" FilterButtonCSSClass="hidden" SortKeySelector="item => item.FECHABAJAPAR"> <GridColumn TItem="PERSONAS" HeaderText="Fecha Baja" PropertyName="FechaBajaPAR" FilterButtonCSSClass="hidden" SortKeySelector="item => item.FECHABAJAPAR">
@context.FECHABAJAPAR @context.FECHABAJAPAR?.ToString("dd/MM/yyyy")
</GridColumn> </GridColumn>
</GridColumns> </GridColumns>
</Grid> </Grid>

View File

@@ -43,10 +43,10 @@
@context.FECHAFIN?.ToString("dd/MM/yyyy") @context.FECHAFIN?.ToString("dd/MM/yyyy")
</GridColumn> </GridColumn>
<GridColumn TItem="DIFERENCIAPAGODELEGADO" HeaderText="Base Diaria Seguridad Social"> <GridColumn TItem="DIFERENCIAPAGODELEGADO" HeaderText="Base Diaria Seguridad Social">
@context.BASEDIARIASEGURIDADSOCIAL @Utilidades.FormatearNumero(context.BASEDIARIASEGURIDADSOCIAL)
</GridColumn> </GridColumn>
<GridColumn TItem="DIFERENCIAPAGODELEGADO" HeaderText="Base Pago Directo"> <GridColumn TItem="DIFERENCIAPAGODELEGADO" HeaderText="Base Pago Directo">
@context.BASEPAGODIRECTO @Utilidades.FormatearNumero(context.BASEPAGODIRECTO)
</GridColumn> </GridColumn>
</GridColumns> </GridColumns>
</Grid> </Grid>

View File

@@ -42,7 +42,7 @@
@context.FECHAFIN?.ToString("dd/MM/yyyy") @context.FECHAFIN?.ToString("dd/MM/yyyy")
</GridColumn> </GridColumn>
<GridColumn TItem="ENFERMEDADES" HeaderText="Base"> <GridColumn TItem="ENFERMEDADES" HeaderText="Base">
@context.BASE @Utilidades.FormatearNumero(context.BASE)
</GridColumn> </GridColumn>
<GridColumn TItem="ENFERMEDADES" HeaderText="Tipo"> <GridColumn TItem="ENFERMEDADES" HeaderText="Tipo">
@if(@context.IDTIPONavigation != null){@context.IDTIPONavigation.DESCRIPCION} @if(@context.IDTIPONavigation != null){@context.IDTIPONavigation.DESCRIPCION}

View File

@@ -42,10 +42,10 @@
@context.FECHAFIN?.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 @Utilidades.FormatearNumero(context.BASECOTIZACIONSEGURIDADSOCIAL)
</GridColumn> </GridColumn>
<GridColumn TItem="MATERNIDADES" HeaderText="Porcentaje Reducción Jornada"> <GridColumn TItem="MATERNIDADES" HeaderText="Porcentaje Reducción Jornada">
@context.PORCENTAJEREDUCCIONJORNADA @Utilidades.FormatearNumero(context.PORCENTAJEREDUCCIONJORNADA)
</GridColumn> </GridColumn>
<GridColumn TItem="MATERNIDADES" HeaderText="Riesgo Embarazo"> <GridColumn TItem="MATERNIDADES" HeaderText="Riesgo Embarazo">
@if (context.RIESGOEMBARAZO) @if (context.RIESGOEMBARAZO)

View File

@@ -1,5 +1,6 @@
@using BlazorBootstrap @using BlazorBootstrap
@using bdAntifraude.db @using bdAntifraude.db
@using GestionPersonalWeb.Models
<div class="table-responsive mb-3"> <div class="table-responsive mb-3">
<table class="table table-sm tablaRegPers nomina-resumen-detalle"> <table class="table table-sm tablaRegPers nomina-resumen-detalle">
@@ -19,19 +20,27 @@
</thead> </thead>
<tbody> <tbody>
<tr> <tr>
<td>@Nomina.IDNOMINANavigation?.DESCRIPCION</td><td>@Nomina.TOTALDEVENGADO</td><td>@Nomina.TOTALLIQUIDO</td> <td>@Nomina.IDNOMINANavigation?.DESCRIPCION</td><td>@Utilidades.FormatearNumero(Nomina.TOTALDEVENGADO)</td><td>@Utilidades.FormatearNumero(Nomina.TOTALLIQUIDO)</td>
<td>@Nomina.IDGRUPOFUNCIONARIONavigation?.DESCRIPCION</td><td>@Nomina.NIVEL</td><td>@Nomina.DIASEFECTIVOS</td> <td>@Nomina.IDGRUPOFUNCIONARIONavigation?.DESCRIPCION</td><td>@Nomina.NIVEL</td><td>@Nomina.DIASEFECTIVOS</td>
<td>@Nomina.DIASENFERMOS</td><td>@Nomina.DIASACCIDENTES</td><td>@Nomina.DIASFALTA</td> <td>@Nomina.DIASENFERMOS</td><td>@Nomina.DIASACCIDENTES</td><td>@Nomina.DIASFALTA</td>
<td>@Nomina.DIASPERMISOSSINRETRIBUIR</td><td>@Nomina.DIASMATERNIDAD</td><td>@(Nomina.ACUMULADA == true ? "Sí" : "No")</td> <td>@Nomina.DIASPERMISOSSINRETRIBUIR</td><td>@Nomina.DIASMATERNIDAD</td><td>
<td>@(Nomina.PROTEGIDA == true ? "Sí" : "No")</td><td>@Nomina.PLURIEMPLEO</td><td>@Nomina.NUMEROPLURIEMPLEO</td> @if (Nomina.ACUMULADA == true) { <i class="fa-regular fa-square-check"></i> }
<td>@Nomina.TOTALSEGURIDADSOCIAL</td><td>@Nomina.PRORRATAPAGAEXTRA</td><td>@Nomina.PRORRATAPRODUCTIVIDAD</td> </td>
<td>@Nomina.TOTALDEDUCCIONES</td><td>@Nomina.TOTALHABERES</td><td>@Nomina.OTRASDEDUCCIONES</td> <td>
<td>@Nomina.TOTALSEGURIDADSOCIALPAGOENESPECIE</td><td>@Nomina.TOTALEPIGRAFE126</td><td>@Nomina.TOTALMATERNIDADPATERNIDAD</td> @if (Nomina.PROTEGIDA == true) { <i class="fa-regular fa-square-check"></i> }
<td>@Nomina.TOTALPERMISOSINRETRIBUIR</td><td>@Nomina.SINDICATO1</td><td>@Nomina.REDUCCIONJORNADA</td> </td><td>@Nomina.PLURIEMPLEO</td><td>@Nomina.NUMEROPLURIEMPLEO</td>
<td>@Utilidades.FormatearNumero(Nomina.TOTALSEGURIDADSOCIAL)</td><td>@Utilidades.FormatearNumero(Nomina.PRORRATAPAGAEXTRA)</td><td>@Utilidades.FormatearNumero(Nomina.PRORRATAPRODUCTIVIDAD)</td>
<td>@Utilidades.FormatearNumero(Nomina.TOTALDEDUCCIONES)</td><td>@Utilidades.FormatearNumero(Nomina.TOTALHABERES)</td><td>@Utilidades.FormatearNumero(Nomina.OTRASDEDUCCIONES)</td>
<td>@Utilidades.FormatearNumero(Nomina.TOTALSEGURIDADSOCIALPAGOENESPECIE)</td><td>@Utilidades.FormatearNumero(Nomina.TOTALEPIGRAFE126)</td><td>@Utilidades.FormatearNumero(Nomina.TOTALMATERNIDADPATERNIDAD)</td>
<td>@Utilidades.FormatearNumero(Nomina.TOTALPERMISOSINRETRIBUIR)</td><td>@Utilidades.FormatearNumero(Nomina.SINDICATO1)</td><td>@Utilidades.FormatearNumero(Nomina.REDUCCIONJORNADA)</td>
<td>@Nomina.TRABAJOTIEMPOPARCIAL</td><td>@Nomina.MUTUA</td><td>@Nomina.DIASENFERMEDADAL60</td> <td>@Nomina.TRABAJOTIEMPOPARCIAL</td><td>@Nomina.MUTUA</td><td>@Nomina.DIASENFERMEDADAL60</td>
<td>@Nomina.BASEENFERMEDADAL60</td><td>@Nomina.DIASENFERMEDADAL75</td><td>@Nomina.BASEACCIDENTES</td> <td>@Utilidades.FormatearNumero(Nomina.BASEENFERMEDADAL60)</td><td>@Nomina.DIASENFERMEDADAL75</td><td>@Utilidades.FormatearNumero(Nomina.BASEACCIDENTES)</td>
<td>@Nomina.DIASBASEPAGODIRECTO</td><td>@Nomina.BASEPAGODIRECTO</td><td>@(Nomina.VISIBLE == true ? "Sí" : "No")</td> <td>@Nomina.DIASBASEPAGODIRECTO</td><td>@Utilidades.FormatearNumero(Nomina.BASEPAGODIRECTO)</td><td>
<td>@(Nomina.MODIFICABLE == true ? "Sí" : "No")</td><td>@Nomina.MESNOMINA</td> @if (Nomina.VISIBLE == true) { <i class="fa-regular fa-square-check"></i> }
</td>
<td>
@if (Nomina.MODIFICABLE == true) { <i class="fa-regular fa-square-check"></i> }
</td><td>@Nomina.MESNOMINA</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
@@ -47,9 +56,9 @@
<GridColumns> <GridColumns>
<GridColumn TItem="NOMINATRABAJADORLINEA" HeaderText="Descripción">@context.DESCRIPCIONCONCEPTO</GridColumn> <GridColumn TItem="NOMINATRABAJADORLINEA" HeaderText="Descripción">@context.DESCRIPCIONCONCEPTO</GridColumn>
<GridColumn TItem="NOMINATRABAJADORLINEA" HeaderText="Cantidad">@context.CANTIDAD</GridColumn> <GridColumn TItem="NOMINATRABAJADORLINEA" HeaderText="Cantidad">@context.CANTIDAD</GridColumn>
<GridColumn TItem="NOMINATRABAJADORLINEA" HeaderText="Importe">@context.IMPORTE</GridColumn> <GridColumn TItem="NOMINATRABAJADORLINEA" HeaderText="Importe">@Utilidades.FormatearNumero(context.IMPORTE)</GridColumn>
<GridColumn TItem="NOMINATRABAJADORLINEA" HeaderText="Retribuciones">@context.TOTALRETRIBUCIONES</GridColumn> <GridColumn TItem="NOMINATRABAJADORLINEA" HeaderText="Retribuciones">@Utilidades.FormatearNumero(context.TOTALRETRIBUCIONES)</GridColumn>
<GridColumn TItem="NOMINATRABAJADORLINEA" HeaderText="Deducciones">@context.TOTALDEDUCCIONES</GridColumn> <GridColumn TItem="NOMINATRABAJADORLINEA" HeaderText="Deducciones">@Utilidades.FormatearNumero(context.TOTALDEDUCCIONES)</GridColumn>
</GridColumns> </GridColumns>
</Grid> </Grid>
</Content> </Content>
@@ -61,7 +70,13 @@
<GridColumn TItem="NOMINATRABAJADORPAGOESPECIE" HeaderText="Descripción">@context.DESCRIPCION</GridColumn> <GridColumn TItem="NOMINATRABAJADORPAGOESPECIE" HeaderText="Descripción">@context.DESCRIPCION</GridColumn>
<GridColumn TItem="NOMINATRABAJADORPAGOESPECIE" HeaderText="Importe">@context.IMPORTE</GridColumn> <GridColumn TItem="NOMINATRABAJADORPAGOESPECIE" HeaderText="Importe">@context.IMPORTE</GridColumn>
<GridColumn TItem="NOMINATRABAJADORPAGOESPECIE" HeaderText="Cuota">@context.CUOTA</GridColumn> <GridColumn TItem="NOMINATRABAJADORPAGOESPECIE" HeaderText="Cuota">@context.CUOTA</GridColumn>
<GridColumn TItem="NOMINATRABAJADORPAGOESPECIE" HeaderText="Seguridad Social">@context.SEGURIDADSOCIAL</GridColumn> <GridColumn TItem="NOMINATRABAJADORPAGOESPECIE" HeaderText="Seguridad Social">
@if (context.SEGURIDADSOCIAL == true)
{
<i class="fa-regular fa-square-check"></i>
}
else { }
</GridColumn>
</GridColumns> </GridColumns>
</Grid> </Grid>
</Content> </Content>

View File

@@ -1,7 +1,11 @@
@using GestionPersonalWeb.Models @using GestionPersonalWeb.Models
@using BlazorBootstrap @using BlazorBootstrap
@using bdAntifraude.db @using bdAntifraude.db
@using bdAntifraude.clases
@using System.Net.Http.Json
@rendermode InteractiveServer @rendermode InteractiveServer
@inject IHttpClientFactory HttpClientFactory
@inject UserState UserState
<div class="tablaTabLateral"> <div class="tablaTabLateral">
<Accordion> <Accordion>
@@ -18,8 +22,20 @@
<span class="nomina-dato nomina-titulo"><span class="nomina-etiqueta">Nómina</span><NavLink class="btn btn-link p-0" href="@HashRed(nomina)">@nomina.IDNOMINANavigation?.DESCRIPCION</NavLink></span> <span class="nomina-dato nomina-titulo"><span class="nomina-etiqueta">Nómina</span><NavLink class="btn btn-link p-0" href="@HashRed(nomina)">@nomina.IDNOMINANavigation?.DESCRIPCION</NavLink></span>
<span class="nomina-dato"><span class="nomina-etiqueta">Total devengado</span>@nomina.TOTALDEVENGADO</span> <span class="nomina-dato"><span class="nomina-etiqueta">Total devengado</span>@nomina.TOTALDEVENGADO</span>
<span class="nomina-dato"><span class="nomina-etiqueta">Total líquido</span>@nomina.TOTALLIQUIDO</span> <span class="nomina-dato"><span class="nomina-etiqueta">Total líquido</span>@nomina.TOTALLIQUIDO</span>
<span class="nomina-dato"><span class="nomina-etiqueta">Grupo</span>@nomina.IDGRUPOFUNCIONARIONavigation?.DESCRIPCION</span> <span class="nomina-dato">
<span class="nomina-dato"><span class="nomina-etiqueta">Nivel</span>@nomina.NIVEL</span> <Dropdown>
<DropdownToggleButton Class="btnOAAFAzul">Acciones:</DropdownToggleButton>
<DropdownMenu>
<DropdownItem @onclick="@(() => SolicitarEliminacion(nomina))" Type="DropdownItemType.Button">Eliminar</DropdownItem>
<DropdownItem @onclick="@(() => GenerarNomina(nomina))" Type="DropdownItemType.Button">Generar nómina</DropdownItem>
<DropdownItem onclick="" Type="DropdownItemType.Button">Ver PDF nómina</DropdownItem>
<DropdownItem onclick="" Type="DropdownItemType.Button">Generar incidencia de diferencia con seguridad social de otra nómina</DropdownItem>
</DropdownMenu>
</Dropdown>
</span>
@* <span class="nomina-dato"><span class="nomina-etiqueta">Grupo</span>@nomina.IDGRUPOFUNCIONARIONavigation?.DESCRIPCION</span>
<span class="nomina-dato"><span class="nomina-etiqueta">Nivel</span>@nomina.NIVEL</span> *@
</summary> </summary>
<div class="nomina-detalle mt-2 p-2 border rounded bg-light"><NominaDetalle Nomina="nomina" /></div> <div class="nomina-detalle mt-2 p-2 border rounded bg-light"><NominaDetalle Nomina="nomina" /></div>
</details> </details>
@@ -31,11 +47,23 @@
</Accordion> </Accordion>
</div> </div>
<Modal @ref="popupConfirmacion" Title="Confirmar eliminación" IsVerticallyCentered="true" UseStaticBackdrop="true" CloseOnEscape="false">
<BodyTemplate>
<p>¿Está seguro de que desea eliminar la nómina <strong>@nominaPendiente?.IDNOMINANavigation?.DESCRIPCION</strong>?</p>
</BodyTemplate>
<FooterTemplate>
<Button Color="ButtonColor.Secondary" @onclick="CancelarEliminacion">Cancelar</Button>
<Button Color="ButtonColor.Danger" @onclick="EliminarNomina">Eliminar</Button>
</FooterTemplate>
</Modal>
@code { @code {
[Parameter] public PERSONAS Persona { get; set; } = new(); [Parameter] public PERSONAS Persona { get; set; } = new();
[Parameter] public EventCallback OnPersonaActualizada { get; set; } [Parameter] public EventCallback OnPersonaActualizada { get; set; }
private readonly List<int> annos = new(); private readonly List<int> annos = new();
private readonly List<NOMINATRABAJADORCABECERA> itmList = new(); private readonly List<NOMINATRABAJADORCABECERA> itmList = new();
private Modal popupConfirmacion = default!;
private NOMINATRABAJADORCABECERA? nominaPendiente;
protected override void OnInitialized() protected override void OnInitialized()
{ {
@@ -47,4 +75,58 @@
{ {
return "/NomPers?cl=" + tsUtilidades.crypt.FEncS(Persona.NIF + "-" + nom.IDNOMINA, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890.:/-*", "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890.:/-*", 875421649); return "/NomPers?cl=" + tsUtilidades.crypt.FEncS(Persona.NIF + "-" + nom.IDNOMINA, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890.:/-*", "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890.:/-*", 875421649);
} }
private async Task SolicitarEliminacion(NOMINATRABAJADORCABECERA nomina)
{
nominaPendiente = nomina;
await popupConfirmacion.ShowAsync();
}
private async Task CancelarEliminacion()
{
nominaPendiente = null;
await popupConfirmacion.HideAsync();
}
private async Task EliminarNomina()
{
if (nominaPendiente is null)
return;
var nomina = nominaPendiente;
var cliente = Utilidades.ObtenerCliente(UserState.Token, HttpClientFactory);
var response = await cliente.DeleteAsync($"/api/NOMINATRABAJADORCABECERA/{nomina.IDNOMINATRABAJADOR}");
if (response.IsSuccessStatusCode)
{
itmList.Remove(nomina);
annos.Clear();
annos.AddRange(itmList.Where(x => x.IDNOMINANavigation != null)
.Select(x => x.IDNOMINANavigation!.AÑO)
.Distinct()
.OrderDescending());
await popupConfirmacion.HideAsync();
nominaPendiente = null;
await OnPersonaActualizada.InvokeAsync();
}
}
private async Task GenerarNomina(NOMINATRABAJADORCABECERA nomina)
{
if (!nomina.IDNOMINA.HasValue)
return;
var objetoConsulta = new DatGenNom
{
Personas = new List<int> { Persona.IDPERSONA },
Idnomina = nomina.IDNOMINA.Value
};
var cliente = HttpClientFactory.CreateClient();
cliente.BaseAddress = new Uri(Utilidades.urlSwagger2());
var response = await cliente.PostAsJsonAsync("/api/GeneraNominas", objetoConsulta);
if (response.IsSuccessStatusCode)
await OnPersonaActualizada.InvokeAsync();
}
} }

View File

@@ -45,7 +45,7 @@
@context.FECHAFIN.ToString("dd/MM/yyyy") @context.FECHAFIN.ToString("dd/MM/yyyy")
</GridColumn> </GridColumn>
<GridColumn TItem="PRESTAMOS" HeaderText="Importe"> <GridColumn TItem="PRESTAMOS" HeaderText="Importe">
@context.IMPORTE @Utilidades.FormatearNumero(context.IMPORTE)
</GridColumn> </GridColumn>
<GridColumn TItem="PRESTAMOS" HeaderText="Meses"> <GridColumn TItem="PRESTAMOS" HeaderText="Meses">
@context.MESES @context.MESES
@@ -54,7 +54,7 @@
@context.AMORTIZACION @context.AMORTIZACION
</GridColumn> </GridColumn>
<GridColumn TItem="PRESTAMOS" HeaderText="Saldo"> <GridColumn TItem="PRESTAMOS" HeaderText="Saldo">
@context.SALDO @Utilidades.FormatearNumero(context.SALDO)
</GridColumn> </GridColumn>
<GridColumn TItem="PRESTAMOS" HeaderText="EDITAR"> <GridColumn TItem="PRESTAMOS" HeaderText="EDITAR">
<input type="button" class="btnOAAFAzul" value="Generar Amortizaciones" @onclick="() => GenerarAmortizacion(context)" /> <input type="button" class="btnOAAFAzul" value="Generar Amortizaciones" @onclick="() => GenerarAmortizacion(context)" />
@@ -174,8 +174,10 @@
// gcPrestamos.View.CommitEditing(true); // gcPrestamos.View.CommitEditing(true);
var enumPibe = await Utilidades.ObtenerObjeto<List<ENUMERACIONES>>(cliente, "/api/ENUMERACIONES/EnumeracionesGrupo/NOM.PIBE"); var enumPibe = await Utilidades.ObtenerObjeto<ENUMERACIONES>(cliente, "/api/ENUMERACIONES/EnumeracionesCodigo/NOM.PIBE");
var pibe = enumPibe.FirstOrDefault().VALORNUMERICO1; // var pibe = enumPibe.FirstOrDefault().VALORNUMERICO1;
var pibe = enumPibe.VALORNUMERICO1;
if (pibe == null) if (pibe == null)
throw new InvalidOperationException("No se ha encontrado la enumeración NOM.PIBE."); throw new InvalidOperationException("No se ha encontrado la enumeración NOM.PIBE.");

View File

@@ -90,10 +90,10 @@
@context.IDSITUACIONACTUALIRPFNavigation?.TIPODERETENCIONAAPLICAR @context.IDSITUACIONACTUALIRPFNavigation?.TIPODERETENCIONAAPLICAR
</GridColumn> </GridColumn>
<GridColumn TItem="PERSONAS" HeaderText="Fecha alta" PropertyName="FECHAALTA" FilterButtonCSSClass="hidden" SortKeySelector="item => item.FECHAALTA"> <GridColumn TItem="PERSONAS" HeaderText="Fecha alta" PropertyName="FECHAALTA" FilterButtonCSSClass="hidden" SortKeySelector="item => item.FECHAALTA">
@context.FECHAALTA.ToString().Substring(0,10) @context.FECHAALTA?.ToString("dd/MM/yyyy")
</GridColumn> </GridColumn>
<GridColumn TItem="PERSONAS" HeaderText="Fecha baja" PropertyName="FECHABAJA" FilterButtonCSSClass="hidden" SortKeySelector="item => item.FECHABAJA"> <GridColumn TItem="PERSONAS" HeaderText="Fecha baja" PropertyName="FECHABAJA" FilterButtonCSSClass="hidden" SortKeySelector="item => item.FECHABAJA">
@context.FECHABAJA @context.FECHABAJA?.ToString("dd/MM/yyyy")
</GridColumn> </GridColumn>
<GridColumn TItem="PERSONAS" HeaderText="Domicilio" PropertyName="DOMICILIO" FilterButtonCSSClass="hidden" SortKeySelector="item => item.DOMICILIO"> <GridColumn TItem="PERSONAS" HeaderText="Domicilio" PropertyName="DOMICILIO" FilterButtonCSSClass="hidden" SortKeySelector="item => item.DOMICILIO">
@context.DOMICILIO @context.DOMICILIO
@@ -149,9 +149,9 @@
<dt class="col-sm-3">% IRPF</dt> <dt class="col-sm-3">% IRPF</dt>
<dd class="col-sm-9">@itm.IDSITUACIONACTUALIRPFNavigation?.TIPODERETENCIONAAPLICAR</dd> <dd class="col-sm-9">@itm.IDSITUACIONACTUALIRPFNavigation?.TIPODERETENCIONAAPLICAR</dd>
<dt class="col-sm-3">Fecha alta</dt> <dt class="col-sm-3">Fecha alta</dt>
<dd class="col-sm-9">@itm.FECHAALTA</dd> <dd class="col-sm-9">@itm.FECHAALTA?.ToString("dd/MM/yyyy")</dd>
<dt class="col-sm-3">Fecha baja</dt> <dt class="col-sm-3">Fecha baja</dt>
<dd class="col-sm-9">@itm.FECHABAJA</dd> <dd class="col-sm-9">@itm.FECHABAJA?.ToString("dd/MM/yyyy")</dd>
<dt class="col-sm-3">Domicilio</dt> <dt class="col-sm-3">Domicilio</dt>
<dd class="col-sm-9">@itm.DOMICILIO</dd> <dd class="col-sm-9">@itm.DOMICILIO</dd>
<dt class="col-sm-3">Código postal</dt> <dt class="col-sm-3">Código postal</dt>

View File

@@ -496,7 +496,11 @@
@context.CUOTA @context.CUOTA
</GridColumn> </GridColumn>
<GridColumn TItem="NOMINATRABAJADORPAGOESPECIE" HeaderText="Seguridad Social"> <GridColumn TItem="NOMINATRABAJADORPAGOESPECIE" HeaderText="Seguridad Social">
@context.SEGURIDADSOCIAL @if (context.SEGURIDADSOCIAL == true)
{
<i class="fa-regular fa-square-check"></i>
}
else { }
</GridColumn> </GridColumn>
</GridColumns> </GridColumns>
@@ -562,10 +566,10 @@
<GridColumns> <GridColumns>
<GridColumn TItem="PERIODOSSILTRA" HeaderText="Fecha inicio"> <GridColumn TItem="PERIODOSSILTRA" HeaderText="Fecha inicio">
<NavLink class="btn btn-link" href="@HashRed(context.IDPERIODOSILTRA.ToString())">@context.FECHAINICIO.ToString().Substring(0,10)</NavLink> <NavLink class="btn btn-link" href="@HashRed(context.IDPERIODOSILTRA.ToString())">@context.FECHAINICIO?.ToString("dd/MM/yyyy")</NavLink>
</GridColumn> </GridColumn>
<GridColumn TItem="PERIODOSSILTRA" HeaderText="Fecha fin"> <GridColumn TItem="PERIODOSSILTRA" HeaderText="Fecha fin">
@context.FECHAFIN @context.FECHAFIN?.ToString("dd/MM/yyyy")
</GridColumn> </GridColumn>
<GridColumn TItem="PERIODOSSILTRA" HeaderText="Días"> <GridColumn TItem="PERIODOSSILTRA" HeaderText="Días">
@context.DIAS @context.DIAS

View File

@@ -88,16 +88,16 @@
@context.IDTIPONavigation.DESCRIPCION @context.IDTIPONavigation.DESCRIPCION
</GridColumn> </GridColumn>
<GridColumn TItem="NOMINAS" HeaderText="Fecha Inicio" PropertyName="FECHAINICIO" FilterButtonCSSClass="hidden"> <GridColumn TItem="NOMINAS" HeaderText="Fecha Inicio" PropertyName="FECHAINICIO" FilterButtonCSSClass="hidden">
@context.FECHAINICIO?.ToShortDateString() @context.FECHAINICIO?.ToString("dd/MM/yyyy")
</GridColumn> </GridColumn>
<GridColumn TItem="NOMINAS" HeaderText="Fecha Pago" PropertyName="FECHAPAGO" FilterButtonCSSClass="hidden"> <GridColumn TItem="NOMINAS" HeaderText="Fecha Pago" PropertyName="FECHAPAGO" FilterButtonCSSClass="hidden">
@context.FECHAPAGO?.ToShortDateString() @context.FECHAPAGO?.ToString("dd/MM/yyyy")
</GridColumn> </GridColumn>
<GridColumn TItem="NOMINAS" HeaderText="Número Días Laborales" PropertyName="NUMERODIASLABORALES" FilterButtonCSSClass="hidden"> <GridColumn TItem="NOMINAS" HeaderText="Número Días Laborales" PropertyName="NUMERODIASLABORALES" FilterButtonCSSClass="hidden">
@context.NUMERODIASLABORABLES @Utilidades.FormatearEntero(context.NUMERODIASLABORABLES)
</GridColumn> </GridColumn>
<GridColumn TItem="NOMINAS" HeaderText="Número Días Festivos" PropertyName="NUMERODIASFESTIVOS" FilterButtonCSSClass="hidden"> <GridColumn TItem="NOMINAS" HeaderText="Número Días Festivos" PropertyName="NUMERODIASFESTIVOS" FilterButtonCSSClass="hidden">
@context.NUMERODIASFESTIVOS @Utilidades.FormatearEntero(context.NUMERODIASFESTIVOS)
</GridColumn> </GridColumn>
<GridColumn TItem="NOMINAS" HeaderText="Paga Extra" PropertyName="PAGAEXTRA" FilterButtonCSSClass="hidden"> <GridColumn TItem="NOMINAS" HeaderText="Paga Extra" PropertyName="PAGAEXTRA" FilterButtonCSSClass="hidden">
@if (context.PAGAEXTRA== true) @if (context.PAGAEXTRA== true)

View File

@@ -20,6 +20,20 @@ namespace GestionPersonalWeb.Models
public class Utilidades public class Utilidades
{ {
private static IConfiguration Conf { get; set; } private static IConfiguration Conf { get; set; }
public static string FormatearNumero(object? valor)
{
return valor is IFormattable formateable
? formateable.ToString("N2", CultureInfo.GetCultureInfo("es-ES"))
: string.Empty;
}
public static string FormatearEntero(object? valor)
{
return valor is IFormattable formateable
? formateable.ToString("N0", CultureInfo.GetCultureInfo("es-ES"))
: string.Empty;
}
public static string RemoveDiacritics(string text) public static string RemoveDiacritics(string text)
{ {
var normalizedString = text.Normalize(NormalizationForm.FormD); var normalizedString = text.Normalize(NormalizationForm.FormD);

View File

@@ -42,5 +42,27 @@ namespace SwaggerAntifraude.Controllers
return StatusCode(500, $"Error interno del servidor: {ex.Message}"); return StatusCode(500, $"Error interno del servidor: {ex.Message}");
} }
} }
[Authorize(Policy = "LecturaPolicy")]
[HttpGet("EnumeracionesCodigo/{codigo}")]
public async Task<IActionResult> EnumCodigo(string codigo)
{
try
{
using (var context = tsGestionAntifraude.NuevoContexto(SoloLectura: true, UseLazyLoadingProxies: false))
{
var enumes = context.ENUMERACIONES.Include(v => v.IDGRUPOENUMERACIONNavigation)
.FirstOrDefault(p => p.CODIGO == codigo);
if (enumes == null)
return NotFound();
return Ok(enumes);
}
}
catch (Exception ex)
{
return StatusCode(500, $"Error interno del servidor: {ex.Message}");
}
}
} }
} }

View File

@@ -25,7 +25,7 @@ namespace bdAntifraude.clases
} }
public class DatGenNom public class DatGenNom
{ {
public List<int> Personas = new List<int>(); public List<int> Personas { get; set; } = new List<int>();
public int Idnomina { get; set; } public int Idnomina { get; set; }
} }
} }