Giao diện
Cân xe
Ai dùngQuản trị viên Quản lý Quản lý thu mua Nhân viên kho Nhân viên phân bổ & QC
Phiếu cân xe tải ở cổng nhà máy, đi từ phần mềm cân xe (MSSQL) qua Truck Scale Data Tracker vào hệ thống. Dịch vụ: truck-scale-service (nhận, ánh xạ, tra cứu).
Truck Scale Data Tracker
| Mã | Yêu cầu |
|---|---|
| FR-TSC-1 | Tracker chạy như Windows service, tự khởi động cùng máy và tự chạy lại khi lỗi. Ứng dụng khay (tiếng Việt) chỉ để cấu hình và xem trạng thái; tắt khay không dừng service. |
| FR-TSC-2 | Mỗi 60 giây, đọc tối đa 20 phiếu mới (số thứ tự Stt lớn hơn phiếu cuối đã đọc). Giờ cân hiểu theo giờ Việt Nam. |
| FR-TSC-3 | Mỗi 90 giây, đọc lại tối đa 50 phiếu đã cân lần 1 mà chưa cân lần 2, trong 168 giờ gần nhất, để lấy lần cân 2. |
| FR-TSC-19 | Tracker là đường duy nhất đọc MSSQL; truck-scale-service không đọc MSSQL. Ở môi trường local (không có tracker), truck-scale-tracker-local thay tracker: cùng chu kỳ đọc, đọc lại, báo trạng thái và cùng cách gửi. Chỉ dùng cho local, không triển khai. |
| FR-TSC-20 | Tracker phải báo trạng thái về server mỗi phút, kể cả khi không có phiếu mới. |
| FR-TSC-4 | Phiếu đổi dữ liệu được ghi vào SQLite và đánh dấu chờ gửi. Chỉ đánh dấu đã gửi sau khi server nhận; gửi lỗi thì thử lại ở chu kỳ sau. Mất mạng không được làm mất phiếu. |
| FR-TSC-5 | Tracker xác thực bằng client credentials (truck-scale-data-tracker); secret lưu mã hoá DPAPI. 401 thì lấy token mới và thử lại một lần. |
Nhận phiếu
| Mã | Yêu cầu |
|---|---|
| FR-TSC-6 | POST /api/truck-scale-records nhận một lô phiếu: số thứ tự, số phiếu, biển số, mã và tên khách hàng, mã và tên hàng, giờ và khối lượng lần cân 1, 2, chiều cân, ghi chú, nhân viên, kho, số chứng từ. Quyền truck-scale-records:create, chỉ tracker có. |
| FR-TSC-7 | Phiếu được ghi đè theo số thứ tự nguồn; lần gửi sau thay mọi trường (ví dụ khi có lần cân 2). Ghi xong phải phát sự kiện truck-scale-service:weighing-records. |
| FR-TSC-8 | Biển số được chuẩn hoá theo định dạng biển số Việt Nam. Chiều cân lưu nguyên văn; Nhập là xe vào, Xuất là xe ra. |
Ánh xạ tên cân
| Mã | Yêu cầu |
|---|---|
| FR-TSC-9 | Tên khách hàng, tên hàng được chuẩn hoá (chữ thường, bỏ dấu, gộp khoảng trắng) và tự đăng ký làm tên chờ ánh xạ. Bản ghi được ánh xạ ngay khi lưu, trong cùng giao dịch: đăng ký tên và nhận kết quả hiện tại của tên (FR-TSC-10). |
| FR-TSC-10 | Mỗi tên khách hàng có một kết quả hiện tại: Đã ánh xạ (tới một đối tác), Bỏ qua hoặc Chưa ánh xạ. Tên hàng: Đã ánh xạ (tới một sản phẩm), Nhóm hàng (tới một danh mục, khi tên không chỉ đúng một sản phẩm, ví dụ DUA KHOAN), Bỏ qua hoặc Chưa ánh xạ. Bản ghi chỉ nhận kết quả của tên khi lần cân 1 của nó không sớm hơn lúc lưu kết quả đó. Bản ghi đã nhận kết quả thì giữ nguyên, không ánh xạ lại. |
| FR-TSC-11 | Bản ghi Đã xử lý (resolved) khi cả tên khách hàng và tên hàng đã nhận kết quả cuối (đã ánh xạ, nhóm hàng, bỏ qua); khi đó đối tác, sản phẩm, danh mục được gán vào bản ghi. Còn lại: pending hoặc unresolved. |
| FR-TSC-12 | Lưu, bỏ qua hoặc đưa lại một tên có hiệu lực từ lúc lưu, cho các xe có lần cân 1 từ lúc đó (tính theo giờ cân, không theo lúc bản ghi về hệ thống). Bản ghi đã lưu có lần cân 1 từ lúc đó nhận kết quả ngay, trong cùng giao dịch với lần lưu. Bản ghi cân trước đó không đổi, kể cả bản ghi đang Chưa ánh xạ. Ngoại lệ: lưu từ một bản ghi (Ánh xạ thủ công) áp dụng cho chính bản ghi đó nếu tên đó trên bản ghi còn Chưa ánh xạ. |
| FR-TSC-13 | Ánh xạ toàn bộ tên (Ánh xạ tên cân): chỉ Quản trị viên (truck-scale-aliases:*). Ánh xạ từ một bản ghi (Ánh xạ thủ công): AD, MG, PM, WS, QC (truck-scale-record-mapping:*). Server kiểm tra: lưu tên không kèm bản ghi chỉ Quản trị viên được làm (403); vai trò khác phải gửi bản ghi đã mở, chỉ ánh xạ được tên có trên bản ghi đó (SCALE_ALIAS_NOT_ON_RECORD) và không đưa tên về Chưa ánh xạ (403). |
| FR-TSC-14 | Tên khách hàng được ánh xạ tới bất kỳ đối tác nào chưa xoá, không giới hạn vai trò. |
| FR-TSC-18 | Xoá đối tác, sản phẩm hoặc danh mục đưa các tên đang ánh xạ tới nó về Chưa ánh xạ. Bản ghi có lần cân 1 trước lúc xoá giữ kết quả cũ; xe cân sau đó Chưa ánh xạ cho tới khi tên được ánh xạ lại. |
Ví dụ: tên HTX BEN TRE được ánh xạ tới đối tác A ngày 03/11, A bị xoá ngày 08/11, tên được ánh xạ lại tới B ngày 12/11.
| Lần cân 1 | Kết quả |
|---|---|
| 01/11 | Chưa ánh xạ: cân trước lúc ánh xạ |
| 05/11 | A, giữ A sau khi A bị xoá |
| 09/11 | Chưa ánh xạ: cân sau lúc xoá, trước lúc ánh xạ lại |
| 13/11 | B |
Bản ghi cân xe
| Mã | Yêu cầu |
|---|---|
| FR-TSC-15 | Lọc theo khoảng ngày ICT (mặc định hôm nay) và chiều cân. Bản ghi được lấy khi lần cân 1 hoặc 2 nằm trong khoảng, và xếp vào ngày của lần cân 1. |
| FR-TSC-16 | Bản ghi chưa cân lần 2 hiện — ở lần cân 2 và KL tịnh. Tên chưa ánh xạ phải được đánh dấu. |
| FR-TSC-17 | Xuất Excel Bảng kê cân hàng theo bộ lọc, có dòng TỔNG, có cả trên điện thoại. Không có ở không gian Phân bổ. |
Nơi dùng bản ghi:
| Nơi | Chiều | Khớp theo | Quy tắc |
|---|---|---|---|
| Phiếu mua dừa | Nhập | NCC, sản phẩm, ngày giao | FR-TKT-29 |
| Phiếu mua cơm dừa | Nhập | NCC, sản phẩm, ngày giao | FR-MTK-13 |
| Dòng phân bổ | Xuất | Đơn vị gia công, D − 1 đến D | FR-ALC-22 |
| Nhận về | Nhập | Đơn vị gia công, D đến D + 1 | FR-RCP-13 |