45+
Tổng số bảng
Trải rộng 11 module
220+
Tổng số trường
Có kiểu dữ liệu đầy đủ
11
Module chức năng
Từ Tài sản đến Audit
6
Cấp RBAC
Admin → Vận hành
Bản đồ Module
Tổ chức & Tài sản
organizations → equipment
Phân tích FMECA
IEC 60812 — Failure modes, CN/RPN
Kiểm tra & Thử nghiệm
Templates, ngưỡng, lịch sử đo
Tính toán CHI
Công thức 3 tầng, lịch sử sức khỏe
Quyết định SCBD
Ma trận hệ số, phê duyệt, N-1
Kế hoạch CBM
Lịch bảo trì Tháng/Quý/Năm
Báo cáo & Dashboard
PDF/Excel tự động, lịch gửi mail
Người dùng & RBAC
6 cấp role, override, session
Audit & Hạ tầng
Audit log, import, SLD, alerts
🗺️ Quan hệ chính giữa các bảng
organizations → stations
stations → load_zones
stations → systems
systems → equipment
equipment_types → equipment
equipment → equipment_fmeca
equipment → inspection_records
equipment → chi_history
equipment → scbd_decisions
equipment → equipment_alerts
chi_config → chi_history
fmeca_config → equipment_fmeca
inspection_items → record_values
inspection_item_thresholds → record_values
scbd_decisions → cbm_plan_items
users → user_roles
roles → role_permissions
sld_diagrams → sld_nodes
sld_nodes → equipment
cbm_plans → cbm_plan_items
Module 1 — Tổ chức & Tài sản
Cấu trúc phân cấp: Tổ chức → Trạm → Vùng phụ tải → Hệ thống → Thiết bị. Quản lý danh mục, thông số kỹ thuật và lịch sử điều động.
organizations
Tổ chức / Công ty / Nhà máy điện
| id | BIGINT | PK | Khóa chính |
| code | VARCHAR(50) | IDX | Mã tổ chức (duy nhất) |
| name | VARCHAR(200) | Tên tổ chức | |
| description | TEXT | Mô tả | |
| deleted_at | TIMESTAMPTZ | Soft delete | |
| created_at | TIMESTAMPTZ | Thời điểm tạo | |
| updated_at | TIMESTAMPTZ | Thời điểm cập nhật |
7 trường
stations
Trạm biến áp / Đường dây / NMĐ
| id | BIGINT | PK | |
| organization_id | BIGINT | FK | → organizations.id |
| code | VARCHAR(50) | IDX | Mã trạm |
| name | VARCHAR(200) | Tên trạm | |
| station_type | VARCHAR(50) | ENUM | Loại trạm |
| voltage_level | VARCHAR(20) | Cấp điện áp (kV) | |
| deleted_at | TIMESTAMPTZ | Soft delete | |
| created_at | TIMESTAMPTZ | ||
| updated_at | TIMESTAMPTZ |
9 trường
load_zones
Vùng phụ tải trong trạm
| id | BIGINT | PK | |
| station_id | BIGINT | FK | → stations.id |
| name | VARCHAR(200) | Tên vùng phụ tải | |
| load_class | SMALLINT | ENUM | 1=Đặc biệt quan trọng · 2=Quan trọng · 3=Khác |
| description | TEXT | Mô tả | |
| created_at | TIMESTAMPTZ |
6 trường
systems
Hệ thống / Phân khu trong trạm
| id | BIGINT | PK | |
| station_id | BIGINT | FK | → stations.id |
| code | VARCHAR(50) | IDX | Mã hệ thống |
| name | VARCHAR(200) | Ví dụ: 220KV Yard, 33KV Switchgear | |
| description | TEXT | ||
| created_at | TIMESTAMPTZ | ||
| updated_at | TIMESTAMPTZ |
7 trường
equipment_types
Danh mục loại thiết bị (MBA, MC, DCL…)
| id | BIGINT | PK | |
| code | VARCHAR(20) | IDX | MBA · MC · DCL · CT · VT… |
| name | VARCHAR(200) | Tên loại thiết bị | |
| description | TEXT |
4 trường
equipment
Thiết bị vật lý (MBA T1, MC-231…)
| id | BIGINT | PK | |
| system_id | BIGINT | FK | → systems.id |
| equipment_type_id | BIGINT | FK | → equipment_types.id |
| code | VARCHAR(50) | IDX | Mã thiết bị (duy nhất) |
| name | VARCHAR(200) | Tên thiết bị | |
| manufacturer | VARCHAR(200) | Hãng sản xuất | |
| installation_date | DATE | Ngày lắp đặt | |
| current_status | VARCHAR(20) | ENUM | good · fair · average · poor · fail |
| deleted_at | TIMESTAMPTZ | Soft delete | |
| created_at | TIMESTAMPTZ | ||
| updated_at | TIMESTAMPTZ |
11 trườngCHI lấy từ view → chi_history
equipment_type_param_definitions
Định nghĩa thông số kỹ thuật theo loại thiết bị
| id | BIGINT | PK | |
| equipment_type_id | BIGINT | FK | → equipment_types.id |
| param_key | VARCHAR(100) | Tên thông số (ví dụ: capacity_mva) | |
| data_type | VARCHAR(20) | ENUM | numeric · text · date |
| unit | VARCHAR(30) | Đơn vị (MVA, kV, A…) | |
| is_required | BOOLEAN | Bắt buộc nhập? |
6 trường
equipment_parameters
Giá trị thông số kỹ thuật của từng thiết bị
| id | BIGINT | PK | |
| equipment_id | BIGINT | FKIDX | → equipment.id |
| param_definition_id | BIGINT | FK | → equipment_type_param_definitions.id |
| value_numeric | DECIMAL(18,4) | Giá trị số (nullable) | |
| value_text | TEXT | Giá trị văn bản (nullable) | |
| created_at | TIMESTAMPTZ |
6 trường
equipment_transfer_history
Lịch sử điều động thiết bị giữa các hệ thống
| id | BIGINT | PK | |
| equipment_id | BIGINT | FKIDX | → equipment.id |
| from_system_id | BIGINT | FK | → systems.id |
| to_system_id | BIGINT | FK | → systems.id |
| reason | TEXT | Lý do điều động | |
| transferred_at | TIMESTAMPTZ | Thời điểm điều động | |
| transferred_by | BIGINT | FK | → users.id |
7 trường
Module 2 — Phân tích FMECA
Failure Mode, Effects & Criticality Analysis theo IEC 60812. Quản lý cấu hình CN/RPN, danh mục hư hỏng và kết quả đánh giá từng thiết bị.
fmeca_config
Cấu hình hệ số CN/RPN với versioning
| id | BIGINT | PK | |
| version | VARCHAR(20) | IDX | Phiên bản (ví dụ: v1.0) |
| cn_severity_coeff | DECIMAL(5,4) | Hệ số mức nghiêm trọng CN | |
| rpn_detect_coeff | DECIMAL(5,4) | Hệ số độ phát hiện RPN | |
| description | TEXT | Ghi chú thay đổi | |
| is_current | BOOLEAN | Phiên bản đang áp dụng | |
| created_at | TIMESTAMPTZ |
7 trường
fmeca_rpn_thresholds
Thang phân loại rủi ro theo điểm RPN
| id | BIGINT | PK | |
| level_name | VARCHAR(50) | Thấp · Trung bình · Cao · Nguy hiểm | |
| min_rpn | INTEGER | Ngưỡng RPN tối thiểu | |
| max_rpn | INTEGER | Ngưỡng RPN tối đa | |
| color | VARCHAR(20) | Màu nhãn (#hex) |
5 trường
failure_modes
Dạng hư hỏng theo loại thiết bị
| id | BIGINT | PK | |
| equipment_type_id | BIGINT | FK | → equipment_types.id |
| code | VARCHAR(50) | Mã dạng hư hỏng | |
| name | VARCHAR(300) | Tên dạng hư hỏng | |
| description | TEXT |
5 trường
failure_effects
Hậu quả khi hư hỏng xảy ra
| id | BIGINT | PK | |
| failure_mode_id | BIGINT | FK | → failure_modes.id |
| description | TEXT | Mô tả hậu quả và tác động lan rộng |
3 trường
failure_causes
Nguyên nhân gốc rễ gây hư hỏng
| id | BIGINT | PK | |
| failure_mode_id | BIGINT | FK | → failure_modes.id |
| description | TEXT | Căn nguyên chính |
3 trường
failure_mechanisms
Cơ chế vật lý/hóa học dẫn đến hư hỏng
| id | BIGINT | PK | |
| failure_mode_id | BIGINT | FK | → failure_modes.id |
| description | TEXT | Lý giải cơ chế hư hỏng |
3 trường
equipment_fmeca
Kết quả đánh giá FMECA từng thiết bị
| id | BIGINT | PK | |
| equipment_id | BIGINT | FKIDX | → equipment.id |
| failure_mode_id | BIGINT | FK | → failure_modes.id |
| fmeca_config_id | BIGINT | FK | → fmeca_config.id |
| severity | SMALLINT | Mức nghiêm trọng S (1–10) | |
| probability | SMALLINT | Xác suất xuất hiện O (1–10) | |
| detectability | SMALLINT | Độ phát hiện D (1–10) | |
| cn_value | DECIMAL(8,2) | Chỉ số nghiêm trọng CN | |
| rpn_value | DECIMAL(8,2) | Chỉ số rủi ro RPN = S×O×D | |
| assessed_at | TIMESTAMPTZ | Thời điểm đánh giá | |
| assessed_by | BIGINT | FK | → users.id |
| is_current | BOOLEAN | Đánh giá hiện hành? |
12 trường
Module 3–4 — Kiểm tra & Thử nghiệm
Quản lý mẫu phiếu kiểm tra, ngưỡng cảnh báo tự động, ánh xạ FMECA–Kiểm tra và lưu trữ toàn bộ kết quả đo thực tế.
inspection_templates
Mẫu phiếu kiểm tra theo loại thiết bị
| id | BIGINT | PK | |
| equipment_type_id | BIGINT | FK | → equipment_types.id |
| version | VARCHAR(20) | Phiên bản form | |
| name | VARCHAR(200) | Tên mẫu | |
| is_current | BOOLEAN | Form đang áp dụng | |
| created_at | TIMESTAMPTZ |
6 trường
inspection_categories
Nhóm hạng mục theo cấp kiểm tra
| id | BIGINT | PK | |
| template_id | BIGINT | FK | → inspection_templates.id |
| inspection_level | SMALLINT | ENUM | 1=Online · 2=Offline · 3=Chuyên sâu |
| name | VARCHAR(200) | Tên nhóm hạng mục | |
| parent_id | BIGINT | FK | → self (phân cấp) |
5 trường
inspection_items
Hạng mục kiểm tra chi tiết nhất
| id | BIGINT | PK | |
| category_id | BIGINT | FK | → inspection_categories.id |
| code | VARCHAR(50) | IDX | Mã hạng mục |
| name | VARCHAR(300) | Tên hạng mục | |
| scoring_type | VARCHAR(30) | ENUM | numeric · pass_fail · enum |
| weight | DECIMAL(5,4) | Trọng số wk | |
| standard_frequency | INTEGER | Tần suất đo chuẩn (ngày) |
7 trường
inspection_item_thresholds
Ngưỡng xanh/vàng/đỏ tự động cho hạng mục
| id | BIGINT | PK | |
| inspection_item_id | BIGINT | FK | → inspection_items.id |
| level_name | VARCHAR(30) | Bình thường · Cảnh báo · Nguy hiểm | |
| threshold_min | DECIMAL(12,4) | Ngưỡng thấp nhất | |
| threshold_max | DECIMAL(12,4) | Ngưỡng cao nhất | |
| color | VARCHAR(20) | Màu nhãn (#hex) |
6 trường
frequency_adjustment_matrix
Ma trận điều chỉnh tần suất kiểm định (per-item)
| id | BIGINT | PK | |
| inspection_item_id | BIGINT | FK | → inspection_items.id |
| load_class | SMALLINT | ENUM | 1 · 2 · 3 |
| chi_status | VARCHAR(20) | ENUM | good · fair · average · poor · fail |
| coefficient | DECIMAL(5,3) | Hệ số điều chỉnh chu kỳ |
5 trường
fm_inspection_mapping
Ánh xạ Dạng hư hỏng ↔ Hạng mục kiểm tra
| id | BIGINT | PK | |
| failure_mode_id | BIGINT | FK | → failure_modes.id |
| inspection_item_id | BIGINT | FK | → inspection_items.id |
3 trườngJunction table M2M
inspection_records
Phiếu kiểm tra thực tế có ghi nhận thời gian
| id | BIGINT | PK | |
| equipment_id | BIGINT | FKIDX | → equipment.id |
| template_id | BIGINT | FK | → inspection_templates.id |
| inspection_level | SMALLINT | ENUM | 1 · 2 · 3 |
| source_type | VARCHAR(20) | ENUM | manual · import · mobile_app · iot |
| status | VARCHAR(20) | ENUM | draft · submitted · approved |
| inspected_at | TIMESTAMPTZ | IDX | Thời điểm kiểm tra thực tế |
| inspector_id | BIGINT | FK | → users.id |
8 trường
inspection_record_values
Giá trị đo cho từng hạng mục trong phiếu
| id | BIGINT | PK | |
| record_id | BIGINT | FKIDX | → inspection_records.id |
| inspection_item_id | BIGINT | FK | → inspection_items.id |
| threshold_id | BIGINT | FK | → inspection_item_thresholds.id |
| measured_value | DECIMAL(14,4) | Giá trị đo thực tế | |
| score | DECIMAL(5,2) | Điểm quy đổi | |
| is_pass | BOOLEAN | Cờ Đạt / Không đạt |
7 trường
Module 5–6 — Tính toán CHI
Condition Health Index: cấu hình công thức 3 tầng (Config → Levels → Factors), thang 5 bậc sức khỏe, lịch sử biến động có versioning đầy đủ.
chi_config
Cấu hình tổng thể dòng công thức CHI
| id | BIGINT | PK | |
| version | VARCHAR(20) | IDX | Phiên bản (ví dụ: v2.1) |
| formula_display | TEXT | Chuỗi công thức rút gọn cho UI | |
| description | TEXT | Ghi chú thay đổi | |
| is_current | BOOLEAN | Phiên bản đang áp dụng | |
| created_at | TIMESTAMPTZ |
6 trường
chi_config_levels
Trọng số mảng theo cấp kiểm tra
| id | BIGINT | PK | |
| chi_config_id | BIGINT | FK | → chi_config.id |
| level_number | SMALLINT | 1 · 2 · 3 | |
| overall_weight | DECIMAL(5,4) | Tỷ lệ trọng số mảng (tổng = 1.0) |
4 trường
chi_config_factors
Hệ số con trong từng cấp tính
| id | BIGINT | PK | |
| level_id | BIGINT | FK | → chi_config_levels.id |
| factor_name | VARCHAR(200) | Tên thông số nhân | |
| coefficient | DECIMAL(7,4) | Trọng số |
4 trường
chi_thresholds
Thang 5 bậc sức khỏe từ 0 đến 10
| id | BIGINT | PK | |
| level_name | VARCHAR(20) | Good · Fair · Average · Poor · Fail | |
| min_value | DECIMAL(5,2) | Điểm thấp nhất của bậc | |
| max_value | DECIMAL(5,2) | Điểm cao nhất của bậc | |
| color_primary | VARCHAR(20) | Màu nhận diện (#hex) |
5 trường
chi_history
Lịch sử biến động sức khỏe thiết bị
| id | BIGINT | PK | |
| equipment_id | BIGINT | FKIDX | → equipment.id |
| chi_config_id | BIGINT | FK | → chi_config.id (traceability) |
| chi_value | DECIMAL(5,2) | IDX | Điểm CHI (0.00 – 10.00) |
| status | VARCHAR(20) | ENUM | good · fair · average · poor · fail |
| calculation_details | JSONB | JSONB | Toàn bộ chi tiết phép tính |
| calculated_at | TIMESTAMPTZ | IDX | Composite index với equipment_id DESC |
| calculated_by | BIGINT | FK | → users.id (null = hệ thống tự động) |
8 trườngIndex: (equipment_id, calculated_at DESC)
Module 7 — Quyết định SCBD
Sửa Chữa Bảo Dưỡng: Ma trận hệ số phụ tải và sức khỏe, quyết định kỳ hạn bảo trì với luồng phê duyệt chính thức và kiểm tra N-1.
frequency_matrix_load_zone
Hệ số điều chỉnh theo lớp phụ tải
| id | BIGINT | PK | |
| load_class | SMALLINT | ENUM | 1=Đặc biệt · 2=Quan trọng · 3=Khác |
| coefficient | DECIMAL(5,3) | Hệ số điều chỉnh kỳ hạn theo tải |
3 trường
frequency_matrix_chi_status
Hệ số điều chỉnh theo trạng thái sức khỏe
| id | BIGINT | PK | |
| chi_status | VARCHAR(20) | ENUM | good · fair · average · poor · fail |
| chi_coefficient | DECIMAL(5,3) | Hệ số riêng theo CHI |
3 trườngTổng hệ số = tính tại runtime
scbd_decisions
Quyết định bảo dưỡng với luồng phê duyệt
| id | BIGINT | PK | |
| equipment_id | BIGINT | FKIDX | → equipment.id |
| current_chi | DECIMAL(5,2) | Điểm CHI tại thời điểm ra quyết định | |
| new_frequency | INTEGER | Chu kỳ bảo dưỡng tính ra (ngày) | |
| recommended_action | VARCHAR(30) | ENUM | maintain · increase_freq · reduce_load · sctx_scl · replace |
| n1_violation | BOOLEAN | Cờ vi phạm tiêu chí N-1 | |
| status | VARCHAR(20) | ENUM | draft · pending_approval · approved · rejected |
| approved_by | BIGINT | FK | → users.id |
| approved_at | TIMESTAMPTZ | Thời điểm phê duyệt | |
| rejection_reason | TEXT | Lý do từ chối (nullable) | |
| created_by | BIGINT | FK | → users.id |
| created_at | TIMESTAMPTZ |
12 trường
Module 8 — Kế hoạch CBM
Quản lý lộ trình bảo trì trên hệ thống lịch theo Tháng/Quý/Năm, có truy nguyên về quyết định SCBD gốc.
cbm_plans
Kế hoạch CBM tổng lực theo kỳ
| id | BIGINT | PK | |
| name | VARCHAR(300) | Tên kế hoạch | |
| plan_period_type | VARCHAR(20) | ENUM | monthly · quarterly · yearly |
| start_date | DATE | Ngày bắt đầu kỳ kế hoạch | |
| end_date | DATE | Ngày kết thúc kỳ kế hoạch | |
| status | VARCHAR(20) | ENUM | draft · active · completed · cancelled |
| created_by | BIGINT | FK | → users.id |
| created_at | TIMESTAMPTZ |
8 trường
cbm_plan_items
Công tác bảo trì đơn vị trong kế hoạch
| id | BIGINT | PK | |
| plan_id | BIGINT | FK | → cbm_plans.id |
| equipment_id | BIGINT | FK | → equipment.id |
| scbd_decision_id | BIGINT | FK | → scbd_decisions.id (nullable) |
| work_type | VARCHAR(50) | ENUM | Loại công việc bảo trì |
| priority | VARCHAR(10) | ENUM | high · medium · low |
| responsible_team | VARCHAR(200) | Đội chịu trách nhiệm | |
| status | VARCHAR(20) | ENUM | pending · in_progress · done · cancelled |
| scl_sheet_code | VARCHAR(100) | Mã SCL/kế toán (ERP reference) | |
| source_system | VARCHAR(50) | Hệ thống nguồn của mã SCL | |
| created_at | TIMESTAMPTZ |
11 trường
Module 9 — Báo cáo & Dashboard
Quản lý mẫu báo cáo, lịch gửi mail tự động PDF/Excel cho Ban Giám Đốc, và lưu trữ các file đã xuất.
report_templates
Mẫu bố cục và cấu hình báo cáo
| id | BIGINT | PK | |
| name | VARCHAR(200) | Tên mẫu báo cáo | |
| report_type | VARCHAR(50) | ENUM | Loại báo cáo |
| template_config | JSONB | JSONB | Cấu hình layout (JSON) |
| created_at | TIMESTAMPTZ |
5 trường
scheduled_reports
Lịch gửi báo cáo tự động định kỳ
| id | BIGINT | PK | |
| template_id | BIGINT | FK | → report_templates.id |
| schedule_type | VARCHAR(20) | ENUM | weekly · monthly · quarterly |
| output_format | VARCHAR(10) | ENUM | pdf · xlsx |
| recipient_emails | TEXT[] | Danh sách email nhận | |
| is_active | BOOLEAN | Đang bật? | |
| created_at | TIMESTAMPTZ |
7 trường
generated_reports
Lịch sử các báo cáo đã được xuất ra
| id | BIGINT | PK | |
| template_id | BIGINT | FK | → report_templates.id |
| generated_by | BIGINT | FK | → users.id |
| file_path | TEXT | Đường dẫn file lưu trữ | |
| file_format | VARCHAR(10) | pdf · xlsx | |
| file_size | BIGINT | Kích thước file (bytes) | |
| generated_at | TIMESTAMPTZ | Thời điểm xuất file |
7 trường
Module 10 — Người dùng & RBAC
Role-Based Access Control 6 cấp: Admin → HĐQT → GĐ Nhà máy → Phòng Vận hành. Hỗ trợ override đặc cách cấp user và session management JWT.
users
Người dùng hệ thống EVN CBM
| id | BIGINT | PK | |
| VARCHAR(200) | IDX | Email đăng nhập (unique) | |
| full_name | VARCHAR(200) | Họ tên đầy đủ | |
| department | VARCHAR(200) | Phòng ban gốc | |
| is_active | BOOLEAN | Tài khoản hoạt động? | |
| deleted_at | TIMESTAMPTZ | Soft delete | |
| created_at | TIMESTAMPTZ |
7 trường
roles
Chức danh / Cấp bậc trong hệ thống
| id | BIGINT | PK | |
| code | VARCHAR(50) | IDX | Mã chức danh (unique) |
| name | VARCHAR(200) | Tên chức danh | |
| level | SMALLINT | Cấp bậc 1–10 (1 = cao nhất) | |
| description | TEXT | Mô tả quyền hạn tổng quát |
5 trường
permissions
Danh mục quyền hạn API theo module
| id | BIGINT | PK | |
| code | VARCHAR(100) | IDX | Format: [module].[action] |
| module | VARCHAR(50) | Tên module | |
| action | VARCHAR(50) | Hành động: read · create · approve · export… | |
| description | TEXT | Mô tả quyền này |
5 trường
role_permissions
Liên kết Roles ↔ Permissions (M2M)
| id | BIGINT | PK | |
| role_id | BIGINT | FK | → roles.id |
| permission_id | BIGINT | FK | → permissions.id |
3 trườngJunction table M2M
user_roles
Gán chức danh cho người dùng
| id | BIGINT | PK | |
| user_id | BIGINT | FK | → users.id |
| role_id | BIGINT | FK | → roles.id |
| assigned_by | BIGINT | FK | → users.id |
| assigned_at | TIMESTAMPTZ | Thời điểm gán |
5 trường
user_module_permissions
Override đặc cách cấp User (ghi đè role)
| id | BIGINT | PK | |
| user_id | BIGINT | FK | → users.id |
| module | VARCHAR(50) | Tên module ghi đè | |
| can_access | BOOLEAN | Cho phép / Chặn | |
| grant_reason | TEXT | Lý do cấp đặc cách | |
| granted_by | BIGINT | FK | → users.id |
| created_at | TIMESTAMPTZ |
7 trườngQuy tắc: user-level ghi đè role
user_sessions
Quản lý phiên đăng nhập và JWT
| id | BIGINT | PK | |
| user_id | BIGINT | FKIDX | → users.id |
| token_hash | VARCHAR(255) | IDX | Hash của JWT / refresh token |
| expires_at | TIMESTAMPTZ | Thời điểm hết hạn | |
| revoked_at | TIMESTAMPTZ | Thời điểm thu hồi (logout) | |
| device_info | VARCHAR(300) | Thông tin thiết bị / trình duyệt | |
| created_at | TIMESTAMPTZ |
7 trườngHỗ trợ JWT blacklisting
Module 11 — Audit Log & Hạ tầng
Sổ theo dõi toàn bộ hành vi với delta dữ liệu, versioning công thức, import, sơ đồ SLD và quản lý cảnh báo thiết bị.
audit_logs
Sổ theo dõi toàn bộ hành vi người dùng
| id | BIGINT | PK | |
| user_id | BIGINT | FKIDX | → users.id |
| action_type | VARCHAR(20) | ENUM | create · edit · delete · approve · export · view · login · logout |
| module | VARCHAR(50) | Module bị tác động | |
| target_type | VARCHAR(100) | Tên bảng / entity | |
| target_id | BIGINT | ID của row bị tác động | |
| old_value | JSONB | JSONB | Dữ liệu trước khi thay đổi |
| new_value | JSONB | JSONB | Dữ liệu sau khi thay đổi |
| status | VARCHAR(20) | ENUM | success · warning · error |
| ip_address | INET | Địa chỉ IP | |
| created_at | TIMESTAMPTZ | IDX | Composite index: (user_id, created_at) |
11 trườngold_value + new_value hỗ trợ rollback
formula_versions
Snapshot toàn bộ cây công thức (nguồn duy nhất)
| id | BIGINT | PK | |
| config_type | VARCHAR(30) | ENUM | chi · fmeca |
| snapshot | JSONB | JSONB | Toàn bộ cây công thức tại thời điểm snapshot |
| version | VARCHAR(20) | IDX | Phiên bản (nguồn sự thật duy nhất) |
| created_by | BIGINT | FK | → users.id |
| created_at | TIMESTAMPTZ |
6 trường
import_logs
Theo dõi quy trình import Excel / XML
| id | BIGINT | PK | |
| user_id | BIGINT | FK | → users.id |
| import_type | VARCHAR(50) | ENUM | Loại dữ liệu import |
| status | VARCHAR(20) | ENUM | pending · success · partial · failed |
| success_count | INTEGER | Số dòng import thành công | |
| error_count | INTEGER | Số dòng lỗi | |
| created_at | TIMESTAMPTZ |
7 trường
sld_diagrams
Sơ đồ đơn tuyến (SLD) canvas
| id | BIGINT | PK | |
| station_id | BIGINT | FK | → stations.id |
| name | VARCHAR(200) | Tên sơ đồ | |
| diagram_data | JSONB | JSONB | Cấu hình canvas đầy đủ |
| version | INTEGER | Phiên bản sơ đồ | |
| created_at | TIMESTAMPTZ |
6 trường
sld_layers
Layer phân cực trong sơ đồ đơn tuyến
| id | BIGINT | PK | |
| diagram_id | BIGINT | FK | → sld_diagrams.id |
| name | VARCHAR(200) | Tên layer | |
| layer_type | VARCHAR(50) | ENUM | bus · feeder · device · annotation |
| color | VARCHAR(20) | Màu layer (#hex) | |
| is_visible | BOOLEAN | Hiển thị mặc định? |
6 trường
sld_nodes
Điểm neo thiết bị trên bản vẽ SLD
| id | BIGINT | PK | |
| diagram_id | BIGINT | FK | → sld_diagrams.id |
| layer_id | BIGINT | FK | → sld_layers.id |
| equipment_id | BIGINT | FK | → equipment.id (nullable) |
| node_type | VARCHAR(50) | ENUM | bus · breaker · transformer · load… |
| position_x | DECIMAL(10,2) | Tọa độ X trên canvas | |
| position_y | DECIMAL(10,2) | Tọa độ Y trên canvas |
7 trường
equipment_alerts
Cảnh báo ngưỡng thiết bị — lưu trữ và xác nhận
| id | BIGINT | PK | |
| equipment_id | BIGINT | FKIDX | → equipment.id |
| alert_type | VARCHAR(50) | ENUM | chi_threshold · inspection_fail · n1_violation |
| severity | VARCHAR(20) | ENUM | warning · critical · emergency |
| threshold_id | BIGINT | FK | → inspection_item_thresholds.id (nullable) |
| triggered_value | DECIMAL(14,4) | Giá trị đo khi alert kích hoạt | |
| triggered_at | TIMESTAMPTZ | IDX | Thời điểm kích hoạt |
| acknowledged_by | BIGINT | FK | → users.id (null = chưa xác nhận) |
| acknowledged_at | TIMESTAMPTZ | Thời điểm xác nhận | |
| status | VARCHAR(20) | ENUM | active · acknowledged · resolved |
10 trường
Enum Values — Tham chiếu
Danh sách đầy đủ các giá trị hằng số được sử dụng xuyên suốt toàn bộ hệ thống.
load_class
1 — Đặc biệt quan trọng2 — Quan trọng3 — Khác
inspection_level
1 — Online2 — Offline (Cắt điện)3 — Chuyên sâu
chi_status / current_status
goodfairaveragepoorfail
action_type (audit)
createeditdeleteapproveexportviewloginlogout
audit status
successwarningerror
recommended_action
maintainincrease_freqreduce_loadsctx_sclreplace
priority
highmediumlow
scbd_decisions status
draftpending_approvalapprovedrejected
source_type (inspection)
manualimportmobile_appiot
scoring_type
numericpass_failenum
plan_period_type
monthlyquarterlyyearly
alert type / severity
chi_thresholdinspection_failn1_violationwarningcriticalemergency
cbm_plan_items status
pendingin_progressdonecancelled
formula_versions config_type
chifmeca
param data_type
numerictextdate