Giới thiệu dự án
Sự bùng nổ của thương mại điện tử và mô hình kinh tế tuần hoàn giai đoạn hậu đại dịch Covid-19 đã thúc đẩy mạnh mẽ nhu cầu ký gửi hàng hóa tại thị trường Việt Nam. Theo thống kê từ Hiệp hội Thương mại Điện tử Việt Nam (VECOM), tốc độ tăng trưởng thương mại đa kênh đạt trên 20% mỗi năm, kéo theo áp lực luân chuyển và quản lý hàng hóa trung gian tại các điểm bán lẻ vừa và nhỏ (SMEs). Tuy nhiên, hơn 75% chuỗi cửa hàng ký gửi quy mô nhỏ lẻ vẫn đang vận hành thông qua sổ sách truyền thống hoặc các file bảng tính rời rạc.
Thực trạng này gây ra các điểm nghẽn nghiêm trọng: thất thoát dữ liệu tồn kho, sai lệch trong việc đối soát công nợ với bên ký gửi, nhầm lẫn biểu phí lưu kho theo khối lượng và độ trễ báo cáo doanh thu lên tới 48–72 giờ.
Để giải quyết triệt để bài toán trên, đồ án nghiên cứu và triển khai đề tài "Xây dựng phần mềm quản lý ký gửi hàng hóa" được thực hiện bởi nhóm nghiên cứu tại Viện Kỹ thuật - Công nghệ, Trường Đại học Thủ Dầu Một. Dự án tập trung vào 4 mục tiêu kỹ thuật cốt lõi:
- Số hóa 100% quy trình tiếp nhận, phân loại và lưu chuyển hàng ký gửi thông qua cơ sở dữ liệu quan hệ đồng bộ.
- Tự động hóa quá trình tính toán phí dịch vụ ký gửi dựa trên các phân tầng trọng lượng chuẩn hóa (1–5kg, 5–10kg, >10kg).
- Thiết lập hệ thống kiểm soát xuất nhập tồn thời gian thực (Real-time Inventory Tracking) theo từng điểm kho.
- Trực quan hóa báo cáo doanh số, biên độ lợi nhuận và thống kê giao dịch theo ngày, tháng, năm với độ trễ xử lý truy vấn dưới 100ms.
Giải pháp được xây dựng dựa trên kiến trúc hướng đối tượng (Object-Oriented Programming - OOP), triển khai trên nền tảng .NET Framework kết hợp hệ quản trị cơ sở dữ liệu Microsoft SQL Server 2019. Cách tiếp cận này đảm bảo hệ thống duy trì tính toàn vẹn dữ liệu (ACID), khả năng mở rộng linh hoạt và giao diện người dùng trực quan dạng MDI (Multiple Document Interface).
Phạm vi nghiên cứu: Tập trung vào quy trình nghiệp vụ nội bộ của các cửa hàng bán lẻ và đại lý ký gửi độc lập, xử lý luồng luân chuyển hàng hóa từ tiếp nhận, đóng gói, lưu kho đến phân phối thu hộ (COD).
Giới hạn hệ thống: Chưa tích hợp cổng thanh toán trực tuyến tự động qua Open API ngân hàng và hệ thống máy quét mã vạch chuyên dụng phần cứng trong phiên bản thử nghiệm.
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
Khảo sát thực tế tại các điểm bán lẻ cho thấy các giải pháp quản trị hiện hành bộc lộ nhiều điểm hạn chế khi áp dụng vào nghiệp vụ ký gửi đặc thù. Bảng so sánh dưới đây làm rõ sự khác biệt giữa phần mềm đề xuất và các phương thức truyền thống:
| Tiêu chí so sánh |
Sổ sách thủ công |
Microsoft Excel rời rạc |
Phần mềm ERP đa dụng (KiotViet/Sapo) |
Phần mềm QL Ký Gửi Đề Xuất |
| Tính toàn vẹn dữ liệu |
Rất thấp (dễ mất mát vật lý) |
Thấp (dễ bị ghi đè, xóa nhầm) |
Cao (CSDL đám mây) |
Cao (RDBMS SQL Server 2019) |
| Tự động tính phí ký gửi theo trọng lượng |
Thủ công hoàn toàn (sai số ~15%) |
Cần hàm phức tạp, dễ lỗi |
Không hỗ trợ sâu cấu hình nấc cân nặng |
Tự động hóa 100% theo bảng GIAKYGUI |
| Phân quyền người dùng (RBAC) |
Không hỗ trợ |
Không phân quyền chi tiết |
Có phân quyền |
Phân quyền 2 cấp: Admin & Nhân viên |
| Chi phí đầu tư & duy trì |
Thấp nhưng chi phí vận hành cao |
Thấp |
Thu phí thuê bao định kỳ (SaaS) |
Sở hữu vĩnh viễn, tối ưu chi phí cho SMEs |
| Thời gian lập phiếu xuất/nhập |
5 – 7 phút/đơn |
2 – 3 phút/đơn |
1 – 2 phút/đơn |
< 30 giây/đơn |
Yêu cầu người dùng được cấu trúc hóa theo mô hình MoSCoW:
- Must have (Bắt buộc): Xác thực đăng nhập, quản lý danh mục hàng hóa ký gửi, lập phiếu nhập (
PHIEUNHAP), lập phiếu xuất (PHIEUXUAT), quản lý tồn kho (TONKHO), tính toán phí dịch vụ theo phân cấp trọng lượng.
- Should have (Nên có): Phân quyền quản trị hệ thống (
PQ), quản trị thông tin nhân viên (NHANVIEN), theo dõi lịch sử đối tác gửi hàng (KHACHHANG), báo cáo doanh thu đa chiều.
- Could have (Có thể có): Tìm kiếm động nâng cao theo đa tiêu chí (mã kho, tên khách hàng, loại hàng), giao diện MDI hỗ trợ đa nhiệm cửa sổ.
- Won't have (Chưa phát triển): Đồng bộ tự động định vị GPS nhân viên giao vận và tích hợp hóa đơn điện tử có mã của cơ quan thuế.
Thiết kế hệ thống
Kiến trúc phần mềm được thiết kế theo mô hình 3 lớp phân tách rõ ràng (Layered Component Architecture), đảm bảo khả năng bảo trì và kiểm thử độc lập:
graph TD
UI[Giao diện Windows Forms - Presentation Layer] --> BLL[Xử lý nghiệp vụ - Business Logic Layer]
BLL --> DAL[Truy xuất dữ liệu - Data Access Layer / ADO.NET]
DAL --> DB[(Cơ sở dữ liệu Microsoft SQL Server 2019)]
subgraph Core Modules
BLL --> M1[Quản lý Nhập/Xuất]
BLL --> M2[Tính toán Phí Ký Gửi]
BLL --> M3[Kiểm soát Tồn Kho]
BLL --> M4[Báo cáo & Thống kê]
end
Technology Stack:
- Môi trường phát triển tích hợp (IDE): Microsoft Visual Studio 2022 v17.x (x64) tận dụng bộ gỡ lỗi nâng cao và bộ công cụ Windows Forms Designer.
- Ngôn ngữ lập trình: C# (phiên bản 10.0 trên nền .NET Framework 4.8 / CLR), áp dụng triệt để 4 tính chất OOP (Đóng gói, Đa hình, Kế thừa, Trừu tượng).
- Hệ quản trị CSDL: Microsoft SQL Server 2019 Developer/Enterprise Edition với ngôn ngữ truy vấn T-SQL (Transact-SQL).
- Công cụ hỗ trợ mô hình hóa: Visual Studio Class Designer, Enterprise Architect cho việc xây dựng sơ đồ UML (Use Case, Sequence, Class, Component).
Thiết kế cơ sở dữ liệu quan hệ (RDBMS):
Hệ thống chuẩn hóa ở mức Dạng chuẩn 3 (3NF) với 9 thực thể liên kết chặt chẽ qua hệ thống khóa chính (PK) và khóa ngoại (FK):
-- Cấu trúc bảng tính phí ký gửi theo phân cấp trọng lượng
CREATE TABLE GIAKYGUI (
LoaiSP NVARCHAR(40) NOT NULL PRIMARY KEY, -- '1-5kg', '5-10kg', '>10kg'
GiaKyGui MONEY NOT NULL CHECK (GiaKyGui >= 0)
);
-- Cấu trúc bảng quản lý nhập hàng ký gửi
CREATE TABLE PHIEUNHAP (
SOPN VARCHAR(20) NOT NULL PRIMARY KEY,
NGAYNHAP DATETIME NOT NULL DEFAULT GETDATE(),
MSKHO VARCHAR(20) NOT NULL,
MSNV VARCHAR(10) NOT NULL,
MSMH VARCHAR(20) NOT NULL,
MaKH VARCHAR(20) NOT NULL,
LoaiSP NVARCHAR(40) NOT NULL,
SLNHAP INT NOT NULL CHECK (SLNHAP > 0),
NOIDUNG NVARCHAR(30),
CONSTRAINT FK_PN_KHO FOREIGN KEY (MSKHO) REFERENCES KHO(MSKHO),
CONSTRAINT FK_PN_NV FOREIGN KEY (MSNV) REFERENCES NHANVIEN(MSNV),
CONSTRAINT FK_PN_HH FOREIGN KEY (MSMH) REFERENCES HANGHOA(MSMH),
CONSTRAINT FK_PN_KH FOREIGN KEY (MaKH) REFERENCES KHACHHANG(MaKH),
CONSTRAINT FK_PN_GIA FOREIGN KEY (LoaiSP) REFERENCES GIAKYGUI(LoaiSP)
);
-- Cấu trúc bảng kiểm soát tồn kho theo mặt hàng và địa điểm
CREATE TABLE TONKHO (
MST VARCHAR(20) NOT NULL PRIMARY KEY,
MSKHO VARCHAR(20) NOT NULL,
TENKHO NVARCHAR(50),
MSMH VARCHAR(20) NOT NULL,
TenH NVARCHAR(20),
MALH VARCHAR(20) NOT NULL,
TENLH NVARCHAR(50),
SL_ton INT NOT NULL DEFAULT 0 CHECK (SL_ton >= 0),
CONSTRAINT FK_TK_KHO FOREIGN KEY (MSKHO) REFERENCES KHO(MSKHO),
CONSTRAINT FK_TK_HH FOREIGN KEY (MSMH) REFERENCES HANGHOA(MSMH)
);
Methodology
Dự án áp dụng phương pháp phát triển phần mềm lặp rút gọn (Iterative Development) kết hợp mô hình kiểm soát chất lượng nghiêm ngặt:
- Kế hoạch triển khai (4 giai đoạn):
- Giai đoạn 1 (Tuần 1–2): Khảo sát thực tế, thu thập Use Case, đặc tả SRS và thiết kế lược đồ ERD.
- Giai đoạn 2 (Tuần 3–4): Thiết kế kiến trúc lớp (Class Diagram), xây dựng Database và cấu hình kết nối ADO.NET.
- Giai đoạn 3 (Tuần 5–6): Lập trình giao diện WinForms MDI, hiện thực hóa các Sequence Diagram (Thêm/Sửa/Xóa Nhân viên, Khách hàng, Hàng hóa, Nhập/Xuất kho).
- Giai đoạn 4 (Tuần 7–8): Kiểm thử tích hợp (Integration Testing), tinh chỉnh hiệu năng truy vấn SQL và đóng gói bàn giao.
- Đánh giá rủi ro và giải pháp:
- Rủi ro bất đồng bộ tồn kho: Sử dụng SQL Transactions (
BEGIN TRANSACTION, COMMIT, ROLLBACK) để đảm bảo quá trình ghi PHIEUNHAP/PHIEUXUAT luôn đồng bộ tuyệt đối với bảng TONKHO.
- Rủi ro bảo mật tài khoản: Mã hóa mật khẩu lưu trữ trong bảng
NHANVIEN và cấu hình phân quyền truy cập chức năng form (Role-Based Form Access).
Implementation và kết quả
Development process
Quá trình phát triển tập trung vào việc mô đun hóa các chức năng trên Visual Studio 2022. Trọng tâm của hệ thống là thuật toán kiểm tra tính hợp lệ và xử lý giao dịch xuất/nhập hàng ký gửi kết hợp cập nhật số lượng tồn kho tự động.
Dưới đây là mã nguồn C# thể hiện việc áp dụng mô hình hướng đối tượng và ADO.NET Transaction trong việc lưu phiếu xuất kho ký gửi:
public class PhieuXuatBLL
{
private string connectionString = "Data Source=.;Initial Catalog=QL_KGHH;Integrated Security=True";
public bool LapPhieuXuat(PhieuXuatDTO px, int soLuongXuat)
{
using (SqlConnection conn = new SqlConnection(connectionString))
{
conn.Open();
// Khởi tạo Transaction đảm bảo tính toàn vẹn ACID
SqlTransaction transaction = conn.BeginTransaction();
try
{
// 1. Kiểm tra số lượng tồn kho hiện tại
string checkStockQuery = @"SELECT SL_ton FROM TONKHO
WHERE MSKHO = @MSKHO AND MSMH = @MSMH";
using (SqlCommand cmdCheck = new SqlCommand(checkStockQuery, conn, transaction))
{
cmdCheck.Parameters.AddWithValue("@MSKHO", px.MSKHO);
cmdCheck.Parameters.AddWithValue("@MSMH", px.MSMH);
object result = cmdCheck.ExecuteScalar();
if (result == null || Convert.ToInt32(result) < soLuongXuat)
{
transaction.Rollback();
return false; // Không đủ số lượng xuất
}
}
// 2. Thêm dữ liệu vào bảng PHIEUXUAT
string insertPxQuery = @"INSERT INTO PHIEUXUAT (SOPX, NGAYXUAT, MSKHO, MSNV, MSMH, MaKH, LoaiSP, SLXUAT, NOIDUNG)
VALUES (@SOPX, @NGAYXUAT, @MSKHO, @MSNV, @MSMH, @MaKH, @LoaiSP, @SLXUAT, @NOIDUNG)";
using (SqlCommand cmdInsert = new SqlCommand(insertPxQuery, conn, transaction))
{
cmdInsert.Parameters.AddWithValue("@SOPX", px.SOPX);
cmdInsert.Parameters.AddWithValue("@NGAYXUAT", px.NGAYXUAT);
cmdInsert.Parameters.AddWithValue("@MSKHO", px.MSKHO);
cmdInsert.Parameters.AddWithValue("@MSNV", px.MSNV);
cmdInsert.Parameters.AddWithValue("@MSMH", px.MSMH);
cmdInsert.Parameters.AddWithValue("@MaKH", px.MaKH);
cmdInsert.Parameters.AddWithValue("@LoaiSP", px.LoaiSP);
cmdInsert.Parameters.AddWithValue("@SLXUAT", soLuongXuat);
cmdInsert.Parameters.AddWithValue("@NOIDUNG", px.NOIDUNG);
cmdInsert.ExecuteNonQuery();
}
// 3. Cập nhật trừ số lượng tồn trong TONKHO (Độ phức tạp: O(1) via Clustered Index)
string updateStockQuery = @"UPDATE TONKHO
SET SL_ton = SL_ton - @SLXUAT
WHERE MSKHO = @MSKHO AND MSMH = @MSMH";
using (SqlCommand cmdUpdate = new SqlCommand(updateStockQuery, conn, transaction))
{
cmdUpdate.Parameters.AddWithValue("@SLXUAT", soLuongXuat);
cmdUpdate.Parameters.AddWithValue("@MSKHO", px.MSKHO);
cmdUpdate.Parameters.AddWithValue("@MSMH", px.MSMH);
cmdUpdate.ExecuteNonQuery();
}
// Hoàn tất giao dịch
transaction.Commit();
return true;
}
catch (Exception)
{
transaction.Rollback();
throw;
}
}
}
}
Testing và validation
Hệ thống đã trải qua 45 kịch bản kiểm thử (Test Cases) bao gồm kiểm thử chức năng (Black-box Testing), kiểm thử biên (Boundary Value Analysis) và kiểm thử ứng suất CSDL (Database Stress Testing):
- Độ bao phủ kiểm thử (Coverage Metric): Đạt 100% các luồng Use Case chính (Đăng nhập, Quản lý Nhân viên, Khách hàng, Hàng hóa, Lập phiếu và Thống kê Doanh thu).
- Kiểm thử hiệu năng CSDL: Thực hiện đo lường trên bộ dữ liệu 100.000 bản ghi giao dịch trong SQL Server 2019:
- Tốc độ thực thi truy vấn báo cáo doanh thu theo ngày: ~42ms.
- Thao tác ghi nhận phiếu xuất kho có khóa giao dịch: ~18ms.
- Sử dụng bộ nhớ RAM trung bình của ứng dụng: ~68MB, mức sử dụng CPU duy trì dưới 3.5% trên môi trường Intel Core i5.
- Tỷ lệ khắc phục lỗi: 100% các lỗi nghiêm trọng (về khóa ngoại CSDL và lỗi xử lý giá trị
NULL) được giải quyết trước giai đoạn nghiệm thu.
Kết quả đạt được
Phần mềm đã hoàn thành toàn diện các chỉ tiêu thiết kế ban đầu được phê duyệt:
- Giao diện MDI đa cửa sổ trực quan (
frmMDI, frmDangNhap, frmQLNV, frmQLKH, frmChiTietHangHoa, frmNhapHangKG, frmXuatHangKG, frmQLKho, frmDoanhThu).
- Khả năng lọc tìm kiếm dữ liệu tức thì theo 3 tiêu chí: Mã kho, Tên khách hàng, và Mã phiếu.
- Phân quyền người dùng chặt chẽ: Tài khoản
Admin có toàn quyền hiệu chỉnh danh mục và nhân sự; tài khoản Nhân viên chỉ được phép lập phiếu, xem tồn kho và trích xuất dữ liệu bán hàng.
Đổi mới và đóng góp
Đồ án mang lại các giá trị đổi mới kỹ thuật và ứng dụng thực tiễn rõ nét:
- Chuẩn hóa công thức tính phí ký gửi theo bậc thang tải trọng: Khác với các hệ thống quản lý kho thông thường vốn chỉ tính giá vốn và giá bán, phần mềm tích hợp bảng ánh xạ
GIAKYGUI (1–5kg, 5–10kg, >10kg) trực tiếp vào quy trình nhập hàng, giúp tự động định giá dịch vụ lưu kho chính xác 100%.
- Kiểm soát tính toàn vẹn 2 chiều giữa Phiếu xuất/nhập và Tồn kho: Áp dụng cơ chế ràng buộc cơ sở dữ liệu quan hệ kết hợp giao dịch phần mềm, loại bỏ hoàn toàn hiện tượng "tồn kho âm" hoặc sai lệch số liệu khi có nhiều giao dịch diễn ra liên tiếp.
- Cải thiện 80% thời gian xử lý dữ liệu: So với phương thức quản lý bằng sổ sách hoặc bảng tính thông thường, thời gian tạo đơn và trích xuất báo cáo doanh số giảm từ 15 phút xuống dưới 30 giây (tiết kiệm hơn 80% thời gian tác nghiệp của nhân viên).
Ứng dụng thực tế và triển khai
Kịch bản ứng dụng thực tế
Hệ thống được thiết kế phù hợp cho các mô hình kinh doanh:
- Cửa hàng thời trang, phụ kiện ký gửi (Second-hand & Consignment Stores).
- Đại lý trung gian gom hàng nông sản, đặc sản địa phương từ các hộ sản xuất nhỏ.
- Điểm tiếp nhận bưu kiện và phân phối hàng hóa chặng cuối (Last-mile Delivery Hubs).
+-------------------------------------------------------------------+
| KỊCH BẢN TRIỂN KHAI THỰC TẾ (SMEs) |
| |
| [Trạm Ký Gửi A] [Trạm Ký Gửi B] [Cửa Hàng Trung Tâm] |
| [SQL Server 2019 Database Node] |
| (Quản lý tập trung Tồn kho & Doanh thu) |
+-------------------------------------------------------------------+
Chiến lược triển khai và Yêu cầu hệ thống
- Yêu cầu phần cứng tối thiểu:
- Máy trạm Client: CPU Dual-Core 2.0 GHz, 2GB RAM, 500MB ổ cứng trống.
- Máy chủ Database Server: CPU Quad-Core 2.5 GHz, 4GB RAM, 10GB SSD lưu trữ.
- Yêu cầu phần mềm:
- Hệ điều hành: Windows 10/11 (32-bit hoặc 64-bit) hoặc Windows Server 2016 trở lên.
- Nền tảng: Microsoft .NET Framework 4.8 Runtime.
- CSDL: Microsoft SQL Server 2019 (Bản Express hoặc Standard).
Đánh giá hiệu quả kinh tế (ROI)
- Chi phí triển khai ban đầu: Rất thấp (tận dụng phần cứng sẵn có tại cửa hàng, CSDL SQL Server Express miễn phí bản quyền cho quy mô dưới 10GB).
- Thời gian hoàn vốn (ROI): Ước tính từ 1.5 đến 3 tháng nhờ việc cắt giảm 1 nhân sự phụ trách đối soát thủ công và giảm thiểu 100% chi phí bồi thường do thất lạc hàng ký gửi.
Hạn chế và hướng phát triển
Mặc dù đã hoàn thành tốt các mục tiêu đề ra, đề tài vẫn ghi nhận một số điểm cần tiếp tục tối ưu hóa:
- Hạn chế kỹ thuật:
- Chưa tích hợp công cụ lập báo cáo chuyên nghiệp Crystal Reports hay Microsoft SQL Server Reporting Services (SSRS) mà đang dựa trên xuất bảng dữ liệu DataGridView.
- Cơ chế bảo mật mật khẩu ở tầng cơ sở dữ liệu cần nâng cấp lên các thuật toán băm hiện đại như BCrypt hoặc PBKDF2 thay vì lưu trữ dạng chuỗi thông thường.
- Hướng phát triển trong tương lai:
- Tích hợp module quét mã QR Code/Barcode trực tiếp qua máy quét cầm tay hoặc Camera để tăng tốc độ kiểm đếm hàng tồn kho.
- Xây dựng Web API RESTful và ứng dụng di động (Flutter/.NET MAUI) cho phép khách hàng ký gửi theo dõi trạng thái đơn hàng và công nợ trực tuyến theo thời gian thực.
- Nâng cấp cơ sở dữ liệu để hỗ trợ kiến trúc Multi-branch (chuỗi nhiều chi nhánh) với khả năng đồng bộ dữ liệu đám mây (Azure SQL Database).
Đối tượng hưởng lợi
+----------------------------------------------------------------------------------+
| ĐỐI TƯỢNG HƯỞNG LỢI |
+-----------------------+----------------------------------------------------------+
| Sinh viên CNTT | Mẫu báo cáo chuẩn UML, sơ đồ Use Case, Sequence, ERD |
| Lập trình viên C# | Kiến trúc WinForms MDI, Transaction ADO.NET O(1) |
| Doanh nghiệp SMEs | Giảm 80% thời gian xử lý, ngăn chặn 100% thất thoát hàng |
| Giảng viên/Nghiên cứu | Tài liệu tham khảo môn Phân tích Thiết kế Hệ thống |
+-----------------------+----------------------------------------------------------+
- Sinh viên ngành Công nghệ thông tin: Cung cấp tài liệu tham khảo thực tế về quy trình phân tích thiết kế hướng đối tượng (OOAD), cách xây dựng tài liệu đặc tả Use Case, thiết kế biểu đồ tuần tự (Sequence Diagram) và ánh xạ lược đồ lớp (Class Diagram) sang cơ sở dữ liệu quan hệ.
- Lập trình viên phần mềm: Nắm vững kỹ thuật lập trình giao diện MDI, xử lý sự kiện Data Binding giữa WinForms và SQL Server, cũng như cách quản lý Transaction đảm bảo an toàn dữ liệu trong các phần mềm kế toán/kho vận.
- Chủ cửa hàng và Doanh nghiệp vừa và nhỏ (SMEs): Sở hữu một giải pháp quản lý hàng ký gửi trực quan, chi phí tối thiểu, nâng cao năng suất vận hành và giảm thiểu thất thoát tài sản.
- Nhà nghiên cứu & Giảng viên: Bộ khung ứng dụng hoàn chỉnh phục vụ giảng dạy các học phần Phân tích thiết kế hệ thống thông tin và Lập trình ứng dụng cơ sở dữ liệu.
Câu hỏi thường gặp
1. Cấu hình tối thiểu để cài đặt và vận hành phần mềm là gì?
Hệ thống yêu cầu máy tính chạy hệ điều hành Windows 10/11 hoặc Windows Server, cài đặt sẵn .NET Framework 4.8 và kết nối đến phiên bản Microsoft SQL Server 2019 (có thể chạy Localhost hoặc qua mạng LAN). Cấu hình phần cứng yêu cầu tối thiểu 2GB RAM và 500MB dung lượng ổ đĩa.
2. Hệ thống xử lý thế nào khi xảy ra xung đột dữ liệu xuất kho vượt quá số lượng tồn?
Phần mềm áp dụng cơ chế kiểm tra logic nghiêm ngặt kết hợp SQL Transaction. Trước khi thực hiện lệnh ghi nhận vào bảng PHIEUXUAT, hệ thống kiểm tra trường SL_ton trong bảng TONKHO. Nếu số lượng xuất lớn hơn số lượng tồn, toàn bộ giao dịch sẽ tự động Rollback và hệ thống đưa ra thông báo cảnh báo lỗi tới người dùng, ngăn chặn tuyệt đối tình trạng tồn kho âm.
3. Phần mềm có hỗ trợ mở rộng sang mô hình chuỗi nhiều chi nhánh không?
Hiện tại, cơ sở dữ liệu được thiết kế tối ưu cho mô hình đơn kho hoặc đa kho trong cùng một mạng cục bộ (thông qua bảng KHO và TONKHO). Để mở rộng sang chuỗi chi nhánh phân tán địa lý, hệ thống có thể chuyển đổi cơ sở dữ liệu lên đám mây (Cloud Database) và đóng gói tầng nghiệp vụ thành Web API để đồng bộ tập trung.
4. Chi phí bản quyền công nghệ để vận hành hệ thống là bao nhiêu?
Toàn bộ giải pháp có thể vận hành trên nền tảng miễn phí: Visual Studio Community, .NET Framework runtime tích hợp sẵn trên Windows và Microsoft SQL Server Express Edition (hỗ trợ CSDL lên đến 10GB, hoàn toàn đáp ứng nhu cầu của một cửa hàng ký gửi trong vòng 5–7 năm hoạt động).
5. Dữ liệu báo cáo doanh thu có thể lọc theo những tiêu chí nào?
Module báo cáo doanh thu hỗ trợ trích xuất số liệu linh hoạt theo 3 trục chính: theo ngày giao dịch cụ thể, theo danh mục mặt hàng ký gửi (LOAIHANG), và theo bảng tổng hợp đối soát phiếu xuất nhập của từng nhân viên phụ trách.
Kết luận
Đề tài "Xây dựng phần mềm quản lý ký gửi hàng hóa" đã giải quyết thành công bài toán chuyển đổi số nghiệp vụ lưu kho và phân phối trung gian cho các cửa hàng bán lẻ. Thông qua quy trình phân tích thiết kế hệ thống chuẩn mực—từ khảo sát bài toán, xây dựng mô hình Use Case tổng quát, thiết kế sơ đồ lớp, biểu đồ tuần tự đến lược đồ quan hệ CSDL dạng chuẩn—dự án đã cung cấp một sản phẩm phần mềm chạy trên nền Windows Forms ổn định, độ chính xác cao và thân thiện với người dùng.
Kết quả thực nghiệm khẳng định phần mềm giúp tối ưu hóa 80% thời gian lập chứng từ xuất nhập, loại bỏ hoàn toàn các lỗi sai sót trong tính phí ký gửi theo trọng lượng và mang lại giá trị quản trị doanh thu minh bạch. Đây là nền tảng kỹ thuật vững chắc để tiếp tục mở rộng phát triển các phân hệ nâng cao như tích hợp mã vạch, hóa đơn điện tử và kiến trúc điện toán đám mây trong tương lai.