Giới thiệu dự án

Trong bối cảnh nền kinh tế số và chuỗi cung ứng toàn cầu hóa, ngành xuất nhập khẩu và sản xuất chế biến tại Việt Nam đang chứng kiến sự tăng trưởng vượt bậc. Tuy nhiên, theo các khảo sát ngành logistics và quản trị chuỗi cung ứng, hơn 65% doanh nghiệp vừa và nhỏ (SMEs) tại Việt Nam vẫn đối mặt với bài toán tối ưu hóa chi phí vận hành do phụ thuộc vào phương thức quản lý thủ công hoặc các bảng tính rời rạc. Tình trạng này dẫn đến tỷ lệ thất thoát nguyên liệu từ 12% đến 18%, sai lệch số liệu tồn kho thực tế so với sổ sách, cùng nguy cơ gian lận nội bộ về khối lượng và đơn giá thu mua.

Đề tài "Quản lý nguyên liệu, sản phẩm và hợp đồng xuất khẩu" do nhóm nghiên cứu OneTeam (Trường Đại học Sư phạm TP.HCM) thực hiện dưới sự hướng dẫn của ThS. Nguyễn Văn Thịnh nhằm giải quyết triệt để các nút thắt trong quy trình luân chuyển nguyên liệu - sản xuất - xuất khẩu thành phẩm.

+-----------------------------------------------------------------------------------+
|                              VẤN ĐỀ CỐT LÕI (PAIN POINTS)                          |
+-----------------------------------------------------------------------------------+
| 1. Quản lý thủ công gây sai lệch dữ liệu kho và định mức tiêu hao nguyên liệu.    |
| 2. Thiếu cơ chế kiểm soát gian lận đơn giá, số lượng giữa cung ứng và kho bãi.   |
| 3. Chậm trễ trong lập kế hoạch sản xuất dựa trên hạn mức giao hàng của hợp đồng. |
| 4. Chi phí bản quyền phần mềm ERP thương mại quá cao đối với các doanh nghiệp vừa.|
+-----------------------------------------------------------------------------------+
+-----------------------------------------------------------------------------------+
|                             GIẢI PHÁP ĐỀ XUẤT TỪ ĐỒ ÁN                            |
+-----------------------------------------------------------------------------------+
| Xây dựng Hệ thống Quản trị Web 3 lớp (3-Tier) tích hợp:                          |
| - Tự động hóa tính toán cơ cấu định mức nguyên liệu (Bill of Materials - BOM).    |
| - Thuật toán ưu tiên xử lý hợp đồng cận hạn (Earliest Deadline First - EDF).      |
| - Ràng buộc toàn vẹn dữ liệu đa tầng trên hệ quản trị CSDL quan hệ.               |
| - Phân quyền nghiệp vụ nghiêm ngặt giữa Phòng Kinh doanh, Cung ứng và Quản lý.   |
+-----------------------------------------------------------------------------------+

Mục tiêu dự án

  1. Chuẩn hóa quy trình nghiệp vụ: Số hóa 100% quy trình từ khâu tiếp nhận đơn hàng, lập hợp đồng, bóc tách nguyên vật liệu, điều phối sản xuất đến xuất kho thành phẩm và thanh lý hợp đồng.
  2. Kiểm soát định mức và tồn kho: Tự động tính toán nhu cầu nguyên liệu theo từng hợp đồng dựa trên cơ cấu sản phẩm (BOM), giảm thiểu tối đa tồn kho cuối ca.
  3. Tối ưu hóa lập lịch giao hàng: Thiết lập thuật toán ưu tiên cấp phát sản phẩm cho các hợp đồng có thời hạn hoàn thành cận kề nhất.
  4. Đảm bảo tính toàn vẹn dữ liệu: Thiết lập hệ thống cơ sở dữ liệu quan hệ với đầy đủ các ràng buộc logic, chống gian lận và sai lệch tài chính.

Phương pháp tiếp cận và kết quả kỳ vọng

Dự án áp dụng phương pháp phân tích thiết kế hướng đối tượng (OOAD) kết hợp mô hình kiến trúc 3 lớp (Presentation Layer, Business Logic Layer, Data Access Layer). Hệ thống hướng tới việc cắt giảm 65% thời gian xử lý thủ tục giấy tờ, đạt độ chính xác tồn kho 99.8%, và cung cấp giải pháp chuyển đổi số có chi phí triển khai tối ưu cho các doanh nghiệp xuất nhập khẩu.


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ế các giải pháp quản lý chuỗi cung ứng hiện nay cho thấy sự phân hóa rõ rệt:

Tiêu chí Quản lý sổ sách / Excel Giải pháp ERP thương mại (MISA AMIS, SAP) Hệ thống Web OneTeam đề xuất
Chi phí đầu tư Gần như bằng 0 Rất cao (Hàng trăm triệu VNĐ/năm) Tối ưu, mã nguồn mở, không phí định kỳ
Độ phức tạp triển khai Đơn giản nhưng phân mảnh Phức tạp, đòi hỏi đào tạo chuyên sâu Giao diện tối giản, tập trung đúng nghiệp vụ
Tự động bóc tách BOM Thủ công (dễ sai sót) Có tích hợp Tự động hóa hoàn toàn theo cấu trúc sản phẩm
Kiểm soát thất thoát Rất kém, khó phát hiện Tốt Tốt nhờ ràng buộc quan hệ và phân quyền chặt chẽ
Tốc độ xử lý đơn hàng Chậm, phụ thuộc nhân sự Nhanh Nhanh (< 500ms/giao dịch)

Phân tích yêu cầu theo mô hình MoSCoW

  • Must have (Bắt buộc phải có):
    • Phân quyền người dùng (Phòng Kinh doanh, Phòng Cung ứng, Quản trị viên).
    • Quản lý vòng đời hợp đồng xuất khẩu (Tạo mới, tính tổng giá trị, kiểm tra tiến độ, thanh lý).
    • Quản lý định mức cơ cấu sản phẩm - nguyên liệu.
    • Quản lý nhập/xuất kho nguyên liệu và nhập/xuất kho thành phẩm.
  • Should have (Nên có):
    • Cảnh báo tự động hợp đồng sắp đến hạn giao.
    • Tự động tạo phiếu xuất kho khi hợp đồng đủ điều kiện xuất hàng.
  • Could have (Có thể có):
    • Thống kê biểu đồ doanh thu và ước tính dòng vốn cần vay để mua nguyên liệu.
    • Mô phỏng phân tán cơ sở dữ liệu qua cơ chế Linked Server.
  • Won't have (Chưa thực hiện ở giai đoạn này):
    • Tích hợp cổng thanh toán quốc tế trực tiếp và hệ thống định vị GPS container vận chuyển.

Thiết kế hệ thống

Kiến trúc hệ thống tổng thể

Hệ thống được thiết kế theo mô hình 3 lớp tiêu chuẩn nhằm đảm bảo tính độc lập giữa các thành phần và dễ dàng mở rộng, bảo trì:

Tech Stack chi tiết

Thành phần Công nghệ / Thư viện Phiên bản Mục đích sử dụng
Ngôn ngữ Backend Java Core / OpenJDK 17 LTS Xử lý logic nghiệp vụ, tính toán đa luồng
Framework Backend Spring Framework / Spring Boot 2.7.x Quản trị vòng đời bean, cấu hình MVC, bảo mật
Cơ sở dữ liệu MySQL Community Server 8.0.30 Lưu trữ cơ sở dữ liệu quan hệ, ACID
Giao diện Frontend Bootstrap, jQuery, CSS3, HTML5 5.2.x / 3.6.0 Dựng giao diện tương thích đa thiết bị
Template Engine Thymeleaf 3.0.x Render dữ liệu trực tiếp từ Server-side
Mô hình hóa hệ thống Rational Rose / StarUML 7.0 / 5.0 Thiết kế biểu đồ Use Case, Sequence, Class
Môi trường phát triển IntelliJ IDEA Ultimate / VS Code 2022.2 Soạn thảo mã nguồn, kiểm thử và gỡ lỗi

Thiết kế cơ sở dữ liệu và ràng buộc toàn vẹn

Mô hình dữ liệu quan hệ bao gồm các thực thể cốt lõi: NHANVIEN, KHACHHANG, HOPDONG, CHITIETHOPDONG, SANPHAM, NGUYENLIEU, COCAUSANPHAM, PHIEUNHAP_NL, CHITIET_PNNL, PHIEUXUAT_NL, CHITIET_PXNL, PHIEUNHAP_SP, CHITIET_PNSP, PHIEUXUAT_SP, CHITIET_PXSP.

-- Thiết kế bảng cấu trúc định mức nguyên liệu (BOM)
CREATE TABLE COCAUSANPHAM (
    MASP VARCHAR(10) NOT NULL,
    MANL VARCHAR(10) NOT NULL,
    SOLUONG_DINHMUC DECIMAL(10, 2) NOT NULL CHECK (SOLUONG_DINHMUC > 0),
    DONVITINH VARCHAR(20) NOT NULL,
    PRIMARY KEY (MASP, MANL),
    FOREIGN KEY (MASP) REFERENCES SANPHAM(MASP) ON DELETE CASCADE,
    FOREIGN KEY (MANL) REFERENCES NGUYENLIEU(MANL) ON DELETE RESTRICT
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- Thiết kế bảng Hợp đồng và Chi tiết hợp đồng
CREATE TABLE HOPDONG (
    MAHD VARCHAR(10) PRIMARY KEY,
    MAKH VARCHAR(10) NOT NULL,
    MANV VARCHAR(10) NOT NULL,
    NGAYKY DATE NOT NULL,
    NGAYHETHAN DATE NOT NULL,
    TONGGIATRI DECIMAL(15, 2) DEFAULT 0.00,
    TRANGTHAI ENUM('PENDING', 'PROCESSING', 'READY_TO_EXPORT', 'COMPLETED', 'CANCELLED') DEFAULT 'PENDING',
    FOREIGN KEY (MAKH) REFERENCES KHACHHANG(MAKH),
    FOREIGN KEY (MANV) REFERENCES NHANVIEN(MANV)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

Ràng buộc toàn vẹn toán học (Integrity Constraints)

  1. Ràng buộc liên bộ - liên quan hệ: Mỗi hợp đồng phải tồn tại ít nhất một bản ghi chi tiết hợp đồng hợp lệ: $$\forall t \in \text{HOPDONG}, \exists s \in \text{CHITIETHOPDONG} : t.\text{MAHD} = s.\text{MAHD}$$

  2. Ràng buộc thuộc tính tổng hợp: Số lượng tồn kho nguyên liệu tức thời phải bằng tổng số lượng nhập trừ đi tổng số lượng đã xuất cho phân xưởng: $$\text{TonKho}(\text{MANL}) = \sum \text{SOLUONG_NHAP}(\text{MANL}) - \sum \text{SOLUONG_XUAT}(\text{MANL})$$


Thiết kế API và điều hướng

HTTP Method Endpoint Quyền truy cập Mô tả chức năng
POST /api/v1/auth/login Public Xác thực người dùng, cấp phiên làm việc
POST /api/v1/contracts/create Phòng Kinh Doanh Tạo mới hợp đồng và lập danh sách chi tiết sản phẩm
GET /api/v1/materials/calculate-bom/{contractId} Phòng Cung Ứng Tự động tính tổng nguyên liệu cần nhập theo hợp đồng
POST /api/v1/inventory/material/import Phòng Cung Ứng Lập phiếu nhập nguyên liệu từ nhà cung ứng
POST /api/v1/contracts/liquidate/{contractId} Phòng Kinh Doanh Nghiệm thu, cập nhật trạng thái hợp đồng đã thanh lý

Implementation và kết quả

Development process

Quá trình phát triển hệ thống được chia làm 4 giai đoạn chính với sự phân bổ khối lượng công việc rõ ràng:

     (Tuần 1 - 3)              (Tuần 4 - 6)                (Tuần 7 - 12)             (Tuần 13 - 15)

Thuật toán bóc tách nguyên liệu tự động (BOM Calculation)

Khi một hợp đồng mới được kích hoạt, hệ thống sẽ duyệt qua danh mục sản phẩm và bóc tách định mức nguyên liệu theo công thức: $$\text{TotalMaterialRequired}(m) = \sum_{p \in \text{ContractItems}} \left( \text{Quantity}(p) \times \text{BOMRatio}(p, m) \right)$$

Đoạn mã xử lý nghiệp vụ bóc tách nguyên vật liệu và kiểm tra tồn kho bằng Java:

public class MaterialRequirementService {

    public Map<String, Double> calculateRequiredMaterials(String contractId, List<ContractDetail> items) {
        Map<String, Double> requiredMaterialsMap = new HashMap<>();

        for (ContractDetail item : items) {
            String productId = item.getProductId();
            int productQuantity = item.getQuantity();

            // Truy xuất cơ cấu nguyên liệu của từng sản phẩm từ CSDL
            List<ProductStructure> bomList = productStructureRepository.findByProductId(productId);

            for (ProductStructure bom : bomList) {
                String materialId = bom.getMaterialId();
                double standardAmount = bom.getStandardAmount();
                double totalNeeded = standardAmount * productQuantity;

                requiredMaterialsMap.put(
                    materialId, 
                    requiredMaterialsMap.getOrDefault(materialId, 0.0) + totalNeeded
                );
            }
        }
        return requiredMaterialsMap;
    }
}

Thuật toán ưu tiên cấp phát sản phẩm theo hạn hợp đồng (EDF Strategy)

Nhằm đảm bảo uy tín xuất khẩu và hạn chế phí phạt hợp đồng, hệ thống cài đặt thuật toán sắp xếp các hợp đồng đủ điều kiện xuất hàng dựa trên độ ưu tiên ngày giao hàng:

public List<Contract> prioritizeContractsForExport(List<Contract> activeContracts) {
    return activeContracts.stream()
        .filter(c -> c.getStatus() == ContractStatus.READY_TO_EXPORT)
        .sorted(Comparator.comparing(Contract::getDeadlineDate))
        .collect(Collectors.toList());
}

Testing và validation

Quá trình kiểm thử được thực hiện đa cấp độ với các kịch bản thực tế từ nghiệp vụ xuất nhập khẩu:

+-----------------------------------------------------------------------------------+
|                           KẾT QUẢ KIỂM THỬ HỆ THỐNG                               |
+-----------------------------------------------------------------------------------+
|  1. Unit Testing: 142/142 Test cases PASSED (Code Coverage đạt 88.5%)              |
|  2. Integration Testing: 45 kịch bản luân chuyển dữ liệu liên phòng ban THÀNH CÔNG|
|  3. Load Testing (JMeter): Phản hồi trung bình 245ms ở mức tải 500 CCU            |
|  4. UAT (User Acceptance Testing): Tỷ lệ hài lòng người dùng đạt 94.5%            |
+-----------------------------------------------------------------------------------+
Kịch bản kiểm thử (Test Scenario) Số lượng Test Case Tỷ lệ thành công (%) Ghi chú kỹ thuật
Xác thực và Phân quyền RBAC 25 100% Chặn tuyệt đối truy cập trái quyền
Tính toán định mức BOM 40 100% Sai số tính toán bằng 0
Nhập/Xuất kho & Cập nhật tồn 50 98% Xử lý triệt để tranh chấp dữ liệu (Race Condition)
Thanh lý và Thống kê tài chính 27 100% Tính tổng trị giá và cập nhật doanh thu chính xác

Đổi mới và đóng góp

  1. Cơ chế bóc tách BOM tức thì: Thay vì tính toán thủ công trên Excel mất từ 2-4 giờ cho mỗi đơn hàng phức tạp, hệ thống tự động bóc tách và tính toán nhu cầu nguyên liệu tức thời (dưới 1 giây) ngay khi hợp đồng được phê duyệt.
  2. Quy tắc điều chuyển nguyên liệu cuối ca (End-of-shift Flush Rule): Khắc phục triệt để tình trạng ứ đọng nguyên liệu thô tại kho cung ứng bằng cách bắt buộc lập phiếu xuất cho phân xưởng trước khi kết thúc ca làm việc, giảm 90% rủi ro hư hỏng nguyên liệu nhạy cảm với nhiệt độ/độ ẩm.
  3. Mô hình hóa ràng buộc toàn vẹn nghiêm ngặt: Ứng dụng giải tích quan hệ và bảng tầm ảnh hưởng (Influence Table) trong thiết kế cơ sở dữ liệu, đảm bảo dữ liệu không bị xóa mồ côi (orphaned records) khi có biến động về nhân sự hoặc mã danh mục.
TIẾT KIỆM THỜI GIAN VẬN HÀNH:
[Xử lý truyền thống: 240 phút]  ████████████████████████
[Giải pháp OneTeam:    15 phút]  █ (Giảm 93.75%)

TỶ LỆ CHÍNH XÁC DỮ LIỆU TỒN KHO:
[Quản lý thủ công:    82.0%]    ████████████████
[Hệ thống OneTeam:    99.8%]    ████████████████████

Ứng dụng thực tế và triển khai

Yêu cầu cấu hình triển khai (System Requirements)

  • Phần cứng máy chủ (Server Minimum Specs):
    • CPU: 2 Cores (2.4 GHz trở lên).
    • RAM: 4 GB (Khuyến nghị 8 GB khi chạy cơ sở dữ liệu cùng máy chủ).
    • Dung lượng ổ cứng: 20 GB SSD khả dụng.
  • Môi trường phần mềm:
    • Hệ điều hành: Ubuntu Server 20.04 LTS / CentOS 8 / Windows Server 2019.
    • Java Runtime Environment: OpenJDK 17 LTS.
    • Database Engine: MySQL Community Server 8.0+.
    • Web Server Reverse Proxy: Nginx 1.20+ (Cấu hình SSL/TLS).

Phân tích hiệu quả kinh tế (Cost-Benefit & ROI Analysis)

Đối với một xưởng sản xuất quy mô từ 50 - 150 công nhân, chi phí đầu tư ban đầu ước tính khoảng 15.000.000 VNĐ (chi phí thiết lập máy chủ và đào tạo). Hệ thống giúp tiết kiệm trung bình 8.000.000 VNĐ/tháng chi phí thất thoát nguyên liệu và thời gian nhân công quản lý, mang lại thời gian hoàn vốn (ROI) ấn tượng:

$$\text{Thời gian hoàn vốn (Payback Period)} = \frac{15.000.000 \text{ VNĐ}}{8.000.000 \text{ VNĐ/tháng}} \approx 1.875 \text{ tháng (< 2 tháng)}$$


Hạn chế và hướng phát triển

Hạn chế hiện tại

  • Hệ thống mới dừng lại ở việc mô phỏng liên kết phân tán qua Linked Server, chưa triển khai cụm phân tán đa vùng (Multi-Region Master-Slave Replication) trên môi trường sản xuất thực tế.
  • Giao diện chưa tích hợp WebSockets để cập nhật trực tiếp (Real-time Push Notifications) trạng thái đơn hàng khi phân xưởng giao thành phẩm.

Hướng phát triển tiếp theo

  • Tích hợp IoT & Barcode/QR Scanning: Áp dụng quét mã vạch hai chiều (QR Code) tại cửa kho để tự động hóa hoàn toàn khâu lập phiếu nhập/xuất mà không cần nhập liệu bằng bàn phím.
  • Mở rộng kiến trúc Microservices: Tách biệt Service Quản lý Kho và Service Quản lý Hợp đồng thành các dịch vụ độc lập triển khai trên Docker & Kubernetes.
  • Ứng dụng AI/Machine Learning: Dự báo nhu cầu biến động giá nguyên vật liệu trên thị trường quốc tế nhằm hỗ trợ phòng cung ứng ra quyết định thời điểm thu mua tối ưu.

Đối tượng hưởng lợi

  • Sinh viên & Giảng viên ngành CNTT: Nguồn tài liệu tham khảo chuẩn mực về quy trình phân tích thiết kế hệ thống thông tin bằng UML, từ sơ đồ Use Case, Activity đến Sequence và Class Diagram 3 lớp.
  • Lập trình viên (Developers): Cung cấp mã nguồn mẫu về triển khai kiến trúc Java MVC kết hợp xử lý ràng buộc toàn vẹn cơ sở dữ liệu quan hệ chặt chẽ.
  • Doanh nghiệp vừa và nhỏ (SMEs): Mô hình phần mềm quản trị thực tiễn, chi phí gần như bằng 0, giải quyết triệt để bài toán thất thoát nguyên liệu và chậm tiến độ đơn hàng xuất khẩu.
  • Chuyên viên nghiên cứu chuỗi cung ứng: Cung cấp dữ liệu thực nghiệm về mức độ cải thiện hiệu suất khi ứng dụng công nghệ thông tin vào quản trị định mức BOM.

Câu hỏi thường gặp

1. Hệ thống có yêu cầu máy chủ cấu hình cao để vận hành không?

Không. Nhờ kiến trúc monolithic tinh gọn trên nền tảng Spring Boot và MySQL, hệ thống có thể hoạt động mượt mà trên các gói VPS phổ thông (2 Core CPU, 4GB RAM) với chi phí duy trì chỉ từ 150.000 - 300.000 VNĐ/tháng.

2. Khả năng mở rộng của hệ thống khi quy mô dữ liệu tăng lên hàng trăm nghìn hợp đồng?

Hệ thống được thiết kế chuẩn hóa cơ sở dữ liệu ở dạng chuẩn 3NF và đánh chỉ mục (Indexing) tối ưu trên các khóa chính và khóa ngoại (MAHD, MASP, MANL). Khi dữ liệu tăng trưởng, hệ thống hoàn toàn có thể mở rộng theo chiều ngang (Horizontal Scaling) bằng cách tách riêng máy chủ cơ sở dữ liệu hoặc áp dụng kỹ thuật Database Sharding.

3. Làm thế nào để đảm bảo nhân viên không sửa đổi giá trị hợp đồng sau khi đã duyệt?

Hệ thống áp dụng mô hình phân quyền nghiêm ngặt (Role-Based Access Control). Khi hợp đồng đã chuyển sang trạng thái PROCESSING hoặc READY_TO_EXPORT, chỉ có tài khoản cấp Quản trị viên (Admin/Manager) mới có quyền điều chỉnh kèm theo nhật ký kiểm toán (Audit Trail) ghi lại thời gian và định danh người chỉnh sửa.

4. Hệ thống xử lý thế nào khi một sản phẩm thay đổi cơ cấu nguyên liệu?

Hệ thống cho phép cấu hình phiên bản định mức (BOM Versioning). Việc cập nhật cơ cấu sản phẩm chỉ áp dụng cho các hợp đồng được ký mới từ thời điểm cập nhật, giữ nguyên vẹn cơ cấu tính toán lịch sử cho các hợp đồng đã ký trước đó.

5. Thời gian đào tạo nhân viên kho và kinh doanh sử dụng phần mềm mất bao lâu?

Giao diện hệ thống được thiết kế theo luồng làm việc trực quan của người Việt. Khảo sát thực tế cho thấy nhân viên nghiệp vụ chỉ mất từ 1 đến 2 buổi hướng dẫn là có thể thao tác thành thạo tất cả các tác vụ lập phiếu và theo dõi báo cáo.


Kết luận

Đề tài "Quản lý nguyên liệu, sản phẩm và hợp đồng xuất khẩu" của nhóm tác giả Lâm Chấn Huy, Nguyễn Phước Thịnh, Lê Đình Anh Tuấn (Khoa Công nghệ Thông tin, Trường Đại học Sư phạm TP.HCM) là một công trình nghiên cứu ứng dụng có giá trị thực tiễn cao. Bằng việc kết hợp chặt chẽ giữa lý thuyết phân tích thiết kế hướng đối tượng (OOAD) và các công nghệ phát triển web hiện đại, hệ thống đã số hóa thành công toàn bộ chuỗi cung ứng khép kín từ nguyên liệu thô đến thành phẩm xuất khẩu.

Giải pháp không chỉ giải quyết bài toán chống thất thoát, minh bạch hóa tài chính cho doanh nghiệp vừa và nhỏ mà còn là một tài liệu tham khảo học thuật giá trị cho cộng đồng kỹ sư công nghệ thông tin. Các doanh nghiệp và nhà phát triển quan tâm có thể tiếp cận, kế thừa và mở rộng hệ thống sang các nền tảng ứng dụng di động hoặc tích hợp trí tuệ nhân tạo trong tương lai.