Phân tích và thiết kế hệ thống thông tin quản lý lương

LỜI MỞ ĐẦU 3

CHƯƠNG I : MỘT SỐ VẤN ĐỀ VỀ PHƯƠNG PHÁP LUẬN TRONG HỆ THỐNG THÔNG TIN QUẢN LÝ TIỀN LƯƠNG 4

I. CƠ SỞ LÝ LUẬN VỀ TIỀN LƯƠNG VÀ CÁC HÌNH THỨC TRẢ LƯƠNG 4

1. Cơ sở lý luận và bản chất của tiền lương. 4

2. Hình thức trả lương theo thời gian 4

2.1 Chế độ trả lương theo thời gian đơn giản 5

2.2 Chế độ trả lương theo thời gian có thưởng 5

3. Chế độ bảo hiểm xã hội 6

3.1 Khái niệm: 6

3.2 Quỹ bảo hiểm xã hội 6

3.3 Các chế độ BHXH 6

4. Chế độ tính lương của Công ty 6

II. PHƯƠNG PHÁP LUẬN PHÂN TÍCH _ THIẾT KẾ HỆ THỐNG THÔNG TIN 8

1. Một số vấn đề về hệ thống thông tin 8

1.1 Khái niệm hệ thống thông tin 8

1.2 Hệ thống thông tin quản lý MIS 8

1.3 Hệ thống thông tin kế toán 9

2. Nguyên nhân dẫn tới việc phát triển một hệ thống thông tin 9

3. Phương pháp phát triển một hệ thống thông tin 10

4. Các giai đoạn phát triển hệ thống. 11

5. Công cụ mô hình hoá 13

6. Các giai đoạn trong quá trình xây dựng mô hình dữ liệu 14

CHƯƠNG II : PHÂN TÍCH BÀI TOÁN 17

I. GIỚI THIỆU BÀI TOÁN 17

II. MỤC ĐÍCH XÂY DỰNG ĐỀ TÀI 17

III. YÊU CẦU CỦA ĐỀ TÀI. 18

1. Cập nhật những thông tin cần thiết. 18

2. Hỗ trợ việc tìm kiếm 19

3. Lập các báo cáo thống kê. 19

CHƯƠNG III : PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG THÔNG TIN QUẢN LÝ TIỀN LƯƠNG 20

I. PHÂN TÍCH LUỒNG THÔNG TIN VÀ DỮ LIỆU 20

1. Sơ đồ chức năng của hệ thống thông tin. 20

2. Sơ đồ luồng dữ liệu. 21

2.1 Sơ đồ ngữ cảnh của hệ thống tính lương. 21

2.2 Biểu đồ luồng dữ liệu mức đỉnh 21

2.3 Sơ đồ phân rã chức năng mô tả hoạt động chấm công(CC) 22

II. THIẾT KẾ CƠ SỞ DỮ LIỆU 23

1. Thiết kế cơ sở dữ liệu đi từ các thông tin đầu ra. 23

2. Mô tả các bảng. 27

2.1 Bảng lương nhân viên . 27

2.2 Lương theo phòng ban. 27

III. THIẾT KẾ CHƯƠNG TRÌNH QUẢN LÝ LƯƠNG 28

1. Ngôn ngữ thiết kế chương trình. 28

2. Thiết kế menu của chương trình. 28

3. Màn hình giao diện của thực đơn. 29

4. Một số kết quả đầu ra. 31

5. Chương trình lập trình 33

KẾT LUẬN. 57

 

 

 

 

doc57 trang | Chia sẻ: huong.duong | Lượt xem: 5858 | Lượt tải: 2download
Bạn đang xem trước 20 trang tài liệu Phân tích và thiết kế hệ thống thông tin quản lý lương, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
những dữ liệu nào dưới dạng những báo xáo như thế nào và sử dụng những dữ liệu ấy vào việc gì. Phác hoạ mô hình dữ liệu: trước hết là xác định các thực thể và thuộc tính của mỗi thực thể đó. Xác định thực thể nào với thuộc tính nào cần được ghi nhận và lưu trữ trong CSDL sao cho có thể đạt được những mục đích đã đề ra. Thực chất là xác định CSDL cần chứa những bảng nào và mỗi bảng cần chưa những cột nào. Những nguyên lý để chọn lựa các bảng và các cột trong bảng: Giảm thiểu sự trùng lắp: Mỗi bảng khôn gnên chứa dữ liệu trùng lặp và các bảng khác nhau cũng không nên chứa dữ liệu như nhau. Tránh dư thừa: mỗi bảng phải chứa vừa đủ những dữ liệu cần thiết về một thực thể. Không nên đưa vào những cột có thể tính toán suy ta từ những cột khác. Tăng tính độc lập giữa các bảng: Phân chia dữ liệu vào các bảng sao cho có thể biên tập dữ liệu trong bảng này một cách độc lập với bảng khác. Dữ liệu nguyên tố: mỗi cột chỉ nên chứa những yếu tố dữ liệu có tính chất nguyên tố. Xác định những mối quan hệ giữa các thực thể: sau khi đã phân chia dữ liệu vào các bảng, nhà thiết kế phải tìm ra quan hệ giữa các bảng để sau này có thể trích rút và kết hợp dữ liệu từ các bảng khác nhau nhằm đáp một cách nhanh chóng và đầy đủ nhu cầu của người dùng. Xác định các khoá chính để tránh sự xâm nhập về thông tin dữ liệu giữa các bản ghi, trong một bảng đòi hỏi ta phải nhận diện một trường hay một thuộc tính làm yếu tố phân biệt còn gọi là khoá chính của bảng. Nếu có nhiều lựa chọn thì phải chọn ra trường nào có ý nghĩa nhất đối với ứng dụng để làm khoá chính. Đôi khi ta cũng phải biết kết hợp một vài thuộc tính để tạo mục khoá chính. Nhận diện mục khoá ngoại lai: khoá này yêu cầu là một trường trên bảng dữ liệu này những giá trị của nó phải khớp với giá trị của mục khoá chính trên bảng dữ liệu cần liên kết kia. Song khoá chính này chỉ mang tính kết quả chứ không xác định tính duy nhất của các bản ghi trong bảng dữ liệu. Thêm vào các trường không phải là khoá: yêu cầu tạo ra những tên để đặt cho các trường trong bảng sao cho gợi nhớ và thuận tiện khi xử lý các dữ liệu trên bản. Sau đó cần tiến hành chuẩn hoá để liên kết một cách chặt chẽ với nhau đảm bảo không mất thông tin. Duyệt lại mô hình dữ liệu để phát hiện và khắc phục những khuyết điểm của bản thiết kế CSDL. Tạo lập CSDL: sau khi đã sửa và duyệt mô hình một cách chu đáo thì có thể tiến hành “phiên dịch” mô hình thành CSDL, tạo bảng, ghi nhận những mối quan hệ, điền dữ liệu vào các bảng và tạo ra các đối tượng khác của cơ sở dữ liệu như: mẫu(form), báo cáo, Phân tích bài toán Giới thiệu bài toán Bài toán quản lý tiền lương là quản lý thông tin có liên quan tới lương bao gồm các thông tin: nhân viên, thời gian lao động, chấm công,mức lương, hệ số lương, khen thưởng, kỷ luật, bảo hiểm xã hội, bảo hiểm y tế, cách thức tính lương, Thông tin đầu vào của hệ thống bao gồm các thông tin về nhân viên, thông tin về thời gian lao động của nhân viên, các thông tin về khen thưởng, kỷ luật, thông tin về thời gian lao động, các quy định về chế độ lao động và tiền lương cũng như các chế độ bảo hiểm của doanh nghiệp Từ các thông tin đầu vào và những yêu cầu của các doanh nghiệp sẽ tính toán tiền lương cho mỗi nhân viên đồng thời cũng đưa ra được các báo cáo tổng hợp để trình lên ban lãnh đạo và các phòng ban có liên quan. Mục đích xây dựng đề tài Cùng với sự phát triển của xã hôị thì công nghệ thông tin và đang được đưa và ứng dụng trên phạm vi toàn thế giới, dần tiến tới tin học hoá tất cả các hoạt động trong mọi lĩnh vực của các ngành nghề. Máy tính thực sự là công cụ không thể thiếu được trong mọi hoạt động của xã hội trong thời đại bùng nổ thông tin như hiện nay. Chính vì thế việc quản lý nói chung và quản lý tiền lương nói riêng phải được tin học hoá toàn bộ, không còn làm theo lối thủ công sổ sách, giấy tờ, chậm chạp trong công việc khai thác thông tin và mất nhiều thời gian lưu trữ. Mục đích của việc xây dựng đề tài này là : Giảm bớt thời gian ghi chép, không gây nhầm lẫn, thiếu chính xác. Thực hiện sửa dữ liệu rất thuận tiện. Tận dụng tối đa khả năng tính đã có. Mọi công việc cập nhật, điều chỉnh, tìm kiếm, tra cứu đều được thực hiện nhanh chóng, chính xác và tiết kiệm thời gian. Công việc của cán bộ quản lý không còn vất vả, hiệu suất lao động cao. Yêu cầu của đề tài. Xác định yêu cầu là bước có ý nghĩa quyết định đến chất lượng HTTT Cập nhật những thông tin cần thiết. Cập nhật các thông tin có liên quan đến việc tính lương như: danh mục phòng ban, danh mục chức vụ, hồ sơ nhân sự, danh mục phụ cấp,bảng chấm công, các khoản khen thưởng,kỷ luật,trích trừ các khoản bảo hiểm kinh phí khácCác cập nhật này đã được nhập từ trong cơ sở dữ liệu. Khi cần thay đổi thì chúng ta có thể thay đổi trực tiếp. Công ty xây dựng công trình giao thông 889 là một công ty lớn nên khối lượng dữ liệu của Công ty khá nhiều và chúng có mối quan hệ với nhau. Do vậy khi có sự thay đổi trong công tác quản lý phải được cập nhật thường xuyên và nhanh chóng để bộ phận tính lương có thể tính toán cho người lao động đúng thời gian và kế hoạch đã định. Bên cạnh việc cập nhật các thông tin để tính lương, hệ thống cần cập nhật những quy định về lương và chế độ bảo hiểm của Bộ lao động thương binh xã hội. Công ty xây dựng công trình giao thông 889 là một công ty có nguồn nhân lực rất lớn. Ngoài nguồn lao động làm việc gián tiếp là chủ yếu thì nguồn lao động làm việc trực tiếp cũng đông đảo. Phần lớn nguồn lao động này tập trung ở công ty và các công trình ở các tỉnh thành. Bởi vậy phải tổ chức lưu trữ các bảng chấm công cho từng phòng ban, đội công trình và từng nhân viên trong Công ty theo từng tháng. Để hệ thống tính toán đúng tiền lương cho người lao động thì bảng chấm công phải có đầy đủ các thông tin như: tổng số ngày đi làm thực tế, số ngày nghỉ phép, số ngaỳ công không hợp lệ và các ngày lễ trong tháng. Vì vậy bộ phận quản lý chấm công phải lưu trữ các thông tin cần thiết trong bảng chấm công. Vấn đề tiền lương không chỉ là mối quan tâm của người lao động mà nó còn là mối quan tâm của cả Công ty hay doanh nghiệp. Vì nó ảnh hưởng trực tiếp đến lợi ích của người lao động cũng như doanh thu của Công ty hoặc doanh nghiệp. Tiền lương là một trong những động lực kích thích người lao động làm việc hăng hái nhưng đồng thời cũng có thể là nguyên nhân dẫn đến sự mất ổn định hay những thiệt hại trong nhiều mặt hoạt động kinh doanh mà Công ty hay doanh nghiệp khó có thể đo lường trước được. Để việc quản lý tiền lương bảo đảm được những chức năng của nó thì hệ thống thông tin cần phải chính xác trong từng con số, cập nhật và thanh toán lương kịp thời cho người lao động. Hỗ trợ việc tìm kiếm Để tránh mất thời gian của công ty cũng như của nhân viên hệ thống cần phải có công cụ tìm kiếm những thông tin liên quan đến nhân viên theo mã số nhân viên,và theo thứ tự trong danh sách. Lập các báo cáo thống kê. In ra các báo cáo: Báo cáo chi tiết: Báo cáo cụ thể tình hình lương của nhân viên. Báo cáo tổng hợp: Báo cáo lương của nhân viên theo phòng ban. Nói chung hệ thống quản lý tiền lương theo thời gian phải đáp ứng được mọi đòi hỏi về mặt thông tin cần thiết cho việc quản lý tiền lương trong Công ty. Qua việc phân tích bài toán em lựa chọn lập trình theo ngôn ngữ pascal kiểu danh sách liên kết. Phân tích và thiết kế hệ thống thông tin quản lý tiền lương Phân tích luồng thông tin và dữ liệu Sơ đồ chức năng của hệ thống thông tin. Hệ thống thông tin quản lý lương Báo cáo tổng hợp Cập nhật Tìm kiếm Tìm kiếm theo mã nhân viên Báo cáo Báo cáo chi tiết Tìm kiếm theo số thứ tự Sửa danh sách nhân viên Bổ sung nhân viên Loại bỏ nhân viên Cập nhật nhân viên Lập báo cáo Báo cáo tổng hợp Báo cáo chi tiết Sơ đồ luồng dữ liệu. Sơ đồ ngữ cảnh của hệ thống tính lương. Nhân viên Phòng chấm công BHXH Giám đốc Tính lương Nhân viên Giám đốc 1.0 Kiểm tra ngày công 2.0 Tính BHXH 3.0 Tính lương Ngày công Phiếu lương Báo cáo Yêu cầu Biểu nộp BHXH Bảng chấm công Biểu đồ luồng dữ liệu mức đỉnh Nhân viên Ngày công Ngày công đã BHXH Kiểm tra Phiếu lương Báo cáo Sơ đồ phân rã chức năng mô tả hoạt động chấm công(CC) Ngày công 1.1 Kiểm tra ngày công 1.2 Chấm công 1.3 Lập bảng CC tổng hợp Bộ phận tính lương Nhân viên Gửi ngày công Ngày công hợp lệ Bảng CC chính Bảng CC thêm giờ Bảng CC ca đêm Bảng CC khác Bảng chấm công Bảng CC tổng hợp Thiết kế Cơ sở dữ liệu Thiết kế cơ sở dữ liệu đi từ các thông tin đầu ra. Dựa vào các thông tin đầu ra: danh sách nhân viên, danh sách phòng ban, bảng chấm công, bảng thanh toán lương cho nhân viên các công trình, bảng thanh toán lương hành chính, danh sách nộp bảo hiểm xã hội ta có các thông tin đầu ra sau: Thông tin đầu ra Thuộc tính Mã nhân viên Họ tên nhân viên Chức vụ Mã phòng ban R Phòng ban Tên phòng ban Ngày sinh Giới tính Quê quán Trình độ Ngày vào biên chế Hệ số lương cơ bản Mức lương cơ bản Hệ số phụ cấp Số hiệu khen thưởng Số hiệu kỷ luật Hình thức kỷ luật R Hình thức khen thưởng R Ngày có quyết định khen thưởng,kỷ luật Lý do khen thưởng, kỷ luật R Tháng Ngày công chính thức Ngày công thêm giờ Ngày công làm ca đêm Ngày công nghỉ phép, đi học Địa điểm phòng ban Điện thoại phòng ban Ngày bắt đầu lương Ngày kết thúc hệ số lương Tiền lương cơ bản S Tiền lương làm thêm S Tiền BHXH S Tiền phụ cấp S Tiền khen thưởng S Tiền kỷ luật S Tiền ăn Thực lĩnh S Từ các thông tin đầu ra trên, sau khi xác định các thuộc tính lặp(R), loại bỏ các thuộc tính thứ sinh (S) khỏi danh sách và thực hiện việc chuẩn hoá mức 1NF, 2NF, 3NF ta có các tệp sau: Nhân viên Mã nhân viên Tên nhân viên Mã phòng ban Ngày sinh Giới tính Trình độ Quê quán Ngày vào biên chế Hệ số lương Hệ số phụ cấp Số hiệu khen thưởng Số hiệu kỷ luật Phòng ban Mã phòng ban Tên phòng ban Địa điểm Điện thoại Khen thưởng Số hiệu khen thưởng Hệ số khen thưởng Hình thức khen thưởng Lý do khen thưởng Ngày quyết định Kỷ luật Số hiệu kỷ luật Hệ số kỷ luật Lý do kỷ luật Hình thức kỷ luật Ngày quyết định Bảo hiểm Mã bảo hiểm Bảo hiểm xã hội Bảo hiểm y tế Ngày áp dụng Ngày huỷ bỏ Lương cơ bản Mã lương cơ bản Mức lương cơ bản Tiền lương cơ bản Ngày thực hiện Ngày huỷ bỏ Ngày công Tháng Mã nhân viên Mã phòng ban Ngày công chính thức Ngày công thêm giờ Ngày công ca đêm Ngày công nghỉ phép Tiền lương Tháng Mã phòng ban Tên phòng ban Mã nhân viên Họ và tên nhân viên Mã lương cơ bản Mã bảo hiểm Tiền ăn Từ các danh sách trên ta có sơ đồ cấu trúc dữ liệu: Tiền lương Tháng Mã nhân viên Tên nhân viên Mã lương cơ bản Mã bảo hiểm Tiền ăn ca Nhân viên Mã nhân viên Tên nhân viên Mã phòng ban Chức vụ Ngày sinh Giới tính Trình độ Quê quán Ngày vào biên chế Hệ số lương Hệ số phụ cấp Số hiệu khen thưởng Số hiệu kỷ luật Bảo hiểm Mã bảo hiểm Bảo hiểm xã hội Bảo hiểm y tế Ngày áp dụng Ngày huỷ bỏ Kỷ luật Số hiệu kỷ luật Hệ số kỷ luật Lý do kỷ luật Hình thức kỷ luật Ngày quyết định Ngày công Tháng Mã nhân viên Ngày công chính thức Ngày công thêm giờ Ngày công ca đêm - Ngày công nghỉ phép Lương cơ bản Mã lương cơ bản Mức lương cơ bản Ngày thực hiện Ngày huỷ bỏ Khen thưởng Số hiệu khen thưởng Hệ số khen thưởng Hình thức khen thưởng Lý do khen thưởng Ngày quyết định Phòng ban Mã phòng ban Tên phòng ban Địa điểm - Điện thoại Mô tả các bảng. Bảng lương nhân viên . TT Thuộc tính Diễn giải Kiểu Độ rộng 1 TT Số thứ tự Intger 2 2 MaNV Mã nhân viên string 10 3 HoTen Tên nhân viên String 30 4 HSL Hệ số lương Real 8 5 NC Ngày công Real 3 6 TongL Tổng lương Real 8 7 BHXH Bảo hiểm xã hội Real 5 8 Lthem Làm thêm Real 5 9 PC Phụ cấp Real 5 10 TH Thưởng Real 5 11 PH Phạt Real 5 12 TAN Tiền ăn Real 3 13 TL Thực lĩnh Real 8 Lương theo phòng ban. TT Thuộc tính Diễn giải Kiểu Độ rộng 1 TT Số thứ tự Integer 2 2 MaPB Mã phòng ban String 5 3 MaNV Mã nhân viên String 3 4 TenPB Tên phòng ban String 17 5 TenNV Tên nhân viên String 10 6 ChucVu Chức vụ String 18 7 Tong Luong Thực lĩnh Real 14 Thiết kế chương trình quản lý lương Ngôn ngữ thiết kế chương trình. Pascal là một ngữ lập trình cấp cao, các chương trình có cấu trúc rõ ràng và dễ hiểu. Được dùng phổ biến ở nước ta hiện nay trong công tác giảng dạy, lập trình tính toán, đồ hoạ, xử lý văn bản. Với tiện ích của Pascal và sự hiểu biết của em qua chương trình đào tạo của trường và sự giúp đỡ hướng dẫn của thầy trưởng khoa Hàn Viết Thuận. Em đã vận dụng ngôn ngữ này để thiết kế chương trình quản lý lương. Em hy vọng rằng phần mềm này của em sẽ góp phần nâng cao hiệu quả quản lý tiền lương trong các doanh nghiệp của nước ta hiện nay. Thiết kế menu của chương trình. Thực đơn trong chương trình chính gồm các mục sau: Cập nhật danh sách. Tìm kiếm danh sách. Báo cáo. Thoát. Thực đơn cập nhật danh sách: Cập nhật danh sách nhân viên. Duyệt danh sách. Bổ sung vào cuối danh sách. Bổ sung vào vị trí bất kỳ. Loại bỏ nhân viên. Ghi danh sách ra tệp. Đọc danh sách từ tệp. Kết thúc cập nhật. Thực đơn tìm kiếm Bao gồm: Tìm kiếm theo số thứ tự. Tìm kiếm theo mã nhân viên. Kết thúc. Thực đơn báo cáo Bao gồm: Báo cáo bảng lương chi tiết. Báo cáo bảng lương tổng hợp. Kết thúc. Màn hình giao diện của thực đơn. a. Thực đơn chính PHAN MEM QUAN LY LUONG *********************************************** THUC DON CHUONG TRINH QUAN LY LUONG 1.Thuc Don Cap Nhat 2.Tim Kiem 3. Bao Cao 4.Thoat *********************************************** b. Thực đơn cập nhật, PHAN MEM QUAN LY LUONG +++++++++++++++++++++++++++++++++++++++++++++ THUC DON CHUONG TRINH CAP NHAT 1. Cap nhat danh sach nhan vien 2. Duyet danh sach 3. Bo sung vao cuoi danh sach 4 Bo sung vao vi tri bat ky 5. Loai bo nhan vien 6. Sua du lieu nhan vien 7. Ghi danh sach 8.Doc danh sach 9. Ket thuc cap nhat +++++++++++++++++++++++++++++++++++++++++++++ c. Thực đơn tìm kiếm. PHAN MEM QUAN LY LUONG +++++++++++++++++++++++++++++++++++++++++++++ THUC DON CHUONG TRINH TIM KIEM 1.Tim kiem theo so thu tu 2.Tim kiem theo ma nhan vien 3. Ket thuc +++++++++++++++++++++++++++++++++++++++++++++ d. Thực đơn báo cáo. PHAN MEM QUAN LY LUONG +++++++++++++++++++++++++++++++++++++++++++++ THUC DON CHUONG TRINH BAO CAO 1. Bao cao chi tiet luong 2.Bao cao tong hop luong 3.Ket thuc ++++++++++++++++++++++++++++++++++++++++++++ Một số kết quả đầu ra. Bảng lương nhân viên. ---BANG LUONG CHI TIET --- Donvitinh:1000d ----------------------------------------------------------------------------------------------------------------------------------- |TT| Mas | HOTEN | HSL | NC | TONGL | BHXH | LTHEM | PC | TH | PH | TAN | TLINH | ----------------------------------------------------------------------------------------------------------------------------------- | 1 | 05 | Hong Tham | 2.42 | 26 | 701.80 | 42.11 | 28.07 | 0.00 | 0.00 | 0.00 | 110 | 577.76 | | 2 | 02 | Han Dat | 4.38 | 26 | 1270.20 | 76.21 | 25.40 | 12.70 | 0.00 | 0.00 | 110 | 1122.09 | | 3 | 01 | Le Tam | 4.52 | 26 | 1310.80 | 78.65 | 0.00 | 13.11 | 13.11 | 0.00 | 110 | 1148.37 | | 4 | 03 | Minh Thu | 4.60 | 26 | 1334.00 | 80.04 | 26.68 | 13.34 | 13.34 | 0.00 | 110 | 1197.32 | | 5 | 04 | Hong Giang | 4.98 | 26 | 1444.20 | 86.65 | 0.00 | 28.88 | 0.00 | 0.00 | 110 | 1276.43 | ----------------------------------------------------------------------------------------------------------------------------------- Bảng lương phòng ban. ---BANG LUONG TONG HOP --- Donvitinh:1000d ---------------------------------------------------------------------------------------------------------- |TT|MaPB | MaNV | TenPB | TenNV | ChucVu | TongLuong | ---------------------------------------------------------------------------------------------------------- |1 | HC | 05 | Hanh chinh | Hong Tham | Nhan vien | 577.76 | | 2 | HC | 02 | Hanh Chinh | Han Dat | Pho Phong | 1122.09 | |3 | TCCB | 01 | To chuc can bo | Le Tam | Truong Phong | 1148.37 | | 4 | HC | 03 | Hanh Chinh | Minh Thu | Truong Phong | 1197.32 | | 5 | GD | 04 | Ban lanh dao | Hong Giang | Giam doc | 1276.43 | ---------------------------------------------------------------------------------------------------------- Chương trình lập trình program Quanlyluong; uses crt; type PBang_luong =^Bang_luong; Bang_luong=record Hoten:String[20]; Manv:string[10]; CV:string[20]; PB:string[20]; MaPB:string[10]; lcb,hsluong,hsPC,PC,lamthem,HSth,hsph,Th,Ph,tongl,bhxh,tl:real; nc,ncthem,ta:integer; tiep,truoc:pbang_luong; donvitinh:integer; end; lg=record Hoten:String[20]; Manv:string[10]; CV:string[20]; PB:string[20]; MaPB:string[10]; lcb,hsluong,hsPC,PC,lamthem,HSth,hsph:real; Th,tl,Ph,tongl,bhxh:real; nc,ncthem,ta:integer; end; var p,pdau,pcuoi: Pbang_luong; D,stt,i,m,n,dong:integer; Chon,TraLoi:char; (*///////////////////////////////////////////////////*) (*Chuc nang mat khau *) FUNCTION Matkhau:boolean; var a,b,c:char; begin clrscr; repeat gotoxy(6,6); write('Ban hay nhap mat khau:'); a:=readkey;write('*'); b:=readkey;write('*'); c:=readkey;write('*'); until (a='t') and (b='h') and (c='u'); gotoxy(6,8); writeln('Ban da nhap dung mat khau'); matkhau:=true; readln; end; (*////////////////////////////////////////////////*) (*Thu tuc tao danh sach*) procedure taods(var Pdau:Pbang_luong); var stt:integer; manv:string[23]; Pcuoi:Pbang_luong; begin Pdau:=nil; clrscr; stt:=1; while true do begin clrscr; gotoxy(15,8); writeln('nhan vien thu:',stt:4); gotoxy(30,10); write('Ma nhan vien:'); readln(manv); if manv='' then exit; if pdau=nil then begin new(pdau); pcuoi:=pdau; end else begin new(pcuoi^.tiep); pcuoi:=pcuoi^.tiep; end; pcuoi^.tiep:=nil; pcuoi^.Manv:=manv; gotoxy(30,12); write('Ho ten nhan vien:'); readln(pcuoi^.hoten); gotoxy(30,14); write('Chuc vu:'); readln(pcuoi^.CV); gotoxy(30,16); write('Phong ban:'); readln(pcuoi^.PB); gotoxy(30,18); write('Ma phong ban:'); readln(pcuoi^.MaPB); gotoxy(30,20); write('Luongcoban:'); readln(pcuoi^.lcb); gotoxy(30,22); write('Hesoluong:'); readln(pcuoi^.hsluong); gotoxy(30,24); write('Ngay_cong:'); readln(pcuoi^.nc); gotoxy(30,26); write('He so phu cap:'); readln(pcuoi^.hsPC); gotoxy(30,28); write('So ngay lam them:’); readln(pcuoi^.NCthem); gotoxy(30,30); write('He so thuong:'); readln(pcuoi^.hsth); gotoxy(30,32); write('He so phat:'); readln(pcuoi^.hsph); gotoxy(30,34); write('Tien an:'); readln(pcuoi^.TA); stt:=stt+1; (****tinh luong****) pcuoi^.tongl:=(pcuoi^.hsluong*pcuoi^.lcb/26)*pcuoi^.NC; pcuoi^.bhxh:=pcuoi^.tongl*6/100; pcuoi^.PC:=pcuoi^.tongl*pcuoi^.hsPC; pcuoi^.lamthem:=0.02*pcuoi^.tongl*pcuoi^.NCthem; pcuoi^.th:=pcuoi^.tongl*pcuoi^.hsth ; pcuoi^.ph:=pcuoi^.tongl*pcuoi^.hsph; pcuoi^.tl:=pcuoi^.tongl-pcuoi^.bhxh+pcuoi^.PC+pcuoi^.lamthem+pcuoi^.th- pcuoi^.ph-pcuoi^.TA; end; end; (*//////////////////////////////////////////////////*) (*Thu tuc sap xep theo thuc linh tang dan*) procedure SapXepTL; var sx:boolean; pt,s,q:pBang_luong; begin repeat p:=pdau; q:=nil; sx:=true; while p^.tiepnil do begin pt:=p^.tiep; if P^.tl>Pt^.tl then begin sx:=false; if Pt^.tiepnil then begin S:=pt^.tiep; S^.truoc:=P; end else S:=nil; if p^.truoc=nil then begin pdau:=pt;q:=nil end else begin q:=p^.truoc; q^.tiep:=pt end; p^.tiep:=S; P^.truoc:=pt; pt^.tiep:=p; pt^.truoc:=q; p:=pdau; end else p:=p^.tiep; end; until sx; pcuoi:=p; end; (*//////////////////////////////////////////////////*) (**Thu tuc duyet danh sach **) procedure Duyet; var stt:integer; begin p:=pdau; stt:=0; while pnil do begin inc(stt); CLRSCR; textbackground(5); textcolor(11); gotoxy(20,3); writeln('---BANG LUONG NHAN VIEN ---'); gotoxy(45,5);writeln('Donvitinh:1000d'); gotoxy(1,7); writeln('-------------'); gotoxy(1,8 );write('|'); gotoxy(2,8); write('TT'); gotoxy(4,8 );write('|'); gotoxy(5,8);write('Maso'); gotoxy(8,8 );write('|'); gotoxy(9,8); write('HOTEN'); gotoxy(19,8 );write('|'); gotoxy(20,8); write('HSL'); gotoxy(24,8 );write('|'); GOTOXY(25,8); WRITE('NC'); gotoxy(27,8 );write('|'); gotoxy(28,8); Write('TONGL'); gotoxy(36,8 );write('|'); GOTOXY(37,8);write('BHXH'); gotoxy(42,8 );write('|'); GOTOXY(43,8);WRITE('THEM'); gotoxy(48,8 );write('|'); gotoxy(49,8); write('PC'); gotoxy(54,8 );write('|'); gotoxy(55,8); write('TH'); gotoxy(60,8 );write('|'); gotoxy(61,8); write('PH'); gotoxy(66,8 );write('|'); gotoxy(67,8); Write('TAN'); gotoxy(70,8 );write('|'); gotoxy(71,8);write('TLINH'); gotoxy(80,8);write('|'); gotoxy(3,77); Write('----------'); gotoxy(1,dong);write('|'); dong:=10; textbackground(5); textcolor(11); GOTOXY(2,DONG);writeln(stt:2); gotoxy(4,dong );writeln('|'); gotoxy(5,dong);writeln(p^.manv:3); gotoxy(8,dong ); writeln('|'); gotoxy(9,dong); writeln(P^.hoten); gotoxy(19,dong );writeln('|'); gotoxy(20,dong);writeln(p^.hsluong:4:2); gotoxy(24,dong );writeln('|'); gotoxy(25,dong); writeln(p^.NC); gotoxy(27,dong );writeln('|'); gotoxy(28,dong);writeLN(p^.tongl:8:2); gotoxy(36,dong );writeln('|'); gotoxy(37,dong); writeLN(P^.BHXH:5:2); gotoxy(42,dong );writeln('|'); gotoxy(43,dong); writeln(p^.lamthem:5:2); gotoxy(48,dong ); writeln('|'); gotoxy(49,dong); write(p^.PC:5:2); gotoxy(54,dong ); writeln('|'); gotoxy(55,dong); writeln(p^.TH:5:2); gotoxy(60,dong ); writeln('|'); gotoxy(61,dong);writeln(p^.Ph:5:2); gotoxy(66,dong ); writeln('|'); gotoxy(67,dong);writeLN(p^.TA); gotoxy(70,dong ); writeln('|'); gotoxy(71,dong);writeLN(p^.tl:8:2); gotoxy(80,dong ); writeln('|'); inc(dong); p:=p^.tiep; readln; gotoxy(1,dong);writeln('----------------'); end; gotoxy(10,34);Writeln('An phim bat ky de ket thuc xem'); readln; end; (*///////////////////////////////////////////////*) (**Thu tuc in**) procedure Inchitiet(p:pbang_luong); var pcuoi:pBang_luong; stt:integer; begin sapxepTL; CLRSCR; gotoxy(20,3); writeln('---BANG LUONG CHI TIET ---'); gotoxy(50,5);writeln('Donvitinh:1000d'); gotoxy(1,7); writeln('----------------'); gotoxy(1,8 );write('|'); gotoxy(2,8); write('TT'); gotoxy(4,8 );write('|'); gotoxy(5,8);write('Maso'); gotoxy(8,8 );write('|'); gotoxy(9,8); write('HOTEN'); gotoxy(19,8 );write('|'); gotoxy(20,8); write('HSL'); gotoxy(24,8 );write('|'); GOTOXY(25,8); WRITE('NC'); gotoxy(27,8 );write('|'); gotoxy(28,8); Write('TONGL'); gotoxy(36,8 );write('|'); GOTOXY(37,8);write('BHXH'); gotoxy(42,8 );write('|'); GOTOXY(43,8);WRITE('LTHEM'); gotoxy(48,8 );write('|'); gotoxy(49,8); write('PC'); gotoxy(54,8 );write('|'); gotoxy(55,8); write('TH'); gotoxy(60,8 );write('|'); gotoxy(61,8); write('PH'); gotoxy(66,8 );write('|'); gotoxy(67,8); Write('TAN'); gotoxy(70,8 );write('|'); gotoxy(71,8);write('TLINH'); gotoxy(80,8);write('|'); gotoxy(1,9); Write('------------------------'); dong:=10; stt:=1; p:=pdau; while pnil do begin gotoxy(1,dong);write('|'); GOTOXY(2,DONG);writeln(stt:2); gotoxy(4,dong );writeln('|'); gotoxy(5,dong);writeln(p^.manv:3); gotoxy(8,dong ); writeln('|'); gotoxy(9,dong); writeln(P^.hoten); gotoxy(19,dong );writeln('|'); gotoxy(20,dong);writeln(p^.hsluong:4:2); gotoxy(24,dong );writeln('|'); gotoxy(25,dong); writeln(p^.NC); gotoxy(27,dong );writeln('|'); gotoxy(28,dong);writeLN(p^.tongl:8:2); gotoxy(36,dong );writeln('|'); gotoxy(37,dong); writeLN(P^.BHXH:5:2); gotoxy(42,dong );writeln('|'); gotoxy(43,dong); writeln(p^.lamthem:5:2); gotoxy(48,dong ); writeln('|'); gotoxy(49,dong); write(p^.PC:5:2); gotoxy(54,dong ); writeln('|'); gotoxy(55,dong); writeln(p^.TH:5:2); gotoxy(60,dong ); writeln('|'); gotoxy(61,dong);writeln(p^.Ph:5:2); gotoxy(66,dong ); writeln('|'); gotoxy(67,dong);writeLN(p^.TA); gotoxy(70,dong ); writeln('|'); gotoxy(71,dong);writeLN(p^.tl:8:2); gotoxy(80,dong);writeln('|'); p:=p^.tiep; dong:=dong+1;stt:=stt+1; end; gotoxy(1,dong);writeln('----------------'); readln; end; (*//////////////////////////////////////////////////*) (*Thu tuc in bang luong tong hop*) procedure InTongHop(p:pbang_luong); var pcuoi:pBang_luong; stt:integer; begin p:=pdau; sapxepTL; CLRSCR; gotoxy(20,3); writeln('-BANG LUONG TONG HOP -'); gotoxy(50,5);writeln('Donvitinh:1000d'); gotoxy(1,7); writeln('-----------------'); gotoxy(1,8 );write('|'); gotoxy(2,8); write('TT'); gotoxy(4,8 );write('|'); gotoxy(5,8);write('MaPB'); gotoxy(10,8 );write('|'); gotoxy(11,8); write('MaNV'); gotoxy(17,8 );write('|'); gotoxy(18,8); write('TenPB'); gotoxy(35,8 );write('|'); GOTOXY(36,8); WRITE('TenNV'); gotoxy(46,8 );write

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

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