コード例 #1
0
        /// <summary>
        /// 加载载波方案到载波数据列表
        /// </summary>
        private void Load()
        {
            m_Lst_CarrierPlan = new List <StPlan_Carrier>();
            string  str_Error = "";
            XmlNode xmlNode   = clsXmlControl.LoadXml(_FAPath, out str_Error);

            if (str_Error != "")
            {
                return;
            }
            for (int _i = 0; _i < xmlNode.ChildNodes.Count; _i++)
            {
                StPlan_Carrier stCarrierPlan = new StPlan_Carrier();
                stCarrierPlan.str_Name = xmlNode.ChildNodes[_i].Attributes["Name"].Value;
                stCarrierPlan.str_Code = xmlNode.ChildNodes[_i].Attributes["Code"].Value;
                if (xmlNode.ChildNodes[_i].Attributes["Times"] != null)
                {
                    stCarrierPlan.int_Times = int.Parse(xmlNode.ChildNodes[_i].Attributes["Times"].Value.ToString());
                }
                if (xmlNode.ChildNodes[_i].Attributes["Interval"] != null)
                {
                    stCarrierPlan.int_Interval = int.Parse(xmlNode.ChildNodes[_i].Attributes["Interval"].Value.ToString());
                }
                if (xmlNode.ChildNodes[_i].Attributes["ModuleSwaps"] != null)
                {
                    stCarrierPlan.b_ModuleSwaps = xmlNode.ChildNodes[_i].Attributes["ModuleSwaps"].Value.ToString() == "1" ? true : false;
                }
                m_Lst_CarrierPlan.Add(stCarrierPlan);
            }
        }
コード例 #2
0
 /// <summary>
 /// 移动载波项目
 /// </summary>
 /// <param name="p_int_MoveToIndex">需要移动到的列表位置</param>
 /// <param name="p_scp_Item">项目结构体</param>
 public void Move(int p_int_MoveToIndex, StPlan_Carrier p_scp_Item)
 {
     p_int_MoveToIndex = p_int_MoveToIndex < 0 ? 0 : p_int_MoveToIndex;
     p_int_MoveToIndex = p_int_MoveToIndex >= m_Lst_CarrierPlan.Count ? m_Lst_CarrierPlan.Count - 1 : p_int_MoveToIndex;
     this.Remove(p_scp_Item);
     m_Lst_CarrierPlan.Insert(p_int_MoveToIndex, p_scp_Item);
     return;
 }
コード例 #3
0
 /// <summary>
 /// 根据项目移除
 /// </summary>
 /// <param name="Item">项目结构体</param>
 public void Remove(StPlan_Carrier p_scp_Item)
 {
     if (!m_Lst_CarrierPlan.Contains(p_scp_Item))
     {
         return;
     }
     m_Lst_CarrierPlan.Remove(p_scp_Item);
     return;
 }
コード例 #4
0
        /// <summary>
        /// 加载方案项目
        /// </summary>
        /// <param name="p_pcc_Item">方案项目</param>
        public void LoadPlan(CLDC_DataCore.Model.Plan.Plan_Carrier p_pcc_Item)
        {
            Dgv_Data.Rows.Clear();

            base.FaName = p_pcc_Item.Name;

            try
            {
                Cmb_Fa.Text = p_pcc_Item.Name;
            }
            catch
            {
                Cmb_Fa.SelectedIndex = 0;
            }

            //【遍历方案对象】
            for (int _i = 0; _i < p_pcc_Item.Count; _i++)
            {
                //【取出一个方案项目】
                StPlan_Carrier _Obj = p_pcc_Item.GetCarrierPrj(_i);

                int RowIndex = Dgv_Data.Rows.Add();
                Dgv_Data.Rows[RowIndex].Cells[0].Value = _i + 1;
                ((DataGridViewComboBoxCell)Dgv_Data.Rows[RowIndex].Cells[1]).Value = _Obj.str_Name;         //项目名称
                ((DataGridViewCell)Dgv_Data.Rows[RowIndex].Cells[2]).Value         = _Obj.str_Code;         //标识符
                ((DataGridViewCheckBoxCell)Dgv_Data.Rows[RowIndex].Cells[3]).Value = _Obj.b_ModuleSwaps;    //载波模块互换
                Dgv_Data.Rows[RowIndex].Cells[Dgv_Data.Columns.Count - 1].Value    = "删除";                  //删除按钮
                Dgv_Data[Dgv_Data.Columns.Count - 1, RowIndex].Style.ForeColor     = Color.Red;             //删除按钮为红色
            }

            //【最后增加一个空行,用于新增】
            {
                int RowIndex = Dgv_Data.Rows.Add();
                Dgv_Data.Rows[RowIndex].Cells[Dgv_Data.Columns.Count - 1].Value           = "添加";
                Dgv_Data.Rows[RowIndex].Cells[Dgv_Data.Columns.Count - 1].Style.ForeColor = Color.Blue;
            }

            //【设置上下移动按钮状态】
            this.UpDownButtonState(0);
        }
コード例 #5
0
        /// <summary>
        /// 数据刷新
        /// </summary>
        /// <param name="meterGroup">电能表数据集合</param>
        /// <param name="CheckOrderID">当前检定点</param>
        public void RefreshData(CLDC_DataCore.Model.DnbModel.DnbGroupInfo meterGroup, int CheckOrderID)
        {
            bool bFind = false;

            StPlan_Carrier _Item = (StPlan_Carrier)meterGroup.CheckPlan[CheckOrderID];

            if (Tab_Carrier.TabPages.Count > 1)            //如果Tab的页数大于1,那表示存在动态增加的数据页
            {
                if (Data_Carrier.Tag != null)
                {
                    bFind = true;
                }
                else
                {
                    for (int i = Tab_Carrier.TabPages.Count - 1; i > 0; i--)
                    {
                        Tab_Carrier.TabPages.RemoveAt(i);
                    }
                    bFind = false;
                }
            }

            if (!bFind)
            {
                Data_Carrier.Tag = _Item.str_PrjID;   //将ID值放到数据列表的Tag中,供数据刷新使用


                Tab_Carrier.TabPages.Add("载波数据");
                CLDC_MeterUI.UI_Detection_New.CarrierView.ViewCarrier _Carrier = new CLDC_MeterUI.UI_Detection_New.CarrierView.ViewCarrier();
                Tab_Carrier.TabPages[1].Controls.Add(_Carrier);
                _Carrier.Dock   = DockStyle.Fill;
                _Carrier.Margin = new System.Windows.Forms.Padding(0);
            }
            this.RefreshGrid(meterGroup, CheckOrderID);
            Data_Carrier.Enabled = true;
        }
コード例 #6
0
        /// <summary>
        /// 添加一个载波项目
        /// </summary>
        /// <param name="p_int_Order"></param>
        /// <param name="p_str_Type">载波试验类型</param>
        /// <param name="p_str_Name">项目名称</param>
        /// <param name="p_strCode">标识符</param>
        /// <param name="p_int_Times">发送次数</param>
        /// <param name="p_flt_Succ">成功率</param>
        /// <param name="p_int_Interval">间隔时间(秒)</param>
        /// <returns></returns>
        public bool Add(int p_int_Order, string p_str_Name, string p_strCode, bool b_ModuleSwaps)
        {
            StPlan_Carrier scp_Item = new StPlan_Carrier();

            scp_Item.str_Name      = p_str_Name;
            scp_Item.str_Code      = p_strCode;
            scp_Item.b_ModuleSwaps = b_ModuleSwaps;

            if (b_ModuleSwaps)
            {
                scp_Item.int_Times    = 5;
                scp_Item.int_Interval = 10;
            }

            if (m_Lst_CarrierPlan.Contains(scp_Item))
            {
                Move(p_int_Order, scp_Item);
            }
            else
            {
                m_Lst_CarrierPlan.Insert(p_int_Order, scp_Item);
            }
            return(true);
        }
コード例 #7
0
        private void thShowData(object obj)
        {
            CheckPlan = CLDC_DataCore.Const.GlobalUnit.g_CUS.DnbData.CheckPlan;
            CLDC_DataCore.Model.DnbModel.DnbInfo.MeterBasicInfo curMeter = null;
            if (CLDC_DataCore.Const.GlobalUnit.g_CUS == null)
            {
                return;
            }
            lock (objShowDataLock)
            {
                bool   isRead = false;
                string strKey = string.Empty;
                for (int bw = 0; bw < BwCount; bw++)
                {
                    //if (bw > BwCount) break;
                    string strMessageValue = string.Empty;
                    curMeter = CLDC_DataCore.Const.GlobalUnit.Meter(bw);
                    /*表格显示中的表位序号是从1开始*/
                    ClientTable.SetCheckBoxValue(bw + 1, curMeter.YaoJianYn);
                    if (!curMeter.YaoJianYn)
                    {
                        continue;
                    }
                    if (CLDC_DataCore.Const.GlobalUnit.g_CUS.DnbData.ActiveItemID < 0 ||
                        CLDC_DataCore.Const.GlobalUnit.g_CUS.DnbData.CheckState == CLDC_Comm.Enum.Cus_CheckStaute.停止检定)
                    {
                        //参数录入状态下刷新时显示条形码
                        strMessageValue = curMeter.Mb_ChrTxm;
                    }
                    else
                    {
                        //数据验证
                        //if (curMeter.MeterPlan == null || curMeter.MeterPlan.CheckPlan == null) continue;
                        //if (CheckPlan.Count <= CLDC_DataCore.Const.GlobalUnit.g_CUS.DnbData.ActiveItemID) return;

                        strKey = "";
                        object curPlan = CheckPlan[CLDC_DataCore.Const.GlobalUnit.g_CUS.DnbData.ActiveItemID];
                        if (curPlan is CLDC_DataCore.Struct.StPlan_ZouZi)
                        {
                            strKey = ((CLDC_DataCore.Struct.StPlan_ZouZi)curPlan).PrjID;
                        }
                        CLDC_DataCore.Model.DnbModel.DnbInfo.MeterResult curResult = null;

                        #region 预热数据显示
                        if (curPlan is StPlan_YuRe)
                        {
                            strMessageValue = "预热中";
                        }
                        #endregion

                        #region 起动/启动数据
                        else if (curPlan is StPlan_QiDong)
                        {
                            strKey  = ((int)CLDC_Comm.Enum.Cus_MeterResultPrjID.起动试验).ToString("D3");
                            strKey += ((int)((StPlan_QiDong)curPlan).PowerFangXiang).ToString();

                            if (curMeter.MeterResults.ContainsKey(strKey))
                            {
                                curResult       = curMeter.MeterResults[strKey];
                                strMessageValue = curResult.Mr_chrRstValue;
                                isRead          = curResult.Mr_chrRstValue == CLDC_DataCore.Const.Variable.CTG_BuHeGe;
                            }
                            else
                            {
                                strMessageValue = "准备检定";
                            }
                        }
                        #endregion

                        #region 潜动试验显示
                        else if (curPlan is StPlan_QianDong)
                        {
                            strKey  = ((int)CLDC_Comm.Enum.Cus_MeterResultPrjID.潜动试验).ToString("000");
                            strKey += ((int)((StPlan_QianDong)curPlan).PowerFangXiang).ToString();

                            if (curMeter.MeterResults.ContainsKey(strKey))
                            {
                                curResult = curMeter.MeterResults[strKey];

                                strMessageValue = curResult.Mr_chrRstValue;
                                isRead          = curResult.Mr_chrRstValue == CLDC_DataCore.Const.Variable.CTG_BuHeGe;
                            }
                            else
                            {
                                strMessageValue = "准备检定";
                            }
                        }
                        #endregion

                        #region 基本误差/标准偏差
                        else if (curPlan is StPlan_WcPoint)
                        {
                            //strKey = "P_" + CLDC_DataCore.Const.GlobalUnit.g_CUS.DnbData.ActiveItemID;
                            StPlan_WcPoint _curPoint = (StPlan_WcPoint)curPlan;
                            CLDC_DataCore.Model.DnbModel.DnbInfo.MeterError curErroWc = null;
                            strKey = _curPoint.PrjID;
                            if (curMeter.MeterErrors.ContainsKey(strKey))
                            {
                                curErroWc = curMeter.MeterErrors[strKey];

                                string[] strErrorValue = curErroWc.Me_chrWcMore.Split('|');
                                if (strErrorValue.Length > 0)
                                {
                                    strMessageValue = strErrorValue[0];
                                }
                                if (curErroWc.Me_chrWcJl == CLDC_DataCore.Const.Variable.CTG_BuHeGe)
                                {
                                    isRead = true;
                                }
                            }
                        }

                        #endregion

                        #region ----------特殊检定-----------
                        else if (curPlan is StPlan_SpecalCheck)
                        {
                            //Comm.Struct.CheckPoint _curPoint = (Comm.Struct.CheckPoint)curPlan;
                            strKey = "P_" + CLDC_DataCore.Const.GlobalUnit.g_CUS.DnbData.ActiveItemID;

                            CLDC_DataCore.Model.DnbModel.DnbInfo.MeterSpecialErr curErroWc = null;
                            //strKey = _curPoint.PrjID;
                            if (curMeter.MeterSpecialErrs.ContainsKey(strKey))
                            {
                                curErroWc = curMeter.MeterSpecialErrs[strKey];

                                string[] strErrorValue = curErroWc.Mse_Wc.Split('|');
                                if (strErrorValue.Length > 0)
                                {
                                    strMessageValue = strErrorValue[0];
                                }
                                if (curErroWc.Mse_Result == CLDC_DataCore.Const.Variable.CTG_BuHeGe)
                                {
                                    isRead = true;
                                }
                            }
                        }
                        #endregion

                        #region 走字数据
                        else if (curPlan is StPlan_ZouZi)
                        {
                            CLDC_DataCore.Model.DnbModel.DnbInfo.MeterZZError curZZerror = null;
                            if (curMeter.MeterZZErrors.ContainsKey(strKey))
                            {
                                curZZerror = curMeter.MeterZZErrors[strKey];
                                if (m_VerifyStep == CLDC_Comm.Enum.Cus_stVerifyStep.走字试验录起码 || m_VerifyStep == CLDC_Comm.Enum.Cus_stVerifyStep.走字试验录止码)
                                {
                                    strMessageValue = "";
                                }
                                else if (m_VerifyStep == CLDC_Comm.Enum.Cus_stVerifyStep.走字试验录止码完毕)
                                {
                                    //止码
                                    strMessageValue = curZZerror.Mz_chrZiMa.ToString();
                                }
                                else if (m_VerifyStep == CLDC_Comm.Enum.Cus_stVerifyStep.走字试验录起码完毕)
                                {
                                    //起码
                                    strMessageValue = curZZerror.Mz_chrQiMa.ToString();
                                }
                                else if (m_VerifyStep == CLDC_Comm.Enum.Cus_stVerifyStep.计算误差完毕)
                                {
                                    //起码
                                    strMessageValue = curZZerror.Mz_chrWc.ToString();
                                }
                                else
                                {
                                    //中途进入
                                    if (curZZerror.Mz_chrZiMa != -1)
                                    {
                                        strMessageValue = curZZerror.Mz_chrZiMa.ToString();
                                    }
                                    else if (curZZerror.Mz_chrQiMa != -1)
                                    {
                                        strMessageValue = curZZerror.Mz_chrQiMa.ToString();
                                    }
                                    else
                                    {
                                        strMessageValue = "";
                                    }
                                }
                                if (curZZerror.Mz_chrJL == CLDC_DataCore.Const.Variable.CTG_BuHeGe)
                                {
                                    isRead = true;
                                }
                            }
                        }
                        #endregion

                        #region 多功能数据
                        else if (curPlan is CLDC_DataCore.Struct.StPlan_Dgn)
                        {
                            strMessageValue = "检定中";
                            CLDC_DataCore.Struct.StPlan_Dgn DgnPlan = (CLDC_DataCore.Struct.StPlan_Dgn)curPlan;
                        }
                        #endregion

                        #region 载波数据
                        else if (curPlan is StPlan_Carrier)
                        {
                            strMessageValue = "检定中";
                            StPlan_Carrier CarrierPlan = (StPlan_Carrier)curPlan;
                        }
                        #endregion

                        else
                        {
                            //MUSTDO:走字,多功能检定客户端显示还没有做
                        }
                    }
                    //更新到UI
                    ClientTable.SetTextValue(bw + 1, strMessageValue);
                    ClientTable.SetTextBackColorValue(bw + 1, isRead);
                }
            }
        }