# Chứng chỉ

> Cấu hình và quản lý chứng chỉ tự động cấp khi nhân viên hoàn thành chương trình đào tạo.

**Quyền truy cập:** Cần quyền **Quản lý chương trình đào tạo** (quản lý chương trình), Admin **Điều hướng:** Cấu hình trong tab chỉnh sửa chương trình hoặc xem tại `/manage/content/certificates`

***

## Tổng quan

Tính năng Chứng chỉ đào tạo cho phép quản trị viên cấu hình chứng chỉ tự động cấp khi nhân viên hoàn thành chương trình đào tạo. Hệ thống tích hợp với module Chứng chỉ (Certificate) của LMS để tạo, theo dõi và quản lý chứng chỉ. Chứng chỉ được cấu hình trong phần thiết lập chương trình đào tạo, không phải là một trang quản lý riêng biệt.

***

## Cấu hình chứng chỉ trong chương trình

### Điều kiện

* Người dùng có quyền **Quản lý chương trình đào tạo** hoặc vai trò Admin
* Module Certificate đã được cài đặt trong hệ thống
* Đã có ít nhất một mẫu chứng chỉ (Certificate Template) trong hệ thống

### Các bước

1. Điều hướng đến `Đào tạo > Chương trình đào tạo`
2. Nhấp vào chương trình cần cấu hình và mở trang chỉnh sửa
3. Trong phần điều hướng bên trái, chọn mục **"certificate"** (Chứng chỉ)
4. Bật **Cấp chứng chỉ** cho chương trình
5. Cấu hình các trường:
   * **Mẫu chứng chỉ** -- chọn mẫu từ danh sách mẫu chứng chỉ đã tạo (bắt buộc)
   * **Tiền tố mã** -- tiền tố cho mã chứng chỉ (mặc định: `TRAIN-`)
   * **Thời hạn hiệu lực (tháng)** -- số tháng chứng chỉ có hiệu lực (để trống nếu vĩnh viễn)
   * **Yêu cầu gia hạn** -- bật nếu chứng chỉ cần gia hạn sau khi hết hạn
6. Lưu cấu hình

> Kết quả: Khi nhân viên hoàn thành chương trình, hệ thống tự động cấp chứng chỉ.

### Bảng tham chiếu trường

| Trường            | Bắt buộc | Loại       | Mô tả                                                |
| ----------------- | -------- | ---------- | ---------------------------------------------------- |
| Cấp chứng chỉ     | Có       | Boolean    | Bật/tắt tính năng cấp chứng chỉ cho chương trình     |
| Mẫu chứng chỉ     | Có       | Lựa chọn   | ID mẫu chứng chỉ (Certificate Template)              |
| Tiền tố mã        | Không    | Văn bản    | Tiền tố cho mã chứng chỉ tự sinh (mặc định: TRAIN-)  |
| Thời hạn hiệu lực | Không    | Số (tháng) | Số tháng chứng chỉ có hiệu lực, để trống = vĩnh viễn |
| Yêu cầu gia hạn   | Không    | Boolean    | Chứng chỉ có cần gia hạn sau khi hết hạn hay không   |

***

## Cấp chứng chỉ tự động

Khi nhân viên hoàn thành chương trình đào tạo (trạng thái ghi danh chuyển sang **Hoàn thành**), hệ thống tự động thực hiện:

1. Kiểm tra chương trình có bật cấu hình chứng chỉ (`certificate.enabled`)
2. Kiểm tra mẫu chứng chỉ đã được cấu hình (`certificate.templateId`)
3. Kiểm tra chứng chỉ chưa được cấp trước đó cho cùng người dùng và chương trình
4. Tạo mã chứng chỉ tự động: `{tiền tố}{số thứ tự 6 chữ số}` (ví dụ: `TRAIN-000001`)
5. Tính ngày hết hạn (nếu có cấu hình thời hạn)
6. Tạo bản ghi chứng chỉ với trạng thái **Đã cấp**
7. Gửi thông báo cho nhân viên về chứng chỉ mới

***

## Cấp chứng chỉ hàng loạt

Hệ thống hỗ trợ cấp chứng chỉ cho nhiều nhân viên cùng lúc. Quá trình xử lý:

1. Với mỗi nhân viên trong danh sách:
   * Kiểm tra ghi danh tồn tại và đã hoàn thành (**Hoàn thành**)
   * Cấp chứng chỉ nếu đủ điều kiện
2. Kết quả trả về:
   * **Đã cấp** -- danh sách nhân viên đã nhận chứng chỉ thành công
   * **Thất bại** -- danh sách nhân viên không thể cấp chứng chỉ kèm lý do

***

## Kiểm tra hết hạn chứng chỉ

Hệ thống cho phép kiểm tra tình trạng hết hạn của chứng chỉ:

| Thông tin       | Mô tả                              |
| --------------- | ---------------------------------- |
| Đã hết hạn      | Chứng chỉ đã quá ngày hết hạn      |
| Ngày hết hạn    | Ngày chứng chỉ hết hiệu lực        |
| Số ngày còn lại | Số ngày còn lại trước khi hết hạn  |
| Yêu cầu gia hạn | Chứng chỉ có cần gia hạn hay không |

***

## Thu hồi chứng chỉ

### Các bước

1. Xác định chứng chỉ cần thu hồi
2. Nhập **Lý do thu hồi**
3. Xác nhận thu hồi

> Kết quả: Trạng thái chứng chỉ chuyển sang **Đã thu hồi**. Hệ thống ghi nhận thời gian và lý do thu hồi.

***

## Trạng thái chứng chỉ

| Trạng thái     | Mô tả                   |
| -------------- | ----------------------- |
| **Đang chờ**   | Chứng chỉ đang chờ cấp  |
| **Đã cấp**     | Chứng chỉ đã được cấp   |
| **Đã thu hồi** | Chứng chỉ đã bị thu hồi |

***

## Xem chứng chỉ

Chứng chỉ đã cấp có thể xem tại:

* **Quản trị viên:** `/manage/content/certificates/{certificateId}`
* **Nhân viên:** Nhận thông báo kèm liên kết đến chứng chỉ

Thông tin chứng chỉ bao gồm:

| Trường          | Mô tả                                      |
| --------------- | ------------------------------------------ |
| Mã chứng chỉ    | Mã duy nhất (ví dụ: TRAIN-000001)          |
| Người nhận      | Tên đầy đủ, email của nhân viên            |
| Chương trình    | Tên chương trình đào tạo                   |
| Ngày hoàn thành | Ngày hoàn thành chương trình               |
| Điểm            | Điểm cuối kỳ (nếu có)                      |
| Ngày hết hạn    | Ngày hết hạn (nếu có)                      |
| Trạng thái      | **Đang chờ** / **Đã cấp** / **Đã thu hồi** |

***

## Lưu ý

* Chứng chỉ được cấu hình trong phần chỉnh sửa chương trình đào tạo, không phải trang quản lý riêng
* Module Certificate của LMS cần được cài đặt để tính năng hoạt động
* Nếu module Certificate chưa sẵn sàng, hệ thống trả về thông báo lỗi
* Mã chứng chỉ được tạo tự động với số thứ tự tăng dần (6 chữ số)
* Hệ thống tự động phát hiện chứng chỉ trùng: nếu đã cấp cho cùng người dùng và chương trình, không tạo bản ghi mới
* Chứng chỉ bị thu hồi không thể hoàn tác

***

## Xem thêm

* [Chương trình đào tạo](https://docs.noova.vn/hoc-tap-va-dao-tao/05-dao-tao/chuong-trinh) -- Cấu hình chứng chỉ trong chương trình
* [Ghi danh](https://docs.noova.vn/hoc-tap-va-dao-tao/05-dao-tao/ghi-danh) -- Quản lý ghi danh và hoàn thành chương trình
