/// <summary>
        /// 선택된 장보 복사후 추가
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void AddItem_Click(object sender, RoutedEventArgs e)
        {
            EmsChkPlanInfo target = gridMain.SelectedItem as EmsChkPlanInfo;

            if (null == target)
            {
                return;
            }

            EmsChkPlanInfo cpy = new EmsChkPlanInfo()
            {
                EQP_ID         = target.EQP_ID,
                PART_ID        = target.PART_ID,
                PART_NM        = target.PART_NM,
                PART_SERIAL_NO = 0,
                ORG_INST_DT    = new DateTime(target.ORG_INST_DT.Year, target.ORG_INST_DT.Month, target.ORG_INST_DT.Day),
                IsNew          = true
            };

            int idx = ChkPlanInfoList.IndexOf(target);

            if (idx == ChkPlanInfoList.Count - 1)
            {
                ChkPlanInfoList.Add(cpy);
            }
            else
            {
                ChkPlanInfoList.Insert(idx, cpy);
            }
        }
        /// <summary>
        /// 부품등록
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void PartAdd_Click(object sender, MouseButtonEventArgs e)
        {
            try
            {
                using (ECOM001_05P frmPartRef = new ECOM001_05P())
                {
                    frmPartRef.ShowDialog();

                    if (null != frmPartRef.CurrPartRef)
                    {
                        EmsChkPlanInfo _item = new EmsChkPlanInfo()
                        {
                            EQP_ID         = CurrentRst.EQP_ID,
                            PART_ID        = frmPartRef.CurrPartRef.PART_ID,
                            PART_NM        = frmPartRef.CurrPartRef.PART_NM,
                            PART_SERIAL_NO = 0,
                            ORG_INST_DT    = DateTime.Now,
                            QtyErrorAction = QtyErrorAction,
                            IsNew          = true
                        };

                        ChkPlanInfoList.Add(_item);

                        gridMain.Focus();
                        gridMain.CurrentColumn         = gridMain.Columns.First();
                        gridMain.View.FocusedRowHandle = ChkPlanInfoList.Count - 1;
                    }
                }
            }
            catch (Exception err)
            {
                this.BaseClass.Error(err);
            }
        }
        /// <summary>
        /// 부품삭제
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void PartDel_Click(object sender, MouseButtonEventArgs e)
        {
            var _delItems = ChkPlanInfoList.Where(f => f.IsChecked).ToList();

            if (0 < _delItems.Count)
            {
                foreach (var item in _delItems)
                {
                    if (0 < item.ORG_INST_QTY)
                    {
                        // "당초 설치수량이 있으면 삭제할 수 없습니다."
                        string strNoDel = this.BaseClass.GetResourceValue("EMS_QTY_NODEL");
                        BaseClass.MsgInfo(strNoDel, BaseEnumClass.CodeMessage.MESSAGE);
                        return;
                    }
                }

                //var _USER_ID = this.BaseInfo.user_id.ToString();
                string _SUCCESS_CODE = "100";

                using (BaseDataAccess da = new BaseDataAccess())
                {
                    try
                    {
                        da.BeginTransaction();

                        foreach (var item in _delItems)
                        {
                            if (!item.IsNew)
                            {
                                var param = new Dictionary <string, object>
                                {
                                    { "P_CENTER_CD", this.BaseClass.CenterCD },
                                    { "P_CHK_ID", CurrentChkID },
                                    { "P_EQP_ID", item.EQP_ID },
                                    { "P_PART_SERIAL_NO", item.PART_SERIAL_NO }
                                };

                                var    strOutParam = new[] { "P_RESULT" };
                                string callProc    = "PK_EMS_ECHK001_05P.SP_EMS_EQP_RST_PART_DELETE";

                                var outData = da.GetSpDataSet(
                                    callProc                         // 호출 프로시저
                                    , param                          // Input 파라메터
                                    , strOutParam                    // Output 파라메터
                                    );

                                if (outData.Tables[0].Rows.Count > 0)
                                {
                                    if (outData.Tables[0].Rows[0]["CODE"].ToString() != _SUCCESS_CODE)
                                    {
                                        _SUCCESS_CODE = "0";
                                        da.RollbackTransaction();
                                        BaseClass.MsgInfo(outData.Tables[0].Rows[0]["MSG"].ToString(), BaseEnumClass.CodeMessage.MESSAGE);
                                        break;
                                    }
                                }
                                else
                                {
                                    _SUCCESS_CODE = "0";
                                    da.RollbackTransaction();
                                    BaseClass.MsgInfo("INPUT_TYPE_ERR");
                                    break;
                                }
                            }
                        }

                        if (_SUCCESS_CODE == "100")
                        {
                            da.CommitTransaction();

                            foreach (var item in _delItems)
                            {
                                ChkPlanInfoList.Remove(item);
                            }

                            gridMain.RefreshData();
                        }
                    }
                    catch (Exception ex)
                    {
                        da.RollbackTransaction();
                        this.BaseClass.MsgError(ex.Message, BaseEnumClass.CodeMessage.MESSAGE);
                    }
                }
            }
        }