Implementación AnomalIA - Fix de dropdowns y permisos.
All checks were successful
Optimized Build and Deploy / remote-build-and-deploy (push) Successful in 5m17s
All checks were successful
Optimized Build and Deploy / remote-build-and-deploy (push) Successful in 5m17s
This commit is contained in:
49
Frontend/src/services/Anomalia/alertaService.ts
Normal file
49
Frontend/src/services/Anomalia/alertaService.ts
Normal file
@@ -0,0 +1,49 @@
|
||||
import apiClient from '../apiClient';
|
||||
|
||||
// El contrato que define la estructura de una alerta genérica
|
||||
export interface AlertaGenericaDto {
|
||||
idAlerta: number;
|
||||
fechaDeteccion: string;
|
||||
tipoAlerta: string;
|
||||
entidad: string;
|
||||
idEntidad: number;
|
||||
mensaje: string;
|
||||
fechaAnomalia: string;
|
||||
leida: boolean;
|
||||
cantidadEnviada?: number;
|
||||
cantidadDevuelta?: number;
|
||||
porcentajeDevolucion?: number;
|
||||
}
|
||||
|
||||
// DTO para el request de marcar un grupo como leído
|
||||
export interface MarcarGrupoLeidoRequestDto {
|
||||
tipoAlerta: string;
|
||||
idEntidad: number;
|
||||
}
|
||||
|
||||
/**
|
||||
* Obtiene todas las alertas no leídas del sistema.
|
||||
*/
|
||||
export const getAlertas = async (): Promise<AlertaGenericaDto[]> => {
|
||||
try {
|
||||
const response = await apiClient.get<AlertaGenericaDto[]>('/alertas');
|
||||
return response.data || [];
|
||||
} catch (error) {
|
||||
console.error("Error en getAlertas:", error);
|
||||
return [];
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Marca una única alerta como leída.
|
||||
*/
|
||||
export const marcarAlertaLeida = async (idAlerta: number): Promise<void> => {
|
||||
await apiClient.post(`/alertas/${idAlerta}/marcar-leida`);
|
||||
};
|
||||
|
||||
/**
|
||||
* Marca un grupo completo de alertas como leídas.
|
||||
*/
|
||||
export const marcarGrupoComoLeido = async (request: MarcarGrupoLeidoRequestDto): Promise<void> => {
|
||||
await apiClient.post('/alertas/marcar-grupo-leido', request);
|
||||
};
|
||||
@@ -3,6 +3,7 @@ import type { CanillaDto } from '../../models/dtos/Distribucion/CanillaDto';
|
||||
import type { CreateCanillaDto } from '../../models/dtos/Distribucion/CreateCanillaDto';
|
||||
import type { UpdateCanillaDto } from '../../models/dtos/Distribucion/UpdateCanillaDto';
|
||||
import type { ToggleBajaCanillaDto } from '../../models/dtos/Distribucion/ToggleBajaCanillaDto';
|
||||
import type { CanillaDropdownDto } from '../../models/dtos/Distribucion/CanillaDropdownDto';
|
||||
|
||||
|
||||
const getAllCanillas = async (
|
||||
@@ -15,12 +16,24 @@ const getAllCanillas = async (
|
||||
if (nomApeFilter) params.nomApe = nomApeFilter;
|
||||
if (legajoFilter !== undefined && legajoFilter !== null) params.legajo = legajoFilter;
|
||||
if (soloActivos !== undefined) params.soloActivos = soloActivos;
|
||||
if (esAccionistaFilter !== undefined) params.esAccionista = esAccionistaFilter; // <<-- ¡CLAVE! Verifica esto.
|
||||
if (esAccionistaFilter !== undefined) params.esAccionista = esAccionistaFilter;
|
||||
|
||||
const response = await apiClient.get<CanillaDto[]>('/canillas', { params });
|
||||
return response.data;
|
||||
};
|
||||
|
||||
const getAllDropdownCanillas = async (
|
||||
soloActivos?: boolean,
|
||||
esAccionistaFilter?: boolean // Asegúrate que esté aquí
|
||||
): Promise<CanillaDropdownDto[]> => {
|
||||
const params: Record<string, string | number | boolean> = {};
|
||||
if (soloActivos !== undefined) params.soloActivos = soloActivos;
|
||||
if (esAccionistaFilter !== undefined) params.esAccionista = esAccionistaFilter;
|
||||
|
||||
const response = await apiClient.get<CanillaDropdownDto[]>('/canillas/dropdown', { params });
|
||||
return response.data;
|
||||
};
|
||||
|
||||
const getCanillaById = async (id: number): Promise<CanillaDto> => {
|
||||
const response = await apiClient.get<CanillaDto>(`/canillas/${id}`);
|
||||
return response.data;
|
||||
@@ -43,6 +56,7 @@ const toggleBajaCanilla = async (id: number, data: ToggleBajaCanillaDto): Promis
|
||||
|
||||
const canillaService = {
|
||||
getAllCanillas,
|
||||
getAllDropdownCanillas,
|
||||
getCanillaById,
|
||||
createCanilla,
|
||||
updateCanilla,
|
||||
|
||||
@@ -2,6 +2,7 @@ import apiClient from '../apiClient';
|
||||
import type { OtroDestinoDto } from '../../models/dtos/Distribucion/OtroDestinoDto';
|
||||
import type { CreateOtroDestinoDto } from '../../models/dtos/Distribucion/CreateOtroDestinoDto';
|
||||
import type { UpdateOtroDestinoDto } from '../../models/dtos/Distribucion/UpdateOtroDestinoDto';
|
||||
import type { OtroDestinoDropdownDto } from '../../models/dtos/Distribucion/OtroDestinoDropdownDto';
|
||||
|
||||
const getAllOtrosDestinos = async (nombreFilter?: string): Promise<OtroDestinoDto[]> => {
|
||||
const params: Record<string, string> = {};
|
||||
@@ -12,6 +13,12 @@ const getAllOtrosDestinos = async (nombreFilter?: string): Promise<OtroDestinoDt
|
||||
return response.data;
|
||||
};
|
||||
|
||||
const getAllDropdownOtrosDestinos = async (): Promise<OtroDestinoDto[]> => {
|
||||
// Llama a GET /api/otrosdestinos/dropdown
|
||||
const response = await apiClient.get<OtroDestinoDropdownDto[]>('/otrosdestinos/dropdown');
|
||||
return response.data;
|
||||
};
|
||||
|
||||
const getOtroDestinoById = async (id: number): Promise<OtroDestinoDto> => {
|
||||
// Llama a GET /api/otrosdestinos/{id}
|
||||
const response = await apiClient.get<OtroDestinoDto>(`/otrosdestinos/${id}`);
|
||||
@@ -36,6 +43,7 @@ const deleteOtroDestino = async (id: number): Promise<void> => {
|
||||
|
||||
const otroDestinoService = {
|
||||
getAllOtrosDestinos,
|
||||
getAllDropdownOtrosDestinos,
|
||||
getOtroDestinoById,
|
||||
createOtroDestino,
|
||||
updateOtroDestino,
|
||||
|
||||
@@ -2,6 +2,7 @@ import apiClient from '../apiClient';
|
||||
import type { EstadoBobinaDto } from '../../models/dtos/Impresion/EstadoBobinaDto';
|
||||
import type { CreateEstadoBobinaDto } from '../../models/dtos/Impresion/CreateEstadoBobinaDto';
|
||||
import type { UpdateEstadoBobinaDto } from '../../models/dtos/Impresion/UpdateEstadoBobinaDto';
|
||||
import type { EstadoBobinaDropdownDto } from '../../models/dtos/Impresion/EstadoBobinaDropdownDto';
|
||||
|
||||
const getAllEstadosBobina = async (denominacionFilter?: string): Promise<EstadoBobinaDto[]> => {
|
||||
const params: Record<string, string> = {};
|
||||
@@ -11,6 +12,11 @@ const getAllEstadosBobina = async (denominacionFilter?: string): Promise<EstadoB
|
||||
return response.data;
|
||||
};
|
||||
|
||||
const getAllDropdownEstadosBobina = async (): Promise<EstadoBobinaDropdownDto[]> => {
|
||||
const response = await apiClient.get<EstadoBobinaDropdownDto[]>('/estadosbobina/dropdown');
|
||||
return response.data;
|
||||
};
|
||||
|
||||
const getEstadoBobinaById = async (id: number): Promise<EstadoBobinaDto> => {
|
||||
const response = await apiClient.get<EstadoBobinaDto>(`/estadosbobina/${id}`);
|
||||
return response.data;
|
||||
@@ -31,6 +37,7 @@ const deleteEstadoBobina = async (id: number): Promise<void> => {
|
||||
|
||||
const estadoBobinaService = {
|
||||
getAllEstadosBobina,
|
||||
getAllDropdownEstadosBobina,
|
||||
getEstadoBobinaById,
|
||||
createEstadoBobina,
|
||||
updateEstadoBobina,
|
||||
|
||||
@@ -12,6 +12,12 @@ const getAllTiposBobina = async (denominacionFilter?: string): Promise<TipoBobin
|
||||
return response.data;
|
||||
};
|
||||
|
||||
const getAllDropdownTiposBobina = async (): Promise<TipoBobinaDto[]> => {
|
||||
// Llama a GET /api/tiposbobina/dropdown
|
||||
const response = await apiClient.get<TipoBobinaDto[]>('/tiposbobina/dropdown');
|
||||
return response.data;
|
||||
};
|
||||
|
||||
const getTipoBobinaById = async (id: number): Promise<TipoBobinaDto> => {
|
||||
// Llama a GET /api/tiposbobina/{id}
|
||||
const response = await apiClient.get<TipoBobinaDto>(`/tiposbobina/${id}`);
|
||||
@@ -36,6 +42,7 @@ const deleteTipoBobina = async (id: number): Promise<void> => {
|
||||
|
||||
const tipoBobinaService = {
|
||||
getAllTiposBobina,
|
||||
getAllDropdownTiposBobina,
|
||||
getTipoBobinaById,
|
||||
createTipoBobina,
|
||||
updateTipoBobina,
|
||||
|
||||
Reference in New Issue
Block a user