Ejemplo n.º 1
0
    private void ViewOne(int comp_id, string est_id, string col_key)
    {
        Biz_ColumnInfos  columnInfos  = new Biz_ColumnInfos(comp_id, est_id, col_key);
        Biz_ColumnStyles columnStyles = new Biz_ColumnStyles(columnInfos.Col_Style_ID);

        txtSeq.Text     = columnInfos.Seq.ToString();
        txtColName.Text = columnInfos.Col_Name;
        WebUtility.FindByValueDropDownList(ddlColStyleID, columnInfos.Col_Style_ID);
        txtColKey.Text  = columnInfos.Col_Key;
        txtCaption.Text = columnInfos.Caption;
        txtWidth.Text   = columnInfos.Width.ToString();

        WebUtility.FindByValueDropDownList(ddlDataType, columnInfos.Data_Type);
        WebUtility.FindByValueDropDownList(ddlHAlign, columnInfos.Halign);
        txtBackColor.Text    = columnInfos.Back_Color;
        txtFormat.Text       = columnInfos.Format;
        txtFormula.Text      = columnInfos.Formula;
        txtDefaultValue.Text = columnInfos.Default_Value;
        txtColDesc.Text      = columnInfos.Col_Desc;

        ckbBackColorYN.Checked    = DataTypeUtility.GetYNToBoolean(columnInfos.Back_color_YN);
        ckbFormatYN.Checked       = DataTypeUtility.GetYNToBoolean(columnInfos.Format_YN);
        ckbFormularYN.Checked     = DataTypeUtility.GetYNToBoolean(columnInfos.Formula_YN);
        ckbDefaultValueYN.Checked = DataTypeUtility.GetYNToBoolean(columnInfos.Default_Value_YN);
        WebUtility.FindByValueRadioButtonList(rbnVisibleYN, columnInfos.Visible_YN);
        WebUtility.FindByValueRadioButtonList(rbnColEmpVisibleYN, columnInfos.Col_Emp_Visible_YN);
        //WebUtility.FindByValueRadioButtonList(rbnGradeToPointVisibleYN, columnInfos.Col_Grade_To_Point_Visible_YN);

        BindEstJob(COMP_ID, EST_ID, col_key);

        ddlColStyleID_SelectedIndexChanged(null, null);
    }
Ejemplo n.º 2
0
    private void GridBinding(int comp_id)
    {
        Biz_ColumnInfos columnInfos = new Biz_ColumnInfos();
        DataSet         ds          = columnInfos.GetColumnInfo(comp_id, EST_ID, "");

        UltraWebGrid1.DataSource = ds;
        UltraWebGrid1.DataBind();

        lblRowCount.Text = ds.Tables[0].Rows.Count.ToString();
    }
Ejemplo n.º 3
0
    protected void ibnCheckID_Click(object sender, ImageClickEventArgs e)
    {
        Biz_ColumnInfos columnInfos = new Biz_ColumnInfos();
        bool            bDuplicate  = columnInfos.IsExist(COMP_ID, EST_ID, txtColKey.Text.Trim());

        if (bDuplicate)
        {
            ltrScript.Text = JSHelper.GetAlertScript("동일한 컬럼키가 존재합니다.");
            return;
        }
        else
        {
            ltrScript.Text = JSHelper.GetAlertScript("사용가능한 컬럼키입니다.");
            return;
        }
    }
Ejemplo n.º 4
0
    protected void itnDelete_Click(object sender, ImageClickEventArgs e)
    {
        string col_key = txtColKey.Text.Trim();

        Biz_ColumnInfos columnInfos = new Biz_ColumnInfos();
        bool            bResult     = columnInfos.RemoveColumnInfo(COMP_ID, EST_ID, col_key);

        if (bResult)
        {
            //ltrScript.Text = JSHelper.GetAlertScript("삭제되었습니다.", false);

            GridBinding(COMP_ID);
            ButtonStatusInit();
        }
        else
        {
            ltrScript.Text = JSHelper.GetAlertScript("삭제되지 않았습니다.");
        }
    }
Ejemplo n.º 5
0
    /// <summary>
    /// 평가 페이지에서 EST_ID에 따라서 컬럼을 동적으로 생성한다.
    /// </summary>
    /// <param name="ultraWebGrid"></param>
    /// <param name="est_id"></param>
    /// <param name="default_index_count"></param>
    /// <param name="dataTable"></param>
    public static void CreateColumns(UltraWebGrid ultraWebGrid
                                     , int comp_id
                                     , string est_id
                                     , int default_index_count
                                     , out DataTable dataTable
                                     , string owner_type
                                     , string[] est_job_ids
                                     , string dept_column_no_use_yn)
    {
        Biz_ColumnInfos columnInfo = new Biz_ColumnInfos();
        Biz_EstInfos    estInfo    = new Biz_EstInfos(comp_id, est_id);

        dataTable = columnInfo.GetColumnInfo(comp_id, est_id).Tables[0];
        DataRow         dataRow      = null;
        UltraGridColumn ultraGridCol = null;
        int             i            = 0;

        owner_type = estInfo.Owner_Type;

        Biz_JobColumnMaps jobColumnMap = new Biz_JobColumnMaps();
        DataTable         dtColumnMap  = null;

        Biz_PositionInfos positionInfo = new Biz_PositionInfos();
        DataTable         dtPosNotUse  = positionInfo.GetPositionInfoByUseYN("N").Tables[0];

        foreach (string est_job_id in est_job_ids)
        {
            if (dtColumnMap == null)
            {
                dtColumnMap = jobColumnMap.GetJobColumnMap(comp_id
                                                           , est_id
                                                           , est_job_id).Tables[0];
            }
            else
            {
                dtColumnMap.Merge(dtColumnMap);
            }
        }

        for (int j = ultraWebGrid.Bands[0].Columns.Count; j > default_index_count; j--)
        {
            ultraWebGrid.Bands[0].Columns.RemoveAt(j - 1);
            ultraWebGrid.DisplayLayout.Bands[0].HeaderLayout.RemoveAt(j - 1);
        }

        for (; i < dataTable.Rows.Count; i++)
        {
            dataRow = dataTable.Rows[i];

            //--------------------- 일반 컬럼일 경우
            if (dataRow["COL_STYLE_ID"].ToString().Equals("NML"))
            {
                ultraGridCol = new UltraGridColumn();
                ultraWebGrid.Bands[0].Columns.Add(ultraGridCol);

                ultraGridCol.Header.Caption      = dataRow["CAPTION"].ToString();
                ultraGridCol.Header.Column.Width = (dataRow["WIDTH"] == DBNull.Value) ? 100 : DataTypeUtility.GetToInt32(dataRow["WIDTH"]);
                ultraGridCol.Header.Column.Key   = dataRow["COL_KEY"].ToString();

                if (DataTypeUtility.GetYNToBoolean(dataRow["DEFAULT_VALUE_YN"].ToString()) == false)
                {
                    ultraGridCol.Header.Column.BaseColumnName = dataRow["COL_KEY"].ToString();
                }

                ultraGridCol.Header.RowLayoutColumnInfo.OriginX = i + default_index_count + -1;
                ultraGridCol.CellStyle.HorizontalAlign          = UltraGridUtility.GetHorizontalAlign(dataRow["HALIGN"]);
                ultraGridCol.DataType = dataRow["DATA_TYPE"].ToString();
                ultraGridCol.Hidden   = !DataTypeUtility.GetYNToBoolean(dataRow["VISIBLE_YN"].ToString());

                if (DataTypeUtility.GetYNToBoolean(dataRow["BACK_COLOR_YN"].ToString()))
                {
                    if (dataRow["BACK_COLOR"] != DBNull.Value ||
                        dataRow["BACK_COLOR"].ToString().Trim().Equals(""))
                    {
                        ultraGridCol.CellStyle.BackColor = Color.FromName(dataRow["BACK_COLOR"].ToString());
                    }
                }

                if (DataTypeUtility.GetYNToBoolean(dataRow["FORMAT_YN"].ToString()))
                {
                    if (dataRow["FORMAT"] != DBNull.Value ||
                        dataRow["FORMAT"].ToString().Trim().Equals(""))
                    {
                        ultraGridCol.Format = dataRow["FORMAT"].ToString();
                    }
                }

                if (DataTypeUtility.GetYNToBoolean(dataRow["FORMULA_YN"].ToString()))
                {
                    if (dataRow["FORMULA_YN"] != DBNull.Value ||
                        dataRow["FORMULA_YN"].ToString().Trim().Equals(""))
                    {
                        ultraGridCol.Format = dataRow["FORMULA"].ToString();
                    }
                }

                if (DataTypeUtility.GetYNToBoolean(dataRow["DEFAULT_VALUE_YN"].ToString()))
                {
                    if (dataRow["DEFAULT_VALUE_YN"] != DBNull.Value ||
                        dataRow["DEFAULT_VALUE_YN"].ToString().Trim().Equals(""))
                    {
                        ultraGridCol.NullText = WebUtility.GetHtmlEncodeChar(dataRow["DEFAULT_VALUE"].ToString());
                    }
                }

                // 평가 주체가 부서인경우 (사원컬럼이면 보이기를 숨김으로 한다)
                if (owner_type.Equals("D") && dept_column_no_use_yn.Equals("N"))
                {
                    if (dataRow["COL_EMP_VISIBLE_YN"].ToString().Equals("Y"))
                    {
                        ultraGridCol.Hidden = true;
                    }
                }
                else if (owner_type.Equals("P") && dept_column_no_use_yn.Equals("Y"))
                {
                    if (dataRow["COL_EMP_VISIBLE_YN"].ToString().Equals("Y"))
                    {
                        ultraGridCol.Hidden = true;
                    }
                }

                VisiblePosColumn(dtPosNotUse, ultraGridCol, dataRow["COL_KEY"].ToString());
            }
            //--------------------- 존재하는 컬럼일 경우
            else if (dataRow["COL_STYLE_ID"].ToString().Equals("BLK"))
            {
                try
                {
                    ultraWebGrid.Bands[0].Columns.FromKey(dataRow["COL_KEY"].ToString()).Hidden = !DataTypeUtility.GetYNToBoolean(dataRow["VISIBLE_YN"].ToString());
                }
                catch
                {
                }
            }
            //--------------------- 업무관련 컬럼
            else if (dataRow["COL_STYLE_ID"].ToString().Equals("BIZ"))
            {
                ultraGridCol = new UltraGridColumn();
                ultraWebGrid.Bands[0].Columns.Add(ultraGridCol);

                ultraGridCol.Header.Caption      = dataRow["CAPTION"].ToString();
                ultraGridCol.Header.Column.Width = (dataRow["WIDTH"] == DBNull.Value) ? 100 : DataTypeUtility.GetToInt32(dataRow["WIDTH"]);
                ultraGridCol.Header.Column.Key   = dataRow["COL_KEY"].ToString();

                if (DataTypeUtility.GetYNToBoolean(dataRow["DEFAULT_VALUE_YN"].ToString()) == false)
                {
                    ultraGridCol.Header.Column.BaseColumnName = dataRow["COL_KEY"].ToString();
                }

                ultraGridCol.Header.RowLayoutColumnInfo.OriginX = i + default_index_count + -1;
                ultraGridCol.CellStyle.HorizontalAlign          = UltraGridUtility.GetHorizontalAlign(dataRow["HALIGN"]);
                ultraGridCol.DataType = dataRow["DATA_TYPE"].ToString();
                // 미리 숨김을 함
                ultraGridCol.Hidden = true;

                if (DataTypeUtility.GetYNToBoolean(dataRow["BACK_COLOR_YN"].ToString()))
                {
                    if (dataRow["BACK_COLOR"] != DBNull.Value ||
                        dataRow["BACK_COLOR"].ToString().Trim().Equals(""))
                    {
                        ultraGridCol.CellStyle.BackColor = Color.FromName(dataRow["BACK_COLOR"].ToString());
                    }
                }

                if (DataTypeUtility.GetYNToBoolean(dataRow["FORMAT_YN"].ToString()))
                {
                    if (dataRow["FORMAT"] != DBNull.Value ||
                        dataRow["FORMAT"].ToString().Trim().Equals(""))
                    {
                        ultraGridCol.Format = dataRow["FORMAT"].ToString();
                    }
                }

                if (DataTypeUtility.GetYNToBoolean(dataRow["FORMULA_YN"].ToString()))
                {
                    if (dataRow["FORMULA_YN"] != DBNull.Value ||
                        dataRow["FORMULA_YN"].ToString().Trim().Equals(""))
                    {
                        ultraGridCol.Format = dataRow["FORMULA_YN"].ToString();
                    }
                }

                if (DataTypeUtility.GetYNToBoolean(dataRow["DEFAULT_VALUE_YN"].ToString()))
                {
                    if (dataRow["DEFAULT_VALUE_YN"] != DBNull.Value ||
                        dataRow["DEFAULT_VALUE_YN"].ToString().Trim().Equals(""))
                    {
                        ultraGridCol.NullText = WebUtility.GetHtmlEncodeChar(dataRow["DEFAULT_VALUE"].ToString());
                    }
                }

                // COL_KEY 와 EST_JOB_ID 간에 매핑에 따라 보여주기 여부 처리
                foreach (DataRow drColMap in dtColumnMap.Rows)
                {
                    if (ultraGridCol.Hidden == true)
                    {
                        if (drColMap["COL_KEY"].ToString() == dataRow["COL_KEY"].ToString())
                        {
                            ultraGridCol.Hidden = false;
                            break;
                        }
                    }
                }

                if (ultraGridCol.Hidden == false)
                {
                    ultraGridCol.Hidden = !DataTypeUtility.GetYNToBoolean(dataRow["VISIBLE_YN"].ToString());
                }

                // 평가 주체가 부서인경우 (사원컬럼이면 보이기를 숨김으로 한다)
                if (owner_type.Equals("D") && dept_column_no_use_yn.Equals("N"))
                {
                    if (dataRow["COL_EMP_VISIBLE_YN"].ToString().Equals("Y"))
                    {
                        ultraGridCol.Hidden = true;
                    }
                }
                else if (owner_type.Equals("P") && dept_column_no_use_yn.Equals("Y"))
                {
                    if (dataRow["COL_EMP_VISIBLE_YN"].ToString().Equals("Y"))
                    {
                        ultraGridCol.Hidden = true;
                    }
                }

                VisiblePosColumn(dtPosNotUse, ultraGridCol, dataRow["COL_KEY"].ToString());
            }
        }
    }
Ejemplo n.º 6
0
    protected void ibnSave_Click(object sender, ImageClickEventArgs e)
    {
        int    seq                = DataTypeUtility.GetToInt32(txtSeq.Text.Trim());
        string col_name           = txtColName.Text.Trim();
        string col_style_id       = WebUtility.GetByValueDropDownList(ddlColStyleID);
        string col_key            = txtColKey.Text.Trim();
        string caption            = txtCaption.Text.Trim();
        int    width              = DataTypeUtility.GetToInt32(txtWidth.Text.Trim());
        string data_type          = WebUtility.GetByValueDropDownList(ddlDataType);
        string halign             = WebUtility.GetByValueDropDownList(ddlHAlign);
        string back_color         = txtBackColor.Text.Trim();
        string format             = txtFormat.Text;
        string formula            = txtFormula.Text.Trim();
        string defaultValue       = txtDefaultValue.Text.Trim();
        string col_desc           = txtColDesc.Text.Trim();
        string back_color_yn      = DataTypeUtility.GetBooleanToYN(ckbBackColorYN.Checked);
        string format_yn          = DataTypeUtility.GetBooleanToYN(ckbFormatYN.Checked);
        string formula_yn         = DataTypeUtility.GetBooleanToYN(ckbFormularYN.Checked);
        string defaultValue_yn    = DataTypeUtility.GetBooleanToYN(ckbDefaultValueYN.Checked);
        string visible_yn         = WebUtility.GetByValueRadioButtonList(rbnVisibleYN);
        string col_emp_visible_yn = WebUtility.GetByValueRadioButtonList(rbnColEmpVisibleYN);

        Biz_ColumnInfos columnInfos = new Biz_ColumnInfos();

        if (PageWriteMode == WriteMode.New)
        {
            bool bDuplicate = columnInfos.IsExist(COMP_ID, EST_ID, col_key);

            if (bDuplicate)
            {
                ltrScript.Text = JSHelper.GetAlertScript("동일한 컬럼키가 존재합니다.");
                return;
            }

            bool bResult = columnInfos.AddColumnInfo(COMP_ID
                                                     , EST_ID
                                                     , seq
                                                     , col_name
                                                     , col_style_id
                                                     , col_key
                                                     , caption
                                                     , width
                                                     , data_type
                                                     , halign
                                                     , back_color
                                                     , format
                                                     , formula
                                                     , defaultValue
                                                     , col_desc
                                                     , back_color_yn
                                                     , format_yn
                                                     , formula_yn
                                                     , defaultValue_yn
                                                     , visible_yn
                                                     , col_emp_visible_yn
                                                     , DateTime.Now
                                                     , EMP_REF_ID
                                                     );

            bool isOK = SaveEstJobColumnMap(!trEstJob.Visible);

            if (bResult)
            {
                //ltrScript.Text = JSHelper.GetAlertScript("정상적으로 저장되었습니다.");
                GridBinding(COMP_ID);
                ButtonStatusInit();
            }
            else
            {
                ltrScript.Text = JSHelper.GetAlertScript("처리 중 오류가 발생하였습니다.");
                return;
            }
        }
        else if (PageWriteMode == WriteMode.Modify)
        {
            bool bResult = columnInfos.ModifyColumnInfo(COMP_ID
                                                        , EST_ID
                                                        , seq
                                                        , col_name
                                                        , col_style_id
                                                        , col_key
                                                        , caption
                                                        , width
                                                        , data_type
                                                        , halign
                                                        , back_color
                                                        , format
                                                        , formula
                                                        , defaultValue
                                                        , col_desc
                                                        , back_color_yn
                                                        , format_yn
                                                        , formula_yn
                                                        , defaultValue_yn
                                                        , visible_yn
                                                        , col_emp_visible_yn
                                                        , DateTime.Now
                                                        , EMP_REF_ID
                                                        );

            bool isOK = SaveEstJobColumnMap(!trEstJob.Visible);

            if (bResult)
            {
                //ltrScript.Text = JSHelper.GetAlertScript("정상적으로 수정되었습니다.");
                //GridBinding(COMP_ID);
                //ButtonStatusInit();
            }
            else
            {
                ltrScript.Text = JSHelper.GetAlertScript("수정되지 않았습니다.");
                return;
            }
        }
    }
Ejemplo n.º 7
0
    /// <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();
        }
    }