Giao diện loại xe ..... c các công viả ệc đã thực hi n và linh kiệ ện đã được thay th... 14 Tên tắt thuộc tính Diễn gi i ả Loại giá trị Kiểu d u ữ liệ Chiều dài bu c ộS ố Thu tr góp: ảTê
Trang 22
phát tri n m nh mể ạ ẽ ở nước ta Có th nói, v i s phát triể ớ ự ển như vũ bão của khoa h c và công ọ
ích cho cu c sộ ống Nó đang chiếm ph n l n trong vi c ph c v cầ ớ ệ ụ ụ ủa nhi u ngành ngh ề ề cũng như
cho quá trình quản lý đạt hi u qu cao trong vi c gi m t i thi u v nhân l c, thệ ả ệ ả ố ể ề ự ời gian cũng như tránh th t l c, sai sót d u thay vì vi c qu n lý b ng giấ ạ ữ liệ ệ ả ằ ấy tờ ằng phương pháp cổ b truyền như trước đây Hơn nữa nó còn giúp cho việc tra cứu, tìm kiếm thông tin một cách nhanh chóng,
sống ngày càng được c i thi n, nhu c u cả ệ ầ ả v v t ch t l n tinh 10 th n cề ậ ấ ẫ ầ ủa con người ngày càng được nâng cao, t đó các lĩnh vực v v n t i ngày cừ ề ậ ả ảng được đẩy m nh và phát tri n Vi c áp ạ ể ệ
cùng c p thiấ ết để theo k p thị ời đạ ạo ra đượi,t c s c nh tranh lự ạ ớn trong kinh doanh cũng như đáp
ứng kịp thời nhu c u và làm h i l ng các khách hàng khó tính nh t Nh ng ki n th c c n thi t ầ ả ỏ ấ ữ ế ứ ầ ế
hành và c nh ng l i gi ng gi i t n tình c a th y trong nh ng bu i ngoài gi hả ữ ờ ả ả ậ ủ ầ ữ ổ ờ ọc để chúng em
có th h c t p rèn luyể ọ ậ ện để ồi đi từ r lý thuyết t i vi c áp d ng vào th c tớ ệ ụ ự ế Để thực hi n t t báo ệ ố
nhiên do s hi u bi t c a em v ự ể ế ủ ề lĩnh vực này còn chưa sâu sắc, do bước đầu đi vào thực tế, tìm
Ngh Thông Tin d i dào s c kh e, niệ ồ ứ ỏ ềm tin để tiế p t c th c hi n s mụ ự ệ ứ ệnh cao đẹp c a mình là ủtruyền đạt ki n thế ức cho th h mai sau M t l n n a em xin chân thành cế ệ ộ ầ ữ ảm ơn
Trang 33
GIAÓ VIÊN HƯỚNG DẪN
Trang 44
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN 3
Chương 1: Khảo sát 6
1 Khảo sát hi n tr ng v mệ ạ ề ặt tổ chức: 6
2 Khảo sát v vi mô:ề .6
3 Khảo sát v tin h c:ề ọ .6
CHƯƠNG 2: Mô t quy trình ả .7
1 Quy trình qu n lý nh p xe máy:ả ậ .7
2 Quy trình qu n lý xu t xe máy:ả ấ .7
3 Quy trình qu n ý bả ảo hành xe máy: 8
CHƯƠNG 3 Vẽ các sơ đồ 9
1 Mô hình ERD c a h ủ ệ thống: 9
2 Mô hình PFD: 16
CHƯƠNG 4 Thiết kế giao diện 18
1 Danh m c lo i xe:ụ ạ 18
2 Danh m c ki u xe:ụ ể 18
3 Danh m c khách hàng:ụ 19
4 Danh m c nhân viên:ụ 19
5 Danh m c ch c vụ ứ ụ: 20
6 Danh m c khách hàng:ụ 20
7 Danh m c màu sụ ắc: 21
8 Danh m c NCC:ụ 21
9.Danh m c xe máy:ụ 21
Chương 5: Lập trình: 22
Chương 6: Kiểm th : ử 38
Chương 7: Kết luận: 40
Trang 55
Hinh 1 Sơ đồ ERD 9
Hinh 2 Sơ đồ PFD 16
Hinh 3 Giao diện loại xe 18
Hinh 4 Giao di n kiệ ểu xe 18
Hinh 5 Giao di n khách hàng ệ 19
Hinh 6 Giao di n nhân viên ệ 20
Hinh 7 Giao di n ch c v ệ ứ ụ 20
Hinh 8 Giao di n khách hàng ệ 21
Hinh 9 Giao di n màu s c ệ ắ 21
Hinh 10 Ki m th nút thêm ể ử 38
Hinh 11 Ki m th nút xóa ể ử 38
Hinh 12 Ki m th nút s a ể ử ử 39
Hinh 13 Postman 39
PHP 1 data_get_kieu_xe_page 22
PHP 2 data_get_kieu_xe_cb 22
PHP 3 xoa_kieuxe 23
PHP 4.update_kieuxe 23
PHP 5 m_kieuxe 23
PHP 6 sua_kieuxe 24
PHP 7 them_kieuxe 24
PHP 8 them_loaixe 29
PHP 9 xoa_loaixe 30
PHP 10.update_loaixe 30
PHP 11 m_loaixe 31
PHP 12 sua_loaixe 31
PHP 13.data_get_loaixe_page 31
PHP 14.data_get_loai_xe_cb 32
Trang 6đều có k t n i m ng Lan và k t n i internet, v ph n m m m i phòng mế ố ạ ế ố ề ầ ề ỗ ỗi máy đều trang bị
Giám đốc
TP bán
hàng TP kế toán marketing TP
Phó Giám đốc
Trang 77
CHƯƠNG 2: Mô tả quy trình
1 Quy trình qu n lý nh p xe máy:ả ậ
c u c a nhà cung c p, tuân th ầ ủ ấ ủ theo điều khoản thanh toán đã thống nhất trước đó
cung c p ấ
L p Phi u Nh p Hàng Sau khi ki m tra và ch p nh n xe, nhân viên nh p hàng l p phi u ậ ế ậ : ể ấ ậ ậ ậ ế
nhập hàng để ghi chép thông tin chi ti t v s ế ề ố lượng xe, thông s k thu t, và các thông ố ỹ ậ
Cập Nh t H ậ ệ Thống: Thông tin v ề xe được c p nh t vào h ậ ậ ệ thống c a củ ửa hàng để đảm
b o s ng b trong qu n lý kho và thông tin s n phả ự đồ ộ ả ả ẩm
2 Quy trình qu n lý xu t xe máy: ả ấ
viên bán hàng
v tình tr ng này ề ạ
vào h ệ thống c a c a hàng ủ ử
Trang 88
tin chi ti t v giao d ch và s n ph m Ngoài ra, n u có, s l p phi u bế ề ị ả ẩ ế ẽ ậ ế ảo hành để đảm b o ả
v ề các tính năng và sử ụng cơ bả d n c a xe ủ
3 Quy trình qu n ý b o hành xe máy:ả ả
Kiểm Tra Điều Kiện Bảo Hành: Nhân viên kỹ thuật sẽ kiểm tra xem xe của khách hàng
sửa ch a ho c thay th các linh ki n c n thiữ ặ ế ệ ầ ết để đảm b o xe hoả ạt động đúng cách
c các công viả ệc đã thực hi n và linh kiệ ện đã được thay th ế
hoàn t t b o hành và sấ ả ẵn sàng để giao xe tr l i Th i gian giao xe có th tùy thu c vào ở ạ ờ ể ộtình tr ng c ạ ụ thể ủ c a xe và th a thuỏ ận trước đó với khách hàng
Trang 1111
Tên tắt thuộc
Diễn gi i ả Loại giá trị Kiểu d u ữ liệ Chiều dài
Trang 12bu c ộ
Luận lý
Tên tắt thuộc
Diễn gi i ả Loại giá trị Kiểu d u ữ liệ Chiều dài
bu c ộ
Ngày
bu c ộ
Trang 1313
Phiếu nh p: ậ
Tên tắt thuộc
tính
Diễn gi i ả Loại giá trị Kiểu dữ liệu Chiều dài
bu c ộ
S ố
Phiếu thu:
Tên tắt thuộc tính Diễn gi i ả Loại giá trị Kiểu d u ữ liệ Chi u dài ề
Trang 1414
Tên tắt thuộc tính Diễn gi i ả Loại giá trị Kiểu d u ữ liệ Chiều dài
Trang 24$('.makxe').on('keydown', function(event) {
(ifevent keyCode === ) { 13 // 13 là mã phím cho phím Enter
varinputValue=$(this).val();
if (inputValue.trim() !== ) { ''
$(this).val('mx' +inputValue );
}
}
Trang 25//Khi click trang 2 thì di chuyển qua 2 dòng kế tiếp
$(".pagenumbercx").on("click", "button", function () {
pagecurrent_cx=$(this).val();
loadKieuXe_page $( (this).val(), record);
});
varflag= ; 0
$(".btnluukieuxe").prop('disabled', true);
$(".btnsuakieuxe").prop('disabled', true);
$(".btnthemkieuxe").click(function () {
console.log("nut them ok");
$(".btnthemkieuxe").prop('disabled', true);
$(".btnlamlaikieuxe").click(function () {
console.log("nut them ok");
$(".btnthemkieuxe").prop('disabled', false);
$(".addDataKieuXe").on('click', '.click_xoa', function() {
console.log("da click nut xoa");
varmakxe=$(this).attr("data-makxe");
console.log(""+makxe);
bootbox.confirm('Bạn có chắc xóa '+makxe+' mã kiểu xe này ?',
Trang 26$(".addDataKieuXe").on('click', '.click_sua', function() {
varmakxe=$(this).attr("data-makxe");
vartenkxe=$(this).attr("data-tenkxe"); // Fix here
varmotakxe = (this).attr("data-motakxe");
$(".makxe").val(makxe);
$(".tenkxe").val(tenkxe);
$(".motakxe").val(motakxe);
$(".btnluuchuyenxe").prop('disabled', false);
makxe:$(".makxe").val(),
tenkxe:$(".tenkxe").val(),
motakxe:$(".motakxe").val(),
};
console.log(datasend);
queryDataPost(" /php/them_kieuxe.php", datasend, function (res) {
console.log(res);
(ifres.success==1) {
bootbox.alert('Thêm dữ liệu vào thành công!');
loadKieuXe_page(0record)
} else if (res.success==0) {
bootbox.alert('Thêm dữ liệu vào thất bại!');
} else {
bootbox.alert('Dữ liệu đã bị trùng');
}
Trang 2727
} else if (flag==2) {
console.log("sua du lieu ");
vardatasend= {
makxe:$(".makxe").val(),
tenkxe:$(".tenkxe").val(),
motakxe:$(".motakxe").val(),
};
console.log(datasend);
queryDataPost(" /php/update_kieuxe.php", datasend, function (res)
} else if (res.success==0) {
bootbox.alert('Thêm dữ liệu vào thành công thất bại!');
$(".addDataKieuXe").html('<img src="images/loading.gif" width="30px"
height="30px"/> Đang tải dữ liệu');
queryDataGet(" /php/data_get_kieu_xe_page.php", datasend, function (res)
{
console.log(res);
vararr =res items ;
for (varx inarr) {
varitem=arr[x];
data=data +'<tr>' +
'<th scope="row">' +i +'</th>'+
'<td>'+item.MAKXE+'</td>' +
Trang 2828
'<td>'+item motakxe +'</td>' +
'<td><span class="badge badge-danger click_xoa"
data-makxe="' +item.makxe +'">' +
'<i class="fa fa-bitbucket"></i> Xóa</span> '+
'<span class="badge badge-danger click_sua" data-makxe="'
+item.makxe +'" data-tenkxe="' +item.tenkxe+'" data-motakxe="' +
ite motakxem +'"><i class="fa fa-edit"></i>Sửa</span></td>' +
functionloadKieuXe_page(page, record) {
varsearch=$(".txtsearch").val();
varcurrentpage=parseInt(res.page);
stt=printSTT(record, currentpage);
vardata=res.items;
(ifdata.length==0) {
$(".addDataKieuXe").html("không có dữ liệu");
loadKieuXe_page( ($this).val(), record)
$(".pagenumbercx").html(""
} else {
varhtmls= ; ''
for (varx indata) {
varitem=data[x];
'<td><span class="badge badge-danger click_xoa"
data-makxe="' +item.MAKXE +'">' +
Trang 2929
'<span class="badge badge-danger click_sua" data-makxe="'
+item.MAKXE +'" data-tenkxe="' +item.TENKXE+'" data-motakxe="'+
item.MOTAKXE+'"><i class="fa fa-edit"></i>Sửa</span></td>' +
Trang 3030 PHP 9 xoa_loaixe
PHP 10.update_loaixe
Trang 3131
PHP 11.tim_loaixe
PHP 12 sua_loaixe
PHP 13.data_get_loaixe_page
Trang 32//Khi click trang 2 thì di chuyển qua 2 dòng kế tiếp
$(".pagenumbercx").on("click" "button, ", function () {
pagecurrent_cx=$(this).val();
loadKieuXe_page $( (this).val(), record);
});
varflag=; //giả sử chưa thao tác (Thêm, sửa dữ liệu)
$(".btnclosekieuxe").click(function(){
$('.showkieuxe').modal('hide');
})
$(".btnluuloaixe").prop('disabled', true);
$(".addDataLoaiXe").on('click','.click_kieuxe',function(){
varmakxe=(this).attr("data-makxe");
Trang 3333
makxe:makxe
}
//dữ liệu chuẩn gửi lên server dạng đối tượng
console.log(datasend);
queryDataPost(" /php/data_get_loai_xe_cb.php",datasend,function(res){
console.log(res items );
$('.showkieuxe').modal('show');
varar=res.items;
$(".btnluuloaixe").prop('disabled', false);
flag=;// đã thao tác nhấn nút thêm
mahang:$(".txtmahang").val(),
tenhang:$(".txttenhang").val(),
soluong:$(".txtsoluong").val(),
dongiapn:$(".txtdongiapn").val(),
dongiaban:$(".txtdongiaban").val(),
makxe:$(".cbkxe").val(),
}
//dữ liệu chuẩn gửi lên server dạng đối tượng
console.log(datasend);
queryDataPost(" /php/them_loaixe.php",datasend,function(res){
console.log(res);
if(res.success==1){
/// alert("Thêm thành công");
bootbox.alert('Thêm dữ liệu vào thành công!');
Trang 34queryDataGet(" /php/data_get_kieu_xe_cb.php",datasend,function(res){
console.log(res);
vararr=res.items;
varoptions='';
for(var xinarr){
varoj=arr x[ ];
options options= + '<option
value="'+oj.MAKXE+'">'+oj.TENKXE+'</option>';
$(".addDataLoaiXe").html('<img src="images/loading.gif" width="30px"
height="30px" /><b><i>Đang tải dữ liệu</i></b>');
queryDataGet(" /php/data_get_loai_xe.php",datasend,function(res){
console.log(res);
vararr=res.items;
vardata='';
vari=;
for(var xinarr){
Trang 35'<td class= "click_kieuxe"
data-makxe="'+item makxe +'">'+item.tenkxe+'</td>'+'<td><span class="badge badge
-danger click_xoa" data-txtmahang="'+item.MAHANG+'">'+
'<i class="fa fa-bitbucket"></i> Xóa</span> '+
'<span class="badge badge-danger click_sua"
data-txtmahang="'+item.MAHANG+'" data-txttenhang="'+item.TENHANG+'"
data-txtmahang="'+item.MAHANG+'" data-txtsoluong="'+item.SOLUONG+'"
data-txtdongiapn="'+item.DONGIAPN+'" data-txtdongiaban="'+item.DONGIABAN+'"><i
$(".addDataKieuXe").html('<img src="images/loading.gif" width="30px"
height="30px"/> Đang tải dữ liệu');
queryDataGet(" /php/data_get_kieu_xe_page.php", datasend, function (res)
{
console.log(res);
vararr =res items ;
for (varx inarr) {
varitem=arr[x];
data=data +'<tr>' +
'<th scope="row">' +i+'</th>' +
Trang 3636
'<td>'+item.TENKXE +'</td>' +
'<td>'+item motakxe +'</td>' +
'<td><span class="badge badge-danger click_xoa"
data-makxe="' +item.makxe +'">' +
'<i class="fa fa-bitbucket"></i> Xóa</span> '+
'<span class="badge badge-danger click_sua" data-makxe="'
+item.makxe +'" data-tenkxe="' +item.tenkxe+'" data-motakxe="' +
item motakxe +'"><i class="fa fa-edit"></i>Sửa</span></td>' +
functionloadKieuXe_page(page record, ) {
varsearch=$(".txtsearch").val();
varcurrentpage=parseInt(res.page);
stt=printSTT(record, currentpage);
vardata=res.items;
(ifdata.length==0) {
$(".addDataKieuXe").html("không có dữ liệu");
loadKieuXe_page $( (this).val(), record)
$(".pagenumbercx").html(""
} else {
varhtmls= ; ''
for (varx indata) {
varitem=data[x];
Trang 3737
makxe="' +item.MAKXE +'">' +
'<i class="fa fa-bitbucket"></i> Xóa</span> '+
'<span class="badge badge-danger click_sua" data-makxe="'
+item.MAKXE +'" data-tenkxe="' +item.TENKXE+'" data-motakxe="' +
item.MOTAKXE+'"><i class="fa fa-edit"></i>Sửa</span></td>' +
Trang 3939
Hinh Ki m th nút s a 12 ể ử ử
- Kiểm th b ng postman ử ằ
Hinh Postman 13
Trang 40h ệ thống phân tích thi t k ế ế đã mô tả như ở trên.
3 Ưu và nhược điểm
Ưu điểm:
Nhược điểm:
B t l i h n chắ ỗ ạ ế, chưa hoàn thiện
X ử lý code chưa đượ ối ưu lắm.c t
4 Hướng phát triển