public void SetEntStatus(Chart iChart) { //전사점수 Biz_Bsc_Score_Card objBSC = new Biz_Bsc_Score_Card(); DataSet dsScore = objBSC.GetEstDeptTotalScore(this.IEstTermRefID, this.IYmd, this.ISumType, this.IEstDeptID); if (dsScore.Tables.Count > 0) { if (dsScore.Tables[0].Rows.Count > 0) { lblEntScore.Text = Math.Round(decimal.Parse(dsScore.Tables[0].Rows[0]["POINT"].ToString()), 0).ToString(); } } else { lblEntScore.Text = "0"; } // 관점별 달성도 DataSet dsViw = objBSC.GetEstDeptKpiViewTypeList(this.IEstTermRefID, this.IYmd, this.ISumType, this.IEstDeptID); MSCharts.GetDefaultChart(iChart, ChartImageType.Jpeg, 300, 178, true, false, true); //iChart.Titles.Add("전사 관점별 달성도", Docking.Top); iRow = dsViw.Tables[0].Rows.Count; if (iRow > 0) { Series serARate = MSCharts.CreateSeries(iChart, "1", iChart.ChartAreas[0].Name, "달성율", null, SeriesChartType.Bar, 0, GetChartColor(0), Color.FromArgb(chartHeight, 26, 59, 105), Color.FromArgb(64, 0, 0, 0), 1, 9, Color.FromArgb(64, 64, 64)); dsViw.Tables[0].DefaultView.Sort = "VIEW_REF_ID desc"; iChart.DataSource = dsViw.Tables[0].DefaultView; serARate.YValueMembers = "ACHV_RATE"; serARate.XValueMember = "VIEW_NAME"; iChart.DataBind(); for (int i = 0; i < serARate.Points.Count; i++) { serARate.Points[i].Color = GetChartColor(i); } serARate.ToolTip = "#VALY{P}"; } }
// 전사 등급추이 public void SetEntGradeRateTrend(Chart iChart) { DateTime startYM = (DateTime.ParseExact(this.IYmd, "yyyyMM", null)).AddYears(-1); Biz_Bsc_Score_Card objBSC = new Biz_Bsc_Score_Card(); DataSet dsGrd = objBSC.GetKpiEntGradeStatus (base.GetYMDFromDateTime(startYM, "").Substring(0, 6) , this.IYmd , this.ISumType , this.IEstDeptID); MSCharts.GetDefaultChart(iChart, ChartImageType.Jpeg, 520, chartHeight, true, true, true); ChartArea FstChtArea = iChart.ChartAreas[0]; iChart.Legends[0].Alignment = StringAlignment.Near; iChart.Legends[0].LegendStyle = LegendStyle.Column; iChart.Legends[0].Docking = Docking.Left; //iChart.Legends[0].DockInsideChartArea = false; string sTitle = "지표 등급추이분석"; MSCharts.CreateTitle(iChart, sTitle); //FstChtArea.AxisY.Title = "구성비"; DataTable dtGrade = this.GetGradeSchema(); if (dsGrd.Tables.Count > 0) { iRow = dsGrd.Tables[0].Rows.Count; for (int i = 0; i < iRow; i++) { string sKey = dsGrd.Tables[0].Rows[i]["THRESHOLD_REF_ID"].ToString(); string sVal = dsGrd.Tables[0].Rows[i]["THRESHOLD_KNAME"].ToString(); string sYmd = dsGrd.Tables[0].Rows[i]["YMD"].ToString(); decimal dVal = decimal.Parse(dsGrd.Tables[0].Rows[i]["COMP_RATE"].ToString()); for (int k = 0; k < dtGrade.Rows.Count; k++) { if (sYmd.Equals(dtGrade.Rows[k][COL_KEY.KEY_FIELD.ToString()].ToString()) && dtGrade.Columns.Contains(sKey)) { dtGrade.Rows[k][sKey] = dVal; } } } FstChtArea.AxisY.LabelStyle.Format = "P0"; iCol = dtGrade.Columns.Count; //DundasAnimations.DundasChartBase(iChart, AnimationTheme.GrowingTogether, -1, -1, false, 1); iChart.DataSource = dtGrade; for (int m = 1; m < iCol; m++) { Series serAchv = MSCharts.CreateSeries(iChart, m.ToString(), iChart.ChartAreas[0].Name, dtGrade.Columns[m].Namespace, null, SeriesChartType.StackedColumn100, 0, ColorTranslator.FromHtml(dtGrade.Columns[m].Caption), Color.FromArgb(0x4A, 0x58, 0x7E), Color.FromArgb(64, 0, 0, 0), 1, 9, Color.FromArgb(64, 64, 64)); serAchv.ToolTip = "#VALY{P}"; //DundasAnimations.GrowingAnimation(iChart, serAchv, m, m, true); serAchv.YValueMembers = dtGrade.Columns[m].ColumnName; if (m == 1) { serAchv.XValueMember = dtGrade.Columns[COL_KEY.KEY_FIELD.ToString()].ColumnName; } } iChart.DataBind(); } }