protected void lbnSavePOS_Click(object sender, EventArgs e) { Biz_DeptPosScales deptPosScale = new Biz_DeptPosScales(); Biz_DeptInfos deptInfo = new Biz_DeptInfos(); DataTable dataTable = deptPosScale.GetDataTableSchema(); DataTable dtDept = deptInfo.GetDataTableSchema(); DataRow drRow = null; string[] dept_values = hdfDeptID.Value.Split(','); dataTable = UltraGridUtility.GetDataTableByAllValue(UltraWebGrid3 , new string[] { "SEQ", "POS_ID", "POS_VALUE", "SCALE_ID" } , dataTable); foreach (string dept_value in dept_values) { drRow = dtDept.NewRow(); drRow["DEPT_REF_ID"] = DataTypeUtility.GetToInt32(dept_value); dtDept.Rows.Add(drRow); } if (dataTable.Rows.Count == 0) { ltrScript.Text = JSHelper.GetAlertScript("적용하려는 부서별 평가방법이 없습니다."); return; } foreach (DataRow dataRow in dataTable.Rows) { dataRow["COMP_ID"] = COMP_ID; dataRow["EST_ID"] = EST_ID; dataRow["ESTTERM_REF_ID"] = ESTTERM_REF_ID; dataRow["DATE"] = DateTime.Now; dataRow["USER"] = EMP_REF_ID; } bool isOK = deptPosScale.SaveDeptPosScaleAll(dtDept, dataTable); if (isOK) { ltrScript.Text = JSHelper.GetAlertScript("선택부서의 평가방법을 일괄 적용하였습니다."); GridBinding2(COMP_ID, ESTTERM_REF_ID, EST_ID); UltraWebGrid3.Clear(); hdfDeptID.Value = ""; } else { ltrScript.Text = JSHelper.GetAlertScript("정상적으로 처리 않았습니다."); } }
private void GridBinding2(int comp_id, int estterm_ref_id, string est_id) { Biz_DeptEstDetails deptEstDetail = new Biz_DeptEstDetails(); _dtEstScale = deptEstDetail.GetDeptEstDetail(comp_id, estterm_ref_id, 0, est_id).Tables[0]; Biz_DeptPosScales deptPosScale = new Biz_DeptPosScales(); _dtPosScale = deptPosScale.GetDeptPosScale(comp_id, estterm_ref_id, 0, est_id).Tables[0]; UltraWebGrid2.Clear(); UltraWebGrid2.DataSource = BizUtility.GetDeptTree(" "); UltraWebGrid2.DataBind(); }
private void GridBinding3(int comp_id, int estterm_ref_id, int dept_ref_id, string est_id) { if (dept_ref_id == 0) { return; } Biz_DeptPosScales deptPosScale = new Biz_DeptPosScales(); _dtPosScale = deptPosScale.GetDeptPosScale(comp_id , estterm_ref_id , dept_ref_id , est_id).Tables[0]; UltraWebGrid3.Clear(); UltraWebGrid3.DataSource = _dtPosScale; UltraWebGrid3.DataBind(); }
protected void ibnInit2_Click(object sender, ImageClickEventArgs e) { Biz_DeptPosScales deptPosScale = new Biz_DeptPosScales(); Biz_DeptInfos deptInfo = new Biz_DeptInfos(); DataTable dataTable = deptPosScale.GetDataTableSchema(); DataTable dtDept = deptInfo.GetDataTableSchema(); dtDept.Columns.Add("COMP_ID", typeof(int)); dtDept.Columns.Add("EST_ID", typeof(string)); dtDept.Columns.Add("ESTTERM_REF_ID", typeof(int)); dtDept = UltraGridUtility.GetDataTableByCheckValue(UltraWebGrid2 , "cBox" , "selchk" , new string[] { "DEPT_REF_ID" } , dtDept); if (dtDept.Rows.Count == 0) { ltrScript.Text = JSHelper.GetAlertScript("초기화하려는 부서를 선택하세요."); return; } foreach (DataRow dataRow in dtDept.Rows) { dataRow["COMP_ID"] = COMP_ID; dataRow["EST_ID"] = EST_ID; dataRow["ESTTERM_REF_ID"] = ESTTERM_REF_ID; } bool isOK = deptPosScale.InitDept(dtDept); if (isOK) { ltrScript.Text = JSHelper.GetAlertScript("정상적으로 선택부서를 초기화 하였습니다."); GridBinding2(COMP_ID, ESTTERM_REF_ID, EST_ID); UltraWebGrid3.Clear(); } else { ltrScript.Text = JSHelper.GetAlertScript("정상적으로 처리되지 않았습니다."); } }
protected void ibnSavePosAll_Click(object sender, ImageClickEventArgs e) { Biz_DeptPosScales deptPosScale = new Biz_DeptPosScales(); Biz_DeptInfos deptInfo = new Biz_DeptInfos(); DataTable dataTable = deptPosScale.GetDataTableSchema(); DataTable dtDept = deptInfo.GetDataTableSchema(); dataTable = UltraGridUtility.GetDataTableByAllValue(UltraWebGrid3 , new string[] { "SEQ", "POS_ID", "POS_VALUE", "SCALE_ID" } , dataTable); dtDept = UltraGridUtility.GetDataTableByAllValue(UltraWebGrid2 , new string[] { "DEPT_REF_ID" } , dtDept); if (dataTable.Rows.Count == 0) { ltrScript.Text = JSHelper.GetAlertScript("적용하려는 부서별 평가방법이 없습니다."); return; } foreach (DataRow dataRow in dataTable.Rows) { dataRow["COMP_ID"] = COMP_ID; dataRow["EST_ID"] = EST_ID; dataRow["ESTTERM_REF_ID"] = ESTTERM_REF_ID; dataRow["DATE"] = DateTime.Now; dataRow["USER"] = EMP_REF_ID; } bool isOK = deptPosScale.SaveDeptPosScaleAll(dtDept, dataTable); if (isOK) { ltrScript.Text = JSHelper.GetAlertScript("모든 부서의 평가방법을 일괄 적용하였습니다."); GridBinding2(COMP_ID, ESTTERM_REF_ID, EST_ID); UltraWebGrid3.Clear(); } else { ltrScript.Text = JSHelper.GetAlertScript("정상적으로 처리 않았습니다."); } }
protected void ibnRemove_Click(object sender, ImageClickEventArgs e) { Biz_DeptPosScales deptPosScale = new Biz_DeptPosScales(); DataTable dataTable = deptPosScale.GetDataTableSchema(); dataTable = UltraGridUtility.GetDataTableByCheckValue(UltraWebGrid3 , "cBox" , "selchk" , new string[] { "DEPT_REF_ID", "SEQ" } , dataTable); if (dataTable.Rows.Count == 0) { ltrScript.Text = JSHelper.GetAlertScript("삭제하려는 항목을 선택하세요."); return; } foreach (DataRow dataRow in dataTable.Rows) { dataRow["COMP_ID"] = COMP_ID; dataRow["EST_ID"] = EST_ID; dataRow["ESTTERM_REF_ID"] = ESTTERM_REF_ID; } bool isOK = deptPosScale.RemoveDeptPosScale(dataTable); if (isOK) { GridBinding3(COMP_ID, ESTTERM_REF_ID, DataTypeUtility.GetToInt32(hdfDeptRefID.Value), EST_ID); hdfEstPosSeq.Value = ""; ltrScript.Text = JSHelper.GetAlertScript("정상적으로 처리되었습니다."); } else { ltrScript.Text = JSHelper.GetAlertScript("정상적으로 처리되지 않았습니다."); } }
protected void ibnSave3_Click(object sender, ImageClickEventArgs e) { if (CheckInsertPosScale()) { Biz_DeptPosScales deptPosScale = new Biz_DeptPosScales(); int dept_ref_id = DataTypeUtility.GetToInt32(hdfDeptRefID.Value); string pos_id = WebUtility.GetByValueDropDownList(ddlPositionType); string pos_value = WebUtility.GetByValueDropDownList(ddlPositionValue); string scale_id = WebUtility.GetByValueDropDownList(ddlScaleID); bool isOK = false; try { bool isDuplicate = deptPosScale.IsExist(COMP_ID , ESTTERM_REF_ID , dept_ref_id , EST_ID , 0 , pos_id , pos_value); if (isDuplicate) { if (hdfEstPosSeq.Value.Equals("")) { ltrScript.Text = JSHelper.GetAlertScript("변경하실 직급 구분을 선택하세요."); return; } isOK = deptPosScale.ModifyDeptPosScale(COMP_ID , ESTTERM_REF_ID , dept_ref_id , EST_ID , DataTypeUtility.GetToInt32(hdfEstPosSeq.Value) , pos_id , pos_value , scale_id , DateTime.Now , EMP_REF_ID); } else { isOK = deptPosScale.AddDeptPosScale(COMP_ID , ESTTERM_REF_ID , dept_ref_id , EST_ID , deptPosScale.NewIdx(COMP_ID, ESTTERM_REF_ID, dept_ref_id, EST_ID) , pos_id , pos_value , scale_id , DateTime.Now , EMP_REF_ID); } if (isOK) { GridBinding3(COMP_ID, ESTTERM_REF_ID, dept_ref_id, EST_ID); hdfEstPosSeq.Value = ""; } else { ltrScript.Text = JSHelper.GetAlertScript("저장 중 오류가 발생하였습니다."); } } catch (Exception ex) { ltrScript.Text = JSHelper.GetAlertScript("저장 중 오류가 발생하였습니다."); } } }
private string GetScaleName(string est_id) { //if(est_id.Equals("3B")) // System.Diagnostics.Debugger.Break(); Biz_EstInfos estInfo = new Biz_EstInfos(COMP_ID, est_id); string scale_id = string.Empty; string scale_name = ""; if (estInfo.Scale_Type.Equals("DPT")) { DataRow[] rows = DS_DETAIL.Tables[0].Select(string.Format(" EST_ID = '{0}' ", est_id)); if (rows.Length > 0) { scale_id = rows[0]["SCALE_ID"].ToString(); if (scale_id.Equals("ABS")) { scale_name = "<b>절대평가</b>"; } else if (scale_id.Equals("REL")) { string temp = string.Empty; Biz_RelGroupInfos biz = new Biz_RelGroupInfos(); DataSet ds = biz.GetRelGroupInfo(COMP_ID, "", est_id, ESTTERM_REF_ID); StringBuilder sbTemp = new StringBuilder(); int cnt = 0; foreach (DataRow row in ds.Tables[0].Rows) { cnt++; temp = string.Format("<a href='#' onclick=ViewEmpList('{0}','{1}','{2}','{3}')>{4}</a>" , COMP_ID , est_id , ESTTERM_REF_ID , row["REL_GRP_ID"].ToString() , row["REL_GRP_NAME"].ToString()); sbTemp.Append("<br> " + cnt.ToString() + ". " + temp); } temp = (temp.Length > 0) ? temp.Remove(temp.Length - 1, 1) : string.Empty; scale_name = "<b>상대평가</b>" + sbTemp.ToString(); } } } else if (estInfo.Scale_Type.Equals("POS")) { Biz_DeptPosScales deptPosScale = new Biz_DeptPosScales(); DataSet ds = deptPosScale.GetDeptPosScale(COMP_ID , ESTTERM_REF_ID , DataTypeUtility.GetToInt32(TreeView1.SelectedNode.Value) , est_id); if (ds.Tables[0].Rows.Count > 0) { scale_name = ""; bool isFirst = true; foreach (DataRow row in ds.Tables[0].Rows) { string no = " " + row["SEQ"].ToString() + "."; string pos_id = GetPosName(row["POS_ID"].ToString(), row["POS_VALUE"].ToString()); string temp = "<b>" + row["SCALE_NAME"].ToString().Replace("평가", "") + "</b>"; if (isFirst) { scale_name += no + pos_id + temp; isFirst = false; } else { scale_name += "<br>" + no + pos_id + temp; } } } else { scale_name = " -"; } } return(scale_name); }
/// <summary> /// 그리드 바인딩 메소드 /// </summary> /// <param name="comp_id"></param> /// <param name="est_id"></param> /// <param name="estterm_ref_id"></param> /// <param name="estterm_sub_id"></param> /// <param name="estterm_step_id"></param> 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)) { return; } // 만약 주기가 년간일 경우 if (YEAR_YN.Equals("Y")) { ESTTERM_SUB_ID = BizUtility.GetEstTermSubIDByYearYN(COMP_ID); } // 만약 차수가 합산일 경우 if (MERGE_YN.Equals("Y")) { ESTTERM_STEP_ID = BizUtility.GetEstTermStepIDByMergeYN(COMP_ID); } if (estInfo.Owner_Type != null && estInfo.Owner_Type.Equals("D")) { OwnerTypeMode = OwnerType.Dept; } else { OwnerTypeMode = OwnerType.Emp_User; } //if (estInfo.Owner_Type.Equals("D")) // OwnerTypeMode = OwnerType.Dept; //else // OwnerTypeMode = OwnerType.Emp_User; ScaleTypeMode = estInfo.Scale_Type; WeightTypeMode = estInfo.Weight_Type; if (estInfo.Bias_YN.Equals("Y")) { BiasYN = YesNo.Yes; } else { BiasYN = YesNo.No; } if (estInfo.Grade_Confirm_YN.Equals("Y")) { GradeConfirmYN = YesNo.Yes; } else { GradeConfirmYN = YesNo.No; } Biz_Datas est_data = new Biz_Datas(); int est_emp_id = 0;; int tgt_dept_id = 0; int tgt_emp_id = 0; if (OwnerTypeMode == OwnerType.Dept && DEPT_COLUMN_NO_USE_YN.Equals("Y")) { OwnerTypeMode = OwnerType.Emp_User; } else if (OwnerTypeMode == OwnerType.Emp_User && DEPT_COLUMN_NO_USE_YN.Equals("Y")) { OwnerTypeMode = OwnerType.Dept; } if (OwnerTypeMode == OwnerType.Dept) { if (EST_TGT_TYPE.Equals("EST")) { est_emp_id = 0; tgt_dept_id = TGT_DEPT_ID; tgt_emp_id = -1; } else if (EST_TGT_TYPE.Equals("TGT")) { est_emp_id = 0; tgt_dept_id = TGT_DEPT_ID; tgt_emp_id = -1; } } else if (OwnerTypeMode == OwnerType.Emp_User) { if (EST_TGT_TYPE.Equals("EST")) { est_emp_id = 0; tgt_dept_id = 0; tgt_emp_id = TGT_EMP_ID; } else if (EST_TGT_TYPE.Equals("TGT")) { est_emp_id = 0; tgt_dept_id = 0; tgt_emp_id = TGT_EMP_ID; } } DT_EST_DATA = est_data.GetEstData(comp_id , est_id , ESTTERM_REF_ID , ESTTERM_SUB_ID , ESTTERM_STEP_ID , 0 , est_emp_id , tgt_dept_id , tgt_emp_id , YEAR_YN , MERGE_YN , OwnerTypeMode).Tables[0]; // 조회된 데이터가 존재할 경우 if (DT_EST_DATA != null) { // 만약 가중치 보이기 Y 일때 if (COL_WEIGHT_VISIBLE_YN.Equals("Y")) { //2012.01.16 박효동 : 하위평가를 가져오니 문제가 있어서 수정 // - MBO의 하위평가를 가져오도록 평가컬럼설정이 되있는데 현재는 현재평가의 하위차수를 가져오니 안나오더라 // - 해서 평가컬럼설정에 등록되어있는 POINT_평가아이디에 해당하는 평가아이디를 가져오도록 수정 휴~~ // 하위평가 정보를 가지고 온다. //DataTable _dtEstID = estInfo.GetEstInfoByUpEstID(comp_id, est_id).Tables[0]; DataTable _dtEstID = estInfo.GetEstInfoByUpEstID(comp_id, est_id).Tables[0]; _dtEstID.Rows.Clear(); Biz_ColumnInfos colInfo = new Biz_ColumnInfos(); DataTable dtEstID = colInfo.GetColumnInfo(COMP_ID, EST_ID).Tables[0]; foreach (DataRow dr in dtEstID.Rows) { string colnames = dr[6].ToString(); if (colnames.Length > 5) { if (colnames.Substring(0, 6) == "POINT_" && colnames.Length == 8) { DataRow insertDR = _dtEstID.NewRow(); insertDR["EST_ID"] = colnames.Remove(0, 6); _dtEstID.Rows.Add(insertDR); insertDR = null; } } } foreach (DataRow dataRow in _dtEstID.Rows) { DT_EST_DATA.Columns.Add(string.Format("WEIGHT_{0}", dataRow["EST_ID"]), typeof(double)); // 평가별 점수 보이기 여부에 따라 if (COL_POINT_VISIBLE_YN.Equals("Y")) { DT_EST_DATA.Columns.Add(string.Format("POINT_{0}", dataRow["EST_ID"]), typeof(double)); DataTable dtEstData = est_data.GetData(comp_id , dataRow["EST_ID"].ToString() , ESTTERM_REF_ID , ESTTERM_SUB_ID , ESTTERM_STEP_ID , 0 , est_emp_id , tgt_dept_id , tgt_emp_id , YEAR_YN , MERGE_YN , OwnerTypeMode).Tables[0]; foreach (DataRow drEstData in dtEstData.Rows) { DataRow[] drArrEstData = DT_EST_DATA.Select(string.Format(@"ESTTERM_REF_ID = {0} AND ESTTERM_SUB_ID = {1} AND ESTTERM_STEP_ID = {2} AND TGT_DEPT_ID = {3} AND TGT_EMP_ID = {4}" , drEstData["ESTTERM_REF_ID"] , drEstData["ESTTERM_SUB_ID"] , drEstData["ESTTERM_STEP_ID"] , drEstData["TGT_DEPT_ID"] , drEstData["TGT_EMP_ID"])); if (drArrEstData.Length > 0) { drArrEstData[0][string.Format("POINT_{0}", dataRow["EST_ID"])] = drEstData["POINT"]; } } } } } // 등급 컬럼 보이기가 Y 일경우 (이건 DT_EST_DATA 과 관계 없음) if (COL_GRADE_VISIBLE_YN.Equals("Y") || COL_GRADE_TO_POINT_VISIBLE_YN.Equals("Y")) { Biz_DeptEstDetails deptEstDetail = new Biz_DeptEstDetails(); DT_DEPT_SCALE = deptEstDetail.GetDeptEstDetail(comp_id, estterm_ref_id, 0, est_id).Tables[0]; Biz_DeptPosScales deptPosScale = new Biz_DeptPosScales(); DT_POS_SCALE = deptPosScale.GetDeptPosScale(comp_id, estterm_ref_id, 0, est_id).Tables[0]; Biz_Scopes scope = new Biz_Scopes(); DT_SCOPE = scope.GetScope(comp_id, est_id).Tables[0]; DT_EST_DATA.Columns.Add("RANK", typeof(double)); DT_EST_DATA.Columns.Add("SCALE_ID", typeof(string)); DT_EST_DATA.Columns.Add("SCALE_NAME", typeof(string)); DT_EST_DATA.Columns.Add("GRADE_CALC_ID", typeof(string)); } if (COL_ESTTERM_SUB_AGG_VISIBLE_YN.Equals("Y")) { } if (COL_ESTTERM_STEP_AGG_VISIBLE_YN.Equals("Y")) { } if (COL_CTRL_POINT_VISIBLE_YN.Equals("Y") || COL_CTRL_GRADE_VISIBLE_YN.Equals("Y")) { Biz_CtrlEstMaps ctrlEstDeptMap = new Biz_CtrlEstMaps(); DT_CTRL_INFO = ctrlEstDeptMap.GetCtrlInfoByEstID(COMP_ID, EST_ID).Tables[0]; DT_CTRL_EST_DEPT_MAP = ctrlEstDeptMap.GetCtrlEstDeptByEstID(COMP_ID, EST_ID).Tables[0]; if (COL_CTRL_POINT_VISIBLE_YN.Equals("Y")) { Biz_CtrlPointDatas ctrlPointData = new Biz_CtrlPointDatas(); DT_CTRL_POINT_DATA = ctrlPointData.GetCtrlPointData(comp_id , est_id , estterm_ref_id , estterm_sub_id , estterm_step_id , 0 , 0 , 0 , 0).Tables[0]; } if (COL_CTRL_GRADE_VISIBLE_YN.Equals("Y")) { Biz_CtrlGradeDatas ctrlGradeData = new Biz_CtrlGradeDatas(); DT_CTRL_GRADE_DATA = ctrlGradeData.GetCtrlGradeData(comp_id , est_id , estterm_ref_id , estterm_sub_id , estterm_step_id , 0 , 0 , 0 , 0).Tables[0]; } } UltraWebGrid1.Clear(); UltraWebGrid1.DataSource = DT_EST_DATA; UltraWebGrid1.DataBind(); } }
protected void ibnSave_Click(object sender, ImageClickEventArgs e) { if (ESTTERM_REF_ID_FROM == ESTTERM_REF_ID_TO && ESTTERM_SUB_ID_FROM == ESTTERM_SUB_ID_TO) { ltrScript.Text = JSHelper.GetAlertScript("기준대상과 피참조대상의 기간이 같습니다. 다시 설정하세요."); return; } bool isOK = false; if (TYPE.Equals("1")) { if (ESTTERM_REF_ID_FROM == ESTTERM_REF_ID_TO) { ltrScript.Text = JSHelper.GetAlertScript("기준대상과 피참조대상의 기간이 같습니다. 다시 설정하세요."); return; } Biz_DeptEstDetails deptEstDetail = new Biz_DeptEstDetails(); Biz_DeptPosScales deptPosScale = new Biz_DeptPosScales(); isOK = deptEstDetail.CopyDataFromTo(COMP_ID , ESTTERM_REF_ID_FROM , ESTTERM_REF_ID_TO , DateTime.Now , EMP_REF_ID); if (isOK) { deptPosScale.CopyDataFromTo(COMP_ID , ESTTERM_REF_ID_FROM , ESTTERM_REF_ID_TO , DateTime.Now , EMP_REF_ID); } } else if (TYPE.Equals("2")) { if (ESTTERM_REF_ID_FROM == ESTTERM_REF_ID_TO) { ltrScript.Text = JSHelper.GetAlertScript("기준대상과 피참조대상의 기간이 같습니다. 다시 설정하세요."); return; } Biz_DeptPosDetails deptPosScale = new Biz_DeptPosDetails(); isOK = deptPosScale.CopyDataFromTo(COMP_ID , ESTTERM_REF_ID_FROM , ESTTERM_REF_ID_TO , DateTime.Now , EMP_REF_ID); } else if (TYPE.Equals("3")) { if (ESTTERM_REF_ID_FROM == ESTTERM_REF_ID_TO) { ltrScript.Text = JSHelper.GetAlertScript("기준대상과 피참조대상의 기간이 같습니다. 다시 설정하세요."); return; } Biz_RelGroupInfos relGroupInfo = new Biz_RelGroupInfos(); isOK = relGroupInfo.CopyDataFromTo(COMP_ID , ESTTERM_REF_ID_FROM , ESTTERM_REF_ID_TO , DateTime.Now , EMP_REF_ID); } else if (TYPE.Equals("4")) { Biz_EmpEstTargetMaps empEstTgtMap = new Biz_EmpEstTargetMaps(); isOK = empEstTgtMap.CopyDataFromTo(COMP_ID , "" , ESTTERM_REF_ID_FROM , ESTTERM_SUB_ID_FROM , ESTTERM_STEP_ID_FROM , ESTTERM_REF_ID_TO , ESTTERM_SUB_ID_TO , ESTTERM_STEP_ID_TO , DateTime.Now , EMP_REF_ID); } else if (TYPE.Equals("5")) { if (ESTTERM_REF_ID_FROM == ESTTERM_REF_ID_TO && ESTTERM_SUB_ID_FROM == ESTTERM_SUB_ID_TO) { ltrScript.Text = JSHelper.GetAlertScript("기준대상과 피참조대상의 기간이 같습니다. 다시 설정하세요."); return; } Biz_QuestionDeptEmpMaps questionDeptEmp = new Biz_QuestionDeptEmpMaps(); isOK = questionDeptEmp.CopyEstDataFromTo(COMP_ID , ESTTERM_REF_ID_FROM , ESTTERM_SUB_ID_FROM , ESTTERM_REF_ID_TO , ESTTERM_SUB_ID_TO , DateTime.Now , EMP_REF_ID); } if (isOK) { ltrScript.Text = JSHelper.GetAlertScript("정상적으로 데이터가 참조되었습니다."); } else { ltrScript.Text = JSHelper.GetAlertScript("참조 중 오류가 발생하였습니다."); } }