protected void ibnDelEstData_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 || !cBox.Enabled) // { // 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 dtEmp = DataTypeUtility.FilterSortDataTable(DT_ESTTARGETMAP, string.Format(" DIRECTION_TYPE = '{0}' ", 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.RemoveEstData(dtDel , COMP_ID , EST_ID , ESTTERM_REF_ID , ESTTERM_SUB_ID , ConESTTERM_STEP_ID , ConDIRECTION_TYPE); if (okMsg.Length == 0) { ltrScript.Text = JSHelper.GetAlertScript("정상 처리 되었습니다.", false); DoBinding_Dept(); DEPT_REF_ID = -1; } else { ltrScript.Text = JSHelper.GetAlertScript(okMsg); } }
/* 다면평가 평가 거부 프로세스 * 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); } }