Giới thiệu dự án

Trong kỷ nguyên chuyển đổi số ngành y dược, việc tối ưu hóa chuỗi cung ứng và quản lý kho vận (Logistics & Warehouse Management) đóng vai trò then chốt đối với năng lực cạnh tranh của doanh nghiệp phân phối dược phẩm. Theo thống kê từ IQVIA và Hiệp hội Doanh nghiệp Dược Việt Nam (VNPCA), chi phí tồn kho và tổn thất do sai sót dữ liệu xuất - nhập thuốc thủ công có thể chiếm tới 12% - 15% tổng chi phí vận hành của các công ty vừa và nhỏ (SMEs). Đồ án tốt nghiệp "Xây dựng hệ thống quản lý kho cho Công ty TNHH Dược phẩm Tam Long" do sinh viên Nguyễn Văn Du thực hiện dưới sự hướng dẫn của TS. Lê Văn Phùng (Đại học Dân Lập Hải Phòng) đã tập trung giải quyết triệt để bài toán tự động hóa luồng thông tin quản lý kho hàng dược phẩm.

+------------------+         +----------------------------+         +------------------+
|   NHÀ CUNG CẤP   | <=====> |  HỆ THỐNG QUẢN LÝ KHO DƯỢC | <=====> |    KHÁCH HÀNG    |
| (Báo giá, Nhập)  |         |   (Tam Long Pharma WMS)    |         | (Đơn đặt, Giao)  |
+------------------+         +----------------------------+         +------------------+
                                          ||
                                          \/
                             +----------------------------+
                             |       BAN LÃNH ĐẠO         |
                             | (Báo cáo, Thống kê tồn kho)|
                             +----------------------------+

Vấn đề thực tiễn và điểm nghẽn vận hành (Pain Points)

Công ty TNHH Dược phẩm Tam Long (địa chỉ tại 109 Trường Chinh, Quán Trữ, Kiến An, Hải Phòng) phân phối đa dạng các mặt hàng dược phẩm, biệt dược và trang thiết bị y tế. Trước khi ứng dụng hệ thống mới, công ty đối mặt với các thách thức lớn:

  • Ghi chép thủ công phân tán: Hoạt động quản lý từ lập đơn mua hàng, phiếu nhập, đơn đặt hàng, phiếu giao đến phiếu thu/chi đều thực hiện trên sổ sách giấy và bảng tính rời rạc.
  • Độ trễ đối chiếu thẻ kho: Việc kiểm tra hạn mức dự trữ tối thiểu và số lượng tồn kho tức thời (real-time stock balance) để phản hồi đơn đặt hàng của khách mất từ 30 đến 45 phút cho mỗi giao dịch.
  • Rủi ro sai lệch dữ liệu: Tỷ lệ sai lệch giữa sổ kế toán và thẻ kho thực tế dao động từ 5% - 8%, dẫn đến nguy cơ đứt gãy nguồn cung các loại thuốc thiết yếu hoặc ứ đọng vốn lưu động.

Mục tiêu dự án

  1. Khảo sát toàn diện quy trình nghiệp vụ xuất - nhập - tồn kho tại Công ty TNHH Dược phẩm Tam Long.
  2. Chuẩn hóa hệ thống hồ sơ dữ liệu (HSDL) theo phương pháp phân tích và thiết kế hướng cấu trúc (SADT - Structured Analysis and Design Technique).
  3. Thiết kế cơ sở dữ liệu quan hệ (RDBMS) đạt chuẩn chuẩn hóa 3NF, loại bỏ dư thừa dữ liệu và đảm bảo toàn vẹn tham chiếu.
  4. Xây dựng phần mềm ứng dụng hoàn chỉnh trên nền tảng Microsoft Visual Basic và Microsoft SQL Server, tích hợp đầy đủ các phân hệ nhập hàng, xuất hàng, cập nhật danh mục và báo cáo thống kê tự động.

Phạm vi và giới hạn hệ thống

  • Phạm vi nghiệp vụ: Bao quát toàn bộ chu trình luân chuyển hàng hóa nội bộ (Lập đơn mua $\rightarrow$ Kiểm tra hàng $\rightarrow$ Phiếu nhập $\rightarrow$ Thẻ kho $\rightarrow$ Phiếu chi; Nhận đơn đặt $\rightarrow$ Đối chiếu thẻ kho $\rightarrow$ Lập phiếu giao $\rightarrow$ Phiếu thu $\rightarrow$ Báo cáo tổng hợp).
  • Giới hạn kỹ thuật: Hệ thống triển khai theo mô hình Client-Server cục bộ trong mạng nội bộ (LAN) của công ty, chưa tích hợp module quét mã vạch (Barcode/RFID) và đồng bộ điện toán đám mây.

Phân tích và thiết kế giải pháp

Phân tích hiện trạng

Quá trình khảo sát thực tế tại các bộ phận Kinh doanh, Kế toán, Kho hàng và Gom/Gửi hàng cho thấy sự cần thiết của việc số hóa. Dưới đây là bảng so sánh giải pháp quản lý truyền thống so với hệ thống phần mềm chuyên biệt:

Tiêu chí đánh giá Quản lý sổ sách truyền thống Quản lý bằng Microsoft Excel Hệ thống Quản lý kho Tam Long WMS
Tính toàn vẹn dữ liệu Kém, dễ thất lạc, rách nát Trung bình, dễ bị ghi đè/xóa nhầm Cao, kiểm soát bằng RDBMS Constraints
Tốc độ tra cứu tồn kho 15 - 30 phút / mặt hàng 3 - 5 phút (lọc thủ công) Tức thời (< 1 giây)
Bảo mật & Phân quyền Không có cơ chế kiểm soát Đặt mật khẩu file đơn giản Xác thực tài khoản, phân quyền thao tác
Khả năng lập báo cáo Mất từ 1 - 2 ngày làm việc Mất 2 - 4 giờ xử lý hàm Tự động kết xuất trong 3 giây
Rủi ro sai lệch số liệu 5% - 8% 3% - 5% < 0.1%

Ma trận ưu tiên yêu cầu người dùng (MoSCoW)

  • Must have (Bắt buộc): Lập và in phiếu nhập/xuất kho; tự động cập nhật số dư thẻ kho; quản lý danh mục thuốc/nhà cung cấp/khách hàng; cảnh báo tồn kho chạm ngưỡng tối thiểu; lập báo cáo doanh thu và tồn định kỳ.
  • Should have (Nên có): Quản lý phiếu thu/chi tương ứng theo từng giao dịch; tìm kiếm đa tiêu chí (theo mã hàng, tên thuốc, số phiếu, ngày chứng từ).
  • Could have (Có thể có): Hỗ trợ xuất dữ liệu báo cáo sang định dạng Excel/Word; giao diện tùy biến theme trực quan.
  • Won't have (Chưa thực hiện): Tích hợp cổng thanh toán trực tuyến; đồng bộ API hóa đơn điện tử.

Thiết kế hệ thống

Hệ thống được thiết kế theo phương pháp phân tích hướng cấu trúc với các mô hình cốt lõi: Sơ đồ phân rã chức năng (BFD), Sơ đồ luồng dữ liệu (DFD Mức 0, Mức 1), Ma trận thực thể chức năng và Mô hình thực thể - mối quan hệ (E-R Diagram).

graph TD
    subgraph BFD["Sơ đồ Phân rã Chức năng (BFD)"]
        A[HỆ THỐNG QUẢN LÝ KHO] --> B[1. Quản lý Nhập hàng]
        A --> C[2. Quản lý Xuất hàng]
        A --> D[3. Quản lý Tồn kho & Danh mục]
        A --> E[4. Báo cáo - Thống kê]
        
        B --> B1[1.1 Lập đơn mua hàng]
        B --> B2[1.2 Kiểm tra hàng về]
        B --> B3[1.3 Viết phiếu nhập kho]
        B --> B4[1.4 Lập phiếu chi]
        
        C --> C1[2.1 Tiếp nhận đơn đặt hàng]
        C --> C2[2.2 Đối chiếu thẻ kho]
        C --> C3[2.3 Lập phiếu giao hàng]
        C --> C4[2.4 Lập phiếu thu tiền]
        
        D --> D1[3.1 Cập nhật Hàng hóa]
        D --> D2[3.2 Cập nhật Khách hàng]
        D --> D3[3.3 Cập nhật Nhà cung cấp]
        
        E --> E1[4.1 Báo cáo nhập hàng]
        E --> E2[4.2 Báo cáo xuất hàng]
        E --> E3[4.3 Báo cáo tồn kho]
        E --> E4[4.4 Báo cáo danh sách NCC/KH]
    end

Ngăn xếp công nghệ (Technology Stack)

  • Hệ quản trị CSDL: Microsoft SQL Server 2008 R2 (Hỗ trợ xử lý Transaction ACID, Stored Procedures, Triggers, Views).
  • Ngôn ngữ lập trình & Giao diện: Microsoft Visual Basic 6.0 / Visual Studio (VB.NET), kết nối CSDL thông qua thư viện ADODB (ActiveX Data Objects 2.8) / OLE DB Provider for SQL Server.
  • Công cụ thiết kế & Báo cáo: Data Environment, Crystal Reports 10, Microsoft Visio (mô hình hóa DFD, E-R).

Thiết kế Cơ sở Dữ liệu (Database Schema)

Cơ sở dữ liệu vật lý bao gồm các bảng chuẩn hóa: NHACUNGCAP, KHACHHANG, HANGHOA, DONMUA, CT_DONMUA, PHIEUNHAP, CT_PHIEUNHAP, DONDAT, CT_DONDAT, PHIEUGIAO, CT_PHIEUGIAO, PHIEUTHU, PHIEUCHI, THEKHO.

-- DDL: Tạo bảng Thực thể Danh mục Hàng Hóa & Thẻ Kho
CREATE TABLE HANGHOA (
    MaHang VARCHAR(20) PRIMARY KEY,
    TenHang NVARCHAR(150) NOT NULL,
    MoTa NVARCHAR(255),
    DVT NVARCHAR(30) NOT NULL,
    DonGia DECIMAL(18, 2) NOT NULL CHECK (DonGia >= 0),
    SoLuongTon INT NOT NULL DEFAULT 0,
    MucDuTruToiThieu INT NOT NULL DEFAULT 10
);

CREATE TABLE NHACUNGCAP (
    MaNCC VARCHAR(20) PRIMARY KEY,
    TenNCC NVARCHAR(150) NOT NULL,
    DiaChi NVARCHAR(255),
    SoDT VARCHAR(20),
    GhiChu NVARCHAR(200)
);

CREATE TABLE KHACHHANG (
    MaKH VARCHAR(20) PRIMARY KEY,
    TenKH NVARCHAR(150) NOT NULL,
    DiaChi NVARCHAR(255),
    SoDT VARCHAR(20),
    GhiChu NVARCHAR(200)
);

CREATE TABLE PHIEUNHAP (
    SoPN VARCHAR(20) PRIMARY KEY,
    SoDonMua VARCHAR(20),
    NgayNhap DATETIME NOT NULL DEFAULT GETDATE(),
    MaNCC VARCHAR(20) REFERENCES NHACUNGCAP(MaNCC),
    MaKho VARCHAR(20),
    TongTien DECIMAL(18, 2) DEFAULT 0
);

CREATE TABLE CT_PHIEUNHAP (
    SoPN VARCHAR(20) REFERENCES PHIEUNHAP(SoPN) ON DELETE CASCADE,
    MaHang VARCHAR(20) REFERENCES HANGHOA(MaHang),
    DonViTinh NVARCHAR(30),
    DonGia DECIMAL(18, 2) NOT NULL,
    SoLuong INT NOT NULL CHECK (SoLuong > 0),
    ThanhTien AS (DonGia * SoLuong),
    PRIMARY KEY (SoPN, MaHang)
);

CREATE TABLE THEKHO (
    MaTheKho INT IDENTITY(1,1) PRIMARY KEY,
    MaHang VARCHAR(20) REFERENCES HANGHOA(MaHang),
    NgayChungTu DATETIME NOT NULL,
    SoChungTu VARCHAR(20) NOT NULL,
    DienGiai NVARCHAR(255),
    SoLuongNhap INT DEFAULT 0,
    SoLuongXuat INT DEFAULT 0,
    SoLuongTon INT NOT NULL
);

Phương pháp luận phát triển (Methodology)

Dự án áp dụng mô hình Chu trình Phát triển Hệ thống (SDLC - System Development Life Cycle) kết hợp phương pháp luận Top-Down (Phân tích đi từ tổng thể đến chi tiết):

  1. Khảo sát & Lập kế hoạch (Weeks 1 - 3): Thu thập 15 biểu mẫu chứng từ gốc (Đơn mua hàng, Phiếu nhập, Phiếu xuất, Thẻ kho, Báo cáo tài chính).
  2. Phân tích yêu cầu (Weeks 4 - 6): Xây dựng sơ đồ ngữ cảnh, phân cấp chức năng BFD, lập DFD mức 0 và mức 1 cho 3 tiến trình trọng tâm (Nhập hàng, Xuất hàng, Thống kê).
  3. Thiết kế hệ thống (Weeks 7 - 10): Chuyển đổi mô hình khái niệm sang mô hình quan hệ logic, chuẩn hóa dữ liệu 3NF, thiết kế giao diện Form (Menu, Input, Search, Report).
  4. Lập trình & Thử nghiệm (Weeks 11 - 14): Viết code kết nối CSDL, xử lý ràng buộc Transaction, kiểm thử hộp đen (Black-box testing).
  5. Đánh giá & Chuyển giao (Weeks 15 - 16): Đánh giá tính khả thi kỹ thuật/vận hành và nghiệm thu hệ thống.

Implementation và kết quả

Quá trình phát triển phần mềm

Phần mềm được xây dựng theo kiến trúc hướng module, tách biệt giữa tầng giao diện hiển thị (UI Windows Form) và tầng dữ liệu (Database Layer) thông qua các chuỗi lệnh SQL chuẩn hóa.

' Visual Basic Code: Thuật toán kiểm tra tồn kho và lập phiếu xuất hàng an toàn
Public Function CheckStockAndExecuteExport(ByVal strMaHang As String, ByVal intSoLuongXuat As Integer, ByVal strSoPG As String) As Boolean
    Dim conn As New ADODB.Connection
    Dim rsStock As New ADODB.Recordset
    Dim cmd As New ADODB.Command
    Dim intCurrentStock As Integer
    Dim intMinStock As Integer
    
    On Error GoTo ErrorHandler
    conn.Open "Provider=SQLOLEDB;Data Source=SERVER_TAMLONG;Initial Catalog=QLKHO_TAMLONG;User ID=sa;Password=******;"
    conn.BeginTrans ' Khởi tạo Transaction đảm bảo toàn vẹn
    
    ' Kiểm tra số lượng tồn kho và mức dự trữ tối thiểu
    rsStock.Open "SELECT SoLuongTon, MucDuTruToiThieu FROM HANGHOA WITH (UPDLOCK) WHERE MaHang = '" & strMaHang & "'", conn, adOpenStatic, adLockOptimistic
    
    If Not rsStock.EOF Then
        intCurrentStock = rsStock!SoLuongTon
        intMinStock = rsStock!MucDuTruToiThieu
        
        If intCurrentStock < intSoLuongXuat Then
            MsgBox "Lỗi: Số lượng tồn kho không đủ để xuất! Hiện còn: " & intCurrentStock, vbExclamation, "Cảnh báo kho"
            conn.RollbackTrans
            CheckStockAndExecuteExport = False
            Exit Function
        ElseIf (intCurrentStock - intSoLuongXuat) < intMinStock Then
            MsgBox "Cảnh báo: Mặt hàng này sau khi xuất sẽ dưới mức dự trữ tối thiểu (" & intMinStock & ")!", vbInformation, "Cảnh báo dự trữ"
        End If
        
        ' Cập nhật giảm số lượng tồn kho
        conn.Execute "UPDATE HANGHOA SET SoLuongTon = SoLuongTon - " & intSoLuongXuat & " WHERE MaHang = '" & strMaHang & "'"
        
        ' Tự động ghi chép vào Thẻ kho
        Dim strSQLTheKho As String
        strSQLTheKho = "INSERT INTO THEKHO (MaHang, NgayChungTu, SoChungTu, DienGiai, SoLuongNhap, SoLuongXuat, SoLuongTon) " & _
                       "VALUES ('" & strMaHang & "', GETDATE(), '" & strSoPG & "', N'Xuất hàng cho khách', 0, " & _
                       intSoLuongXuat & ", " & (intCurrentStock - intSoLuongXuat) & ")"
        conn.Execute strSQLTheKho
        
        conn.CommitTrans ' Hoàn tất giao dịch
        CheckStockAndExecuteExport = True
    Else
        MsgBox "Lỗi: Không tìm thấy mã mặt hàng trong cơ sở dữ liệu!", vbCritical, "Lỗi dữ liệu"
        conn.RollbackTrans
        CheckStockAndExecuteExport = False
    End If
    
    Exit Function

ErrorHandler:
    conn.RollbackTrans
    MsgBox "Lỗi thực thi giao dịch: " & Err.Description, vbCritical, "Database Error"
    CheckStockAndExecuteExport = False
End Function

Kiểm thử và Đánh giá hiệu năng

Hệ thống đã trải qua các kịch bản kiểm thử chức năng (Functional Testing), kiểm thử ràng buộc toàn vẹn (Integrity Constraint Testing) và kiểm thử hiệu năng truy vấn trên tập dữ liệu mô phỏng 10,000 bản ghi dược phẩm.

+----------------------------------------------------------------------------------------+
|                             KẾT QUẢ KIỂM THỬ HIỆU NĂNG TÁC VỤ                          |
+------------------------------------+-----------------------+---------------------------+
| Nghiệp vụ kiểm thử                 | Thời gian thủ công    | Thời gian qua phần mềm    |
+------------------------------------+-----------------------+---------------------------+
| 1. Lập và lưu Phiếu nhập (10 mục)  | 12 - 15 phút          | 45 giây                   |
| 2. Kiểm tra tồn & Lập Phiếu giao   | 20 - 30 phút          | 1 phút 15 giây            |
| 3. Cập nhật thẻ kho tự động        | 10 phút / lần         | Tức thời (Trigger / SQL)  |
| 4. Tổng hợp Báo cáo tồn kho tháng  | 1 - 2 ngày            | 2.5 giây                  |
| 5. Tra cứu lịch sử nhà cung cấp    | 15 phút lật sổ        | 0.3 giây                  |
+------------------------------------+-----------------------+---------------------------+

Thống kê kết quả thực nghiệm

  • Tỷ lệ kiểm thử thành công: Đạt 100% trên 45 kịch bản ca kiểm thử (Test Cases) cho các nghiệp vụ cập nhật, tìm kiếm và kết xuất báo cáo.
  • Thời gian phản hồi truy vấn: Độ trễ trung bình cho các lệnh tìm kiếm đa tiêu chí đạt dưới 0.5 giây trên mạng LAN.
  • Mức độ hài lòng của nhân viên: Khảo sát nội bộ 12 nhân viên tại Công ty Dược phẩm Tam Long ghi nhận điểm số trung bình 4.7/5.0 về tính dễ dùng và độ tiện ích.

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

  1. Chuẩn hóa quy trình dòng thông tin khép kín: Khác với các hệ thống quản lý kho độc lập thông thường, đồ án đã liên kết chặt chẽ luồng vật tư (Hàng hóa $\leftrightarrow$ Thẻ kho) với luồng tài chính (Phiếu giao $\leftrightarrow$ Phiếu thu; Phiếu nhập $\leftrightarrow$ Phiếu chi), giúp triệt tiêu hoàn toàn độ vênh số liệu giữa thủ kho và kế toán.
  2. Cơ chế kiểm soát tồn kho chủ động (Threshold Guard): Tích hợp logic tự động cảnh báo MucDuTruToiThieu ngay tại thời điểm nhân viên kinh doanh tiếp nhận đơn đặt hàng, ngăn ngừa tình trạng quá bán (Overselling) thuốc đặc trị.
  3. Tối ưu hóa năng suất lao động: Giảm thiểu 80% thời gian xử lý thủ tục giấy tờ; rút ngắn 95% thời gian kết xuất báo cáo định kỳ gửi Ban Giám đốc.

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

Yêu cầu cấu hình hệ thống

  • Máy chủ cơ sở dữ liệu (Database Server):
    • CPU: Intel Core 2 Duo 2.0 GHz hoặc cao hơn.
    • RAM: Tối thiểu 2GB (Khuyến nghị 4GB).
    • Ổ cứng: 80GB HDD / SSD trống tối thiểu 10GB.
    • Hệ điều hành: Windows Server 2003/2008 hoặc Windows 7/10 Pro.
    • Hệ quản trị: Microsoft SQL Server 2005/2008/2012.
  • Máy trạm người dùng (Client Workstation):
    • CPU: Intel Pentium IV 1.8 GHz trở lên.
    • RAM: Tối thiểu 512MB (Khuyến nghị 1GB).
    • Màn hình: Độ phân giải $1024 \times 768$ trở lên.
    • Hệ điều hành: Windows XP / Vista / 7 / 8 / 10.

Phân tích Chi phí - Lợi ích (Cost-Benefit Analysis & ROI)

  • Chi phí đầu tư ban đầu: Rất thấp do tận dụng hạ tầng phần cứng máy tính sẵn có tại văn phòng, sử dụng các nền tảng phát triển quen thuộc giúp tiết kiệm 100% phí bản quyền phần mềm ERP đắt đỏ.
  • Lợi ích tài chính: Tiết kiệm trung bình 15 - 20 triệu VNĐ/tháng chi phí nhân sự tổng hợp đối soát, hạn chế thất thoát dược phẩm hỏng/hết hạn do quản lý kho lỏng lẻo.
  • Thời gian hoàn vốn (ROI Timeline): Dự kiến đạt điểm hòa vốn sau 3 - 5 tháng vận hành chính thức.

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

Hạn chế hiện tại

  • Kiến trúc phần mềm dạng 2-tier Client-Server truyền thống giới hạn khả năng truy cập từ xa qua mạng Internet (chưa có Web Interface hay Mobile App).
  • Chưa tích hợp module tự động quét mã vạch GS1/QR Code để quản lý chi tiết theo từng số Lô sản xuất (Batch/Lot Number) và Hạn sử dụng (Expiry Date) - một yếu tố đặc thù của ngành Dược (chuẩn GSP).
  • Chưa có tính năng sao lưu dữ liệu tự động (Auto Backup) lên lưu trữ đám mây.

Hướng phát triển tương lai

  1. Nâng cấp hệ thống lên nền tảng Web Application (sử dụng ASP.NET Core / ReactJS) hoặc ứng dụng di động (Flutter) để hỗ trợ thủ kho kiểm kê bằng thiết bị cầm tay PDA.
  2. Mở rộng mô hình dữ liệu bổ sung quản lý chi tiết Số Lô - Hạn Dùng theo nguyên tắc FEFO (First Expired, First Out) và FIFO (First In, First Out).
  3. Tích hợp phân hệ hóa đơn điện tử (E-Invoice) và kết nối trực tiếp với Hệ thống Cơ sở dữ liệu Dược Quốc gia.

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

  • Sinh viên ngành CNTT: Tài liệu tham khảo toàn diện về phương pháp luận phân tích thiết kế hướng cấu trúc (SADT), cách lập mô hình BFD, DFD mức 0/1 và chuẩn hóa cơ sở dữ liệu quan hệ bài bản.
  • Lập trình viên / Kỹ sư phần mềm: Cung cấp mẫu thiết kế cơ sở dữ liệu kho chuẩn mực, các hàm xử lý Transaction ADODB an toàn trong môi trường mạng LAN.
  • Doanh nghiệp Dược phẩm SMEs: Mô hình mẫu để ứng dụng chuyển đổi số quản lý kho vận với chi phí tối thiểu nhưng mang lại hiệu quả tức thì.
  • Giảng viên & Nhà nghiên cứu: Bộ case-study thực tế 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à Cơ sở Dữ liệu Ứng dụng.

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

1. Hệ thống có yêu cầu phần cứng máy chủ đắt tiền để triển khai không?

Không. Hệ thống được tối ưu hóa tốt trên hệ quản trị CSDL Microsoft SQL Server, có thể chạy mượt mà trên máy tính cá nhân cấu hình văn phòng thông thường làm máy chủ nội bộ phục vụ cho 5 - 15 máy trạm truy cập đồng thời.

2. Dữ liệu thẻ kho được cập nhật tự động hay người dùng phải nhập tay?

Hệ thống hoạt động theo cơ chế tự động hóa 100%. Khi người dùng xác nhận "Phiếu nhập hàng" hoặc "Phiếu giao hàng", chương trình sẽ tự động kích hoạt cập nhật tăng/giảm trường SoLuongTon trong bảng HANGHOA và tự động chèn một dòng biến động chứng từ mới vào bảng THEKHO.

3. Hệ thống xử lý thế nào khi xảy ra xung đột dữ liệu lúc nhiều máy cùng xuất một mặt hàng?

Phần mềm sử dụng cơ chế khóa dữ liệu (Record Locking thông qua UPDLOCK trong SQL Transaction). Khi một máy trạm đang mở giao dịch xuất hàng cho thuốc X, hệ thống sẽ tạm khóa bản ghi đó để tính toán lại số lượng tồn khả dụng, tránh hiện tượng trừ âm kho (Deadlock / Negative Inventory).

4. Quy trình sao lưu và phục hồi dữ liệu khi xảy ra sự cố máy tính như thế nào?

Hệ thống tận dụng cơ chế sao lưu tự động của SQL Server (Database Backup Schedule). Quản trị viên có thể cấu hình sao lưu định kỳ (Full Backup hàng ngày và Differential Backup hàng giờ) ra ổ đĩa ngoài để phục hồi nguyên trạng trong vòng 5 phút nếu xảy ra sự cố phần cứng.

5. Khả năng tích hợp của hệ thống với các phần mềm kế toán khác?

Hệ thống cho phép trích xuất toàn bộ bảng dữ liệu danh mục, hóa đơn nhập/xuất và sổ chi tiết thẻ kho ra các định dạng chuẩn (Excel, CSV, XML), giúp các phần mềm kế toán như MISA, FAST dễ dàng nạp dữ liệu đầu vào mà không cần nhập liệu thủ công lại.


Kết luận

Đồ án tốt nghiệp "Xây dựng hệ thống quản lý kho cho Công ty TNHH Dược phẩm Tam Long" của sinh viên Nguyễn Văn Du là một công trình nghiên cứu ứng dụng có giá trị thực tiễn cao, giải quyết trọn vẹn bài toán quản lý kho dược phẩm từ lý thuyết phân tích cấu trúc đến sản phẩm phần mềm hoàn chỉnh. Việc kết hợp chặt chẽ giữa quy trình khảo sát nghiệp vụ thực tế, chuẩn hóa dữ liệu quan hệ và tối ưu hóa thuật toán giao dịch đã giúp doanh nghiệp loại bỏ hoàn toàn các sai sót thủ công, nâng cao năng suất và bảo đảm an toàn dữ liệu. Đây là tài liệu tham khảo chất lượng và là bước đệm vững chắc cho các nghiên cứu phát triển hệ thống ERP chuyên sâu trong tương lai.