62 lines
2.6 KiB
TypeScript
62 lines
2.6 KiB
TypeScript
|
|
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<StockBobinaDto[]> => {
|
||
|
|
const params: Record<string, string | number | boolean> = {};
|
||
|
|
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<StockBobinaDto[]>('/stockbobinas', { params });
|
||
|
|
return response.data;
|
||
|
|
};
|
||
|
|
|
||
|
|
const getStockBobinaById = async (idBobina: number): Promise<StockBobinaDto> => {
|
||
|
|
const response = await apiClient.get<StockBobinaDto>(`/stockbobinas/${idBobina}`);
|
||
|
|
return response.data;
|
||
|
|
};
|
||
|
|
|
||
|
|
const ingresarBobina = async (data: CreateStockBobinaDto): Promise<StockBobinaDto> => {
|
||
|
|
const response = await apiClient.post<StockBobinaDto>('/stockbobinas', data);
|
||
|
|
return response.data;
|
||
|
|
};
|
||
|
|
|
||
|
|
const updateDatosBobinaDisponible = async (idBobina: number, data: UpdateStockBobinaDto): Promise<void> => {
|
||
|
|
await apiClient.put(`/stockbobinas/${idBobina}/datos`, data);
|
||
|
|
};
|
||
|
|
|
||
|
|
const cambiarEstadoBobina = async (idBobina: number, data: CambiarEstadoBobinaDto): Promise<void> => {
|
||
|
|
await apiClient.put(`/stockbobinas/${idBobina}/cambiar-estado`, data);
|
||
|
|
};
|
||
|
|
|
||
|
|
const deleteIngresoBobina = async (idBobina: number): Promise<void> => {
|
||
|
|
await apiClient.delete(`/stockbobinas/${idBobina}`);
|
||
|
|
};
|
||
|
|
|
||
|
|
const stockBobinaService = {
|
||
|
|
getAllStockBobinas,
|
||
|
|
getStockBobinaById,
|
||
|
|
ingresarBobina,
|
||
|
|
updateDatosBobinaDisponible,
|
||
|
|
cambiarEstadoBobina,
|
||
|
|
deleteIngresoBobina,
|
||
|
|
};
|
||
|
|
|
||
|
|
export default stockBobinaService;
|