/// <summary> /// 请求扫条码操作 /// </summary> /// <param name="objNull"></param> private void DoCommand_AskForInputTxm(object objNull) { string strMessage; MessageBoxEx.UseSystemLocalizedString = true; if (CLDC_DataCore.Const.GlobalUnit.g_CUS.DnbData.CheckState != CLDC_Comm.Enum.Cus_CheckStaute.停止检定) { MessageBoxEx.Show(this, string.Format("{0} 状态下不允许执行此操作!", CLDC_DataCore.Const.GlobalUnit.g_CUS.DnbData.CheckState.ToString()), "操作逻辑错误", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } m_VerifyStep = CLDC_Comm.Enum.Cus_stVerifyStep.参数录入; CLDC_DataCore.Function.TopWaiting.ShowWaiting("请求扫条码操作、正在等待服务器返回..."); CLDC_DataCore.Command.Txm.InputTxm_Ask cmdAsk = new CLDC_DataCore.Command.Txm.InputTxm_Ask(); CLDC_CTNProtocol.CTNPCommand cmdAnswer = new InputTxm_Answer(); bool bResponse = true; sendMessage(cmdAsk, out cmdAnswer); if (cmdAnswer == null) //说明返回失败 { bResponse = false; } else { bResponse = ((CLDC_DataCore.Command.Txm.InputTxm_Answer)cmdAnswer).bAgree; } //根据服务器返回结果设置界面可用状态 //bResponse = true; ClientTable.ReadOnly = !bResponse; //修改状态 if (bResponse) { CLDC_DataCore.Const.GlobalUnit.g_CUS.DnbData.SetOption(CLDC_CTNProtocol.EnumOption.DZ正在扫描条码); CLDC_DataCore.Const.GlobalUnit.UpdateActiveID(-1); //设置检定ID到参数录入 SetControlVisiable(ButtonOk, true); //报告服务器,ActiveId已经改变 CLDC_DataCore.Command.Update.UpdateActiveId_Ask cmdAsk2 = new CLDC_DataCore.Command.Update.UpdateActiveId_Ask(); cmdAsk2.ActiveId = CLDC_DataCore.Const.GlobalUnit.g_CUS.DnbData.ActiveItemID; CLDC_CTNProtocol.CTNPCommand cmdAnswer2; sendMessage(cmdAsk2, out cmdAnswer2); } //提示服务器返回的结果 if (bResponse) { strMessage = "服务器同意你的扫条码操作、你现在可以录入条码"; SetLabText(labItem, CLDC_DataCore.Const.GlobalUnit.g_CUS.DnbData.Option.ToString().Substring(2)); SetLabText(labAction, strMessage); //CLDC_Comm.Speechs.Speech.Instance.SpeakChina(strMessage); CLDC_DataCore.Const.GlobalUnit.g_CUS.DnbData.ActiveItemID = -1; ShowData(true); } else { strMessage = "服务器不同意你的扫条码操作、请稍候再试"; SetLabText(labItem, CLDC_DataCore.Const.GlobalUnit.g_CUS.DnbData.Option.ToString().Substring(2)); SetLabText(labAction, strMessage); // CLDC_Comm.Speechs.Speech.Instance.SpeakChina(strMessage); } CLDC_DataCore.Function.TopWaiting.HideWaiting(); }
/// <summary> /// 普通消息队列处理 /// </summary> /// <param name="sourceAdpater">消息发出者</param> /// <param name="VerifyDataArgs">消息参数</param> public void OnMsgMessage(object sourceAdpater, object VerifyDataArgs) { CLDC_Comm.MessageArgs.EventMessageArgs _Message = VerifyDataArgs as CLDC_Comm.MessageArgs.EventMessageArgs; if (_Message == null) { return; } int FirstYJMeter = CLDC_DataCore.Const.GlobalUnit.FirstYaoJianMeter; _Message.Message = _Message.Message.Replace(@"\r\n", ";"); switch (_Message.MessageType) { //检定点切换 case CLDC_Comm.Enum.Cus_MessageType.检定跳点: { showSchemeInfo(); ShowRunMessage(labAction, "正在切换检定点..."); return; } case CLDC_Comm.Enum.Cus_MessageType.运行时消息: { showSchemeInfo(); if (_Message.Message != "null") { // ShowRunMessage(labAction, _Message.Message); } break; } case CLDC_Comm.Enum.Cus_MessageType.检定完毕: { ShowRunMessage(labAction, _Message.Message); break; } default: { if (_Message.MessageType == CLDC_Comm.Enum.Cus_MessageType.录入电量起码 || _Message.MessageType == CLDC_Comm.Enum.Cus_MessageType.录入电量止码) { ShowData(true); //先刷新一次显示区域数据 CLDC_Comm.MessageArgs.EventMessageArgs _E = VerifyDataArgs as CLDC_Comm.MessageArgs.EventMessageArgs; if (_E == null) { return; } ShowData(false); if (_E.Message == "null") { return; } bool bQiMa = (_Message.MessageType == CLDC_Comm.Enum.Cus_MessageType.录入电量起码 ? true : false); string strDes = string.Empty; if (bQiMa) { strDes = "起码"; m_VerifyStep = CLDC_Comm.Enum.Cus_stVerifyStep.走字试验录起码; } else { strDes = "止码"; m_VerifyStep = CLDC_Comm.Enum.Cus_stVerifyStep.走字试验录止码; } SetControlVisiable(ButtonOk, true); ClientTable.ReadOnly = false; ShowRunMessage(labAction, "请输入被检表的" + strDes + ""); MessageBoxEx.UseSystemLocalizedString = true; MessageBoxEx.Show(this, _Message.Message + strDes + "后点击录入完成!", "系统提示"); break; } break; } } //检测是否要刷新数据 if (_Message.RefreshData) { ShowData(true); } }