Пример #1
0
        private void BtnRowAdd_First_PreviewMouseLeftButtonUp(object sender, MouseButtonEventArgs e)
        {
            var newItem = new ChuteMgmt
            {
                EQP_ID           = string.Empty,
                CHUTE_ID         = string.Empty,
                CHUTE_NM         = string.Empty,
                FINAL_CHUTE_ID   = string.Empty,
                CHUTE_TYPE_CD    = "NML",
                CHUTE_USE_CD     = "F",
                ZONE_ID          = string.Empty,
                CHUTE_ALLOC_PRTY = 0,
                PLC_CHUTE_ID     = string.Empty,
                USE_YN           = "Y",
                IsSelected       = true,
                IsNew            = true,
                IsSaved          = false
            };

            this.ChuteMgmtList.Add(newItem);
            this.gridMaster.Focus();
            this.gridMaster.CurrentColumn         = this.gridMaster.Columns.First();
            this.gridMaster.View.FocusedRowHandle = this.ChuteMgmtList.Count - 1;

            this.ChuteMgmtList[this.ChuteMgmtList.Count - 1].BackgroundBrush     = new SolidColorBrush(Colors.White);
            this.ChuteMgmtList[this.ChuteMgmtList.Count - 1].BaseBackgroundBrush = new SolidColorBrush(Colors.White);
        }
Пример #2
0
        /// <summary>
        /// 컬럼 데이터 변경 후 이벤트 (컬럼 변경 후 다른 컬럼 값 변경시 사용)
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void TvMasterGrid_CellValueChanged(object sender, CellValueChangedEventArgs e)
        {
            try
            {
                TableView tv         = sender as TableView;
                ChuteMgmt dataMember = tv.Grid.CurrentItem as ChuteMgmt;

                if (e.Column.FieldName.Equals("CHUTE_ID"))
                {
                    //if(this.isNumericCheck(dataMember.CHUTE_ID) == false)
                    //{
                    //    dataMember.CHUTE_ID = string.Empty;
                    //}

                    if (dataMember.CHUTE_ID.Length > 2)
                    {
                        dataMember.FINAL_CHUTE_ID = dataMember.CHUTE_ID.Substring(0, 2);
                    }
                }
            }
            catch (Exception err)
            {
                this.BaseClass.Error(err);
            }
        }
Пример #3
0
        /// <summary>
        /// Chute 수정
        /// </summary>
        /// <param name="_da">DataAccess 객체</param>
        /// <param name="_item">저장 대상 아이템 (Row 데이터)</param>
        /// <returns></returns>
        private async Task <bool> UpdateSP_CHUTE_UPD(BaseDataAccess _da, ChuteMgmt _item)
        {
            bool isRtnValue = true;

            #region  라메터 변수 선언 및 값 할당
            DataTable dtRtnValue       = null;
            var       strProcedureName = "UI_CHUTE_MST_UPD";
            Dictionary <string, object> dicInputParam = new Dictionary <string, object>();
            Dictionary <object, BaseEnumClass.MSSqlOutputDataType> dicOutPutParam = new Dictionary <object, BaseEnumClass.MSSqlOutputDataType>();
            Dictionary <object, object> dicRtnValue = new Dictionary <object, object>();

            string strEqpID          = _item.EQP_ID;                                // 설비 ID
            string strChuteId        = _item.CHUTE_ID;                              // 슈트 ID
            string strChuteNm        = _item.CHUTE_NM;                              // CHUTE_NM
            string strFinalChuteId   = _item.FINAL_CHUTE_ID;                        // 최종 합류 슈트
            int    intChuteAllocPrty = _item.CHUTE_ALLOC_PRTY;                      // 슈트 우선 순위
            string strPlcChuteId     = _item.PLC_CHUTE_ID;                          // PLC_CHUTE_ID
            string strChuteTypeCd    = _item.CHUTE_TYPE_CD;                         // 슈트 종류 코드
            string strChuteUseCd     = _item.CHUTE_USE_CD;                          // 슈트 사용 형태
            string strZONE_ID        = _item.ZONE_ID;                               // ZONE_ID
            string strUseYN          = _item.Checked == true ? "Y" : "N";           // 사용 여부
            string strUserID         = this.BaseClass.UserID;                       // 사용자 ID
            #endregion

            #region Input 파라메터
            dicInputParam.Add("EQP_ID", strEqpID);                        // 설비 ID
            dicInputParam.Add("CHUTE_ID", strChuteId);                    // 슈트 ID
            dicInputParam.Add("CHUTE_NM", strChuteNm);                    // CHUTE_NM
            dicInputParam.Add("FINAL_CHUTE_ID", strFinalChuteId);         // CHUTE_NM
            dicInputParam.Add("CHUTE_ALLOC_PRTY", intChuteAllocPrty);     // CHUTE_NM
            dicInputParam.Add("PLC_CHUTE_ID", strPlcChuteId);             // PLC_CHUTE_ID
            dicInputParam.Add("CHUTE_TYPE_CD", strChuteTypeCd);           // CHUTE_NM
            dicInputParam.Add("CHUTE_USE_CD", strChuteUseCd);             // CHUTE_USE_CD
            dicInputParam.Add("ZONE_ID", strZONE_ID);                     // ZONE_ID
            dicInputParam.Add("USE_YN", strUseYN);                        // 사용 여부
            dicInputParam.Add("USER_ID", strUserID);                      // 사용자 ID
            #endregion

            #region + Output 파라메터
            dicOutPutParam.Add("RTN_VAL", BaseEnumClass.MSSqlOutputDataType.INT32);
            dicOutPutParam.Add("RTN_MSG", BaseEnumClass.MSSqlOutputDataType.VARCHAR);
            #endregion

            #region + 데이터 조회
            await System.Threading.Tasks.Task.Run(() =>
            {
                dtRtnValue = _da.GetSpDataTable(strProcedureName, dicInputParam, dicOutPutParam, ref dicRtnValue);
            }).ConfigureAwait(true);

            #endregion

            if (dicRtnValue["RTN_VAL"].ToString().Equals("0") == false)
            {
                var strMessage = dicRtnValue["RTN_MSG"].ToString();
                this.BaseClass.MsgError(strMessage, BaseEnumClass.CodeMessage.MESSAGE);
                isRtnValue = false;
            }

            return(isRtnValue);
        }
Пример #4
0
        /// <summary>
        /// Chute 수정
        /// </summary>
        /// <param name="_da">DataAccess 객체</param>
        /// <param name="_item">저장 대상 아이템 (Row 데이터)</param>
        /// <returns></returns>
        private bool UpdateSP_CHUTE_UPD(BaseDataAccess _da, ChuteMgmt _item)
        {
            bool isRtnValue = true;

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

            var strCntrCd        = BaseClass.CenterCD;                // 센터 코드
            var strEqpID         = _item.EQP_ID;                      // 설비 ID
            var strChuteId       = _item.CHUTE_ID;                    // 슈트 ID
            var strChuteNm       = _item.CHUTE_NM;                    // CHUTE_NM
            var strChuteUseCd    = _item.CHUTE_USE_CD;                // CHUTE_USE_CD
            var strChuteDtlUseCd = _item.CHUTE_DTL_USE_CD;            // CHUTE_DTL_USE_CD
            var strZONE_ID       = _item.ZONE_ID;                     // ZONE_ID
            var strPlcChuteId    = _item.PLC_CHUTE_ID;                // PLC_CHUTE_ID
            var strUseYN         = _item.Checked == true ? "Y" : "N"; // 사용 여부
            var strUserID        = this.BaseClass.UserID;             // 사용자 ID

            var strErrCode = string.Empty;                            // 오류 코드
            var strErrMsg  = string.Empty;                            // 오류 메세지
            #endregion

            #region Input 파라메터
            dicInputParam.Add("P_CNTR_CD", strCntrCd);                      // 센터 코드
            dicInputParam.Add("P_EQP_ID", strEqpID);                        // 설비 ID
            dicInputParam.Add("P_CHUTE_ID", strChuteId);                    // 슈트 ID
            dicInputParam.Add("P_CHUTE_NM", strChuteNm);                    // CHUTE_NM
            dicInputParam.Add("P_CHUTE_USE_CD", strChuteUseCd);             // CHUTE_USE_CD
            dicInputParam.Add("P_CHUTE_DTL_USE_CD", strChuteDtlUseCd);      // CHUTE_DTL_USE_CD
            dicInputParam.Add("P_ZONE_ID", strZONE_ID);                     // ZONE_ID
            dicInputParam.Add("P_PLC_CHUTE_ID", strPlcChuteId);             // PLC_CHUTE_ID
            dicInputParam.Add("P_USE_YN", strUseYN);                        // 사용 여부
            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);
        }
Пример #5
0
        private static void View_ShowingEditor(object sender, ShowingEditorEventArgs e)
        {
            if (g_IsAuthAllYN == false)
            {
                e.Cancel = true;
                return;
            }

            TableView tv = sender as TableView;

            if (tv.Name.Equals("tvMasterGrid") == true)
            {
                ChuteMgmt dataMember = tv.Grid.CurrentItem as ChuteMgmt;

                if (dataMember == null)
                {
                    return;
                }

                switch (e.Column.FieldName)
                {
                // 컬럼이 행추가 상태 (신규 Row 추가)가 아닌 경우
                // 슈트 ID 컬럼은 수정이 되지 않도록 처리한다.
                case "CHUTE_ID":
                    if (dataMember.IsNew == false)
                    {
                        e.Cancel = true;
                    }
                    break;

                case "CHUTE_DTL_USE_CD":
                    // 슈트용도코드 (CHUTE_USE_CD)가 REJECT인 경우만 슈트상세용도코드를 활성화한다.
                    if (dataMember.CHUTE_USE_CD.Equals("RJT") == false)
                    {
                        e.Cancel = true;
                    }
                    break;

                default: break;
                }
            }
        }
Пример #6
0
        /// <summary>
        /// 컬럼 데이터 변경 후 이벤트 (컬럼 변경 후 다른 컬럼 값 변경시 사용)
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void TvMasterGrid_CellValueChanged(object sender, CellValueChangedEventArgs e)
        {
            try
            {
                TableView tv         = sender as TableView;
                ChuteMgmt dataMember = tv.Grid.CurrentItem as ChuteMgmt;

                if (e.Column.FieldName.Equals("CHUTE_USE_CD"))
                {
                    if (dataMember.CHUTE_USE_CD.Equals("NML"))
                    {
                        dataMember.CHUTE_DTL_USE_CD = string.Empty;
                    }
                }
            }
            catch (Exception err)
            {
                this.BaseClass.Error(err);
            }
        }
Пример #7
0
        private static void View_ShowingEditor(object sender, ShowingEditorEventArgs e)
        {
            if (g_IsAuthAllYN == false)
            {
                e.Cancel = true;
                return;
            }

            TableView tv = sender as TableView;

            if (tv.Name.Equals("tvMasterGrid") == true)
            {
                ChuteMgmt dataMember = tv.Grid.CurrentItem as ChuteMgmt;

                if (dataMember == null)
                {
                    return;
                }

                switch (e.Column.FieldName)
                {
                case "EQP_ID":
                    if (dataMember.IsNew == false)
                    {
                        e.Cancel = true;
                    }
                    break;

                case "CHUTE_ID":
                    if (dataMember.IsNew == false)
                    {
                        e.Cancel = true;
                    }
                    break;

                default: break;
                }
            }
        }