Esempio n. 1
0
    private void setButtonVisible()
    {
        MicroBSC.Integration.EST.Biz.Biz_Est_Emp_Est_Target_Map bizEmpEstTargetMaps = new MicroBSC.Integration.EST.Biz.Biz_Est_Emp_Est_Target_Map();
        //MicroBSC.Estimation.Biz.Biz_EmpEstTargetMaps bizEmpEstTargetMaps = new Biz_EmpEstTargetMaps();

        DataTable dt_esttargetmap = bizEmpEstTargetMaps.GetEmpEstTargetMap(COMP_ID
                                                                           , EST_ID
                                                                           , ESTTERM_REF_ID
                                                                           , ESTTERM_SUB_ID
                                                                           , ConESTTERM_STEP_ID
                                                                           , 0
                                                                           , 0
                                                                           , 0
                                                                           , 0).Tables[0];

        DataRow[] rows = dt_esttargetmap.Select(string.Format(" DIRECTION_TYPE = '{0}' ", ConDIRECTION_TYPE));

        if (rows.Length > 0)
        {
            this.ibnSavePool.Visible = false;
            this.ibnDelPool.Visible  = false;
        }
        else
        {
            this.ibnSavePool.Visible = true;
            this.ibnDelPool.Visible  = true;
        }
    }
Esempio n. 2
0
    protected void ibnDelRandom_Click(object sender, ImageClickEventArgs e)
    {
        int cnt = UltraWebGrid1.Rows.Count;

        string dept_ref_id_list = string.Empty;

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

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

            if (cBox.Checked)
            {
                dept_ref_id_list += "," + DataTypeUtility.GetValue(row.Cells.FromKey("DEPT_REF_ID").Value);
            }
        }

        if (dept_ref_id_list.Length > 0)
        {
            dept_ref_id_list = dept_ref_id_list.Remove(0, 1);
        }
        else
        {
            dept_ref_id_list = "-1";
        }

        DataTable dtEmp = DataTypeUtility.FilterSortDataTable(DT_DEPTEMP, string.Format(" DEPT_REF_ID  IN ({0})  ", dept_ref_id_list));

        MicroBSC.Integration.EST.Biz.Biz_Est_Emp_Est_Target_Map bizEstEmpEstTargetMap = new MicroBSC.Integration.EST.Biz.Biz_Est_Emp_Est_Target_Map();

        string okMsg = bizEstEmpEstTargetMap.AddEmpEstTargetMapFromPool(dtEmp
                                                                        , null
                                                                        , COMP_ID
                                                                        , EST_ID
                                                                        , ESTTERM_REF_ID
                                                                        , ESTTERM_SUB_ID
                                                                        , ConESTTERM_STEP_ID
                                                                        , ConDIRECTION_TYPE
                                                                        , "N"
                                                                        , DateTime.Now
                                                                        , this.gUserInfo.Emp_Ref_ID);

        if (okMsg.Length == 0)
        {
            ltrScript.Text = JSHelper.GetAlertScript("정상 처리 되었습니다.", false);

            DoBinding_Dept();
        }
        else
        {
            ltrScript.Text = JSHelper.GetAlertScript(okMsg);
        }
    }
Esempio n. 3
0
    private void DoBinding()
    {
        Biz_Datas biz = new Biz_Datas();

        //DataSet ds = biz.Get3GADataList(ICOMP_ID
        //                                , IEST_ID
        //                                , IESTTERM_REF_ID
        //                                , IESTTERM_SUB_ID
        //                                , (User.IsInRole(ROLE_ADMIN) || User.IsInRole(ROLE_ESTADMIN) ? 0 : IUSERTYPE)
        //                                , (User.IsInRole(ROLE_ADMIN) || User.IsInRole(ROLE_ESTADMIN) ? PageUtility.GetIntByValueDropDownList(ddlComDept) : EMP_REF_ID));

        //DataSet ds = biz.Get3GADataList(ICOMP_ID
        //                                , IEST_ID
        //                                , IESTTERM_REF_ID
        //                                , IESTTERM_SUB_ID
        //                                , 2
        //                                , -1);

        MicroBSC.Integration.EST.Biz.Biz_Est_Emp_Est_Target_Map bizEstEmpEstTargetMap = new MicroBSC.Integration.EST.Biz.Biz_Est_Emp_Est_Target_Map();
        DataSet ds = bizEstEmpEstTargetMap.Get3A_DB(ICOMP_ID
                                                    , IEST_ID
                                                    , IESTTERM_REF_ID
                                                    , IESTTERM_SUB_ID
                                                    , (User.IsInRole(ROLE_ADMIN) || User.IsInRole(ROLE_ESTADMIN) ? 0 : IUSERTYPE)
                                                    , (User.IsInRole(ROLE_ADMIN) || User.IsInRole(ROLE_ESTADMIN) ? PageUtility.GetIntByValueDropDownList(ddlComDept) : EMP_REF_ID));


        if (ds.Tables[0].Rows.Count == 0)
        {
            IUSERTYPE = 2;
            if (User.IsInRole(ROLE_ADMIN) || User.IsInRole(ROLE_ESTADMIN))
            {
            }
            else
            {
                ugrdMBO.Bands[0].Columns.FromKey("EST_EMP_NAME").Hidden  = false;
                ugrdMBO.Bands[0].Columns.FromKey("EST_DEPT_NAME").Hidden = false;
                ugrdMBO.Bands[0].Columns.FromKey("TGT_EMP_NAME").Hidden  = true;
                ugrdMBO.Bands[0].Columns.FromKey("TGT_DEPT_NAME").Hidden = true;
            }
            ds = bizEstEmpEstTargetMap.Get3A_DB(ICOMP_ID
                                                , IEST_ID
                                                , IESTTERM_REF_ID
                                                , IESTTERM_SUB_ID
                                                , IUSERTYPE
                                                , EMP_REF_ID);
        }

        ugrdMBO.Clear();
        ugrdMBO.DataSource = ds;
        ugrdMBO.DataBind();

        lblRowCount.Text = ds.Tables[0].Compute("COUNT(COMPLETE_YN)", "COMPLETE_YN = 'Y'").ToString() + " / " + ds.Tables[0].Rows.Count.ToString();
    }
Esempio n. 4
0
    protected bool CheckModifyPossiblity(int dept_ref_id)
    {
        MicroBSC.Integration.EST.Biz.Biz_Est_Emp_Est_Target_Map bizTargetMap = new MicroBSC.Integration.EST.Biz.Biz_Est_Emp_Est_Target_Map();

        bool allowModify;


        //현재 부서의 피평가자 목록 데이터테이블
        DataTable c_DT_tgt_emp_id = DataTypeUtility.FilterSortDataTable(DT_DEPTEMP, string.Format(" EST_TYPE_TGT = 'TGT' AND DEPT_REF_ID={0}", dept_ref_id));



        //현재 부서의 피평가자 목록 스트링
        StringBuilder tgt_emp_id_list = new StringBuilder();

        for (int i = 0; i < c_DT_tgt_emp_id.Rows.Count; i++)
        {
            if (tgt_emp_id_list.Length > 0)
            {
                tgt_emp_id_list.Append(", ");
            }
            tgt_emp_id_list.Append(c_DT_tgt_emp_id.Rows[i]["EMP_REF_ID"].ToString());
        }

        if (tgt_emp_id_list.Length == 0)
        {
            tgt_emp_id_list.Append("''");
        }

        //현재 부서의 피평가자에 대한 평가자 매핑 정보
        DataTable dtConfirmed = DataTypeUtility.FilterSortDataTable(DT_EST_DATA, string.Format("TGT_EMP_ID IN ({0})", tgt_emp_id_list.ToString()));



        if (dtConfirmed.Rows.Count > 0)
        {
            allowModify = false;
        }
        else
        {
            allowModify = true;
        }

        return(allowModify);
    }
Esempio n. 5
0
    private void DoBinding_Dept()
    {
        DEPT_REF_ID = -1;
        UltraWebGrid1.Clear();
        UltraWebGrid2.Clear();

        MicroBSC.Integration.EST.Biz.Biz_Est_Emp_Est_Target_Map bizEmpEstTargetMaps = new MicroBSC.Integration.EST.Biz.Biz_Est_Emp_Est_Target_Map();
        //MicroBSC.Estimation.Biz.Biz_EmpEstTargetMaps bizEmpEstTargetMaps = new Biz_EmpEstTargetMaps();

        DT_ESTTARGETMAP = bizEmpEstTargetMaps.GetEmpEstTargetMap(COMP_ID
                                                                 , EST_ID
                                                                 , ESTTERM_REF_ID
                                                                 , ESTTERM_SUB_ID
                                                                 , ConESTTERM_STEP_ID
                                                                 , 0
                                                                 , 0
                                                                 , 0
                                                                 , 0).Tables[0];

        DataRow[] rows = DT_ESTTARGETMAP.Select(string.Format(" DIRECTION_TYPE = '{0}' ", ConDIRECTION_TYPE));

        if (rows.Length > 0)
        {
            ibnDeptAdd.Visible = false;
            ibnDeptDel.Visible = false;
            ibnEmp.Visible     = false;
        }
        else
        {
            ibnDeptAdd.Visible = true;
            ibnDeptDel.Visible = true;
            ibnEmp.Visible     = true;
        }

        MicroBSC.Integration.MUL.Biz.Biz_Mul_Est_Emp bizMulEstEmp = new MicroBSC.Integration.MUL.Biz.Biz_Mul_Est_Emp();

        DataTable dtMulEstEmp = bizMulEstEmp.GetDeptMapping_DB(COMP_ID
                                                               , EST_ID
                                                               , ESTTERM_REF_ID
                                                               , ESTTERM_SUB_ID);

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

        if (dtMulEstEmp.Rows.Count > 0)
        {
            ibnDeptAdd.Enabled = true;
            ibnDeptDel.Enabled = true;
        }
        else
        {
            ibnDeptAdd.Enabled = false;
            ibnDeptDel.Enabled = false;
        }

        // 평가자 목록 (EST_TYPE : EST)
        DT_ESTEMP = bizMulEstEmp.GetEstEmp_DB(COMP_ID
                                              , EST_ID
                                              , ESTTERM_REF_ID
                                              , ESTTERM_SUB_ID
                                              , 0
                                              , "");

        //// 피평가자 목록 (EST_TYPE : TGT)
        //DT_TGTEMP = bizMulEstEmp.GetEstEmp_DB(COMP_ID
        //                                     , EST_ID
        //                                     , ESTTERM_REF_ID
        //                                     , ESTTERM_SUB_ID
        //                                     , 0
        //                                     , "TGT");

        MicroBSC.Integration.COM.Biz.Biz_Rel_Dept_Emp bizRelDeptEmp = new MicroBSC.Integration.COM.Biz.Biz_Rel_Dept_Emp();

        DT_DEPTEMP = bizRelDeptEmp.GetRelDeptEmp_DB(0
                                                    , COMP_ID
                                                    , EST_ID
                                                    , ESTTERM_REF_ID
                                                    , ESTTERM_SUB_ID);
    }
Esempio n. 6
0
    private void DoBinding_Dept()
    {
        MicroBSC.Integration.EST.Biz.Biz_Est_Data bizEstData = new MicroBSC.Integration.EST.Biz.Biz_Est_Data();
        DT_EST_DATA = bizEstData.GetEstData(COMP_ID
                                            , EST_ID
                                            , ESTTERM_REF_ID
                                            , ESTTERM_SUB_ID
                                            , ConESTTERM_STEP_ID
                                            , ConDIRECTION_TYPE);


        DEPT_REF_ID = -1;
        UltraWebGrid1.Clear();
        UltraWebGrid2.Clear();
        UltraWebGrid3.Clear();

        MicroBSC.Integration.EST.Biz.Biz_Est_Emp_Est_Target_Map bizEmpEstTargetMaps = new MicroBSC.Integration.EST.Biz.Biz_Est_Emp_Est_Target_Map();
        DT_ESTTARGETMAP = bizEmpEstTargetMaps.GetEmpEstTargetMap(COMP_ID
                                                                 , EST_ID
                                                                 , ESTTERM_REF_ID
                                                                 , ESTTERM_SUB_ID
                                                                 , ConESTTERM_STEP_ID
                                                                 , 0
                                                                 , 0
                                                                 , 0
                                                                 , 0).Tables[0];

        string[] groupBy = { "TGT_DEPT_ID"
                             , "TGT_DEPT_NAME"
                             , "TGT_EMP_ID"
                             , "TGT_EMP_NAME"
                             , "TGT_POS_CLS_ID"
                             , "TGT_POS_CLS_NAME"
                             , "TGT_POS_DUT_ID"
                             , "TGT_POS_DUT_NAME"
                             , "TGT_POS_GRP_ID"
                             , "TGT_POS_GRP_NAME"
                             , "TGT_POS_RNK_ID"
                             , "TGT_POS_RNK_NAME"
                             , "TGT_POS_KND_ID"
                             , "TGT_POS_KND_NAME"
                             , "DIRECTION_TYPE" };

        DataTable dtEst = DT_ESTTARGETMAP.Copy();
        DataTable dtTgt = DT_ESTTARGETMAP.Copy();

        DT_ESTTARGETMAP_GROUPBYEST = DataTypeUtility.GetGroupByDataTable(dtEst, groupBy);

        DT_ESTTARGETMAP_GROUPBYTGT = DataTypeUtility.GetGroupByDataTable(dtTgt, new string[] { "EST_DEPT_ID", "EST_EMP_ID", "DIRECTION_TYPE" });



        MicroBSC.Integration.MUL.Biz.Biz_Mul_Est_Emp bizMulEstEmp = new MicroBSC.Integration.MUL.Biz.Biz_Mul_Est_Emp();
        DataTable dtMulEstEmp = bizMulEstEmp.GetDeptMapping_DB(COMP_ID
                                                               , EST_ID
                                                               , ESTTERM_REF_ID
                                                               , ESTTERM_SUB_ID);



        // 평가자 목록 (EST_TYPE : EST)

        /*
         * DT_ESTEMP = bizMulEstEmp.GetEstEmp_DB(COMP_ID
         *                                   , EST_ID
         *                                   , ESTTERM_REF_ID
         *                                   , ESTTERM_SUB_ID
         *                                   , 0
         *                                   , "");
         */
        MicroBSC.Integration.COM.Biz.Biz_Rel_Dept_Emp bizRelDeptEmp = new MicroBSC.Integration.COM.Biz.Biz_Rel_Dept_Emp();
        DT_DEPTEMP = bizRelDeptEmp.GetRelDeptEmp_DB(0
                                                    , COMP_ID
                                                    , EST_ID
                                                    , ESTTERM_REF_ID
                                                    , ESTTERM_SUB_ID);

        DT_DEPTEMP.Columns.Add("TGT_DEPT_ID");
        DT_DEPTEMP.Columns.Add("TGT_EMP_ID");
        DT_DEPTEMP.Columns.Add("TGT_EMP_NAME");
        DT_DEPTEMP.Columns.Add("TGT_CLASS_CODE");
        DT_DEPTEMP.Columns.Add("TGT_CLS_NAME");
        DT_DEPTEMP.Columns.Add("TGT_GRP_CODE");
        DT_DEPTEMP.Columns.Add("TGT_GRP_NAME");
        DT_DEPTEMP.Columns.Add("TGT_RANK_CODE");
        DT_DEPTEMP.Columns.Add("TGT_RANK_NAME");
        DT_DEPTEMP.Columns.Add("TGT_DUTY_CODE");
        DT_DEPTEMP.Columns.Add("TGT_DUT_NAME");
        DT_DEPTEMP.Columns.Add("TGT_KIND_CODE");
        DT_DEPTEMP.Columns.Add("TGT_KND_NAME");



        //랜덤 지정/해제 버튼 보이기 상태
        setRndButtonVisible();



        //매핑 확정/취소 버튼 보이기상태
        if (CheckPossiblityCancelConfirm())
        {
            ibnAddEstData.Visible = true;
            ibnDelEstData.Visible = true;
        }
        else
        {
            ibnAddEstData.Visible = false;
            ibnDelEstData.Visible = false;
        }



        //바인드
        UltraWebGrid1.DataSource = dtMulEstEmp;
        UltraWebGrid1.DataBind();

        if (dtMulEstEmp.Rows.Count > 0)
        {
            ibnRandom.Enabled    = true;
            ibnDelRandom.Enabled = true;
        }
        else
        {
            ibnRandom.Enabled    = false;
            ibnDelRandom.Enabled = false;
        }
    }
Esempio n. 7
0
    protected void ibnRandom_Click(object sender, ImageClickEventArgs e)
    {
        Biz_Mul_Est_Target_Pool bizMulEstTargetPool = new Biz_Mul_Est_Target_Pool();

        DataTable DT_dept_ref_id = UltraGridUtility.GetDataSetByCheckedBox(UltraWebGrid1, new string[] { "DEPT_REF_ID" }, "selchk", "cBox").Tables[0];

        StringBuilder dept_ref_id_list = new StringBuilder();


        //전체 직원 정보, 평가, 피평가 포함된 테이블 스키마 복사
        DataTable dtResult = DT_DEPTEMP.Clone();



        for (int i = 0; i < DT_dept_ref_id.Rows.Count; i++)
        {
            string dept_ref_id = DT_dept_ref_id.Rows[i]["DEPT_REF_ID"].ToString();
            if (dept_ref_id_list.Length > 0)
            {
                dept_ref_id_list.Append(", ");
            }
            dept_ref_id_list.Append(dept_ref_id);
        }


        //해당 부서들의 피평가자들 리스트
        DataTable DT_tgt_emp_id = DataTypeUtility.FilterSortDataTable(DT_DEPTEMP, string.Format(" EST_TYPE_TGT = 'TGT' AND DEPT_REF_ID IN ({0}) ", dept_ref_id_list.ToString()));



        //피평가자들의 모든 평가자 리스트
        DataTable DT_est_emp_id = bizMulEstTargetPool.Get_BaseEstEmpList(COMP_ID, EST_ID, ESTTERM_REF_ID, ESTTERM_SUB_ID, DT_tgt_emp_id);



        DT_est_emp_id.Columns.Add("TGT_DEPT_ID");
        DT_est_emp_id.Columns.Add("TGT_EMP_NAME");
        DT_est_emp_id.Columns.Add("TGT_CLASS_CODE");
        DT_est_emp_id.Columns.Add("TGT_CLS_NAME");
        DT_est_emp_id.Columns.Add("TGT_GRP_CODE");
        DT_est_emp_id.Columns.Add("TGT_GRP_NAME");
        DT_est_emp_id.Columns.Add("TGT_RANK_CODE");
        DT_est_emp_id.Columns.Add("TGT_RANK_NAME");
        DT_est_emp_id.Columns.Add("TGT_DUTY_CODE");
        DT_est_emp_id.Columns.Add("TGT_DUT_NAME");
        DT_est_emp_id.Columns.Add("TGT_KIND_CODE");
        DT_est_emp_id.Columns.Add("TGT_KND_NAME");

        StringBuilder est_tgt_list = new StringBuilder();

        for (int i = 0; i < DT_dept_ref_id.Rows.Count; i++)
        {
            string    c_dept_ref_id   = DT_dept_ref_id.Rows[i]["DEPT_REF_ID"].ToString();
            DataTable c_DT_tgt_emp_id = DataTypeUtility.FilterSortDataTable(DT_tgt_emp_id, string.Format("DEPT_REF_ID={0}", c_dept_ref_id));

            //선택된 부서의 피평가자 수만큼 루프
            for (int j = 0; j < c_DT_tgt_emp_id.Rows.Count; j++)
            {
                string tgt_dept_id         = c_DT_tgt_emp_id.Rows[j]["DEPT_REF_ID"].ToString();
                string tgt_emp_id          = c_DT_tgt_emp_id.Rows[j]["EMP_REF_ID"].ToString();
                string tgt_emp_name        = c_DT_tgt_emp_id.Rows[j]["EMP_NAME"].ToString();
                string position_class_code = c_DT_tgt_emp_id.Rows[j]["POSITION_CLASS_CODE"].ToString();
                string pos_cls_name        = c_DT_tgt_emp_id.Rows[j]["POS_CLS_NAME"].ToString();
                string position_grp_code   = c_DT_tgt_emp_id.Rows[j]["POSITION_GRP_CODE"].ToString();
                string pos_grp_name        = c_DT_tgt_emp_id.Rows[j]["POS_GRP_NAME"].ToString();
                string position_rank_code  = c_DT_tgt_emp_id.Rows[j]["POSITION_RANK_CODE"].ToString();
                string pos_rank_name       = c_DT_tgt_emp_id.Rows[j]["POS_RNK_NAME"].ToString();
                string position_duty_code  = c_DT_tgt_emp_id.Rows[j]["POSITION_DUTY_CODE"].ToString();
                string pos_dut_name        = c_DT_tgt_emp_id.Rows[j]["POS_DUT_NAME"].ToString();
                string position_kind_code  = c_DT_tgt_emp_id.Rows[j]["POSITION_KIND_CODE"].ToString();
                string pos_knd_name        = c_DT_tgt_emp_id.Rows[j]["POS_KND_NAME"].ToString();



                //해당 피평가자에 대한 평가자 리스트 추출
                string    filter_Extract_EstEmp = string.Format("TGT_EMP_ID={0} AND EST_EMP_ID <> {0}", tgt_emp_id);
                DataTable dtRandom = DataTypeUtility.FilterSortDataTable(DT_est_emp_id, filter_Extract_EstEmp);



                StringBuilder est_emp_list = new StringBuilder();

                if (dtRandom.Rows.Count > 0)
                {
                    for (int k = 0; k < EST_MAX_COUNT; k++)
                    {
                        int cntRandom = dtRandom.Rows.Count;


                        //행 감소를 체크
                        if (cntRandom == 0)
                        {
                            break;
                        }


                        //랜덤 인덱스
                        Random rnd    = new Random();
                        int    rndNum = rnd.Next();
                        int    rndIdx = rndNum % cntRandom;



                        //평가자 EMP_REF_ID
                        if (est_emp_list.Length > 0)
                        {
                            est_emp_list.Append(", ");
                        }
                        est_emp_list.Append(j.ToString() + "-" + dtRandom.Rows[rndIdx]["EMP_REF_ID"].ToString());



                        DataRow rowRandom = dtRandom.Rows[rndIdx];

                        rowRandom["TGT_DEPT_ID"]    = tgt_dept_id;
                        rowRandom["TGT_EMP_ID"]     = tgt_emp_id;
                        rowRandom["TGT_EMP_NAME"]   = tgt_emp_name;
                        rowRandom["TGT_CLASS_CODE"] = position_class_code;
                        rowRandom["TGT_CLS_NAME"]   = pos_cls_name;
                        rowRandom["TGT_GRP_CODE"]   = position_grp_code;
                        rowRandom["TGT_GRP_NAME"]   = pos_grp_name;
                        rowRandom["TGT_RANK_CODE"]  = position_rank_code;
                        rowRandom["TGT_RANK_NAME"]  = pos_rank_name;
                        rowRandom["TGT_DUTY_CODE"]  = position_duty_code;
                        rowRandom["TGT_DUT_NAME"]   = pos_dut_name;
                        rowRandom["TGT_KIND_CODE"]  = position_kind_code;
                        rowRandom["TGT_KND_NAME"]   = pos_knd_name;



                        //평가자 추가
                        dtResult.ImportRow(rowRandom);



                        //원본 데이터에서 사용한 데이터 삭제 확정
                        rowRandom.Delete();
                        dtRandom.AcceptChanges();
                    }



                    if (est_emp_list.Length > 0)
                    {
                        if (est_tgt_list.Length > 0)
                        {
                            est_tgt_list.Append(";");
                        }
                        est_tgt_list.Append(string.Format("{2}. {0}={1}", tgt_emp_id, est_emp_list.ToString(), i.ToString()));
                    }
                }
            }
        }

        if (dept_ref_id_list.Length == 0)
        {
            dept_ref_id_list.Append("-1");
        }


        DataTable dtEmp = DataTypeUtility.FilterSortDataTable(DT_DEPTEMP, string.Format(" DEPT_REF_ID  IN ({0})  ", dept_ref_id_list));

        MicroBSC.Integration.EST.Biz.Biz_Est_Emp_Est_Target_Map bizEstEmpEstTargetMap = new MicroBSC.Integration.EST.Biz.Biz_Est_Emp_Est_Target_Map();



        //해당 부서에 해당하는 직원이 피평가자로 있는 매핑 데이터를 모두 삭제 후 다시 추가
        string okMsg = bizEstEmpEstTargetMap.AddEmpEstTargetMapFromPool(dtEmp
                                                                        , dtResult
                                                                        , COMP_ID
                                                                        , EST_ID
                                                                        , ESTTERM_REF_ID
                                                                        , ESTTERM_SUB_ID
                                                                        , ConESTTERM_STEP_ID
                                                                        , ConDIRECTION_TYPE
                                                                        , "N"
                                                                        , DateTime.Now
                                                                        , this.gUserInfo.Emp_Ref_ID);

        if (okMsg.Length == 0)
        {
            ltrScript.Text = JSHelper.GetAlertScript("정상 처리 되었습니다.", false);

            DoBinding_Dept();
        }
        else
        {
            ltrScript.Text = JSHelper.GetAlertScript("실패하였습니다.", false);
        }
    }
Esempio n. 8
0
    protected void ibnRandom_Click(object sender, ImageClickEventArgs e)
    {
        int cnt = UltraWebGrid1.Rows.Count;

        string dept_ref_id_list = string.Empty;
        string dept_ref_id      = string.Empty;

        DataTable dtResult = DT_DEPTEMP.Clone();

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

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

            if (cBox.Checked)
            {
                dept_ref_id = DataTypeUtility.GetValue(row.Cells.FromKey("DEPT_REF_ID").Value);

                dept_ref_id_list += "," + dept_ref_id;

                string est_tgt_list = string.Empty;


                DataRow[] rowsTGT = DT_DEPTEMP.Select(string.Format(" EST_TYPE_TGT = 'TGT' AND DEPT_REF_ID = {0} ", dept_ref_id));

                string filterDept = " EST_TYPE_EST = 'EST' ";
                string sort       = string.Empty;

                if (EST_RANGE.Equals("D"))
                {
                    filterDept += string.Format(" AND  DEPT_REF_ID = {0} ", dept_ref_id);
                }

                if (EST_METHOD.Equals("R"))
                {
                    foreach (DataRow rowTgt in rowsTGT)
                    {
                        DataTable dtRandom = DT_DEPTEMP.Copy();

                        string estList = string.Empty;

                        string tgt_emp_id          = DataTypeUtility.GetValue(rowTgt["EMP_REF_ID"]);
                        string tgt_emp_name        = DataTypeUtility.GetValue(rowTgt["EMP_NAME"]);
                        string position_class_code = DataTypeUtility.GetValue(rowTgt["POSITION_CLASS_CODE"]);
                        string pos_cls_name        = DataTypeUtility.GetValue(rowTgt["POS_CLS_NAME"]);
                        string position_grp_code   = DataTypeUtility.GetValue(rowTgt["POSITION_GRP_CODE"]);
                        string pos_grp_name        = DataTypeUtility.GetValue(rowTgt["POS_GRP_NAME"]);
                        string position_rank_code  = DataTypeUtility.GetValue(rowTgt["POSITION_RANK_CODE"]);
                        string pos_rank_name       = DataTypeUtility.GetValue(rowTgt["POS_RNK_NAME"]);
                        string position_duty_code  = DataTypeUtility.GetValue(rowTgt["POSITION_DUTY_CODE"]);
                        string pos_dut_name        = DataTypeUtility.GetValue(rowTgt["POS_DUT_NAME"]);
                        string position_kind_code  = DataTypeUtility.GetValue(rowTgt["POSITION_KIND_CODE"]);
                        string pos_knd_name        = DataTypeUtility.GetValue(rowTgt["POS_KND_NAME"]);

                        string filter = filterDept + string.Format(" AND EMP_REF_ID <> {0} ", tgt_emp_id);

                        dtRandom = DataTypeUtility.FilterSortDataTable(dtRandom, filter);

                        int cntRandom = dtRandom.Rows.Count;
                        if (cntRandom > 0)
                        {
                            for (int k = 0; k < EST_MAX_COUNT; k++)
                            {
                                cntRandom = dtRandom.Rows.Count;
                                if (cntRandom <= 0)
                                {
                                    break;
                                }

                                Random rnd    = new Random();
                                int    rndCnt = rnd.Next(0, cntRandom - 1);

                                rndCnt = rnd.Next(0, rndCnt);

                                //int rndCnt = rnd.Next(1, 1);

                                estList += "," + DataTypeUtility.GetValue(dtRandom.Rows[rndCnt]["EMP_REF_ID"]);

                                DataRow rowRandom = dtRandom.Rows[rndCnt];

                                rowRandom["TGT_DEPT_ID"]    = dept_ref_id;
                                rowRandom["TGT_EMP_ID"]     = tgt_emp_id;
                                rowRandom["TGT_EMP_NAME"]   = tgt_emp_name;
                                rowRandom["TGT_CLASS_CODE"] = position_class_code;
                                rowRandom["TGT_CLS_NAME"]   = pos_cls_name;
                                rowRandom["TGT_GRP_CODE"]   = position_grp_code;
                                rowRandom["TGT_GRP_NAME"]   = pos_grp_name;
                                rowRandom["TGT_RANK_CODE"]  = position_rank_code;
                                rowRandom["TGT_RANK_NAME"]  = pos_rank_name;
                                rowRandom["TGT_DUTY_CODE"]  = position_duty_code;
                                rowRandom["TGT_DUT_NAME"]   = pos_dut_name;
                                rowRandom["TGT_KIND_CODE"]  = position_kind_code;
                                rowRandom["TGT_KND_NAME"]   = pos_knd_name;

                                dtResult.ImportRow(rowRandom);

                                rowRandom.Delete();
                                dtRandom.AcceptChanges();
                            }
                        }

                        if (estList.Length > 0)
                        {
                            estList = estList.Remove(0, 1);
                        }

                        est_tgt_list += ";" + string.Format("{0}={1}", tgt_emp_id, estList);
                    }
                }
                else
                {
                    //dtRandom = DataTypeUtility.FilterSortDataTable(dtRandom, filter, sort);
                }

                if (est_tgt_list.Length > 0)
                {
                    est_tgt_list = est_tgt_list.Remove(0, 1);
                }

                row.Cells.FromKey("RND_EST_LIST").Value += est_tgt_list;
            }
        }

        if (dept_ref_id_list.Length > 0)
        {
            dept_ref_id_list = dept_ref_id_list.Remove(0, 1);
        }
        else
        {
            dept_ref_id_list = "-1";
        }

        DataTable dtEmp = DataTypeUtility.FilterSortDataTable(DT_DEPTEMP, string.Format(" DEPT_REF_ID  IN ({0})  ", dept_ref_id_list));

        MicroBSC.Integration.EST.Biz.Biz_Est_Emp_Est_Target_Map bizEstEmpEstTargetMap = new MicroBSC.Integration.EST.Biz.Biz_Est_Emp_Est_Target_Map();

        string okMsg = bizEstEmpEstTargetMap.AddEmpEstTargetMap(dtEmp
                                                                , dtResult
                                                                , COMP_ID
                                                                , EST_ID
                                                                , ESTTERM_REF_ID
                                                                , ESTTERM_SUB_ID
                                                                , ConESTTERM_STEP_ID
                                                                , ConDIRECTION_TYPE
                                                                , "N"
                                                                , DateTime.Now
                                                                , this.gUserInfo.Emp_Ref_ID);

        if (okMsg.Length == 0)
        {
            ltrScript.Text = JSHelper.GetAlertScript("정상 처리 되었습니다.", false);

            DoBinding_Dept();
        }
        else
        {
            ltrScript.Text = JSHelper.GetAlertScript(okMsg);
        }
    }
Esempio n. 9
0
    /* 다면평가 평가 거부 프로세스
     * 1. 현재 피평가자 기준의 평가자 리스트가 평가 최소 인원(middle) 보다 큰가?
     * 2. 만약 1번을 만족하면 평가자 삭제만 한다.
     * 3. 그렇지 않으면 풀에 데이터가 잇는지를 판단한다.
     * 4. 풀에 데이터가 있다면 평가 거부와 동시에 풀에서 데이터를 랜덤으로 가져온다.
     *
     * */

    protected void iBtnReject_Click(object sender, ImageClickEventArgs e)
    {
        MicroBSC.Integration.MUL.Biz.Biz_Mul_Basic_Info bizMulBasicInfo = new MicroBSC.Integration.MUL.Biz.Biz_Mul_Basic_Info();

        DataTable dtMulBasicInfo = bizMulBasicInfo.Get_Mul_Basic_Info(COMP_ID, EST_ID, ESTTERM_REF_ID, ESTTERM_SUB_ID);

        int max    = 0;
        int middle = 0;
        int min    = 0;

        if (dtMulBasicInfo.Rows.Count > 0)
        {
            max    = DataTypeUtility.GetToInt32(dtMulBasicInfo.Rows[0]["MAX_EST_EMP_CNT"]);
            middle = DataTypeUtility.GetToInt32(dtMulBasicInfo.Rows[0]["MID_EST_EMP_CNT"]);
            min    = DataTypeUtility.GetToInt32(dtMulBasicInfo.Rows[0]["MIN_EST_EMP_CNT"]);
        }

        MicroBSC.Integration.EST.Biz.Biz_Est_Data bizEstData = new MicroBSC.Integration.EST.Biz.Biz_Est_Data();

        // 현재 평가 갯수(피평가자 기준)
        DataTable dtEstData = bizEstData.GetEstData(COMP_ID
                                                    , EST_ID
                                                    , ESTTERM_REF_ID
                                                    , ESTTERM_SUB_ID
                                                    , ESTTERM_STEP_ID
                                                    , ConstDIRECTION_TYPE
                                                    , 0
                                                    , TGT_EMP_ID);


        MicroBSC.Integration.MUL.Biz.Biz_Mul_Est_Target_Pool bizEstTargetPool = new MicroBSC.Integration.MUL.Biz.Biz_Mul_Est_Target_Pool();

        DataTable dtEstTargetPool = bizEstTargetPool.GetMulEstTargetPool_DB(COMP_ID
                                                                            , EST_ID
                                                                            , ESTTERM_REF_ID
                                                                            , ESTTERM_SUB_ID
                                                                            , TGT_EMP_ID
                                                                            , "N");

        string msg = string.Empty;

        //1.
        if (dtEstData.Rows.Count > middle)
        {
            msg = bizEstData.RemoveEstData(COMP_ID
                                           , EST_ID
                                           , ESTTERM_REF_ID
                                           , ESTTERM_SUB_ID
                                           , ESTTERM_STEP_ID
                                           , EST_EMP_ID
                                           , TGT_EMP_ID
                                           , ConstDIRECTION_TYPE);
        }
        else //2.
        {
            //3.
            if (dtEstTargetPool.Rows.Count <= 0)
            {
                ltrScript.Text = JSHelper.GetAlertScript("다면평가을 위한 평가자 피평가자 풀에 데이터가 없습니다.", false);
                return;
            }

            //4.
            if (dtEstData.Rows.Count <= min)
            {
                ltrScript.Text = JSHelper.GetAlertScript(string.Format("평가 최소 인원이 {0}명 되지 못하여 평가거부 할 수 없습니다. 관리자에게 문의하세요 ", min), false);
                return;
            }
            else
            {
                Random rnd    = new Random();
                int    rndCnt = rnd.Next(0, dtEstTargetPool.Rows.Count - 1);

                int rnd_est_dept_id = DataTypeUtility.GetToInt32(dtEstTargetPool.Rows[rndCnt]["DEPT_REF_ID"]); // 평가자 부서
                int rnd_est_emp_id  = DataTypeUtility.GetToInt32(dtEstTargetPool.Rows[rndCnt]["EST_EMP_ID"]);  // 평가자

                MicroBSC.Integration.EST.Biz.Biz_Est_Emp_Est_Target_Map bizEstEmpTargetMap = new MicroBSC.Integration.EST.Biz.Biz_Est_Emp_Est_Target_Map();

                DataTable dtEstEmpTargetMap = bizEstEmpTargetMap.GetEstEmpEstTargetMap_DB(COMP_ID
                                                                                          , ESTTERM_REF_ID
                                                                                          , ESTTERM_SUB_ID
                                                                                          , ESTTERM_STEP_ID
                                                                                          , EST_ID
                                                                                          , TGT_EMP_ID);

                msg = bizEstData.RemoveEstDataWithRandomEstEmp(dtEstEmpTargetMap
                                                               , 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
                                                               , rnd_est_dept_id
                                                               , rnd_est_emp_id
                                                               , ConstDIRECTION_TYPE
                                                               , DateTime.Now
                                                               , this.gUserInfo.Emp_Ref_ID);
            }
        }

        if (msg.Equals(""))
        {
            ltrScript.Text = JSHelper.GetAlertOpenerControlCallBackScript("정상적으로 처리 되었습니다.", "lbnReload", true);
        }
        else
        {
            ltrScript.Text = JSHelper.GetAlertScript(msg, false);
        }
    }