protected bool Save_Final_Point() { int est_dept_id = 1; int est_emp_id = 1000; string direction_type = "DN"; string status_id = "E"; string now_date = System.DateTime.Now.ToString("yyyy_MM-dd"); int create_user_ref_id = gUserInfo.Emp_Ref_ID; MicroBSC.Integration.EST.Biz.Biz_Est_Data bizEstdata = new MicroBSC.Integration.EST.Biz.Biz_Est_Data(); return(bizEstdata.AddData(DT_EMP_LIST , DT_FINAL_POINT , COMP_ID , EST_ID , ESTTERM_REF_ID , ESTTERM_SUB_ID , ESTTERM_STEP_ID , est_dept_id , est_emp_id , direction_type , status_id , System.DateTime.Now , System.DateTime.Now , System.DateTime.Now , System.DateTime.Now , create_user_ref_id)); }
protected void doBind_prjEmp() { UltraWebGrid2.Clear(); MicroBSC.Integration.EST.Biz.Biz_Est_Data bizEstData = new MicroBSC.Integration.EST.Biz.Biz_Est_Data(); DT_EMP_EST_DATA = bizEstData.GetEstData(COMP_ID, EST_ID, ESTTERM_REF_ID, ESTTERM_SUB_ID, ESTTERM_STEP_ID, DIRECTION_TYPE, EST_EMP_ID, 0); MicroBSC.Integration.PRJ.Biz.Biz_Prj_Data bizPrjData = new Biz_Prj_Data(); string est_id = "3Q";//프로젝트 기여도 평가 EST_ID DT_PRJ_DATA = bizPrjData.Get_Prj_Data_List(PRJ_REF_ID , COMP_ID , est_id , ESTTERM_REF_ID , ESTTERM_SUB_ID , ESTTERM_STEP_ID); DataTable dtPrj_PM_Data = DataTypeUtility.FilterSortDataTable(DT_PRJ_DATA, "TGT_DEPT_ID=-1 AND TGT_EMP_ID=-1"); object point = dtPrj_PM_Data.Rows[0]["POINT"]; PRJ_POINT = DataTypeUtility.GetString(point); UltraWebGrid2.DataSource = DT_PRJ_DATA; UltraWebGrid2.DataBind(); }
protected void ibnAddEstData_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_ESTTARGETMAP, string.Format(" TGT_DEPT_ID IN ({0}) AND DIRECTION_TYPE = '{1}' ", dept_ref_id_list, ConDIRECTION_TYPE)); DataTable dtDel = DataTypeUtility.GetGroupByDataTable(dtEmp.Copy(), new string[] { "TGT_EMP_ID" }); MicroBSC.Integration.EST.Biz.Biz_Est_Data bizEstData = new MicroBSC.Integration.EST.Biz.Biz_Est_Data(); string okMsg = bizEstData.AddData(dtDel , dtEmp , COMP_ID , EST_ID , ESTTERM_REF_ID , ESTTERM_SUB_ID , ConESTTERM_STEP_ID , ConDIRECTION_TYPE , "N" , DateTime.Now , DateTime.Now , this.gUserInfo.Emp_Ref_ID); if (okMsg.Length == 0) { ltrScript.Text = JSHelper.GetAlertScript("정상 처리 되었습니다.", false); DoBinding_Dept(); DEPT_REF_ID = -1; } else { ltrScript.Text = JSHelper.GetAlertScript(okMsg); } }
private void ViewOne(int comp_id, int estterm_step_id) { MicroBSC.Integration.EST.Biz.Biz_Est_Data bizEstData = new MicroBSC.Integration.EST.Biz.Biz_Est_Data(); string reVal = bizEstData.RemoveEstDataWithJoin_DB(); Biz_TermSteps termStep = new Biz_TermSteps(comp_id, estterm_step_id); txtEstTermStepID.Text = termStep.EstTerm_Step_ID.ToString(); txtEstTermStepName.Text = termStep.EstTerm_Step_Name; txtWeight.Text = DataTypeUtility.GetValue(termStep.Weight); txtSortOrder.Text = DataTypeUtility.GetValue(termStep.Sort_Order); ckbMergeYN.Checked = DataTypeUtility.GetYNToBoolean(termStep.Merge_YN); ckbUseYN.Checked = DataTypeUtility.GetYNToBoolean(termStep.Use_YN); hdfEstTermStepID.Value = estterm_step_id.ToString(); }
protected void ibnAssingEstData_Click(object sender, ImageClickEventArgs e) { MicroBSC.Integration.EST.Biz.Biz_Est_Data bizEstData = new MicroBSC.Integration.EST.Biz.Biz_Est_Data(); Biz_Datas biz_data = new Biz_Datas(); DataTable dataTable = biz_data.GetDataTableSchema(); dataTable = UltraGridUtility.GetDataTableByCheckValue(UltraWebGrid1 , "cBox" , "selchk" , new string[] { "ESTTERM_STEP_ID", "EST_DEPT_ID", "EST_EMP_ID", "TGT_DEPT_ID", "TGT_EMP_ID", "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); if (dataTable.Rows.Count == 0) { ltrScript.Text = JSHelper.GetAlertScript("평가를 반영하려는 항목이 선택되지 않았습니다."); return; } foreach (DataRow dataRow in dataTable.Rows) { dataRow["COMP_ID"] = COMP_ID; dataRow["EST_ID"] = EST_ID; dataRow["ESTTERM_REF_ID"] = ESTTERM_REF_ID; dataRow["ESTTERM_SUB_ID"] = ESTTERM_SUB_ID; dataRow["DATE"] = DateTime.Now; dataRow["USER"] = EMP_REF_ID; } bool isOK = bizEstData.CopyTgtMapDataToEstDataBySelectedItem(dataTable, OwnerTypeMode); //bool isOK = biz_data.CopyTgtMapDataToEstDataBySelectedItem(dataTable, OwnerTypeMode); if (isOK) { ltrScript.Text = JSHelper.GetAlertScript("정상적으로 평가데이터로 확정하였습니다."); } else { ltrScript.Text = JSHelper.GetAlertScript("처리 중 오류가 발생하였습니다."); } }
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; } }
public DataTable[] GetEstDataForReportMBO(int comp_id , int estterm_ref_id , string est_id , int estterm_sub_id , int estterm_step_id , string estid_1 , string estid_2 , string gong_id , string mbo_id , int tgt_emp_id , string is_team_kpi , string yid1 , string yid2 , string yid3) { DataTable[] dt = new DataTable[6]; MicroBSC.Integration.EST.Biz.Biz_Est_Data bizEstData = new MicroBSC.Integration.EST.Biz.Biz_Est_Data(); DataTable dtEstData = bizEstData.GetEstGraph_DB(comp_id , est_id , estterm_ref_id , estterm_sub_id , estterm_step_id , tgt_emp_id , estid_1 , estid_2 , yid1 , yid2 , yid3); MicroBSC.Integration.BSC.Dac.Dac_Bsc_Mbo_Kpi_Weight dacBscMboKpiWeight = new MicroBSC.Integration.BSC.Dac.Dac_Bsc_Mbo_Kpi_Weight(); DataTable dtBscMboKpiWeight = dacBscMboKpiWeight.SelectGraph_Data(comp_id , estterm_ref_id , estterm_sub_id , tgt_emp_id , is_team_kpi); MicroBSC.Integration.EST.Dac.Dac_Est_Question_Data dacEstQuestionData = new MicroBSC.Integration.EST.Dac.Dac_Est_Question_Data(); DataTable dtEstQuestionData = dacEstQuestionData.SelectEstQuestionDataGraph1_DB(comp_id , yid1 , estterm_ref_id , estterm_sub_id , tgt_emp_id); DataTable dtEstQuestionSubject2 = dacEstQuestionData.SelectEstQuestionSubjectGraph2_DB(comp_id , yid2 , estterm_ref_id , estterm_sub_id , tgt_emp_id); DataTable dtEstQuestionSubject3 = dacEstQuestionData.SelectEstQuestionSubjectGraph3_DB(comp_id , yid3 , estterm_ref_id , estterm_sub_id , tgt_emp_id); DataTable dtEstQuestionSubject = dacEstQuestionData.SelectEstQuestionSubjectGraph_DB(comp_id , gong_id , estterm_ref_id , estterm_sub_id , tgt_emp_id); dt[0] = dtEstData; dt[1] = dtBscMboKpiWeight; dt[2] = dtEstQuestionData; dt[3] = dtEstQuestionSubject2; dt[4] = dtEstQuestionSubject3; dt[5] = dtEstQuestionSubject; return(dt); }
/* 다면평가 평가 거부 프로세스 * 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); } }
//평가 거부 버튼 보이기 유무, 다면평가 평가자 수 조사 protected bool isPossible_Reject() { 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. bool result = false; if (dtEstData.Rows.Count > middle) { result = true; } else //2. { //3. if (dtEstTargetPool.Rows.Count <= 0) { //ltrScript.Text = JSHelper.GetAlertScript("다면평가을 위한 평가자 피평가자 풀에 데이터가 없습니다.", false); result = false; } //4. if (dtEstData.Rows.Count <= min) { //ltrScript.Text = JSHelper.GetAlertScript(string.Format("평가 최소 인원이 {0}명 되지 못하여 평가거부 할 수 없습니다. 관리자에게 문의하세요 ", min), false); result = false; } else { result = true; } } return(result); }