Ir al contenido principal

Informacion de sucursal (1) - [infosupervitionName]

🧾 Descripción

Obtiene la información general de un checklist del Supervisor Nacional, incluyendo:

  • Datos principales de la cabecera del checklist

  • Promedio de progreso de todas las categorías evaluadas

  • Puntaje total acumulado

El servicio combina información proveniente de:

  • ERP (doc: Check List del Supervisor Nacional 2)

  • Servicio interno listCategory() (el cual obtiene las secciones/categorías del checklist)


🚀 Endpoint

POST /infosupervition-name

🔸 Recibe un parámetro obligatorio en el body:

{ "name": "ID del checklist" }

🔐 Seguridad

Requiere autenticación interna mediante ServiceErp() y dependencias del módulo general.


🧠 Flujo del Servicio (resumen real)

  1. Valida parámetro name
    Si viene vacío, retorna error utilizando responseValidate().

  2. Obtiene todas las categorías asociadas al checklist
    Usa:


    listCategory($request)
  3. Valida respuesta de categorías

    • Si ocurre error → retorna mensaje de fallo.

    • Si la data viene vacía → indica que no existen registros creados.

  4. Calcula progresos y puntajes totales
    Recorre cada categoría para:

    • Sumar section_puntaje

    • Sumar progreso

    • Contar categorías

    Luego obtiene:

    • all_progress = total_progreso / cantidad_categorias

    • all_point = round(total_puntaje)

  5. Consulta información de cabecera del checklist en ERP

    Realiza:


    GET Check List del Supervisor Nacional 2?filters=[["name","=",<name>]]

    Campos obtenidos:

    • sucursal

    • fecha

    • name

  6. Agrega métricas calculadas al resultado:

    • all_progress

    • all_point

  7. Retorna respuesta final con la información consolidada


📥 Request Body

{ "name": "CHK-00045" }

📤 Response 200 – Ejemplo

{ "valor": true, "msn": "Informacion obtenida", "data": { "sucursal": "LIMA-01", "fecha": "2025-01-15", "name": "CHK-00045", "all_progress": 82.5, "all_point": 120 } }

❗ Posibles Errores

1. name vacío

{ "valor": false, "msn": "Campo requerido vacío" }

2. Error al obtener categorías

{ "valor": false, "msn": "Error al obtener la informacion", "error": { ... } }

3. No existen registros en categorías

{ "valor": false, "msn": "No hay ningun registro creado", "data": [] }

4. Error consultando al ERP

{ "valor": false, "msn": "Error al obtener informacion", "data": [] }

📚 Schemas usados

Categoría (respuesta de listCategory)

{ "section_puntaje": "number", "progreso": "number" }

Check List del Supervisor Nacional 2 (ERP)

{ "sucursal": "string", "fecha": "date", "name": "string" }

🗃 Lógica en pseudo-código

if name == "": return error categorias = listCategory(request) if categorias.error: return error if categorias.data empty: return no registros for categoria in categorias: total_puntaje += categoria.section_puntaje total_progreso += categoria.progreso cantidad += 1 GET checklistHeader FROM ERP WHERE name = <name> header.all_progress = total_progreso / cantidad header.all_point = round(total_puntaje) return header