private void BindingTgtEmp(int est_emp_id) { Biz_Datas data = new Biz_Datas(); DataTable dataTable = data.GetEstData(COMP_ID , EST_ID , ESTTERM_REF_ID , ESTTERM_SUB_ID , ESTTERM_STEP_ID , 0 , est_emp_id , 0 , 0 , YEAR_YN , MERGE_YN , OwnerType.Emp_User).Tables[0]; dataTable = DataTypeUtility.GetGroupByDataTable(dataTable , new string[] { "TGT_EMP_ID", "TGT_EMP_NAME", "TGT_POS_CLS_ID", "TGT_POS_CLS_NAME", "TGT_POS_DUT_ID", "TGT_POS_DUT_NAME", "TGT_POS_GRP_ID", "TGT_POS_GRP_NAME", "TGT_POS_RNK_ID", "TGT_POS_RNK_NAME", "TGT_POS_KND_ID", "TGT_POS_KND_NAME" }); dataTable = DataTypeUtility.FilterSortDataTable(dataTable, "", "TGT_EMP_NAME"); UltraWebGrid1.DataSource = dataTable; UltraWebGrid1.DataBind(); lblRowCount.Text = dataTable.Rows.Count.ToString("#,##0"); }
private void DataListBinding_P() { Biz_QuestionObjects questionObjects = new Biz_QuestionObjects(EST_ID, Q_OBJ_ID); Q_OBJ_NAME = questionObjects.Q_Obj_Name; Biz_QuestionSubjects questionSubjects = new Biz_QuestionSubjects(); DataSet ds = questionSubjects.GetQuestionSubject("", Q_OBJ_ID, ""); if (ds.Tables.Count == 0) { return; } DataTable dt = DataTypeUtility.GetGroupByDataTable(ds.Tables[0], new string[] { "Q_DFN_ID" }); string q_dfn_ids = DataTypeUtility.GetSplitString(dt, "Q_DFN_ID", ","); if (q_dfn_ids.Length > 0) { DefineDataBinding_P(q_dfn_ids); } NoDefineDataBinding_P(ds); }
protected void ibnAddEstData_Click(object sender, ImageClickEventArgs e) { int cnt = UltraWebGrid1.Rows.Count; string dept_ref_id_list = string.Empty; for (int i = 0; i < cnt; i++) { UltraGridRow row = UltraWebGrid1.Rows[i]; TemplatedColumn selchk = (TemplatedColumn)row.Band.Columns.FromKey("selchk"); CheckBox cBox = (CheckBox)((CellItem)selchk.CellItems[row.BandIndex]).FindControl("cBox"); if (cBox.Checked) { dept_ref_id_list += "," + DataTypeUtility.GetValue(row.Cells.FromKey("DEPT_REF_ID").Value); } } if (dept_ref_id_list.Length > 0) { dept_ref_id_list = dept_ref_id_list.Remove(0, 1); } else { dept_ref_id_list = "-1"; } DataTable dtEmp = DataTypeUtility.FilterSortDataTable(DT_ESTTARGETMAP, string.Format(" TGT_DEPT_ID IN ({0}) AND DIRECTION_TYPE = '{1}' ", dept_ref_id_list, ConDIRECTION_TYPE)); DataTable dtDel = DataTypeUtility.GetGroupByDataTable(dtEmp.Copy(), new string[] { "TGT_EMP_ID" }); MicroBSC.Integration.EST.Biz.Biz_Est_Data bizEstData = new MicroBSC.Integration.EST.Biz.Biz_Est_Data(); string okMsg = bizEstData.AddData(dtDel , dtEmp , COMP_ID , EST_ID , ESTTERM_REF_ID , ESTTERM_SUB_ID , ConESTTERM_STEP_ID , ConDIRECTION_TYPE , "N" , DateTime.Now , DateTime.Now , this.gUserInfo.Emp_Ref_ID); if (okMsg.Length == 0) { ltrScript.Text = JSHelper.GetAlertScript("정상 처리 되었습니다.", false); DoBinding_Dept(); DEPT_REF_ID = -1; } else { ltrScript.Text = JSHelper.GetAlertScript(okMsg); } }
protected void UltraWebGrid1_InitializeLayout(object sender, LayoutEventArgs e) { if (EST_TGT_TYPE.Equals("EST")) { if (ESTTERM_STEP_ID == 2) { //질의 별 평균 컬럼 활성 DataTable dt_q_dfn = DataTypeUtility.GetGroupByDataTable(DT_QUESTION_SBJ_POINT, new string[] { "Q_DFN_ID", "Q_DFN_NAME" }); int insert_pos = e.Layout.Bands[0].Columns.FromKey("Q_SBJ_POINT_AVG").Index; for (int i = 0; i < dt_q_dfn.Rows.Count; i++) { string q_dfn_name = DataTypeUtility.GetString(dt_q_dfn.Rows[i]["Q_DFN_NAME"]) + "평균"; string q_dfn_id = DataTypeUtility.GetString(dt_q_dfn.Rows[i]["Q_DFN_ID"]); string key = q_dfn_id; if (!UltraWebGrid1.Columns.Exists(key)) { UltraGridColumn col_q_dfn = new UltraGridColumn(); col_q_dfn.BaseColumnName = key; col_q_dfn.Width = Unit.Pixel(100); col_q_dfn.Key = key; col_q_dfn.Header.Caption = q_dfn_name; col_q_dfn.Header.Style.HorizontalAlign = HorizontalAlign.Center; col_q_dfn.CellStyle.HorizontalAlign = HorizontalAlign.Right; UltraWebGrid1.Columns.Insert(insert_pos + i, col_q_dfn); } } e.Layout.Bands[0].Columns.FromKey("Q_SBJ_POINT_AVG").Hidden = false; e.Layout.Bands[0].Columns.FromKey("POINT_ORG").Hidden = false; //관리자의 경우 점수 조정 컬럼 활성 if (IS_ADMIN) { e.Layout.Bands[0].Columns.FromKey("POINT_AVG").Hidden = false; e.Layout.Bands[0].Columns.FromKey("POINT_STD").Hidden = false; e.Layout.Bands[0].Columns.FromKey("POINT_CTRL_ORG").Hidden = false; } } else if (ESTTERM_STEP_ID == 3) { e.Layout.Bands[0].Columns.FromKey("POINT_CTRL_ORG").Header.Caption = "합계점수"; e.Layout.Bands[0].Columns.FromKey("POINT_ORG_1ST").Hidden = false; e.Layout.Bands[0].Columns.FromKey("POINT_CTRL_ORG_1ST").Hidden = false; e.Layout.Bands[0].Columns.FromKey("POINT_BALANCE").Hidden = false; e.Layout.Bands[0].Columns.FromKey("POINT_CTRL_ORG").Hidden = false; e.Layout.Bands[0].Columns.FromKey("POINT").Hidden = false; } } }
protected void doBindEstComment() { if (DT_EST_SELF_DATA == null) { getEstSelfData(); } ugrdEstComment.Clear(); ugrdEstComment.DataSource = DataTypeUtility.GetGroupByDataTable(DT_EST_SELF_DATA, new string[] { "SELF_TOP_ID", "SELF_TOP_NM" }); ugrdEstComment.DataBind(); }
private void DataListBinding_P() { if (_tgt_pos_biz_use_yn.Equals("N")) { Biz_QuestionObjects questionObjects = new Biz_QuestionObjects(EST_ID, Q_OBJ_ID); Q_OBJ_NAME = questionObjects.Q_Obj_Name; } else { Q_OBJ_NAME = "직무평가"; } Biz_QuestionSubjects questionSubjects = new Biz_QuestionSubjects(); DataTable dtSubject = null; if (_tgt_pos_biz_use_yn.Equals("N")) { dtSubject = questionSubjects.GetQuestionSubject("", Q_OBJ_ID, "").Tables[0]; double weight_total = DataTypeUtility.GetToDouble(dtSubject.Compute("SUM(WEIGHT)", "1 = 1")); for (int i = 1; i <= dtSubject.Rows.Count; i++) { dtSubject.Rows[i - 1]["WEIGHT"] = DataTypeUtility.GetToDouble(dtSubject.Rows[i - 1]["WEIGHT"]) / weight_total * 100; } } else { dtSubject = questionSubjects.GetQuestionSubject(COMP_ID, EST_ID, TGT_EMP_ID, "").Tables[0]; double weight_total = DataTypeUtility.GetToDouble(dtSubject.Compute("SUM(WEIGHT)", "1 = 1")); for (int i = 1; i <= dtSubject.Rows.Count; i++) { dtSubject.Rows[i - 1]["NUM"] = i; dtSubject.Rows[i - 1]["WEIGHT"] = DataTypeUtility.GetToDouble(dtSubject.Rows[i - 1]["WEIGHT"]) / weight_total * 100; } } DataTable dt = DataTypeUtility.GetGroupByDataTable(dtSubject, new string[] { "Q_DFN_ID" }); string q_dfn_ids = DataTypeUtility.GetSplitString(dt, "Q_DFN_ID", ","); if (!q_dfn_ids.Equals("")) { DefineDataBinding_P(q_dfn_ids); } NoDefineDataBinding_P(dtSubject); }
protected void ibnValidCheck_Click(object sender, ImageClickEventArgs e) { DataTable dtRelGrpData = GetRelGroupData(COMP_ID, EST_ID, ESTTERM_REF_ID); DataTable dtValid = null; if (dtRelGrpData.Rows.Count == 0) { ltrScript.Text = JSHelper.GetAlertScript("상대그룹에 포함된 사원정보가 없습니다."); return; } dtValid = DataTypeUtility.GetGroupByDataTable(dtRelGrpData , "TGT_EMP_ID" , new string[] { "TGT_DEPT_ID", "TGT_EMP_ID" } , "TGT_EMP_ID"); dtValid = DataTypeUtility.FilterSortDataTable(dtValid, "CNT_TGT_EMP_ID > 1"); int duplicate_emp_id_cnt = dtValid.Rows.Count; if (duplicate_emp_id_cnt > 0) { string temp = "\\r\\n"; foreach (DataRow drRow in dtValid.Rows) { DataRow[] drArrTgt = dtRelGrpData.Select(string.Format("TGT_EMP_ID = {0}", drRow["TGT_EMP_ID"])); foreach (DataRow drRowTgt in drArrTgt) { Biz_RelGroupInfos relGroupInfo = new Biz_RelGroupInfos(COMP_ID, DataTypeUtility.GetValue(drRowTgt["REL_GRP_ID"])); Biz_EmpInfos empInfo = new Biz_EmpInfos(DataTypeUtility.GetToInt32(drRowTgt["TGT_EMP_ID"])); temp += relGroupInfo.Rel_Grp_Name + " - " + empInfo.Emp_Name + "\\r\\n"; } } ltrScript.Text = JSHelper.GetAlertScript(string.Format("{0}명의 사원이 상대그룹에 중복되어 있습니다.{1}", duplicate_emp_id_cnt, temp)); return; } else { ltrScript.Text = JSHelper.GetAlertScript("상대그룹 설정에 오류가 없습니다."); return; } }
private void DataListBinding() { Biz_QuestionObjects questionObjects = new Biz_QuestionObjects(EST_ID, Q_OBJ_ID); Q_OBJ_NAME = questionObjects.Q_Obj_Name; TOTALPOINT = 0; Biz_QuestionSubjects questionSubjects = new Biz_QuestionSubjects(); DataSet ds = questionSubjects.GetQuestionSubject("", Q_OBJ_ID, ""); if (ds.Tables.Count == 0) { return; } DataTable dt = DataTypeUtility.GetGroupByDataTable(ds.Tables[0], new string[] { "Q_DFN_ID" }); string q_dfn_ids = DataTypeUtility.GetSplitString(dt, "Q_DFN_ID", ","); if (!q_dfn_ids.Equals("")) { DefineDataBinding(q_dfn_ids); } NoDefineDataBinding(ds); //POINT_ORG = Math.Round(TOTALPOINT * 0.01, 2); POINT_ORG = Math.Round(TOTALPOINT / 3, 1); if (POINT_ORG == 0) { ltrTotalPoint.Text = "미평가"; } else { ltrTotalPoint.Text = POINT_ORG.ToString("###.0") + " / 100"; } }
private void DoBinding_Emp(int dept_ref_id) { string filter = string.Format(" TGT_DEPT_ID = {0} ", dept_ref_id); string sort = "TGT_EMP_NAME"; string[] groupBy = { "TGT_DEPT_ID" , "TGT_DEPT_NAME" , "TGT_EMP_ID" , "TGT_EMP_NAME" , "TGT_POS_CLS_ID" , "TGT_POS_CLS_NAME" , "TGT_POS_DUT_ID" , "TGT_POS_DUT_NAME" , "TGT_POS_GRP_ID" , "TGT_POS_GRP_NAME" , "TGT_POS_RNK_ID" , "TGT_POS_RNK_NAME" , "TGT_POS_KND_ID" , "TGT_POS_KND_NAME" , "DIRECTION_TYPE" }; UltraWebGrid2.Columns[1].BaseColumnName = "TGT_EMP_NAME"; UltraWebGrid2.Columns[2].BaseColumnName = "TGT_POS_KND_NAME"; UltraWebGrid2.Columns[3].BaseColumnName = "TGT_POS_CLS_NAME"; UltraWebGrid2.Columns[4].BaseColumnName = "TGT_POS_DUT_NAME"; UltraWebGrid2.Columns[5].BaseColumnName = "TGT_EMP_ID"; DataTable dtDeptEmp = DataTypeUtility.FilterSortDataTable(DataTypeUtility.GetGroupByDataTable(DataTypeUtility.FilterSortDataTable(DT_ESTTARGETMAP, filter) , groupBy) , "" , sort); UltraWebGrid2.DataSource = dtDeptEmp; UltraWebGrid2.DataBind(); }
protected void ibnRelGrpTgtMap_Click(object sender, ImageClickEventArgs e) { DataTable dtRelGrpData = GetRelGroupData(COMP_ID, EST_ID, ESTTERM_REF_ID); DataTable dtValid = null; if (dtRelGrpData.Rows.Count == 0) { ltrScript.Text = JSHelper.GetAlertScript("상대그룹에 포함된 사원정보가 없습니다."); return; } dtValid = DataTypeUtility.GetGroupByDataTable(dtRelGrpData , "TGT_EMP_ID" , new string[] { "TGT_DEPT_ID", "TGT_EMP_ID" } , "TGT_EMP_ID"); int duplicate_emp_id_cnt = dtValid.Select("CNT_TGT_EMP_ID > 1").Length; if (duplicate_emp_id_cnt > 0) { ltrScript.Text = JSHelper.GetAlertScript(string.Format("{0}건의 부서 or 사원이 상대그룹으로 중복되어 있습니다.", duplicate_emp_id_cnt)); return; } Biz_RelGroupTgtMaps relGrpTgtMap = new Biz_RelGroupTgtMaps(); bool isOK = relGrpTgtMap.AddRelGroupEmpMap(dtRelGrpData); if (isOK) { ltrScript.Text = JSHelper.GetAlertScript("정상적으로 상대그룹 대상자를 반영하였습니다."); } else { ltrScript.Text = JSHelper.GetAlertScript("처리 중 오류가 발생하였습니다."); } }
protected void doBind() { string dept_type_ref_id_list = ""; for (int i = 0; i < DEPT_TYPE_REF_ID.Length; i++) { if (dept_type_ref_id_list.Length > 0) { dept_type_ref_id_list += ", "; } dept_type_ref_id_list += DEPT_TYPE_REF_ID[i]; } Biz_PositionInfos bizPosInfo = new Biz_PositionInfos(POS_ID); //종으로 출력된 부서타입별 가중치를 횡으로 변환 if (bizPosInfo.Position_Table_Name != null && bizPosInfo.Position_Table_Name.Trim().Length > 0) { Biz_Est_Pos_Weight bizEstPosWeight = new Biz_Est_Pos_Weight(); DataTable dt = bizEstPosWeight.Get_Est_Pos_Weight(POS_ID , bizPosInfo.Position_Table_Name , dept_type_ref_id_list , COMP_ID , ESTTERM_REF_ID , EST_ID); DataTable dt_result = DataTypeUtility.GetGroupByDataTable(dt, new string[] { "POS_ID", "POS_VALUE", "POS_VALUE_NAME" }); if (dt_result.Rows.Count > 0) { for (int i = 0; i < DEPT_TYPE_REF_ID.Length; i++) { int dept_type_ref_id = DEPT_TYPE_REF_ID[i]; string colName = string.Format("WEIGHT_{0}", dept_type_ref_id); dt_result.Columns.Add(colName); Biz_DeptTypeInfo bizDeptTypeInfo = new Biz_DeptTypeInfo(dept_type_ref_id); string dept_type_name = bizDeptTypeInfo.Itype_name; TemplatedColumn srcCol = (TemplatedColumn)UltraWebGrid1.Columns.FromKey("WEIGHT"); //컬럼 복사 후 추가 if (!UltraWebGrid1.Columns.Exists(colName)) { UltraGridColumn hdCol = new UltraGridColumn();//히든 컬럼 hdCol.BaseColumnName = colName; hdCol.Key = colName; hdCol.Hidden = true; UltraWebGrid1.Columns.Insert(srcCol.Index, hdCol); } if (!UltraWebGrid1.Columns.Exists("i" + colName)) { TemplatedColumn tgtCol = new TemplatedColumn();//입력 컬럼 tgtCol.CopyFrom(srcCol); tgtCol.BaseColumnName = "i" + colName; tgtCol.Key = "i" + colName; tgtCol.Hidden = false; tgtCol.Width = Unit.Pixel(80); tgtCol.Header.Caption = string.Format("{0} 가중치", dept_type_name); UltraWebGrid1.Columns.Insert(srcCol.Index, tgtCol); } DataTable dt_filtered_pos_weght = DataTypeUtility.FilterSortDataTable(dt, string.Format("DEPT_TYPE_REF_ID={0}", dept_type_ref_id)); if (dt_filtered_pos_weght.Rows.Count > 0) { for (int j = 0; j < dt_result.Rows.Count; j++) { string pos_value = DataTypeUtility.GetString(dt_result.Rows[j]["POS_VALUE"]); DataTable dt_pos_weight = DataTypeUtility.FilterSortDataTable(dt_filtered_pos_weght, string.Format("POS_VALUE='{0}'", pos_value)); if (dt_pos_weight.Rows.Count > 0) { double pos_weight = DataTypeUtility.GetToDouble(dt_pos_weight.Rows[0]["WEIGHT"]); dt_result.Rows[j][string.Format("WEIGHT_{0}", dept_type_ref_id)] = pos_weight; } else { dt_result.Rows[j][string.Format("WEIGHT_{0}", dept_type_ref_id)] = 0; } } } } } UltraWebGrid1.Clear(); UltraWebGrid1.DataSource = dt_result; UltraWebGrid1.DataBind(); } }
private void DoBinding_Dept() { MicroBSC.Integration.EST.Biz.Biz_Est_Data bizEstData = new MicroBSC.Integration.EST.Biz.Biz_Est_Data(); DT_EST_DATA = bizEstData.GetEstData(COMP_ID , EST_ID , ESTTERM_REF_ID , ESTTERM_SUB_ID , ConESTTERM_STEP_ID , ConDIRECTION_TYPE); DEPT_REF_ID = -1; UltraWebGrid1.Clear(); UltraWebGrid2.Clear(); UltraWebGrid3.Clear(); MicroBSC.Integration.EST.Biz.Biz_Est_Emp_Est_Target_Map bizEmpEstTargetMaps = new MicroBSC.Integration.EST.Biz.Biz_Est_Emp_Est_Target_Map(); DT_ESTTARGETMAP = bizEmpEstTargetMaps.GetEmpEstTargetMap(COMP_ID , EST_ID , ESTTERM_REF_ID , ESTTERM_SUB_ID , ConESTTERM_STEP_ID , 0 , 0 , 0 , 0).Tables[0]; string[] groupBy = { "TGT_DEPT_ID" , "TGT_DEPT_NAME" , "TGT_EMP_ID" , "TGT_EMP_NAME" , "TGT_POS_CLS_ID" , "TGT_POS_CLS_NAME" , "TGT_POS_DUT_ID" , "TGT_POS_DUT_NAME" , "TGT_POS_GRP_ID" , "TGT_POS_GRP_NAME" , "TGT_POS_RNK_ID" , "TGT_POS_RNK_NAME" , "TGT_POS_KND_ID" , "TGT_POS_KND_NAME" , "DIRECTION_TYPE" }; DataTable dtEst = DT_ESTTARGETMAP.Copy(); DataTable dtTgt = DT_ESTTARGETMAP.Copy(); DT_ESTTARGETMAP_GROUPBYEST = DataTypeUtility.GetGroupByDataTable(dtEst, groupBy); DT_ESTTARGETMAP_GROUPBYTGT = DataTypeUtility.GetGroupByDataTable(dtTgt, new string[] { "EST_DEPT_ID", "EST_EMP_ID", "DIRECTION_TYPE" }); MicroBSC.Integration.MUL.Biz.Biz_Mul_Est_Emp bizMulEstEmp = new MicroBSC.Integration.MUL.Biz.Biz_Mul_Est_Emp(); DataTable dtMulEstEmp = bizMulEstEmp.GetDeptMapping_DB(COMP_ID , EST_ID , ESTTERM_REF_ID , ESTTERM_SUB_ID); // 평가자 목록 (EST_TYPE : EST) /* * DT_ESTEMP = bizMulEstEmp.GetEstEmp_DB(COMP_ID * , EST_ID * , ESTTERM_REF_ID * , ESTTERM_SUB_ID * , 0 * , ""); */ MicroBSC.Integration.COM.Biz.Biz_Rel_Dept_Emp bizRelDeptEmp = new MicroBSC.Integration.COM.Biz.Biz_Rel_Dept_Emp(); DT_DEPTEMP = bizRelDeptEmp.GetRelDeptEmp_DB(0 , COMP_ID , EST_ID , ESTTERM_REF_ID , ESTTERM_SUB_ID); DT_DEPTEMP.Columns.Add("TGT_DEPT_ID"); DT_DEPTEMP.Columns.Add("TGT_EMP_ID"); DT_DEPTEMP.Columns.Add("TGT_EMP_NAME"); DT_DEPTEMP.Columns.Add("TGT_CLASS_CODE"); DT_DEPTEMP.Columns.Add("TGT_CLS_NAME"); DT_DEPTEMP.Columns.Add("TGT_GRP_CODE"); DT_DEPTEMP.Columns.Add("TGT_GRP_NAME"); DT_DEPTEMP.Columns.Add("TGT_RANK_CODE"); DT_DEPTEMP.Columns.Add("TGT_RANK_NAME"); DT_DEPTEMP.Columns.Add("TGT_DUTY_CODE"); DT_DEPTEMP.Columns.Add("TGT_DUT_NAME"); DT_DEPTEMP.Columns.Add("TGT_KIND_CODE"); DT_DEPTEMP.Columns.Add("TGT_KND_NAME"); //랜덤 지정/해제 버튼 보이기 상태 setRndButtonVisible(); //매핑 확정/취소 버튼 보이기상태 if (CheckPossiblityCancelConfirm()) { ibnAddEstData.Visible = true; ibnDelEstData.Visible = true; } else { ibnAddEstData.Visible = false; ibnDelEstData.Visible = false; } //바인드 UltraWebGrid1.DataSource = dtMulEstEmp; UltraWebGrid1.DataBind(); if (dtMulEstEmp.Rows.Count > 0) { ibnRandom.Enabled = true; ibnDelRandom.Enabled = true; } else { ibnRandom.Enabled = false; ibnDelRandom.Enabled = false; } }
private void DoBinding_Emp(int dept_ref_id) { string filter = string.Format(" TGT_DEPT_ID = {0} ", dept_ref_id); string sort = "TGT_EMP_NAME"; string[] groupBy = { "TGT_DEPT_ID" , "TGT_DEPT_NAME" , "TGT_EMP_ID" , "TGT_EMP_NAME" , "TGT_POS_CLS_ID" , "TGT_POS_CLS_NAME" , "TGT_POS_DUT_ID" , "TGT_POS_DUT_NAME" , "TGT_POS_GRP_ID" , "TGT_POS_GRP_NAME" , "TGT_POS_RNK_ID" , "TGT_POS_RNK_NAME" , "TGT_POS_KND_ID" , "TGT_POS_KND_NAME" , "DIRECTION_TYPE" }; UltraWebGrid2.Columns[1].BaseColumnName = "TGT_EMP_NAME"; UltraWebGrid2.Columns[2].BaseColumnName = "TGT_POS_KND_NAME"; UltraWebGrid2.Columns[3].BaseColumnName = "TGT_POS_CLS_NAME"; UltraWebGrid2.Columns[4].BaseColumnName = "TGT_POS_DUT_NAME"; UltraWebGrid2.Columns[5].BaseColumnName = "TGT_EMP_ID"; //if (rdoEstTypeList.SelectedIndex.Equals(0)) //{ // filter = string.Format(" EST_DEPT_ID = {0} ", dept_ref_id); // sort = "EST_EMP_NAME"; // groupBy = new string[] { "EST_DEPT_ID" // ,"EST_DEPT_NAME" // ,"EST_EMP_ID" // ,"EST_EMP_NAME" // ,"EST_POS_CLS_ID" // ,"EST_POS_CLS_NAME" // ,"EST_POS_DUT_ID" // ,"EST_POS_DUT_NAME" // ,"EST_POS_GRP_ID" // ,"EST_POS_GRP_NAME" // ,"EST_POS_RNK_ID" // ,"EST_POS_RNK_NAME" // ,"EST_POS_KND_ID" // ,"EST_POS_KND_NAME" }; // UltraWebGrid2.Columns[1].BaseColumnName = "EST_EMP_NAME"; // UltraWebGrid2.Columns[2].BaseColumnName = "EST_POS_KND_NAME"; // UltraWebGrid2.Columns[3].BaseColumnName = "EST_POS_CLS_NAME"; // UltraWebGrid2.Columns[4].BaseColumnName = "EST_POS_DUT_NAME"; //} DataTable dtDeptEmp = DataTypeUtility.FilterSortDataTable(DataTypeUtility.GetGroupByDataTable(DataTypeUtility.FilterSortDataTable(DT_ESTTARGETMAP, filter) , groupBy) , "" , sort); UltraWebGrid2.DataSource = dtDeptEmp; UltraWebGrid2.DataBind(); //if (dtDeptEmp.Rows.Count > 0) //{ // ibnEmp.Enabled = true; //} //else //{ // ibnEmp.Enabled = false; //} }
private void GridBidingData(int comp_id , string est_id , int estterm_ref_id , int estterm_sub_id , int estterm_step_id) { // 평가정보를 가져온다. Biz_EstInfos estInfo = new Biz_EstInfos(comp_id, est_id); // 해당평가가 존재하는지 여부 체크 if (!estInfo.IsExists(comp_id, est_id)) { ltrScript.Text = JSHelper.GetAlertScript("선택된 회사의 평가정보가 없습니다."); return; } Biz_Est_Data bizEstData = new Biz_Est_Data(); if (DT_EST_DATA == null) { DT_EST_DATA = bizEstData.Get_Est_Data_Pos_Weight(comp_id , est_id , estterm_ref_id , estterm_sub_id , estterm_step_id); } DT_EST_DATA = DataTypeUtility.FilterSortDataTable(DT_EST_DATA, "TGT_DEPT_ID=10");//경영혁신팀만 조회 if (DataTypeUtility.FilterSortDataTable(DT_EST_DATA, "DEPT_POINT IS NULL").Rows.Count > 0) { this.ltrScript.Text = JSHelper.GetAlertScript("점수가 입력되지 않은 부서가 존재합니다."); iBtnApplyWeight.Visible = false; } Biz_Est_Pos_Weight bizEstPosWeight = new Biz_Est_Pos_Weight(); DataTable dt = bizEstPosWeight.Get_Est_Pos_Weight(comp_id , estterm_ref_id , est_id , 0 , "" , "" , 0); if (dt.Rows.Count > 0) { dt = DataTypeUtility.GetGroupByDataTable(dt, new string[] { "POS_ID" }); POS_ID = DataTypeUtility.GetString(dt.Rows[0]["POS_ID"]); Biz_PositionInfos bizPosInfo = new Biz_PositionInfos(POS_ID); if (bizPosInfo.Position_Table_Name != null && bizPosInfo.Position_Table_Name.Trim().Length > 0) { DT_EST_POS_WEIGHT = bizEstPosWeight.Get_Est_Pos_Weight(POS_ID , bizPosInfo.Position_Table_Name , DEPT_TYPE_REF_ID_LIST , comp_id , estterm_ref_id , est_id); int current_page = UltraWebGrid1.DisplayLayout.Pager.CurrentPageIndex; int page_size = UltraWebGrid1.DisplayLayout.Pager.PageSize; double page_cnt = Math.Ceiling((double)DT_EST_DATA.Rows.Count / page_size); CURRENT_PAGE = current_page; PAGE_CNT = DataTypeUtility.GetToInt32(page_cnt); DataTable dt_est_data = DT_EST_DATA.Copy(); for (int i = 0; i < (current_page - 1) * page_size; i++) { dt_est_data.Rows.RemoveAt(0); } UltraWebGrid1.Clear(); UltraWebGrid1.DataSource = dt_est_data; UltraWebGrid1.DataBind(); lblRowCount.Text = DT_EST_DATA.Rows.Count.ToString("#,##0"); } } }
protected void UltraWebGrid1_InitializeRow(object sender, RowEventArgs e) { string status_id = DataTypeUtility.GetString(e.Row.Cells.FromKey("STATUS_ID").Value); string status_img_path = DataTypeUtility.GetString(e.Row.Cells.FromKey("STATUS_IMG_PATH").Value); string imgTag = string.Format("<img src=\"{0}\" alt={1}>", status_img_path, status_id); e.Row.Cells.FromKey("STATUS_IMG").Value = imgTag; string popup_path = ""; if (EST_TGT_TYPE.Equals("TGT")) { popup_path = "EST110500M1.ASPX"; } else if (EST_TGT_TYPE.Equals("EST")) { popup_path = "EST110500M2.ASPX"; } e.Row.Cells.FromKey("POPUP_PATH").Value = popup_path; if (EST_TGT_TYPE.Equals("EST")) { if (ESTTERM_STEP_ID == 2) { string est_emp_id = DataTypeUtility.GetString(e.Row.Cells.FromKey("EST_EMP_ID").Value); string tgt_emp_id = DataTypeUtility.GetString(e.Row.Cells.FromKey("TGT_EMP_ID").Value); string filter = string.Format("EST_EMP_ID={0} AND TGT_EMP_ID={1}", est_emp_id, tgt_emp_id); DataTable dt_q_sbj_point = DataTypeUtility.FilterSortDataTable(DT_QUESTION_SBJ_POINT, filter); if (dt_q_sbj_point.Rows.Count > 0) { DataTable dt_groupBy_q_dfn = DataTypeUtility.GetGroupByDataTable(dt_q_sbj_point, "POINT", new string[] { "Q_DFN_ID" }, "POINT"); if (dt_groupBy_q_dfn.Rows.Count > 0) { double total_sum = 0; for (int i = 0; i < dt_groupBy_q_dfn.Rows.Count; i++) { string q_dfn_id = DataTypeUtility.GetString(dt_groupBy_q_dfn.Rows[i]["Q_DFN_ID"]); double avg_point = DataTypeUtility.GetToDouble(dt_groupBy_q_dfn.Rows[i]["AVG_POINT"]); e.Row.Cells.FromKey(q_dfn_id).Value = Math.Round(avg_point, 1); total_sum += avg_point; } double total_avg = total_sum / dt_groupBy_q_dfn.Rows.Count; e.Row.Cells.FromKey("Q_SBJ_POINT_AVG").Value = Math.Round(total_avg, 1); } } } else if (ESTTERM_STEP_ID == 3) { if (DT_EST_DATA_1ST == null) { int est_emp_id; if (IS_ADMIN) { est_emp_id = 0; } else { est_emp_id = gUserInfo.Emp_Ref_ID; } Biz_Datas est_data = new Biz_Datas(); DT_EST_DATA_1ST = est_data.GetEstData(COMP_ID , EST_ID , ESTTERM_REF_ID , ESTTERM_SUB_ID , 2 , 0 , est_emp_id , 0 , 0).Tables[0];//1차 평가 데이터 } string tgt_emp_id = DataTypeUtility.GetString(e.Row.Cells.FromKey("TGT_EMP_ID").Value); string filter = string.Format("TGT_EMP_ID={0}", tgt_emp_id); DataTable dt_filtered_est_data_1st = DataTypeUtility.FilterSortDataTable(DT_EST_DATA_1ST, filter); if (dt_filtered_est_data_1st.Rows.Count > 0) { string est_dept_id_1st = DataTypeUtility.GetString(dt_filtered_est_data_1st.Rows[0]["EST_DEPT_ID"]); string est_emp_id_1st = DataTypeUtility.GetString(dt_filtered_est_data_1st.Rows[0]["EST_EMP_ID"]); double point_org_1st = DataTypeUtility.GetToDouble(dt_filtered_est_data_1st.Rows[0]["POINT_ORG"]); double point_ctrl_org_1st = DataTypeUtility.GetToDouble(dt_filtered_est_data_1st.Rows[0]["POINT_CTRL_ORG"]); double point_org = DataTypeUtility.GetToDouble(e.Row.Cells.FromKey("POINT_ORG").Value); double point_ctrl_org = DataTypeUtility.GetToDouble(e.Row.Cells.FromKey("POINT_CTRL_ORG").Value); double point_balance; if (point_ctrl_org == 0) { point_org = point_ctrl_org_1st; e.Row.Cells.FromKey("POINT_ORG").Value = point_org; point_balance = 0; } else { point_balance = point_ctrl_org - point_org; } TemplatedColumn tc = (TemplatedColumn)UltraWebGrid1.Columns.FromKey("POINT_BALANCE"); Infragistics.WebUI.WebDataInput.WebNumericEdit ne = (Infragistics.WebUI.WebDataInput.WebNumericEdit)((CellItem)tc.CellItems[e.Row.Index]).FindControl("POINT_BALANCE"); ne.Value = point_balance; e.Row.Cells.FromKey("EST_DEPT_ID_1ST").Value = est_dept_id_1st; e.Row.Cells.FromKey("EST_EMP_ID_1ST").Value = est_emp_id_1st; e.Row.Cells.FromKey("POINT_ORG_1ST").Value = point_org_1st; e.Row.Cells.FromKey("POINT_CTRL_ORG_1ST").Value = point_ctrl_org_1st; } } } }
private void DataListBinding(DataTable dtPrjData) { Biz_QuestionObjects questionObjects = new Biz_QuestionObjects(EST_ID, Q_OBJ_ID); Q_OBJ_NAME = questionObjects.Q_Obj_Name; TOTALPOINT = 0; Biz_QuestionSubjects questionSubjects = new Biz_QuestionSubjects(); DataSet ds = questionSubjects.GetQuestionSubject("", Q_OBJ_ID, ""); if (ds.Tables.Count == 0) { return; } DataTable dt = DataTypeUtility.GetGroupByDataTable(ds.Tables[0], new string[] { "Q_DFN_ID" }); string q_dfn_ids = DataTypeUtility.GetSplitString(dt, "Q_DFN_ID", ","); if (!q_dfn_ids.Equals("")) { DefineDataBinding(q_dfn_ids); } NoDefineDataBinding(ds); //MicroBSC.Integration.EST.Biz.Biz_Est_Data bizEstData = new MicroBSC.Integration.EST.Biz.Biz_Est_Data(); //DataTable dtEstData = bizEstData.GetEstData(COMP_ID // , EST_ID // , ESTTERM_REF_ID // , ESTTERM_SUB_ID // , ESTTERM_STEP_ID // , "" // , EST_EMP_ID // , TGT_EMP_ID); //MicroBSC.Integration.PRJ.Biz.Biz_Prj_Data bizPrjData = new MicroBSC.Integration.PRJ.Biz.Biz_Prj_Data(); //DataTable dtPrjData = bizPrjData.Get_Prj_Data_List(PRJ_REF_ID // , COMP_ID // , EST_ID // , ESTTERM_REF_ID // , ESTTERM_SUB_ID // , ESTTERM_STEP_ID // , EST_DEPT_ID // , EST_EMP_ID // , TGT_DEPT_ID // , TGT_EMP_ID // , ""); //POINT_ORG = Math.Round(TOTALPOINT * 0.01, 2); //POINT_ORG = Math.Round(TOTALPOINT / 3, 1); POINT_ORG = DataTypeUtility.GetToDouble(dtPrjData.Rows[0]["POINT"]); if (POINT_ORG == 0) { ltrTotalPoint.Text = "미평가"; } else { ltrTotalPoint.Text = POINT_ORG.ToString("###.0") + " / 100"; } }
/// <summary> /// 1. 우선 테이블을 뿌리고 /// 2. 선을 그린다. /// </summary> private void BindMap() { divMapMain.InnerHtml = string.Empty; // 레벨별로 들어옴 DataTable dtMap = BizUtility.GetEstIDTree(COMP_ID); DataSet dsMap = new DataSet(); dsMap.Tables.Add(dtMap); // Relation 걸고 dsMap.Relations.Add("Relation", dsMap.Tables[0].Columns["EST_ID"], dsMap.Tables[0].Columns["UP_EST_ID"], false); // 선그리기용 HashTable --- EST_ID + TableName // 테이블의명을 알아야 선을 그릴 수 있으므로 테이블명을 저장하는 HashTable이 필요함. Hashtable htDraw = new Hashtable(); string strRootTableName = string.Empty; string strTableName = string.Empty; string strTableNameFormat = "div_{0}_{1}"; string strRoot = string.Empty; strRootTableName = strTableName; int intRootLevel = 0; // 레벨별 간격 int intHeight = 15; // Root // Root 레벨도 일반 레벨과 크게 다른점 없이 Loop로 돌리면 되지만 Root에서 // 차후에 유지/보수할 내용이 있을 것 같아서 따로 처리했음 // GetRootHtml() DataRow[] drRoot = dtMap.Select(string.Format("LEVEL = '{0}'", intRootLevel.ToString())); if (drRoot.Length != 0) { strTableName = string.Format(strTableNameFormat, intRootLevel.ToString(), intRootLevel.ToString()); strRoot = string.Format(GetRootHtml(), drRoot[0]["PADDING"].ToString(), strTableName, GetRootName(drRoot[0]["EST_NAME"].ToString()), drRoot[0]["HEADER_COLOR"].ToString()); divMapMain.InnerHtml += strRoot; htDraw.Add(drRoot[0]["EST_ID"].ToString(), strTableName); } // 간격 divMapMain.InnerHtml += string.Format("<table><tr style='height:{0}'><td></td></tr></table>", intHeight.ToString()); // Root를 제외한 레벨DataTable DataTable dtLevel = DataTypeUtility.GetGroupByDataTable(dtMap, new string[] { "LEVEL" }); DataView dvLevel1Over = dtLevel.DefaultView; dvLevel1Over.RowFilter = string.Format("LEVEL >= {0}", (intRootLevel + 1).ToString()); dvLevel1Over.Sort = "LEVEL"; // 레벨별로 처리했음 // 각 레벨별로 <tr><td><table>로 생성됨 for (int j = 0; j < dvLevel1Over.Count; j++) { int intCurrentLevel = DataTypeUtility.GetToInt32(dvLevel1Over[j]["LEVEL"]); DataRow[] drsLevel = dtMap.Select(string.Format("LEVEL = '{0}'", intCurrentLevel.ToString())); divMapMain.InnerHtml += "<table border='0'><tr>"; for (int i = 0; i < drsLevel.Length; i++) { strTableName = string.Format(strTableNameFormat, intCurrentLevel, i.ToString()); string est_name = GetRootName(drsLevel[i]["EST_NAME"].ToString()); string est_id = drsLevel[i]["EST_ID"].ToString(); string status_style_id = GetItemName(drsLevel[i]["STATUS_STYLE_ID"].ToString()); string est_sche_name = GetItemName(drsLevel[i]["EST_SCHE_NAME"].ToString()); string header_color = "05"; string weight_type = drsLevel[i]["WEIGHT_TYPE"].ToString(); string weight = string.Empty; string weight_name = string.Empty; string scale_name = GetScaleName(est_id); //if (!scale_name.Equals("-")) //{ weight_name = GetWeightName(est_id, weight_type, ref weight); if (!weight.Equals("") && !scale_name.Equals("")) { header_color = "01"; } else if (!weight.Equals("") || !scale_name.Equals("")) { header_color = "03"; } //} //else // scale_name = scale_name.Equals("-") ? "<center>" + scale_name + "</center>" : scale_name; // 레벨안의 Item의 간격 조정을 padding-left로 되며 EST_MAP_PADDING에서 Select divMapMain.InnerHtml += string.Format("<td style='padding-left:{0}px'>", DataTypeUtility.GetString(drsLevel[i]["PADDING"].ToString())); divMapMain.InnerHtml += string.Format(GetItemHtml() , strTableName , est_name , (scale_name.Replace(" ", "").Trim().Equals("")) ? "" : scale_name + "<br>" , weight_name , header_color); divMapMain.InnerHtml += "</td>"; htDraw.Add(est_id, strTableName); } divMapMain.InnerHtml += "</tr></table>"; // 간격 divMapMain.InnerHtml += string.Format("<table><tr style='height:{0}'><td></td></tr></table>", intHeight.ToString()); } // 2. 선 Draw(Javascript) DrawMapLine(dtMap, htDraw); }