III. CÁC SƠ ĐỒ UML CỦA HỆ THỐNG BÁO CÁO NHANH
III.3.3 Sơ đồ hoạt động đối với một số chức năng
III.3.3.1 Phân tích ca sử dụng
Hình 11: Phân tích ca sử dụng
RL _ HienthiWeb (from Use-Case Realizations)
rl_TonghopBC
(from Use-Case Realizations) TongHopDL
(from Use Case View)
<<realize>>
<<realize>>
rl_KhaibaoBC Khai baoBC (from Use Case View)
<<realize>>
rl_TonghopDL (from Use- Case Realizations)
TonghopDL (from Use Case View)
<<realize>>
rl_DongboDL (from Use- Case Realizations)
DongboDL
(from Use Case View)
<<realize>>
rl_KyDL
(from Use-Case Realizations)
rl_XoaDL
(from Use-Case Realizations) rl_LoaiBC
(from Use-Case Realizations)
DongboDL (from Use Case View)
<<realize>>
<<realize>>
<<realize>>
<<realize>>
rl_XuatDL
RL_Xuatfile (from Use-Case Realizations)
XuatDL
(from Use Case View)
<<realize>>
rl_HienthiWeb (from Use-Case Realizations)
rl_Xuatfile (from Use-Case Realizations)
XuatBC ( from Use Case View)
<<realize>>
<<realize>>
rl_Dothii
<<realize>>
<<realize>>
rl_Luutru (from Use-Case Realizations)
from Use-Case Realizations
(from Use- Case Realizations)
RL_Dothi
(from Use-Case Realizations) (from Use-
Case Realizations)
rl_KhaiBaokyDL
(from Use-Case Realizations)
: c_NhapBC
: e_DanhsachBC
: frmKhaibaoBC : NSD
: e_Baocao
: e_ChiTietBC 3. issue( )
2. CheckExist( )
4. AddMaster( )
5. AddDetail( ) 1. issue( )
a. Rl_KhaibaoBC
Hình 12: Sơ đồ hoạt động của RL_KhaibaoBC b. Rl_TonghopDL
Hình 13: Sơ đồ hoạt động của Rl_TonghopDL
: TTxuly
: c_TonghopDL
: e_ChiTietDL
: e_GiaoDich : e_TonKho
: frmTonghop
: e_BangDL
5. AddDetail( )
4. AddMaster( )
6. ChangeExpOfDay(array) 2. CheckExist( )
3. SetBlankStore( )
1. XDngayDL(NgayDL)
c. Rl_DongboDL
Hình 14: Sơ đồ hoạt động của Rl_DongboDL d.Rl_HienthiBC
Hình 15: Sơ đồ hoạt động của Rl_HienthiBC
: NSD
: c_HienthiDulieu
: e_KyBC
: e_
: e_Baocao
: e_ChiTietBaocao : frmDanhsachBC
2. CheckState( )
6. CheckKyBC
5. ChangeExpOfDay(array)
4. AddDetail( ) 3. AddMaster( ) 1. export(type:Baocao)
: frmDongboDL
: e_GiaoDich : e_ChiTietDL
: c_DongboDL : TTxuly
: e_DanhsachBC
: e_DSkyBC
1. Distribute()
3. AddMaster( ) 4. AddDetail( )
2. CheckExists( )
5. CheckKyBC( )
e. Rl_XuatBC
Hình 16: Sơ đồ hoạt động của Rl_XuatBC
III.3.3.2 Các sơ đồ tuần tự đối với một số chức năng cơ bản a. Rl_KhaibaoBC
Hình 17: Sơ đồ tuần tự của Rl_KhaibaoBC
: c_LoaiBC
: c_ : e_DSbaocao : e : frmKhaiBaoBC
: frm : NSD
: : e_Baocao : e_ : e_ChiTietBaocao : e_
issue( )
AddMaster( )
AddDetail( ) CheckExist( )
issue( )
: NSD
: frm_ChonBC
: e_LuutruDL
: e_Kieuxuat
: e_ChitietBC
: c_XuatBC 1. SelectTransact( )
2. ExportStore( )
4. ChangeExportOfDay(array)
3. VerifyExport( )
5. ChangeOwnStore()
b. Rl_TonghopDL
Hình 18: Sơ đồ tuần tự của Rl_TonghopDL c. Rl_DongboDL
Hình 19: Sơ đồ tuần tự của Rl_DongboDL d. Rl_XuatBC
Hình 20: Sơ đồ tuần tự của Rl_XuatBC
: NSD
: NSD : c_Xua : c_Xuat BC : e_DSBaocaoi : e_ : e_DulieuLuutru : e_ : e_Baocao : e_ : eChiTiettBâocao : frmXuat : frmXuat export(type:Kieuxuat)
CheckState( )
AddMaster( )
AddDetail( ) ChangeExpOfDay(array)
: NSD
: : packageDL : : c_DBoDL : c : e_ : e_ChitietDL : e_BangDL : e_ : e_NgayDL : e : e_LoaiDLi : e_
Import(ThuthapDL)
AddMaster( )
AddDetail( )
ChangeImportOfDay(array)
CheckExist( ) SetBlankStore( ) : e_DSbaocao
: e_
: TTxuly
: : packageDL : : c_ : c_StoreTHBC : e_t : e_ChiTietBaocaot : e_KyBC : e_DulieuluutruBCi : e_
Distribute()
AddMaster( )
AddDetail( )
CheckExists( )
LuutruBC( )
III.3.3. Thiết kế sơ đồ lớp Các đối tƣợng chính [1][3][9]
Hình 21: Sơ đồ các đối tượng lớp chính
c_TonghopDL
impStore()
(from Use-Case Realizations)
C_DongboDL
issue() Checkexist()
(from Use-Case Realizations)
c_XuatBC
Distribute() export()
(from Use-Case Realizations)
e_DLBaocao
ReportID : string
ItemID : Int
Branch : string
DataDate : Date
CurrCode : string Value1 : Decimal Value2 : Decimal Value3 : Decimal Value4 Decimal
Value5 : Decimal
Value5 : Decimal
Value6 : Decimal
Value7 : Decimal
Value8 : Decimal Value9 : Decimal CharValue1 string CharValue2 : string CharValue3 : string AddMaster() VerifyImport()
(from Use-Case Realizations)
e_ChiTietBC
ReportID : String ItemID : String
ItemParent : Int
ItemDescription : String
Prefix : String
Suffix : Bit Caption : String Col : String GL : String
SQLStatement : String
Note : String AddDetail()
(from Use-Case Realizations)
e_DMmodulBC
CategoryCode : Date CategoryName : Int
CategoryTableDefine : String PrimaryKey : Int
DisplayField : String LinkAddress: string InUse: Int
StoreProcedure : String PeriodCombo : String CurrencyCombo : String BranchCombo : string
issue() CheckExist() ChangeOwnStore() CheckState() SetBlankStore()
(from Use-Case Realizations)
e_DSbaocao
CategoryID : Date ReportID : string ReportName : String
CaptionWidth : Int
ReportWidth : Int
ReportFont : Int
ReportHeader : Int
ReportFooter : Int CurrencyTitle : String ReportRate : String
ChangeImpOfDay()
(from Use-Case Realizations)
c_KhaibaoBC
(from Use-Case Realizations)
issue()
ChangeExpOfDay()
RoundPosition : String LinkAddress : String
FirstColumnCaption : String DisplayEmptyItem : String ReportType : String
ReportMasterTitle : String
ReportMasterFooter : String 1
1..*
1
1..*
1
1..*
1..*
1
1
1 1 1..* 1
1..*
1..*
1..*
1
1 1
1
1 1
<<Class>>KhaibaoBC
Tên hàm Tham số Đầu ra
AccessLevel_DeleteByID AccessLevel_GetAll AccessLevel_GetByID AccessLevel_Insert AccessLevel_Update
ReportID:
string
Khai báo một báo cáo mới vào bảng ReportID.
Xác nhận xem Báo cáo này đã tồn tại trong chương trình hay chƣa
Lấy dữ liệu từ bảng danh sách lớp báo cáo
Thêm mới lớp báo cáo Sửa đổi lớp báo cáo Xóa lớp báo cáo AdminID_DeleteByCategoryCodeAnd
ID
AdminID_DeleteByID AdminID_GetAll
AdminID_GetByCategoryCodeAndID AdminID_GetByCategoryID
AdminID_GetByID AdminID_Insert AdminID_Update Categories_DeleteByID Categories_GetAll Categories_GetByID Categories_GetByUserID Categories_Insert
Categories_Update
Lấy dữ liệu từ bảng danh sách báo cáo
Thêm mới báo cáo Sửa đổi báo cáo Xóa báo cáo ReportDetails_GetByManualReportID
ReportDetails_GetByReportID ReportDetails_GetByReportIDAndIte mID
ReportDetails_Update
Lấy dữ liệu từ bảng nội dung các báo cáo
Thêm mới nội dung báo cáo Sửa đổi báo cáo
Xóa báo cáo ReportFieldPosition_DeleteByPkId
ReportFieldPosition_GetByPkId ReportFieldPosition_GetByReportID
Lấy dữ liệu từ bảng nội dung các báo cáo
Thêm mới nội dung báo cáo
ReportFieldPosition_GetByReportIDA ndItemPosition
ReportFieldPosition_Insert ReportFieldPosition_Update
Sửa đổi nội dung báo cáo Xóa nội dung báo cáo
ReportID_DeleteByID ReportID_GetAll ReportID_GetByID ReportID_Insert ReportID_Update
Lấy dữ liệu từ bảng mã các báo cáo
Thêm mới mã báo cáo Sửa đổi mã báo cáo Xóa mã báo cáo Bảng 11: Mô tả lớp khai báo báo cáo
<<Class>>DongboDL
Tên hàm Tham số Đầu ra
Package_BCN Datadate: Date (Ngày dữ liệu)
Thêm các dữ liệu của ngày hệ thống vào bảng dữ liệu thô.
CreateAllReportData ReportID: string Tạo dữ liệu cho các báo cáo Bảng 12: Mô tả lớp đồng bộ dữ liệu
. <<Class>>TonghopDL
Tên hàm Tham số Đầu ra
Issue() void
ReportID:
Mã báo cáo Kyhan: Kỳ
báo cáo
Kiểm tra loại báo cáo CheckExists()
Boolean CheckState() Boolean
SetBlankStore() void CreateAllReportData CreateDateHistory CreateReportDataTable CreateReportDataTemp CreateSpecialItems
Tạo bảng dữ liệu lưu trữ dữ liệu đã đƣợc tổng hợp
InputItemsData
InsertDataTempIntoReportData
Thực hiện insert dữ liệu vào bảng tạm và bảng lưu trữ dữ liệu của các báo cáo
Bảng 13: Mô tả lớp tổng hợp dữ liệu
<<Class>>XuatBC
Tên hàm Tham số Đầu ra
ExportToExcel() ReportID: Mã báo cáo Kyhan: Kỳ báo cáo
File dữ liệu Excel
InputItemsData
InsertDataTempIntoReportData
Thực hiện insert dữ liệu vào bảng tạm và bảng lưu trữ dữ liệu của các báo cáo
Bảng 14: Mô tả lớp xuất báo cáo
IV. THIẾT KẾ CƠ SỞ DỮ LIỆU
IV.1. Thiết kế các bảng dữ liệu quan hệ a. Sơ đồ quan hệ thực thể [2][8][10]
Hình 22: Sơ đồ quan hệ thực thể (1)
Hình 23: Sơ đồ quan hệ thực thể (2)
IV.2. Các bảng dữ liệu phục vụ việc quản trị hệ thống, tổ chức lưu trữ, quản lý, khai thác các thông tin ngoài hệ thống Corebanking.
a. Users
Tên bảng: Users
Nội dung:Lưu thông tin về các user và mức độ phân quyền đến từng chức năng của báo cáo
Tên trường Mô tả Kiểu dữ liệu Not Null Giá trị cho phép
PkId Thứ tự user int Unchecked
UserID Mã user nvarchar(50) Unchecked
Password Mật khẩu binary(24) Checked
UserName Tên user nvarchar(255) Checked
AccessLevel mức truy cập nvarchar(2) Checked BranchCode Mã chi nhánh nvarchar(3) Checked Department
Name
Phòng ban nvarchar(255) Checked
Title Tiêu đề nvarchar(255) Checked
Phone Điện thoại nvarchar(255) Checked
Email Địa chỉ email nvarchar(255) Checked CategoryDet
ailsOption
Mã các báo cáo phân quyền
nvarchar(4000) Checked
CategoryList Danh sách mã các báo cáo phân quyền
nvarchar(4000) Checked
SIBSID Mã truy cập hệ thống core
varchar(50) Checked
Bảng 15: Mô tả bảng user
a. Tên bảng: Userlog
Nội dung:Lưu thông tin về các user đăng nhập hệ thống
Tên trường
Mô tả
Kiểu dữ liệu
Not Null
Giá trị cho phép
PkId Số thứ tự int Unchecked
UserId Mã user nvarchar(50) Unchecked
IPAddress Địa chỉ đăng nhập nvarchar(50) Checked ActionName Tên hành động nvarchar(512) Checked ActionTime Thời gian hành động datetime Unchecked
Bảng 16: Mô tả bảng userlog
b. Tên bảng: AdminID
Nội dung:Lưu thông tin về các mã chức năng trong hệ thống
Tên trường
Mô tả
Kiểu dữ liệu
Not Null
Giá trị cho phép CategoryID Mã thứ tự nvarchar(50) Unchecked
AdminID Mã chức năng nvarchar(50) Unchecked ObjectName Tên đối tƣợng nvarchar(255) Checked LinkAddress Địa chỉ link .asp nvarchar(255) Checked
Bảng 17: Mô tả bảng AdminID
c. Tên bảng: AutoImportBall
Nội dung:Lưu dữ liệu kế toán nội bộ của Ngân hàng
Tên trường Kiểu dữ liệu Not Null
DATADATE datetime Checked
GLFBRN nvarchar(3) Checked
GLFACC nvarchar(9) Checked
GLFCEN nvarchar(6) Checked
GLFPRD nvarchar(6) Checked
GLFCTP nvarchar(3) Checked
GLFFYR nvarchar(3) Checked
GLFDEC decimal(18, 2) Checked
CD00 nvarchar(1) Checked
GLFBAL decimal(18, 2) Checked
CD01 nvarchar(1) Checked
GCHTDY decimal(18, 2) Checked
CD02 nvarchar(1) Checked
GDATDY decimal(18, 2) Checked
CD03 nvarchar(1) Checked
GCATDY decimal(18, 2) Checked
CD04 nvarchar(1) Checked
GDAMTD decimal(18, 2) Checked
CD05 nvarchar(1) Checked
GCAMTD decimal(18, 2) Checked
CD06 nvarchar(1) Checked
GDAYTD decimal(18, 2) Checked
CD07 nvarchar(1) Checked
GCAYTD decimal(18, 2) Checked
CD08 nvarchar(1) Checked
GLFCDE nvarchar(10) Checked
Bảng 18: Mô tả bảng AutoImportBall d. Tên bảng: BranchArea
Nội dung:Lưu thông tin về các khu vực của chi nhánh trong hệ thống Tên trường Mô tả Kiểu dữ liệu Not Null Giá trị
cho phép MaKhuVuc Mã khu vực nvarchar(5) Unchecked
TenKhuVuc Tên khu vực nvarchar(50) Checked
SapXep Thứ tự sắp xếp int Checked
Bảng 19: Mô tả bảng BranchArea
e. Tên bảng: Branch
Nội dung:Lưu thông tin về các chi nhánh trong hệ thống Tên trường
Mô tả
Kiểu dữ liệu
Not Null Giá trị cho phép
PkId Thứ tự chi nhánh int Unchecked
brn_code Mã chi nhánh nvarchar(3) Unchecked brn_name Tên chi nhánh nvarchar(255) Checked brn_address Địa chỉ nvarchar(255) Checked brn_phone Số điện thoại nvarchar(255) Checked
Province tỉnh nvarchar(255) Checked
brn_area Khu vực nvarchar(2) Checked
Bảng 20: Mô tả bảng Branch f. Tên bảng: Category
Nội dung:Lưu thông tin về các loại báo cáo trong hệ thống
Tên trường Mô tả Kiểu dữ liệu Not Null Giá trị cho phép CategoryCode Mã báo cáo nvarchar(20) Unchecked
CategoryName Tên báo cáo nvarchar(255) Unchecked Category
TableDefine
Báo cáo định nghĩa nvarchar(100) Checked
PrimaryKey trường khoá nvarchar(50) Checked DisplayField Trường hiển thị nvarchar(50) Checked LinkAddress Địa chỉ link .aspx nvarchar(250) Checked
InUse Trạng thái sử dụng bit Checked
StoreProcedure Store tổng hợp báo cáo
nvarchar(50) Checked
PeriodCombo Lựa chọn trạng thái bit Checked CurrencyCombo Lựa chọn tiền tệ bit Checked BranchCombo Lựa chọn chi nhánh bit Checked
Bảng 21: Mô tả bảng Category
g. Tên bảng: ReportData
Nội dung:Lưu thông tin về các loại báo cáo trong hệ thống
Tên trường
Mô tả
Kiểu dữ liệu
Not Null
Giá trị cho phép ReportID Mã báo cáo nvarchar(50) Unchecked
ItemID nvarchar(50) Unchecked
Branch Mã chi nhánh nvarchar(3) Checked
DataDate Ngày tháng datetime Checked
CurrCode Mã tiền tệ nvarchar(3) Checked Value1 Giá trị hiển thị
trên cột báo cáo dạng số
decimal(20, 4) Checked
Value2 decimal(20, 4) Checked
Value3 decimal(20, 4) Checked
Value4 decimal(20, 4) Checked
Value5 decimal(20, 4) Checked
Value6 decimal(20, 4) Checked
Value7 decimal(20, 4) Checked
Value8 decimal(20, 4) Checked
Value9 decimal(20, 4) Checked
...
CharValue1 Giá trị hiển thị trên cột báo cáo dạng ký tự
nvarchar(500) Checked
CharValue2 nvarchar(500) Checked
CharValue3 nvarchar(500) Checked
CharValue4 nvarchar(500) Checked
CharValue5 nvarchar(500) Checked
...
Bảng 22: Mô tả bảng ReportData
h. Tên bảng: ReportDataTEMP
Nội dung:Lưu thông tin về các loại báo cáo trong hệ thống
Tên trường Mô tả Kiểu dữ liệu Not Null Giá trị cho phép ReportID Mã báo cáo nvarchar(50) Unchecked
ItemID nvarchar(50) Unchecked
Branch Mã chi nhánh nvarchar(3) Checked DataDate Ngày tháng datetime Checked CurrCode Mã tiền tệ nvarchar(3) Checked Value1 Giá trị hiển thị
trên cột báo cáo dạng số
decimal(20, 4) Checked
Value2 decimal(20, 4) Checked
Value3 decimal(20, 4) Checked
Value4 decimal(20, 4) Checked
Value5 decimal(20, 4) Checked
Value6 decimal(20, 4) Checked
Value7 decimal(20, 4) Checked
Value8 decimal(20, 4) Checked
Value9 decimal(20, 4) Checked
... ... ...
CharValue1 Giá trị hiển thị trên cột báo cáo dạng ký tự
nvarchar(500) Checked
CharValue2 nvarchar(500) Checked
CharValue3 nvarchar(500) Checked
CharValue4 nvarchar(500) Checked
CharValue5 nvarchar(500) Checked
... ... ...
Bảng 23: Mô tả bảng ReportDataTEMP
i. Tên bảng: ReportID
Nội dung:Lưu thông tin về các tiêu chí báo cáo trong hệ thống
Tên trường Mô tả Kiểu dữ liệu Not Null
Giá trị cho phép CategoryID Mã lớp báo cáo nvarchar(50) Unchecked
ReportID Mã báo cáo nvarchar(50) Unchecked ReportName Tên báo cáo nvarchar(255) Checked CaptionWidth Độ rộng đầu để
báo cáo
smallint Checked
ReportWidth Độ rộng báo cáo int Checked
ReportFont Độ rộng phông chữ
nvarchar(255) Checked
ReportHeader Tiêu đề đầu báo cáo
ntext Checked
ReportFooter Tiêu đề cuối báo cáo
ntext Checked
CurrencyTitle Tên loại tiền tệ nvarchar(255) Checked ReportRate Tỷ lệ báo cáo varchar(50) Checked RoundPosition Giá trị làm tròn varchar(3) Checked LinkAddress địa chỉ link nvarchar(255) Checked FirstColumnCaption Độ rộng tiêu đề
cột báo cáo
nvarchar(255) Checked
DisplayEmptyItem Có hiển thị giá trị rỗng không
bit Checked
ReportType Kiếu báo cáo nvarchar(2) Checked ReportMasterTitle Tiêu đề chung cho
báo cáo
nvarchar(4000) Checked
ReportMasterFooter Tiêu đề cuối chung cho báo cáo
nvarchar(4000) Checked
Bảng 24: Mô tả bảng ReportID
j. Tên bảng: ReportDetail
Nội dung:Lưu thông tin về chi tiết các tiêu chí của các loại báo cáo trong hệ thống
Tên trường Mô tả Kiểu dữ liệu Not Null
Giá trị cho phép ReportID Mã báo cáo nvarchar(50) Unchecked
ItemID Mã dòng báo cáo nvarchar(50) Unchecked ItemParent Quan hệ cha con
trong mã dòng báo cáo
nvarchar(50) Checked
ItemDescription Dòng báo cáo hiển thị
nvarchar(500) Checked
Prefix Mục lục dòng nvarchar(255) Checked
Suffix nvarchar(255) Checked
CaptionFormat Định dạng tiêu đề dòng
nvarchar(255) Checked
ColDisable Có hay không hiển thị cột
bit Checked
AccountList Danh sách tài khoản cần hiển thị
nvarchar(255) Checked
GL DS TK kế toán char(1) Checked
SQLStatement Câu lệnh query dữ liệu
ntext Checked
Note Ghi chú nvarchar(255) Checked
Bảng 25: Mô tả bảng ReportDetail
k. Tên bảng: ReportFieldPosition
Nội dung:Lưu thông tin về vị trí dữ liệu các tiêu chí của các loại báo cáo trong hệ thống
Tên trường Mô tả Kiểu dữ liệu Not Null
Giá trị cho phép
PkId Mã thứ tự int Unchecked
ReportID Mã báo cáo nvarchar(50) Unchecked ItemPosition Vị trí mã trường smallint Unchecked FieldName Tên trường nvarchar(50) Unchecked ItemDescription Liệt kê mã nvarchar(255) Checked
ItemWidth Độ rộng trường int Checked
DataType Kiểu dữ liệu của trường
char(1) Checked
FieldRateEnabled Tỷ lệ trường hiển thị
bit Checked
Bảng 26: Mô tả bảng ReportFieldPosition