/// <summary>
        /// 슈트 매핑 상세 저장
        /// </summary>
        /// <param name="_da">데이터베이스 엑세스 객체</param>
        /// <param name="_item">저장 대상 슈트 매핑 데이터</param>
        /// <returns></returns>
        private bool SaveSP_CHUTE_PLAN_DTL_SAVE(BaseDataAccess _da, ModifyRgnChuteInfo _item)
        {
            try
            {
                bool isRtnValue = true;

                #region  라메터 변수 선언 및 값 할당
                DataTable dtRtnValue       = null;
                var       strProcedureName = "PK_P1008_SRT.SP_CHUTE_PLAN_DTL_SAVE";
                Dictionary <string, object> dicInputParam = new Dictionary <string, object>();
                string[] arrOutputParam = { "O_RSLT" };

                var strCenterCD = this.BaseClass.CenterCD;                                              // 센터코드
                var strEqpID    = this.BaseClass.ComboBoxSelectedKeyValue(this.cboEqp);                 // 설비 ID
                var strPlanCD   = this.txtChutePlanCodeCond.Text.Trim();                                // 슈트 플랜코드
                var strPlanNM   = this.txtChutePlanNMCond.Text.Trim();                                  // 슈트 플랜명
                var strRgnCD    = _item.RGN_CD;                                                         // 권역 코드
                var strChuteID  = _item.CHUTE_ID;                                                       // 슈트 ID
                var strUserID   = this.BaseClass.UserID;                                                // 사용자 ID
                #endregion

                #region Input 파라메터
                dicInputParam.Add("P_CNTER_CD", strCenterCD);                   // 센터코드
                dicInputParam.Add("P_EQP_ID", strEqpID);                        // 설비 ID
                dicInputParam.Add("P_PLAN_CD", strPlanCD);                      // 슈트 플랜코드
                dicInputParam.Add("P_PLAN_NM", strPlanNM);                      // 슈트 플랜명
                dicInputParam.Add("P_RGN_CD", strRgnCD);                        // 권역 코드
                dicInputParam.Add("P_CHUTE_ID", strChuteID);                    // 슈트 ID
                dicInputParam.Add("P_USER_ID", strUserID);                      // 사용자 ID
                #endregion

                dtRtnValue = _da.GetSpDataTable(strProcedureName, dicInputParam, arrOutputParam);

                if (dtRtnValue != null)
                {
                    if (dtRtnValue.Rows.Count > 0)
                    {
                        if (dtRtnValue.Rows[0]["CODE"].ToString().Equals("0") == false)
                        {
                            BaseClass.MsgInfo(dtRtnValue.Rows[0]["MSG"].ToString(), BaseEnumClass.CodeMessage.MESSAGE);
                            isRtnValue = false;
                        }
                    }
                    else
                    {
                        BaseClass.MsgError("ERR_SAVE");
                        isRtnValue = false;
                    }
                }

                return(isRtnValue);
            }
            catch { throw; }
        }
        /// <summary>
        /// 추가된 권역, 슈트 정보 추가
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void BtnAdd_PreviewMouseLeftButtonUp(object sender, MouseButtonEventArgs e)
        {
            try
            {
                if (this.RgnInfoList.Where(p => p.IsSelected).Count() == 0)
                {
                    // 선택된 권역 정보가 없습니다.
                    this.BaseClass.MsgError("ERR_NO_SELECT_RGN");
                    return;
                }

                if (this.ChuteInfoList.Where(p => p.IsSelected).Count() == 0)
                {
                    // 선택된 슈트 정보가 없습니다.
                    this.BaseClass.MsgError("ERR_NO_SELECT_CHUTE");
                    return;
                }

                var liSelectedRgnInfo   = this.RgnInfoList.Where(p => p.IsSelected).ToList();
                var liSelectedChuteInfo = this.ChuteInfoList.Where(p => p.IsSelected).ToList();

                foreach (var itemRgnInfo in liSelectedRgnInfo)
                {
                    foreach (var itemChuteInfo in liSelectedChuteInfo)
                    {
                        // 기존 조회 데이터 또는 신규 데이터는 추가되지 않도록
                        if (this.ModifyRgnChuteInfoList.Where(p => p.RGN_CD.Equals(itemRgnInfo.RGN_CD) && p.CHUTE_ID.Equals(itemChuteInfo.CHUTE_ID) && p.IsDelete == false).Count() > 0)
                        {
                            var strMessage = this.BaseClass.GetResourceValue("ERR_EXIST_RGN_CHUTE");
                            strMessage = string.Format(strMessage, itemRgnInfo.RGN_CD, itemChuteInfo.CHUTE_ID);
                            this.BaseClass.MsgError(strMessage, BaseEnumClass.CodeMessage.MESSAGE);
                            return;
                        }

                        if (this.ModifyRgnChuteInfoList.Where(p => p.RGN_CD.Equals(itemRgnInfo.RGN_CD) && p.CHUTE_ID.Equals(itemChuteInfo.CHUTE_ID) && p.IsDelete == true).Count() > 0)
                        {
                            this.ModifyRgnChuteInfoList.Where(p => p.RGN_CD.Equals(itemRgnInfo.RGN_CD) && p.CHUTE_ID.Equals(itemChuteInfo.CHUTE_ID) && p.IsDelete == true).ForEach(p => p.IsDelete = false);
                        }
                        else
                        {
                            var newChuteMpng = new ModifyRgnChuteInfo
                            {
                                RGN_CD     = itemRgnInfo.RGN_CD
                                , RGN_NM   = itemRgnInfo.RGN_NM
                                , CHUTE_ID = itemChuteInfo.CHUTE_ID
                            };

                            this.ModifyRgnChuteInfoList.Add(newChuteMpng);
                        }
                    }
                }

                this.gridRight.ItemsSource = this.ModifyRgnChuteInfoList.Where(p => p.IsDelete == false).ToList();

                this.gridRight.Focus();
                this.gridRight.CurrentColumn         = this.gridRight.Columns.First();
                this.gridRight.View.FocusedRowHandle = this.ModifyRgnChuteInfoList.Count - 1;

                this.RgnInfoList.Where(p => p.IsSelected).ForEach(p => p.IsSelected   = false);
                this.ChuteInfoList.Where(p => p.IsSelected).ForEach(p => p.IsSelected = false);
            }
            catch (Exception err)
            {
                this.BaseClass.Error(err);
            }
        }