protected override void OnPreRender(EventArgs e) { base.OnPreRender(e); DataTable dtUsers; if (CurrentUser.IsAdmin || CurrentUser.IsSuperAdmin) { dtUsers = CommonController.BaoCaoXepLoaiDanhGiaCaNhanThang(ConvertUtility.ToInt32(dropDotDanhGia.SelectedValue), ConvertUtility.ToInt32(dropTrungTam.SelectedValue), ConvertUtility.ToInt32(dropPhongBan.SelectedValue), ConvertUtility.ToInt32(dropChucVu.SelectedValue), ConvertUtility.ToInt32(dropTrangThai.SelectedValue)); } else { dtUsers = CommonController.BaoCaoXepLoaiDanhGiaCaNhanThang(ConvertUtility.ToInt32(dropDotDanhGia.SelectedValue), ConvertUtility.ToInt32(dropTrungTam.SelectedValue), ConvertUtility.ToInt32(dropPhongBan.SelectedValue), ConvertUtility.ToInt32(dropChucVu.SelectedValue), ConvertUtility.ToInt32(dropTrangThai.SelectedValue), CurrentUser.UserID); } DataTable dtUsersTemp = new DataTable(); dtUsersTemp.Columns.Add("UserID", typeof(string)); dtUsersTemp.Columns.Add("Bộ phận", typeof(string)); dtUsersTemp.Columns.Add("Họ tên", typeof(string)); dtUsersTemp.Columns.Add("Điểm đánh giá công việc", typeof(string)); dtUsersTemp.Columns.Add("Điểm kỷ luật và văn hóa doanh nghiệp", typeof(string)); dtUsersTemp.Columns.Add("Điểm đồng nghiệp đánh giá", typeof(string)); dtUsersTemp.Columns.Add("Tổng điểm", typeof(string)); dtUsersTemp.Columns.Add("Xếp loại", typeof(string)); BoPhanInfo _BoPhanInfo = BoPhanController.GetInfo(ConvertUtility.ToInt32(dropTrungTam.SelectedValue)); int loaiTrungTam = _BoPhanInfo.Loai; string tenTrungTam = ConvertUtility.ToString(dropTrungTam.SelectedItem.Text); foreach (DataRow item in dtUsers.Rows) { DataSet ds = DotDanhGiaController.DanhGiaCheckPoint_DGCBCNVDanhGia_TongDiemCongThucMoi(ConvertUtility.ToInt32(dropDotDanhGia.SelectedValue), ConvertUtility.ToInt32(item["UserID"])); if (ds != null) { DataRow row = dtUsersTemp.NewRow(); double TongDiemDGCV = 0; double TongDiemDGCV1 = 0; double diemKyLuat = 0; double diemKyLuat1 = 0; double DiemDongNghiepDanhGia = 0; double DiemDongNghiepDanhGia1 = 0; double DiemCLCV = 100; double DiemTDCV = 100; if (ds.Tables[0].Rows.Count > 0) { DiemCLCV = ConvertUtility.ToDouble(ds.Tables[0].Rows[0]["DiemCLCV"].ToString()); DiemTDCV = ConvertUtility.ToDouble(ds.Tables[0].Rows[0]["DiemTDCV"].ToString()); } double DiemDGCV = 0; DataTable dtDotDanhGiaByCheckpoint = DotDanhGiaController.CheckPoint_GetAllDotDanhGiaByCheckpoint(ConvertUtility.ToInt32(dropDotDanhGia.SelectedValue)); int count = 0; foreach (DataRow itemDotDanhGia in dtDotDanhGiaByCheckpoint.Rows) { DataTable dtDiemTB = DotDanhGiaController.CheckPoint_DanhGiaCongViec_GetDiemTB(ConvertUtility.ToInt32(itemDotDanhGia["IDDotDanhGia"]), ConvertUtility.ToInt32(item["UserID"])); if (dtDiemTB != null && dtDiemTB.Rows.Count > 0) { DiemDGCV += ConvertUtility.ToDouble(dtDiemTB.Rows[0]["DiemTB"]); count++; } } DiemDGCV = DiemDGCV / count; if (count == 0) { count = 1; } TongDiemDGCV = (DiemDGCV * 50 / 100) + (DiemCLCV * 10 / 100) + (DiemTDCV * 10 / 100); TongDiemDGCV = Math.Round(TongDiemDGCV, 2, MidpointRounding.AwayFromZero); TongDiemDGCV1 = (((DiemDGCV * 5) + (DiemCLCV) + (DiemTDCV))) / 7; if (ds.Tables[1].Rows.Count > 0) { diemKyLuat = ConvertUtility.ToDouble(ds.Tables[1].Rows[0]["DiemKyLuat"].ToString()); diemKyLuat1 = diemKyLuat; diemKyLuat = diemKyLuat * 20 / 100; diemKyLuat = Math.Round(diemKyLuat, 2, MidpointRounding.AwayFromZero); } if (ds.Tables[2].Rows.Count > 0) { DiemDongNghiepDanhGia = ConvertUtility.ToDouble(ds.Tables[2].Rows[0]["DiemDongNghiepDanhGia"]); if (DiemDongNghiepDanhGia == 0) { DiemDongNghiepDanhGia = 10; DiemDongNghiepDanhGia1 = 100; } else { DiemDongNghiepDanhGia1 = DiemDongNghiepDanhGia; DiemDongNghiepDanhGia = DiemDongNghiepDanhGia * 10 / 100; } DiemDongNghiepDanhGia = Math.Round(DiemDongNghiepDanhGia, 2); } string ten = ""; if (ds.Tables[3].Rows.Count > 0) { ten = ds.Tables[3].Rows[0]["HoTen"].ToString(); } double TongDiem = Math.Round(TongDiemDGCV, 2, MidpointRounding.AwayFromZero); TongDiem += Math.Round(diemKyLuat, 2, MidpointRounding.AwayFromZero); TongDiem += Math.Round(DiemDongNghiepDanhGia, 2, MidpointRounding.AwayFromZero); TongDiem = Math.Round(TongDiem, 2); string xepLoai = GetXepLoai(TongDiem); row["UserID"] = item["UserID"]; row["Bộ phận"] = tenTrungTam; row["Họ tên"] = ten; row["Điểm đánh giá công việc"] = Math.Round(TongDiemDGCV1, 2, MidpointRounding.AwayFromZero); row["Điểm kỷ luật và văn hóa doanh nghiệp"] = Math.Round(diemKyLuat1, 2, MidpointRounding.AwayFromZero); row["Điểm đồng nghiệp đánh giá"] = Math.Round(DiemDongNghiepDanhGia1, 2, MidpointRounding.AwayFromZero); row["Tổng điểm"] = Math.Round(TongDiem, 2, MidpointRounding.AwayFromZero); row["Xếp loại"] = xepLoai; dtUsersTemp.Rows.Add(row); } } //-------sort---------- DataView dv = new DataView(dtUsersTemp); if (ViewState["sortExpression"] != null && ViewState["sortExpression"].ToString() != string.Empty) { dv.Sort = ViewState["sortExpression"].ToString(); } if (ViewState["sortDirection"] != null && ViewState["sortDirection"].ToString() == "Desc") { dv.Sort = ViewState["sortExpression"].ToString() + " " + ViewState["sortDirection"].ToString(); } //--------sort------------- dtgUsers.DataSource = dv; dtgUsers.RowDataBound += new GridViewRowEventHandler(dtgUsers_RowDataBound); dtgUsers.DataBind(); if (dtUsers != null) { lblTotalTop.Text = lblTotalBottom.Text = dtUsers.Rows.Count.ToString(); } }
protected void btnExport_Click(object sender, EventArgs e) { DataTable dtUsersTemp = new DataTable(); dtUsersTemp.Columns.Add("Bộ phận", typeof(string)); dtUsersTemp.Columns.Add("Họ tên", typeof(string)); dtUsersTemp.Columns.Add("Điểm đánh giá công việc", typeof(string)); dtUsersTemp.Columns.Add("Điểm kỷ luật và văn hóa doanh nghiệp", typeof(string)); dtUsersTemp.Columns.Add("Điểm đồng nghiệp đánh giá", typeof(string)); dtUsersTemp.Columns.Add("Tổng điểm", typeof(string)); //dtUsersTemp.Columns.Add("Xếp loại", typeof(string)); BoPhanInfo _BoPhanInfo = BoPhanController.GetInfo(ConvertUtility.ToInt32(dropTrungTam.SelectedValue)); int loaiTrungTam = _BoPhanInfo.Loai; string tenTrungTam = ConvertUtility.ToString(dropTrungTam.SelectedItem.Text); DataTable dtUsers = DotDanhGiaController.GetAllNhanVienInDotDanhGiaExport(ConvertUtility.ToInt32(dropDotDanhGia.SelectedValue), ConvertUtility.ToInt32(dropTrungTam.SelectedValue)); #region ket qua danh gia checkpoint foreach (DataRow item in dtUsers.Rows) { DataSet ds = DotDanhGiaController.DanhGiaCheckPoint_DGCBCNVDanhGia_TongDiemCongThucMoi(ConvertUtility.ToInt32(dropDotDanhGia.SelectedValue), ConvertUtility.ToInt32(item["UserID"])); if (ds != null) { DataRow row = dtUsersTemp.NewRow(); double TongDiemDGCV = 0; double TongDiemDGCV1 = 0; double diemKyLuat = 0; double diemKyLuat1 = 0; double DiemDongNghiepDanhGia = 0; double DiemDongNghiepDanhGia1 = 0; double DiemCLCV = 100; double DiemTDCV = 100; if (ds.Tables[0].Rows.Count > 0) { DiemCLCV = ConvertUtility.ToDouble(ds.Tables[0].Rows[0]["DiemCLCV"].ToString()); DiemTDCV = ConvertUtility.ToDouble(ds.Tables[0].Rows[0]["DiemTDCV"].ToString()); } double DiemDGCV = 0; DataTable dtDotDanhGiaByCheckpoint = DotDanhGiaController.CheckPoint_GetAllDotDanhGiaByCheckpoint(ConvertUtility.ToInt32(dropDotDanhGia.SelectedValue)); int count = 0; foreach (DataRow itemDotDanhGia in dtDotDanhGiaByCheckpoint.Rows) { DataTable dtDiemTB = DotDanhGiaController.CheckPoint_DanhGiaCongViec_GetDiemTB(ConvertUtility.ToInt32(itemDotDanhGia["IDDotDanhGia"]), ConvertUtility.ToInt32(item["UserID"])); if (dtDiemTB != null && dtDiemTB.Rows.Count > 0) { DiemDGCV += ConvertUtility.ToDouble(dtDiemTB.Rows[0]["DiemTB"]); count++; } } DiemDGCV = DiemDGCV / count; if (count == 0) { count = 1; } TongDiemDGCV = (DiemDGCV * 50 / 100) + (DiemCLCV * 10 / 100) + (DiemTDCV * 10 / 100); TongDiemDGCV1 = (((DiemDGCV * 5) + (DiemCLCV) + (DiemTDCV))) / 7; TongDiemDGCV = Math.Round(TongDiemDGCV, 2, MidpointRounding.AwayFromZero); if (ds.Tables[1].Rows.Count > 0) { diemKyLuat = ConvertUtility.ToDouble(ds.Tables[1].Rows[0]["DiemKyLuat"].ToString()); diemKyLuat1 = diemKyLuat; diemKyLuat = diemKyLuat * 20 / 100; diemKyLuat = Math.Round(diemKyLuat, 2, MidpointRounding.AwayFromZero); } if (ds.Tables[2].Rows.Count > 0) { DiemDongNghiepDanhGia = ConvertUtility.ToDouble(ds.Tables[2].Rows[0]["DiemDongNghiepDanhGia"]); if (DiemDongNghiepDanhGia == 0) { DiemDongNghiepDanhGia = 10; DiemDongNghiepDanhGia1 = 100; } else { DiemDongNghiepDanhGia1 = DiemDongNghiepDanhGia; DiemDongNghiepDanhGia = DiemDongNghiepDanhGia * 10 / 100; } DiemDongNghiepDanhGia = Math.Round(DiemDongNghiepDanhGia, 2); } string ten = ""; if (ds.Tables[3].Rows.Count > 0) { ten = ds.Tables[3].Rows[0]["HoTen"].ToString(); } double TongDiem = Math.Round(TongDiemDGCV, 2, MidpointRounding.AwayFromZero); TongDiem += Math.Round(diemKyLuat, 2, MidpointRounding.AwayFromZero); TongDiem += Math.Round(DiemDongNghiepDanhGia, 2, MidpointRounding.AwayFromZero); TongDiem = Math.Round(TongDiem, 2); string xepLoai = GetXepLoai(TongDiem); row["Bộ phận"] = tenTrungTam; row["Họ tên"] = ten; row["Điểm đánh giá công việc"] = (Math.Round(TongDiemDGCV1, 2, MidpointRounding.AwayFromZero) / 100).ToString(); row["Điểm kỷ luật và văn hóa doanh nghiệp"] = (Math.Round(diemKyLuat1, 2, MidpointRounding.AwayFromZero) / 100).ToString(); row["Điểm đồng nghiệp đánh giá"] = (Math.Round(DiemDongNghiepDanhGia1, 2, MidpointRounding.AwayFromZero) / 100).ToString(); row["Tổng điểm"] = Math.Round(TongDiem, 2, MidpointRounding.AwayFromZero) / 100; //row["Xếp loại"] = xepLoai; dtUsersTemp.Rows.Add(row); } } #endregion ImportExcelToDataTable.ExportToExcel(dtUsersTemp, "KQDanhGiaCaNhanCheckPoint_" + dropTrungTam.SelectedItem.Text + ".csv"); }