Kiểm cân
Đối chiếu khối lượng thực tế với phiếu thu gom và xử lý sai lệch.
Phiên kiểm tra là bước bắt buộc trước khi phát hành hoá đơn. Mục đích là đối chiếu khối lượng người thu gom ghi trong phiếu với khối lượng cân thực tế, nhằm bảo vệ cả khách hàng và YeChai.

Quy trình năm bước
Bước 1 — Cân tổng

Nhập tổng số kg cân thực tế cho cả phiên. Tổng phải lớn hơn 0.
Vì sao số kê khai bị ẩn lúc đầu
Khi phiên còn ở trạng thái chờ, hệ thống không hiển thị số kê khai của người thu gom và không hiện sai lệch. Việc này để tránh nhân viên kiểm tra bị "neo" theo con số có sẵn. Sau khi bạn nhập tổng, hệ thống mới hiện dần phần so sánh.
Bước 2 — Nhập từng loại phế liệu
Nhập khối lượng cân thực cho từng loại trong phiên. Quy tắc:
- Khối lượng không âm.
- Tối đa 1 chữ số thập phân.
- Không được trùng loại.
- Loại phải thuộc phiên kiểm tra này.
Sau bước này, hệ thống hiện so sánh từng loại: kê khai, chênh lệch theo kg và theo phần trăm, và cờ vượt ngưỡng.
Bước 3 — Lưu chi tiết khối lượng
Phải nhập đủ mọi loại mới lưu được. Nếu còn thiếu, hệ thống báo:
Còn n loại chưa nhập số kg cân thực.
Bước 4 — Xem trước kết quả
Hệ thống hiển thị bản xem trước gồm kết quả kiểm tra và danh sách hoá đơn dự kiến. Bước này không ghi gì vào cơ sở dữ liệu.
Bước 5 — Hoàn tất
Hoàn tất sẽ, trong cùng một giao dịch:
- Phát hành hoá đơn cho từng đơn hợp lệ.
- Tạo bản ghi chi trả tương ứng.
- Ghi sổ tích luỹ và sổ giá.
- Chuyển đơn sang trạng thái Phát hành hóa đơn.
- Gửi thông báo cho khách và cho nội bộ.
Hoàn tất hai lần không tạo hoá đơn trùng
Nếu phiên đã hoàn tất, yêu cầu hoàn tất lần nữa sẽ trả lại kết quả đã lưu và không thêm hoá đơn, sổ giá hay thông báo nào.
Xử lý sai lệch
Hệ thống so sánh hai ngưỡng lấy từ Cài đặt vận hành:
| Ngưỡng | Ý nghĩa |
|---|---|
| Ngưỡng sai lệch tổng khối lượng | Mức chênh lệch cho phép trên tổng |
| Ngưỡng sai lệch từng loại | Mức chênh lệch cho phép cho mỗi loại |
Kết quả kiểm tra là đạt hoặc có sai lệch. Phiên bị coi là có sai lệch khi tổng vượt ngưỡng, hoặc có ít nhất một loại vượt ngưỡng.
Tiền phạt người thu gom
Khi tổng vượt ngưỡng, hệ thống tính tiền phạt theo công thức làm tròn lên bội số 1.000 đồng. Mức phạt lấy từ cấu hình "Mức phạt người thu gom".
Ngưỡng được chốt tại thời điểm hoàn tất
Giá trị ngưỡng và mức phạt được snapshot vào hồ sơ kiểm tra lúc hoàn tất. Thay đổi cài đặt sau đó không làm thay đổi kết quả đã ghi.
Chênh lệch giữa tổng và chi tiết
Nếu tổng khối lượng chi tiết lệch với cân tổng, hệ thống chỉ cảnh báo. Việc này không chặn lưu chi tiết hay hoàn tất phiên.
Điểm cần thống nhất trong nội bộ
Tài liệu nghiệp vụ nêu ngưỡng cảnh báo 0,05 kg cho chênh lệch này. Con số đó
không tìm thấy trong mã xử lý ở backend. Hãy thống nhất lại ngưỡng thật trước
khi truyền đạt cho nhân viên, hoặc kiểm tra trực tiếp trên màn hình.
Quyền thao tác
| Thao tác | Ai được làm |
|---|---|
| Nhập tổng khối lượng | Nhân viên có quyền kiểm tra, trong phạm vi điểm tập kết |
| Nhập và sửa chi tiết | Người phụ trách phiên, hoặc Quản trị viên |
| Hoàn tất phiên | Người phụ trách phiên, hoặc Quản trị viên |
Nếu không đúng người, hệ thống trả 403 INSPECTION_OWNER — Chỉ người phụ trách
hoặc Admin được hoàn tất phiên.
Mã lỗi thường gặp
| Mã | Thông báo |
|---|---|
INSPECTION_CONFLICT | Dữ liệu đã thay đổi, vui lòng tải lại |
INSPECTION_VALIDATION | Nhập tổng số kg cân thực tế |
INSPECTION_VALIDATION | Khối lượng tối đa 1 chữ số thập phân |
INSPECTION_VALIDATION | Còn n loại chưa nhập số kg cân thực |
INSPECTION_VALIDATION | Loại phế liệu không thuộc phiên kiểm tra |
INSPECTION_OWNER | Chỉ người phụ trách hoặc Admin được cập nhật phiên. |
DEPOT_SCOPE | Bạn không có quyền xử lý phiên của điểm tập kết này. |
INVOICE_PRICE_MISSING | Loại phế liệu chưa có giá thu mua hiệu lực |
Không hoàn tất được vì thiếu giá
Nếu một loại phế liệu trong đơn chưa có giá thu mua hiệu lực, hệ thống chặn phát hành hoá đơn. Phải bổ sung giá trong Bảng giá trước.
Xuất dữ liệu
Màn kiểm tra cho xuất CSV với 14 cột: mã kiểm tra, mã phiên, ngày tạo, người thu gom, điểm tập kết, người phụ trách, kê khai (kg), cân thực (kg), sai lệch (%), sai lệch (kg), số loại vượt ngưỡng, tiền phạt (đ), trạng thái và thời điểm hoàn tất.