🏠 Trang chủ VNDNer CNC Hướng dẫn sử dụng Lập trình CNC
💻 Hướng dẫn chi tiết

Lập trình CNC

Hướng dẫn phân công lập trình viên, quản lý danh sách công việc lập trình, theo dõi tiến độ và xem báo cáo lập trình CNC.

🔗 Đi đến
📋 Tổng quan — Module Lập trình CNC

Module Lập trình CNC quản lý toàn bộ quá trình phân công và theo dõi công việc lập trình chương trình gia công cho từng CNC Job. Mỗi CNC Job sau khi tạo cần được phân công cho một lập trình viên viết chương trình CAM/G-code trước khi đưa lên máy chạy.

🛠️ CNC Job
💻 Phân công lập trình
📁 Lập trình viên làm việc
✅ Hoàn thành lập trình

Module gồm 3 trang chính:

➕ Tạo công việc lập trình
Trang create_programming_job.php — Chọn CNC Job chưa có lập trình viên, phân công người lập trình và giao việc.
📋 Danh sách công việc lập trình
Trang programmer_job_management.php — Xem toàn bộ công việc lập trình, theo dõi trạng thái, lọc, cập nhật tiến độ và tải file CAM.
📈 Báo cáo lập trình
Trang programmer_report.php — Thống kê số lượng công việc, thời gian lập trình theo từng lập trình viên và khoảng thời gian.
Điều kiện để tạo công việc lập trình

Trang Tạo công việc lập trình chỉ liệt kê các CNC Job chưa được phân công lập trình viên. Để danh sách có dữ liệu, cần đảm bảo:

1️⃣
Đã có CNC JobPhải có ít nhất một CNC Job đã được tạo trong hệ thống. Xem hướng dẫn tại Tạo Job CNC.
2️⃣
CNC Job chưa có lập trình viênChỉ Job chưa được phân công lập trình viên mới xuất hiện trong danh sách. Job đã có lập trình viên sẽ không hiển thị ở đây.
3️⃣
Đã có nhân viên với vai trò Lập trình viênHệ thống cần có ít nhất một nhân viên được gán vai trò Lập trình viên (programmer). Thêm nhân viên tại Quản lý nhân viên.
⚠️
Danh sách trống?Kiểm tra: (1) Đã tạo CNC Job chưa? (2) Tất cả Job đã có lập trình viên hết rồi — xem tại Danh sách lập trình. (3) Chưa thêm nhân viên có vai trò lập trình viên?
Tạo công việc lập trình — Các bước thực hiện

Truy cập create_programming_job.php. Trang cho phép phân công lập trình viên cho nhiều CNC Job cùng lúc.

  • 1
    Chọn CNC Job cần phân công
    Danh sách hiển thị các CNC Job chưa có lập trình viên với thông tin: Khách hàng → PO → Mã bản vẽ. Tick vào ô checkbox đầu hàng để chọn từng Job, hoặc tick "Chọn tất cả" để chọn toàn bộ cùng lúc.
  • 2
    Chọn Lập trình viên phụ trách *
    Ở mỗi hàng, chọn tên lập trình viên từ dropdown. Danh sách chứa tất cả nhân viên có vai trò Lập trình viên trong hệ thống. Mỗi Job có thể phân công cho một lập trình viên khác nhau.
  • 3
    Chọn ngày và giờ phân công
    Nhập ngày và giờ bắt đầu phân công lập trình. Thông tin này dùng để theo dõi tiến độ và thống kê báo cáo theo khoảng thời gian.
  • 4
    Bấm "✅ Tạo công việc lập trình"
    Hệ thống tạo bản ghi công việc lập trình cho từng Job đã chọn. Sau khi tạo xong, các Job vừa được phân công sẽ biến mất khỏi danh sách này và xuất hiện trong Danh sách công việc lập trình.
💡
Thông tin mỗi công việc lập trình ghi lại gì?Sau khi tạo, hệ thống lưu: ID CNC Job liên kết, tên lập trình viên được phân công, ngày giờ phân công. Các trường như ngày hoàn thành, file CAM, ghi chú được cập nhật dần trong quá trình thực hiện tại trang Danh sách.
📊 Quản lý danh sách công việc lập trình

Trang Danh sách công việc lập trình (programmer_job_management.php) hiển thị toàn bộ công việc lập trình đang có, dưới dạng bảng (Desktop) hoặc card (Mobile). Đây là nơi theo dõi tiến độ và cập nhật trạng thái từng công việc.

📋 Giao diện bảng danh sách — Desktop
# Khách hàng PO Mã bản vẽ Lập trình viên Ngày phân công Trạng thái File CAM Hành động
1 Công ty ABC PO-2025-001 BV-001 Nguyễn Văn A 21/03/2026 Đang làm Chưa có
2 Nhà máy XYZ PO-2025-002 BV-007 Trần Thị B 20/03/2026 Hoàn thành 📁 cam_bv007.nc
3 Cty TNHH DEF PO-2025-003 BV-012 Chưa phân công Chờ xử lý
📑 Giải thích các cột trong bảng
Cột Ý nghĩa Ghi chú
Khách hàng Tên khách hàng của CNC Job liên kết Tự động
PO Mã đơn hàng (Purchase Order) chứa bản vẽ Tự động
Mã bản vẽ Mã định danh bản vẽ cần lập trình Tự động
Lập trình viên Nhân viên được phân công viết chương trình CAM/G-code Bắt buộc
Ngày phân công Ngày bắt đầu giao việc lập trình Bắt buộc
Trạng thái Chờ xử lý — chưa bắt đầu · Đang làm — đang trong tiến trình · Hoàn thành — đã xong Cập nhật thủ công
Ngày hoàn thành Ngày lập trình viên hoàn tất chương trình Tuỳ chọn
File CAM File chương trình NC/G-code đã lập trình, đường dẫn hoặc tên file Tuỳ chọn
Ghi chú Ghi chú kỹ thuật, yêu cầu đặc biệt hoặc chú ý trong quá trình lập trình Tuỳ chọn
Thư mục file Đường dẫn thư mục lưu trữ file chương trình CAM trên máy chủ hoặc mạng nội bộ Tuỳ chọn
🔍 Lọc & Tìm kiếm công việc lập trình

Trang danh sách hỗ trợ tìm kiếm nhanhbộ lọc đa điều kiện giúp nhanh chóng tìm đúng công việc cần xem.

🔎 Tìm kiếm theo mã bản vẽ
Gõ một phần hoặc toàn bộ mã bản vẽ vào ô tìm kiếm — danh sách lọc kết quả ngay tức thì.
Tìm theo mã bản vẽ...
🗂️ Bộ lọc — Lọc theo nhiều điều kiện
Kết hợp nhiều điều kiện cùng lúc. Sau khi chọn, bấm Lọc để áp dụng.
Khoảng thời gianChọn ngày bắt đầu – kết thúc
Lọc nhanhTuần này / Tuần trước / Tháng này / Tháng trước
Lập trình viênDropdown chọn từng lập trình viên
Trạng tháiChờ xử lý / Đang làm / Hoàn thành
💡
Trên MobileBộ lọc hiển thị dạng cuộn ngang (scrollable row) để tiết kiệm không gian. Vuốt sang phải để thấy đủ các ô lọc.
✏️ Cập nhật trạng thái và Sửa / Xoá
Sửa thông tin công việc

Bấm nút Sửa → Form chỉnh sửa mở ra. Các trường có thể cập nhật:

  • Trạng thái công việc — Chờ xử lý / Đang làm / Hoàn thành
  • Lập trình viên — thay đổi người phụ trách nếu cần
  • Ngày hoàn thành — điền khi lập trình xong
  • Đường dẫn file CAM — ghi đường dẫn thư mục lưu file
  • Ghi chú kỹ thuật — ghi chú nội bộ về yêu cầu đặc biệt
Xoá công việc lập trình
  1. Bấm nút Xoá ở cột Hành động.
  2. Hộp thoại xác nhận xuất hiện.
  3. Bấm OK để xác nhận xoá.
🚨
CNC Job được giải phóngSau khi xoá, CNC Job đó sẽ xuất hiện lại trong trang Tạo công việc lập trình và có thể phân công lại.
📈 Báo cáo lập trình — programmer_report.php

Trang Báo cáo lập trình cung cấp thống kê tổng hợp về năng suất và tiến độ lập trình CNC theo từng cá nhân và theo thời gian.

📊
Thống kê theo lập trình viênSố lượng công việc đã hoàn thành, đang làm và chờ xử lý của từng lập trình viên trong kỳ.
📅
Lọc theo khoảng thời gianXem báo cáo theo tuần, tháng hoặc khoảng ngày tuỳ chọn để theo dõi xu hướng năng suất.
⏱️
Thời gian lập trình trung bìnhThống kê thời gian từ ngày phân công đến ngày hoàn thành, giúp đánh giá năng lực và lập kế hoạch.
📋
Danh sách chi tiếtXem từng công việc cụ thể theo lập trình viên, bao gồm mã bản vẽ, khách hàng, PO và trạng thái.
⚠️ Lưu ý quan trọng
⚠️
Mỗi CNC Job chỉ có 1 lập trình viên tại 1 thời điểmHệ thống chỉ hiển thị Job chưa được phân công. Muốn đổi lập trình viên, vào Danh sách → Sửa thay vì tạo mới.
💡
Cập nhật trạng thái thường xuyênLập trình viên nên cập nhật trạng thái từ Chờ xử lý → Đang làm khi bắt đầu và Hoàn thành kèm điền ngày xong để báo cáo chính xác.
📁
Ghi đường dẫn file CAMSau khi lập trình xong, điền đường dẫn thư mục lưu file chương trình vào trường File CAM / Thư mục để vận hành viên và quản lý dễ truy xuất.
🔗
Quy trình đúngTạo CNC Job trước → Phân công lập trình → Lập trình viên thực hiện → Cập nhật hoàn thành → Giao vận hành. Không bỏ qua bước tạo CNC Job trước khi phân công lập trình.

Tiếp tục khám phá các chức năng liên quan:

Tạo công việc lập trình Hướng dẫn Vận hành Hướng dẫn CNC Job Mục lục hướng dẫn