0
Tải bản đầy đủ (.doc) (101 trang)

Triển khai hệ thống

Một phần của tài liệu XÂY DỰNG HỆ THỐNG THÔNG TIN XỬ LÝ GIAO DỊCH CHUYỂN TIỀN GIỮA CÁC CHI NHÁNH TRONG NGÂN HÀNG CÔNG THƯƠNG VIỆT NAM TRONG CẢ NƯỚC (Trang 79 -100 )

Quản lý chi nhỏnh

3.3.5 Triển khai hệ thống

Sau khi hoàn thành việc thiết kế chơng trình, ta sẽ phải xây dựng công cụ lập trình và triển khai hệ thống và đa hệ thống ứng dụng thực tế.

+ Công cụ lập trình:

Visual Basic: đây là một ngôn ngữ lập trình phổ biến chuyên dùng để xây dựng các chơng trình quản lý. Nó có khả năng truy cập vào các hệ quản trị cơ sở dữ liệu lớn để lấy dữ liệu đồng thời khả năng cho phép dễ lập trình và dễ tạo bộ cài đặt.

Do có những u điểm trên mà em quyết định sử dụng Visual Basic là công cụ chính cho việc lập trình.

+ Hệ quản trị cơ sở dữ liệu:

Oracle: Oracle là một trong những hệ quản trị cơ sở dữ liệu tốt nhất trên thế giới hiện nay. Đợc phát triển từ năm 1979 cho đến nay, Oracle hiện đang đợc nhiều doanh nghiệp a chuộng và đợc sử dụng nhiều nhất trên thế giới.

Một trong những tính năng quan trọng của Oracle là cho phép ta ứng dụng mô hình quản trị cơ sở dữ liệu Client – Server một cách dễ dàng, an toàn và bảo mật. Bên cạnh đó nó cho phép ta xây dựng các mô hình quản trị cơ sở dữ liệu ra quyết định và quản lý trực tuyến.

Chính vì nguyên do trên mà em quyết định sử dụng hệ quản trị cơ sở dữ liệu Oracle để ứng dụng cho chơng trình của em.

+ Các công việc cần làm khi ứng dụng triển khai:

- Xây dựng một máy chủ ( Server ) có cái đặt Oracle Server.

- Xây dựng các máy trạm có cài đặt Oracle Client để kết nối tới máy chủ

- Xây dựng bộ cài đặt để triển khai hệ thống.

Hệ thống xử lý giao dịch chuyển tiền là một trong những hệ thống quan trọng của ngân hàng công thơng Việt Nam. Nó là một trong những nghiệp vụ quan trọng vì không những nó có thể chuyển tiền trong nớc mà nó còn có thể hỗ trợ cho việc chuyển tiền đi nớc ngoài.

Trong hệ thống này, trụ sở chính của ngân hàng công thơng (trung tâm công nghệ thông tin) sẽ đóng vai trò là đơn vị quản lý trung tâm. Trung tâm này sẽ có nhiệm vụ theo dõi toàn bộ hoạt động chuyển tiền của các chi nhánh, xử lý các lỗi phát sinh của hệ thống đồng thời phải có trách nhiệm triển khai cài đặt tại toàn bộ chi nhánh. Các chi nhánh sẽ có nhiệm vụ ứng dụng hệ thống này trong hệ thống của họ.

Trớc đây, khi mà tin học cha phổ biến thì việc xử lý việc chuyển tiền rất khó khăn. Thờng thờng, để chuyển tiền từ nơi này sang nơi khác phải tiêu tốn rất nhiều nhân lực và vật lực để làm công việc này thì ngày nay với sự ứng dụng mạnh mẽ của tin học, công việc này đã đợc giải quyết hết sức nhanh chóng vì hâu hết các công việc đều đợc máy móc tiến hành một cách tự động và nhanh chóng. Nó làm giảm tối thiểu chi phí về nhân lực và vật lực.

Tuy nhiên, trong hiện tại, hệ thống vẫn còn phải phụ thuộc nhiều vào con ngời chính vì vậy đôi khi vẫn còn nhiều sai sót đặc biệt trong khâu nhập liệu. Do đó hệ thống vẫn cần phải phát triển thêm để đảm bảo giải quyết một cách tốt nhất các vấn đề phát sinh.

Hiện nay do những điều kiện về thời gian cũng nh khả năng của mình cha cho phép em phát triển một ứng dụng thực sự hoàn hảo và vẫn có rất nhiều hạn chế trong ứng dụng này của em. Em rất mong đợc sự góp ý của các thầy cô giáo giúp em hoàn thành ứng dụng này một cách tốt nhất.

Đề án của em hoàn thành là nhờ sự giúp đỡ rất lớn của cô giáo hớng dẫn: Trần Thị Song Minh. Em tin rằng đây sẽ là bớc đệm để em phát triển sau này.

Em xin chân thành cám ơn cô giáo : Trần Thị Song Minh đã giúp em hoàn thành đề tài này.

Sinh Viên Bùi Xuân Phơng.

1) Giáo trình hệ thống thông tin quản lý. TS Trơng Văn Tú – TS Trần Thị Song Minh – Nhà Xuất Bản Thống Kê – Hà Nội.

2) Giáo trình cơ sở dữ liệu – Th.S Trần Công Uẩn.

3) Giáo trình Visual Basic – Trung tâm tin học ngoại ngữ Trí Đức – TP Hồ Chí Minh.

4) Database Administration Oracle 9i – Oracle Corporation. 5) Oracle – How to – Oracle Corporation.

Phụ lục

Giới thiệu mã nguồn trong chơng trình: 1) Module khởi tạo:

Public lan As Integer Public vitri As Long

Public cnn As ADODB.Connection Public chinhanh As ADODB.Recordset Public chucdanh As ADODB.Recordset Public tinhtrang As ADODB.Recordset Public canbo As ADODB.Recordset

Public loaichuyentien As ADODB.Recordset Public trangthai As ADODB.Recordset Public chungtu As ADODB.Recordset Public loictu As ADODB.Recordset Public sqll As String

Sub khoitao() 'cnn.Close

'Khoi dong va tao ket noi toi CSDL Set cnn = New ADODB.Connection

cnn.Open "DSN=chinhanh", "phuong", "mastersey" End Sub

2) Module chuyển đổi từ số sang chữ:

‘===============================================

‘ Doc lan luot tung so va chuyen no sang chu. Sau do dao lai vi tri tung ‘ ‘ ‘ chu

‘===============================================

Public Function chuyenso(ByVal so As String) As String Dim thutu(11) As String

Dim chu As String

Dim hang(1 To 4) As String Dim i As Integer chuyenso = "" thutu(0) = "không" thutu(1) = "một" thutu(2) = "hai" thutu(3) = "ba"

thutu(4) = "bốn" thutu(5) = "năm" thutu(6) = "sáu" thutu(7) = "bảy" thutu(8) = "tám" thutu(9) = "chín" hang(1) = "đồng" hang(2) = "nghìn" hang(3) = "triệu" hang(4) = "tỷ" chuyenso = hang(1) + " " Dim j As Integer Dim t As Integer Dim l As Integer Dim f As Single

Dim thethan As String Dim ketqua As String l = 0

ketqua = ""

For i = 1 To Len(so)

If i > 3 And i Mod 3 = 1 Then ketqua = hang(i / 3 + 1) + " " End If t = Len(so) - i + 1 For j = 0 To 9 If StrComp(Trim(Mid(so, t, 1)), Trim(Str(j)), vbBinaryCompare) = 0 Then

ketqua = ketqua + thutu(j) thethan = thutu(j)

End If Next

ketqua = baso(so, t, ketqua, i, thethan) If i Mod 3 = 0 Then

chuyenso = chuyenso + ketqua ketqua = ""

End If Next

If Len(so) > 3 Then

chuyenso = chuyenso + ketqua End If

If Len(so) < 3 Then chuyenso = ketqua End If

End Function

Function baso(ByVal so As String, ByVal t As Integer, ByVal chuyenso As String, ByVal i As Integer, ByVal thethan As String) As String

If i Mod 3 = 1 Then

If StrComp(Trim(Mid(so, t, 1)), "0", vbBinaryCompare) <> 0 Then If StrComp(Trim(Mid(so, t, 1)), "1", vbBinaryCompare) = 0 Then

chuyenso = Replace(chuyenso, "một", "môt")

ElseIf StrComp(Trim(Mid(so, t, 1)), "4", vbBinaryCompare) = 0 Then

chuyenso = Replace(chuyenso, "bốn", "t")

ElseIf StrComp(Trim(Mid(so, t, 1)), "5", vbBinaryCompare) = 0 Then

chuyenso = Replace(chuyenso, "năm", "lăm") End If

Else

chuyenso = Replace(chuyenso, "không", "") End If End If If i Mod 3 = 2 Then If StrComp(Trim(Mid(so, t, 1)), "0", vbBinaryCompare) <> 0 Then If StrComp(Trim(Mid(so, t, 1)), "1", vbBinaryCompare) = 0 Then

chuyenso = Replace(chuyenso, "một", "mời") Else

chuyenso = Replace(chuyenso, thethan, "mơi") chuyenso = chuyenso + " " + thethan

End If

ElseIf StrComp(Trim(Mid(so, t + 1, 1)), "0", vbBinaryCompare) <> 0 Then

ElseIf StrComp(Trim(Mid(so, t + 1, 1)), "0", vbBinaryCompare) = 0 Then

chuyenso = Replace(chuyenso, "không", "") End If

End If

If i Mod 3 = 0 Then

chuyenso = Replace(chuyenso, thethan, "trăm") chuyenso = chuyenso + " " + thethan

End If If chuyenso = "" Then baso = chuyenso Else baso = chuyenso + " " End If End Function

Public Function daovitri(ByVal so As String) As String Dim s(50) As String Dim t1 As Integer Dim t2 As Integer Dim g As Integer so = chuyenso(so) t1 = 1 g = 0 For g = 0 To 20 t2 = InStr(t1 + 1, so, " ") If t2 = 0 Then Exit For End If s(g) = Mid(so, t1, t2 - t1) t1 = t2 Next While g <> 0 g = g - 1

daovitri = daovitri + Trim(s(g)) + " " Wend

End Function

3) Module truy cập vào các bảng: a) Bảng cán bộ:

Public Sub laycanbo(ByVal sql As String) Set canbo = New ADODB.Recordset With canbo .ActiveConnection = cnn .CursorType = adOpenKeyset .LockType = adLockOptimistic .Open sql End With End Sub b) Bảng chi nhánh:

Public Sub truycapchinhanh() Dim sql1 As String

Set chinhanh = New ADODB.Recordset sql1 = "select * from v_chinhanh" With chinhanh .ActiveConnection = cnn .CursorType = adOpenKeyset .LockType = adLockOptimistic .Open sql1 End With End Sub c) Bảng chứng từ:

Public Sub truycapchungtu(ByVal sql As String) Set chungtu = New ADODB.Recordset With chungtu

.ActiveConnection = cnn .CursorType = adOpenKeyset .LockType = adLockOptimistic

.Open sql End With End Sub

d) Bảng tình trạng:

Public Sub truycaptinhtrang() Dim sql4 As String

Set tinhtrang = New ADODB.Recordset sql4 = "select * from v_tinhtrang" With tinhtrang .ActiveConnection = cnn .CursorType = adOpenKeyset .LockType = adLockOptimistic .Open sql4 End With End Sub e) Bảng chức danh:

Public Sub truycapchucdanh() Dim sql3 As String

Set chucdanh = New ADODB.Recordset sql3 = "select * from v_chucdanh" With chucdanh .ActiveConnection = cnn .CursorType = adOpenKeyset .LockType = adLockOptimistic .Open sql3 End With End Sub 4) Mã nguồn đăng nhập: '========================================== ' Khi khoi dong Form goi ra toan bo chi nhanh khong bi xoa

' Goi xong thi dong lai

========================================== Private Sub Form_Load()

Dim s As String Call khoitao

Call truycapchinhanh lan = 0

chinhanh.MoveFirst While Not chinhanh.EOF

If chinhanh!matinhtrang <> 3 Then

Combo1.AddItem chinhanh!macn + " - " + chinhanh!TENCN End If chinhanh.MoveNext Wend chinhanh.Close End Sub '''''''''''''''''''''''''''''''''''''''''''''''''''''''

' Neu nhan vao nut thoat thi thoat ra khoi chuong trinh '''''''''''''''''''''''''''''''''''''''''''''''''''''''

Private Sub Image1_Click()

If MsgBox("Bạn muốn thoát khỏi chơng trình chứ", vbOKCancel) = vbOK Then Unload Me chinhanh.Close cnn.Close End If End Sub '''''''''''''''''''''''''''''''''

' Neu nhan vao nut dang nhap '''''''''''''''''''''''''''''''''

Private Sub Image2_Click()

'=========================================== ==========

'Tao 1 bien trang thai so sanh user va pass; gan no =0 'Tao 1 bien de kiem tra chuc danh

'=========================================== ==========

Dim t As Integer, g As Integer t = 0

'=========================================== ========

'Neu so lan dang nhap >3 thi thoat khoi chuong trinh

'=========================================== ========

If lan = 3 Then

MsgBox ("Bạn đã đăng nhập sai 3 lần. Tự động thoát khỏi chơng trình") Unload Me Exit Sub End If lan = lan + 1 '=========================================== ===

'Neu truong ma chi nhanh ma` rong thi thong bao

'=========================================== ===

If Len(Combo1.Text) = 0 Then

MsgBox "Bạn cha nhập trờng mã chi nhánh" Exit Sub

End If

'=========================================== ==============

'Neu truong nguoi dung va mat khau ma` rong thi thong bao 'Tao 1 bien truy van sql toi bang canbo

'Dua ve vi tri dau tien cua bang CANBO va bat dau so sanh 'Neu dung ca user va pass thi bien trang thai =1

'Luu lai vi tri cua nguoi nay

'=========================================== ===============

If Len(user.Text) = 0 And Len(pass.Text) = 0 Then

MsgBox "Bạn cha nhập trơng ngời dùng hoặc mật khẩu" Exit Sub

Else

vitri = 0

Dim sql As String

Call laycanbo(sql) canbo.MoveFirst While Not canbo.EOF vitri = vitri + 1

If StrComp(user.Text, canbo!macb, vbBinaryCompare) = 0 Then If StrComp(pass.Text, canbo!matkhau, vbBinaryCompare) = 0 Then

cd = canbo!machucdanh t = 1

g = vitri

If canbo!mattrang = 3 Then

MsgBox "Tài khoản đã bị xoá. Bạn không đợc phép đăng nhập." Exit Sub End If End If End If canbo.MoveNext Wend End If vitri = g - 1 canbo.Move vitri, 1 '======================================= 'Neu bien trang thai =0 dua ra thong bao

'======================================= If t = 0 Then

MsgBox "Bạn nhập sai mã ngời sử dụng hoặc mật khẩu" Exit Sub

End If

'=========================================== ==========

'Neu la giao dich vien thi load ra form giao dich vien 'Neu la kiem soat vien thi load ra form KSV

'Neu la quan tri vien thi load ra form KSV

'=========================================== ==========

Unload Me menugdv.Show vbModal End If If cd = "2" Then Unload Me menuksv.Show vbModal End If If cd = "3" Then Unload Me menuqtv.Show vbModal End If End Sub

Private Sub Image4_Click()

If MsgBox("Bạn muốn thoát khỏi chơng trình chứ", vbOKCancel) = vbOK Then

Unload Me cnn.Close End If End Sub

Private Sub Label4_Click()

If MsgBox("Bạn muốn thoát khỏi chơng trình chứ", vbOKCancel) = vbOK Then Unload Me chinhanh.Close cnn.Close End If End Sub

Private Sub pass_keypress(KeyAscii As Integer) If KeyAscii = 13 Then

Call Image2_Click End If

4) Code cho Form in cán bộ:

‘=================================================== ` Kiem tra lan luot tung textbox gan voi chi tieu. Neu text box nao khac ` ‘ rong thi dua vao chi tieu tim kiem. Sau do luu cau query de bao cao

`=================================================== Private Sub Command1_Click()

If Text1.Text = "" And Text2.Text = "" And Combo1.Text = "" And Combo2.Text = "" And Combo3.Text = "" Then

If MsgBox("Chơng trình sẽ in toàn bộ danh sách. Bạn có in không ?", vbOKCancel, "chuyentien") = vbOK Then

rptPrint.Connect = "DSN=chinhanh;UID=" & "phuong" & ";PWD=" & "mastersey" & ";DSQ=" & "oracle"

rptPrint.ReportFileName = App.Path & "\Report\" & "incanbo.rpt"

rptPrint.WindowState = crptMaximized rptPrint.Destination = 0

rptPrint.Formulas(1) = "canbolap='" + canbo!HODEM + " " + canbo!TEN + "'"

response = rptPrint.PrintReport If response <> 0 Then

MsgBox rptPrint.LastErrorString, 48, "Bao cao co loi" Exit Sub End If Exit Sub Else Exit Sub End If End If Dim sql1 As String Dim sql As String

sql = "SELECT V_CB.MACB , V_CB.TENCN, V_CB.TENCD, V_CB.HODEM, V_CB.TEN, V_CB.TENTT "

sql = sql & "FROM PHUONG.V_CB V_CB WHERE " sql1 = "select * from v_cb where "

If Text1.Text <> "" Then

sql = sql & "V_CB.MACB LIKE '%" + Text1.Text + "%' AND " sql1 = sql1 & "macb like '%" + Text1.Text + "%' and "

If Text2.Text <> "" Then

sql = sql & "V_CB.TEN LIKE '%" + Text2.Text + "%' AND " sql1 = sql1 & "ten like '%" + Text1.Text + "%' and "

End If

If Combo1.Text <> "" Then

sql = sql & "V_CB.TENCN LIKE '%" + Mid(Combo1.Text, 7, Len(Combo1.Text)) + "%' AND "

sql1 = sql1 & "tencn like '%" + Mid(Combo1.Text, 7, Len(Combo1.Text)) + "%' and "

End If

If Combo2.Text <> "" Then

sql = sql & "V_CB.TENCD LIKE '%" + Mid(Combo2.Text, 5, Len(Combo2.Text)) + "%' AND "

sql1 = sql1 & "tencd like '%" + Mid(Combo2.Text, 5, Len(Combo2.Text)) + "%' and "

End If

If Combo3.Text <> "" Then

sql = sql & "V_CB.TENTT LIKE '%" + Mid(Combo3.Text, 5, Len(Combo3.Text)) + "%'"

sql1 = sql1 & "tentt like '%" + Mid(Combo3.Text, 5, Len(Combo3.Text)) + "%'"

End If

If StrComp(Mid(sql, Len(sql) - 3, 3), "AND", vbBinaryCompare) = 0 Then sql = Mid(sql, 1, Len(sql) - 4) sql1 = Mid(sql1, 1, Len(sql1) - 4) End If Adodc1.RecordSource = sql1 Adodc1.Refresh If Adodc1.Recordset.RecordCount = 0 Then

MsgBox "Không tìm thấy điều kiện mà bạn tìm kiếm." Exit Sub

Adodc1.RecordSource = ""

rptPrint.Connect = "DSN=chinhanh;UID=" & "phuong" & ";PWD=" & "mastersey" & ";DSQ=" & "oracle"

rptPrint.ReportFileName = App.Path & "\Report\" & "incanbo.rpt"

rptPrint.WindowState = crptMaximized rptPrint.Destination = 0

rptPrint.Formulas(1) = "canbolap='" + canbo!HODEM + " " + canbo!TEN + "'"

rptPrint.SQLQuery = sql

response = rptPrint.PrintReport If response <> 0 Then

MsgBox rptPrint.LastErrorString, 48, "Bao cao co loi" Exit Sub

End If End If

End Sub

5) Code Form tìm kiếm chứng từ:

`================================================== ` Neu can bo la quan tri vien thi de tim kiem macngui, macnnhan con neu ` khong phai thi an 2 text box nay di. De 2 nut ‘Bo ket qua’ va ‘In ket ` ` ` qua o tinh trang an. Sau do load trang thai chung tu vao combobox.

`=================================================== Private Sub Form_Load()

If canbo!machucdanh <> 3 Then Text1.Visible = False Text2.Visible = False Label2.Visible = False Label3.Visible = False End If Command3.Enabled = False Command2.Enabled = False Call truycaptrangthai trangthai.MoveFirst While Not trangthai.EOF

Combo1.AddItem trangthai!matthai + " - " + trangthai!tentt trangthai.MoveNext

trangthai.Close

End Sub

`=================================================

` Neu nhan nut tim kiem thi bat dau dua du lieu vao cau query cho ca bao ` cao va cho ca form hien ra ket qua. Neu khong tim thay thi dua ra thong ` bao. O day la tim kiem theo chi tieu tong hop

`================================================== Private Sub Command1_Click()

Command3.Enabled = False Command2.Enabled = False sqll = ""

sqll = "SELECT QUACQUAC.MACT, QUACQUAC.MACNGUI, QUACQUAC.MACNNHAN, QUACQUAC.GDVIEN, QUACQUAC.KSVIEN, QUACQUAC.NOIDUNG, QUACQUAC.SOTIEN, QUACQUAC.TGLAP, QUACQUAC.TGGUI, QUACQUAC.TGNHAN, QUACQUAC.TENLOAI, QUACQUAC.TENTT, QUACQUAC.CHECKSUM "

sqll = sqll & "FROM PHUONG.QUACQUAC QUACQUAC WHERE "

Dim sql As String

If canbo!machucdanh = 1 Then

sql = "select * from chungtu" + " where " ElseIf canbo!machucdanh = 2 Then

sql = "select * from chungtu" + " where " ElseIf canbo!machucdanh = 3 Then

sql = "select * from chungtu where " End If

If canbo!machucdanh = 3 Then If Text1.Text <> "" Then

sql = sql + "mact like '%" + Text1.Text + "%' and "

sqll = sqll + "QUACQUAC.MACT like '%" + Text1.Text + "%' AND "

End If

If Text2.Text <> "" Then

sqll = sqll + "QUACQUAC.MACNNHAN like '%" + Text2.Text + "%' AND "

End If End If

If Text3.Text <> "" And Text7.Text = "" Then sql = sql + "sotien >= " + Text3.Text + " and "

sqll = sqll + "QUACQUAC.SOTIEN >=" + Text3.Text + " AND " End If

If Text3.Text = "" And Text7.Text <> "" Then sql = sql + "sotien <= " + Text7.Text + " and "

sqll = sqll + "QUACQUAC.SOTIEN <=" + Text7.Text + " AND " End If

Dim t As Double Dim t2 As Double

If Text3.Text <> "" And Text7.Text <> "" Then t = Text3.Text

t2 = Text7.Text If t2 <= t Then

MsgBox "Bạn nhập số tiền 2 không chính xác. Hãy nhập lại." Text7.SetFocus

Exit Sub End If

sql = sql + "sotien >= " + Text3.Text + " and sotien <= " + Text7.Text + " and "

sqll = sqll + "QUACQUAC.SOTIEN >=" + Text3.Text + " AND QUACQUAC.SOTIEN <= " + Text7.Text + " AND "

End If

If Text4.Text <> "" Then

sql = sql + "noidung like '%" + Text4.Text + "%' and "

sqll = sqll + "QUACQUAC.NOIDUNG like '%" + Text4.Text + "%' AND "

End If

'If StrComp(Mid(sql, Len(sql) - 4, 3), "and") = 0 Then ' sql = Mid(sql, 1, Len(sql) - 4)

' sqll = Mid(sqll, 1, Len(sql) - 4) 'End If

If Combo1.Text <> "" Then

sql = sql + "ttchungtu like '%" + Mid(Combo1.Text, 1, 1) + "%' and "

sqll = sqll + "QUACQUAC.TENTT like '%" + Mid(Combo1.Text,

Một phần của tài liệu XÂY DỰNG HỆ THỐNG THÔNG TIN XỬ LÝ GIAO DỊCH CHUYỂN TIỀN GIỮA CÁC CHI NHÁNH TRONG NGÂN HÀNG CÔNG THƯƠNG VIỆT NAM TRONG CẢ NƯỚC (Trang 79 -100 )

×