Để 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
129 trang |
Chia sẻ: oanh_nt | Lượt xem: 1442 | Lượt tải: 0
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 cha 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 cha 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 cha 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:
- P0050.doc