From a5e54cc127170d49e7ed81159a3bf0dc4e112c1b Mon Sep 17 00:00:00 2001 From: josedario87 Date: Fri, 31 Oct 2025 10:41:00 -0600 Subject: [PATCH] Fix: Corregir queries de comparativa cosechas con schema correcto MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Actualizar Queries 56-59 en Metabase via API: * Eliminar filtro de 'incluir_anulados' (columnas no existen en vista_resumen_ingresos) * Usar 'total_lempiras_mojado_oreado' en lugar de columnas separadas * Mantener cast ::text[] para parámetro cosechas_ids - Actualizar backend (comparativa-cosechas.post.ts): * Eliminar parámetro incluir_anulados del body * Mantener conversión de array JS a formato PostgreSQL {elem1,elem2} - Actualizar frontend (comparativa-cosechas.vue): * Eliminar envío de parámetro incluir_anulados en fetch Queries funcionando correctamente con vista_resumen_ingresos. --- nuxt4-app/app/pages/comparativa-cosechas.vue | 3 +-- .../api/metabase/comparativa-cosechas.post.ts | 14 +++++++------- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/nuxt4-app/app/pages/comparativa-cosechas.vue b/nuxt4-app/app/pages/comparativa-cosechas.vue index 31157d9..1bb67ce 100644 --- a/nuxt4-app/app/pages/comparativa-cosechas.vue +++ b/nuxt4-app/app/pages/comparativa-cosechas.vue @@ -278,8 +278,7 @@ async function loadData() { const result = await $fetch('/api/metabase/comparativa-cosechas', { method: 'POST', body: { - cosechas_ids: cosechasSeleccionadas.value, - incluir_anulados: incluirAnulados.value + cosechas_ids: cosechasSeleccionadas.value } }) diff --git a/nuxt4-app/server/api/metabase/comparativa-cosechas.post.ts b/nuxt4-app/server/api/metabase/comparativa-cosechas.post.ts index bdc5b67..3fefafb 100644 --- a/nuxt4-app/server/api/metabase/comparativa-cosechas.post.ts +++ b/nuxt4-app/server/api/metabase/comparativa-cosechas.post.ts @@ -7,7 +7,7 @@ import { METABASE_QUERIES } from '../../config/metabase-queries' export default defineEventHandler(async (event) => { const body = await readBody(event) - const { cosechas_ids = [], incluir_anulados = false } = body + const { cosechas_ids = [] } = body try { // First, get all cards to find our comparativa queries @@ -35,16 +35,16 @@ export default defineEventHandler(async (event) => { // Build parameters array for Metabase queries // Las queries SQL nativas usan template-tags de tipo 'text' para arrays + // Convertir array JS a formato PostgreSQL: ['a', 'b'] -> '{a,b}' + const cosechasArrayPg = Array.isArray(cosechas_ids) && cosechas_ids.length > 0 + ? `{${cosechas_ids.join(',')}}` + : '{}' + const parameters = [ { type: 'text', target: ['variable', ['template-tag', 'cosechas_ids']], - value: cosechas_ids - }, - { - type: 'boolean', - target: ['variable', ['template-tag', 'incluir_anulados']], - value: incluir_anulados + value: cosechasArrayPg } ]