1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Xây dựng phần mềm quản lý triển khai hợp đồng cho công ty cổ phần phần mềm bravo

79 130 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 79
Dung lượng 2,44 MB

Nội dung

LỜI CẢM ƠN Qua trình học tập rèn luyện đại học Thương mại, với giảng dạy thầy cô trường Đại học Thương Mại nói chung thầy khoa Hệ thống thơng tin kinh tế Thương mại điện tử nói riêng em có kiến thức đại cương kiến thức chuyên ngành chuyên ngành quản trị hệ thống thông tin Trong thời gian thực tập Công ty Cổ phần Phần mềm Bravo em có hội vận dụng kiến thức học vào thực tế doanh nghiệp đồng thời tích lũy kinh nghiệm cho thân Từ đó, em hồn thành khóa luận tốt nghiệp Để hồn thiện để tài này, em xin gửi lời cảm ơn chân thành đến cô Ths.Đỗ Thị Thu Hiền tận tình giúp đỡ tạo điều kiện tốt cho em trình thực đề tài Đồng thời em xin chân thành cảm ơn anh/chị nhân viên công ty Cổ phần Phần mềm Bravo nhiệt tình giúp đỡ em trình tìm hiểu cơng ty giúp cho em có định hướng trong cơng việc hồn thành khóa luận Do hạn chế lực thời gian nên khóa luận em nhiều thiếu sót Kính mong thầy góp ý để khóa luận em hoàn thiện Em xin chân thành cảm ơn! 1 MỤC LỤC 2 DANH MỤC BẢNG BIỂU, SƠ ĐỒ, HÌNH VẼ DANH MỤC BẢNG DANH MỤC HÌNH 3 DANH MỤC TỪ VIẾT TẮT Từ viết tắt BGĐ CBNV CBQLHD CBTK CBUQ CNTT CRM CSDL ER HĐ HTTT LAN SCM SQL TBKT TNHH TPTK TSCD Nghĩa tiếng Việt Ban giám đốc Cán nhân viên Cán quản lý hợp đồng Cán triển khai Cán ủy quyền Công nghệ thông tin Quản lý quan hệ khách hàng Cơ sở liệu Mơ hình thực thể kết hợp Hợp đồng Hệ thống thông tin Mạng máy tính nội Quản lý chuỗi cung ứng Ngơn ngữ truy vấn tính cấu trúc Trưởng ban kỹ thuật Trách nhiệm hữu hạn Trưởng phòng triển khai Tài sản cố định Nghĩa tiếng Anh Customer Relationship Managemant Entity Relationship model Local Area Network Supply Chain Management PHẦN MỞ ĐẦU Hiện nay, hệ thống thông tin ngày trở nên phổ biến vấn đề mà doanh nghiệp đặc biệt quan tâm Việc ứng dụng công nghệ thơng tin có ý nghĩa vơ to lớn , không mang lại hiệu qủa cao trình hoạt động mà thể vị doanh nghiệp, khẳng định phát triển doanh nghiệp Khơng vậy, coi cách mạng doanh nghiệp tin học hóa trình kinh doanh, sản xuất mình, bắt kịp xu hướng thực công việc quản lý, quản trị cách hiệu Trong suốt thời gian năm học Khoa Hệ Thống Thông Tin Kinh Tế Đại học Thương Mại em tiếp xúc tìm hiểu kiến thức HTTT Qúa trình thực tập Cơng ty Cổ phần Phần mềm Bravo hội để em vận dụng kiến thức học vào thực tiễn Em nhận thấy, công ty phần mềm, Bravo sớm ứng dụng HTTT vào trình hoạt động Nhưng phát triển nhanh chóng cơng ty năm gần đây, số lượng hợp đồng triển khai ngày nhiều hơn, phức tạp khó kiểm sốt khiến phần mềm dùng không đáp ứng hết nhu cầu công việc TẦM QUAN TRỌNG, Ý NGHĨA CỦA VẤN ĐỀ NGHIÊN CỨU Hiện nay, với phát triển nhanh chóng CNTT việc ứng dụng HTTT vấn đề nhiều người quan tâm Bất kể ngành nghề hay lĩnh vực cần ứng dụng HTTT để giúp cho việc quản lý nâng cao hiệu công việc Một HTTT gồm nhiều thành phần như: phần cứng, phần mềm, mạng, liệu, người phần mềm ứng dụng quan tâm Ở Việt Nam nay, lĩnh vực phần mềm phát triển tương đối mạnh mẽ dẫn đến việc sử dụng phần mềm phục vụ cho trình hoạt động trở nên phổ biến Bên cạnh phần mềm ứng dụng phổ biến Word, Excel, Skype, Teamviev hay phần mềm CRM, SCM có nhiều cơng ty phần mềm cung cấp doanh nghiệp cần có phần mềm đặc thù riêng, phù hợp với quy trình hoạt động doanh nghiệp, giúp họ làm việc quản lý có hiệu Là cơng ty phần mềm với sản phẩm phần mềm BRAVO ERP – VN Ngồi việc sử dụng sản phẩm phần mềm khác Skype, Teamview Bravo phải sử dụng thêm phần mềm khác để quản lý hoạt động công ty như: tìm kiếm khách hàng, ký kết hợp đồng, trình triển khai hợp đồng bảo hành, trình xây dựng phát triển phần mềm Hai năm trở lại (2016 2017), Bravo có mức tăng trưởng nóng (150%), sản phẩm Bravo ngày doanh nghiệp, tổ chức tin dùng nhiều Chính vậy, sản phẩm liên tục đời, số hợp đồng triển khai tăng lên nhanh chóng khiến cho việc quản lý khó khăn Mặc dù việc triển khai hợp đồng quản lý phần mềm quản lý chung công ty (BRAVOMAN) chưa đáp ứng nhu cầu tương lai nhân viên Với tình hình tăng trưởng với quan trọng việc quản lý trình triển khai phần mềm cũ đáp ứng tất nhu cầu người dùng, công ty nên nhanh chóng xây dựng phần mềm chuyên quản lý triển khai hợp đồng để quản lý công việc chi tiết chặt chẽ Với lý trên, em định lựa chọn đề tài: “Xây dựng phần mềm quản lý triển khai hợp đồng cho công ty cổ phần phần mềm Bravo” MỤC TIÊU VÀ NHIỆM VỤ NGHIÊN CỨU 2.1 Mục tiêu nghiên cứu Mục tiêu nghiên cứu đề tài tìm hiểu lý thuyết vấn đề nghiên cứu, phân tích, đánh giá thực trạng phần mềm quản lý triển khai hợp đồng công ty cổ phần phần mềm Bravo từ định hướng phát triển đề xuất giải pháp cho cơng ty Nghiên cứu tốn quản lý triển khai hợp đồng cho khách hàng công ty cổ phần phần mềm Bravo để thiết kế xây dựng phần mềm quản lý triển khai hợp đồng nhằm hỗ cơng tác quản lý q trình triển khai hợp đồng cho khách hàng tạo công ty Phần mềm đạt mục tiêu sau: - Quản lý danh mục sản phẩm, Phòng ban, Nhân viên - Quản lý phân bổ hợp đồng - Quản lý triển khai: Bao gồm quản lý công việc, tài liệu làm việc, quản lý giao dịch test trình triển khai, hợp đồng chuyển bảo hành - Quản lý toán khách hàng - Báo cáo 2.1 Nhiệm vụ nghiên cứu Để thực mục tiêu đề tài, khóa luận cần tìm hiểu làm rõ vấn đề sau - Các vấn đề liên quan đến quy trình triển khai công ty Cổ phần Phần mềm Bravo - Tìm hiểu thực trạng ưu, nhược điểm việc sử dụng phần mềm để quản lý - hoạt động triển khai công ty Xây dựng phần mềm quản lý triển khai hợp đồng cho công ty cổ phần phần mềm Bravo ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU - Đối tượng nghiên cứu: Phần mềm quản lý triển khai hợp đồng công ty Cổ phần Phần mềm Bravo - Phạm vi nghiên cứu: + Phạm vi thời gian: Bài nghiên cứu sử dụng liệu, tìm hiểu thơng tin quy trình triển khai công ty năm trở lại (từ năm 2015 đến nay) + Phạm vi không gian: Phần mềm quản lý triển khai hợp đồng sử dụng tài trụ sở ( Hà Nội) chi nhánh (Đà Nẵng, Hồ Chí Minh) Cơng ty Cổ phần Phần mềm Bravo, quy trình triển khai hợp đồng công ty Cổ phần Phần mềm Bravo PHƯƠNG PHÁP NGHIÊN CỨU 4.1 Phương pháp thu thập liệu - Thu thập liệu thứ cấp: Những thông tin, liệu sử dụng thu thập từ viết, cơng trình thơng qua mạng Internet; website công ty Cổ phần Phần mềm Bravo (bravo.com.vn); tài liệu, báo cáo kết sản xuất kinh doanh thu thập từ phòng Quản lý Tổng hợp công ty Cổ phần Phần mềm Bravo - Thu thập liệu sơ cấp: +Phương pháp vấn trực tiếp: Là phương pháp dựa vào tiếp xúc trực tiếp người vấn đối tượng vấn Phương pháp ngày trở nên phổ biến phương tiện thuận tiện để thu thập thông tin + Phương pháp phát phiếu điều tra: Thiết kế phiếu điều tra phát cho nhân viên công ty, dựa vào phiếu điều tra để tổng hợp thông tin + Phương pháp nghiên cứu tài liệu: Sau nắm quy trình xử lý đặc điểm thực tế công ty Sử dụng kiến thức học kết hợp với việc tìm hiểu lý thuyết liên quan đến đề tài nghiên cứu bao gồm: Lý thuyết C#, SQL Từ em tìm cách thức, thuật tốn để xây dựng chức phần mềm 4.2 Phương pháp xử lý liệu - Sau thu thập đầy đủ thông tin, tiến hành tổng hợp, phân tích xử lý thơng tin thơng qua phần mềm bảng tính Excel.Tiến hành phân tích, tổng hợp liệu thông qua kết vấn phiếu điều tra nhằm chọn thơng tin phù hợp với mục đích sử dụng vấn đề nghiên cứu - Phương pháp phân tích thiết kế: Việc phân tích thiết kế phần mềm quản lý triển khai hợp đồng tiến hàng theo phương pháp hướng đối tượng - Phương pháp lập trình xây dựng chương trình: Thơng qua ngơn ngữ lập trình C# mơi trường Visual Studio 2010, hệ quản trị sở liệu SQL Server 2008 Từ liệu thu thập tiến hành phân tích, thiết kế phần mềm theo hướng đối tượng Sau tiến hành thiết kế sở liệu hệ quản trị sở liệu SQL Server 2008 Sau trình thiết kế giao diện, thực xây dựng chương trình ngơn ngữ lập trình C# mơi trường lập trình Visual Studio 2010 KẾT CẤU KHĨA LUẬN Ngồi lời cảm ơn, phần mở đầu, khóa luận gồm chương: Chương 1: CƠ SỞ LÝ LUẬN CỦA VẤN ĐỀ NGHIÊN CỨU Chương 2: KẾT QUẢ PHÂN TÍCH, ĐÁNH GIÁ THỰC TRẠNG PHẦN MỀM QUẢN LÝ TRIỂN KHAI HỢP ĐỒNG TẠI CÔNG TY CỔ PHẦN PHẦN MỀM BRAVO Chương 3: ĐỊNH HƯỚNG PHÁT TRIỂN VÀ ĐỀ XUẤT GIẢI PHÁP XÂY DỰNG PHẦN MỀM QUẢN LÝ TRIỂN KHAI HỢP ĐỒNG TẠI CÔNG TY CỔ PHẦN PHẦN MỀM BRAVO Chương CƠ SỞ LÝ LUẬN CỦA VẤN ĐỀ NGHIÊN CỨU 1.1 NHỮNG KHÁI NIỆM CƠ BẢN 1.1.1 Khái niệm phần mềm Phần mềm máy tính (Tiếng Anh: Computer Software) hay gọi tắt phần mềm (Software) định nghĩa sau Phần mềm (Software) tập hợp câu lệnh thị viết nhiều ngơn ngữ lập trình theo trình tự xác định nhằm tự động thực số chức giúp ích cho nghiệp vụ doanh nghiệp, công ty (Nguồn: Bài giảng Công nghệ phần mềm, Trường Đại học Thương Mại) 1.1.2 Khái niệm phần mềm quản lý triển khai hợp đồng Phần mềm quản lý triển khai hợp đồng phần mềm cho phép người dùng quản lý trình triển khai hợp đồng triển khai phần mềm, dùng doanh nghiệp kinh doanh phần mềm Phần mềm quản lý triển khai hợp đồng mang đến chức cho người sử dụng theo dõi thông tin hợp đồng, người quản lý thực hợp đồng, nội dung yêu cầu, tiến độ triển khai hợp đồng, lịch làm việc q trình tốn khách hàng Giúp doanh nghiệp quản lý chi tiết chặt chẽ trình triển khai nhân viên triển khai theo dõi công việc để có kế hoạch điều chỉnh cụ thể Một khái niện tương tự phần mềm quản lý dự án, phần mềm quản lý việc thực triển khai dự án Trong phần mềm quản lý triển khai hợp đồng quản lý việc triển khai hợp đồng nhỏ hợp đồng lớn coi dự án (Nguồn: Tử Quang Phương (2014), Giáo trình Quản lý dự án, Nhà xuất Đại học kinh tế quốc dân) Trong phạm vi đề tài, em xin đề cập đến phần mềm quản lý triển khai hợp đồng lĩnh vực triển khai phần mềm 1.1.3 SQL Server, ngôn ngữ SQL SQL Server viết tắt Structure Query Language Server, công cụ quản lý liệu sử dụng phổ biến nhiều lĩnh vực Hầu hết ngơn ngữ bậc cao có trình hỗ trợ SQL Visual BaSic,Oracle,Visual C… Ngôn ngữ SQL ngơn ngữ máy tính dùng để tạo, chỉnh sửa, truy vấn liệu từ hệ quản trị sở liệu SQL cho phép người dùng thực nhiệm vụ cách dễ dàng, với cấu trúc cú pháp lệnh đơn giản dễ học SQL ngơn ngữ có tính chuyển dịch cao, ngôn ngữ tuân theo chuẩn xác định nên người dùng sử dụng cấu trúc cú pháp lệnh họ chuyển từ hệ quản trị sở liệu sang hệ quản trị sở liệu khác (Nguồn:Giáo trình Cơ sở liệu 1, Trường Đại học Thương Mại) 1.1.4 Visual studio, ngơn ngữ lập trình C# Microsoft Visual Studio mơi trường phát triển tích hợp (IDE) từ Microsoft Nó sử dụng để phát triển chương trình máy tính cho Microsoft Windows, trang web, ứng dụng web dịch vụ web Visual Studio sử dụng tảng phát triển phần mềm Microsoft Windows API, Windows Forms, Windows Presentation Foundation, Windows Store Microsoft Silverlight Nó sản xuất hai ngôn ngữ máy mã số quản lý C# (đọc "C thăng" hay "C sharp" ("xi-sáp")) ngơn ngữ lập trình đại, hướng đối tượng phát triển Microsoft, phần khởi đầu cho kế hoạch NET họ Tên ngôn ngữ bao gồm ký tự thăng theo Microsoft theo ECMA C#, bao gồm dấu số thường Microsoft phát triển C# dựa C++ Java C# miêu tả ngơn ngữ có cân C++, Visual Basic, Delphi Java C# với hỗ trợ mạnh mẽ NET Framework giúp cho việc tạo ứng dụng Windows Forms hay WPF (Windows Presentation Foundation), trở nên dễ dàng (Nguồn: Nguyễn Ngọc Bình Phương, Các giải pháp lập trình C#, Nhà xuất giao thông vận tải) 1.2 MỘT SỐ LÝ THUYẾT VỀ VẤN ĐỀ NGHIÊN CỨU 1.2.1 Quy trình xây dựng phần mềm Phần mềm xây dựng theo quy trình: Phân tích đặc tả yêu cầu phần mềm-> Thiết kế phần mềm -> Lập trình -> Kiểm thử -> Cài đặt phần mềm -> Vận hành Bảo trì phần mềm Hình 1.1 Quy trình xây dựng phần mềm (Nguồn: Bài giảng Công nghệ phần mềm, Trường Đại học Thương Mại) - Phân tích đặc tả yêu cầu phần mềm: Phân tích đặc tả yêu cầu khâu kỹ thuật trình xây dựng phần mềm Ở bước cần phải xác định 10 SqlCommand command = new SqlCommand(); command.CommandType = CommandType.Text; command.CommandText = "select * from PhongBan"; command.Connection = conn; SqlDataReader reader = command.ExecuteReader();//đọc csdl CboMaPb.Items.Clear(); while (reader.Read()) { string MaPb = reader.GetString(0); CboMaPb.Items.Add(MaPb); } reader.Close(); } private void dsnv_RowEnter(object sender, DataGridViewCellEventArgs e) { int dong = e.RowIndex; TextMaNV.Text = dsnv.Rows[dong].Cells[0].Value.ToString(); TextTenNV.Text = dsnv.Rows[dong].Cells[1].Value.ToString(); DtNgaysinh.Text = dsnv.Rows[dong].Cells[2].Value.ToString(); CboGioitinh.Text = dsnv.Rows[dong].Cells[3].Value.ToString(); TextDiachi.Text = dsnv.Rows[dong].Cells[4].Value.ToString(); TextSDT.Text = dsnv.Rows[dong].Cells[5].Value.ToString(); TextChucvu.Text = dsnv.Rows[dong].Cells[6].Value.ToString(); CboMaPb.Text = dsnv.Rows[dong].Cells[7].Value.ToString(); } private void ButtonThem_Click(object sender, EventArgs e) { try { if (TextMaNV.Text == "") { MessageBox.Show("Không để trống mã nhân viên"); return; } if (TextTenNV.Text == "") { MessageBox.Show("Không để trống tên nhân viên"); return; } // Khai báo khởi tạo đối tượng Command, truyền vào câu lệnh tương ứng SqlCommand cmdThem = new SqlCommand("INSERT INTO NhanVien VALUES(@MaNv,@TenNv,@NgaySinh, @GioiTinh, @DiaChi, @SĐT, @ChucVu, @MaPb)", conn); // Khai báo gán giá trị cho tham số đầu vào câu lệnh SqlParameter a = new SqlParameter("@MaNv", TextMaNV.Text); cmdThem.Parameters.Add(a); SqlParameter b = new SqlParameter("@TenNv", TextTenNV.Text); cmdThem.Parameters.Add(b); SqlParameter c = new SqlParameter("@NgaySinh", DtNgaysinh.Value); cmdThem.Parameters.Add(c); SqlParameter d = new SqlParameter("@GioiTinh", CboGioitinh.Text); cmdThem.Parameters.Add(d); SqlParameter f = new SqlParameter("@DiaChi", TextDiachi.Text); cmdThem.Parameters.Add(f); SqlParameter g = new SqlParameter("@SĐT", TextSDT.Text); cmdThem.Parameters.Add(g); SqlParameter h = new SqlParameter("@ChucVu", TextChucvu.Text); cmdThem.Parameters.Add(h); SqlParameter i = new SqlParameter("@MaPb", CboMaPb.Text); cmdThem.Parameters.Add(i); int count = cmdThem.ExecuteNonQuery(); if (count > 0) { MessageBox.Show("Thêm thành công"); Hienthi(); } else MessageBox.Show("Không thể thêm mới"); } catch { MessageBox.Show("Lỗi: Bạn thêm mã nhân viên có thông tin nhập ký tự cho phép"); Hienthi(); } } private void buttonThoat_Click(object sender, EventArgs e) { TrangChu QLTK = new TrangChu(); QLTK.Show(); Visible = false; } private void ButtonSua_Click(object sender, EventArgs e) { try { if (TextMaNV.Text == "") { MessageBox.Show("Không sửa để trống mã nhân viên"); return; } if (TextTenNV.Text == "") { MessageBox.Show("Không sửa để trống tên nhân viên"); return; } SqlCommand cmdSua = new SqlCommand("UPDATE NhanVien SET TenNv=@TenNv, NgaySinh=convert(nvarchar(15),@NgaySinh,110), GioiTinh=@GioiTinh, DiaChi=@DiaChi, SĐT=@SĐT, ChucVu=@ChucVu, MaPb=@MaPb WHERE MaNv=@MaNv", conn); // Khai báo gán giá trị cho tham số đầu vào câu lệnh SqlParameter a = new SqlParameter("@MaNv", TextMaNV.Text); cmdSua.Parameters.Add(a); SqlParameter b = new SqlParameter("@TenNv", TextTenNV.Text); cmdSua.Parameters.Add(b); SqlParameter c = new SqlParameter("@NgaySinh", DtNgaysinh.Value); cmdSua.Parameters.Add(c); SqlParameter d = new SqlParameter("@GioiTinh", CboGioitinh.Text); cmdSua.Parameters.Add(d); SqlParameter f = new SqlParameter("@DiaChi", TextDiachi.Text); cmdSua.Parameters.Add(f); SqlParameter g = new SqlParameter("@SĐT", TextSDT.Text); cmdSua.Parameters.Add(g); SqlParameter h = new SqlParameter("@ChucVu", TextChucvu.Text); cmdSua.Parameters.Add(h); SqlParameter i = new SqlParameter("@MaPb", CboMaPb.Text); cmdSua.Parameters.Add(i); int count = cmdSua.ExecuteNonQuery(); if (count > 0) { MessageBox.Show("Sửa thành công"); Hienthi(); } else MessageBox.Show("Không sửa thông tin này!"); } catch { MessageBox.Show("Thông tin sửa không hợp lệ"); } } private void ButtonXoa_Click(object sender, EventArgs e) { try { if (MessageBox.Show("Bạn có chắn mn xóa ghi chọn khơng?", "Thơng báo", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { SqlCommand cmdXoa = new SqlCommand("DELETE NhanVien WHERE MaNv=@MaNv", conn); SqlParameter a = new SqlParameter("@MaNv", TextMaNV.Text); cmdXoa.Parameters.Add(a); int count = cmdXoa.ExecuteNonQuery(); if (count > 0) { MessageBox.Show("Xóa thành cơng"); Hienthi(); } else MessageBox.Show("Khơng tìm thấy thơng tin cần xóa!"); } } catch { MessageBox.Show("Khơng xóa thơng tin này"); } } private void ButtonTimKiem_Click(object sender, EventArgs e) { SqlCommand cmdTk = new SqlCommand("select*from NhanVien where MaNv like '%' +@MaNv+ '%' and TenNv like '%' +@TenNv+ '%' and GioiTinh like '%' +@GioiTinh+ '%' and DiaChi like '%' +@DiaChi+ '%' and SĐT like '%' +@SĐT+ '%' and ChucVu like '%' +@ChucVu+ '%' and MaPb like '%' +@MaPb+ '%'", conn); // Khai báo gán giá trị cho tham số đầu vào câu lệnh SqlParameter a = new SqlParameter("@MaNv", TextMaNV.Text); cmdTk.Parameters.Add(a); SqlParameter b = new SqlParameter("@TenNv", TextTenNV.Text); cmdTk.Parameters.Add(b); SqlParameter c = new SqlParameter("@NgaySinh", DtNgaysinh.Value); cmdTk.Parameters.Add(c); SqlParameter d = new SqlParameter("@GioiTinh", CboGioitinh.Text); cmdTk.Parameters.Add(d); SqlParameter f = new SqlParameter("@DiaChi", TextDiachi.Text); cmdTk.Parameters.Add(f); SqlParameter g = new SqlParameter("@SĐT", TextSDT.Text); cmdTk.Parameters.Add(g); SqlParameter h = new SqlParameter("@ChucVu", TextChucvu.Text); cmdTk.Parameters.Add(h); SqlParameter i = new SqlParameter("@MaPb", CboMaPb.Text); cmdTk.Parameters.Add(i); int count = cmdTk.ExecuteNonQuery(); SqlDataReader dr = cmdTk.ExecuteReader(); DataTable dt = new DataTable(); dt.Load(dr); dsnv.DataSource = dt; } private void button1_Click(object sender, EventArgs e) { Hienthi(); } } } -Form Chi tiết hợp đồng ( chi tiết phân bổ hợp đồng) using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Data.SqlClient; namespace QLTK { public partial class CTHD : Form { public CTHD() { InitializeComponent(); } string sqlConn = @"Data Source=PC2017062215LIX\SQLEXPRESS;Initial Catalog=QLTK;Integrated Security=True"; SqlConnection conn; SqlDataAdapter adapter = null;//vận chuyển liệu DataSet ds = null; //chứa bảng private void buttonThoat_Click(object sender, EventArgs e) { HD HD = new HD(); HD.Show(); Visible = false; } private void CTHD_Load(object sender, EventArgs e) { // TODO: This line of code loads data into the 'qLTKDataSet.CTHĐ' table You can move, or remove it, as needed this.cTHĐTableAdapter.Fill(this.qLTKDataSet.CTHĐ); Hienthi(); layCboMaHD(); layCboMaPH(); layCboMaNV(); } private void Hienthi() { conn = new SqlConnection(sqlConn); conn.Open(); adapter = new SqlDataAdapter("select * from CTHĐ", conn); SqlCommandBuilder buider = new SqlCommandBuilder(adapter); ds = new DataSet(); adapter.Fill(ds, "CTHĐ"); dscthd.DataSource = ds.Tables[0] } private void layCboMaHD() { conn = new SqlConnection(sqlConn); conn.Open(); SqlCommand command = new SqlCommand(); command.CommandType = CommandType.Text; command.CommandText = "select * from HopDong"; command.Connection = conn; SqlDataReader reader = command.ExecuteReader();//đọc csdl CboMaHD.Items.Clear(); while (reader.Read()) { string MaHd = reader.GetString(0); CboMaHD.Items.Add(MaHd);\ } reader.Close(); } private void layCboMaPH() { conn = new SqlConnection(sqlConn); conn.Open(); SqlCommand command = new SqlCommand(); command.CommandType = CommandType.Text; command.CommandText = "select * from SanPham"; command.Connection = conn; SqlDataReader reader = command.ExecuteReader();//đọc csdl CboMaPH.Items.Clear(); while (reader.Read()) { string MaPh = reader.GetString(0); CboMaPH.Items.Add(MaPh); } reader.Close(); } private void layCboMaNV() { conn = new SqlConnection(sqlConn); conn.Open(); SqlCommand command = new SqlCommand(); command.CommandType = CommandType.Text; command.CommandText = "select * from NhanVien"; command.Connection = conn; SqlDataReader reader = command.ExecuteReader();//đọc csdl CboMaNV.Items.Clear(); while (reader.Read()) { string MaNv = reader.GetString(0); CboMaNV.Items.Add(MaNv); } reader.Close(); } private void dscthd_RowEnter(object sender, DataGridViewCellEventArgs e) { int dong = e.RowIndex; CboMaHD.Text = dscthd.Rows[dong].Cells[0].Value.ToString(); CboMaPH.Text = dscthd.Rows[dong].Cells[1].Value.ToString(); CboMaNV.Text = dscthd.Rows[dong].Cells[2].Value.ToString(); TextGiaTri.Text = dscthd.Rows[dong].Cells[3].Value.ToString(); } private void button1_Click(object sender, EventArgs e) { Hienthi(); } private void ButtonThem_Click(object sender, EventArgs e) { try { if (CboMaHD.Text == "") { MessageBox.Show("Không để trống mã hợp đồng"); return; } if (CboMaPH.Text == "") { MessageBox.Show("Không để trống mã phân hệ"); return; } if (CboMaNV.Text == "") { MessageBox.Show("Không để trống mã nhân viên"); return; } if (TextGiaTri.Text == "") { MessageBox.Show("Bạn chưa nhập giá trị"); return; } // Khai báo khởi tạo đối tượng Command, truyền vào câu lệnh tương ứng SqlCommand cmdThem = new SqlCommand("INSERT INTO CTHĐ VALUES(@MaHd, @MaPh, @MaNvth, @GiaTri)", conn); // Khai báo gán giá trị cho tham số đầu vào câu lệnh SqlParameter a = new SqlParameter("@MaHd", CboMaHD.Text); cmdThem.Parameters.Add(a); SqlParameter b = new SqlParameter("@MaPh", CboMaNV.Text); cmdThem.Parameters.Add(b); SqlParameter c = new SqlParameter("@MaNvth", CboMaPH.Text); cmdThem.Parameters.Add(c); SqlParameter d = new SqlParameter("@GiaTri", TextGiaTri.Text); cmdThem.Parameters.Add(d); int count = cmdThem.ExecuteNonQuery(); if (count > 0) { MessageBox.Show("Thêm thành công"); Hienthi(); } else MessageBox.Show("Không thể thêm mới"); } catch { MessageBox.Show("Lỗi: Bạn thêm thơng tin có thơng tin nhập ký tự cho phép"); Hienthi(); } } private void ButtonSua_Click(object sender, EventArgs e) { try { if (CboMaHD.Text == "") { MessageBox.Show("Không để trống mã hợp đồng"); return; } if (CboMaPH.Text == "") { MessageBox.Show("Không để trống mã phân hệ"); return; } if (CboMaNV.Text == "") { MessageBox.Show("Không để trống mã nhân viên"); return; } if (TextGiaTri.Text == "") { MessageBox.Show("Bạn chưa nhập giá trị"); return; } SqlCommand cmdSua = new SqlCommand("UPDATE CTHĐ SET MaNvth=@MaNvth, GiaTri=@GiaTri WHERE MaHd=@MaHd and MaPh=@MaPh", conn); // Khai báo gán giá trị cho tham số đầu vào câu lệnh SqlParameter a = new SqlParameter("@MaHd", CboMaHD.Text); cmdSua.Parameters.Add(a); SqlParameter b = new SqlParameter("@MaPh", CboMaNV.Text); cmdSua.Parameters.Add(b); SqlParameter c = new SqlParameter("@MaNvth", CboMaPH.Text); cmdSua.Parameters.Add(c); SqlParameter d = new SqlParameter("@GiaTri", TextGiaTri.Text); cmdSua.Parameters.Add(d); int count = cmdSua.ExecuteNonQuery(); if (count > 0) { MessageBox.Show("Sửa thành công"); Hienthi(); } else MessageBox.Show("Thông tin sửa không có!"); } catch { MessageBox.Show("Thơng tin sửa khơng hợp lệ"); } } private void ButtonXoa_Click(object sender, EventArgs e) { try { if (MessageBox.Show("Bạn có chắn mn xóa ghi chọn không?", "Thông báo", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { SqlCommand cmdXoa = new SqlCommand("DELETE CTHĐ WHERE MaHd=@MaHd and MaPh=@MaPh", conn); SqlParameter a = new SqlParameter("@MaHd", CboMaHD.Text); cmdXoa.Parameters.Add(a); SqlParameter b = new SqlParameter("@MaPh", CboMaNV.Text); cmdXoa.Parameters.Add(b); int count = cmdXoa.ExecuteNonQuery(); if (count > 0) { MessageBox.Show("Xóa thành cơng"); Hienthi(); } else MessageBox.Show("Khơng tìm thấy thơng tin cần xóa!"); } } catch { MessageBox.Show("Khơng xóa thơng tin này"); } } private void ButtonTimKiem_Click(object sender, EventArgs e) { SqlCommand cmdTk = new SqlCommand("select*from CTHĐ where MaHd like '%' +@MaHd+ '%' and MaPh like '%' +@MaPh+ '%' and MaNvth like '%' +@MaNvth+ '%' and GiaTri like '%' +@GiaTri+ '%'", conn); // Khai báo gán giá trị cho tham số đầu vào câu lệnh SqlParameter a = new SqlParameter("@MaHd", CboMaHD.Text); cmdTk.Parameters.Add(a); SqlParameter b = new SqlParameter("@MaPh", CboMaNV.Text); cmdTk.Parameters.Add(b); SqlParameter c = new SqlParameter("@MaNvth", CboMaPH.Text); cmdTk.Parameters.Add(c); SqlParameter d = new SqlParameter("@GiaTri", TextGiaTri.Text); cmdTk.Parameters.Add(d); cmdTk.ExecuteNonQuery(); SqlDataReader dr = cmdTk.ExecuteReader(); DataTable dt = new DataTable(); dt.Load(dr); dscthd.DataSource = dt; } } } -Form Báo cáo using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace QLTK { public partial class BaoCao : Form { public BaoCao() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { BCHopDong BCHopDong = new BCHopDong(); BCHopDong.Show(); Visible = false; } private void button2_Click(object sender, EventArgs e) { BCNhanVien BCNhanVien = new BCNhanVien(); BCNhanVien.Show(); Visible = false; } private void button3_Click(object sender, EventArgs e) { TrangChu QLTK = new TrangChu(); QLTK.Show(); Visible = false; } } } -Form Báo cáo tình trạng công việc theo hợp đồng Thủ tục SQL CREATE PROC usp_BCHD @MaHd VARCHAR(10) AS BEGIN SELECT GiaiDoan, TenLCv, TenCv, MaNv, MaHd, NgayBd, NgayKt, KetQua FROM ( SELECT '' AS GiaiDoan, lcv.TenLCv AS TenLCv, cv.TenCv AS TenCv, cv.MaNv AS MaNv, cv.MaHd AS MaHd, CONVERT (NVARCHAR(15),cv.NgayBd,103) AS NgayBd, CONVERT(NVARCHAR(15),cv.NgayKt,103) AS NgayKt, cv.KetQua AS KetQua, lcv.GiaiDoan as SX FROM CongViec cv INNER JOIN LoaiCongViec lcv ON cv.MaLCv=lcv.MaLCv WHERE cv.MaHd LIKE '%'+@MaHd+'%' UNION ALL SELECT MAX(GiaiDoan) AS GiaiDoan, '' AS TenLCv, '' AS TenCv, ''AS MaNv, '' AS MaHd,'' AS NgayBd, '' AS NgayKt, '' AS KetQua, GiaiDoan AS SX FROM LoaiCongViec GROUP BY GiaiDoan ) TH ORDER BY SX, GiaiDoan DESC END Code báo cáo using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Data.SqlClient; using Microsoft.Reporting.WinForms; namespace QLTK { public partial class BCHopDong : Form { public BCHopDong() { InitializeComponent(); } string sqlConn = @"Data Source=PC2017062215LIX\SQLEXPRESS;Initial Catalog=QLTK;Integrated Security=True"; SqlConnection conn; SqlDataAdapter adapter = null;//vận chuyển liệu DataSet ds = null; //chứa bảng //list lên ô text private void layCboMaHD() { conn = new SqlConnection(sqlConn); conn.Open(); SqlCommand command = new SqlCommand(); command.CommandType = CommandType.Text; command.CommandText = "select * from HopDong"; command.Connection = conn; SqlDataReader reader = command.ExecuteReader();//đọc csdl CboMaHD.Items.Clear(); while (reader.Read()) { string MaHd = reader.GetString(0); CboMaHD.Items.Add(MaHd); } reader.Close(); } private void btnBC_Click(object sender, EventArgs e) { SqlConnection = new SqlConnection(); con.ConnectionString = Properties.Settings.Default.QLTKConnectionString; SqlCommand cmd = new SqlCommand(); cmd.CommandText="usp_BCHD"; cmd.CommandType= CommandType.StoredProcedure; cmd.Connection= con; cmd.Parameters.Add(new SqlParameter("@MaHd",CboMaHD.Text)); DataSet ds = new DataSet(); SqlDataAdapter dap = new SqlDataAdapter(cmd); dap.Fill(ds); layCboMaHD(); RptBCHD.ProcessingMode= ProcessingMode.Local; RptBCHD.LocalReport.ReportPath="RptBCHD.rdlc"; if(ds.Tables[0].Rows.Count >0) { ReportDataSource rds = new ReportDataSource(); rds.Name="DataSetbc"; rds.Value=ds.Tables[0]; RptBCHD.LocalReport.DataSources.Clear(); RptBCHD.LocalReport.DataSources.Add(rds); RptBCHD.RefreshReport(); } } private void btnThoat_Click(object sender, EventArgs e) { BaoCao BaoCao = new BaoCao(); BaoCao.Show(); Visible = false; } } } ... TRẠNG PHẦN MỀM QUẢN LÝ TRIỂN KHAI HỢP ĐỒNG TẠI CÔNG TY CỔ PHẦN PHẦN MỀM BRAVO Chương 3: ĐỊNH HƯỚNG PHÁT TRIỂN VÀ ĐỀ XUẤT GIẢI PHÁP XÂY DỰNG PHẦN MỀM QUẢN LÝ TRIỂN KHAI HỢP ĐỒNG TẠI CÔNG TY CỔ PHẦN... phần mềm quản lý triển khai hợp đồng công ty Cổ phần Phần mềm BRAVO Qua câu hỏi chung việc sử dụng phần mềm công ty Cổ phần Phần mềm Bravo, nhận thấy công ty gặp khó khăn việc quản lý triển khai. .. phần mềm, Trường Đại học Thương Mại) 1.1.2 Khái niệm phần mềm quản lý triển khai hợp đồng Phần mềm quản lý triển khai hợp đồng phần mềm cho phép người dùng quản lý trình triển khai hợp đồng triển

Ngày đăng: 15/01/2020, 09:22

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w