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
152 trang |
Chia sẻ: huyen82 | Lượt xem: 1542 | Lượt tải: 2
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:
- 33323.doc