:::info Phạm vi Thời gian: 3 tháng | Mục tiêu: Value-Added Services & B2B Xây dựng nền kinh tế nội khối HUCA, thúc đẩy giao thương và mang lại lợi ích tài chính trực tiếp cho CSV. :::

Tổng quan các bảng

#NhómTên bảngMô tả
1Doanh nghiệpt_huca_companiesTrang vàng HUCA
2Doanh nghiệpt_huca_company_membersNhân sự HUCE tại doanh nghiệp
3Việc làmt_huca_jobsTin tuyển dụng
4Việc làmt_huca_job_applicationsHồ sơ ứng tuyển
5Ưu đãit_huca_vouchersHUCA Exclusives
6Ưu đãit_huca_voucher_claimsLịch sử sử dụng
7B2Bt_huca_b2b_opportunitiesCơ hội đấu thầu / giao thương
8B2Bt_huca_b2b_responsesPhản hồi cơ hội B2B

1. Trang vàng HUCA (HUCA Directory)

t_huca_companies

Danh bạ điện tử dành riêng cho doanh nghiệp do CSV HUCE làm chủ hoặc điều hành.
Industry     NVARCHAR(200) NOT NULL:
    -- GiaoThong    → Giao thông - Hạ tầng
    -- DanDung      → Dân dụng - Công nghiệp
    -- KienTruc     → Kiến trúc - Quy hoạch
    -- VatLieu      → Vật liệu xây dựng
    -- TuVan        → Tư vấn thiết kế - Giám sát
    -- BatDongSan   → Bất động sản
    -- Khac         → Ngành khác

OwnerId      BIGINT NOT NULL,   -- FK -> t_huca_users (CSV làm chủ)
IsVerified   BIT DEFAULT 0,     -- Admin xác thực doanh nghiệp

t_huca_company_members

Danh sách nhân sự HUCE đang làm việc tại doanh nghiệp:
-- Mỗi doanh nghiệp liên kết với nhiều alumni đang làm việc tại đó
CompanyId  + UserId  → UNIQUE (mỗi người chỉ xuất hiện 1 lần/doanh nghiệp)
IsCurrentEmployee BIT,   -- true = đang làm, false = đã nghỉ
Tác dụng: Tăng độ tin cậy của hồ sơ doanh nghiệp trong mạng lưới HUCA.

2. Bảng Việc làm & Tuyển dụng

t_huca_jobs

TrườngGiá trịMô tả
JobTypeFullTime, PartTime, Internship, ContractLoại công việc
ExperienceLevelEntry, Mid, Senior, Lead, ExecutiveCấp kinh nghiệm
IsRemoteBITLàm từ xa
IsSalaryVisibleBITHiển thị lương
Tính năng Thực tập & Kỹ sư mới:
JobType = 'Internship'   -- Phân mục riêng cho sinh viên năm cuối
ExperienceLevel = 'Entry' -- Kỹ sư mới ra trường

t_huca_job_applications — Ứng tuyển nhanh (1-click)

UseHucaProfile    BIT DEFAULT 1,    -- Dùng Verified HUCA Profile để ứng tuyển
ExamSubmissionId  BIGINT,           -- FK -> t_huca_exam_submissions (nếu có thi tuyển)
Luồng 1-click Apply:
Ứng viên xem tin tuyển dụng
    → Nhấn "Ứng tuyển ngay"
    → UseHucaProfile = true → Dùng hồ sơ HUCA đã xác thực
    → [Nếu job có ExamId] → Làm bài thi
    → Insert t_huca_job_applications
    → Thông báo cho Nhà tuyển dụng
Vòng đời hồ sơ ứng tuyển:
Submitted → Reviewing → Shortlisted → Interviewed → Offered
                      ↘ Rejected
                                   ↘ Rejected

Submitted → Withdrawn   (ứng viên rút hồ sơ)

3. HUCA Exclusives — Hệ sinh thái Đặc quyền

t_huca_vouchers

Khu vực cung cấp ưu đãi độc quyền cho Verified Alumni:
DiscountType   NVARCHAR(20):  Percent, FixedAmount
DiscountValue  DECIMAL(18,2): -- % hoặc số tiền (VNĐ)
TotalQuantity  INT,           -- NULL = không giới hạn số lượng
MaxUsagePerUser INT DEFAULT 1,-- Mỗi người dùng tối đa N lần
StartDate + EndDate,          -- Thời hạn hiệu lực
Ví dụ voucher thực tế:
  • Giảm 15% giá vật liệu xây dựng (tại doanh nghiệp CSV)
  • Giảm 20% phí tư vấn thiết kế kiến trúc
  • Ưu đãi đặc biệt cho hợp đồng bảo hiểm công trình

t_huca_voucher_claims

Status  NVARCHAR(20):  Claimed, Used, Expired
-- Claimed = đã nhận nhưng chưa dùng
-- Used    = đã sử dụng
-- Expired = hết hạn chưa dùng
Kiểm tra điều kiện sử dụng:
-- Khi CSV muốn dùng voucher:
SELECT v.*, vc.Id as ClaimId
FROM t_huca_vouchers v
LEFT JOIN t_huca_voucher_claims vc ON vc.VoucherId = v.Id AND vc.UserId = @UserId
WHERE v.Code = @VoucherCode
  AND v.IsActive = 1
  AND v.StartDate <= CAST(GETDATE() AS DATE)
  AND v.EndDate >= CAST(GETDATE() AS DATE)
  AND (v.TotalQuantity IS NULL OR v.UsedQuantity < v.TotalQuantity)
  AND (
      vc.Id IS NULL                          -- Chưa claim lần nào
      OR (
          v.MaxUsagePerUser > 1
          AND (SELECT COUNT(*) FROM t_huca_voucher_claims
               WHERE VoucherId = v.Id AND UserId = @UserId AND Status = 'Used')
              < v.MaxUsagePerUser             -- Chưa dùng hết lượt
      )
  )

4. Bảng thông tin Đấu thầu & Giao thương (B2B)

t_huca_b2b_opportunities

Kênh kết nối B2B trong nội khối HUCA — tăng độ tin cậy nhờ nền tảng CSV HUCE:
OpportunityType  NVARCHAR(50):
    -- SubcontractorSearch → Tìm nhà thầu phụ
    -- SupplierSearch      → Tìm nhà cung cấp vật tư/thiết bị
    -- InvestmentPartner   → Mời hợp tác đầu tư dự án
    -- JointVenture        → Liên doanh
Luồng đăng & phản hồi:
Doanh nghiệp A đăng cơ hội B2B
    → Doanh nghiệp B xem, phù hợp
    → Gửi phản hồi (t_huca_b2b_responses + đính kèm hồ sơ năng lực)
    → A chọn đối tác → Status = 'Accepted'
    → B2B Opportunity Status = 'Filled'

t_huca_b2b_responses

ProposalFileUrl  NVARCHAR(500),  -- Hồ sơ đề xuất đính kèm (PDF)
Status  NVARCHAR(20):  Submitted, Reviewing, Accepted, Rejected

5. Báo cáo & Thống kê thông minh (Admin Dashboard)

t_huca_statistics

Bảng pre-computed cho Dashboard admin, tránh tính toán realtime nặng:
StatType    VARCHAR(50):
    -- TotalAlumni        → Tổng số CSV
    -- ActiveUsers        → Người dùng hoạt động (30 ngày)
    -- EmploymentRate     → Tỷ lệ có việc làm đúng ngành
    -- TotalDonations     → Tổng giá trị đóng góp
    -- CompanyCount       → Số doanh nghiệp đối tác
    -- EventAttendance    → Tỷ lệ tham gia sự kiện

Dimension   NVARCHAR(50):  Faculty, Province, AcademicYear, Overall
Period      VARCHAR(10):   Daily, Monthly, Yearly
PeriodValue VARCHAR(20):   "2026-01-15", "2026-01", "2026"
Ví dụ Dashboard metrics:
-- Tỷ lệ có việc làm theo Khoa
SELECT d.DimensionId as FacultyId, f.Name, s.StatValue as EmploymentRate
FROM t_huca_statistics s
JOIN t_huca_faculties f ON f.Id = s.DimensionId
WHERE s.StatType = 'EmploymentRate'
  AND s.Dimension = 'Faculty'
  AND s.Period = 'Yearly'
  AND s.PeriodValue = '2026'
ORDER BY s.StatValue DESC;

-- Mật độ phân bố CSV theo tỉnh/TP
SELECT d.DimensionId as ProvinceId, p.Name, s.StatValue as AlumniCount
FROM t_huca_statistics s
JOIN t_huca_provinces p ON p.Id = s.DimensionId
WHERE s.StatType = 'TotalAlumni'
  AND s.Dimension = 'Province'
  AND s.Period = 'AllTime';

t_huca_audit_logs

Nhật ký toàn bộ hoạt động quan trọng:
ActionÝ nghĩa
LoginĐăng nhập
RegisterĐăng ký tài khoản
UpdateProfileCập nhật hồ sơ
CreateEventTạo sự kiện
DonateĐóng góp quỹ
ApproveUserAdmin phê duyệt tài khoản
OldValues  NVARCHAR(MAX),   -- JSON: giá trị trước khi thay đổi
NewValues  NVARCHAR(MAX),   -- JSON: giá trị sau khi thay đổi
IpAddress  VARCHAR(45),     -- IPv4 hoặc IPv6
UserAgent  NVARCHAR(500),   -- Browser/App info