Backend:
Diseño de un AuditoriaController con un patrón para añadir endpoints de historial para diferentes entidades. Implementación de la lógica de servicio y repositorio para obtener datos de las tablas _H para: Usuarios (gral_Usuarios_H) Pagos de Distribuidores (cue_PagosDistribuidor_H) Notas de Crédito/Débito (cue_CreditosDebitos_H) Entradas/Salidas de Distribuidores (dist_EntradasSalidas_H) Entradas/Salidas de Canillitas (dist_EntradasSalidasCanillas_H) Novedades de Canillitas (dist_dtNovedadesCanillas_H) Ajustes Manuales de Saldo (cue_SaldoAjustesHistorial) Tipos de Pago (cue_dtTipopago_H) Canillitas (Maestro) (dist_dtCanillas_H) Distribuidores (Maestro) (dist_dtDistribuidores_H) Empresas (Maestro) (dist_dtEmpresas_H) DTOs específicos para cada tipo de historial, incluyendo NombreUsuarioModifico. Frontend: Servicio auditoriaService.ts con métodos para llamar a cada endpoint de historial. Página AuditoriaGeneralPage.tsx con: Selector de "Tipo de Entidad a Auditar". Filtros comunes (Fechas, Usuario Modificador, Tipo de Modificación, ID Entidad). Un DataGrid que muestra las columnas dinámicamente según el tipo de entidad seleccionada. Lógica para cargar los datos correspondientes. DTOs de historial en TypeScript. Actualizaciones en AppRoutes.tsx y MainLayout.tsx para la nueva sección de Auditoría (restringida a SuperAdmin).
This commit is contained in:
		
							
								
								
									
										21
									
								
								Frontend/src/models/dtos/Auditoria/CanillaHistorialDto.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								Frontend/src/models/dtos/Auditoria/CanillaHistorialDto.ts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,21 @@ | ||||
| export interface CanillaHistorialDto { | ||||
|   id_Canilla: number; | ||||
|   legajo?: number | null; | ||||
|   nomApe: string; | ||||
|   parada?: string | null; | ||||
|   id_Zona: number; | ||||
|   // nombreZona?: string; | ||||
|   accionista: boolean; | ||||
|   obs?: string | null; | ||||
|   empresa: number; // id de la empresa | ||||
|   // nombreEmpresa?: string; | ||||
|   baja: boolean; | ||||
|   fechaBaja?: string | null; // "yyyy-MM-ddTHH:mm:ss" o solo fecha | ||||
|  | ||||
|   id_Usuario: number; | ||||
|   nombreUsuarioModifico: string; | ||||
|   fechaMod: string; | ||||
|   tipoMod: string; | ||||
|  | ||||
|   id?: string; // Para DataGrid | ||||
| } | ||||
| @@ -0,0 +1,22 @@ | ||||
| export interface DistribuidorHistorialDto { | ||||
|   id_Distribuidor: number; | ||||
|   nombre: string; | ||||
|   contacto?: string | null; | ||||
|   nroDoc: string; | ||||
|   id_Zona?: number | null; | ||||
|   // nombreZona?: string; | ||||
|   calle?: string | null; | ||||
|   numero?: string | null; | ||||
|   piso?: string | null; | ||||
|   depto?: string | null; | ||||
|   telefono?: string | null; | ||||
|   email?: string | null; | ||||
|   localidad?: string | null; | ||||
|  | ||||
|   id_Usuario: number; | ||||
|   nombreUsuarioModifico: string; | ||||
|   fechaMod: string; | ||||
|   tipoMod: string; | ||||
|  | ||||
|   id?: string; // Para DataGrid | ||||
| } | ||||
							
								
								
									
										12
									
								
								Frontend/src/models/dtos/Auditoria/EmpresaHistorialDto.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								Frontend/src/models/dtos/Auditoria/EmpresaHistorialDto.ts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,12 @@ | ||||
| export interface EmpresaHistorialDto { | ||||
|   id_Empresa: number; | ||||
|   nombre: string; | ||||
|   detalle?: string | null; | ||||
|  | ||||
|   id_Usuario: number; | ||||
|   nombreUsuarioModifico: string; | ||||
|   fechaMod: string; | ||||
|   tipoMod: string; | ||||
|  | ||||
|   id?: string; // Para DataGrid | ||||
| } | ||||
| @@ -0,0 +1,21 @@ | ||||
| export interface EntradaSalidaCanillaHistorialDto { | ||||
|   id_Parte: number; | ||||
|   id_Publicacion: number; | ||||
|   // nombrePublicacion?: string; | ||||
|   id_Canilla: number; | ||||
|   // nombreCanilla?: string; | ||||
|   fecha: string; // Fecha original del movimiento | ||||
|   cantSalida: number; | ||||
|   cantEntrada: number; | ||||
|   id_Precio: number; | ||||
|   id_Recargo: number; | ||||
|   id_PorcMon: number; | ||||
|   observacion?: string | null; | ||||
|  | ||||
|   id_Usuario: number; | ||||
|   nombreUsuarioModifico: string; | ||||
|   fechaMod: string; // Fecha de la modificación | ||||
|   tipoMod: string; | ||||
|  | ||||
|   id?: string; // Para DataGrid | ||||
| } | ||||
| @@ -0,0 +1,22 @@ | ||||
| export interface EntradaSalidaDistHistorialDto { | ||||
|   id_Parte: number; | ||||
|   id_Publicacion: number; | ||||
|   // nombrePublicacion?: string; | ||||
|   id_Distribuidor: number; | ||||
|   // nombreDistribuidor?: string; | ||||
|   fecha: string; // Fecha original del movimiento | ||||
|   tipoMovimiento: string; | ||||
|   cantidad: number; | ||||
|   remito: number; | ||||
|   observacion?: string | null; | ||||
|   id_Precio: number; | ||||
|   id_Recargo: number; | ||||
|   id_Porcentaje: number; | ||||
|  | ||||
|   id_Usuario: number; | ||||
|   nombreUsuarioModifico: string; | ||||
|   fechaMod: string; // Fecha de la modificación | ||||
|   tipoMod: string; | ||||
|  | ||||
|   id?: string; // Para DataGrid | ||||
| } | ||||
| @@ -0,0 +1,20 @@ | ||||
| export interface NotaCreditoDebitoHistorialDto { | ||||
|   id_Nota: number; | ||||
|   destino: string; | ||||
|   id_Destino: number; | ||||
|   // nombreDestinatario?: string; // Opcional | ||||
|   referencia?: string | null; | ||||
|   tipo: string; | ||||
|   fecha: string; // Fecha original de la nota | ||||
|   monto: number; | ||||
|   observaciones?: string | null; | ||||
|   id_Empresa: number; | ||||
|   // nombreEmpresa?: string; // Opcional | ||||
|  | ||||
|   id_Usuario: number; | ||||
|   nombreUsuarioModifico: string; | ||||
|   fechaMod: string; // Fecha de la modificación | ||||
|   tipoMod: string; | ||||
|  | ||||
|   id?: string; // Para DataGrid | ||||
| } | ||||
| @@ -0,0 +1,14 @@ | ||||
| export interface NovedadCanillaHistorialDto { | ||||
|   id_Novedad: number; | ||||
|   id_Canilla: number; | ||||
|   // nombreCanilla?: string; | ||||
|   fecha: string; // Fecha original | ||||
|   detalle?: string | null; | ||||
|  | ||||
|   id_Usuario: number; | ||||
|   nombreUsuarioModifico: string; | ||||
|   fechaMod: string; // Fecha de auditoría | ||||
|   tipoMod: string; | ||||
|  | ||||
|   id?: string; // Para DataGrid | ||||
| } | ||||
| @@ -0,0 +1,19 @@ | ||||
| export interface PagoDistribuidorHistorialDto { | ||||
|   id_Pago: number; // ID del pago original | ||||
|   id_Distribuidor: number; | ||||
|   fecha: string; // Fecha del pago original (YYYY-MM-DDTHH:mm:ss) | ||||
|   tipoMovimiento: string; | ||||
|   recibo: number; | ||||
|   monto: number; | ||||
|   id_TipoPago: number; | ||||
|   detalle?: string | null; | ||||
|   id_Empresa: number; | ||||
|  | ||||
|   // Campos de auditoría | ||||
|   id_Usuario: number; | ||||
|   nombreUsuarioModifico: string; | ||||
|   fechaMod: string; // Fecha de la modificación (YYYY-MM-DDTHH:mm:ss) | ||||
|   tipoMod: string; | ||||
|  | ||||
|   id?: string; // Para el DataGrid, se generará en el frontend | ||||
| } | ||||
| @@ -0,0 +1,19 @@ | ||||
| export interface SaldoAjusteHistorialDto { | ||||
|   idSaldoAjusteHist: number; | ||||
|   destino: string; | ||||
|   id_Destino: number; | ||||
|   // nombreDestinatario?: string; | ||||
|   id_Empresa: number; | ||||
|   // nombreEmpresa?: string; | ||||
|   montoAjuste: number; | ||||
|   saldoAnterior: number; | ||||
|   saldoNuevo: number; | ||||
|   justificacion: string; | ||||
|   fechaAjuste: string; // Es la FechaMod, pero la llamamos FechaAjuste para claridad | ||||
|    | ||||
|   id_UsuarioAjuste: number; // Corresponde a Id_Usuario en el DTO de C# | ||||
|   nombreUsuarioModifico: string; | ||||
|   // tipoMod?: string; // Podrías añadirlo fijo como "Ajuste Manual" en el frontend si es necesario | ||||
|  | ||||
|   id?: string; // Para DataGrid | ||||
| } | ||||
							
								
								
									
										12
									
								
								Frontend/src/models/dtos/Auditoria/TipoPagoHistorialDto.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								Frontend/src/models/dtos/Auditoria/TipoPagoHistorialDto.ts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,12 @@ | ||||
| export interface TipoPagoHistorialDto { | ||||
|   id_TipoPago: number; | ||||
|   nombre: string;       // Nombre del TipoPago en ese momento | ||||
|   detalle?: string | null; // Detalle en ese momento | ||||
|  | ||||
|   id_Usuario: number; | ||||
|   nombreUsuarioModifico: string; | ||||
|   fechaMod: string; | ||||
|   tipoMod: string; | ||||
|  | ||||
|   id?: string; // Para DataGrid | ||||
| } | ||||
							
								
								
									
										9
									
								
								Frontend/src/models/dtos/Distribucion/CambioParadaDto.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								Frontend/src/models/dtos/Distribucion/CambioParadaDto.ts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,9 @@ | ||||
| export interface CambioParadaDto { | ||||
|   idRegistro: number; | ||||
|   idCanilla: number; | ||||
|   nombreCanilla: string; | ||||
|   parada: string; | ||||
|   vigenciaD: string; // "yyyy-MM-dd" | ||||
|   vigenciaH?: string | null; // "yyyy-MM-dd" | ||||
|   esActual: boolean; // Calculada en el backend o frontend | ||||
| } | ||||
| @@ -0,0 +1,5 @@ | ||||
| export interface CreateCambioParadaDto { | ||||
|   // idCanilla se pasa por la ruta | ||||
|   parada: string; | ||||
|   vigenciaD: string; // "yyyy-MM-dd" | ||||
| } | ||||
| @@ -0,0 +1,3 @@ | ||||
| export interface UpdateCambioParadaDto { | ||||
|   vigenciaH: string; // "yyyy-MM-dd" | ||||
| } | ||||
		Reference in New Issue
	
	Block a user