From 9fa6561659c825c8aefe822b0e3bbb48e06ec006 Mon Sep 17 00:00:00 2001 From: Consultoria AS Date: Tue, 28 Jul 2026 06:21:07 -0700 Subject: [PATCH] docs: actualizar documentacion con cambios recientes - Flujo de inventario corregido - Ordenamiento de report_inventoryv2 - Historial de posicion/area en contratos - CHANGELOG actualizado a version 1.0.1 --- CHANGELOG.md | 20 ++++++++++++++++++++ DOCUMENTACION_TECNICA.md | 2 ++ docs/DATABASE.md | 11 +++++++---- 3 files changed, 29 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 89684a1..9889b4c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -101,3 +101,23 @@ --- > Para ver el historial completo de commits, ejecutar: `git log --oneline --all --graph` + +--- + +## [1.0.1] - 2026-06-25 + +### Corregido +- **Flujo de inventario:** Eliminada la duplicación de stock al pagar un expense. Ahora `purchaseentry()` es la única función que ingresa stock físicamente, y `setpaymentstatusv2()` revierte el stock al cancelar/rechazar el pago. +- **Ordenamiento del Inventory Report:** La función `report_inventoryv2()` ahora ordena por `id_product` + `id_sto_mov` secuencial, eliminando el ordenamiento intermedio por fecha. +- **Historial de posición/área en contratos:** La tabla `contracts` ahora incluye las columnas `id_position` e `id_area`. Las funciones `getcontracts()`, `newcontract()`, `updatecontract()` y `reportemployeecontract()` fueron actualizadas para usar estos valores históricos en lugar de la posición/área actual del empleado. + +### Scripts SQL agregados +- `scripts_sql/fix_inventory_flow_complete.sql` y `rollback_inventory_flow_complete.sql` +- `scripts_sql/fix_report_inventoryv2_orderby.sql` y `rollback_report_inventoryv2_orderby.sql` +- `scripts_sql/fix_contracts_position_area.sql` y `rollback_contracts_position_area.sql` +- `scripts_sql/emergency_rollback_inventory.sh` +- `scripts_sql/README_INVENTORY_FIX.md` + +### Documentación +- Actualizado `docs/DATABASE.md`. +- Actualizado `DOCUMENTACION_TECNICA.md`. diff --git a/DOCUMENTACION_TECNICA.md b/DOCUMENTACION_TECNICA.md index fa1143b..90c16f8 100644 --- a/DOCUMENTACION_TECNICA.md +++ b/DOCUMENTACION_TECNICA.md @@ -182,6 +182,8 @@ const pool = new Pool({ - `positions()`, `areas()`, `bosses()` - `reportempcontract()`, `disabledcontract()` +> **Nota (2026-06-25):** La tabla `contracts` fue extendida con `id_position` e `id_area` para historizar el puesto y área del empleado al momento del contrato. Esto evita que al actualizar la posición actual del empleado se modifiquen visualmente los contratos históricos. + #### Productos / Inventario - `getproducts()`, `newproduct(...)`, `update_product(...)` - `productcategory()`, `producttype()`, `suppliers()` diff --git a/docs/DATABASE.md b/docs/DATABASE.md index dac09ac..6ddd829 100644 --- a/docs/DATABASE.md +++ b/docs/DATABASE.md @@ -66,13 +66,16 @@ const pool = new Pool({ ### 📄 Contratos +> **Nota (2026-06-25):** La tabla `contracts` ahora incluye las columnas `id_position` e `id_area` para historizar el puesto y área del empleado en el momento del contrato. Las funciones `getcontracts()` y `reportemployeecontract()` muestran estos valores históricos en lugar de la posición/área actual del empleado. + | Función | Parámetros | Retorno | Descripción | |---------|-----------|---------|-------------| -| `getcontracts()` | — | setof record | Lista de contratos | +| `getcontracts()` | — | setof record | Lista de contratos con posición/área histórica | | `getinfocontract(id)` | `int` | setof record | Info de un contrato | | `neartoend()` | — | setof record | Contratos próximos a vencer | -| `newcontract(...)` | varios | `status` | Crea contrato | -| `updatecontract(...)` | varios | `status` | Actualiza contrato | +| `newcontract(...)` | varios | `status` | Crea contrato guardando `id_position` e `id_area` | +| `updatecontract(...)` | varios | `status` | Actualiza contrato incluyendo `id_position` e `id_area` | +| `reportemployeecontract()` | — | setof record | Reporte de empleados-contratos con posición/área histórica | | `positions()` | — | setof record | Catálogo de puestos | | `areas()` | — | setof record | Catálogo de áreas | | `bosses()` | — | setof record | Catálogo de jefes | @@ -226,7 +229,7 @@ Basado en las funciones SQL y los controllers, las tablas principales son: | Tabla | Propósito | |-------|-----------| | `employees` | Datos de empleados | -| `contracts` | Contratos laborales | +| `contracts` | Contratos laborales. Incluye `id_position` e `id_area` para historizar puesto y área al momento del contrato | | `products` | Catálogo de productos | | `suppliers` | Proveedores | | `expenses` | Gastos/egresos |