尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗Dashboard báo cáo phòng OPS, có hai mặt hiển thị, cùng chạy từ một file Excel trên SharePoint:
┌──> Các sheet dashboard trong chính file Excel (tính lại ngay khi sửa số, xem bằng tài khoản công ty)
Excel trên SharePoint ────┤
└──(nút "Day so lieu len dashboard")──> data.json trên GitHub ──┬──(Vercel tự deploy)──> https://ops-pqpoc.vercel.app
└──(GitHub Actions)──> history/<ngày báo cáo>.json
Trên trang Notion OPS Dashboard Data chỉ có một báo cáo, "Báo cáo OPS – cập nhật liên tục" (bảng Báo cáo [reports]). Mở báo cáo là thấy đủ 22 hạng mục; mỗi team sửa thẳng số của mình bất cứ lúc nào, mỗi hạng mục chỉ có một dòng. 22 bảng gốc nằm trong trang con Database; dashboard đọc mọi dòng của các bảng này, nên thêm dòng ở trang báo cáo hay ở Database đều được.
Notion (22 bảng) ──> api/data trên Vercel (đệm 60 giây) ──> ops-pqpoc.vercel.app (tự làm mới mỗi phút)
GitHub Actions mỗi giờ ──> data.json (dự phòng) + history/<ngày hôm nay>.json (bản lưu mỗi ngày)
Cài một lần
OPS Dashboard, workspace của anh, loại Internal → Save. Ở tab Capabilities tích Read content (dashboard chỉ đọc). Copy Internal Integration Secret (ntn_…).OPS Dashboard.NOTION_TOKEN = secret ở bước 1 (Production) → Save. Vào Deployments, bấm ⋯ → Redeploy bản mới nhất.https://ops-pqpoc.vercel.app/api/data: thấy JSON là xong. Dòng cuối dashboard ghi "Live from Notion".Quy tắc khi sửa trên Notion: sửa số trên dòng sẵn có, không nhân bản dòng; không đổi tên bảng/cột; % gõ 0–100; tháng dạng YYYY-MM; chưa có số thì để trống, không gõ 0. ID các bảng nằm trong tools/notion-sources.json.
Bảng dành cho lãnh đạo (hiện ở đầu tab Overview):
Trạng thái tổng thể [readiness]: 8 mảng Xanh/Vàng/Đỏ. Dashboard tự tính màu theo ngưỡng; chỉ chọn status_override khi muốn ghi đè, và ghi lý do vào comment.
Mốc tiến độ [milestones]: các mốc MC, RFSU, First Gas… Tích is_target ở mốc dùng để đếm ngược trên đầu trang.
Bảng chi tiết (thêm ngày 30/10/2026 từ báo cáo PowerPoint 21/10):
Ma trận đào tạo HSE [hse_matrix]: mỗi dòng một khoá, mỗi cột một vị trí; ô ghi M / C / S / B (M1–M6 như ma trận gốc), để trống nếu vị trí không cần khoá đó.
Module CBTA [cbta_modules]: từng module, số tài liệu, status (Completed / Review & Approval / Developing, trống = chưa bắt đầu) và người biên soạn. Dashboard báo khi danh mục lệch với bảng tổng CBTA [cbta].
ORR kế hoạch theo team [orr_team_plan]: % kế hoạch lũy kế từng team theo tháng đến 06/2027; actual_pct điền cho tháng đã báo cáo.
Giấy phép [permits] có thêm ref_no, description, responsible, compliance.
Báo cáo [reports]: report_title, doc_no, revision, prepared_by, reviewed_by, approved_by, classification (in ở chân trang và bản PDF).
Nút Print / PDF in toàn bộ dashboard ra A4 ngang.
Song ngữ: nút EN | VI góc trên bên phải đổi ngôn ngữ; trình duyệt nhớ lựa chọn. Gửi link thẳng bản tiếng Việt: https://ops-pqpoc.vercel.app/?lang=vi. Bản dịch nằm trong tools/i18n-vi.json (ui = chữ trên giao diện, data = các nhãn số liệu như trạng thái, bước PR, tên mảng). Số liệu gõ tự do trên Notion hiển thị đúng như đã nhập.
Mời trưởng nhóm: trang OPS Dashboard Data → Chia sẻ → nhập email → Có thể chỉnh sửa. Mời ở dạng khách (guest): gói miễn phí cho tối đa 10 khách.
report_date thành ngày báo cáo mới (dạng 2026-11-28).Sửa số sau khi đã đẩy: giữ nguyên report_date, sửa số, bấm lại nút: bản của ngày đó được ghi đè.
data.json thay đổi, GitHub Actions (.github/workflows/archive.yml) lưu một bản sao vào history/<report_date>.json và cập nhật history/index.json.https://ops-pqpoc.vercel.app/?date=2026-10-21 (thêm #orr, #procedures… để mở thẳng tab).| File | Vai trò |
|---|---|
index.html | Trang dashboard web. Mỗi lần mở trang đọc data.json (hoặc history/<ngày>.json khi có ?date=); nếu không đọc được thì hiện số liệu dự phòng nhúng sẵn và báo đỏ ở cuối trang. |
data.json | Số liệu mới nhất. Script trong Excel ghi đè file này, không sửa tay. |
history/ | Bản lưu theo ngày báo cáo, do GitHub Actions tạo. Không sửa tay. |
automation/OPS_Dashboard_Data.xlsx | File Excel nguồn. 6 sheet dashboard ở đầu (Overview, Manpower & Training, ORR, Procedures, Contracts & Permits, Commissioning), sheet "Huong dan", rồi 18 bảng số liệu. Đưa lên SharePoint, phòng OPS nhập số tại các bảng số liệu. |
automation/day-so-lieu-len-dashboard.ts | Office Script: bấm là đẩy số liệu từ Excel lên GitHub, trang Vercel tự cập nhật (không cần Power Automate). |
automation/xuat-du-lieu-dashboard.ts | Office Script đọc các bảng Excel và xuất JSON cho dashboard web. Chỉ đọc Excel Table, nên bỏ qua các sheet dashboard. |
api/data.js | Hàm Vercel đọc mọi dòng của 22 bảng trên Notion, trả về cùng dạng data.json. Cần biến môi trường NOTION_TOKEN. |
lib/notion.js | Phần dùng chung: gọi Notion API, thứ tự dòng của từng bảng. |
.github/workflows/sync-notion.yml | Mỗi giờ chép số liệu từ api/data vào data.json và history/<ngày hôm nay>.json. |
tools/ | Mã dựng lại index.html và file Excel; tools/archive.py tạo bản lưu lịch sử (xem cuối trang). |
1 CSP Preparation … 6 Contract Signing); tên bước trong bảng "PR dang xu ly" phải trùng.Script automation/day-so-lieu-len-dashboard.ts đọc các bảng số liệu và ghi thẳng data.json lên GitHub; Vercel cập nhật trang sau 1–2 phút.
day-so-lieu-len-dashboard.ts.DAN_TOKEN_VAO_DAY ở dòng const GITHUB_TOKEN = … bằng token (giữ dấu ngoặc kép). Đặt tên script Day so lieu len dashboard → Save script.api.github.com → Allow. Output báo "Đã đẩy số liệu lên GitHub…" là xong.Mỗi lần nhập số xong, bấm nút này. Script chứa token: không chia sẻ script cho người khác; ai cần đẩy số thì tự tạo script với token của mình, hoặc nhờ người giữ token bấm.
Muốn tự động theo lịch thay vì bấm tay: làm các bước Power Automate bên dưới (cần Premium).
automation/OPS_Dashboard_Data.xlsx lên thư viện tài liệu của site OPS, ví dụ Documents/Dashboard/OPS_Dashboard_Data.xlsx.automation/xuat-du-lieu-dashboard.ts.power-automate-ops-dashboard. Expiration: chọn 1 năm và ghi lịch nhắc gia hạn.Dashboard-OPS.github_pat_…. Chuỗi này chỉ hiện một lần; không gửi qua chat, email.Cần action HTTP (Premium). Nếu tài khoản không có Premium, xem mục "Không có Premium" ở cuối.
Vào https://make.powerautomate.com, chọn Create → Scheduled cloud flow, đặt tên OPS dashboard – day so lieu.
4.1. Recurrence (lịch chạy)
1, Frequency Hour. Mở Show advanced options: Time zone (UTC+07:00) Bangkok, Hanoi, Jakarta; At these hours chọn 7–19 nếu chỉ cần trong giờ hành chính.4.2. Excel Online (Business) → Run script, đổi tên action thành Doc Excel
Documents. File: OPS_Dashboard_Data.xlsx. Script: Xuat du lieu dashboard.4.3. HTTP, đổi tên thành Lay sha (lấy mã phiên bản hiện tại của data.json)
GEThttps://api.github.com/repos/toiyeuvietnam2452001/Dashboard-OPS/contents/data.json?ref=main| Key | Value |
|---|---|
Authorization | Bearer github_pat_… (token ở bước 3) |
Accept | application/vnd.github+json |
User-Agent | ops-dashboard-flow |
4.4. HTTP, đổi tên thành Day len GitHub
PUThttps://api.github.com/repos/toiyeuvietnam2452001/Dashboard-OPS/contents/data.json{
"message": "Cập nhật số liệu dashboard @{convertFromUtc(utcNow(), 'SE Asia Standard Time', 'dd/MM/yyyy HH:mm')}",
"content": "@{base64(outputs('Doc_Excel')?['body/result'])}",
"sha": "@{body('Lay_sha')?['sha']}",
"branch": "main"
}
Tên trong biểu thức dùng dấu gạch dưới thay khoảng trắng: Doc_Excel, Lay_sha. Nếu đặt tên action khác thì sửa lại cho khớp.4.5. Save → Test → Manually → Run flow. Thành công khi:
200.| Hiện tượng | Nguyên nhân / cách sửa |
|---|---|
Lay sha báo 401 | Token sai hoặc hết hạn. Tạo token mới (bước 3), thay ở cả hai action HTTP. |
Lay sha báo 404 | Sai tên repo trong URI, hoặc token chưa chọn repo Dashboard-OPS. |
Day len GitHub báo 409/422 | Sai sha. Kiểm tra biểu thức body('Lay_sha')?['sha'] khớp tên action. |
Doc Excel lỗi | Script chưa lưu, hoặc file đang bị khoá. Mở file trên web và chạy script thử. |
| Dashboard báo đỏ "Không đọc được data.json" | data.json bị hỏng (thường do sửa tay). Chạy lại luồng để ghi đè. |
| Một phần dashboard trống | Đổi tên bảng/cột trong Excel. Đối chiếu sheet "Huong dan" và đặt lại đúng tên. |
Action HTTP là Premium. Nếu tài khoản Microsoft 365 không có, hỏi IT xin license Power Automate Premium cho một tài khoản chạy luồng, hoặc cho luồng chạy dưới tài khoản đã có Premium. Các bước khác giữ nguyên.
tools/)Cần Python 3 và openpyxl. tools/data/*.json là số liệu gốc của báo cáo 21/10/2026.
python3 tools/build.py tools tools/data . # index.html + data.json
python3 tools/excel.py tools/data /tmp/base.xlsx # 18 bảng số liệu + Huong dan
python3 tools/excel_dash.py /tmp/base.xlsx automation/OPS_Dashboard_Data.xlsx # thêm 6 sheet dashboard