Ejemplo n.º 1
0
        public virtual void SendMessage(object sender, Messages msgs)
        {
            Message msg = new Message();

            for (int i = 0; i < msgs.Count(); i++)
            {
                if (msgs.Objects(i).Type != MessageType.Data)
                {
                    msg = msgs.Objects(i);
                }
            }
            IDCTClient client = sender as IDCTClient;

            if (msg.Body != String.Empty)
            {
                string send_msg = MutiLanguages.ParserMessage(msg.Body);
                if (send_msg.IndexOf("$") < 0)
                {
                    client.SendMessage(send_msg);
                }
            }
            if (msg.Exception != null)
            {
                string send_msg = MutiLanguages.ParserMessage(msg.Exception.Message);
                if (send_msg.IndexOf("$") < 0)
                {
                    client.SendMessage(send_msg);
                }
            }
            if (msg != null)
            {
                switch (msg.Type)
                {
                case MessageType.Succes:
                {
                    break;
                }

                case MessageType.Error:
                {
                    System.Threading.Thread.Sleep(500);
                    break;
                }

                default:
                {
                    break;
                }
                }
            }
        }
Ejemplo n.º 2
0
 public static string GetErrorMessage(Messages messages)
 {
     for (int i = 0; i < messages.Count(); i++)
     {
         Message message = messages.Objects(i);
         if (message.Type == MessageType.Error)
         {
             if (message.Body == string.Empty)
             {
                 return(MutiLanguages.ParserMessage(message.Exception.Message));
             }
             else
             {
                 return(MutiLanguages.ParserMessage(message.Body));
             }
         }
     }
     return(MutiLanguages.ParserMessage("$CS_System_unKnowError"));
 }
Ejemplo n.º 3
0
//
//		public BaseDCTAction GetNextAction()
//		{
//			BaseDCTAction ba = null;
//			if(alWorkingAction.Count > 0)
//			{
//				ba =  alWorkingAction[0] as BaseDCTAction;
//				if(ba.NextAction != null)
//				{
//					alWorkingAction.Clear();
//					alWorkingAction.Add(ba.NextAction);
//
//					ba = null;
//
//					ba = alWorkingAction[0] as BaseDCTAction;
//				}
//			}
//			return ba;
//		}

        public override void SendMessage(object sender, Messages msgs, string command)
        {
            Message msg = new Message();

            for (int i = 0; i < msgs.Count(); i++)
            {
                if (msgs.Objects(i).Type != MessageType.Data)
                {
                    msg = msgs.Objects(i);
                }
            }
            DCN500Client client = sender as DCN500Client;

            if (msg.Body != String.Empty)
            {
                string send_msg = MutiLanguages.ParserMessage(msg.Body);
                if (send_msg.IndexOf("$") < 0)
                {
                    if (msg.Type == MessageType.Success)
                    {
                        //Laws Lu,2006/06/20	if Succes than no suffix
                        client.SendMessage(send_msg);
                    }

                    if (msg.Type == MessageType.Error)
                    {
                        //Laws Lu,2006/06/20	if error than add suffix char !
                        client.SendMessage(send_msg + " !");
                    }

                    if (msg.Type == MessageType.Normal)
                    {
                        //Laws Lu,2006/06/20	if normal than add suffix char :
                        client.SendMessage(send_msg + " :");
                    }
                }
            }
            if (msg.Exception != null)
            {
                string send_msg = MutiLanguages.ParserMessage(msg.Exception.Message);
                if (send_msg.IndexOf("$") < 0)
                {
                    //Laws Lu,2006/06/20	if error than add suffix char !
                    client.SendMessage(send_msg + " !");
                }
            }

            if (msg != null)
            {
                switch (msg.Type)
                {
                case MessageType.Success:
                {
                    break;
                }

                case MessageType.Error:
                {
                    //Laws Lu,2006/06/15 shoren the interval beep time
                    //Laws Lu,2006/06/20	beep twice
//						client.SendCommand(DCTCommand.SpeakerOff);
//						System.Threading.Thread.Sleep(100);
                    client.SendCommand(DCTCommand.SpeakerOn);
                    System.Threading.Thread.Sleep(100);
                    client.SendCommand(DCTCommand.SpeakerOff);
//						System.Threading.Thread.Sleep(100);
//						client.SendCommand(DCTCommand.SpeakerOn);
//						System.Threading.Thread.Sleep(50);
//						client.SendCommand(DCTCommand.SpeakerOff);
//
//						client.SendCommand(DCTCommand.SpeakerOn);
                    //System.Threading.Thread.Sleep(50);
                    break;
                }

                default:
                {
                    break;
                }
                }
            }
        }
Ejemplo n.º 4
0
        public virtual void SendMessage(object sender, Messages msgs, string command)
        {
            IDCTClient client = sender as IDCTClient;

            Message msg = new Message();

            for (int i = 0; i < msgs.Count(); i++)
            {
                if (msgs.Objects(i).Type != MessageType.Data)
                {
                    msg = msgs.Objects(i);

                    //处理一般的输出信息
                    if (msg.Body != String.Empty)
                    {
                        string send_msg = MutiLanguages.ParserMessage(msg.Body);

                        if (send_msg.IndexOf("$") < 0)
                        {
                            if (msg.Type == MessageType.DCTClear)
                            {
                                client.SendMessage(empty);
                            }
                            if (msg.Type == MessageType.DCTData)
                            {
                                SendMessageEx(client, send_msg);
                            }
                            else
                            {
                                SendMessageEx(client, send_msg);
                            }
                        }
                        else    // 将缺失的Message记录下来
                        {
                            try
                            {
                                string strFile = @"C:\DCT_EmptyMessage.txt";
                                System.IO.StreamWriter writer = new System.IO.StreamWriter(strFile, true);
                                writer.WriteLine(msg.Body);
                                writer.Close();
                            }
                            catch { }
                        }

                        if (msg.Type == MessageType.Normal && msg.Body.Trim().Length > 0)
                        {
                            this._LastPrompt = send_msg.Trim();
                        }
                    }

                    //处理异常
                    if (msg.Exception != null)
                    {
                        string send_msg = MutiLanguages.ParserMessage(msg.Exception.Message);
                        if (send_msg.IndexOf("$") < 0)
                        {
                            if (msg.Type == MessageType.DCTClear)
                            {
                                client.SendMessage(empty);
                            }

                            if (msg.Type == MessageType.DCTData)
                            {
                                SendMessageEx(client, send_msg);
                            }
                            else
                            {
                                SendMessageEx(client, send_msg);
                            }
                        }
                    }

                    //发出声音
                    if (msg != null)
                    {
                        switch (msg.Type)
                        {
                        case MessageType.Success:
                        {
                            //if(CurrentDirect == FlowDirect.WaitingOutPut && BeepSuccess)
                            if (BeepSuccess)
                            {
                                client.SendCommand(DCTCommand.SpeakerOn);
                            }

                            break;
                        }

                        case MessageType.Error:
                        {
                            if (BeepError)
                            {
                                for (int j = 0; j < BeepCount; j++)
                                {
                                    client.SendCommand(BeepType);
                                    System.Threading.Thread.Sleep(BeepInterval);
                                }
                            }
                            break;
                        }

                        default:
                        {
                            if (BeepSuccess)
                            {
                                client.SendCommand(DCTCommand.SpeakerOn);
                            }

                            break;
                        }
                        }
                    }

                    //记录WorkingError
                    if (msg.Type == MessageType.Error || msg.Exception != null)
                    {
                        try
                        {
                            SQLDomainDataProvider domainProvider = null;
                            if (client.DBConnection != null)
                            {
                                domainProvider = client.DBConnection as BenQGuru.eMES.Common.DomainDataProvider.SQLDomainDataProvider;
                            }
                            else
                            {
                                domainProvider      = DomainDataProviderManager.DomainDataProvider() as SQLDomainDataProvider;
                                client.DBConnection = domainProvider;
                            }

                            DataCollectFacade dataCollectFacade = new DataCollectFacade(domainProvider);

                            string userCode      = client.LoginedUser;
                            string resCode       = client.ResourceCode;
                            string segCode       = client.SegmentCode;
                            string ssCode        = client.StepSequenceCode;
                            string shiftTypeCode = client.ShiftTypeCode;

                            string errorMessageCode = string.Empty;
                            string errorMessage     = string.Empty;
                            if (msg.Type == MessageType.Error)
                            {
                                errorMessageCode = msg.Body;
                                errorMessage     = MutiLanguages.ParserMessage(msg.Body);
                            }

                            if (msg.Exception != null)
                            {
                                errorMessageCode = msg.Exception.Message;
                                errorMessage     = MutiLanguages.ParserMessage(msg.Exception.Message);
                            }

                            dataCollectFacade.LogWorkingError(userCode, resCode, segCode, ssCode, shiftTypeCode,
                                                              WorkingErrorFunctionType.DCT, command, this._LastPrompt + ": " + client.ToString(), errorMessageCode, errorMessage);
                        }
                        catch (Exception ex)
                        {
                            //throw ex;
                        }
                    }
                }
            }
        }
Ejemplo n.º 5
0
        private void btnOffTry_Click(object sender, EventArgs e)
        {
            DBDateTime DBDateTimeNow = FormatHelper.GetNowDBDateTime(this.DataProvider);
            int        OffTryNumber  = 0;

            if (MessageBox.Show(MutiLanguages.ParserMessage("$Dissmis_Rcard_And_Try"), MutiLanguages.ParserMessage("$ShowMessage"), MessageBoxButtons.OKCancel, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1) == DialogResult.OK)
            {
                this.DataProvider.BeginTransaction();
                try
                {
                    for (int i = 0; i < this.ultraGridTry.Rows.Count; i++)
                    {
                        if (ultraGridTry.Rows[i].Cells[0].Text.ToLower() == "true")
                        {
                            string TryCode = ultraGridTry.Rows[i].Cells[1].Text.ToUpper();

                            object objectTry = this._TryFacade.GetTry(TryCode);

                            if (objectTry != null)
                            {
                                ((Try)objectTry).ActualQty   -= 1;
                                ((Try)objectTry).MaintainDate = DBDateTimeNow.DBDate;
                                ((Try)objectTry).MaintainTime = DBDateTimeNow.DBTime;
                                ((Try)objectTry).MaintainUser = ApplicationService.Current().UserCode;

                                this._TryFacade.UpdateTry(((Try)objectTry));
                                if (opsetOffTry.Value.ToString() == Rcard)
                                {
                                    this._TryFacade.DeleteTry2RCard(TryCode, sourceRCard.Trim());
                                }
                                else
                                {
                                    this._TryFacade.DeleteTry2RCard(TryCode, _InputRcard);
                                }

                                OffTryNumber += 1;
                            }
                        }
                    }
                    if (OffTryNumber == 0)
                    {
                        ApplicationRun.GetInfoForm().Add(new UserControl.Message(MessageType.Error, "$CS_ToCheck_OffTry"));
                    }
                    else
                    {
                        ApplicationRun.GetInfoForm().Add(new UserControl.Message(MessageType.Success, "$CS_OffTry_Success"));
                        this.txtCollected.Value = Convert.ToString(OffTryNumber + Convert.ToInt32(this.txtCollected.Value.Trim()));
                        this.txtInPutSN.TextFocus(false, true);
                    }
                }
                catch (Exception ex)
                {
                    this.DataProvider.RollbackTransaction();
                    ApplicationRun.GetInfoForm().Add(new UserControl.Message(MessageType.Error, ex.Message));
                }
                finally
                {
                    this.DataProvider.CommitTransaction();
                    this.UpdateGrid();
                }
            }
        }