MÔ HÌNH TỔ CHỨC DỮ LIỆU

Một phần của tài liệu Xây dựng hệ thống thông tin quản lý bán hàng tại Công ty Digiworld (Trang 41)

Mô hình này chính là lược đồ cơ sở dữ liệu của hệ thống. Đây là bước trung gian chuyển đổi giữa mô hình thực thể (gần với người sử dụng) và mô hình vật lý dữ liệu (mô hình trong máy tính), chuẩn bị cho việc cài đặt hệ thống.

II.1. THIẾT KẾ CƠ SỞ DỮ LIỆU

II.1.1. Khách Hàng

KHACHHANG (Dùng cho cả nhà cung cấp và khách mua hàng)

STT Tên trường Kiểu dữ liệu Khóa Diễn giải

1 MaKH nvarchar PK Mã KH

2 HoKH nvarchar Họ KH

3 TenKH nvarchar Tên KH

4 TenGiaoDich nvarchar Tên giao dịch

5 SoNhaKH nvarchar Số nhà KH

6 DTKhachHang nvarchar DT khách hàng

7 FaxKH nvarchar Fax KH

8 TaiKhoan nvarchar Tài khoản

9 STNoCoThe nvarchar ST nợ có thể

10 MaDuong nvarchar FK Mã huyện

11 MaHuyen nvarchar FK Mã đường

12 MaNH nvarchar FK Mã NH

II.1.2. Mặt Hàng

Mặt hàng <MATHANG>

STT Tên trường Kiểu dữ liệu Khóa Diễn giải

1 MaHang nvarchar PK Mã hàng

2 TenHang nvarchar Tên hàng

3 SLTonTT Int SL tồn TT

4 SLTonTD Int SL tồn TD

5 MaDVT nvarchar v Mã HSX

6 MaHSX nvarchar FK Mã DVT

7 MaNhom nvarchar FK Mã nhóm

II.1.3. Quản Lý Kho Quản lý kho <KHO>

STT Tên trường Kiểu dữ liệu Khóa Diễn giải

1 MaKho nvarchar PK Mã kho

2 TenKho nvarchar Tên kho

3 DTKho nvarchar DT kho

4 FaxKho nvarchar Fax kho

5 SoNhaKho Int Số nhà kho

6 ThuKho nvarchar Thủ kho

7 MaDuong nvarchar FK Mã đường

II.1.4. Quản Lý Đơn Đặt Hàng

Quản lý đơn đặt hàng <DONDHANG>

STT Tên trường Kiểu dữ liệu Khóa Diễn giải

1 MaDDH nvarchar PK Mã DDH

2 NgayDH datetime Mã KH

3 HanNgaygiao Nvarchar Ngày DH

4 MaKH Nvarchar FK Hạn ngày giao

VI.1.5. Dòng Đơn Đặt Hàng

Dòng đơn đặt hàng <DONGDONDH>

STT Tên trường Kiểu dữ liệu Khóa Diễn giải

1 MaDDH Nvarchar PK Mã DDH

2 MaHang Nvarchar Mã hàng

3 SoLuongDH Int Số lượng DH

4 DonGiaDH Int Đơn giá DH

II.1.6.

Quản lý phiếu nhập xuất hàng <NXHANG>

STT Tên trường Kiểu dữ liệu Khóa Diễn giải

1 MaPNXH nvarchar PK Mà PNXH

2 MaDDH nvarchar FK Mã DDH

3 MaKho nvarchar FK Mã kho

4 NgayNXH datetime Ngày NXH

5 NgayHTT datetime Ngày HTT

6 NgayLapPNX datetime Ngày lập PNX

II.1.7.

Quản lý dòng phiếu nhập xuất hàng <DONGNXHANG>

STT Tên trường Kiểu dữ liệu Khóa Diễn giải

1 MaPNXH nvarchar PK Mà PNXH

2 MaHang nvarchar Mã hàng

3 SoLuongNXH Int Số lượng NXH

4 DonGiaNXH Float Đơn giá NXH

II.1.8.

Quản lý phiếu thanh toán <THANHTOAN>

STT Tên trường Kiểu dữ liệu Khóa Diễn giải

1 MaPTT nvarchar PK Mã PTT

2 MaPNXH nvarchar Mã PNXH

3 NgayTT Datetime Ngày TT

4 SoTien Float Số tiền

II.1.9.

Quản lý đường <DUONG>

STT Tên trường Kiểu dữ liệu Khóa Diễn giải

1 MaDuong Nvarchar PK Mã đường

2 TenDuong Nvarchar Tên đường

II.1.10.

Quản lý ngân hàng <NGANHANG>

STT Tên trường Kiểu dữ liệu Khóa Diễn giải

1 MaNH Nvarchar PK Mã NH

2 TenNH Nvarchar Tên NH

II.1.11.

Quản lý huyện <HUYEN>

STT Tên trường Kiểu dữ liệu Khóa Diễn giải

1 MaHuyen Nvarchar PK Mã huyện

2 TenHuyen Nvarchar Tên huyện

3 MaTinh Nvarchar FK Mã tỉnh

II.1.12.

Quản lý tỉnh <TINH>

STT Tên trường Kiểu dữ liệu Khóa Diễn giải

1 MaTinh nvarchar PK Mã tỉnh

2 TenTinh nvarchar Tên tỉnh

3 MaNuoc nvarchar FK Mã nước

II.1.13.

Quản lý nước <NUOC>

STT Tên trường Kiểu dữ liệu Khóa Diễn giải

1 MaNuoc nvarchar PK Mã nước

2 TenNuoc nvarchar Tên nước

II.1.14.

Quản lý hãng sản xuất <HANGSX>

STT Tên trường Kiểu dữ liệu Khóa Diễn giải

1 MaHSX nvarchar PK Mã HSX

2 TenHSX nvarchar Tên HSX

3 MaNuoc nvarchar FK Mã nước

II.1.15.

Quản lý đơn vị tính <DONVITINH>

STT Tên trường Kiểu dữ liệu Khóa Diễn giải

1 MaDVT nvarchar PK Mã DVT

2 TenDVT nvarchar Tên DVT

II.1.16.

Quản lý nhóm hàng <NHOM>

STT Tên trường Kiểu dữ liệu Khóa Diễn giải

1 MaNhom nvarchar PK Mã nhóm

2 TenNhom nvarchar Tên nhóm

III. Một số giao diện chính :

III.1. Hình ảnh Form Đăng nhập hệ thống

III.2. Hình ảnh Form chính của chương trình:

III.3. Hình ảnh Form cập nhật hàng hóa :

III.4. Hình ảnh Form cập nhật khách hàng

III.5. Hình ảnh Form Đơn đặt hàng

III.6. Hình ảnh Form cập nhật kho

III.7. Hình ảnh Form Phiếu nhập hàng

III.8. Hình ảnh Form Phiếu chi

III.9. Hình ảnh Form Phiếu xuất

III.10. Hình ảnh Form Phiếu thu

III.11. Hình ảnh Form Thống kê báo cáo theo khoảng thời gian

III.12. Hình ảnh Báo cáo Phiếu đặt hàng

III.13. Hình ảnh Báo cáo phiếu nhập kho

III.14. Hình ảnh Báo cáo phiếu xuất kho

III.15. Hình ảnh Báo cáo phiếu thu

III.16. Hình ảnh Báo cáo phiếu chi

IV. Một số mô đun chính : IV.1. Mô đun kết nối CSDL :

Public Function Ketnoi() As Boolean On Error Resume Next

con.ConnectionTimeout = 5

'su dung sqloledb de ket noi toi sqlserver ' phuong thuc chuoi ket noi

con.ConnectionString = "PROVIDER=SQLOLEDB.1;server =(local)" & ";Database=dulieu1" & ";Trusted_Connection=yes"

'con.Properties("Prompt") = adPromptComplete con.Open

End Function

IV.2. Mô đun kiểm tra ngày tháng nhập vào :

' Ham kiem tra ngay nhap vao

Public Function checkdate(strdate As String) As String Dim temp As Integer

Dim strtemp As String temp = 3

If IsNumeric(Left(strdate, 1)) Then ' Neu ky tu dau la so thi

If IsNumeric(Mid(strdate, 2, 1)) Then ' Neu ky tu thu hai la so thi If Left(strdate, 2) <= 31 Then ' Neu gia tri 2 ky tu

' <=31 thi kiem tra dau "/" mask1:

If Mid(strdate, temp, 1) = "/" Then

If IsNumeric(Mid(strdate, temp + 1, 1)) Then If IsNumeric(Mid(strdate, temp + 2, 1)) Then If Mid(strdate, temp + 1, 2) <= 12 Then

If Mid(strdate, temp + 3, 1) = "/" Then

strtemp = Left(strdate, temp + 3) ' Cat bo 6 ky tu dau If IsDate(strdate) Then ' Chuyen phan con lai th nam checkdate = strtemp & Format(strdate, "yyyy") Else GoTo msgdate End If End If Else GoTo msgdate End If Else

If Mid(strdate, temp + 2, 1) = "/" Then strtemp = Left(strdate, temp + 2) If IsDate(strdate) Then

checkdate = strtemp & Format(strdate, "yyyy") Else GoTo msgdate End If End If End If Else GoTo msgdate End If Else GoTo msgdate End If Else GoTo msgdate End If Else

If Mid(strdate, 2, 1) = "/" Then temp = 2 GoTo mask1 Else GoTo msgdate End If End If Else msgdate: checkdate = "1" End If End Function

IV.3. Mô đun lưu dữ liệu xuất hàng:

Public Sub Luudl()

On Error GoTo error1

Dim rs As New ADODB.Recordset Dim cmd As New ADODB.Command Dim str As String

If Trim(txtmapnx) = "" Or Trim(txtngaylappnx) = "" Or Trim(Combomaddh.Text) = "" Or Trim(txtngaynx) = "" Or Trim(txtngayhtt) = "" Or Trim(Combomahang.Text) = "" Or Trim(txtsoluongnx) = "" Or Trim(txtdongianx) = "" Then

MsgBox "Chu y: Phai nhap day du thong tin truoc khi luu!", vbOKOnly + vbExclamation, "Thong bao"

txtmapnx.SetFocus Exit Sub

End If

'Neu kiem tra ma khach hang co bat dau bang chu 'K' hay khong

If Left(Trim(txtmapnx), 1) <> "X" Then

MsgBox "Chu y: Ma phieu xuat hang phai bat dau boi 'X ...' !", vbOKOnly + vbExclamation, "Thong bao"

txtmapnx.SetFocus Exit Sub

End If

'Tim xem da ton tai Maduong nay trong Table duong hay chua? Set cmd.ActiveConnection = con

str = "Select NXHANG.mapnxh, NXHANG.maddh, NXHANG.makho, NXHANG.ngaynxh, NXHANG.ngayhtt, NXHANG.ngaylappnx from NXHANG where mapnxh like 'X%' and mapnxh = '" & Trim(txtmapnx) & "'"

rs.Open str, con, adOpenKeyset, adLockPessimistic, adCmdText If rs.EOF = True Then 'Neu chua ton tai

Set rs = Nothing ' Dong record lai toithieu = 0 'Xoa gia tri ban dau toida = 0 'Xoa gia tri ban dau Set cmd.ActiveConnection = con

str = "select MATHANG.mahang, MATHANG.sltontt, MATHANG.sltontd from MATHANG where MATHANG.mahang ='" & Trim(Left(Combomahang.Text, 4)) & "'"

rs.Open str, con, adOpenKeyset, adLockPessimistic, adCmdText If rs.EOF = False Then ' Neu da ton tai, chac chan co

toithieu = rs!sltontt toida = rs!sltontd Set rs = Nothing End If

Set cmd.ActiveConnection = con

str = "select CTMATHANG.mahang, CTMATHANG.soluongton from CTMATHANG where CTMATHANG.mahang ='" & Trim(Left(Combomahang.Text, 4)) & "'"

rs.Open str, con, adOpenKeyset, adLockPessimistic, adCmdText If rs.EOF = False Then ' Neu da ton tai

sltontam = rs!soluongton - Val(txtsoluongnx) If sltontam < toithieu Then

MsgBox "So luong hang ton duoi muc toi thieu. Can phai nhap them truoc da.", vbOKOnly + vbExclamation, "Thong bao"

txtsoluongnx.SetFocus Me.MousePointer = 0 Set rs = Nothing Exit Sub

Else ' Neu khong duoi muc ton toi thieu, cap nhat SL

Set rs = Nothing

Set cmd.ActiveConnection = con 'Mo lai de luu

str = "Select NXHANG.mapnxh, NXHANG.maddh, NXHANG.makho, NXHANG.ngaynxh, NXHANG.ngayhtt, NXHANG.ngaylappnx from NXHANG where mapnxh like 'X%' and mapnxh = '" & Trim(txtmapnx) & "'"

rs.Open str, con, adOpenKeyset, adLockPessimistic, adCmdText If rs.EOF = True Then 'Neu chua ton tai, chac chan chua co rs.AddNew rs!mapnxh = Trim(txtmapnx) rs!ngaylappnx = Trim(txtngaylappnx) rs!maddh = Trim(Left(Combomaddh.Text, 5)) rs!makho = Trim(Left(Combomakho.Text, 5)) rs!ngaynxh = Trim(txtngaynx) rs!ngayhtt = Trim(txtngayhtt) rs.Update

Set rs = Nothing ' Dong record lai End If

Set cmd.ActiveConnection = con

str = "Select DONGNXHANG.mapnxh, DONGNXHANG.mahang, DONGNXHANG.soluongnxh, DONGNXHANG.dongianxh from DONGNXHANG where mapnxh like 'X%' and mapnxh = '" & Trim(txtmapnx) & "' and mahang = '" & Trim(Left(Combomahang.Text, 4)) & "'"

rs.Open str, con, adOpenKeyset, adLockPessimistic, adCmdText If rs.EOF = True Then 'Neu chua ton tai

rs.AddNew rs!mapnxh = Trim(txtmapnx) rs!mahang = Trim(Left(Combomahang.Text, 4)) rs!soluongnxh = Trim(txtsoluongnx) rs!dongianxh = Trim(txtdongianx) rs.Update Set rs = Nothing End If

'Chi tiet mat hang duoc cap nhat sau cung

Set rs.ActiveConnection = con 'Cap nhat phai nhu vay

str = "Update CTMATHANG set soluongton ='" & sltontam & "' where mahang ='" & Trim(Left(Combomahang.Text, 4)) & "'"

rs.Open str, con, adOpenKeyset, adLockPessimistic, adCmdText sltontam = 0 ' Xoa

Set rs = Nothing 'Dong ban ghi lai End If

Else ' Neu chua co (chua xuat lan nao)

sltontam = Val(txtsoluongnx) ' Kiem tra vuot Sltontd If sltontam < toithieu Then

MsgBox "So luong hang ton duoi muc toi thieu. Can phai nhap them truoc da.", vbOKOnly + vbExclamation, "Thong bao"

txtsoluongnx.SetFocus Me.MousePointer = 0 Set rs = Nothing Exit Sub

Else ' Khong duoi SLtontt, tao moi Set rs = Nothing

Set cmd.ActiveConnection = con 'Mo lai de luu

str = "Select NXHANG.mapnxh, NXHANG.maddh, NXHANG.makho, NXHANG.ngaynxh, NXHANG.ngayhtt, NXHANG.ngaylappnx from NXHANG where mapnxh like 'X%' and mapnxh = '" & Trim(txtmapnx) & "'"

rs.Open str, con, adOpenKeyset, adLockPessimistic, adCmdText If rs.EOF = True Then 'Neu chua ton tai, chac chan chua co rs.AddNew rs!mapnxh = Trim(txtmapnx) rs!ngaylappnx = Trim(txtngaylappnx) rs!maddh = Trim(Left(Combomaddh.Text, 5)) rs!makho = Trim(Left(Combomakho.Text, 5)) rs!ngaynxh = Trim(txtngaynx) rs!ngayhtt = Trim(txtngayhtt) rs.Update

Set rs = Nothing ' Dong record lai End If

Set cmd.ActiveConnection = con

str = "Select DONGNXHANG.mapnxh, DONGNXHANG.mahang, DONGNXHANG.soluongnxh, DONGNXHANG.dongianxh from DONGNXHANG where mapnxh like 'X%' and mapnxh = '" & Trim(txtmapnx) & "' and mahang = '" & Trim(Left(Combomahang.Text, 4)) & "'"

rs.Open str, con, adOpenKeyset, adLockPessimistic, adCmdText

If rs.EOF = True Then 'Neu chua ton tai rs.AddNew rs!mapnxh = Trim(txtmapnx) rs!mahang = Trim(Left(Combomahang.Text, 4)) rs!soluongnxh = Trim(txtsoluongnx) rs!dongianxh = Trim(txtdongianx) rs.Update Set rs = Nothing End If

'Chi tiet mat hang phai duoc tao moi sau cung Set cmd.ActiveConnection = con

str = "select CTMATHANG.mahang, CTMATHANG.soluongton from CTMATHANG where CTMATHANG.mahang ='" & Trim(Left(Combomahang.Text, 4)) & "'"

rs.Open str, con, adOpenKeyset, adLockPessimistic, adCmdText If rs.EOF = True Then 'Chac chan chua co

rs.AddNew

rs!mahang = Trim(Left(Combomahang.Text, 4)) rs!soluongton = sltontam

rs.Update

Set rs = Nothing

sltontam = 0 'Xoa gia tri End If

End If End If

toithieu = 0 'Xao gia tri toida = 0 'Xao gia tri

Else 'Neu da ton tai phieu xuat hang nay roi

MsgBox "Phieu xuat hang co ma so [" & Trim(txtmapnx) & "] da ton tai. Vui long kiem tra lai !", vbOKOnly + vbExclamation, "Thong bao"

txtmapnx.SetFocus Me.MousePointer = 0 Exit Sub

End If

DisplayGrid 'Hien thi danh sach cac hang san xuat

error1:

If Err.Number <> 0 Then

MsgBox Err.Number & Err.Description Else

MsgBox "Luu thanh cong phieu xuat hang co ma so: '" & Trim(txtmapnx) & "'"

response = MsgBox("Ban co muon them mat hang vao phieu xuat hang nua khong ?", vbYesNo + vbQuestion, "Thong bao")

If response = vbYes Then 'Neu chon NO thi khong Xoa Locktext

Unlocktext2

Setnull2 'Xoa Textbox Combomahang.SetFocus Flag = True

Else

Setnull2 'Xoa Textbox Locktext

End If End If End Sub

KẾT LUẬN VÀ ĐÁNH GIÁ

HỆ THỐNG THÔNG TIN QUẢN LÝ HÀNG HOÁ I. Những kết quả đạt được

Hệ thống quản lý xuất nhập hàng giúp cho việc quản lý mua bán của công ty được thực hiện một cách thuận tiện nhanh chóng và an toàn, góp phần tiết kiệm thời gian và giảm bớt các công việc thủ công (tuy nhiên không thể thay thế hoàn toàn).

Hệ thống đáp ứng được những yêu cầu cơ bản trong công tác cập nhật, xử lý xuất nhập hàng một cách nhanh chóng, chính xác như cập nhật dữ liệu, tìm kiếm thông tin, báo cáo tổng hợp xuất, nhập, tồn hàng.

Giao diện thân thiện và dễ dàng cho người sử dụng.

II. Những tồn tại của chương trình

Trong điều kiện hạn hẹp về thời gian và kiến thức còn hạn chế nên chương trình vẫn còn một số tồn tại như sau:

- Hệ thống chỉ mới phát triển bằng ngôn ngữ Visual Basic, lưu trữ dữ liệu bằng hệ quản trị cở sở dữ liệu MicroSoft SQL Server và chạy trên máy đơn.

- Một số phần xử lý Tiếng Việt còn chưa tốt.

- Chưa xây dựng hệ thống bảo mật cơ sở dữ liệu và phân quyền người sử dụng.

III. Hướng phát triển chương trình

Dựa vào kết quả khảo sát bài toán thực tế và phân tích thiết kế hệ thống ở trên, em xin đề xuất hướng phát triển chương trình như sau:

III.1. Phát triển hệ thống

Xây dựng hệ thống thương mại điện tử Web bằng công nghệ ASP (Active Server Pages) hoặc ASP.Net, lưu trữ dữ liệu bằng hệ quản trị cơ sở dữ liệu MicroSoft SQL Server hoặc Orecle và chạy trên mạng.

III.2. Bảo mật cơ sở dữ liệu và phân quyền người sử dụng

Ta sẽ phân cấp ra 3 mức người sử dụng:

- Addmin: có quyền thêm, sửa, xoá database, phân cấp, phân quyền cho người sử dụng.

- User mức 1: có quyền thêm dữ liệu và database.

- User mức 2: chỉ được quyền xem mà không được thực hiện bất cứ thao tác gì trên database.

Một vấn đề nữa là database sẽ được đặt trên máy chủ chứ không đặt trên các máy con như hiện nay nữa và như vậy việc quản trị và bảo mật database sẽ dễ dàng hơn.

TÀI LIỆU THAM KHẢO

1. Microsoft Visual Basic 6.0 & Lập trình cơ sở dữ liệu – Nguyễn Thị Ngọc Mai (Chủ biên), NXB GIÁO DỤC

2. Lập trình Visual Basic trong 21 ngày – Nathan Gurewich – On Gurewich, NXB GIÁO DỤC.

3. Kế toán doanh nghiệp với Visual Basic – VN GUIDE, NXB Thống Kê.

4. Giáo trình phân tích và thiết kế hệ thống thông tin quản lý – ThS.Nguyễn Hữu Trọng, Trường Đạ Học Thuỷ Sản.

5. Phân tích và thiết kế hệ thống thông tin - Nguyễn Văn Ba, NXB ĐẠI HỌC QUỐC GIA HÀ NỘI.

6. Hướng dẫn triển khai Căn Cứ Dữ Liệu sử dụng SQL SERVER 7.0 và VISUAL BASIC 6.0 - Biên dịch: Dương Quang Thiện, NXB Thống Kê.

Một phần của tài liệu Xây dựng hệ thống thông tin quản lý bán hàng tại Công ty Digiworld (Trang 41)

Tải bản đầy đủ (DOC)

(65 trang)
w