Beispiel #1
0
    /// <summary>
    /// 평가차수의 총가중치 합 반환
    /// </summary>
    /// <param name="est_id"></param>
    /// <returns></returns>
    public static double GetTotalWeightEstTermStep(int comp_id, string est_id)
    {
        Biz_EstInfos estInfo = new Biz_EstInfos(comp_id, est_id);

        Biz_TermStepEstMaps estterm   = new Biz_TermStepEstMaps();
        DataTable           dataTable = estterm.GetTermStepEstMap(comp_id, est_id).Tables[0];

        double total = 0;

        foreach (DataRow dataRow in dataTable.Rows)
        {
            // 상향평가가 아닌 가중치만 더한다.
            if (!DataTypeUtility.GetYNToBoolean(DataTypeUtility.GetValue(dataRow["FIXED_WEIGHT_YN"])))
            {
                total += DataTypeUtility.GetToDouble(dataRow["WEIGHT"]);
            }
        }

        // 만약 상향평가일 경우 고정가중치를 더해준다.
        if (DataTypeUtility.GetYNToBoolean(estInfo.Fixed_Weight_Use_YN))
        {
            total += DataTypeUtility.GetToDouble(estInfo.Fixed_Weight);
        }

        if (total == 0)
        {
            return(100);
        }

        return(total);
    }
Beispiel #2
0
    private void BindCblEstTermStep(int comp_id, string est_id)
    {
        Biz_TermStepEstMaps termStepEstMaps = new Biz_TermStepEstMaps();

        DT_ESTTERM_STEP_MAP = termStepEstMaps.GetTermStepEstMap(comp_id, est_id).Tables[0];

        Biz_TermSteps termStep = new Biz_TermSteps();
        DataSet       ds       = termStep.GetTermStepByMergeYN(COMP_ID, "N");

        uGridStep.DataSource = ds;
        uGridStep.DataBind();
    }
Beispiel #3
0
    private bool SaveEstTermStepMap()
    {
        Biz_TermStepEstMaps termStepEstMap = new Biz_TermStepEstMaps();
        DataTable           dataTable      = termStepEstMap.GetDataTableSchema();
        DataRow             dataRow        = null;

        TemplatedColumn ckb_use_yn = null;
        CheckBox        ckbUseYN   = null;

        TemplatedColumn weight_col = null;
        TextBox         txtWeight  = null;

        TemplatedColumn ckb_fixed_yn     = null;
        CheckBox        ckbFixedWeightYN = null;

        for (int i = 0; i < uGridStep.Rows.Count; i++)
        {
            UltraGridRow row = uGridStep.Rows[i];

            ckb_use_yn = (TemplatedColumn)row.Band.Columns.FromKey("USE_YN");
            ckbUseYN   = (CheckBox)((CellItem)ckb_use_yn.CellItems[row.BandIndex]).FindControl("cBox");

            weight_col = (TemplatedColumn)row.Band.Columns.FromKey("WEIGHT");
            txtWeight  = (TextBox)((CellItem)weight_col.CellItems[row.BandIndex]).FindControl("txtWeight");

            ckb_fixed_yn     = (TemplatedColumn)row.Band.Columns.FromKey("FIXED_WEIGHT_YN");
            ckbFixedWeightYN = (CheckBox)((CellItem)ckb_fixed_yn.CellItems[row.BandIndex]).FindControl("ckbFixedWeightYN");

            if (ckbUseYN.Checked)
            {
                dataRow = dataTable.NewRow();

                dataRow["COMP_ID"]         = COMP_ID;
                dataRow["EST_ID"]          = TreeView1.SelectedValue;
                dataRow["ESTTERM_STEP_ID"] = uGridStep.Rows[i].Cells.FromKey("ESTTERM_STEP_ID").Value;
                dataRow["FIXED_WEIGHT_YN"] = DataTypeUtility.GetBooleanToYN(ckbFixedWeightYN.Checked);
                dataRow["WEIGHT"]          = txtWeight.Text;
                dataRow["DATE"]            = DateTime.Now;
                dataRow["USER"]            = EMP_REF_ID;

                dataTable.Rows.Add(dataRow);
            }
        }

        return(termStepEstMap.SaveTermStepEstMap(dataTable, COMP_ID, TreeView1.SelectedValue));
    }
Beispiel #4
0
    /// <summary>
    /// 평가별 차수
    /// </summary>
    /// <param name="ddl"></param>
    /// <param name="est_id"></param>
    public static void BindEstTermStep(DropDownList ddl
                                       , int comp_id
                                       , string est_id)
    {
        Biz_TermStepEstMaps termStepEstMap = new Biz_TermStepEstMaps();
        DataSet             ds             = termStepEstMap.GetTermStepEstMap(comp_id, est_id);

        ddl.DataTextField  = "ESTTERM_STEP_NAME";
        ddl.DataValueField = "ESTTERM_STEP_ID";
        ddl.DataSource     = ds;
        ddl.DataBind();

        //if(ds.Tables[0].Rows.Count == 1)
        //{
        //    ddl.Visible = false;
        //}
        //else
        //{
        //    ddl.Visible = false;
        //}
    }
Beispiel #5
0
    public static string GetWeightStringByEstTermStep(int comp_id, string est_id)
    {
        Biz_TermStepEstMaps estterm   = new Biz_TermStepEstMaps();
        DataTable           dataTable = estterm.GetTermStepEstMap(comp_id, est_id).Tables[0];

        string temp    = "";
        bool   isFirst = true;

        foreach (DataRow dataRow in dataTable.Rows)
        {
            if (isFirst)
            {
                temp   += DataTypeUtility.GetToDouble(dataRow["WEIGHT"]).ToString("#,##0.00");
                isFirst = false;
            }
            else
            {
                temp += " : " + DataTypeUtility.GetToDouble(dataRow["WEIGHT"]).ToString("#,##0.00");
            }
        }

        return(temp);
    }
Beispiel #6
0
    protected void Page_Load(object sender, EventArgs e)
    {
        COMP_ID         = WebUtility.GetRequestByInt("COMP_ID");
        EST_ID          = WebUtility.GetRequest("EST_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");
        EST_DEPT_ID     = WebUtility.GetRequestByInt("EST_DEPT_ID");
        EST_EMP_ID      = WebUtility.GetRequestByInt("EST_EMP_ID");
        TGT_DEPT_ID     = WebUtility.GetRequestByInt("TGT_DEPT_ID");
        TGT_EMP_ID      = WebUtility.GetRequestByInt("TGT_EMP_ID");
        EST_TGT_TYPE    = WebUtility.GetRequest("EST_TGT_TYPE", "EST");

        READ_ONLY_YN = WebUtility.GetRequest("READ_ONLY_YN", "N");

        _estInfos           = new Biz_EstInfos(COMP_ID, EST_ID);
        _q_item_desc_use_yn = _estInfos.Q_Item_Desc_Use_YN;
        _tgt_opinion_yn     = _estInfos.Tgt_Opinion_YN;
        _feedback_yn        = _estInfos.FeedBack_YN;
        _tgt_send_type      = BizUtility.GetTgtSendType(_tgt_opinion_yn, _feedback_yn);
        _tgt_pos_biz_use_yn = _estInfos.Q_Tgt_Pos_Biz_Use_YN;

        if (!Page.IsPostBack)
        {
            //이전평가차수질의지내용보기가 설정되어있고, 현재차수가 1차수이상일때만
            divPreviousControl.Visible = false;
            Biz_EstInfos bizEstInfo = new Biz_EstInfos(COMP_ID, EST_ID);
            if (bizEstInfo.Question_Previous_Step_YN.Trim() == "Y" && ESTTERM_STEP_ID > 2)
            {
                Biz_TermStepEstMaps bizTermStepEstMap = new Biz_TermStepEstMaps();
                DataSet             dsTermStepMap     = bizTermStepEstMap.GetTermStepEstMap(COMP_ID, EST_ID);

                if (dsTermStepMap.Tables[0].Rows.Count > 0)
                {
                    if (dsTermStepMap.Tables[0].Select(string.Format("ESTTERM_STEP_ID > 1 AND ESTTERM_STEP_ID < {0}", ESTTERM_STEP_ID)).Length > 0)
                    {
                        this.IPREVIOUS_STEP_VISIBLE = true;
                        DataRow[] drArr = dsTermStepMap.Tables[0].Select(string.Format("ESTTERM_STEP_ID > 1 AND ESTTERM_STEP_ID < {0}", ESTTERM_STEP_ID), "ESTTERM_STEP_ID ASC");
                        for (int i = 0; i < drArr.Length; i++)
                        {
                            ddlStep.Items.Insert(i, new ListItem(drArr[i]["ESTTERM_STEP_NAME"].ToString(), drArr[i]["ESTTERM_STEP_ID"].ToString()));
                        }
                        ddlStep.SelectedIndex = ddlStep.Items.Count - 1;
                        //this.IESTTERM_STEP_PREVIOUS_SELECT = WebUtility.GetIntByValueDropDownList(ddlStep);
                        divPreviousControl.Visible = true;
                    }
                }
            }
        }

        if (READ_ONLY_YN.Equals("N"))
        {
            Biz_TermInfos termInfos   = new Biz_TermInfos(ESTTERM_REF_ID);
            Biz_TermSubs  termSubs    = new Biz_TermSubs(COMP_ID, ESTTERM_SUB_ID);
            Biz_TermSteps termSteps   = new Biz_TermSteps(COMP_ID, ESTTERM_STEP_ID);
            Biz_EmpInfos  estEmpInfos = new Biz_EmpInfos(EST_EMP_ID);
            Biz_EmpInfos  tgtEmpInfos = new Biz_EmpInfos(TGT_EMP_ID);
            Biz_DeptInfos estDeptInfo = new Biz_DeptInfos(EST_DEPT_ID);
            Biz_DeptInfos tgtDeptInfo = new Biz_DeptInfos(TGT_DEPT_ID);
            Biz_Datas     data        = new Biz_Datas(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);

            _status_style_id = _estInfos.Status_Style_ID;

            Biz_QuestionDeptEmpMaps questionDeptEmpMaps = new Biz_QuestionDeptEmpMaps(COMP_ID
                                                                                      , ESTTERM_REF_ID
                                                                                      , ESTTERM_SUB_ID
                                                                                      , 0
                                                                                      , EST_ID
                                                                                      , ""
                                                                                      , TGT_DEPT_ID
                                                                                      , TGT_EMP_ID
                                                                                      , _estInfos.Owner_Type);
            if (_tgt_pos_biz_use_yn.Equals("N"))
            {
                if (questionDeptEmpMaps.Q_Obj_ID == null)
                {
                    ltrScript.Text = JSHelper.GetAlertScript("피평가자(부서)에 대한 평가질의서가 매핑되지 않았습니다. 성과평가 관리자에게 문의하세요.", true);
                    return;
                }
            }
            else
            {
            }

            // 의견상신 : X, 피드백 : O
            if (_tgt_send_type.Equals("FBK"))
            {
                if (EST_TGT_TYPE.Equals("EST"))
                {
                    _status_id                = "O";
                    ibnSaveOpinion.Visible    = false;
                    ibnFeedbackAgree.Visible  = false;
                    ibnFeedbackReject.Visible = false;

                    // 창을 띄은 사람이 평가자 인지 체크
                    if (EST_EMP_ID == EMP_REF_ID)
                    {
                        ibnSaveEst.Visible = true;
                    }
                    else
                    {
                        ibnSaveEst.Visible = false;

                        // 롤에 따른 버튼 권한이 있는지 확인
                        BizUtility.SetButtonVisibleCommandNameByRolID(EMP_REF_ID, ibnSaveEst);
                    }
                }
                else if (EST_TGT_TYPE.Equals("TGT"))
                {
                    _status_id             = "P";
                    ibnSaveEst.Visible     = false;
                    ibnSaveOpinion.Visible = false;

                    // 창을 띄은 사람이 피평가자 인지 체크
                    if (TGT_EMP_ID == EMP_REF_ID)
                    {
                        ibnFeedbackAgree.Visible  = true;
                        ibnFeedbackReject.Visible = true;
                    }
                    else
                    {
                        ibnFeedbackAgree.Visible  = false;
                        ibnFeedbackReject.Visible = false;

                        // 롤에 따른 버튼 권한이 있는지 확인
                        BizUtility.SetButtonVisibleCommandNameByRolID(EMP_REF_ID, ibnFeedbackAgree);
                        BizUtility.SetButtonVisibleCommandNameByRolID(EMP_REF_ID, ibnFeedbackReject);
                    }

                    if (!_status_style_id.Equals("0003"))
                    {
                        ltrScript.Text = JSHelper.GetAlertScript("피드백 5단계 평가으로 설정되어야 합니다.", true);
                        return;
                    }
                }
            }
            else // 그외 사항에서는
            {
                if (EST_TGT_TYPE.Equals("EST"))
                {
                    _status_id                = "P";
                    ibnSaveOpinion.Visible    = false;
                    ibnFeedbackAgree.Visible  = false;
                    ibnFeedbackReject.Visible = false;

                    // 창을 띄은 사람이 평가자 인지 체크
                    if (EST_EMP_ID == EMP_REF_ID)
                    {
                        ibnSaveEst.Visible = true;
                    }
                    else
                    {
                        ibnSaveEst.Visible = false;

                        // 롤에 따른 버튼 권한이 있는지 확인
                        BizUtility.SetButtonVisibleCommandNameByRolID(EMP_REF_ID, ibnSaveEst);
                    }
                }
                else if (EST_TGT_TYPE.Equals("TGT"))
                {
                    _status_id                = "O";
                    ibnSaveEst.Visible        = false;
                    ibnFeedbackAgree.Visible  = false;
                    ibnFeedbackReject.Visible = false;

                    // 창을 띄은 사람이 피평가자 인지 체크
                    if (TGT_EMP_ID == EMP_REF_ID)
                    {
                        ibnSaveOpinion.Visible = true;
                    }
                    else
                    {
                        ibnSaveOpinion.Visible = false;

                        // 롤에 따른 버튼 권한이 있는지 확인
                        BizUtility.SetButtonVisibleCommandNameByRolID(EMP_REF_ID, ibnSaveOpinion);
                    }

                    if (!_status_style_id.Equals("0002"))
                    {
                        ltrScript.Text = JSHelper.GetAlertScript("의견상신 5단계 평가으로 설정되어야 합니다.", true);
                        return;
                    }
                }
            }

            if (_tgt_send_type.Equals("FBK"))
            {
                if (data.Status_ID.Equals("E"))
                {
                    ibnSaveEst.Visible        = false;
                    ibnSaveOpinion.Visible    = false;
                    ibnFeedbackAgree.Visible  = false;
                    ibnFeedbackReject.Visible = false;
                }

                if (data.Status_ID.Equals("C"))
                {
                    ibnSaveEst.Visible = false;
                }
            }
            else
            {
                if (data.Status_ID.Equals("E"))
                {
                    ibnSaveEst.Visible        = false;
                    ibnSaveOpinion.Visible    = false;
                    ibnFeedbackAgree.Visible  = false;
                    ibnFeedbackReject.Visible = false;
                }
            }

            Q_OBJ_ID          = questionDeptEmpMaps.Q_Obj_ID;
            EST_NAME          = _estInfos.Est_Name;
            ESTTERM_REF_NAME  = termInfos.EstTerm_Name;
            ESTTERM_SUB_NAME  = termSubs.EstTerm_Sub_Name;
            ESTTERM_STEP_NAME = termSteps.EstTerm_Step_Name;
            EST_EMP_NAME      = estEmpInfos.Emp_Name;
            TGT_EMP_NAME      = tgtEmpInfos.Emp_Name;
            EST_DEPT_NAME     = estDeptInfo.Dept_Name;
            TGT_DEPT_NAME     = tgtDeptInfo.Dept_Name;
        }
        else
        {
            Q_OBJ_ID                  = WebUtility.GetRequest("Q_OBJ_ID");
            ibnSaveEst.Visible        = false;
            ibnSaveOpinion.Visible    = false;
            ibnFeedbackAgree.Visible  = false;
            ibnFeedbackReject.Visible = false;
        }

        if (!Page.IsPostBack)
        {
            DataListBinding();
            DoBindingPreviousStepQeustion();

            ibnSaveEst.Attributes.Add("onclick", "if(confirm('평가내용을 저장하시겠습니까?')) return ConfirmQuesiton();else return false;");
            ibnSaveOpinion.Attributes.Add("onclick", "return confirm('평가자에게 의견을 상신하시겠습니까?');");
            ibnFeedbackAgree.Attributes.Add("onclick", "return confirm('평가질의에 동의하십니까?');");
            ibnFeedbackReject.Attributes.Add("onclick", "return confirm('평가질의에 거절하십니까?');");
        }

        ltrScript.Text = "";
    }