コード例 #1
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)
            {
                EquipmentMgnt dataMember = tv.Grid.CurrentItem as EquipmentMgnt;

                if (dataMember == null)
                {
                    return;
                }

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

                default: break;
                }
            }
        }
コード例 #2
0
        private void BtnRowAdd_First_PreviewMouseLeftButtonUp(object sender, MouseButtonEventArgs e)
        {
            var newItem = new EquipmentMgnt
            {
                EQP_ID      = string.Empty,
                EQP_NM      = string.Empty,
                EQP_DESC    = string.Empty,
                EQP_TYPE_CD = "SRT",
                LINK_EQP_ID = string.Empty,
                LOC_CD      = string.Empty,
                USE_YN      = "Y",

                /*
                 * PC_IP           = string.Empty,
                 * ECS_COMM_NO     = string.Empty,
                 * SER_COMM_NO     = string.Empty,
                 * RECIRC_CNT      = string.Empty,
                 * ZONE_ID         = string.Empty,
                 */

                PCL_DTM_CD      = string.Empty,     // Parcel 결정
                PCL_DTM_PROR_CD = string.Empty,     // parcel 결정 우선순위
                CHUTE_OPR_CD    = string.Empty,     // 슈트운영코드

                IsSelected = true,
                IsNew      = true,
                IsSaved    = false
            };

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

            this.EquipmentMgntList[this.EquipmentMgntList.Count - 1].BackgroundBrush     = new SolidColorBrush(Colors.White);
            this.EquipmentMgntList[this.EquipmentMgntList.Count - 1].BaseBackgroundBrush = new SolidColorBrush(Colors.White);

            //var aaa = this.tvMasterGrid_First.FocusedRowHandle;
        }
コード例 #3
0
        private void BtnRowAdd_First_PreviewMouseLeftButtonUp(object sender, MouseButtonEventArgs e)
        {
            var newItem = new EquipmentMgnt
            {
                EQP_ID            = string.Empty,
                EQP_NM            = string.Empty,
                EQP_DESC          = string.Empty,
                EQP_TYPE_CD       = string.Empty,
                LINK_EQP_ID       = string.Empty,
                LOC_CD            = string.Empty,
                USE_YN            = "Y",
                PC_IP             = string.Empty,
                ECS_COMM_NO       = string.Empty,
                SER_COMM_NO       = string.Empty,
                RECIRC_CNT        = 0,
                ZONE_ID           = string.Empty,
                MAX_READ_CNT      = 0,
                MAX_RECIRCULATION = 0,
                MAX_SCAN_CNT      = 0,
                IS_RUN_YN         = "N",
                SORT_PLN_CD       = string.Empty,
                IsSelected        = true,
                IsNew             = true,
                IsSaved           = false
            };

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

            this.EquipmentMgntList[this.EquipmentMgntList.Count - 1].BackgroundBrush     = new SolidColorBrush(Colors.White);
            this.EquipmentMgntList[this.EquipmentMgntList.Count - 1].BaseBackgroundBrush = new SolidColorBrush(Colors.White);

            //var aaa = this.tvMasterGrid_First.FocusedRowHandle;
        }
コード例 #4
0
        /// <summary>
        /// Equipment 수정
        /// </summary>
        /// <param name="_da">DataAccess 객체</param>
        /// <param name="_item">저장 대상 아이템 (Row 데이터)</param>
        /// <returns></returns>
        private bool UpdateSP_EQP_UPD(BaseDataAccess _da, EquipmentMgnt _item)
        {
            bool isRtnValue = true;

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

            var strCoCd      = BaseClass.CompanyCode;       // 회사 코드
            var strCntrCd    = BaseClass.CenterCD;          // 센터 코드
            var strEqpID     = _item.EQP_ID;                // 설비 ID
            var strEqpNm     = _item.EQP_NM;                // 설비 명
            var strEqpDesc   = _item.EQP_DESC;              // 설비 세부 정보
            var strEqpTypeCd = _item.EQP_TYPE_CD;           // 설비 종류 코드
            var strLinkEqpId = _item.LINK_EQP_ID;           // 연결설비ID
            var strLocCd     = _item.LOC_CD;                // 위치 코드

            var iRecircCnt = this.BaseClass.CenterCD.Equals("BC") ? 0 : Convert.ToInt32(_item.RECIRC_CNT);

            /*
             * var strPcIp         = _item.PC_IP;              // 설비랑 통신하는 PC IP
             * var strEcsCommNo    = _item.ECS_COMM_NO;        // 설비 ECS 통신 번호
             * var strSerCommNo    = _item.SER_COMM_NO;        // 시리얼 통신 번호
             * var strRecircCnt    = _item.RECIRC_CNT;         // 순환횟수
             * var strZoneId       = _item.ZONE_ID;            // ZONE ID                       // 문자속성 10
             */

            var strPclDtmCD     = _item.PCL_DTM_CD;                     // Parcel 결정
            var strPclDtmProrCD = _item.PCL_DTM_PROR_CD;                // Parcel 결정 우선순위
            var strChuteOprCD   = _item.CHUTE_OPR_CD;                   // 슈트운영코드
            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_CO_CD", strCoCd);                         // 회사 코드
            dicInputParam.Add("P_CNTR_CD", strCntrCd);                     // 센터 코드
            dicInputParam.Add("P_EQP_ID", strEqpID);                       // 설비 ID
            dicInputParam.Add("P_EQP_NM", strEqpNm);                       // 설비 명
            dicInputParam.Add("P_EQP_DESC", strEqpDesc);                   // 설비 세부 정보
            dicInputParam.Add("P_EQP_TYPE_CD", strEqpTypeCd);              // 설비 종류 코드
            dicInputParam.Add("P_LINK_EQP_ID", strLinkEqpId);              // 연결설비ID
            dicInputParam.Add("P_LOC_CD", string.IsNullOrEmpty(strLocCd)); // 위치 코드
            dicInputParam.Add("P_RECIRC_CNT", iRecircCnt);                 // 순환횟수

            /*
             * dicInputParam.Add("P_ECS_PC_IP", strPcIp);          // 설비랑 통신하는 PC IP
             * dicInputParam.Add("P_ECS_COMM_NO", strEcsCommNo);   // 설비 ECS 통신 번호
             * dicInputParam.Add("P_SER_COMM_NO", strSerCommNo);   // 시리얼 통신 번호
             * dicInputParam.Add("P_RECIRC_CNT", strRecircCnt);    // 순환횟수
             * dicInputParam.Add("P_ZONE", strZoneId);             // ZONE ID
             */

            dicInputParam.Add("P_USE_YN", strUseYN);                        // 사용 여부
            dicInputParam.Add("P_USER_ID", strUserID);                      // 사용자 ID
            dicInputParam.Add("P_PCL_DTM_CD", strPclDtmCD);                 // Parcel 결정
            dicInputParam.Add("P_PCL_DTM_PROR_CD", strPclDtmProrCD);        // parcel 결정 우선순위
            dicInputParam.Add("P_CHUTE_OPR_CD", strChuteOprCD);             // 슈트운영코드
            #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
        /// <summary>
        /// Equipment 수정
        /// </summary>
        /// <param name="_da">DataAccess 객체</param>
        /// <param name="_item">저장 대상 아이템 (Row 데이터)</param>
        /// <returns></returns>
        private async Task <bool> UpdateSP_EQP_UPD(BaseDataAccess _da, EquipmentMgnt _item)
        {
            bool isRtnValue = true;

            #region  라메터 변수 선언 및 값 할당
            DataTable dtRtnValue       = null;
            var       strProcedureName = "UI_EQIP_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>();

            var strEqpID            = _item.EQP_ID;                                 // 설비 ID
            var strEqpNm            = _item.EQP_NM;                                 // 설비 명
            var strEqpDesc          = _item.EQP_DESC;                               // 설비 세부 정보
            var strEqpTypeCd        = _item.EQP_TYPE_CD;                            // 설비 종류
            var strLinkEqpId        = _item.LINK_EQP_ID;                            // 연결설비ID
            var strLocCd            = _item.LOC_CD;                                 // 위치 코드
            var strPcIp             = _item.PC_IP;                                  // 설비랑 통신하는 PC IP
            var strEcsCommNo        = _item.ECS_COMM_NO;                            // 설비 ECS 통신 번호
            var strSerCommNo        = _item.SER_COMM_NO;                            // 시리얼 통신 번호
            var intRecircCnt        = _item.RECIRC_CNT;                             // 순환횟수
            var strZoneId           = _item.ZONE_ID;                                // ZONE ID
            var strUseYN            = _item.Checked == true ? "Y" : "N";            // 사용 여부
            var intMaxReadCnt       = _item.MAX_READ_CNT;                           // 최대 리딩 횟수
            var intMaxRecirculation = _item.MAX_RECIRCULATION;                      // 최대 회전 횟수
            var intMaxScanCnt       = _item.MAX_SCAN_CNT;                           // 최대 바코드 인식 수
            var strIsRunYn          = _item.IS_RUN_YN;                              // 운영상태
            var strSortPlnCd        = _item.SORT_PLN_CD;                            // 플랜코드
            var strUserID           = this.BaseClass.UserID;                        // 사용자 ID
            #endregion

            #region Input 파라메터
            dicInputParam.Add("EQP_ID", strEqpID);                                  // 설비 ID
            dicInputParam.Add("EQP_NM", strEqpNm);                                  // 설비 명
            dicInputParam.Add("EQP_DESC", strEqpDesc);                              // 설비 세부 정보
            dicInputParam.Add("EQP_TYPE_CD", strEqpTypeCd);                         // 설비 종류
            dicInputParam.Add("LINK_EQP_ID", strLinkEqpId);                         // 연결설비ID
            dicInputParam.Add("LOC_CD", strLocCd);                                  // 위치 코드
            dicInputParam.Add("PC_IP", strPcIp);                                    // 설비랑 통신하는 PC IP
            dicInputParam.Add("ECS_COMM_NO", strEcsCommNo);                         // 설비 ECS 통신 번호
            dicInputParam.Add("SER_COMM_NO", strSerCommNo);                         // 시리얼 통신 번호
            dicInputParam.Add("RECIRC_CNT", intRecircCnt);                          // 순환횟수
            dicInputParam.Add("ZONE_ID", strZoneId);                                // ZONE ID
            dicInputParam.Add("USE_YN", strUseYN);                                  // 사용 여부
            dicInputParam.Add("MAX_READ_CNT", intMaxReadCnt);                       // 최대 리딩 횟수
            dicInputParam.Add("MAX_RECIRCULATION", intMaxRecirculation);            // 최대 회전 횟수
            dicInputParam.Add("MAX_SCAN_CNT", intMaxScanCnt);                       // 최대 바코드 인식 수
            dicInputParam.Add("IS_RUN_YN", strIsRunYn);                             // 운영상태
            dicInputParam.Add("SORT_PLN_CD", strSortPlnCd);                         // 플랜코드
            dicInputParam.Add("P_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);
        }