mirror of
https://origin.cursor.com/mrdevmx/panels.git
synced 2026-10-09 14:03:16 +00:00
<!-- CURSOR_AGENT_PR_BODY_BEGIN --> ## Problema Tras cargar el programa, la pantalla pide en paralelo get / concepts / partidas / **vs-cost**. El vs-cost fallaba: `fn_work_program_vs_cost (sqlstate=42703): column m.project_id does not exist` `warehouse_movements` no tiene `project_id`. El proyecto está en `warehouses.project_id`. ## Cambio (changeset 038) - Salidas de almacén por `JOIN warehouses w ON w.id = m.warehouse_id WHERE w.project_id = …` - Ejecutado por partida **sin duplicar** al cruzar varias semanas (el join anterior multiplicaba el monto) ## Prueba local (hecha antes de pedir merge) En Postgres 16 corrí las **4 RPCs** que usa la página, con presupuesto, 2 semanas, gasto $50 y salida de almacén $25: - `fn_work_program_get` — curva 400 / 600 - `fn_work_program_list_concepts` — items - `fn_work_program_list_partidas` — A001 - `fn_work_program_vs_cost` — ejecutado semanal **75**, por partida **75** (no 150) Script: `scripts/verify-work-program-load.sh` ## Cómo probar en tu ambiente 1. Mergear y aplicar Liquibase (038). 2. Recargar Programa de obra en la obra ya importada. Sin toast rojo. 3. La pestaña / bloque de programado vs costo debe abrir. <!-- 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> <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> </div>
30 lines
1.1 KiB
Bash
Executable file
30 lines
1.1 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
# Corre las 4 RPCs de carga de Programa de obra contra Postgres local.
|
|
set -euo pipefail
|
|
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
|
|
PSQL="${PSQL:-psql}"
|
|
URL="${1:-}"
|
|
|
|
if [[ -z "$URL" ]]; then
|
|
echo "uso: $0 postgresql://user@host:port/db" >&2
|
|
exit 2
|
|
fi
|
|
|
|
TMP="$(mktemp /tmp/wp-load-XXXXXX.sql)"
|
|
{
|
|
cat "$ROOT/scripts/verify-work-program-load.sql"
|
|
sed -n '/^CREATE OR REPLACE FUNCTION core.fn_work_program_list_concepts/,/^\$\$;$/p' \
|
|
"$ROOT/db/core/changesets/030-rpc-work-program.sql"
|
|
sed -n '/^CREATE OR REPLACE FUNCTION core.fn_work_program_list_partidas/,/^\$\$;$/p' \
|
|
"$ROOT/db/core/changesets/030-rpc-work-program.sql"
|
|
sed -n '/^CREATE OR REPLACE FUNCTION core.fn_work_program_get/,/^\$\$;$/p' \
|
|
"$ROOT/db/core/changesets/037-fn-work-program-get-curve-vrow.sql"
|
|
sed -n '/^CREATE OR REPLACE FUNCTION core.fn_work_program_vs_cost/,/^\$\$;$/p' \
|
|
"$ROOT/db/core/changesets/038-fn-work-program-vs-cost.sql"
|
|
cat "$ROOT/scripts/verify-work-program-load-seed.sql"
|
|
} > "$TMP"
|
|
chmod 644 "$TMP"
|
|
|
|
"$PSQL" "$URL" -v ON_ERROR_STOP=1 -f "$TMP"
|
|
rm -f "$TMP"
|
|
echo "verify-work-program-load: OK"
|