Bối cảnh và vấn đề nghiên cứu
Thị trường kinh doanh chuỗi cà phê tại Việt Nam ghi nhận sự phát triển mạnh mẽ với sự hiện diện của các thương hiệu lớn như Highlands Coffee, The Coffee House cùng nhiều thương hiệu mới thành lập. Việt Nam là quốc gia đứng thứ hai thế giới về sản lượng cà phê, tạo điều kiện thuận lợi cho sự bùng nổ của các mô hình kinh doanh đồ uống. Tuy nhiên, việc gia tăng số lượng chi nhánh đặt ra thách thức lớn trong công tác quản trị vận hành, kiểm soát số liệu kinh doanh, bảo mật thông tin và quản lý nguồn lực. Phương thức quản lý thủ công bằng sổ sách truyền thống bộc lộ nhiều bất cập về độ trễ thông tin và sai sót số liệu, đòi hỏi việc ứng dụng công nghệ thông tin trên nền tảng web nhằm hỗ trợ chủ doanh nghiệp theo dõi hoạt động chuỗi mọi lúc, mọi nơi.
Khảo sát hiện trạng các phần mềm quản lý bán hàng phổ biến trên thị trường cho thấy:
- KiotViet: Cung cấp số liệu thống kê trực quan, báo cáo tài chính định kỳ, phân quyền nhân viên chi tiết và hỗ trợ quản lý đa chi nhánh. Hạn chế của phần mềm là chưa hỗ trợ xây dựng định mức công thức pha chế cho thức uống và chưa tính toán được giá vốn tồn kho của nguyên liệu.
- Suno: Phần mềm bán hàng trực tuyến ứng dụng điện toán đám mây (phát hành năm 2014 bởi Công ty Cổ phần Công nghệ SUNO), hỗ trợ quản lý nhiều kho trên cùng một tài khoản và tính được giá vốn hàng hóa. Hạn chế là chưa xây dựng định mức công thức thức uống và giới hạn quản lý trên phạm vi đơn lẻ từng cửa hàng/chi nhánh.
Nhằm giải quyết các bài toán nghiệp vụ trên, đề tài xác định 3 nhiệm vụ nghiên cứu cụ thể:
- Tìm hiểu quy trình và nghiệp vụ quản lý chuỗi cửa hàng kinh doanh cà phê thực tế.
- Nghiên cứu, vận dụng công nghệ Angular 8.0 cho giao diện người dùng và Spring RESTful API cho hệ thống xử lý trung tâm.
- Xây dựng website hoàn chỉnh phục vụ hai phân hệ nòng cốt: phân hệ quản lý bán hàng và phân hệ quản lý kho nguyên liệu.
Đối tượng nghiên cứu của đồ án là quy trình vận hành và kiểm soát dữ liệu của chuỗi cửa hàng cà phê nhiều chi nhánh. Phạm vi nghiên cứu được xác định theo mô hình tổ chức thực tế:
- Phạm vi không gian và tổ chức: Hệ thống quản lý bao gồm trụ sở điều hành, 1 kho trung tâm tiếp nhận nguyên liệu từ nhà cung cấp và nhiều kho chi nhánh trực thuộc. Mỗi chi nhánh có quy mô nhân sự từ 5 đến 12 người, bao gồm 1 quản lý chi nhánh, 1 bảo vệ, 1-2 nhân viên bếp (pha chế), 1-2 nhân viên thu ngân và 2-4 nhân viên phục vụ. Khung giờ mở cửa hoạt động từ 6:00 AM đến 10:00 PM. Nhân viên bếp và phục vụ làm việc theo chế độ bán thời gian (part-time); quản lý, bảo vệ và thu ngân làm việc toàn thời gian (full-time).
- Phạm vi thời gian: Đề tài được tiếp nhận và thực hiện từ ngày 24/02/2020 đến ngày 01/07/2020 tại Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh.
Cơ sở lý thuyết và phương pháp
Đồ án xây dựng dựa trên các nền tảng công nghệ và khung lý thuyết phần mềm hiện đại:
- Spring Boot Framework: Khung phát triển ứng dụng Java hỗ trợ xây dựng các dịch vụ RESTful API độc lập theo kiến trúc Microservices. Hệ thống khai thác các thành phần nòng cốt bao gồm: Spring Core Container (Core, Bean, Context, Expression Language với cơ chế Inversion of Control - IoC và Dependency Injection - DI); Spring Boot Starter (đóng gói quản lý các gói phụ thuộc như
spring-boot-starter-web); Spring Boot Auto Configurator (tự động hóa cấu hình ứng dụng thông qua chú thích @SpringBootApplication, loại bỏ cấu hình XML phức tạp); Spring Boot CLI; Spring Boot Actuator (cung cấp các điểm cuối EndPoints và chỉ số quản lý hệ thống trên cổng mặc định 8080); và Spring Web MVC (sử dụng mô hình Front Controller thông qua DispatcherServlet).
- Angular 8.0: Khung phát triển ứng dụng trang đơn (Single Page Application - SPA) dựa trên nền tảng TypeScript và HTML. Kiến trúc Angular vận hành dựa trên hệ thống
NgModules (mô-đun gốc AppModule và các mô-đun chức năng), Components, Services, cơ chế liên kết dữ liệu hai chiều (two-way data binding), hệ thống tiêm phụ thuộc (Dependency Injection), các chỉ thị (Directives), bộ lọc (Pipes) và cơ chế điều hướng (Routing). Phiên bản Angular 8 hỗ trợ TypeScript 3.4, Web Worker và tối ưu hóa tải chậm (lazy loading).
- PrimeNG: Thư viện thành phần giao diện mã nguồn mở dành riêng cho Angular, ứng dụng bảng dữ liệu
TurboTable (p-table) với các tính năng phân trang, lọc dữ liệu, sắp xếp, mở rộng dòng và xuất dữ liệu.
- Pusher: Dịch vụ truyền thông điệp thời gian thực dựa trên giao thức WebSockets và HTTP, vận hành theo mô hình xuất bản/đăng ký (Publish/Subscribe), hỗ trợ các kênh riêng tư (Private channels) và kênh hiện diện (Presence channels) để đồng bộ trạng thái đơn hàng tức thời giữa thu ngân và quầy pha chế.
- Hệ quản trị cơ sở dữ liệu MySQL: Sử dụng lưu trữ dữ liệu quan hệ, kết hợp các công cụ giao tiếp hướng đối tượng (ORM/JDBC).
Phương pháp nghiên cứu và phát triển phần mềm được triển khai qua các bước:
- Phương pháp khảo sát và thu thập yêu cầu: Khảo sát thực tế nghiệp vụ kinh doanh đồ uống, so sánh đối chiếu tính năng với các phần mềm KiotViet và Suno.
- Phương pháp phân tích và thiết kế hướng đối tượng: Sử dụng ngôn ngữ mô hình hóa UML để xây dựng biểu đồ Use Case, biểu đồ tuần tự (Sequence Diagram), biểu đồ lớp (Class Diagram) và mô hình thực thể mối quan hệ (ERD).
- Phương pháp lập trình và tích hợp: Xây dựng hệ thống phân tầng độc lập giữa Back-end và Front-end, kiểm thử các luồng chức năng trên môi trường máy trạm Windows sử dụng trình biên soạn mã Visual Studio Code.
Thiết kế và triển khai
Hệ thống được thiết kế theo kiến trúc phân tầng phân tách rõ rệt giữa phía máy khách (Client-side) và máy chủ (Server-side):
- Phía giao diện (Client-side): Xây dựng bằng Angular 8 kết hợp PrimeNG, chịu trách nhiệm kết xuất giao diện, bắt các sự kiện tương tác của người dùng, thực hiện liên kết dữ liệu và giao tiếp với Back-end thông qua các yêu cầu HTTP/HTTPS.
- Phía dịch vụ (Server-side): Xây dựng bằng Java 8 trên nền Spring Boot, đóng vai trò cung cấp các dịch vụ Web RESTful API, tiếp nhận yêu cầu, thực hiện xử lý logic nghiệp vụ, xác thực phân quyền người dùng và trao đổi dữ liệu với cơ sở dữ liệu.
- Dịch vụ thời gian thực: Tích hợp Pusher API nhằm cập nhật trạng thái đơn hàng, hóa đơn và thông báo pha chế tức thời giữa các phân hệ thu ngân và bếp mà không cần tải lại trang.
Cơ sở dữ liệu của hệ thống được chuẩn hóa trên MySQL, bao gồm hơn 20 bảng quan hệ chính phục vụ lưu trữ toàn diện các thực thể:
| Tên bảng CSDL |
Mục đích lưu trữ và vai trò trong hệ thống |
account, role_name, account_role |
Quản lý thông tin tài khoản, nhóm quyền và bảng kết hợp phân quyền người dùng |
employee, employee_type |
Lưu trữ hồ sơ nhân viên và phân loại chức danh nhân sự trong chuỗi |
customer, customer_type |
Quản lý hồ sơ khách hàng và phân loại (khách hàng thân thiết, khách hàng thành viên) |
branch_shop |
Lưu trữ thông tin định danh, địa chỉ và trạng thái hoạt động của các chi nhánh |
drink, drink_type, drink_price |
Quản lý danh mục thức uống, loại đồ uống và lịch sử biến động giá bán |
material, material_type, material_price |
Quản lý danh mục nguyên liệu, loại nguyên liệu và lịch sử giá nhập nguyên liệu |
unit |
Quản lý các đơn vị đo lường nguyên vật liệu |
min_max_inventory |
Thiết lập ngưỡng tồn kho tối thiểu và tồn kho tối đa cho từng nguyên liệu tại từng chi nhánh |
inventory_control |
Lưu trữ dữ liệu các đợt kiểm kho thực tế tại chi nhánh |
invoice, invoice_detail, order_type |
Lưu trữ thông tin hóa đơn thanh toán, chi tiết đồ uống gọi món và phân loại đơn hàng (tại bàn / mang về) |
Xử lý logic nghiệp vụ cốt lõi:
- Thuật toán tính giá vốn tồn kho: Khi nhập nguyên liệu mới từ nhà cung cấp về kho trung tâm, giá vốn bình quân mới của nguyên liệu được cập nhật tự động theo công thức:
$$\text{Giá vốn mới} = \frac{(\text{Số lượng tồn} \times \text{Giá vốn cũ}) + (\text{Số lượng nhập} \times \text{Giá từ NCC})}{\text{Số lượng tồn} + \text{Số lượng nhập}}$$
- Quy trình kỳ nguyên liệu và cân bằng xuất - nhập - tồn: Khi kho chi nhánh nhận nguyên liệu từ kho trung tâm, một kỳ nguyên liệu mới được thiết lập. Ngày bắt đầu kỳ là ngày thực nhận; ngày kết thúc của kỳ trước được tính là ngày liền kề trước đó. Số lượng nguyên liệu tiêu hao trong kỳ được xác định theo công thức:
$$\text{Lượng sử dụng trong kỳ} = \text{Tồn đầu kỳ} + \text{Nhập trong kỳ} - \text{Tồn cuối kỳ}$$
- Cơ chế tự động hóa đơn hàng chuyển kho: Khi mức tồn kho của một nguyên liệu tại chi nhánh chạm hoặc giảm xuống dưới ngưỡng tồn tối thiểu (
min_inventory), hệ thống tự động sinh đơn hàng chuyển kho với số lượng đề xuất bằng mức bù đủ đến ngưỡng tồn tối đa (max_inventory).
Về yêu cầu phi chức năng và an toàn hệ thống, phần mềm triển khai cơ chế xác thực người dùng dựa trên mã token, mã hóa mật khẩu trong cơ sở dữ liệu và kiểm soát truy cập dựa trên vai trò người dùng (Role-Based Access Control) trên toàn bộ các điểm cuối API.
Nội dung chính theo từng chương
Chương 1: Tổng quan
Chương 1 trình bày bối cảnh ra đời của đề tài, phân tích sự cần thiết của việc số hóa quy trình quản lý chuỗi kinh doanh cà phê trong thời đại công nghệ 4.0. Tác giả tiến hành khảo sát, chỉ ra ưu và nhược điểm của hai giải pháp phần mềm hiện hành là KiotViet và Suno, qua đó xác định mục tiêu xây dựng giải pháp khắc phục nhược điểm về quản lý công thức và giá vốn. Chương này cũng phân tích mô hình hoạt động thực tế của một chuỗi cà phê (cơ cấu 5-12 nhân sự/chi nhánh, khung giờ làm việc, phân chia kho trung tâm và kho chi nhánh), đồng thời phân loại 8 nhóm người dùng trong hệ thống:
- Nhân viên bếp: Tiếp nhận danh sách đồ uống chờ chế biến, in nhãn dán ly và xác nhận hoàn thành món.
- Nhân viên thu ngân: Lập đơn gọi món, chọn loại đơn hàng (ngồi tại bàn hoặc mang về), xử lý thanh toán và in hóa đơn.
- Quản lý chi nhánh: Thực hiện kiểm kê kho hằng ngày, quản lý hoạt động và tiếp nhận đơn chuyển kho tại chi nhánh.
- Quản trị viên (Admin): Quản trị người dùng, tài khoản và toàn bộ cấu hình hệ thống.
- Kế toán: Tiếp nhận, phê duyệt các chứng từ hóa đơn, thiết lập bảng giá và lập phiếu xuất kho.
- Nhân sự (HR): Quản lý hồ sơ, phân loại và thông tin nhân viên toàn chuỗi.
- Quản lý chuỗi: Giám sát toàn bộ hoạt động xuất nhập kho, quản lý danh mục thức uống, nguyên liệu và biểu giá chung.
- Quản lý kho trung tâm: Kiểm soát quy trình nhập nguyên liệu từ nhà cung cấp và phê duyệt lệnh xuất kho về các chi nhánh.
Chương 2: Cơ sở lý thuyết
Chương 2 đi sâu vào cấu trúc và nguyên lý hoạt động của các công nghệ nền tảng:
- Phân tích chi tiết hệ sinh thái Spring Boot: Cấu trúc 4 tầng của Spring Core Container (Core, Bean, Context, Expression Language), nguyên lý giảm tải cấu hình của Spring Boot Starter và Spring Boot Auto Configurator, các tiện ích quản trị qua CLI và Actuator, cùng cơ chế điều phối luồng web của Spring Web MVC.
- Trình bày kiến trúc phần mềm Angular 8.0: Phân tích cơ chế hoạt động của
NgModules, vòng đời thành phần (Components), siêu dữ liệu (Metadata), các chỉ thị cấu trúc và thuộc tính (Directives), đường ống xử lý dữ liệu (Pipes), kỹ thuật tiêm phụ thuộc (Dependency Injection) với các khái niệm Injector và Providers, cùng các tính năng mới trong Angular 8 như hỗ trợ TypeScript 3.4 và Web Worker.
- Phân tích giải pháp truyền thông thời gian thực Pusher: Mô hình Publish/Subscribe qua WebSockets/HTTP, phân loại kênh công cộng, kênh riêng tư và kênh hiện diện (
Presence channels).
- Giới thiệu thư viện giao diện PrimeNG: Các tính năng nâng cao của thành phần
TurboTable (p-table) phục vụ trình diễn bảng dữ liệu lớn.
Chương 3: Phân tích và mô hình hóa yêu cầu
Chương 3 đặc tả chi tiết 15 nhóm yêu cầu chức năng nghiệp vụ của hệ thống:
- Chức năng đơn hàng chuyển kho: Tự động tạo đơn khi chạm ngưỡng tối thiểu, phê duyệt, xuất kho và cập nhật số lượng thực nhận vào kỳ nguyên liệu.
- Chức năng quản lý giới hạn tồn kho: Thiết lập và hiệu chỉnh ngưỡng tồn tối thiểu - tối đa theo từng nguyên liệu tại từng chi nhánh.
- Chức năng quản lý thức uống: Thêm, sửa, xóa danh mục và phân loại đồ uống.
- Chức năng quản lý hóa đơn: Lập hóa đơn, ghi nhận vị trí bàn, tính giảm giá và in hóa đơn.
- Chức năng quản lý khách hàng: Quản lý thông tin cá nhân và phân nhóm (thành viên, thân thiết).
- Chức năng quản lý nhân viên: Lưu trữ hồ sơ, quản lý trạng thái làm việc/nghỉ việc và phân loại chức danh.
- Chức năng thống kê, báo cáo: Lọc hóa đơn theo khoảng thời gian và xuất dữ liệu ra tệp tin định dạng Excel.
- Chức năng quản lý kho: Quản lý quy trình nhập kho từ nhà cung cấp, kho trung tâm và tính toán mức tiêu hao nguyên liệu theo kỳ.
- Chức năng quản lý chi nhánh: Thiết lập thông tin và trạng thái hoạt động của các điểm kinh doanh.
- Chức năng quản lý bảng giá nguyên liệu: Cập nhật giá nhập và tự động tính toán lại giá vốn bình quân gia quyền.
- Chức năng quản lý nguyên liệu: Danh mục nguyên vật liệu, nhóm nguyên liệu và đơn vị tính.
- Chức năng quản lý loại đơn hàng: Phân loại đơn ngồi tại bàn hoặc mang đi.
- Chức năng quản lý tài khoản: Cấp phát tài khoản gắn liền với nhân viên và gán quyền truy cập.
- Chức năng quản lý quyền đăng nhập: Thiết lập các quyền hạn trong hệ thống.
- Chức năng quản lý công thức: Định mức nguyên liệu thành phần (mức tối thiểu và tối đa) cho từng loại thức uống nhằm tránh thất thoát và sai lệch chất lượng pha chế.
Chương này hoàn thiện mô hình hóa yêu cầu thông qua biểu đồ Use Case tổng quát và 76 ca sử dụng chi tiết (từ Bảng 3.16 đến Bảng 3.76 trong tài liệu) kèm theo phân tích các ràng buộc phi chức năng về bảo mật và giao diện.
Chương 4: Thiết kế hệ thống
Chương 4 hoàn thiện thiết kế kỹ thuật của hệ thống:
- Thiết kế dữ liệu: Xây dựng lược đồ cơ sở dữ liệu quan hệ (ERD) và đặc tả chi tiết cấu trúc các trường, kiểu dữ liệu, khóa chính, khóa ngoại của 21 bảng dữ liệu (từ Bảng 4.1 đến Bảng 4.21).
- Thiết kế xử lý: Xây dựng các biểu đồ tuần tự (Sequence Diagram) cho các nghiệp vụ chính bao gồm Thêm thức uống, Sửa thức uống, Xóa thức uống, Thêm tài khoản mới, và Xuất báo cáo thống kê. Trình bày các biểu đồ lớp (Class Diagram) cho các thực thể nòng cốt như
Account, Customer, DrinkType.
- Thiết kế giao diện: Đặc tả chi tiết bố cục, luồng xử lý và popup tương tác cho các màn hình ứng dụng: màn hình gọi món (order thức uống), popup chọn số lượng, màn hình in hóa đơn, màn hình danh sách hóa đơn, popup chi tiết hóa đơn, các màn hình trong quy trình lập và tiếp nhận đơn hàng chuyển kho, màn hình danh sách hợp đồng cung cấp của quản lý chuỗi và kế toán kho, màn hình kiểm kho và màn hình quản lý kỳ nguyên liệu.
Chương 5: Kết luận và hướng phát triển
Chương 5 tổng kết toàn bộ kết quả triển khai đề tài, đánh giá mức độ đáp ứng của sản phẩm so với các mục tiêu nghiên cứu đã đặt ra, đồng thời đề xuất các định hướng nâng cấp hệ thống trong tương lai.
Kết quả và đóng góp
Đồ án đã đạt được các kết quả cụ thể:
- Xây dựng hoàn chỉnh website quản lý chuỗi cửa hàng cà phê tích hợp đầy đủ hai phân hệ chính: phân hệ bán hàng tại quầy và phân hệ quản lý kho - chuỗi cung ứng nội bộ.
- Thiết kế và triển khai thành công mô hình cơ sở dữ liệu quan hệ gồm 21 bảng chuẩn hóa, hỗ trợ quản lý chi tiết từ danh mục sản phẩm, nhân sự, bảng giá, phân quyền cho đến từng kỳ kiểm kê kho.
- Mô hình hóa và xây dựng thành công 76 ca sử dụng (Use Case), phục vụ chính xác 8 nhóm người dùng với các giao diện nghiệp vụ riêng biệt.
Đóng góp của đề tài so với các nghiên cứu và giải pháp phần mềm hiện có:
- Khắc phục triệt để hạn chế của các phần mềm như KiotViet và Suno bằng cách tích hợp module quản lý định mức công thức pha chế (mức nguyên liệu tối thiểu - tối đa cho từng ly đồ uống), hỗ trợ hạn chế thất thoát nguyên vật liệu tại chi nhánh.
- Tự động hóa bài toán tính giá vốn tồn kho bình quân gia quyền cho nguyên liệu mỗi khi nhập kho từ nhà cung cấp, khắc phục điểm yếu của KiotViet.
- Giải quyết bài toán quản lý chuỗi tập trung với cơ chế điều phối kho 2 cấp (Kho trung tâm $\rightarrow$ Kho chi nhánh) và cơ chế tự động đề xuất đơn hàng chuyển kho khi chạm mức tồn tối thiểu.
Hạn chế và hướng nghiên cứu tiếp
Hạn chế của đề tài:
- Hệ thống vận hành hoàn toàn phụ thuộc vào môi trường kết nối Internet liên tục, chưa hỗ trợ chế độ làm việc ngoại tuyến (offline mode) khi mất kết nối mạng tại chi nhánh.
- Phạm vi triển khai tập trung chủ yếu vào máy tính để bàn thông qua trình duyệt web trên hệ điều hành Windows, chưa tối ưu hóa giao diện chuyên biệt cho các thiết bị di động cầm tay.
Hướng phát triển tiếp theo được tác giả đề xuất:
- Mở rộng các phân hệ quản lý tài chính chuyên sâu, tự động hạch toán kế toán chi tiết.
- Tích hợp thêm các cổng thanh toán điện tử trực tuyến (ví điện tử, thẻ ngân hàng, mã QR) tại phân hệ thu ngân.
- Phát triển ứng dụng di động dành riêng cho khách hàng (đặt món từ xa, tích điểm thành viên) và ứng dụng di động cho cấp quản lý để theo dõi điều hành tức thời.
Giá trị tham khảo
Đồ án là tài liệu tham khảo hữu ích cho các nhóm đối tượng:
- Sinh viên ngành Công nghệ thông tin và Kỹ thuật phần mềm: Cung cấp tài liệu tham khảo thực tế về cách thức kết hợp giữa Back-end Spring Boot RESTful API và Front-end Angular 8.0, phương pháp tổ chức mã nguồn bằng TypeScript/Java, cũng như quy trình phân tích thiết kế hệ thống theo chuẩn UML với đầy đủ biểu đồ Use Case, Sequence Diagram, Class Diagram và lược đồ CSDL ERD.
- Lập trình viên và nhà phát triển ứng dụng F&B: Cung cấp giải pháp mẫu về thiết kế kiến trúc phân hệ bán hàng thời gian thực sử dụng Pusher và kỹ thuật quản lý bảng dữ liệu lớn với PrimeNG TurboTable.
- Nhà quản lý kinh doanh chuỗi F&B: Cung cấp cơ sở nghiệp vụ rõ ràng về quy trình điều phối nguyên liệu hai cấp, công thức tính giá vốn bình quân và phương pháp kiểm soát định mức pha chế chống thất thoát tồn kho.
Câu hỏi thường gặp
1. Khóa luận này giải quyết những hạn chế nào của hai phần mềm quản lý KiotViet và Suno?
Khóa luận tập trung giải quyết hai hạn chế lớn được tác giả chỉ ra trong phần khảo sát: thứ nhất là bổ sung chức năng xây dựng định mức công thức pha chế cho từng món thức uống (cả KiotViet và Suno đều chưa có); thứ hai là tự động tính toán giá vốn tồn kho của nguyên liệu theo phương pháp bình quân gia quyền mỗi khi nhập kho (KiotViet chưa tính được) và hỗ trợ quản lý liên chi nhánh tập trung thay vì giới hạn trên phạm vi đơn lẻ (nhược điểm của Suno).
2. Hệ thống phân chia người dùng thành bao nhiêu nhóm vai trò?
Hệ thống phân chia thành 8 nhóm người dùng dựa trên nhiệm vụ chức năng: Quản trị viên (Admin), Quản lý chuỗi, Quản lý kho trung tâm, Kế toán, Quản lý chi nhánh, Nhân sự (HR), Thu ngân và Nhân viên bếp.
3. Công thức tính giá vốn nguyên liệu mới khi nhập hàng từ nhà cung cấp được xác định như thế nào?
Giá vốn mới được tính tự động theo công thức bình quân gia quyền:
$$\text{Giá vốn mới} = \frac{(\text{Số lượng tồn} \times \text{Giá vốn cũ}) + (\text{Số lượng nhập} \times \text{Giá từ NCC})}{\text{Số lượng tồn} + \text{Số lượng nhập}}$$
4. Cơ chế tự động kích hoạt đơn hàng chuyển kho giữa kho trung tâm và kho chi nhánh hoạt động ra sao?
Khi số lượng nguyên liệu trong kho chi nhánh giảm xuống chạm hoặc dưới ngưỡng tồn tối thiểu (min_inventory), hệ thống sẽ tự động khởi tạo một đơn hàng chuyển kho. Số lượng nguyên liệu cần nhập được tự động tính toán để lượng tồn sau nhập đạt đúng mức tồn tối đa (max_inventory) đã thiết lập cho chi nhánh đó.
5. Công nghệ nào được tác giả sử dụng để đồng bộ thông tin đơn hàng thời gian thực giữa thu ngân và bộ phận pha chế?
Tác giả sử dụng dịch vụ Pusher kết hợp giao thức WebSockets/HTTP và mô hình Publish/Subscribe để truyền thông điệp thời gian thực giữa các phân hệ, giúp hiển thị ngay danh sách thức uống cần pha chế cho nhân viên bếp ngay sau khi thu ngân hoàn tất tạo đơn.
Kết luận
Đồ án tốt nghiệp "Ứng dụng Angular 8.0 và Spring Restful API vào việc xây dựng website quản lý chuỗi cửa hàng cà phê" của sinh viên Võ Gia Huy và Phan Thị Huỳnh Tú (Trường Đại học Sư phạm Kỹ thuật TP.HCM, 2020) đã giải quyết thành công bài toán số hóa quy trình quản trị chuỗi F&B với hai phân hệ then chốt là bán hàng và quản lý kho. Bằng việc kết hợp kiến trúc Spring Boot RESTful API ở phía máy chủ và Angular 8 cùng PrimeNG ở phía giao diện người dùng, hệ thống đảm bảo tính phân tầng rõ ràng, khả năng xử lý nghiệp vụ chính xác và tính năng thông báo thời gian thực qua Pusher. Công trình cung cấp giải pháp thiết thực cho việc quản lý định mức công thức thức uống và tự động hóa tính giá vốn tồn kho, đóng vai trò là tài liệu tham khảo hoàn chỉnh về phân tích thiết kế phần mềm doanh nghiệp cho sinh viên và kỹ sư công nghệ thông tin.