Xây dựng hệ thống thông tin quản lý nhân sự tại Công ty cổ phần Thiên Minh

Lời nói đầu Trong cuộc sống thông tin được sử dụng hàng ngày. Con người có nhu cầu nghe đài, đọc báo, tham khảo ý kiến người khác… để thu nhận thông tin mới. Khi tiếp nhận thông tin con người phải xử lý nó để tạo ra thông tin có ích hơn, thân thiện hơn để đi đến một quyết định chắc chắn. Để xử lý thông tin con người phải sử dụng một số công cụ nhất định như giấy, bút… và chính trí nhớ của con người. Có thể nói thông tin đóng một vai trò quan trọng trong đời sống, trong Khoa học, kỹ thuật, trong

doc152 trang | Chia sẻ: huyen82 | Lượt xem: 1425 | Lượt tải: 2download
Tóm tắt tài liệu Xây dựng hệ thống thông tin quản lý nhân sự tại Công ty cổ phần Thiên Minh, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
kinh doanh, trong quan hệ cũng như mọi hoạt động khác của xã hội. Chúng ta đang sống trong một kỷ nguyên với sự bùng nổ của thông tin hết sức mạnh mẽ và phong phú. Thông tin trở thành một nguồn tài nguyên quan trọng, nguồn của cải vô giá của con người. Vì vậy việc nắm bắt thông tin nhanh, lưu trữ thông tin với số lượng lớn và xử lý thông tin chính xác kịp thời đóng một vai trò cốt lõi trong các bài toán. Để những công nghệ khao học tiên tiến. Tin học là một ngành khoa học đáp ứng được các đòi hỏi đó. Những năm gần đây, trên thế giới nói chung và nước ta nói riêng tin học đã phát triển nhanh chóng, tin học đã được áp dụng trong nhiều ngành: Khoa học, công nghệ, quản lý kinh tế, sản xuất kinh doanh, giáo dục… Đặc biệt là trong ngành quản lý, nó giúp các nhà quản lý giải quyết công việc một cách khoa học và chính xác. Nước ta đã có chủ trương tin học hóa, từng bước đưa ứng dụng tin học vào công tác quản lý và giảng dạy. Với tình hình hiện nay các cơ quan đã sớm đưa máy tính vào sử dụng tuy nhiên mới chỉ khai thác ở mức độ văn phòng. Phần mềm cho công tác quản lý cần thiết cho tình hình hiện nay. Từ yêu cầu thiết kế một chương trình quản lý là rất cần thiết cho tình hình hiện nay. Từ yêu cầu thực tế này cùng với nhiệm vụ cho phép tôi làm đề tài tốt nghiệp với yêu cầu của đề tài là: " Xây dựng hệ thống thông tin quản lý nhân sự tại công ty cổ phần Thiên Minh” chương trình ngoài phần lời nói đầu và kết luận được chia làm 3 chương: chương I: Tổng quan về công ty cổ phần Thiên Minh. chươngII:Bài toán quản lý nhân sự và cơ sở phương pháp luận xây dựng đề tài. chương III: phân tích và thiết kế phần mềm quản lý nhân sự tại công ty cổ phần Thiên Minh. Trong thời gian làm đề tài mặc dù bản thân tôi đã có nhiều cố ngắng nhưng vì đây là lần đầu tiên xây dựng một ứng dụng tin học vào thực tế, cùng với thời gian tìm hiểu học hỏi không được nhiều nên khả năng nắm bắt vấn đề và giải quyết bài toán còn nhiều thiếu sót. Kính mong được sự giúp đỡ của thầy giáo hướng dẫn ThS. Nguyễn Anh Phương cùng các thầy cô và bạn bè trong trường, để tôi có thể hoàn thành tốt chương trình này, và sớm được đưa vào áp dụng cho công tác quản lý nhân sự của cơ quan. Cuối cùng xin bày tỏ lòng biết ơn sâu sắc tới thầy Nguyễn Anh Phương hướng dẫn giúp đỡ tôi tạo điều kiện giúp đỡ tôi hoàn thành nhiệm vụ này. Xin chân thành cảm ơn! SV thực tập Vũ Hồng Tứ Chương I. Tổng quan về công ty cổ phần Thiên Minh 1.1. Giới thiệu về công ty cổ phần Thiên Minh 1.1.1. Giới thiệu chung - Tên công ty : công ty cổ phần Thiên Minh (Thiên Minh JSC). - Ngày thành lập : 03/09/ 1994 - Địa chỉ : Lô 3 Bằng quân - cẩm Định - Cẩm Giàng – Hải Dương - Điện thoại/ Fax : 03203572463 1.1.2. Ngành kinh doanh. - Kinh doanh thiết bị máy tính, máy in, đồ dùng văn phòng. - Phân phối sơn, các mặt hàng độc quyền. - Xây dựng cơ bản. 1.1.3. Các phòng ban và chức năng của các phòng. Công ty cổ phần Thiên Minh là công ty chuyên phân phối các mặt hàng của nhiều công ty sản xuất và công ty hoạt động trong lĩnh vực xây dựng. Công ty được chia ra có các bộ phận chủ yếu là: ban quản trị và ban giám đốc công ty. Phòng kế hoạch tổ chức. Phòng tài chính kế toán. Phòng kỹ thuật sản xuất. Phòng bảo hành. Phòng Kinh doanh. Trong các phòng ban công ty chia các phân nhóm riêng cho phù hợp với nhu cầu đặc thù riêng của công ty. Thuộc phòng kinh doanh thì có hai nhóm chính trực thuộc : Các đại lý chính phân phối các mặt hàng của công ty. Các của hàng trực tiếp do công ty mở ra để phân phối hàng hóa. Thuộc phòng kỹ thuật được phân cấp có 3 đội trực tiếp sản xuất : Đội sản xuất số 1. Đội sản xuất số 2. Đội sản xuất số 3. Chức năng trong từng bộ phận cụ thể trong công ty được phân ra cụ thể người chịu trách nhiệm: - Ban quản trị: Gồm có một chủ tịch và hai phó chủ tịch hội đồng quản trị. Chịu trách nhiệm tìm ra kế hoạch chung và đường nối phát triển cho các phòng ban thực thi và triển khai. - Ban giam đốc: Gồm có một giám đốc điều hành (là phó chủ tịch hội đồng quản trị) và ba phó giám đốc, chịu trác nhiệm điều hành công ty. - Phòng kế hoạch tổ chức: gồm một trưởng phòng và hai phó phòng, một phó phòng chịu trách nhiệm nhân sự và một phó phòng chịu trách nhiệm về công điềm và một số nhân viên. - Phòng kế toán: gồm một kế toán trưởng và bốn nhân viên kế toán. - Phòng kỹ thuật: gồm có một trưởng phòng và ba phó phòng chịu trách nhiệm về kỹ thuật xây dựng và các nhân viên. - Phòng bảo hành: gồm một trưởng phòng và hai phó phòng, chịu trách nhiệm và kỹ thuật bán hàng, bảo hành sản phẩm và một số nhân viên. - Phòng kinh doanh: gồm một trưởng phòng và hai phó phòng, chịu trách nhiệm về bán hàng và nhập hàng và một số nhân viên. 1.1.4. Sơ đồ hoạt động của công ty Ban quản trị Ban giám đốc Phòng kinh doanh Phòng bảo hành Phòng kế toán Phòng kỹ thuật Đại lý của công ty Đội sản xuất số 3 Đội sản xuất số 2 Đội sản xuất số 1 Ban nhân sự Ban chấm công Phòng kế hoạch tổ chức Cửa hàng của công ty 1.2. Tìm hiểu về hệ thống thông tin tại công ty Thiên Minh 1.2.1. Tìm hiểu về hệ thống thông tin tại công ty Trong quá trình thực tập tại công ty được cai hộ và nhân viên công ty hướng dẫn chỉ bảo tận tình em đã được tiếp xúc với hệ thống máy tính của công ty. Tất cả các phòng ban của công ty đều được lắp đặt hệ thống máy tính hiện đại và an toàn. Máy tính tại công ty đều được nối mạng internét và mạng Lan. Qua quá trình tìm hiểu em thấy công ty đang sử dụng một số phần mềm phục vụ tại công ty là: - Phần mềm kế toán - Phần mềm quản lý hàng hóa - vật tư - Phần mền kế toán bán hàng 1.2.2. Thực tại hệ thống tin tại công ty Tất cả các phần mềm của công ty đều được mua có bản quyền và tương đối hiện đại và phù hợp với nhu cầu kinh doanh tại công ty. Hệ thống máy tính tại công ty đều được lắp đặt nối mạng Internet và mạng cục bộ. Hiện nay do nhu cầu kinh doanh của công ty ngày càng mở rộng cho nên việc tuyển và cập nhập nhân viên mới là rất bất cập. Do vậy em đã chọn đề tài về quản lý nhân sự tại công ty Thiên Minh 1.3. Đề tài và ngôn ngữ thực hiện đề tài. 1.3.1. Đề tài. Trong quá trình tìm hiểu và thực hiện tại công ty em cảm thấy vấn đề quản lý con người là rất quan trọng. Vấn đề nhân sự là yếu tố phát triển và sống còn trong hoạt động sản xuất kinh doanh của các doanh nghiệp. Hiện nay vấn đề tin học hóa đang diễn biến mạnh mẽ trong tất cả các doanh nghiệp và hoà nhập đã tiến triển mạnh mẽ. Doanh nghiệp nào không tự trang bị cho mình những phần mềm quản lý tốt sẽ gặp nhiều khó khăn trong sản xuất kinh doanh Từ thực tại trên em chọn đề tài thực hiện cho mình là: "Xây dựng hệ thống thông tin quản lý nhân sự tại công ty cổ phần Thiên Minh" 1.3.2. Ngôn ngữ xây dựng phần mềm và phạm vi của phần mền. Qua quá trình được học tập và nghiên cứu tại nhà trường, em thấy visua Foxpro là ngôn ngữ tiện sử dụng và phù hợp với khả năng bản thân. Do vậy để hoàn thành đề tài của mình em chọn Visua Foxpro là ngôn ngữ để hoàn thành chương trình. Phạm vi của chương trình Chương trình quản lý nhân sự được lập hoàn chỉnh với những tính chất của một chương trình thông dụng ( Thêm, Xoá, Sửa, Tra cứu, Thống kê, Báo cáo ). Chương trình xây dựng phần tính lương cho nhân viên nhưng chỉ trên môi trường máy đơn. Kém về bảo mật. Không thể thực thi với ứng dụng mạng. Khả năng của chương trình Với yêu cầu và mục đích như trên chương trình quản lý nhân sự có những khả năng sau đây để nhằm phục vụ cho việc quản lý hồ sơ của các nhân viên : Nhập hồ sơ của các nhân viên, cán bộ mới vào cơ quan hoặc từ nơi khác đến. Sau đó, lưu lại hồ sơ của các cán bộ trong cơ quan đã về hưu hoặc chuyển thôi công tác. Xem – Sửa hồ sơ của các nhân viên, cán bộ đang làm việc trong cơ quan, đã về hưu hoặc chuyển thôi công tác. Có thể xem – sửa theo mã hồ sơ, mã cán bộ, mã phòng ban, số điện thoại, địa chỉ, chức vụ và tổng số tiền lĩnh trong tháng. Tìm kiếm hồ sơ của các nhân viên, cán bộ trong cơ quan. Tìm kiếm theo mã hồ sơ, mã cán bộ, mã phòng ban, họ và tên, ngày sinh, trình độ, ngày lên lương, mức lương chính. Xoá hồ sơ của các cán bộ, nhân viên trong cơ quan mà đã về hưu hoặc chuyển thôi công tác. - Trước đây, khi cán bộ, nhân viên nghỉ hưu hoặc chuyển thôi công tác thì bộ phận quản lý hồ sơ của Công ty chuyển toàn bộ hồ sơ đầu vào và đầu ra của cán bộ đó sang bộ phận bảo hiểm. Sau đó, bộ phận bảo hiểm tính mức lương được hưởng với mỗi cán bộ, nhân viên theo quá trình công tác và sao lưu hồ sơ cán bộ, nhân viên đó. - Nhưng hiện nay, theo thông tư mới của Nhà nước ban hành. Khi cán bộ, nhân viên nghỉ hưu hoặc chuyển thôi công tác thì bộ phận quản lý hồ sơ của Công ty chuyển toàn bộ hồ sơ đầu vào và đầu ra của cán bộ đó sang bộ phận bảo hiểm. Sau khi bộ phận bảo hiểm tính mức lương xong phải trả lại hồ sơ cán bộ về bộ phận quản lý hồ sơ của Công ty. - Tóm lại, tuỳ theo từng thời điểm mà chức năng này có thể được sử dung hoặc không được sử dụng. In trích ngang hoặc chi tiết hồ sơ của các cán bộ, nhân viên từng phòng ban trong toàn cơ quan hoặc cán bộ đã về hưu, chuyển thôi công tác. In các bảng tổng hợp như : Tổng hợp lương, tổng hợp trình độ, tổng hợp ngày lên lương lần cuối cùng, tổng hợp những cán bộ đủ điều kiên về hưu. Hệ thống còn có khả năng thường xuyên thông báo cho ban lãnh đạo về các mặt công tác : tổ chức lao động, tiền lương, thi đua, chấm công, khen thưởng, kỷ luật … hệ thống này đặt dưới sự chỉ đạo trực tiếp của giám đốc. Với những khả năng như vậy, hệ thống quản lý nhân sự có nhiệm vụ luôn cập nhật hồ sơ cán bộ, công nhân, nhân viên theo quy định, thường xuyên bổ xung những thông tin thay đổi trong quá trình công tác của cán bộ công nhân viên, việc theo dõi và quản lý lao động để chấm công và thanh toán lương cũng là nhiệm vụ quan trọng của hệ thống. Ngoài ra, công tác thống kê báo cáo tình hình theo yêu cầu của ban giám đốc cũng là một nhiệm vụ không thể thiếu trong hệ thống quản lý nhân sự. Chương II. bài toán Quản lý nhân sự và cơ sở phương pháp luận xây dựng đề tài 2.1.tổng quan về hệ thống quản lý nhân sự. 2.1.1. Khái niệm, mục tiêu, tầm quan trọng của quản trị nhân lực Hiện nay do sự phát triển của toàn xã hội cũng như việc phát triển riêng của công nghệ cao cho lên việc quản lý con người có tầm chiến lược quan trọng. Do đó vấn đề cạnh tranh và quản lý con người có tầm chiến lược. Quản lý nhân sự thự chất là vấn đề quản lý con người. Yêu cầu của thực tiễn là quản lý con người đó như tế nào? Vấn đề là quản lý con người, nguồn lực đó làm sao đạt hiệu quả cao nhất để doanh nghiệp đạt được hiệu quả làm việc cao nhất tạo điều kiện cho phát triển. Bất cứ tổ chức nào cũng được tạo thành bởi các thành viên và con người hay nguồn nhân lực của nó. Do đó, có thể nói nguồn nhân lực của một tổ chức bao gồm tất cả những người lao động làm việc trong tổ chức đó, còn nhân lực được hiểu là nguồn lực của mỗi con người mà nguồn lực này gồm có thể lực và trí lực Thể lực chỉ sức khoẻ của thân thể, nó phụ thuộc vào sức vóc, tình trạng sức khoỏe của từng con người, mức sống, thu nhập, chế độ ăn uống, chế độ làm việc và nghỉ ngơi, chế độ y tế. Thể lực của con người còn tuỳ thuộc vào tuổi tác, thời gian công tác, giới tính… Trí lực chỉ sức suy nghĩ, sự hiểu biết, sự tiếp thu kiến thức, tài năng, lòng tin nhân cách của từng con người. Trong sản xuất kinh doanh truyền thông, việc tận dụng các tiềm năng về thể lực của con người là không bao giờ thiếu hoặc lãng quên và có thể nói đã được khai thác gần tới mức cạn kiệt. Sự khai thác các tiềm năng về trí lực của con người còn ở mức mới mẻ chưa bao giờ cạn kiệt, vì đây là kho tàng còn nhiều bí ẩn của mỗi con người. Có nhiều cách hiểu về quản trị nhân lực, khái niệm quản trị nhân lực có thể trình bày ở nhiều giác độ khác nhau. Với tư cách là một trong những chức năng cơ bản của quản trị tổ chức thì quản lý nhân sự bao gồm việc hoạch định, tổ chức, chi huy và kiểm soát các hoạt đồng nhằm thu hút, sử dụng và phát triển con người để có thể đạt được các mục tiêu của tổ chức. Đi sâu vào việc làm của quản trị nhân sự người ta có thể hiểu quản trị nhân sự là việc tuyển mộ, tuyển chọn, duy trì và phát triển, động viên và cung cấp tiện nghi cho nhân lực thông qua tổ chức của nó. Song ở giác độ nào thì quản trị nhân sự vẫn là các hoạt động của một tổ chức để thu hút, xây dựng, phát triển, sử dụng, đánh giá, bảo toàn và giữ gìn một lực lượng lao động phù hợp với yêu cầu của công việc của tổ chức cả về mặt số lượng và chất lượng. Đối tượng của quản trị nhân sự là người lao động với tư cách là mỗi cá nhân, cán bộ trong mỗi tổ chức và các vấn đề có liên quan đến họ như công việc và các quyền lợi, nghĩa vụ của họ trong tổ chức. Mục tiêu cơ bản của bất kỳ tổ chức nào cũng là sử dụng một cách có hiệu suất nguồn nhân lực để đạt được mục tiêu của tổ chức đó. Quản trị nhân lực nhằm củng cố và duy trì đầy đủ số lượng và chất lượng lao động cần thiết cho tổ chức để đạt được mục tiêu đặt ra. Quản trị nhân lực giúp tìm kiếm và phát triển những hình thức, những phương pháp tốt nhất để người lao động có thể góp nhiều sức lực cho việc đạt được các mục tiêu của tổ chức đồng thời cũng tạo những cơ hội để phát triển không ngừng cho bản thân người lao động. Quản trị nhân lực là bộ phận cấu thành và không thể thiếu của quản trị kinh doanh. Quản trị nhân lực thường là nguyên nhân của thành công hay thất bại trong các hoạt động sản xuất kinh doanh. Thực chất của quản trị nhân lực là công tác quản lý trong phạm vi nội bộ một tổ chức, là sự đối sử của tổ chức đối với người lao động. Nói cách khác, quản trị nhân lực chịu trách nhiệm về việc đưa con người vào tổ chức, giúp cho họ thực hiện công việc, thù lao cho sức lao động của họ và giải quyết các vấn đề phát sinh. Con người là yếu tố cấu thành lên tổ chức, vận hành tổ chức và quyết định sự thành bại của tổ chức. Nguồn nhân lực là một trong những nguồn lực không thể thiếu, mặt khác quản lý các nguồn lực khác cũng sẽ không có hiệu quả nếu tổ chức không quản lý hiệu quả nguồn nhân lực, vì suy đến cùng mọi hoạt động quản lý đều thực hiện bởi con người. Trong thời đại ngày nay quản trị nhân lực có tầm quan trọng ngày càng tăng vì những lý do sau. Do sự cạnh tranh ngày càng gay gắt trên thị trường nên các tổ chức muốn tồn tại và phát triển buộc phải cải tổ tổ chức theo hướng tinh giảm gọn nhẹ năng động trong đấy yếu tố con người mang tính quyết định. Sự tiến bộ của khoa học kỹ thuật cũng như sự phát triển của nền kinh tế buộc các nhà quản trị phải tuyển chọn sắp xếp đào tạo điều động nhân sự trong tổ chức nhằm đạt hiệu quả tối ưu. Nghiên cứu về quản lý nhân lực giúp các nhà quản trị học học được cách giao tiếp với người khác, biết cách đánh giá nhân viên chính xác, tránh được các sai lầm trong việc tuyển chọn sử dụng lao động để nâng cao hiệu quả trong công việc. 2.1.2. hoạt động chủ yếu của quản trị nhân lực Ngày nay hoạt động sản xuất kinh doanh ngày nay đặt ra cho quản trị nhân lực rất nhiều vấn đề cần giải quyết. Bao gồm từ việc đối phó với những thay đổi của môi trường kinh doanh, những biến động không ngừng của thị trường lao động hay những thay đổi của pháp luật về lao động… Tuy nhiên có thể phân chia các hoạt động chủ yếu của quản trị nhân lực theo 3 vấn đề cơ bản và quan trọng nhất chủ yếu là: Nhóm chức năng thu hút(hình thành) nguồn nhân lực: bao gồm các hoạt động bảo đảm cho tổ chức có đủ nhân viên về số lượng cũng như chất lượng. Muốn vậy tổ chức phải tiến hành: kế hoạch hoá nhân lực; phân tích, thiết kế công việc; biên chế nhân lực; tuyển mộ, tuyển chọn, bố trí nhân lực. Nhóm chức năng đào tạo và phát triển nguồn nhân lực: Nhóm chức năng này chú trọng các hoạt động nhằm nâng cao năng lực của nhân viên, đảm bảo cho nhân viên trong tổ chức có các ký năng , trình độ lành nghề cần thiết để hoàn thành công việc được giao và tạo điều kiện cho nhân viên phát triển được tối đa các năng lực cá nhân. Bên cạnh sẹ đào tạo mới còn có các hoạt động đào tạo lại nhân viên mỗi khi có sự về nhu cầu sản xuất kinh doanh hay quy trình kỹ thuật, công đổi mới. Nhóm chức năng duy trì nguồn nhân lực: nhóm này chú trọng đến việc duy trì và sử dụng có hiệu quả nguồn nhân lực trong tổ chức. Nhóm chức năng này bao gồm 3 hoạt động chính: đánh giá thực hiện công việc và thù lao lao động cho nhân viên, duy trì và phát triển các mối quan hệ lao động tốt đẹp trong doanh nghiệp. 2.1.3. Xu thế phát triển của quản trị nhân lực Giai đoạn sơ khai của quản trị nhân lực bắt đầu từ thời kỳ trung cổ, khi lao động còn thực hiện ở hình thức tự nhiên. Sự phát triển thành phố và làng mạc đã tạo ra những nhu cầu mới về hàng hoá và dịch vụ cũng như việc làm cho những người muốn thoát khỏi áp bức, bóc lột của xã hội phong kiến. Những người thợ thủ công đã tập hợp nhau lại thành các phường hội, tự tổ chức quá trình lao động của mình thường do người thợ cả, người thợ lành nghề nhất hoặc gia trưởng (tộc trưởng) định ra, điều hành phân công lao động giữa những người lao động trong những nhóm không lớn. Qua hệ xã hội của sản xuất vật chất trong giao đoạn này thể hiện sự phụ thuộc cá nhân người lao động đối với những hình thức bắt buộ ngoài kinh tế của lao động Phát triển công trường thủ công, đưa đến sự tiếp cận mới trong lãnh đạo hoạt động lao động. Phá vỡ khuôn khổ xưởng thủ công, công trường thủ công kết hợp các xưởng thủ công độc lập trước đó đưa phân công lao động trợc tiếp vào quá trình sản xuất. Quan hệ lao động trở thành quan hệ thống trị phụ thuộc (giữa người lắm giữ tư liệu sản xuất, hàng hoá và người làm thuê). Trong hệ thống Quản trị nhân lực thủ công, người làm thuê của sản xuất công trường là lao động kết hợp. Đối tượng của quản lý, chức năng QTNL(điều kiện lao động chung, tổ chức hệ thống tiền lương (tiền công), chế độ làm việc, theo dõi kiểm tra việc thưch hiện…) là của người chủ sản xuất - người thuê mướn lao động. Bước ngoặt công nghiệp thế kỷ XVIII- XIX, từ công trường thủ công chuyển sang sản xuất máy móc là sự thay đổi cách mạng của lực lượng sản xuất, đồng thời cũng làm thay đổi sâu sắc về chất trong hình thức xã hội của lao động. Khác với công trường thủ công, cơ sở sản xuất là con người, là đối tượng của quản lý, giờ đây trở thành hệ thống của máy riêng lẻ được kết hợp lại. Người công nhân phụ thuộc vào sự vận hành của máy. Công nghiệp hóa tư bản làm dịch chuyển trọng tâm trong QLSX về phía yếu tố vật chất, làm hẹn hẹp đi sự tự quản lý. Trong những điều kiện quản lý phát triển kinh tế theo kiểu công nghiệp, hình thành quản trị nhân lực theo kỹ thuật (quản lý truyền thống), dựa trên nguyên tắc phân công lao động tối đa và chuyên môn hoá nhân công, công xưởng, tách lao động sản xuất và lao động quản lý, định hướng hình thức bắt buộc kinh tế rõ ràng trong quan hệ lao động. Tiến bộ kỹ thuật không ngừng làm thay đổi hệ thống các quan hệ lao động và các nội dung của quản trị nhân lực. Đồng thời, dưới ảnh hưởng của các chính sách nhà nước, những tìm kiếm của các nhà khoa học, các nhà tổ chức , quản trị nhân lực cũng không ngừng thay đổi. Mặc dù người lao động được sử dụng với số lượng lớn, các chủ doanh nghiệp vẫn duy trì sự lãnh đạo và kiểm soát nhân lực trong tay họ. Thời kỳ phát triển vũ bảo của công nghiệp cuối thể kỷ 19 đầu thế kỷ 20: tập trung hoá sản xuất, độc quyền hoá tư bản ỏ Mỹ, Đức, Anh và nhiều nước khác dẫn đến sự tập trung nhiều doanh nghiệp lớn; đông đảo quần chúng công nhân gồm các ngành nghề khác nhau, làm những công tác chuyên môn hoá hẹp đòi hỏi ít về trình độ lành nghề ; quản lý trực tuyến đã trở nên phức tạp và khó khăn hơn, đòi hỏi có sự tăng cường nghiên cứu để nâng cao sức khoẻ, an toàn cho người lao động. Việc quản lý theo kinh nghiệm chuyển sang quản lý khoa học, cần tăng cường nghiên cứu các phương pháp, các thao tác làm việc, các tiêu chuẩn định mức, các phương pháp tuyển chọn, đào tạo, khuyến khích nâng cao khả năng làm việc của người lao động. Những tìm kiếm thể hiện trong các trường phái lý luận của Gilbret, Talor, Emerson, Elton mayor… nhiều nghiên cứu trở thành cơ sở của quản lý hiện đại. Nó định hướng lãnh đạo từng người lao động riêng lẻ (con người kinh tế hợp lý). Vào những năm 1920, nền công nghiệp là thương mại thế giới nằm trong tay những tập đoàn lớn, chúng chi phối toàn bộ nhân lực cả về sức khỏe và tinh thần, thậm chí còn lũng đoạn cả chính quyền nhà nước. Trong những năm này hoạt động hợp pháp của công đoàn chưa được thừa nhận kéo dài đến hết phần tư đầu thế kỷ 20. Những năm 1930, 1940 quá trình tập trung hoá sản xuất, vai trò của nhà nước trong điều chỉnh kinh tế, trong lĩnh vực sử dụng lao động làm thuê được nâng cao nhưng cũng làm phức tạp thêm những quan hệ lao động và tư bản trong sản xuất, trong các doanh nghiệp lớn ở Mỹ, Tây Âu, Nhật Bản, phổ biến phương pháp sản xuất theo dây truyền. Không chỉ số lượng mà trình độ thành thạo của công nhân là điều kiện quan trọng để nâng cao hiệu quả sản xuất. Điều đó đòi hỏi các nhà quản lý phải hoàn thiện tiêu chuẩn hoá phương pháp tuyển chọn cán bộ công nhân, hoàn thiện tổ chức trả lương, phát triển hệ thống đào tạo trong doanh nghiệp và nâng cao trình độ lành nghề cho nhân viên. Các nhà sản xuất đã chú ý thu hút các nhà tâm lý, nhà xã hội học tham gia. Những tác động này làm tăng tính tích cực của người lao động, nâng cao năng suất lao động, cải thiện bầu không khí xã hội trong doanh nghiệp, làm giảm những đụng độ giữa người lao động và quản lý. Trường phái (các quan hệ con người) mở ra kỷ nguyên mới trong quản lý, tuy vậy thực chất những phương pháp tâm lý xã hội thời đó không làm thay đổi cơ sở của quản trị nhân lực truyền thống, mà chỉ làm thay đổi hình thức của nó. Cuộc khủng hoảng kinh tế làm sụp đổ hơn 1/3 nền sản xuất công nghiệp thế giới, làm mâu thuẫn tột đỉnh quan hệ chính trị, xã hội, làm mất niềm tin vào sự hùng mạnh của các đòn bẩy kinh tế truyền thống dựa trên các nguyên tắc tự do cạnh tranh. Tăng cường sự can thiệp của nhà nước vào kinh tế, vào lĩnh vực lao động làm thuê. Một trong những hướng chính là phải xác định nguyên tắc chung của việc làm và quan hệ lao động. Một mặt, nhà nước-chủ thể quản trị nhân lực vĩ mô, dưới dạng tạo ra hệ thống công việc xã hội, áp dụng nghĩa vụ lao động thời chiến. Mặt khác điều khiển hoạt động của các chủ doanh nghiệp trong lĩnh vực thuê mướn lao động bằng những luật hạn chế, không chỉ xuất phát từ lời ích người thuê mướn lao động mà còn tính đến áp lực từ phía người lao động, công đoàn, các lực lượng chính trị khác, chủ quyền chung của toàn dân… Quản trị nhân lực thời kỳ này thực tế phụ thuộc vào lực lượng dân chủ thống trị. Các nhà nước dân chủ tư sản có những chính sách hạn chế mức độ tự do của độc quyền trong những vấn đề về điều kiện việc làm, tiền lương và chế độ làm việc. ở Mỹ tổng thống Ruzorel áp dụng luật qui định tiêu chuẩn đảm bảo xã hội (1930), bảo hiểm xã hội (1935), mức lương tối thiểu, tiền lương làm vượt giờ, điều kiện kỹ thuật an toàn và bảo hộ lao động trong nhiều ngành nắm chính quyền(1936), đưa luật 1 tuần làm việc 40h, trả lương nghỉ phép, tăng lương cho công nhân viên chức. Những năm sau chiến tranh nhà nước tích cực điều chỉnh điều kiện và chế độ làm việc. ở Nhật, sau chiến tranh xác định sự kiểm soát tiền lương và giá cả, áp dụng các tiêu chuẩn nhà nước trong quan hệ: điều kiện lao động, thời gian làm việc và trả công ngoài giờ(luật tiêu chuẩn lao động 1947). Những thay đổi trong quản lý không chỉ làm căng thẳng mà còn làm nổ ra những tranh chấp(đụng độ) giữa người lao động và người sử dụng lao động. Có thể nói những năm cuối chiến tranh và sau chiến tranh, quản trị nhân lực đã chuyển sang giai đoạn mới. Sự thay đổi trong các quan hệ giữa con người đã chỉ ra sự thay đổi tích cực của công nhân trong bàn bạc ra các quyết định, chế độ góp ý kiến, sự đối thoại trực tiếp có thể làm tăng năng suất lao động rất nhiều. Người ta nhấn mạnh đến việc nghiên cứu con người và tăng cường sức mạnh lao động được tổ chức. Các chương trình đào tạo các nhà quản lý, các nhà giám sát được tổ chức để họ hiểu hơn những người dưới quyền họ (thành lập hệ thông đào tạo để nâng cao trình độ cán bộ lao động từ đốc công đế quản lý). Phát triển kinh tế những năm sau chiến tranh liên quan đến vai trò của các yếu tố khoa học, kỹ thuật mới hiện đại hoá kỹ thuật sản xuất, đòi hỏi phải tiếp tục phát triển hình thức xã hội hóa lao động, ý nghĩa hợp tác tăng lên, nhất là trong lĩnh vực hoạt động nghiên cứu khoa học, đồng thời cũng là mâu thuẫn của quản trị nhân lực truyền thông tăng lên. Do điều kiện lao động đơn điệu, cường độ lao đông tăng, sử dụng quá mức thời gian làm ngoài giờ… dẫn đến thái độ thờ ơ, bỏ việc của người lao động trong doanh nghiệp. Nhiều nghiên cứu thí nghiệm để thu hút người lao động, xoá đi thái độ thờ ơ lạnh nhạt với người lao động, như thu hút những công nhân có trình độ chuyên môn, có học vấn tham gia các vấn đề tổ chức quản lý doanh nghiệp, nghiên cứu áp dụng các phương pháp làm phong phú nội dung lao động, mở rộng các chức năng lao động, quay vòng công việc, định hướng công việc cho từng người. Tuy vậy, những nghiên cứu chưa gắn nhân đạo hoá lao động với hiện đại hoá sản xuât, mở rộng hợp tác lao động trên cơ sở chất lượng mới, phát triển chiến lược (nguồn tiềm năng con người). Những tìm kiếm mới như những hình thức hợp tác lao động trong sản xuất trực tiếp, hệ thống khuyến khích vật chất, tổ chức thời gian làm việc, sự tham gia quản lý doanh nghiệp… như tổ chức các đội tự quản (ở Anh, Thuỵ Điển) sử dụng các hình thức tiền lương dựa trên các định mức chặt chẽ và đánh giá chất lượng công việc, tiền lương gắn với kết quả cuối cùng của công việc và của doanh nghiệp, hình thức tham gia(tham gia vào lợi nhuận chung), xây dựng lại chế độ làm việc đã định, đưa ra tính độc lập của người thực hiện trong xác định thời gian làm việc và nghỉ ngơi trong ngày, trong tuần, sự tham gia của người thực hiện trong xác định thời gian làm việc và nghỉ ngơi trong ngày, trong tuần, sự tham gia của người lao động trong quản lý sản xuất (đại diện người lao động trong doanh nghiệp). Nói chung, những nghiên cứu áp dụng của thập kỷ 1960, 1970 phản ánh không chỉ yêu cầu chính trị chung của quần chúng nhân dân trong quan hệ dân chủ mà còn cả kinh tế, sử dụng các tiềm năng về tổ chức và tri thức của công nhân viên chức, khuyến khích những tìm kiếm thí nghiệm theo hướng này ở Mỹ, Nhật, những hình thức “hợp đồng tập thể”, ở Tây Âu, các “hội đồng xí nghiệp”, “hội đồng sản xuất”, “uỷ ban nhà máy”… tạo ra sự thoả thuận thống nhất trong hoạt động giữa công nhân, công đoàn và lãnh đạo nhà máy. Khủng hoảng kinh tế những năm 1970, 1980 làm cho những nhà sản xuất thấy rằng quyền lực, tiềm năng quan trọng nhất của lãnh đạo chính là nhân lực, là chỗ dựa cần tăng cường sự chú ý để nâng cao tính tích cực của cong người, sử dụng những tiềm năng, khả năng hiện có mà là những khả năng sáng tạo, khả năng tổ chức. Đổi mới quản trị nhân lực khắc phục những mâu thuẫn do hình thức tổ chức quản lý truyền thống đặt ra. Là một trong những khía cạnh hiện nay của đổi mới tổ chức quản lý lao động theo cơ chế thị trường. Cụ thể là sau những năm 1980 đến nay, quản trị nhân lực có những sự thay đổi tận gốc rễ có thể nói có 1 cuộc cách mạng trong quản trị nhân lực về quan điểm, tên gọi cũng như cung cách quản lý. Từ quản trị nhân viên(quản trị nhân sự-personal management) thành quản trị nguồn nhân lực (Human resouces managerment) có nghĩa là chiến lược con người được coi là một bộ phận quan trọng hàng đầu trong chiến lược sản xuất kinh doanh của tổ chức. Quản trị nguồn nhân lực hay quản lý nguồn nhân lực là thuật ngữ hiện đại được thắng thế vào cuối những năm 1980 là dấu hiệu ghi nhận vai trò rộng mở và cũng là sự ghi nhận một cung cách quản lý nhân sự mới: từ quản lý cứng nhắc coi con người chỉ là lực lượng thừa hành phụ thuộc cần khai thác tối đa ngắn hạn với chi phí tối thiểu đã và đang chuyển sang một cách quản lý mềm dẻo hơn, linh hoạt hơn tạo điều kiện để con người phát huy tính tích cực chủ động sáng tạo, vừa khai thác năng lực của họ vừa có kế hoạch đầu tư dài hạn sao cho chi phí được sử dụng một cách tối ưu. 2.1.4. Công cụ quản trị nhân lực. Để có thể ra những quyết định trong quản trị nhân lực yêu cầu người quản trị phải có những công cụ hỗ trợ để nắm được tình hình lao động trong tổ chức. Nó phụ thuộc vào những thông tin về nhân sự được thống kê lại có chính xác hay không. Những thông tin về nhân sự ngay từ thuở sơ khai của quản trị nhân lực đã được thông kê lại một cách chi tiết theo những phương pháp riêng của mỗi người quản lý. Sau này sự phát triển của kinh tế – xã hội đã làm phát triển lên một tầm cao mới, thành một môn khoa học nghiên cứu về quản lý nguồn nhân lực. Nhưng công cụ chủ yếu từ trước tới giờ vẫn là qua ghi chép rồi thông kê lại một cách có quy tắc. Nói chung là quá trình đó rất thủ công và tốn rất nhiều thời gian. Sự bùng nổ về công nghệ thông tin đã mang lại một công cụ quản lý mới làm giản tiện đi rất nhiều các thao tác trong quản lý nhân sự giúp cho quá trình quản trị nhân lực trở nên dễ dàng hơn vì được thông tin các thông tin chính xác một cách thường xuyên. Nếu như trước kia để tổng hợp các số liệu nhằm đưa ra một con số chính xác người ta phải lục lại một đống chứng từ cao như núi thì bây giờ, nhờ sự trợ giúp của công nghệ số, chỉ một thao tác nhấn nút người ta có thể có được kết quả chỉ trong 1/10 giây. Xu thế của thời đại mới đó là áp dụng tin học vào trong quản lý và quản lý nhân sự không phải là một ngoại lệ. Máy tính có thể làm việc không biết mệt mỏi và cho được các kết quả tính toán một cách chính xác và nhanh chóng giúp cho người quản lý có thể đưa ra các quyết định kịp thời và hợp lý cho tổ chức của mình. 2.1.5. Tin học trong quản lý nhân sự. Sự bùng nổ công nghệ thông tin đã mang lại nhiều công cụ giúp cho quá trình quản lý nhân sự trở thành quá trình của các thao tác bấm nút. Sự ra đời của các hệ thống thẻ từ đã giúp cho việc quản lý chấm công trở nên dễ dàng. Mỗi một nhân viên được cấp cho một chiếc thẻ được định dạng với các thông tin về bản thân và được lưu trữ trong máy tính. Các cổng đọc thẻ được thiết lập nhằm mục đích quản lý giờ ra vào của các nhân viên. Các cổng này có thể được thiết kế tại mỗi phân xưởng, nhà máy, cơ quan thậm chí ở mỗi tổ sản xuất… Và bây giờ công việc chỉ là liệt kê các thông tin đó với các tiêu chí do nhà quản lý đưa ra. Bên cạn._.h sự phát triển của công nghệ chế tạo phần cứng đó là sự bùng nổ của các công ty chuyên cung cấp các phần mềm quản lý. Họ cho ra đời các sản phẩm thích nghi với các thiết bị phần cứng nhằm giúp cho nhà quản lý có các công cụ thống kê một cách có hệ thống và đảm bảo tính chính xác cao. Thực tế ngày nay do tính chuyên môn hóa và hiện đại hóa cùng với việc phát triển cao của nhu cầu hội nhâp cho lên tất cả các doang nghiệp đều tạo cho mình các công cụ tin học để quản lý một cách hiệu quả nhất. 2.2. sở phương pháp luận xây dựng đề tài Việc quản lý nhân sự đều bắt đầu từ việc thu thập thông tin hồ sơ cá nhân, các thông tin của công ty và các thông tin khác. Từ các thông tin đó nhà quản lý doanh nghiệp cho ra được các thông tin co hiệu quả phù hợp với mục đích riêng của mình. Thông tin quản lý Đầu ra Thông tin lưu trữ Phần mềm Thông tin đầu vào Cơ sở phương pháp luận thực chất là các lý thuyết cơ bản liên quan tới việc xây dựng phần mềm. 2.2.1. Các khái niệm về cơ sở dữ liệu. Mỗi bảng ( table ) như là bảng thống kê, bảng nhân viên, danh sách nhân viên... ghi chép dữ liệu về một nhốm phần tử nào đó gọi là thực thể. Tực thể ( entity ) là một nhóm ngườ, sự kiện hay khái niệm bấ kỳ với các đặc điểm tính chất cần ghi chép lại. Mỗi thực thể đều có các tính chất và đặc điểm mà ta sẽ gọi là thuộc tính ( attribute ). Mỗi thuọc tính là một yếu tố tách biệt, thường khôngchia nhỏ được. Các thuộc tính mô tả thực thể và là những dữ liệu ta muốn lưu trữ. Ví dụ : Mã nhân viên, quê quán, ngày sinh,địa chỉ.... Mỗi bảng có các dòng (row). Mỗi dòng được gọi là một bản ghi (record) bởi nó ghi chép dữ liệu về một cá thể tức là một biểu hiện riêng của thực thể. Mỗi bảng có các cột (column). Mỗi côt còn được gọi là mổi trường (file).Giao giữa cột và dòng là một ô ghi chép dữ liệu. Cơ sở dữ liệu (database) là một nhóm gồm nhiều bảng có liên quan tới nhau.Ví dụ: Tất cả các bảng liên quan tới nhân viên như là họ tên, địa chỉ, năm sinh... hợp thành một cơ sở dữ liệu. 2.2.2.Các khái niệm về hệ thống thông tin hệ thống thông tin là một tập hợp các yếu tố có liên quan với nhau cùng làm nhiệm vụ thu thập, xử lý, lưu trữ dữ liệu, truyền đạt và phân phát thông tin để hỗ trợ việc ra quyết định, phân tích tình hình, lập kế hoạch, điều phối và kiểm soát các hoạt động trong cơ quan. sơ đồ luồng dữ liệu: việc xử dụng công cụ mô hình hoá để giúp cho người xây dựng hệ thống có được cái nhìn tổng quan về hệ thống mà mình đang xây dựng. Công cụ giúp cho việc mô hình hoá hệ thống đó là sơ đồ luồng thông tin (IFD) và sơ đồ (DFD). Sơ đồ luồng dữ liệu DFD là một công cụ dùng để trợ giúp cho 4 hoạt động chính sau: Phân tích DFD được dùng để xác định yêu cầu của người sử dụng. Thiết kế DFD để vạch kế hoạch và minh hoạ các phương án cho phân tích viên hệ thống và người dùng khi thiết kế hệ thống mới. Biểu đạt DFD là công cụ đơn giản, dễ hiểu đối với phân tích viên hệ thống và người dùng. Tài liệu DFD cho phép biểu diễn tài liệu phân tích một cách đầy đủ, xúc tích và ngắn gọn. DFD cung cấp cho người sử dụng một cách nhìn cụ thể về hệ thống và cơ chế lưu chuyển thông tin trong hệ thống đó. Sơ đồ luồng thông tin (IFD): Được dùng để mô tat hệ thống thông tin theo cách thức động. Tức là mô tả sự di chuyển của dữ liệu và xử lý, việc lưu trữ bằng sư đồ biểu diễn. Khái niệm về BFD: Sơ đồ chức năng của hệ thống thông tin chỉ ra cho chúng ta biết hệ thống cần phải làm gì chứ không chỉ ra phải làm thế nào. . Bản chất của việc phân cấp chức năng là phân tích nhiều chức năng chi tiết hơn theo cấu trúc hình cây. Phân tích chức năng là phải xác định rõ những gì mà hệ thống thực hiện mà không quan tâm đến phương pháp thực hiện các chức năng ấy. Phân tích chức năng là phải đề cập đến những mô tả ban đầu Phân cấp của BFD: Hệ thống thông tin là 1 thực thể khá phức tạp bao gồm nhiều thành phần, nhiều chức năng, nhiều cấp độ. Sơ đồ mức ngữ cảnh: Thường được xây dựng ở bước đầu tiên của quá trình phân tích và khái quát hoạt động của hệ thống. 2.2.3.Các ký pháp sử dụng. * ký pháp sử trong sơ đồ luồng thông tin Xử lý Thủ công Giao tác người máy Tin học hoá hoàn toàn Kho lưu trữ dữ liệu Thủ công Tin học hoá Dòng thông tin Tài liệu Ký pháp sử dụng trong sơ đồ luồng dữ liệu nguồn hoặc đích Tên người, bộ phận phát nhận Dòng dữ liệu Tên dòng dữ liệu Tiến trình xử lý Tiến trình xử lý Kho dữ liệu Tệp lưu trữ dữ liệu Chương III. Phân tích và thiết kế hệ thống thông tin quản lý nhân sự Phân tích hệ thống 3.1.1. Phân tích bài toán 3.1.1.1. Quy trình nghiệp vụ. Từ bài toán xây dựng phần mềm quản lý nhân sự, nghiệp vụ cần xử lý là: - Quản lý hồ sơ: Thông tin của Nhân viên được đưa vào hệ thống chức năng Quản lý hồ sơ sẽ phân loại : + Nếu đó là thông báo nhân sự nghỉ hưu, chết hoặc lý do nào đó không làm việc trong cơ quan nữa nhưng có những thông tin liên qua đến đơn vị, thì chuyển cho chức năng Cập nhật hồ sơ lưu đưa thông tin về kho Hồ sơ lưu. + Các thông tin về Nhân viên mới vào làm trong Công ty sẽ được chuyển cho chức năng Cập nhật hồ sơ để đưa thông tin về kho Hồ sơ. Nếu như thông tin thông báo về hồ sơ của một Nhân viên trong hệ thống có sự thay đổi thì chức năng Cập nhật hồ sơ sẽ xử lý và sửa đổi cho phù hợp, sau khi sửa đổi cho phù hợp sẽ được đưa vào kho Hồ sơ. - Quản lý lương: + Chức năng Chấm công sẽ thực hiện việc chấm công cho Nhân viên theo từng tháng và nó nhận được một số thông tin từ tác nhân ngoài Nhân viên như : Đơn xin nghỉ, Quyết định công tác … rồi được đưa vào kho Chấm công. + Chức năng Phụ cấp sẽ thêm những Nhân viên được phụ cấp ( Phụ cấp độc hại, Phụ cấp chức vụ, Phụ cấp khó khăn … ) và thông tin phụ cấp được đưa vào kho Phụ cấp. + Nếu Nhân viên cần tiền gấp chức năng Tạm ứng sẽ đáp ứng việc này và số tiền tạm ứng sẽ được trừ vào lương của tháng đó. + Chức năng Biệt lệ ghi lại danh sách những Nhân viên có : Lương tháng chưa đủ, Thiếu tiền của Nhân viên …vào kho Biệt lệ. + Chức năng Tính lương lấy số liệu từ kho Chấm công và kho Hồ sơ để tính lương cho Nhân viên theo từng tháng, sau đó đưa vào kho lương. - Quản lý khen thưởng kỷ luật: + Trong quá trình công tác Nhân viên trong cơ quan làm việc tốt hoặc có những sai pham sẽ có Khen thưởng hay Kỷ luật bằng : Giấy khen (Giấy kỷ luật), Tiền (Phạt tiền), Tuyên dương (Khiển trách), Thăng chức (Cách chức) … Chức năng Khen thưởng và Kỷ luật sẽ đảm nhận nhiệm vụ này và lưu thông tin vào kho Khen thưởng hay Kỷ luât. + Đồng thời Chức năng khen thưởng ( kỷ luật ) lấy thông tin từ kho Khen thưởng ( Kỷ luật ) để cập nhật khi có sự thay đổi. - Tìm kiếm, thống kê: + Tìm kiếm, Thống kê nhận các nhu cầu tra cứu của Nhân viên và thông tin yêu cầu của Ban giám đốc, chức năng sẽ tìm kiếm, phân loại thông tin và xác định thông tin được lấy ở kho nào, sau đó in ra các báo biểu theo những nhu cầu trên. + Khi nhận được các thông tin yêu cầu, chức năng Báo cáo, Thống kê sẽ tiến hành phân loại thông tin ( Lý lịch, Lương, Khen thưởng, Kỷ luật …) và xác định lấy dữ liệu ở kho nào để xử lý, sau đó nó đưa ra các báo biểu và Theo một khoảng thời gian nhấn định chức năng Báo cáo, Thống kê sẽ in ra những báo biểu định kỳ cho Ban giám đốc. 3.1.1.2. Yêu cầu của hệ thống. Từ yêu cầu bài toán ta thấy hệ thống cần các thông tin đầu vào và các thông tin đầu ra, và vấn đề lưu chuyển thông tin trong hệ thống: * Phân tích theo thông tin đầu vào và thông tin đầu ra. Một cách tổng quát thì toàn bộ hệ thống chương trình được phân ra làm 2 phần là đầu vào và đầu ra. - Thông tin đầu vào của hệ thống: Đầu vào của hệ thống chính là thông tin nguồn để quá trình biến đổi thông tin ta sẽ nhận được kết quả thông tin mong muốn. Thông tin đầu vào gồm có Hồ sơ cán bộ và nhân viên trong cơ quan. Hồ sơ cán bộ và nhân viên trong cơ quan đã về hưu hoặc thôi công tác. Thông tin đầu vào được thiết kế: Nhập hồ sơ. Sửa hồ sơ theo mã. - Thông tin đầu ra của hệ thống. Thông tin đầu ra của hệ thống chính là các thông tin có thể hiện trên màn hình, in ra giấy, ghi vào các file theo yêu cầu của người sử dụng. Bảng tổng hợp trình độ theo các trình độ cán bộ, nhân viên trong Cơ quan. Bảng tổng hợp ngày lên lương lần cuối cùng để xét duyệt tăng lương cán bộ, nhân viên trong toàn Cơ quan. Bảng tổng hợp những cán bộ, nhân viên đủ điều kiện về hưu. Bảng tổng hợp lương theo các mức lương cán bộ, nhân viên Cơ quan * Vấn đề lưu chuyển thông tin trong hệ thống quản lý nhân sự: Khi một cán bộ, nhân viên xin vào cơ quan làm việc phải có hồ sơ xin việc ( tức là thông tin đầu vào ). Nếu nhận vào làm trong cơ quan thì cơ quan phải cấp Quyết định tiếp nhận và Quyết định xếp lương cho cán bộ, nhân viên. Cấp mã cán bộ, mã hồ sơ cho mỗi cán bộ. Mã số của tất cả các cán bộ, nhân viên trong cơ quan cũng như đã về hưu đều không được trùng nhau. Tại một thời điểm phòng quản lý cập nhật số liệu về các thông tin chung ( Hồ sơ các cán bộ, nhân viên đang công tác, về hưu hoặc chuyển, thôi công tác trong Cơ quan ). Cập nhật mức lương của cán bộ, nhân viên trong Cơ quan. Cập nhật quá trình công tác của các cán bộ, nhân viên trong Cơ quan khi có thay đổi. Sau khi vào đủ hồ sơ thì sau một khoảng thời gian nào đó tổng hợp lương, tổng hợp trình độ, tổng hợp ngày lên lương lần cuối cùng của các cán bộ, nhân viên trong toàn Cơ quan. Khi có yêu cầu thì sẽ có những thông tin cần thiết. 3.1.2. Sơ đồ chức năng (BPC): QUảN Lý NHÂN Sự Quản lý hồ sơ Quản lý lương Khen thưởng, Kỷ luật Báo cáo, Thống kê Cập nhật hồ sơ Cập nhật hồ sơ lưu Chấm công Tính lương Phụ cấp Tạm ứng Biệt lệ Khen thưởng Kỷ luật Tổng hợp lý lịch Tổng hợp lương Tổng hợp các cán bộ về hưu Tổng hợp Khen thưởng, Kỷ luật 3.2.3. Sơ đồ ngữ cảnh: Biểu đồ luồng dữ liệu mức khung cảnh là biểu đồ khái quát toàn bộ hệ thống. Nhân viên Ban giám đốc Chương Trình quản lý nhân sự Hồ sơ cá nhân Thông tin, Thông báo Thông tin yêu cầu Báo cáo định kỳ Báo biểu yêu cầu Biểu đồ luồng dữ liệu mức khung cảnh 3.1.4. Sơ đồ luồng dữ liệu. 3.1.4.1. Sơ đồ luồng dữ liệu mức đỉnh: Nhân viên Phụ cấp 1.0. Quản lý hồ sơ 2.0. Quản lý lương 3.0. Khen thưởng, kỷ luật 4.0.Tìm kiếm, Thống kê Hồ sơ Hồ sơ lưu Chấm công Ban giám đốc Lương Biệt lệ KhenThưởng Kỷ luật Tạm ứng yêu cầu Tra cứu Thông tin Báo biểu yêu cầu Báo biểu định kỳ 3.1.4.2. Biểu đồ dữ liệu mức dưới đỉnh: * Sơ đồ Quản lý hồ sơ: Nhân viên Cập nhật hồ sơ 1.1 Cập nhật hồ sơ lưu 1.2 Hồ sơ Hồ sơ lưu Hồ sơ cá nhân Cập nhật Cập nhật + Xử lý Thông tin, Thông báo Cập nhật + Xử lý * Sơ đồ Quản lý lương: Nhân viên Chấm công 2.1 Phụ cấp 2.2 Biệt lệ 2.4 Tính lương 2.5 Hồ sơ Chấm công Phụ cấp Lương Biệt lệ Đơn xin nghỉ Ngày công Xử lý Tạm ứng 2.3 Tạm ứng Thông tin Thông tin Thông tin Thông tin lương * Sơ đồ Khen thưởng – Kỷ luật: Nhân viên Khen thưởng 3.1 Kỷ luật 3.2 Kỷ luật Khen thưởng Xử lý Xử lý Thêm khen thưởng Thông báo kỷ luật Thêm kỷ luật Thông báo khen thưỏng * Sơ đồ Tìm kiếm – Thống kê: Sơ đồ khái quát Ban giám đốc Tìm kiếm, Thống kê Hồ sơ Kỷ luật Lương Chấm công Biệt lệ Hồ sơ lưu Khen thưởng Phụ cấp Thông tin Thông tin Báo cáo định kỳ Thông tin yêu cầu Báo biểu yêu cầu Nhân viên Tra cứu Thông tin tra cứu Sơ đồ chi tiết Ban giám đốc Tổng hợp theo lý lịch 4.1 Tổng hợp các cán bộ về hưu 4.4 Tổng hợp theo lương 4.3 Hồ sơ lưu Lương Chấm công Khen thưởng Kỷ luật Biệt lệ Phụ cấp Tổng hợp theo KT, KL 4.2 Hồ sơ Nhân viên Thông tin Thông tin Thông tin Thông tin Thông tin Báo biểu Báo biểu Báo biểu Yêu cầu Yêu cầu Yêu cầu Yêu cầu Thông tin nhận được Thông tin nhận được Thông tin nhận được Thông tin nhận được Thiết kế hệ thống. 3.2.1. Quy trình chuẩn hoá : * Phân rã thành mô hình quan hệ (BCD): - Từ mô hinh quan niệm là mô hình biểu diễn tất cả các đối tượng. Mỗi đối tượng là một thể hiện trong thế giới thực.Trong mô hình quan hệ, chúng ta xét các mối quan hệ giữa từng đối tượng đó. + Lập một danh sách các thuộc tính ( thông tin sơ đẳng ) các danh sách này được thu gom trong một phạm vi quản lý hoặc thu gom các tài liệu. Việc thu gom này ta được một danh sách các thuộc tính nhưng ta chỉ giữ lại các thuộc tính tính toán. + Kiểm tra các thuộc tính xem chúng có cùng giá trị đơn hay không ? Nếu có những thuộc tính như vậy thì tìm cách thay thế . + Theo ý nghĩ gom các thuộc tính trên thành các quan hệ và mỗi quan hệ ta chon khoá cho nó. + Lập bảng biến đổi dùng để tiến hành các bước chuẩn hoá bằng cách phân rã các quan hệ. Bước 1: Tách các nhóm thuộc tính lặp (1NF) Bước 2: Loại các thủ tục hàm bộ phận, dẫn tới quan hệ (2NF) Bước 3: Loại các phụ thuộc hàm không khoá (Nghĩa là phụ thuộc hàm giữa các thuộc tính không phải là khoá ) Cụ thể ta lập bảng sau : 1NF 2NF 3NF MS_NV TENNV CHUCVU TRINHDO CHUYENMON NGOAINGU SOCMND NGAYSINH NOISINH PHAI DANTOC TONGIAO DIACHI DIENTHOAI HESO BHXH BHYT NGAYBD SOHD LOAIHD NGAYHD CONGTAC THANG LCHINH LPHEP KTHUONG PHUCAP BIETLE CONG TAMUNG KYLUAT BHXH BHYT CONLAI THANG SONC SONN GHICHU MS_PC LYDO TIENPC NGAYPC MS_BL BLTRUYLANH BLTRUYTHU LYDO NGAYBL MS_KT NGAYKT LYDO HTKT SOBB MS_KL NGAYKL LYDO HTKL SOBB NGAYQD NGAYHH MS _TU NGAYTU LYDO TIENTU MS_NV TENNV CHUCVU TRINHDO CHUYENMON NGOAINGU SOCMND NGAYSINH NOISINH PHAI DANTOC TONGIAO DIACHI DIENTHOAI HESO BHXH BHYT NGAYBD SOHD LOAIHD NGAYHD CONGTAC MS_NV THANG LCHINH LPHEP TAMUNG CONLAI SONC SONN GHICHU MS_NV MS_PC LYDO TIENPC NGAYPC MS_NV MS_BL BLTRUYLANH BLTRUYTHU LYDO NGAYBL MS_NV MS_KT NGAYKT LYDO HTKT SOBB MS_NV MS_KL NGAYKL LYDO HTKL SOBB NGAYQD NGAYHH MS _TU NGAYTU LYDO TIENTU MS_NV TENNV CHUCVU TRINHDO CHUYENMON NGOAINGU SOCMND NGAYSINH NOISINH PHAI DANTOC TONGIAO DIACHI DIENTHOAI HESO BHXH BHYT NGAYBD SOHD LOAIHD NGAYHD CONGTAC MS_NV THANG LCHINH LPHEP TAMUNG CONLAI MS_NV THANG SONC SONN GHICHU MS_NV MS_PC LYDO TIENPC NGAYPC MS_NV MS_BL BLTRUYLANH BLTRUYTHU LYDO NGAYBL MS_NV MS_KT NGAYKT LYDO HTKT SOBB MS_NV MS_KL NGAYKL LYDO HTKL SOBB NGAYQD NGAYHH MS _TU MS_NV NGAYTU LYDO TIENTU MS_NV TENNV CHUCVU TRINHDO CHUYENMON NGOAINGU SOCMND NGAYSINH NOISINH PHAI DANTOC TONGIAO DIACHI DIENTHOAI HESO BHXH BHYT NGAYBD SOHD LOAIHD NGAYHD CONGTAC MS_NV THANG LCHINH LPHEP TAMUNG CONLAI MS_NV THANG SONC SONN GHICHU MS_NV MS_PC LYDO TIENPC NGAYPC MS_NV MS_BL BLTRUYLANH BLTRUYTHU LYDO NGAYBL MS_NV MS_KT NGAYKT LYDO HTKT SOBB MS_NV MS_KL NGAYKL LYDO HTKL SOBB NGAYQD NGAYHH MS _TU MS_NV NGAYTU LYDO TIENTU Chấm công Bảng lương Hồ sơ Nhân viên Tạm ứng Kỷ luật Khen thưởng Biệt lệ Phụ cấp 3.2.2. Sơ đồ cấu trúc dữ liệu : *Từ bảng này ta lập được BCD theo mô hình quan hệ sau : - HOSO ( MS_NV, TENNV, CHUCVU, TRINHDO, CHUYENMON, NGOAINGU, SOCMND, NGAYSINH, NOISINH, PHAI, DANTOC, TONGIAO, DIACHI, DIENTHOAI, HESO, BHXH, BHYT, NGAYBD, SOHD, LOAIHD, NGAYHD, CONGTAC ). - CHAMCONG ( MS_NV, THANG, SONC, SONN, GHICHU ). - LUONG ( MS_NV, THANG, LCHINH, LPHEP, TAMUNG, CONLAI ). - PHUCAP ( MS_NV, MS_PC, LYDO, TIENPC, NGAYPC ). - BIETLE ( MS_NV, MS_BL, BLTRUYLANH, BLTRUYTHU, LYDO, NGAYBL ). - KHENTHUONG ( MS_NV, MS_KT, NGAYKT, LYDO, HTKT, SOBB ). - KYLUAT ( MS_NV, MS_KL, NGAYKL, LYDO, HTKL, SOBB, NGAYQD, NGAYHH ). - TAMUNG ( MS_NV, MS_TU, NGAYTU, LYDO, TIENTU) * Các phụ thuộc hàm : - MS_NV đ TENNV, CHUCVU, TRINHDO, CHUYENMON, NGOAINGU, SOCMND, NGAYSINH, NOISINH, PHAI, DANTOC, TONGIAO, DIACHI, DIENTHOAI, HESO, BHXH, BHYT, NGAYBD, SOHD, LOAIHD, NGAYHD, CONGTAC ). - MS_NV, THANG đ SONC, SONN, GHICHU . - MS_NV, THANG đ LCHINH, LPHEP, TAMUNG, CONLAI . - MS_NV, MS_PC đ LYDO, TIENPC, NGAYPC . - MS_NV, MS_BL đ BLTRUYLANH, BLTRUYTHU, LYDO, NGAYBL. - MS_NV, MS_KT đ NGAYKT, LYDO, HTKT, SOBB . - MS_NV, MS_KL đ NGAYKL, LYDO, HTKL, SOBB, NGAYQD, NGAYHH - MS_NV, MS_TU đ NGAYTU, LYDO, TIENTU. * Đánh gía dạng chuẩn : - Trên đây là liệt kê đầy đủ các lược đồ quan hệ và các phụ thuộc hàm ứng với các lược đồ đó. Căn cứ vào các phụ thuộc hàm của từng lược đồ quan hệ ta thấy các thuộc tính không khoá phụ thuộc đầy đủ vào khoá. Điều này chứng tỏ các lược đồ trên đạt dạng chuẩn 2. - Đồng thời ứng với mỗi phụ thuộc hàm của lược đồ quan hệ, các thuộc tính không khoá không phụ thuộc bắc cầu bất kỳ vào khoá nào trong quan hệ đó. Do đó các lược đồ quan hệ đã nêu ra trên đây đều đạt dạng chuẩn 3. - Nếu như quan sát ta cũng dễ dàng nhìn thấy được trong mỗi phụ thuộc hàm của từng lược đồ quan hệ, mỗi khoá chính của từng lược đồ là siêu khoá của lược đồ quan hệ đó. Từ các cơ sở lý luận trên ta chứng minh được rằng các lược đồ quan hệ được nêu ra ở trên đều đạt dạng chuẩn Royce – Codd. 3.2.3. Mô tả các thức thể và thuộc tính * Thực thể nhân viên - Tên thực thể : Nhân viên - Tên viết tắt : NHANVIEN - Mỗi thể hiện của loại thực thể Nhân viên là một đối tượng làm việc trong công ty hay xí nghiệp, được xác định bởi một mã số duy nhất ( MS_NV). Mã số Nhân viên này do bộ phận Quản lý nhân viên thêm vào khi cập nhật một Nhân viên mới vào hệ thống và mã số này được cung cấp cho Nhân viên đó. Mỗi Nhân viên có một tên gọi ( TENNV), địa chỉ liên lạc ( DIACHI ), Số điện thoại ( DIENTHOAI ), cũng như phần sơ bộ lý lịch thuộc Nhân viên đó. Ngoài ra mỗi Nhân viên còn có một hệ số lương ( HESO ). Bảng HOSO lưu trữ thông tin về Nhân viên trong Cơ quan : STT Tên viết tắt Kiểu dữ liệu Độ dài Diễn giải Khoá 1 MS_NV Character 9 Mã số nhân viên Khoá chính 2 TENNV Character 25 Tên nhân viên 3 CHUCVU Character 20 Chức vụ 4 TRINHDO Character 20 Trình độ học vấn 5 CHUYENMON Character 20 Chuyên môn 6 NGOAINGU Character 20 Trình độ ngoại ngữ 7 SOCMND Character 9 Số chứng minh 8 NGAYSINH Date Ngày sinh 9 NOISINH Character 30 Nơi sinh 10 PHAI Character 3 Giới tính 11 DANTOC Character 12 Dân tộc 12 TONGIAO Character 12 Tôn giáo 13 DIACHI Character 30 Địa chỉ Nhân viên 14 DIENTHOAI Character 12 Điện thoại 15 HESO Number Hệ số lương 16 BHXH Number Bảo hiểm xã hội 17 BHYT Number Bảo hiểm y tế 18 NGAYBD Date Ngày bắt đầu 19 SOHD Character 9 Số hợp đồng 20 LOAIHD Character 12 Loại hợp đồng 21 NGAYHD Date Ngày làm hợp đồng 22 CONGTAC Character 250 Quá trình công tác Bảng HOSOLUU lưu trữ thông tin về Nhân viên về hưu, chuyển công tác, nghỉ viêc … STT Tên viết tắt Kiểu dữ liệu Độ dài Diễn giải Khoá 1 MS_NV Character 9 Mã số nhân viên Khoá chính 2 TENNV Character 25 Tên nhân viên 3 CHUCVU Character 20 Chức vụ 4 TRINHDO Character 20 Trình độ học vấn 5 CHUYENMON Character 20 Chuyên môn 6 NGOAINGU Character 20 Trình độ ngoại ngữ 7 SOCMND Character 9 Số chứng minh 8 NGAYSINH Date Short Ngày sinh 9 NOISINH Character 30 Nơi sinh 10 PHAI Character 3 Giới tính 11 DANTOC Character 12 Dân tộc 12 TONGIAO Character 20 Tôn giáo 13 DIACHI Character 30 Địa chỉ Nhân viên 14 DIENTHOAI Character 12 Điện thoại 15 NGAYVH Date Short Ngày Về hưu… 16 LUONGHUU Number Doub Lương hưu 17 CONGTAC Character 250 Quá trình công tác *Thực thể chấm công - Tên thực thể : Bảng chấm công - Tên viết tắt : CHAMCONG - Mỗi thực thể của bảng chấm công là một đối tượng dùng để ghi lại tổng ngày công, cũng như tổng ngày nghỉ của Nhân viên. Mỗi Bảng chấm công, chấm công cho Nhân viên qua các tháng cho nên khóa chính của thực thể là ( THANG ). Trong bảng chấm công có thuộc tính tổng số ngày công ( SONC ), tổng ngày nghỉ ( SONN ), ghi chú ( GHICHU ). Bảng CHAMCONG lưu trữ thông tin về chấm công : STT Tên viết tắt Kiểu dữ liệu Độ dài Diễn giải Khoá 1 THANG Date Short Tháng Khoá chính 2 MS_NV Character 9 Mã số Nhân viên Khoá ngoại 3 SONC Number Int Số ngày công 4 SONN Number Int Số ngày nghỉ 5 GHICHU Character 250 Ghi chú * Thực thể bảng lương : - Tên thực thể : Bảng lương - Tên viết tắt : LUONG - Mỗi thể hiện của thực thể LUONG là một đối tượng dùng để lưu trữ các thông tin như : THANG, LCHINH, LPHEP, KTHUONG, PHUCAP, BIETLE, CONG, TAMUNG, KYLUAT, BHXH, BHYT, CONLAI. Trong đó THANG là khoá chính của thực thể LUONG. Bảng LUONG lưu trữ thông tin về lương : STT Tên viết tắt Kiểu dữ liệu Độ dài Diễn giải Khoá 1 THANG Date Short Tháng Khoá chính 2 MS_NV Character 9 Mã số nhân viên Khoá ngoại 3 LCHINH Number Doub Lương chính 4 LPHEP Number Doub Lương phép 5 KTHUONG Number Doub Tiền thưởng 6 PHUCAP Number Doub Phụ cấp 7 BIETLE Number Doub Biệt lệ 8 CONG Number Doub Cộng 9 TAMUNG Number Doub Tạm ứng 10 KYLUAT Number Doub Phạt tiền kỷ luật 11 BHXH Number Int Bảo hiểm xã hội 12 BHYT Number Int Bảo hiểm y tế 13 CONLAI Number Doub Lương còn lại * Thực thể phụ cấp - Tên thực thể : Loai phu cấp - Tên viết tắt : PHUCAP - Mỗi thể hiện của thực thể PHUCAP là một đối tượng dùng để lưu trữ các khoản phụ cấp cho Nhân viên như : Phụ cấp độc hại, Phụ cấp khó khăn, Phụ cấp tai nạn, Phụ cấp chức vụ … Mỗi thực thể được xác định bởi một mã số duy nhất ( MS_PC ), Lý do phụ cấp ( LYDO ). Bảng PHUCAP lưu trữ thông tin về Phụ cấp : STT Tên viết tắt Kiểu dữ liệu Độ dài Diễn giải Khoá 1 MS_PC Character 5 Mã số phụ cấp Khoá chính 2 MS_NV Character 9 Mã số nhân viên Khoá Ngoại 3 LYDO Character 25 Lý do phụ cấp 4 TIENPC Number Doub Số tiền phụ cấp 5 NGAYPC Date Short Ngày phụ cấp * Thực thể biệt lệ : - Tên thực thể : Biệt lệ - Tên viết tắt : BIETLE - Mỗi thể hiện của thực thể BIETLE là một đối tượng dùng để lưu trữ tất cả các khoản biệt lệ của một Nhân viên. Đối tượng này dùng các thuộc tính ghi lại số tiền, chẳng hạn như lương tháng chưa đủ, thiếu tiền của Nhân viên. Mỗi thực thể xác định bằng một mã số duy nhất ( MS_BL ), Số tiền nhân viên lãnh ( BLTRUYLANH ), Số tiền thu lại của nhân viên đó ( BLTRUYTHU ), Lý do biệt lệ ( LYDO ), Ngày biệt lệ ( NGAYBL). Bảng BIETLE lưu trữ thông tin về Biệt lệ : STT Tên viết tắt Kiểu dữ liệu Độ dài Diễn giải Khoá 1 MS_BL Character 5 Mã số biệt lệ Khoá chính 2 MS_NV Character 9 Mã số nhân viên Khoá ngoại 3 BLTRUYLANH Number Doub Biệt lệ truy lãnh 4 BLTRUYTHU Number Doub Biệt lệ truy thu 5 LYDO Character 25 Lý do biệt lê 6 NGAYBL Date Short Ngày biệt lệ * Thực thể khen thưởng : - Tên thực thể : Khen thưởng - Tên viết tắt : KHENTHUONG - Mỗi thể hiện của thực thể KHENTHUONG là một đối tượng dùng để lưu trữ tất cả các lần khen thưởng của Nhân viên trong một tháng, bởi một mã số nhất định là khen thưởng ( MS_KT ). Mỗi lần khen thưởng được biết qua ngày khen thưởng ( NGAYKT ), Lý do khen thưởng ( LYDO ), Hình thức khen thưởng ( HTKT ) và số biên bản xác định số lần khen thưởng đó ( SOBB ). Bảng KHENTHUONG lưu trữ thông tin về khen thưởng : STT Tên viết tắt Kiểu dữ liệu Độ dài Diễn giải Khoá 1 MS_KT Character 5 Mã số khen thưởng Khoá chính 2 MS_NV Character 9 Mã số nhân viên Khoá ngoại 3 NGAYKT Date Short Ngày khen thưởng 4 LYDO Character 25 Lý do khen thưởng 5 HTKT Character 25 Hình thức khen thưởng 6 TIENT Number Doub Tiền Thưởng 7 SOBB Character 5 Số biên bản * Thực thể kỷ luật : - Tên thực thể : Kỷ luật - Tên viết tắt : KYLUAT - Mỗi thể hiện của thực thể KYLUAT là một đối tượng dùng để lưu trữ tất cả các lần bị Kỷ luật của mỗi Nhân viên. Mỗi thực thể này được xác định bởi một mã số kỷ luật duy nhất ( MS_KL ), Ngày bị kỷ luật ( NGAYKL ), Lý do kỷ luật ( LYDO ), Hình thức phạt kỷ luật ( HTKL ), Số biên bản ( SOBB ), Ngày ký quyết định kỷ luật ( NGAYQD ) và Ngày hết hạn bị kỷ luật ( NGAYHH ). Bảng KYLUAT lưu trữ các thông tin về Kỷ luật : STT Tên viết tắt Kiểu dữ liệu Độ dài Diễn giải Khoá 1 MS_KL Character 5 Mã số kỷ luật Khoá chính 2 MS_NV Character 9 Mã số nhân viên Khoá ngoại 3 NGAYKL Date Short Ngày bị kỷ luật 4 LYDO Character 25 Lý do bị kỷ luật 5 HTKL Character 25 Hình thức kỷ luật 6 SOBB Character 5 Số biên bản 7 TIEBPHAT Number Doub Tiền phạt 8 NGAYQD Date Short Ngày kí quyết định 9 NGAYHH Date Short Ngày hết hạn kỷ luật * Thực thể tam ứng: - Tên thực thể : Tạm ứng - Tên viết tắt : TAMUNG - Mỗi thể hiện của thực thể TAMUNG là một đối tượng dùng để lưu trữ tất cả các thông tin về Tạm ứng lương cho Nhân viên trong Công ty. Mỗi thực thể này được xác định bởi một mã số Tạm ứng duy nhất ( MS_TU ), Ngày Tạm ứng ( NGAYTU), Lý do Tạm ứng ( LYDO ), số tiền Tạm ứng ( TIENTU ). Bảng TAMUNG lưu trữ tất cả thông tin về Tạm ứng lương : STT Tên viết tắt Kiểu dữ liệu Độ dài Diễn giải Khoá 1 MS_KL Character 5 Mã số kỷ luật Khoá chính 2 MS_NV Character 9 Mã số nhân viên Khoá ngoại 3 NGAYKL Date Short Ngày bị kỷ luật 4 LYDO Character 25 Lý do bị kỷ luật 5 HTKL Character 25 Hình thức kỷ luật 6 SOBB Character 5 Số biên bản 7 TIEBPHAT Number Doub Tiền phạt 8 NGAYQD Date Short Ngày kí quyết định 9 NGAYHH Date Short Ngày hết hạn kỷ luật Nhân viên Dòng bảng lương Hồ sơ Phụ cấp Dòng Phụ cấp Bảng lương Dòng hồ sơ Biệt lệ Kỷ luật Dòng khen thưởng Khen thưởng Dòng kỷ luật Dòng biệt lệ Hồ sơ lưu Dòng hồ sơ lưu Chấm công Dòng chấm công MS_NV TENNV CHUCVU TRINHDO HESO …. THANG SONC SONN MS_NV THANG SONC SONN GHICHU MS_PC LYDO TIENPC NGAYPC MS_NV MS_PC LYDO TIENPC NGAYPC MS_BL BLTL BLTT LYDO NGAYBLL MS_NV MS_BL BLTL BLTT LYDO NGAYBL THANG LCHINH LPHEP TAMUNG CONLAI MS_NV THANG LCHINH LPHEP TAMUNG CONLAI MS_NV TENNV CHUCVU TRINHDO NGAYS NOISINH DIACHI DTHOAI DANTOC HESO ……… MS_NV TENNV CHUCVU TRINHDO …. MS_NV TENNV CHUCVU TRINHDO HESO ….. MS_KT NGAYKT LYDO HTKT SOBB MS_NV MS_KT NGAYKT LYDO HTKT SOBB MS_KL NGAYKL LYDO HTKL SOBB MS_NV MS_KL NGAYKL LYDO HTKL SOBB NGAYQD NGAYHH Tạm ứng Dòng tạm ứng MS_NV MS_TU LYDO NGAYTU TIENTU MS_TU LYDO NGAYTU TIENTU Xây dựng BCD bằng mô hình thực thể liên kết Một số thuật toán: Nhập mới , sữa chữa , lưu trữ dữ liệu : Thiết lập môi trường làm việc Nhập mới /sửa chữa Begin Tạo màn hình nhập mới hay sữa chữa End Đ S Sử dụng truy vấn để mở CSDL Nhập đúng số liệu Ghi lại thông tin đã nhập hay sửa Đ Sửa lại Đ S S Xoá bỏ dữ liệu : Thiết lập môi trường làm việc Xoá/không xoá Begin Thực hiện xoá End Có Không Sử dụng lệnh truy vấn để mở CSDL Hiển thị ra màn hình nội dung thông tin muốn xoá 3.2.5. Thiết kế chương trình: Modul chương trình: Cập nhập hồ sơ Cập nhật hồ sơ Xác định chức năng Ghi lại Thêm hồ sơ Lưu hồ sơ Sửa đổi hồ sơ Thông tin nhân sự Thông tin nhân sự Thông tin nhân sự Thông tin nhân sự Thông tin nhân sự 3.2.5.2. Chấm công : Chấm công Ngày được chấm công Quy ra công Công hưởng thời gian Công hưởng % lương Công hưởng BHXH Ngày công 3.2.5.3. Tính lương : Tính lương Tính lương cơ bản Tính lương phụ cấp Lên bảng lương Ngày công LCB LCB LPC Tên LCB LPC LCB : Lương cơ bản LPC : Lương phụ cấp 3.2.5.4. Khen thưởng, Kỷ luật : Cập nhật Khen thưởng, kỷ luật Xác định chức năng Ghi lại Thêm Khen thưởng, Kỷ luật Xoá Khen thưởng, Kỷ luật Sửa Khen thưởng, kỷ luật Thông tin Khen thưởng, kỷ luật Thông tin Khen thưởng, kỷ luật Thông tin Khen thưởng, kỷ luật Thông tin Khen thưởng, kỷ luật Thông tin Khen thưởng, kỷ luật 3.2.5.5. Tìm Kiếm, thống kê : Tìm Kiếm, Thống kê Xác định yêu cầu BCTK Yêu cầu BCTK hồ sơ Lập báo biểu Yêu cầu BCTK lương TT TT TT TT Yêu cầu BCTK hồ sơ lưu TT YC YC : Yêu cầu TT : Thông tin BCTK : Báo cáo thống kê YC YC YC Yêu cầu BCTK tổng hợp TT YC 3.2.6Thiết kế giao diện * Form Đăng nhập : * Form Lý lịch nhân viên : * Form Bảng chấm công : * Form truy vấn : * Form lý lịch trích ngang : * Danh sách cán bộ công nhân viên : * Danh sách người lao động đề nghị cấp bảo hiểm : * bảng thống kê lao động tiền lương : Kết luận Trong thời gian tìm hiểu phân tích và tạo lập đề tài: “ Quản lý nhân sự tại công ty cổ phần Thiên Minh”, em đã nhận thấy tầm quan trọng của vấn đề Quản lý nhân sự trong cơ quan, công ty nói chung và cơ quan em thực tập nói riêng. Nó giúp cho nhà quản lý tiết kiệm được thời gian, công sức trong việc quản lý, lưu trữ của công ty. Do đó nó đòi thật chính xác,kịp thời gian và đồng bộ. Do thời gian thực tập có hạn, dù rất cố găng và được sự hướng dẫn của thầy giáo, cán bộthực tập, bạn bè trong trường nhưng đề tài của em vẫn gặp nhiều thiếu xót và hạn chế. Qua quá trình thực tập kết quả thực tế của chương trình là : Gặp một số lỗi viết sai điều kiện mã, do vậy vẫn chưa chạy được hoàn chỉnh Một số Form vẫn chưa tạo được đầy đủ và không thuận tiện trong sử dụng, hay gặp có phần thừa và thiếu xót. Chương trình còn đơn giản. Thiếu độ chính xác trong thực tế. Tuy nhiên chương trình cũng có một số vấn đề đạt được : Tạo được một số Form, macro chạy được theo yêu cầu : Thêm dữ liệu mới, xoá những dữ liệu không cần thiết hoặc sai, lưu lại dữ liệu, xem dữ liệu... Điều đặc biệt hơn là em đã hiểu biết nhiều kiến thức về hệ thống thông tin, cơ sở dữ liệu, ngôn ngũ Foxpro... Nêu được tầm quan trọng của tin học hoá trong quản lý nhân sự Khảo sát và thiết kế hoàn chỉnhmột bài toán quản lý. * Định hướng phát triển đề tài : Hệ thống được xây dựng cho phép các chức năng hoạt động độc lập với nhau, nên khi có sự thay đổi hay có nhu cầu thêm bớt chức năng không cần thiết phải xây dựng lại hệ thống. Hệ thống thông tin khi xây dựng thành công sẽ cải thiện được các thao tác bằng tay trên giấy tờ, sổ sách. Hệ thống mới phát triển nhằm giảm bớt số lượng nhân sự tham gia vào bộ phận quản lý. TÀI LIỆU THAM KHẢO Giỏo trỡnh CSDL. Trần Cụng Uẩn NXB Thống kờ Nhập mụn CSDL quan hệ. Lờ Tiến Vương NXB Thống kờ Hướng dẫn lập trỡnh MS Access 2000 bằng vớ dụ. Ngụ Quốc Việt - Nguyễn Tiến - Phạm Nguyễn Tuấn Kỳ NXB Giỏo dục 1997 MS Access 2000 – Lập trỡnh và ứng dụng. Nguyễn Tiến - Đặng Xuõn Hường - Nguyễn Văn Hoài NXB Giỏo dục 2000 Phõn tớch và thiết kế hệ thống thụng tin. Nguyễn Văn Ba NXB ĐH Quốc Gia Hà Nội Hệ thống thụng tin quản lý. Trương Văn Tỳ NXB ĐH Kinh t._.DO FORM NS127 ON SELECTION BAR 2 OF _TRUYVAN DO FORM NS128 ON SELECTION BAR 3 OF _TRUYVAN DO FORM NS129 ON SELECTION BAR 4 OF _TRUYVAN DO FORM NS121 ON SELECTION BAR 5 OF _TRUYVAN DO FORM NS122 ON SELECTION BAR 6 OF _TRUYVAN DO FORM NS124 ON SELECTION BAR 7 OF _TRUYVAN DO FORM NS126 ****************** DEFINE POPUP _HETHONG SHADOW MARGIN RELATIVE COLOR SCHEME 4 DEFINE BAR 1 OF _HETHONG PROMPT "\<1. Cai dat font chu" * DEFINE BAR 1 OF _HETHONG PROMPT "\<1. Danh muc" DEFINE BAR 2 OF _HETHONG PROMPT "\<2. Danh muc cac tinh, thanh pho" DEFINE BAR 3 OF _HETHONG PROMPT "\<3. Ma ngach cong chuc" DEFINE BAR 4 OF _HETHONG PROMPT "\-" DEFINE BAR 5 OF _HETHONG PROMPT "\<4. Quan ly mat khau" DEFINE BAR 6 OF _HETHONG PROMPT "\-" DEFINE BAR 7 OF _HETHONG PROMPT "\<5. Bao tri va backup so lieu" DEFINE BAR 8 OF _HETHONG PROMPT "\-" DEFINE BAR 9 OF _HETHONG PROMPT "\<6. Ket thuc" _pIs = PATH_HUMAN + [font\] ON SELECTION BAR 1 OF _HETHONG DO InstFont WITH _pIs IN installfont ON SELECTION BAR 2 OF _HETHONG DO Btd ON SELECTION BAR 3 OF _HETHONG DO FORM FMANGACH ON SELECTION BAR 5 OF _HETHONG DO PRGMS ON SELECTION BAR 7 OF _HETHONG DO Backup ON SELECTION BAR 9 OF _HETHONG DO HT_EXIT ACTIVATE MENU _MSYSMENU ENDDO ENDPROC -------------------------------- File:prgms.prg CLOSE TABLE ALL PASSWORD = PATH_HUMAN+'\data\PWHUMAN.DBF' DBF_TEMP = SYS(2023)+'\'+RIGHT(SYS(2015), 8)+'.DBF' PRIVATE MUSR_NAME, J, PSW1, PSW2, MRECNO STORE '' TO MUSR_NAME, PSW1, PSW2, MPOS STORE 0 TO J, MRECNO IF .NOT. FILE(PASSWORD) CREATE TABLE (PASSWORD) (USER_NAME C (40), PASSWORD C (30), CHUCDANH C (30)) USE ENDIF SELECT 0 USE (PASSWORD) ALIAS PASSWORD COPY TO (DBF_TEMP) STRUCTURE SELECT 0 USE (DBF_TEMP) ALIAS TEMP DO READ_PSW FRMPW = CREATEOBJECT('PSW_IN') FRMPW.SHOW(1) CLOSE TABLE ALL ERASE (DBF_TEMP) RETURN ENDPROC DEFINE CLASS psw_in AS FORM SCALEMODE = 0 HEIGHT = 12 WIDTH = 70 ICON = Path_human + 'Picture\User' BACKCOLOR = RGB(192, 192, 192) BORDERSTYLE = 2 WINDOWTYPE = 1 AUTOCENTER = .T. SHOWTIPS = .T. CONTROLBOX = .F. USER_NAME = '' ADD OBJECT LBLNAME AS LABEL WITH FONTNAME = '.VnAvant', TOP = 2.25, LEFT = 2, HEIGHT = 1.2, WIDTH = 15.0, BACKCOLOR = RGB(192, 192, 192), FORECOLOR = RGB(0, 0, 160) ADD OBJECT CBOUSR_NAME AS COMBOBOX WITH TOP = 2, LEFT = 19.0, HEIGHT = 1.7, WIDTH = 25.0, INPUTMASK = 'XXXXXXXXXXXXXXX', FONTNAME = '.VnAvant', FONTSIZE = 9, COLUMNCOUNT = 1, COLUMNWIDTHS = '12', FIRSTELEMENT = 1, STYLE = 2, ROWSOURCETYPE = 2, ROWSOURCE = 'USER_NAME.USER_NAME', CONTROLSOURCE = 'USER_NAME' ADD OBJECT CMDHIEUCHINH AS COMMANDBUTTON WITH FONTNAME = '.VnAvant', TOP = 1, LEFT = 50, HEIGHT = 1.8, WIDTH = 15, BACKCOLOR = RGB(192, 192, 192), FORECOLOR = RGB(0, 0, 160) * PROCEDURE cmdHIEUCHINH.click LOCAL FRMCHANGE FRMCHANGE = CREATEOBJECT('EDIT_FRM') FRMCHANGE.BORDERSTYLE = 2 FRMCHANGE.SHOW(1) IF PSW1=PSW2 .AND. FREPEAT REPLACE PASSWORD WITH PSW2 THISFORM.REFRESH ELSE WAIT WINDOW TIMEOUT 0.5 'Mat khau khong thay doi !' ENDIF RELEASE EDIT_FRM THISFORM.REFRESH ENDPROC ADD OBJECT CMDTHEM AS COMMANDBUTTON WITH FONTNAME = '.VnAvant', TOP = 3, LEFT = 50, HEIGHT = 1.8, WIDTH = 15, BACKCOLOR = RGB(192, 192, 192), FORECOLOR = RGB(0, 0, 160) *------------------------------------------------------------------------------------- PROCEDURE cmdTHEM.Click LOCAL FRMADD FRMADD = CREATEOBJECT('ADD_FRM') FRMADD.SHOW(1) IF PSW1=PSW2 .AND. .NOT. EMPTY(MUSR_NAME) SELECT USER_NAME APPEND BLANK REPLACE USER_NAME WITH MUSR_NAME, PASSWORD WITH PSW2, CHUCDANH WITH MPOS ELSE WAIT WINDOW TIMEOUT 0.5 'Khong the them' ENDIF RELEASE ADD_FRM THISFORM.REFRESH THISFORM.CBOUSR_NAME.REFRESH ENDPROC ADD OBJECT CMDXOA AS COMMANDBUTTON WITH FONTNAME = '.VnAvant', TOP = 5, LEFT = 50, HEIGHT = 1.8, WIDTH = 15, BACKCOLOR = RGB(192, 192, 192), FORECOLOR = RGB(0, 0, 160) *------------------------------------------------------------------------------------- PROCEDURE cmdXOA.click LOCAL MREC, MRECLUU SELECT USER_NAME MRECLUU = RECNO() COUNT FOR .NOT. DELETED() TO MREC GOTO MRECLUU IF MREC>1 LOCAL FRMDELETE FRMDELETE = CREATEOBJECT('DEL_FRM') FRMDELETE.SHOW(1) RELEASE DEL_FRM THISFORM.REFRESH ELSE WAIT WINDOW TIMEOUT 0.5 'Khong cho phep huy !' ENDIF ENDPROC ADD OBJECT CMDDONGY AS COMMANDBUTTON WITH FONTNAME = '.VnAvant', TOP = 7, LEFT = 50, HEIGHT = 1.8, WIDTH = 15, BACKCOLOR = RGB(192, 192, 192), FORECOLOR = RGB(0, 0, 160), CANCEL = .T. *------------------------------------------------------------------------------------- PROCEDURE cmdDONGY.Click RELEASE THISFORM ENDPROC *------------------------------------------------------------------------------------- PROCEDURE load SELECT 0 USE (DBF_TEMP) ALIAS USER_NAME ENDPROC *------------------------------------------------------------------------------------- PROCEDURE init PUBLIC FREPEAT FREPEAT = .T. THIS.CAPTION = 'Quan ly mat khau' THIS.LBLNAME.CAPTION = 'Người dùng' THIS.CMDHIEUCHINH.CAPTION = '\<Sửa' THIS.CMDTHEM.CAPTION = '\<Thêm' THIS.CMDXOA.CAPTION = '\<Hủy' THIS.CMDDONGY.CAPTION = 'Th\<oát' ENDPROC PROCEDURE destroy USE IN USER_NAME DO UPD_PAS RELEASE FREPEAT ENDPROC ENDDEFINE *------------------------------------------------------------------------------------- DEFINE CLASS ASK_FRM AS FORM SCALEMODE = 0 MAXBUTTON = .F. MINBUTTON = .F. CONTROLBOX = .F. WINDOWTYPE = 1 ICON = Path_human + 'Picture\User' TOP = 2 LEFT = 2 HEIGHT = 4 WIDTH = 42 AUTOCENTER = .T. BACKCOLOR = RGB(192, 192, 192) BORDERSTYLE = 2 ENDDEFINE * DEFINE CLASS EDIT_FRM AS ASK_FRM ADD OBJECT TXTMATMA AS TEXTBOX WITH TOP = 1, LEFT = 22, HEIGHT = 1.6, WIDTH = 18, PASSWORDCHAR = '*' * PROCEDURE txtmatma.Valid IF UPPER(ALLTRIM(THISFORM.TXTMATMA.VALUE))==UPPER(ALLTRIM(USER_NAME.PASSWORD)) RELEASE THISFORM LOCAL FRMNEWPSW FRMNEWPSW = CREATEOBJECT('NEWPSW_FRM') FRMNEWPSW.SHOW(1) ELSE WAIT WINDOW TIMEOUT 0.5 'Mat khau khong thay doi ! ' FREPEAT = .F. RELEASE THISFORM ENDIF ENDPROC ADD OBJECT LBLTEN AS LABEL WITH FONTNAME = '.VnAvant', TOP = 1.25, LEFT = 0, HEIGHT = 1, WIDTH = 20, BACKCOLOR = RGB(192, 192, 192), FORECOLOR = RGB(0, 0, 160) * PROCEDURE init THIS.CAPTION = 'Thay doi mat khau' THIS.LBLTEN.CAPTION = 'Mật khẩu củ :' ENDPROC ENDDEFINE * DEFINE CLASS NEWPSW_FRM AS EDIT_FRM * PROCEDURE txtmatma.Valid PSW1 = UPPER(ALLTRIM(THISFORM.TXTMATMA.VALUE)) RELEASE THISFORM LOCAL FRMREPSW FRMREPSW = CREATEOBJECT('REPSW_FRM') FRMREPSW.SHOW(1) ENDPROC ADD OBJECT LBLTENMOI AS LABEL WITH FONTNAME = '.VnAvant', TOP = 1.25, LEFT = 0, HEIGHT = 1.25, WIDTH = 21, BACKCOLOR = RGB(192, 192, 192), FORECOLOR = RGB(0, 0, 160) * PROCEDURE init THIS.CAPTION = 'Mat khau moi' THIS.LBLTENMOI.CAPTION = 'Mật khẩu mới' ENDPROC ENDDEFINE *------------------------------------------------------------------------------------- DEFINE CLASS REPSW_FRM AS EDIT_FRM PROCEDURE INIT THISFORM.TXTMATMA.LEFT = 22 THISFORM.CAPTION = 'Lap lai mat khau' THISFORM.LBLTENLAI.CAPTION = 'Lập lại mật khẩu' ENDPROC *------------------------------------------------------------------------------------- PROCEDURE txtmatma.Valid PSW2 = UPPER(ALLTRIM(THISFORM.TXTMATMA.VALUE)) RELEASE THISFORM ENDPROC ADD OBJECT LBLTENLAI AS LABEL WITH FONTNAME = '.VnAvant', TOP = 1.25, LEFT = 0, HEIGHT = 1.25, WIDTH = 22, BACKCOLOR = RGB(192, 192, 192), FORECOLOR = RGB(0, 0, 160) ENDDEFINE *------------------------------------------------------------------------------------- DEFINE CLASS ADD_FRM AS PASS_FRM CONTROLBOX = .F. PROCEDURE txtNAME.Valid LOCATE FOR USER_NAME=THISFORM.TXTNAME.VALUE IF FOUND() RELEASE THISFORM ELSE MUSR_NAME = ALLTRIM(THISFORM.TXTNAME.VALUE) ENDIF ENDPROC *------------------------------------------------------------------------------------- PROCEDURE txtCODE.Valid PSW1 = UPPER(ALLTRIM(THISFORM.TXTCODE.VALUE)) ENDPROC *------------------------------------------------------------------------------------- PROCEDURE txtPOS.Valid MPOS = THISFORM.TXTPOS.VALUE LOCAL FRMREADDPSW FRMREADDPSW = CREATEOBJECT('READDPSW_FRM') FRMREADDPSW.SHOW(1) RELEASE THISFORM ENDPROC *------------------------------------------------------------------------------------- PROCEDURE init THIS.CAPTION = 'Them' THIS.LBLNAME.CAPTION = 'Người dùng :' THIS.LBLCODE.CAPTION = 'Mật khẩu :' THIS.LBLPOS.CAPTION = 'Chức danh:' ENDPROC ENDDEFINE *------------------------------------------------------------------------------------- DEFINE CLASS READDPSW_FRM AS PASS_FRM CONTROLBOX = .F. PROCEDURE init THIS.LBLCODE.CAPTION = 'Lập lại' THIS.LBLNAME.CAPTION = 'Người dùng :' THIS.CAPTION = 'Them' THIS.TXTCODE.TABINDEX = 1 THIS.TXTNAME.TABINDEX = 2 THIS.TXTNAME.VALUE = MUSR_NAME THIS.TXTPOS.VALUE = MPOS THIS.TXTNAME.ENABLED = .F. THIS.TXTPOS.ENABLED = .F. ENDPROC PROCEDURE txtCODE.Valid PSW2 = UPPER(ALLTRIM(THISFORM.TXTCODE.VALUE)) RELEASE THISFORM ENDPROC ENDDEFINE *------------------------------------------------------------------------------------- DEFINE CLASS DEL_FRM AS EDIT_FRM PROCEDURE init THIS.CAPTION = 'Huy' THIS.LBLTEN.CAPTION = 'Mật khẩu củ :' ENDPROC *------------------------------------------------------------------------------------- PROCEDURE txtmatma.Valid IF UPPER(ALLTRIM(THISFORM.TXTMATMA.VALUE))==UPPER(ALLTRIM(USER_NAME.PASSWORD)) SELECT USER_NAME DELETE GOTO TOP THISFORM.REFRESH WAIT WINDOW TIMEOUT 0.5 'Đã hủy !' ELSE WAIT WINDOW TIMEOUT 0.5 'Không thể hủy !' ENDIF RELEASE THISFORM ENDPROC ENDDEFINE *------------------------------------------------------------------------------------- DEFINE CLASS pass_frm AS FORM SCALEMODE = 0 MAXBUTTON = .F. MINBUTTON = .F. CONTROLBOX = .F. CLOSABLE = .F. HEIGHT = 10 WIDTH = 45 BACKCOLOR = RGB(192, 192, 192) BORDERSTYLE = 2 WINDOWTYPE = 1 AUTOCENTER = .T. SHOWTIPS = .T. *------------------------------------------------------------------------------------- PROCEDURE init THIS.CAPTION = 'Access level definition' THIS.LBLNAME.CAPTION = 'Người dùng :' THIS.LBLCODE.CAPTION = 'Mật khẩu :' THIS.LBLPOS.CAPTION = 'Chức danh:' ENDPROC ADD OBJECT TXTNAME AS TEXTBOX WITH FONTNAME = 'Arial', TOP = 1.0, LEFT = 18.0, HEIGHT = 1.5, WIDTH = 25.0, INPUTMASK = 'XXXXXXXXXXXXXXXXXXXXXXXXX' ADD OBJECT TXTCODE AS TEXTBOX WITH FONTNAME = 'Arial', TOP = 3.0, LEFT = 18.0, HEIGHT = 1.5, WIDTH = 25.0, PASSWORDCHAR = '*' ADD OBJECT TXTPOS AS TEXTBOX WITH FONTNAME = '.VnAvant', TOP = 5.0, LEFT = 18.0, HEIGHT = 1.5, WIDTH = 25.0, INPUTMASK = 'XXXXXXXXXXXXXXX' ADD OBJECT LBLNAME AS LABEL WITH FONTNAME = '.VnAvant', TOP = 1.25, LEFT = 1, HEIGHT = 1.2, WIDTH = 16.0, BACKCOLOR = RGB(192, 192, 192), FORECOLOR = RGB(0, 0, 160), CAPTION = 'Người dùng :' ADD OBJECT LBLCODE AS LABEL WITH FONTNAME = '.VnAvant', TOP = 3.25, LEFT = 1, HEIGHT = 1.2, WIDTH = 16, BACKCOLOR = RGB(192, 192, 192), FORECOLOR = RGB(0, 0, 160), CAPTION = 'Mật khẩu :' ADD OBJECT LBLPOS AS LABEL WITH FONTNAME = '.VnAvant', TOP = 5.25, LEFT = 1, HEIGHT = 1.2, WIDTH = 16, BACKCOLOR = RGB(192, 192, 192), FORECOLOR = RGB(0, 0, 160), CAPTION = 'Chức danh :' ADD OBJECT CMD1 AS COMMANDBUTTON WITH CAPTION = '\<Ok', TOP = 7.5, LEFT = 13.0, HEIGHT = 1.8, WIDTH = 10.0, FORECOLOR = RGB(0, 0, 160) ADD OBJECT CMD2 AS COMMANDBUTTON WITH CAPTION = '\<Cancel', TOP = 7.5, LEFT = 24.0, HEIGHT = 1.8, WIDTH = 10.0, FORECOLOR = RGB(0, 0, 160), CANCEL = .T. * PROCEDURE cmd1.click RELEASE THISFORM ENDPROC PROCEDURE cmd2.click RELEASE THISFORM ENDPROC ENDDEFINE *------------------------------------------------------------------------------------- PROCEDURE read_psw SELECT PASSWORD SCAN INSERT INTO TEMP VALUES (PASSWORD.USER_NAME, DECODE(PASSWORD.PASSWORD), PASSWORD.CHUCDANH) ENDSCAN USE IN PASSWORD USE IN TEMP ENDPROC *------------------------------------------------------------------------------------- FUNCTION decode PARAMETER S PRIVATE S1, I, C S1 = "" S = ALLTRIM(S) FOR I = 1 TO LEN(S) C = ASC(SUBSTR(S, I, 1)) S1 = S1+CHR(IIF(MOD(C, 2)=0, C-128, C-96)) ENDFOR RETURN S1 ENDFUNC *------------------------------------------------------------------------------------- FUNCTION ENCODE PARAMETER S PRIVATE S1, I, C S1 = "" S = ALLTRIM(S) FOR I = 1 TO LEN(S) C = ASC(UPPER(SUBSTR(S, I, 1))) S1 = S1+CHR(IIF(MOD(C, 2)=0, C+128, C+96)) ENDFOR RETURN S1 ENDFUNC *------------------------------------------------------------------------------------- PROCEDURE UPD_PAS SELECT 0 USE EXCLUSIVE (PASSWORD) ALIAS PASSWORD DELE ALL PACK SELECT 0 USE (DBF_TEMP) ALIAS TEMP SCAN FOR .NOT. DELETED() .AND. .NOT. EMPTY(USER_NAME) INSERT INTO PASSWORD VALUES (TEMP.USER_NAME, ENCODE(TEMP.PASSWORD), TEMP.CHUCDANH) ENDSCAN USE IN PASSWORD USE IN TEMP ENDPROC ------------------- File:reset.prg CLEAR PROG ALL CLOS DATA ALL CLOS ALL RELE ALL CLEAR ALL CLEA ON SHUTDOWN ON KEY ON ERROR = NUMLOCK(.F.) _RMARGIN = 255 _PEJECT = [NONE] * SET RESO ON SET HELP ON SET CONFIRM OFF SET DATE FRENCH SET DELETE ON SET ESCAPE ON SET EXACT OFF SET EXCLUSIVE OFF SET HOUR TO 24 SET NEAR ON SET PRINT OFF SET STAT BAR ON SET SAFE OFF SET TALK OFF SET REFRESH TO 1,1 REST MACRO SET SYSMENU ON SET SYSMENU TO DEFA *!* CANCEL &&De thoat khoi Read Event ------------------------------ File: smlib.PRG *--------------------- * Nguoi Viet: Hong Tu. * Dinh nghia cua so Win PROCEDURE Window PARA IconName IF PARA()<1 IconName = 'ICON01.ico' ENDIF *!* FLOOR(m_ScrRow) - 2, FLOOR(m_ScrCoL) = 30, 133 *!* DEFINE WINDOW m_WinBrw FROM 2, 0 TO FLOOR(m_ScrRow) - 2, FLOOR(m_ScrCoL) COLOR SCHEME 10 ; *!* CLOSE FLOAT GROW MINIMIZE ZOOM SYSTEM FONT m_Font_Name, m_Font_Size - 2 ; *!* ICON FILE LOCFILE(SYS(5)+ SOURCE +'\human\picture\' + IconName) m_Font_Name = 'Vn-Sans-Serif' m_Font_Size = 10 DEFINE WINDOW M_WinBrw FROM 02, 0 TO FLOOR(M_ScrRow) - 2, FLOOR(M_ScrCoL) COLOR SCHEME 10 ; CLOSE FLOAT GROW MINIMIZE ZOOM SYSTEM FONT m_Font_Name, m_Font_Size - 2 ; ICON FILE LOCFILE(path_human+'Picture\ICON01.ico') RETURN *--------------------- * Xoa cua so Win PROCEDURE Rel_Window RELEASE WINDOW m_WinBrw RETURN *--------------------- * Doi mau cua ban ghi trong man hinh browse FUNCTION Change_Color_Of_Browse(nRecord,cOldDynamicBackColor) RETURN oBrowse.SetAll("DynamicBackColor","IIF(RECNO()="+STR(nRecord)+",13172190,"+; IIF(EMPTY(cOldDynamicBackColor),"''",cOldDynamicBackColor)+")","Column") * ........................... Procedure: K_TagUn ........................ * Bo danh dau tat ca cac dong PROCEDURE K_TagUn PRIVATE _Recno PUSH KEY CLEAR _Recno = RECNO() REPLACE ALL TAG WITH " " GO _Recno POP KEY RETURN * ........................... Procedure: K_TagAll ........................ * Danh dau tat ca cac dong PROCEDURE K_TagAll PRIVATE _Recno PUSH KEY CLEAR _Recno = RECNO() REPLACE ALL TAG WITH "x" GO _Recno POP KEY RETURN * ........................... Procedure: K_Tag ........................... * danh dau/Bo danh dau mot dong PROCEDURE K_Tag PUSH KEY CLEAR IF EMPTY(TAG) REPLACE TAG WITH "x" ELSE REPLACE TAG WITH " " ENDI POP KEY RETURN *......................... Hàm đổi số ............................ * Doi so thanh chu de in chung tu FUNCTION DOI_SO_CHU PARAMETER So, DonViTinh, Doc_So_Bon * SO: So can doi * DonViTinh: Don vi tinh khi doc thanh chu (VND, USD,...) * Doc_So_Bon: Doc so 4 la "bon" hay "tu" , neu = [T] - [tu], nguoc lai la [bon] PRIVATE SoChu IF PARAMETER() < 3 Doc_So_Bon = [] ENDIF IF PARAMETER() < 2 DonViTinh = [] ENDIF Tu_Bon = ' bốn' IF UPPER(Doc_So_Bon) = 'T' Tu_Bon = ' tư' ENDIF DIMENSION MangChuSo( 10 ) STOR [ không] TO MangChuSo(1) STOR [ một] TO MangChuSo(2) STOR [ hai] TO MangChuSo(3) STOR [ ba] TO MangChuSo(4) STOR [ bốn] TO MangChuSo(5) STOR [ năm] TO MangChuSo(6) STOR [ sáu] TO MangChuSo(7) STOR [ bảy] TO MangChuSo(8) STOR [ tám] TO MangChuSo(9) STOR [ chín] TO MangChuSo(10) SoChu = [] IF So < 0 So = - So SoChu = SoChu + " âm" ENDIF So_sau_dau_phay = So - INT(So) ****Doc phan nguyen truoc So = INT(So) &&Vi ben duoi co doan S = LEFT(ALLT(S), LEN(ALLT(S)) - 1) ; && cho nen phai cho so 0 vao de neu doc so 0 thi no khong bi mat chu "g" IF So = 0 SoChu = SoChu + " " + 'không0' ELSE &&Cong them cac so khong vao dang truoc chuoi de duoc chan cac to hop 3 so So = ALLT(STR(So,16)) IF MOD(LEN(So) , 3 ) = 1 So = '00' + So ENDIF IF MOD(LEN (So), 3 ) = 2 So = '0' + So ENDIF So_Nhom = LEN(So)/3 Stt_Nhom = So_Nhom Stt_So = 1 &&Doc theo tung nhom 3 so DO WHILE Stt_So <= (LEN(So) - 2) &&Cho den vi tri cua chu so dau tien cua nhom cuoi cung So_Phu = SUBSTR(So, Stt_So, 3) Stt_Nhom = ROUND((LEN(So) - Stt_So +1) / 3, 0) IF LEN(DOI_SO_CHU_NHOM(So_Phu, Stt_Nhom, So_Nhom)) > 0 IF Stt_Nhom < 5 &&Nho hon mot ty thi phai cng them dau phay SoChu = SoChu + DOI_SO_CHU_NHOM(So_Phu, Stt_Nhom, So_Nhom) + [,] ELSE SoChu = SoChu + DOI_SO_CHU_NHOM(So_Phu, Stt_Nhom, So_Nhom) ENDIF ELSE SoChu = SoChu + DOI_SO_CHU_NHOM(So_Phu, Stt_Nhom, So_Nhom) ENDIF Stt_So = Stt_So + 3 ENDDO ENDIF SoChu = LEFT(ALLT(SoChu), LEN(ALLT(SoChu)) - 1) ****Doc phan thap phan * Neu chu so dau tien sau dau phay khac khong thi doc nhu phan so nguyen IF So_sau_dau_phay > 0 SoChu = SoChu + " phẩy" So_sau_dau_phay = ALLTR(STR(So_sau_dau_phay, 8, 6)) &&Chi doc den 6 chu so sau dau phay So_sau_dau_phay = SUBS(So_sau_dau_phay, 3, LEN(So_sau_dau_phay) - 2) &&Cat lay phan sau dau phay IF LEFT(So_sau_dau_phay, 1) '0' &&Cat nhung so 0 o ben phai do STR() di DO WHILE RIGHT(So_sau_dau_phay, 1) = '0' So_sau_dau_phay = LEFT(So_sau_dau_phay, LEN(So_sau_dau_phay) - 1) ENDDO &&Cong them cac so khong vao dang truoc chuoi de duoc chan cac to hop 3 so IF MOD(LEN(So_sau_dau_phay) , 3 ) = 1 So_sau_dau_phay = '00' + So_sau_dau_phay ENDIF IF MOD(LEN(So_sau_dau_phay), 3 ) = 2 So_sau_dau_phay = '0' + So_sau_dau_phay ENDIF So_Nhom = ROUND(LEN(So_sau_dau_phay) / 3,0) Stt_Nhom = So_Nhom Stt_So = 1 &&Doc theo tung nhom 3 so DO WHILE Stt_So <= (LEN(So_sau_dau_phay) - 2)&&Cho den vi tri cua chu so dau tien cua nhom cuoi cung So_Phu = SUBSTR(So_sau_dau_phay, Stt_So, 3) Stt_Nhom = ROUND ((LEN (So_sau_dau_phay) - Stt_So +1) / 3,0) SoChu = SoChu + DOI_SO_CHU_NHOM( So_Phu, Stt_Nhom, So_Nhom) Stt_So = Stt_So + 3 ENDDO ELSE * Neu chu so dau tien sau dau phay = 0 thi doc tung chu so mot &&Cat nhung so 0 o ben phai do STR() di DO WHILE RIGHT(So_sau_dau_phay, 1) = '0' So_sau_dau_phay = LEFT(So_sau_dau_phay, LEN(So_sau_dau_phay) - 1) ENDDO &&Doc lan luot tung chu so sau dau phay FOR i =1 TO LEN(So_sau_dau_phay) j = SUBS(So_sau_dau_phay, i, 1) SoChu = SoChu + MangChuSo(VAL(j) +1 ) ENDFOR ENDIF ENDIF SoChu = ALLTR(UPPER(LEFT(SoChu, 1)) + SUBS(SoChu, 2) + [ ] + DonViTinh) RETURN SoChu *......................... Function DOI_SO_CHU_NHOM ............................ FUNCTION DOI_SO_CHU_NHOM PARAMETER Nhom_So, Stt_Nhom, So_Nhom * Nhom_So: Nhom 3 so can doc * Stt_Nhom: Stt cua nhom trong tong so cac nhom * So_Nhom: Tong so nhom cua so can doc PRIVATE Tram, Chuc, Don_Vi, Tram_Chu, Chuc_Chu, Don_Vi_Chu, Nhom_Chu Nhom_Chu = '' Tram = LEFT(Nhom_So,1) Chuc = SUBSTR(Nhom_So,2,1) Don_Vi = RIGHT(Nhom_So,1) Tram_Chu = MangChuSo(VAL(Tram) +1 ) Chuc_Chu = MangChuSo(VAL(Chuc) +1 ) Don_Vi_Chu = MangChuSo(VAL(Don_Vi) +1 ) IF (Tram '0') .OR. ((Stt_Nhom = 1) .AND. (Stt_Nhom < So_Nhom)) Nhom_Chu = Nhom_Chu + Tram_Chu + ' trăm' ENDIF IF ALLTR(Chuc_Chu) 'không' IF ALLTR(Chuc_Chu) 'một' Nhom_Chu = Nhom_Chu + Chuc_Chu + ' mươi' IF ALLTR(Don_Vi_Chu) 'năm' IF ALLTR(Don_Vi_Chu) 'không' IF ALLTR(Don_Vi_Chu) = 'một' Nhom_Chu = Nhom_Chu + ' mốt' ELSE IF (ALLTR(Don_Vi_Chu) = 'bốn') .AND. (Stt_Nhom > 1) Nhom_Chu = Nhom_Chu + Tu_Bon ELSE Nhom_Chu = Nhom_Chu + Don_Vi_Chu ENDIF ENDIF ENDIF ELSE Nhom_Chu = Nhom_Chu + ' lăm' ENDIF ELSE Nhom_Chu = Nhom_Chu + ' mười' IF ALLTR(Don_Vi_Chu) 'năm' IF ALLTR(Don_Vi_Chu) 'không' Nhom_Chu = Nhom_Chu + Don_Vi_Chu ENDIF ELSE Nhom_Chu = Nhom_Chu + ' lăm' ENDIF ENDIF ELSE IF ALLTR(Don_Vi_Chu) 'không' Nhom_Chu = Nhom_Chu + ' linh' IF ALLTR(Don_Vi_Chu) 'bốn' Nhom_Chu = Nhom_Chu + Don_Vi_Chu ELSE Nhom_Chu = Nhom_Chu + Tu_Bon ENDIF ENDIF ENDIF IF (Tram = '0') .AND. (Chuc = '0') .AND. (Don_Vi '0') .AND. (Stt_Nhom > 1) Nhom_Chu = Don_Vi_Chu ENDIF IF (Tram = '0') .AND. (Chuc = '0') .AND. (Don_Vi '0') .AND. (So_Nhom = 1) Nhom_Chu = Don_Vi_Chu ENDIF DO CASE CASE Stt_Nhom = 2 Nhom_Chu = Nhom_Chu + ' nghìn' CASE Stt_Nhom = 3 Nhom_Chu = Nhom_Chu + ' triệu' CASE Stt_Nhom = 4 Nhom_Chu = Nhom_Chu + ' tỷ' CASE Stt_Nhom = 5 Nhom_Chu = Nhom_Chu + ' nghìn' CASE Stt_Nhom = 6 Nhom_Chu = Nhom_Chu + ' triệu' ENDCASE IF (Tram = '0') .AND. (Chuc = '0') .AND. (Don_Vi = '0') Nhom_Chu = '' ENDIF RETURN Nhom_Chu *!* ---------------------------------------- *!* PROCEDURE HookObjectBrowse *!* ---------------------------------------- PROCEDURE HookObjectBrowse oBrowse.Tag = ORDER() oBrowse.Comment = FILTER() FOR i =1 TO oBrowse.ColumnCount WITH oBrowse.Columns(i) cCaption = .Header1.Caption .RemoveObject("Header1") .AddObject("Header1", "hdrSort") .Header1.Tag = .ControlSource .Header1.Caption = cCaption ENDWITH ENDFOR FOR i =1 TO oBrowse.ColumnCount WITH oBrowse.Columns(i) .RemoveObject("Text1") .AddObject("Text1", "txtSort") .Text1.Visible = .T. ENDWITH ENDFOR IF oBrowse.Partition > 0 oBrowse.Panellink = .F. oBrowse.Panel = 0 oBrowse.ScrollBars = 0 oBrowse.Panel = 1 oBrowse.DeleteMark = .F. oBrowse.RecordMark = .F. oBrowse.Panellink = .T. oBrowse.Partition = oBrowse.Partition - 18 ENDIF ENDPROC *!* ---------------------------------------- DEFINE CLASS hdrSort AS Header PROCEDURE Init THIS.FontName = m_Font_Name THIS.FontSize = m_Font_Size THIS.FontBold = .T. THIS.Alignment = 2 THIS.BackColor = m_Back_color ENDPROC PROCEDURE DblClick IF NOT ISEXCLUSIVE() RETURN ENDIF sIndex = THIS.Tag IF NOT EMPTY(oBrowse.ToolTipText) sExecute = "oBrowse." + ALLTRIM(oBrowse.ToolTipText)+ ".Header1.ForeColor = 0" &sExecute ENDIF DO CASE CASE EMPTY(THIS.Comment) INDEX ON &sIndex TAG fOrder THIS.Comment = "1" THIS.ForeColor = 16711680 CASE THIS.Comment = "1" INDEX ON &sIndex DESCENDING TAG fOrder THIS.Comment = "2" THIS.ForeColor = 16711680 CASE THIS.Comment = "2" oldOrder = ALLTRIM(oBrowse.Tag) SET ORDER TO &oldOrder THIS.Comment = "" THIS.ForeColor = 0 ENDCASE oBrowse.Refresh oBrowse.ToolTipText = THIS.Parent.Name ENDPROC ENDDEFINE *!* ---------------------------------------- DEFINE CLASS txtSort AS TextBox PROCEDURE Init THIS.FontName = m_Font_Name THIS.FontSize = m_Font_Size THIS.BorderStyle = 0 ENDPROC PROCEDURE GotFocus THIS.StatusBarText = ALLTRIM(m_Prompt) + " - " + ALLTRIM(STR(RECNO(), 16)) + "/" + ALLTRIM(STR(RECCOUNT(), 16)) + " " + Cat_dau(ALLTRIM(THIS.Parent.Header1.Caption)) + ": " + Cat_dau(THIS.Text) ENDPROC ENDDEFINE *!* FUNCTION MsgBox(sMessageText,iDialogBoxType,cTitleBarText) FUNCTION MsgBox PARAMETER sMessageText,iDialogBoxType,cTitleBarText PRIVATE OldError IF VARTYPE(iDialogBoxType) = "C" cTitleBarText = iDialogBoxType nDialogBoxType = 0 ELSE nDialogBoxType = iDialogBoxType ENDIF IF EMPTY(m_user_pre) cMessageText = sMessageText ELSE cMessageText = IIF(; MOD(INT(SECOND()), 2) = 0, ; m_user_dear + " " + ALLTRIM(m_user_pre), ; ALLTRIM(m_user_pre) + " ơi") + ", " + sMessageText && , ECode2String('SMLIB0073'))) ENDIF PRIVATE iReturn iReturn=0 IF PARAMETER()=1 nDialogBoxType=0 ENDIF IF PARAMETER()<3 cTitleBarText=_SCREEN.Caption ENDIF IF m_Lan "V" iReturn = MESSAGEBOX(sMessageText,nDialogBoxType,cTitleBarText) RETURN iReturn ENDIF frmSet = CREATEOBJECT('FormSet') frmSet.WindowType=1 frmSet.AddObject('frmMsg','Form') frmSet.frmMsg.ControlBox=.F. frmSet.frmMsg.Height=90 frmSet.frmMsg.BorderStyle=1 frmSet.frmMsg.Caption=cTitleBarText frmSet.frmMsg.AddObject('mLabel','Label') frmSet.frmMsg.mLabel.Visible=.T. frmSet.frmMsg.mLabel.FontName=m_Font_name frmSet.frmMsg.mLabel.Caption= cMessageText frmSet.frmMsg.mLabel.Top=15 frmSet.frmMsg.mLabel.Left=50 frmSet.frmMsg.mLabel.Autosize = .T. frmSet.frmMsg.AddObject('mImage','Image') frmSet.frmMsg.mImage.Visible=.T. frmSet.frmMsg.mImage.BackStyle = 0 frmSet.frmMsg.mImage.Top=5 frmSet.frmMsg.mImage.Left=10 frmSet.frmMsg.mImage.Height=20 frmSet.frmMsg.mImage.Width=20 DO CASE CASE nDialogBoxType<256 iIndex=1 CASE nDialogBoxType<512 iIndex=2 OTHER iIndex=3 ENDCASE nDialogBoxType=MOD(nDialogBoxType,256) DO CASE CASE MOD(nDialogBoxType,80)<16 frmSet.frmMsg.mImage.Visible=.F. frmSet.frmMsg.mLabel.Left=20 CASE MOD(nDialogBoxType,80)<32 frmSet.frmMsg.mImage.Picture=k_bmp+"hM04.Bmp" CASE MOD(nDialogBoxType,80)<48 frmSet.frmMsg.mImage.Picture=k_bmp+"hM01.Bmp" CASE MOD(nDialogBoxType,80)<64 frmSet.frmMsg.mImage.Picture=k_bmp+"hM02.Bmp" CASE MOD(nDialogBoxType,80)<80 frmSet.frmMsg.mImage.Picture=k_bmp+"hM03.Bmp" ENDCASE frmSet.frmMsg.Width =frmSet.frmMsg.mLabel.Width + 2 * frmSet.frmMsg.mLabel.Left IF frmSet.frmMsg.Width < 300 frmSet.frmMsg.Width = 300 ENDIF WITH frmSet.frmMsg.mLabel .Autosize = .F. .Height = .Height * (OCCURS(CHR(13), .Caption) + OCCURS(CHR(10), .Caption) + 1) ENDWITH frmSet.frmMsg.Height = frmSet.frmMsg.mLabel.Height + 80 Do CASE CASE MOD(nDialogBoxType,16)=1 frmSet.frmMsg.AddObject('cmdOk','cmdMsg') frmSet.frmMsg.AddObject('cmdCancel','cmdMsg') frmSet.frmMsg.cmdOk.Caption="\<Nhận" frmSet.frmMsg.cmdCancel.Caption=IIF(m_Lan = 'V', "\<Bỏ qua", ECode2String('SMLIB0074')) frmSet.frmMsg.cmdOk.Left=INT((frmSet.frmMsg.width-2*frmSet.frmMsg.cmdOk.width-10)/2) frmSet.frmMsg.cmdCancel.Left=frmSet.frmMsg.cmdOk.Left+10+frmSet.frmMsg.cmdOk.Width frmSet.frmMsg.cmdOk.Visible =.T. frmSet.frmMsg.cmdCancel.Visible =.T. IF iIndex=2 frmSet.frmMsg.cmdCancel.TabIndex = 0 ENDIF CASE MOD(nDialogBoxType,16)=2 frmSet.frmMsg.AddObject('cmdAbort','cmdMsg') frmSet.frmMsg.AddObject('cmdRetry','cmdMsg') frmSet.frmMsg.AddObject('cmdIgnore','cmdMsg') frmSet.frmMsg.cmdAbort.Caption="\<Huỷ" frmSet.frmMsg.cmdRetry.Caption=IIF(m_Lan = 'V', "\<Làm lại", ECode2String('SMLIB0075')) frmSet.frmMsg.cmdIgnore.Caption=IIF(m_Lan = 'V', "\<Bỏ qua", ECode2String('SMLIB0076')) frmSet.frmMsg.cmdAbort.Left=INT((frmSet.frmMsg.width-3*frmSet.frmMsg.cmdAbort.width-20)/2) frmSet.frmMsg.cmdRetry.Left=INT((frmSet.frmMsg.width-frmSet.frmMsg.cmdAbort.width)/2) frmSet.frmMsg.cmdIgnore.Left=2*frmSet.frmMsg.cmdRetry.Left-frmSet.frmMsg.cmdAbort.Left frmSet.frmMsg.cmdAbort.Visible =.T. frmSet.frmMsg.cmdRetry.Visible =.T. frmSet.frmMsg.cmdIgnore.Visible =.T. IF iIndex=2 frmSet.frmMsg.cmdRetry.TabIndex = 0 ENDIF IF iIndex=3 frmSet.frmMsg.cmdIgnore.TabIndex = 0 ENDIF CASE MOD(nDialogBoxType,16)=3 frmSet.frmMsg.AddObject('cmdYes','cmdMsg') frmSet.frmMsg.AddObject('cmdNo','cmdMsg') frmSet.frmMsg.AddObject('cmdCancel','cmdMsg') frmSet.frmMsg.cmdYes.Caption="\<Có" frmSet.frmMsg.cmdNo.Caption="\<Không" frmSet.frmMsg.cmdCancel.Caption=IIF(m_Lan = 'V', "\<Bỏ qua", ECode2String('SMLIB0077')) frmSet.frmMsg.cmdYes.Left=INT((frmSet.frmMsg.width-3*frmSet.frmMsg.cmdYes.width-20)/2) frmSet.frmMsg.cmdNo.Left=INT((frmSet.frmMsg.width-frmSet.frmMsg.cmdYes.width)/2) frmSet.frmMsg.cmdCancel.Left=2*frmSet.frmMsg.cmdNo.Left-frmSet.frmMsg.cmdYes.Left frmSet.frmMsg.cmdYes.Visible =.T. frmSet.frmMsg.cmdNo.Visible =.T. frmSet.frmMsg.cmdCancel.Visible =.T. IF iIndex=2 frmSet.frmMsg.cmdNo.TabIndex = 0 ENDIF IF iIndex=3 frmSet.frmMsg.cmdCancel.TabIndex = 0 ENDIF CASE MOD(nDialogBoxType,16)=4 frmSet.frmMsg.AddObject('cmdYes','cmdMsg') frmSet.frmMsg.AddObject('cmdNo','cmdMsg') frmSet.frmMsg.cmdYes.Caption="\<Có" frmSet.frmMsg.cmdNo.Caption="\<Không" frmSet.frmMsg.cmdYes.Left=INT((frmSet.frmMsg.width-2*frmSet.frmMsg.cmdYes.width-10)/2) frmSet.frmMsg.cmdNo.Left=frmSet.frmMsg.cmdYes.Left+10+frmSet.frmMsg.cmdYes.Width frmSet.frmMsg.cmdYes.Visible =.T. frmSet.frmMsg.cmdNo.Visible =.T. IF iIndex=2 frmSet.frmMsg.cmdNo.TabIndex = 0 ENDIF CASE MOD(nDialogBoxType,16)=5 frmSet.frmMsg.AddObject('cmdRetry','cmdMsg') frmSet.frmMsg.AddObject('cmdCancel','cmdMsg') frmSet.frmMsg.cmdRetry.Caption=IIF(m_Lan = 'V', "\<Thử lại", ECode2String('SMLIB0078')) frmSet.frmMsg.cmdCancel.Caption=IIF(m_Lan = 'V', "\<Bỏ qua", ECode2String('SMLIB0079')) frmSet.frmMsg.cmdRetry.Left=INT((frmSet.frmMsg.width-2*frmSet.frmMsg.cmdRetry.width-10)/2) frmSet.frmMsg.cmdCancel.Left=frmSet.frmMsg.cmdRetry.Left+10+frmSet.frmMsg.cmdRetry.Width frmSet.frmMsg.cmdRetry.Visible =.T. frmSet.frmMsg.cmdCancel.Visible =.T. IF iIndex=2 frmSet.frmMsg.cmdCancel.TabIndex = 0 ENDIF OTHER frmSet.frmMsg.AddObject('cmdOk','cmdMsg') frmSet.frmMsg.cmdOk.Caption="\<Nhận" frmSet.frmMsg.cmdOk.Left=INT((frmSet.frmMsg.width-frmSet.frmMsg.cmdOk.width)/2) frmSet.frmMsg.cmdOk.Visible =.T. ENDCASE nError = 0 OldError = ON("ERROR") ON ERROR nError = 1 IF VARTYPE(_FORM) = "O" IF UPPER(_SCREEN.Activeform.Class) = "FRMTRANS" IF UPPER(_FORM.ActiveControl.BaseClass) = "GRID" _isLostfocus = .T. ENDIF ENDIF ENDIF IF nError = 1 _isLostfocus = .F. ENDIF ON ERROR &OldError frmSet.frmMsg.AutoCenter=.T. ?? CHR(7) frmSet.frmMsg.Show RETURN iReturn DEFINE CLASS cmdMsg AS COMMANDBUTTON Top = frmSet.frmMsg.mLabel.Top + frmSet.frmMsg.mLabel.Height + 30 Width=80 Height = 25 Left=20 FontName = m_Font_name PROCEDURE Click DO CASE CASE Uppe(This.Name)="CMDOK" iReturn=1 CASE Uppe(This.Name)="CMDCANCEL" iReturn=2 CASE Uppe(This.Name)="CMDYES" iReturn=6 CASE Uppe(This.Name)="CMDNO" iReturn=7 CASE Uppe(This.Name)="CMDABORT" iReturn=3 CASE Uppe(This.Name)="CMDIGNORE" iReturn=5 CASE Uppe(This.Name)="CMDRETRY" iReturn=4 ENDCASE THISFORM.Release ENDPROC ENDDEFINE ------------------------- File: Start.prg CLOSE ALL SET DEFA TO HOME() Keyboard 'ABC' Keyboard '{ENTER}' Keyboard '{ENTER}' Do Main ------------------------. ._.

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

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