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
This commit is contained in:
Consultoria AS
2026-07-28 06:21:07 -07:00
parent 0eea4fa31a
commit 9fa6561659
3 changed files with 29 additions and 4 deletions

View File

@@ -101,3 +101,23 @@
--- ---
> Para ver el historial completo de commits, ejecutar: `git log --oneline --all --graph` > 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`.

View File

@@ -182,6 +182,8 @@ const pool = new Pool({
- `positions()`, `areas()`, `bosses()` - `positions()`, `areas()`, `bosses()`
- `reportempcontract()`, `disabledcontract()` - `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 #### Productos / Inventario
- `getproducts()`, `newproduct(...)`, `update_product(...)` - `getproducts()`, `newproduct(...)`, `update_product(...)`
- `productcategory()`, `producttype()`, `suppliers()` - `productcategory()`, `producttype()`, `suppliers()`

View File

@@ -66,13 +66,16 @@ const pool = new Pool({
### 📄 Contratos ### 📄 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 | | 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 | | `getinfocontract(id)` | `int` | setof record | Info de un contrato |
| `neartoend()` | — | setof record | Contratos próximos a vencer | | `neartoend()` | — | setof record | Contratos próximos a vencer |
| `newcontract(...)` | varios | `status` | Crea contrato | | `newcontract(...)` | varios | `status` | Crea contrato guardando `id_position` e `id_area` |
| `updatecontract(...)` | varios | `status` | Actualiza contrato | | `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 | | `positions()` | — | setof record | Catálogo de puestos |
| `areas()` | — | setof record | Catálogo de áreas | | `areas()` | — | setof record | Catálogo de áreas |
| `bosses()` | — | setof record | Catálogo de jefes | | `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 | | Tabla | Propósito |
|-------|-----------| |-------|-----------|
| `employees` | Datos de empleados | | `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 | | `products` | Catálogo de productos |
| `suppliers` | Proveedores | | `suppliers` | Proveedores |
| `expenses` | Gastos/egresos | | `expenses` | Gastos/egresos |