Tải bản đầy đủ (.docx) (42 trang)

Xây dựng phần mềm quản lý hoạt động thuê xe du lịch Csharp

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.97 MB, 42 trang )

Trường Đại Học Công Nghiệp Hà Nội
Khoa Công Nghệ Thông Tin

BÀI TẬP
LỚN
Môn: LẬP TRÌNH
WINDOWS
Đề tài 41. Xây dựng phần mềm quản lý
hoạt động thuê xe du lịch.
Giáo viên hướng dẫn: Ths. Đỗ Ngọc Sơn
Sinh viên thực hiện:
1. Trần Văn Bôn
2. Phạm Đình Chiến
3. Bùi Quang Khoa
Hà Nội 8-2013
Lời nói đầu
Xã hội ngày càng phát triển, con người ngày càng giàu có và văn minh hơn. Vì thế
nhu cầu đi lại, giải trí của họ cũng nhiều hơn, cao cấp hơn.
Trong thời kì khó khăn việc đi lại là một vấn đề nan giải, bởi phương tiện đi lại thiếu
thốn, cộng với việc không có tiền. Nhưng ngày nay điều đó thật đơn giản.
Bạn muốn đi đến công sở, nơi gặp gỡ đối tác mà không muốn tự mình lái xe thì taxi
là sự lựa chọn thông minh và tuyệt vời nhất.
Sau bao ngày làm việc căng thẳng, bạn muốn thư giãn, muốn tìm hiểu những vùng
đất mới, hay cùng gia đình đi thăm và tìm hiểu những vùng miền của đất nước thì đã
có xe du lịch đồng hành cùng bạn trên mọi nẻo đường.
Nếu trước kia ai có xe đạp đã được xem là phú hộ, giàu có. Sau đó xã hội phát triển
thêm một nấc nữa thì xe mày trở thành thế mạnh biểu trưng cho sự giàu sang thì ngày
nay xe hơi là đích đến của những người giàu có.
Những chiếc xe hơi sang trọng, đắt tiền không chỉ là ước mơ nữa mà đã thuộc về
những người nhiều tiền trong xã hội.
Hãy lựa chọn cho mình loại xe phù hợp nhất, để chúng thật sự là người bạn thân thiết


đồng hành cùng bạn trên mọi nẻo đường.
Từ những nhu cầu trên dịch vụ cho thuê xe ôtô, xe du lịch đã có điều kiện để phát
triển. Công ty Thành Hưng cho thuê xe chuyên nghiệp, uy tín và chất lượng ở Việt
Nam với việc cung cấp rất nhiều chủng loại xe từ 4-45 chỗ với đa dạng các hình thức
thuê như: thuê theo ngày và thuê dài hạn. Ngoài ra chúng tôi cũng cung cấp dịch vụ
cho thuê xe theo tuyến điểm du lịch, theo số km sử dụng. Chúng tôi có khả năng phục
vụ một cách tốt nhất nhu cầu của mỗi cá nhân, tổ chức và đặc biệt các công ty nước
ngoài ở Việt Nam.
Contents
Kỹ thuật phần mềm 2_k6 Đại học công nghiệp
Bảng phân công công việc
Mã SV Họ tên Công việc được phân
0641360130 Trần Văn Bôn Xây dựng Modul QL thuê xe và Xử lý Đăng
Nhập Phần mềm, viết báo cáo
0641360137 Phạm Đình Chiến Khảo sát, Xây dựng Modul QL thông tin hồ sơ
0641360148 Bùi Quang Khoa Xây dựng Modul QL tìm kiếm
Cả nhóm cùng khảo sát và phân tích thiết kế hệ thống mà công ty đang cần giải
quyết, xác định mục tiêu và nhiệm của hệ thống cần xây dựng. Từ đó thiết kế cơ sở
dữ liệu và xây dựng hệ thống.
Kỹ thuật phần mềm 2_k6 Đại học công nghiệp
Chương 1. Khảo sát bài toán, phân tích thiết kế hệ thống
1. Khảo sát bài toán
Hoạt động của công ty cổ phần XYZ chuyên cho thuê xe ôtô.
Quản lý danh mục các loại xe: nhập them các loại xe mới từ các hãng sản xuất ôtô,
xóa bỏ thong tin về loại xe khi các hãng không còn sản xuất nữa, sửa đổi thong tin về
loại xe, tìm kiếm thong tin loại xe khi cần. Thông tin về loại xe bao gồm: mã loại xe,
tên loại xe, hãng sản xuất, năm sản xuất, mô tả khác…
Quản lý thong tin xe: nhập thong tin xe mới khi có 1 xe được mua về. Khi xe không
còn phục vụ được nữa thì xóa bỏ thông tin về xe, nhân viên có thể tìm kiếm xe khi
khách muốn thuê. Ngoài ra có thể sửa đổi thông tin về xe khi cần thiết. Thông tin về xe

bao gồm: biển số xe, mã loại xe, màu sơn, tình trạng và mô tả khác. Các thông tin về
xe và loại xe đều do nhân viên công ty cung cấp.
Khách hàng muốn thuê xe tại công ty lần đầu thì thông tin về họ được lưu trữ lại.
Quản lý các khách hàng: thêm mới thông tin khách hàng gồm: họ tên, điện thoại, địa
chỉ và các đặc điểm khác để xác nhận như: số chứng minh thư nhân dân, hoặc số hộ
chiếu, hoặc số tài khoản. Mỗi khách hàng được gán 1 định danh duy nhất là mã khách
hàng. Sau khi xác nhận các thông tin về khách hàng, hệ thống lưu trữ thông tin của họ.
Thông tin của khách hàng thay đổi thì được cập nhật lại, xóa bỏ thông tin của khách
hàng khi họ không thuê xe trong vòng 1 năm.
Khi thuê xe tại công ty, khách hàng chỉ được thuê không quá 6 chiếc và 1 ngày chỉ
được lập 1 hợp đồng thuê. Trước khi thuê họ phải trình chứng minh thư nhân dân hoặc
hộ chiếu. Quản lý cho thuê xe được thực hiện như sau: sau khi kiểm tra chứng minh
thư nhân dân hoặc hộ chiếu và kiểm tra xe mà khách hàng yêu cầu thì sẽ cho đăng kí
xe thuê. Nếu công ty không còn xe mà khách yêu cầu thì từ chối cho thuê. Nếu công ty
có xe đáp ứng yêu cầu của khách thì tiến hành lập phiếu thuê gửi đến khách. Thông tin
trong phiếu thuê gồm: số phiếu thuê, ngày thuê, mã khách hàng, số chứng minh thư
nhân dân hoặc hộ chiếu và các thông tin về xe gồm: biển số xe, loại xe, hãng sản xuất,
năm sản xuất, tình trạng, số lượng, số ngày mượn và đơn giá. Khi khách hàng trả xe
thì nhân viên sẽ kiểm tra tình trạng xe trả và ghi nhận việc trả xe của khách hàng. Nếu
xe bị hỏng hóc thì khách phải chịu chi phí sửa chữa hoặc thay thế phụ tùng và tiến
hành lập phiếu nộp phạt. Thông tin trong phiếu phạt gồm: số phiếu phạt, ngày phạt, mã
Kỹ thuật phần mềm 2_k6 Đại học công nghiệp
khách hàng, họ tên khách hàng, số CMTND hoặc hộ chiếu và danh mục các khoản nộp
phạt: lý do nộp phạt, số tiền nộp phạt. Mỗi phiếu cho thuê xe do 1 nhân viên thu tiền.
Mỗi nhân viên có thể thu tiền của nhiều của nhiều phiếu cho thuê xe.
Để tiện theo dõi và quản lý nhân viên làm việc, công ty thực hiện thêm mới vào danh
sách khi có nhân viên mới được tuyển, sửa đổi thông tin khi có những biến đổi xảy ra
và xóa bỏ nhân viên khi hết hợp đồng hoặc bị sa thải. Các thông tin về nhân viên gồm:
mã nhân viên, tên nhân viên, điện thoại lien hệ, các mô tả khác.
Ngoài ra, để tiện theo dõi việc kinh doanh của công ty, hàng tháng công ty lập các

báo cáo gửi cho ban giám đốc về danh sách phiếu thuê, phiếu phạt trong tháng, báo
cáo về loại xe mà khách hàng hay thuê để ban giám đốc có các biện pháp điều chỉnh.
Kỹ thuật phần mềm 2_k6 Đại học công nghiệp
2. Phân tích thiết kế hệ thống:
2.1. Mô hình phân rã chức năng
QL thông tin khách hàng
QL thông tin
Xe và loại xe
QL thuê, trả xe
QL thông tin nhân viên
Báo cáo thống kê
Thêm khách hàng
Sửa khách hàng xe
Thêm TT xe, loại xe
Sửa TT xe, loại xe
Kiểm tra khách hàng
Từ chối cho thuê
Lập hợp đồng
Báo cáo doanh thu
Danh sách xe được thuê
Danh sách xe không sử dụng được
Thêm TT nhân viên
Sửa TT nhân viên
Xóa TT nhân viên
Xuất phiếu thuê,phiếu phạt
Xóa TT xe,
loại xe
Xóa khách
hàng
Quản lý thuê xe

Kỹ thuật phần mềm 2_k6 Đại học công nghiệp
2.2. Sơ đồ liên kết
Kỹ thuật phần mềm 2_k6 Đại học công nghiệp
Chương 2. Cài đặt trong SQL Server
1. Tạo database
2. Tạo các bảng
BANG
MyUser
CREATE TABLE MyUser
(
mauser char(10) NOT NULL CONSTRAINT pk_MyUser_mauser PRIMARY KEY,
name nvarchar(50) NOT NULL,
pas nvarchar(20),
chucvu nvarchar(20),
)
BANG
QuanTri
CREATE TABLE QuanTri
(
myuser nvarchar(50) NOT NULL CONSTRAINT pk_QT_user PRIMARY KEY,
pass nvarchar(10)
)
BANG LoaiXe
CREATE TABLE LoaiXe
(
maloaixe CHAR(10) NOT NULL
CONSTRAINT pk_LoaiXe_maloaixe PRIMARY KEY,
hangxe NVARCHAR(40) NOT NULL,
loaixe NVARCHAR(40) NOT NULL,
namsx DATE NOT NULL,

mota NVARCHAR(40)
)
BANG
ThongTinXe
CREATE TABLE ThongTinXe
(
bienso VARCHAR(11) NOT NULL
CONSTRAINT pk_ThongTinXe_bienso PRIMARY KEY,
maloaixe CHAR(10) NOT NULL,
mauson NVARCHAR(30) NOT NULL,
ngaydangki DATE NOT NULL,
tinhtrang NVARCHAR(40) NOT NULL,
CONSTRAINT fk_ThongTinXe_maloaixe
FOREIGN KEY (maloaixe)
Kỹ thuật phần mềm 2_k6 Đại học công nghiệp
REFERENCES LoaiXe(maloaixe)
ON DELETE CASCADE ON UPDATE CASCADE
)
BANG
NhanVien
CREATE TABLE NhanVien
(
manhanvien CHAR(10) NOT NULL
CONSTRAINT pk_NV_manhanvien PRIMARY KEY,
hoten NVARCHAR(40) NOT NULL,
ngaysinh DATE NOT NULL,
ngaylamviec DATE NOT NULL,
diachi NVARCHAR(100) ,
dienthoai VARCHAR(15) NOT NULL,
)

BANG
KhachHang
CREATE TABLE KhachHang
(
makhachhang CHAR(10) NOT NULL
CONSTRAINT pk_KhachHang_makhachhang PRIMARY KEY,
hoten NVARCHAR(40) NOT NULL,
gioitinh BIT NOT NULL,
CMTND VARCHAR(15) NOT NULL,
dienthoai VARCHAR(15) NOT NULL,
diachi NVARCHAR(40) ,
)
BANG
XeThue
CREATE TABLE XeThue
(
ngaythue DATE NOT NULL,
makhachhang char(10) NOT NULL,
bienso VARCHAR(11) NOT NULL,
dongiangay int NOT NULL
CONSTRAINT fk_xt_makhachhang
FOREIGN KEY (makhachhang)
REFERENCES KhachHang(makhachhang)
ON UPDATE CASCADE,
CONSTRAINT fk_xt_bienso
FOREIGN KEY (bienso)
REFERENCES ThongTinXe(bienso)
ON UPDATE CASCADE
)
BANG

PhieuThue
CREATE TABLE PhieuThue
Kỹ thuật phần mềm 2_k6 Đại học công nghiệp
(
maphieuthue CHAR(10) NOT NULL
CONSTRAINT pk_PhieuThue_maphieuthue PRIMARY KEY,
ngaythue DATE NOT NULL,
makhachhang CHAR(10) NOT NULL,
manhanvien CHAR(10) NOT NULL,
songaymuon int NOT NULL
CONSTRAINT fk_PhieuThue_manhanvien
FOREIGN KEY (manhanvien)
REFERENCES NhanVien(manhanvien)
ON UPDATE CASCADE,
CONSTRAINT fk_PhieuThue_makhachhang
FOREIGN KEY (makhachhang)
REFERENCES KhachHang(makhachhang)
ON UPDATE CASCADE
)
BANG
PhieuPhat
CREATE TABLE PhieuPhat
(
maphieuphat CHAR(10) NOT NULL
CONSTRAINT pk_PhieuPhat_maphieuphat PRIMARY KEY,
maphieuthue CHAR(10) NOT NULL,
ngayphat DATE NOT NULL,
noidungphat NVARCHAR(100) NOT NULL,
tienphat INT NOT NULL,
manhanvien CHAR(10) NOT NULL,

makhachhang char(10) NOT NULL
CONSTRAINT fk_PhieuPhat_manhanvien
FOREIGN KEY (manhanvien)
REFERENCES NhanVien(manhanvien),
CONSTRAINT fk_PhieuPhat_makhachhang
FOREIGN KEY (makhachhang)
REFERENCES KhachHang(makhachhang)
)
3. Tạo View, thủ tục, trigger
Tạo các Thủ tục
Thủ tục Them
CREATE proc [dbo].[ThemXeThue]
@ngaythue DATE ,
@makhachhang char(10),
@bienso VARCHAR(11) ,
@dongiangay int
as
Kỹ thuật phần mềm 2_k6 Đại học công nghiệp
begin
IF NOT EXISTS (SELECT *
FROM view_BienSoChuaThue
WHERE bienso = @bienso)
BEGIN
RAISERROR ('Xe ðã ðýợc thuê.',16,1)
RETURN
END
insert into XeThue values(@ngaythue,@makhachhang,@bienso,@dongiangay)
end
CREATE proc [dbo].[ThemThongTinXe]
@bienso VARCHAR(11),

@maloaixe CHAR(10) ,
@mauson NVARCHAR(30),
@ngaydangki DATE,
@tinhtrang NVARCHAR(40)
as
IF NOT @bienso LIKE '[0-9][0-9][A-Z] - [0-9][0-9][0-9][0-9]%'
BEGIN
RAISERROR ('Biển số không hợp lệ.',16,1)
RETURN
END
IF EXISTS (SELECT *
FROM Thongtinxe
WHERE bienso = @bienso)
BEGIN
RAISERROR ('Biển số xe bị trùng.',16,1)
RETURN
END
insert into ThongTinXe values(@bienso,@maloaixe,@mauson
,@ngaydangki,@tinhtrang )
create proc [dbo].[ThemQuanTri]
@myuser nvarchar(50),
@pass nvarchar(10)
as
begin
insert into QuanTri values(@myuser,@pass)
end
CREATE proc [dbo].[ThemPhieuThue]
@maphieuthue CHAR(10),
@ngaythue DATE,
Kỹ thuật phần mềm 2_k6 Đại học công nghiệp

@makhachhang CHAR(10),
@manhanvien CHAR(10),
@songaymuon INT
as
IF @songaymuon <=0
BEGIN
RAISERROR ('So ngay muon phai >0.',16,1)
RETURN
end
insert into PhieuThue
values(@maphieuthue,@ngaythue,@makhachhang,@manhanvien,@songaymuon)
CREATE proc [dbo].[ThemPhieuPhat]
@maphieuphat CHAR(10),
@maphieuthue CHAR(10),
@ngayphat DATE,
@noidungphat NVARCHAR(100),
@tienphat INT,
@manhanvien CHAR(10),
@makhachhang char(10)
as
begin
insert into PhieuPhat
values(@maphieuphat,@maphieuthue,@ngayphat,@noidungphat,@tienphat,@manha
nvien,@makhachhang )
end
CREATE proc [dbo].[ThemNhanVien]
@manhanvien CHAR(10),
@hoten NVARCHAR(40) ,
@ngaysinh DATE,
@ngaylamviec DATE,

@diachi NVARCHAR(100),
@dienthoai VARCHAR(15)
as
begin
IF year(getdate()) - year(@ngaysinh) < 18
BEGIN
ROLLBACK TRAN
RAISERROR ('Nhân viên phải từ 18 tuổi trở lên.',16,1)
END
IF @ngaylamviec <= GETDATE()
BEGIN
ROLLBACK TRAN
RAISERROR ('Ngày làm việc phải là hôm nay hoặc sau hôm nay.',16,1)
Kỹ thuật phần mềm 2_k6 Đại học công nghiệp
END
insert into NhanVien
values(@manhanvien,@hoten,@ngaysinh,@ngaylamviec,@diachi,@dienthoai)
end
CREATE proc [dbo].[ThemMyUser]
@maUser char(10),
@name Nvarchar(50) ,
@pas nvarchar(10),
@chucvu nvarchar(50)
as
begin
insert into MyUser values(@maUser,@name,@pas,@chucvu)
end
CREATE proc [dbo].[ThemLoaiXe]
@maloaixe CHAR(10),
@hangxe NVARCHAR(40) ,

@loaixe NVARCHAR(40),
@mota NVARCHAR(40),
@namsx DATE
as
begin
insert into LoaiXe values(@maloaixe ,@hangxe,@loaixe,@namsx,@mota)
end
CREATE proc [dbo].[ThemKhachHang]
@makhachhang CHAR(10),
@hoten NVARCHAR(40),
@gioitinh BIT,
@CMTND VARCHAR(15),
@dienthoai VARCHAR(15),
@diachi NVARCHAR(40)
as
begin
insert into KhachHang values(@makhachhang
,@hoten,@gioitinh,@CMTND,@dienthoai,@diachi)
end
Thủ tục Sua
Kỹ thuật phần mềm 2_k6 Đại học công nghiệp
create proc [dbo].[SuaXeThue]
@ngaythue DATE ,
@makhachhang char(10),
@bienso VARCHAR(11) ,
@dongiangay int
as
begin
update XeThue set
ngaythue=@ngaythue,makhachhang=@makhachhang,bienso=@bienso,dongiangay=

@dongiangay
where makhachhang=@makhachhang
end
CREATE proc [dbo].[SuaThongTinXe]
@bienso VARCHAR(11),
@maloaixe CHAR(10) ,
@mauson NVARCHAR(30),
@ngaydangki DATE,
@tinhtrang NVARCHAR(40)
as
IF NOT @bienso LIKE '[0-9][0-9][A-Z] - [0-9][0-9][0-9][0-9]%'
BEGIN
RAISERROR ('Biển số không hợp lệ.',16,1)
RETURN
END
update ThongTinXe set
bienso=@bienso,maloaixe=@maloaixe,mauson=@mauson,ngaydangki=@ngaydangki
,tinhtrang=@tinhtrang
where bienso=@bienso
CREATE proc [dbo].[SuaPhieuThue]
@maphieuthue CHAR(10),
@ngaythue DATE,
@makhachhang CHAR(10),
@manhanvien CHAR(10),
@songaymuon int
as
IF @songaymuon <=0
BEGIN
RAISERROR ('So ngay muon phai >0.',16,1)
RETURN

END
update PhieuThue set
maphieuthue=@maphieuthue,ngaythue=@ngaythue,makhachhang=@makhachhang,m
anhanvien=@manhanvien,songaymuon=@songaymuon where
maphieuthue=@maphieuthue
Kỹ thuật phần mềm 2_k6 Đại học công nghiệp
CREATE proc [dbo].[SuaPhieuPhat]
@maphieuphat CHAR(10),
@maphieuthue CHAR(10),
@ngayphat DATE,
@noidungphat NVARCHAR(100),
@tienphat INT,
@manhanvien CHAR(10),
@makhachhang char(10)
as
begin
update PhieuPhat set
maphieuphat=@maphieuphat,maphieuthue=@maphieuthue,ngayphat=@ngayphat,noi
dungphat=@noidungphat,tienphat=@tienphat,manhanvien=@manhanvien,makhachha
ng=@makhachhang where maphieuphat=@maphieuphat
end
GO
CREATE proc [dbo].[SuaNhanVien]
@manhanvien CHAR(10),
@hoten NVARCHAR(40) ,
@ngaysinh DATE,
@ngaylamviec DATE,
@diachi NVARCHAR(100),
@dienthoai VARCHAR(15)
as

begin
IF year(@ngaylamviec) - year(@ngaysinh) < 18
BEGIN
ROLLBACK TRAN
RAISERROR ('Nhân viên phải từ 18 tuổi trở lên.',16,1)
END
update NhanVien set
manhanvien=@manhanvien,hoten=@hoten,ngaysinh=@ngaysinh,ngaylamviec=@nga
ylamviec,diachi=@diachi,dienthoai=@dienthoai
where manhanvien=@manhanvien
end
GO
CREATE proc [dbo].[SuaMyUser]
@name nvarchar(50),
@pas nvarchar(10)
as
begin
Kỹ thuật phần mềm 2_k6 Đại học công nghiệp
update MyUser set name=@name,pas=@pas
where name=@name
end
GO
CREATE proc [dbo].[SuaLoaiXe]
@maloaixe CHAR(10),
@hangxe NVARCHAR(40) ,
@loaixe NVARCHAR(40),
@mota NVARCHAR(40),
@namsx DATE
as
begin

update LoaiXe set maloaixe=@maloaixe
,hangxe=@hangxe,loaixe=@loaixe,namsx=@namsx,mota=@mota
where maloaixe=@maloaixe
end
GO
create proc [dbo].[SuaKhachHang]
@makhachhang CHAR(10),
@hoten NVARCHAR(40),
@gioitinh BIT,
@CMTND VARCHAR(15),
@dienthoai VARCHAR(15),
@diachi NVARCHAR(40)
as
begin
update KhachHang set makhachhang=@makhachhang
,hoten=@hoten,gioitinh=@gioitinh,CMTND=@CMTND,dienthoai=@dienthoai,diach
i=@diachi
where makhachhang=@makhachhang
end
GO
Thủ tục Xoa
CREATE proc [dbo].[XoaXeThueBS]
@bienso VARCHAR(11),
@makhachhang char(10),
@ngaythue DATE
Kỹ thuật phần mềm 2_k6 Đại học công nghiệp
as
begin
delete from XeThue
where bienso=@bienso and ngaythue=@ngaythue and

makhachhang=@makhachhang
end
GO
create proc [dbo].[XoaXeThue]
@makhachhang char(10)
as
begin
delete from XeThue
where makhachhang=@makhachhang
end
GO
CREATE proc [dbo].[XoaThongTinXe]
@bienso VARCHAR(11)
as
begin
delete from ThongTinXe
where bienso=@bienso
end
GO
CREATE proc [dbo].[XoaQuanTri]
as
begin
delete from QuanTri
where myuser=myuser
end
GO
CREATE proc [dbo].[XoaPhieuThue]
@maphieuthue CHAR(10)
as
begin

delete from PhieuThue
where maphieuthue=@maphieuthue
end
GO
CREATE proc [dbo].[XoaPhieuPhat]
@maphieuPhat CHAR(10)
Kỹ thuật phần mềm 2_k6 Đại học công nghiệp
as
begin
delete from PhieuPhat
where maphieuphat=@maphieuphat
end
GO
create proc [dbo].[XoaNhanVien]
@manhanvien CHAR(10)
as
begin
delete from NhanVien
where manhanvien=@manhanvien
end
GO
CREATE proc [dbo].[XoaMyUser]
@maUser char(10)
as
begin
delete from MyUser
where maUser=@maUser
end
GO
create proc [dbo].[XoaLoaiXe]

@maloaixe CHAR(10)
as
begin
delete from LoaiXe
where maloaixe=@maloaixe
end
GO
create proc [dbo].[XoaKhachHang]
@makhachhang CHAR(10)
as
begin
delete from KhachHang
where makhachhang=@makhachhang
end
GO
Thủ tục Tu Dong Xoa
Kỹ thuật phần mềm 2_k6 Đại học công nghiệp
CREATE proc [dbo].[TuXoaXeThue]
as
begin
delete from XeThue
where ngaythue=(select ngaythue
from view_XeThueKhongLapHD
where day(ngaythue)<= day(GETDATE())-1) and
makhachhang=(select makhachhang
from view_XeThueKhongLapHD
where day(ngaythue)<= day(GETDATE())-1)and bienso=(select
bienso
from view_XeThueKhongLapHD
where day(ngaythue)<= day(GETDATE())-1)

end
GO
CREATE proc [dbo].[TuXoaPhieuThue]
as
delete from PhieuThue
where ngaythue < GETDATE()-365-songaymuon
GO
CREATE proc [dbo].[TuXoaPhieuPhat]
as
delete from PhieuPhat
where ngayphat < GETDATE()-365
GO
Thủ tục Tim
create proc [dbo].[TimXeThue]
@makhachhang char(10)
as
begin
select * from XeThue
where makhachhang=@makhachhang
end
GO
create proc [dbo].[TimThongTinXe_ma]
@maloaixe char(10)
as
select *
from view_ThongTinXe
where maloaixe=@maloaixe
Kỹ thuật phần mềm 2_k6 Đại học công nghiệp
GO
CREATE proc [dbo].[TimThongTinXe]

@bienso varchar(11)
as
select *
from view_ThongTinXe
where bienso=@bienso
GO
create proc [dbo].[TimTheoTenKH]
@hoten nvarchar(40)
as
SELECT makhachhang, hoten, (CASE gioitinh WHEN 'true' THEN 'nu' ELSE 'nam'
END) AS gioitinh, CMTND, dienthoai, diachi
FROM KhachHang
where hoten=@hoten
GO
create proc [dbo].[TimTenLoaiXe]
@loaixe nvarchar(40)
as
select *
from LoaiXe
where loaixe=@loaixe
GO
create proc [dbo].[TimPhieuThueXe]
@maphieuthue CHAR(10)
as
select *
from view_PhieuThue
where maphieuthue=@maphieuthue
GO
CREATE proc [dbo].[TimPhieuThue]
@maphieuthue CHAR(10)

as
select *
from view_PhieuThueXe
where maphieuthue=@maphieuthue
GO
CREATE proc [dbo].[TimPhieuPhat]
@maphieuphat CHAR(10)
Kỹ thuật phần mềm 2_k6 Đại học công nghiệp
as
select *
From view_PhieuPhat
where maphieuphat=@maphieuphat
GO
CREATE proc [dbo].[TimMyUser]
@maUser char(10)
as
begin
select * from MyUser
where maUser=@maUser
end
GO
create proc [dbo].[TimLoaiXe]
@maloaixe CHAR(10)
as
select *
from LoaiXe
where maloaixe=@maloaixe
GO
CREATE proc [dbo].[TimKhachHang]
@makhachhang CHAR(10)

as
SELECT makhachhang, hoten, (CASE gioitinh WHEN 'true' THEN 'nu' ELSE 'nam'
END) AS gioitinh, CMTND, dienthoai, diachi
from KhachHang
where makhachhang=@makhachhang
GO
create proc [dbo].[TimHangLoaiXe]
@hangxe nvarchar(40)
as
select *
from LoaiXe
where hangxe=@hangxe
GO
view
create view [dbo].[view_DSPhieuThue]
as
select *
from view_PhieuThueXe
where month(ngaythue) = month(GETDATE())
Kỹ thuật phần mềm 2_k6 Đại học công nghiệp
GO
create view [dbo].[view_DSPhieuPhat]
as
SELECT *
FROM view_PhieuPhat
where month(ngayphat) = month(GETDATE())
GO
CREATE view [dbo].[view_PhieuThueXe]
as
select [maphieuthue]

,PhieuThue.ngaythue
,[manhanvien]
,PhieuThue.makhachhang
,[hoten]
,[CMTND]
,XeThue.bienso
,LoaiXe.maloaixe
,ThongTinXe.tinhtrang
,[hangxe]
,[namsx]
,[songaymuon]
,[dongiangay]
from PhieuThue,LoaiXe,KhachHang,ThongTinXe,XeThue
where PhieuThue.makhachhang=KhachHang.makhachhang and XeThue.bienso=
ThongTinXe.bienso
and ThongTinXe.maloaixe=LoaiXe.maloaixe and
PhieuThue.makhachhang=XeThue.makhachhang
and PhieuThue.ngaythue=XeThue.ngaythue
GO
create view [dbo].[view_PhieuPhat]
as
SELECT dbo.PhieuPhat.maphieuphat, dbo.PhieuPhat.ngayphat,
dbo.PhieuPhat.maphieuthue, dbo.PhieuPhat.manhanvien,PhieuPhat.makhachhang,
dbo.KhachHang.hoten, dbo.KhachHang.CMTND,
dbo.PhieuPhat.tienphat, dbo.PhieuPhat.noidungphat
FROM PhieuPhat,Khachhang,NhanVien
where
dbo.PhieuPhat.manhanvien = NhanVien.manhanvien and
PhieuPhat.makhachhang = dbo.KhachHang.makhachhang
GO

Kỹ thuật phần mềm 2_k6 Đại học công nghiệp
create view [dbo].[view_BienSoChuaThue1]
as
select bienso,ngaythue
from XeThue
EXCEPT select bienso,ngaythue
from view_PhieuThueXe
where ngaythue < GETDATE()-1
GO
CREATE view [dbo].[view_BienSoChuaThue]
as
select DISTINCT bienso
from ThongTinXe
EXCEPT (select bienso
from view_BienSoChuaThue1)
GO
Kỹ thuật phần mềm 2_k6 Đại học công nghiệp
Chương 3. Thiết kế và cài đặt chương trình
1. Thiết kế giao diện
1.1. Màn hình khởi động

×