Ir al contenido principal

control/grupo/guardar - [store]

Path: /var/www/html/qaservicesapp/app/Http/Controllers/ShalomControl/GrupoController.php

🧾 Descripción

Crea un nuevo registro en emp_grupo_cargueros_desembarque, que representa un grupo de cargueros/desembarque asociado a un terminal.

Si el usuario no envía un nombre, el sistema genera uno automáticamente usando el nombre del terminal y la fecha de creación.


🚀 Endpoint


POST /grupo-cargueros-desembarque

📥 Request Body

{ "nombre": "string (opcional)", "terminal": "number (requerido)", "usuario": "string (opcional)" }

Parámetros requeridos

Campo Tipo Obligatorio Descripción
terminal number ID del terminal donde se creará el grupo.
nombre string No Nombre personalizado del grupo. Si no se envía, el sistema genera uno.
usuario string No Usuario que realiza la operación (no se usa dentro de la función).

🔐 Seguridad

El método no define validación propia, pero depende del middleware o autenticación general de la API.


🧠 Flujo del Servicio (resumen real)

  1. Obtiene los parámetros: nombre, terminal, usuario, fecha actual.

  2. Valida que terminal sea numérico.
    Si no lo es → retorna:


    { "success": false, "message": "Debe enviar el terminal" }
  3. Busca datos del terminal en emp_terminal:


    SELECT ter_id, ter_nombre AS nombre FROM emp_terminal WHERE ter_id = {terminal}
  4. Genera nombre automáticamente si no se envía:
    <nombre_terminal> <fecha>

  5. Inserta un nuevo grupo en emp_grupo_cargueros_desembarque:


    INSERT INTO emp_grupo_cargueros_desembarque (nombre, terminal, fecha_creacion) VALUES (...)
  6. Retorna ID generado mediante insertGetId.


📤 Response 200 – Ejemplo

{ "success": true, "message": "Grupo creado correctamente", "data": 58 }

(donde 58 es el ID del nuevo grupo)


Posibles Errores

1. Terminal no válido

{ "success": false, "message": "Debe enviar el terminal" }

(No existen más validaciones dentro del método.)


📚 Schemas (estructuras usadas)

emp_terminal

{ "ter_id": "number", "nombre": "string" }

emp_grupo_cargueros_desembarque

{ "id": "number", "nombre": "string", "terminal": "number", "fecha_creacion": "datetime" }

🗃 Lógica en pseudo-código

nombre = request.nombre terminal = request.terminal usuario = request.usuario fecha = now() if terminal is not numeric: return error terminal_data = SELECT nombre FROM emp_terminal WHERE ter_id = terminal if nombre is empty: nombre = terminal_data.nombre + " " + fecha grupo_new = INSERT INTO emp_grupo_cargueros_desembarque (nombre, terminal, fecha_creacion) return success with grupo_new id