KHẢO SÁT
Khảo Sát Hiện Trạng Về Mặt Tổ Chức
Qua khảo sát cửa hàng bán xe Honda toạ lạc tại đường Nơ Trang Long, Phường 7, Quận Bình Thạnh, TPHCM, cơ cấu tổ chức của cửa hàng như sau
+ Quản lý cửa hàng: Đứng đầu cửa hàng, chịu trách nhiệm với công ty về hoạt động của cửa hàng, theo dõi tình hình hoạt động
+ Nhân viên bán hàng: Có nhiệm vụ tư vấn và bán các sản phẩm Honda cho khách hàng + Nhân viên giao hàng: Chịu trách nhiệm vận chuyển và giao hàng cho khách hàng
+ Nhân viên kỹ thuật: Những người này phụ trách việc sửa chữa vào bảo dưỡng xe Họ cần có kiến thức chuyên môn về các loại xe Honda
+ Nhân viên phụ tùng: Nhân viên này phụ trách việc quản lý và bán các phụ tùng xe
+ Bảo vệ: Đảm bảo an ninh cho cửa hàng.
Khảo Sát Vi Mô
Qua khảo sát mỗi bộ phận hiện giờ tầm 4 hoặc 5 nhân viên, vậy quy mô cửa hàng dao động từ 20-30 nhân viên
Khảo Sát Về Tin Học
Nhân viên phụ tùng Bảo vệ
Hình 1 sơ đồ cấu trúc tổ chức của cửa hàng honda
Qua khảo sát hiện nay tất cả các phòng nhận thấy đều trang bị mỗi phòng 1 máy tính và máy in đều có kết nối mạng Lan và kết nối internet, về phần mềm mỗi phòng đều trang bị những phần mềm cơ bản như HĐH Windows, Microsoft Ofice, Unikey…
PHÂN TÍCH
Lưu trữ
- Lưu trữ thông tin về các loại xe
- Lưu trữ thông tin về nhà sản xuất
- Lưu trữ thông tin về đại lý
- Lưu trữ thông tin về khách hàng
- Lưu trữ thông tin về nhân viên bán hàng
- Lưu trữ thông tin về số lượng xe nhập về
- Lưu trữ thông tin về hoá đơn đặt hàng, bán hàng
- Lưu trữ thông tin về lịch sử mua hàng
Tra cứu
- Tra cứu thông tin về giá
- Tra cứu về nhà sản xuất
- Tra cứu về nhà thiết kế, kỹ sư
- Tra cứu cửa hàng gần nhất
- Tra cứu bằng hình ảnh
- Tra cứu phân loiaj theo mô hình, dòng sản phẩm
- Tra cứu lịch sử mua hàng
- Tra cứu theo sở thích
- Tra cứu theo deal giảm giá4
Thống kê
- Đánh giá của khách hàng
Tính toán
- Hệ thống sẽ có chức năng tự động tính toán giá trị của đơn hàng dựa trên số lượng xe, giá bán, thuế và các chi phí liên quan
- Hỗ trợ tính toán tự động thuế theo quy định của pháp luật, bao gồm cả thuế giá trị gia tăng (VAT) và các loại thuế khác nếu có
- Hệ thống sẽ tính toán chi phí vận chuyển dựa trên địa chỉ giao hàng và phương tiện vận chuyển được chọn
- Tính toán tổng giá trị của đơn hàng bao gồm giá xe, thuế, chi phí vận chuyển và các chi phí khác, để cung cấp thông tin chi tiết cho người dùng.
Phân quyền
- Hệ thống sẽ có chức năng quản lý người dùng và xác định vai trò của họ để đảm bảo mỗi người dùng chỉ có quyền truy cập vào những phần thông tin và chức năng cần thiết
- Chức năng này cho phép phân quyền theo từng module của hệ thống, giúp quản trị viên dễ dàng kiểm soát quyền truy cập của từng người dùng
- Bảo mật thông tin người dùng bằng cách quản lý mật khẩu và đảm bảo quy trình đăng nhập an toàn.
Sao lưu
- Hệ thống sẽ tự động thực hiện quá trình sao lưu dữ liệu định kỳ theo lịch trình được đặt trước, giảm rủi ro mất dữ liệu
- Bảo vệ dữ liệu bằng cách tạo bản sao lưu đa cấp, giúp khôi phục dữ liệu từ nhiều điểm thời gian khác nhau
- Dữ liệu sao lưu sẽ được lưu trữ ở nơi an toàn và có thể truy cập nhanh chóng khi cần thiết
- Hệ thống sẽ cung cấp báo cáo và thông báo về quá trình sao lưu, bao gồm cả kết quả và thông tin chi tiết về sao lưu.
Chức năng phụ
- Cung cấp khả năng in ấn bảng kê, báo cáo và các tài liệu khác để phục vụ nhu cầu quản lý và báo cáo của người dùng
- Cho phép người dùng xuất dữ liệu sang định dạng Excel để dễ dàng sử dụng và chia sẻ thông tin
- Hỗ trợ kết nối API để tích hợp với các hệ thống khác như hệ thống kế toán, quản lý khách hàng hoặc các ứng dụng di động khác.
THIẾT KẾ
Lưu trữ
Các thông tin cần lưu trữ bao gồm:
- Thông tin về các dòng xe: mã dòng xe, tên dòng xe, loại xe, thương hiệu
- Thông tin về các mẫu xe: mã mẫu xe, tên mẫu xe, giá bán, màu sắc, phiên bản
- Thông tin về các phiên bản xe: mã phiên bản, tên phiên bản, thông số kỹ thuật
- Thông tin về các phụ kiện xe: mã phụ kiện, tên phụ kiện, giá bán
- Thông tin về khách hàng: mã khách hàng, họ tên, địa chỉ, số điện thoại, email, sở thích
- Thông tin về nhân viên bán hàng: mã nhân viên, họ tên, chức vụ
- Thông tin về các chi nhánh cửa hàng: mã chi nhánh, tên chi nhánh, địa chỉ, số điện thoại, email
- Thông tin về hóa đơn bán hàng: mã hóa đơn, ngày lập hóa đơn, tổng giá trị hóa đơn, danh sách sản phẩm
- Thông tin về lịch sử mua hàng: mã khách hàng, mã hóa đơn, ngày lập hóa đơn, tổng giá trị hóa đơn, danh sách sản phẩm
- Thông tin về bảo hành, bảo dưỡng: mã bảo hành, mã khách hàng, mã xe, ngày bắt đầu bảo hành, ngày hết hạn bảo hành, lịch sử bảo dưỡng
Tra cứu
Các chức năng tra cứu bao gồm:
- Tra cứu thông tin của xe: mã xe, tên xe, loại xe, thương hiệu, giá bán, màu sắc, phiên bản, thông số kỹ thuật
- Tra cứu thông tin của phụ kiện: mã phụ kiện, tên phụ kiện, giá bán
- Tra cứu thông tin của khách hàng: mã khách hàng, họ tên, địa chỉ, số điện thoại, email, sở thích
- Tra cứu thông tin của nhân viên bán hàng: mã nhân viên, họ tên, chức vụ
- Tra cứu thông tin của các chi nhánh cửa hàng: mã chi nhánh, tên chi nhánh, địa chỉ, số điện thoại, email
- Tra cứu thông tin của hóa đơn bán hàng: mã hóa đơn, ngày lập hóa đơn, tổng giá trị hóa đơn, danh sách sản phẩm
- Tra cứu lịch sử mua hàng: mã khách hàng, mã hóa đơn, ngày lập hóa đơn, tổng giá trị hóa đơn, danh sách sản phẩm
- Tra cứu thông tin bảo hành, bảo dưỡng: mã bảo hành, mã khách hàng, mã xe, ngày bắt đầu bảo hành, ngày hết hạn bảo hành, lịch sử bảo dưỡng
Thống kê
Các chức năng thống kê bao gồm:
- Doanh số bán hàng: theo ngày, theo tuần, theo tháng, theo năm
- Thống kê khách hàng: số lượng khách hàng, doanh số của khách hàng, số lần mua hàng của khách hàng
- Thống kê sản phẩm: số lượng sản phẩm bán được, doanh số sản phẩm, sản phẩm bán chạy
- Thống kê phụ kiện: số lượng phụ kiện bán được, doanh số phụ kiện, phụ kiện bán chạy
- Thống kê chi nhánh cửa hàng: doanh số của chi nhánh, số lượng khách hàng của chi nhánh
- Thống kê nhân viên bán hàng: doanh số của nhân viên, số lượng khách hàng của nhân viên
- Tính toán giá bán: dựa trên giá niêm yết, chiết khấu, phí bảo hành
- Tính toán doanh số: dựa trên giá bán, số lượng sản phẩm
- Tính toán tồn kho: dựa trên số lượng nhập về, số lượng xuất kho
- Phân quyền cho nhân viên: quyền truy cập, quyền chỉnh sửa
- Sao lưu dữ liệu định kỳ
- Chạy trên nhiều nền tảng khác nhau: web, mobile
- Chạy nhanh hơn: tối ưu hóa cơ sở dữ liệu, sử dụng các công cụ tối ưu hóa hiệu suất
- Tùy chỉnh giao diện theo mùa, custom theo sự kiện: thay đổi màu sắc, hình ảnh, nội dung giao diện
Tạo CSDL cho hệ thống
❖ Danh sách các thực thể và thuộc tính: o KieuXe:
Mô hình logic
Hình 2mô hình logic
Mô hình vật lí
Hình 3mô hình vật lí
Mô hình quan hệ
CT_PHIEUNHAP(MaPN, MaHang, DonGiaPN, SLNhap, Thue, ThanhTien)
CT_PHIEUTRA(MaPT, MaHang, SL, ThanhTien)
CT_PHIEUXUAT(MAPX, MAXE, SOLUONG, DONGIA, THUE )
KHACHHANG(MAKH, TENKH, DIACHIKH, SDTKH, EMAILKH, CCCD)
KIEUXE(MAKXE, TENKXE, MOTAKXE, DONGIAPN, DONGIABAN, SOLUONG,
NHACUNGCAP(MANCC , TENNCC, SDTNCC, EMAILNCC, DIACHINCC)
THUTGOP MaTG MaNV SoLan NgayThu GhiChu NgNop char(20) char(20) int date text varchar(200)
TTTGOP MaTTTG MaTG ThoiGian ConNo LaiXuat SoLanTT char(20) char(20) datetime float float int
PHIEUTHU MaPT MaTTTG MaNV NgayThu HinhThuc SoTienTraT TongTienThu char(20) char(20) char(20) date varchar(200) float float
NHANVIEN MaNV MaCV TenNV NgaySinh GioiTinhNV DiaChiNV SDTNV EmailNV Luong char(20) char(20) varchar(200) date bool varchar(200) numeric(8,0) varchar(200) float
char(20) varchar(200) varchar(200) numeric(8,0) char(200) numeric(8,0)
NHACUNGCAP MaNCC TenNCC SDTNCC EmailNCC DiaChiNCC char(20) varchar(200) numeric(8,0) char(200) varchar(200)
KIEUXE MaKXe TenKXe MoTaKXe char(20) varchar(200) varchar(200)
XEMAY MaXe MaMau MaHang SoMay SoKhung TrangThai char(20) char(20) char(20) char(20) char(20) bool
MAUSAC MaMau TenMau char(20) varchar(200)
LOAIXE MaHang MaKXe TenHang SoLuong DonGiaPN DonGiaBan char(20) char(20) varchar(200) int float float
PHIEUTRAHANG MaPTH MaPN MaNV NgayTra TongTien char(20) char(20) char(20) date float
PHIEUNHAP MaPN MaNCC MaNV NgayNhap ThanhToan TongTienPN SoTienDaTra char(20) char(20) char(20) date bool float float
PHIEUXUAT MaPX MaNV MaKH NgayXuat TongTPX TrangThai char(20) char(20) char(20) date float bool
char(20) char(20) char(20) date varchar(200) bool
CHUCVU MaCV TenCV char(20) varchar(200)
CT_PhieuNhap MaPN MaHang DonGiaPN SoLuongNhap Thue ThanhTienCTPN char(20) char(20) float int float float
CT_PhieuTra MaPTH MaHang SoLuong ThanhTien char(20) char(20) int float
CT_PhieuXuat MaPX MaXe Thue char(20) char(20) float
NHANVIEN(MANV, MACV, TENNV, NGAYSINH, GIOITINHNV, DIACHINV,
SDTNV, EMAILNV, LUONG, CCCDNV, NGAYSTART)
PHIEUBH(MAPBH, MANV, MAKH, NGAYBH, TINHTRANG, HOANTHANH)
PHIEUNHAP(MAPN, MANCC, MANV, NGAYNHAP, THANHTOAN, TONGTIEN,
PHIEUTHU(MAPT, MATTTG, MANV, NGAYTHU, HINHTHUC, SOTIENTRAT, TONGTIENTHU)
PHIEUTRAHANG(MAPTH, MAPN, MANV, NGAYTRA, TONGTIEN)
PHIEUXUAT(MAPX, MANV, MAKH, NGAYXUAT, TONGTPX, TRANGTHAI) THUTGOP(MATG, MANV, SOLAN, NGAYTHU, GHICHU, NGNOP)
TTTGOP(MATTTG, MATG, THOIGIAN, CONNO, LAIXUAT, SOLANTT)
XEMAY(MAXE, MAMAU, SOMAY, SOKHUNG, TRANGTHAI, MAKXE)
Bảng thuộc tính
Stt Name Data type length Not null
Stt Name Data type length Not null
Stt Name Data type length Not null
Stt Name Data type length Not null
Stt Name Data type length Not null
Stt Name Data type length Not null
Stt Name Data type length Not null
Stt Name Data type length Not null
Stt Name Data type length Not null
Stt Name Data type length Not null
Stt Name Data type length Not null
Stt Name Data type length Not null
Stt Name Data type length Not null
Stt Name Data type length Not null
Stt Name Data type length Not null
Stt Name Data type length Not null
Stt Name Data type length Not null
Stt Name Data type length Not null
thiết kế giao diện
Hình 4 giao diện trang chủ
Hình 5 danh sách nhân viên
Hình 6 form thêm nhân viên
Hình 7 danh sách khách hàng
Hình 8 form thêm khách hàng
Hình 9 danh sách chức vụ
Hình 10 form thêm chức vụ
Hình 11 danh sách chức vụ
Hình 12 form lập phiếu nhập
- Danh Mục Nhà Cung Cấp
Hình 13 danh sách nhà cung cấp
Hình 14 form thêm nhà cung cấp
Hình 15 danh sách các kiểu xe
LẬP TRÌNH
Môi Trường Phát triển
- Trong quá trình phát triển, chúng tôi sử dụng VS Code là môi trường phát triển chính với sự hỗ trợ đầy đủ cho HTML, CSS, JavaScript, và PHP VS Code giúp tối ưu hóa trải nghiệm lập trình với tính năng tự động hoàn thành mã, kiểm tra lỗi và tích hợp các extension hữu ích
- Đối với phát triển frontend (giao diện người dùng), chúng tôi sử dụng HTML, CSS và JavaScript, với việc tích hợp các thư viện như Bootstrap để tạo ra giao diện responsively và hấp dẫn JavaScript được sử dụng chủ yếu để tương tác với người dùng và làm cho trang web trở nên động
- Đối với backend, chúng tôi sử dụng PHP làm ngôn ngữ chính để xử lý logic kinh doanh và kết nối với cơ sở dữ liệu Sự linh hoạt và tính chất dễ học của PHP giúp chúng tôi nhanh chóng triển khai các chức năng quản lý mua bán xe.
Sử Dụng Ajax (Với jQuery)
- Sử dụng Ajax để gửi các yêu cầu HTTP từ trang web đến các API
Vd với thêm nhà cung cấp
$('.fdsncc').hide(); console.log("Add button clicked"); var datasend = {}; queryDataGet(" /php/maxmancc.php", datasend, function (res) { console.log(res); // Xem toàn bộ đối tượng res để biết cấu trúc và giá trị của nó var arr = res.items; if (arr.length > 0 && arr[0].MANCC !== null) { var mapnValue = parseInt(arr[0].MANCC) + 1;
$(".mancc").val(1); // hoặc giá trị mặc định khác nếu cần }
$(".luuncc").prop('disabled', false); flag = 1; // Set flag for Add action
4.3 Xử Lý Dữ Liệu Nhận Được:
- Trong hàm `success`, có thể xử lý dữ liệu nhận được từ API Điều này có thể bao gồm việc hiển thị dữ liệu lên trang, xử lý sự kiện, hoặc thậm chí là chuyển hướng trang queryDataGet(" /php/datancc.php", datasend, function (res) { console.log("jQuery is okay"); console.log(res); var arr = res.items; var data = ''; var stt = 1; for (var x in arr) { item = arr[x]; data = data + '' +
' Xóa ' +
'Sửa' +
Bảo Mật và Xử Lý Lỗi
- Luôn luôn xử lý lỗi và bảo mật khi làm việc với API Kiểm tra và xử lý lỗi trả về từ API, và đảm bảo rằng dữ liệu được gửi và nhận an toàn
//api php lấy tất cả thông tin trả về client require_once("server.php");
$rs=mysqli_query($conn,$sql);
$mang=array(); while($rows=mysqli_fetch_array($rs)){
$usertemp['DIACHINCC']=$rows['DIACHINCC']; array_push($mang,$usertemp);
$jsondata['items']=$mang; echo json_encode($jsondata); mysqli_close($conn);
Hiển Thị Thông Báo hoặc Loading Spinner
- Trong quá trình chờ dữ liệu từ API, bạn có thể hiển thị thông báo hoặc biểu tượng loading để thông báo cho người dùng về quá trình tải
$(".addncc").html('Đang tải dữ liệu');
Quy trình nhập liệu ban đầu
- Dữ liệu ban đầu được nhập vào cơ sở dữ liệu thông qua các lệnh INSERT SQL Quy trình này bao gồm việc kiểm tra và đảm bảo tính nhất quán của dữ liệu