/// <summary> /// 셀 Optimization 버튼 클릭 이벤트 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private async void BtnCellOpti_PreviewMouseLeftButtonUp(object sender, MouseButtonEventArgs e) { // 상태바 (아이콘) 실행 this.loadingScreen.IsSplashScreenShown = true; DataSet dsRtnValue = null; string strWrkPlanYmd = string.Empty; string strDataSetID = string.Empty; int iRocOptSeq = 0; try { int iCheckCount = await this.GetSP_OPT_CBM_CHK(); if (iCheckCount > 0) { this.BaseClass.MsgQuestion("ASK_CELL_MAX_CBM_EXISTS"); if (this.BaseClass.BUTTON_CONFIRM_YN == false) { return; } } using (BaseDataAccess da = new BaseDataAccess()) { Dictionary <string, object> dicInputParam = new Dictionary <string, object>(); #region 라메터 변수 선언 및 값 할당 var strCenterCD = this.BaseClass.CenterCD; // 센터코드 strWrkPlanYmd = this.BaseClass.GetCalendarValue(this.deWrkPlanWmd); // 출고일자 strDataSetID = this.BaseClass.ComboBoxSelectedKeyValue(this.cboDataSetID); // 데이터 그룹 ID iRocOptSeq = Convert.ToInt32(this.BaseClass.ComboBoxSelectedKeyValue(this.cboRocOptSeq)); // ROC 최적화 차수 var iSupBtchDivCnt = Convert.ToInt32(this.txtSupBtchDivCnt.Text.Trim()); // 보충배치 분할개수 var iMinSupSkuUnit = Convert.ToInt32(this.txtMinSupSkuUnit.Text.Trim()); // 보충 SKU 최소단위 var strLocBtchInfo = this.BaseClass.ComboBoxSelectedKeyValue(this.cboBtchInfo); // 구역간 배치정보 var strSkuCelType = this.BaseClass.ComboBoxSelectedKeyValue(this.cboSkuCellType); // SKU별 셀유형 var strUserID = this.BaseClass.UserID; // 사용자 ID #endregion #region Input 파라메터 dicInputParam.Add("P_CNTR_CD", strCenterCD); // 센터코드 dicInputParam.Add("P_WRK_PLAN_YMD", strWrkPlanYmd); // 출고일자 dicInputParam.Add("P_DATA_SET_ID", strDataSetID); // 데이터 그룹 ID dicInputParam.Add("P_ROC_OPT_SEQ", iRocOptSeq); // ROC 최적화 차수 dicInputParam.Add("P_SUP_BTCH_DIV_CNT", iSupBtchDivCnt); // 보충배치 분할개수 dicInputParam.Add("P_MIN_SUP_SKU_UNIT", iMinSupSkuUnit); // 보충 SKU 최소단위 dicInputParam.Add("P_LOC_BTCH_INFO", strLocBtchInfo); // 구역간 배치정보 dicInputParam.Add("P_SKU_CEL_TYPE", strSkuCelType); // SKU별 셀유형 dicInputParam.Add("P_USER_ID", strUserID); // 사용자 ID #endregion dsRtnValue = await this.SaveSP_CELL_OPT_SEQ_SAVE(da, dicInputParam); if (dsRtnValue != null) { if (dsRtnValue.Tables[1].Rows.Count > 0) { if (dsRtnValue.Tables[1].Rows[0]["CODE"].ToString().Equals("0") == false) { // 프로시저에서 오류 리턴시 오류 메세지를 출력한다. var strErrMessage = dsRtnValue.Tables[1].Rows[0]["MSG"].ToString(); this.BaseClass.MsgError(strErrMessage); return; } } else { // ERR_SAVE - 저장 중 오류가 발생했습니다. this.BaseClass.MsgError("ERR_SAVE"); } } } } catch (Exception err) { // 상태바 (아이콘) 실행 this.loadingScreen.IsSplashScreenShown = false; // ERR_SAVE - 저장 중 오류가 발생했습니다. this.BaseClass.MsgError("ERR_SAVE"); this.BaseClass.Error(err); return; } try { #region 웹 서비스 호출 영역 // 저장 후 리턴받은 값 (OPT_SEQ) var strOptSeq = dsRtnValue.Tables[0].Rows[0][0].ToString(); if (CallJsonWebService.CallServiceCellOpti(strWrkPlanYmd, strDataSetID, strOptSeq, iRocOptSeq) == true) { await this.GetSP_OPT_CELL_QTY_LIST_INQ(); } else { // ERR_CELL_OPTI_PROC - 셀 Optimization 처리중 오류가 발생했습니다. BaseClass.MsgError("ERR_CELL_OPTI_PROC"); } #endregion } catch (Exception err) { // ERR_CELL_OPTI_PROC - 셀 Optimization 처리중 오류가 발생했습니다. BaseClass.MsgError("ERR_CELL_OPTI_PROC"); this.BaseClass.Error(err); } finally { // 상태바 (아이콘) 실행 this.loadingScreen.IsSplashScreenShown = false; } // CMPT_CELL_OPTI - 셀 Optimization 처리가 완료되었습니다. this.BaseClass.MsgInfo("CMPT_CELL_OPTI"); this.CboRocOptSeq_SelectedIndexChanged(null, null); }
/// <summary> /// 최적화 실행 버튼 클릭 이벤트 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private async void BtnRocExec_PreviewMouseLeftButtonUp(object sender, MouseButtonEventArgs e) { this.BaseClass.MsgQuestion("ROC 수행을 처리하시겠습니까?"); if (this.BaseClass.BUTTON_CONFIRM_YN == false) { return; } // 상태바 (아이콘) 실행 this.loadingScreen.IsSplashScreenShown = true; DataSet dsRtnValue = null; string strWrkPlanYmd = string.Empty; string strDataSetID = string.Empty; try { #region 라메터 변수 선언 및 값 할당 Dictionary <string, object> dicInputParam = new Dictionary <string, object>(); var strCenterCD = this.BaseClass.CenterCD; // 센터코드 strWrkPlanYmd = this.BaseClass.GetCalendarValue(this.deWrkPlanWmd); // 출고일자 strDataSetID = this.BaseClass.ComboBoxSelectedKeyValue(this.cboDataSetID); // Data 그룹 var BtchDivLim = this.txtBtchDivNum.Text.Trim(); // 배치분배차수 var strSetMaxDiv = this.chkAll.IsChecked == true ? "OFF" : "ON"; // 체크박스 var strLocBal = this.BaseClass.ComboBoxSelectedKeyValue(this.cboLocBal); // Location Balance var strSortMode = this.BaseClass.ComboBoxSelectedKeyValue(this.cboSortMode); // Sorting Mode var strUserID = this.BaseClass.UserID; // 사용자 ID #endregion using (BaseDataAccess da = new BaseDataAccess()) { #region Input 파라메터 dicInputParam.Add("P_CNTR_CD", strCenterCD); // 센터코드 dicInputParam.Add("P_WRK_PLAN_YMD", strWrkPlanYmd); // 출고일자 dicInputParam.Add("P_DATA_SET_ID", strDataSetID); // Data 그룹 dicInputParam.Add("P_BTCH_DIV_LIM", BtchDivLim); // 배치분배차수 dicInputParam.Add("P_SET_MAX_DIV", strSetMaxDiv); // 체크박스 dicInputParam.Add("P_LOC_BAL", strLocBal); // Location Balance dicInputParam.Add("P_SORT_MODE", strSortMode); // Sorting Mode dicInputParam.Add("P_USER_ID", strUserID); // 사용자 ID #endregion dsRtnValue = await this.SaveSP_ROC_OPT_OPT_SEQ_SAVE(da, dicInputParam); if (dsRtnValue != null) { if (dsRtnValue.Tables.Count == 1) { var strMessage = dsRtnValue.Tables[0].Rows[0]["MSG"].ToString(); //this.BaseClass.MsgError(strMessage, BaseEnumClass.CodeMessage.MESSAGE); throw new Exception(strMessage); } if (dsRtnValue.Tables[1].Rows.Count > 0) { if (dsRtnValue.Tables[1].Rows[0]["CODE"].ToString().Equals("0") == false) { var strMessage = dsRtnValue.Tables[1].Rows[0]["MSG"].ToString(); throw new Exception(strMessage); } } else { // ERR_SAVE - 저장 중 오류가 발생했습니다. this.BaseClass.MsgError("ERR_SAVE"); } } } } catch (Exception err) { // 상태바 (아이콘) 실행 this.loadingScreen.IsSplashScreenShown = false; // ERR_SAVE - 저장 중 오류가 발생했습니다. this.BaseClass.MsgError("ERR_SAVE"); this.BaseClass.Error(err); return; } #region 웹 서비스 호출 영역 try { // 저장 후 리턴받은 값 (OPT_SEQ) var strOptSeq = dsRtnValue.Tables[0].Rows[0][0].ToString(); if (CallJsonWebService.CallServiceRocExec(strWrkPlanYmd, strDataSetID, strOptSeq) == true) { await this.GetRocOptRsltInfo(); } else { BaseClass.MsgError("ERR_DATA_SEND"); } } catch (Exception err) { BaseClass.MsgError("ERR_DATA_SEND"); this.BaseClass.Error(err); } finally { // 상태바 (아이콘) 실행 this.loadingScreen.IsSplashScreenShown = false; } #endregion // ROC 수행이 완료되었습니다. - CMPT_ROC_EXEC this.BaseClass.MsgInfo("CMPT_ROC_EXEC"); this.CboDataSetID_SelectedIndexChanged(null, null); }
/// <summary> /// PLAN수립 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void BtnPlanCreate_PreviewMouseLeftButtonUp(object sender, MouseButtonEventArgs e) { try { bool isRtnValue = false; var cBtchNo = this.WrkPlanList.Where(w => w.IsSelected == true).Select(s => s.BTCH_NO).FirstOrDefault(); var cEqpId = this.WrkPlanList.Where(w => w.IsSelected == true).Select(s => s.EQP_ID).FirstOrDefault(); if (!string.IsNullOrEmpty(cBtchNo)) { using (BaseDataAccess da = new BaseDataAccess()) { try { // 상태바 (아이콘) 실행 this.loadingScreen.IsSplashScreenShown = true; da.BeginTransaction(); // TODO : 배치생성하는 부분 (CWJ) //isRtnValue = true; //if(isRtnValue) if (CallJsonWebService.CallServiceGantryPicking(cBtchNo, cEqpId) == true) { isRtnValue = this.SetSP_WRK_BTCH_CONFIRM(da, cBtchNo); if (isRtnValue == true) { // 저장된 경우 da.CommitTransaction(); // 상태바 (아이콘) 제거 this.loadingScreen.IsSplashScreenShown = false; // 저장되었습니다. BaseClass.MsgInfo("CMPT_SAVE"); // 출고작업 조회 //MenuOpen_R1007_GAN_View(); } else { // 배치컨펌시 오류 발생하여 저장 실패한 경우 da.RollbackTransaction(); } } else { // 배치생성시 오류 발생하여 저장 실패한 경우 da.RollbackTransaction(); } } catch { if (da.TransactionState_Oracle == BaseEnumClass.TransactionState_ORACLE.TransactionStarted) { da.RollbackTransaction(); } BaseClass.MsgError("ERR_SAVE"); throw; } finally { // 상태바 (아이콘) 제거 this.loadingScreen.IsSplashScreenShown = false; // 출고계획 리스트 재조회 WrkPlanListSearch(); } } } } catch (Exception err) { this.BaseClass.Error(err); } }