/// <summary> /// 输入框输入完毕事件 /// </summary> /// <param name="Bwh">表位号(1-BW)</param> /// <param name="Value">输入值</param> private bool ClientTable_TxtInputOver(int Bwh, string Value) { MessageBoxEx.UseSystemLocalizedString = true; string strMessage; if (CLDC_DataCore.Const.GlobalUnit.g_CUS == null) { return(false); } if (Bwh < 1 || Bwh > BwCount) { return(false); } CLDC_DataCore.Model.DnbModel.DnbInfo.MeterBasicInfo curMeter = CLDC_DataCore.Const.GlobalUnit.Meter(Bwh - 1); if (curMeter == null) { return(false); } string ItemKey = ""; if (CLDC_DataCore.Const.GlobalUnit.g_CUS.DnbData.CheckPlan[CLDC_DataCore.Const.GlobalUnit.g_CUS.DnbData.ActiveItemID] is CLDC_DataCore.Struct.StPlan_ZouZi) { ItemKey = ((CLDC_DataCore.Struct.StPlan_ZouZi)CLDC_DataCore.Const.GlobalUnit.g_CUS.DnbData.CheckPlan[CLDC_DataCore.Const.GlobalUnit.g_CUS.DnbData.ActiveItemID]).PrjID; } CLDC_DataCore.Model.DnbModel.DnbInfo.MeterZZError ZZError = null; //在这儿根据参数录入状态进行判断 switch (m_VerifyStep) { case CLDC_Comm.Enum.Cus_stVerifyStep.参数录入: { //检查条形码是否重复 CLDC_DataCore.Model.DnbModel.DnbInfo.MeterBasicInfo tmpMeter = null; for (int i = 0; i < BwCount; i++) { if (i == Bwh - 1) { continue; } tmpMeter = CLDC_DataCore.Const.GlobalUnit.Meter(i); if (tmpMeter != null && Value == tmpMeter.Mb_ChrTxm) { strMessage = string.Format("条形码[{0}]已经在{1}表位存在!", Value, curMeter.ToString()); //CLDC_Comm.Speechs.Speech.Instance.SpeakChina(strMessage); MessageBoxEx.Show(this, strMessage, "错误", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return(false); } } //语音朗读条码后四位 strMessage = Value.Substring(Value.Length - 4, 4); // CLDC_Comm.Speechs.Speech.Instance.SpeakChina(strMessage); /*条码解析开始*/ CLDC_DataCore.Model.DnbModel.DnbInfo.MeterBasicInfo MeterInfo = null; if (OnGetMeterInfo != null) { MeterInfo = OnGetMeterInfo(Value); } if (MeterInfo != null) { MeterInfo.SetBno(Bwh); CLDC_DataCore.Const.GlobalUnit.g_CUS.DnbData.MeterGroup[Bwh - 1] = MeterInfo; /*发送到服务器*/ CLDC_DataCore.Command.Model.SendMeterData_Ask cmdOneMeter = new CLDC_DataCore.Command.Model.SendMeterData_Ask(); //cmdOneMeter.MeterData = MeterInfo; CLDC_CTNProtocol.CTNPCommand cmdResponse; sendMessage(cmdOneMeter, out cmdResponse); if (cmdResponse == null) { MessageBoxEx.Show(this, "上传数据到控制中心出错"); return(false); } } else { curMeter.Mb_ChrTxm = Value; //上报服务器 CLDC_DataCore.Command.Txm.InputTxm_Update_Ask cmdAsk = new CLDC_DataCore.Command.Txm.InputTxm_Update_Ask(); CLDC_CTNProtocol.CTNPCommand cmdAnswer; cmdAsk.Txm = Value; cmdAsk.Bwh = Bwh - 1; sendMessage(cmdAsk, out cmdAnswer); if (cmdAnswer == null) { MessageBoxEx.Show(this, "操作失败!请重新扫描", "操作失败", MessageBoxButtons.OK, MessageBoxIcon.Warning); ClientTable.SelectedBwh = Bwh; } } GlobalUnit.g_MsgControl.OutMessage(string.Format("第表{0}位扫描完成", Bwh), true); break; } case CLDC_Comm.Enum.Cus_stVerifyStep.走字试验录起码: { if (!curMeter.MeterZZErrors.ContainsKey(ItemKey)) { GlobalUnit.g_MsgControl.OutMessage("没有发现数据节点", false); return(false); } if (!CLDC_DataCore.Function.Number.IsNumeric(Value)) { GlobalUnit.g_MsgControl.OutMessage("请输入数字!", false); return(false); } GlobalUnit.g_MsgControl.OutMessage(Bwh + "输入完成!", false); ZZError = curMeter.MeterZZErrors[ItemKey]; ZZError.Mz_chrQiMa = float.Parse(Value); break; } case CLDC_Comm.Enum.Cus_stVerifyStep.走字试验录止码: { if (!curMeter.MeterZZErrors.ContainsKey(ItemKey)) { GlobalUnit.g_MsgControl.OutMessage("没有发现数据节点", false); return(false); } if (!CLDC_DataCore.Function.Number.IsNumeric(Value)) { GlobalUnit.g_MsgControl.OutMessage("请输入数字!", false); return(false); } GlobalUnit.g_MsgControl.OutMessage(Bwh + "输入完成!", false); ZZError = curMeter.MeterZZErrors[ItemKey]; ZZError.Mz_chrZiMa = float.Parse(Value); break; } default: { MessageBoxEx.Show(this, "错误的状态:" + m_VerifyStep.ToString()); break; } } return(true); }