Esta API permite la carga de archivos Excel para su procesamiento, validación y cálculo de totales según el tipo de hoja contenida en el archivo. El cual es consumido por el controlador de Laravel para ser correspondientemente consumido.
POST /api/upload
Permite subir un archivo Excel (.xlsx o .xls) y una fecha. El archivo es procesado y los datos se validan de acuerdo a las reglas definidas en las diferentes hojas del archivo Excel.
fecha (string, requerido) - Fecha en formato YYYY-MM-DDGestion-Mes-Dia para realizar validaciones basadas en la quincena.file (archivo, requerido) - Archivo Excel a cargar.curl -X POST -F "fecha=2025-03-16" -F "file=@archivo.xlsx" http://localhost:5000/api/upload
{
"resultados": {
"CS": [
{"ci_nit_del_cliente": "123456789", "nombre_completo_del_cliente": "Juan Pérez", "nro_factura": "F001", "fecha_de_venta": "16/03/2025", "producto_vendido": "Arroz", "cantidad_tm": 10, "precio_sus_tm": 120, "total_sus": 1200},
...
],
"totales": {
"CS": {
"Total Cantidad (TM)": 100,
"Promedio Precio (Sus/TM)": 120,
"Total Ventas (Sus)": 12000
},
...
}
},
"errores": {
"GRANO ACOPIADO": ["Datos intrusos detectados en la hoja: GRANO ACOPIADO"],
...
}
}
La respuesta es un objeto JSON que contiene tres claves principales:
resultados: Contiene los registros procesados de cada hoja del archivo. Cada hoja se procesa de manera específica según su nombre y se retorna un arreglo con los datos procesados.totales: Contiene los totales calculados para cada hoja, como la cantidad total, el promedio de precio y el total de ventas.errores: Contiene los errores encontrados durante el procesamiento de los datos, como datos intrusos o registros inválidos.El archivo Excel puede contener varias hojas, y cada una de ellas se procesa de acuerdo con reglas específicas:
| Hoja | Descripción |
|---|---|
| GRANO ACOPIADO | Se validan y calculan los totales de las columnas de bruto y líquido. |
| GRANO RECIBIDO PRECIO CERRADO | Se validan y calculan los totales de grano recibido y el importe total. |
| CS = CASCARILLA DE SOYA | Se validan y calculan los totales de Importe Total, Promedio Precio y Total Dolares |
| HSS = HARINA DE SOYA SOLVENTE | Se validan y calculan los totales de Importe Total, Promedio Precio y Total Dolares |
| ACS = ACEITE CRUDO DE SOYA | Se validan y calculan los totales de Importe Total, Promedio Precio y Total Dolares |
| HIS = HARINA INTEGRAL DE SOYA | Se validan y calculan los totales de Importe Total, Promedio Precio y Total Dolares |
| ARS = ACEITE REFINADO DE SOYA | Se validan y calculan los totales de Importe Total, Promedio Precio y Total Dolares |
| EXP = HARINA EXPELLER DE SOYA | Se validan y calculan los totales de Importe Total, Promedio Precio y Total Dolares |
El API realiza validaciones sobre los datos de cada hoja, verificando si los registros son válidos para la fecha proporcionada. Si los datos no son válidos, se añaden a la sección de errores. Además, se verifica la correcta conversión de la fecha proporcionada.
Los datos devueltos por la API están en formato JSON, y cada hoja procesada se representa como un objeto con las columnas ordenadas según lo especificado en la configuración de la hoja.