Xây dựng phần mềm quản lý nguồn vốn dự án đầu tư tại Sở Kế hoạch & Đầu tư tỉnh Điện Biên

Tài liệu Xây dựng phần mềm quản lý nguồn vốn dự án đầu tư tại Sở Kế hoạch & Đầu tư tỉnh Điện Biên: LỜI MỞ ĐẦU Ngày nay khái niệm công nghệ thông tin không còn là một khái niệm xa lạ đối với con người, nó đã trở thành một phần của cuộc sống hàng ngày vì sự tác động rộng lớn và sâu sắc của nó đến tất cả các lĩnh vực của đời sống xã hội nói chung và các doanh nghiệp nói riêng. Việc ứng dụng tin học vào trong lĩnh vực kinh doanh, quản lý các nguồn lực cũng như lĩnh vực quản lý tổ chức đã cho thấy tác dụng và hiệu quả to lớn, có tính chất quyết định đến công việc. Hiện nay các phần mềm cơ bản đ... Ebook Xây dựng phần mềm quản lý nguồn vốn dự án đầu tư tại Sở Kế hoạch & Đầu tư tỉnh Điện Biên

doc172 trang | Chia sẻ: huyen82 | Lượt xem: 1546 | Lượt tải: 2download
Tóm tắt tài liệu Xây dựng phần mềm quản lý nguồn vốn dự án đầu tư tại Sở Kế hoạch & Đầu tư tỉnh Điện Biên, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ã được ứng dụng và phát triển rộng rãi trong hầu hết các doanh nghiệp kể cả nhà nước lẫn tư nhân. Một thực trạng đang diễn ra là các công ty thường mua phần mềm hoặc thuê viết phần mềm tuy nhiên những lập trình viên lại không hiểu rõ hết mọi nghiệp vụ của công ty dẫn đến những bất cập trong quá trình sử dụng phần mềm. Bên cạnh đó cũng có những chương trình do các nhân viên của công ty viết nhưng đó chỉ là giải pháp tạm thời không mang tính chuyên nghiệp cao. Do đó để lựa chọn được một phần mềm phù hợp bao giờ cũng quan trọng đối với các doanh nghiệp từ đó mới đạt được kết quả tốt trong kinh doanh và quản lý. Công ty Tin học Xây dựng có tên đầy đủ là Công ty cổ phần Tin học và Tư vấn Xây dựng (Construction Informatics and Consultancy join_stock Company) viết tắt là CIC, qua nhiều năm hoạt động, Công ty đã có nhiều đóng góp cho việc đẩy mạnh ứng dụng công nghệ thông tin nói chung và phát triển phần mềm xây dựng nói riêng. Sở Kế hoạch và Đầu tư tỉnh Điện Biên là cơ quan chuyên môn thuộc Uỷ ban Nhân dân tỉnh Điện Biên có chức năng tham mưu, giúp Uỷ ban Nhân dân tỉnh Điện Biên thực hiện chức năng quản lý nhà nước về kế hoạch và đầu tư bao gồm các lĩnh vực: Tham mưu tổng hợp về quy hoạch, kế hoạch phát triển kinh tế xã hội, tổ chức thực hiện và kiến nghị, đề xuất về cơ chế, chính sách quản lý kinh tế xã hội trên địa bàn tỉnh; Đầu tư trong nước và đầu tư nước ngoài ở địa phương; Quản lý nguồn vốn hỗ trợ phát triển chính thức ODA; Đấu thầu, đăng ký kinh doanh trong phạm vi địa phương về các dịch vụ công thuộc phạm vi quản lý của Sở theo quy định của pháp luật …. Do đó Sở Kế hoạch và Đầu tư tỉnh Điện Biên phải quản lý rất nhiều dự án thuộc nhiều loại nguồn vốn khác nhau. Việc ứng dụng công nghệ thông tin vào quản lý nguồn vốn dự án đầu tư sẽ giúp ích rất nhiều cho công tác quản lý dự án đầu tư của Sở. Xuất phát từ thực tế đó em đã chọn đề tài: “ XÂY DỰNG PHẦN MỀM QUẢN LÝ NGUỒN VỐN DỰ ÁN ĐẦU TƯ TẠI SỞ KẾ HOẠCH VÀ ĐẦU TƯ TỈNH ĐIỆN BIÊN” để làm đề tài cho khoá luận tốt nghiệp của mình. Ngoài phần mở đầu và kết luận khoá luận tốt nghiệp của em gồm 3 chương sau: Chương I: Giới thiệu chung về Công ty Tin học Xây dựng (CIC) và bài toán quản lý nguồn vốn dự án đầu tư tại Sở Kế hoạch và Đầu tư tỉnh Điện Biên. Phần này giới thiệu khái quát về Công ty Tin học Xây dựng và Sở Kế hoạch và Đầu tư tỉnh Điện Biên cũng như sự cần thiết của đề tài nghiên cứu. Chương II: Phương pháp luận cơ bản xây dựng phần mềm quản lý nguồn vốn dự án đầu tư tại Sở Kế hoạch và Đầu tư tỉnh Điện Biên. Phần này trình bày các vấn đề phương pháp luận cơ bản làm cơ sở trong việc nghiên cứu đề tài Chương III: Phân tích thiết kế phần mềm quản lý nguồn vốn dự án đầu tư tại Sở Kế hoạch và Đầu tư tỉnh Điện Biên. Phần này trình bày việc phân tích thiết kế của phần mềm quản lý nguồn vốn dự án đầu tư tại Sở Kế hoạch và Đầu tư tỉnh Điện Biên. Ngoài ra còn có danh mục các tài liệu tham khảo liệt kê các tài liệu đã sử dụng Tuy đã rất cố gắng trong việc hoàn thiện đề tài nhưng đây là công trình nghiên cứu đầu tay sau một thời gian dài học tập tài trường Đại học Kinh Tế Quốc Dân nên không tránh khỏi những thiếu sót. Em rất mong nhận được những ý kiến đóng góp, phê bình của các thầy cô giáo cũng như của những người quan tâm để đề tài được hoàn thiện hơn. Qua đây em cũng xin gửi lời cảm ơn chân thành đến thầy giáo Ks. Đoàn Quốc Tuấn - Giảng viên khoa Tin học kinh tế trường Đại học Kinh tế Quốc Dân Hà Nội và anh Nguyễn Đắc Tuấn - Trưởng phòng phần mềm Công ty Tin học Xây dựng CIC đã tận tình chỉ bảo hướng dẫn em hoàn thành khoá luận tốt nghiệp này. CHƯƠNG I: GIỚI THIỆU CHUNG VỀ CÔNG TY TIN HỌC XÂY DỰNG VÀ BÀI TOÁN QUẢN LÝ NGUỒN VỐN DỰ ÁN ĐẦU TƯ TẠI SỞ KẾ HOẠCH VÀ ĐẦU TƯ TỈNH ĐIỆN BIÊN I. GIỚI THIỆU CHUNG VỀ CÔNG TY TIN HỌC XÂY DỰNG 1. Quá trình hình thành và phát triển Công ty Tin học Xây dựng có tên đầy đủ là Công ty cổ phần Tin học và Tư vấn Xây dựng (Construction Informatics and Consultancy join_stock Company) viết tắt là CIC, địa chỉ 37 Lê Đại Hành – Hai Bà Trưng – Hà Nội, là đơn vị trực thuộc Bộ Xây dựng được thành lập theo quyết định số 243/QD- BXD ngày 16/ 02/2000 của Bộ Xây dựng dựa trên cơ sở Trung Tâm Tin học Xây dựng. Tiền thân là phòng ứng dụng toán và máy tính (5/ 1974) phát triển thành trung tâm Tin học Xây dựng (16/02/2000). Hiện nay tổng giám đốc là ông Đặng Đức Hà Qua nhiều năm hoạt động, Công ty đã có nhiều đóng góp cho việc đẩy mạnh ứng dụng công nghệ thông tin nói chung và phát triển phần mềm xây dựng nói riêng. Với đội ngũ trên một trăm cán bộ có trình độ từ đại học trở lên, Công ty đã không ngừng phát triển trong các hoạt động nghiên cứu - sản xuất – tư vấn, chuyển giao công nghệ và được nhà nước chứng nhận bản quyền cho nhiều sản phẩm phần mềm công nghệ thông tin. Đến nay, Công ty đã cung cấp, đào tạo và chuyển giao các phần mềm cho trên 1200 đơn vị trong và ngoài ngành Xây dựng Công ty hiện có một chi nhánh tại thành phố Hồ Chí Minh có nhiệm vụ chính là chuyển giao các phần mềm do chính Công ty sản xuất, địa chỉ 178-Võ Văn Tần-Phường 5-Quận 3-Thành phố Hồ Chí Minh, quyết định thành lập số: 939/QĐ-BXD ngày 13/10/2000, đăng ký kinh doanh số 313354 ngày 18/10/2000 do Sở Kế hoạch và Đầu tư thành phố Hồ Chí Minh cấp Nhiệm vụ: Cung cấp dịch vụ hỗ trợ khách hàng Đào tạo chuyển giao công nghệ Kinh doanh thiết bị vật tư công nghệ thông tin Gần đây Công ty đã thành lập thêm ShowRoom tại 177 Bùi Thị Xuân- Hà Nội, nhằm tăng cường việc giới thiệu, quảng bá và hỗ trợ khách hàng sử dụng phần mềm của Công ty, đồng thời tư vấn các giải pháp công nghệ thông tin khác như mạng, thiết bị …. Công ty Tin học Xây dựng có qui mô vừa, với các lĩnh vực hoạt động chính là: Sản xuất, phát triển, khai thác và cung cấp các sản phẩm phần mềm và các dịch vụ công nghệ thông tin phục vụ quản lý, kinh tế, kỹ thuật; Cung cấp các dịch vụ thương mại điện tử và các dich vụ giá trị gia tăng trên mạng Internet; Sản xuất lắp ráp, xuất nhập khẩu, đại lý và cung cấp các thiết bị tin học viễn thông, thiết bị thí nghiệm và các thiết bị công nghệ khác; Tổ chức đào tạo và bồi dưỡng về công nghệ thông tin, và các ứng dụng công nghệ khác. Biên soạn và cung cấp tài liệu, tư liệu về công nghệ thông tin và các tài liệu khoa học công nghệ ; Tổ chức đào tạo cấp chứng chỉ về tư vấn xây dựng theo quy định của các cấp quản lý chuyên ngành có thẩm quyền; Thi công lắp đặt các hệ thống tin học bưu chính viễn thông, điện lạnh, hệ thống điều khiển trong các công trình xây dựng dân dụng, công nghiệp hạ tầng kỹ thuật, công nghệ thông tin bưu chính viễn thông và bảo vệ môi trường Thi công xây dựng các công trình dân dụng; đầu tư kinh doanh bất động sản, dịch vụ cho thuê nhà văn phòng làm việc; đầu tư và xây dựng dự án khu đô thị, khu công nghiệp, khu du lịch,…,. 2. Các loại hàng hoá dịch vụ chủ yếu hiện tại Công ty đang kinh doanh 2.1. Nhóm phần mềm quản lý hoạt động của doanh nghiệp xây dựng CicAccount_e - Phần mềm kế toán phiên bản dành cho doanh nghiệp. CicAccount_a - Phần mềm kế toán phiên bản dành cho hành chính sự nghiệp. CicAccount_i - Phần mềm kế toán Phiên bản dành cho chủ đầu tư. CONNA - Phần mềm quản lý hợp đồng. ESPA - Phần mềm quản lý doanh nghiệp dịch vụ cấp nước IMA - Phần mềm quản lý hạ tầng kỹ thật đô thị. IPASY - Phần mềm lập và thẩm định dự án đầu tư. LANOS - Phần mềm quản lý nhà, đất trong các khu đô thị PROMSYS - Phần mềm quản lý dự án REMSYS - Phần mềm quản lý nhân sự UNACOM -Phần mềm quản lý học sinh, sinh viên trong các trường học. Phần mềm quản lý tài sản cố định. 2.2. Nhóm phần mềm kỹ thuật xây dựng ESCON - Phần mềm tính đơn giá -dự toán KIW - Phần mềm tính toán khung thép tiền chế KPW - Phần mềm tính toán thiết kế khung phẳng MBW - Phần mềm tính toán móng băng MCW - Phần mềm tính toán móng cọc MDW - Phần mềm tính toán móng đơn RDW - Phần mềm bổ sung TCVN vào SAP, STAAD, ETABS SBTW -Phần mềm tính toán sàn bê tông cốt thép STCAD - Phần mềm hỗ trợ vẽ kỹ thụât xây dựng và tự động tính tiền lương VINASAS - Phần mềm tính toán thiết kế khung hỗn hợp 2.3. Nhóm phần mềm thiết kế cơ sở hạ tầng - ROADES - Phần mềm thiết kế đường bộ - SUMAC - Phần mềm mô phỏng địa hình, tính toán san nền 2.4. Nhóm phần mềm quản lý quy hoạch xây dựng - MAPPRO - Phần mềm quản lý quy hoạch đô thị, cấp chứng chỉ quy hoạch. 2.5. Dịch vụ tư vấn thiết kế xây dựng 2.6. Dịch vụ kinh doanh xuất nhập khẩu thiết bị công nghệ thông tin 2.7. Dịch vụ đào tạo, bồi dưỡng công nghệ thông tin, tư vấn thiết kế xây dựng 3. Cơ cấu tổ chức của Công ty - Các cấp quản lý của công ty + Cấp công ty + Cấp xí nghiệp Mô hình tổ chức cơ cấu bộ máy quản lý BAN GIÁM ĐỐC Ban khoa học công nghệ Tổ chức hành chính XN phần mềm tư vấn XD XN tự động hoá & tư vấn XD XN XNK & kinh doanh thiết bị tin học XN phần mềm quản lý Trung tâm đào tạo và chuyển giao công nghệ Trung tâm tư vấn và thẩm định dự án CNTT Trung tâm nghiên cứu và phát triển CNTT - Chức năng nhiệm vụ của từng bộ phận trong bộ máy quản lý Công ty 3.1. Ban giám đốc công ty Ban giám đốc của Công ty gồm: Một giám đốc và hai phó giám đốc với chức năng cụ thể như sau: Giám đốc: Phụ trách chung tất cả các hoạt động của Công ty; Chịu trách nhiệm trước Nhà nước và Bộ Xây dựng về toàn bộ hoạt của Công ty theo chức năng nhiệm vụ được quy định. Trực tiếp chỉ đạo công tác: tổ chức lao động - tiền lương, kinh tế - tài chính, thi đua khen thưởng; chính trị, các chế độ chính sách,…, là đầu mối liên hệ của các phòng ban. Phó giám đốc thường trực: Phụ trách các lĩnh vực công tác như: Nghiên cứu khoa học Chuyển giao công nghệ Đào tạo Bồi dưỡng trình độ cán bộ Hợp tác quốc tế Xuất nhập khẩu và kinh doanh thiết bị Phụ trách các đơn vị: Trung tâm nghiên cứu và phát triển CNTT; Trung tâm đào tạo và chuyển giao công nghệ; Xí nghiệp kinh doanh thiết bị điện tử viễn thông. Phó giám đốc thứ 2: Phụ trách các lĩnh vực Tổ chức sản xuất phần mềm Chỉ đạo hoạt động quảng cáo Cung cấp thông tin – khai thác Internet, trang web và bản tin của Công ty Chịu trách nhiệm trong công tác quản lý an ninh trật tư, phòng cháy chữa cháy, là đầu mối liên hệ với Đoàn thanh niên …. Phụ trách các đơn vị: Xí nghiệp phát triển phần mềm quản lý, Trung tâm tư vấn và thẩm định dự án CNTT, Phòng dự án, Phòng hành chính. 3.2. Tổ chức hành chính Bộ phận tổ chức hành chính gồm Phòng tổ chức lao động và Phòng kế toán tài chính. Phòng tổ chức lao động có chức năng giúp Giám đốc ra các quyết định, nội quy, qui chế về lao động tiền lương, tổ chức, nhân sự và giải quyết các vấn đề chính sách xã hội theo qui định của Giám đốc. Phòng kế toán tài chính: giúp Giám đốc công ty tổ chức chỉ đạo thực hiện toàn bộ công tác kế toán thống kê, thông tin kinh tế và hạch toán kinh tế trong doanh nghiệp theo cơ chế của Nhà nước ban hành. 3.3. Ban khoa học công nghệ Nghiên cứu và phát triển các hệ thống quản lý trên mạng máy tính phục vụ công tác quản lý điều hành và kết nối dữ liệu giữa các đơn vị. Xây dựng các cơ sở dữ liệu giữa các đơn vị, đặc biệt là các đơn vị trong ngành xây dựng. Xây dựng dự án CNTT trong các lĩnh vực quản lý và tư vấn xây dựng, phục vụ các Sở, Tổng công ty, Công ty, Viện nghiên cứu, Trường đào tạo,…. 3.4. XN phần mềm quản lý Chuyên nghiên cứu và phát triển các phần mềm ứng dụng trong quản lý các tổ chức. 3.5. XN phần mềm tư vấn xây dựng Có chức năng xây dựng phát triển các phần mềm ứng dụng trong việc đánh giá hiệu quả đầu tư. Đây là những phần mềm sử dụng trong tư vấn thiết kế các công trình xây dựng giao thông thuỷ lợi, hạ tầng cơ sở, bảo vệ môi trường. 3.6. XN Kinh doanh thiết bị tin học Cung cấp thiết bị công nghệ thông tin Cung cấp các giải pháp mạng LAN, WAN,WLAN Thi công lắp đặt hệ thống mạng (LAN, WAN,WLAN), điện thoại Triển khai các dịch vụ công nghệ thông tin: bảo hành, bảo trì thiết bị… Tư vấn lập dự án công nghệ thông tin viễn thông 3.7. XN Tự động hóa và tư vấn xây dựng Chức năng tư vấn xây dựng các công trình, dân dụng, công nghiệp, giao thông thuỷ lợi, hạ tầng kỹ thuật và bảo vệ môi trường gồm: Lập dự án đầu tư. Khảo sát địa hình địa chất và đo đạc. Quy hoạch khu dân cư, khu chức năng đô thị và khu công nghiệp. Thiết kế xây dựng công trình. Thẩm tra thiết kế kỹ thuật, thiết kế bản vẽ thi công, dự toán và tổng dự toán. Lập hồ sơ mời thầu và phân tích đánh giá hồ sơ dự thầu về: lựa chọn nhà thầu tư vấn, nhà thầu thi công xây dựng, nhà thầu cung cấp thiết bị, thi tuyển phương án kiến trúc. Giám sát thi công xây dựng, giám sát lắp đặt thiết bị, giám sát khảo sát xây dựng. Tổng thầu tư vấn. Quản lý dự án. Kiểm định, kiểm tra và chứng nhận sự phù hợp về chất lượng của công trình. 3.8. Trung tâm đào tạo và chuyển giao công nghệ 3.8.1. Các hình thức đào tạo Mở các lớp đào tạo tại Trung tâm đào tạo của Công ty (37 Lê Đại Hành - Hai Bà Trưng - Hà Nội) và chi nhánh Công ty tại Thành phố Hồ Chí Minh (178 Võ Văn Tần - P.5 - Quận 3 - TP Hồ Chí Minh) theo từng nội dung, từng đối tượng. Cử cán bộ tới đào tạo tại các đơn vị, địa phương trong phạm vi cả nước theo các hợp đồng kinh tế. Đào tạo theo yêu cầu của các đơn vị hoặc cá nhân. Phối hợp với các đơn vị trong và ngoài nước mở các lớp tập huấn giới thiệu các ứng dụng công nghệ thông tin mới... 3.8.2. Các nội dung đào tạo Đào tạo tin học cơ bản, tin học văn phòng cho mọi đối tượng với nhiều trình độ. Đào tạo quản trị mạng, đào tạo người sử dụng mạng, sử dụng Internet, hướng dẫn khai thác và sử dụng mạng và các kiến thức về Internet, Email... Đào tạo lập trình, hệ cơ sở dữ liệu, WEB ... Đào tạo theo các chuyên ngành xây dựng (tư vấn, quy hoạch, thiết kế ...) bao gồm các lớp đào tạo hướng dẫn sử dụng các chương trình AutoCAD, ArchiCAD, Staad III, StaadPro, SAP 90/2000, ETABS, TRIPS, LANDCADD,... đồng thời hướng dẫn việc đưa các tiêu chuẩn Việt Nam vào các sản phẩm nước ngoài. Đào tạo theo yêu cầu khách hàng - một hình thức đào tạo kinh tế, tập trung đào tạo theo chuyên đề cụ thể được nêu ra bởi các đơn vị có yêu cầu. 3.9. Trung tâm tư vấn thẩm định dự án CNTT Có chức năng tư vấn các giải pháp tổng thể về hệ thống thiết bị tin học viễn thông; nghiên cứu ứng dụng và chuyển giao các giải pháp công nghệ thông tin; thực hiện các hệ thống thiết bị tin học viễn thông - Tư vấn và cung cấp trang thiết bị tin học, các thiết bị điện - điện tử, tích hợp và lắp đặt mạng máy tính - thiết bị điện cho các đơn vị trong và ngoài Bộ Xây dựng - Có kinh nghiệm tổ chức thực hiện việc lập dự án tiền khả thi, dự án khả thi các dự án công nghệ thông tin cho các sở ban ngành, tỉnh trong cả nước. Chức năng hoạt động Thẩm định thiết kế kỹ thuật – tổng dự toán Tư vấn lập hồ sơ mời thầu và đánh giá hồ sơ dự thầu Thẩm định dự án Thẩm định dự án khả thi Tư vấn lập báo cáo Tư vấn lập dự án công nghệ 3.10. Trung tâm nghiên cứu và phát triển CNTT Chuyên nghiên cứu các công nghệ mới về mặt tin học để phục vụ cho việc phát triển nâng cấp phần mềm và dễ dàng đáp ứng yêu cầu của khách hàng 4. Tình hình tin học hoá công tác quản lý của công ty Là Công ty sản xuất phần mềm nên đặc điểm vật tư tài sản của Công ty chủ yếu là hệ thống máy tính, mạng máy tính, các phần mềm mua của nước ngoài, hệ thống văn phòng và các thiết bị văn phòng phục vụ cho sản xuất, thiết kế chuyển giao và đào tạo phần mềm. Vật tư tài sản của Công ty phần lớn mang tính công nghệ cao, thường xuyên phải được nâng cấp, cập nhật và mang tính đặc thù công nghệ. Các tài sản vô hình có giá trị lớn. Hệ thống máy móc thiết bị của Công ty là các mạng máy tính và các thiết bị phụ trợ phục vụ công tác nghiên cứu, sản xuất phần mềm, đào tạo công nghệ thông tin, chuyển giao và các dịch vụ khác. Hiện tại Công ty có 4 mạng cục bộ LAN, trong đó có 1 mạng cục bộ chung toàn công ty phục vụ quản lý, 3 mạng riêng cho các hoạt động nghiên cứu và sản xuất phần mềm, đào tạo. Hệ thống máy móc phục vụ quản lý nghiên cứu gồm: mạng cục bộ LAN nối riêng cho từng xí nghiệp phần mềm đảm bảo 1 cán bộ có 1 máy tính làm việc, mỗi đơn vị có 1 máy in. Yêu cầu chung các máy tính của các đơn vị này là: cấu hình mạnh, tốc độ nhanh, dung lượng lưu trữ lớn và được cài đặt hệ thống lập trình phong phú. Mỗi đơn vị còn được trang bị các thiết bị dùng để lưu trữ phần mềm, các sản phẩm demo(dùng để giới thiệu khả năng phần mềm) Hệ thống máy tính cho từng xí nghiệp phần mềm STT Loại máy tính Số lượng Sử dụng 1 Máy chủ 01 Chung cả xí nghiệp 2 Các máy trạm 20 Sử dụng từng cán bộ 3 Máy in mạng 01 Sử dụng chung 4 Các thiết bị phụ trợ Dùng chung cho mạng Hệ thống máy tính phục vụ cho công tác đào tạo STT Loại máy tính Số lượng Sử dụng 1 Máy chủ 01 Chung cả xí nghiệp 2 Các máy trạm 40 Sử dụng từng cán bộ 3 Máy in mạng 02 Sử dụng chung 4 Các thiết bị phụ trợ Dùng chung cho mạng Một số phần mềm sử dụng trong công tác quản lý của doanh nghiệp: Hệ điều hành Microsoft, Office,… và một số phần mềm như CicAccount_e -phần mềm kế toán phiên bản dành cho doanh nghiệp, CicAccount_a-phần mềm kế toán dành cho đơn vị hành chính sự nghiệp…. II. BÁI TOÁN QUẢN LÝ NGUỒN VỐN DỰ ÁN ĐẦU TƯ TẠI SỞ KẾ HOẠCH VÀ ĐẦU TƯ TỈNH ĐIỆN BIÊN 1. Khái quát hoạt động tại Sở Kế hoạch và Đầu tư tỉnh Điện Biên 1.1 Chức năng và nhiệm vụ của Sở Kế hoạch và Đầu tư tỉnh Điện Biên Sở Kế hoạch và Đầu tư tỉnh Điện Biên là cơ quan chuyên môn thuộc Uỷ ban Nhân dân tỉnh Điện Biên có chức năng tham mưu, giúp Uỷ ban Nhân dân tỉnh Điện Biên thực hiện chức năng quản lý nhà nước về kế hoạch và đầu tư bao gồm: Tham mưu tổng hợp về qui hoạch, kế hoạch phát triển kinh tế xã hội trên địa bàn tỉnh; Đầu tư trong nước và đầu tư nước ngoài ở địa phương; Quản lý nguồn hỗ trợ phát triển chính thức ODA; đấu thầu, đăng kí kinh doanh trong phạm vi địa phương về các dịch vụ công thuộc phạm vi quản lý của Sở theo qui định pháp luật; Thực hiện một số nhiệm vụ, quyền hạn của sự uỷ quyền của Uỷ ban nhân dân tỉnh và theo qui định của pháp luật. Sở Kế hoạch Đầu tư tỉnh Điện Biên có các nhiệm vụ chủ yếu sau: Tổ chức, hướng dẫn, kiểm tra và chịu trách nhiệm việc tổ chức và thực hiện các văn bản qui phạm pháp luật về kế hoạch và đầu tư ở địa phương. Trong đó có chiến lược, qui hoạch, kế hoạch phát triển kinh tế - xã hội trên địa bàn tỉnh Điện Biên và những vấn đề có liên quan đến việc xây dựng và thực hiện qui hoạch kế hoạch, sử dụng các nguồn lực để phát triển kinh tế - xã hội của tỉnh. Quản lý nguồn vốn đầu tư từ trong và ngoài nước Quản lý nguồn vốn ODA và các nguồn vốn viện trợ phi chính phủ. Quản lý đấu thầu Quản lý các cụm khu công nghiệp Quản lý các doanh nghiệp, đăng ký kinh doanh và kinh tế hợp tác xã Chỉ đạo hướng dẫn về chuyên môn, nghiệp vụ cho cơ quan chuyên môn của Uỷ ban Nhân dân huyện, thị xã, thành phố thực hiện nhiệm vụ quản lý nhà nước về kế hoạch đầu tư trên địa bàn, theo dõi và kiểm tra việc tổ chức và thực hiện. Tổ chức và chỉ đạo thực hiện công tác nghiên cứu ứng dụng tiến bộ khoa học công nghệ. Thanh tra kiểm tra và xử lý theo thẩm quyền các vi phạm trong việc thực hiện chính sách pháp luật về lĩnh vực này. Giải quyết khiếu nại, tố cáo theo qui định của pháp luật. Tổng hợp báo cáo định kỳ và đột xuất về tình hình thực hiện nhiệm vụ được giao theo qui định của cấp trên. Quản lý về bộ máy, biên chế, cán bộ, công chức, viên chức theo qui định của pháp luật và phân cấp của Uỷ ban Nhân dân tỉnh Điện Biên. Quản lý tài chính, tài sản được giao, và thực hiện giải ngân theo đúng qui định của pháp luật Và một số nhiệm vụ khác. 1.2 Cơ cấu tổ chức của Sở Kế hoạch và Đầu tư tỉnh Điện Biên 1.2.1. Sơ đồ cơ cấu tổ chức Giám đốc Phó giám đốc Phòng thanh tra Văn phòng Các phòng chuyên môn nghiệp vụ Phòng nông nghiệp và phát triển nông thôn Phòng văn xã Phòng công nghiệp -thương mại Phòng kinh doanh và hợp tác đầu tư Phòng tổng hợp kinh tế quốc dân Chức năng nhiệm vụ của từng phòng ban PHÒNG THANH TRA - Tham mưu, giúp Giám đốc Sở thực hiện quản lý nhà nước về công tác thanh tra trong lĩnh vực ngành kế hoạch đầu tư. - Xây dựng chương trình, kế hoạch công tác thanh tra trình Giám đốc Sở và tổ chức thực hiện sau khi được Giám đốc phê duyệt; - Tổ chức thanh tra việc chấp hành chính sách, pháp luật của Nhà nước, các quy định của Hội đồng nhân dân, Uỷ ban nhân dân và của Sở Kế hoạch và Đầu tư về kế hoạch và đầu tư thuộc phạm vi quản lý nhà nước của Sở Kế hoạch và Đầu tư trên địa bàn Tỉnh; - Tiếp dân, xác minh, kết luận, kiến nghị việc giải quyết khiếu nại, tố cáo thuộc thẩm quyền giải quyết của Giám đốc Sở Kế hoạch và Đầu tư; - Thực hiện chế độ báo cáo báo cáo công tác thanh tra theo quy định của Giám đốc Sở Kế hoạch và Đầu tư, Thanh tra Tỉnh, Thanh tra Bộ Kế hoạch và Đầu tư; - Thực hiện các nhiệm vụ khác do Giám đốc Sở giao. PHÒNG TỔNG HỢP KINH TẾ QUỐC DÂN - Nghiên cứu và dự thảo trình Giám đốc Sở báo cáo Tỉnh ban hành các Quyết định, Chỉ thị về quản lý các lĩnh vực quy hoạch, kế hoạch và đầu tư thuộc phạm vi quản lý của Sở theo quy định của pháp luật. - Tham mưu cho Giám đốc Sở trong việc quyết định việc phân công, phân cấp quản lý về các lĩnh vực Kế hoạch và Đầu tư cho Uỷ ban nhân dân cấp huyện và các Sở, Ban, Ngành của Tỉnh theo quy định của pháp luật; Chịu trách nhiệm hướng dẫn, kiểm tra việc tổ chức thực hiện các quy định phân cấp đó. - Tổ chức, hướng dẫn, kiểm tra và chịu trách nhiệm việc tổ chức thực hiện các văn bản quy phạm pháp luật về Kế hoạch và Đầu tư ở địa phương; - Về quy hoạch và kế hoạch: + Chủ trì, phối hợp với các đơn vị liên quan tổng hợp xây dựng và trình Giám đốc Sở quy hoạch tổng thể, kế hoạch dài hạn, kế hoạch 5 năm và hàng năm, bố trí kế hoạch vốn đầu tư thuộc ngân sách nhà nước do địa phương quản lý, các cân đối chủ yếu về kinh tế - xã hội của Tỉnh; + Tham mưu cho Giám đốc Sở xây dựng những giải pháp và cơ chế chính sách chủ yếu nhằm thực hiện kế hoạch phát triển kinh tế - xã hội theo Nghị quyết Hội đồng nhân dân tỉnh. + Giúp Giám đốc thẩm định quy hoạch tổng thể phát triển KT-XH tỉnh, các quy hoạch khác theo quy định; - Về công tác đầu tư: Chủ trì thẩm định và chịu trách nhiệm về nội dung các văn bản trình Giám đốc Sở về thẩm định dự án đầu tư, kế hoạch đấu thầu, kết quả xét thầu các dự án hoặc gói thầu thuộc lĩnh vực quản lý của Sở. - Tổng hợp, báo cáo định kỳ và đột xuất về tình hình thực hiện nhiệm vụ được giao theo quy định với Uỷ ban nhân dân tỉnh và Bộ Kế hoạch và Đầu tư. - Thực hiện các công việc khác theo sự phân công của Lãnh đạo Sở. PHÒNG CÔNG NGHIỆP - THƯƠNG MẠI - Tham mưu, tổng hợp về công tác qui hoạch, kế hoạch và đầu tư trên các lĩnh vực: Giao thông, Công nghiệp, Xây dựng, Thương mại và Dịch vụ- Du lịch, Xuất nhập khẩu, Bưu điện thông tin liên lạc. - Hướng dẫn, theo dõi và kiểm tra các cơ quan, đơn vị trong việc xây dựng, thực hiện quy hoạch, kế hoạch, các chương trình, các dự án thuộc lĩnh vực Giao thông, Công nghiệp, Xây dựng, Thương mại và Dịch vụ- Du lịch, Xuất nhập khẩu; đề xuất các chủ trương, biện pháp nhằm bảo đảm thực hiện các mục tiêu kế hoạch đề ra. - Chủ trì, phối hợp với các sở, ngành, đơn vị có liên quan thẩm định và trình duyệt qui hoạch tổng thể các khu công nghiệp; qui hoạch phát triển các cụm, khu công nghiệp và các cơ chế quản lý đối với các cụm, khu công nghiệp phù hợp với tình hình phát triển thực tế của địa phương. - Chủ trì hoặc phối hợp tham gia soạn thảo việc vận dụng cơ chế chính sách vào điều kiện cụ thể của Tỉnh những lĩnh vực do phòng phụ trách. - Về công tác đầu tư: + Chủ trì thẩm định và chịu trách nhiệm về nội dung các văn bản trình Phó giám đốc phụ trách khối và Giám đốc Sở về thẩm định qui hoạch ngành, dự án đầu tư, kế hoạch đấu thầu, hồ sơ mời thầu, kết quả đấu thầu các dự án thuộc các lĩnh vực: Giao thông, Công nghiệp, Xây dựng, Thương mại và Dịch vụ- Du lịch, Xuất nhập khẩu. + Phối hợp với các sở, ngành đơn vị và các phòng trực thuộc Sở trong việc thẩm tra, thẩm định các dự án đầu tư, lồng ghép các nguồn vốn đầu tư trên địa bàn toàn tỉnh theo qui hoạch được duyệt đối với các lĩnh vực do phòng phụ trách. + Thực hiện công tác giám sát đánh giá đầu tư theo qui định các dự án do phòng chủ trì thẩm định và trình duyệt. - Chủ động nắm bắt tình hình, tổng hợp, báo cáo định kỳ và đột xuất về tình hình thực hiện nhiệm vụ kế hoạch và đầu tư của các ngành: Giao thông – vận tải, Công nghiệp, Bưu điện thông tin liên lạc, Thương mại – dịch vụ. - Thực hiện các nhiệm vụ khác theo sự phân công của Lãnh đạo Sở. PHÒNG NÔNG NGHIỆP VÀ PHÁT TRIỂN NÔNG THÔN - Tham mưu, tổng hợp về công tác quy hoạch, kế hoạch và đầu tư phát triển ngành Nông – Lâm nghiệp, thuỷ lợi và phát triển kinh tế nông nghiệp, nông thôn, công tác địa chính. - Tham gia hoặc chủ trì soạn thảo việc xây dựng và vận dụng cơ chế chính sách vào điều kiện cụ thể của tỉnh trong những lĩnh vực do phòng phụ trách. - Về công tác đầu tư: + Chủ trì thẩm định và chịu trách nhiệm về nội dung các văn bản trình Phó giám đốc phụ trách khối và Giám đốc Sở về thẩm định qui hoạch ngành, quy hoạch chi tiết các khu, điểm và các dự án đầu tư thuộc dự án di dân tái định cư thuỷ điện Sơn La, dự án đầu tư, kế hoạch đấu thầu, hồ sơ mời thầu, kết quả đấu thầu các dự án thuộc lĩnh vực Lâm- Nông – Ngư nghiệp và phát triển nông thôn. + Phối hợp với các sở, ngành đơn vị và các phòng trực thuộc Sở trong việc thẩm tra, thẩm định các dự án đầu tư, lồng ghép các nguồn vốn đầu tư trên địa bàn toàn tỉnh theo qui hoạch được duyệt đối với các lĩnh vực do phòng phụ trách. + Thực hiện công tác giám sát đánh giá đầu tư theo qui định các dự án do phòng chủ trì thẩm định và trình duyệt. - Chủ động nắm bắt tình hình, tổng hợp, báo cáo định kỳ và đột xuất về tình hình thực hiện nhiệm vụ kế hoạch và đầu tư của các ngành, các lĩnh vực do phòng phụ trách. - Thực hiện các công việc khác theo sự phân công của Lãnh đạo Sở. PHÒNG VĂN Xà - Tham mưu, tổng hợp về công tác quy hoạch, kế hoạch và đầu tư phát triển văn hoá, xã hội, đào tạo bồi dưỡng nguồn nhân lực của Tỉnh. - Hướng dẫn, theo dõi và kiểm tra, các cơ quan, đơn vị trong việc xây dựng, thực hiện quy hoạch, kế hoạch, các chương trình mục tiêu, các dự án thuộc lĩnh vực Văn xã; đề xuất các chủ trương, biện pháp nhằm bảo đảm thực hiện các mục tiêu kế hoạch đề ra. - Tham gia hoặc chủ trì soạn thảo việc vận dụng cơ chế chính sách vào điều kiện cụ thể của tỉnh những lĩnh vực do phòng phụ trách. - Về công tác đầu tư: + Chủ trì thẩm định và chịu trách nhiệm về nội dung các văn bản trình Phó giám đốc phụ trách khối và Giám đốc Sở về thẩm định qui hoạch ngành, dự án đầu tư, kế hoạch đấu thầu, hồ sơ mời thầu, thẩm định kết quả đấu thầu các dự án thuộc lĩnh vực Văn xã. + Phối hợp với các sở, ngành đơn vị và các phòng trực thuộc Sở trong việc thẩm tra, thẩm định các dự án đầu tư, lồng ghép các nguồn vốn đầu tư trên địa bàn toàn tỉnh theo qui hoạch được duyệt đối với các lĩnh vực do phòng phụ trách. + Thực hiện công tác giám sát đánh giá đầu tư theo qui định các dự án do phòng chủ trì thẩm định và trình duyệt. - Tổ chức và chỉ đạo thực hiện công tác nghiên cứu ứng dụng tiến bộ khoa học - công nghệ trên địa bàn. - Chủ động nắm bắt tình hình, tổng hợp, báo cáo định kỳ và đột xuất về tình hình thực hiện nhiệm vụ kế hoạch và đầu tư của các ngành, các lĩnh vực do phòng phụ trách. - Thực hiện các nhiệm vụ khác theo sự phân công của Lãnh đạo Sở. PHÒNG KINH DOANH VÀ HỢP TÁC ĐẦU TƯ Chủ trì, phối hợp với các phòng chuyên môn, nghiệp vụ thuộc Sở và các đơn vị liên quan tham mưu, giúp Giám đốc Sở, Phó giám đốc phụ trách khối thực hiện chức năng quản lý nhà nước về các lĩnh vực: - Về doanh nghiệp, đăng ký kinh doanh và kinh tế hợp tác xã: + Chủ trì, phối hợp với các Sở, Ban, ngành liên quan xây dựng, tham mưu cho Giám đốc trình Chủ tịch Uỷ ban nhân dân tỉnh đề án tổng thể, chương trình, kế hoạch sắp xếp, đổi mới phát triển doanh nghiệp Nhà nước do địa phương quản lý; + Làm đầu mối thẩm định và chịu trách nhiệm về các Đề án thành lập, sắp xếp, tổ chức lại doanh nghiệp nhà nước do địa phương quản lý; tổng hợp tình hình sắp xếp, đổi mới, phát triển doanh nghiệp nhà nước và tình hình phát triển doanh nghiệp thuộc các thành phần kinh tế khác. + Là đầu mối của Sở trong việc giúp UBND tỉnh phối hợp với Bộ Kế hoạch và đầu tư thực hiện chức năng quản lý Nhà nước về xúc tiến phát triển doanh nghiệp nhỏ và vừa. - Về đầu tư trong nước và nước ngoài: + Trình và chịu trách nhiệm trước Giám đốc Sở và pháp luật về nội dung các văn bản đã trình về danh mục các dự án đầu tư trong nước, các dự án thu hút vốn đầu tư nước ngoài cho từng thời kỳ kế hoạch và điều chỉnh trong trường hợp cần thiết. + Xem xét, trình UBND tỉnh cấp Giấy chứng nhận ưu đãi đầu tư cho các dự án đầu tư vào địa bàn tỉnh theo Luật Khuyến khích đầu tư trong nước. + Làm đầu mối giúp Giám đốc Sở tham mưu cho Uỷ ban nhân dân tỉnh quản lý hoạt động đầu tư trong nước và đầu tư trực tiếp của nước ngoài vào địa bàn tỉnh theo quy định của pháp luật; Tổ chức hoạt động xúc tiến đầu tư, hướng dẫn trình tự, thủ tục và tiếp nhận hồ sơ trình UBND tỉnh cấp Giấy phép đầu tư theo Luật Đầu tư nước ngoài. - Về quản lý vốn ODA và các nguồn vốn viện trợ phi Chính Phủ. + Là cơ quan đầu mối vận động, thu hút, điều phối quản lý vốn ODA và các nguồn viện trợ phi Chính phủ của Tỉnh; + Chủ trì, theo dõi và đánh giá thực hiện các chương trình dự án ODA và các nguồn vốn viện trợ phi Chính Phủ; + Chủ trì thẩm định trình lãnh đạo cơ quan về thẩm định dự án đầu tư, kế hoạch đấu thầu, hồ sơ mời thầu, kết quả đấu thầu các công trình hỗ trợ cơ sở hạ tầng ngoài hàng rào các dự án đầu tư (thuộc diện khuyến khích đầu tư theo quy định) của các thành phần kinh tế. + Phối hợp với các sở, ngành đơn vị và các phòng trực thuộc Sở trong việc thẩm tra, thẩm định các dự án đầu tư, lồng ghép các nguồn vốn đầu tư trên địa bàn toàn tỉnh theo qui hoạch được duyệt đối với các lĩnh vực do phòng phụ trách. + Thực hiện công tác giám sát đánh giá đầu tư theo qui định các dự án do phòng chủ trì thẩm định và trình duyệt. - Chủ động nắm bắt tình hình, tổng hợp, báo cáo định kỳ và đột xuất về tình hình thực hiện nhiệm vụ thuộc các lĩnh vực do phòng phụ trách. - Thực hiện các nhiệm vụ khác theo sự phân công của Lãnh đạo Sở. 2. Thực trạng ứng dụng công nghệ thông tin tại Sở Kế hoạch và Đầu tư Điện Biên và lý do l._.ựa chọn đề tài 2.1. Thực trạng tin học hóa quản lý nguồn vốn dự án tại Sở Kế hoạch và Đầu tư tỉnh Điện Biên Hiện nay việc quản lý vốn dự án tại Sở Kế hoạch và Đầu tư tỉnh Điện Biên chủ yếu vẫn dùng phương pháp thủ công, chưa có ứng dụng tin học đáng kể nào vào việc quản lý nguồn vốn. Việc quản lý chỉ dừng lại ở việc sử dụng phần mềm dạng bảng tính (Microsoft Excel). Măc dù có một số ưu điểm xong tồn tại khá nhiều nhược điểm như: Các mẫu biểu không thống nhất, việc tính toán và vận dụng vẫn gặp nhiều sai sót, giao diện thân thiện xong chủ yếu bằng tiếng Anh nên không thuận tiện cho người dùng tại Việt Nam, khó khăn trong việc tìm kiếm thông tin và lên báo cáo cung cấp thông tin về tình hình sử dụng vốn do đó công việc quản lý trở nên khó khăn. 2.2. Lý do lựa chọn đề tài nghiên cứu Điện Biên là một tỉnh miền núi biên giới nên kết cấu hạ tầng chưa được đầu tư xây dựng nhiều, còn rất nhiều khó khăn vì vậy Điện Biên nhận được nhiều sự quan tâm của Đảng và Nhà nước, sự chú ý của các nhà đầu tư vào các dự án xây dựng công trình công cộng nhằm phát triển kinh tế - xã hội của tỉnh. Với số lượng lớn các dự án đầu tư cần một phần mềm chuyên biệt để giúp Sở kế hoạch và Đầu tư tỉnh Điện Biên quản lý một cách chặt chẽ nguồn vốn các dự án đầu tư, đây chính là lý do giúp em chọn đề tài “Xây dựng phần mềm quản lý nguồn vốn dự án đầu tư tại Sở Kế hoạch và Đầu tư Điện Biên” Mục đích của phần mềm: Đưa ra một chương trình tương đối hoàn thiện giúp Sở Kế hoạch và Đầu tư tỉnh Điện Biên, ban quản lý các dự án đầu tư có thể quản lý vốn dự án đầu tư một cách thuận tiện và hiệu quả. Đưa ra các báo cáo phù hợp với người sử dung. Trong chương trình có xu hướng mở để có thể kế thừa phát triển và mở rộng cho phù hợp với thực tế phát sinh trong tương lai 3. Chức năng của phần mềm quản lý nguồn vốn dự án đầu tư tại Sở Kế hoạch và Đầu tư tỉnh Điện Biên 3.1 Qui trình quản lý nguồn vốn đầu tư bằng phương pháp thủ công Khi một dự án được phê duyệt, nó sẽ được quản lý như sau: Những thông tin ban đầu về dự án sẽ được chủ đầu tư chuyển sang ban quản lý dự án. Sau khi ban quản lý dự án cập nhật thông tin về dự án, một mặt thông tin được chuyển sang Sở Kế hoạch mặt khác được sử dụng trong việc thu hút vốn đầu tư để hình thành các nguồn vốn đầu tư trong và ngoài nước. Thông tin về các nguồn vốn đầu tư cũng được cập nhật và được ban quản lý dự án đầu tư quản lý để xây dựng thông tin về việc sử dụng vốn. Thông tin về việc sử dụng vốn đầu tư phục vụ cho việc đưa ra báo cáo tổng hợp khi có yêu cầu của chủ đầu tư hay của Sở Kế hoạch và Đầu tư. 3.2. Chức năng đạt được của phần mềm quản lý nguồn vốn - Theo dõi trực quan, sinh động các nguồn vốn các dự án dưới nhiều góc độ khác nhau như: Phân theo nguồn vốn; Phân theo địa bàn; Phân theo chủ đầu tư; Phân theo ngành… - Tổng hợp báo cáo nhanh chóng chính xác theo nhiều tiêu chí khác nhau. - Hỗ trợ cho công việc tính toán các chỉ số như: nhu cầu vốn, tốc độ phát triển, cân đối vốn, suất đầu tư, tỷ lệ giảm giá giữa trúng thầu và dự toán, chỉ tiêu so sánh… - Chương trình khai thác trong mạng LAN của Sở Kế hoạch và Đầu tư - Cơ sở dữ liệu tập trung trên SQL Server - Đảm bảo tính bảo mật, tính xác thực - Giao diện thân thiện với người sử dụng - Kết xuất số liệu báo cáo ra Excel, Word. 3.3. Những đối tượng chính được hưởng lợi từ phần mềm quản lý nguồn vốn đầu tư tại Sở Kế hoạch và Đầu tư tỉnh Điện Biên 3.3.1. Sở Kế hoạch và Đầu tư tỉnh Điện Biên Phần mềm quản lý vốn dự án đầu tư tại Sở Kế hoạch và Đầu tư tỉnh Điện Biên giúp việc quản lý vốn dự án đầu tư của Sở Kế hoạch và Đầu tư tỉnh Điện Biên dễ dàng và thuận tiện hơn. Từ những báo cáo đầu ra của hệ thống, Ban quản lý của Sở Kế hoạch và Đầu tư Điện Biên dễ dàng đưa ra những quyết định chính xác và kịp thời để xây dựng những chiến lược phát triển các dự án đầu tư vào tỉnh, thu hút nguồn vốn đầu tư trong và ngoài nước, sử dụng nguồn vốn một cách hợp lý, thực hiện tốt những chỉ tiêu mà cấp trên giao cho. 3.3.2. Uỷ ban nhân dân tỉnh Điện Biên Sở Kế hoạch và Đầu tư Điện Biên là cơ quan chuyên môn thuộc Uỷ ban Nhân dân tỉnh, chịu sự chỉ đạo, quản lý về tổ chức biên chế của Uỷ ban nhân dân tỉnh vì thế dự án này không những đem lại lợi ích trực tiếp cho Sở Kế hoạch và Đầu tư Điện Biên mà còn gián tiếp làm tăng hiệu quả quản lý về mặt kinh tế - xã hội trên địa bàn tỉnh. Dự án sẽ giúp Uỷ ban Nhân dân tỉnh thu thập nhanh hơn và chính xác hơn về tình hình sử dụng nguồn vốn trên địa bàn tỉnh, nó giúp cho nhà lãnh đạo quản lý tốt hơn nền kinh tế của địa phương mình. 3.3.3. Chủ đầu tư của dự án Chủ đầu tư là những người trực tiếp bỏ vốn để đầu tư vào dự án, họ phải biết được chính xác hiệu quả và lợi nhuận mà họ sẽ thu được, và dự án này hoàn thành sẽ cung cấp công cụ vô cùng hữu ích để nhà đầu tư theo dõi kiểm tra hiệu quả sử dụng nguồn vốn của mình bỏ ra, thông qua các báo cáo tức thì hay các báo cáo cuối kỳ. 3.3.4. Nhân viên văn phòng Trước đây nhân viên văn phòng khá vất vả trong việc nhập dữ liệu về các nguồn vốn đầu tư; hiệu chỉnh hay định dạng chúng theo đúng qui cách và lưu trữ các tài liệu đó rồi phân phối chúng cho các bên có liên quan. Khi phần mềm quản lý vốn dự án hoàn thành, những công việc đó sẽ đơn giản hơn và được hệ thống quản lý nguồn vốn hỗ trợ rất nhiều. 3.3.5. Nhân viên kế toán, tài chính Chương trình quản lý về việc sử dụng nguồn vốn dự án vì vây nó cung cấp cơ sở dữ liệu rất nhanh chóng và chính xác cho các nhân viên tài chính kế toán. Các báo cáo đầu ra cung cấp thông tin giúp nhân viên kế toán tài chính có thể đối chiếu được kết quả sau khi hạch toán các nghiệp vụ kinh tế phát sinh. 3.4 Phạm vi ứng dụng của đề tài Đề tài này áp dụng cho Sở Kế hoạch Đầu tư tỉnh Điện Biên tuy nhiên nó có thể được mở rộng và kế thừa để áp dụng cho các tỉnh khác. CHƯƠNG II PHƯƠNG PHÁP LUẬN CƠ BẢN XÂY DỰNG PHẦN MỀM QUẢN LÝ NGUỒN VỐN DỰ ÁN ĐẦU TƯ TẠI SỞ KẾ HOẠCH VÀ ĐẦU TƯ TỈNH ĐIỆN BIÊN 1. Tổng quan về hệ thống thông tin quản lý 1.1 Định nghĩa và các bộ phận cấu thành hệ thống thông tin Hệ thống thông tin là một tập hợp những con người, các thiết bị phần cứng, phần mềm, dữ liệu… thực hiện hoạt động thu thập, lưu trữ , xử lý và phân phối thông tin trong một tập ràng buộc được gọi là môi trường. Hệ thống thông tin được thể hiện bởi những con người, các thủ tục dữ liệu và các thiết bị tin học hoặc không tin học. Đầu vào (Inputs) của hệ thống thông tin được lấy từ các nguồn (Sources) và được xử lý bởi hệ thống sử dụng nó cùng với các dữ liệu đã được xử lý từ trước. Kết quả xử lý (Outputs) được chuyển đến các đích (Destination) hoặc cập nhật vào các kho lưu trữ dữ liệu. Nguồn Kho dữ liệu Thu thập Xử lý và lưu trữ Phân phát Đích Hình 2.1 Mô hình hệ thống thông tin 1.2 Phân loại các hệ thống thông tin trong tổ chức Phân loại theo mục đích phục vụ thông tin đầu ra Hệ thống thông tin xử lý giao dịch TPS (Transaction Processing System) Hệ thống thông tin quản lý MIS (Management Information System) Hệ thống trợ giúp ra quyết định DSS (Decision Support System) Hệ thống chuyên gia ES (Expert System) Hệ thống thông tin tăng cường khả năng cạnh tranh ISCA (Information System for Competitive Advantage) Phân loại hệ thống thông tin trong tổ chức doanh nghiệp Chiến lược Chiến thuật Tác nghiệp Tài chính Marketing Nhân lực Kinh doanh Văn phòng kế toán và sản xuất Hình 2.2 Phân loại hệ thống thông tin trong tổ chức doanh nghiệp Mô hình biểu diễn hệ thống thông tin Cùng một hệ thống thông tin có thể được mô tả khác nhau tùy theo quan điểm của người mô tả. Có thể dùng 3 mô hình sau để mô tả cùng một hệ thống thông tin: Mô hình logic, mô hình vật lý ngoài, mô hình vật lý trong. Mô hình logic (Góc nhìn quản lý) Mô hình ổn định nhất Cái gì? Để làm gì? Mô hình vật lý ngoài (Góc nhìn sử dụng) Cái gì ở đâu? Khi nào? Mô hình vật lý trong (Góc nhìn kỹ thuật) Như thế nào? Mô hình kém ổn định nhất 1.3 Tầm quan trọng của hệ thống thông tin Ngày nay việc xây dựng hệ thống thông tin là một giải pháp tốt cho việc nâng cao sức cạnh tranh của một doanh nghiệp trước các đối thủ và là một giải pháp hữu hiệu để giải quyết vấn đề về quản lý mà tổ chức thường gặp phải. Hoạt động tốt hay xấu của một hệ thống thông tin sẽ ảnh hưởng đến toàn bộ hoạt động của tổ chức. Vì vậy trước khi đưa vào sử dụng, hệ thống thông tin phải được đánh giá chất lượng thông qua các tiêu chuẩn sau: Độ tin cậy Tính đầy đủ Tính thích hợp Tính dễ hiểu Tính được bảo vệ Tính đúng thời điểm 2. Phương pháp phát triển một hệ thống thông tin 2.1 Nguyên nhân dẫn đến viêc phát triển một hệ thống thông tin mới Mục tiêu cuối cùng của việc phát triển một hệ thống thông tin là cung cấp cho các thành viên của tổ chức những công cụ quản lý tốt nhất. Phát triển một hệ thống thông tin bao gồm việc phân tích hệ thống đang tồn tại, thiết kế hệ thống mới, thực hiện và tiến hành cài đặt nó. Câu hỏi đầu tiên của việc phát triển một hệ thống thông tin mới là cái gì buộc tổ chức phải tiến hành phát triển hệ thống thông tin? Như chúng ta đã biết, sự hoạt động tồi tệ của hệ thống thông tin, những vấn đề quản lý và việc thâm thủng ngân quỹ là những nguyên nhân đầu tiên thúc đẩy việc phát triển một hệ thống thông tin mới. Những yêu cầu mới của nhà quản lý, những luật mới của chính phủ cũng như những tác động mới của đối thủ cạnh tranh có tác động rất mạnh vào hoạt động của tổ chức doanh nghiệp, buộc doanh nghiệp phải có những hành động để đáp ứng lại những thay đổi đó. Việc xuất hiện công nghệ mới cũng có thể dẫn đến việc một tổ chức phải xem lại hệ thống thông tin của mình. Khi các hệ quản trị cơ sở dữ liệu ra đời nhiều tổ chức phải rà soát lại các hệ thống thông tin của mình để quyết định những gì họ phải cài đặt khi muốn sử dụng công nghệ mới này. Cuối cùng, vai trò của những thách thức chính trị cũng là nguyên nhân dẫn đến việc phát triển một hệ thống thông tin. 2.2 Phương pháp phát triển một hệ thống thông tin Một hệ thống thông tin là một đối tượng phức tạp, vận động trong một môi trường cũng rất phức tạp. Để làm chủ sự phức tạp đó, phân tích viên cần phải có một cách tiến hành nghiêm túc, một phương pháp. Một phương pháp được định nghĩa như một tập hợp các bước và các công cụ cho phép tiến hành một quá trình phát triển hệ thống một cách chặt chẽ nhưng dễ quản lý hơn. Các phương pháp đều dựa trên ba nguyên tắc cơ sở chung sau: Nguyên tắc 1: Sử dụng các mô hình. Nguyên tắc 2: Chuyển từ cái chung sang cái riêng. Nguyên tắc 3: Chuyển từ mô hình vật lý sang mô hình logic khi phân tích và chuyển từ mô hình logic sang mô hình vật lý khi thiết kế. “Hệ thống thông tin quản lý nguồn vốn dự án đầu tư” được xây dựng nhờ vào sự kết hợp của cả ba nguyên tắc trên. 3. Phân tích hệ thống thông tin 3.1 Các phương pháp thu thập thông tin Phương pháp phỏng vấn Phương pháp nghiên cứu tài liệu Sử dụng phiếu điều tra Phương pháp quan sát 3.2 Mã hóa dữ liệu Mã hóa dữ liệu được xem là việc xây dựng một tập hợp những hàm thức mang tính qui ước và gán cho tập này một ý nghĩa bằng các cho liên hệ với tập hợp những đối tượng cần biểu diễn. Xây dựng hệ thống thông tin rất cần phải mã hóa dữ liệu. Việc mã hóa dữ liệu mang lại những lợi ích sau: Nhận diện không nhầm lẫn các đối tượng Mô tả nhanh chóng các đối tượng Nhận diện đối tượng nhanh hơn 3.3 Các công cụ mô hình hóa hệ thống thông tin Sơ đồ luồng thông tin Các ký pháp của sơ đồ luồng thông tin như sau: Xử lý: Thủ công Giao tác người Tin học hóa - máy hoàn toàn Kho dữ liệu: Thủ công Tin học hóa Tài liệu Dòng thông tin: Điều khiển: Sơ đồ luồng dữ liệu DFD Sơ đồ luồng dữ liệu là một các khác dùng để mô tả hệ thống thông tin giống như sơ đồ luồng thông tin. Các ký pháp dùng cho sơ đồ luồng dữ liệu: Tên người /bộ phận phát/ nhận tin Nguồn hoặc đích Dòng dữ liệu Tên dòng dữ liệu Tiến trình xử lý Tiến trình xử lý Kho dữ liệu Tệp dữ liệu Các mức của DFD: Sơ đồ ngữ cảnh thể hiện khái quát nội dung chính của hệ thống thông tin. Nó không đi vào chi tiết mà chỉ mô tả sao cho chỉ cần nhìn vào đó là hiểu nội dung của hệ thống thông tin. Sơ đồ DFD có thể phân rã thành nhiều mức để mô tả hệ thống chi tiết hơn, mức phân rã gồm: mức 0, mức 1, mức 2… 4 Quy trình xây dựng phần mềm ứng dụng 4.1 Đánh giá yêu cầu Mục đích của giai đoạn này là cung cấp cho lãnh đạo tổ chức hoặc hội đồng giám đốc những dữ liệu đích thực để ra quyết định về thời cơ, tính khả thi và hiệu quả của một dự án phát triển hệ thống. Giai đoạn này được thực hiện tương đối nhanh và không đòi hỏi chi phí lớn. 4.2 Phân tích chi tiết Phân tích chi tiết được tiến hành sau khi có sự đánh giá thuận lợi về yêu cầu. Mục đích chính của giai đoạn này là hiểu rõ các vấn đề của hệ thống đang nghiên cứu, xác định nguyên nhân đích thực của những vấn đề đó, xác định những đòi hỏi ràng buộc áp đặt với hệ thống và xác định mục tiêu mà hệ thống thông tin mới phải đạt được. 4.3 Thiết kế logic Giai đoạn này nhằm xác định tất cả các thành phần logic của một hệ thống thông tin, cho phép loại bỏ tất cả các vấn đề của hệ thống thực tế và đạt được những mục tiêu đã được thiết lập ở giai đoạn trước. Mô hình logic của hệ thống mới sẽ bao hàm thông tin mà hệ thống mới sẽ sản sinh ra (nội dung của output), nội dung của cơ sở dữ liệu (các tệp, các quan hệ giữa các tệp), các xử lý và hợp thức hóa sẽ phải thực hiện (các xử lý) và các dữ liệu sẽ được nhập vào (các Input). Mô hình logic sẽ được người sử dụng xem xét và chuẩn y. 4.4 Đề xuất các phương án của giải pháp Mục đích chủ yếu của giai đoạn này là thiết lập các phác hoạ cho mô hình vật lý, đánh giá chi phí và lợi ích cho các phác hoạ, xác định khả năng đạt được mục tiêu cũng như sự tác động của chúng vào lĩnh vực tổ chức và nhân sự đang làm việc tại hệ thống và đưa ra những khuyến nghị cho lãnh đạo những phương án hứa hẹn nhất. Các công việc phải làm trong giai đoạn xây dựng các phương án của giải pháp là: xác định các ràng buộc về tin học và tổ chức, xây dựng các phương án, chuẩn bị và trình bày báo cáo. 4.5 Thiết kế vật lý ngoài Giai đoạn này được thực hiện sau khi một phương án giải pháp được lựa chọn. thiết kế vật lý bao gồm hai tài liệu kết quả cần có: một tài liệu bao chứa tất cả các đặc trưng của hệ thống mới sẽ cần cho việc thực hiện kỹ thuật và tài liệu dành cho người sử dụng và nó mô tả phần thủ công và tất cả giao diện với những phần tin học hóa. Những công đoạn của giai đoạn này là: Lập kế hoạch thiết kế vật lý ngoài Thiết kế chi tiết các giao diện Thiết kế cách thức tương tác với phần tin học hoá Thiết kế các thủ tục thủ công Chuẩn bị và trình bày báo cáo về thiết kế vật lý ngoài 4.6 Triển khai kỹ thuật hệ thống Kết quả quan trọng nhất của giai đoạn triển khai hệ thống thông tin là phần tin học hóa của hệ thống thông tin, có nghĩa là phần mềm. Những người chịu trách nhiệm về giai đoạn này phải cung cấp tài liệu như các bản hướng dẫn sử dụng và thao tác cũng như các tài liệu mô tả về hệ thống. Những công đoạn chính của giai đoạn triển khai bao gồm: Lập kế hoạch triển khai Thiết kế vật lý trong Lập trình Thử nghiệm Hoàn thiện hệ thống các tài liệu Đào tạo người sử dụng 4.7 Cài đặt và khai thác Cài đặt hệ thống là pha trong đó việc chuyển từ hệ thống cũ sang hệ thống mới được thực hiện. Để việc chuyển đổi này được thực hiện với những va chạm ít nhất cần phải lập một kế hoạch cẩn thận. Giai đoạn này bao gồm các công việc sau: Lập kế hoạch cài đặt Chuyển đổi Khai thác và bảo trì Đánh giá 5. Thiết kế cơ sở dữ liệu Thiết kế cơ sở dữ liệu là xác định yêu cầu thông tin của người sử dụng hệ thống thông tin mới. Có hai cách để thiết kế cơ sở dữ liệu đó là: thiết kế cơ sở dữ liệu logic đi từ các thông tin ra và thiết kế cơ sở dữ liệu bằng phương pháp mô hình hóa. 5.1 Thiết kế cơ sở dữ liệu logic đi từ các thông tin ra Xác định các tệp cơ sở dữ liệu trên cơ sở các thông tin đầu ra của hệ thống là phương pháp cổ điển và cơ bản của việc thiết kế cơ sở dữ liệu. Các bước chi tiết khi thiết kế cơ sở dữ liệu đi từ thông tin ra: 5.1.1 Xác định các đầu ra Liệt kê toàn bộ thông tin đầu ra Nội dung khối lượng , tần xuất và nơi nhận của chúng Ví dụ: Quản lý nguồn vốn dự án đầu tư có các thông tin đầu ra như sau: Danh sách dự án Danh sách nguồn vốn Danh sách nhà thầu Danh sách chương trình … 5.1.2 Xác định các tệp cần thiết cung cấp dữ liệu cho việc tạo ra từng đầu ra Liệt kê các phần tử thông tin đầu ra Trên mỗi thông tin đầu ra bao gồm các phần tử thông tin được gọi là các thuộc tính, phân tích viên lần lượt thực hiện các công việc sau: Liệt kê toàn bộ các thuộc tính thành một danh sách Đánh dấu các thuộc tính lặp - là những thuộc tính có thể nhận nhiều giá trị Đánh dấu các thuộc tính thứ sinh – là những thuộc tính được tính toán suy ra từ những thuộc tính khác. Gạch chân các thuộc tính khóa cho thông tin đầu ra. Loại bỏ các thuộc tính thứ sinh chỉ để lại những thuộc tính cơ sở (thuộc tính cơ sở là những thuộc tính không phải thứ sinh). Xem xét loại bỏ những thuộc tính không có ý nghĩa trong quản lý. Ví dụ: Từ đầu ra “Danh sách dự án” ta có được danh sách các thuộc tính: Mã dự án Tên dự án Thời gian khởi công Thời gian kết thúc Số quyết định Ngày quyết định Số gói thầu Mã nguồn vốn (R) Tên nguồn vốn (R) Tiền nước ngoài (R) Tiền trong nước (R) Mã dự toán (R) Tên dự toán R) Số tiền (R) Mã bộ Tên bộ Mã chủ đầu tư Tên chủ đầu tư Mã cấp công trình Tên cấp công trình Mã loại dự án Tên loại dự án Mã ngành Tên ngành Mã tổ chức phi chính phủ Tên tổ chức phi chính phủ Ký hiệu (R) là đánh dấu thuộc tính lặp Thực hiện việc chuẩn hóa mức1 (1.NF) Việc chuẩn hóa mức một (1.NF) qui định rằng, trong mỗi danh sách không được chứa những thuộc tính lặp. Nếu có các thuộc tính lặp thì phải tách các thuộc tính đó thành một danh sách con. Gắn thêm cho nó một tên, tìm cho nó thuộc tính định danh riêng và thêm thuộc tính định danh của danh sách gốc. Ví dụ: Sau khi chuẩn hóa mức 1 các thuộc tính của “Danh sách dự án” ta tách ra làm ba danh sách như sau: Danh sách dự án Mã dự án Tên dự án Thời gian khởi công Thời gian kết thúc Số quyết định Ngày quyết định Số gói thầu Mã bộ Tên bộ Mã chủ đầu tư Tên chủ đầu tư Mã cấp công trình Tên cấp công trình Mã loại dự án Tên loại dự án Mã ngành Tên ngành Mã tổ chức phi chính phủ Tên tổ chức phi chính phủ Nguồn vốn Mã dự án Mã nguồn vốn Tên nguồn vốn Tiền trong nước Tiền nước ngoài Dự toán Mã dự án Mã dự toán Tên dự toán Số tiền Thực hiện việc chuẩn hóa mức 2 (2.NF) - Chuẩn mức hai qui định rằng trong một danh sách mỗi thuộc tính phải phụ thuộc vào toàn bộ khóa chứ không được chỉ phụ thuộc vào một phần của khóa. Nếu phụ thuộc thì phải tách những thuộc tính phụ thuộc hàm vào bộ phận của khóa thành một danh sách con mới. - Lấy bộ phận khóa đó làm khóa cho danh sách mới. Đặt cho danh sách này một tên riêng phù hợp với nội dung của các thuộc tính trong danh sách. Ví dụ: Sau khi chuẩn hoá mức 2 của “Danh sách dự án” ta có các danh sách sau: Danh sách dự án Mã dự án Tên dự án Thời gian khởi công Thời gian kết thúc Số quyết định Ngày quyết định Số gói thầu Mã bộ Tên bộ Mã chủ đầu tư Tên chủ đầu tư Mã cấp công trình Tên cấp công trình Mã loại dự án Tên loại dự án Mã ngành Tên ngành Mã tổ chức phi chính phủ Tên tổ chức phi chính phủ Nguồn vốn Mã dự án Mã nguồn vốn Tiền trong nước Tiền nước ngoài Từ điển nguồn vốn Mã nguồn vốn Tên nguồn vốn Dự toán Mã dự án Mã dự toán Số tiền Từ điển dự toán Mã dự toán Tên dự toán Thực hiện việc chuẩn hóa mức 3 (3.NF) - Chuẩn mức ba qui định rằng trong một danh sách không có sự phụ thuộc bắc cầu giữa các thuộc tính. Nếu thuộc tính Z phụ thuộc hàm vào thuộc tính Y và Y phụ thuộc vào X thì phải tách chúng vào hai danh sách chứa quan hệ Z, Y và danh sách chứa quan hệ Y với X. - Xác định khóa và tên cho mỗi danh sách mới Ví dụ: Sau khi chuẩn hoá mức 2 của “Danh sách dự án” ta có các danh sách sau: Danh sách dự án Mã dự án Tên dự án Thời gian khởi công Thời gian kết thúc Số quyết định Ngày quyết định Số gói thầu Mã bộ Mã chủ đầu tư Mã cấp công trình Mã loại dự án Mã ngành Mã tổ chức phi chính phủ Nguồn vốn Mã dự án Mã nguồn vốn Tiền trong nước Tiền nước ngoài Từ điển nguồn vốn Mã nguồn vốn Tên nguồn vốn Dự toán Mã dự án Mã dự toán Số tiền Từ điển dự toán Mã dự toán Tên dự toán Từ điển bộ Mã bộ Tên bộ Từ điển chủ đầu tư Mã chủ đầu tư Tên chủ đầu tư Từ điển cấp công trình Mã cấp công trình Tên cấp công trình Từ điển loại dự án Mã loại dự án Tên loại dự án Từ điển ngành Mã ngành Tên ngành Từ điển tổ chức phi chính phủ Mã tổ chức phi chính phủ Tên tổ chức phi chính phủ 5.1.3 Tích hợp các tệp để tạo ra cơ sở dữ liệu 5.1.4 Xác định khối lượng dữ liệu cho từng tệp và toàn sơ đồ 5.1.5 Xác định liên hệ logic giữa các tệp và thiết lập sơ đồ cấu trúc dữ liệu 5.2 Thiết kế cơ sở dữ liệu bằng phương pháp mô hình hóa Khái niệm cơ bản Thực thể (Entity): thực thể trong mô hình logic dữ liệu được dùng để biểu diễn những đối tượng cụ thể hoặc trừu tượng trong thế giới thực mà ta muốn lưu giữ thông tin về chúng. Thực thể được biểu diễn bằng một hình chữ nhật có ghi tên thực thể bên trong Liên kết (Association): một thực thể trong thực tế không tồn tại độc lập với các thực thể khác. Có sự liên kết qua lại với nhau. Khái niệm liên kết được dùng để trình bày, thể hiện những mối liên hệ tồn tại giữa các thực thể. DỰ ÁN CHỦ ĐẦU TƯ CÓ 1 N Để thiết kế tốt các sự trợ giúp quản lý của hệ thống thông tin, ngoài việc biết thực thể này liên kết với thực thể khác ra sao, còn phải biết có bao nhiêu lần xuất của thực thể A tương tác với mỗi lần xuất của thực thể B và ngược lại. Mỗi NHÓM DỰ ÁN có nhiều DỰ ÁN Mỗi DỰ ÁN thuộc một NHÓM DỰ ÁN 1@ 1 Liên kết loại Một – Một Một lần xuất của thực thể A được liên kết với chỉ một lần xuất của thực thể B và ngược lại THÔNG TIN CHI TIẾT DỰ ÁN CÓ 1 1 1@ N Liên kết loại Một – Nhiều Một lần xuất của thực thể A được liên kết một hoặc nhiều lần xuất của thực thể B và mỗi lần xuất của thực thể B chỉ liên kết với duy nhất một lần xuất của thực thể A DỰ ÁN NHÓM DỰ ÁN CÓ 1 N N@ N Liên kết loại Nhiều – Nhiều Một lần xuất của thực thể A được liên kết với một hoặc nhiều lần xuất của thực thể B và mỗi lần xuất của thực thể B được liên kết với một hoặc nhiều lần xuất của thực thể A. NGUỒN VỐN DỰ ÁN CÓ N M Chiều của một liên kết Chiều của một quan hệ chỉ ra số lượng các thực thể tham gia vào quan hệ đó. Có ba loại quan hệ: một chiều, hai chiều, nhiều chiều. Quan hệ một chiều là quan hệ mà một lần xuất của thực thể được quan hệ với chính một lần xuất của thực thể đó. Quan hệ hai chiều là quan hệ trong đó có hai thực thể liên kết với nhau. KẾ HOẠCH VỐN DỰ ÁN CÓ 1 N Quan hệ nhiều chiều là một quan hệ có hơn hai thực thể tham gia. NHÓM DỰ ÁN CHƯƠNG TRÌNH DỰ ÁN THUỘC 1 1 1 Thuộc tính Thuộc tính dùng để mô tả các đặc trưng của một thực thể hoặc một quan hệ. Có ba loại thuộc tính: thuộc tính mô tả, thuộc tính định danh, thuộc tính quan hệ. Thuộc tính định danh là thuộc tính dùng để xác định một cách duy nhất mỗi lần xuất của thực thể. Giá trị của thuộc tính đó là duy nhất đối với mọi lần xuất của thực thể. Thuộc tính mô tả dùng để mô tả về thực thể Thuộc tính quan hệ dùng để chỉ đến một lần xuất nào đó trong thực thể có quan hệ 6. Khái quát về công cụ sử dụng để thực hiện đề tài 6.1 Hệ quản trị cơ sở dữ liệu SQL Server Cơ sở dữ liệu là yếu tố tiên quyết và có vai trò vô cùng quan trọng đối với sự thành công của mọi phần mềm quản lý trong bất kỳ lĩnh vực nào của đời sống xã hội. Vì vậy việc xây dựng được một cơ sở dữ liệu tối ưu và lựa chon một hệ quản trị cơ sở dữ liệu phù hợp là một công việc có ý nghĩa sống còn đối với các nhà xây dựng phần mềm. Trong phần mềm quản lý vốn dự án đầu tư tại Sở Kế hoạch và Đầu tư tỉnh Điện Biên việc sử dụng hệ quản trị cơ sở dữ liệu SQL server là hợp lý. SQL server là một hệ thống quản lý cơ sở dữ liệu (Relational Database Management System (RDBMS)) sử dụng Transact- SQL để trao đổi dữ liệu giữa Client computer và SQL Server computer. Một RDBMS bao gồm Database, Database Engine và các ứng dụng dùng để quản lý dữ liệu và các bộ phận khác nhau trong RDBMS. SQL Server được thiết kế tối ưu có thể chạy trên môi trường cơ sở dữ liệu rất lớn lên tới Tera- Byte và có thể phục vụ cùng lúc hàng ngàn user. SQL Server có thể kết hợp ăn ý với các Server khác như Microsoft Internet Information Server (IIS), E- Commerce Server, Proxy Server…. Về mặt kinh tế SQL Server là một tập hợp những sản phẩm phần mềm cùng hoạt động để đáp ứng nhu cầu lưu trữ, xử lý và phân tích dữ liệu cho những hệ thống xử lý dữ liệu doanh nghiệp và những website thương mại lớn nhất đồng thời vẫn có thể cung cấp các dịch vụ về dữ liệu cho một doanh nghiệp nhỏ hay cá nhân. Ngày nay SQL Server được xử dụng thường xuyên rộng rãi để đáp ứng nhu cầu quản lý của các tổ chức kinh tế chính trị xã hội. 6.2 Ngôn ngữ lập trình Visual Basic 6.0 Là ngôn ngữ mới và mạnh, Visual Basic 6.0 có rất nhiều ưu điểm. Với Visual Basic, có thể dễ dàng tạo những chương trình hoàn hảo với giao diện đẹp và hết sức sinh động bởi vì Visual Basic 6.0 không chỉ cung cấp một khối lượng lớn các công cụ cho ta tùy lựa chọn sử dụng, hơn nữa nó còn hỗ trợ trong việc lập trình xử lý mã lệnh. Visual Basic còn có thể kết nối với các cơ sở dữ liệu từ nhiều nguồn khác nhau giúp các lập trình viên thoải mái hơn trong việc thao tác với dữ liệu. Nói chung, Visual Basic 6.0 có thể sử dụng để xây dựng nên một phần mềm hoàn thiện theo bất cứ yêu cầu nào của người sử dụng CHƯƠNG III PHÂN TÍCH THIẾT KẾ PHẦN MỀM QUẢN LÝ NGUỒN VỐN DỰ ÁN ĐẦU TƯ TẠI SỞ KẾ HOẠCH VÀ ĐẨU TƯ TỈNH ĐIỆN BIÊN 1. Khái quát về bài toán quản lý 1.1. Thực tế qui trình quản lý nguồn vốn dự án đầu tư tại Sở Kế hoạch và Đầu tư tỉnh Điện Biên Khi một dự án bắt đầu các thông tin liên quan đến dự án như: thông tin chung, thông tin về vốn dự án, thông tin về công suất, dự toán, đấu thầu, thực hiện thanh toán và tình trạng dự án được ban quản lý dự án lưu lại trong một hồ sơ. Mỗi dự án đầu tư sẽ được lưu trữ trong một hồ sơ riêng. Khi một dự án bắt đầu là lúc phải thêm mới vào kho dữ liệu của Sở một hồ sơ. Khi kết thúc dự án hồ sơ sẽ được khóa lại và lưu trữ trong kho dữ liệu. Trong quá trình thực hiện dự án bất kỳ một thay đổi nào về thông tin và dữ liệu trong hồ sơ sẽ được người có thẩm quyền phê duyệt trước khi thêm mới hay sửa chữa. Dựa vào thông tin trong mỗi bộ hồ sơ mà ban quản lý dự án có thể quản lý được nguồn vốn dự án từ đó đưa ra những kế hoạch sử dụng vốn thật hợp lý đồng thời theo dõi công việc đấu thầu, theo dõi tiến độ thực hiện, theo dõi kỹ thuật thi công, và đưa ra những báo cáo tổng hợp. Một số đặc điểm của việc quản lý vốn dự án đầu tư tại Sở Kế hoạch và Đầu tư tỉnh Điện Biên: Số lượng các dự án đầu tư cần quản lý là rất lớn. Mỗi dự án có số lượng thông tin cần lưu trữ và xử lý rất lớn: bao gồm thông tin chung về dự án,thông tin nguồn vốn,thông tin kế hoạch vốn, thông tin đấu thầu, công suất, dự toán, thực hiện, thanh toán, tình trạng…. Mỗi dự án có nhiều thông tin mà nguời quản lý phải cập nhật thường xuyên như: thông tin về kế hoạch vốn, cấp phát vốn, thực hiện, thanh toán…. Thời gian từ khi một dự án bắt đầu đến khi kết thúc thông thường dài có thể lên tới hàng chục năm. Các thông tin về dự án đầu tư phải được lưu trữ đầy đủ và lâu dài theo quy định cụ thể của pháp luật. 1.2. Mục đích cần đạt được của phần mềm Vì việc quản lý vốn dự án đầu tư có những đặc điểm đặc trưng như trên nên việc lưu trữ và cập nhât thông tin của các dự án đầu tư bằng thủ công gặp rầt nhiều khó khăn.Phần mềm “Quản lý nguồn vốn dự án đầu tư tại Sở Kế hoạch và Đầu tư tỉnh Điện Biên” ra đời nhằm giúp Sở Kế hoạch và Đầu tư tỉnh Điện Biên giải quyết những vấn đề tồn tại trên. Phần mềm này sử dụng Hệ quản trị cơ sở dữ liệu SQL Server là một công cụ lưu trữ và xử lý dữ liệu rầt mạnh, phù hợp với việc lưu trữ và xử lý thông tin quản lý nguồn vốn dự án đầu tư. Ưu điểm của phần mềm là khả năng cập nhật và tổng hợp dữ liệu rất nhanh chóng dựa vào các từ điển đã được xây dựng sẵn có thể trực tiếp cập nhật và bổ xung. Phần mềm được xây dựng với các mục tiêu cụ thể sau: Theo dõi trực quan, sinh động các nguồn vốn dự án dưới nhiều góc độ khác nhau như góc độ vốn-kế hoạch vốn, góc độ đấu thầu, góc độ công suất-dự toán, góc độ thực hiện-cấp phát, góc độ tình trạng dự án. Cung cấp khả năng cập nhật thông tin các dự án đầu tư một cách nhanh chóng và thuận tiện cho người sử dụng. Tổng hợp, báo cáo nhanh chóng, chính xác theo nhiều tiêu chí khác nhau: Báo cáo theo địa bàn, theo loại nguồn vốn, theo chủ đầu tư, theo tình trạng dự án, theo từng khoảng thời gian…. Chương trình khai thác trong mạng LAN của Sở Kế hoạch và Đầu tư Cơ sở dữ liệu tập trung trên server. Phần quyền cụ thể cho từng người sử dụng Đảm bảo tính bảo mật, tính xác thực Giao diện đẹp, dễ thao tác và theo dõi. Có thể kết xuất số liệu báo cáo ra Excel, Word 1.3. Thông tin đầu vào và thông tin đầu ra của phần mềm 1.3.1. Thông tin đầu vào 1. Tên dự án 2. Ngày khởi công 3. Ngày kết thúc 4. Số quyết định 5. Ngày quyết định 6. Số gói thầu 7. Loại dự án Thực hiện Tiềm năng ……. 8. Nhóm dự án Nhóm A Nhóm B Nhóm C …….. 9. Cấp công trình Đặc biệt Cấp 1 Cấp 2 10. Ngành + Giao thông - Đường bộ - Đường thủy …… + Công nghiệp - Điện - Xi măng …… 11. Địa bàn + Huyện A - Phường A1 - Phường A2 …… + Huyện B …….. 12. Thuộc bộ Bộ Giáo dục Bộ Xây Dựng ……… 13. Chủ đầu tư Ban quản lý 1 Ban quản lý 2 ………. 14. Tổ chức phi Chính phủ Tổ chức A Tổ chức B ……….. 15. Doanh nghiệp Doanh nghiệp A Doanh nghiệp B ……….. 16. Nguồn vốn Mã dự án Tên nguồn vốn Số tiền 17. Dự toán: Mã dự án Dự toán: giai đoạn à số tiền 1.3.2. Thông tin đầu ra Là các báo cáo theo dõi từ chi tiết đến tổng hợp về nguồn vốn đầu tư của các dự án. - Báo cáo theo dõi tình trạng dự án - Báo cáo tình hình thực hiện ._."Cap" & cap & "@" & Key & "@" & RsNode.Fields(TruongMa).Value & "@'" & RsNode.Fields("Parent").Value & "'", RsNode.Fields(TruongTen).Value, "Pic" & cap, "Open" Key = Key + 1 End If RsDA.Close RsNode.MoveNext Wend RsNode.Close rstree.Close Else rstree.Close RsNode.Close cap = cap + 1 GoTo Lap End If Node.Expanded = True End If End If Call DuAn With Me.adoDuan .Password = gPSW .ConnectionString = gConn.ConnectionString .CommandType = adCmdText .RecordSource = "select * from " & gTmp_DuAn .Refresh End With End Sub Sub TaoBangDuAn() 'Tao bang du an Call XoaBangDuAn Dim sql As String 'sql = "CREATE TABLE [dbo].[" & gTmp_DuAn & "] ([MaDuAn] [nvarchar] (15) NULL ,[TenDuAn] [nvarchar] (100) NULL ,[KhoiCong] [datetime] NULL ,[KetThuc] [datetime] NULL , UserID nvarchar (15),[TMDT] [float] NULL ,[KHVon] [float] NULL ,[DuToan] [float] NULL ,[THVon] [float] NULL ,[TTVon] [float] NULL,[TinhTrang] [nvarchar] (50) NULL ) ON [PRIMARY]" sql = "CREATE TABLE [dbo].[" & gTmp_DuAn & "] ([STT] [numeric](18, 0) IDENTITY (1, 1),[MaDuAn] [nvarchar] (15) NULL ,[TenDuAn] [nvarchar] (100) NULL ,[KhoiCong] [nvarchar] (7) NULL ,[KetThuc] [nvarchar] (7) NULL , UserID nvarchar (15),[TMDT] [float] NULL ,[DuToan] [float] NULL ,[TinhTrang] [nvarchar] (50) NULL ) ON [PRIMARY]" gConn.Execute sql End Sub Sub XoaBangDuAn() On Error GoTo thoat Dim sql As String sql = " if exists(select * from sysobjects where id=object_id(N'[dbo].[" & gTmp_DuAn & "]') and objectproperty(id,N'IsUserTable')=1) " sql = sql & vbCrLf & " drop table [dbo].[" & gTmp_DuAn & "]" gConn.Execute sql thoat: End Sub 'Sub DuAn(rs As ADODB.Recordset) Sub DuAn() 'On Error Resume Next gTmp_DuAn = FgBangTam 'Dïng lÖnh SQL TaoBangDuAn If gSQL_Duan "" Then gSQL = "Insert Into " & gTmp_DuAn & "(MaDuAn,TenDuAn, KhoiCong, KetThuc,TMDT,UserID) " & gSQL_Duan gConn.Execute gSQL gSQL = "Update " & gTmp_DuAn & " Set " & _ " DuToan= isnull((SELECT sum(SoTien) FROM dbo.Td_DuToan INNER JOIN dbo.Ps_DuToan ON dbo.Td_DuToan.MaDuToan = dbo.Ps_DuToan.MaDuToan WHERE (dbo.Td_DuToan.Parent = '0' and PS_DuToan.MaDuAn= " & gTmp_DuAn & ".MaDuAn)),0)," & _ "Tinhtrang = (SELECT Top 1 MaTinhTrang FROM dbo.Ps_TinhTrang WHERE (Ps_TinhTrang.MaDuAn = " & gTmp_DuAn & ".MaDuAn) ORDER BY NgayBatDau Desc) " gConn.Execute gSQL End If Exit Sub End Sub Function TinhTrangDuAn(MaDA As String) As String Dim rs As New ADODB.Recordset rs.Open "SELECT NgayBatDau, MaTinhTrang FROM dbo.Ps_TinhTrang WHERE (MaDuAn = '" & MaDA & "') AND (NgayBatDau = (SELECT MAX(ngaybatdau) FROM PS_TinhTrang WHERE maduan = '" & MaDA & "'))", gConn, adOpenStatic, adLockReadOnly If rs.RecordCount > 0 Then TinhTrangDuAn = IIf(IsNull(rs.Fields(1)), "", rs.Fields(1).Value) Else TinhTrangDuAn = "" End If End Function Public Sub LoadMenuBaoCao_TinhTrang() Dim i As Long Dim Index As Long Dim rs As New ADODB.Recordset For i = 1 To FrTreeData.mnuTinhTrangCon.Count - 1 Unload mnuTinhTrangCon(i) Next rs.Open "select * from Td_Tree_1 where Congviec='BaoCao' order by TenCay", gConn, adOpenStatic, adLockReadOnly If rs.RecordCount > 0 Then For i = 1 To rs.RecordCount If Index 0 Then Load mnuTinhTrangCon(Index) End If With mnuTinhTrangCon(Index) If i < 10 Then .Caption = "&" & i & ". " & rs.Fields("TenCay").Value Else .Caption = "&" & Chr(55 + i) & ". " & rs.Fields("TenCay").Value End If .Tag = rs.Fields("ID").Value .Visible = True End With Index = Index + 1 rs.MoveNext Next End If rs.Close End Sub Public Sub LoadMenuBaoCao_Thuchien() Dim i As Long Dim Index As Long Dim rs As New ADODB.Recordset For i = 1 To FrTreeData.mnuLuyKeThucHienCon.Count - 1 Unload mnuLuyKeThucHienCon(i) Next rs.Open "select * from Td_Tree_1 where Congviec='BaoCao' order by TenCay", gConn, adOpenStatic, adLockReadOnly If rs.RecordCount > 0 Then For i = 1 To rs.RecordCount If Index 0 Then Load mnuLuyKeThucHienCon(Index) End If With mnuLuyKeThucHienCon(Index) If i < 10 Then .Caption = "&" & i & ". " & rs.Fields("TenCay").Value Else .Caption = "&" & Chr(55 + i) & ". " & rs.Fields("TenCay").Value End If .Tag = rs.Fields("ID").Value .Visible = True End With Index = Index + 1 rs.MoveNext Next End If rs.Close End Sub Public Sub LoadMenuBaoCao_ThuchienVon() Dim i As Long Dim Index As Long Dim rs As New ADODB.Recordset For i = 1 To FrTreeData.mnuThuchienVonCon.Count - 1 Unload mnuThuchienVonCon(i) Next rs.Open "select * from Td_Tree_1 where Congviec='BaoCao' order by TenCay", gConn, adOpenStatic, adLockReadOnly If rs.RecordCount > 0 Then For i = 1 To rs.RecordCount If Index 0 Then Load mnuThuchienVonCon(Index) End If With mnuThuchienVonCon(Index) If i < 10 Then .Caption = "&" & i & ". " & rs.Fields("TenCay").Value Else .Caption = "&" & Chr(55 + i) & ". " & rs.Fields("TenCay").Value End If .Tag = rs.Fields("ID").Value .Visible = True End With Index = Index + 1 rs.MoveNext Next End If rs.Close End Sub Public Sub LoadMenuTH_VonDT() Dim i As Long Dim Index As Long Dim rs As New ADODB.Recordset For i = 1 To FrTreeData.mnuTH_VonDTCon.Count - 1 Unload mnuTH_VonDTCon(i) Next rs.Open "select * from Td_Tree_1 where Congviec='BaoCao' order by TenCay", gConn, adOpenStatic, adLockReadOnly If rs.RecordCount > 0 Then For i = 1 To rs.RecordCount If Index 0 Then Load mnuTH_VonDTCon(Index) End If With mnuTH_VonDTCon(Index) If i < 10 Then .Caption = "&" & i & ". " & rs.Fields("TenCay").Value Else .Caption = "&" & Chr(55 + i) & ". " & rs.Fields("TenCay").Value End If .Tag = rs.Fields("ID").Value .Visible = True End With Index = Index + 1 rs.MoveNext Next End If rs.Close End Sub Public Sub LoadMenuKehoachVon_DU() Dim i As Long Dim Index As Long Dim rs As New ADODB.Recordset For i = 1 To FrTreeData.mnuKehoachVonDUCon.Count - 1 Unload mnuKehoachVonDUCon(i) Next rs.Open "select * from Td_Tree_1 where Congviec='BaoCao' order by TenCay", gConn, adOpenStatic, adLockReadOnly If rs.RecordCount > 0 Then For i = 1 To rs.RecordCount If Index 0 Then Load mnuKehoachVonDUCon(Index) End If With mnuKehoachVonDUCon(Index) If i < 10 Then .Caption = "&" & i & ". " & rs.Fields("TenCay").Value Else .Caption = "&" & Chr(55 + i) & ". " & rs.Fields("TenCay").Value End If .Tag = rs.Fields("ID").Value .Visible = True End With Index = Index + 1 rs.MoveNext Next End If rs.Close End Sub Public Sub LoadMenuBoSungVon() Dim i As Long Dim Index As Long Dim rs As New ADODB.Recordset For i = 1 To FrTreeData.mnuBosungvonCon.Count - 1 Unload mnuBosungvonCon(i) Next rs.Open "select * from Td_Tree_1 where Congviec='BaoCao' order by TenCay", gConn, adOpenStatic, adLockReadOnly If rs.RecordCount > 0 Then For i = 1 To rs.RecordCount If Index 0 Then Load mnuBosungvonCon(Index) End If With mnuBosungvonCon(Index) If i < 10 Then .Caption = "&" & i & ". " & rs.Fields("TenCay").Value Else .Caption = "&" & Chr(55 + i) & ". " & rs.Fields("TenCay").Value End If .Tag = rs.Fields("ID").Value .Visible = True End With Index = Index + 1 rs.MoveNext Next End If rs.Close End Sub Public Sub LoadMenuDAHT() Dim i As Long Dim Index As Long Dim rs As New ADODB.Recordset For i = 1 To FrTreeData.mnuDuAnHTCon.Count - 1 Unload mnuDuAnHTCon(i) Next rs.Open "select * from Td_Tree_1 where Congviec='BaoCao' order by TenCay", gConn, adOpenStatic, adLockReadOnly If rs.RecordCount > 0 Then For i = 1 To rs.RecordCount If Index 0 Then Load mnuDuAnHTCon(Index) End If With mnuDuAnHTCon(Index) If i < 10 Then .Caption = "&" & i & ". " & rs.Fields("TenCay").Value Else .Caption = "&" & Chr(55 + i) & ". " & rs.Fields("TenCay").Value End If .Tag = rs.Fields("ID").Value .Visible = True End With Index = Index + 1 rs.MoveNext Next End If rs.Close End Sub Public Sub LoadMenuDA_KeHoach() Dim i As Long Dim Index As Long Dim rs As New ADODB.Recordset For i = 1 To FrTreeData.mnuKeHoachDAcon.Count - 1 Unload mnuKeHoachDAcon(i) Next rs.Open "select * from Td_Tree_1 where Congviec='BaoCao' order by TenCay", gConn, adOpenStatic, adLockReadOnly If rs.RecordCount > 0 Then For i = 1 To rs.RecordCount If Index 0 Then Load mnuKeHoachDAcon(Index) End If With mnuKeHoachDAcon(Index) If i < 10 Then .Caption = "&" & i & ". " & rs.Fields("TenCay").Value Else .Caption = "&" & Chr(55 + i) & ". " & rs.Fields("TenCay").Value End If .Tag = rs.Fields("ID").Value .Visible = True End With Index = Index + 1 rs.MoveNext Next End If rs.Close End Sub Function KiemTraNode2(node1 As Node, Bang As String, Truong As String, Id1 As String, bangps1 As String, Captree As Integer) As String Dim sqlDK As String Dim sqlDL As String Dim sqlDL1 As String Dim SqlFrom As String Dim sqlFrom1 As String Dim sqlDA As String Dim nodekey As Node Dim bangold As String Dim BangPSold As String, StrNode As String, Parent As String Dim CapOld As Integer Dim cap As Integer, id As String, SqlTree As String Dim BangPS As String, BangTD As String, TruongMa As String, TruongTen As String bangold = "" BangPSold = "" CapOld = 0 Set nodekey = node1 sqlDL = " " sqlDK = " " SqlFrom = " from PS_DuAn," sqlDA = "select * " gSQL_Duan = "SELECT distinct Ps_DuAn.MaDuAn,TenDuAn, ThoiGianKhoiCong, ThoiGianKetThuc,UserID " SQLDA_Last = "SELECT distinct ps_DuAn.MaDuAn,TenDuAn, ThoiGianKhoiCong, ThoiGianKetThuc,UserID " While Not nodekey.Key = "r" StrNode = nodekey.Key Parent = Mid(StrNode, InStrRev(StrNode, "@") + 1) StrNode = Mid(StrNode, 1, Len(StrNode) - Len(Mid(StrNode, InStrRev(StrNode, "@")))) id = Mid(StrNode, InStrRev(StrNode, "@") + 1) StrNode = Mid(StrNode, 1, Len(StrNode) - Len(Mid(StrNode, InStrRev(StrNode, "@")))) StrNode = Mid(StrNode, 1, Len(StrNode) - Len(Mid(StrNode, InStrRev(StrNode, "@")))) cap = CInt(Mid(StrNode, 4)) SqlTree = "SELECT dbo.Td_Tree_1.ID, dbo.Td_Tree_1.TenCay, dbo.Td_Tree_N.BangTuDien, dbo.Td_DanhMuc.TenTuDien, dbo.Td_DanhMuc.PhanCap, dbo.Td_DanhMuc.LoaiQuanHe, dbo.Td_Tree_N.Tree, dbo.Td_Tree_N.STT FROM dbo.Td_Tree_1 INNER JOIN dbo.Td_Tree_N ON dbo.Td_Tree_1.ID = dbo.Td_Tree_N.ID INNER JOIN dbo.Td_DanhMuc ON dbo.Td_Tree_N.BangTuDien = dbo.Td_DanhMuc.BangTuDien WHERE dbo.Td_Tree_1.CongViec = 'Tree' and Td_Tree_N.stt=" & cap & " and Td_Tree_N.Tree=1 and TD_Tree_1.ID=" & Captree RsDA.Open SqlTree, gConn, adOpenStatic, adLockReadOnly If RsDA.RecordCount > 0 Then RsDA.MoveFirst cap = RsDA.Fields("STT").Value BangTD = "Td_" & RsDA.Fields("BangTuDien").Value BangPS = IIf(RsDA.Fields("LoaiQuanhe").Value = 0, "Ps_" & RsDA.Fields("BangTuDien").Value, "PS_DuAn") TruongMa = "Ma" & RsDA.Fields("BangTuDien").Value TruongTen = "Ten" & RsDA.Fields("BangTuDien").Value End If RsDA.Close If UCase(BangTD) UCase("Td_TinhTrang") Then If CapOld = cap Then If BangPS BangPSold Then sqlDL = sqlDL & BangPS & "." & TruongMa & "='" & id & "' and " End If Else sqlDL = sqlDL & BangPS & "." & TruongMa & "='" & id & "' and " End If CapOld = cap If BangPS = "PS_DuAn" Then If BangTD bangold Then SqlFrom = SqlFrom & BangTD & "," End If Else If BangTD bangold Then If BangPSold BangPS Then SqlFrom = SqlFrom & BangTD & "," & BangPS & "," Else SqlFrom = SqlFrom & BangTD & "," End If Else If BangPS BangPSold Then SqlFrom = SqlFrom & BangPS & "," End If End If End If BangPSold = BangPS sqlDK = sqlDK & " and " & BangPS & "." & TruongMa & "=" & BangTD & "." & TruongMa Set nodekey = nodekey.Parent bangold = BangTD Else 'Lµ b¶ng t×nh tr¹ng BangTam = FgBangTam gSQL = "SELECT MaDuAn, MAX(NgayBatDau) as NgaybatDau into " & BangTam & " FROM dbo.Ps_TinhTrang where ngaybatdau<=" & Date & " GROUP BY MaDuAn" gConn.Execute gSQL 'gSQL="select PS_DuAn.MaDuAn,TenDuan,ps_duan.NgayQuyetDinh,dbo.Ps_DuAn.ThoiGianKhoiCong, dbo.Ps_DuAn.ThoiGianKetThuc,dbo.Ps_DuAn.Ghichu from dbo.Ps_DuAn INNER JOIN dbo.Ps_TinhTrang ON dbo.Ps_DuAn.MaDuAn = dbo.Ps_TinhTrang.MaDuAn INNER JOIN " & bangtam & " ON dbo.Ps_Tinhtrang.MaDuAn = " & bangtam & ".MaDuAn and dbo.Ps_TinhTrang.Ngaybatdau=" & bangtam & ".Ngaybatdau where year(thoigiankhoicong)<=" & TuNam & " and " & sqlTinhTrang & " and " & SqlBaocao & " group by PS_DuAn.MaDuAn,TenDuan,ps_duan.NgayQuyetDinh,dbo.Ps_DuAn.ThoiGianKhoiCong, dbo.Ps_DuAn.ThoiGianKetThuc,dbo.Ps_DuAn.Ghichu" SqlFrom = SqlFrom & BangTam & "," sqlDK = sqlDK & " and dbo.Ps_Tinhtrang.MaDuAn = " & BangTam & ".MaDuAn and dbo.Ps_TinhTrang.Ngaybatdau=" & BangTam & ".Ngaybatdau" End If Wend gSQL_Duan = gSQL_Duan & Mid(SqlFrom, 1, Len(SqlFrom) - 1) & " where " & Mid(sqlDK, 6) & " and " & Mid(sqlDL, 1, Len(sqlDL) - 4) & " GROUP BY ps_DuAn.MaDuAn,dbo.Ps_DuAn.TenDuAn, dbo.Ps_DuAn.ThoiGianKhoiCong, dbo.Ps_DuAn.ThoiGianKetThuc,Ps_DuAn.UserID " Call Nodechild(Bang, Truong, Id1) sqlchild = Bang & "." & Truong & " in (" & Mid(sqlchild, 1, Len(sqlchild) - 1) & ")" sqlDK = Mid(sqlDK, 6) & " and " & Bang & "." & Truong & "=" & bangps1 & "." & Truong sqlDL1 = Mid(sqlDL, 1, Len(sqlDL) - 4) & " and " & bangps1 & "." & Truong & "='" & Id1 & "'" sqlDL = Mid(sqlDL, 1, Len(sqlDL) - 4) & " and " & sqlchild sqlFrom1 = Mid(SqlFrom, 1, Len(SqlFrom) - 1) SqlFrom = Mid(SqlFrom, 1, Len(SqlFrom) - 1) & "," & Bang 'Thªm bang ps If node1.Key "r" Then StrNode = node1.Key Parent = Mid(StrNode, InStrRev(StrNode, "@") + 1) StrNode = Mid(StrNode, 1, Len(StrNode) - Len(Mid(StrNode, InStrRev(StrNode, "@")))) id = Mid(StrNode, InStrRev(StrNode, "@") + 1) StrNode = Mid(StrNode, 1, Len(StrNode) - Len(Mid(StrNode, InStrRev(StrNode, "@")))) StrNode = Mid(StrNode, 1, Len(StrNode) - Len(Mid(StrNode, InStrRev(StrNode, "@")))) cap = CInt(Mid(StrNode, 4)) + 1 SqlTree = "SELECT dbo.Td_Tree_1.ID, dbo.Td_Tree_1.TenCay, dbo.Td_Tree_N.BangTuDien,dbo.Td_DanhMuc.TenTuDien,dbo.Td_DanhMuc.PhanCap, dbo.Td_DanhMuc.LoaiQuanHe, dbo.Td_Tree_N.Tree, dbo.Td_Tree_N.STT FROM dbo.Td_Tree_1 INNER JOIN dbo.Td_Tree_N ON dbo.Td_Tree_1.ID = dbo.Td_Tree_N.ID INNER JOIN dbo.Td_DanhMuc ON dbo.Td_Tree_N.BangTuDien = dbo.Td_DanhMuc.BangTuDien WHERE dbo.Td_Tree_1.CongViec = 'Tree' and Td_Tree_N.stt=" & cap & " and Td_Tree_N.Tree=1 and TD_Tree_1.ID=" & Captree 'RsDA.Open "select * from Td_Tree where stt=" & cap & " and Tree=1", gConn, adOpenStatic, adLockReadOnly RsDA.Open SqlTree, gConn, adOpenStatic, adLockReadOnly If RsDA.RecordCount > 0 Then RsDA.MoveFirst BangPS = IIf(RsDA.Fields("LoaiQuanhe").Value = 0, "Ps_" & RsDA.Fields("BangTuDien").Value, "PS_DuAn") End If RsDA.Close If BangPS "PS_DuAn" Then SqlFrom = SqlFrom & "," & BangPS sqlFrom1 = sqlFrom1 & "," & BangPS End If End If 'KÕt thóc kiÓm tra ®Ó thªm sqlDA = sqlDA & SqlFrom & " where " & sqlDK & " and " & sqlDL SQLDA_Last = SQLDA_Last & sqlFrom1 & " where " & sqlDK & " and " & sqlDL1 KiemTraNode2 = sqlDA End Function Sub gTonghopTreeDuAn(BangTree As String) Dim rstree As New ADODB.Recordset, RsAdd As New ADODB.Recordset, RsTinhToan As New ADODB.Recordset Dim rsDuan As New ADODB.Recordset 'T¹o b¶ng d÷ liÖu If BangTreeDuan "" Then gConn.Execute "if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[" & BangTreeDuan & "]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [dbo].[" & BangTreeDuan & "]" End If BangTreeDuan = FgBangTam gSQL = "CREATE TABLE [dbo].[" & BangTreeDuan & "] ([Ma] [nvarchar] (4000),[Ten] [nvarchar] (1000),[Parent] [nvarchar] (4000),[SapXep] [nvarchar] (80),[CacDA] [nvarchar] (4000),[Cap] [numeric](4, 0))" gConn.Execute gSQL RsAdd.Open BangTreeDuan, gConn, adOpenKeyset, adLockOptimistic BangTam_TinhTrang = FgBangTam gSQL = "SELECT MaDuAn, MAX(NgayBatDau) as NgaybatDau into " & BangTam_TinhTrang & " FROM dbo.Ps_TinhTrang GROUP BY MaDuAn" gConn.Execute gSQL rstree.Open "select Ma, Ten, Parent,Sapxep,cap from " & BangTree & " order by sapxep" & gCOLLATE, gConn, adOpenStatic, adLockReadOnly Dim CacDA As String If rstree.RecordCount > 0 Then rstree.MoveFirst While Not rstree.EOF SqlBaocao = "" CacDA = "" KiemTraTinhTrang = False Call SqlTree1(rstree.Fields("Ma").Value, rstree.Fields("Parent").Value) If KiemTraTinhTrang = False Then gSQL = "select DISTINCT PS_DuAn.MaDuAn FROM dbo.Ps_DuAn Left JOIN dbo.Ps_NguonVon ON dbo.Ps_DuAn.MaDuAn = dbo.Ps_NguonVon.MaDuAn WHERE " & SqlBaocao & " " Else gSQL = "select DISTINCT PS_DuAn.MaDuAn FROM dbo.Ps_DuAn Left JOIN dbo.Ps_NguonVon ON dbo.Ps_DuAn.MaDuAn = dbo.Ps_NguonVon.MaDuAn INNER JOIN dbo.Ps_TinhTrang ON dbo.Ps_DuAn.MaDuAn = dbo.Ps_TinhTrang.MaDuAn INNER JOIN " & BangTam_TinhTrang & " ON dbo.Ps_Tinhtrang.MaDuAn = " & BangTam_TinhTrang & ".MaDuAn and dbo.Ps_TinhTrang.Ngaybatdau=" & BangTam_TinhTrang & ".Ngaybatdau WHERE " & SqlBaocao & " " End If rsDuan.Open gSQL, gConn, adOpenStatic, adLockReadOnly If rsDuan.RecordCount > 0 Then rsDuan.MoveFirst While Not rsDuan.EOF CacDA = CacDA & "'" & rsDuan.Fields("Maduan").Value & "'," rsDuan.MoveNext Wend CacDA = Mid(CacDA, 1, Len(CacDA) - 1) 'TiÕn hµnh thªm vµo c¬ së d÷ liÖu With RsAdd .AddNew .Fields("Ma").Value = rstree.Fields("Ma").Value .Fields("Ten").Value = rstree.Fields("Ten").Value .Fields("Parent").Value = rstree.Fields("Parent").Value .Fields("Sapxep").Value = rstree.Fields("Sapxep").Value .Fields("CacDA").Value = CacDA .Fields("Cap").Value = rstree.Fields("Cap").Value .Update End With End If rsDuan.Close rstree.MoveNext Wend End If rstree.Close RsAdd.Close gConn.Execute "drop table " & BangTree gConn.Execute "drop table " & BangTam_TinhTrang End Sub Public Sub SqlTree1(id As String, Parent As String) Dim Con As String, Cha As String, str As String, str1 As String, str2 As String Dim TenTruong As String, Ma As String str = id If InStrRev(str, "@") = 0 Then Ma = Mid(str, InStrRev(str, "_") + 1) TenTruong = Mid(str, 1, Len(str) - Len(Ma) - 1) Call SqlChildStr("Td_" & TenTruong, "Ma" & TenTruong, Ma) SqlBaocao = SqlBaocao & Mid(sqlchild, 1, Len(sqlchild) - 1) & ")" If UCase(TenTruong) = UCase("Tinhtrang") Then KiemTraTinhTrang = True End If Else If InStrRev(str, "@") 0 Then str1 = Mid(str, 1, Len(str) - Len(Mid(str, InStrRev(str, "@")))) str2 = Mid(str, InStrRev(str, "@") + 1) If str2 = "" Then str2 = str1 str = Mid(str, 1, Len(str) - 1) Else str = Mid(str, 1, Len(str) - Len(Mid(str, InStrRev(str, "@")))) End If Ma = Mid(str2, InStrRev(str2, "_") + 1) TenTruong = Mid(str2, 1, Len(str2) - Len(Ma) - 1) If UCase(TenTruong) = UCase("Tinhtrang") Then KiemTraTinhTrang = True End If Call SqlChildStr("Td_" & TenTruong, "Ma" & TenTruong, Ma) SqlBaocao = SqlBaocao & Mid(sqlchild, 1, Len(sqlchild) - 1) & ")" & " and " Call SqlTree(str, str) End If End If End Sub Sub gLenTreeCacDuAn(Bang As String) On Error Resume Next gSQL = "Select * from " & Bang & " Order by SapXep " & gCOLLATE Dim rsSTT As New ADODB.Recordset rsSTT.Open gSQL, gConn, adOpenKeyset, adLockOptimistic TvDuLieu.Nodes.Clear TvDuLieu.Nodes.Add , , "r", "Danh môc c¸c dù ¸n ", "Root" TvDuLieu.Nodes(1).Expanded = True If rsSTT.RecordCount > 0 Then Do While Not rsSTT.EOF If Right(rsSTT.Fields("Parent"), 1) "0" Then TvDuLieu.Nodes.Add "a" & rsSTT.Fields("Parent"), tvwChild, "a" & rsSTT.Fields("Ma"), rsSTT.Fields("Ten"), 1, 3 Else TvDuLieu.Nodes.Add "r", tvwChild, "a" & rsSTT.Fields("Ma"), rsSTT.Fields("Ten"), "Pic" & IIf(IsNull(rsSTT.Fields("Cap")), 1, rsSTT.Fields("Cap").Value), "Open" End If rsSTT.MoveNext Loop End If End Sub Sub LoadDulieuDuAn(Tree As String) tmp_treeTT = FgTongHopCay(CDbl(Tree), "Tree") Call gTonghopTreeDuAn(tmp_treeTT) Call gLenTreeCacDuAn(BangTreeDuan) End Sub Sub NodeClickTonghop(Node As Node) Dim rsTong As New ADODB.Recordset, rs As New ADODB.Recordset If Node.Key = "r" Then gSQL_Duan = "SELECT distinct PS_DuAn.MaDuAn,TenDuAn, ThoiGianKhoiCong, ThoiGianKetThuc,TongMucDauTu,UserID from PS_Duan" Else rs.Open "select * from " & BangTreeDuan & " where ma='" & Mid(Node.Key, 2) & "'", gConn, adOpenStatic, adLockReadOnly If rs.RecordCount > 0 Then If rs.Fields("CacDA").Value "" Then gSQL_Duan = "SELECT distinct PS_DuAn.MaDuAn,TenDuAn, ThoiGianKhoiCong, ThoiGianKetThuc,TongMucDauTu,UserID from PS_Duan where maduan in (" & rs.Fields("CacDA").Value & ")" Else gSQL_Duan = "" End If End If End If Call DuAn With Me.adoDuan .Password = gPSW .ConnectionString = gConn.ConnectionString .CommandType = adCmdText .RecordSource = "select * from " & gTmp_DuAn .Refresh End With rsTong.Open "select sum(TMDT),sum(DuToan) from " & gTmp_DuAn, gConn, adOpenStatic, adLockReadOnly Me.TgDuAn.Columns("TMDT").FooterText = SetChamPhay(IIf(rsTong.Fields(0).Value "", rsTong.Fields(0).Value, 0), True, True) Me.TgDuAn.Columns("DuToan").FooterText = SetChamPhay(IIf(rsTong.Fields(1).Value "", rsTong.Fields(1).Value, 0), True, True) rsTong.Close End Sub Sub NodeClick_ChiTiet(Bang As String, Node As Node) 'On Error GoTo thoat Dim BangTam As String Dim sql As String Dim gRs_DuAn As New ADODB.Recordset Dim rs As New ADODB.Recordset Dim RsPS As New ADODB.Recordset Dim BangPS As String Dim sqlJoin As String If Bang "Td_TinhTrang" Then If Node.Key = "r" Then sql = "Select * from " & Bang & " where parent= '0'" gSQL_Duan = "SELECT distinct PS_DuAn.MaDuAn,TenDuAn, KhoiCong, KetThuc,TongMucDauTu,UserID from PS_Duan" Else sql = "Select * from " & Bang & " where parent= '" & Right(Node.Key, Len(Node.Key) - 1) & "'" sqlchild = "" Call Nodechild(Bang, "Ma" & Mid(Bang, 4), Mid(Node.Key, 2)) sqlchild = Mid(sqlchild, 1, Len(sqlchild) - 1) RsPS.Open "select LoaiQuanHe from TD_DanhMuc where BangTuDien='" & Mid(Bang, 4) & "'", gConn, adOpenStatic, adLockReadOnly If RsPS.RecordCount > 0 Then If RsPS.Fields(0).Value = 0 Then BangPS = "PS_" & Mid(Bang, 4) sqlJoin = "PS_DuAn.MaDuAn=" & BangPS & ".MaDuAn and " & BangPS & ".Ma" & Mid(Bang, 4) & "=" & Bang & ".Ma" & Mid(Bang, 4) gSQL_Duan = "SELECT distinct PS_DuAn.MaDuAn,TenDuAn, KhoiCong, KetThuc,TongMucDauTu,UserID from PS_DuAn," & BangPS & "," & Bang & " where " & sqlJoin & " and " & BangPS & ".Ma" & Mid(Bang, 4) & " in (" & sqlchild & ") " Else gSQL_Duan = "SELECT distinct PS_DuAn.MaDuAn,TenDuAn, KhoiCong, KetThuc,TongMucDauTu,UserID from PS_DuAn," & Bang & " where PS_Duan.Ma" & Mid(Bang, 4) & "=" & Bang & ".Ma" & Mid(Bang, 4) & " and PS_DuAn.Ma" & Mid(Bang, 4) & " in (" & sqlchild & ") " End if Else gSQL_Duan = "SELECT distinct PS_DuAn.MaDuAn,TenDuAn, KhoiCong, KetThuc,TongMucDauTu,UserID from PS_Duan" End If End If Node.Expanded = True Else 'Lµ theo t×nh tr¹ng If Node.Key = "r" Then sql = "Select * from " & Bang & " where parent= '0'" gSQL_Duan = "SELECT distinct PS_DuAn.MaDuAn,TenDuAn, KhoiCong, KetThuc,TongMucDauTu,UserID from PS_Duan" Else sql = "Select * from " & Bang & " where parent= '" & Right(Node.Key, Len(Node.Key) - 1) & "'" sqlchild = "" Call Nodechild(Bang, "Ma" & Mid(Bang, 4), Mid(Node.Key, 2)) sqlchild = Mid(sqlchild, 1, Len(sqlchild) - 1) RsPS.Open "select LoaiQuanHe from TD_DanhMuc where BangTuDien='" & Mid(Bang, 4) & "'", gConn, adOpenStatic, adLockReadOnly BangTam = FgBangTam gSQL = "SELECT MaDuAn, MAX(NgayBatDau) as NgaybatDau into " & BangTam & " FROM dbo.Ps_TinhTrang GROUP BY MaDuAn" gConn.Execute gSQL BangPS = "PS_" & Mid(Bang, 4) gSQL_Duan = "SELECT distinct PS_DuAn.MaDuAn,TenDuAn,KhoiCong, KetThuc,TongMucDauTu,UserID from dbo.Ps_DuAn INNER JOIN dbo.Ps_TinhTrang ON dbo.Ps_DuAn.MaDuAn = dbo.Ps_TinhTrang.MaDuAn INNER JOIN " & BangTam & " ON dbo.Ps_Tinhtrang.MaDuAn = " & BangTam & ".MaDuAn and dbo.Ps_TinhTrang.Ngaybatdau=" & BangTam & ".Ngaybatdau where " & BangPS & ".Ma" & Mid(Bang, 4) & " in (" & sqlchild & ") " End If Node.Expanded = True End If Call DuAn With Me.adoDuan .Password = gPSW .ConnectionString = gConn.ConnectionString .CommandType = adCmdText .RecordSource = "select * from " & gTmp_DuAn .Refresh End With Dim rsTong As New ADODB.Recordset rsTong.Open "select sum(TMDT),sum(DuToan) from " & gTmp_DuAn, gConn, adOpenStatic, adLockReadOnly Me.TgDuAn.Columns("TMDT").FooterText = SetChamPhay(IIf(rsTong.Fields(0).Value "", rsTong.Fields(0).Value, 0), True, True) Me.TgDuAn.Columns("DuToan").FooterText = SetChamPhay(IIf(rsTong.Fields(1).Value "", rsTong.Fields(1).Value, 0), True, True) rsTong.Close If BangTam "" Then sql = " if exists(select * from sysobjects where id=object_id(N'[dbo].[" & BangTam & "]') and objectproperty(id,N'IsUserTable')=1) " sql = sql & vbCrLf & " drop table [dbo].[" & BangTam & "]" gConn.Execute sql End If End Sub Sub gLenTreeCacDuAn1(Bang As String, Truong As String) gSQL = "Select * from " & Bang & " Order by SapXep " & gCOLLATE Dim rsSTT As New ADODB.Recordset rsSTT.Open gSQL, gConn, adOpenKeyset, adLockOptimistic TvDuLieu.Nodes.Clear TvDuLieu.Nodes.Add , , "r", "Danh môc c¸c dù ¸n ", "Root" TvDuLieu.Nodes(1).Expanded = True If rsSTT.RecordCount > 0 Then Do While Not rsSTT.EOF If Right(rsSTT.Fields("Parent"), 1) "0" Then TvDuLieu.Nodes.Add "a" & rsSTT.Fields("Parent"), tvwChild, "a" & rsSTT.Fields("Ma" & Truong), rsSTT.Fields("Ten" & Truong), 1, 3 Else TvDuLieu.Nodes.Add "r", tvwChild, "a" & rsSTT.Fields("Ma" & Truong), rsSTT.Fields("Ten" & Truong), "Pic" & IIf(IsNull(rsSTT.Fields("Cap")), 1, rsSTT.Fields("Cap").Value), "Open" End If rsSTT.MoveNext Loop End If End Sub Sub TatCaCacDuAn() On Error Resume Next gSQL_Duan = "SELECT distinct PS_DuAn.MaDuAn,TenDuAn, KhoiCong, KetThuc,TongMucDauTu,UserID from PS_Duan" Call DuAn With Me.adoDuan .Password = gPSW .ConnectionString = gConn.ConnectionString .CommandType = adCmdText .RecordSource = "select * from " & gTmp_DuAn & " order by Khoicong,Ketthuc " .Refresh End With Dim rsTong As New ADODB.Recordset rsTong.Open "select sum(TMDT),sum(DuToan) from " & gTmp_DuAn, gConn, adOpenStatic, adLockReadOnly Me.TgDuAn.Columns("TMDT").FooterText = SetChamPhay(IIf(rsTong.Fields(0).Value "", rsTong.Fields(0).Value, 0), True, True) Me.TgDuAn.Columns("DuToan").FooterText = SetChamPhay(IIf(rsTong.Fields(1).Value "", rsTong.Fields(1).Value, 0), True, True) rsTong.Close End Sub Private Function AddDonViQuanLy() On Error GoTo thoat cboDonViTheoDoi.Clear cboDonViTheoDoi.AddItem "TÊt c¶" Dim rs As New ADODB.Recordset rs.Open "SELECT * FROM Td_DonVi ", gConn, adOpenStatic, adLockOptimistic, adCmdText If rs.RecordCount = 0 Then cboDonViTheoDoi.Text = "TÊt c¶" Else Do While Not rs.EOF = True cboDonViTheoDoi.AddItem rs!TenDonVi & "" rs.MoveNext Loop cboDonViTheoDoi.Text = "TÊt c¶" End If Set rs = Nothing thoat: End Function Code Form ThemMoiDuAn Option Explicit Dim tmp_PsVon As String Dim tmp_KhVon As String, tmp_KhVon1 As String Dim tmp_Congsuat As String Dim tmp_PsDauThau As String Dim tmp_NhaThau As String, tmp_NhaThau1 As String Dim tmp_DuToan As String Dim tmp_ThucHien As String Dim tmp_ThanhToan As String Dim tmp_Tinhtrang As String Dim tmp_ThongtinKhac As String Dim loi As String Dim Dongform As Boolean Dim T_Style() As Style Dim TenQD As String Dim LanThayDoi As Integer Dim rsUpdate As New ADODB.Recordset Dim KiemtraTonTai As Boolean Private Sub cmChapnhan_Click() Dim rs As New ADODB.Recordset, rs1 As New ADODB.Recordset, TongMucDT As Double Screen.MousePointer = 11 Select Case gLoai_FormDA Case "Themmoi" If Me.txTenDuAn.Text "" Then rs.Open "select * from " & tmp_PsVon, gConn, adOpenStatic, adLockReadOnly If rs.RecordCount > 0 Then rs1.Open "select sum(isnull(TienTrongNuoc,0)) from " & tmp_PsVon, gConn, adOpenStatic, adLockReadOnly TongMucDT = IIf(IsNull(rs1.Fields(0)), 0, rs1.Fields(0).Value) If TongMucDT CDbl(Me.txtTongMucDauTu.Text) Then SgMsgBox "Tæng møc ®Çu t­ kh¸c tæng c¬ cÊu nguån vèn h×nh thµnh" Me.txtTongMucDauTu.SetFocus Screen.MousePointer = 99 Exit Sub End If rs1.Close End If rs.Close On Error GoTo ErrNew Me.TgCongsuat.Update Me.TgDauthau.Update Me.TgDutoan.Update Me.TgKHvon.Update Me.TgNhaThau.Update Me.TgThanhtoan.Update Me.TgThuchien.Update Me.TgTinhtrang.Update Me.TgVon.Update Me.TgThongTinKhac.Update GoTo ContNew ErrNew: SgMsgBox "Cã lçi khi nhËp d÷ liÖu !" Exit Sub ContNew: On Error GoTo 0 Themmoi_DuAn Dongform = True SgMsgBox "§· l­u d÷ liÖu." Else SgMsgBox "Ch­a nhËp tªn dù ¸n." Me.txTenDuAn.SetFocus End If Case "Sua" If Me.txTenDuAn.Text "" Then If CDate(Me.MsNgayKC) > CDate(Me.MsNgayKT) Then SgMsgBox "Ngµy khëi c«ng lín h¬n ngµy kÕt thóc" Me.MsNgayKC.SetFocus Exit Sub End If rs.Open "select * from " & tmp_PsVon, gConn, adOpenStatic, adLockReadOnly If rs.RecordCount > 0 Then rs1.Open "select sum(isnull(TienTrongNuoc,0)) from " & tmp_PsVon, gConn, adOpenStatic, adLockReadOnly TongMucDT = IIf(IsNull(rs1.Fields(0)), 0, rs1.Fields(0).Value) If TongMucDT CDbl(Me.txtTongMucDauTu.Text) Then SgMsgBox "Tæng møc ®Çu t­ kh¸c tæng c¬ cÊu nguån vèn h×nh thµnh" Me.txtTongMucDauTu.SetFocus Screen.MousePointer = 99 Exit Sub End If rs1.Close End If rs.Close On Error GoTo ErrUpdate Me.TgCongsuat.Update Me.TgDauthau.Update Me.TgDutoan.Update Me.TgKHvon.Update Me.TgNhaThau.Update Me.TgThanhtoan.Update Me.TgThuchien.Update Me.TgTinhtrang.Update Me.TgVon.Update GoTo ContUpdate ErrUpdate: SgMsgBox "Cã lçi khi nhËp d÷ liÖu !" Exit Sub ContUpdate: On Error GoTo 0 Capnhat_DuAn (gDuan_Id) Dongform = True SgMsgBox "§· l­u d÷ liÖu." Else SgMsgBox "Ch­a nhËp tªn dù ¸n." Me.txTenDuAn.SetFocus End If End Select Screen.MousePointer = 99 End Sub ._.

Các file đính kèm theo tài liệu này:

  • doc10341.doc