Feat: Solicitudes Contaduría
All checks were successful
Optimized Build and Deploy / remote-build-and-deploy (push) Successful in 6m57s

- Siglas Días en Reporte Dist. General
- Mostrar Publicaciones Deshabilitadas en Selectores de Reportes
This commit is contained in:
2025-07-21 12:44:21 -03:00
parent 3e1ac6f742
commit c251a0adf4
9 changed files with 26 additions and 15 deletions

View File

@@ -42,7 +42,7 @@ namespace GestionIntegral.Api.Controllers.Distribucion
[HttpGet]
[ProducesResponseType(typeof(IEnumerable<PublicacionDto>), StatusCodes.Status200OK)]
[ProducesResponseType(StatusCodes.Status403Forbidden)]
public async Task<IActionResult> GetAllPublicaciones([FromQuery] string? nombre, [FromQuery] int? idEmpresa, [FromQuery] bool? soloHabilitadas = true)
public async Task<IActionResult> GetAllPublicaciones([FromQuery] string? nombre, [FromQuery] int? idEmpresa, [FromQuery] bool? soloHabilitadas)
{
if (!TienePermiso(PermisoVer)) return Forbid();
var publicaciones = await _publicacionService.ObtenerTodasAsync(nombre, idEmpresa, soloHabilitadas);
@@ -54,7 +54,7 @@ namespace GestionIntegral.Api.Controllers.Distribucion
[ProducesResponseType(typeof(IEnumerable<PublicacionDropdownDto>), StatusCodes.Status200OK)]
[ProducesResponseType(StatusCodes.Status500InternalServerError)]
// No se verifica permiso DP001, solo requiere autenticación general ([Authorize] del controlador)
public async Task<IActionResult> GetPublicacionesForDropdown([FromQuery] bool soloHabilitadas = true)
public async Task<IActionResult> GetPublicacionesForDropdown([FromQuery] bool? soloHabilitadas)
{
try
{

View File

@@ -69,7 +69,7 @@ namespace GestionIntegral.Api.Controllers.Reportes.PdfTemplates
{
table.ColumnsDefinition(columns =>
{
columns.ConstantColumn(40);
columns.ConstantColumn(60);
columns.RelativeColumn();
columns.RelativeColumn();
columns.RelativeColumn();
@@ -89,9 +89,20 @@ namespace GestionIntegral.Api.Controllers.Reportes.PdfTemplates
header.Cell().Border(1).Background(Colors.Grey.Lighten3).Padding(4).AlignRight().Text("Vendidos");
});
var dayAbbreviations = new Dictionary<System.DayOfWeek, string>
{
{ System.DayOfWeek.Sunday, "Dom" },
{ System.DayOfWeek.Monday, "Lun" },
{ System.DayOfWeek.Tuesday, "Mar" },
{ System.DayOfWeek.Wednesday, "Mie" },
{ System.DayOfWeek.Thursday, "Jue" },
{ System.DayOfWeek.Friday, "Vie" },
{ System.DayOfWeek.Saturday, "Sab" }
};
foreach (var item in Model.ResumenMensual.OrderBy(x => x.Fecha))
{
table.Cell().Border(1).Padding(3).Text(item.Fecha.Day.ToString());
table.Cell().Border(1).Padding(3).Text($"{dayAbbreviations[item.Fecha.DayOfWeek]} {item.Fecha.Day}");
table.Cell().Border(1).Padding(3).AlignRight().Text(item.CantidadTirada.ToString("N0"));
table.Cell().Border(1).Padding(3).AlignRight().Text(item.SinCargo.ToString("N0"));
table.Cell().Border(1).Padding(3).AlignRight().Text(item.Perdidos.ToString("N0"));

View File

@@ -15,7 +15,7 @@ namespace GestionIntegral.Api.Services.Distribucion
Task<IEnumerable<PublicacionDiaSemanaDto>> ObtenerConfiguracionDiasAsync(int idPublicacion);
Task<IEnumerable<PublicacionDto>> ObtenerPublicacionesPorDiaSemanaAsync(byte diaSemana); // Devolvemos el DTO completo
Task<(bool Exito, string? Error)> ActualizarConfiguracionDiasAsync(int idPublicacion, UpdatePublicacionDiasSemanaRequestDto requestDto, int idUsuario);
Task<IEnumerable<PublicacionDropdownDto>> ObtenerParaDropdownAsync(bool soloHabilitadas);
Task<IEnumerable<PublicacionDropdownDto>> ObtenerParaDropdownAsync(bool? soloHabilitadas);
Task<IEnumerable<PublicacionHistorialDto>> ObtenerHistorialAsync(
DateTime? fechaDesde, DateTime? fechaHasta,
int? idUsuarioModifico, string? tipoModificacion,

View File

@@ -76,7 +76,7 @@ namespace GestionIntegral.Api.Services.Distribucion
return MapToDto(data);
}
public async Task<IEnumerable<PublicacionDropdownDto>> ObtenerParaDropdownAsync(bool soloHabilitadas)
public async Task<IEnumerable<PublicacionDropdownDto>> ObtenerParaDropdownAsync(bool? soloHabilitadas)
{
var data = await _publicacionRepository.GetAllAsync(null, null, soloHabilitadas);