Commit graph

1 commit

Author SHA1 Message Date
Alberto Martinez
1a3fb49272 fix: guardar programa de obra (GET fallaba por agregados SQL anidados)
<!-- CURSOR_AGENT_PR_BODY_BEGIN -->
## Problema

La preview del Excel por partida ya funciona. Al pulsar **Importar** el programa sí se guarda (`Programa importado`), pero al recargar `GET /v1/projects/:id/work-program` aparece:

`Error inesperado en fn_work_program_get (sqlstate=42803): aggregate function calls cannot be nested`

Postgres no permite `jsonb_agg(... SUM(...))` en el mismo SELECT. Eso arma la curva semanal después del import.

## Cambio

Changeset `036`: `SUM` va en una subquery y `jsonb_agg` queda afuera. El import no cambia.

## Cómo probar

1. Aplicar migraciones Liquibase (changeset 036).
2. En una obra con presupuesto, importar el Excel por partida (el de 8 partidas / 9 semanas).
3. Tras **Importar**, la pantalla debe mostrar el programa (semanas y curva), sin el toast rojo.
4. Actualizar / volver a entrar a Programa de obra: sigue cargando.

<!-- CURSOR_AGENT_PR_BODY_END -->

<div><a href="https://cursor.com/agents/bc-d8a5d34a-ead9-4912-8296-322cff799783?cursor_ref=pr_footer&cursor_cta=open_in_web"><picture><source media="(prefers-color-scheme: dark)" srcset="https://cursor.com/assets/images/open-in-web-dark.png"><source media="(prefers-color-scheme: light)" srcset="https://cursor.com/assets/images/open-in-web-light.png"><img alt="Open in Web" width="114" height="28" src="https://cursor.com/assets/images/open-in-web-dark.png"></picture></a>&nbsp;<a href="https://cursor.com/background-agent?bcId=bc-d8a5d34a-ead9-4912-8296-322cff799783&cursor_ref=pr_footer&cursor_cta=open_in_cursor"><picture><source media="(prefers-color-scheme: dark)" srcset="https://cursor.com/assets/images/open-in-cursor-dark.png"><source media="(prefers-color-scheme: light)" srcset="https://cursor.com/assets/images/open-in-cursor-light.png"><img alt="Open in Cursor" width="131" height="28" src="https://cursor.com/assets/images/open-in-cursor-dark.png"></picture></a>&nbsp;</div>
2026-09-08 21:36:05 +00:00