Đồ án Phân tích, thiết kế và xây dựng chương trình Quản lý nhân sự

Để phát triển một HTTT người ta thường chia ra làm 7 giai đoạn. Mỗi giai đoạn bao gồm một dãy các công đoạn được liệt kê sau đây. Cuối mỗi giai đoạn kèm theo việc ra quyết định về việc tiếp tục hay chấm dứt sự phát triển hệ thống. Quyết định này được trợ giúp dựa vào nội dung báo cáo mà phân tích viên hoặc nhóm phân tích viên trình bày cho các nhà sử dụng. Phát triển hệ thống là một quá trình lặp. Tuỳ theo kết quả của một giai đoạn có thể, và đôi khi là cần thiết, phải quay về giai đoạn trước để tìm cách khắc phục những sai sót. Một số nhiệm vụ được thực hiện trong suốt quá trình. Đó là việc lập kế hoạch cho giai đoạn tới, kiểm soát những nhiệm vụ đã hoàn thành, đánh giá dự án và lập tài liệu về hệ thống và về dự án. Sau đây là mô tả sơ lược các giai đoạn của việc phát triển HTTT

doc129 trang | Chia sẻ: oanh_nt | Lượt xem: 1422 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Đồ án Phân tích, thiết kế và xây dựng chương trình Quản lý nhân sự, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Đối tượng truy nhập: Cán bộ phòng TC-HC hoặc các phòng ban khác Tên kho dữ liệu: Kho hồ sơ đã điều chỉnh Mô tả: Là kho lưu trữ hồ sơ gôc của nhân viên sau khi đã có những sự điều chỉnh phù hợp Vật mang: Bằng giấy và tệp CSDL Đối tượng truy nhập: Cán bộ phòng TC-HC hoặc các phòng ban khác - Phích xử lý Tên xử lý: Cập nhật hố sơ Mô tả: Nhằm cập nhật những thông tin liên quan đến nhân sự như: phòng ban, trình độ,… Phương thức thực hiện: Tin học hoá 1 phần Sự kiện khởi sinh: khi có nhân viên mới được tuyển dụng Tên xử lý: Điều chỉnh hố sơ Mô tả: Nhằm điều chỉnh các thông tin không còn chính xác như: cập nhật lại phòng ban,… Phương thức thực hiện: Tin học hoá 1 phần Sự kiện khởi sinh: khi có sự thay đổi, điều chuyển của nhân viên Tên xử lý: Xử lý thông tin Mô tả: Nhằm xử lý các thông tin về nhân sự Phương thức thực hiện: Tin học hoá 1 phần Sự kiện khởi sinh: khi có yêu cầu của ban Giám đốc hoặc các phòng ban khác Chu kỳ: Hàng ngày 1.2 Sơ đồ luồng thông tin trong quản lý chấm công - Hàng tuần các phòng ban sẽ gửi bảng chấm công lên cho phòng TC-HC bằng giấy. chuyên viên của phòng sẽ cập nhật và cho vào kho bảng chấm công. - Nếu có yêu cầu sửa đổi, cập nhật thông tin bảng chấm công từ các phòng ban thì chuyên viên của phòng sẽ sửa đổi thông tin và lưu vào kho đã xử lý. Cuối tháng,chuyên viên của phòng sẽ tổng hợp và xuất báo cáo cho chuyên viên đảm nhận việc tính lương của phòng TC-HC. Thời điểm Các phòng ban Phòng TC-HC Phòng TC-HC Hàng tuần Hàng tuần Cuối tháng Bảng chấm công Yêu cầu Điều chỉnh BCC Kho BCC Cập nhật BCC Kho BCC đã xử lý Tổng hợp BCC Báo cáo BCC * Các phích vật lý - Phích luồng thông tin Tên tài liệu: Kho bảng chấm công Mô tả: Nơi lưu trữ thông tin về số ngày đi làm, nghỉ phép, các khoản phụ cấp… của các nhân viên Vật mang : Bằng giấy và tệp Nguồn: Các phòng ban Đích: Phòng TC-HC Tên tài liệu: Yêu cầu Mô tả: Là yêu cầu của các phòng ban về các yêu cầu điều chỉnh nhằm phù hợp với sự thay đổi. Vật mang: Bằng giấy Nguồn:: Các phòng ban khác Đích: Phòng TC-HC Tên tài liệu: Báo cáo Mô tả: Là báo cáo về bảng chấm công theo từng phòng ban Vật mang: Bằng giấy Nguồn: Phòng TC-HC Đích: Phòng TC-HC Chu kỳ: Hàng tháng Phích kho dữ liệu Tên kho dữ liệu: Kho bảng chấm công Mô tả: Là kho lưu trữ về bảng chấm công theo từng phòng ban Vật mang: tệp CSDL Đối tượng truy cập: Cán bộ phòng TC-HC Tên tài liệu: Kho bảng chấm công đã xử lý Mô tả: Là kho dữ liệu bảng chấm công sau khi đã được điều chỉnh Vật mang: Bằng giấy và tệp Đối tượng truy cập: Cán bộ phòng TC-HC - Phích xử lý Tên xử lý: Cập nhật Bảng chấm công Mô tả: Nhằm cập nhật những thông tin liên quan đến bảng chấm công như: số ngày nghỉ phép,… Phương thức thực hiện: Tin học hoá 1 phần Chu kỳ: Hàng tuần Tên xử lý: Điều chỉnh bảng chấm công Mô tả: Nhằm điều chỉnh các thông tin trong bảng chấm công. Phương thức thực hiện: Tin học hoá 1 phần Sự kiện khởi sinh: Khi có một sự thay đổi nào đó như: tăng số ngày nghỉ phép, tăng phụ cấp… Chu kỳ: Hàng tùân Tên xử lý: Tổng hợp bảng chấm công Mô tả: Nhằm tổng hợp lại các thông tin trong bảng chấm công trong tháng. Phương thức thực hiện: Tin học hoá 1 phần Chu kỳ: Hàng tháng 1.3 Sơ đồ luồng thông tin trong Quản lý lương Phân tích Cuối tháng, chuyên viên đảm nhận tính lương của phòng TC-HC sẽ dùng bảng chấm công đã được tổng hợp để thực hiện việc tính lương bằng công cụ Excel. Kết quả sẽ được lưu vào kho dữ liệu tiền lương. Phòng TC-HC sẽ gửi kết quả cho phòng KT-TK-TC, phòng KT-TK-TC sẽ dựa vào kết quả để thực hiện việc tính lương. Thời điểm Phòng TC-HC Phòng KT-TK-TC Cuối tháng Bảng chấm công đã xử lý Tính lương Kho dữ liệu lương Chi trả lương Các loại báo cáo * Các phích vật lý - Phích luông thông tin Tên tài liệu: Kho Bảng chấm công Mô tả: Nơi lưu trữ thông tin bảng chấm công đã được tổng hợp Vật mang: Bằng giấy và tệp Nguồn: Phòng TC-HC Đích: Phòng KT-TK-TC Tên tài liệu: Báo cáo Mô tả: Là các báo cáo về tiền lương của từng phòng ban,từng nhân viên Vật mang: Bằng giấy và tệp Nguồn: Phòng TC-HC Đích: Phòng KT-TK-TC - Phích xử lý Tên xử lý: Tính lương Mô tả: Dựa vào bảng chấm công, chuyên viên của phòng TC-HC sẽ tính các khoản như BHXH,BHYT, Quỹ CSXH… của mỗi nhân viên trong Công ty Phương thức thực hiện: Bằng công cụ Excel Chu kỳ: Hàng tháng Tên xử lý: Chi trả lương Mô tả: Sau khi đã có đầy đủ thông tin về tiền lương của từng nhân viên, cán bộ phòng KT-TK-TC sẽ thực hiện việc chi trả lương cho nhân viên Công ty Phương thức thực hiện: Thủ công Chu kỳ: Hàng tháng - Phích kho dữ liệu Tên kho: Kho dữ liệu lương Mô tả: Là kho chứa thông tin về lương, thưởng, các khoản giảm trừ của từng nhân viên theo từng phòng ban Vật mang: Bằng giấy và tệp Đối tượng truy cập: Chuyên viên đảm nhận về lương của phòng TC-HC. Sơ đồ chức năng BFD Các công việc chính của các chuyên viên phòng TC-HC để có thể quản lý được vấn đề nhân sự của công ty có thể kể đến đó là: - Cập nhật thông tin về nhân viên: hồ sơ nhân viên, lý lịch nhân viên, quá trình công tác, danh sách về hưu, danh sách khen thưởng kỷ luật… Các công việc này đều thực hiện thủ công trên máy tính. Chuyên viên đảm nhận sẽ nhập thông tin, sửa, xoá các thông tin khi có vấn đề phát sinh. Các thông tin này sẽ được xuất báo cáo cho Ban Giám đốc, các phòng ban, hoặc công ty Bảo hiểm khi có yêu cầu. - Cập nhật thông tin về tiền lương: các thay đổi về các khoản mục phụ cấp, giảm trừ, các hệ số lương cơ bản, hệ số lương khoán. Các thông tin này sẽ liên quan đến việc tính lương cho các nhân viên vào cuối mỗi tháng. Thông tin về lương sẽ được gửi tới phòng KT-TK-TC để thực hiện việc tính lương cho từng nhân viên trong Công ty. - Tìm kiếm thông tin về nhân viên: Yêu cầu tìm kiếm về trình độ, về các nhân viên được khen thưởng, các nhân viên bị kỷ luật,… thường được các phòng ban hoặc ban Giám đốc đưa ra nhằm tổng hợp cho mục đích thăng chức hay nâng lương sau này. Việc tìm kiếm này hiện nay vẫn được làm thủ công. Các chuyên viên phải tìm kiếm từ các kho dữ liệu khác nhau trên các tệp CSDL hoặc các tài liệu trên sổ sách, sau đó tổng hợp lại. - Báo cáo các kết quả tìm kiếm, các bảng lương cuối tháng, về danh sách nghỉ hưu, danh sách khen thưởng kỷ luật: Công việc này hiện vẫn đang thực hiện thủ công. Chuyên viên sẽ tập hợp các thông tin từ các nguồn khác nhau như: lý lịch nhân viên, hồ sơ nhân viên, …và in ra thành các báo cáo. Quản lý nhân sự Cập nhật Tìm kiếm nhân viên Cung cấp thông tin Các báo cáo Trợ giúp Theo phòng ban Theo loại hợp đồng Thêm Sửa đổi Xoá Theo chức vụ DS LĐ không XĐ, XĐ thời hạn, thử việc DS LĐ thời vụ, khoán việc Danh mục phòng ban DS nghỉ hưu Bậc, hệ số lương Thêm hồ sơ nhân viên Sửa đổi hồ sơ nhân viên Thêm TT về DSLương, HSlương Sửa đổi TT về Lương, HS lương Xoá hồ sơ nhân viên Xoá TT về Lương, HSlương Thêm TT về phòng ban Sửa TT về phòng ban Xóa TT về phòng ban Theo trình độ Theo giới tính Để nâng cao hiệu quả công việc, chương trình Quản lý nhân sự sẽ cần phải tin học hoá các chức năng về: - Tự động lưu vào các thông tin sau khi đã sửa đổi về một nhân viên hay một phòng ban nào đó sau khi được cập nhật và tự động sửa các thông tin đó trong các bảng có liên quan. Ví dụ: Khi nhân viên A chuyển từ phòng TC-HC sang phòng CSKH thì thay vì chuyên viên đảm nhận phải sửa đổi lại toàn bộ thông tin về nhân viên A (lương theo phòng ban, nhân viên theo phòng ban…) thì chuyên viên chỉ cần thay đổi trong một bảng, sau đó chương trình sẽ xoá các thông tin của nhân viên A trong phòng TC-HC và thêm vào các thông tin tương ứng ở phòng CSKH.. Tìm kiếm các yêu cầu: Ví dụ: Tự động tìm kiếm tất cả các Đảng viên trong toàn Công ty …khi người sử dụng ghõ vào các yêu cầu. - Tự động tính toán lương cuối kỳ của một nhân viên bất kỳ sau khi đã có đầy đủ các thông tin về bảng chấm công, hệ số lương… - Tự động in các báo cáo khi người sử dụng có yêu cầu Ví dụ: In danh sách nhân viên theo phòng ban, in bảng lương của nhân viên toàn công ty trong tháng Y…. 3. Sơ đồ luồng dữ liệu DFD 3.1 Sơ đồ luồng dữ liệu ngữ cảnh: Phân tích - Các phòng ban gửi bảng chấm công cho quá trình lên lương. Các phòng ban sẽ được nhận các báo cáo của phòng ban mình, ví dụ: báo cáo về tiền lương của phòng,… - Phòng TC-HC xử lý các bảng chấm công, các thông tin nhân sự như: cập nhật hồ sơ nhân viên,… - Khi ban Giám đốc yêu cầu các thông tin về nhân sự, các thông tin sẽ được gửi đến ban Giám đốc bằng các báo cáo. - Cuối tháng, các bảng lương sẽ được gửi tới phòng KT-TK-TC để phòng thực hiện thanh toán lương cho nhân viên các phòng. - Các nhân viên cung cấp thông tin cho việc quản lý, như: lý lịch nhân viên, quá trình công tác, thành phần gia đình,…. Cuối tháng, nhân viên sẽ được nhận phiếu lương của mình. Sơ đồ Thông tin nhân sự Các phòng ban khác Ban Giám đốc Phòng KT-TK-TC Nhân viên Quản lý nhân sự Phòng TC-HC Bảng chấm công Các báo cáo Báo cáo TT lương TT nhân sự Phiếu lương 3.2 Sơ đồ mức 0 Phân tích Khi có nhân viên mới được tuyển dụng vào công ty trong công ty được cập nhật thì nhân viên mới này sẽ nộp hồ sơ cho phòng TC-HC. Phòng TC-HC sẽ xử lý và tổng hợp thông tin sau đó lưu thông tin nhân sự vào kho dữ liệu hồ sơ. Khi có nhân viên nghỉ hưu thì hồ sơ nhân viên này sẽ được nộp cho phòng TC-HC, phòng TC-HC sẽ xử lý và tổng hợp các thông tin nhân sự liên quan như: tiền lương nghỉ hưu, các khoản trợ cấp… Mỗi khi ban Giám đốc hay một phòng ban nào trong công ty có yêu cầu về nhân sự như cần danh sách nhân sự theo phòng ban, theo chức danh… thì yêu cầu sẽ được gửi đến hệ thống quản lý hồ sơ và phòng TC-HC có nhiệm vụ thu thập và xử lý yêu cầu đó sau đó gửi lại báo cáo cho phòng ban cần thông tin. Hàng ngày các phòng ban sẽ gửi bảng chấm công lên phòng TC-HC để làm cơ sở cho quá trình tính toán lương. Hệ thống quản lý chấm công sẽ xử lý, điều chỉnh những sai sót trong bảng chấm công sau đó lưu thông tin vào kho dữ liệu bảng chấm công. Hệ thống quản lý lương sau khi có đầy đủ thông tin và thông tin về bảng chấm công từ kho dữ liệu bảng chấm công sẽ thực hiện việc tính toán tạm ứng, thưởng, phạt , lương thực lĩnh cho các nhân viên trong công ty. Tiếp đó sẽ kết xuất báo cáo lương và in phiếu lương gửi lên phòng KT-TK-TC để thực hiện việc chi trả lương cho nhân viên trong công ty. Cuối mỗi tháng, mỗi quý hay khi Ban Giám đốc hoặc bất kỳ phòng ban nào có yêu cầu về nhân sự ( in báo cáo danh sách nhân viên được thưởng,phạt trong quý, danh sách nhân viên theo phòng ban…) thì yêu cầu này sẽ được gửi đến từng bộ phận đảm nhận của phòng TC-HC. Bộ phận này sẽ lấy thông tin từ kho hồ sơ sau đó in báo cáo và gửi đến phòng ban có yêu cầu. Sơ đồ DFD mức 0 Yêu cầu nhân sự Nhân viên Hồ sơ nhân viên mới Ban Giám đốc 1.0 Quản lý hồ sơ Báo cáo nhân sự P.TC-HC Kho hồ sơ TT nhân sự 3.0 Quản lý lương Các phòng ban khác Bảng chấm công Kho dữ liệu bảng chấm công TT bảng chấm công đã xử lý 2.0 Quản lý chấm công TT yêu cầu TT yêu cầu Phòng KT-TK-TC TT lương TT lương P.TC-HC TT Bảng chấm công TT nhân sự Sơ đồ DFD mức 1 Sơ đồ phân rã chức năng mức 1- Quản lý hồ sơ Phân tích Khi nhân viên mới được tuyển dụng vào công ty thì nhân viên phải nộp hồ sơ cá nhân cho phòng TC-HC của công ty. Phòng này sẽ có nhiệm vụ thực hiện việc cập nhật và lưu hồ sơ nhân viên vào kho dữ liệu hồ sơ. Nếu trong quá trình làm việc tại công ty phát sinh yêu cầu điều chỉnh các thông tin trong hồ sơ nhân viên thì phòng TC-HC là phòng có trách nhiệm thu thập thông tin về nhân sự và sau đó điều chỉnh cho đúng với yêu cầu. Ban Giám đốc hoặc các phòng ban khác gửi yêu cầu điều chỉnh đến bộ phận điều chỉnh hồ sơ và gửi yêu cầu báo cáo đến bộ phận kết xuất báo cáo. Sau đó các bộ phận này sẽ tổng hợp, xử lý thông tin gửi các báo cáo lên các phòng ban đồng thời lưu thông tin về nhân sự vào kho hồ sơ nhân viên. Khi có yêu cầu tìm kiếm hồ sơ theo một tiêu chuẩn nào đó ( theo chức vụ, theo phòng ban…) thì yêu cầu này sẽ được gửi đến bộ phận tìm kiếm hồ sơ. Hệ thống này sẽ lấy thông tin cần thiết phục vụ cho quá trình điều chỉnh từ kho dữ liệu hồ sơ sau đó đưa ra báo cáo cho phòng TC-HC. Khi trong công ty có sự biến động giảm về tình hình nhân sự như: nghỉ hưu, nhân viên thôi việc vì một lý do nào đó… thì yêu cầu này sẽ được gửi đến bộ phận xoá hồ sơ nhân viên. Bộ phận này cũng lấy thông tin về nhân viên cần xoá từ kho dữ liệu hồ sơ nhân viên. Sau khi tiến hành việc xoá hồ sơ thì bộ phận này cũng sẽ thực hiện việc huỷ bỏ hồ sơ nhân viên vừa xoá trong kho hồ sơ nhân viên. Cuối mỗi tháng, mỗi quý hay khi phòng ban nào có yêu cầu về nhân sự( in ra báo cáo danh sách nhân viên theo phòng ban, theo mức lương, theo trình độ…) thì yêu cầu này sẽ được gửi đến bộ phận in báo cáo. Bộ phận này sẽ lấy thông tin từ kho hồ sơ sau đó in báo cáo và gửi đến phòng ban có yêu cầu Sơ đồ DFD mức 1 Quản lý hồ sơ Tổng hợp báo cáo Kho hồ sơ nhân viên P.TC-HC P.TC-HC TT nhân viên mới Các phòng ban Nhân viên 1.0 Cập nhật hồ sơ 5.0 Xóa hồ sơ 4.0 Tìm kiếm hồ sơ 2.0 Điều chỉnh hồ sơ 3.0 In báo cáo Hồ sơ nhân viên Yêu cầu điều chỉnh Các báo cáo Yêu cầu tìm kiếm Báo cáo Yêu cầu xoá hồ sơ Thông tin cần tìm kiếm b. Sơ đồ luồng dữ liệu mức 1- Quản lý chấm công Phân tích Quản lý chấm công có mục đích là nhằm quản lý các sự việc liên quan đến việc tính toán lương vào cuối mỗi kỳ, ví dụ: tính toán các ngày nghỉ phép, ngày làm thêm của mỗi nhân viên, tính toán các khoản phụ cấp mà nhân viên này được hưởng: phụ cấp trách nhiệm, phụ cấp chức vụ,… Các sự việc này thường khác nhau vào mỗi tháng và mỗi nhân viên lại có một “công” khác nhau. Từ bảng chấm công này, nhân viên của phòng TC-HC sẽ tông hợp cùng với hệ số lương cơ bản, hệ số lương khoán và tính toán các khoản giảm trừ như: BHXH,BHYT, Quỹ CSXH… để tính toán lương thực lĩnh vào cuối mỗi kỳ của từng nhân viên, từng phòng ban khác nhau. Hằng ngày các phòng ban sẽ gửi bảng châm công cho bộ phận cập nhật bảng chấm công. Phòng TC-HC sẽ có nhiệm vụ cập nhật bảng chấm công do các phòng ban gửi đến và lưu vào kho dữ liệu bảng chấm công chưa xử lý. Khi phòng TC-HC thấy trong bảng chấm công còn có sai sót thì yêu cầu này sẽ được gửi đến bộ phận điều chỉnh bảng chấm công, bộ phận này sẽ lấy thông tin từ kho dữ liệu bảng chấm công chưa xử lý để thực hiện việc điều chỉnh rồi lưu vào kho dữ liệu bảng chấm công đã xử lý để làm cơ sở cho việc tính lương sau này. Khi có yêu cầu báo cáo về bảng chấm công phát sinh từ phòng TC-HC thì yêu cầu này sẽ được gửi đến bộ phận báo cáo. Bộ phận báo cáo sẽ lấy thông tin từ kho dữ liệu bảng chấm công đã xử lý sau đó xử lý và gửi kết quả lên phòng TC-HC. Sơ đồ DFD mức 1 Quản lý chấm công P.TC-HC P.TC-HC TT bảng chấm công Các phòng ban Kho bảng chấm công chưa xử lý Bảng chấm công đã xử lý 1.0 Cập nhật bảng chấm công 2.0 Điều chỉnh bảng chấm công 3.0 Báo cáo Bảng chấm công Bảng chấm công TT đã điều chỉnh P.KT-TK-TC c. Sơ đồ luồng dữ liệu mức 1- Quản lý lương Phân tích Quản lý lương nhằm tính toán lương mà mỗi nhân viên nhận được cùng với các khoản trừ theo lương như: BHXH,BHYT,Quỹ CSXH… từ hồ sơ nhân viên của mỗi nhân viên theo từng kỳ, từ đó cùng với bảng chấm công các nhân viên phòng TC-HC sẽ xử lý, tính toán tổng lương thực lĩnh của từng nhân viên trong tháng. Để tính lương, các thông tin sẽ được lấy từ kho dữ liệu hồ sơ nhân viên. Sau khi được tổng hợp, thông tin sẽ được đưa vào kho dữ liệu lương. Sau đó chuyên viên phòng TC-HC sẽ tập hợp các thông tin, in ra và gửi tới phòng KT-TK-TC nhằm thực hiện việc chi trả lương cho mỗi nhân viên. Phiếu lương của mỗi nhân viên cũng sẽ được gửi tới từng nhân viên đó. Sơ đồ DFD Quản lý lương P. KT-TK-TC P.TC-HC 1.0 Tính lương 2.0 Báo cáo TT bảng chấm công Yêu cầu tính lương TT nhân sự Kho dữ liệu hồ sơ nhân viên P.KT-TK-TC Nhân viên Phiếu lương Kho dữ liệu lương Lấy TT lương Kho BCC đã xử lý TT lương, thưởng Các báo cáo TT lương 4. Thiết kế CSDL lôgic đi từ các thông tin đầu ra 4.1 Quá trình chuẩn hóa dữ liệu. Để thực hiện việc quản lý nhân sự ta dựa vào thông tin đầu ra: hồ sơ nhân viên, bảng lương, danh sách về hưu, Khen thưởng kỷ luật Đầu ra hồ sơ nhân viên có các thuộc tính - Mã nhân viên - Họ tên - Ngày sinh - Giới tính - Mã dân tộc - Mã tôn giáo - Ngày vào Đảng - Số chứng minh nhân dân - Số điện thoại - Hộ khẩu thường trú - Chỗ ở hiện nay - Trình độ lý luận chính trị - Trình độ văn hoá - Trình độ chuyên môn nghiệp vụ - Ngày vào VMS - Mã hợp đồng - Mã chức vụ chuyên môn - Mã chức vụ Đoàn - Mã chức vụ Đảng - Mã bậc lương - Mã lương khoán - Mã quá trình công tác (R) - Ngày bắt đầu công tác (R) - Ngày kết thúc công tác (R) - Đơn vị công tác (R) - Nước công tác (R) - Họ tên người thân (R) - Tên quan hệ (R) - Ngày sinh người thân (R) - Nơi thường trú của người thân (R Đầu ra “ Danh sách khen thưởng kỷ luật “ có các thuộc tính: - Mã Phòng ban (R) - Mã nhân viên (R) - Hình thức khen thưởng (R) - Lý do khen thưởng (R) - Cấp ra quyết định khen thưởng (R) - Hình thức kỷ luật (R) - Lý do kỷ luật (R) - Cấp ra quyết định kỷ luật (R) Đầu ra “ Danh sách nghỉ hưu” có các thuộc tính - Họ tên nhân viên (R) - Mã PB (R ) - Chức vụ chuyên môn (R) - Thời điểm bắt đầu nghỉ hưu (R) - Số sổ BHXH (R) - Tiền lương hưu (R) - Các trợ cấp khác (R) Đầu ra bảng lương có các thuộc tính: - STT (R) - Tháng - Năm - Mã nhân viên (R) - Họ tên (R) - Mã phòng ban (R) - Mã bậc lương (R) - Số ngày làm việc (R) - Số ngày nghỉ phép (R) - Phụ cấp chức vụ (R) - Phụ cấp trách nhiệm (R) - Phục cấp ATVSV (R) - Phụ cấp Đ,CĐ,TN (R) - Mã lương khoán (R) - BHXH (R) - BHYT (R) - Q.CSXH (R) - Tạm ứng (R) - Lương thực lĩnh (R) Chú ý: - Ký hiệu (R) là đánh dấu thuộc tính lặp ( Repeatable) - Ký hiệu (S) là đánh dấu thuộc tính thứ sinh ( Secondary) - Về phương diện quản lý thiết kế viên có thể bỏ những thuộc tính rất ít ý nghĩa đi Quá trình chuẩn hoá: Dựa vào qui tắc chuẩn hoá đã trình bày ở Chương 2, quá trình chuẩn hoá và danh sách các tệp được mô tả trong bảng sau: Chuẩn hoá 1NF Chuẩn hoá 2NF Chuẩn hoá 3NF 1. Lý lịch nhân viên - Mã nhân viên - Họ tên nhân viên - Ngày sinh - Giới tính - Điện thoại - Quê quán - Tôn giáo - Dân tộc - Số chứng minh thư - Ngày vào Đảng - Chỗ ở hiện nay - Trình độ văn hoá - Trình độ lý luận chính trị - Trình độ chuyên môn nghiệp vụ - Hộ khẩu thường trú - Ngày vào VMS - Chức vụ chuyên môn - Chức vụ Đảng - Chức vụ Đoàn - Mã phòng ban - Loại Hợp đồng 2.Hồ sơ nhân viên - Mã nhân viên - Mã quá trình công tác - Ngày bắt đầu công tác - Ngày kết thúc công tác - Đơn vị công tác - Nước công tác - Họ tên người thân - Tên quan hệ - Ngày sinh người thân - Nơi thường trú của người thân 3. Khen thưởng kỷ luật - Mã Phòng ban - Mã nhân viên - Hình thức khen thưởng - Lý do khen thưởng - Cấp ra quyết định khen thưởng - Hình thức kỷ luật - Lý do kỷ luật - Cấp ra quyết định kỷ luật 4. Danh sách nghỉ hưu - Mã nhân viên - Họ tên nhân viên - Mã PB - Chức vụ chuyên môn - Thời điểm bắt đầu nghỉ hưu - Số sổ BHXH - Tiền lương hưu - Các trợ cấp khác 5. Lương - Mã chấm công - Tháng - Năm - Mã nhân viên - Họ tên - Mã phòng ban - Mã bậc lương - Mã bậc lương khoán - Số ngày làm việc - Số ngày nghỉ phép - Phụ cấp chức vụ - Phụ cấp trách nhiệm - Phụ cấp ATVSV - Phụ cấp Đ,CĐ,TN - Lương khoán - Trừ thuế TN - Trừ BHXH - Trừ BHYT - Trừ Q.CSXH - Tạm ứng - Tổng 1. Lý lịch nhân viên - Mã nhân viên - Họ tên nhân viên - Ngày sinh - Giới tính - Điện thoại - Quê quán - Tôn giáo - Dân tộc - Số chứng minh thư - Ngày vào Đảng - Chỗ ở hiện nay - Trình độ văn hoá - Trình độ lý luận chính trị - Trình độ chuyên môn nghiệp vụ - Hộ khẩu thường trú - Ngày vào VMS - Chức vụ chuyên môn - Chức vụ Đảng - Chức vụ Đoàn - Mã phòng ban - Loại Hợp đồng 2.Quá trình công tác - Mã nhân viên - Mã quá trình công tác - Ngày bắt đầu công tác - Ngày kết thúc công tác - Đơn vị công tác - Nước công tác 3. Thành phần gia đình - Mã nhân viên - Họ tên người thân - Tên quan hệ - Ngày sinh người thân - Nơi thường trú của người thân 4. Khen thưởng kỷ luật - Mã Phòng ban - Mã nhân viên - Hình thức khen thưởng - Lý do khen thưởng - Cấp ra quyết định khen thưởng - Hình thức kỷ luật - Lý do kỷ luật - Cấp ra quyết định kỷ luật 5. Danh sách nghỉ hưu - Mã nhân viên - Họ tên nhân viên - Mã PB - Chức vụ chuyên môn - Thời điểm bắt đầu nghỉ hưu - Số sổ BHXH - Tiền lương hưu - Các trợ cấp khác 5. Bảng chấm công - Mã chấm công - Mã nhân viên - Số ngày làm việc - Số ngày nghỉ phép - Phụ cấp chức vụ - Phụ cấp trách nhiệm - Phụ cấp ATVSV - Phụ cấp Đ,CĐ, TN - Lương kiêm nhiệm 6. Lương - Mã chấm công - Tháng - Năm - Mã nhân viên - Mã phòng ban - Mã bậc lương - Mã bậc lương khoán -Trừ thuế TN - Trừ BHXH - Trừ BHYT - Trừ Q.CSXH - Tạm ứng - Tổng 1. Lý lịch nhân viên - Mã nhân viên - Họ tên nhân viên - Ngày sinh - Giới tính - Điện thoại - Quê quán - Tôn giáo - Dân tộc - Số chứng minh thư - Ngày vào Đảng - Chỗ ở hiện nay - Trình độ văn hoá - Trình độ lý luận chính trị - Trình độ chuyên môn nghiệp vụ - Ngày vào VMS - Trình độ chuyên môn - Chức vụ chuyên môn - Chức vụ Đảng - Chức vụ Đoàn - Mã phòng ban - Loại Hợp đồng 2.Quá trình công tác - Mã nhân viên - Mã quá trình công tác - Ngày bắt đầu công tác - Ngày kết thúc công tác - Đơn vị công tác - Nước công tác 3. Thành phần gia đình - Mã nhân viên - Họ tên người thân - Tên quan hệ - Ngày sinh người thân - Nơi thường trú của người thân 4. Khen thưởng kỷ luật - Mã Phòng ban - Mã nhân viên - Hình thức khen thưởng - Lý do khen thưởng - Cấp ra quyết định khen thưởng - Hình thức kỷ luật - Lý do kỷ luật - Cấp ra quyết định kỷ luật 5. Danh sách nghỉ hưu - Mã nhân viên - Họ tên nhân viên - Mã PB - Chức vụ chuyên môn - Thời điểm bắt đầu nghỉ hưu - Số sổ BHXH - Tiền lương hưu - Các trợ cấp khác 6. Bảng chấm công - Mã chấm công - Mã nhân viên - Số ngày làm việc - Số ngày nghỉ phép - Phụ cấp chức vụ - Phụ cấp trách nhiệm - Phụ cấp ATVSV - Phụ cấp Đ,CĐ, TN - Lương kiêm nhiệm 7. Lương - Mã chấm công - Tháng - Năm - Mã nhân viên - Mã phòng ban - Mã bậc lương - Mã bậc lương khoán -Trừ thuế TN - Trừ BHXH - Trừ BHYT - Trừ Q.CSXH - Tạm ứng - Tổng 8. Phòng ban - Mã phòng ban - Tên phòng ban 9. Dân tộc - Mã dân tộc - Tên dân tộc 10. Tôn giáo - Mã tôn giáo - Tên tôn giáo 11. Chức vụ chuyên môn - Mã chức vụ chuyên môn - Tên chức vụ chuyên môn 12. Chức vụ Đoàn - Mã chức vụ Đoàn - Tên chức vụ Đoàn 13. Chức vụ Đảng - Mã chức vụ Đảng - Tên chức vụ Đảng - Trừ BHXH - Trừ BHYT - Trừ Q.CSXH 14. Bậc lương - Mã bậc lương - Tên bậc lương 15. Lương khoán - Mã lương khoán - Tên lương khoán Mối quan hệ giữa các tệp và sơ đồ cấu trúc dữ liệu Sau khi xác định mối quan hệ giữa các tệp ta biểu diễn mối quan hệ đó bằng các mũi tên hai chiều, quan hệ một- nhiều được biểu diễn bằng cách vẽ hai mũi tên về hướng đó. 4.2 Danh sách các tệp dữ liệu Tệp lý lịch nhân viên Tên trường Kiểu Độ rộng Diễn giải Manv Text 5 Mã nhân viên Hoten Text 30 Họ tên nhân viên Ngaysinh Date/number Ngày sinh Quequan Text 40 Quê quán Dantoc text 7 Dân tộc Tongiao text 10 Tôn giáo Gioitinh text 3 Giới tính Ngayvaodang Date/time Ngày vào đảng Socmnd Number LongInteger Số chứng minh nhân dân Diachihiennay text 40 Địa chỉ hiện nay Sodt text 12 Số điện thoại Trinhdovh text 5 Trình độ văn hoá Trinhdocmnv text 20 Trình độ chuyên môn nghiệp vụ Trinhdollct text 10 Trình độ lý luận chính trị NgayvaoVMS Date/time Ngày vào VMS Macvdoan text 9 Mã chức vụ Đoàn Macvdang text 5 Mã chức vụ Đảng Macvcm text 3 Mã chức vụ chuyên môn Loại HĐ text 2 Loại Hợp đồng Mapb text 8 Mã phòng ban Tệp phòng ban Tên trường Kiểu Độ rộng Diễn giải Mapb Text 7 Mã phòng ban Tenpb Text 35 Tên phòng ban Dienthoai number 12 Điện thoại Tệp chức vụ Đoàn Tên trường Kiểu Độ rộng Diễn giải Macvdoan Text 9 Mã chức vụ Đoàn Tencvdoan Text 30 Tên chức vụ Đoàn Tệp Chức vụ Đảng Tên trường Kiểu Độ rộng Diễn giải Macvdang Text 3 Mã chức vụ Đang Tencvdang Text 18 Tên chức vụ Đang Tệp Chức vụ chuyên môn Tên trường Kiểu Độ rộng Diễn giải Macvcm Text 3 Mã chức vụ chuyên môn Tencvcm Text 20 Tên chức vụ chuyên môn Tệp bậc lương Tên trường Kiểu Độ rộng Diễn giải Mabl text 5 Mã bậc lương Tenbl text 5 Tên bậc lương Tệp lương khoán Tên trường Kiểu Độ rộng Diễn giải Mablkhoan text 5 Mã bậc lương khoán Tenbl text 5 Tên bậc lương khoán Tệp dân tộc Tên trường Kiểu Độ rộng Diễn giải Madt Text 7 Mã dân tộc Tendt Text 7 Tên dân tộc Tệp tôn giáo Tên trường kiểu Độ rộng Diễn giải Matg Text 5 Mã tôn giáo Tentg Text 5 Tên tôn giáo Tệp quá trình công tác Tên trường Kiểu Độ rộng Diễn giải Maqtct autonumber Mã quá trình công tác Manv Text 5 Mã nhân viên Ngaybd Date/time Ngày bắt đầu công việc Ngaykt Date/time Ngày kết thúc công việc Noiden Text 30 Nơi đến công tác Tệp danh sách về hưu Tên trường Kiểu Độ rộng Diễn giải Manv Text 4 Mã nhân viên Ngayvehuu Date/time Ngày về hưu sosoBHXH Text 10 Số sổ BHXH Tienluongvehuu Number Long integer Tiền lương về hưu Trocapkhac Number Long integer Trợ cấp khác Tệp thành phần gia đình Tên trường Kiểu Độ rộng Diễn giải Matpgd autonumber Mã thành phần gia đình Manv Text 5 Mã nhân viên Qhgd Text 3 Quan hệ gia đình Hoten Text 30 Họ tên người thân của nhân viên Ngaysinh Date/time Ngày sinh người thân của nhân viên Ghichu Text 30 Ghi chú về người thân của nhân viên Tệp lương Tên trường Kiểu Độ rộng Diễn giải Machamcong Autonumber Mã chấm công Manv Text 5 Mã nhân viên Thang text 2 Tháng tính lương Nam text 4 Năm tính lương Hoten text 30 Họ tên nhân viên Mapb text 9 Mã phòng ban Mabl text 4 Mã bậc lương Mablkhoan text 4 Mã bậc lương khoán Tệp bảng chấm công Tên trường Kiểu Độ rộng Diễn giải Machamcong Autonumber Mã chấm công Thang Text 2 Tháng chấm công Nam Text 4 Năm chấm công Manv Text 4 Mã nhân viên Songaylv number single Số ngày làm việc Songaynghiphep number single Số ngày nghỉ có phép Phucaptrachnhiem number single Phụ cấp trách nhiệm Phucapcv number single Phụ cấp chức vụ PhucapATVSV number single Phụ cấp an toàn vệ sinh viên PhucapĐ,CĐ,TN number single Phụ cấp Đảng, Công đoàn, Thanh niên Luongkiemnhiem number single Lương kiêm nhiệm Tệp người dùng Tên trường Kiểu Độ rộng Diễn giải Nguoidung Text 30 Tên người dùng Pass Text 30 Mật khẩu đăng nhập 4.3 Mối quan hệ giữa các bảng 5. Một số giải thuật xử lý chính Giải thuật kiểm tra quyền sử dụng của người dùng: Bắt đầu Kết thúc Đếm =1 Nhập tên người dùng và mật khẩu Thông báo Sử dụng chương trình Kiểm tra tên và mật khẩu người dùng Đếm= đếm +1 Đếm=4 S Đ Cập nhật thông tin Kết thúc Bắt đầu Nhập dữ liệu Lưu dữ liệu vào bảng Kiểm tra dữ liệu Thông báo dữ liệu không hợp lệ S Đ Có nhập tiếp không Đ S Giải thuật xoá Bắt đầu Kết thúc Chọn dữ liệu cần xoá Thực hiện xoá dữ liệu Kiểm tra sự tồn tại của dữ liệu ở trong tệp Đ S Có muốn xoá không Đ S Thuật toán sửa dữ liệu Bắt đầu Kết thúc Chọn bản ghi cần sửa Lưu dữ liệu Kiểm tra dữ liệu Đ S Tiếp tục sửa? Đ S Sửa dữ liệu Kết thúc Đ Đ S S In báo cáo Có tiếp tục không Thông báo dữ liệu không tồn tại Kiểm tra sự tồn tại của dữ liệu Chọn tiêu chí in báo cáo Bắt đầu Thuật toán in dữ liệu 6.Một số chương trình chính, sơ lược cách sử dụng các chương trình Để sử dụng được chương trình Quản lý nhân sự này thì cần phải có máy tính cài Windows 2000 và các phần mềm Microsoft Office, Vietkey, Visual Basic 6.0. Ổ cứng 40GB, thanh Ram 256 MB. Đối với Công ty VMS, điều này rất thuận lợi vì các máy tính của công ty đều được trang bị đầy đủ các phần mềm tin học văn phòng, với tốc độ nhanh, dung lượng ổ lớn. 6.1 Form Đăng nhập Để sử dụng chương trình, trước hết bạn phải là người được quyền sử dụng. Bạn có thể đăng nhập đến lần thứ 3 nếu địa chỉ đăng nhập không đúng. Sau 3 lần, chương trình sẽ thông báo và tự thoát. Nếu đúng địa chỉ đăng nhập, sau khi ấn nút “Đăng nhập” chương trình sẽ chỉ dẫn đến form chính của chương trình. Để đăng ký sử dụng chương trình, bạn có thể đăng ký trong form sau: Để thêm mới, click vào nút “ Thêm mới”; để sửa lại thông tin cũ, click vào “ Sửa”, “Xoá” để xoá địa chỉ mới nhất, “ Thoát” để thoát khỏi chương trình đăng ký. 6.2 Form chính Form chính sẽ trình bày những nội dung chính của chương trình. Đó là: cập nhật các thông tin, tìm kiếm nhân viên theo các tiêu chí và báo cáo. Click vào tên của form cần dùng, chương trình sẽ tự động link đến. 6.4 Form Hồ sơ nhân viên Đây là Form dùng để cập nhật hồ sơ nhân viên, thường dùng khi nhân viên mới vào Công ty. Ngoài các nút thực hiện thì “Quan hệ gia đình” và “ Quá trình công tác” được dùng để liên kết với Hồ sơ nhân viên. Vì trong Lý lịch nhân viên thường bao gồm các thông tin này 6.5 Form Bảng chấm công Đối với Form Bảng chấm công, chuyên viên đảm nhận sẽ cập nhật các thông tin về từng nhân viên theo từng tuần. Cuối tháng có thể cập nhật lại nếu có thay đổi, sau đó click vào “ InBCC” để in chi tiết Bảng chấm công trong của các nhân viên, nếu Click vào “ In bảng lương” thì chương trình sẽ tự động in ra bảng lương tương ứng từ các thông tin trong bảng châm công 6.6 Form Tìm kiếm Để thực hiện việc tìm kiếm, trước tiên cần phải lựa chọn tiêu chí tìm kiếm bằng cách click vào tiêu chí tìm kiếm, sau đó ghõ vấn đề cần tìm vào ô text bên dưới, click vào “ in” để đưa kết quả ra báo cáo. 6.7 Form Báo cáo. Lựa chọn vấn đề cần báo cáo: báo cáo lương, báo cáo danh sách về hưu theo các năm. Ví dụ: Báo cáo về lương. Click về Báo cáo lương trên Form main, sau đó lựa chọn tiêu chí cần báo cáo như: báo cáo theo phòng ban, báo cáo theo tháng, theo năm. LỜI KẾT: Trên đây là chuyên đề thực tập “ Phân tích, thiết kế và xây dựng chương trình Quản lý nhân sự công ty VMS MobiFone” của tôi. Với tình hình thực tiễn và những yêu cầu mà Công ty đặt ra, tôi đã cố gắng để thiết kế và xây dựng một chương trình phù hợp nhất đi từ “Tổng quan về Công ty” đến “ Phương pháp luận về phân tích, thiết kê” và đến “ Phân tích, thiết kế chương trình”. Tôi nhận thấy rằng, tôi đã thực hiện được khá đầy đủ những yêu cầu mà Công ty đặt ra cho vấn đề quản lý nhân sự như: cập nhật các thông tin liên quan đến vấn đề nhân viên, lương thưởng; lưu trữ các thông tin về nhân viên, về lương thưởng tạo điều kiện thuận lợi cho việc tìm kiếm hay kết xuất báo cáo lúc có yêu cầu; có thể tìm kiếm nhân viên dễ dàng, đầy đủ như các yêu cầu về: tìm kiếm nhân viên thuộc phòng ban X, tìm kiếm tất cả nhân viên có chức vụ chuyên môn là Y, hay tìm kiếm nhân viên có loại hợp đồng là Z trong Công ty…; và thực hiện kết xuất các báo cáo khi ban Giám đốc hay các phòng ban khác yêu cầu. Tuy nhiên, trong quá trình xây dựng chương trình, tôi không thể tránh khỏi những thiếu sót. Hy vọng rằng, nếu có thời gian và có điều kiện tìm hiểu kỹ hơn, tôi sẽ có thể khắc phục được những thiếu sót đó. Một lần nữa, tôi xin chân thành cảm ơn TS Trương Văn Tú- khoa Tin học kinh tế Trường Đại Học Kinh tế Quốc Dân đã hướng dẫn tôi trong suốt quá trình thực hiện chuyên đề thực tập vừa qua; xin cảm ơn Ban Giám đốc công ty VMS MobiFone đã tạo điều kiện cho tôi được thực tập tại Công ty; cảm ơn bác Nguyễn Cảnh Dinh - trưởng phòng TC- HC và các anh chị trong phòng TC-HC của Công ty VMS đã giúp đỡ, cung cấp tài liệu, hướng dẫn tôi trong suốt quá trình thực tập tại công ty. Hà Nội ngày 27/04/2007 Code của một số chương trình chính 1. Đăng nhập Option Explicit Private Declare Sub InitCommonControls Lib "comctl32" () Dim dem As Integer Private Sub Command1_Click() Set conn = New adodb.Connection gConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Persist Security Info=False;" & _ "Data Source= " & App.Path & "\Data\db1.mdb" conn.CursorLocation = adUseClient conn.Open gConnectionString Dim rs As New adodb.Recordset If txtmk = "" Or txttn = "" Then MsgBox "ban phai nhap thong tin", vbExclamation, "thong bao" Exit Sub End If Dim str str = "select top 1 * from dangnhap where (user = '" & txttn & "' )and (pass = '" & txtmk & "')" rs.Open str, conn If rs.EOF Then Dim check As Boolean MsgBox "B¹n nhËp sai th«ng tin ", vbOKOnly + vbInformation, "thongbao" txttn = "" txtmk = "" txttn.SetFocus dem = dem + 1 If dem >= 3 Then MsgBox "B¹n ®· nhËp sai qu¸ 3 lÇn" End End If Else Unload Me frmmain.Show End If End Sub Private Sub Command2_Click() Unload Me End Sub Private Sub Form_Initialize() InitCommonControls End Sub Private Sub Form_Load() Call CenterMyform(form2) End Sub Private Sub txtmk_KeyPress(KeyAscii As Integer) Select Case KeyAscii Case 13 command1.SetFocus End Select End Sub Private Sub txttn_KeyPress(KeyAscii As Integer) Select Case KeyAscii Case 13 txtmk.SetFocus End Select End Sub 2. Hồ sơ nhân viên Dim addingCL As Boolean Dim str, str1, str2, str3, str4, str5 Private Sub cbocvcm_KeyPress(KeyAscii As Integer) Select Case KeyAscii Case 13 cmdluu.SetFocus End Select End Sub Private Sub cmdBoqua_Click() addingCL = False Call resetvalues cmdxoa.Enabled = True cmdmoi.Enabled = True cmdsua.Enabled = False cmdboqua.Enabled = False cmdketiep.Enabled = True cmdquaylui.Enabled = True cmdluu.Enabled = False Call DisplayData txtmanv.Enabled = False End Sub Private Sub cmdct_Click() If txtmanv.Text "" And txttennv.Text "" Then frmquatrinhcongtac.Show Else MsgBox "B¹n ch­a chän nh©n viªn!", vbOKOnly + vbExclamation, "Th«ng B¸o" End If End Sub Private Sub cmdgd_Click() If txtmanv.Text "" And txttennv.Text "" Then frmgiadinh.Show Else MsgBox "B¹n ch­a chän nh©n viªn!", vbOKOnly + vbExclamation, "Th«ng B¸o" End If End Sub Private Sub cmdktkl_Click() If txtmanv.Text "" And txttennv.Text "" Then frmktkl.Show Else MsgBox "B¹n ch­a chän nh©n viªn!", vbOKOnly + vbExclamation, "Th«ng B¸o" End If End Sub Private Sub cmdin_Click() rpt_llnv.Show End Sub Private Sub cmdKetiep_Click() On Error GoTo errs cmdquaylui.Enabled = True If Adodc1.Recordset.EOF Then MsgBox " Day la ban ghi cuoi cung ", vbInformation, "Thong bao" Adodc1.Recordset.MoveLast cmdketiep.Enabled = False Else Adodc1.Recordset.MoveNext End If Call DisplayData cmdsua.Enabled = True txtmanv.Enabled = False errs: End Sub Private Sub cmdLuu_Click() Dim str As String If Len(Trim(txtmanv.Text)) = 0 Then MsgBox "Ban phai nhap du lieu ", vbOKOnly + vbInformation, "Thong bao" txtmanv.SetFocus Exit Sub End If If Adodc1.Recordset.RecordCount 0 Then str = "select * from nhanvien where Manv ='" & Trim(txtmanv.Text) & "'" If checkey(str) And addingCL Then MsgBox "Ma da ton tai", vbOKOnly + vbInformation, "Thong bao" txtmanv.SetFocus Call resetvalues Exit Sub End If End If If Len(Trim(txttennv)) = 0 Then MsgBox "Ban nen nhap ten", vbOKOnly + vbInformation, "Thong bao" txttennv.SetFocus Exit Sub End If With Adodc1.Recordset If addingCL Then .AddNew !Manv = txtmanv.Text !tennv = txttennv.Text !mapb = cbopb.Text !chucvudang = cboda.Text !chucvudoan = cbodo.Text !chucvucm = cbocvcm.Text !trinhdovh = cbotdvh.Text !matgiao = cbotg.Text !trinhdollct = cbollct.Text !trinhdocmnv = cbotdcm.Text !loaihd = cbohd.Text !socmnd = txtcmnd.Text !ngayvaovms = txtnvao.Text !madtoc = cbodt.Text !ngayvaodang = txtnvd.Text !sodt = txtdt.Text !Quequan = txtqq.Text !Diachihiennay = txtdc.Text !gioitinh = Cbogt1.Text !ngaysinh = mskNgaysinh.Text Else !tennv = txttennv.Text !mapb = cbopb.Text !chucvudang = cboda.Text !chucvudoan = cbodo.Text !chucvucm = cbocvcm.Text !trinhdovh = cbotdvh.Text !matgiao = cbotg.Text !trinhdollct = cbollct.Text !trinhdocmnv = cbotdcm.Text !loaihd = cbohd.Text !socmnd = txtcmnd.Text !ngayvaovms = txtnvao.Text !madtoc = cbodt.Text !ngayvaodang = txtnvd.Text !sodt = txtdt.Text !Quequan = txtqq.Text !Diachihiennay = txtdc.Text !gioitinh = Cbogt1.Text !ngaysinh = mskNgaysinh.Text End If .Update End With addingCL = False Call resetvalues cmdxoa.Enabled = True cmdmoi.Enabled = True cmdsua.Enabled = False cmdboqua.Enabled = False cmdketiep.Enabled = False cmdquaylui.Enabled = True cmdluu.Enabled = False txtmanv.Enabled = False End Sub Private Sub cmdquaylui_Click() On Error GoTo errs cmdketiep.Enabled = True If Adodc1.Recordset.BOF Then MsgBox " Day la ban ghi dau tien ", vbInformation, "Thong bao" Adodc1.Recordset.MoveFirst cmdquaylui.Enabled = False Else Adodc1.Recordset.MovePrevious End If Call DisplayData txtmanv.Enabled = False errs: End Sub Private Sub Cmdsua_Click() txtmanv.Enabled = True cmdmoi.Enabled = False cmdboqua.Enabled = True cmdluu.Enabled = True cmdketiep.Enabled = False cmdquaylui.Enabled = False txtmanv.SetFocus addingCL = False End Sub Private Sub Cmdmoi_Click() cmdxoa.Enabled = False cmdsua.Enabled = False cmdboqua.Enabled = True cmdluu.Enabled = True cmdketiep.Enabled = False cmdquaylui.Enabled = False addingCL = True 'Goi phuong thuc resetvalues de xoa du lieu trong text box Call resetvalues txtmanv.Enabled = True txtmanv.SetFocus End Sub Private Sub cmdthoat_Click() If MsgBox("Ban co muon thoat khong", vbYesNo + vbInformation, "Thong bao") = vbNo Then Exit Sub Else Unload Me End If End Sub Private Sub Cmdxoa_Click() With Adodc1.Recordset If .RecordCount 0 Then If MsgBox("Ban co muon xoa ban ghi nay khong", vbYesNo, "Thong bao") = vbYes Then .Delete Call resetvalues End If Else MsgBox " Khong co ban ghi ", vbInformation, "Thong bao" cmdxoa.Enabled = False End If End With End Sub Private Sub Form_Load() Adodc1.Visible = False CenterMyform Me addingCL = False cmdsua.Enabled = True cmdluu.Enabled = False cmdboqua.Enabled = False cmdketiep.Enabled = True cmdquaylui.Enabled = True txtmanv.Enabled = False Set conn = New adodb.Connection gConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Persist Security Info=False;" & _ "Data Source= " & App.Path & "\Data\db1.mdb" conn.CursorLocation = adUseClient conn.Open gConnectionString Set rs = New adodb.Recordset str = "select mapb from phongban" rs.Open str, conn Do While Not rs.EOF Me.cbopb.AddItem rs("mapb") rs.MoveNext Loop Set rs1 = New adodb.Recordset str1 = "select macvdoan from chucvudoan" rs1.Open str1, conn Do While Not rs1.EOF Me.cbodo.AddItem rs1("macvdoan") rs1.MoveNext Loop Set rs2 = New adodb.Recordset str2 = "select macvcm from chucvucmon" rs2.Open str2, conn Do While Not rs2.EOF Me.cbocvcm.AddItem rs2("macvcm") rs2.MoveNext Loop Set rs3 = New adodb.Recordset str3 = " select macvdang from chucvudang" rs3.Open str3, conn Do While Not rs3.EOF Me.cboda.AddItem rs3("macvdang") rs3.MoveNext Loop Set rs5 = New adodb.Recordset str5 = " select matg from tongiao" rs5.Open str5, conn Do While Not rs5.EOF Me.cbotg.AddItem rs5("matg") rs5.MoveNext Loop Set rs4 = New adodb.Recordset str4 = " select madt from dantoc" rs4.Open str4, conn Do While Not rs4.EOF Me.cbodt.AddItem rs4("madt") rs4.MoveNext Loop End Sub Private Sub DisplayData() With Adodc1.Recordset If .BOF Or .EOF Then Exit Sub End If txtmanv = !Manv txttennv = !tennv Cbogt1 = !gioitinh txtdc.Text = !Diachihiennay txtdt.Text = !sodt mskNgaysinh.Mask = "" mskNgaysinh.Text = !ngaysinh txtqq.Text = !Quequan cbodt.Text = !madtoc cbotg.Text = !matgiao txtnvd.Text = !ngayvaodang txtcmnd.Text = !socmnd cbotdvh.Text = !trinhdovh cbotdcm.Text = !trinhdocmnv cbollct.Text = !trinhdollct cbocvcm.Text = !chucvucm cbodo.Text = !chucvudoan cboda.Text = !chucvudang txtnvao.Text = !ngayvaovms cbohd.Text = !loaihd cbopb.Text = !mapb End With End Sub Private Sub Grid1_Click() 'Call DisplayData cmdsua.Enabled = True cmdluu.Enabled = True cmdketiep.Enabled = True cmdquaylui.Enabled = True If addingCL Then If MsgBox("Dang o che do them moi, chon OK de hien thi du lieu", vbOKCancel + vbInformation, "Thong bao") = vbCancel Then cmdsua.Enabled = False Exit Sub Else addingCL = False cmdboqua.Enabled = False End If End If txtmanv.Enabled = False Call DisplayData End Sub Private Sub grid1_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then Call Grid1_Click End If End Sub Private Sub resetvalues() txtmanv.Text = "" txttennv.Text = "" Cbogt1 = "" txtdc.Text = "" txtdt.Text = "" mskNgaysinh.Mask = "" mskNgaysinh.Text = "" txtqq.Text = "" cbodt.Text = "" cbotg.Text = "" txtnvd.Text = "" txtcmnd.Text = "" cbotdvh.Text = "" cbotdcm.Text = "" cbollct.Text = "" cbocvcm.Text = "" cbodo.Text = "" cboda.Text = "" txtnvao.Text = "" cbohd.Text = "" cbopb.Text = "" End Sub Private Sub txtmado_KeyPress(KeyAscii As Integer) Select Case KeyAscii Case 13 txttennv.SetFocus End Select End Sub Private Sub mnuback_Click() frmmain.Show End Sub Private Sub txttennv_keypress(KeyAscii As Integer) Select Case KeyAscii Case 13 cbopb.SetFocus End Select End Sub Private Sub cmdmoi_KeyPress(KeyAscii As Integer) Select Case KeyAscii Case 13 txtmanv.SetFocus End Select End Sub Private Sub txtmanv_GotFocus() txtmanv.BackColor = &H8000000F End Sub Private Sub txttennv_gotfocus() txttennv.BackColor = &H8000000F End Sub Private Sub txtmanv_KeyPress(KeyAscii As Integer) Select Case KeyAscii Case 13 txttennv.SetFocus End Select End Sub Private Sub cbopb_KeyPress(KeyAscii As Integer) Select Case KeyAscii Case 13 mskNgaysinh.SetFocus End Select End Sub Private Sub mskngaysinh_KeyPress(KeyAscii As Integer) Select Case KeyAscii Case 13 Cbogt1.SetFocus End Select End Sub Private Sub cbogt1_KeyPress(KeyAscii As Integer) Select Case KeyAscii Case 13 cbodt.SetFocus End Select End Sub Private Sub cbodt_KeyPress(KeyAscii As Integer) Select Case KeyAscii Case 13 cbotg.SetFocus End Select End Sub Private Sub cbotg_KeyPress(KeyAscii As Integer) Select Case KeyAscii Case 13 txtdc.SetFocus End Select End Sub Private Sub txtdc_KeyPress(KeyAscii As Integer) Select Case KeyAscii Case 13 txtqq.SetFocus End Select End Sub Private Sub txtqq_KeyPress(KeyAscii As Integer) Select Case KeyAscii Case 13 txtdt.SetFocus End Select End Sub Private Sub txtdt_KeyPress(KeyAscii As Integer) Select Case KeyAscii Case 13 txtnvd.SetFocus End Select End Sub Private Sub txtnvd_KeyPress(KeyAscii As Integer) Select Case KeyAscii Case 13 txtcmnd.SetFocus End Select End Sub Private Sub txtcmnd_KeyPress(KeyAscii As Integer) Select Case KeyAscii Case 13 txtnvao.SetFocus End Select End Sub Private Sub txtnvao_KeyPress(KeyAscii As Integer) Select Case KeyAscii Case 13 cbohd.SetFocus End Select End Sub Private Sub cbohd_KeyPress(KeyAscii As Integer) Select Case KeyAscii Case 13 cbotdcm.SetFocus End Select End Sub Private Sub cbotdcm_KeyPress(KeyAscii As Integer) Select Case KeyAscii Case 13 cbotdvh.SetFocus End Select End Sub Private Sub cbotdvh_KeyPress(KeyAscii As Integer) Select Case KeyAscii Case 13 cbollct.SetFocus End Select End Sub Private Sub cbollct_KeyPress(KeyAscii As Integer) Select Case KeyAscii Case 13 cboda.SetFocus End Select End Sub Private Sub cboda_KeyPress(KeyAscii As Integer) Select Case KeyAscii Case 13 cbodo.SetFocus End Select End Sub Private Sub cbodo_KeyPress(KeyAscii As Integer) Select Case KeyAscii Case 13 cbocvcm.SetFocus End Select End Sub Private Sub cboda_gotfocus() cboda.BackColor = &H8000000F End Sub Private Sub cbopb_gotfocus() cbopb.BackColor = &H8000000F End Sub Private Sub maskngaysinh_gotfocus() maskngaysinh.BackColor = &H8000000F End Sub Private Sub cbogt1_gotfocus() Cbogt1.BackColor = &H8000000F End Sub Private Sub txtdiachi_gotfocus() txttdkt.BackColor = &H8000000F End Sub Private Sub txtqq_gotfocus() txtqq.BackColor = &H8000000F End Sub Private Sub txtdt_gotfocus() txtdt.BackColor = &H8000000F End Sub Private Sub cbodt_gotfocus() cbodt.BackColor = &H8000000F End Sub Private Sub txttg_gotfocus() txttg.BackColor = &H8000000F End Sub Private Sub txtnvao_gotfocus() txtnvao.BackColor = &H8000000F End Sub Private Sub cbohd_gotfocus() cbohd.BackColor = &H8000000F End Sub Private Sub cbovh_gotfocus() Cbovh.BackColor = &H8000000F End Sub Private Sub cbollct_gotfocus() cbollct.BackColor = &H8000000F End Sub Private Sub cbotdcm_gotfocus() cbotdcm.BackColor = &H8000000F End Sub Private Sub cbocvda_gotfocus() cbocvda.BackColor = &H8000000F End Sub Private Sub cbocvdo_gotfocus() cbocvdo.BackColor = &H8000000F End Sub Private Sub cbocvcm_gotfocus() cbocvcm.BackColor = &H8000000F End Sub Private Sub cbotg_gotfocus() cbotg.BackColor = &H8000000F End Sub Private Sub txtdc_gotfocus() txtdc.BackColor = &H8000000F End Sub Private Sub mskngaysinh_gotfocus() mskNgaysinh.BackColor = &H8000000F End Sub Private Sub txtnvd_gotfocus() txtnvd.BackColor = &H8000000F End Sub Private Sub txtcmnd_gotfocus() txtcmnd.BackColor = &H8000000F End Sub Private Sub cbotdvh_gotfocus() cbotdvh.BackColor = &H8000000F End Sub 3. Tìm kiếm Private Sub cmdcv_Click(Index As Integer) frmcvcmon.Show End Sub Private Sub cmddsvh_Click() frmvhuu.Show End Sub Private Sub cmdin_Click() Dim str 'hoten If opttc(0).Value = True Then str = "select * from nhanvien where nhanvien.tennv like '%" & txttracuu.Text & "%'" End If 'gioitinh If opttc(12).Value = True Then str = "select * from nhanvien where nhanvien.gioitinh like '%" & txttracuu.Text & "%'" End If 'ma nhan vien If opttc(1).Value = True Then str = "select * from nhanvien where nhanvien.manv like '%" & txttracuu.Text & "%'" End If 'quequan If opttc(2).Value = True Then str = "select * from nhanvien where nhanvien.quequan like '%" & txttracuu.Text & "%'" End If 'diachi If opttc(3).Value = True Then str = "select * from nhanvien where nhanvien.diachihiennay like '%" & txttracuu.Text & "%'" End If 'so dt If opttc(4).Value = True Then str = "select * from nhanvien where nhanvien.sodt like '%" & txttracuu.Text & "%'" End If 'chuc vu cmon If opttc(5).Value = True Then str = "select * from nhanvien where nhanvien.chucvucm like '%" & txttracuu.Text & "%'" End If 'tdllct If opttc(6).Value = True Then str = "select * from nhanvien where nhanvien.trinhdollct like '%" & txttracuu.Text & "%'" End If 'pban If opttc(10).Value = True Then str = "select * from nhanvien where nhanvien.mapb like '%" & txttracuu.Text & "%'" End If 'trinhdovh If opttc(4).Value = True Then str = "select * from nhanvien where nhanvien.trinhdovh like '%" & txttracuu.Text & "%'" End If ' trinhdocmnv If opttc(7).Value = True Then str = "select * from nhanvien where nhanvien.trinhdocmnv like '%" & txttracuu.Text & "%'" End If ' chucvudang If opttc(8).Value = True Then str = "select * from nhanvien where nhanvien.chucvudang like '%" & txttracuu.Text & "%'" End If 'chucvudoan If opttc(9).Value = True Then str = "select * from nhanvien where nhanvien.chucvudoan like '%" & txttracuu.Text & "%'" End If 'loaihd If opttc(11).Value = True Then str = "select * from nhanvien where nhanvien.loaihd like '%" & txttracuu.Text & " %'" End If DE1.Commands(5).CommandText = str If DE1.rstracuu.State = 0 Then DE1.rstracuu.Open End If DE1.rstracuu.Requery rpt_tracuu.Show 1 End Sub Private Sub cmdpb_Click() frmphongban.Show End Sub Private Sub cmdqtct_Click() frmnhanvien.Show End Sub Private Sub cmdthoat_Click() Unload Me End Sub Private Sub Command1_Click(Index As Integer) frmktkl.Show End Sub Private Sub Command2_Click(Index As Integer) frmbangluong.Show End Sub Private Sub mnub_Click() frmmain.Show End Sub Private Sub txttracuu_KeyPress(KeyAscii As Integer) Select Case KeyAscii Case 13 cmdin.SetFocus End Select End Sub 4. Báo cáo lương Option Explicit Private Declare Sub InitCommonControls Lib "comctl32" () Private Sub cmdin_Click() Me.opttc.Enabled = True Me.optn.Enabled = True Me.optt.Enabled = True Me.optpb.Enabled = True Me.cbon.Enabled = True Me.cbot.Enabled = True Me.cbopb.Enabled = True ' Me.txttb.Enabled = True Dim str str = "select * from qluong" If Me.opttc.Value Then rpt_bangluong.Show End If If Me.optn.Value Then str = str + " where qluong.nam= '" & cbon.Text & "'" DE1.Commands.Item("command11").CommandText = str rpt_bangluong.DataMember = "command11" rpt_bangluong.Refresh DE1.rsCommand11.Close rpt_bangluong.Show End If If Me.optt.Value Then str = str + " where qluong.thang= '" & cbot.Text & "'" DE1.Commands.Item("command11").CommandText = str rpt_bangluong.DataMember = "command11" rpt_bangluong.Refresh DE1.rsCommand11.Close rpt_bangluong.Show End If If Me.optpb.Value Then str = str + " where qluong.mapb= '" & cbopb.Text & "'" DE1.Commands.Item("command11").CommandText = str rpt_bangluong.DataMember = "command11" rpt_bangluong.Refresh DE1.rsCommand11.Close rpt_bangluong.Show End If End Sub Private Sub cmdthoat_Click() Unload Me End Sub Private Sub Command1_Click() rpt_phongban.Show End Sub Private Sub Form_Initialize() InitCommonControls End Sub Private Sub Form_Load() Call CenterMyform(frmbcl) Dim str As String Dim rs As adodb.Recordset Set conn = New adodb.Connection gConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Persist Security Info=False;" & _ "Data Source= " & App.Path & "\Data\db1.mdb" conn.CursorLocation = adUseClient conn.Open gConnectionString Set rs = New adodb.Recordset str = "select mapb from phongban" rs.Open str, conn Do While Not rs.EOF Me.cbopb.AddItem rs("mapb") rs.MoveNext Loop 'frmbcl.txttb.Enabled = False End Sub

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

  • docP0050.doc