private void SetFormData(int est_ref_id) { this.IEstTermRefID = PageUtility.GetIntByValueDropDownList(ddlEstTermInfo); this.strYMD = PageUtility.GetByValueDropDownList(ddlEstTermMonth); Biz_Bsc_Map_Info objMap = new Biz_Bsc_Map_Info(this.IEstTermRefID, est_ref_id, this.strYMD); this.IMapVersionID = objMap.Imap_version_id; ltEstDeptName.Text = objMap.Iest_dept_name; lblChampName.Text = objMap.Ibscchampion_name; lblSTGMapName.Text = objMap.Idept_vision; Biz_Bsc_Map_Kpi objKpi = new Biz_Bsc_Map_Kpi(); DataSet rDs = objKpi.GetWeightPerStg(this.IEstTermRefID, est_ref_id, this.strYMD); if (rDs.Tables.Count > 0) { if (rDs.Tables[0].Rows.Count > 0) { rDs.Tables[0].Columns.Add("PARENT_STG", typeof(string)); Biz_Bsc_Map_Stg_Parent objPrt = new Biz_Bsc_Map_Stg_Parent(); int iRow = rDs.Tables[0].Rows.Count; string sUpStg = ""; for (int i = 0; i < iRow; i++) { objPrt.Iestterm_ref_id = int.Parse(rDs.Tables[0].Rows[i]["ESTTERM_REF_ID"].ToString()); objPrt.Iest_dept_ref_id = int.Parse(rDs.Tables[0].Rows[i]["EST_DEPT_REF_ID"].ToString()); objPrt.Imap_version_id = int.Parse(rDs.Tables[0].Rows[i]["MAP_VERSION_ID"].ToString()); objPrt.Istg_ref_id = int.Parse(rDs.Tables[0].Rows[i]["STG_REF_ID"].ToString()); DataSet pDs = objPrt.GetParentStgList (objPrt.Iestterm_ref_id , objPrt.Iest_dept_ref_id , objPrt.Imap_version_id , objPrt.Istg_ref_id); sUpStg = ""; if (pDs.Tables.Count > 0) { for (int k = 0; k < pDs.Tables[0].Rows.Count; k++) { sUpStg += (k == 0) ? pDs.Tables[0].Rows[k]["UP_STG_REF_ID"].ToString() : "," + pDs.Tables[0].Rows[k]["UP_STG_REF_ID"].ToString(); } } rDs.Tables[0].Rows[i]["PARENT_STG"] = sUpStg; } } } ugrdStgList.Clear(); ugrdStgList.DataSource = rDs; ugrdStgList.DataBind(); }
private void SetResltScoreGrid() { Biz_Bsc_Map_Kpi biz = new Biz_Bsc_Map_Kpi(); DataSet ds = biz.GetKpiAnalysisPerEstDept(this.IEstTermRefID //, this.IDeptID , gUserInfo.Dept_Ref_ID , this.IYmd , 0 , this.ISumType); ugrdResultScore.Clear(); ugrdResultScore.DataSource = ds; ugrdResultScore.DataBind(); }
private void SetResultGrid() { this.SetPageData(); Biz_Bsc_Map_Kpi objBSC = new Biz_Bsc_Map_Kpi(); DataSet ds = objBSC.GetKpiStgResultAnalysis(_iestterm_ref_id , _iest_dept_ref_id , _iymd , PageUtility.GetByValueDropDownList(ddlSumType) , _istg_ref_id); if (ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0) { ugrdResultStatus.Clear(); ugrdResultStatus.DataSource = ds.Tables[0]; ugrdResultStatus.DataBind(); } }
private void SetResultGrid() { if (Est_Dept_Ref_ID.ToString() == "") { ltrScript.Text = JSHelper.GetAlertScript("평가부서를 선택하십시오.", false); return; } Biz_Bsc_Map_Kpi biz = new Biz_Bsc_Map_Kpi(); DataSet ds = biz.GetKpiAnalysisPerEstDept(Estterm_Ref_ID , Est_Dept_Ref_ID , Ymd , _ithreshold_ref_id , Sum_Type); ugrdResultStatus.Clear(); ugrdResultStatus.DataSource = ds; ugrdResultStatus.DataBind(); }
private void DrawMapTreeDetail(TreeView iTrvMap, int iEstTermRefID, int iEstDeptRefID, int iMapVersionID, string iSelectedKey) { int cntRow = 0; int cntStg = 0; int cntKpi = 0; string strKey = ""; string strVal = ""; strKey = "D" + ";" + Convert.ToString(this.IEstDeptRefID) + ";0"; strVal = this.IEstDeptName + " 전략맵"; TreeNode topNode = new TreeNode(strVal, strKey); iTrvMap.Nodes.Clear(); iTrvMap.Nodes.Add(topNode); topNode.ImageUrl = "../images/stg/TREE_D.gif"; TreeNode vNode; MicroBSC.BSC.Biz.Biz_Bsc_View_Info objView = new MicroBSC.BSC.Biz.Biz_Bsc_View_Info(); DataSet dsView = objView.GetAllList(); TreeNode sNode; MicroBSC.BSC.Biz.Biz_Bsc_Map_Stg objSTG = new Biz_Bsc_Map_Stg(); DataSet dsSTG = new DataSet(); TreeNode kNode; MicroBSC.BSC.Biz.Biz_Bsc_Map_Kpi objKPI = new Biz_Bsc_Map_Kpi(); DataSet dsKPI = new DataSet(); cntRow = dsView.Tables[0].Rows.Count; for (int i = 0; i < cntRow; i++) { string imgWork = "<img alt='' src='../images/stg/TREE_W.gif'/>"; string imgExec = "<img alt='' src='../images/stg/TREE_E.gif'/>"; strKey = "V" + ";" + dsView.Tables[0].Rows[i]["VIEW_REF_ID"].ToString() + ";0"; strVal = dsView.Tables[0].Rows[i]["VIEW_NAME"].ToString(); vNode = new TreeNode(strVal, strKey); vNode.ImageUrl = "../images/stg/TREE_V.gif"; topNode.ChildNodes.Add(vNode); if (iSelectedKey == strKey) { vNode.Select(); vNode.ExpandAll(); vNode.SelectAction = TreeNodeSelectAction.Select; } int stgrefid = 0; int kpirefid = 0; dsSTG = objSTG.GetStrategyPerView(IEstTermRefID, IEstDeptRefID, IMapVersionID, int.Parse(dsView.Tables[0].Rows[i]["VIEW_REF_ID"].ToString())); cntStg = dsSTG.Tables[0].Rows.Count; for (int j = 0; j < cntStg; j++) { strKey = "S" + ";" + dsSTG.Tables[0].Rows[j]["STG_REF_ID"].ToString() + ";0"; stgrefid = Convert.ToInt32(dsSTG.Tables[0].Rows[j]["STG_REF_ID"].ToString()); kpirefid = 0; strVal = dsSTG.Tables[0].Rows[j]["STG_NAME"].ToString() + (WorkCount(IEstTermRefID, IEstDeptRefID, stgrefid, kpirefid) ? imgWork : "") + (ExecCount(IEstTermRefID, IEstDeptRefID, stgrefid, kpirefid) ? imgExec : ""); sNode = new TreeNode(strVal, strKey); sNode.ImageUrl = "../images/stg/TREE_S.gif"; vNode.ChildNodes.Add(sNode); if (iSelectedKey == strKey) { sNode.Select(); sNode.ExpandAll(); sNode.SelectAction = TreeNodeSelectAction.Select; } dsKPI = objKPI.GetKpiListPerStg(IEstTermRefID, IEstDeptRefID, IMapVersionID, int.Parse(dsSTG.Tables[0].Rows[j]["STG_REF_ID"].ToString())); cntKpi = dsKPI.Tables[0].Rows.Count; for (int k = 0; k < cntKpi; k++) { strKey = "K" + ";" + dsKPI.Tables[0].Rows[k]["KPI_REF_ID"].ToString() + ";" + dsSTG.Tables[0].Rows[j]["STG_REF_ID"].ToString(); kpirefid = Convert.ToInt32(dsKPI.Tables[0].Rows[k]["KPI_REF_ID"].ToString()); strVal = dsKPI.Tables[0].Rows[k]["KPI_NAME"].ToString() + (WorkCount(IEstTermRefID, IEstDeptRefID, stgrefid, kpirefid) ? imgWork : "") + (ExecCount(IEstTermRefID, IEstDeptRefID, stgrefid, kpirefid) ? imgExec : ""); kNode = new TreeNode(strVal, strKey); kNode.ImageUrl = "../images/stg/TREE_K.gif"; sNode.ChildNodes.Add(kNode); if (iSelectedKey == strKey) { kNode.Select(); kNode.ExpandAll(); kNode.SelectAction = TreeNodeSelectAction.Select; } } } } if (iTrvMap.SelectedNode == null) { topNode.Select(); } iTrvMap.ExpandAll(); }
public DataTable GetStgCaE() { // 1. 전략을 가진 부서를 조회하여 컬럼으로 늘이기 Biz_Bsc_Map_Stg objStg = new Biz_Bsc_Map_Stg(); DataSet dsDept = objStg.GetEstDeptHaveStrategy(this.IEstTermRefID, this.IEstDeptRefID, this.IYmd); DataTable dtStgMoon = new DataTable("STG_MOON_CHART"); string sDeptId = ""; string cDeptId = ""; // 부서id string cStgId = ""; // 전략id string cStgNm = ""; // 전략명 string cKpiId = ""; // 지표ID string cKpiNm = ""; // 지표명 string cTarget = ""; // 목표 string cResult = ""; // 실적 string cSignal = ""; // 시그널 string cWeight = ""; // 가중치 if (dsDept.Tables.Count > 0) { for (int i = 0; i < dsDept.Tables[0].Rows.Count; i++) { sDeptId = dsDept.Tables[0].Rows[i]["EST_DEPT_REF_ID"].ToString(); cDeptId = sPfxDeptId + sDeptId; cStgId = sPfxStgId + sDeptId; cStgNm = sPfxStgNm + sDeptId; cKpiId = sPfxKpiId + sDeptId; cKpiNm = sPfxKpiNm + sDeptId; cTarget = sPfxTarget + sDeptId; cResult = sPfxResult + sDeptId; cSignal = sPfxSignal + sDeptId; cWeight = sPfxWeight + sDeptId; dtStgMoon.Columns.Add(cStgId, typeof(string)); dtStgMoon.Columns.Add(cStgNm, typeof(string)); dtStgMoon.Columns.Add(cKpiId, typeof(string)); dtStgMoon.Columns.Add(cKpiNm, typeof(string)); dtStgMoon.Columns.Add(cTarget, typeof(string)); dtStgMoon.Columns.Add(cResult, typeof(string)); dtStgMoon.Columns.Add(cSignal, typeof(string)); dtStgMoon.Columns.Add(cWeight, typeof(string)); } } // 2. 전략관계가져오기 Biz_Bsc_Stg_Tree_Term objSTerm = new Biz_Bsc_Stg_Tree_Term(this.IEstTermRefID, this.IYmd); //Biz_Bsc_Stg_Tree objSTree = new Biz_Bsc_Stg_Tree(); //DataSet dtSTree = objSTree.GetStgTree(this.IEstTermRefID, objSTerm.IVersion_Ref_Id); // 3. 해당조직의 전략을 조회하여 나래비를 세움 Biz_Bsc_Map_Kpi objKpi = new Biz_Bsc_Map_Kpi(); if (dsDept.Tables.Count > 0) { for (int k = 0; k < dsDept.Tables[0].Rows.Count; k++) { sDeptId = dsDept.Tables[0].Rows[k]["EST_DEPT_REF_ID"].ToString(); DataSet dsStgDept = objKpi.GetKpiAnalysisPerEstDept(this.IEstTermRefID, int.Parse(sDeptId), this.IYmd, 0, "MS"); if (dsStgDept.Tables.Count > 0) { DataRow dr = null; for (int i = 0; i < dsStgDept.Tables[0].Rows.Count; i++) { dr = dtStgMoon.NewRow(); sDeptId = dsStgDept.Tables[0].Rows[i]["EST_DEPT_REF_ID"].ToString(); cDeptId = sPfxDeptId + sDeptId; cStgId = sPfxStgId + sDeptId; cStgNm = sPfxStgNm + sDeptId; cKpiId = sPfxKpiId + sDeptId; cKpiNm = sPfxKpiNm + sDeptId; cTarget = sPfxTarget + sDeptId; cResult = sPfxResult + sDeptId; cSignal = sPfxSignal + sDeptId; cWeight = sPfxWeight + sDeptId; dr[cStgId] = dsStgDept.Tables[0].Rows[i]["STG_REF_ID"].ToString(); dr[cStgNm] = dsStgDept.Tables[0].Rows[i]["STG_NAME"].ToString(); dr[cKpiId] = dsStgDept.Tables[0].Rows[i]["KPI_REF_ID"].ToString(); dr[cKpiNm] = dsStgDept.Tables[0].Rows[i]["KPI_NAME"].ToString(); dr[cTarget] = dsStgDept.Tables[0].Rows[i]["TARGET"].ToString(); dr[cResult] = dsStgDept.Tables[0].Rows[i]["RESULT"].ToString(); dr[cSignal] = dsStgDept.Tables[0].Rows[i]["THRESHOLD_IMG"].ToString(); dr[cWeight] = dsStgDept.Tables[0].Rows[i]["WEIGHT"].ToString(); dtStgMoon.Rows.Add(dr); } } if (k == 2) { break; } } } return(dtStgMoon); }
public void SetPrintMoonChartGrid() { ugrdMoonChart.Visible = true; this.IEstTermRefID = PageUtility.GetIntByValueDropDownList(ddlEstTermInfo); this.IEstDeptRefID = PageUtility.GetIntByValueDropDownList(ddlEstDept); this.IYmd = PageUtility.GetByValueDropDownList(ddlEstTermMonth); DeptInfos objDept = new DeptInfos(); DataSet rDs = objDept.GetEstDeptHaveMap(this.IEstTermRefID, this.IYmd, this.IEstDeptRefID, gUserInfo.Emp_Ref_ID); Biz_Bsc_Map_Kpi objMap = new Biz_Bsc_Map_Kpi(); DataSet rDsKpi = null; DataSet rDsTop = null; string strEstDeptID = ""; string strEstDeptNm = ""; string strViwID = ""; string strViwName = ""; string strStgID = ""; string strStgName = ""; string strKpiID = ""; string strKpiName = ""; string strUnit = ""; string strTarget = ""; string strResult = ""; string strWeight = ""; int intRow = rDs.Tables[0].Rows.Count; DataRow rDr = null; DataRow rDrKpi = null; ColumnHeader ch = null; ugrdMoonChart.Clear(); for (int i = ugrdMoonChart.Columns.Count; i > 0; i--) { ugrdMoonChart.Bands[0].Columns.RemoveAt(i - 1); ugrdMoonChart.Bands[0].HeaderLayout.RemoveAt(i - 1); } ugrdMoonChart.ResetColumns(); for (int i = 0; i < intRow; i++) { rDr = rDs.Tables[0].Rows[i]; strEstDeptID = rDr["EST_DEPT_REF_ID"].ToString(); strEstDeptNm = rDr["DEPT_NAME"].ToString(); strViwID = strEstDeptID + "_VIEW_REF_ID"; strViwName = strEstDeptID + "_VIEW_NAME"; strStgID = strEstDeptID + "_STG_REF_ID"; strStgName = strEstDeptID + "_STG_NAME"; strKpiName = strEstDeptID + "_KPI_REF_ID"; strUnit = strEstDeptID + "_UNIT"; strTarget = strEstDeptID + "_TARGET"; strResult = strEstDeptID + "_RESULT"; strWeight = strEstDeptID + "_WEIGHT"; ugrdMoonChart.Columns.Add(strViwName, "관점명"); ugrdMoonChart.Columns.Add(strStgID, "전략ID"); ugrdMoonChart.Columns.Add(strStgName, "전략명"); ugrdMoonChart.Columns.Add(strKpiName, "지표명"); ugrdMoonChart.Columns.Add(strUnit, "단위"); ugrdMoonChart.Columns.Add(strResult, "전년실적"); ugrdMoonChart.Columns.Add(strTarget, "목표"); ugrdMoonChart.Columns.Add(strWeight, "가중치"); ugrdMoonChart.Columns.FromKey(strViwName).Width = (i == 0) ? Unit.Pixel(60) : Unit.Pixel(0); ugrdMoonChart.Columns.FromKey(strStgID).Width = Unit.Pixel(0); ugrdMoonChart.Columns.FromKey(strStgName).Width = (i == 0) ? Unit.Pixel(100) : Unit.Pixel(0); ugrdMoonChart.Columns.FromKey(strKpiName).Width = Unit.Pixel(160); ugrdMoonChart.Columns.FromKey(strUnit).Width = Unit.Pixel(30); ugrdMoonChart.Columns.FromKey(strTarget).Width = Unit.Pixel(80); ugrdMoonChart.Columns.FromKey(strResult).Width = Unit.Pixel(80); ugrdMoonChart.Columns.FromKey(strWeight).Width = Unit.Pixel(50); ugrdMoonChart.Columns.FromKey(strUnit).CellStyle.HorizontalAlign = HorizontalAlign.Center; ugrdMoonChart.Columns.FromKey(strTarget).CellStyle.HorizontalAlign = HorizontalAlign.Right; ugrdMoonChart.Columns.FromKey(strResult).CellStyle.HorizontalAlign = HorizontalAlign.Right; ugrdMoonChart.Columns.FromKey(strWeight).CellStyle.HorizontalAlign = HorizontalAlign.Right; ugrdMoonChart.Columns.FromKey(strTarget).Format = "#,##0.00"; ugrdMoonChart.Columns.FromKey(strResult).Format = "#,##0.00"; ugrdMoonChart.Columns.FromKey(strWeight).Format = "#,##0.00"; ugrdMoonChart.Columns.FromKey(strViwName).Header.RowLayoutColumnInfo.OriginX = 0 + (i * 8); ugrdMoonChart.Columns.FromKey(strStgID).Header.RowLayoutColumnInfo.OriginX = 1 + (i * 8); ugrdMoonChart.Columns.FromKey(strStgName).Header.RowLayoutColumnInfo.OriginX = 2 + (i * 8); ugrdMoonChart.Columns.FromKey(strKpiName).Header.RowLayoutColumnInfo.OriginX = 3 + (i * 8); ugrdMoonChart.Columns.FromKey(strUnit).Header.RowLayoutColumnInfo.OriginX = 4 + (i * 8); ugrdMoonChart.Columns.FromKey(strResult).Header.RowLayoutColumnInfo.OriginX = 5 + (i * 8); ugrdMoonChart.Columns.FromKey(strTarget).Header.RowLayoutColumnInfo.OriginX = 6 + (i * 8); ugrdMoonChart.Columns.FromKey(strWeight).Header.RowLayoutColumnInfo.OriginX = 7 + (i * 8); ugrdMoonChart.Columns.FromKey(strViwName).Header.RowLayoutColumnInfo.OriginY = 1; ugrdMoonChart.Columns.FromKey(strStgID).Header.RowLayoutColumnInfo.OriginY = 1; ugrdMoonChart.Columns.FromKey(strStgName).Header.RowLayoutColumnInfo.OriginY = 1; ugrdMoonChart.Columns.FromKey(strKpiName).Header.RowLayoutColumnInfo.OriginY = 1; ugrdMoonChart.Columns.FromKey(strUnit).Header.RowLayoutColumnInfo.OriginY = 1; ugrdMoonChart.Columns.FromKey(strTarget).Header.RowLayoutColumnInfo.OriginY = 1; ugrdMoonChart.Columns.FromKey(strResult).Header.RowLayoutColumnInfo.OriginY = 1; ugrdMoonChart.Columns.FromKey(strWeight).Header.RowLayoutColumnInfo.OriginY = 1; rDsKpi = objMap.GetKpiForMoonchart(this.IEstTermRefID, Convert.ToInt32(strEstDeptID), this.IYmd); int cntKpi = rDsKpi.Tables[0].Rows.Count; if (i == 0) { // 최상위 부서의 데이터 복사 rDsTop = rDsKpi.Copy(); rDsTop.Tables[0].Columns.Add("RowUseYN", typeof(string)); rDsTop.Tables[0].Columns.Add("NewYN", typeof(string)); ugrdMoonChart.Columns.FromKey(strViwName).Header.Fixed = true; ugrdMoonChart.Columns.FromKey(strStgID).Header.Fixed = true; ugrdMoonChart.Columns.FromKey(strStgName).Header.Fixed = true; ugrdMoonChart.Columns.FromKey(strKpiName).Header.Fixed = true; ugrdMoonChart.Columns.FromKey(strUnit).Header.Fixed = true; ugrdMoonChart.Columns.FromKey(strTarget).Header.Fixed = true; ugrdMoonChart.Columns.FromKey(strResult).Header.Fixed = true; ugrdMoonChart.Columns.FromKey(strWeight).Header.Fixed = true; ch = new ColumnHeader(true); ch.Caption = strEstDeptNm; ch.RowLayoutColumnInfo.OriginY = 0; ch.RowLayoutColumnInfo.OriginX = 0; ch.RowLayoutColumnInfo.SpanX = 8; ch.Style.Height = Unit.Pixel(20); ugrdMoonChart.Bands[0].HeaderLayout.Add(ch); ugrdMoonChart.Bands[0].HeaderStyle.HorizontalAlign = HorizontalAlign.Center; ch = null; ugrdMoonChart.Columns.FromKey(strViwName).MergeCells = true; ugrdMoonChart.Columns.FromKey(strStgID).MergeCells = true; ugrdMoonChart.Columns.FromKey(strStgName).MergeCells = true; ugrdMoonChart.Columns.FromKey(strKpiName).MergeCells = true; for (int k = 0; k < cntKpi; k++) { rDrKpi = rDsKpi.Tables[0].Rows[k]; ugrdMoonChart.Rows.Add(); ugrdMoonChart.Rows[k].Cells.FromKey(strViwName).Value = rDrKpi["VIEW_NAME"].ToString(); ugrdMoonChart.Rows[k].Cells.FromKey(strStgID).Value = rDrKpi["STG_REF_ID"].ToString(); ugrdMoonChart.Rows[k].Cells.FromKey(strStgName).Value = rDrKpi["STG_NAME"].ToString(); ugrdMoonChart.Rows[k].Cells.FromKey(strKpiName).Value = rDrKpi["KPI_NAME"].ToString(); ugrdMoonChart.Rows[k].Cells.FromKey(strUnit).Value = rDrKpi["UNIT"].ToString(); ugrdMoonChart.Rows[k].Cells.FromKey(strTarget).Value = Convert.ToDouble(rDrKpi["TARGET"].ToString()); ugrdMoonChart.Rows[k].Cells.FromKey(strResult).Value = Convert.ToDouble(rDrKpi["RESULT"].ToString()); ugrdMoonChart.Rows[k].Cells.FromKey(strWeight).Value = Convert.ToDouble(rDrKpi["WEIGHT"].ToString()); } } else { ch = new ColumnHeader(true); ch.Caption = strEstDeptNm; ch.RowLayoutColumnInfo.OriginY = 0; ch.RowLayoutColumnInfo.OriginX = (i * 8); ch.RowLayoutColumnInfo.SpanX = 8; ch.Style.Height = Unit.Pixel(20); ugrdMoonChart.Bands[0].HeaderLayout.Add(ch); ugrdMoonChart.Bands[0].HeaderStyle.HorizontalAlign = HorizontalAlign.Center; ch = null; string strStgRefID = ""; int intIdx = 0; string strCurKPI = "0"; bool blnPrintYN = false; bool blnHaveKpi = false; bool blnExitsKpi = false; string[] ArrKpi = null; // 최상위부서 행번호 사용여부 초기화 for (int y = 0; y < rDsTop.Tables[0].Rows.Count; y++) { rDsTop.Tables[0].Rows[y]["RowUseYN"] = "N"; } #region -- 현재 부서의 지표 인쇄 // 현재 조직을 기준으로 검색한다 for (int k = 0; k < cntKpi; k++) { rDrKpi = rDsKpi.Tables[0].Rows[k]; strStgRefID = rDrKpi["STG_REF_ID"].ToString(); strCurKPI = rDrKpi["KPI_REF_ID"].ToString(); intIdx = 0; blnHaveKpi = false; blnPrintYN = false; blnExitsKpi = false; #region -- 지표별 인쇄 -- // 최상위 부서의 데이터셋에서 나의 지표아이디가 있는지 검색한다 // 첫번째로 상위지표별로 검색하고 없으면 전략아이디로 검색한다 for (int x = 0; x < rDsTop.Tables[0].Rows.Count; x++) { ArrKpi = rDsTop.Tables[0].Rows[x]["CHILD_KPI"].ToString().Split(','); ArrKpi.Initialize(); blnExitsKpi = false; for (int n = 0; n < ArrKpi.Length; n++) { if (ArrKpi[n] == strCurKPI) { blnExitsKpi = true; break; } } if (blnExitsKpi) { if (rDsTop.Tables[0].Rows[x]["RowUseYN"].ToString() == "N" || rDsTop.Tables[0].Rows[x]["RowUseYN"] == DBNull.Value || rDsTop.Tables[0].Rows[x]["RowUseYN"] == "") { intIdx = x; blnPrintYN = true; blnHaveKpi = true; rDsTop.Tables[0].Rows[x]["RowUseYN"] = "Y"; break; } else { intIdx = x; blnHaveKpi = true; } } else { blnPrintYN = false; } ArrKpi = null; } //if (!blnHaveKpi && !blnPrintYN) //{ // // 최상위 부서의 데이터셋에서 나의 전략아이디가 있는지 검색한다 // // 두번째로 상위지표별로 검색하고 없으면 전략아이디로 검색한다 // for (int x = 0; x < rDsTop.Tables[0].Rows.Count; x++) // { // if (rDsTop.Tables[0].Rows[x]["STG_REF_ID"].ToString() == strStgRefID) // { // if (rDsTop.Tables[0].Rows[x]["RowUseYN"].ToString() == "N" || // rDsTop.Tables[0].Rows[x]["RowUseYN"] == DBNull.Value || // rDsTop.Tables[0].Rows[x]["RowUseYN"] == "") // { // intIdx = x; // blnPrintYN = true; // blnHaveKpi = true; // rDsTop.Tables[0].Rows[x]["RowUseYN"] = "Y"; // break; // } // else // { // intIdx = x; // blnHaveKpi = true; // } // } // else // { // blnPrintYN = false; // } // } //} try { // 나의 지표아이디가 최상위 부서에 존재하고 프린트할 자리도 있는 경우 if (blnHaveKpi && blnPrintYN) { ugrdMoonChart.Rows[intIdx].Cells.FromKey(strViwName).Value = rDrKpi["VIEW_NAME"].ToString(); ugrdMoonChart.Rows[intIdx].Cells.FromKey(strStgID).Value = rDrKpi["STG_REF_ID"].ToString(); ugrdMoonChart.Rows[intIdx].Cells.FromKey(strStgName).Value = rDrKpi["STG_NAME"].ToString(); ugrdMoonChart.Rows[intIdx].Cells.FromKey(strKpiName).Value = rDrKpi["KPI_NAME"].ToString(); ugrdMoonChart.Rows[intIdx].Cells.FromKey(strUnit).Value = rDrKpi["UNIT"].ToString(); ugrdMoonChart.Rows[intIdx].Cells.FromKey(strTarget).Value = Convert.ToDouble(rDrKpi["TARGET"].ToString()); ugrdMoonChart.Rows[intIdx].Cells.FromKey(strResult).Value = Convert.ToDouble(rDrKpi["RESULT"].ToString()); ugrdMoonChart.Rows[intIdx].Cells.FromKey(strWeight).Value = Convert.ToDouble(rDrKpi["WEIGHT"].ToString()); } // 상위지표는 존재 하나 프린트할 자리가 없는경우 // 행을 하나 늘이고 인쇄한다 else if (!blnPrintYN && blnHaveKpi) { UltraGridRow ugrNew = new UltraGridRow(); for (int m = 0; m < 8; m++) { ugrNew.Cells.Add(ugrdMoonChart.Rows[intIdx].Cells[m]); } ugrdMoonChart.Rows.Insert(intIdx + 1, ugrNew); DataRow drNew = rDsTop.Tables[0].NewRow(); int TopCnt = rDsTop.Tables[0].Columns.Count; for (int z = 0; z < TopCnt; z++) { drNew[z] = rDsTop.Tables[0].Rows[intIdx][z]; // 새로 추가된 행을 구분하고 검색후 삭제한다 if (z == (TopCnt - 1)) { drNew[z] = "Y"; } } rDsTop.Tables[0].Rows.InsertAt(drNew, intIdx); intIdx += 1; ugrdMoonChart.Rows[intIdx].Cells.FromKey(strViwName).Value = rDrKpi["VIEW_NAME"].ToString(); ugrdMoonChart.Rows[intIdx].Cells.FromKey(strStgID).Value = rDrKpi["STG_REF_ID"].ToString(); ugrdMoonChart.Rows[intIdx].Cells.FromKey(strStgName).Value = rDrKpi["STG_NAME"].ToString(); ugrdMoonChart.Rows[intIdx].Cells.FromKey(strKpiName).Value = rDrKpi["KPI_NAME"].ToString(); ugrdMoonChart.Rows[intIdx].Cells.FromKey(strUnit).Value = rDrKpi["UNIT"].ToString(); ugrdMoonChart.Rows[intIdx].Cells.FromKey(strTarget).Value = Convert.ToDouble(rDrKpi["TARGET"].ToString()); ugrdMoonChart.Rows[intIdx].Cells.FromKey(strResult).Value = Convert.ToDouble(rDrKpi["RESULT"].ToString()); ugrdMoonChart.Rows[intIdx].Cells.FromKey(strWeight).Value = Convert.ToDouble(rDrKpi["WEIGHT"].ToString()); } #endregion } catch (Exception e) { ltrScript.Text = JSHelper.GetAlertScript(e.Message, false); } } #endregion } rDsKpi = null; } lblCountRow.Text = "Total Rows : " + ugrdMoonChart.Rows.Count.ToString(); }
public int Add_BSC_MAP_STG_MANUAL(int estterm_ref_id , int est_dept_ref_id , string ymd , string st_up_tbl_id , string st_tbl_id , string ed_up_tbl_id , string ed_tbl_id , string[] arrX1 , string[] arrY1 , string[] arrX2 , string[] arrY2 , int create_user , DateTime create_date , int map_version_id) { int okCnt = 0; IDbConnection conn = DbAgentHelper.CreateDbConnection(); conn.Open(); IDbTransaction trx = conn.BeginTransaction(); MicroBSC.BSC.Biz.Biz_Bsc_Map_Stg_Parent objPrt = new Biz_Bsc_Map_Stg_Parent(); MicroBSC.BSC.Biz.Biz_Bsc_Map_Kpi objKpi = new Biz_Bsc_Map_Kpi(); try { DataSet ds = base.Select(conn , trx , estterm_ref_id , est_dept_ref_id , ymd , st_up_tbl_id , st_tbl_id , ed_up_tbl_id , ed_tbl_id); if (ds.Tables[0].Rows.Count > 0) { base.Delete(conn , trx , estterm_ref_id , est_dept_ref_id , ymd , st_up_tbl_id , st_tbl_id , ed_up_tbl_id , ed_tbl_id); } for (int i = 0; i < arrX1.Length; i++) { if (arrX1[i] == arrX2[i] && arrY1[i] == arrY2[i]) { } else { int seq = base.NewSeq(conn , trx , estterm_ref_id , est_dept_ref_id , ymd , st_up_tbl_id , st_tbl_id , ed_up_tbl_id , ed_tbl_id); okCnt += base.Insert(conn , trx , seq , estterm_ref_id , est_dept_ref_id , ymd , st_up_tbl_id , st_tbl_id , ed_up_tbl_id , ed_tbl_id , arrX1[i] , arrY1[i] , arrX2[i] , arrY2[i] , create_user , DateTime.Now); } } if (okCnt > 0) { string[] stg_ref_id = st_tbl_id.Split('_'); string[] up_stg_ref_id = ed_tbl_id.Split('_'); Biz_Bsc_Map_Stg_Parent bizBsc_Map_Stg_Parent = new Biz_Bsc_Map_Stg_Parent(); bizBsc_Map_Stg_Parent.InsertData(conn , trx , estterm_ref_id , est_dept_ref_id , map_version_id , DataTypeUtility.GetToInt32(stg_ref_id[1]) , DataTypeUtility.GetToInt32(up_stg_ref_id[1]) , DataTypeUtility.GetToInt32(create_user)); } base.Transaction_Message = "정상적으로 처리되었습니다."; base.Transaction_Result = "Y"; trx.Commit(); } catch (Exception e) { base.Transaction_Message = e.Message; base.Transaction_Result = "N"; trx.Rollback(); okCnt = 0; } finally { conn.Close(); } return(okCnt); }