Exemplo n.º 1
0
    protected void Page_Load(object sender, EventArgs e)
    {
        ltrScript.Text = "";

        // 웹 취약성 검사 때문에 처리
        if (EST_JOB_IDS.Equals("-0") ||
            EST_TGT_TYPE.Equals("-0"))
        {
            FormsAuthentication.SignOut();
            string login_page_url = WebUtility.GetConfig("Login_Page_Url", "~/base/Login.aspx");
            Response.Redirect(login_page_url);
        }


        EST_ID = "3N";



        IS_ADMIN = false;
        checkAdmin();



        if (!Page.IsPostBack)
        {
            DropDownListCommom.BindComp(ddlCompID, lblCompTitle);
            COMP_ID = WebUtility.GetIntByValueDropDownList(ddlCompID);

            DropDownListCommom.BindEstTerm(ddlEstTermRefID);
            ESTTERM_REF_ID = WebUtility.GetIntByValueDropDownList(ddlEstTermRefID);

            DropDownListCommom.BindEstTermSubByYearYN(ddlEstTermSubID, COMP_ID, "N");
            ESTTERM_SUB_ID = WebUtility.GetIntByValueDropDownList(ddlEstTermSubID);

            ESTTERM_STEP_ID = WebUtility.GetRequestByInt("ESTTERM_STEP_ID", -1);

            GridBidingData(COMP_ID
                           , EST_ID
                           , ESTTERM_REF_ID
                           , ESTTERM_SUB_ID
                           , ESTTERM_STEP_ID
                           , IS_ADMIN);
            if (Convert.ToInt32(lblRowCount.Text) > 0)
            {
                UltraWebGrid1.Rows[0].Cells[0].Activated = true;
            }
        }
        else
        {
            COMP_ID        = WebUtility.GetIntByValueDropDownList(ddlCompID);
            ESTTERM_REF_ID = WebUtility.GetIntByValueDropDownList(ddlEstTermRefID);
            ESTTERM_SUB_ID = WebUtility.GetIntByValueDropDownList(ddlEstTermSubID);
        }
        //평가 상태 범례
        HtmlScriptCommon.CreateStatusHtmlTable(tblViewStatus, EST_ID);


        setControlState();
    }
Exemplo n.º 2
0
    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;
            }
        }
    }
Exemplo n.º 3
0
    protected void setSaveBtn()
    {
        bool state = true;

        if (COMP_ID == 0)
        {
            state = false;
        }
        else if (EST_ID.Trim().Length == 0)
        {
            state = false;
        }
        else if (ESTTERM_REF_ID == 0)
        {
            state = false;
        }
        else if (ESTTERM_SUB_ID == 0)
        {
            state = false;
        }
        else if (ESTTERM_STEP_ID == 0)
        {
            state = false;
        }
        else if (TGT_DEPT_ID == 0)
        {
            state = false;
        }
        else if (TGT_EMP_ID == 0)
        {
            state = false;
        }
        else if (EST_TGT_TYPE.Trim().Length == 0)
        {
            state = false;
        }
        else if (!STATUS_ID.Trim().Equals("N") && !STATUS_ID.Trim().Equals("O"))
        {
            state = false;
        }

        this.iBtnSave.Enabled = state;
        this.iBtnSave.Visible = state;
    }
Exemplo n.º 4
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;
                }
            }
        }
    }
Exemplo n.º 5
0
    private void GridBidingData(int comp_id
                                , string est_id
                                , int estterm_ref_id
                                , int estterm_sub_id
                                , int estterm_step_id
                                , bool isAll)
    {
        // 평가정보를 가져온다.
        Biz_EstInfos estInfo = new Biz_EstInfos(comp_id, est_id);

        // 해당평가가 존재하는지 여부 체크
        if (!estInfo.IsExists(comp_id, est_id))
        {
            ltrScript.Text = JSHelper.GetAlertScript("선택된 회사의 평가정보가 없습니다.");
            return;
        }



        int est_emp_id  = 0;
        int tgt_dept_id = 0;
        int tgt_emp_id  = 0;

        if (EST_TGT_TYPE.Equals("EST"))
        {
            est_emp_id  = EMP_REF_ID;
            tgt_dept_id = 0;// 모든 피평가자가 속한 부서를 가져온다.
            tgt_emp_id  = 0;
        }
        else if (EST_TGT_TYPE.Equals("TGT"))
        {
            est_emp_id  = 0;
            tgt_dept_id = 0;// 모든 피평가자가 속한 부서를 가져온다.
            tgt_emp_id  = EMP_REF_ID;
        }

        if (isAll)
        {
            est_emp_id  = 0;
            tgt_dept_id = 0;
            tgt_emp_id  = 0;
        }

        Biz_Datas est_data = new Biz_Datas();

        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).Tables[0];


        if (estterm_step_id == 2 && EST_TGT_TYPE.Equals("EST"))
        {
            //자기평가 완료 이상 1차 평가 데이터
            DT_EST_DATA = DataTypeUtility.FilterSortDataTable(DT_EST_DATA, "STATUS_ID = 'C' OR STATUS_ID = 'P' OR STATUS_ID = 'F' OR STATUS_ID = 'N' OR STATUS_ID = 'O'");


            DT_EST_DATA.Columns.Add("STATUS_ID_2ND");

            DataTable dt_est_data_2nd = est_data.GetEstData(COMP_ID
                                                            , EST_ID
                                                            , ESTTERM_REF_ID
                                                            , ESTTERM_SUB_ID
                                                            , 3
                                                            , 0
                                                            , 0
                                                            , 0
                                                            , 0).Tables[0];//2차 평가 데이터


            //2차 평가 데이터 상태 추출
            for (int i = 0; i < DT_EST_DATA.Rows.Count; i++)
            {
                DataRow dr = DT_EST_DATA.Rows[i];

                string filter = string.Format(@"
COMP_ID={0} 
AND EST_ID='{1}' 
AND ESTTERM_REF_ID={2} 
AND ESTTERM_SUB_ID={3} 
AND ESTTERM_STEP_ID={4} 
AND TGT_DEPT_ID={5}
AND TGT_EMP_ID={6}
", DataTypeUtility.GetString(dr["COMP_ID"])
                                              , DataTypeUtility.GetString(dr["EST_ID"])
                                              , DataTypeUtility.GetString(dr["ESTTERM_REF_ID"])
                                              , DataTypeUtility.GetString(dr["ESTTERM_SUB_ID"])
                                              , 3
                                              , DataTypeUtility.GetString(dr["TGT_DEPT_ID"])
                                              , DataTypeUtility.GetString(dr["TGT_EMP_ID"]));

                DataTable dt_filtered_est_data_2nd = DataTypeUtility.FilterSortDataTable(dt_est_data_2nd, filter);

                if (dt_filtered_est_data_2nd.Rows.Count > 0)
                {
                    dr["STATUS_ID_2ND"] = DataTypeUtility.GetString(dt_filtered_est_data_2nd.Rows[0]["STATUS_ID"]);
                }
            }
        }
        else if (estterm_step_id == 3 && EST_TGT_TYPE.Equals("EST"))
        {
            //1차 평가 데이터
            DT_EST_DATA.Columns.Add("STATUS_ID_1ST");

            DT_EST_DATA_1ST = est_data.GetEstData(COMP_ID
                                                  , EST_ID
                                                  , ESTTERM_REF_ID
                                                  , ESTTERM_SUB_ID
                                                  , 2
                                                  , 0
                                                  , 0
                                                  , 0
                                                  , 0).Tables[0];//1차 평가 데이터

            //1차 평가 데이터 상태 추출
            for (int i = 0; i < DT_EST_DATA.Rows.Count; i++)
            {
                DataRow dr = DT_EST_DATA.Rows[i];

                string filter = string.Format(@"
COMP_ID={0} 
AND EST_ID='{1}' 
AND ESTTERM_REF_ID={2} 
AND ESTTERM_SUB_ID={3} 
AND ESTTERM_STEP_ID={4} 
AND TGT_DEPT_ID={5}
AND TGT_EMP_ID={6}
", DataTypeUtility.GetString(dr["COMP_ID"])
                                              , DataTypeUtility.GetString(dr["EST_ID"])
                                              , DataTypeUtility.GetString(dr["ESTTERM_REF_ID"])
                                              , DataTypeUtility.GetString(dr["ESTTERM_SUB_ID"])
                                              , 2
                                              , DataTypeUtility.GetString(dr["TGT_DEPT_ID"])
                                              , DataTypeUtility.GetString(dr["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)
                {
                    dr["STATUS_ID_1ST"] = DataTypeUtility.GetString(dt_filtered_est_data_1st.Rows[0]["STATUS_ID"]);
                }
            }



            int total_est_data_cnt = DT_EST_DATA.Rows.Count;

            DT_EST_DATA = DataTypeUtility.FilterSortDataTable(DT_EST_DATA, "STATUS_ID_1ST = 'F'");

            int filtered_est_data_cnt = DT_EST_DATA.Rows.Count;

            if (total_est_data_cnt != filtered_est_data_cnt)
            {
                this.ltrScript.Text = JSHelper.GetAlertScript("1차평가가 진행중입니다.");
                return;
            }
        }



        //평가자에게만 보이는 질의평가 결과
        if (EST_TGT_TYPE.Equals("EST"))
        {
            if (estterm_step_id == 2)
            {
                Biz_Est_Question_Data bizEstQuestionData = new Biz_Est_Question_Data();
                DT_QUESTION_SBJ_POINT = bizEstQuestionData.Get_Est_QuestionSbj_Point(comp_id
                                                                                     , est_id
                                                                                     , estterm_ref_id
                                                                                     , estterm_sub_id
                                                                                     , estterm_step_id
                                                                                     , 0
                                                                                     , est_emp_id
                                                                                     , tgt_dept_id
                                                                                     , tgt_emp_id);
            }
            else if (estterm_step_id == 3)
            {
            }
        }



        // ClearGroupByBoxColumn();

        UltraWebGrid1.Clear();
        UltraWebGrid1.DataSource = DT_EST_DATA;
        UltraWebGrid1.DataBind();

        lblRowCount.Text = DT_EST_DATA.Rows.Count.ToString("#,##0");
    }
Exemplo n.º 6
0
    protected void setControlState()
    {
        if (IS_ADMIN)
        {
            iBtnSearchAll.Visible = true;
        }



        if (EST_TGT_TYPE.Equals("TGT"))
        {
            iBtnConfirm_SelfEst.Visible = true;
            iBtnCancel_SelfEst.Visible  = true;
        }
        else if (EST_TGT_TYPE.Equals("EST"))
        {
            if (IS_ADMIN)
            {
                ddlBIAS_TYPE.Visible = true;
                iBtnBias.Visible     = true;
            }


            iBtnConfirm_EstQ.Visible = true;
            iBtnCancel_EstQ.Visible  = true;


            if (ESTTERM_STEP_ID == 3)
            {
                iBtnSave_EstQ.Visible = true;


                lblNotice.Visible = true;
                //원래 10%
                //int balance_plus_cnt = DT_EST_DATA.Rows.Count / 10;
                //int balance_minus_cnt = DT_EST_DATA.Rows.Count / 10;
                //lblNotice.Text = string.Format("범위(명) : 가점 ({0}), 감점({1}) 명 [산식 :피평가자 인원 * 10 %]<br />범위(점수) : 가점(0 ~ 1.0), 감점(-1 ~ 0)", balance_plus_cnt, balance_minus_cnt);

                //인원 제한 없음 2012.12.17 서대원
                int balance_plus_cnt  = DT_EST_DATA.Rows.Count / 1;
                int balance_minus_cnt = DT_EST_DATA.Rows.Count / 1;
                lblNotice.Text = string.Format("범위(점수) : 가점(0 ~ 1.0), 감점(-1 ~ 0)");

                lblNotice.Style.Add("font-weight", "bold");
                lblNotice.Style.Add("color", "red");
            }
        }



        //평가 상태 범례
        if (tblViewStatus.Rows[0].Cells.Count == 7)
        {
            if (ESTTERM_STEP_ID == 2)
            {
                tblViewStatus.Rows[0].Cells[5].Visible = false;
                tblViewStatus.Rows[0].Cells[6].Visible = false;
            }
            else if (ESTTERM_STEP_ID == 3)
            {
                tblViewStatus.Rows[0].Cells[1].Visible = false;
                tblViewStatus.Rows[0].Cells[2].Visible = false;
                tblViewStatus.Rows[0].Cells[3].Visible = false;
                tblViewStatus.Rows[0].Cells[4].Visible = false;
            }
            else
            {
                tblViewStatus.Visible = false;
            }
        }
        else
        {
            tblViewStatus.Visible = false;
        }
    }