Quản lý nhân sự: Thiết kế chương trình quản lí nhân sự cho công ty phát triển phần mềm EDT

Tài liệu Quản lý nhân sự: Thiết kế chương trình quản lí nhân sự cho công ty phát triển phần mềm EDT: ... Ebook Quản lý nhân sự: Thiết kế chương trình quản lí nhân sự cho công ty phát triển phần mềm EDT

doc51 trang | Chia sẻ: huyen82 | Lượt xem: 1318 | Lượt tải: 0download
Tóm tắt tài liệu Quản lý nhân sự: Thiết kế chương trình quản lí nhân sự cho công ty phát triển phần mềm EDT, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Lêi nãi ®Çu Với nội dung đồ án thực tập”Quản lí nhân sự”, em đã thiết kế chương trình quản lí nhân sự cho công ty phát triển phần mềm EDT với mong muốn giúp người quản lí nhân sự của công ty có thể quản lí được nhân viên của công ty một cách tốt hơn. Mặc dù rất cố gắng để hòan thành công việc, xong thời gian có hạn và kinh nghiệm kiến thức chưa nhiều nên việc phân tích thiết kế và đặc biệt là việc cài đặt, ứng dụng còn nhiều thiếu sót cần được bổ xung. Vì vậy em mong được ý kiến đóng góp của các thấy cô và các bạn để đề tài ngày càng hoàn thiện hơn. Cuối cùng em xin chân thành cảm ơn các thầy cô giáo trong khoa Công Nghệ Thông Tin trường Cao đẳng Công Nghiệp Hà Nội, đặc biệt là thầy Ngô Đức Vĩnh đã trực tiếp tận tình chỉ bảo hướng dẫn em hoàn thành đề tài này. Sinh viên thực hiện Trần Thanh Thủy CHƯƠNG I. MỞ ĐẦU I. Lí do chọn đề tài. Ngày nay song song với sự phát triển của khoa học kĩ thuật, ngành công nghệ máy tính cũng phát triển và giữ vai trò quan trọng trong cuộc sống của chúng ta, nó đã đạt được những thành khoa học kĩ thuật rực rỡ với những bước tiến nhảy vọt. việc áp dụng những công nghệ khoa học kĩ thuật vào lĩnh vực đời sống của con người ngày càng tăng và không ngừng can thiệp vào hầu hết các công việc trong cuộc sống. Công nghệ thông tin là một trong những ngành khoa học đó. Đi đôi với sự phát triển của công nghệ chế tạo các thiết bị máy tính thì việc sản phẩm phần mềm ứng dụng ra đời có tính chất quyết định đối với việc áp dụng ngành khoa học này. Trên thế giới cũng như ở Việt Nam, công nghệ thông tin đã trở thành một ngành công nghiệp mũi nhọn, nó là một ngành khoa học kĩ thuật không thể thiếu trong việc áp dụng vào các hoạt động xã hội như: quản lí, kinh tế, thông tin… Ở nước ta hiện nay, việc áp dụng vi tính hóa trong việc quản lí tại các cơ quan, xí nghiệp đang rất phổ biến và trở nên cấp thiết. nhưng một vấn đề đặt ra trong việc quản lí là làm thế nào để chuẩn hóa cách xử lí dữ liệu ở các cơ quan xí nghiệp, bởi với hàng ttrăm cơ quan, hàng trăm xí nghiệp là hàng trăm cách xử lí khác nhau. ở đây, em chỉ muốn đề cập tới tầm quan trọng của việc đưa máy tính vào trong các cơ quan để xử lí thông tin. Quản lí nhân sự là một công việc vô cùng quan trọng, nó gắn liền với sự phát triển của chính công ty đó. Nên việc ứng dụng tin học vào việc quản lí lại càng trở nên bức thiết, nhằm giúp cho công việc quản lí phát huy được tính hiệu quả. II. Khảo sát hệ thống 1. Giới thiệu chung về hoạt động cuả hệ thống Ứng dụng máy tính trong vấn đề quản lí không thể tách rời việc tìm hiểu hoạt động của công ty và cách thức sử dụng thông tin của các bộ phận chức năng trong công ty đó. Muốn sử dụng máy tính vào việc trợ giúp quản lí có hiệu quả không chỉ có trình độ nhất định về chuyên môn và các chức năng, các bộ phận trong hệ thống cần nghiên cứu. mức độ hiệu quả của công việc ứng dụng trong máy nhanh hay chậm là phụ thuộc vào sự hiểu biết của người biết về lĩnh vực chuyên môn. Trong quản lí nhân sự việc ứng dụng công cụ để lưu trữ hồ sơ, sơ yếu lý lịch, về thành phần gia đình, quá trình công tác. Để thiết kế được đòi hỏi người thiết kế phải nắm bắt được chế độ quyết định của một cơ quan, phải tìm hiểu được cách làm thủ công trước đây của cán bộ làm nhiệm vụ quản lí nhân sự. Xử lý công việc bằng máy có thể cho ta quản được nhiều dữ liệu hơn và dữ liệu được lưu trữ một cách an toàn, việc tìm kiếm thông tin nhanh hơn rất nhiều, giảm được số lượng cán bộ làm công tác quản lí này. Bên cạnh những ưư điểm quản lí bằng máy tính thì không thể tránh khỏi những nhược điểm là đòi hỏi là cán bộ quản lí phải có trình độ nhất định về tin học. vì vậy trong công tác quản lí nhân sự đòi hỏi cán bộ quản lí phải thu thập số liệu xử lí và cung cấp thông tin cần thiết và kịp thời. 2. Nhiệm vụ của hệ thống -Hệ thống :tức là có nhiệm vụ giúp cho người dùng truy cập vào hệ thống dễ dàng hơn . Ta có thể xem thông tin về bất cứ nhân viên nào mà ta cần trong công ty khi ta vào từ điển dữ liệu. -Quản lí hồ sơ có nhiệm vụ quản lí tất cả các thông tin của nhân viên về lí lịch như: họ tên, năm sinh, quê quán, trình độ. Trong quản lí hồ sơ có thể nhập thêm hồ sơ của nhân viên theo biên chế hoặc hợp đồng dài hạn, hợp đồng ngắn hạn, sửa hồ sơ nhân viên. Lưư trữ thông tin của nhân viên về tất cả các mặt như: mã nhân viên, ttrình độ chuyên môn. -Quản lí lương tức là quản lí tiền lương của từng nhân viên trong công ty, có thể cập nhật lương, lập bảng lương. Ngoài ra có thể thống kê ngày công của nhân viên theo bảng theo dõi ngày công của họ. bộ phận thống kê lương cũng phải làm nhiệm vụ thống kê danh sách lên lương hàng năm. Ttìm kiếm: tức là ta có thể tìm kiếm thông tin về nhân viên theo mã nhân sự, tìm kiếm theo mã lương, tìm kiếm theo trình độ. -Báo cáo thống kê: báo cáo thống ke tức là có thể thống kê theo trình độ của nhân viên, thống kê danh sách nhân sự đến tuổi nghỉ hưu, thống kê theo lương của nhân sự. 3. Nhược diểm của hệ thống cũ Ngày nay nhờ sự ra đời và phát triển của máy tính các bài toán quản lí dần dần được xử lí một cách tự động. Thay vì việc phải tự mình ghi chép, tìm kiếm, tính toán, tổng hợp…con người có thể sử dụng phần mềm ứng dụng trên máy tính để thực hiện, điều này tăng khả năng xử lí thông tin, nhằm đáp ứng lượng thông tin ngày càng nhiều -Thời gian chi phí cho việc lưư trữ, tìm kiếm quá lớn. -Số thao tác trùng lặp nhiều. -Chi phí thời gian cho việc truy xuất cơ sở dữ liệu nhiều nên khó đáp ứng được tính nhanh nhậy của thông tin. -Kết xuất khó đảm bảo độ tin cậy theo yêu cầu. 4. Ưu điểm của hệ thống mới Hệ thống quản lí với sự giúp đỡ của tin học đã đáp ứng được các yêu cầu sau: -Tự động hóa các thao tác phép tính số học mà từ trước tới nay phải làm bằng tay. -Thực hiện các chức năng hỏi đáp nhanh (như nhu cầu lấy thông tin về nhân sự). -Tổng hợp đầy đủ, chính xác, kịp thời về lương của nhân viên. -Đưa ra danh sách cán bộ công nhân viên khi cần tìm kiếm theo yêu cầu. -Bảng tổng hợp chi trả lương hàng tháng một cách chính xác đầy đủ. -Có khả năng bổ xung thêm một nhân viên mới, xóa bỏ thông tin của một nhân viên. -Có khả năng lưư trữ thông tin của nhân viên toàn công ty trong nhiều năm công tác. -Phải đảm bảo được tính an toàn của dữ liệu (không bị dư thừa, không sai lệch). 5. Cơ cấu tổ chức và cách tiến hành. Công việc quản lí nhân sự là công việc hết sức khó khăn và mất rất nhiều thời gian, công sức. mục đích của quản lí nhân sự là làm sao lưư trữ được thông tin về nhân viên của công ty sao cho hiệu quả, công việc đạt được cao nhất trong cùng một thời gian làm việc và thỏa mãn các điều kiện cho người lao động. Quản lí nhân sự bao gồm nhiều hệ thống có phân biệt ứng với mục tiêu và nhiệm vụ cụ thể của công tác quản lí. Với mỗi cơ quan hệ thống được chia ra nhiều phòng ban, các nhân viên ở mỗi phòng ban đều được hệ thống chung quản lí, trong hệ thống quản lí chung này thì các chức năng làm việc như sau: -Hệ thống: được sử dụng như là một cách tra cứu. - Quản lí hồ sơ của nhân viên cả biên chế và hợp đồng. Hồ sơ của từng nhân viên sẽ được lưu lại. - Ta có thể tra cứu nhân viên theo một số tiêu thức như: tên, bậc lương, trình độ, phòng công tác, công việc. - Bộ phận quản lí lương: dựa vào quá trình công tác và trình độ của từng cán bộ trong công ty mà chức năng sẽ tính lương, chi phí phụ cấp, các loại bảo hiểm cho từng nhân viên được hưởng. - Bộ phận báo cáo thống kê: hàng tháng hệ thống phải in ra bảng lương của nhân viên gồm hai loại hợp đồng và biên chế. 6. Mô hình tiến trình nghiệp vụ Hå s¬ nh©n sù B¸o c¸o hå s¬ lý lÞch cña c¸n bé c«ng nh©n viªn B¶ng b¸o c¸o thèng kª theo tõng ®¬n vÞ c«ng t¸c B¸o c¸o vÒ lương cña nh©n viªn B¶ng b¸o c¸o nhanh theo ®Þnh kú, theo yªu cÇu nµo ®ã HÖ thèng qu¶n lý nh©n sù III. Nhu cầu tin học hóa Ngày nay trong các cơ quan người cán bộ làm các công tác quản lí nhân sự họ phải xử lí một khối lượng công việc rất lớn từ công tác quản lí hồ sơ, công tác quản lí quỹ lương đến công tác quản lí cơ cấu tổ chức và cả việc in ra báo cáo. Như vậy khi có sự thay đổi trong công tác quản lí thì phải mất rất nhiêu thời gian, công sức cho việc cập nhật lại, xem xét và tìm kiếm…Nhờ có nghành tin học ứng dụng vào thực tế mà khối lượng công việc giảm đi rất nhiều và hết sức cần thiết với mọi cơ quan và đặc biệt không thể thiếu được vào công tác quản lí nhân sự. IV. Hướng giải quyết và phạm vi giải quyết -Sử dụng công cụ là máy tính. -Tin học hóa công tác nhân sự và lương. -Sử dụng cơ sở dữ liệu chung cho toàn công ty. -Quản lí nhân sự cho công ty trung bình (20 đến 30 nhân viên). CHƯƠNG II. PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG Để xây dựng thiết kế một hệ thống thông tin quản lí thì vấn đề đầu tiên là phải phân tích hệ thống nhằm tìm ra và lựa chọn một giải pháp thích hợp và biện pháp cụ thể. Phân tích là công việc đầu tiên của quả trình xây dựng hệ thống máy tính. Nó là giai đoạn quan trọng nhất, vì kết quả cả giai đoạn này cho ta mô tảlogic của hệ thống mới dựa trên kết quả đó là căn cứ cho ta thiết kế sau này. Không thể dùng tin học trong công tác quản lí mà không qua giai đoạn phân tích, hiệu quả công việc tin học hoàn toàn phụ thuộc vào quá trình phân tích ban đầu. trong quá trình phân tích này, để chuyển từ bài toán thực tế sang bài toán quản lí trên máy tính thì các sơ đồ luồng dữ liệu và thực thể liên kết giúp ta dễ dàng xác định chức năng của hệ thống và có cái nhìn tổng quát về cách quản lí thực tế về hệ thống ta đang thiết kế. Biểu đồ phân cấp chức năng của hệ thống quản lí nhân sự qu¶n lÝ nh©n sù hå s¬ nh©n sù qu¶n lÝ l­¬ng t×m kiÕm b¸o c¸o thèng kª qu¶n trÞ ng­êi dïng tõ ®iÓn d÷ liÖu nhËp d÷ liÖu söa d÷ liÖu th«ng tin ngµy c«ng cËp nhËt l­¬ng t×m kiÕm theo ma nv t×m kiÕm theo m· l­ong thèng kª theo tr×nh ®é b¸o c¸o l­¬ng nh©n sù hÖ thèng trî gióp b¶n quyÒn h­íng dÉn thèng kª danh s¸ch ®Õn tuæi nghØ chÕ ®é t×m kiÕm theo tr×nh ®é in b¶ng l­¬ng nghØ viÖc tho¸t thèng kª danh s¸ch lªn l­¬ng hµng n¨m II. Các chức năng chính của hệ thống và nhiêm vụ cơ bản của các chức năng. Các chức năng chính của hệ thống -Hệ thống -Quản lí hồ sơ -Quản lí lương -Báo cáo thống kê -Trợ giúp 2. Nhiệm vụ cơ bản của các chức năng 2.1. Chức năng hệ thống. Chức năng này có nhiệm vụ giúp người xem truy cập vào hệ thống dễ dàng. -Chức năng quản trị người dùng: -Chức năng này có nhiệm vụ quản lí người đăng nhập vào hệ thống. -Chức năng từ điển dữ liệu: Chức năng này có nhiệm vụ tra cứu dữ liệu của từng nhân viên theo mã của nhân viên -Chức năng thoát: Chức năng này có nhiệm vụ thoát ra khỏi chương trình khi người dùng đã tra cứu xong hoặc không muốn tra cứu nữa. 2.2. Chức năng quản lí hồ sơ. Chức năng này có nhiệm vụ quản lí tất cả các thông tin của nhân viên trong cơ quan. Có thể tra cứu về nhân viên theo: lí lịch, quan hệ gia đình, quá trình công tác… -Chức năng nhập hồ sơ Chức năng này làm nhiệm vụ nhập tất cả thông tin ban đầu có liên quan đến nhân viên mới đến làm việc tại cơ quan (ten, tuổi, công việc) theo các loại hồ sơ biên chế, hợp đồng ngắn hạn và hợp đồng dài hạn. thông tin cá nhân có sự khác nhau cơ bản về lương và công việc. -Chức năng sửa hồ sơ Chức năng này làm nhiệm vụ sửa lại các thônh tin có liên quan đến công việc, lí lịch, quan hệ gia đình của nhân viên trong cơ quan (thông tin mới về công việc, thay đổi về lí lịch, quan hệ gia đình như lấy vợ, lấy chồng). -Chức năng nghỉ việc Chức năng này có nhiệm vụ thông báo lí do nghỉ việc của nhân viên trong công ty. 2.3. Chức năng quản lí lương Chức năng này có nhiệm vụ dựa vào số ngày công trong tháng của từng nhân viên để tính lương cho nhân viên và phát lương cho nhân viên trong quá trình công tác. -Chức năng thông tin ngày công có nhiệm vụ hàng ngày phải chấm công cho nhân viên trong công ty và nhập số ngày công của mỗi nhân viên trong một tháng hay trong cả quá trình công tác. -Chức năng cập nhật lương Chức năng này có nhiệm vụ lấy các thông tin của từng nhân viên như số ngày công, hệ số lương…để tính lương cho nhân viên trong công ty.Lương được tính như sau: +Lương cơ bản cố định là: 290000đ  +Mức lươnh chính= lương cơ bản * hệ số lương +Mức phụ cấp chức vụ= lương cơ bản * hệ số phụ cấp +Tổng mức lương= lương cơ bản +phụ cấp chức vụ (nếu có) +Bảo hiểm xã hội = tổng mức lương * 5% +Tổng mức lương thực lĩnh = tổng mức lương – mức bảo hiểm xã hội. -Chức năng nhập bảng lương Chức năng này có nhiệm vụ lấy thông tin về lương của mỗi nhân viên để lập ra một bảng lương của toàn nhân viên trong công ty. -Chức năng thống kê danh sách lên lương hàng năm Chức năng này có nhiệm vụ cập nhật thông tin của nhân viên như trình độ, quá trình công tác, ưu tiên…để tổng kết xem những nhan viên nào được tăng lương trong năm. 2.4. Chức năng thống kê báo cáo Chức năng này có nhiệm vụ đưa ra danh sách nhân viên, đưa ra báo cáo thống kê về nhân viên, thống kê về trình độ của nhân viên theo yêu cầu của ban lãnh đạo phục vụ cho công tác quản lí và hoạt độn của công ty. -Chức năng thống kê theo trình độ Chức năng này có nhiệm vụ khi có yêu cầu, chức năng này sẽ in ra những báo cáo thống kê theo trình độ của nhân viên theo yêu cầu của ban lãnh đạo.chẳng hạn nó sẽ đưa ra trong cơ quan có bao nhiêu người là tiến sĩ, thạc sĩ, có bao nhiêu người trình độ đại học. -Chức năng thống kê danh sách nhân viên đến tuổi nghỉ chế độ Chức năng này có nhiệm vụ mối năm sẽ in ra một danh sach các nhân viên đến tuổi nghỉ chế độ.chức năng này sẽ lấy thông tin về quá trình công tác của nhân viên từ kho dữ liệu hồ sơ trong chức năng quản lí hồ sơ để thống kê lên danh sách đó và nộp cho ban lãnh đạo. -Chức năng báo cáo lương nhân sự Chức năng này có nhiệm vụ sẽ chỉ in ra báo cáo về lương của nhân viên theo yêu cầu của ban giám đốc. dữ liệu đầu vào của chức năng này được lấy ra từ kho dữ liệu bảng lương do chức năng quản lí lương cung cấp. III. Phân tích dữ liệu 1. Mô hình luồng dữ liệu mức khung cảnh Nh©n viªn Hå s¬ nh©n viªn Qu¶n lý nh©n sù Nhµ qu¶n lý Th«ng tin nh©n viªn Th«ng tin tr¶ lêi C¸c quyÕt ®Þnh 2. Mô hình luồng dữ liệu mức đỉnh QLHS Th«ng tin NV C¸c quyÕt ®Þnh Nh©n viªn T/tin tr¶ lêi T/t NV Qu¶n lý l­¬ng Th«ng tin yªu cÇu Th«ng tin tr¶ lêi Th«ng tin vÒ l­¬ng Ngµy c«ng Th«ng tin yªu cÇu Th«ng tin ngµy c«ng Hå s¬ T/tin tr¶ lêi Th«ng tin yªu cÇu B¸o c¸o thèng kª B¸o c¸o yªu cÇu C¸c yªu cÇu Nhµ qu¶n lý 3. Mô hình luồng dữ liệu mức dưới đỉnh 3.1 Mô hình luồng dữ liệu mức dưới đỉnh chức năng quản lí hồ s¬ Nhµ qu¶n lý Nh¸n viªn NhËp HS Söa HS Th«ng tin NV Th«ng tin NV Th«ng tin c¸ nh©n cÇn nhËp Th«ng tin c¸ nh©n cÇn söa Hå s¬ Th«ng tin hå s¬ ®­îc nhËp Th«ng Tin hå s¬ ®­îc söa T×m kiÕm Th«ng tin hå s¬ ®· ®­îc t×m Th«ng tin hå s¬ cÇn t×m kiÕm Yªu cÇu t×m kiÕm Th«ng tin c¸ nh©n 3.2 Mô hình luồng dữ liệu mức dưới đỉnh chức năng quản lí lương Tæng sè ngµy c«ng Th«ng tin vÒ hÖ sè l­¬ng cña NV CËp nhËt l­¬ng Th«ng tin ngµy c«ng Nh©n viªn Ngµy c«ng Hå s¬ LËp b¶ng l­¬ng nh©n sù B¶ng l­¬ng TK danh s¸ch lªn l­¬ng T×m kiÕm Ban l·nh ®¹o Danh s¸ch nh÷ng ng­êi ®­îc lªn ®­êng Th«ng tin theo yªu cÇu Th«ng tin theo yªu cÇu Th«ng tin theo yªu cÇu 3.3 Mô hình luồng dữ liệu mức dưới đỉnh chức năng báo cáo thống kê Qu¶n lý l­¬ng B¶ng l­¬ng T.tin y/c T/tin tr¶ lêi B¸o c¸o l­¬ng nh©n sù Nhµ qu¶n lý Th«ng tin y/c Thèng kª theo tr×nh ®é Th«ng tin yªu cÇu B¶ng l­¬ng cña NV In Th«ng tin vÒ tr×nh ®ä cña NV Hå s¬ TK theo tr×nh ®é NN Thèng kª ®Õn tuæi nghØ chÕ ®é Th«ng tin yªu cÇu tr×nh ®é Th«ng tin yªu cÇu Danh s¸ch nh©n viªn ®Õn tuæi nghØ chÕ ®é Ch­¬ng III: ThiÕt kÕ hÖ thèng I.ThiÕt kÕ c¬ së d÷ liÖu S¬ ®å liªn kÕt thùc thÓ §Ó x©y dùng mét hÖ c¬ së d÷ liÖu gióp cho m¸y tÝnh lµm viÖc cã hiÖu qu¶ cao trong qu¸ tr×nh xö lý c¸c c«ng viÖc, ta ph¶i thiÕt kÕ mét hÖ c¬ së d÷ liÖu ®¶m b¶o ®­îc nh÷ng yªu cÇu sau. Tr¸nh ®­îc sù d­ thõa th«ng tin, d÷ liÖu §¶m b¶o ®­îc sù an toµn d÷ liÖu, tr¸nh sù mÊt m¸t th«ng tin khi thùc hiÖn c«ng viÖc. §¶m b¶o gi¶m ®­îc ®é phøc t¹p tÝnh to¸n, dÔ sö dông khi khai th¸c d÷ liÖu. Giai ®o¹n nµy dùa trªn c¸c mÉu biÓu thu thËp th«ng tin ®Çu vµo cña hÖ thèng. Ngoµi th«ng tin nhËn ®­îc khi tiÕn hµnh ph©n tÝch c¸c mÉu biÓu th× qu¸ tr×nh tiÕp xóc còng lµ nguån th«ng tin quan träng gióp x¸c ®Þnh c¸c thùc thÓ, kiÓu thùc thÓ, mçi quan hÖ c¸c thùc thÓ. Víi mçi thùc thÓ cÇn x¸c ®Þnh c¸c th«ng tin nh­: Tªn thùc thÓ, thuéc tÝnh, quan hÖ gi÷a c¸c thùc thÓ, khãa. Sau khi chuÈn hãa m« h×nh thùc thÓ liªn kÕt dùa theo d¹ng chuÈn 3 cña m« h×nh d÷ liÖu quan hÖ ta thu ®­îc m« h×nh thùc thÓ liªn kÕt. M« h×nh thùc thÓ liªn kÕt Dïng ®Ó x¸c ®Þnh c¸c th«ng tin c¬ së cã Ých cho hÖ thèng gióp ta nhËn râ mèi quan hÖ bªn trong hoÆc c¸c tham trá chÐo gi÷a chóng. M« h×nh luång d÷ liÖu chøa ®Çy ®ñ c¸c thuéc tÝnh hay c¸c c¬ së d÷ liÖu cÇn thiÕt cho c«ng t¸c qu¶n lý. Tr¸nh ®­îc møc d­ thõa hay tæn thÊt nhÊt ®Þnh, thuËn lîi cho viÖc x©y dùng vµ thiÕt kÕ ch­¬ng tr×nh. Tõ sù ph©n tÝch vÒ hÖ thèng chøc n¨ng xö lý cña hÖ thèng biÓu ®å ph©n cÊp chøc n¨ng, biÓu ®å luång d÷ liÖu ta cã thÓ x©y dùng m« h×nh thùc thÓ liªn kÕt ®Ó l­u tr÷ c¸c th«ng tin vÒ c¸c thùc thÓ nh­ sau: Luong Maluong Hsluong Tongiao Matongiao Tentongiao Phongban Mapb Tenpb Trinhdong.. Matdnn Tentdnn Dantoc Madantoc Tendantoc Trinhdoch.. Matdcm Tentdcm Ngaycong Manv Ngaycong Thang Nam 1 1 1 1 1 1 ∞ ∞ ∞ ∞ ∞ ∞ Hoso Manv Maluong Mapb Hoten Ngaysinh Gioitinh Socmnd Matdcm Matdnn Hktt Diachi Madantoc Matongiao Ngayvaodoan Ngayvaodang Khenthuong Kyluat Qtct ∞ 1 ThiÕt kÕ tÖp Môc ®Ých: X©y dùng d÷ liÖu tõ biÓu ®å cÊu tróc d÷ liÖu cã th«ng tin ®Çy ®ñ vµ cho phÐp truy nhËp nhanh. Ph­¬ng thøc tiÕn hµnh dùa trªn hÖ qu¶n trÞ c¬ së d÷ liÖu cã s½n sö dông c¸c ng«n ng÷ ®Þnh nghÜa d÷ liÖu ®Ó x©y dùng c¸c tÖp d÷ liÖu. 1. B¶ng HOSO HOSO Thuéc tÝnh Lo¹i §é réng Gi¶i thÝch Thùc thÓ MANV C 5 m· nh©n viªn MAPB C 5 m· phßng ban MALUONG C 5 m· l­¬ng HOTEN C 22 hä tªn NGAYSINH D 8 ngµy sinh GIOITINH C 8 giíi tÝnh DIACHI C 28 ®Þa chØ CHUCDANH C 10 chøc danh MATDCM C 6 m· tr×nh ®é chuyªn m«n MATDNN C 6 m· tr×nh ®é ngo¹i ng÷ HKTT C 20 hé khÈu th­êng tró DANTOC C 10 d©n téc TONGIAO C 10 t«n gi¸o NVDOAN D 8 ngµy vµo ®oµn NVDANG D 8 ngµy vµo ®¶ng KHENTHUONG M khen th­ëng KYLUAT M kû luËt QTCT M qu¸ tr×nh c«ng t¸c 2. B¶ng LUONG LUONG Thuéc tÝnh Lo¹i §é réng Gi¶i thÝch Thùc thÓ MALUONG C 5 m· l­¬ng HSLUONG N 5 hÖ sè l­¬ng LUONGCB N 10 l­¬ng c¬ b¶n 3. B¶ng PHONGBAN PHONGBAN Thuéc tÝnh Lo¹i §é réng Gi¶i thÝch Thùc thÓ MAPB C 5 m· phßng ban TENPB C 5 tªn phßng ban 4. B¶ng TONGIAO TONGIAO Thuéc tÝnh Lo¹i §é réng Gi¶i thÝch Thùc thÓ MATONGIAO C 5 m· t«n gi¸o TENTONGIAO C 5 tªn t«n gi¸o 5. B¶ng NGAYCONG NGAYCONG Thuéc tÝnh Lo¹i §é réng Gi¶i thÝch Thùc thÓ MANV C 5 m· nh©n viªn NGAYCONG C 5 ngµy c«ng THANG C 5 th¸ng NAM C 5 n¨m 6. B¶ng TRINHDOCM TRINHDOCM Thuéc tÝnh Lo¹i §é réng Gi¶i thÝch Thùc thÓ MATDCM C 5 m· tr×nh ®é chuyªn m«n TENTDCM C 5 tªn tr×nh ®é chuyªn m«n 7. B¶ng TRINHDONN TRINHDONN Thuéc tÝnh Lo¹i §é réng Gi¶i thÝch Thùc thÓ MATDNN C 5 m· tr×nh ®é ngo¹i ng÷ TENTDNN C 5 tªn tr×nh ®é ngo¹i ng÷ 8. B¶ng DANTOC DANTOC Thuéc tÝnh Lo¹i §é réng Gi¶i thÝch Thùc thÓ MADANTOC C 5 m· d©n téc TENDANTOC C 5 tªn d©n téc Ch­¬ng IV. CµI §ÆT Vµ øNG DôNG I. Mét sè giao diÖn chÝnh vµ ho¹t ®éng 1. Form hå s¬ cho phÐp nhËp, söa, xo¸ th«ng tin nh©n viªn Dim fag As Integer Private Sub cmdAE_Click() Dim sql As String Dim sex As Integer Call Opendb Select Case cmdAE.Caption Case "T¹o míi" fag = 0 cmdAE.Caption = "L­u l¹i" Call AddEnableT 'txtSex = txtSex.List(0) 'txtTG = txtTG.List(0) 'txtDT = txtDT.List(0) 'txtPB = txtPB.List(0) 'txtTDCM = txtTDCM.List(0) 'txtTDNN = txtTDNN.List(0) 'txtLuong = txtLuong.List(0) txtHoTen.SetFocus lstNV.Enabled = False Case "Söa ®æi" fag = 1 cmdAE.Caption = "L­u l¹i" Call AddEnableT txtHoTen.SetFocus lstNV.Enabled = False Case "L­u l¹i" If Trim(txtHoTen) = "" Or Trim(txtDiachi) = "" _ Or Trim(txtCMND) = "" Or Trim(txtHKTT) = "" _ Or txtSex.ListIndex < 0 Or txtLuong.ListIndex < 0 _ Or txtPB.ListIndex < 0 Or txtDT.ListIndex < 0 _ Or txtTG.ListIndex < 0 Or txtTDCM.ListIndex < 0 _ Or txtTDNN.ListIndex < 0 Then MsgBox " B¹n ph¶i ®iÒn ®Çy ®ñ th«ng tin vµo c¸c « trèng.", vbInformation, "Th«ng b¸o" Exit Sub End If If txtSex = "Nam" Then sex = 1 Else sex = 0 End If If fag = 0 Then sql = "insert into hoso(maluong,mapb,hoten,ngaysinh,gioitinh,socmnd,matdcm,matdnn,hktt,diachi,madantoc,matongiao,ngayvaodoan,ngayvaodang)" sql = sql & "Values(" & txtLuong.ItemData(txtLuong.ListIndex) & "," & txtPB.ItemData(txtPB.ListIndex) & ",'" & txtHoTen & "','" & txtNgaysinh & "','" sql = sql & sex & "'," & txtCMND & "," & txtTDCM.ItemData(txtTDCM.ListIndex) & "," & txtTDNN.ItemData(txtTDNN.ListIndex) & ",'" & txtHKTT & "','" sql = sql & txtDiachi & "'," & txtDT.ItemData(txtDT.ListIndex) & "," & txtTG.ItemData(txtTG.ListIndex) & ",'" & txtDoan & "','" & txtDang sql = sql & "')" db.Execute sql cmdAE.Caption = "T¹o míi" ElseIf fag = 1 Then sql = "Update hoso set maluong=" & txtLuong.ItemData(txtLuong.ListIndex) & ",mapb=" & txtPB.ItemData(txtPB.ListIndex) & ",hoten='" & txtHoTen & "',ngaysinh='" & txtNgaysinh sql = sql & "',gioitinh='" & sex sql = sql & "',socmnd=" & txtCMND sql = sql & ",matdcm=" & txtTDCM.ItemData(txtTDCM.ListIndex) sql = sql & ",matdnn=" & txtTDNN.ItemData(txtTDNN.ListIndex) sql = sql & ",hktt='" & txtHKTT sql = sql & "',diachi='" & txtDiachi & "',madantoc=" & txtDT.ItemData(txtDT.ListIndex) & ",matongiao=" & txtTG.ItemData(txtTG.ListIndex) & ",ngayvaodoan='" & txtDoan & "',ngayvaodang ='" & txtDang & "'" sql = sql & " where manv=" & txtManv db.Execute sql cmdAE.Caption = "Söa ®æi" End If Call Form_Load Call AddEnableF lstNV.Enabled = True Call ClearTT End Select Call Closedb End Sub Private Sub cmdCancel_Click() If fag = 0 Then cmdAE.Caption = "T¹o míi" Call ClearTT Else cmdAE.Caption = "Söa ®æi" End If Call AddEnableF End Sub Private Sub cmdDel_Click() Dim a, sql As String Dim rs As Recordset Dim i As Integer If lstNV.ListIndex < 0 Then MsgBox "Chän tªn trªn danh s¸ch ®Ó ®­a vµo danh s¸ch nh÷ng ng­êi" & Chr(13) & "kh«ng lµm viÖc n÷a.", vbInformation, "Th«ng b¸o" Exit Sub End If a = MsgBox("B¹n cã ch¾c ch¾n kh«ng?", vbQuestion + vbYesNo, "Chó ý") If a = vbYes Then Call Opendb sql = "Select * from hoso where manv=" & lstNV.ItemData(lstNV.ListIndex) Set rs = db.OpenRecordset(sql) sql = "insert into nghiviec(manv,maluong,mapb,hoten,ngaysinh,gioitinh,socmnd,matdcm,matdnn,hktt,diachi,madantoc,matongiao,ngayvaodoan,ngayvaodang)" sql = sql & "Values(" & rs("manv") & "," & rs("maluong") & "," & rs("mapb") & ",'" & rs("hoten") & "','" & rs("ngaysinh") & "','" sql = sql & rs("gioitinh") & "'," & rs("socmnd") & "," & rs("matdcm") & "," & rs("matdnn") & ",'" & rs("hktt") & "','" sql = sql & rs("Diachi") & "'," & rs("madantoc") & "," & rs("matongiao") & ",'" & rs("ngayvaodoan") & "','" & rs("ngayvaodang") sql = sql & "')" db.Execute sql db.Execute "Delete * from hoso where manv=" & lstNV.ItemData(lstNV.ListIndex) Call Closers(rs) MsgBox "Hoµn thµnh c«ng viÖc." Call Closedb Call Form_Load End If End Sub Private Sub Form_Load() Dim sql, term, tu, toi As String Dim rs1 As Recordset Dim i, dem As Integer Call Opendb sql = "Select * from tdcm" Set rs1 = db.OpenRecordset(sql) txtTDCM.Clear i = 0 While Not rs1.EOF txtTDCM.AddItem rs1(1) txtTDCM.ItemData(i) = rs1(0) rs1.MoveNext i = i + 1 Wend 'luong sql = "Select * from luong" Set rs1 = db.OpenRecordset(sql) txtLuong.Clear i = 0 While Not rs1.EOF txtLuong.AddItem rs1(1) & " * " & rs1(2) txtLuong.ItemData(i) = rs1(0) rs1.MoveNext i = i + 1 Wend sql = "Select * from tdnn" Set rs1 = db.OpenRecordset(sql) txtTDNN.Clear i = 0 While Not rs1.EOF txtTDNN.AddItem rs1(1) txtTDNN.ItemData(i) = rs1(0) rs1.MoveNext i = i + 1 Wend sql = "Select * from dantoc" Set rs1 = db.OpenRecordset(sql) txtDT.Clear i = 0 While Not rs1.EOF txtDT.AddItem rs1(1) txtDT.ItemData(i) = rs1(0) rs1.MoveNext i = i + 1 Wend sql = "Select * from phongban" Set rs1 = db.OpenRecordset(sql) txtPB.Clear i = 0 While Not rs1.EOF txtPB.AddItem rs1(1) txtPB.ItemData(i) = rs1(0) rs1.MoveNext i = i + 1 Wend sql = "Select * from tongiao" Set rs1 = db.OpenRecordset(sql) txtTG.Clear i = 0 While Not rs1.EOF txtTG.AddItem rs1(1) txtTG.ItemData(i) = rs1(0) rs1.MoveNext i = i + 1 Wend txtSex.Clear txtSex.AddItem "Nam" txtSex.AddItem "Nu" If Len(sTim) > 0 Then term = right(sTim, 1) sTim = Left(sTim, Len(sTim) - 1) Select Case term Case "M" sql = "Select manv,hoten from hoso where manv=" & sTim Case "T" sql = "Select manv,hoten from hoso where matdcm=" & sTim Case "L" dem = InStr(1, sTim, "A", vbTextCompare) tu = Mid(sTim, 1, dem - 1) toi = Mid(sTim, dem + 1) With frmTimL If .optB = True Then sql = "Select s.manv,s.hoten from hoso s,luong l where l.maluong=s.maluong and l.luong =" & tu If .optL = True Then sql = "Select s.manv,s.hoten from hoso s,luong l where l.maluong=s.maluong and l.luong >=" & tu If .optN = True Then sql = "Select s.manv,s.hoten from hoso s,luong l where l.maluong=s.maluong and l.luong <=" & tu If .optK = True Then sql = "Select s.manv,s.hoten from hoso s,luong l where l.maluong=s.maluong and l.luong >= " & tu & " and l.luong <= " & toi End With End Select Else sql = "Select manv,hoten from hoso" End If Set rs1 = db.OpenRecordset(sql) lstNV.Clear i = 0 While Not rs1.EOF lstNV.AddItem rs1(1) lstNV.ItemData(i) = rs1(0) rs1.MoveNext i = i + 1 Wend Call Closers(rs1) Call Closedb Call AddEnableF cmdCancel.Enabled = False End Sub Sub AddEnableT() 'txtManv.Enabled = True txtHoTen.Enabled = True txtNgaysinh.Enabled = True txtDiachi.Enabled = True txtSex.Enabled = True txtPB.Enabled = True txtTDCM.Enabled = True txtTDNN.Enabled = True txtCMND.Enabled = True txtHKTT.Enabled = True txtDang.Enabled = True txtDoan.Enabled = True txtDT.Enabled = True txtTG.Enabled = True txtLuong.Enabled = True cmdCancel.Enabled = True End Sub Sub AddEnableF() txtManv.Enabled = False txtHoTen.Enabled = False txtNgaysinh.Enabled = False txtDiachi.Enabled = False txtSex.Enabled = False txtPB.Enabled = False txtTDCM.Enabled = False txtTDNN.Enabled = False txtCMND.Enabled = False txtHKTT.Enabled = False txtDang.Enabled = False txtDoan.Enabled = False txtDT.Enabled = False txtTG.Enabled = False txtLuong.Enabled = False cmdCancel.Enabled = False End Sub Sub ClearTT() txtHoTen = "" txtDiachi = "" txtHKTT = "" txtDoan = "" txtDang = "" txtCMND = "" txtManv = "" End Sub Private Sub lstNV_Click() Dim rs As Recordset Dim sql, a As String Dim i As Integer Call Opendb With lstNV If .ListIndex >= 0 Then sql = "select * from hoso where manv=" & .ItemData(.ListIndex) Set rs = db.OpenRecordset(sql) If Not rs.EOF Then txtManv = rs("manv") txtHoTen = rs("hoten") txtNgaysinh = rs("ngaysinh") If rs("gioitinh") = False Then txtSex = "Nu" Else txtSex = "Nam" End If txtDiachi = rs("diachi") txtCMND = rs("socmnd") txtHKTT = rs("hktt") txtDoan = rs("ngayvaodoan") txtDang = rs("ngayvaodang") 'tdcm For i = 0 To txtTDCM.ListCount - 1 If rs("matdcm") = txtTDCM.ItemData(i) Then txtTDCM = txtTDCM.List(i) Next 'tdnn For i = 0 To txtTDNN.ListCount - 1 If rs("matdnn") = txtTDNN.ItemData(i) Then txtTDNN = txtTDNN.List(i) Next 'dt For i = 0 To txtDT.ListCount - 1 If rs("madantoc") = txtDT.ItemData(i) Then txtDT = txtDT.List(i) Next 'tg For i = 0 To txtTG.ListCount - 1 If rs("matongiao") = txtTG.ItemData(i) Then txtTG = txtTG.List(i) Next 'pb For i = 0 To txtPB.ListCount - 1 If rs("mapb") = txtPB.ItemData(i) Then txtPB = txtPB.List(i) Next 'luong For i = 0 To txtLuong.ListCount - 1 If rs("maluong") = txtLuong.ItemData(i) Then txtLuong = txtLuong.List(i) Next End If End If End With Call Closers(rs) Call Closedb cmdAE.Enabled = True End Sub 2. Form b¶ng l­¬ng theo th¸ng Sub loadBL() With txtBL .Clear .Cols = 5 .Rows = 2 .ColWidth(0) = 3000 .ColAlignment(0) = 3 .ColWidth(1) = 3000 .ColWidth(2) = 1500 .ColWidth(3) = 1500 .ColWidth(4) = 1500 .ColAlignment(1) = 3 .ColAlignment(2) = 3 .ColAlignment(3) = 3 .ColAlignment(4) = 3 .TextMatrix(0, 0) = "Tªn nh©n viªn" .TextMatrix(0, 1) = "Ngµy c«ng" .TextMatrix(0, 2) = "L­¬ng cb" .TextMatrix(0, 3) = "Hs L­¬ng" .TextMatrix(0, 4) = "L­¬ng" End With End Sub Private Sub Form_Load() Dim i As Integer Call loadBL txtNam.Clear For i = 2000 To 2200 txtNam.AddItem i Next txtThang.Clear For i = 1 To 12 txtThang.AddItem i Next txtThang = txtThang.List(7) txtNam = txtNam.List(4) End Sub Private Sub txtNam_Click() Dim sql As String Dim rs As Recordset Dim i, j As Integer Call Opendb sql = "Select s.hoten,c.songaycong,l.luongcb,l.hsluong from hoso s,luong l,ngaycong c where s.maluong=l.maluong and s.manv=c.manv and c.thang='" & txtThang & "' and c.nam='" & txtNam & "'" Set rs = db.OpenRecordset(sql) Call loadBL i = 1 With txtBL While Not rs.EOF .TextMatrix(i, 0) = rs("hoten") .TextMatrix(i, 1) = rs("songaycong") .TextMatrix(i, 2) = rs("luongcb") .TextMatrix(i, 3) = rs("hsluong") .TextMatrix(i, 4) = Val(rs("luongcb")) * Val(rs("hsluong")) rs.MoveNext i = i + 1 Wend End With Call Closedb End Sub Private Sub txtThang_Click() Call txtNam_Click End Sub 3. Form b¶ng chÊm c«ng vµ b¶ng cËp nhËt l­¬ng c¬ b¶n Private Sub back_Click() Frame1.Enabled = True Frame2.Enabled = False txtC = "" End Sub Private Sub cmdCham_Click() Dim sql As String Dim rs As Recordset Call Opendb If Trim(txtC) = "" Then Exit Sub Set rs = db.OpenRecordset("select manv from ngaycong where manv=" & lstDs.ItemData(lstDs.ListIndex) & " and thang='" & txtThang.ItemData(txtThang.ListIndex) & "' and nam='" & txtNam & "'") If Not rs.EOF Then MsgBox "Nh©n viªn nµy ®· ®­îc chÊm c«ng." Exit Sub End If sql = "Insert into ngaycong(manv,songaycong,thang,nam)values(" & lstDs.ItemData(lstDs.ListIndex) & "," & txtC & "._.

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

  • doc4063.doc
Tài liệu liên quan