🏠 Trang chủ Hướng dẫn sử dụng Báo cáo
📊 Hướng dẫn chi tiết

Báo cáo & Thống kê

Hướng dẫn xem báo cáo tổng quan sản xuất theo thời gian, báo cáo tình hình đơn hàng & bản vẽ, và báo cáo doanh thu — nợ đơn hàng theo từng kỳ.

🔗 Đi đến
📋 Tổng quan — Module Báo cáo

Module Báo cáo giúp theo dõi nhanh tình hình sản xuất, đơn hàng, bản vẽ, máy móc, nhân sự và tài chính của doanh nghiệp thông qua các biểu đồ và bảng số liệu trực quan. Dữ liệu được tính toán trực tiếp từ cơ sở dữ liệu tại thời điểm xem báo cáo.

📅 Chọn khoảng thời gian
📊 Xem chỉ số & biểu đồ
🖨️ In / lưu báo cáo

Module gồm 2 trang báo cáo chính:

📈 Báo cáo tổng quan
Trang report_overview.php — Tổng hợp công việc CNC, hàng hóa, máy móc, lập trình viên và nhân viên vận hành, lọc theo khoảng thời gian.
📦 Đơn hàng & Bản vẽ
Trang report_po-drawing.php — Tỉ lệ hoàn thành đơn hàng (PO) và bản vẽ, kèm báo cáo doanh thu & công nợ theo kỳ.
📅 Bộ lọc thời gian — Báo cáo tổng quan

Trang report_overview.php cho phép lọc số liệu công việc CNC theo created_date bằng 2 cách:

  • 1
    📅 Lọc nhanh
    Dropdown chọn nhanh Tuần trước (thứ 2 → chủ nhật tuần trước) hoặc Tháng trước (ngày 1 → ngày cuối tháng trước). Tự động submit form khi chọn.
  • 2
    🗓️ Từ ngày — Đến ngày
    Chọn khoảng ngày tùy ý. Khi nhập cả 2 trường này, hệ thống ưu tiên dùng khoảng ngày tùy chọn thay vì lọc nhanh. Bấm 🔍 Lọc dữ liệu để áp dụng.
ℹ️
Không chọn bộ lọc nàoNếu không chọn lọc nhanh và không nhập khoảng ngày, khối Công việc CNC hiển thị toàn bộ dữ liệu (không giới hạn thời gian).
⚠️
Chỉ áp dụng cho khối "Công việc CNC"Các khối Hàng hóa, Máy móc, Lập trình viên và Nhân viên vận hành hiển thị số liệu tổng (không bị ảnh hưởng bởi bộ lọc thời gian).
📈 Các khối chỉ số & biểu đồ

Trang Báo cáo tổng quan hiển thị 5 khối chỉ số, mỗi khối kèm một biểu đồ cột (Chart.js):

KhốiChỉ tiêu hiển thịNguồn dữ liệu
🛠️ Công việc CNC Tổng số công việc, Đã hoàn thành, Đang thực hiện cnc_jobs — theo finished_time / start_time
📦 Hàng hóa Cần gia công, Đã gia công, Còn lại, Hiệu suất (%) cnc_jobsquantity_required / machined_quantities
⚙️ Máy móc Máy đang chạy, Máy đã dừng, Tổng thời gian gia công (giờ) machines.status, operator_jobs.total_time
👨‍💻 Lập trình viên Số job đã giao, Đang thực hiện, Chưa thực hiện, Đã hoàn thành, Tỉ lệ hoàn thành programming_assignments
👷 Nhân viên vận hành Số job đã giao, Đang thực hiện, Chưa thực hiện, Đã hoàn thành, Tỉ lệ đang thực hiện operator_jobs
📊
Biểu đồ trực quanMỗi khối có 1 biểu đồ cột riêng đặt phía trên bảng số liệu, giúp so sánh nhanh các chỉ tiêu trong cùng khối.
Hiệu suất gia côngTính bằng Đã gia công ÷ Cần gia công × 100%, làm tròn 2 chữ số thập phân. Nếu chưa có yêu cầu nào thì hiển thị 0%.
📦 Báo cáo Đơn hàng (PO) & Bản vẽ

Trang report_po-drawing.php hiển thị 2 biểu đồ tròn (pie chart) thể hiện tỉ lệ hoàn thành:

📑 Tình hình Đơn hàng
Nhóm theo po_status: Chưa hoàn thành / Đã Hoàn thành, kèm số lượng và tỉ lệ % trên tổng số PO.
📐 Tình hình Bản vẽ
Nhóm theo drawing_status: Chưa gia công / Đang gia công / Đã gia công xong, kèm số lượng và tỉ lệ %.
🌐
Số liệu toàn hệ thốngHai bảng này lấy theo toàn bộ đơn hàng/bản vẽ trong CSDL (không lọc theo bussines_id hay thời gian) — dùng để có cái nhìn tổng thể nhanh.
💰 Báo cáo Doanh thu & Nợ đơn hàng

Bấm nút 💰 Báo cáo Doanh thu & Nợ đơn hàng trên trang report_po-drawing.php để mở cửa sổ (modal) báo cáo tài chính theo kỳ, tính riêng cho doanh nghiệp đang đăng nhập (bussines_id).

  • 1
    Chọn kỳ báo cáo
    Chọn một trong các kỳ có sẵn (xem bảng ở mục 🗓️ Kỳ báo cáo). Nếu chọn "Chọn năm hiển thị", ô chọn năm sẽ hiện ra thêm.
  • 2
    Hệ thống tự tải dữ liệu
    Mỗi khi đổi kỳ báo cáo hoặc đổi năm, dữ liệu được gọi qua AJAX (report_po-drawing.php?ajax_revenue_report=1) và cập nhật ngay, kèm vòng xoay tải dữ liệu.
  • 3
    Xem 3 chỉ số tổng hợp
    Tổng giá trị đơn hàng, Số tiền đã thuKhách hàng còn nợ — chỉ tính trên đơn hàng có received_date nằm trong khoảng ngày của kỳ đã chọn.
  • 4
    Xem bảng phân tích theo trạng thái
    Danh sách số đơn và giá trị theo từng trạng thái PO trong kỳ (Đang gia công, Đang QC, Đã thanh toán...).
💰 Ví dụ kết quả báo cáo
125.000.000 đ
Tổng giá trị đơn hàng
90.000.000 đ
Số tiền đã thu
35.000.000 đ
Khách hàng còn nợ
🚫
Đơn đã hủy không tính vào báo cáoĐơn hàng có trạng thái "Đã hủy" được đếm riêng (hiển thị dưới bảng) nhưng không cộng vào tổng giá trị, số đã thu hay công nợ.
🗓️ Các kỳ báo cáo có thể chọn

Báo cáo Doanh thu & Nợ đơn hàng hỗ trợ 10 lựa chọn kỳ, tự động tính khoảng ngày received_date tương ứng:

Kỳ báo cáoKhoảng thời gian tính
Hôm nayNgày hiện tại
Tuần nàyThứ 2 → Chủ nhật của tuần hiện tại
2 tuần gần nhấtThứ 2 tuần trước → Chủ nhật tuần này
Tháng nàyNgày 1 → ngày cuối cùng của tháng hiện tại
Tháng trướcNgày 1 → ngày cuối cùng của tháng trước
Quý này3 tháng đầu quý hiện tại → cuối tháng thứ 3
Quý trước3 tháng của quý liền trước
Năm nay01/01 → 31/12 năm hiện tại
Năm trước01/01 → 31/12 năm liền trước
Chọn năm hiển thị01/01 → 31/12 của năm được chọn trong ô "Năm" (danh sách năm lấy theo dữ liệu received_date thực tế trong hệ thống)
📌
Mặc địnhKhi mở báo cáo lần đầu, hệ thống chọn sẵn kỳ "Tháng này".
Cách tính Số tiền đã thu & Công nợ

Số tiền đã thu của mỗi đơn hàng (PO) được tính dựa trên trạng thái thanh toán và loại đặt cọc, theo thứ tự ưu tiên sau:

  • 1
    Trạng thái đã thanh toán đủ
    Nếu PO ở trạng thái "Khách đã thanh toán - chưa xuất VAT" hoặc "Đã giao hàng xong - đã xuất VAT" → tính đã thu 100% giá trị đơn hàng.
  • 2
    Loại đặt cọc "Thanh toán 100%"
    Nếu chưa rơi vào trường hợp trên, nhưng loại cọc là Thanh toán 100% → tính đã thu toàn bộ giá trị đơn hàng.
  • 3
    Loại đặt cọc "Cọc một phần"
    Tính đã thu bằng số tiền cọc đã nhập (giới hạn không vượt quá giá trị đơn hàng).
  • 4
    Không rơi vào trường hợp nào ở trên
    Coi như chưa thu được khoản nào (0 đồng) cho đơn hàng đó.
🧮
Công nợTính bằng công thức Công nợ = Tổng giá trị đơn hàng − Số tiền đã thu, cộng dồn trên toàn bộ đơn hàng hợp lệ (không tính đơn đã hủy) trong kỳ đã chọn.
🖨️ In báo cáo Doanh thu & Nợ đơn hàng

Sau khi dữ liệu báo cáo đã tải xong, bấm nút 🖨️ In báo cáo ở cuối cửa sổ để mở hộp thoại in của trình duyệt.

🪟
In qua cửa sổ ẩn riêng biệtHệ thống tạo một khung (iframe) ẩn chứa nội dung báo cáo được định dạng lại (tiêu đề, 3 khối chỉ số, bảng chi tiết) rồi mới gọi lệnh in — tránh lỗi in ra trang trắng khi in trực tiếp từ trong cửa sổ modal.
⚠️
Phải chọn kỳ báo cáo trướcNếu chưa có dữ liệu nào được tải (chưa mở/chưa chọn kỳ báo cáo lần nào), hệ thống sẽ báo "Chưa có dữ liệu báo cáo để in" và không mở hộp thoại in.
⚠️ Lưu ý quan trọng
🔑
Cần đăng nhập để xem báo cáoCả hai trang báo cáo đều yêu cầu đăng nhập hợp lệ (kiểm tra qua auth_guard.php).
📆
Định dạng ngày ở "Từ ngày / Đến ngày"Nhập theo định dạng YYYY-MM-DD (mặc định của ô chọn ngày trình duyệt) để bộ lọc hoạt động chính xác.
🏢
Phạm vi dữ liệu khác nhau giữa các khốiKhối "Công việc CNC" và báo cáo "Doanh thu & Nợ" lọc theo doanh nghiệp / thời gian; trong khi khối "Đơn hàng & Bản vẽ" (biểu đồ tròn) hiển thị số liệu tổng toàn hệ thống — cần lưu ý khi so sánh giữa các báo cáo.
🔄
Số liệu theo thời gian thựcMọi chỉ số đều được truy vấn trực tiếp từ cơ sở dữ liệu ngay tại thời điểm mở trang/mở báo cáo, không lưu bộ nhớ đệm — dữ liệu mới nhất luôn được phản ánh.
🧾
Doanh thu phụ thuộc dữ liệu PO nhập đúngChỉ số Số tiền đã thu / Công nợ chỉ chính xác khi trường Giá trị đơn hàng, Loại đặt cọc, Số tiền cọcTrạng thái PO được cập nhật đầy đủ khi tạo/sửa đơn hàng.

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

Báo cáo tổng quan Đơn hàng & Bản vẽ Hướng dẫn vận chuyển Mục lục hướng dẫn