Báo cáo Thực tập tại công ty cổ phần công nghệ và phần mềm A-Z

Phần mềm mà tôi đưa ra nhằm giả quyết bài toán quản lý thu chi hợp tác xã. Chương trình có một số ưu điểm và còn tồn tại một số nhược điểm sau:  Ưu điểm: Giao diện than thiện với người dùng Yêu cầu cấu hình máy thấp Tính bảo mật cao  Nhược điểm: bên cạnh những ưu điểm, chương trình đưa ra còn một số nhược điểm Các mẫu báo cáo thiết kế chưa chuẩn so với thực tế Các chức năng của chương trình còn thiếu

doc72 trang | Chia sẻ: aloso | Lượt xem: 1704 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Báo cáo Thực tập tại công ty cổ phần công nghệ và phần mềm A-Z, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ạch EG5, dịch vụ vận tải, dịch vụ tín dụng nội bộ; dịch vụ kinh doanh xăng dầu.... Với 1 hợp tác xã có số lượng nhân khẩu rất lớn việc ứng dụng công nghệ thông tin vào quản lý thu chi của hợp tác xã sẽ giúp cho việc quản lý của hợp tác xã được chặt chẽ, chính xác hơn. Mô hình hợp tác xã quản lý kinh doanh chợ Láng hạ : HTX Thương mại Láng Hạ, quận Đống Đa, Hà Nội được thành phố cho phép chuyển 8343 m2 đất trồng rau sang xây dựng chợ. Năm 2001, HTX xây dựng chợ với vốn đầu tư khoảng 6 tỷ đồng, chủ yếu là vốn góp, vốn vay của xã viên. Năm 2002 chợ đi vào hoạt động, doanh thu từ chợ các năm: 2002: 2,4... tỷ đồng, năm 2003: 2,5 tỷ đồng, năm 2004: 2,5 tỷ đồng chiếm gần 50% tổng doanh thu của HTX. Trong các năm tới doanh thu của HTX đạt trên 10 tỷ đồng, trong đó chợ doanh thu chợ chiếm đến 50%. Đến đầu năm 2007, tổng nguồn vốn thuộc sở hữu tập thể đạt 24 tỷ đồng, trong đó 12 tỷ là vốn cố định, 12 tỷ vốn lưu động. Cơ cấu: vốn góp của xã viên là 5,8 tỷ, 18,2 tỷ là vốn tích lũy của HTX. Cơ cấu vốn nói lên cơ chế tự cấp vốn, hiệu quả kinh doanh và khả năng đầu tư sắp tới của HTX. HTX với 105 hộ thuê kinh doanh sạp, 375 hộ thuê kinh doanh chỗ ngồi, và 100 chỗ khác. HTX có 131 xã viên, tạo việc làm cho 188 lao động trong đó có 57 người không phải là xã viên, mức lương tối thiểu của lao động gần 1 triệu đồng/tháng, mức tối đa gần 3 triệu đồng/tháng. Xã viên được ứng trước lãi vốn góp khoảng 600000 đồng/tháng. Trong những năm tới do nhu cầu mở rộng và nâng cấp các dịch vụ tại chợ cũng như các dự án đầu tư mới trên 10 tỷ đồng, số xã viên và người lao động đạt 220 người. HTX nộp ngân sách hàng năm (không kể phần hộ kinh doanh trong chợ tự nộp): Năm 2001 nộp 245 triệu đồng, năm 2002:792 triệu đồng, năm 2003: 1074 triệu, năm 2004: 1366 triệu đồng. Với những con số nêu trên chúng ta có thể thấy được số lựong xã viên cũng như số vốn của hợp tác xã rất lớn. Nguồn vốn của hợp tác xã có được chủ yếu là thu và đón góp của các xã viên trong hợp tác xã. Vì vậy việc quản lý thu chi của hợ tác xã là rất cần thiết Hợp tác xã nhà ở, một mô hình mới quản lý chung cư : Nhu cầu nhà ở cho người có thu nhập thấp và mô hình Hợp tác xã (HTX) nhà ở đã được các cơ quan chức năng TP Hồ Chí Minh thảo luận trong buổi hội thảo "HTX tham gia phát triển, quản lý và cung ứng dịch vụ nhà ở cho người có thu nhập thấp" do Liên minh HTX TP Hồ Chí Minh tổ chức ngày 9/12. Thành phố hiện nay có khoảng 500 chung cư, trong đó có trên 73.700 căn hộ do Nhà nước quản lý, nhưng hầu như chỉ có các tổ dân HTX nhà ở sẽ có 2 chức năng cơ bản là quản lý và cung cấp các dịch vụ nhà ở như các dịch vụ an sinh xã hội, thông tin, liên lạc, dịch vụ tiện ích (giặt giũ, vệ sinh, cung cấp lương thực, thực phẩm hoặc suất ăn)... Và chức năng thứ hai là HTX sẽ dùng tiền vay hoặc tiền do các thành viên là pháp nhân (các doanh nghiệp muốn xây dựng nhà cho cán bộ, công nhân viên của mình) đầu tư xây dựng các chung cư và sau đó bán cho các xã viên dưới hình thức trả góp và cung cấp cho các xã viên các dịch vụ như trên Đây là một mô hình quản lý hiện đại, trong tương lai sẽ rất phát triển. Và như chúng ta thấy mô hình trên đây sẽ cung cấp cho các hộ gia đình trong chung cư những dịch vụ tốt. Vậy chúng ta sẽ cần 1 phần mêm quản lý để quản lý việc thu phí dịch vụ của các hộ gia đình. Từ những thực tế trên đây chúng ta có thể thấy rằng việc ứng dụng công nghệ thông tin vào trong quản lý hợp tác xã là rất càn thiết đặc biệt là trong vần đề quản lý thu chi của hợp tác xã. 2.2 Khảo sát thực tế về thu chi của hợp tác xã Các đối tuợng và mối quan hệ giữa các đối tượng trong quản lý thu chi: Đối tượng hộ gia đình: Là đối tượng sử dụng các dịch vụ của hợp tác xã Đối tượng thu: Là đối tượng lưu trữ các khoản thu mà hợp tác xã thu của hộ gia đình hay là lưu trữ các dich vụ mà hợp tác xã cung cấp cho hộ gia đình như phí vệ sinh, phi bảo vệ… Đối tượng chi: Lưu trữ các khoản chi phục vụ cho hoạt động của hợp tác xã như hoạt động tình nghĩa, hoạt động khen thưởng hoc sinh nghèo vượt khó… Đối tượng nhân viên: Là đối tượng quản lý các hoạt động của hợp tác xã, quản lý các hoạt động thu, chi( bao gồm cả quản lý lương), quản lý các hộ gia đình trong hợp tác xã Mối quan hê giữa các đối tượng Nhân viên của hợp tác xã quản lý thu, chi, hộ gia đình của hợp tác xã. Một hộ gia đình có thể có một hoặc nhiều khoản thu Một khoản thu có thể bao gồm nhiều hộ gia đình Thực trạng, nghiệp vụ quản lý thu chi của các hợp tác xã Việc quản lý thu chi của hợp tác xã quản lý các khoản thu và khoản chi của hợp tác xã. Các khoản thu của hợp tác xã chủ yếu là các khoản thu nhằm phục vụ lợi ích của các hộ khẩu trong hợp tác xã như: phí vệ sinh, phí bảo vệ…Các khoản chi của hợp tác xã là để phục vụ các hoạt động của hợp tác xã như: hoạt động tình nghĩa, khen thưởng…. Quản lý thu: Cứ đầu tháng hay đầu quý nhân viên của hợp tác xã sẽ đưa thông báo nộp các khoản thu tiền đến từng hộ gia đình. Các hộ gia đình sẽ đến văn phòng hợp tác xã để nộp tiền. Nhân viên thu tiền của hợp tác xã sẽ căn cứ vào khoản thu, gia đình chính sách hay không chính sách,căn cứ vào số lượng đối tượng cần thu trong 1 hộ mà đưa ra khoản tiền cần . Sau đó nhân viên của hợp tác xã sẽ ghi hóa đơn cho chủ hộ. Với các khoản thu không căn cứ vào gia đình chính sách hay số nhân khẩu trong 1 hộ gia đình như tiền điện hay tiền nước thì sẽ dựa vào các phiếu thu tiền điện và tiền nước mà nhà máy điện và nước gửi đến cho hợp tác xã và hợp tác xã sẽ thu tiền của các hộ gia dình rồi chuyển đến sở điện hay sở nước nơi hợp tác xã hoạt động. Quản lý chi: Trong các dịp kỷ niệm hay ngày lễ hợp tác xã thường có các hoạt động như là hoạt động tình nghĩa, hoạt động thăm các gia đình thương binh liệt sỹ hay tiền thưởng cho các học sinh giỏi hay cho học sinh nghèo vượt khó…Các hợp tác xã sẽ cố 1 quỹ và trong các dịp hợp tác xã sẽ chích ra 1 khoản. Quy trình nghiệp quản lý chi: Khi đến ngày kỷ niệm hay ngày lệ chủ nhiệm hợp tác xã và các nhân viên sẽ họp đưa ra các hoạt động để kỷ niệm từ đó đưa ra số tiền cần thiết để thực hiện các hoạt động đó. Sau đó chủ nhiệm hợp tác xã sẽ ký giấy xuất tiền và nhân viên thu quỹ sẽ cấp 1 hóa đơn xuất tiền cùng với số tiền như trong hóa đơn. Tất cả các khoản chi này sẽ được hợp tác xã ghi lại và đưa ra các báo cáo thống kê. Việc quản lý thu chi của hợp tác xã ở đây có thể bao gồm cả phần quản lý lương của nhân viên của hợp tác xã. Hàng tháng nhân viên hợp tác xã sẽ trả lương vào 1 ngày cố định mà hợp tác xã quy định. Nhân viên quản lý lương sẽ căn cứ vào chức vụ, mức lương, số ngày công, tiền thưởng, số tiền tạm ứng trong tháng này của nhân viên lĩnh lương mà đưa ra số tiền thực lĩnh trong tháng này của nhân viên đó. Khi trả lương cho nhân viên, nhân viên quản lý lương sẽ đưa ra 1 hóa đơn xác nhận khỏan tiền lương mà nhân viên lĩnh lương đã nhận. Cuối năm hợp tác xã sẽ đưa ra 1 báo cáo tổng hợp về các khoản thu ,chi cũng như tiền lưong hợp tác xã,và đồng thời thống kê lại nhân khẩu trong hợp tác xã. 2.3 Một số đề xuất trong nghiệp vụ quản lý Quản lý việc thu tiền của các hộ trong hợp tác xã Việc thu tiền của các hộ trong 1 hợp tác xã sẽ chia theo các quý hay theo vụ hoặc theo tháng con tùy vào quy định của từng hợp tác xã Khi nào thu tiền các hộ trong hợp tác xã sẽ đến trụ sở của hợp tác xã để nộp tiền hoặc là hợp tác xã sẽ cử nhân viên xuống các xóm, thôn để thu tiền Một hộ gia đình có thể nộp tiền làm nhiều lần.Mỗi lần nộp đều được ghi lại để sau này sẽ thông kê lại và đưa ra các báo cáo để thông báo đến các hộ Việc thu tiền ở đây ngoài trừ 1 số khoản thu cố định như tiền nước hay tiền điện thì các khoản thu khác hầu như là tính theo đầu người vì vậy việc quản lý nhân khẩu trong gia đình là rất quan trọng vì nó quyết định đến số tiền thu Việc thu tiền các hộ gia đình còn phụ thuộc vào 1 yếu tố nữa là gia đình có phải chính sách hay không.Nếu là gia đình chính sách thì sẽ phải miễn giảm các khoan thu,còn nếu không phải thì gia đình đó phải đóng đầy đủ Sau khi thu tiền của hộ gia đình nhân viên thu tiên hợp tác xã sẽ đưa ra 1 hóa đơn xác nhận khoản thu số tiền đã thu của hộ gia đình đó Các khoản thu của hợp tác xã sẽ đựơc tổng hợp lại với các tiêu trí như: tên khoản thu, số tiền…để dễ dàng cho việc quản lý Từ đó chúng ta đưa ra công thức tính tiền phải thu là: Thực đóng = Số tiền thu * Số lương nhân khẩu * (1- Phần trăm miễn giảm/100) Thực đóng: số tiền phải đóng của 1 hộ Số tiền thu: số tiền của khoản thu/1 nhân khẩu Số lương nhân khẩu: số lượng nhân khẩu nằm trong đối tượng thu Phần trăm miễn giảm: phần trăm miễn giảm (gia đình không chính sách quy định phần trăm miễn giảm là =0%) Quản lý việc chi của hợp tác xã ở đây rộng hơn bởi vì bao gồm 2 phần là lương của nhân viên và các hoạt động của hợp tác xã. Quản lý các hoạt động của hợp tác xã: Các hoạt động của hợp tác xã sẽ được ghi lại với các tiêu trí như: tên hoạt động, mục đích của hoạt động, số tiền chi nhằm mục đích quản lý một cách dễ dàng các khoản chi của hợp tác xã. Chi tiết của các hoạt động cũng sẽ được ghi lại và đưa hóa đơn xác nhận chi. Một hoạt động của hợp tác xã có thể được cung cấp kinh phí làm nhiều lần và mỗi lần chi đều được ghi lại và đưa ra hóa đơn Quản lý lương: Quản lý lương của các nhân viên trong hợp tác xã…Chúng ta sẽ quản lý cá việc chấm công cho từng nhân viên cũng như việc tạm ứng tiền cho tưng nhân viên. Căn cứ vào số công của nhân viên, số tiền mà nhân viên đã tạm ứng, căn cứ vào chức vụ của nhân viên và tiền thưởng mà hợp tác xã trả lương cho nhân viên. Sau khi tính toán tiền lương cho nhân viên xong nhân viên quản lý lương sẽ trả lương cho nhân viên đồng thời in ra 1 hóa đơn tiền lương Tất cả cá yếu tố tác động liên quan đến việc tính lương như: tạm ứng, tiền thưởng, chức vụ, số công… đều được lưu trữ để vào trong cơ sở dữ liệu nhằm mục đích tính lương 1 cách chính xác Lương của nhân viên hợp tác xã sẽ được tính theo công thức Thực lĩnh = tiền1 * số công + tiền3 + tiền4 – tiền2 Thực lĩnh:số tiền thực lĩnh Tiền1: số tiền trên 1 công Tiền2: số tiền mà nhân viên đó đã tạm ứng Tiền3: số tiền phụ cấp chức vụ Tiền4: số tiền thưởng Số công: số ngày đi làm trong 1 tháng của nhân viên Cuối năm hợp tác xã sẽ đưa ra các bản báo cáo thông kê về các khoản thu chi, số hộ gia đình còn nợ hợp tác xã… 2.4 Các giải pháp đưa ra về mặt kỹ thuật Từ thực trạng của các hợp tác xã hiện nay em đã đưa ra 1 số giả pháp áp dụng công nghệ thông tin nhằm nâng cao hiệu quả của công việc quản lý thu chi như: Lưu trữ thông tin về thu chi cũng như thông tin về nhân viên và hộ gia đình của hợp tác xã vào trong cơ sở dữ liệu trong máy tính hoặc là trên server để đảm bảo an toàn cho dữ liệu. Chúng ta sử dụng SQl Server 2000 để lưu trữ cơ sở dữ liệu Sử dụng công nghệ .Net mà ở đây là ngôn ngữ lập trình C# để thao tác với dữ liệu. Việc tính toán các khoản tiền thu, chi, lương của nhân viên và hộ gia đình sẽ được thực hiện tự động người sử dụng chỉ việc đưa vào số liệu và đầu ra sẽ là các hóa đơn và báo cáo Máy tính sẽ đưa ra các báo cáo thông kê về thu, chi, tiền lương của hợp tác xã CHƯƠNG 3: PHÂN TÍCH THIẾT KẾ HỆ THỐNG 3.1 Biểu đồ phân cấp chức năng Hình 1: Biểu đồ phân cấp chức năng Chức năng của chương trình là quản lý thu chi của hợp tác xã. Trong quản lý thu chi có các chức năng là: Quản lý hộ khẩu Quản lý nhân viên Quản lý thu Quản lý chi Quản lý lương Trong chức năng quản lý hộ khẩu bao gồm các chức năng con là Quản lý nhân khẩu Quản lý chính sách Trong chức năng quản lý nhân viên bao gồm các chức năng con là Quản lý nhân viên Quản lý chức vụ Trong chức năng quản lý thu bao gồm các chức năng con là: Quản lý các khoản thu Quản lý việc thu tiền Trong chức năng quản lý chi bao gồm các chức năng con là: Quản lý các khoản chi Quản lý việc chi tiền Trong chức năng quản lý lương bao gồm các chức năng con là: Quản lý cách tính lương Quản lý lương tạm ứng Quản lý lương chi tiết 3.2 Biểu đồ luồng dữ liệu Từ việc phân tích nghiệp vụ và sơ đồ phân cấp chức năng em đã đưa ra sơ đồ phân tích hệ thống quản lý thu chi của hợp tác xã. Các ký hiệu của bản thiết kế hệ thống Quản lý thu Chức năng Luồng dữ liệu Kho dữ liệu Tác nhân ngoài Nhân viên Kho nhân viên 3.2.1Biểu đồ luồng dữ liệu mức khung cảnh Hình 2: Biểu đồ luồng dữ liệu mức khung cảnh Dữ liệu đầu vào : Các thông tin về hộ khẩu, thông tin về khoản thu, thông tin về nhân viên, thông tin về các khoản chi. Dữ liệu đầu ra : Các hóa đơn thu tiền, hóa đơn xuất tiền, hóa đơn về lương, các báo cáo thống kê 3.2.2 Biểu đồ luồng dữ liệu mức dưới đỉnh Hình 3: Biểu đồ luồng dữ liệu mức dưới đỉnh Chúng ta có 3 tác nhân ngoài (đối tượng) là hợp tác xã, nhân viên và hộ gia đình Các kho dữ liệu là kho nhân viên, kho hộ khẩu, kho thu chi, kho hóa đơn lương Các chức năng chính là quản lý nhân viên, quản lý hộ khẩu, quản lý thu, quản chi chi, quản lý lương Đầu vào là các dữ liệu của hộ gia đình, thông tin lao động của nhân viên hợp tác xã Đầu ra là các hóa đơn thu, hóa đơn chi, hóa đơn tiền lương, các dữ liệu đã được định dạng chuẩn lưu vào trong cơ sở dữ liệu Chức năng quản lý hộ khẩu sẽ lấy thông tin từ các hộ gia đình và đưa vào kho hộ khẩu Khi hợp tác xã có yêu cầu thu tiền đối với các hộ gia đình thì chức năng quản lý thu sẽ đưa các thông báo đến cho các hộ gia đình và các hộ gia đình sẽ đến nộp tiền. Sau đó các chức năng quản lý thu sẽ dựa vàp thông tin khoản thu và thông tin của hộ gia đình mà đưa ra hóa đơn thu tiền và lưu trữ các hóa đơn thu tiền vào trong kho thu chi. Chức năng quản lý thu cũng sẽ cập nhập thông tin về các khoản thu mà hợp tác xã quy định vào kho thu chi. Khi hợp tác xã có yêu cầu xuất tiền cho các hoạt động của hợp tác xã. Chức năng quản lý chi sẽ lấy thông tin từ kho nhân viên (đưa tiền cho nhân viên nào) và thông tin quản lý thu chi (xuất tiền cho hoạt động gì ) từ đó đưa ra hóa đơn chi và lưu trũ vào kho thu chi Khi hợp tác xã có yêu cầu trả lương cho nhân viên thì chức năng quản lý lương sẽ lấy tất cả thông tin nhân viên từ kho nhân viên và đưa ra hóa đơn tiền lương rồi lưu trữ vào trong kho hóa đơn lương. 3.2.3 Biểu đồ luồng dữ liệu chức năng “quản lý hộ khẩu” Hình 4: Biểu đồ luồng dữ liệu chức năng quản lý hộ khẩu Biểu đồ này gồm 2 tác nhân ngoài là: hợp tác xã và hộ gia đình Kho dữ liệu là kho chính sách và kho hộ khẩu Các chức năng chính là: quản lý chính sách và quản lý hộ khẩu Đầu vào là các thông tin về chính sách, phần trăm miễn giảm của chính sách, thông tin về nhân khẩu của các hộ gia đình Hợp tác xã đưa ra các chính sách miễn giảm cho gia đình chính sách. Chức năng quản lý chính sách sẽ lưu thông tin của chính sách vàp kho chính sách. Khi hợp tác xã muốn cập nhập thông tin của các hộ khẩu trong hợp tác xã chức năng quản lý hộ khẩu sẽ gửi thông báo đến các hộ gia đình và các hộ gia đình cung cấp thông tin cho quản lý hộ khẩu. Chức năng quản lý hộ khẩu sẽ lấy thông tin của hộ gia đình và thông tin về chính sách trong kho chính sách lưu vào kho hộ khẩu. Biểu đồ luồng dữ liệu chức năng “quản lý nhân viên” Hình 5: Biểu đồ luồng dữ liệu chức năng quản lý nhân viên Biểu đồ này gồm: 2 tác nhân là nhân viên và hợp tác xã Kho dữ liệu bao gồm: kho chức vụ và kho nhân viên Các chức năng chính là: Quản lý chức vụ và quản lý thông tin nhân viên Đầu vào là các thông tin về các chức vụ trong hợp tác xã, mức phụ cấp của các chức vụ, thông các nhân của nhân viên hợp tác xã Đầu ra là các thông tin về chức vụ, thông tin cá nhân nhưng đã được định dạng chuẩn và lưu vào trong cơ sở dữ liệu Hợp tác xã sẽ đưa ra các chức vụ trong hợp tác xã, chức năng quản lý chức vụ sẽ nhập các thông tin về chức vụ vào trong kho chức vụ. Khi hợp tác tuyển nhân vào vào hợp tác xã chức năng quản lý nhân viên sẽ lấy thông tin cá nhân và thông tin về chức vụ của nhân viên lưu vào kho nhân viên 3.2.5 Biểu đồ luồng dữ liệu chức năng “quản lý thu” Hình 6: Biểu đồ luồng dữ liệu chức năng quản lý thu Biểu đồ này gồm: 2 tác nhân là hộ gia đình và hợp tác xã Kho dữ liệu bao gồm: kho khoản thu, kho hộ khẩu, kho chính sách, kho hóa đơn thu Các chức năng chính là: Quản lý các khoản thu và quản lý việc thu tiền Đầu vào là các thông tin của hộ gia đình, thông tin của khoản thu Đầu ra là hóa đơn thu tiền Hợp tác xa đưa ra các khoản thu đối với các hộ gia đình (các dịch vụ mà các hộ gia đình sử dụng) chức năng quản lý khoản thu sẽ lưu trữ thông tin về khoản thu Khi các hộ gia đình sử dụng các dịch vụ của hợp tác xã thì hàng tháng sẽ phải nọp cho hợp tác xã 1 khoản tiền tùy thuộc vào vao dịch vụ mà hộ gia đình sử dụng. Chức năng quản lý thu tiền sẽ lầy các thông tin về họ gia đình, thông tin về khoản thu, thông tin chính sách tổng hợp lại và đưa ra số tiền phải đóng là bao nhiêu sau đó xuất ra 1 hóa đơn thu tiền. 3.2.6 Biểu đồ luồng dữ liệu chức năng “quản lý chi” Hình 7: Biểu đồ luồng dữ liệu chức năng quản lý chi Biểu đồ này gồm: 2 tác nhân là nhân viên và hợp tác xã Kho dữ liệu bao gồm: kho khoản chi, kho nhân viên, kho hóa đơn chi Các chức năng chính là: Quản lý các khoản chi và quản lý việc chi tiền Đầu vào là các thông tin của khoản chi, thông tin của nhân viên nhận khoản chi đó Đầu ra là hóa đơn chi tiền Hợp tác xã sẽ quy định những khoản chi trong hợp tác xã của mình thông tin khoản chi, số tiền chi chức năng quản lý các khoản chi sẽ lưu thông tin về khoản chi đó vào trong kho khoản chi. Khi hợp tác xã có 1 hoạt động phong trào thì bộ phận quản lý chi sẽ căn cứ vào thông tin của khoản chi thông tin của nhân viên nhận tiền để đưa ra hóa đơn chi 3.2.7 Biểu đồ luồng dữ liệu chức năng “quản lý lương” Hình 8: Biểu đồ luồng dữ liệu chức năng quản lý lương Biểu đồ này gồm: 2 tác nhân là nhân viên và hợp tác xã Kho dữ liệu bao gồm: kho chức vụ, kho nhân viên, kho tạm ứng, kho cách tính lương, kho lương chi tiết Các chức năng chính là: Quản lý tạm ứng, quản lý cách tính lương và quản lý lương chi tiết Đầu vào là các thông tin của tạm ứng, thông tin của nhân viên, thông tin về chức vụ, thông tin về cách tính lương Đầu ra là hóa đơn tiền lương Hợp tác xã cách tinh lương(lưong tháng, lương ngày…) chức năng quản lý cách tính lương sẽ lưu thông tin về cách tính lương cào trong kho cách tính lương. Ở trong chức năng quản lý tiền lương này sẽ gồm 2 phần là quản lý tạm ứng và quản lý lương chi tiết Khi nhân viên của hợp tác xã muốn hợp tác xã tạm ứng 1 khoản tiền thì chức năng quản lý tạm ứng sẽ lấy thông tin của nhân viên và số tiền muốn tạm ứng lưu vào trong kho tạm ứng và đưa ra hóa đơn tạm ứng Cuối tháng hợp tác xã sẽ trả lương cho nhân viên, chức năng quản lý lương chi tiết sẽ căn cứ vào chức vụ của nhân viên, cách tính lưong, số tiền mà nhân viên đó đẫ tạm ứng mà đưa ra số tiền thực lĩnh của nhân viên CHƯƠNG 4: PHÂN TÍCH VÀ THIẾT KẾ CƠ SỞ DỮ LIỆU 4.1. Lý thuyết cơ sở dữ liệu 4.1.1 Các loại liên kết trong cơ sở dữ liệu(ER) Liên kết 1-1 A B Liên kết một - một : liên kết một - một giữa hai thực thể T1 và T2 là liên kết mà ứng với mỗi dữ liệu trong thực thể T1 có nhiều nhất một dữ liệu trong thực thể T2 và ngược lại. Ký hiệu của liên kết một - một : 1 -1 hay 1:1. Liên kết 1-n A B Liên kết một - nhiều : một liên kết một - nhiều từ thực thể T1 đến thực thể T2 là liên kết ứng với mỗi dữ liệu trong thực thể T1 có một hoặc nhiều hoặc không có dữ liệu nào trong thực thể T2 nhưng mỗi dữ liệu trong thực thể T2 có duy nhất một dữ liệu trong thực thể T1. Ký hiệu của liên kết một nhiều là : 1 – n hay 1 : n. Liên kết n-n A B Liên kết nhiều - nhiều : một liên kết nhiều - nhiều từ thực thể T1 đến thực thể T2 là liên kết mà ứng với mỗi dữ liệu trong thực thể T1 có một hoặc nhiều hoặc không có dữ liệu nào trong thực thể T2 và ngược lại ứng với mỗi dữ liệu trong thực thể T2 có một hoặc nhiều hoặc không có dữ liệu nào trong thực thể T1. Ký hiệu liên kết này là n – n hay n : n. 4.1.2 Chuyển từ mô hình thực thể liên kết (ER) sang mô hình quan hệ Liên kết 1-1: Một thực thể A chỉ xác định một thực thể B và ngược lại một thực thể B chỉ xác định một thực thể A vì vậy ta có thể thiết kế 1 bảng C gồm các thuộc tính của thực thể A và thuộc tính của thực thể B với khoá chính có thể là khoá chính của thực thể A hoặc khoá chính của thực thể B Liên kết 1-n: Một thực thể A xác định nhiều thực B vì vậy ta thiết kế 1 bảng C lưu trữ các thuộc tính của thực thể A và 1 bảng D lưu trữ các thuộc tính của thực thể B và khoá chính của thực thể A. Như vậy trong bảng D sẽ có khoá chính là khoá của thực thể B và khoá chính của thực thể A chỉ là 1 thuộc tính trong bảng D Liên kết n-n: Một thực thể A xác định nhiều thực thể B và một thực thể B xác định nhiều thực thể A vì vậy ta phải có một bảng trung gian(C) giữa hai thực thể A và B tách liên kết n-n của hai thực thể A và B thành 2 liên kết 1-n A C B Lúc này trong bảng C sẽ gồm 2 thuộc tính là 2 khoá chính của thực thể A và thực thể B 4.2 Mô hình thực thể liên kết Hình 9: Mô hình thực thể liên kết Chức vụ liên kết 1-n với nhân viên: một chức vụ có nhiều nhân viên Cách tính lương liên kết 1-n với nhân viên: một cách tính lương có nhiều nhân viên(một cách áp dụng cho nhiều nhân viên) Nhân viên liên kết n-n với bảng lương: một nhân viên có nhiếu bảng lương và một bảng lương có nhiều nhân viên Nhân viên liên kết n- n với chi: một nhân viên có nhiều khoản chi, một khoản chi có nhiều nhân viên Nhân viên liên kết n-n với tạm ứng: một nhân viên có thể tạm ứng nhiều lần và một tạm ứng có thể có nhiều nhân viên Chính sách liên kết 1-n với hộ khẩu: một chính sách có nhiều hộ khẩu Hộ khẩu liên kết n-n với thu: một hộ khẩu có nhiều khản thu và một khoản thu ứng với nhiều hộ 4.3 Mô hình quan hệ Hình 10: Sơ đồ liên kết cơ sở dữ liệu 4.4 Chi tiết các bảng Bảng chinhsach Mục đích: Lưu trữ các chính sách nhà nước hay chính sách của hợp tác xã. Từ các chính sách này chúng ta biết được phần trăm miễn giảm đối với các gia đình chính sách Trong bảng chinhsach có 1 khóa chính là Idchinhsach Tên trường Kiểu dữ liệu Mô tả Idchinhsach (Khóa) nvarchar(20) Mã của chinh sách Tenchinhsach nvarchar(200) Tên chính sách Phantram Numeric Phần trăm miễn giảm Bảng khoanthu Mục đích: Lưu trữ các thông tin về khoản thu bao gồm khoản thu áp dụng cho đối tượng nào số tiền là bao nhiêu Trong bảng khoanthu có 1 khóa chính là Idkhoanthu Tên trường Kiểu dữ liệu Mô tả Idkhoanthu (Khóa) Nvarchar(20) Mã khoản thu Tenkhoanthu Nvarchar(200) Tên khoản thu Sotien Numeric Số tiền thu Doituong Nvarchar(200) Đối tượng thu tiền Mota Nvarchar(200) Mô tả Bảng lanthuchi Mục đích: Lưu trữ lần thu, lần chi hay lần tạm ứng Trong bảng lanthuchi có một khoá chính là Idlanthuchi Tên trường Kiểu dữ liệu Mô tả Idlanthuchi (Khóa) Nvarchar(20) Mã lần thu Tenlanthuchi Nvarchar(200) Tên lần thu mota Nvarchar(200) Mô tả Bảng thu Mục đích: Lưu trữ thông tin thu tiền của các hộ gia đình Bản thu có một khoá chính là Idphieuthu Tên trường Kiểu dữ liệu Mô tả Idphieuthu (Khóa) Nvarchar(20) Mã phiếu thu Idhokhau Nvarchar(20) Mã hộ gia đình Idkhoanthu Nvarchar(20) Mã khoản thu Sotiendong Numeric Số tiền đóng Ngaydong Datetime Ngày đóng Idlanthu Nvarchar(200) Mã lần thu Mota Nvarchar(200) Mô tả Bảng hokhau Mục đích: lưu trữ thông tin của các hộ gia đình trong hợp tác xã như tên chủ hộ, số khẩu, số lao động công ích, số lao động độ tuổi… Bảng hokhau lưu trữ thông tin về số lao động công ích, lao động độ tuổi, số khẩu nhằm mục đích tính số tiền thu cho mỗi hộ gia đình. Trường idchinhsach lưu trữ thông tin về chính sách của gia đình từ đó xác định được phần trăm miễn giảm đối với khoản tiền thu. Bảng hokhau có một khoá chính là Idhokhau Tên trường Kiểu dữ liệu Mô tả Idhokhau (Khóa) Nvarchar(20) Mã hộ gia đình Tenchuho Nvarchar(200) Tên chủ hộ Ngaysinh Datetime Ngày sinh Sochungminhthu Numeric Số CMT Sokhau Numeric Số khẩu Lddotuoi Numeric Số LĐ độ tuổi Ldcongich Numeric Số LĐ công ích Diachi Nvarchar(200) Địa chỉ Idchinhsach Nvarchar(20) Mã chinh sách Bảng tamung Mục đích: Lưu trữ các lần tạ ứng của nhân viên Bảng tamung có một khoá được hình thành từ ba thuộc tính Idbangluong, Idnhanvien, Idlantamung Tên trường Kiểu dữ liệu Mô tả Idbangluong (Khóa) Nvarchar(20) Mã bản lương Idnhanvien (Khóa) Nvarchar(20) Mã nhân viên Idlantamung (Khóa) Nvarchar(20) Mã lần tạm ứng Sotientamung Numeric Số tiền tạm ứng Ngaytamung Datetime Ngày tạm ứng Ghichu Nvarchar(20) Ghi chú Bảng bangluong Mục đích: Lưu trữ thông tin của các tháng lương Bảng bangluong có một khoá chính là Idbangluong Tên trường Kiểu dữ liệu Mô tả Idbangluong (Khóa) Nvarchar(20) Mã bảng lương Thang Datetime Lương tháng mấy Ghichu Nvarchar(200) Ghi chú Bảng luongchitiet Mục đích: lưu trữ thông tin về lương của nhân viên hợp tác xã Bảng luongchitiet có một khoá được hình thành từ hai thuộc tính là Idbangluong và Idnhanvien Tên trường Kiểu dữ liệu Mô tả IDbangluong (Khóa) Nvarchar(20) Mã bảng lương Idnhanvien(Khóa) Nvarchar(20) Mã nhân viên Socong Numeric Số công Ghichu Nvarchar(200) Ghi chú Thuong Numeric Số tiền được thưởng Bảng nhanvien Mục đích: lưu trữ thông tin về nhân viên như thông tin cá nhân, thông tin chức vụ, thông tin về các tính lương… Bảng nhanvien có một khoá chính là Idnhanvien Tên trường Kiểu dữ liệu Mô tả Idnhanvien (Khóa) Nvarchar(20) Mã nhân viên Hoten Nvarchar(200) Họ tên Ngaysinh Datetime Ngày sinh Sochungminhthu Numeric Số CMT Diachi Nvarchar(200) Địa chỉ Ngayvaolam Datetime Ngày vào làm Idchucvu Nvarchar(20) Chức vụ Idcachtinh Nvarchar(20) Cách tính lương Bảng chi Mục đích: lưu trữ thông tin chi tiết về các khoản chi của hợp tác xã như nhân viên nhận tiền, tên khoản chi, số tiền nhận… Bảng chi có một khoá chính là Idphieuchi Tên trường Kiểu dữ liệu Mô tả Idphieuchi (Khóa) Nvarchar(20) Mã phiếu chi Idnhanvien Nvarchar(20) Mã nhân viên Idkhoanchi Nvarchar(20) Mã khoản chi Idlanchi Nvarchar(20) Mã lần chi Sotiennhan Numeric Số tiền nhận Ngaychi Datetime Ngày chi Mota Nvarchar(200) Mô tả Bảng cachtinh Mục đích: lưu trữ cách tính tiền lương của nhân viên như tên cách tính, số tiền trên 1 công… Bảng cachtinh có một khoá chính là Idcachtinh Tên trường Kiểu dữ liệu Mô tả Idcachtinh (Khóa) Nvarchar(20) Mã cách tính Tencachtinh Nvarchar(200) Tên cách tính Sotien Numeric Số tiền Ghichu Nvarchar(200) Ghi chú Bảng chucvu Mục đích: lưu trữ thông tin về chức vụ, số tiền phụ cấp của chức vụ đó… Bảng chucvu có một khoá chính là Idchucvu. Tên trường Kiểu dữ liệu Mô tả Idchucvu (Khóa) Nvarchar(20) Mã chức vụ Tenchucvu Nvarchar(200) Tên chức vụ Sotienphucap Numeric Số tiền phụ cấp Ghichu Nvarchar(200) Ghi chú Bảng khoanchi Mục đích: lưu trữ thông tin của khoản chi như tên khoản chi, số tiền khoản chi. Bảng khoanchi có 1 khoá chính là Idkhoanchi Tên trường Kiểu dữ liệu Mô tả Idkhoanchi (Khóa) Nvarchar(20) Mã khoản chi Tenkhoanchi Nvarchar(200) Tên khoản chi Sotien Numeric Số tiền Mota Nvarchar(200) Mô tả CHƯƠNG 5: THIẾT KẾ GIAO DIỆN VÀ CÀI ĐẶT CHƯƠNG TRÌNH 5.1 Giới thiệu về công cụ và môi trường cà đặt sử dụng trong chương trình Chương trình quản lý thu chi hợp tác xã sử dụng SqlServer để lưu trữ dữ liệu và công cụ lập trình C# để tạo giao diện thao tác với cơ sở dữ liệu Mục đích sử dụng cơ sở dữ liệu SqlServer là để tăng tính bảo mật của cơ sở dữ liệu. Có thể cùng 1 lúc nhiều người truy cập vào cơ sở dữ liệu Mục đích sử dụng công cụ lập trình C#: Đây là ngôn ngữ lapạ trình hướng đối tượng đang được phất triển mạnh với nhiều công nghệ hiện đại vì vậy tôi đã ứng dụng vào để phất triển chương trình quản lý nhân sự 5.1.1 Ngôn ngữ C# Ngôn ngữ lập trình C# là 1 ngôn ngữ lập trình hướng đối tượng .Nó nằm trong bộ visual studio.Net của Microsoft C# là 1 ngôn ngữ lập trình hướng đối tượng giống như Java hay C++.Vì vậy ở đây em sẽ không đề cập đến ngôn ngữ mà ở đây em sẽ đề cập đến vấn đề chính là truy xuất cơ sở dữ liệu. 5.1.2 Các đối tượng sử dụng trong truy xuất cơ sở dữ liệu Để kết nối cơ sở dữ liệu chúng ta dùng công nghệ ADO.NET ADO.NET chứa nhiều không gian thao tác với cơ sở dữ liệu nhưng ở đây e xin giới thiệu không gian SQLServer.Đây là không gian mà em nghiên cứu và sử dụng để thao tac với cơ sở dữ liệu 1 số lớp nằm trong không gian System.Data : Dataset:chứa các table,nó được thiết kế cho dữ liệu không kết nối Datatable:kho chứa dữ liệu,nó chứa Datacolumns,DataRow Datarow:chứa dữ liệu,nó tương đương như 1 hàng trong bảng cơ sở dữ liệu Datacolumn: chứa dữ liệu,nó tương đương như 1 trường trong bảng cơ sở dữ liệu 1 số lớp trong không gian SQLServer Sqlconnection:kết nối với cơ sở dữ liệu SQL. Sqlcommand:thực thi câu lệnh SQL,hoặc các lời gọi tới Store procdure SqlDataAdapter:được dùng để tạo dataset SqlDatareader:được dùng để đọc dữ liệu đúng như tên của nó datareader Sqlconnection: string strConn;//khai bao bien strConn strConn = "uid=sa;pwd=sa;Initial Catalog=qlhtx;Data Source=NGHIA"; SqlConnection con = new SqlConnection(strConn); con.Open(); Chúng ta kết nối đến cơ sở dữ liệu “qlhtx”,Server là “NGHIA”,tên truy nhập là “sa”,pass là ”sa” Sqlcommand Thực thi câu lệnh SQL string sql="insert into(idnhanvien,tennhanvien)values('"+ t txtidnhanvien.Text +"','"+ txttennhanvien.Text +"'); SqlCommand comm=new SqlCommand(sql,conn); comm.EndExecuteNonQuery(); Thực thi store procdure Giả sử chúng ta đã có store proc la”nhap” SqlCommand sqlc = new SqlCommand("nhap", cnn1); sqlc.CommandType = CommandType.StoredProcedure; sqlc.Parameters.AddWithValue("@idnhanvien", idnhanvien); sqlc.Parameters.AddWithValue("@tennhanvien", tennhanvien); sqlc.ExecuteNonQuery(); +“@idnhanvien”và” @tennhanvien”là các tham số của store +”idnhanvien” và ”tennhanvien” là các giá trị truyền cho “@idnhanvien”và” @tennhanvien” Các giá trị trả ra khi thực thi Command + sqlc.ExecuteNonQuery(); Thực thi nhưng không trả ra giá trị nào + SqlDataReader dr = sqlc.ExecuteReader(); Thực thi nhưng trả ra giá trị Datareader Câu lệnh này được sử dụng khi chúng ta muốn select dữ liệu.Nếu như chúng ta dùng trong câu lệnh insert thì sẽ nhận thấy rằng sẽ không có giá trị gì cả. 5.1.3 MSDE(Microsoft SQL Server Desktop Engine) MSDE dựa vào tính năng của MSSQL. Nó không có giao diện riêng. MSDE tương tự như MSSQL Server nhưng nó chỉ có tối đa 5 connection 1 lúc, miễn phí thích hợp với dự án cá nhân nhỏ. Chính vì dựa vào tính năng của MSSQL nên nó có đầy đủ tính năng của MSSQL: tạo cơ sở dữ liệu, tạo thủ tục, quản lý dữ liệu.. MSDE không có giao diện vì vậy để thực hiện các lệnh ta vào trong Command Prompt để thực hiện. Ví dụ : Tạo cơ sở dữ liệu quản lý hợp tác xã. Tên cơ sở dữ liệu là : qlhtx. Bao gồm bảng:nhankhau. Idnhankhau. Tenchuho. Sau đó ta insert dữ liệu vào bảng. Tạo thu tục hiện thị dữ liệu Thực hiện: Vào Command Prompt Trở về ổ C Gõ osql –E Sau đó chúng ta gõ lệnh SQL để tạo cơ sở dữ liệu Create database qlhtx; Go Tạo tables Create table nhakhau ( idnhankhau char(5), tenchuho nvarchar(30), ); Go Insert dữ liệu Insert into nhankhau(idnhankhau,tenchuho)values(‘01’,’Nguyen Duy Nghia’); Go Chúng ta tạo thủ tục Create proc sphienthi As Select * from nhankhau Go 5.1.4 - Mô hình 3 tầng Đây là mô hình được dùng phổ biết khi viết các chương trình về quản lý và em đã áp dụng mô hình này trong chương trình quản lý thu chi của hợp tác xã 3 tầng ở đây bao gồm: tầng tính toán tầng truy xuất cơ sở dữ liệu tầng giao diện Ngoài ra trong chương trình quản ký thu chi của hợp tác xã em cũng đã cung cấp thêm 1 tầng nữa là tầng các đối tượng. Nó bao gồm các đối tượng trong cơ sở dữ liệu 5.2 Giao diện và các chức năng của chương trình Menu các chức năng của chương trình Hình 11: Menu chương trình Đăng nhập hệ thống Hình 12: Form đăng nhập Chức năng: đăng nhập vào trong chương trình Quản lý thu Hình 13: Form quản lý thu Việc thu tiền hộ gia đình theo 1 khoản thu dựa trên các yêu tố: số tiền thu, đối tượng thu, phần trăm miễn giảm.. Từ Id khản thu đưa ra số tiền thu, đối tượng thu Từ Id hộ khẩu đưa ra được số lượng của đối tượng thu, gia đình thuộc diện chính sách gì Từ đó chúng ta đưa ra được khoản tiền thu thực tế đối với hộ gia đình Thực thu=số đối tựong thu * số tiền/1 đối tượng (1– phần trăm miễn giảm/100) Chức năng: Quản lý các việc thu tiền của hợp tác xã Chức năng nhập: nhập dữ liệu thu vào trong cơ sở dữ liệu Chức năng sửa: sửa dữ liệu thu mà ta nhập bị sai trong cơ sở dữ liệu Chức năng xóa: xóa dữ liệu thu không cần thiết trong cơ sở dữ liệu Chức năng lưu: lưu dữ liệu thêm mới hoặc dữ liệu được sửa và in ra phiếu hóa đơn Chức năng in: in dữ liệu mà người sử dụng lựa chọn Quản lý chi Hình 14: Form quản lý chi Chức năng: Quản lý các việc chi của hợp tác xã Chức năng nhập: nhập dữ liệu chi vào trong cơ sở dữ liệu Chức năng sửa: sửa dữ liệu chi mà ta nhập bị sai trong cơ sở dữ liệu Chức năng xóa: xóa dữ liệu chi không cần thiết trong cơ sở dữ liệu Chức năng lưu: lưu dữ liệu thêm mới hoặc dữ liệu được sửa và in ra phiếu hóa đơn Chức năng in: in dữ liệu mà người sử dụng lựa chọn Quản lý lương chi tiết Hình 15: Form quản lý lương chi tiết Chức năng: Quản lý các việc thu tiền của hợp tác xã Việc tính tiền lương dựa trên các yếu tố:số công, số tiền trên 1 công, tạm ứng của nhân vien, phụ cấp nhân viên, thưởng Từ ID nhân viên và ID bảng lương sẽ đưa ra sô tiền tạm ứng mà nhân viên đó đã tạm ứng trong tháng Từ ID nhân viên đưa ra số tiền phụ cấp chức vụ của nhân viên Từ ID nhân viên đưa ra cách tính lương của nhân viên đó (tính theo tháng hay theo ngày) Từ số tiền tạm ứng, phụ cấp chức vụ, cách tính lương, số công, tiền thưởng ta sẽ đưa ra được số tiền thực lĩnh mà 1 nhân viên được nhân theo công thức Thực lĩnh=số công * số tiền/1công + phụ cấp chức vụ + thưởng - tạm ứng Chức năng nhập: nhập dữ liệu lương chi tiết vào trong cơ sở dữ liệu. Chức năng sửa: sửa dữ liệu lương chi tiết mà ta nhập bị sai trong cơ sở dữ liệu Chức năng xóa: xóa dữ liệu lương chi tiết không cần thiết trong cơ sở dữ liệu Chức năng lưu: lưu dữ liệu thêm mới hoặc dữ liệu được sửa và in ra phiếu hóa đơn Chức năng in: in dữ liệu mà người sử dụng lựa chọn Quản lý tạm ứng Hình 16: Form quản lý tạm ứng Chức năng: Quản lý lương tạm ứng của nhân viên Chức năng nhập: nhập dữ liệu tạm ứng vào trong cơ sở dữ liệu. Chức năng sửa: sửa dữ liệu tạm ứng mà ta nhập bị sai trong cơ sở dữ liệu Chức năng xóa: xóa dữ liệu tạm ứng không cần thiết trong cơ sở dữ liệu Chức năng lưu: lưu dữ liệu thêm mới hoặc dữ liệu được sửa và in ra phiếu hóa đơn Quản lý bảng lương Hình 17: Form quản lý bảng lương Chức năng: Quản lý bảng lương của hợp tác xã Chức năng nhập: nhập dữ liệu bản lương vào trong cơ sở dữ liệu. Chức năng sửa: sửa dữ liệu bảng lương mà ta nhập bị sai trong cơ sở dữ liệu Chức năng xóa: xóa dữ liệu bảng lương không cần thiết trong cơ sở dữ liệu Chức năng lưu: lưu thêm mới hoặc dữ liệu được sửa Quản lý chính sách Hình 18: Form quản lý chính sách Chức năng: Quản lý chính sách của hợp tác xã Chức năng nhập: nhập dữ liệu chính sách vào trong cơ sở dữ liệu. Chức năng sửa: sửa dữ liệu chính sách mà ta nhập bị sai trong cơ sở dữ liệu Chức năng xóa: xóa dữ liệu chính sách không cần thiết trong cơ sở dữ liệu Chức năng lưu: lưu thêm mới hoặc dữ liệu được sửa Quản lý hộ khẩu Hình 19: Form quản lý hộ khẩu Chức năng: Quản lý hộ khẩu của hợp tác xã Chức năng nhập: nhập dữ liệu hộ khẩu vào trong cơ sở dữ liệu. Chức năng sửa: sửa dữ liệu hộ khẩu mà ta nhập bị sai trong cơ sở dữ liệu Chức năng xóa: xóa dữ liệu hộ khẩu không cần thiết trong cơ sở dữ liệu Chức năng lưu: lưu thêm mới hoặc dữ liệu được sửa Quản lý nhân viên Hình 20: Form quản lý thông tin nhân viên Chức năng: Quản lý thông tin cá nhân của nhân viên của hợp tác xã Chức năng nhập: nhập dữ liệu nhân viên vào trong cơ sở dữ liệu. Chức năng sửa: sửa dữ liệu nhân viên mà ta nhập bị sai trong cơ sở dữ liệu Chức năng xóa: xóa dữ liệu nhân viên không cần thiết trong cơ sở dữ liệu Chức năng lưu: lưu thêm mới hoặc dữ liệu được sửa Quản lý chức vụ Hình 21: Form quản lý chức vụ Chức năng: Quản lý thông tin chức vụ của nhân viên của hợp tác xã Chức năng nhập: nhập dữ liệu chức vụ vào trong cơ sở dữ liệu. Chức năng sửa: sửa dữ liệu chức vụ mà ta nhập bị sai trong cơ sở dữ liệu Chức năng xóa: xóa dữ liệu chức vụ không cần thiết trong cơ sở dữ liệu Chức năng lưu: lưu thêm mới hoặc dữ liệu được sửa Quản lý khoản thu Hình 22: Form quản lý các khoản thu Chức năng: Quản lý thông tin khoản thu của hợp tác xã Chức năng nhập: nhập dữ liệu khoản thu vào trong cơ sở dữ liệu. Chức năng sửa: sửa dữ liệu khoản thu mà ta nhập bị sai trong cơ sở dữ liệu Chức năng xóa: xóa dữ liệu khoản thu không cần thiết trong cơ sở dữ liệu Chức năng lưu: lưu thêm mới hoặc dữ liệu được sửa Quản lý khoản chi Hình 23: Form quản lý các khoản chi Chức năng: Quản lý thông tin khoản chi của hợp tác xã Chức năng nhập: nhập dữ liệu khoản chi vào trong cơ sở dữ liệu. Chức năng sửa: sửa dữ liệu khoản chi mà ta nhập bị sai trong cơ sở dữ liệu Chức năng xóa: xóa dữ liệu khoản chi không cần thiết trong cơ sở dữ liệu Chức năng lưu: lưu thêm mới hoặc dữ liệu được sửa Quản lý cách tính lương Hình 24: Form quản lý cách tính lương Chức năng: Quản lý cách tính lương của hợp tác xã Chức năng nhập: nhập dữ liệu cách tính lương vào trong cơ sở dữ liệu. Chức năng sửa: sửa dữ liệu cách tính lương mà ta nhập bị sai trong cơ sở dữ liệu Chức năng xóa: xóa dữ liệu cách tính lương không cần thiết trong cơ sở dữ liệu Chức năng lưu: lưu thêm mới hoặc dữ liệu được sửa Tìm kiếm Hình 25: Form tìm kiếm Chức năng tim kiềm thông tin hộ gia đình hay thông tin nhân viên như: Thông tin về hộ gia đình Thông tin về các khoản thu của gia đình Thông tin cá nhân của nhân viên Thông tin về tiền lương, tiền tạm ứng của nhân viên Báo cáo về việc thu tiền của các hộ trong hợp tác xã Hình 26: Form báo cáo Chức năng: đưa ra báo cáo thông kê về các khoản thu của hợp tác xã Đưa ra các hộ còn nợ tiền hợp tác xã Đưa ra các hộ mà hợp tác xã còn nợ tiền chưa hoàn trả 5.3 Kết quả Với dữ liệu đầu vào là các thông tin hộ khẩu, thông tin vá nhân chương trình quản lý thu chi mà em đưa ra đã đưa ra một số báo cáo và hóa đơn thu chi, chứng từ lương Báo cáo tiền thu của các hộ gia đình Hình 27: Form báo cáo In ra các phiếu thu tiền, phiếu xuất tiền Hình 28: Forn in phiếu thu chi In hoá đơn lương Hình 29: Form in hóa đơn lương KẾT LUẬN Phần mềm mà tôi đưa ra nhằm giả quyết bài toán quản lý thu chi hợp tác xã. Chương trình có một số ưu điểm và còn tồn tại một số nhược điểm sau: Ưu điểm: Giao diện than thiện với người dùng Yêu cầu cấu hình máy thấp Tính bảo mật cao Nhược điểm: bên cạnh những ưu điểm, chương trình đưa ra còn một số nhược điểm Các mẫu báo cáo thiết kế chưa chuẩn so với thực tế Các chức năng của chương trình còn thiếu TÀI LIỆU THAM KHẢO Tiếng Anh : Kỹ thuật lập trình C#- 2000-Diana Van Winkle. User Interfaces in C#—Windows Forms and Custom Controls-2002-Matthew MacDonald. Visual C# 2005-O'Reilly Phụ lục Mô hình 3 tầng trong chương trình quản lý thu chi của hợp tác xã là: Tầng truy xuất cơ sở dữ liệu bao gồm các đối tượng truy xuất đến dữ liệu của các bảng.Ở đây chúng ta tổng hợp các câu lệnh truy xuất đến 1 bảng trong cơ sở dữ liệu thanh 1 đối tượng đúng như bản chất của ngôn ngữ C# là ngôn ngữ lập trình hướng đối tượng Việc truy xuất cơ sở dũ liệu ở đây là các thao tác insert ,update,delete,select các bản ghi trong table using System; using System.Collections.Generic; using System.Text; using System.Data; using System.Data.SqlClient; using Lopdoituong; namespace dataaccess { public class dahokhau { public SqlConnection conn; public dahokhau(SqlConnection con) { this.conn = con; } public void them(hokhau hk) { SqlCommand comm = new SqlCommand("themhokhau", conn); comm.CommandType = CommandType.StoredProcedure; comm.Parameters.AddWithValue("@diachi", hk.diachi); comm.Parameters.AddWithValue("@idchinhsach",Convert.ToInt32(hk.idchinhsach)); comm.Parameters.AddWithValue("@ldcongich", hk.ldcongich); comm.Parameters.AddWithValue("@lddotuoi", hk.lddotuoi); comm.Parameters.AddWithValue("@mota", hk.mota); comm.Parameters.AddWithValue("@ngaysinh", hk.ngaysinh); comm.Parameters.AddWithValue("@sochungminhthu", hk.sochungminhthu); comm.Parameters.AddWithValue("@sokhau", hk.sokhau); comm.Parameters.AddWithValue("@tenchuho", hk.tenchuho); comm.Parameters.AddWithValue("@anh", hk.anh); comm.ExecuteNonQuery(); } public void sua(hokhau hk) { SqlCommand comm = new SqlCommand("suahokhau", conn); comm.CommandType = CommandType.StoredProcedure; comm.Parameters.AddWithValue("@diachi", hk.diachi); comm.Parameters.AddWithValue("@idchinhsach", hk.idchinhsach); comm.Parameters.AddWithValue("@idhokhau", hk.idhokhau); comm.Parameters.AddWithValue("@ldcongich", hk.ldcongich); comm.Parameters.AddWithValue("@lddotuoi", hk.lddotuoi); comm.Parameters.AddWithValue("@mota", hk.mota); comm.Parameters.AddWithValue("@ngaysinh", hk.ngaysinh); comm.Parameters.AddWithValue("@sochungminhthu", hk.sochungminhthu); comm.Parameters.AddWithValue("@sokhau", hk.sokhau); comm.Parameters.AddWithValue("@tenchuho", hk.tenchuho); comm.Parameters.AddWithValue("@anh", hk.anh); comm.ExecuteNonQuery(); } public void xoa(hokhau hk) { SqlCommand comm = new SqlCommand("xoahokhau", conn); comm.CommandType = CommandType.StoredProcedure; comm.Parameters.AddWithValue("@idhokhau", hk.idhokhau); comm.ExecuteNonQuery(); } public DataTable selectall() { SqlCommand comm = new SqlCommand("selectallhokhau", conn); comm.CommandType = CommandType.StoredProcedure; SqlDataAdapter da = new SqlDataAdapter(); da.SelectCommand = comm; DataSet ds = new DataSet(); da.Fill(ds, "a"); DataTable dt = ds.Tables["a"]; return dt; } public DataTable selectid(string idhokhau) { SqlCommand comm = new SqlCommand("selectidhokhau", conn); comm.CommandType = CommandType.StoredProcedure; comm.Parameters.AddWithValue("@idhokhau",idhokhau); SqlDataAdapter da = new SqlDataAdapter(); da.SelectCommand = comm; DataSet ds = new DataSet(); da.Fill(ds, "a"); DataTable dt = ds.Tables["a"]; return dt; } } } Tầng tính toán: tính toán,tổng hợp dữ liệu mà tầng dữ liệu đưa lên. Như tính tổng tiền thu chi… using System; using System.Collections.Generic; using System.Text; using dataaccess; using Lopdoituong; using System.Data; using System.Data.SqlClient; namespace logic { public class blhokhau { public SqlConnection conn; public blhokhau(SqlConnection con) { this.conn = con; } public void them(hokhau hk) { dahokhau dahk = new dahokhau(conn); dahk.them(hk); } public void sua(hokhau hk) { dahokhau dahk = new dahokhau(conn); dahk.sua(hk); } public void xoa(hokhau hk) { dahokhau dahk = new dahokhau(conn); dahk.xoa(hk); } public DataTable selectall() { dahokhau dahk = new dahokhau(conn); DataTable dt = dahk.selectall(); return dt; } } } Tầng giao diện: chứa giao diện của chương trình.Đó là các Form chức năng của chương trình. using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.IO; using System.Data.SqlClient; using Lopdoituong; using dataaccess; using logic; namespace hoptacxa { public partial class frmhokhau : Form { public SqlConnection conn; public int f; public hokhau hk; public frmhokhau(SqlConnection con) { this.conn = con; InitializeComponent(); } private void btxoa_Click(object sender, EventArgs e) { if (txtidhokhau.Text != "") { thietlapdoituong(); if (MessageBox.Show("Bạn có muốn xóa dữ liệu này không", "Thông báo", MessageBoxButtons.YesNo) == DialogResult.No) return; blhokhau blhk = new blhokhau(conn); blhk.xoa(hk); } else { MessageBox.Show("Bạn hãy chọn bản ghi cần xóa"); } frmhokhau_Load(sender, e); } private void frmhokhau_Load(object sender, EventArgs e) { combo(); khoatext(true); annut(true); hienthi(); dgv.Enabled = true; } public void annut(bool tg) { btnhap.Enabled = tg; btsua.Enabled = tg; btxoa.Enabled = tg; btluu.Enabled = !tg; bthuy.Enabled = !tg; } public void khoatext(bool tg) { txtdiachi.Enabled = !tg; txtidhokhau.Enabled = !tg; txtldci.Enabled = !tg; txtlddt.Enabled = !tg; txtmota.Enabled = !tg; txtsocmt.Enabled = !tg; txtsokhau.Enabled = !tg; txttenchuho.Enabled=!tg; cbochinhsach.Enabled = !tg; dtpngaysinh.Enabled = !tg; btanh.Enabled = !tg; } public void hienthi() { blhokhau blhk = new blhokhau(conn); DataTable dt = blhk.selectall(); int i = 0; dgv.Rows.Clear(); foreach (DataRow dr in dt.Rows) { dgv.Rows.Add(); dgv.Rows[i].Cells[0].Value = dr[0].ToString().Trim(); dgv.Rows[i].Cells[1].Value = dr[1].ToString().Trim(); dgv.Rows[i].Cells[2].Value = dr[2].ToString().Trim(); dgv.Rows[i].Cells[3].Value = dr[3].ToString().Trim(); dgv.Rows[i].Cells[4].Value = dr[4].ToString().Trim(); dgv.Rows[i].Cells[5].Value = dr[5].ToString().Trim(); dgv.Rows[i].Cells[6].Value = dr[6].ToString().Trim(); dgv.Rows[i].Cells[7].Value = dr[7].ToString().Trim(); dgv.Rows[i].Cells[8].Value = dr[8].ToString().Trim(); dgv.Rows[i].Cells[9].Value = dr[9].ToString().Trim(); dgv.Rows[i].Cells[10].Value = dr[10].ToString().Trim(); i = i + 1; } } public void combo() { blchinhsach blcs = new blchinhsach(conn); DataTable dt = blcs.selectall(); cbochinhsach.DataSource = dt; cbochinhsach.DisplayMember = "tenchinhsach"; cbochinhsach.ValueMember = "idchinhsach"; } public void thietlapdoituong() { hk = new hokhau(); hk.diachi = txtdiachi.Text; hk.idchinhsach = cbochinhsach.SelectedValue.ToString().Trim(); hk.idhokhau = txtidhokhau.Text; hk.ldcongich = txtldci.Text; hk.lddotuoi = txtlddt.Text; hk.mota = txtmota.Text; hk.ngaysinh = dtpngaysinh.Value.ToShortDateString().ToString().Trim(); hk.sochungminhthu = txtsocmt.Text; hk.sokhau = txtsokhau.Text; hk.tenchuho = txttenchuho.Text; hk.anh = opfd.FileName; } private void button1_Click(object sender, EventArgs e) { if (cbochinhsach.SelectedIndex != -1) { textBox8.Text = cbochinhsach.SelectedValue.ToString().Trim(); } } private void btnhap_Click(object sender, EventArgs e) { f = 1; khoatext(false); dgv.Enabled = false; annut(false); } private void btsua_Click(object sender, EventArgs e) { if (txtidhokhau.Text != "") { f = 2; khoatext(false); annut(false); } else { MessageBox.Show("Bạn hãy chọn bản ghi cần sửa"); } } private void btluu_Click(object sender, EventArgs e) { thietlapdoituong(); blhokhau blhk = new blhokhau(conn); if (f == 1) { blhk.them(hk); } if (f == 2) { blhk.sua(hk); } frmhokhau_Load(sender, e); } private void bthuy_Click(object sender, EventArgs e) { frmhokhau_Load(sender, e); } private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e) { try { txtidhokhau.Text = dgv.Rows[e.RowIndex].Cells[0].Value.ToString().Trim(); txttenchuho.Text = dgv.Rows[e.RowIndex].Cells[1].Value.ToString().Trim(); dtpngaysinh.Text = dgv.Rows[e.RowIndex].Cells[2].Value.ToString().Trim(); txtsocmt.Text = dgv.Rows[e.RowIndex].Cells[3].Value.ToString().Trim(); txtsokhau.Text = dgv.Rows[e.RowIndex].Cells[4].Value.ToString().Trim(); txtlddt.Text = dgv.Rows[e.RowIndex].Cells[5].Value.ToString().Trim(); txtldci.Text = dgv.Rows[e.RowIndex].Cells[6].Value.ToString().Trim(); txtdiachi.Text = dgv.Rows[e.RowIndex].Cells[7].Value.ToString().Trim(); cbochinhsach.Text = dgv.Rows[e.RowIndex].Cells[8].Value.ToString().Trim(); txtmota.Text = dgv.Rows[e.RowIndex].Cells[9].Value.ToString().Trim(); if (dgv.Rows[e.RowIndex].Cells[10].Value.ToString().Trim() != null) { pictureBox1.Load("file:///" + dgv.Rows[e.RowIndex].Cells[10].Value.ToString().Trim()); } else { pictureBox1.Load("file:///" + Directory.GetCurrentDirectory() + "\\untitled.bmp"); } } catch { } } private void btanh_Click(object sender, EventArgs e) { opfd.Title = "Ảnh"; opfd.Filter = "*.jpg|*.jpg|*.bmp|*.bmp"; if (opfd.ShowDialog() == DialogResult.OK) { pictureBox1.Load("file:///" + opfd.FileName); } else { pictureBox1.Load("file:///" + Directory.GetCurrentDirectory() + "\\untitled.bmp"); } } private void txtsokhau_KeyPress(object sender, KeyPressEventArgs e) { if (((e.KeyChar > (char)47) && (e.KeyChar < (char)58) || (e.KeyChar == (char)46)) || (e.KeyChar < (char)32) || (e.KeyChar == 43)) { e.Handled = false; } else { MessageBox.Show("Không được nhập ký tự này!", "Chỉ được nhập số", MessageBoxButtons.OK, MessageBoxIcon.Warning); e.Handled = true; } } private void txtlddt_KeyPress(object sender, KeyPressEventArgs e) { if (((e.KeyChar > (char)47) && (e.KeyChar < (char)58) || (e.KeyChar == (char)46)) || (e.KeyChar < (char)32) || (e.KeyChar == 43)) { e.Handled = false; } else { MessageBox.Show("Không được nhập ký tự này!", "Chỉ được nhập số", MessageBoxButtons.OK, MessageBoxIcon.Warning); e.Handled = true; } } private void txtldci_KeyPress(object sender, KeyPressEventArgs e) { if (((e.KeyChar > (char)47) && (e.KeyChar < (char)58) || (e.KeyChar == (char)46)) || (e.KeyChar < (char)32) || (e.KeyChar == 43)) { e.Handled = false; } else { MessageBox.Show("Không được nhập ký tự này!", "Chỉ được nhập số", MessageBoxButtons.OK, MessageBoxIcon.Warning); e.Handled = true; } } } } Tầng các đối tượng mà ta thao tác đến using System; using System.Collections.Generic; using System.Text; namespace Lopdoituong { public class hokhau { public string idhokhau ; public string tenchuho ; public string ngaysinh ; public string sochungminhthu ; public string sokhau ; public string lddotuoi ; public string ldcongich ; public string diachi ; public string idchinhsach ; public string mota ; public string anh; } }

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

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