Ya perdí el hilo de los cambios pero ahi van.

This commit is contained in:
2025-05-23 15:47:39 -03:00
parent e7e185a9cb
commit 3c1fe15b1f
141 changed files with 9764 additions and 190 deletions

View File

@@ -0,0 +1,48 @@
import apiClient from '../apiClient';
import type { ControlDevolucionesDto } from '../../models/dtos/Distribucion/ControlDevolucionesDto';
import type { CreateControlDevolucionesDto } from '../../models/dtos/Distribucion/CreateControlDevolucionesDto';
import type { UpdateControlDevolucionesDto } from '../../models/dtos/Distribucion/UpdateControlDevolucionesDto';
interface GetAllControlesParams {
fechaDesde?: string | null; // yyyy-MM-dd
fechaHasta?: string | null; // yyyy-MM-dd
idEmpresa?: number | null;
}
const getAllControlesDevoluciones = async (filters: GetAllControlesParams): Promise<ControlDevolucionesDto[]> => {
const params: Record<string, string | number> = {};
if (filters.fechaDesde) params.fechaDesde = filters.fechaDesde;
if (filters.fechaHasta) params.fechaHasta = filters.fechaHasta;
if (filters.idEmpresa) params.idEmpresa = filters.idEmpresa;
const response = await apiClient.get<ControlDevolucionesDto[]>('/controldevoluciones', { params });
return response.data;
};
const getControlDevolucionesById = async (idControl: number): Promise<ControlDevolucionesDto> => {
const response = await apiClient.get<ControlDevolucionesDto>(`/controldevoluciones/${idControl}`);
return response.data;
};
const createControlDevoluciones = async (data: CreateControlDevolucionesDto): Promise<ControlDevolucionesDto> => {
const response = await apiClient.post<ControlDevolucionesDto>('/controldevoluciones', data);
return response.data;
};
const updateControlDevoluciones = async (idControl: number, data: UpdateControlDevolucionesDto): Promise<void> => {
await apiClient.put(`/controldevoluciones/${idControl}`, data);
};
const deleteControlDevoluciones = async (idControl: number): Promise<void> => {
await apiClient.delete(`/controldevoluciones/${idControl}`);
};
const controlDevolucionesService = {
getAllControlesDevoluciones,
getControlDevolucionesById,
createControlDevoluciones,
updateControlDevoluciones,
deleteControlDevoluciones,
};
export default controlDevolucionesService;

View File

@@ -0,0 +1,72 @@
import apiClient from '../apiClient';
import type { EntradaSalidaCanillaDto } from '../../models/dtos/Distribucion/EntradaSalidaCanillaDto';
import type { CreateEntradaSalidaCanillaDto } from '../../models/dtos/Distribucion/CreateEntradaSalidaCanillaDto'; // Para creación individual si se mantiene
import type { UpdateEntradaSalidaCanillaDto } from '../../models/dtos/Distribucion/UpdateEntradaSalidaCanillaDto';
import type { LiquidarMovimientosCanillaRequestDto } from '../../models/dtos/Distribucion/LiquidarMovimientosCanillaDto';
import type { CreateBulkEntradaSalidaCanillaDto } from '../../models/dtos/Distribucion/CreateBulkEntradaSalidaCanillaDto';
interface GetAllESCanillaParams {
fechaDesde?: string | null; // yyyy-MM-dd
fechaHasta?: string | null; // yyyy-MM-dd
idPublicacion?: number | null;
idCanilla?: number | null;
liquidados?: boolean | null; // true para solo liquidados, false para solo no liquidados
incluirNoLiquidados?: boolean | null; // Si liquidados es null, este determina si se muestran no liquidados
}
const getAllEntradasSalidasCanilla = async (filters: GetAllESCanillaParams): Promise<EntradaSalidaCanillaDto[]> => {
const params: Record<string, string | number | boolean> = {};
if (filters.fechaDesde) params.fechaDesde = filters.fechaDesde;
if (filters.fechaHasta) params.fechaHasta = filters.fechaHasta;
if (filters.idPublicacion) params.idPublicacion = filters.idPublicacion;
if (filters.idCanilla) params.idCanilla = filters.idCanilla;
if (filters.liquidados !== undefined && filters.liquidados !== null) params.liquidados = filters.liquidados;
if (filters.incluirNoLiquidados !== undefined && filters.incluirNoLiquidados !== null) params.incluirNoLiquidados = filters.incluirNoLiquidados;
const response = await apiClient.get<EntradaSalidaCanillaDto[]>('/entradassalidascanilla', { params });
return response.data;
};
const getEntradaSalidaCanillaById = async (idParte: number): Promise<EntradaSalidaCanillaDto> => {
const response = await apiClient.get<EntradaSalidaCanillaDto>(`/entradassalidascanilla/${idParte}`);
return response.data;
};
// Método para creación individual (si decides mantenerlo y diferenciar en el backend o aquí)
const createEntradaSalidaCanilla = async (data: CreateEntradaSalidaCanillaDto): Promise<EntradaSalidaCanillaDto> => {
console.warn("Llamando a createEntradaSalidaCanilla (single), considera usar createBulk si es para el modal de múltiples items.")
const response = await apiClient.post<EntradaSalidaCanillaDto>('/entradassalidascanilla', data); // Asume que el endpoint /entradassalidascanilla acepta el DTO individual
return response.data;
};
// Nuevo método para creación en lote
const createBulkEntradasSalidasCanilla = async (data: CreateBulkEntradaSalidaCanillaDto): Promise<EntradaSalidaCanillaDto[]> => {
const response = await apiClient.post<EntradaSalidaCanillaDto[]>('/entradassalidascanilla/bulk', data); // Endpoint para el lote
return response.data;
};
const updateEntradaSalidaCanilla = async (idParte: number, data: UpdateEntradaSalidaCanillaDto): Promise<void> => {
await apiClient.put(`/entradassalidascanilla/${idParte}`, data);
};
const deleteEntradaSalidaCanilla = async (idParte: number): Promise<void> => {
await apiClient.delete(`/entradassalidascanilla/${idParte}`);
};
const liquidarMovimientos = async (data: LiquidarMovimientosCanillaRequestDto): Promise<void> => {
await apiClient.post('/entradassalidascanilla/liquidar', data);
};
const entradaSalidaCanillaService = {
getAllEntradasSalidasCanilla,
getEntradaSalidaCanillaById,
createEntradaSalidaCanilla, // Mantener si se usa
createBulkEntradasSalidasCanilla, // Nuevo
updateEntradaSalidaCanilla,
deleteEntradaSalidaCanilla,
liquidarMovimientos,
};
export default entradaSalidaCanillaService;

View File

@@ -12,7 +12,7 @@ interface GetAllESDistParams {
}
const getAllEntradasSalidasDist = async (filters: GetAllESDistParams): Promise<EntradaSalidaDistDto[]> => {
const params: Record<string, string | number> = {};
const params: Record<string, string | number | boolean> = {}; // Permitir boolean para que coincida con la interfaz
if (filters.fechaDesde) params.fechaDesde = filters.fechaDesde;
if (filters.fechaHasta) params.fechaHasta = filters.fechaHasta;
if (filters.idPublicacion) params.idPublicacion = filters.idPublicacion;