/// <summary> /// 获取当前被检点的误差限 /// </summary> /// <param name="WcLimitName">误差限名称</param> /// <param name="GuiChengName">规程名称</param> /// <param name="Dj">等级1.0(2.0)</param> /// <param name="Hgq">是否经互感器接入</param> public void SetWcx(string WcLimitName , string GuiChengName , string Dj , bool Hgq) { string[] Arr_Dj = CLDC_DataCore.Function.Number.getDj(Dj); bool YouGong = true; if (((int)this.PowerFangXiang) > 2) { YouGong = false; } if (WcLimitName == "规程误差限") { string _Wcx = ""; if (this.Pc == 0) //误差 { _Wcx = CLDC_DataCore.DataBase.clsWcLimitDataControl.Wcx(this.PowerDianLiu , GuiChengName , (int)this.PowerFangXiang > 2 ? Arr_Dj[1] : Arr_Dj[0] , this.PowerYuanJian, this.PowerYinSu, Hgq, YouGong); this.SetWcx(float.Parse(_Wcx), float.Parse(string.Format("-{0}", _Wcx))); //设置误差限 } else //偏差 { _Wcx = CLDC_DataCore.DataBase.clsWcLimitDataControl.Pcx((int)this.PowerFangXiang > 2 ? Arr_Dj[1] : Arr_Dj[0]).ToString(); this.SetWcx(float.Parse(_Wcx), 0F); //设置误差限 } } else { CLDC_DataCore.DataBase.clsWcLimitDataControl _WcLimit = new CLDC_DataCore.DataBase.clsWcLimitDataControl(); CLDC_DataCore.DataBase.IDAndValue _WcLimitName = _WcLimit.getWcLimitNameValue(WcLimitName); CLDC_DataCore.DataBase.IDAndValue _GuiChengName = _WcLimit.getGuiChengValue(GuiChengName); CLDC_DataCore.DataBase.IDAndValue[] _DjValue = new CLDC_DataCore.DataBase.IDAndValue[2]; _DjValue[0] = _WcLimit.getDjValue(Arr_Dj[0]); _DjValue[1] = _WcLimit.getDjValue(Arr_Dj[1]); CLDC_DataCore.DataBase.IDAndValue _GlysValue = new CLDC_DataCore.DataBase.IDAndValue(); CLDC_DataCore.DataBase.IDAndValue _xIbValue = new CLDC_DataCore.DataBase.IDAndValue(); _GlysValue.Value = this.PowerYinSu; //功率因素字符串 _GlysValue.id = long.Parse(this.PrjID.Substring(3, 2)); //ID是从prjid中的第三位起,取2位 _xIbValue.Value = this.PowerDianLiu; //电流倍数字符串 _xIbValue.id = long.Parse(this.PrjID.Substring(5, 2)); //ID是从PrjID中的第5位起,取2位 if (this.Pc == 0) //基本误差 { string[] _Wcx = _WcLimit.GetWcx(_WcLimitName , _GuiChengName , !YouGong ? _DjValue[1] : _DjValue[0] , this.PowerYuanJian , Hgq , YouGong , _GlysValue , _xIbValue).Split('|'); this.SetWcx(float.Parse(_Wcx[0].Replace("+", "")), float.Parse(_Wcx[1])); //设置误差限 } else { string[] _Wcx = _WcLimit.getPcxValue(_WcLimitName, _GuiChengName, !YouGong ? _DjValue[1] : _DjValue[0]).Split('|'); this.SetWcx(float.Parse(_Wcx[0].Replace("+", "")), float.Parse(_Wcx[1])); //设置偏差限 } _WcLimit.Close(); _WcLimit = null; } }