Exemplo n.º 1
0
        /// <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);
        }