Những biến đổi trong việc chăm sóc sức khỏe bà mẹ và trẻ em của người Nùng : nghiên cứu ở xã Đại An, huyện Văn Quan, tỉnh lạng Sơn : Luận văn ThS. Dân tộc học: 60 22 70

75 40 0
Những biến đổi trong việc chăm sóc sức khỏe bà mẹ và trẻ em của người Nùng : nghiên cứu ở xã Đại An, huyện Văn Quan, tỉnh lạng Sơn : Luận văn ThS. Dân tộc học: 60 22 70

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ o0o LÊ KHÁNH TRÌNH PHÂN TÍCH THIẾT KẾ HỆ CHUYÊN GIA ĐÁNH GIÁ KHẢ NĂNG CHI TRẢ CỦA KHÁCH HÀNG LUẬN VĂN THẠC SĨ Hà Nội - 2009 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ o0o LÊ KHÁNH TRÌNH PHÂN TÍCH THIẾT KẾ HỆ CHUYÊN GIA ĐÁNH GIÁ KHẢ NĂNG CHI TRẢ CỦA KHÁCH HÀNG Ngành: Công nghệ Thông tin Chuyên ngành: Công nghệ Phần mềm Mã số: 60.48.10 LUẬN VĂN THẠC SĨ NGƯỜI HƯỚNG DẪN KHOA HỌC: TS Nguyễn Việt Hà Hà Nội - 2009 - III - MỤC LỤC LỜI CAM ĐOAN I LỜI CẢM ƠN II MỤC LỤC III BẢNG THUẬT NGỮ VÀ CÁC TỪ VIẾT TẮT V DANH MỤC CÁC BẢNG VI DANH MỤC CÁC HÌNH VII MỞ ĐẦU CHƯƠNG 1: BÀI TỐN CHO VAY TÍN DỤNG 1.1 Một số thuật ngữ lĩnh vực ngân hàng 1.2 Bài tốn cho vay tín dụng 1.2.1 Yêu cầu toán 1.2.2 Ví dụ 1.2.3 Các tiêu chí đánh giá xếp hạng khách hàng cá nhân 1.2.4 Các khó khăn thực cho vay tín dụng 11 1.2.5 Phương pháp giải truyền thống 12 1.2.6 Giải toán phương pháp CBR 13 CHƯƠNG 2: CBR VÀ ỨNG DỤNG VÀO BÀI TOÁN CHO VAY TÍN DỤNG 15 2.1 Giới thiệu khái quát CBR 15 2.1.1 Giới thiệu 15 2.1.2 Phương pháp CBR 15 2.2 Ứng dụng CBR vào tốn cho vay tín dụng 17 2.2.1 Đặc tả ca vay tín dụng 18 2.2.2 Độ đo tương tự 19 2.2.3 Quy trình tìm kiếm lời giải cho tốn 21 CHƯƠNG 3: PHÂN TÍCH THIẾT KẾ HỆ THỐNG 23 3.1 Mô tả hoạt động hệ thống 23 3.1.1 Hoạt động Cập nhật thông tin hệ thống: 23 3.1.2 Hoạt động Cập nhật khách hàng & hợp đồng vay vốn: 24 3.1.3 Hoạt động Quản trị người sử dụng: 24 3.1.4 Hoạt động Quản trị sở liệu 25 3.1.5 Biểu đồ hoạt động nghiệp vụ 25 3.2 Bảng tổng hợp chức hệ thống 26 3.3 Mơ hình ca sử dụng 26 3.3.1 Xác định tác nhân 26 3.3.2 Xác định ca sử dụng 28 3.4 Biểu đồ lớp 31 3.5 Mô hình triển khai hệ thống 31 CHƯƠNG 4: THỰC NGHIỆM 33 Thực nghiệm 33 1.1 Ca vay vốn thứ 33 1.2 Ca vay vốn thứ hai 35 1.3 Ca vay vốn thứ ba 37 - IV - So sánh kết hai phương pháp đánh giá 39 Giới thiệu chương trình thực nghiệm 43 KẾT LUẬN 47 TÀI LIỆU THAM KHẢO 48 PHỤ LỤC: MỘT SỐ CA SỬ DỤNG & MÃ CHƯƠNG TRÌNH 50 Một vài biểu đồ cho số ca sử dụng 50 1.1 Ca sử dụng “Cập nhật tiêu chí đánh giá” 50 1.2 Ca sử dụng “Đánh giá khoản vay tín dụng” 52 Chi tiết thiết kế liệu thực thể 56 Một số Triger & Procedure sở liệu 59 3.1 Procedure thực việc đánh giá khoản vay tín dụng 59 3.2 Trigger thực việc cập nhật Contract Value 63 Một số mã chương trình cài đặt thư viện lớp 64 4.1 Lớp PlanService 64 4.2 Lớp ContractValueService 66 -V- BẢNG THUẬT NGỮ VÀ CÁC TỪ VIẾT TẮT TT Thuật ngữ Ý nghĩa Ngân hàng Nhà nước Việt Nam NHNN NHNo&PTNT VN Ngân hàng Nông nghiệp Phát triển Nông thôn Việt Nam PG Bank Ngân hàng TMCP Xăng dầu Petrolimex CBS Core Banking System - Hệ thống ngân hàng lõi CBR Case Base Reasoning – Lập luận theo tình UML Unified Model Language Client Khách hàng Contract Hợp đồng vay vốn khách hàng Contract Value Đánh giá theo tiêu chí hợp đồng loại khách hàng 10 Criteria Tiêu chí đánh giá tùy theo loại khách hàng 11 Value of Criteria Thang điểm theo tiêu chí đánh giá 12 Branch Chi nhánh Ngân hàng 13 Client Type Loại khách hàng 14 Client Category Ngành nghề khách hàng doanh nghiệp: Ngành công nghiệp, ngành thủ công nghiệp 15 Client Rank Bảng xếp loại khách hàng theo tiêu chí đánh giá độ rủi ro tín dụng 16 Plan Phương án đánh giá khoản vay tín dụng 17 User Process Nhật ký thao tác người dùng tác động tới sở liệu 18 Deployment Date Ngày giải ngân cho người/tổ chức vay 19 Deployment Method Phương thức giải ngân: Thường tiền mặt chuyển trực tiếp vào tài khoản định bên vay - VI - DANH MỤC CÁC BẢNG Bảng 1.1: Các tiêu chí thơng tin cá nhân Bảng 1.2: Bảng tiêu chí chấm điểm quan hệ Ngân hàng Bảng 1.3: Thang điểm tiêu chí “Tuổi” Bảng 1.4: Thang điểm tiêu chí “Trình độ học vấn” Bảng 1.5: Thang điểm tiêu chí "Nghề nghiệp" Bảng 1.6: Thang điểm tiêu chí "Thời gian công tác" Bảng 1.7: Thang điểm tiêu chí “Thời gian làm việc tại” Bảng 1.8: Thang điểm tiêu chí “Tình trạng nhà ở” Bảng 1.9: Thang điểm tiêu chí “Cơ cấu gia đình” Bảng 1.10: Thang điểm tiêu chí “Số người ăn theo” Bảng 1.11: Thang điểm tiêu chí “Thu nhập cá nhân hàng năm” Bảng 1.12: Thang điểm tiêu chí “Thu nhập gia đình hàng năm” Bảng 1.13: Thang điểm tiêu chí “Tình hình trả nợ ngân hàng” Bảng 1.14: Thang điểm tiêu chí “Tình hình chậm trả lãi” 10 Bảng 1.15: Thang điểm tiêu chí “Tổng dư nợ tại” 10 Bảng 1.16: Thang điểm tiêu chí “Các dịch vụ khác sử dụng ngân hàng” 10 Bảng 1.17: Thang điểm tiêu chí “Số dư tiền gửi tiết kiệm trung bình” 10 Bảng 1.18: Bảng xếp hạng khách hàng cá nhân 11 Bảng 2.1: Đặc tả toán ca cho vay tín dụng 18 Bảng 2.2: Đặc tả lời giải ca cho vay tín dụng mô tả Bảng 2.1 19 Bảng 2.3: Phương án đánh giá cho vay tín dụng 21 Bảng 3.1: Bảng tổng hợp chức hệ thống 26 Bảng 3.2: Bảng tổng hợp tác nhân hệ thống 27 Bảng 4.1: Các tiêu chí đánh giá ca vay vốn thứ 33 Bảng 4.2: Các tiêu chí đánh giá ca vay vốn thứ 35 Bảng 4.3: Các tiêu chí đánh giá ca vay vốn thứ ba 37 Bảng 4.4: Bảng tổng hợp kết so sánh hai phương pháp đánh giá 39 Bảng 4.5: Giải thích kết ca vay vốn số 77 40 Bảng 4.6: Giải thích kết ca vay vốn số 73 41 Bảng 4.7: So sánh tiêu chí quan hệ ngân hàng ca vay vốn 34 & 73 42 Bảng 5.1: Luồng kiện ca sử dụng “Cập nhật tiêu chí đánh giá” 50 Bảng 5.2: Luồng kiện ca sử dụng "Đánh giá khoản vay tín dụng" 53 - VII - DANH MỤC CÁC HÌNH Hình 1.1: Mơ hình hệ thống ngân hàng lõi Hình 2.1: Sơ đồ ca lập luận theo phương pháp CBR [2] 17 Hình 2.2: Sơ đồ luồng thực đánh giá khoản vay tín dụng 22 Hình 3.1: Biểu đổ hoạt động nghiệp vụ 25 Hình 3.2: Mơ hình ca sử dụng mơđun “Client & Contract” 28 Hình 3.3: Mơ hình ca sử dụng môđun “System” 29 Hình 3.4: Mơ hình ca sử dụng mơđun “Administrator” 30 Hình 3.5: Mơ hình ca sử dụng mơđun “Database” 30 Hình 3.6: Biểu đồ quan hệ lớp 31 Hình 3.7: Mơ hình triển khai hệ thống 31 Hình 4.1: Kết đánh giá ca vay vốn thứ 34 Hình 4.2: Kết đánh giá ca vay vốn thứ 36 Hình 4.3: Kết đánh giá ca vay vốn thứ ba 38 Hình 4.4: Màn hình đăng nhập ứng dụng 43 Hình 4.5: Màn hình giao diện ứng dụng 43 Hình 4.6: Màn hình tạo câu lệnh truy vấn 44 Hình 4.7: Màn hình quản lý ca vay vốn tín dụng 44 Hình 4.8: Màn hình cập nhật tiêu chí đánh giá khách hàng 45 Hình 4.9: Màn hình khai báo thang điểm tiêu chí đánh giá 45 Hình 4.10: Màn hình quản lý phương án đánh giá 46 Hình 4.11: Màn hình đánh giá ca vay vốn 46 Hình 5.1: Biểu đồ tuận tự ca sử dụng "Cập nhật tiêu chí đánh giá" 51 Hình 5.2: Biểu đồ lớp phân tích thực thi ca sử dụng Cập nhật tiêu chí đánh giá 51 Hình 5.3: Biểu đồ phân tích lớp thực thi “Cập nhật tiêu chí đánh giá” 52 Hình 5.4: Biểu đồ ca sử dụng "Đánh giá khoản vay tín dụng" 54 Hình 5.5: Biểu đồ lớp phân tích thực thi “Đánh giá khoản vay tín dụng” 54 Hình 5.6: Biểu đồ phân tích lớp thực thi “Đánh giá khoản vay tín dụng” 55 -1- MỞ ĐẦU Ngay từ thành lập, ngân hàng thương mại ln tìm hội cho vay Số tiền huy động được, thơng qua hình thức tiết kiệm, sẵn sàng đáp ứng nhu cầu vay vốn doanh nghiệp cá nhân, mua sắm mặt hàng tiêu dùng nhà cửa Thông qua chế nhận tiền gửi cho vay, ngân hàng thương mại tạo lợi nhuận, đảm bảo cho tồn phát triển Vì lĩnh vực cho vay tín dụng chức quan trọng ngân hàng thương mại Hoạt động tín dụng ngân hàng thương mại có ý nghĩa quan trọng tồn kinh tế, tạo khả tài trợ cho hoạt động công nghiệp, thương nghiệp nông nghiệp đất nước [9] Đối với hoạt động tín dụng, phần lớn ngân hàng Việt Nam dừng lại việc ban hành tài liệu hướng dẫn, quy trình đánh giá thẩm định tín dụng mà chưa có ứng dụng phần mềm cho phép quản lý & đánh giá cách có hệ thống Việc đánh giá khoản vay tín dụng cán tín dụng thực đánh giá cách thủ công, chưa thật khách quan dễ bị chi phối yếu tố cá nhân Qua khảo sát hoạt động tín dụng số ngân hàng như: Ngân hàng No&PTNT Việt Nam, Ngân hàng TMCP Xăng dầu Petrolimex , việc đánh giá khoản vay thực đơn thông qua bảng tính Excel bao gồm số tiêu chí đánh giá định Khi đánh giá khoản vay, cán tín dụng tham chiếu tới bảng thang điểm riêng cho tiêu chí để làm chấm điểm Trên sở tổng số điểm tính theo tiêu chí cộng với đánh giá mặt trực quan cán tín dụng đến định việc xếp hạng tín dụng khách hàng Dựa sở hạng tín dụng định việc chấp nhận hay không chấp nhận khoản vay chấp nhận với số tiền phê duyệt Hoạt động chấm điểm tín dụng mang tính chất rời rạc, đơn lẻ Phương pháp đánh giá mang tính chất định tính, phụ thuộc nhiều vào quan hệ với cán tín dụng Dữ liệu khơng tổ chức có tính hệ thống dẫn tới không thuận tiện cho việc tra cứu lại, sử dụng lại thông tin cho hoạt động tái thẩm định hồ sơ vay vốn lần vay vốn sau Phương pháp lập luận theo tình CBR (Case-Based Reasoning) giải pháp để giải vấn đề Lập luận theo tình -2- phương pháp giải vấn đề cách áp dụng lời giải, phương pháp lập luận có tốn cũ để giải tốn có kiện tương tự [2] Qua việc áp dụng phương pháp lập luận theo tình vào tốn cho vay tín dụng, khoản vay khứ lưu lại tri thức cở (các ca lập luận) dùng để đánh giá khoản vay tương lai Kết lập luận (lời giải cho khoản vay mới) kênh cung cấp thông tin quan trọng cho cán tín dụng việc định cho vay hay không cho vay khoản vay Mục tiêu luận văn “Phân tích thiết kế Hệ chuyên gia đánh giá khả chi trả khách hàng” xây dựng công cụ cho phép ngân hàng quản lý có hệ thống việc đánh giá khoản vay tín dụng việc áp dụng phương pháp lập luận theo tình với ý tưởng trình bày Các phần lại luận văn cấu trúc sau: Chương giới thiệu toán cho vay tín dụng bao gồm yêu cầu đặt tốn, vướng mắc khó khăn gặp phải q trình đánh giá khoản vay tín dụng, phương pháp đánh giá cho vay truyền thống ý tưởng để giải tốn thơng qua phương pháp lập luận tình CBR Chương trình bày tổng quan phương pháp lập luận theo tình ứng dụng cho tốn cho vay tín dụng thơng qua việc định nghĩa ca vay tín dụng, quy trình đánh giá, độ đo, phương án đánh giá Trên sở u cầu tốn trình bày chương phương pháp đề xuất để giải tốn chương 2, chương trình bày q trình phân tích thiết kế để xây dựng cơng cụ cho phép thực tìm kiếm lời giải đề xuất cho khoản vay Chương trình bày kết thực nghiệm cách sử dụng công cụ xây dựng với ca liệu cho vay mẫu Các kết thu phân tích cụ thể để đánh giá tính hiệu phương pháp đề xuất so với phương pháp đánh giá cho vay truyền thống -3- CHƯƠNG 1: BÀI TOÁN CHO VAY TÍN DỤNG 1.1 Một số thuật ngữ lĩnh vực ngân hàng Hệ thống tài hệ thống phức tạp cấu trúc chức năng, có nhiệm vụ luân chuyển lượng vốn lớn từ người tiết kiệm tới người có hội đầu tư Việc tìm hiểu qua số khái niệm sau giúp có góc nhìn hoạt động hệ thống tài - Thị trường tài chính: nơi dẫn vốn từ nơi thừa tới nơi thiếu vốn, hoạt động mua bán giấy tờ có giá trị, thể trái quyền (quyền hưởng) chủ thể mua chủ thể phát hành - Trung gian tài chính: hình thức tổ chức kinh doanh tiền tệ, đứng làm trung gian chuyển vốn từ người cho vay tới người vay, từ nơi thừa tới nơi thiếu - Ngân hàng thương mại: trung gian tài chính, có giấy phép kinh doanh phủ, trung gian nhận tiền gửi khách hàng cung cấp cho khách hàng dịch vụ chi trả (séc) với việc tạo điều kiện thuận lợi cho việc gửi tiết kiệm cho vay Ngân hàng có chức sau:  Huy động tiền gửi;  Dịch vụ toán;  Hoạt động cho vay;  Một số lĩnh vực hoạt động khác: Dịch vụ uỷ thác, bảo quản tài sản có giá trị, cung cấp dịch vụ mua bán chứng khoán cho khách hàng [9] Năm 2003, tài trợ Ngân hàng giới (World Bank) nhằm hỗ trợ Việt Nam trình đại hóa bước ngành ngân hàng, số ngân hàng thương mại triển khai Dự án Hiện đại hóa Ngân hàng Hệ thống toán mà cụ thể triển khai hệ thống Ngân hàng lõi (Core Banking System CBS) [8] Với việc triển khai hệ thống ngân hàng lõi, ngân hàng có dịch vụ tiên tiến về: tiền gửi khách hàng, cho vay tín dụng, tốn quốc tế, bảo lãnh, dịch vụ ngân hàng qua mạng Internet, dịch vụ ngân hàng qua mobile - 54 - thực Yêu cầu kết thúc Đóng Form Biểu đồ hệ thống: 0.4 Hình 5.4: Biểu đồ ca sử dụng "Đánh giá khoản vay tín dụng" Biểu đồ lớp phân tích thực thi: Quan hệ tác nhân & lớp ứng dụng mô tả cụ thể qua biểu đồ lớp phân tích thực thi sau: 0.5 Hình 5.5: Biểu đồ lớp phân tích thực thi “Đánh giá khoản vay tín dụng” Trong đó: - Tác nhân: Kiểm sốt viên - 55 - - Lớp giao diện: Lớp giao diện ContractEvaluateForm cho phép thực thao tác xem lại (History) kết đánh giá phương án trước Hoặc thực việc đánh giá (Run) sở phương án cho Contract lựa chọn Lớp bao gồm thủ tục thực việc kiểm tra tính hợp lệ liệu mà người dùng nhập vào, ràng buộc liệu - Lớp điều khiển: Lớp điều khiển ContractEvaluateService gồm thuộc tính & phương thức thực việc đánh giá khoản vay tín dụng - Lớp truyền thông: Lớp truyền thông COMSVR bao gồm lời gọi thực thi câu lệnh SQL tương tác trực tiếp tới sở liệu Lớp COMSVR thực việc ghi lại log thao tác người dùng sở liệu - Lớp thực thể: Lớp thực thể Plan bao gồm thông tin phương án đánh giá Lớp thực thể Criteria bao gồm thơng tin tiêu chí đánh giá loại khách hàng Lớp thực thể Contract bao gồm thơng tin khoản vay tín dụng (cả đánh giá & chưa đánh giá) Biểu đồ phân tích lớp thực thi: 0.6Hình 5.6: Biểu đồ phân tích lớp thực thi “Đánh giá khoản vay tín dụng” - 56 - Chi tiết thiết kế liệu thực thể - Bảng tb_branch: Field brid name phone fax address description usr_open date_open usr_edit date_edit status - Type char(4) varchar(100) char(20) char(20) varchar(200) varchar(255) char(10) date char(10) date char(10) Key PRI Default Comment Bảng tb_client: Field clid short_name reg_number reg_type reg_details cltid brid ctid clhid last_name first_name middle_name birth_name material_status date_of_birth place_of_birth position legal_name trade_name phone fax address zip city email date_open usr_open usr_edit date_edit status - Null NO NO NO NO NO NO NO NO NO YES NO Type int(11) varchar(50) char(20) varchar(75) varchar(200) int(11) char(4) int(11) int(11) varchar(20) varchar(20) varchar(20) varchar(50) varchar(30) date varchar(75) varchar(30) varchar(100) varchar(100) char(20) char(20) varchar(100) char(5) varchar(50) varchar(50) date char(10) char(10) date char(10) Bảng tb_client_category: Null NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO Key PRI Default MUL MUL MUL 0 0 Comment - 57 Field ctid cltid name description date_open usr_open usr_edit date_edit status - Key PRI Default Comment 0 Type int(11) int(11) float float varchar(50) varchar(50) varchar(200) char(10) date char(10) char(10) date char(10) Null NO NO NO NO NO YES YES YES YES YES YES YES NO Key PRI Default Comment 0 NO Bảng tb_client_type: Field cltid name description usr_open date_open usr_edit date_edit status - Null NO NO NO NO NO NO NO NO NO Bảng tb_client_rank: Field clrid cltid minimum maximum name risk_note credit_note accept date_open usr_open usr_edit date_edit status - Type int(11) int(11) varchar(50) varchar(200) date char(10) char(10) date char(10) Type int(11) varchar(100) varchar(255) char(10) date char(10) date char(10) Null NO NO NO NO NO NO NO NO Key PRI Default Comment Bảng tb_contract: Field ctrid clid name loan_time loan_amount payment_date payment_method interest_pay_date interest_rate purpose finance_check description Type int(11) int(11) varchar(50) int(11) float date varchar(200) date float varchar(200) char(11) varchar(200) Null NO NO NO NO NO NO NO YES YES YES YES YES Key PRI Default 0 YES Comment - 58 marked retained total_point result accept date_open usr_open usr_edit date_edit status - char(10) char(10) int(11) longtext char(10) date char(10) char(10) date char(10) NO Type int(11) int(11) int(11) varchar(70) int(11) int(11) int(11) date char(10) char(10) date char(10) Null NO NO NO NO YES YES YES NO NO NO NO NO Key PRI Default Comment 0 Bảng tb_criteria: Field crid cltid parentid group level name weight description date_open usr_open usr_edit date_edit status - NO NO Bảng tb_contract_value: Field ctrvid ctrid crid criteria_name weight valid point date_open usr_open usr_edit date_edit status - YES YES YES YES YES NO NO NO NO NO Type int(11) int(11) int(11) int(11) int(11) varchar(70) int(11) varchar(200) date char(10) char(10) date char(10) Null NO NO NO NO NO NO YES YES NO NO NO NO NO Key PRI Null NO NO NO NO YES NO NO NO Key PRI Default Comment 0 0 Bảng tb_value: Field valid crid name point description date_open usr_open usr_edit Type int(11) int(11) varchar(70) int(11) varchar(200) date char(10) char(10) Default 0 Comment - 59 date_edit status - date char(10) Null NO NO NO NO NO NO YES YES YES NO NO NO NO NO Key PRI Default Comment NO Type int(11) int(11) varchar(65) int(11) varchar(65) int(11) float date char(10) char(10) date char(10) Null NO NO YES NO YES YES NO NO NO NO NO NO Key PRI Default Comment 0 1 Bảng tb_system: Field sysid name value description date_open usr_open usr_edit date_edit status Type int(11) int(11) varchar(50) datetime varchar(50) varchar(200) char(10) datetime longtext date char(10) char(10) date char(10) Bảng tb_plan_detail: Field plndid plnid plan_name crid criteria_name weight same_percent date_open usr_open usr_edit date_edit status - Bảng tb_plan: Field plnid cltid name date_create officer description marked evaluated_date result date_open usr_open usr_edit date_edit status - NO NO Type int(11) char(20) char(50) varchar(300) date char(10) char(10) date char(10) Null NO NO NO NO NO NO NO NO NO Key PRI Default Comment Một số Triger & Procedure sở liệu 3.1 Procedure thực việc đánh giá khoản vay tín dụng - 60 DROP PROCEDURE IF EXISTS ces.ContractEvaluation; CREATE PROCEDURE ces.`ContractEvaluation`() BEGIN DECLARE ctrid_mark INT; DECLARE ctrid_retain INT; DECLARE result_mark LONGTEXT; DECLARE generalInfor LONGTEXT; DECLARE total_point_mark INT; DECLARE criteria_same_mark INT; DECLARE numMarked INT; DECLARE numRetained INT; DECLARE numCriteria INT; DECLARE crid_mark INT; DECLARE plnid_mark INT; DECLARE mark_last_row INT; DECLARE retain_last_row INT; DECLARE max_retain_id INT; DECLARE max_retain_name VARCHAR(70); DECLARE max_criteria_same INT; DECLARE max_accept_status CHAR(10); DECLARE retained_status CHAR(10); DECLARE mark_cur CURSOR FOR SELECT ctrid FROM tb_contract WHERE status='1' and marked='YES' ORDER BY ctrid; DECLARE retain_cur CURSOR FOR SELECT ctrid FROM tb_contract WHERE status='1' and retained='YES' ORDER BY accept DESC; Lay PlanID dung de danh gia: SET plnid_mark=(SELECT plnid FROM tb_plan WHERE marked = 'YES' and status='1'); Lay so luong ban ghi can danh gia: SET numMarked=(SELECT COUNT(*) FROM tb_contract WHERE status='1' and marked='YES'); SET numRetained=(SELECT COUNT(*) FROM tb_contract WHERE status='1' and retained='YES'); SET numCriteria = (SELECT SUM(d.weight) FROM tb_plan_detail d WHERE (select e.plnid from tb_plan e where e.marked='YES' and e.plnid=d.plnid) AND (d.status=1)); Ghi vao bien luu thong tin chung: SET generalInfor = '[ -CONTRACT EVALUATION -]\r\n'; SET generalInfor = CONCAT(generalInfor,'[DATE:',DATE_FORMAT(NOW(),'%Y%c-%d %H:%i:%s'),']\r\n'); SET generalInfor = CONCAT(generalInfor,'Number of contracts to evaluate: ', numMarked,'\r\n'); SET generalInfor = CONCAT(generalInfor,'Number of contracts to be used: ', numRetained,'\r\n'); SET mark_last_row = 0; OPEN mark_cur; mark_label: LOOP Lay Contract ID mark_cur FETCH mark_cur INTO ctrid_mark; SET mark_last_row = mark_last_row + 1; Luu vao bien thong tin hien thoi cua Contract dang chon - 61 SET generalInfor = CONCAT(generalInfor,'\r\n[Begin Contract ID: ', ctrid_mark,']\r\n'); SET result_mark = '[ -CONTRACT EVALUATION -]\r\n'; SET result_mark = CONCAT(result_mark,'[DATE:',DATE_FORMAT(NOW(),'%Y%c-%d %H:%i:%s'),']\r\n'); SET result_mark = CONCAT(result_mark,'\r\n[Begin Contract ID: ', ctrid_mark,']\r\n'); Lay tong so diem cua contract dang duoc marked & cap nhat vao DB SET total_point_mark = (select sum(point) from tb_contract_value where ctrid=ctrid_mark); Cap nhat tong so diem vao Log cua Plan & Contract SET generalInfor = CONCAT(generalInfor,' Total Point: ', total_point_mark,'\r\n -\r\n'); SET result_mark= CONCAT(result_mark,' Total Point: ', total_point_mark,'\r\n'); SET result_mark = CONCAT(result_mark,' + Number of contracts to be used: ', numRetained,'\r\n -\r\n'); Duyet qua cac Contract dang duoc Retained SET retain_last_row = 0; SET max_retain_id = 0; SET max_criteria_same = 0; OPEN retain_cur; retain_label: LOOP FETCH retain_cur INTO ctrid_retain; SET retain_last_row = retain_last_row + 1; Luu vao cac bien gia tri SET result_mark = CONCAT(result_mark,' [Begin Retained Contract ID: ', ctrid_retain,']\r\n'); SET generalInfor = CONCAT(generalInfor,' [Begin Retained Contract ID: ', ctrid_retain,']\r\n'); Tim trang thai cua Retained Contract ID SET retained_status = (SELECT accept FROM tb_contract WHERE ctrid=ctrid_retain); SET result_mark= CONCAT(result_mark,' + Result status: ', retained_status,'\r\n'); SET generalInfor = CONCAT(generalInfor,' + Result status: ', retained_status,'\r\n'); Dem so cac Criteria tuong duong cua thuoc tinh SET criteria_same_mark=(SELECT SUM(weight) FROM (SELECT a.ctrid, a.crid, a.criteria_name, a.weight, CASE WHEN (a.point / (SELECT b.point FROM tb_contract_value b WHERE b.crid = a.crid AND b.ctrid = ctrid_retain))> THEN ((SELECT b.point FROM tb_contract_value b WHERE b.crid = a.crid AND b.ctrid = ctrid_retain) / a.point) ELSE - 62 (a.point / (SELECT b.point FROM tb_contract_value b WHERE b.crid = a.crid AND b.ctrid = ctrid_retain)) END `percent_calculate`, (SELECT d.same_percent FROM tb_plan_detail d WHERE (SELECT e.plnid FROM tb_plan e WHERE (e.plnid = plnid_mark) AND (e.plnid = d.plnid)) AND(d.status = '1') AND (d.crid=a.crid)) same_percent FROM tb_contract_value a WHERE a.ctrid = ctrid_mark) ee WHERE ee.percent_calculate >= ee.same_percent); SET criteria_same_mark = IFNULL(criteria_same_mark,0); Luu vao cac bien gia tri SET result_mark= CONCAT(result_mark,' + Number of same Criteria: ', criteria_same_mark,'/',numCriteria,'~(',criteria_same_mark/numCri teria*100,'%)\r\n'); SET generalInfor = CONCAT(generalInfor,' + Number of same Criteria: ', criteria_same_mark,'/',numCriteria,'~(',criteria_same_mark/numCri teria*100,'%)\r\n'); Danh dau het mot Retained Contract SET result_mark= CONCAT(result_mark,' [End Retained Contract]\r\n \r\n'); SET generalInfor = CONCAT(generalInfor,' [End Retained Contract]\r\n \r\n'); Tim Retain Contract giong nhat voi Contract Marked hien thoi IF (criteria_same_mark > max_criteria_same) THEN SET max_criteria_same = criteria_same_mark; SET max_retain_id = ctrid_retain; SET max_retain_name = (Select name from tb_contract where ctrid=ctrid_retain); SET max_accept_status = (Select accept from tb_contract where ctrid=ctrid_retain); END IF; Kiem tra dieu kien ket thuc vong lap IF (retain_last_row = numRetained) THEN LEAVE retain_label; END IF; END LOOP retain_label; CLOSE retain_cur; Chon phuong an giong nhat duoc recommend cho loi giai SET result_mark= CONCAT(result_mark,'\r\n[RECOMENDED SOLUTION]\r\n'); SET generalInfor= CONCAT(generalInfor,'\r\n[RECOMENDED SOLUTION]\r\n'); Contract ID: SET result_mark= CONCAT(result_mark,' + Contract ID:',max_retain_id,'\r\n'); - 63 SET generalInfor= CONCAT(generalInfor,' + Contract ID:',max_retain_id,'\r\n'); Contract Name: SET result_mark= CONCAT(result_mark,' + Contract Name:',max_retain_name ,'\r\n'); SET generalInfor= CONCAT(generalInfor ,' + Contract Name:',max_retain_name ,'\r\n'); Tinh lai ti le tuong duong: SET result_mark= CONCAT(result_mark,' + Number of same Criteria: ', max_criteria_same,'/',numCriteria,'~(',max_criteria_same/numCriteri a*100,'%)\r\n'); SET generalInfor = CONCAT(generalInfor,' + Number of same Criteria: ', max_criteria_same,'/',numCriteria,'~(',max_criteria_same/numCriteri a*100,'%)\r\n'); Contract result: SET result_mark = CONCAT(result_mark,' + Result status:',max_accept_status ,'\r\n'); SET generalInfor = CONCAT(generalInfor,' + Result status:',max_accept_status ,'\r\n'); SET result_mark= CONCAT(result_mark,'[CLOSE RECOMENDED SOLUTION]\r\n'); SET generalInfor= CONCAT(generalInfor,'[CLOSE RECOMENDED SOLUTION]\r\n'); Cap nhat thong tin vao bien Log SET result_mark= CONCAT(result_mark,'\r\n[End Contract ID:',ctrid_mark,']\r\n \r\n'); SET generalInfor = CONCAT(generalInfor,'\r\n[End Contract ID:',ctrid_mark,']\r\n \r\n'); Den day da hoan viec danh gia mot Contract Marked UPDATE tb_contract SET result=result_mark,total_point=total_point_mark, marked='CLOSE' WHERE ctrid=ctrid_mark; IF (mark_last_row = numMarked) THEN LEAVE mark_label; END IF; END LOOP mark_label; Loop marked records CLOSE mark_cur; Den day viec danh gia theo PlanID hoan thanh; SET generalInfor = CONCAT(generalInfor,'COMPLETED SUCCESSFUL!\r\n \r\n'); UPDATE tb_plan SET evaluated_date=NOW(), result=generalInfor WHERE plnid=plnid_mark; END; 3.2 Trigger thực việc cập nhật Contract Value CREATE DEFINER=`root`@`localhost` TRIGGER `ces`.`InsertContractValue` AFTER INSERT ON ces.tb_contract FOR EACH ROW BEGIN INSERT INTO ces.tb_contract_value(ctrid, crid, criteria_name, - 64 weight, valid, point, date_open, usr_open, usr_edit, date_edit, status) (SELECT NEW.ctrid `ctrid`, c.crid `crid`, c.name `criteria_name`, c.weight `weight`, `valid`, `point`, NOW() `date_open`, 'trinhlk' `usr_open`, 'titotet' `usr_edit`, NOW() `date_edit`, '1' `status` FROM tb_criteria c WHERE c.cltid IN (SELECT cltid FROM tb_client WHERE clid IN (SELECT clid FROM tb_contract WHERE tb_contract.ctrid=NEW.ctrid)) AND (c.group=0)); END; Một số mã chương trình cài đặt thư viện lớp 4.1 Lớp PlanService using using using using System; System.Collections.Generic; System.Text; ComSvr; namespace PlanService { public class PlanService { // Khai bao ComServer dung chung private ComSvr.Common oComm; public PlanService() { oComm = new Common("localhost", "ces", "root", "root"); } ~PlanService() { oComm = null; } // Khai bao cac Properties private string plnid; public string Plnid { get { return plnid; } set { plnid = value; } } - 65 private string cltid; public string Cltid { get { return cltid; } set { cltid = value; } } private string name; public string Name { get { return name; } set { name = value; } } private string date_create; public string Date_create { get { return date_create; } set { date_create = value; } } private string officer; public string Officer { get { return officer; } set { officer = value; } } private string description; public string Description { get { return description; } set { description = value; } } private string marked; public string Marked { get { return marked; } set { marked = value; } } private string usr_open; public string Usr_open { get { return usr_open; } set { usr_open = value; } } private string usr_edit; public string Usr_edit { get { return usr_edit; } set { usr_edit = value; } } // Cac phuong thuc public void Add() { - 66 string sSQL = "INSERT INTO `tb_plan` (`plnid`,`cltid`,`name`,`date_create`,`officer`,`description`,`marked`,`d ate_open`,`usr_open`,`usr_edit`,`date_edit`,`status`) VALUES(" + "null," + cltid + ",'" + name + "',DATE_FORMAT('" + date_create + "','%Y-%c-%d'),'" + officer + "','" + description + "','" + marked + "',NOW(),'" + usr_open + "','" + usr_edit + "',NOW(),'1')"; oComm.ExecuteSQL(sSQL); } // End Add public void Edit(string PlanID) { string sSQL = "UPDATE `tb_plan` SET `name`='" + name + "',`date_create`=DATE_FORMAT('" + date_create + "','%Y-%c%d'),`officer`='" + officer + "',`description`='" + description + "',`marked`='" + marked + "',`usr_edit`='" + usr_edit + "',`date_edit`=NOW() WHERE `tb_plan`.`plnid` =" + PlanID; oComm.ExecuteSQL(sSQL); } // End Edit public void Delete(string PlanID) { string sSQL = "Delete From `tb_plan` WHERE `tb_plan`.`plnid` =" + PlanID; oComm.ExecuteSQL(sSQL); } // End Delete public System.Data.DataTable Find(string sSQL) { return oComm.GetDataBySQL(sSQL); } // End Find public void UpdatePlanDetail(string PlanDetailID, string same_percent) { string sSQL = "Update tb_plan_detail Set same_percent=" + same_percent + ", usr_edit='titotet', date_edit=NOW() Where plndid=" + PlanDetailID; oComm.ExecuteSQL(sSQL); }// Cap nhat thong tin bang Plan_Detail } } 4.2 Lớp ContractValueService using using using using System; System.Collections.Generic; System.Text; ComSvr; namespace ContractValueService { - 67 public class ContractValueService { private ComSvr.Common oComm; private string valid; public string Valid { get { return valid; } set { valid = value; } } private string date_open; public string Date_open { get { return date_open; } set { date_open = value; } } private string usr_open; public string Usr_open { get { return usr_open; } set { usr_open = value; } } private string usr_edit; public string Usr_edit { get { return usr_edit; } set { usr_edit = value; } } private string date_edit; public string Date_edit { get { return date_edit; } set { date_edit = value; } } // Khai bao cac method public ContractValueService() { oComm = new Common("localhost","CES","root","root"); } public void Edit(string ContractValueID) { string sSQL = "UPDATE `tb_contract_value` SET `valid`=" + valid + ",`point` =(select point from tb_value where valid=" + valid + "),`usr_edit` ='" + usr_edit + "',`date_edit`=NOW()" + " WHERE `tb_contract_value`.`ctrvid` =" + ContractValueID; oComm.ExecuteSQL(sSQL); } // End Edit - 68 public System.Data.DataTable Find(string sSQL) { return oComm.GetDataBySQL(sSQL); } // End Find } }

Ngày đăng: 22/09/2020, 01:12

Mục lục

  • BẢNG THUẬT NGỮ VÀ CÁC TỪ VIẾT TẮT

  • DANH MỤC CÁC BẢNG

  • DANH MỤC CÁC HÌNH

  • MỞ ĐẦU

  • CHƯƠNG 1: BÀI TOÁN CHO VAY TÍN DỤNG

  • 1.1. Một số thuật ngữ về lĩnh vực ngân hàng

  • 1.2. Bài toán cho vay tín dụng

  • 1.2.1. Yêu cầu bài toán

  • 1.2.2. Ví dụ

  • 1.2.3. Các tiêu chí đánh giá và xếp hạng khách hàng cá nhân

  • 1.2.4. Các khó khăn khi thực hiện cho vay tín dụng

  • 1.2.5. Phương pháp giải quyết truyền thống

  • 1.2.6. Giải quyết bài toán bằng phương pháp CBR

  • 2.1. Giới thiệu khái quát về CBR

  • 2.1.1. Giới thiệu

  • 2.1.2. Phương pháp CBR

  • 2.2. Ứng dụng CBR vào bài toán cho vay tín dụng

  • 2.2.1. Đặc tả ca vay tín dụng

  • 2.2.2. Độ đo tương tự

  • 2.2.3. Quy trình tìm kiếm lời giải cho bài toán

Tài liệu cùng người dùng

Tài liệu liên quan