计划执行与检查节点
executing-plans
按既定实施计划完成工作,保持过程检查和反馈。
(e.g. `TR_NATIONAL`, `ZH_CHINA`, `BR_NATIONAL`).\n- The importer is idempotent on `(code, region)` — re-loading returns `already_loaded`.\n\n## Best practices\n\n1. Load the base first (`load-cwicr`), then swap language (automatic via `home_language_code`), then reprice markets via the catalog path.\n2. Never invent prices: leave unpriced coefficient bases (VN, ID) as rate 0 and use the resource price sheet.\n3. Verify an import with `GET /api/v1/costs/regions/stats/` and a sampled item's `rate` against the parquet's `total_cost_per_position`.\n","licenseDocuments":[]}}
oce-platform-overview【效率与协作】Guide to OpenConstructionERP: architecture, modules, API surface and quick start. Use when starting any OpenConstructionERP work, onboarding a user to the platform, or deciding which module/endpoint to use.
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
OpenConstructionERP is a self-hosted, open-source (AGPL-3.0) construction ERP by DataDrivenConstruction: BOQ management, CAD/BIM takeoff (RVT/IFC/DWG/DGN), 4D scheduling, 5D cost modelling, tendering, field management and 180+ modules in one platform. It runs embedded PostgreSQL (no Docker required) with a FastAPI backend and a Vite/React frontend.
Homepage: https://openconstructionerp.com · Repo: https://github.com/datadrivenconstruction/OpenConstructionERP · Docs: https://openconstructionerp.com/docs
| Need | Module | Key endpoints |
|---|---|---|
| Browse/load cost databases | costs | GET /api/v1/costs/base-catalog, POST /api/v1/costs/load-cwicr/{db_id}, GET /api/v1/costs/?region=...&q=... |
| Resource catalogs | catalog | POST /api/v1/catalog/import/{region}, GET /api/v1/catalog/... |
| Bill of quantities | boq | POST /api/v1/boqs, GET /api/v1/boqs/{id}, validate/import GAEB |
| BIM elements / takeoff | bim | upload RVT/IFC/DWG/DGN, link elements to BOQ lines |
| Schedule (4D) / cost (5D) | scheduling | tasks, dependencies, cost model roll-ups |
| Issues & quality | punch_list, validation | punch items, validation rule packs (DIN276/NRM/GAEB) |
| Site daily ops | daily_diary, hse | diary entries, safety observations |
| Docs / tasks / risks | documents, tasks, risks | file approvals, task board, risk register |
| Portfolio map | geo_hub | projects on a 3D globe |
| Property development | property_dev | lead → SPA → handover |
cd backend && python -m uvicorn app.main:create_app --factory --reload --port 8000
cd frontend && npm run dev # http://localhost:5173
Auth: bootstrap admin (first registered user), JWT tokens, role-based permissions (viewer/editor/manager/admin). POST /auth/register, POST /auth/login.
rate_code, rate_original_name, rate_final_name, rate_unit, total_cost_per_position, classification collection/department/section/subsection/category, resource lines resource_*, flags is_material/is_machine/is_labor).^[A-Z]{2,3}_[A-Z0-9]+$ (e.g. TR_NATIONAL, ZH_CHINA, BR_NATIONAL).(code, region) — re-loading returns already_loaded.load-cwicr), then swap language (automatic via home_language_code), then reprice markets via the catalog path.GET /api/v1/costs/regions/stats/ and a sampled item's rate against the parquet's total_cost_per_position.