Servicio: new-params
Información General
- Propósito: Gestión de parámetros de costos, recursos y asignación de bloques a ítems presupuestarios. Extiende las capacidades del servicio
itemsde bt-central con operaciones más específicas. - Tecnología: Go 1.21.4 / Gin
- Puerto: Variable por ambiente (
{ENV}_PORT). En local::8095 - Módulo:
new-params - URL externa:
https://new-params.bimtrazer.com
Propósito de Negocio
Permite asociar bloques constructivos (blockIfc) con ítems del presupuesto, calcular costos derivados y generar archivos de formato con cantidades. Es el puente entre la planificación física (bloques BIM) y el control financiero (ítems/recursos).
Endpoints Expuestos
| Método | Path | Descripción |
|---|---|---|
GET |
/blocks-with-labels/:projectId |
Obtener bloques con sus etiquetas asociadas |
POST |
/costs |
Crear recurso de costo |
POST |
/get-format-file |
Obtener archivo de formato con cantidades |
PUT |
/assign-blocks-to-item |
Asignar bloques constructivos a un ítem |
GET /blocks-with-labels/:projectId — Retorna todos los bloques del proyecto con las etiquetas a las que pertenecen. Usado para la interfaz de asignación de bloques a ítems presupuestarios.
POST /get-format-file — Genera un archivo de formato (Excel/CSV) con las cantidades de los bloques asignados a ítems. Útil para exportar presupuestos con cantidades BIM.
PUT /assign-blocks-to-item — Asigna uno o más bloques constructivos a un ítem presupuestario. Esta relación permite calcular el costo del avance físico de obra.
Base de Datos
- Motor: MongoDB v1.13.1 (go driver)
- Patrón:
DatabasePool(pool de conexiones reutilizables, igual que bt-central) - Colecciones usadas:
blockIfc,labels,items(en BD por proyecto{projectId})
Variables de Entorno
| Variable | Descripción |
|---|---|
ENVIRONMENT |
Ambiente: dev, qa, prod |
{ENV}_PORT |
Puerto HTTP |
{ENV}_DB_* |
Credenciales y host MongoDB |
Middlewares
- CORS: restringido a
https://apibt.bimtrazer.com,https://apibt-dev.bimtrazer.com,https://apibt-qa.bimtrazer.com gin.Recovery(),gin.Logger()CheckIp— comentado (middleware de restricción por IP desactivado)
Dependencias (go.mod)
| Librería | Propósito |
|---|---|
gin-gonic/gin |
Framework HTTP |
gin-contrib/cors |
CORS |
go.mongodb.org/mongo-driver |
MongoDB |
Rol en el Sistema
- Llamado por:
api-bimtrazer(rutas/new-params/*) - Lee de: colección
blockIfc,labels,itemsen MongoDB - Escribe en: relaciones bloque-ítem en MongoDB
Alertas Técnicas
- Middleware
CheckIpcomentado — sin restricción de IP a nivel de servicio (la seguridad depende del CORS y de que solo sea llamado desdeapi-bimtrazer) - El handler
uploadParamsexiste en el código pero la ruta correspondiente (PUT /upload-params) no está definida enroutes.go— posible funcionalidad en desarrollo