import apiClient from '../apiClient'; import type { StockBobinaDto } from '../../models/dtos/Impresion/StockBobinaDto'; import type { CreateStockBobinaDto } from '../../models/dtos/Impresion/CreateStockBobinaDto'; import type { UpdateStockBobinaDto } from '../../models/dtos/Impresion/UpdateStockBobinaDto'; import type { CambiarEstadoBobinaDto } from '../../models/dtos/Impresion/CambiarEstadoBobinaDto'; interface GetAllStockBobinasParams { idTipoBobina?: number | null; nroBobinaFilter?: string | null; idPlanta?: number | null; idEstadoBobina?: number | null; remitoFilter?: string | null; fechaDesde?: string | null; // "yyyy-MM-dd" fechaHasta?: string | null; // "yyyy-MM-dd" } const getAllStockBobinas = async (filters: GetAllStockBobinasParams): Promise => { const params: Record = {}; if (filters.idTipoBobina) params.idTipoBobina = filters.idTipoBobina; if (filters.nroBobinaFilter) params.nroBobina = filters.nroBobinaFilter; // El backend espera nroBobina if (filters.idPlanta) params.idPlanta = filters.idPlanta; if (filters.idEstadoBobina) params.idEstadoBobina = filters.idEstadoBobina; if (filters.remitoFilter) params.remito = filters.remitoFilter; // El backend espera remito if (filters.fechaDesde) params.fechaDesde = filters.fechaDesde; if (filters.fechaHasta) params.fechaHasta = filters.fechaHasta; const response = await apiClient.get('/stockbobinas', { params }); return response.data; }; const getStockBobinaById = async (idBobina: number): Promise => { const response = await apiClient.get(`/stockbobinas/${idBobina}`); return response.data; }; const ingresarBobina = async (data: CreateStockBobinaDto): Promise => { const response = await apiClient.post('/stockbobinas', data); return response.data; }; const updateDatosBobinaDisponible = async (idBobina: number, data: UpdateStockBobinaDto): Promise => { await apiClient.put(`/stockbobinas/${idBobina}/datos`, data); }; const cambiarEstadoBobina = async (idBobina: number, data: CambiarEstadoBobinaDto): Promise => { await apiClient.put(`/stockbobinas/${idBobina}/cambiar-estado`, data); }; const deleteIngresoBobina = async (idBobina: number): Promise => { await apiClient.delete(`/stockbobinas/${idBobina}`); }; const stockBobinaService = { getAllStockBobinas, getStockBobinaById, ingresarBobina, updateDatosBobinaDisponible, cambiarEstadoBobina, deleteIngresoBobina, }; export default stockBobinaService;