/// <summary>
        /// 從輸入加載RootCause
        /// </summary>
        /// <param name="Station"></param>
        /// <param name="Input">RootCause輸入值轉換為大寫</param>
        /// <param name="Paras">ErrorCode</param>
        public static void RootCauseDataloader(MESStation.BaseClass.MESStationBase Station, MESStation.BaseClass.MESStationInput Input, List <MESDataObject.Module.R_Station_Action_Para> Paras)
        {
            if (Paras.Count != 1)
            {
                throw new Exception(MESReturnMessage.GetMESReturnMessage("MES00000050"));
            }
            string RootCauseInput = Input.Value.ToString();// = Station.StationSession[0].Value.ToString();
            //Modify by LLF 2018-02-03
            //MESStationSession strInput = Station.StationSession.Find(t => t.MESDataType == Paras[0].SESSION_TYPE && t.SessionKey == Paras[0].SESSION_KEY);
            //if (strInput == null)
            //{
            //    //Station.AddMessage("MES00000076", new string[] { "Sn", Sn }, MESReturnView.Station.StationMessageState.Fail);
            //}
            //else
            //{
            //    RootCauseInput = strInput.Value.ToString();
            //}
            //string strSql = $@"SELECT * FROM C_ERROR_CODE WHERE ERROR_CODE = '{RootCauseInput.Replace("'", "''")}'";
            //OleDbParameter[] paramet = new OleDbParameter[] { new OleDbParameter(":RootCause", RootCauseInput) };
            //DataTable res = Station.SFCDB.ExecuteDataTable(strSql, CommandType.Text, paramet);
            MESStationSession ErrorCode = Station.StationSession.Find(t => t.MESDataType == Paras[0].SESSION_TYPE && t.SessionKey == Paras[0].SESSION_KEY);

            if (ErrorCode == null)
            {
                ErrorCode = new MESStationSession()
                {
                    MESDataType = Paras[0].SESSION_TYPE, InputValue = Input.Value.ToString(), SessionKey = Paras[0].SESSION_KEY, ResetInput = Input
                };
                Station.StationSession.Add(ErrorCode);
            }

            T_C_ERROR_CODE Obj_C_ERROR_CODE = new T_C_ERROR_CODE(Station.SFCDB, DB_TYPE_ENUM.Oracle);
            C_ERROR_CODE   ObjErrorCode     = Obj_C_ERROR_CODE.GetByErrorCode(RootCauseInput, Station.SFCDB);

            if (ObjErrorCode == null)
            {
                throw new MESReturnMessage(MESReturnMessage.GetMESReturnMessage("MES00000142", new string[] { RootCauseInput }));
            }
            else
            {
                ErrorCode.Value = RootCauseInput;
                Station.Inputs[Station.Inputs.Count - 1].Value = ObjErrorCode.ENGLISH_DESCRIPTION.ToString();
            }
            //Modify by LLF 2018-02-03
            //if (res.Rows.Count <= 0)
            //{
            //    Station.NextInput = Input;
            //    Station.AddMessage("MES00000007", new string[] { "RootCause", RootCauseInput }, MESReturnView.Station.StationMessageState.Fail);
            //}
            //else
            //{
            //    MESStationSession ErrorCode = Station.StationSession.Find(t => t.MESDataType == Paras[0].SESSION_TYPE && t.SessionKey == Paras[0].SESSION_KEY);
            //    if (ErrorCode == null)
            //    {
            //        ErrorCode = new MESStationSession() { MESDataType = Paras[0].SESSION_TYPE, InputValue = Input.Value.ToString(), SessionKey = Paras[0].SESSION_KEY, ResetInput = Input };
            //        Station.StationSession.Add(ErrorCode);
            //    }
            //    ErrorCode.Value = RootCauseInput;
            //}
        }
Example #2
0
        public void DeleteErrorCodeById(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JToken Data, MESStationReturn StationReturn)
        {
            OleExec sfcdb = null;

            try
            {
                sfcdb = this.DBPools["SFCDB"].Borrow();
                string         strId           = Data["Id"].ToString().Trim();
                T_C_ERROR_CODE TC_ERROR_CODE   = new T_C_ERROR_CODE(sfcdb, MESDataObject.DB_TYPE_ENUM.Oracle);
                C_ERROR_CODE   SelectErrorCode = new C_ERROR_CODE();
                SelectErrorCode = TC_ERROR_CODE.GetByid(strId, sfcdb);
                if (SelectErrorCode == null)
                {
                    StationReturn.Data        = "";
                    StationReturn.Status      = StationReturnStatusValue.Fail;
                    StationReturn.MessageCode = "MES00000007";
                    StationReturn.MessagePara.Add(strId);
                }
                else
                {
                    int result = TC_ERROR_CODE.DeleteById(strId, sfcdb);
                    if (result > 0)
                    {
                        StationReturn.Data        = "";
                        StationReturn.Status      = StationReturnStatusValue.Pass;
                        StationReturn.MessageCode = "MES00000001";
                    }
                    else
                    {
                        StationReturn.Data        = "";
                        StationReturn.Status      = StationReturnStatusValue.Fail;
                        StationReturn.MessageCode = "MES00000023";
                        StationReturn.MessagePara.Add(strId);
                    }
                }
                this.DBPools["SFCDB"].Return(sfcdb);
            }
            catch (Exception ex)
            {
                if (sfcdb != null)
                {
                    this.DBPools["SFCDB"].Return(sfcdb);
                }
                StationReturn.Data        = "";
                StationReturn.Status      = StationReturnStatusValue.Fail;
                StationReturn.MessageCode = "MES00000037";
                StationReturn.MessagePara.Add(ex.Message);
            }
        }
Example #3
0
        public void GetByErrorCode(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JToken Data, MESStationReturn StationReturn)
        {
            OleExec sfcdb = null;

            try
            {
                sfcdb = this.DBPools["SFCDB"].Borrow();
                T_C_ERROR_CODE TC_ERROR_CODE   = new T_C_ERROR_CODE(sfcdb, MESDataObject.DB_TYPE_ENUM.Oracle);
                C_ERROR_CODE   SelectErrorCode = new C_ERROR_CODE();
                string         ErrorCode       = Data["ErrorCode"].ToString();
                SelectErrorCode = TC_ERROR_CODE.GetByErrorCode(ErrorCode, sfcdb);
                if (SelectErrorCode != null)
                {
                    StationReturn.Data        = SelectErrorCode;
                    StationReturn.Status      = StationReturnStatusValue.Pass;
                    StationReturn.MessageCode = "MES00000001";
                }
                else
                {
                    StationReturn.Data        = "";
                    StationReturn.Status      = StationReturnStatusValue.Fail;
                    StationReturn.MessageCode = "MES00000007";
                    StationReturn.MessagePara.Add(ErrorCode);
                }
                this.DBPools["SFCDB"].Return(sfcdb);
            }
            catch (Exception ex)
            {
                if (sfcdb != null)
                {
                    this.DBPools["SFCDB"].Return(sfcdb);
                }
                StationReturn.Data        = "";
                StationReturn.Status      = StationReturnStatusValue.Fail;
                StationReturn.MessageCode = "MES00000037";
                StationReturn.MessagePara.Add(ex.Message);
            }
        }
        /// <summary>
        /// 掃描不良從輸入加載FAIL_CODE對象
        /// </summary>
        /// <param name="Station"></param>
        /// <param name="Input"></param>
        /// <param name="Paras"></param>
        public static void FailCodeDataloader(MESPubLab.MESStation.MESStationBase Station, MESPubLab.MESStation.MESStationInput Input, List <MESDataObject.Module.R_Station_Action_Para> Paras)
        {
            if (Paras.Count != 1)
            {
                throw new Exception(MESReturnMessage.GetMESReturnMessage("MES00000050"));
            }
            string            inputValue      = Input.Value.ToString();
            MESStationSession sessionFailCode = Station.StationSession.Find(t => t.MESDataType == Paras[0].SESSION_TYPE && t.SessionKey == Paras[0].SESSION_KEY);

            if (sessionFailCode == null)
            {
                sessionFailCode = new MESStationSession()
                {
                    MESDataType = Paras[0].SESSION_TYPE, SessionKey = Paras[0].SESSION_KEY, ResetInput = Input
                };
                Station.StationSession.Add(sessionFailCode);
            }
            else
            {
                //inputValue = sessionFailCode.Value.ToString();
                sessionFailCode.Value = null;
            }

            T_C_ERROR_CODE t_c_error_code = new T_C_ERROR_CODE(Station.SFCDB, DB_TYPE_ENUM.Oracle);
            C_ERROR_CODE   failCodeObject = t_c_error_code.GetByErrorCode(inputValue, Station.SFCDB);

            if (failCodeObject == null)
            {
                throw new MESReturnMessage(MESReturnMessage.GetMESReturnMessage("MES00000142", new string[] { inputValue }));
            }
            else
            {
                sessionFailCode.Value = failCodeObject;
                Station.Inputs[Station.Inputs.Count - 1].Value = failCodeObject.ENGLISH_DESCRIPTION.ToString();
            }
        }
Example #5
0
        public void UpdateErrorCodeById(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JToken Data, MESStationReturn StationReturn)
        {
            OleExec sfcdb = null;

            try
            {
                sfcdb = this.DBPools["SFCDB"].Borrow();
                T_C_ERROR_CODE TC_ERROR_CODE   = new T_C_ERROR_CODE(sfcdb, MESDataObject.DB_TYPE_ENUM.Oracle);
                C_ERROR_CODE   SelectErrorCode = new C_ERROR_CODE();
                string         strId           = Data["Id"].ToString().Trim();
                string         ErrorCode       = Data["ErrorCode"].ToString().Trim();
                string         EDescription    = Data["EnglishDescription"].ToString().Trim();
                string         CDescription    = Data["ChineseDescription"].ToString().Trim();
                if (ErrorCode.Length <= 0)
                {
                    StationReturn.Data        = "";
                    StationReturn.Status      = StationReturnStatusValue.Fail;
                    StationReturn.MessageCode = "MES00000006";
                    StationReturn.MessagePara.Add("ErrorCode");
                    this.DBPools["SFCDB"].Return(sfcdb);
                    return;
                }
                if (EDescription.Length <= 0)
                {
                    StationReturn.Data        = "";
                    StationReturn.Status      = StationReturnStatusValue.Fail;
                    StationReturn.MessageCode = "MES00000006";
                    StationReturn.MessagePara.Add("EnglishDescription");
                    this.DBPools["SFCDB"].Return(sfcdb);
                    return;
                }
                if (CDescription.Length <= 0)
                {
                    StationReturn.Data        = "";
                    StationReturn.Status      = StationReturnStatusValue.Fail;
                    StationReturn.MessageCode = "MES00000006";
                    StationReturn.MessagePara.Add("ChineseDescription");
                    this.DBPools["SFCDB"].Return(sfcdb);
                    return;
                }
                SelectErrorCode = TC_ERROR_CODE.GetByid(strId, sfcdb);
                if (SelectErrorCode == null)
                {
                    StationReturn.Data        = "";
                    StationReturn.Status      = StationReturnStatusValue.Fail;
                    StationReturn.MessageCode = "MES00000007";
                    StationReturn.MessagePara.Add("Id:" + strId);
                    this.DBPools["SFCDB"].Return(sfcdb);
                    return;
                }
                SelectErrorCode = TC_ERROR_CODE.GetByErrorCode(ErrorCode, sfcdb);
                if (SelectErrorCode != null && SelectErrorCode.ID != strId)
                {
                    StationReturn.Data        = "";
                    StationReturn.Status      = StationReturnStatusValue.Fail;
                    StationReturn.MessageCode = "MES00000008";
                    StationReturn.MessagePara.Add(ErrorCode);
                    this.DBPools["SFCDB"].Return(sfcdb);
                    return;
                }
                C_ERROR_CODE NewErrorCode = new C_ERROR_CODE();
                NewErrorCode.ID                  = strId;
                NewErrorCode.ERROR_CODE          = ErrorCode;
                NewErrorCode.ENGLISH_DESCRIPTION = EDescription;
                NewErrorCode.CHINESE_DESCRIPTION = CDescription;
                NewErrorCode.EDIT_EMP            = LoginUser.EMP_NO;
                NewErrorCode.EDIT_TIME           = GetDBDateTime();
                int result = TC_ERROR_CODE.UpdateById(NewErrorCode, sfcdb);
                if (result > 0)
                {
                    StationReturn.Data        = NewErrorCode;
                    StationReturn.Status      = StationReturnStatusValue.Pass;
                    StationReturn.MessageCode = "MES00000001";
                }
                else
                {
                    StationReturn.Data        = "";
                    StationReturn.Status      = StationReturnStatusValue.Fail;
                    StationReturn.MessageCode = "MES00000025";
                    StationReturn.MessagePara.Add(ErrorCode);
                }
                this.DBPools["SFCDB"].Return(sfcdb);
            }
            catch (Exception ex)
            {
                if (sfcdb != null)
                {
                    this.DBPools["SFCDB"].Return(sfcdb);
                }
                StationReturn.Data        = "";
                StationReturn.Status      = StationReturnStatusValue.Fail;
                StationReturn.MessageCode = "MES00000037";
                StationReturn.MessagePara.Add(ex.Message);
            }
        }