From 9e9c6b53df7b0939112abaed2a45a96b99e4c259 Mon Sep 17 00:00:00 2001 From: Luis Rendon Date: Wed, 11 Sep 2024 16:01:43 -0500 Subject: [PATCH] Se Agrego los end point para trabajar con el relog checador. --- .../Contracts/Reportes/IRpRepository.cs | 19 ++++++++++ .../Contracts/Reportes/IRptBookPrectacs.cs | 6 +-- .../Reportes/ReportesController.cs | 27 +++++++++++-- BookPrectaBackend/DTO/ExelServices/Book.cs | 3 +- .../DTO/Reportes/TotalHoursWorking.cs | 17 +++++++++ .../Models/Reportes/WorkingHours.cs | 26 +++++++------ BookPrectaBackend/Program.cs | 16 +------- .../ExelServices/ExelHourWorking/ExelHours.cs | 13 +++++++ .../Repository/ExelServices/ExelRepository.cs | 3 +- .../Repository/Reportes/ReportesRepository.cs | 38 +++++++++++++++++-- 10 files changed, 130 insertions(+), 38 deletions(-) create mode 100644 BookPrectaBackend/Contracts/Reportes/IRpRepository.cs create mode 100644 BookPrectaBackend/DTO/Reportes/TotalHoursWorking.cs diff --git a/BookPrectaBackend/Contracts/Reportes/IRpRepository.cs b/BookPrectaBackend/Contracts/Reportes/IRpRepository.cs new file mode 100644 index 0000000..94fef53 --- /dev/null +++ b/BookPrectaBackend/Contracts/Reportes/IRpRepository.cs @@ -0,0 +1,19 @@ +using BookPrectaBackend.DTO.Reportes; +using BookPrectaBackend.Models.Reportes; + +namespace BookPrectaBackend.Contracts.Reportes +{ + public interface IRptRepository + { + + + public Task> GetWorkingHours(string Inicio, string Fin); + + public Task> GetRelacionesTrafico(); + /*public Task>GetNoRelaciones();*/ + + public Task> GetNoRelaciones(); + + public Task> GetTotalHoursWorkings(string Inicio, string Fin ); + } +} diff --git a/BookPrectaBackend/Contracts/Reportes/IRptBookPrectacs.cs b/BookPrectaBackend/Contracts/Reportes/IRptBookPrectacs.cs index 5578ee3..3858cbe 100644 --- a/BookPrectaBackend/Contracts/Reportes/IRptBookPrectacs.cs +++ b/BookPrectaBackend/Contracts/Reportes/IRptBookPrectacs.cs @@ -5,11 +5,11 @@ namespace BookPrectaBackend.Contracts.Reportes public interface IRptBookPrectacs { - public Task> GetRelacionesTrafico( ); - /*public Task>GetNoRelaciones();*/ + /* public Task> GetRelacionesTrafico( ); + *//*public Task>GetNoRelaciones();*//* public Task> GetNoRelaciones(); - +*/ } diff --git a/BookPrectaBackend/Controllers/Reportes/ReportesController.cs b/BookPrectaBackend/Controllers/Reportes/ReportesController.cs index 424dbe0..a6823a7 100644 --- a/BookPrectaBackend/Controllers/Reportes/ReportesController.cs +++ b/BookPrectaBackend/Controllers/Reportes/ReportesController.cs @@ -1,5 +1,6 @@ using BookPrectaBackend.Contracts.Catalogos; using BookPrectaBackend.Contracts.Reportes; +using BookPrectaBackend.DTO.Reportes; using BookPrectaBackend.Models.Reportes; using Microsoft.AspNetCore.Mvc; using NPOI.Util; @@ -14,10 +15,10 @@ namespace BookPrectaBackend.Controllers.Reportes public IConfiguration _Configuration; - private readonly IRptBookPrectacs _Repo; + private readonly IRptRepository _Repo; - public ReportesController(IConfiguration config, IRptBookPrectacs Repo) + public ReportesController(IConfiguration config, IRptRepository Repo) { _Configuration = config; _Repo = Repo; @@ -41,7 +42,27 @@ namespace BookPrectaBackend.Controllers.Reportes var result = await _Repo.GetNoRelaciones(); return result; } - + + [Route("GetAllWorkingHours")] + [HttpGet] + + public async Task> GetWorkingHours(string Inicio, string Fin) + { + var result = await _Repo.GetWorkingHours(Inicio, Fin); + return result; + } + + + + [Route("TotalHours")] + [HttpGet] + public async Task> GetTotalHoursWorkings(string Inicio, string Fin) + { + var result = await _Repo.GetTotalHoursWorkings(Inicio, Fin); + return result; + } + + diff --git a/BookPrectaBackend/DTO/ExelServices/Book.cs b/BookPrectaBackend/DTO/ExelServices/Book.cs index 95295fd..3a288b4 100644 --- a/BookPrectaBackend/DTO/ExelServices/Book.cs +++ b/BookPrectaBackend/DTO/ExelServices/Book.cs @@ -12,7 +12,8 @@ public string? Num { get; set; } public string? Name { get; set; } public string? Memo { get; set; } - public float Amount { get; set; } + /*public float Amount { get; set; }*/ + public decimal? Amount { get; set; } public string? Trafico { get; set; } diff --git a/BookPrectaBackend/DTO/Reportes/TotalHoursWorking.cs b/BookPrectaBackend/DTO/Reportes/TotalHoursWorking.cs new file mode 100644 index 0000000..6a3c1d7 --- /dev/null +++ b/BookPrectaBackend/DTO/Reportes/TotalHoursWorking.cs @@ -0,0 +1,17 @@ +namespace BookPrectaBackend.DTO.Reportes +{ + public class TotalHoursWorking + { + + public string? EmpNo { get; set; } + public string? AcNo { get; set;} + + public string? Name { get; set;} + public string? TotalHoursAccumulated { get; set;} + + public string? TotalHoursWithMilitaryMinutes { get; set;} + + + + } +} diff --git a/BookPrectaBackend/Models/Reportes/WorkingHours.cs b/BookPrectaBackend/Models/Reportes/WorkingHours.cs index ba284ea..64e79d6 100644 --- a/BookPrectaBackend/Models/Reportes/WorkingHours.cs +++ b/BookPrectaBackend/Models/Reportes/WorkingHours.cs @@ -9,20 +9,20 @@ namespace BookPrectaBackend.Models.Reportes public string No { get; set; } public string Name { get; set; } public string Date { get; set; } // Almacenando la fecha como string - /*public TimeSpan? ClockIn1 { get; set; }*/ - /*public TimeSpan? ClockOut1 { get; set; } - public TimeSpan? ClockIn2 { get; set; } - public TimeSpan? ClockOut2 { get; set; } - public TimeSpan? ClockIn3 { get; set; } - public TimeSpan? ClockOut3 { get; set; } - public TimeSpan? ClockIn4 { get; set; } - public TimeSpan? ClockOut4 { get; set; } - public TimeSpan? ClockIn5 { get; set; } - public TimeSpan? ClockOut5 { get; set; } - public TimeSpan? TotalInTime { get; set; }*/ + /* public TimeSpan? ClockIn1 { get; set; } + public TimeSpan? ClockOut1 { get; set; } + public TimeSpan? ClockIn2 { get; set; } + public TimeSpan? ClockOut2 { get; set; } + public TimeSpan? ClockIn3 { get; set; } + public TimeSpan? ClockOut3 { get; set; } + public TimeSpan? ClockIn4 { get; set; } + public TimeSpan? ClockOut4 { get; set; } + public TimeSpan? ClockIn5 { get; set; } + public TimeSpan? ClockOut5 { get; set; } + public TimeSpan? TotalInTime { get; set; }*/ public string? ClockIn1 { get; set; } - public string? ClockOut1 { get; set;} + public string? ClockOut1 { get; set; } public string? ClockIn2 { get; set; } public string? ClockOut2 { get; set; } @@ -36,6 +36,8 @@ namespace BookPrectaBackend.Models.Reportes public string? ClockOut5 { get; set; } public string? TotalInTime { get; set; } + public string? TotalHoursWorked { get; set; } + diff --git a/BookPrectaBackend/Program.cs b/BookPrectaBackend/Program.cs index 45b854f..429b58f 100644 --- a/BookPrectaBackend/Program.cs +++ b/BookPrectaBackend/Program.cs @@ -37,7 +37,7 @@ internal class Program // Reportes - builder.Services.AddScoped(); + builder.Services.AddScoped(); // Servivios Exel builder.Services.AddScoped(); @@ -51,19 +51,7 @@ internal class Program builder.Services.AddControllers(); - /* builder.Services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme).AddJwtBearer(options => - { - options.RequireHttpsMetadata = false; - options.SaveToken = true; - options.TokenValidationParameters = new TokenValidationParameters() - { - ValidateIssuer = true, - ValidateAudience = true, - ValidAudience = builder.Configuration["Jwt:Audience"], - ValidIssuer = builder.Configuration["Jwt:Issuer"], - IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(builder.Configuration["Jwt:Key"])) - }; - });*/ + builder.Services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme) diff --git a/BookPrectaBackend/Repository/ExelServices/ExelHourWorking/ExelHours.cs b/BookPrectaBackend/Repository/ExelServices/ExelHourWorking/ExelHours.cs index 374f431..5623cde 100644 --- a/BookPrectaBackend/Repository/ExelServices/ExelHourWorking/ExelHours.cs +++ b/BookPrectaBackend/Repository/ExelServices/ExelHourWorking/ExelHours.cs @@ -7,6 +7,7 @@ using BookPrectaBackend.Context; using OfficeOpenXml; using BookPrectaBackend.Models.Reportes; using Microsoft.AspNetCore.Mvc; +using Org.BouncyCastle.Asn1.Cms; namespace BookPrectaBackend.Repository.EcxelServices.ExelHourWorking { @@ -61,6 +62,18 @@ namespace BookPrectaBackend.Repository.EcxelServices.ExelHourWorking ClockOut4 = worksheet.Cells[row, 13].Text, ClockIn5 = worksheet.Cells[row, 14].Text, ClockOut5 = worksheet.Cells[row, 15].Text, + /* ClockIn1 = TimeSpan.FromHours(), + ClockOut1 = TimeSpan.FromHours(1), + ClockIn2 = TimeSpan.FromHours(1), + ClockOut2 = TimeSpan.FromHours(1), + ClockIn3 = TimeSpan.FromHours(1), + ClockOut3 = TimeSpan.FromHours(1), + ClockIn4 = TimeSpan.FromHours(1), + ClockOut4 = TimeSpan.FromHours(1), + ClockIn5 = TimeSpan.FromHours(1), + ClockOut5 = TimeSpan.FromHours(1), + TotalInTime = TimeSpan.FromHours(1)*/ + TotalInTime = worksheet.Cells[row, 16].Text }; diff --git a/BookPrectaBackend/Repository/ExelServices/ExelRepository.cs b/BookPrectaBackend/Repository/ExelServices/ExelRepository.cs index 9a802f8..e885730 100644 --- a/BookPrectaBackend/Repository/ExelServices/ExelRepository.cs +++ b/BookPrectaBackend/Repository/ExelServices/ExelRepository.cs @@ -65,7 +65,8 @@ namespace BookPrectaBackend.Repository.ExelServices Num = worksheet.Cells[row, 3].Text, Name = worksheet.Cells[row, 4].Text, Memo = worksheet.Cells[row, 5].Text, - Amount = float.TryParse(worksheet.Cells[row, 6].Text, out float amount) ? amount : 0f, + /* Amount = float.TryParse(worksheet.Cells[row, 6].Text, out float amount) ? amount : 0f,*/ + Amount = decimal.TryParse(worksheet.Cells[row, 6].Text, out decimal amount) ? amount : 0m , Trafico = worksheet.Cells[row, 5].Text.Split().FirstOrDefault() }; diff --git a/BookPrectaBackend/Repository/Reportes/ReportesRepository.cs b/BookPrectaBackend/Repository/Reportes/ReportesRepository.cs index d169da6..5f196c4 100644 --- a/BookPrectaBackend/Repository/Reportes/ReportesRepository.cs +++ b/BookPrectaBackend/Repository/Reportes/ReportesRepository.cs @@ -1,13 +1,15 @@ using BookPrectaBackend.Context; using BookPrectaBackend.Contracts.Reportes; +using BookPrectaBackend.DTO.Reportes; using BookPrectaBackend.Models.Reportes; using Dapper; +using NPOI.Util; using System.Data; namespace BookPrectaBackend.Repository.Reportes { - public class ReportesRepository : IRptBookPrectacs + public class ReportesRepository : IRptRepository { private readonly DapperContext _context; @@ -43,10 +45,38 @@ namespace BookPrectaBackend.Repository.Reportes - /*public async Task> GetNoRelaciones() + public async Task> GetWorkingHours(string Inicio, string Fin) { - - }*/ + + var query = "[TotalTiempos]"; + using (var con = _context.CreateConnection()) + { + var result = await con.QueryAsync (query, new {@Inicio = Inicio, @Fin = Fin}, commandType: CommandType.StoredProcedure ); + return result.ToList(); + } + + } + + + + public async Task> GetTotalHoursWorkings(string Inicio, string Fin) + { + var query = "[TotalHorasWithMilitaryMinutes]"; + using var con = _context.CreateConnection(); + { + var result = await con.QueryAsync(query, new + { @Inicio = Inicio, @Fin = Fin }, commandType: CommandType.StoredProcedure); + return result.ToList(); + } + } + + + + + + + +