Ejemplo n.º 1
0
    protected bool setOriginal_Point()
    {
        //데이터 수집
        DataTable dt     = getConfirmed_EstData();
        int       result = 0;

        if (dt.Rows.Count > 0)
        {
            //데이터 가공
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                double point_org = DataTypeUtility.GetToDouble(dt.Rows[i]["POINT_ORG"]); //원점수

                double point_ctrl_org = point_org;                                       //환산점수 계산용 점수
                double point          = point_ctrl_org * 100 / 5;                        //환산점수


                dt.Rows[i]["POINT"]          = Math.Round(point, 1);
                dt.Rows[i]["POINT_AVG"]      = -1;
                dt.Rows[i]["POINT_STD"]      = -1;
                dt.Rows[i]["POINT_CTRL_ORG"] = Math.Round(point_org, 1);

                dt.Rows[i]["STATUS_ID"] = "E";//확정
            }


            dt = Add_Date_User(dt);


            Biz_Est_Data bizEstData = new Biz_Est_Data();
            result = bizEstData.ModifyEstData_Point(dt, gUserInfo.Emp_Ref_ID);
        }

        return(result > 0 ? true : false);
    }
Ejemplo n.º 2
0
    protected bool Confirm_EstQ()
    {
        //STATUS 정보 가져오기
        int new_status_seq = 0;

        if (ESTTERM_STEP_ID == 2)
        {
            //1차 평가 완료
            new_status_seq = 5;
        }
        else if (ESTTERM_STEP_ID == 3)
        {
            //2차 평가 완료
            new_status_seq = 7;
        }
        else
        {
            this.ltrScript.Text = JSHelper.GetAlertScript("잘못된 평가 차수 데이터입니다.");
        }
        int increment_seq = 1;



        //데이터 수집
        DataTable dt = Collect_CheckedData();



        //데이터 가공 및 검증
        for (int i = 0; i < dt.Rows.Count; i++)
        {
            string status_id = DataTypeUtility.GetString(dt.Rows[i]["STATUS_ID"]);

            Biz_Est_Data bizEstData = new Biz_Est_Data();
            Biz_Status   new_status = bizEstData.Get_New_Est_Status(COMP_ID, EST_ID, status_id, new_status_seq, increment_seq);

            if (new_status.Status_ID != null && new_status.Status_ID.Trim().Length > 0)
            {
                dt.Rows[i]["STATUS_ID"] = new_status.Status_ID;
            }
            else
            {
                this.ltrScript.Text = JSHelper.GetAlertScript(string.Format("{0} 단계로 진행할 수 없는 데이터가 있습니다.", new_status.Status_Name));
                return(false);
            }
        }


        dt = Add_Date_User(dt);


        //데이터 저장
        Biz_Datas datas = new Biz_Datas();

        return(datas.SaveStatus(dt));
    }
Ejemplo n.º 3
0
    protected void Page_Load(object sender, EventArgs e)
    {
        bizEstData    = new Biz_Est_Data();
        bizEstRefusal = new Biz_Est_Refusal();


        COMP_ID = WebUtility.GetRequestByInt("COMP_ID", 1);
        EST_ID  = WebUtility.GetConfig("EST_GRADE_ID");

        //ESTTERM_REF_ID = WebUtility.GetRequestByInt("ESTTERM_REF_ID");
        //ESTTERM_SUB_ID = WebUtility.GetRequestByInt("ESTTERM_SUB_ID");
        ESTTERM_STEP_ID = WebUtility.GetRequestByInt("ESTTERM_STEP_ID", 1);

        //TGT_DEPT_ID = WebUtility.GetRequestByInt("TGT_DEPT_ID");
        TGT_EMP_ID  = WebUtility.GetRequestByInt("TGT_EMP_ID", gUserInfo.Emp_Ref_ID);
        TGT_DEPT_ID = 0;

        EST_TGT_TYPE = WebUtility.GetRequest("EST_TGT_TYPE", "TGT");

        // 웹 취약성 검사 때문에 처리
        if (EST_TGT_TYPE.Equals("-0"))
        {
            ltrScript.Text = JSHelper.GetAlertScript("악성 요청을 거부합니다.", false);
            FormsAuthentication.SignOut();
            string login_page_url = WebUtility.GetConfig("Login_Page_Url", "~/base/Login.aspx");
            Response.Redirect(login_page_url);
        }

        if (!Page.IsPostBack)
        {
            DropDownListCommom.BindComp(ddlCompID, lblCompTitle);
            DropDownListCommom.BindEstTerm(ddlEstTermRefID);
            DropDownListCommom.BindEstTermSubByYearYN(ddlEstTermSubID
                                                      , WebUtility.GetIntByValueDropDownList(ddlCompID)
                                                      , "N");
        }


        ESTTERM_REF_ID = PageUtility.GetIntByValueDropDownList(ddlEstTermRefID);
        ESTTERM_SUB_ID = PageUtility.GetIntByValueDropDownList(ddlEstTermSubID);


        PageUtility.FindByValueDropDownList(ddlEstTermRefID, ESTTERM_REF_ID.ToString());
        PageUtility.FindByValueDropDownList(ddlEstTermSubID, ESTTERM_SUB_ID.ToString());


        ltrScript.Text = "";

        if (!Page.IsPostBack)
        {
            Get_Refusal_Data();
        }
    }
Ejemplo n.º 4
0
    protected bool Confirm_SelfEst()
    {
        int new_status_seq = 3;//자기평가 완료
        int increment_seq  = 1;



        //데이터 수집
        DataTable dt = new DataTable();

        string[] cols = new string[this.UltraWebGrid1.Columns.Count - 1];

        for (int i = 1; i < this.UltraWebGrid1.Columns.Count; i++)
        {
            cols[i - 1] = this.UltraWebGrid1.Columns[i].Key;
            dt.Columns.Add(cols[i - 1]);
        }

        dt = UltraGridUtility.GetDataTableByCheckValue(UltraWebGrid1, "cBox", "selchk", cols, dt);



        //데이터 가공 및 검증
        for (int i = 0; i < dt.Rows.Count; i++)
        {
            string status_id = DataTypeUtility.GetString(dt.Rows[i]["STATUS_ID"]);

            Biz_Est_Data bizEstData = new Biz_Est_Data();
            Biz_Status   new_status = bizEstData.Get_New_Est_Status(COMP_ID, EST_ID, status_id, new_status_seq, increment_seq);

            if (new_status.Status_ID != null && new_status.Status_ID.Trim().Length > 0)
            {
                dt.Rows[i]["STATUS_ID"] = new_status.Status_ID;
            }
            else
            {
                this.ltrScript.Text = JSHelper.GetAlertScript(string.Format("{0} 단계로 진행할 수 없는 데이터가 있습니다.", new_status.Status_Name));
                return(false);
            }
        }


        dt = Add_Date_User(dt);



        //데이터 저장
        Biz_Datas datas = new Biz_Datas();

        return(datas.SaveStatus(dt));
    }
Ejemplo n.º 5
0
    protected bool setAverage_Point()
    {
        //데이터 수집
        DataTable dt     = getConfirmed_EstData();
        int       result = 0;

        if (dt.Rows.Count > 0)
        {
            Biz_Est_Data bizEstData    = new Biz_Est_Data();
            DataTable    dt_Bias_ratio = bizEstData.Get_Bias_AVG_Ratio_STD(COMP_ID
                                                                           , EST_ID
                                                                           , ESTTERM_REF_ID
                                                                           , ESTTERM_SUB_ID
                                                                           , ESTTERM_STEP_ID);

            //데이터 가공
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                string    est_emp_id        = DataTypeUtility.GetString(dt.Rows[i]["EST_EMP_ID"]);
                string    filter            = string.Format("EST_EMP_ID={0}", est_emp_id);
                DataTable dt_filtered_ratio = DataTypeUtility.FilterSortDataTable(dt_Bias_ratio, filter);

                if (dt_filtered_ratio.Rows.Count > 0)
                {
                    double avg_ratio = DataTypeUtility.GetToDouble(dt_filtered_ratio.Rows[0]["AVG_RATIO"]);
                    double point_org = DataTypeUtility.GetToDouble(dt.Rows[i]["POINT_ORG"]);
                    double point_avg = point_org * avg_ratio;

                    double point_ctrl_org = point_avg;                //환산점수 계산용 점수
                    double point          = point_ctrl_org * 100 / 5; //환산점수


                    dt.Rows[i]["POINT"]          = Math.Round(point, 1);
                    dt.Rows[i]["POINT_AVG"]      = Math.Round(point_avg, 1);
                    dt.Rows[i]["POINT_STD"]      = -1;
                    dt.Rows[i]["POINT_CTRL_ORG"] = Math.Round(point_avg, 1);

                    dt.Rows[i]["STATUS_ID"] = "E";//확정
                }
            }


            dt = Add_Date_User(dt);

            result = bizEstData.ModifyEstData_Point(dt, gUserInfo.Emp_Ref_ID);
        }

        return(result > 0 ? true : false);
    }
Ejemplo n.º 6
0
    protected void doBindEstEmpList()
    {
        Biz_Est_Data bizEstData = new Biz_Est_Data();
        DataTable    dt         = bizEstData.GetEstData(COMP_ID
                                                        , EST_ID
                                                        , ESTTERM_REF_ID
                                                        , ESTTERM_SUB_ID
                                                        , 0
                                                        , ""
                                                        , 0
                                                        , TGT_EMP_ID);


        dt.Columns.Add("EST_DEPT_NAME");
        dt.Columns.Add("EST_EMP_NAME");
        dt.Columns.Add("EST_POS_CLS");
        dt.Columns.Add("EST_POS_RNK");
        dt.Columns.Add("ESTTERM_STEP_NAME");


        dt = DataTypeUtility.FilterSortDataTable(dt, "ESTTERM_STEP_ID=2 OR ESTTERM_STEP_ID=3", "ESTTERM_STEP_ID ASC");


        for (int i = 0; i < dt.Rows.Count; i++)
        {
            int est_dept_id = DataTypeUtility.GetToInt32(dt.Rows[i]["EST_DEPT_ID"]);
            int est_emp_id  = DataTypeUtility.GetToInt32(dt.Rows[i]["EST_EMP_ID"]);

            Biz_EmpInfos      bizEmpInfo  = new Biz_EmpInfos(est_emp_id);
            Biz_Com_Dept_Info bizDeptInfo = new Biz_Com_Dept_Info(est_dept_id);

            string est_dept_name = DataTypeUtility.GetString(bizDeptInfo.DEPT_NAME);
            string est_emp_name  = DataTypeUtility.GetString(bizEmpInfo.Emp_Name);

            Biz_PositionClasses bizPosCls = new Biz_PositionClasses(bizEmpInfo.Position_Class_Code);
            Biz_PositionRanks   bizPosRnk = new Biz_PositionRanks(bizEmpInfo.Position_Rank_Code);

            string est_pos_cls = DataTypeUtility.GetString(bizPosCls.Pos_Cls_Name);
            string est_pos_rnk = DataTypeUtility.GetString(bizPosRnk.Pos_Rnk_Name);

            dt.Rows[i]["EST_DEPT_NAME"] = est_dept_name;
            dt.Rows[i]["EST_EMP_NAME"]  = est_emp_name;
            dt.Rows[i]["EST_POS_CLS"]   = est_pos_cls;
            dt.Rows[i]["EST_POS_RNK"]   = est_pos_rnk;


            int    estterm_step_id   = DataTypeUtility.GetToInt32(dt.Rows[i]["ESTTERM_STEP_ID"]);
            string estterm_step_name = "";
            if (estterm_step_id == 2)
            {
                estterm_step_name = "1차 평가자";
            }
            else if (estterm_step_id == 3)
            {
                estterm_step_name = "2차 평가자";
            }

            dt.Rows[i]["ESTTERM_STEP_NAME"] = estterm_step_name;
        }

        ugrdEstEmpList.Clear();
        ugrdEstEmpList.DataSource = dt;
        ugrdEstEmpList.DataBind();
    }
Ejemplo n.º 7
0
    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");
            }
        }
    }
Ejemplo n.º 8
0
    protected bool saveEstQ()
    {
        Biz_Est_Data bizEstData = new Biz_Est_Data();
        DataTable    dt         = DT_EST_DATA.Clone();

        int balance_plus_cnt  = 0;
        int balance_minus_cnt = 0;

        for (int i = 0; i < UltraWebGrid1.Rows.Count; i++)
        {
            DataRow dr       = dt.NewRow();
            DataRow dr_final = dt.NewRow();


            string comp_id         = DataTypeUtility.GetString(UltraWebGrid1.Rows[i].Cells.FromKey("COMP_ID").Value);
            string est_id          = DataTypeUtility.GetString(UltraWebGrid1.Rows[i].Cells.FromKey("EST_ID").Value);
            string estterm_ref_id  = DataTypeUtility.GetString(UltraWebGrid1.Rows[i].Cells.FromKey("ESTTERM_REF_ID").Value);
            string estterm_sub_id  = DataTypeUtility.GetString(UltraWebGrid1.Rows[i].Cells.FromKey("ESTTERM_SUB_ID").Value);
            string estterm_step_id = DataTypeUtility.GetString(UltraWebGrid1.Rows[i].Cells.FromKey("ESTTERM_STEP_ID").Value);
            string est_dept_id     = DataTypeUtility.GetString(UltraWebGrid1.Rows[i].Cells.FromKey("EST_DEPT_ID").Value);
            string est_emp_id      = DataTypeUtility.GetString(UltraWebGrid1.Rows[i].Cells.FromKey("EST_EMP_ID").Value);
            string tgt_dept_id     = DataTypeUtility.GetString(UltraWebGrid1.Rows[i].Cells.FromKey("TGT_DEPT_ID").Value);
            string tgt_emp_id      = DataTypeUtility.GetString(UltraWebGrid1.Rows[i].Cells.FromKey("TGT_EMP_ID").Value);
            string status_id       = DataTypeUtility.GetString(UltraWebGrid1.Rows[i].Cells.FromKey("STATUS_ID").Value);
            double point_org       = DataTypeUtility.GetToDouble(UltraWebGrid1.Rows[i].Cells.FromKey("POINT_ORG").Value);



            string filter = "COMP_ID='{0}' AND EST_ID='{1}' AND ESTTERM_REF_ID='{2}' AND ESTTERM_SUB_ID='{3}' AND ESTTERM_STEP_ID='{4}' AND EST_DEPT_ID='{5}' AND EST_EMP_ID='{6}' AND TGT_DEPT_ID='{7}' AND TGT_EMP_ID='{8}'";
            filter = string.Format(filter, 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);
            DataTable dt_tmp = DataTypeUtility.FilterSortDataTable(DT_EST_DATA, filter);
            if (dt_tmp.Rows.Count == 1)
            {
                for (int j = 0; j < dt_tmp.Columns.Count; j++)
                {
                    dr_final[j] = dt_tmp.Rows[0][j];
                }
            }
            else
            {
                this.ltrScript.Text = JSHelper.GetAlertScript("평가데이터에 오류가 있습니다.");
                return(false);
            }



            Biz_Status new_status = bizEstData.Get_New_Est_Status(DataTypeUtility.GetToInt32(comp_id), est_id, status_id, 6, 5);
            if (new_status.Status_ID == null && new_status.Status_ID.Trim().Length > 0)
            {
                this.ltrScript.Text = JSHelper.GetAlertScript(string.Format("{0} 단계로 진행할 수 없는 데이터가 있습니다.", new_status.Status_Name));
                return(false);
            }


            TemplatedColumn tc = (TemplatedColumn)UltraWebGrid1.Columns.FromKey("POINT_BALANCE");
            Infragistics.WebUI.WebDataInput.WebNumericEdit ne = (Infragistics.WebUI.WebDataInput.WebNumericEdit)((CellItem)tc.CellItems[i]).FindControl("POINT_BALANCE");
            double point_balance = DataTypeUtility.GetToDouble(ne.Value);

            if (point_balance > 0)
            {
                balance_plus_cnt++;
            }
            else if (point_balance < 0)
            {
                balance_minus_cnt++;
            }

            double point_ctrl_org = point_org + point_balance;
            double point          = point_ctrl_org * 100 / 5;//환산점수



            dr["COMP_ID"]         = comp_id;
            dr["EST_ID"]          = est_id;
            dr["ESTTERM_REF_ID"]  = estterm_ref_id;
            dr["ESTTERM_SUB_ID"]  = estterm_sub_id;
            dr["ESTTERM_STEP_ID"] = estterm_step_id;
            dr["EST_DEPT_ID"]     = est_dept_id;
            dr["EST_EMP_ID"]      = est_emp_id;
            dr["TGT_DEPT_ID"]     = tgt_dept_id;
            dr["TGT_EMP_ID"]      = tgt_emp_id;
            dr["POINT"]           = point;
            dr["POINT_ORG"]       = point_org;
            dr["POINT_AVG"]       = -1;
            dr["POINT_STD"]       = -1;
            dr["POINT_CTRL_ORG"]  = point_ctrl_org;
            dr["STATUS_ID"]       = new_status.Status_ID;



            dr_final["COMP_ID"]         = comp_id;
            dr_final["EST_ID"]          = est_id;
            dr_final["ESTTERM_REF_ID"]  = estterm_ref_id;
            dr_final["ESTTERM_SUB_ID"]  = estterm_sub_id;
            dr_final["ESTTERM_STEP_ID"] = "1";
            dr_final["EST_DEPT_ID"]     = est_dept_id;
            dr_final["EST_EMP_ID"]      = est_emp_id;
            dr_final["TGT_DEPT_ID"]     = tgt_dept_id;
            dr_final["TGT_EMP_ID"]      = tgt_emp_id;
            dr_final["POINT"]           = point;
            dr_final["POINT_ORG"]       = point_org;
            dr_final["POINT_AVG"]       = -1;
            dr_final["POINT_STD"]       = -1;
            dr_final["POINT_CTRL_ORG"]  = point_ctrl_org;
            dr_final["STATUS_ID"]       = new_status.Status_ID;


            dt.Rows.Add(dr);
            dt.Rows.Add(dr_final);
        }

        int balance_limit = DT_EST_DATA.Rows.Count / 10;

        if (balance_plus_cnt > balance_limit || balance_minus_cnt > balance_limit)
        {
            this.ltrScript.Text = JSHelper.GetAlertScript("점수조정 가능인원을 초과하였습니다.");
            return(false);
        }

        int result = bizEstData.ModifyEstData_Point(dt, gUserInfo.Emp_Ref_ID);

        return(result > 0 ? true : false);
    }
Ejemplo n.º 9
0
    protected bool doSave()
    {
        bool   result      = false;
        double total_point = 0;
        int    count       = 0;

        DataTable dtSaveQuestiondata = new DataTable();

        dtSaveQuestiondata.Columns.Add("COMP_ID");
        dtSaveQuestiondata.Columns.Add("EST_ID");
        dtSaveQuestiondata.Columns.Add("ESTTERM_REF_ID");
        dtSaveQuestiondata.Columns.Add("ESTTERM_SUB_ID");
        dtSaveQuestiondata.Columns.Add("ESTTERM_STEP_ID");
        dtSaveQuestiondata.Columns.Add("EST_DEPT_ID");
        dtSaveQuestiondata.Columns.Add("EST_EMP_ID");
        dtSaveQuestiondata.Columns.Add("TGT_DEPT_ID");
        dtSaveQuestiondata.Columns.Add("TGT_EMP_ID");
        dtSaveQuestiondata.Columns.Add("Q_OBJ_ID");
        dtSaveQuestiondata.Columns.Add("Q_SBJ_ID");
        dtSaveQuestiondata.Columns.Add("Q_ITM_ID");
        dtSaveQuestiondata.Columns.Add("Q_DFN_ID");
        dtSaveQuestiondata.Columns.Add("POINT");
        dtSaveQuestiondata.Columns.Add("GRADE_ID");
        dtSaveQuestiondata.Columns.Add("TEXT_VALUE");
        dtSaveQuestiondata.Columns.Add("OPINION");
        dtSaveQuestiondata.Columns.Add("ATTACH_NO");
        dtSaveQuestiondata.Columns.Add("USER");

        for (int i = 0; i < ugrdEstQuestion.Rows.Count; i++)
        {
            TemplatedColumn tc = (TemplatedColumn)ugrdEstQuestion.Rows.Band.Columns.FromKey("Q_FIRST");
            Infragistics.WebUI.WebDataInput.WebNumericEdit ne = (Infragistics.WebUI.WebDataInput.WebNumericEdit)((CellItem)tc.CellItems[i]).FindControl("Q_FIRST");
            double point = DataTypeUtility.GetToDouble(ne.Value);

            if (point > 0)
            {
                DataRow dr = dtSaveQuestiondata.NewRow();

                string q_obj_id = Q_OBJ_ID;
                string q_sbj_id = DataTypeUtility.GetString(ugrdEstQuestion.Rows[i].Cells.FromKey("Q_SBJ_ID").Value);
                string q_dfn_id = DataTypeUtility.GetString(ugrdEstQuestion.Rows[i].Cells.FromKey("Q_DFN_ID").Value);


                dr["COMP_ID"]         = COMP_ID;
                dr["EST_ID"]          = EST_ID;
                dr["ESTTERM_REF_ID"]  = ESTTERM_REF_ID;
                dr["ESTTERM_SUB_ID"]  = ESTTERM_SUB_ID;
                dr["ESTTERM_STEP_ID"] = ESTTERM_STEP_ID;
                dr["EST_DEPT_ID"]     = EST_DEPT_ID;
                dr["EST_EMP_ID"]      = EST_EMP_ID;
                dr["TGT_DEPT_ID"]     = TGT_DEPT_ID;
                dr["TGT_EMP_ID"]      = TGT_EMP_ID;
                dr["Q_OBJ_ID"]        = q_obj_id;
                dr["Q_SBJ_ID"]        = q_sbj_id;
                dr["Q_DFN_ID"]        = q_dfn_id;
                dr["USER"]            = EMP_REF_ID;



                //Biz_QuestionItems questionItems = new Biz_QuestionItems();
                //DataTable dt_item = questionItems.GetQuestionItem("", q_sbj_id, Q_OBJ_ID).Tables[0];
                //string filter = string.Format("POINT={0}", point);
                //DataTable dt_item_filtered = DataTypeUtility.FilterSortDataTable(dt_item, filter);
                //dr["Q_ITM_ID"] = DataTypeUtility.GetString(dt_item_filtered.Rows[0]["Q_ITM_ID"]);
                dr["Q_ITM_ID"] = DBNull.Value;



                dr["POINT"] = Math.Round(point, 1);



                //가중치
                DataTable dt_est_question_filtered = DataTypeUtility.FilterSortDataTable(DT_EST_QUESTION, string.Format("Q_SBJ_ID='{0}'", q_sbj_id));
                int       weight = DataTypeUtility.GetToInt32(dt_est_question_filtered.Rows[0]["WEIGHT"]);

                total_point += point * weight / 100;


                //count += new MicroBSC.Integration.EST.Biz.Biz_Est_Question_Data().Insert("1", "3N", ESTTERM_REF_ID, ESTTERM_SUB_ID, ESTTERM_STEP_ID
                //        , EST_DEPT_ID, EST_EMP_ID, TGT_DEPT_ID, TGT_EMP_ID
                //        , DataTypeUtility.GetString(ugrdEstQuestion.Rows[i].Cells.FromKey("Q_OBJ_ID").Value)
                //        , DataTypeUtility.GetString(ugrdEstQuestion.Rows[i].Cells.FromKey("Q_SBJ_ID").Value)
                //        , DataTypeUtility.GetString(ugrdEstQuestion.Rows[i].Cells.FromKey("Q_ITM_ID").Value)
                //        , point, EMP_REF_ID);

                dtSaveQuestiondata.Rows.Add(dr);
                count++;
            }
            else
            {
                count = 0;
                break;
            }
        }

        if (count > 0)
        {
            MicroBSC.Estimation.Biz.Biz_QuestionDatas questionDatas = new MicroBSC.Estimation.Biz.Biz_QuestionDatas();
            Biz_Est_Data bizEstData = new Biz_Est_Data();


            Biz_Status bizStatus = bizEstData.Get_New_Est_Status(COMP_ID, EST_ID, STATUS_ID, 4, 1);

            if (bizStatus.Status_ID != null && bizStatus.Status_ID.Trim().Length > 0)
            {
                DataTable dtSaveEstData = AddNewEstDataRow();

                double point_org = Math.Round(total_point, 1);
                dtSaveEstData.Rows[0]["POINT_ORG"]      = point_org;
                dtSaveEstData.Rows[0]["POINT_CTRL_ORG"] = point_org;
                dtSaveEstData.Rows[0]["POINT"]          = point_org * 100 / 5;//환산점수
                dtSaveEstData.Rows[0]["STATUS_ID"]      = bizStatus.Status_ID;

                result = questionDatas.SaveQuestionData(dtSaveQuestiondata, dtSaveEstData, gUserInfo.Emp_Ref_ID);
            }
            else
            {
                this.ltrScript.Text = JSHelper.GetAlertScript(string.Format("{0} 단계로 진행할 수 없습니다.", bizStatus.Status_Name));
            }
        }

        return(result);
    }