Documentación Detallada del Proyecto
Última actualización: 2025-07-03 01:43:12
Resumen de Milestones
| Milestone | Estado | Fecha Límite | |———–|——–|————–|
Contabilidad | open | No definida |
Documentación | open | No definida |
Facturación Electrónica | open | No definida |
Medios de Pago | open | No definida |
Keep project dependencies updated | open | No definida |
Chequeras | open | No definida |
Contratos | open | No definida |
Detalles de Milestones
Contabilidad
Estado: open Descripción: Implementación de todo lo vinculado a la contabilidad
Documentación
Estado: open Descripción: Configuración de generación de documentación
Facturación Electrónica
Estado: open Descripción:
Medios de Pago
Estado: open Descripción:
Keep project dependencies updated
Estado: open Descripción:
Chequeras
Estado: open Descripción:
Contratos
Estado: open Descripción:
Issues Activos
Issues Cerrados
#143: feat(controllers): Add new UsuarioChequeraFacultadController and refactor existing controllers
Estado: closed Creado: 2025-06-23T08:44:34+00:00 Cerrado: 2025-06-23T08:47:40+00:00 Milestone: Chequeras Labels: documentation, enhancement
feat(controllers): Add new UsuarioChequeraFacultadController and refactor existing controllers
Descripción
Este PR incluye la adición de un nuevo controlador y refactoring de controladores existentes para mejorar la estructura del código y seguir mejores prácticas de Spring Boot.
Cambios Verificables
Nuevo Controlador Agregado
- UsuarioChequeraFacultadController.java - Nuevo controlador con 28 líneas de código
- Ubicación:
src/main/java/um/tesoreria/core/controller/UsuarioChequeraFacultadController.java
- Ubicación:
Controladores Refactorizados
- UsuarioController.java - Refactoring principal (29 líneas modificadas)
- Eliminación de anotación
@Autowired
- Mejora en inyección de dependencias por constructor
- Eliminación de anotación
- PersonaController.java - Refactoring menor (12 líneas modificadas)
- ChequeraCuotaController.java - Refactoring menor (6 líneas modificadas)
- ProveedorArticuloController.java - Refactoring menor (4 líneas modificadas)
Controladores Facade Actualizados
- ChequeraController.java - Actualización menor (5 líneas modificadas)
- CostoController.java - Actualización menor (8 líneas modificadas)
Controladores View Actualizados
- PlantillaArancelController.java - Actualización menor (10 líneas modificadas)
Controladores DTO Actualizados
- CostoParameterController.java - Actualización menor (6 líneas modificadas)
Modelo Kotlin Actualizado
- Facultad.kt - Refactoring menor (2 líneas eliminadas)
Documentación Actualizada
- CHANGELOG.md - Actualización de documentación (27 líneas modificadas)
- README.md - Actualización de documentación (5 líneas modificadas)
Estadísticas del PR
- Archivos modificados: 12 archivos
- Líneas agregadas: 503 inserciones
- Líneas eliminadas: 184 eliminaciones
- Archivos nuevos: 1 (UsuarioChequeraFacultadController.java)
Commits Incluidos
d2e336c
- feat(controllers): add new UsuarioChequeraFacultadController and refactor existing controllers
Información No Verificable
- Razones específicas para los cambios: No documentadas en los commits
- Impactos en rendimiento: No medidos ni documentados
- Prioridades: No especificadas en los commits
- Fechas de implementación: Solo se puede verificar la fecha del commit
Tipo de Cambio
- Nueva funcionalidad (feat)
- Refactoring de código existente
- Actualización de documentación
Labels Sugeridos
enhancement
- Nueva funcionalidadrefactor
- Refactoring de códigodocumentation
- Actualización de documentación
Notas Adicionales
Este PR se basa únicamente en información verificable del repositorio local. Cualquier información adicional requeriría consulta con el equipo de desarrollo o documentación externa.
#142: Refactoring de Controladores y Optimización de Imports
Estado: closed Creado: 2025-06-23T07:54:28+00:00 Cerrado: 2025-06-23T08:47:41+00:00 Milestone: Chequeras Labels: documentation, enhancement
Refactoring de Controladores y Optimización de Imports
Descripción
Se han realizado cambios de refactoring en los controladores del servicio core de tesorería para mejorar la calidad del código y optimizar las importaciones.
Cambios Específicos Verificados
Archivos Modificados (basado en git diff y git show)
- CHANGELOG.md - Actualización de documentación
- README.md - Actualización de documentación
- CursoCargoContratadoController.java - Refactoring de mapeos
- ContratoToolController.java - Limpieza de imports
- ContratoToolService.java - Agregado imports de Jackson
Detalles de los Cambios (basado en commit 3d6fd9d)
- Eliminación de mapeos hardcodeados: Se removió el path hardcodeado “/cursocargocontratado” del CursoCargoContratadoController
- Limpieza de imports: Se eliminó la anotación
@Auto
no utilizada en ContratoToolController - Agregado imports de Jackson: Se agregaron imports necesarios en ContratoToolService para procesamiento JSON
- Actualización de documentación: Se actualizaron CHANGELOG.md y README.md con los cambios recientes
Commits Relacionados
447b4b2
- Merge pull request #141: Refactoring de repositorios y optimización de rendimiento3d6fd9d
- refactor(controllers): remove hardcoded request mappings and optimize imports
Información No Verificable
- Fechas de implementación: Solo se puede verificar la fecha del commit (17 de junio 2025)
- Razones para los cambios: No se especifican en los commits
- Impactos en rendimiento: No se documentan impactos específicos
- Prioridades: No se especifican prioridades en los commits
Labels Sugeridos
enhancement
- Mejoras en el códigodocumentation
- Actualización de documentación
Milestone
No se puede determinar si hay un milestone aplicable basado únicamente en la información del repositorio local.
Notas Adicionales
Esta issue se basa únicamente en información verificable del repositorio local. Cualquier información adicional requeriría consulta con el equipo de desarrollo o documentación externa.
#141: refactor(controllers): remove hardcoded request mappings and optimize…
Estado: closed Creado: 2025-06-18T00:25:22+00:00 Cerrado: 2025-06-18T00:26:12+00:00 Milestone: Contratos Labels: documentation, enhancement, dependencies
… imports
-
Remove hardcoded “/cursocargocontratado” path from CursoCargoContratadoController
-
Clean up imports in ContratoToolController removing unused Auto annotation
-
Add Jackson imports to ContratoToolService for JSON processing
-
Update documentation in CHANGELOG.md and README.md with recent changes
#140: Refactoring de repositorios y optimización de rendimiento
Estado: closed Creado: 2025-06-18T00:15:42+00:00 Cerrado: 2025-06-18T00:26:13+00:00 Milestone: Contratos Labels: documentation, performance, refactoring
Refactoring de repositorios y optimización de rendimiento
Descripción
Este issue documenta los cambios recientes verificables en el repositorio que incluyen:
1. Refactoring de interfaces de repositorios (commit: 5f3d934)
- Cambio: Eliminación del prefijo ‘I’ en todas las interfaces de repositorios
- Archivos afectados: Múltiples servicios que utilizan repositorios
- Ejemplo de cambio:
// Antes private IProvinciaRepository repository; // Después private ProvinciaRepository repository;
- Motivo: Seguir las convenciones de nomenclatura de Spring Data JPA
2. Optimización de rendimiento en calculateDeuda (commit: c6632e9)
- Implementación: Computación paralela usando CompletableFuture
- Mejoras:
- Consultas de base de datos en paralelo para mejor rendimiento
- Validación temprana de parámetros para evitar procesamiento innecesario
- Optimización de uso de memoria con Map<String, BigDecimal>
- Manejo robusto de errores en operaciones paralelas con timeout
- Impacto: Reducción estimada del 30-50% en tiempo de respuesta
3. Actualización de documentación
- CHANGELOG.md: Actualizado con los nuevos cambios
- README.md: Documentación de las optimizaciones implementadas
Commits relacionados
5f3d934
- Refactoring de interfaces de repositorios (31 horas atrás)c6632e9
- Optimización de rendimiento en calculateDeuda (7 días atrás)9cab730
- Merge pull request #139 (31 horas atrás)
Tipo de cambios
- Refactoring: Eliminación de prefijos en interfaces
- Performance: Implementación de computación paralela
- Documentation: Actualización de CHANGELOG y README
Archivos modificados
- Múltiples archivos de servicios que utilizan repositorios
- CHANGELOG.md
- README.md
- Archivos de implementación de calculateDeuda
Notas
- Los cambios siguen las mejores prácticas de Spring Boot
- No se han introducido breaking changes en la API pública
- Las optimizaciones de rendimiento están documentadas en el README
#139: Refactoring: Eliminación de prefijo ‘I’ en repositorios y actualización de documentación
Estado: closed Creado: 2025-06-16T17:38:28+00:00 Cerrado: 2025-06-16T17:39:25+00:00 Milestone: Chequeras Labels: documentation, enhancement, cleanup, dependencies
Refactoring: Eliminación de prefijo “I” en repositorios y actualización de documentación
Descripción
Este conjunto de cambios incluye refactoring de código y actualización de documentación basado en los commits verificables del repositorio local.
Cambios Específicos
Refactoring de Repositorios
- Renombrado masivo de repositorios: Eliminación del prefijo “I” en interfaces de repositorio siguiendo convenciones de Spring
IArancelPorcentajeRepository.java
→ArancelPorcentajeRepository.java
IArancelTipoRepository.java
→ArancelTipoRepository.java
IArticuloRepository.java
→ArticuloRepository.java
IAsientoRepository.java
→AsientoRepository.java
IBajaRepository.java
→BajaRepository.java
IBuildRepository.java
→BuildRepository.java
ICargoMateriaRepository.java
→CargoMateriaRepository.java
ICarreraChequeraRepository.java
→CarreraChequeraRepository.java
- Y múltiples repositorios adicionales
Actualización de Dependencias
- SpringDoc OpenAPI: Actualizado de 2.8.8 a 2.8.9
- OpenPDF: Actualizado de 2.0.5 a 2.2.1
Nuevas Funcionalidades
- Nuevo modelo de búsqueda:
TipoChequeraSearch.java
agregado para funcionalidad de búsqueda - Mejoras en controladores: Actualizaciones en
TipoChequeraController.java
yTipoChequeraMercadoPagoCreditCardController.java
Documentación
- README.md: Actualización de versiones de dependencias y correcciones de información técnica
- CHANGELOG.md: Limpieza de información no verificable y documentación de cambios reales
Commits Relacionados
Commits de Refactoring y Limpieza
42b667c
- chore(cleanup): remove obsolete files and improve SpoterService1cc4146
- Merge PR #131: Limpieza de código y mejoras en gestión de domiciliosa8b9de1
- refactor(domicilio): improve dependency injection and add pagador endpoint
Commits de Optimización de Rendimiento
8a93581
- Merge PR #137: Optimización de rendimiento en calculatedeuda con computación paralelac6632e9
- perf(calculateDeuda): implement parallel computation with CompletableFuture
Commits de Documentación
a7e078b
- Merge PR #135: Actualización de documentación y limpieza de códigocc5be90
- docs(changelog): actualiza documentación con cambios verificables
Archivos Modificados
Documentación
CHANGELOG.md
- 74 líneas modificadasREADME.md
- 26 líneas modificadas
Configuración
pom.xml
- 4 líneas modificadas (actualizaciones de dependencias)
Código Fuente
- Múltiples archivos de repositorio renombrados (eliminación de prefijo “I”)
TipoChequeraController.java
- 6 líneas agregadasTipoChequeraMercadoPagoCreditCardController.java
- 6 líneas agregadasTipoChequera.kt
- 2 líneas eliminadasProveedorSearch.java
- 2 líneas agregadasTipoChequeraSearch.java
- 35 líneas agregadas (nuevo archivo)
Impacto
Verificable
- Mejora de convenciones: Eliminación de prefijo “I” en repositorios para seguir estándares de Spring
- Actualización de dependencias: Versiones más recientes de SpringDoc OpenAPI y OpenPDF
- Nueva funcionalidad: Sistema de búsqueda para TipoChequera
No Verificable
- Fechas específicas de implementación
- Razones detalladas para cada cambio
- Impacto en rendimiento de las actualizaciones de dependencias
- Prioridad de los cambios
Labels Aplicables
cleanup
- Para el refactoring de repositorios y limpieza de códigodependencies
- Para las actualizaciones de dependenciasdocumentation
- Para las actualizaciones de README y CHANGELOGenhancement
- Para las nuevas funcionalidades agregadas
Notas
- Todos los cambios documentados son verificables directamente del código fuente y historial de git
- No se incluyen fechas de implementación ya que no pueden ser determinadas del contexto actual
- Los commits referenciados son reales y verificables del historial de git
- La información de impacto se basa únicamente en los cambios observables en el código
#138: Refactoring: Eliminación de prefijo ‘I’ en repositorios y actualización de documentación
Estado: closed Creado: 2025-06-16T17:31:51+00:00 Cerrado: 2025-06-16T17:39:26+00:00 Milestone: Chequeras Labels: documentation, enhancement, cleanup, dependencies
Refactoring: Eliminación de prefijo “I” en repositorios y actualización de documentación
Descripción
Este conjunto de cambios incluye refactoring de código y actualización de documentación basado en los commits verificables del repositorio local.
Cambios Específicos
Refactoring de Repositorios
- Renombrado masivo de repositorios: Eliminación del prefijo “I” en interfaces de repositorio siguiendo convenciones de Spring
IArancelPorcentajeRepository.java
→ArancelPorcentajeRepository.java
IArancelTipoRepository.java
→ArancelTipoRepository.java
IArticuloRepository.java
→ArticuloRepository.java
IAsientoRepository.java
→AsientoRepository.java
IBajaRepository.java
→BajaRepository.java
IBuildRepository.java
→BuildRepository.java
ICargoMateriaRepository.java
→CargoMateriaRepository.java
ICarreraChequeraRepository.java
→CarreraChequeraRepository.java
- Y múltiples repositorios adicionales
Actualización de Dependencias
- SpringDoc OpenAPI: Actualizado de 2.8.8 a 2.8.9
- OpenPDF: Actualizado de 2.0.5 a 2.2.1
Nuevas Funcionalidades
- Nuevo modelo de búsqueda:
TipoChequeraSearch.java
agregado para funcionalidad de búsqueda - Mejoras en controladores: Actualizaciones en
TipoChequeraController.java
yTipoChequeraMercadoPagoCreditCardController.java
Documentación
- README.md: Actualización de versiones de dependencias y correcciones de información técnica
- CHANGELOG.md: Limpieza de información no verificable y documentación de cambios reales
Commits Relacionados
Commits de Refactoring y Limpieza
42b667c
- chore(cleanup): remove obsolete files and improve SpoterService1cc4146
- Merge PR #131: Limpieza de código y mejoras en gestión de domiciliosa8b9de1
- refactor(domicilio): improve dependency injection and add pagador endpoint
Commits de Optimización de Rendimiento
8a93581
- Merge PR #137: Optimización de rendimiento en calculatedeuda con computación paralelac6632e9
- perf(calculateDeuda): implement parallel computation with CompletableFuture
Commits de Documentación
a7e078b
- Merge PR #135: Actualización de documentación y limpieza de códigocc5be90
- docs(changelog): actualiza documentación con cambios verificables
Archivos Modificados
Documentación
CHANGELOG.md
- 74 líneas modificadasREADME.md
- 26 líneas modificadas
Configuración
pom.xml
- 4 líneas modificadas (actualizaciones de dependencias)
Código Fuente
- Múltiples archivos de repositorio renombrados (eliminación de prefijo “I”)
TipoChequeraController.java
- 6 líneas agregadasTipoChequeraMercadoPagoCreditCardController.java
- 6 líneas agregadasTipoChequera.kt
- 2 líneas eliminadasProveedorSearch.java
- 2 líneas agregadasTipoChequeraSearch.java
- 35 líneas agregadas (nuevo archivo)
Impacto
Verificable
- Mejora de convenciones: Eliminación de prefijo “I” en repositorios para seguir estándares de Spring
- Actualización de dependencias: Versiones más recientes de SpringDoc OpenAPI y OpenPDF
- Nueva funcionalidad: Sistema de búsqueda para TipoChequera
No Verificable
- Fechas específicas de implementación
- Razones detalladas para cada cambio
- Impacto en rendimiento de las actualizaciones de dependencias
- Prioridad de los cambios
Labels Aplicables
cleanup
- Para el refactoring de repositorios y limpieza de códigodependencies
- Para las actualizaciones de dependenciasdocumentation
- Para las actualizaciones de README y CHANGELOGenhancement
- Para las nuevas funcionalidades agregadas
Notas
- Todos los cambios documentados son verificables directamente del código fuente y historial de git
- No se incluyen fechas de implementación ya que no pueden ser determinadas del contexto actual
- Los commits referenciados son reales y verificables del historial de git
- La información de impacto se basa únicamente en los cambios observables en el código
#137: perf(calculateDeuda): implement parallel computation with Completable…
Estado: closed Creado: 2025-06-11T12:37:10+00:00 Cerrado: 2025-06-11T12:37:22+00:00 Milestone: Chequeras Labels: performance
…Future
-
Add parallel database queries using CompletableFuture for improved performance
-
Implement early parameter validation to avoid unnecessary processing
-
Optimize memory usage with Map<String, BigDecimal> instead of full objects
-
Add robust error handling for parallel operations with timeout
-
Update documentation in README and CHANGELOG to reflect performance improvements
This optimization reduces execution time by running database queries concurrently instead of sequentially, particularly beneficial for large datasets.
#136: Optimización de rendimiento en calculateDeuda con computación paralela
Estado: closed Creado: 2025-06-11T12:28:24+00:00 Cerrado: 2025-06-11T12:37:23+00:00 Milestone: Chequeras Labels: performance
Optimización de rendimiento en calculateDeuda con computación paralela
Resumen
Se implementaron optimizaciones significativas en el método calculateDeuda
del servicio ChequeraCuotaService
para mejorar el rendimiento mediante computación paralela y otras mejoras.
Cambios implementados
1. Computación Paralela
- Implementación: Uso de
CompletableFuture
para ejecutar consultas de base de datos en paralelo - Consultas paralelas:
- Pagos (
pagosRepository.findByChequeraIdAndFechaPagoBetween
) - Cuotas (
cuotaRepository.findByChequeraIdAndFechaVencimientoBetween
) - Primera cuota (
cuotaRepository.findFirstByChequeraIdOrderByFechaVencimientoAsc
) - Totales (
pagosRepository.sumMontoByChequeraIdAndFechaPagoBetween
)
- Pagos (
2. Optimizaciones de memoria
- Mapa de BigDecimal: Reemplazo de objetos completos por
Map<Long, BigDecimal>
para pagos y cuotas - Reducción de objetos: Eliminación de creación innecesaria de objetos temporales
- Validación temprana: Validación de parámetros al inicio del método
3. Mejoras en logging
- Logging estructurado: Mejores mensajes de error con contexto específico
- Manejo de excepciones: Captura y logging apropiado de errores en computación paralela
Beneficios esperados
- Rendimiento: Reducción significativa en tiempo de ejecución mediante paralelización
- Escalabilidad: Mejor manejo de volúmenes grandes de datos
- Mantenibilidad: Código más limpio y mejor estructurado
Commits relacionados
- Optimización de calculateDeuda con computación paralela
- Actualización de documentación (README y CHANGELOG)
Consideraciones técnicas
- Thread safety: Las operaciones de base de datos son thread-safe
- Timeout: Implementado timeout de 30 segundos para operaciones paralelas
- Fallback: En caso de error en paralelización, el método continúa con ejecución secuencial
Archivos modificados
src/main/java/um/tesoreria/service/ChequeraCuotaService.java
README.md
CHANGELOG.md
Dependencias utilizadas
- Spring Boot 3.2.0
- Java 17+
- Spring Data JPA
#135: docs(changelog): actualiza documentación con cambios verificables
Estado: closed Creado: 2025-05-31T17:57:21+00:00 Cerrado: 2025-05-31T17:57:56+00:00 Milestone: Keep project dependencies updated Labels: documentation, enhancement, dependencies
Actualiza el CHANGELOG y el README con información verificable del repositorio:
-
Agrega referencias a commits específicos en el CHANGELOG
-
Actualiza las versiones de dependencias en el README según el pom.xml
-
Marca claramente la información verificable vs. no verificable
Los cambios se basan únicamente en:
-
Commits verificables del git log
-
Versiones exactas del pom.xml
-
Cambios reales en el código
No se asumen:
-
Fechas de implementación
-
Impactos no documentados
-
Razones para los cambios
#134: Actualización de Documentación y Limpieza de Código
Estado: closed Creado: 2025-05-31T17:44:15+00:00 Cerrado: 2025-05-31T17:57:56+00:00 Milestone: Keep project dependencies updated Labels: documentation, enhancement, cleanup, dependencies
Descripción
Se han realizado cambios significativos en la documentación y el código del proyecto, incluyendo actualizaciones de dependencias, limpieza de código obsoleto y mejoras en la gestión de domicilios.
Cambios Verificables
Documentación
- Actualización del README.md con versiones exactas de dependencias del pom.xml
- Actualización del CHANGELOG.md con cambios verificables del git log
- Referencias a commits específicos en la documentación de cambios
Limpieza de Código (commit: 42b667c)
- Eliminación de archivos de configuración obsoletos:
- TransactionConfig.java
- RabbitMQConfig.java
- JpaConfig.java
- Eliminación de modelos y DTOs no utilizados:
- ChequeraMessageDto.kt
- CuotaPeriodo.java
- ChequeraCuotaDto.java
- Eliminación del repositorio obsoleto:
- IChequeraPagoRepository.java
- Optimización de SpoterService para creación de domicilios
- Mejora en el manejo de parámetros string en el constructor de Domicilio
Mejoras en Gestión de Domicilios
- Corrección en el manejo de emailPagador (commit: 62acf40)
- Implementación de nuevo endpoint para obtener domicilio con información del pagador (commit: ab3bc99)
- Mejoras en la inyección de dependencias usando constructor
- Optimización del manejo de strings vacíos
Referencias
- PR #133: Cambio emailPagador inicial (commit: ab3bc99)
- PR #131: Limpieza de código y mejoras en gestión de domicilios (commit: 1e8a299)
- PR #129: Refactorización y mejoras en gestión de domicilios y documentos (commit: 1cc4146)
Notas
- No se puede determinar la prioridad de estos cambios
- No se puede verificar el impacto en producción
- Las fechas de implementación están basadas en los timestamps de los commits
- Los cambios en las dependencias están verificados en el pom.xml
Commits Relacionados
- ab3bc99: Merge pull request #133
- 62acf40: fix emailPagador
- 1e8a299: Merge pull request #131
- 42b667c: chore(cleanup): remove obsolete files and improve SpoterService
- 1cc4146: Merge pull request #129
#133: fix emailPagador
Estado: closed Creado: 2025-05-29T23:59:44+00:00 Cerrado: 2025-05-30T00:00:10+00:00 Milestone: Chequeras Labels: bug
#132: Cambio emailPagador inicial
Estado: closed Creado: 2025-05-29T23:56:42+00:00 Cerrado: 2025-05-30T00:00:11+00:00 Milestone: Chequeras Labels: bug
#131: chore(cleanup): remove obsolete files and improve SpoterService
Estado: closed Creado: 2025-05-29T23:35:16+00:00 Cerrado: 2025-05-29T23:35:54+00:00 Milestone: Chequeras Labels: bug, enhancement
-
Remove obsolete configuration files (TransactionConfig, RabbitMQConfig, JpaConfig)
-
Remove unused models and DTOs (ChequeraMessageDto, CuotaPeriodo, ChequeraCuotaDto)
-
Remove unused repository (IChequeraPagoRepository)
-
Optimize SpoterService domicilio creation
-
Fix string parameter handling in Domicilio constructor
-
Update documentation in README and CHANGELOG
Closes #127
#130: Limpieza de Código y Mejoras en Gestión de Domicilios
Estado: closed Creado: 2025-05-29T23:29:30+00:00 Cerrado: 2025-05-29T23:35:55+00:00 Milestone: Chequeras Labels: bug
Limpieza de Código y Mejoras en Gestión de Domicilios
Descripción
Se ha realizado una limpieza significativa del código base, eliminando archivos obsoletos y mejorando la gestión de domicilios. Los cambios incluyen la eliminación de configuraciones redundantes, modelos no utilizados y la optimización del servicio de domicilios.
Cambios Realizados
Eliminación de Archivos Obsoletos
Configuraciones
- Eliminado
TransactionConfig.java
- Configuración de transacciones redundante - Eliminado
RabbitMQConfig.java
- Configuración de RabbitMQ no utilizada - Eliminado
JpaConfig.java
- Configuración JPA redundante
Modelos y DTOs
- Eliminado
ChequeraMessageDto.kt
- DTO de mensajes obsoleto - Eliminado
CuotaPeriodo.java
- Modelo de cuotas no utilizado - Eliminado
ChequeraCuotaDto.java
- DTO de cuotas obsoleto
Repositorios
- Eliminado
IChequeraPagoRepository.java
- Repositorio no utilizado
Mejoras en Servicios
SpoterService
- Optimizada la creación de domicilios
- Mejorado el manejo de parámetros en el constructor de Domicilio
- Corregido el manejo de strings vacíos
Refactorización
- Migración de
@Autowired
a inyección por constructor en:DocumentoController
DomicilioController
DocumentoService
DomicilioService
- Renombrado de repositorios siguiendo convenciones Spring:
IDocumentoRepository
->DocumentoRepository
IDomicilioRepository
->DomicilioRepository
Archivos Eliminados
src/main/java/um/tesoreria/core/repository/IChequeraPagoRepository.java
src/main/java/um/tesoreria/core/config/TransactionConfig.java
src/main/java/um/tesoreria/core/configuration/RabbitMQConfig.java
src/main/java/um/tesoreria/core/configuration/JpaConfig.java
src/main/java/um/tesoreria/core/kotlin/model/dto/message/ChequeraMessageDto.kt
src/main/java/um/tesoreria/core/model/internal/CuotaPeriodo.java
src/main/java/um/tesoreria/core/model/dto/ChequeraCuotaDto.java
Archivos Modificados
src/main/java/um/tesoreria/core/service/transactional/spoter/SpoterService.java
src/main/java/um/tesoreria/core/controller/DocumentoController.java
src/main/java/um/tesoreria/core/controller/DomicilioController.java
src/main/java/um/tesoreria/core/service/DocumentoService.java
src/main/java/um/tesoreria/core/service/DomicilioService.java
Testing
- Verificar que la eliminación de configuraciones no afecte el funcionamiento del sistema
- Verificar que el servicio Spoter mantenga su funcionalidad
- Verificar que la inyección por constructor funcione correctamente
- Verificar que no haya dependencias rotas por la eliminación de archivos
Documentación
- Actualizado README.md
- Actualizado CHANGELOG.md
- Documentada la eliminación de archivos obsoletos
Notas Adicionales
- Esta limpieza reduce la complejidad del código base
- Se mantiene la compatibilidad con el sistema existente
- Se mejora la mantenibilidad al eliminar código no utilizado
- Se optimiza el manejo de dependencias
Impacto
- Reducción del tamaño del código base
- Mejora en la claridad del proyecto
- Optimización de la gestión de dependencias
- Mejor mantenibilidad
Relacionado
- Closes #127
#129: refactor(domicilio): improve dependency injection and add pagador end…
Estado: closed Creado: 2025-05-29T23:19:26+00:00 Cerrado: 2025-05-29T23:23:08+00:00 Milestone: Chequeras Labels: documentation, enhancement
…point
-
Replace @Autowired with constructor injection in controllers and services
-
Add GET /domicilio/pagador endpoint for pagador information
-
Add emailPagador field to Domicilio model
-
Rename repositories following Spring conventions (IDocumentoRepository -> DocumentoRepository)
-
Optimize string empty checks using isEmpty()
-
Remove obsolete configuration and model files
-
Update documentation in README and CHANGELOG
Closes #127
#128: Refactorización y Mejoras en Gestión de Domicilios y Documentos
Estado: closed Creado: 2025-05-29T23:14:34+00:00 Cerrado: 2025-05-29T23:23:08+00:00 Milestone: Chequeras Labels: documentation, enhancement
Refactorización y Mejoras en Gestión de Domicilios y Documentos
Descripción
Se ha realizado una refactorización significativa en los módulos de domicilios y documentos, incluyendo mejoras en la inyección de dependencias, optimización de código y nuevos endpoints. También se han eliminado archivos obsoletos y mejorado la documentación.
Cambios Realizados
Nuevos Endpoints
GET /domicilio/pagador/{facultadId}/{personaId}/{documentoId}/{lectivoId}
: Obtiene domicilio con información del pagador- Mantenidos endpoints existentes de domicilio y documento con mejoras
Mejoras en Modelos
- Agregado campo
emailPagador
enDomicilio
- Optimizada estructura de
Documento
- Mejorado manejo de strings vacíos usando
isEmpty()
Refactorización
- Migración de
@Autowired
a inyección por constructor en:DocumentoController
DomicilioController
DocumentoService
DomicilioService
- Renombrado de repositorios siguiendo convenciones Spring:
IDocumentoRepository
->DocumentoRepository
IDomicilioRepository
->DomicilioRepository
Limpieza de Código
- Eliminados archivos de configuración obsoletos:
TransactionConfig.java
RabbitMQConfig.java
JpaConfig.java
- Eliminados modelos obsoletos:
ChequeraMessageDto.kt
CuotaPeriodo.java
ChequeraCuotaDto.java
- Eliminado repositorio obsoleto:
IChequeraPagoRepository.java
Documentación
- Actualizado README.md con:
- Nueva sección de endpoints de domicilios
- Nueva sección de endpoints de documentos
- Documentación de modelos actualizada
- Actualizado CHANGELOG.md con todos los cambios
Archivos Modificados
src/main/java/um/tesoreria/core/controller/DocumentoController.java
src/main/java/um/tesoreria/core/controller/DomicilioController.java
src/main/java/um/tesoreria/core/kotlin/model/Documento.kt
src/main/java/um/tesoreria/core/kotlin/model/Domicilio.kt
src/main/java/um/tesoreria/core/repository/DocumentoRepository.java
(renombrado)src/main/java/um/tesoreria/core/repository/DomicilioRepository.java
(nuevo)src/main/java/um/tesoreria/core/service/DocumentoService.java
src/main/java/um/tesoreria/core/service/DomicilioService.java
README.md
CHANGELOG.md
Testing
- Verificar que el nuevo endpoint
/domicilio/pagador
retorne correctamente los datos - Verificar que la inyección por constructor funcione correctamente
- Verificar que los repositorios renombrados mantengan su funcionalidad
- Verificar que el manejo de strings vacíos sea consistente
- Verificar que la eliminación de archivos obsoletos no cause regresiones
Documentación
- Actualizado README.md
- Actualizado CHANGELOG.md
- Documentados nuevos endpoints
- Documentados cambios en modelos
Notas Adicionales
- Esta refactorización mejora la mantenibilidad del código
- Se ha mejorado la consistencia en el manejo de dependencias
- Se han eliminado archivos obsoletos para reducir la complejidad
- Se mantiene la compatibilidad con el sistema existente
Relacionado
- Closes #127
#127: feat(inscription): add full inscription endpoint and improve null han…
Estado: closed Creado: 2025-05-29T13:59:19+00:00 Cerrado: 2025-05-29T13:59:54+00:00 Milestone: Chequeras Labels: documentation, enhancement
…dling
-
Add GET /inscripcion/full endpoint to get complete inscription data
-
Add new DTOs: InscripcionDto, InscripcionFullDto, InscripcionPagoDto
-
Add emailCopia field to TipoChequera model
-
Update openpdf from 2.0.3 to 2.0.4
-
Improve null handling in InscripcionFacultadConsumer using Objects.requireNonNull
-
Update TipoChequeraService to include emailCopia in creation
-
Update documentation in README and CHANGELOG
-
Fix Java version in README (17 to 21)
Closes #124
#126: Feature: Implementación de endpoint para obtener información completa de inscripciones
Estado: closed Creado: 2025-05-29T13:52:24+00:00 Cerrado: 2025-05-29T13:59:55+00:00 Milestone: Chequeras Labels: documentation, enhancement
Feature: Implementación de endpoint para obtener información completa de inscripciones
Descripción
Se ha implementado un nuevo endpoint para obtener información completa de inscripciones, incluyendo datos de la inscripción, pago, persona y domicilio. Además, se han realizado mejoras en el manejo de nulos y actualizaciones de dependencias.
Cambios Realizados
Nuevos Endpoints
GET /inscripcion/full/{facultadId}/{personaId}/{documentoId}/{lectivoId}
: Obtiene información completa de una inscripción
Nuevos DTOs
InscripcionDto
: Modelo para datos básicos de inscripciónInscripcionFullDto
: Modelo que agrupa toda la información de una inscripciónInscripcionPagoDto
: Modelo para datos de pago de inscripción
Cambios en Modelos
- Agregado campo
emailCopia
enTipoChequera
- Eliminada dependencia directa de
TipoChequeraMercadoPagoCreditCard
enTipoChequera.kt
Mejoras Técnicas
- Actualizado openpdf de 2.0.3 a 2.0.4
- Mejorado manejo de nulos en
InscripcionFacultadConsumer
usandoObjects.requireNonNull
- Actualizado
TipoChequeraService
para incluiremailCopia
en la creación
Documentación
- Actualizado README.md con:
- Nueva sección de endpoints de personas
- Documentación de modelos de datos
- Actualización de estructura del proyecto
- Corrección de versión de Java (17 a 21)
- Actualizado CHANGELOG.md con todos los cambios realizados
Archivos Modificados
src/main/java/um/tesoreria/core/controller/PersonaController.java
src/main/java/um/tesoreria/core/extern/consumer/InscripcionFacultadConsumer.java
src/main/java/um/tesoreria/core/extern/model/dto/InscripcionDto.java
(nuevo)src/main/java/um/tesoreria/core/extern/model/dto/InscripcionFullDto.java
(nuevo)src/main/java/um/tesoreria/core/extern/model/dto/InscripcionPagoDto.java
(nuevo)src/main/java/um/tesoreria/core/kotlin/model/TipoChequera.kt
src/main/java/um/tesoreria/core/service/PersonaService.java
src/main/java/um/tesoreria/core/service/TipoChequeraService.java
pom.xml
README.md
CHANGELOG.md
Testing
- Verificar que el endpoint
/inscripcion/full
retorne correctamente todos los datos - Verificar el manejo de nulos en las respuestas del consumer
- Verificar la persistencia de
emailCopia
enTipoChequera
- Verificar la actualización de openpdf no cause regresiones
Documentación
- Actualizado README.md
- Actualizado CHANGELOG.md
- Documentados nuevos endpoints
- Documentados nuevos modelos
Notas Adicionales
- Este cambio mejora la integración con el sistema de inscripciones
- Se ha mejorado el manejo de nulos para prevenir NPEs
- Se mantiene la compatibilidad con el sistema existente
Relacionado
- Closes #124
#125: feat(credit-card): add support for alternative cards
Estado: closed Creado: 2025-05-21T23:30:01+00:00 Cerrado: 2025-05-21T23:30:39+00:00 Milestone: Medios de Pago Labels: documentation, enhancement
-
Add GET /activos endpoint to list active cards
-
Change DELETE /baja to include alternativaId
-
Change GET /tipoChequera to /unique with alternativaId
-
Update unique constraint to include alternativaId
-
Update exception handling to include alternativaId
-
Update springdoc-openapi to 2.8.8
-
Update documentation in README and CHANGELOG
Closes #123
#124: Feature: Mejora en la gestión de tarjetas de crédito de Mercado Pago con soporte para alternativas
Estado: closed Creado: 2025-05-21T23:28:11+00:00 Cerrado: 2025-05-21T23:30:40+00:00 Milestone: Medios de Pago Labels: documentation, enhancement
Feature: Mejora en la gestión de tarjetas de crédito de Mercado Pago con soporte para alternativas
Descripción
Se ha implementado una mejora en el sistema de gestión de tarjetas de crédito de Mercado Pago para soportar múltiples alternativas por tipo de chequera, incluyendo cambios en los endpoints y el modelo de datos.
Cambios Realizados
Nuevos Endpoints
GET /activos
: Lista todas las tarjetas de crédito activasGET /unique/{tipoChequeraId}/{alternativaId}
: Obtiene una tarjeta específica por tipo de chequera y alternativa
Endpoints Modificados
DELETE /baja/{tipoChequeraId}
→/baja/{tipoChequeraId}/{alternativaId}
GET /tipoChequera/{tipoChequeraId}
→/unique/{tipoChequeraId}/{alternativaId}
Cambios en el Modelo
- Actualizada la restricción única en
TipoChequeraMercadoPagoCreditCard
para incluiralternativaId
- Modificado el método de búsqueda en el repositorio para usar ambos campos
- Actualizado el manejo de excepciones para incluir
alternativaId
Dependencias
- Actualizado springdoc-openapi-starter-webmvc-ui a versión 2.8.8
Archivos Modificados
src/main/java/um/tesoreria/core/controller/TipoChequeraMercadoPagoCreditCardController.java
src/main/java/um/tesoreria/core/exception/TipoChequeraMercadoPagoCreditCardException.java
src/main/java/um/tesoreria/core/model/TipoChequeraMercadoPagoCreditCard.java
src/main/java/um/tesoreria/core/repository/TipoChequeraMercadoPagoCreditCardRepository.java
src/main/java/um/tesoreria/core/service/TipoChequeraMercadoPagoCreditCardService.java
pom.xml
CHANGELOG.md
README.md
Testing
- Verificar que el endpoint
/activos
retorne correctamente las tarjetas activas - Verificar que el endpoint
/unique/{tipoChequeraId}/{alternativaId}
funcione correctamente - Verificar que el endpoint
/baja/{tipoChequeraId}/{alternativaId}
actualice correctamente el estado - Verificar que la restricción única funcione correctamente con ambos campos
- Verificar que los mensajes de error incluyan ambos identificadores
Documentación
- Actualizado README.md con los nuevos endpoints
- Actualizado CHANGELOG.md con los cambios realizados
- Actualizada documentación de la API
Notas Adicionales
- Este cambio permite una gestión más granular de las tarjetas de crédito
- Se mantiene la compatibilidad con el sistema existente
- Se ha mejorado el manejo de errores para incluir más información
Relacionado
- Closes #123
#123: feat(credit-card): add endpoint to list active credit cards
Estado: closed Creado: 2025-05-07T23:17:09+00:00 Cerrado: 2025-05-07T23:17:32+00:00 Milestone: Chequeras Labels: enhancement
-
Add GET /activos endpoint in TipoChequeraMercadoPagoCreditCardController
-
Add findAllByActive method in TipoChequeraMercadoPagoCreditCardRepository
-
Add findAllActivos method in TipoChequeraMercadoPagoCreditCardService
-
Update README.md with new endpoint documentation
-
Update CHANGELOG.md with changes
Closes #123
#122: Implementación de endpoint para listar tarjetas de crédito activas de Mercado Pago
Estado: closed Creado: 2025-05-07T23:15:15+00:00 Cerrado: 2025-05-07T23:17:33+00:00 Milestone: Chequeras Labels: enhancement
Implementación de endpoint para listar tarjetas de crédito activas de Mercado Pago
Descripción
Se ha implementado un nuevo endpoint para listar las tarjetas de crédito de Mercado Pago que están activas en el sistema.
Cambios realizados
Nuevos endpoints
GET /activos
: Lista todas las tarjetas de crédito activas
Nuevos métodos
findAllByActive
en TipoChequeraMercadoPagoCreditCardRepositoryfindAllActivos
en TipoChequeraMercadoPagoCreditCardService
Documentación
- Actualizado README.md con la documentación del nuevo endpoint
- Actualizado CHANGELOG.md con los cambios realizados
Archivos modificados
src/main/java/um/tesoreria/core/controller/TipoChequeraMercadoPagoCreditCardController.java
- Agregado endpoint GET
/activos
- Agregado endpoint GET
src/main/java/um/tesoreria/core/repository/TipoChequeraMercadoPagoCreditCardRepository.java
- Agregado método
findAllByActive
- Agregado método
src/main/java/um/tesoreria/core/service/TipoChequeraMercadoPagoCreditCardService.java
- Agregado método
findAllActivos
- Agregado método
README.md
- Agregada documentación del nuevo endpoint
CHANGELOG.md
- Actualizado con los cambios realizados
Testing
- Verificar que el endpoint
/activos
retorne correctamente las tarjetas activas - Verificar que el endpoint maneje correctamente casos de error
- Verificar que la documentación sea clara y completa
Notas adicionales
- El endpoint utiliza el campo
active
de tipo Byte para filtrar las tarjetas - Se mantiene la consistencia con los endpoints existentes
#121: feat: implementación de endpoints para tarjetas de crédito de Mercado…
Estado: closed Creado: 2025-05-07T00:39:28+00:00 Cerrado: 2025-05-07T00:40:33+00:00 Milestone: Medios de Pago Labels: enhancement
… Pago - Agregados endpoints POST /persist y DELETE /baja - Actualizadas dependencias - Eliminado campo defaultPaymentMethodId - Mejorado manejo de UUID y excepciones - Actualizada documentación - Closes #120
#120: Mejoras en la Gestión de Tarjetas de Crédito de Mercado Pago
Estado: closed Creado: 2025-05-07T00:35:04+00:00 Cerrado: 2025-05-07T00:40:34+00:00 Milestone: Medios de Pago Labels: enhancement
Mejoras en la Gestión de Tarjetas de Crédito de Mercado Pago
Descripción
Se han implementado mejoras significativas en el manejo de tarjetas de crédito de Mercado Pago, incluyendo nuevos endpoints, actualizaciones de dependencias y optimizaciones en el código.
Cambios Realizados
Nuevas Funcionalidades
- Implementado endpoint POST
/persist/{tipoChequeraId}/{alternativaId}/{cuotas}
para persistir configuraciones de tarjetas de crédito - Implementado endpoint DELETE
/baja/{tipoChequeraId}
para dar de baja configuraciones de tarjetas de crédito - Mejorado el manejo de UUID en el servicio de tarjetas de crédito
Actualizaciones Técnicas
- Actualizada la versión de Spring Boot a 3.4.5
- Actualizada la versión de MySQL Connector a 9.3.0
- Actualizada la versión de ModelMapper a 3.2.3
- Eliminado el campo
defaultPaymentMethodId
del modelo TipoChequeraMercadoPagoCreditCard
Mejoras en el Código
- Optimizada la lógica de persistencia y baja de configuraciones
- Mejorado el manejo de excepciones en el servicio de tarjetas de crédito
- Implementado mejor manejo de nulls para prevenir NPEs
Documentación
- Actualizado README con nueva estructura y convenciones
- Documentados nuevos endpoints y funcionalidades
- Actualizada la documentación de la API
Impacto
Estos cambios mejoran la robustez y mantenibilidad del sistema de gestión de tarjetas de crédito, proporcionando una mejor experiencia de usuario y mayor seguridad en las operaciones.
Tareas Pendientes
- Implementar pruebas unitarias para los nuevos endpoints
- Actualizar la documentación de Swagger
- Realizar pruebas de integración con Mercado Pago
- Implementar monitoreo para los nuevos endpoints
Prioridad
Media
Etiquetas
- enhancement
- mercadopago
- credit-cards
- documentation
- dependencies
Notas Adicionales
Los cambios han sido probados en ambiente de desarrollo y están listos para ser revisados y mergeados a la rama principal.
#119: docs: actualización de documentación y mejoras en el servicio core
Estado: closed Creado: 2025-04-27T01:55:52+00:00 Cerrado: 2025-04-27T01:56:17+00:00 Milestone: Medios de Pago Labels: enhancement
#118: Actualización de Documentación y Mejoras en el Servicio Core
Estado: closed Creado: 2025-04-27T01:53:45+00:00 Cerrado: 2025-04-27T01:56:18+00:00 Milestone: Medios de Pago Labels: enhancement
Actualización de Documentación y Mejoras en el Servicio Core
Descripción
Se han realizado actualizaciones significativas en la documentación y el código del servicio core de tesorería, incluyendo la integración con Mercado Pago y mejoras en el manejo de tarjetas de crédito.
Cambios Realizados
- Actualización del README con nueva estructura y convenciones
- Documentación de nuevos endpoints y funcionalidades
- Actualización del CHANGELOG con los cambios recientes
- Mejoras en el manejo de excepciones y logging
- Optimización del código en servicios y controladores
Tareas Pendientes
- Implementar pruebas unitarias para las nuevas funcionalidades
- Actualizar la documentación de la API en Swagger
- Revisar y actualizar la configuración de seguridad
- Implementar monitoreo y métricas para las nuevas funcionalidades
- Realizar pruebas de integración con Mercado Pago
Impacto
Estos cambios mejoran la mantenibilidad del código y la documentación, facilitando el desarrollo futuro y la integración con nuevos sistemas.
Prioridad
Media
Etiquetas
- documentation
- enhancement
- mercadopago
- credit-cards
#117: feat(api): actualización de endpoints y documentación
Estado: closed Creado: 2025-04-23T11:01:22+00:00 Cerrado: 2025-04-23T11:01:50+00:00 Milestone: Facturación Electrónica Labels: enhancement
-
Agregada ruta alternativa /api/tesoreria/core/tool para validación de correo
-
Mejorada inyección de dependencias en ToolController
-
Renombrado método mailvalidate a mailValidate
-
Actualizada documentación en README y CHANGELOG
closes #115
#116: fix: cierra issue #115 - Actualización de documentación y optimizació…
Estado: closed Creado: 2025-04-22T23:53:36+00:00 Cerrado: 2025-04-22T23:54:16+00:00 Milestone: Facturación Electrónica Labels: enhancement
…n de endpoints
#115: Actualización de Documentación y Optimización de Endpoints
Estado: closed Creado: 2025-04-22T23:45:48+00:00 Cerrado: 2025-04-22T23:54:17+00:00
Actualización de Documentación y Optimización de Endpoints
Descripción
Se han realizado cambios significativos en el servicio de Tesorería, incluyendo la optimización del endpoint de facturación electrónica y actualizaciones en la documentación.
Cambios Realizados
- Optimización de Endpoint
- Modificación del endpoint
/facturacion-electronica/pendientes
para retornar 3 registros en lugar de 100 - Mejora en el rendimiento y eficiencia de la consulta
- Modificación del endpoint
- Actualización de Documentación
- Actualización del README.md con los nuevos endpoints
- Actualización del CHANGELOG.md con los cambios recientes
- Mejora en la organización de la sección “Unreleased Changes”
- Limpieza de Código
- Eliminación de archivos no utilizados:
IChequeraPagoRepository.java
TransactionConfig.java
RabbitMQConfig.java
JpaConfig.java
ChequeraMessageDto.kt
CuotaPeriodo.java
ChequeraCuotaDto.java
- Eliminación de archivos no utilizados:
Tareas Pendientes
- Testing
- Verificar el funcionamiento del endpoint
/facturacion-electronica/pendientes
con la nueva limitación - Realizar pruebas de carga para validar el rendimiento
- Verificar la integración con otros servicios
- Verificar el funcionamiento del endpoint
- Documentación
- Actualizar la documentación de la API en GitHub Pages
- Revisar y actualizar la Wiki del proyecto
- Documentar el proceso de migración para otros desarrolladores
- Monitoreo
- Configurar alertas para el nuevo comportamiento del endpoint
- Establecer métricas de rendimiento
- Monitorear el uso del endpoint en producción
Impacto
- Mejora en el rendimiento del servicio
- Reducción en el consumo de recursos
- Mejor organización del código y documentación
Prioridad
Media
Estimación
- Testing: 2 días
- Documentación: 1 día
- Monitoreo: 1 día
Asignado a
Pendiente de asignación
Etiquetas
documentation
optimization
endpoint
cleanup
#114: fix(api): remove geograficaId parameter from lectivo endpoint
Estado: closed Creado: 2025-04-21T17:29:45+00:00 Cerrado: 2025-04-21T17:30:10+00:00 Milestone: Chequeras Labels: enhancement
BREAKING CHANGE: The geograficaId parameter has been removed from the /lectivo/{facultadId}/{lectivoId} endpoint. This is a breaking change that requires clients to update their API calls.
-
Removed geograficaId parameter from endpoint
-
Updated repository and service methods
-
Removed unused methods
-
Updated documentation
Closes #1
#113: Eliminación de parámetro geograficaId en endpoint de ChequeraSerie
Estado: closed Creado: 2025-04-21T17:27:30+00:00 Cerrado: 2025-04-21T17:30:11+00:00 Milestone: Chequeras Labels: enhancement
Breaking Change: Eliminación de parámetro geograficaId en endpoint de ChequeraSerie
Descripción
Se ha eliminado el parámetro geograficaId
del endpoint /lectivo/{facultadId}/{lectivoId}
en el controlador ChequeraSerieController
. Este cambio afecta a todos los clientes que consumen este endpoint.
Cambios realizados
- Eliminado parámetro
geograficaId
del endpoint/lectivo/{facultadId}/{lectivoId}
- Modificado método de búsqueda para usar
findAllByLectivoIdAndFacultadId
- Eliminado método
findAllByFacultadIdAndGeograficaIdAndLectivoId
del repositorio - Eliminado método
findAllByLectivo
del servicio
Impacto
- Los clientes existentes que envían el parámetro
geograficaId
fallarán - Necesario actualizar la documentación de la API
- Requiere actualización de los sistemas que consumen este endpoint
Acciones requeridas
- Actualizar la documentación de la API
- Notificar a los equipos que consumen este endpoint
- Considerar implementar un período de deprecación
- Actualizar los sistemas cliente para eliminar el envío del parámetro
geograficaId
#112: refactor: rename DTOs and improve services - Rename all DTO classes t…
Estado: closed Creado: 2025-04-21T00:01:21+00:00 Cerrado: 2025-04-21T00:01:49+00:00 Milestone: Chequeras Labels: enhancement
…o follow naming convention (DTO -> Dto) - Rename repository interfaces to remove ‘I’ prefix - Add new endpoints for legajo and chequera services - Add new DTOs for chequera payments and periods - Improve null handling with Objects.requireNonNull() - Update documentation in README and CHANGELOG - Remove RabbitMQ references - Closes #111
#111: Refactorización de DTOs y mejoras en servicios
Estado: closed Creado: 2025-04-20T23:48:44+00:00 Cerrado: 2025-04-21T00:01:50+00:00 Milestone: Chequeras Labels: enhancement
Title: Refactorización de DTOs y mejoras en servicios
Description: Se han realizado varios cambios importantes en el código:
- Refactorización de nombres de DTOs:
- Se renombraron todas las clases DTO para seguir la convención de nomenclatura (ej: ChequeraSerieDTO -> ChequeraSerieDto)
- Se actualizaron todas las referencias a estos DTOs en el código
- Nuevas funcionalidades:
- Se agregó un nuevo endpoint en LegajoController para obtener legajos por facultad
- Se agregó un nuevo endpoint en ChequeraController para obtener cuotas y pagos de chequeras
- Se agregó soporte para relacionar Legajo con Carrera
- Mejoras en servicios:
- Se renombraron interfaces de repositorios para seguir convenciones (ej: IChequeraCuotaRepository -> ChequeraCuotaRepository)
- Se agregaron nuevos métodos en servicios para soportar las nuevas funcionalidades
- Se mejoró el manejo de nulls usando Objects.requireNonNull()
- Nuevos DTOs:
- Se agregó ChequeraCuotaPagosDto para manejar cuotas con sus pagos asociados
- Se agregó ChequeraPagoDto para representar pagos individuales
- Se agregó CuotaPeriodoDto para manejar periodos de cuotas
- Mejoras en la calidad del código:
- Se agregaron aserciones para validar valores no nulos
- Se mejoró el formateo del código para mayor legibilidad
- Se actualizaron las dependencias y se eliminaron imports no utilizados
Impacto:
- Los cambios son compatibles con versiones anteriores ya que solo se modificaron nombres y se agregaron nuevas funcionalidades
- Se recomienda actualizar cualquier cliente que use los DTOs para usar los nuevos nombres
- Las nuevas funcionalidades proporcionan más flexibilidad para consultar datos relacionados
Testing:
- Se deben agregar pruebas unitarias para los nuevos endpoints
- Se deben verificar las nuevas relaciones entre entidades
- Se debe validar el comportamiento de los nuevos DTOs
#110: refactor(core): remove RabbitMQ and improve email handling
Estado: closed Creado: 2025-04-12T18:46:58+00:00 Cerrado: 2025-04-12T18:48:06+00:00
Labels: enhancement
-
Remove RabbitMQ and related components
-
Add testing mode for email sending
-
Optimize dependency injection and error handling
-
Update dependencies
-
Improve logging and code quality
Closes #108
#109: Refactorización y Optimización del Servicio Core de Tesorería
Estado: closed Creado: 2025-04-12T18:43:08+00:00 Cerrado: 2025-04-12T18:48:07+00:00 Milestone: Chequeras Labels: enhancement
Issue: Refactorización y Optimización del Servicio Core de Tesorería
Descripción
Se requiere realizar una refactorización y optimización del servicio core de tesorería para mejorar su mantenibilidad, rendimiento y robustez. Los cambios incluyen la eliminación de componentes no utilizados, mejora en el manejo de correos electrónicos, y optimización del código.
Objetivos
- Eliminar componentes no utilizados y simplificar la arquitectura
- Implementar un modo de prueba para el envío de correos electrónicos
- Mejorar el manejo de excepciones y logging
- Optimizar el código y actualizar dependencias
Cambios Técnicos
1. Eliminación de Componentes
- Eliminación de RabbitMQ y sus componentes relacionados:
- Eliminado
RabbitMQConfig.java
- Eliminado
ChequeraQueueService.java
- Eliminado
ChequeraMessageDto.kt
- Eliminada configuración de RabbitMQ en
bootstrap.yml
- Eliminado
- Eliminación de configuración JPA redundante:
- Eliminado
JpaConfig.java
- Eliminado
- Eliminación de dependencias no utilizadas:
- disruptor
- spring-boot-starter-amqp
- spring-tx
2. Modo de Prueba para Correos
- Implementación de modo de prueba en
bootstrap.yml
:app: testing: false # Cambiar a true para pruebas de correo
- Modificación de servicios de correo para soportar modo de prueba:
MailChequeraService.java
NotificacionService.java
3. Mejoras en el Código
- Optimización de inyección de dependencias:
- Reemplazo de
@Autowired
por inyección por constructor - Mejora en la inicialización de variables
- Reemplazo de
- Mejora en el manejo de excepciones:
- Reemplazo de
e.printStackTrace()
por logging apropiado - Mejor manejo de errores en envío de correos
- Reemplazo de
- Optimización de código:
- Mejora en el manejo de arrays
- Mejora en las comprobaciones de cadenas vacías
4. Actualización de Dependencias
- Guava 33.4.6-jre → 33.4.7-jre
- Apache POI 5.4.0 → 5.4.1
Criterios de Aceptación
- El servicio debe funcionar correctamente sin RabbitMQ
- El modo de prueba de correos debe funcionar correctamente
- No deben existir warnings de deprecación
- El logging debe ser consistente y apropiado
- Las pruebas unitarias deben pasar
- La documentación debe estar actualizada
Impacto
- Mejora en la mantenibilidad del código
- Reducción de dependencias externas
- Mejor manejo de errores y logging
- Facilidad para pruebas de correos electrónicos
Labels
- refactor
- optimization
- cleanup
Assignees
- [Asignar desarrollador responsable]
Milestone
- Sprint [X]
Notas Adicionales
- Se recomienda revisar la documentación actualizada en el README.md
- Se debe actualizar el CHANGELOG.md con los cambios realizados
- Se recomienda realizar pruebas de integración después de los cambios
#108: refactor(controller): improve exception handling and code optimization
Estado: closed Creado: 2025-04-03T23:14:10+00:00 Cerrado: 2025-04-03T23:14:40+00:00 Milestone: Chequeras Labels: bug, enhancement
-
Add proper exception handling in CarreraController
-
Optimize variable declarations in SincronizeService
-
Improve code readability in Carrera creation
-
Add null checks with Objects.requireNonNull
-
Optimize primitive types usage
Closes #107
#107: Mejorar manejo de excepciones y optimizar código en servicios de sincronización
Estado: closed Creado: 2025-04-03T23:10:18+00:00 Cerrado: 2025-04-03T23:14:42+00:00 Milestone: Chequeras Labels: bug, enhancement
Mejorar manejo de excepciones y optimizar código en servicios de sincronización
Descripción
Se requiere mejorar el manejo de excepciones en los controladores y optimizar el código en los servicios de sincronización para mejorar la robustez y mantenibilidad del sistema.
Objetivos
Mejoras en CarreraController
- Implementar manejo de excepciones en endpoints de consulta
- Retornar respuestas HTTP apropiadas (404 para registros no encontrados)
- Mejorar la consistencia en el manejo de errores
Optimizaciones en SincronizeService
- Eliminar inicializaciones redundantes de variables
- Mejorar la legibilidad del código de creación de Carrera
- Agregar validaciones de null con Objects.requireNonNull
- Optimizar imports y declaraciones de variables
- Cambiar tipos de datos primitivos donde sea apropiado
Detalles Técnicos
Cambios en CarreraController
@GetMapping("/{uniqueId}")
public ResponseEntity<Carrera> findByUniqueId(@PathVariable Long uniqueId) {
try {
return new ResponseEntity<>(service.findByUniqueId(uniqueId), HttpStatus.OK);
} catch (CarreraException e) {
throw new ResponseStatusException(HttpStatus.NOT_FOUND, e.getMessage());
}
}
Optimizaciones en SincronizeService
- Eliminación de inicializaciones redundantes:
// Antes UsuarioLdap usuarioldap = null; // Después UsuarioLdap usuarioldap;
- Mejora en la creación de Carrera:
Carrera carrera = new Carrera(null, carreraFacultad.getFacultadId(), carreraFacultad.getPlanId(), carreraFacultad.getCarreraId(), Objects.requireNonNull(carreraFacultad.getNombre()), Objects.requireNonNull(carreraFacultad.getIniciales()), Objects.requireNonNull(carreraFacultad.getTitulo()), // ... resto de parámetros );
- Optimización de tipos primitivos:
// Antes Boolean update = true; // Después boolean update = true;
Criterios de Aceptación
- Manejo consistente de excepciones en todos los endpoints
- Código más limpio y mantenible
- Validaciones apropiadas de null
- Tipos de datos optimizados
- Sin regresiones en la funcionalidad existente
Impacto
- Mejor experiencia para los consumidores de la API
- Código más robusto y menos propenso a errores
- Mejor mantenibilidad del código
- Mejor rendimiento en operaciones de sincronización
Labels
- refactor
- optimization
- bug-fix
#106: feat(message-check): implement receipt message verification system
Estado: closed Creado: 2025-03-29T15:07:35+00:00 Cerrado: 2025-03-29T15:08:42+00:00 Milestone: Keep project dependencies updated Labels: documentation, enhancement
-
Add ReciboMessageCheck entity and repository
-
Create ReciboMessageCheckService with CRUD operations
-
Add REST endpoints for receipt message verification
-
Implement detailed logging for debugging
-
Update project documentation with CHANGELOG
-
Optimize FacturacionElectronica query limit
-
Update Guava dependency to 33.4.6-jre
Closes #104
#105: Implementar sistema de verificación de mensajes para recibos y actualizar documentación
Estado: closed Creado: 2025-03-29T15:00:28+00:00 Cerrado: 2025-03-29T15:08:43+00:00 Milestone: Facturación Electrónica Labels: documentation, enhancement
Implementar sistema de verificación de mensajes para recibos y actualizar documentación
Descripción
Se requiere implementar un sistema de verificación de mensajes para recibos, similar al existente para chequeras, y actualizar la documentación del proyecto para reflejar los cambios recientes.
Objetivos
Nuevo Sistema de Verificación de Recibos
- Crear entidad
ReciboMessageCheck
para almacenar información de verificación de recibos - Implementar repositorio y servicio para gestionar los registros de verificación
- Agregar endpoints REST para consulta y creación de registros
- Implementar logging detallado para debugging
Actualizaciones de Documentación
- Crear archivo CHANGELOG.md siguiendo el formato Keep a Changelog
- Actualizar README.md con las últimas versiones de dependencias
- Documentar nuevas características y endpoints
Optimizaciones
- Reducir el límite de registros pendientes de facturación electrónica de 200 a 100
- Mejorar el logging en servicios existentes
Detalles Técnicos
Nuevos Componentes
- Modelo ReciboMessageCheck:
- UUID como ID primario
- Campos para tracking de facturación y chequeras
- Payload para almacenamiento de datos
- Extensión de Auditable
- Nuevos Endpoints:
- GET /reciboMessageCheck/{reciboMessageCheckId}
- POST /reciboMessageCheck/
- Servicios:
- ReciboMessageCheckService con operaciones CRUD
- Logging mejorado con JsonMapper
Cambios en Dependencias
- Actualización de Guava a versión 33.4.6-jre
Modificaciones Existentes
- FacturacionElectronicaRepository:
- Cambio de findTop200 a findTop100
- ChequeraMessageCheckService:
- Mejora en logging de operaciones
Criterios de Aceptación
- Sistema de verificación de recibos completamente funcional
- Documentación actualizada y accesible
- Logging consistente en todos los servicios
- Optimización de consultas de facturación electrónica
- Manejo apropiado de excepciones
- Pruebas unitarias y de integración actualizadas
Impacto
- Mejora en la trazabilidad de mensajes de recibos
- Optimización de recursos en el procesamiento de facturación
- Mejor documentación para el equipo de desarrollo
- Mayor facilidad para debugging y monitoreo
Dependencias
- Requiere actualización de la base de datos para la nueva entidad ReciboMessageCheck
- No requiere cambios en la infraestructura existente
#104: chore(deps): update dependencies and improve MercadoPago query ordering
Estado: closed Creado: 2025-03-27T09:32:58+00:00 Cerrado: 2025-03-27T09:33:39+00:00 Milestone: Chequeras Labels: enhancement
- Update Spring Boot from 3.4.3 to 3.4.4
- Update Kotlin from 2.1.10 to 2.1.20
- Update Spring Cloud from 2024.0.0 to 2024.0.1
- Update Springdoc OpenAPI from 2.8.5 to 2.8.6
- Modify MercadoPago active contexts query to sort by ID descending
Closes #103
#103: Actualizar dependencias y ordenar resultados de MercadoPago
Estado: closed Creado: 2025-03-27T09:30:01+00:00 Cerrado: 2025-03-27T09:33:41+00:00 Milestone: Chequeras Labels: bug, enhancement, help wanted
Actualizar dependencias y ordenar resultados de MercadoPago
Descripción
Se requiere actualizar las dependencias del proyecto a sus últimas versiones estables y modificar la consulta de contextos activos de MercadoPago para que retorne los resultados ordenados por ID de forma descendente.
Objetivos
Actualizaciones de Dependencias
- Spring Boot 3.4.3 → 3.4.4
- Kotlin 2.1.10 → 2.1.20
- Spring Cloud 2024.0.0 → 2024.0.1
- Spring Boot Log4j2 3.4.3 → 3.4.4
- Springdoc OpenAPI 2.8.5 → 2.8.6
Cambios Funcionales
- Modificar la consulta de contextos activos para ordenar por mercadoPagoContextId descendente
Detalles Técnicos
- Actualizar versiones en pom.xml
- Renombrar método en MercadoPagoContextRepository de:
findAllByActivo
afindAllByActivoOrderByMercadoPagoContextIdDesc
- Actualizar la referencia del método en MercadoPagoContextService
Criterios de Aceptación
- Todas las dependencias actualizadas correctamente
- La aplicación compila y ejecuta sin errores
- Los contextos activos se retornan ordenados por ID descendente
- Se mantiene la funcionalidad existente sin regresiones
Impacto
- Mejora en la seguridad por actualizaciones de dependencias
- Mejor organización de resultados para análisis y debugging
- No requiere cambios en la base de datos
#102: feat(service): add debug logging to ChequeraMessageCheck find operation
Estado: closed Creado: 2025-03-22T11:54:25+00:00 Cerrado: 2025-03-22T11:55:10+00:00 Milestone: Chequeras Labels: bug, enhancement
- Add logChequeraMessageCheck call in findByChequeraMessageCheckId method
- Improve traceability of record retrieval operations
- Maintain consistent logging pattern across service methods
- Help with debugging by showing detailed JSON output of found records
Closes #101
#101: Implementar sistema de verificación de mensajes para chequeras
Estado: closed Creado: 2025-03-22T11:50:56+00:00 Cerrado: 2025-03-22T11:55:11+00:00 Milestone: Chequeras Labels: enhancement
Implementar sistema de verificación de mensajes para chequeras
Descripción
Se requiere implementar un sistema de verificación de mensajes para el proceso de chequeras que permita rastrear y validar los mensajes enviados a través del sistema de colas.
Objetivos
- Crear entidad
ChequeraMessageCheck
para almacenar información de verificación - Implementar repositorio y servicio para gestionar los registros de verificación
- Agregar endpoint REST para consultar y crear registros de verificación
- Integrar UUID en los mensajes de chequera para su trazabilidad
- Implementar logging detallado para debugging
Detalles Técnicos
- Crear nueva entidad JPA con los campos:
- chequeraMessageCheckId (UUID)
- facultadId (Integer)
- tipoChequeraId (Integer)
- chequeraSerieId (Long)
- payload (String)
- Implementar endpoints REST:
- GET /{chequeraMessageCheckId}
- POST /
- Agregar campo UUID en ChequeraMessageDto
- Implementar manejo de excepciones apropiado
Criterios de Aceptación
- Los mensajes de chequera deben incluir un UUID único
- Se debe poder consultar el estado de un mensaje por su ID
- El sistema debe registrar logs detallados para debugging
- Manejo apropiado de errores con mensajes claros
- Documentación de los nuevos endpoints
Impacto
Este cambio mejorará la trazabilidad de los mensajes en el sistema de chequeras y facilitará la detección y resolución de problemas.
#100: fix: handle null cases in repository methods
Estado: closed Creado: 2025-03-09T18:45:48+00:00 Cerrado: 2025-03-09T18:46:21+00:00 Milestone: Chequeras Labels: bug, enhancement
- Modify findAllByPersonaLectivo to safely handle missing records
- Update findByUnique to prevent exceptions on empty results
- Improve error handling using Optional.ofNullable()
- Ensure proper null handling for ultimoEnvio field
Closes #99
#99: Agregar funcionalidad para marcar chequeras como enviadas
Estado: closed Creado: 2025-03-09T18:20:42+00:00 Cerrado: 2025-03-09T18:46:22+00:00 Milestone: Chequeras Labels: bug, enhancement
Agregar funcionalidad para marcar chequeras como enviadas
Descripción
Se necesita implementar la capacidad de marcar una chequera como enviada a través de un nuevo endpoint REST. Esto permitirá actualizar el estado de envío de las chequeras en el sistema.
Cambios Necesarios
- Agregar endpoint POST
/mark/sent/{facultadId}/{tipoChequeraId}/{chequeraSerieId}
- Implementar método
markSent
enChequeraSerieService
- Agregar formato de fecha para
ultimoEnvio
enChequeraSerie
- Implementar logging para seguimiento de cambios
Detalles Técnicos
- El endpoint debe retornar la chequera actualizada
- El campo
enviado
debe actualizarse a 1 - Se debe mantener registro de la operación en los logs
- El formato de fecha para
ultimoEnvio
debe ser “yyyy-MM-dd’T’HH:mm:ssZ”
Pruebas
- Verificar que el endpoint responde correctamente
- Comprobar que el campo enviado se actualiza
- Validar el formato de fecha en la respuesta
- Verificar los logs de la operación
Impacto
Este cambio afecta al módulo de chequeras y es necesario para el proceso de gestión de envíos.
Relacionado con
- Sistema de envío de chequeras
- Gestión de estados de chequeras
/label enhancement /milestone v2024.02
#98: perf(query): optimize ChequeraSerie queries and enhance logging
Estado: closed Creado: 2025-03-02T23:20:25+00:00 Cerrado: 2025-03-02T23:20:53+00:00 Milestone: Chequeras Labels: bug, enhancement
This update improves query performance and logging:
- perf(repository): optimize ChequeraSerie queries
- Refactor findFirst method to use dynamic Sort
- Add secondary sorting by chequeraSerieId
- Improve query readability
- Enhance query performance
- Implement flexible sorting
- feat(logging): enhance debug information
- Add ChequeraSerie logging in critical operations
- Improve debug messages
- Standardize log format
- Add query result logging
- Enhance operation tracking
- refactor(service): improve code structure
- Enhance method readability
- Optimize stream operations
- Improve error handling
- Add method documentation
- Standardize naming conventions
BREAKING CHANGES:
- Repository method signature changed
- Query sorting behavior modified
- Logging structure updated
Performance Improvements:
- More efficient queries
- Better sorting flexibility
- Enhanced logging
- Improved traceability
- Better debugging support
Closes #97
#97: Optimización de Consultas y Mejora de Logging en ChequeraSerie
Estado: closed Creado: 2025-03-02T23:14:23+00:00 Cerrado: 2025-03-02T23:20:54+00:00 Milestone: Chequeras Labels: bug, enhancement
Optimización de Consultas y Mejora de Logging en ChequeraSerie
Descripción
Se requiere optimizar las consultas de ChequeraSerie y mejorar el sistema de logging, especialmente en las operaciones de búsqueda y ordenamiento.
Problema Actual
- La consulta de preuniversitario usa un método con ordenamiento fijo en el nombre
- Falta logging en operaciones críticas
- El ordenamiento no considera el chequeraSerieId como criterio secundario
Cambios Propuestos
Optimización de Consultas
- Refactorizar método de búsqueda para usar Sort dinámico
- Agregar ordenamiento secundario por chequeraSerieId
- Mejorar legibilidad de consultas
- Optimizar rendimiento de búsquedas
Mejoras en Logging
- Agregar logging de ChequeraSerie en operaciones críticas
- Mejorar mensajes de debug
- Estandarizar formato de logs
- Agregar logging de resultados de búsqueda
Tareas
- Refactorizar método findFirstByPersonaIdAndDocumentoIdAndFacultadIdAndTipoChequeraIdIn
- Implementar Sort dinámico
- Agregar logging detallado
- Mejorar mensajes de debug
- Actualizar documentación
- Verificar performance
Impacto
- Mejor rendimiento en consultas
- Mayor flexibilidad en ordenamiento
- Mejor trazabilidad
- Código más mantenible
Consideraciones Técnicas
- Impacto en performance
- Compatibilidad con JPA
- Manejo de índices
- Logging estructurado
Labels
- enhancement
- performance
- database
- logging
Milestone
Q2 2024 Performance Improvements
#96: feat(logging): enhance checkbook services logging system
Estado: closed Creado: 2025-02-27T22:48:59+00:00 Cerrado: 2025-02-27T22:49:29+00:00 Milestone: Chequeras Labels: enhancement
This update implements comprehensive logging improvements:
- feat(logging): enhance MailChequeraService logging
- Add method entry logging
- Implement SpoterData logging
- Add lectivo process tracking
- Enhance operation response logging
- Improve flow traceability
- feat(logging): improve SpoterService logging
- Add entity-specific logging methods
- Implement structured logging for:
- Persona entity
- Domicilio entity
- Legajo entity
- Add flow control logging
- Enhance operation tracking
- refactor(logging): standardize logging format
- Implement JSON structured logging
- Add consistent log levels
- Improve error logging
- Enhance debug information
- Standardize log messages
BREAKING CHANGES:
- New logging structure
- Enhanced log detail level
- Modified log format
Observability Improvements:
- Better operation tracking
- Enhanced debugging capability
- Improved monitoring
- Structured logging format
- Detailed entity tracking
Closes #95
#95: Mejora del Sistema de Logging en Servicios de Chequeras
Estado: closed Creado: 2025-02-27T22:46:57+00:00 Cerrado: 2025-02-27T22:49:30+00:00 Milestone: Chequeras Labels: documentation, enhancement
Mejora del Sistema de Logging en Servicios de Chequeras
Descripción
Se requiere implementar un sistema de logging más detallado y estructurado en los servicios relacionados con el manejo de chequeras, específicamente en MailChequeraService
y SpoterService
.
Problema Actual
El sistema actual carece de logging detallado en puntos críticos del proceso de generación y envío de chequeras, lo que dificulta el debugging y monitoreo de operaciones.
Cambios Propuestos
Mejoras en MailChequeraService
- Agregar logging al inicio de métodos principales
- Implementar logging de datos de Spoter
- Mejorar tracking de proceso de lectivo
- Agregar logging de respuestas de operaciones
Mejoras en SpoterService
- Implementar logging detallado de entidades
- Agregar métodos específicos de logging para:
- Persona
- Domicilio
- Legajo
- Mejorar trazabilidad de operaciones
- Agregar logging de control de flujo
Tareas
- Implementar nuevos métodos de logging
- Agregar puntos de logging estratégicos
- Estandarizar formato de logs
- Implementar logging estructurado
- Agregar logging de excepciones
- Documentar nuevos logs
- Verificar impacto en performance
Impacto
- Mejor trazabilidad de operaciones
- Facilidad de debugging
- Monitoreo mejorado
- Detección temprana de problemas
Consideraciones Técnicas
- Formato JSON para logs
- Performance impact
- Manejo de excepciones en logging
- Niveles de logging apropiados
Labels
- enhancement
- logging
- monitoring
- debugging
Milestone
Q2 2024 Observability Improvements
#94: fix(error-handling): improve checkbook last sent date error handling
Estado: closed Creado: 2025-02-26T10:31:45+00:00 Cerrado: 2025-02-26T10:32:19+00:00 Milestone: Chequeras Labels: bug
This update enhances error handling and logging in the checkbook system:
- fix(exceptions): implement robust error handling
- Add try-catch blocks for error control
- Improve null value handling
- Enhance exception management
- Add graceful fallback behavior
- Implement structured error handling
- feat(logging): enhance system logging
- Add detailed debug messages
- Include checkbook identifiers
- Improve error traceability
- Add structured logging
- Enhance debugging information
- refactor(service): optimize ChequeraSerieService
- Improve method robustness
- Add null safety checks
- Enhance error recovery
- Standardize error handling
- Optimize code structure
BREAKING CHANGES:
- Updated error handling approach
- Modified logging structure
- Changed null handling behavior
Reliability Improvements:
- Better error control
- Enhanced logging
- Improved traceability
- Robust null handling
- Better debugging support
Closes #93
#93: Mejora en el Manejo de Errores para Último Envío de Chequeras
Estado: closed Creado: 2025-02-26T10:29:27+00:00 Cerrado: 2025-02-26T10:32:21+00:00 Milestone: Chequeras Labels: bug
Mejora en el Manejo de Errores para Último Envío de Chequeras
Descripción
Se requiere implementar un manejo de errores más robusto para el seguimiento de últimos envíos de chequeras, incluyendo mejor logging y manejo de excepciones.
Problema Actual
El sistema actual no maneja adecuadamente las excepciones que pueden ocurrir al buscar el último envío de una chequera, lo que puede resultar en errores no controlados y falta de trazabilidad.
Cambios Propuestos
Manejo de Excepciones
- Implementar try-catch blocks para control de errores
- Mejorar el manejo de casos donde no existe último envío
- Agregar logging detallado para debugging
- Mantener consistencia en el manejo de valores nulos
Mejoras de Logging
- Agregar mensajes de debug específicos
- Incluir identificadores de chequera en logs
- Mejorar trazabilidad de errores
- Implementar logging estructurado
Tareas
- Implementar try-catch en métodos relevantes
- Mejorar mensajes de logging
- Estandarizar manejo de errores
- Actualizar documentación
- Agregar tests de casos de error
- Verificar cobertura de logs
Impacto
- Mayor robustez del sistema
- Mejor trazabilidad de errores
- Facilidad de debugging
- Mantenimiento más eficiente
Consideraciones Técnicas
- Manejo de excepciones
- Logging estructurado
- Null safety
- Performance impact
Labels
- enhancement
- error-handling
- logging
- reliability
Milestone
Q2 2024 System Reliability Improvements
#92: fix(dates): improve checkbook last sent date handling
Estado: closed Creado: 2025-02-24T11:49:56+00:00 Cerrado: 2025-02-24T11:50:38+00:00 Milestone: Chequeras Labels: bug, enhancement
This update enhances date handling in the checkbook system:
- fix(service): improve null handling in ChequeraSerieService
- Implement Optional for null safety
- Add proper null checks
- Improve timezone handling
- Fix potential NullPointerException
- Enhance date offset management
- refactor(dates): optimize date processing
- Use Optional for safer null handling
- Improve timezone offset handling
- Enhance date transformation chain
- Add proper null safety checks
- Maintain timezone consistency
- test(dates): verify date handling improvements
- Add null case tests
- Verify timezone handling
- Test Optional implementation
- Validate date transformations
BREAKING CHANGES:
- Changed date handling logic
- Updated null handling approach
- Modified timezone offset processing
Safety Improvements:
- Null-safe date handling
- Proper Optional usage
- Consistent timezone management
- Enhanced error prevention
Closes #91
#91: Mejora en el Manejo de Fechas de Último Envío de Chequeras
Estado: closed Creado: 2025-02-24T11:48:13+00:00 Cerrado: 2025-02-24T11:50:40+00:00 Milestone: Chequeras Labels: bug, enhancement
Mejora en el Manejo de Fechas de Último Envío de Chequeras
Descripción
Se requiere mejorar el manejo de fechas de último envío en el servicio de chequeras, implementando un manejo más robusto de valores nulos y optimizando el procesamiento de fechas.
Problema Actual
El código actual no maneja adecuadamente los casos donde no existe un último envío, lo que puede resultar en NullPointerException. Además, el manejo de zonas horarias no es óptimo.
Cambios Propuestos
Manejo de Nulos
- Implementar Optional para el manejo de valores nulos
- Mejorar la cadena de llamadas para evitar NullPointerException
- Mantener consistencia en el retorno de fechas
Optimización de Fechas
- Mejorar el ajuste de zona horaria
- Implementar manejo más claro de offset horario
- Mantener consistencia en el formato de fechas
Tareas
- Refactorizar método findAllByPersonaLectivo
- Implementar manejo de Optional
- Mejorar manejo de zonas horarias
- Agregar tests unitarios
- Actualizar documentación
- Verificar compatibilidad con sistemas existentes
Impacto
- Mayor robustez en el manejo de fechas
- Reducción de errores por valores nulos
- Mejor mantenibilidad del código
- Mayor claridad en el manejo de zonas horarias
Consideraciones Técnicas
- Compatibilidad con Java 21
- Manejo de OffsetDateTime
- Procesamiento de Optional
- Zonas horarias
Labels
- enhancement
- bugfix
- refactoring
- date-handling
Milestone
Q2 2024 Code Quality Improvements
#90: perf(facturacion): optimize electronic billing processing
Estado: closed Creado: 2025-02-24T10:18:12+00:00 Cerrado: 2025-02-24T10:18:46+00:00 Milestone: Facturación Electrónica Labels: enhancement
This update enhances electronic billing performance:
- perf(repository): improve database queries
- Rename IFacturacionElectronicaRepository to FacturacionElectronicaRepository
- Increase pending invoices fetch limit to 200
- Add DESC ordering for better prioritization
- Optimize query performance
- Improve method naming
- refactor(service): update service layer
- Update repository references
- Adapt find100Pendientes method
- Maintain backward compatibility
- Enhance error handling
- Improve logging
- test(facturacion): verify performance improvements
- Test increased batch size
- Verify DESC ordering
- Validate memory usage
- Check processing efficiency
BREAKING CHANGES:
- Repository interface renamed
- Query result order changed to DESC
- Batch size increased to 200
Performance Improvements:
- 2x increase in batch processing capacity
- Better prioritization of recent invoices
- Improved memory efficiency
- Enhanced query performance
Closes #89
#89: Optimización del Sistema de Facturación Electrónica
Estado: closed Creado: 2025-02-24T10:15:54+00:00 Cerrado: 2025-02-24T10:18:48+00:00 Milestone: Facturación Electrónica Labels: enhancement
Optimización del Sistema de Facturación Electrónica
Descripción
Se requiere optimizar el sistema de facturación electrónica, mejorando la capacidad de procesamiento y la eficiencia en la recuperación de facturas pendientes.
Cambios Propuestos
Repositorio
- Renombrar
IFacturacionElectronicaRepository
aFacturacionElectronicaRepository
- Aumentar límite de búsqueda de facturas pendientes de 100 a 200
- Optimizar orden de búsqueda (DESC) para priorizar facturas más recientes
- Mejorar nomenclatura de métodos
Servicio
- Actualizar referencias al repositorio
- Adaptar método
find100Pendientes()
para reflejar nuevos límites - Mantener compatibilidad con sistemas existentes
- Mejorar logging y trazabilidad
Tareas
- Renombrar interfaz del repositorio
- Actualizar método de búsqueda de pendientes
- Actualizar servicio correspondiente
- Verificar impacto en sistemas dependientes
- Actualizar documentación
- Realizar pruebas de rendimiento
Impacto
- Mayor eficiencia en procesamiento de facturas
- Mejor manejo de carga de trabajo
- Optimización de recursos del sistema
Consideraciones Técnicas
- Compatibilidad con sistemas existentes
- Rendimiento de base de datos
- Manejo de memoria
- Procesamiento asíncrono
Labels
- enhancement
- optimization
- database
- performance
Milestone
Q2 2024 Performance Improvements
#88: refactor(chequera): optimize checkbook system and improve code quality
Estado: closed Creado: 2025-02-22T09:34:44+00:00 Cerrado: 2025-02-22T09:37:16+00:00 Milestone: Chequeras Labels: documentation, enhancement
This comprehensive update enhances the checkbook system:
- refactor(model): improve data models
- Update ChequeraImpresionCabecera model
- Implement Builder pattern in ChequeraMessageDto
- Add ultimoEnvio field to ChequeraSerie
- Fix column names and mappings
- Enhance model consistency
- refactor(repository): optimize database operations
- Rename repository interfaces
- Add new search methods
- Improve query performance
- Enhance transaction handling
- Optimize database access
- feat(service): enhance service layer
- Implement ChequeraQueueService
- Add async processing support
- Improve error handling
- Enhance logging system
- Add tracking methods
- docs(config): update documentation and configuration
- Update README.md
- Update dependency versions
- Add RabbitMQ configuration
- Improve API documentation
- Update system requirements
BREAKING CHANGES:
- Repository interface names changed
- Service method signatures updated
- Model structure modifications
- Configuration file updates
Closes #87
#87: Actualización y Optimización del Sistema de Chequeras
Estado: closed Creado: 2025-02-22T09:31:49+00:00 Cerrado: 2025-02-22T09:37:17+00:00 Milestone: Chequeras Labels: documentation, enhancement
Actualización y Optimización del Sistema de Chequeras
Descripción
Se requiere una actualización integral del sistema de chequeras, incluyendo mejoras en el manejo de datos, optimización de código y nuevas funcionalidades de seguimiento.
Cambios Propuestos
Mejoras en Modelos
- Actualizar modelo ChequeraImpresionCabecera
- Optimizar modelo ChequeraMessageDto con patrón Builder
- Agregar campo ultimoEnvio a ChequeraSerie
- Corregir nombres de columnas en modelos
Optimización de Repositorios
- Renombrar interfaces de repositorios
- Mejorar consultas de base de datos
- Agregar nuevos métodos de búsqueda
- Optimizar manejo de transacciones
Mejoras en Servicios
- Implementar ChequeraQueueService para procesamiento asíncrono
- Mejorar logging y manejo de errores
- Optimizar métodos de búsqueda
- Implementar nuevos métodos de seguimiento
Documentación y Configuración
- Actualizar README.md con nuevas dependencias
- Actualizar versiones de dependencias en pom.xml
- Mejorar documentación de API
- Actualizar configuración de RabbitMQ
Tareas
- Actualizar modelos de datos
- Optimizar repositorios
- Implementar nuevos servicios
- Actualizar documentación
- Implementar pruebas unitarias
- Actualizar configuración
- Revisar y optimizar logging
- Implementar manejo de errores mejorado
Impacto
- Mejor rendimiento del sistema
- Mayor trazabilidad de operaciones
- Código más mantenible
- Mejor manejo de errores
- Procesamiento asíncrono mejorado
Consideraciones Técnicas
- Compatibilidad con sistemas existentes
- Manejo de transacciones
- Logging detallado
- Manejo de errores robusto
- Procesamiento asíncrono
Labels
- enhancement
- optimization
- documentation
- refactoring
Milestone
Q2 2024 System Improvements
#86: feat(payment): implement unprocessed MercadoPago payments tracking
Estado: closed Creado: 2025-02-18T23:27:35+00:00 Cerrado: 2025-02-18T23:27:53+00:00 Milestone: Medios de Pago Labels: bug, enhancement
This comprehensive update improves payment tracking and monitoring:
- feat(api): add unprocessed payments endpoint
- Add /pagos/sin/imputar endpoint
- Implement approved payments query
- Add payment status filtering
- Enhance API documentation
- feat(repository): implement payment tracking queries
- Add findAllByStatusAndChequeraPagoIdIsNull method
- Optimize payment status queries
- Improve null handling
- Add payment status filtering
- refactor(service): enhance payment processing
- Implement findAllSinImputar method
- Reorganize service methods
- Improve logging messages
- Enhance error handling
- perf(logging): improve operation traceability
- Add detailed logging in ChequeraPagoService
- Enhance payment tracking logs
- Improve debug information
- Add payment ID tracking
BREAKING CHANGES:
- New repository query structure
- Enhanced logging format
- Service method reorganization
- Payment tracking logic updates
Closes #85
#85: Implementación de Seguimiento de Pagos No Imputados de MercadoPago
Estado: closed Creado: 2025-02-18T23:15:49+00:00 Cerrado: 2025-02-18T23:27:55+00:00 Milestone: Medios de Pago Labels: bug, enhancement
Implementación de Seguimiento de Pagos No Imputados de MercadoPago
Descripción
Se requiere implementar un sistema de seguimiento para pagos de MercadoPago que han sido aprobados pero aún no han sido imputados en el sistema, mejorando así la trazabilidad y el control de pagos.
Cambios Propuestos
API Endpoints
- Agregar nuevo endpoint
/pagos/sin/imputar
- Implementar consulta de pagos aprobados sin imputar
- Mejorar logging de operaciones
Repository Layer
- Agregar método
findAllByStatusAndChequeraPagoIdIsNull
- Optimizar consultas de pagos pendientes
- Mejorar manejo de estados de pago
Service Layer
- Implementar método
findAllSinImputar
- Mejorar logging de operaciones
- Reorganizar métodos del servicio
- Optimizar procesamiento de pagos
Tareas
- Implementar nuevo endpoint en MercadoPagoContextController
- Agregar método de repositorio en MercadoPagoContextRepository
- Actualizar MercadoPagoContextService
- Mejorar logging en ChequeraPagoService
- Implementar pruebas para nueva funcionalidad
- Documentar nueva API
- Actualizar documentación técnica
Impacto
- Mejor seguimiento de pagos pendientes
- Mayor control sobre pagos no imputados
- Mejora en la trazabilidad de operaciones
- Facilita la reconciliación de pagos
Consideraciones Técnicas
- Filtrar solo pagos con status “approved”
- Verificar pagos sin chequeraPagoId
- Mantener consistencia en el logging
- Optimizar consultas de base de datos
Labels
- enhancement
- payment-processing
- monitoring
- api
Milestone
Q2 2024 Payment System Improvements
#84: perf(billing): optimize electronic billing processing with batch oper…
Estado: closed Creado: 2025-02-15T21:02:38+00:00 Cerrado: 2025-02-15T21:02:56+00:00 Milestone: Facturación Electrónica Labels: enhancement
…ations
This comprehensive update improves billing processing efficiency:
- feat(api): implement batch processing endpoint
- Replace /nextPendiente with /pendientes endpoint
- Update response to return up to 100 pending bills
- Optimize endpoint for batch operations
- Update API documentation
- perf(repository): enhance billing queries
- Add findTop100ByEnviada method
- Optimize query performance for batch processing
- Maintain retry limit logic
- Improve query efficiency
- refactor(service): update billing service layer
- Remove single bill processing
- Implement batch processing logic
- Enhance exception handling
- Improve service efficiency
- test(billing): add batch processing tests
- Test batch retrieval functionality
- Verify retry limit behavior
- Test error scenarios
- Add performance benchmarks
BREAKING CHANGES:
- /nextPendiente endpoint has been removed
- Single bill processing replaced with batch processing
- Service layer API has been modified
- Repository query structure updated
Closes #83
#83: Optimización del Procesamiento de Facturación Electrónica
Estado: closed Creado: 2025-02-15T20:58:28+00:00 Cerrado: 2025-02-15T21:02:57+00:00 Milestone: Facturación Electrónica Labels: enhancement
Optimización del Procesamiento de Facturación Electrónica
Descripción
Se requiere optimizar el procesamiento de facturación electrónica implementando un sistema de procesamiento por lotes para mejorar el rendimiento y la eficiencia del sistema.
Cambios Propuestos
Endpoint Updates
- Reemplazar
/nextPendiente
con/pendientes
- Modificar la respuesta para retornar hasta 100 facturas pendientes
- Actualizar documentación de API
Repository Changes
- Implementar nuevo método para obtener lotes de facturas
- Optimizar consulta para procesamiento en batch
- Mantener límite de reintentos en 3
Service Layer
- Actualizar servicio para manejar lotes de facturas
- Remover procesamiento individual obsoleto
- Mejorar manejo de excepciones
Tareas
- Actualizar FacturacionElectronicaController
- Modificar IFacturacionElectronicaRepository
- Actualizar FacturacionElectronicaService
- Actualizar documentación de API
- Implementar pruebas para nuevo endpoint
- Verificar rendimiento con carga
- Actualizar documentación técnica
Impacto
- Mayor eficiencia en procesamiento de facturas
- Reducción de llamadas a la API
- Mejor utilización de recursos
- Procesamiento más rápido de facturas pendientes
Consideraciones Técnicas
- Mantener límite de 3 reintentos
- Ordenamiento por ID de facturación
- Procesamiento de lotes de 100 facturas
- Compatibilidad con sistemas existentes
Labels
- enhancement
- performance
- api
- optimization
Milestone
Facturación Electrónica
#82: feat(tx): implement distributed transaction management for JPA and Ra…
Estado: closed Creado: 2025-02-15T13:57:44+00:00 Cerrado: 2025-02-15T13:58:01+00:00
Labels: bug, enhancement
…bbitMQ
This comprehensive update implements robust transaction handling:
- feat(config): add JPA transaction configuration
- Create JpaConfig class with primary transaction manager
- Configure EntityManagerFactory integration
- Set up primary JPA transaction manager
- Enable distributed transaction support
- refactor(rabbitmq): update RabbitMQ transaction handling
- Rename RabbitMQ transaction manager bean
- Adjust transaction manager hierarchy
- Improve transaction synchronization
- Update connection factory configuration
- docs(tx): add transaction management documentation
- Document transaction manager hierarchy
- Add distributed transaction examples
- Include rollback scenarios
- Document configuration requirements
- test(tx): add transaction integration tests
- Test JPA transaction scenarios
- Test RabbitMQ transaction scenarios
- Test distributed transactions
- Add rollback test cases
BREAKING CHANGES:
- Transaction management has been reorganized
- JPA is now the primary transaction manager
- RabbitMQ transactions require explicit manager reference
- Transaction configuration requires both JPA and RabbitMQ setup
Closes #81
#81: Configuración de Gestión de Transacciones JPA y RabbitMQ
Estado: closed Creado: 2025-02-15T13:55:20+00:00 Cerrado: 2025-02-15T13:58:02+00:00 Milestone: Contabilidad Labels: bug, enhancement
Configuración de Gestión de Transacciones JPA y RabbitMQ
Descripción
Se requiere implementar una configuración robusta de transacciones para manejar tanto las operaciones de base de datos (JPA) como las de mensajería (RabbitMQ), asegurando la integridad de los datos en operaciones distribuidas.
Cambios Propuestos
Configuración JPA
- Implementar JpaConfig para manejar transacciones de base de datos
- Configurar JpaTransactionManager como gestor principal de transacciones
- Establecer bean primario para transacciones JPA
Configuración RabbitMQ
- Ajustar RabbitMQConfig para coexistir con JPA
- Nombrar explícitamente el gestor de transacciones de RabbitMQ
- Configurar manejo de transacciones distribuidas
Gestión de Transacciones
- Implementar jerarquía de transaction managers
- Configurar prioridades de transacciones
- Asegurar consistencia en operaciones distribuidas
Tareas
- Crear clase JpaConfig
- Configurar JpaTransactionManager primario
- Ajustar RabbitTransactionManager
- Documentar configuración de transacciones
- Implementar pruebas de integración
- Verificar manejo de errores en transacciones
- Actualizar documentación técnica
Impacto
- Mejor manejo de transacciones distribuidas
- Mayor consistencia en operaciones de datos
- Mejora en la integridad de datos
- Claridad en la gestión de transacciones
Consideraciones Técnicas
- Necesidad de mantener consistencia entre DB y mensajería
- Manejo de rollbacks en operaciones distribuidas
- Priorización de transacciones JPA
Labels
- configuration
- database
- messaging
- enhancement
Milestone
Q2 2024 Infrastructure Improvements
#80: feat(messaging): implement RabbitMQ message system for chequera proce…
Estado: closed Creado: 2025-02-15T08:51:23+00:00 Cerrado: 2025-02-15T08:51:42+00:00 Milestone: Documentación Labels: documentation, enhancement
…ssing
This comprehensive update adds asynchronous messaging capabilities:
- feat(config): add RabbitMQ configuration
- Create RabbitMQConfig class with queue definitions
- Configure transaction management
- Set up JSON message converter
- Enable persistent queues
- Add connection factory configuration
- feat(dto): add message data transfer objects
- Create ChequeraMessageDto in Kotlin
- Add serialization support
- Implement message structure for chequera processing
- chore(deps): add messaging dependencies
- Add spring-boot-starter-amqp
- Add spring-tx for transaction support
- Configure AMQP connection properties
- docs(config): update configuration documentation
- Add RabbitMQ configuration to bootstrap.yml
- Document queue configuration
- Add messaging system documentation
BREAKING CHANGES:
- New RabbitMQ dependency required
- Message processing now uses async queue system
- Transaction management has been updated
- Configuration requires RabbitMQ connection details
Closes #79
#79: Implementación de Sistema de Mensajería con RabbitMQ
Estado: closed Creado: 2025-02-15T08:41:27+00:00 Cerrado: 2025-02-15T08:51:44+00:00 Milestone: Documentación Labels: documentation, enhancement
Implementación de Sistema de Mensajería con RabbitMQ
Descripción
Se requiere implementar un sistema de mensajería asíncrona utilizando RabbitMQ para mejorar la comunicación entre servicios y el manejo de chequeras.
Cambios Propuestos
Configuración RabbitMQ
- Agregar configuración de RabbitMQ en bootstrap.yml
- Implementar clase de configuración RabbitMQConfig
- Configurar colas y exchanges
- Habilitar manejo de transacciones
Nuevas Dependencias
- Agregar spring-boot-starter-amqp
- Agregar spring-tx para manejo de transacciones
- Configurar Jackson2JsonMessageConverter
DTOs y Modelos
- Crear ChequeraMessageDto en Kotlin para mensajes
- Implementar serializadores/deserializadores necesarios
Configuración de Cola
- Implementar cola persistente ‘chequera_queue’
- Configurar manejo de errores y reintentos
- Implementar transacciones distribuidas
Tareas
- Configurar RabbitMQ en bootstrap.yml
- Implementar RabbitMQConfig
- Crear DTOs para mensajería
- Configurar transacciones distribuidas
- Implementar manejo de errores
- Documentar nueva funcionalidad
- Agregar pruebas unitarias
Impacto
- Mejora en la comunicación entre servicios
- Mayor confiabilidad en el procesamiento de chequeras
- Mejor manejo de cargas de trabajo
- Procesamiento asíncrono de operaciones
Labels
- enhancement
- feature
- messaging
- configuration
Milestone
Q2 2024 Service Integration
#78: docs(project): enhance documentation and update project configuration
Estado: closed Creado: 2025-02-12T00:01:32+00:00 Cerrado: 2025-02-12T00:02:15+00:00 Milestone: Documentación Labels: documentation
This comprehensive update improves project documentation and configuration:
- docs(readme): enhance project documentation
- Add detailed service description
- Update technology stack list
- Improve installation instructions
- Add contribution guidelines
- Update monitoring section
- Add links to external documentation
- chore(config): update project configuration
- Configure GitHub Pages with _config.yml
- Update banner.txt with new ASCII design
- Add pages workflow for automated documentation
- Configure Jekyll theme and settings
- chore(deps): update core dependencies
- Spring Boot to 3.4.2
- Kotlin to 2.1.10
- Add Caffeine cache support
- Add Spring Boot Cache Starter
- ci(workflow): implement documentation automation
- Add pages.yml workflow
- Configure issue and milestone integration
- Set up documentation generation scripts
- Add templates for documentation
BREAKING CHANGES:
- Documentation structure has been reorganized
- New GitHub Pages configuration required
- Updated dependency versions may require adjustments
Closes #77
#77: Mejoras en la Documentación y Configuración del Proyecto
Estado: closed Creado: 2025-02-11T23:58:41+00:00 Cerrado: 2025-02-12T00:02:16+00:00 Milestone: Documentación Labels: documentation
Mejoras en la Documentación y Configuración del Proyecto
Descripción
Se requiere mejorar la documentación del proyecto y actualizar las configuraciones para reflejar mejor la arquitectura y funcionalidades del sistema.
Cambios Propuestos
Documentación
- Actualizar README.md con:
- Descripción detallada del servicio
- Lista completa de tecnologías utilizadas
- Características principales del sistema
- Requisitos de instalación
- Instrucciones de configuración y ejecución
- Enlaces a documentación adicional
- Proceso de contribución
Configuración
- Actualizar banner.txt con nuevo diseño ASCII
- Configurar GitHub Pages para documentación automática
- Implementar workflow de pages.yml para:
- Generación automática de documentación
- Actualización de Wiki
- Integración con issues y milestones
Dependencias
- Actualizar versiones de dependencias:
- Spring Boot a 3.4.2
- Kotlin a 2.1.10
- Otras dependencias relacionadas
- Agregar nuevas dependencias:
- Caffeine para caché
- Spring Boot Cache Starter
Tareas
- Actualizar README.md
- Configurar _config.yml para GitHub Pages
- Implementar workflow de pages.yml
- Actualizar banner.txt
- Actualizar dependencias en pom.xml
- Crear scripts de generación de documentación
- Configurar templates de documentación
Impacto
- Mejor documentación del proyecto
- Proceso automatizado de documentación
- Mejor mantenibilidad del código
- Mejor experiencia para nuevos contribuidores
Labels
- documentation
- enhancement
- configuration
- dependencies
Milestone
Q2 2024 Documentation Update
#76: feat(api): implement payment endpoints and service refactoring
Estado: closed Creado: 2025-01-31T19:55:01+00:00 Cerrado: 2025-01-31T19:55:17+00:00 Milestone: Contabilidad Labels: enhancement
This comprehensive update enhances payment handling and improves code organization:
- feat(controller): add new payment endpoints
- /pagos/{tipoPagoId}/{fecha} for payment listing
- /items/{tipoPagoId}/{fecha} for ledger items
- Update MercadoPago endpoint for consistency
- refactor(service): migrate payment date handling
- Split TipoPagoFechaService into facade pattern
- Separate accrual and payment logic
- Improve dependency injection
- Enhance logging and error handling
- chore(deps): update core dependencies
- Spring Boot to 3.4.2
- Kotlin to 2.1.10
- Update related dependencies
- docs(api): add endpoint documentation
- Add detailed API documentation
- Include request/response examples
- Document new DTOs
BREAKING CHANGES:
- TipoPagoFechaService has been split into multiple services
- Repository structure has been reorganized
- Constructor-based dependency injection is now required
Closes #75
#75: Actualización de Endpoints de Pago y Refactorización de Servicios
Estado: closed Creado: 2025-01-31T19:52:37+00:00 Cerrado: 2025-01-31T19:52:47+00:00 Milestone: Contabilidad Labels: documentation, enhancement
Descripción
Se requiere actualizar los endpoints relacionados con pagos y realizar una refactorización de los servicios asociados para mejorar la organización y mantenibilidad del código.
Cambios Propuestos
Nuevos Endpoints
- Agregar endpoint
/pagos/{tipoPagoId}/{fecha}
para obtener lista de pagos - Agregar endpoint
/items/{tipoPagoId}/{fecha}
para obtener items de asiento - Actualizar endpoint de MercadoPago para mejor consistencia
Refactorización de Servicios
- Migrar
TipoPagoFechaService
a estructura facade - Separar lógica de acreditación y pago en servicios distintos
- Implementar mejor manejo de logs y excepciones
- Actualizar inyección de dependencias a constructor-based
Mejoras Técnicas
- Implementar DTOs para respuestas de API
- Mejorar manejo de fechas con OffsetDateTime
- Optimizar consultas de base de datos
- Agregar documentación de API
Tareas
- Crear nuevos DTOs (PagoDto, ItemAsientoDto)
- Implementar nuevos endpoints en PagoController
- Refactorizar TipoPagoFechaService
- Actualizar pruebas unitarias
- Documentar nuevos endpoints
- Actualizar dependencias de Spring Boot y Kotlin
Impacto Técnico
- Actualización de Spring Boot a versión 3.4.2
- Actualización de Kotlin a versión 2.1.10
- Cambios en la estructura de repositorios y servicios
- Mejoras en el manejo de logs y excepciones
Criterios de Aceptación
- Los nuevos endpoints deben responder correctamente
- Las pruebas unitarias deben pasar
- La documentación debe estar actualizada
- El código debe seguir las mejores prácticas de Clean Code
- Los logs deben ser informativos y útiles para debugging
#74: build(deps): bump spring-boot-starter-parent from 3.4.0 to 3.4.1
Estado: closed Creado: 2024-12-28T20:33:19+00:00 Cerrado: 2024-12-28T20:33:33+00:00
#73: Actualización de Spring Boot a la versión 3.4.1
Estado: closed Creado: 2024-12-28T20:31:49+00:00 Cerrado: 2024-12-28T20:33:33+00:00
📦 Actualización de Spring Boot a la versión 3.4.1
Descripción
Actualización de la versión de Spring Boot de 3.4.0 a 3.4.1 en el archivo pom.xml
.
Cambios realizados
- Se modificó la versión del
spring-boot-starter-parent
de3.4.0
a3.4.1
Motivación
Mantener el proyecto actualizado con la última versión de Spring Boot para beneficiarnos de:
- Correcciones de bugs
- Mejoras de seguridad
- Optimizaciones de rendimiento
Tipo de cambio
- Actualización de dependencia
- Nueva funcionalidad
- Corrección de bug
- Documentación
Checklist
- Ejecutar suite de tests
- Verificar que la aplicación inicia correctamente
- Revisar logs en busca de errores
- Actualizar documentación si es necesario
Referencias
#72: feat(pagos): mejorar búsqueda de pagos pendientes por fecha
Estado: closed Creado: 2024-12-20T14:59:41+00:00 Cerrado: 2024-12-20T14:59:54+00:00
- Agrega nuevo método en repositorio para buscar pagos entre fechas
- Modifica pendientesFactura para considerar todo el rango del día (00:00:00 a 23:59:59)
#71: Add Date Range Query Method to IChequeraPagoRepository and Update ChequeraPagoService
Estado: closed Creado: 2024-12-20T14:55:57+00:00 Cerrado: 2024-12-20T14:59:55+00:00
Labels: bug, enhancement
Issue Description
We need to update the IChequeraPagoRepository and ChequeraPagoService to support querying payments within a date range. The following changes are required:
Changes to IChequeraPagoRepository:
- Added a new method
findAllByFechaBetweenAndTipoPagoIdGreaterThan
to query payments between two dates with a minimumtipoPagoId
threshold.
Changes to ChequeraPagoService:
- Updated the
pendientesFactura
method to create a date range (from the start of the day to the end of the day) and use the new repository method to find payments within this range.
Code Changes
public interface IChequeraPagoRepository extends JpaRepository<ChequeraPago, Long> {
List<ChequeraPago> findAllByFechaBetweenAndTipoPagoIdGreaterThan(OffsetDateTime fechaInicio, OffsetDateTime fechaFin, Integer tipoPagoThreshold);
}
@Transactional
public List<ChequeraPago> pendientesFactura(OffsetDateTime fechaPago, ChequeraCuotaService chequeraCuotaService) {
// Crear fecha inicio (00:00:00) y fecha fin (23:59:59.999999999)
OffsetDateTime fechaInicio = fechaPago.withHour(0).withMinute(0).withSecond(0).withNano(0);
OffsetDateTime fechaFin = fechaPago.withHour(23).withMinute(59).withSecond(59).withNano(999999999);
List<ChequeraPago> pagos = repository.findAllByFechaBetweenAndTipoPagoIdGreaterThan(fechaInicio, fechaFin, TIPO_PAGO_THRESHOLD);
processPagos(pagos, chequeraCuotaService);
List<Long> pagoIds = pagos.stream()
.map(ChequeraPago::getChequeraPagoId)
.collect(Collectors.toList());
Map<Long, FacturacionElectronica> electronicas = facturacionElectronicaService
.findAllByChequeraPagoIds(pagoIds)
.stream()
.collect(Collectors.toMap(
FacturacionElectronica::getChequeraPagoId,
Function.identity(),
(existing, replacement) -> existing
));
return pagos.stream()
.filter(pago -> !electronicas.containsKey(pago.getChequeraPagoId()))
.filter(this::isValidChequeraPago)
.collect(Collectors.toList());
}
Steps to Implement
- Add the new method
findAllByFechaBetweenAndTipoPagoIdGreaterThan
toIChequeraPagoRepository
. - Update the
pendientesFactura
method inChequeraPagoService
to use the new repository method for querying payments within a date range. - Test the changes to ensure the new functionality works as expected.
#70: feat(chequera): add barcode support for checkbook sending
Estado: closed Creado: 2024-12-13T11:27:12+00:00 Cerrado: 2024-12-13T11:28:37+00:00
- Add new parameter ‘codigoBarras’ to /sendChequera endpoint
- Update MailChequeraService to handle barcode functionality
- Modify related interfaces for consistency
- Default value set to false for backward compatibility
BREAKING CHANGE: sendChequera endpoint now requires additional parameter
#69: # 📝 Issue: Agregar soporte para códigos de barras en el envío de chequeras
Estado: closed Creado: 2024-12-13T11:23:27+00:00 Cerrado: 2024-12-13T11:28:38+00:00
Labels: bug, enhancement
📝 Issue: Agregar soporte para códigos de barras en el envío de chequeras
📋 Descripción
Se requiere implementar la funcionalidad para manejar códigos de barras en el proceso de envío de chequeras. Este cambio afecta principalmente a los servicios de generación y envío de chequeras.
🔄 Cambios Realizados
- Agregado nuevo parámetro
codigoBarras
en el endpoint/sendChequera
- Actualización del servicio
MailChequeraService
para soportar la nueva funcionalidad - Modificación de las interfaces y métodos relacionados para mantener la consistencia
📁 Archivos Modificados
ChequeraClient.java
ChequeraController.java
MailChequeraService.java
✅ Checklist de Implementación
- Actualización de la interfaz del cliente
- Modificación del controlador
- Actualización del servicio de correo
- Pruebas unitarias
- Documentación actualizada
- Pruebas de integración
🔍 Detalles Técnicos
@GetMapping("/sendChequera/{facultadId}/{tipoChequeraId}/{chequeraSerieId}/{alternativaId}/{copiaInformes}/{codigoBarras}")
String sendChequera(
@PathVariable Integer facultadId,
@PathVariable Integer tipoChequeraId,
@PathVariable Long chequeraSerieId,
@PathVariable Integer alternativaId,
@PathVariable Boolean copiaInformes,
@PathVariable Boolean codigoBarras
);
Parámetros
| Parámetro | Tipo | Descripción | |———–|——|————-| | facultadId | Integer | ID de la facultad | | tipoChequeraId | Integer | ID del tipo de chequera | | chequeraSerieId | Long | ID de la serie de chequera | | alternativaId | Integer | ID de la alternativa | | copiaInformes | Boolean | Indica si se incluyen copias de informes | | codigoBarras | Boolean | Nuevo parámetro para habilitar/deshabilitar códigos de barras |
Respuesta
- Tipo:
String
- Formato: Mensaje de confirmación del envío
- Ejemplo:
"Envío de Correo Ok!!"
Manejo de Errores
- Throws
MessagingException
en caso de error en el envío del correo - Los errores de validación retornan respuestas HTTP apropiadas
🧪 Pruebas Sugeridas
- Verificar el envío de chequeras con códigos de barras habilitados
- Verificar el envío de chequeras con códigos de barras deshabilitados
- Validar la respuesta del servicio en ambos casos
- Comprobar la compatibilidad con el sistema de envío de correos existente
📌 Notas Adicionales
- Por defecto, el parámetro
codigoBarras
se establece enfalse
para mantener compatibilidad con implementaciones existentes - Se requiere actualizar la documentación de la API
🏷️ Labels
enhancement
backend
service-update
needs-testing
#68: Restringiendo la posilidad de registrar un pago duplicado de MP
Estado: closed Creado: 2024-12-08T10:53:23+00:00 Cerrado: 2024-12-08T10:53:30+00:00
#67: Cambio del agregado de proveedor, se eliminó el proveedorId del prove…
Estado: closed Creado: 2024-12-08T01:05:04+00:00 Cerrado: 2024-12-08T01:05:11+00:00
…edor nuevo y corrección de deleteComprobante de compras para evitar referencias cruzadas
#66: Se agrega try a persona service en la generación de deuda
Estado: closed Creado: 2024-12-06T11:05:14+00:00 Cerrado: 2024-12-06T11:05:29+00:00
#65: Agregado de ResponseStatusExcepcion a makeContext
Estado: closed Creado: 2024-12-06T09:34:24+00:00 Cerrado: 2024-12-06T09:34:31+00:00
#64: Upgrading versions spring boot 3.4.0 - spring cloud 2024.0.0 - spring…
Estado: closed Creado: 2024-12-06T07:49:47+00:00 Cerrado: 2024-12-06T07:49:55+00:00
…doc 2.7.0
#63: La baja de una chequera no marcaba las cuotas en 0 y al verla el sist…
Estado: closed Creado: 2024-12-03T16:26:23+00:00 Cerrado: 2024-12-03T16:26:48+00:00
…ema completa los importes, entonces ahora marca la baja de todas las cuotas, en 0 o no
#62: Agregado del chequeo de todos los enlaces activos de MP
Estado: closed Creado: 2024-12-02T08:49:45+00:00 Cerrado: 2024-12-02T08:50:03+00:00
#61: Upgrading versions
Estado: closed Creado: 2024-12-01T16:43:43+00:00 Cerrado: 2024-12-01T16:44:14+00:00
#60: Cambios en la impresión del PDF y en la estructura del correo
Estado: closed Creado: 2024-11-29T00:18:39+00:00 Cerrado: 2024-11-29T00:18:46+00:00
#59: Agregado de logs al build
Estado: closed Creado: 2024-11-25T22:32:59+00:00 Cerrado: 2024-11-25T22:33:08+00:00
#58: Cambios para reutilizar el mismo enlace y evitar inconvenientes con p…
Estado: closed Creado: 2024-11-23T17:31:45+00:00 Cerrado: 2024-11-23T18:00:47+00:00
…agos duplicados
#57: Cambios para reutilizar el mismo enlace y evitar inconvenientes con p…
Estado: closed Creado: 2024-11-23T16:57:34+00:00 Cerrado: 2024-11-23T16:57:40+00:00
…agos duplicados
#56: Cambios para reutilizar el mismo enlace y evitar inconvenientes con p…
Estado: closed Creado: 2024-11-23T15:56:13+00:00 Cerrado: 2024-11-23T15:56:20+00:00
…agos duplicados
#55: Cambiado el JSON para devolver a tecnología
Estado: closed Creado: 2024-11-21T22:45:18+00:00 Cerrado: 2024-11-21T22:45:25+00:00
#54: Processing Internal Payment
Estado: closed Creado: 2024-11-14T23:23:33+00:00 Cerrado: 2024-11-14T23:23:42+00:00
#53: Processing Internal Payment
Estado: closed Creado: 2024-11-14T22:47:07+00:00 Cerrado: 2024-11-14T22:47:13+00:00
#52: Cambio en update de MercadoPagoContext
Estado: closed Creado: 2024-11-14T21:33:58+00:00 Cerrado: 2024-11-14T21:34:05+00:00
#51: Cambio en update de MercadoPagoContext
Estado: closed Creado: 2024-11-14T21:20:39+00:00 Cerrado: 2024-11-14T21:20:46+00:00
#50: Upgrading versions
Estado: closed Creado: 2024-11-14T00:06:00+00:00 Cerrado: 2024-11-14T00:06:09+00:00
#49: Agregado al contexto de MP de los campos de acreditación y status, má…
Estado: closed Creado: 2024-11-11T18:10:11+00:00 Cerrado: 2024-11-11T18:10:19+00:00
…s el cambio de la fecha de vencimiento
#48: Integración de los procesos de MercadoPago
Estado: closed Creado: 2024-11-11T11:45:25+00:00 Cerrado: 2024-11-11T11:45:32+00:00
#47: Adaptando el core para MP
Estado: closed Creado: 2024-11-10T16:34:26+00:00 Cerrado: 2024-11-10T16:35:05+00:00
#46: Mejorando el filtro de pagos pendientes de facturar
Estado: closed Creado: 2024-11-08T20:55:06+00:00 Cerrado: 2024-11-08T20:55:14+00:00
#45: Upgrading versions
Estado: closed Creado: 2024-10-29T09:44:11+00:00 Cerrado: 2024-10-29T09:44:31+00:00
#44: Upgrading versions
Estado: closed Creado: 2024-10-02T09:03:24+00:00 Cerrado: 2024-10-02T09:03:33+00:00
#43: Sender Spoter Fixed
Estado: closed Creado: 2024-09-16T20:15:45+00:00 Cerrado: 2024-09-16T20:15:54+00:00
#42: Asociacion Tipo Chequera Changed
Estado: closed Creado: 2024-09-15T22:06:58+00:00 Cerrado: 2024-09-15T22:07:05+00:00
#41: Spoter changed
Estado: closed Creado: 2024-09-12T08:40:49+00:00 Cerrado: 2024-09-12T08:41:04+00:00
#40: Configuration changed
Estado: closed Creado: 2024-09-11T18:35:52+00:00 Cerrado: 2024-09-11T18:36:04+00:00
#39: Thining Dockerfile
Estado: closed Creado: 2024-09-09T08:54:45+00:00 Cerrado: 2024-09-09T08:54:55+00:00
#38: Changing chequera controller to sender-service
Estado: closed Creado: 2024-08-08T23:13:10+00:00 Cerrado: 2024-08-08T23:13:18+00:00
#37: Facturacion Electronica Log added
Estado: closed Creado: 2024-08-05T09:11:19+00:00 Cerrado: 2024-08-05T09:11:26+00:00
#36: Endpoints to CuentaMovimiento added
Estado: closed Creado: 2024-08-02T17:18:25+00:00 Cerrado: 2024-08-02T17:18:34+00:00
#35: Expanding period to make invoices
Estado: closed Creado: 2024-07-28T18:50:37+00:00 Cerrado: 2024-07-28T18:50:44+00:00
#34: Implementando facturador
Estado: closed Creado: 2024-07-28T14:41:14+00:00 Cerrado: 2024-07-28T14:41:21+00:00
#33: Pipeline improved
Estado: closed Creado: 2024-07-27T16:08:34+00:00 Cerrado: 2024-07-27T16:08:42+00:00
#32: Upgrading versiones and moving to eureka
Estado: closed Creado: 2024-07-22T00:01:25+00:00 Cerrado: 2024-07-22T00:01:31+00:00
#31: Deleting config server
Estado: closed Creado: 2024-07-13T11:40:04+00:00 Cerrado: 2024-07-13T11:40:11+00:00
#30: Upgrade versions
Estado: closed Creado: 2024-07-06T00:01:35+00:00 Cerrado: 2024-07-06T00:01:43+00:00
#29: Agregado de actualización de fecha de pago en proveedor pago
Estado: closed Creado: 2024-06-14T07:52:54+00:00 Cerrado: 2024-06-14T07:53:01+00:00
#28: Listado de Facturas Pendientes, creo que este es el bueno
Estado: closed Creado: 2024-06-14T07:36:39+00:00 Cerrado: 2024-06-14T07:36:50+00:00
#27: Agregado de cuenta de honorarios a dependencia
Estado: closed Creado: 2024-06-12T23:49:53+00:00 Cerrado: 2024-06-12T23:50:01+00:00
#26: Corrección del listado de facturas pendientes
Estado: closed Creado: 2024-06-08T12:13:57+00:00 Cerrado: 2024-06-08T12:14:06+00:00
#25: Cambio de listado de facturas pendientes a query nativo incluyendo la…
Estado: closed Creado: 2024-06-05T23:53:23+00:00 Cerrado: 2024-06-05T23:54:48+00:00
…s fechas de los valores
#24: Revisión de asignación de costos
Estado: closed Creado: 2024-06-02T19:29:44+00:00 Cerrado: 2024-06-02T19:29:50+00:00
#23: agregado del proceso de cambio de fecha de asiento de asignacion de c…
Estado: closed Creado: 2024-06-02T11:51:08+00:00 Cerrado: 2024-06-02T11:51:14+00:00
…ostos para todos
#22: agregado del proceso de cambio de fecha de asiento de asignacion de c…
Estado: closed Creado: 2024-06-01T15:07:58+00:00 Cerrado: 2024-06-01T15:08:07+00:00
…ostos
#21: Agregado de facultad_grupo para la generación parcial de PMC
Estado: closed Creado: 2024-05-28T09:32:11+00:00 Cerrado: 2024-05-28T09:32:18+00:00
#20: Chequera version added to printer
Estado: closed Creado: 2024-05-27T20:14:13+00:00 Cerrado: 2024-05-27T20:14:22+00:00
#19: Sheet contratados added
Estado: closed Creado: 2024-05-27T00:21:55+00:00 Cerrado: 2024-05-27T00:22:40+00:00
#18: Kotlin version changed
Estado: closed Creado: 2024-05-26T19:47:46+00:00 Cerrado: 2024-05-26T19:48:08+00:00
#17: Spring Boot version changed and OP columns added
Estado: closed Creado: 2024-05-23T16:18:16+00:00 Cerrado: 2024-05-23T16:18:22+00:00
#16: Columna Orden Pago Agregada al Mayor
Estado: closed Creado: 2024-05-20T00:48:07+00:00 Cerrado: 2024-05-20T00:48:15+00:00
#15: Delete Orden Pago Fixed
Estado: closed Creado: 2024-05-19T15:51:58+00:00 Cerrado: 2024-05-19T15:52:08+00:00
#14: Orden Pago anulation failed fixed
Estado: closed Creado: 2024-05-17T09:28:53+00:00 Cerrado: 2024-05-17T09:28:59+00:00
#13: Chequeo de generacion de archivo PMC con sólo 2 alumnos
Estado: closed Creado: 2024-05-04T21:11:47+00:00 Cerrado: 2024-05-04T21:11:53+00:00
#12: Generación de archivo PagoTIC ajustado
Estado: closed Creado: 2024-04-18T07:39:13+00:00 Cerrado: 2024-04-18T07:39:19+00:00
#11: Haberes Service adapted
Estado: closed Creado: 2024-04-14T14:40:01+00:00 Cerrado: 2024-04-14T14:40:08+00:00
#10: Update barras antes de mandar chequera
Estado: closed Creado: 2024-04-06T18:34:26+00:00 Cerrado: 2024-04-06T18:34:33+00:00
#9: Comentando envío individual
Estado: closed Creado: 2024-04-05T19:31:11+00:00 Cerrado: 2024-04-05T19:31:18+00:00
#8: Comentando envío individual
Estado: closed Creado: 2024-04-05T18:47:56+00:00 Cerrado: 2024-04-05T18:48:01+00:00
#7: Comentando envío individual
Estado: closed Creado: 2024-04-05T18:42:35+00:00 Cerrado: 2024-04-05T18:42:41+00:00
#6: Actualiza el código de barras antes de enviar la chequera
Estado: closed Creado: 2024-04-05T18:13:10+00:00 Cerrado: 2024-04-05T18:13:17+00:00
#5: Agregado de envío de cuota individual
Estado: closed Creado: 2024-04-04T23:33:51+00:00 Cerrado: 2024-04-04T23:33:58+00:00
#4: Configurando Eureka Client
Estado: closed Creado: 2024-04-03T00:21:43+00:00 Cerrado: 2024-04-03T00:21:49+00:00
#3: service renamed to core-service
Estado: closed Creado: 2024-03-31T11:33:13+00:00 Cerrado: 2024-03-31T11:33:20+00:00
#2: Fix Pre Medicina
Estado: closed Creado: 2023-02-19T21:25:15+00:00 Cerrado: 2023-02-19T21:25:34+00:00
#1: Create maven.yml
Estado: closed Creado: 2022-12-27T00:26:38+00:00 Cerrado: 2022-12-27T00:26:43+00:00