Example #1
0
        /// <summary>
        /// 增加一个走字项目
        /// </summary>
        /// <param name="Glfx">功率方向</param>
        /// <param name="Method">试验方法(基本走字,还是标准表法)</param>
        /// <param name="Yj">元件</param>
        /// <param name="Glys">功率因素</param>
        /// <param name="xIb">电流倍数</param>
        /// <param name="Feilvstring">费率描述</param>
        /// <param name="ZuHeWc">是否做组合误差0不做,1做</param>
        /// <param name="Prj">具体走字项目列表</param>
        /// <returns></returns>
        public bool Add(Cus_PowerFangXiang Glfx
                        , Cus_ZouZiMethod Method
                        , Cus_PowerYuanJian Yj
                        , string Glys
                        , string xIb
                        , string Feilvstring
                        , string ZuHeWc
                        , List <StPlan_ZouZi.StPrjFellv> Prj)
        {
            StPlan_ZouZi _ZouZi = new StPlan_ZouZi();

            _ZouZi.PrjID       = getZouZiPrjID(Glfx, Yj, Glys, xIb);
            _ZouZi.xIb         = xIb;
            _ZouZi.Glys        = Glys;
            _ZouZi.FeiLvString = Feilvstring;
            _ZouZi.ZouZiMethod = Method;
            _ZouZi.ZuHeWc      = ZuHeWc;
            _ZouZi.ZouZiPrj    = Prj;
            if (_LstZouZi.Contains(_ZouZi))
            {
                return(false);
            }
            _LstZouZi.Add(_ZouZi);
            return(true);
        }
Example #2
0
 /// <summary>
 /// 移动走字项目
 /// </summary>
 /// <param name="i">需要移动到的列表位置</param>
 /// <param name="Item">项目结构体</param>
 public void Move(int i, StPlan_ZouZi Item)
 {
     i = i < 0 ? 0 : i;
     i = i >= _LstZouZi.Count ? _LstZouZi.Count - 1 : i;
     this.Remove(Item);
     _LstZouZi.Insert(i, Item);
     return;
 }
Example #3
0
 /// <summary>
 /// 根据项目移除
 /// </summary>
 /// <param name="Item">项目结构体</param>
 public void Remove(StPlan_ZouZi Item)
 {
     if (!_LstZouZi.Contains(Item))
     {
         return;
     }
     _LstZouZi.Remove(Item);
     return;
 }
Example #4
0
        /// <summary>
        /// 加载走字方案
        /// </summary>
        private bool  Load()
        {
            _LstZouZi = new List <StPlan_ZouZi>();
            string  _ErrorString = "";
            XmlNode _XmlNode     = clsXmlControl.LoadXml(_FAPath, out _ErrorString);

            if (_ErrorString != "")
            {
                return(false);
            }
            try
            {
                //Cus_ZouZiMethod _Method =(Cus_ZouZiMethod)int.Parse(clsXmlControl.getNodeAttributeValue(_XmlNode, "JdFS"));
                for (int _i = 0; _i < _XmlNode.ChildNodes.Count; _i++)
                {
                    StPlan_ZouZi _Item = new StPlan_ZouZi();
                    _Item.PrjID       = _XmlNode.ChildNodes[_i].Attributes["PrjID"].Value;                                 //项目ID
                    _Item.Glys        = _XmlNode.ChildNodes[_i].Attributes["Glys"].Value;                                  //功率因素
                    _Item.xIb         = _XmlNode.ChildNodes[_i].Attributes["xIb"].Value;                                   //电流倍数
                    _Item.FeiLvString = _XmlNode.ChildNodes[_i].Attributes["feilv"].Value;                                 //费率描述
                    _Item.ZouZiMethod = (Cus_ZouZiMethod)int.Parse(_XmlNode.ChildNodes[_i].Attributes["CheckType"].Value); //走字方法
                    _Item.ZuHeWc      = _XmlNode.ChildNodes[_i].Attributes["ZuHeWc"].Value + "";                           //是否做组合误差
                    if (_Item.ZuHeWc == "")
                    {
                        _Item.ZuHeWc = "0";                                //是否做组合误差
                    }
                    _Item.ZouZiPrj = new List <StPlan_ZouZi.StPrjFellv>(); //方案项目内容(走分费率)
                    for (int _j = 0; _j < _XmlNode.ChildNodes[_i].ChildNodes.Count; _j++)
                    {
                        XmlNode _ChildNode           = _XmlNode.ChildNodes[_i].ChildNodes[_j];
                        StPlan_ZouZi.StPrjFellv _Prj = new StPlan_ZouZi.StPrjFellv();
                        _Prj.FeiLv     = (Cus_FeiLv)int.Parse(_ChildNode.Attributes["feilv"].Value);
                        _Prj.StartTime = _ChildNode.Attributes["StartTime"].Value;
                        _Prj.ZouZiTime = _ChildNode.Attributes["Time"].Value;
                        _Item.ZouZiPrj.Add(_Prj);
                    }
                    _LstZouZi.Add(_Item);
                }
                return(true);
            }
            catch (Exception ex)
            {
                CLDC_DataCore.Function.ErrorLog.Write(ex);
                throw ex;
                //return false;
            }
        }
Example #5
0
        /// <summary>
        /// 加载方案项目
        /// </summary>
        /// <param name="FaItem">方案项目</param>
        public void LoadFA(CLDC_DataCore.Model.Plan.Plan_ZouZi FaItem)
        {
            Dgv_Data.Rows.Clear();

            base.FaName = FaItem.Name;

            try
            {
                Cmb_Fa.Text = FaItem.Name;
            }
            catch
            {
                Cmb_Fa.SelectedIndex = 0;
            }
            for (int _i = 0; _i < FaItem.Count; _i++)            //循环方案对象
            {
                StPlan_ZouZi _Obj = FaItem.getZouZiPrj(_i);      //取出一个方案项目
                string       zouziShortDecript = string.Empty;
                for (int i = 0; i < _Obj.ZouZiPrj.Count; i++)
                {
                    zouziShortDecript += _Obj.ZouZiPrj[i].FeiLv + _Obj.ZouZiPrj[i].ZouZiTime + " ";
                }
                //Dgv_Data.Rows[RowIndex].Cells[6].Value = zouziShortDecript;
                int RowIndex = Dgv_Data.Rows.Add();
                Dgv_Data.Rows[RowIndex].Cells[0].Value = _i + 1;
                ((DataGridViewComboBoxCell)Dgv_Data.Rows[RowIndex].Cells[1]).Value = _Obj.PowerFangXiang.ToString(); //功率方向
                ((DataGridViewComboBoxCell)Dgv_Data.Rows[RowIndex].Cells[2]).Value = _Obj.PowerYj.ToString();        //元件
                ((DataGridViewComboBoxCell)Dgv_Data.Rows[RowIndex].Cells[3]).Value = _Obj.Glys;                      //功率因素
                ((DataGridViewComboBoxCell)Dgv_Data.Rows[RowIndex].Cells[4]).Value = _Obj.xIb;                       //电流倍数
                ((DataGridViewComboBoxCell)Dgv_Data.Rows[RowIndex].Cells[5]).Value = _Obj.ZouZiMethod.ToString();    //走字方法
                Dgv_Data.Rows[RowIndex].Cells[6].Value = zouziShortDecript;
                Dgv_Data.Rows[RowIndex].Cells[6].Tag   = _Obj.ZouZiPrj;                                              //走字内容
                Dgv_Data.Rows[RowIndex].Cells[7].Value = _Obj.ZuHeWc == "0" ? false : true;                          //组合误差
                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[6].Value = CONST_NOTESTRING;
                Dgv_Data.Rows[RowIndex].Cells[Dgv_Data.Columns.Count - 1].Value           = CONST_ADD;
                Dgv_Data.Rows[RowIndex].Cells[Dgv_Data.Columns.Count - 1].Style.ForeColor = Color.Blue;
            }

            this.UpDownButtonState(0);    //设置上下移动按钮状态
        }
Example #6
0
        /// <summary>
        /// 保存走字方案到XML文档
        /// </summary>
        public void Save()
        {
            if (_LstZouZi.Count == 0)
            {
                return;
            }
            clsXmlControl _XmlNode = new clsXmlControl();

            _XmlNode.appendchild("", "ZZSY", "Name", Name);//, "JdFS", ((int)_LstZouZi[0].ZouZiMethod).ToString());
            for (int _i = 0; _i < _LstZouZi.Count; _i++)
            {
                StPlan_ZouZi _Item      = _LstZouZi[_i];
                XmlNode      _ChildNode = _XmlNode.appendchild(true
                                                               , "R"
                                                               , "PrjID"
                                                               , _Item.PrjID
                                                               , "GLFX"
                                                               , ((int)_Item.PowerFangXiang).ToString()
                                                               , "Yj"
                                                               , ((int)_Item.PowerYj).ToString()
                                                               , "Glys"
                                                               , _Item.Glys
                                                               , "xIb"
                                                               , _Item.xIb
                                                               , "feilv"
                                                               , _Item.FeiLvString
                                                               , "CheckType"
                                                               , ((int)_Item.ZouZiMethod).ToString()
                                                               , "ZuHeWc"
                                                               , _Item.ZuHeWc);
                for (int _j = 0; _j < _Item.ZouZiPrj.Count; _j++)
                {
                    StPlan_ZouZi.StPrjFellv _Prj = _Item.ZouZiPrj[_j];
                    _ChildNode.AppendChild(clsXmlControl.CreateXmlNode("C", "feilv", ((int)_Prj.FeiLv).ToString(), "StartTime", _Prj.StartTime, "Time", _Prj.ZouZiTime));
                }
            }
            _XmlNode.SaveXml(_FAPath);
            return;
        }
        /// <summary>
        /// 创建方案,这个创建方案仅仅是创建方案项目列表,在09-7-2日以后使用
        /// </summary>
        /// <returns></returns>
        public List <object> CreateFA(Model.DnbModel.DnbInfo.MeterBasicInfo mb_Info, ref string Ib, ref int Qs, ref string WcLimit)
        {
            List <object> CheckFaItem = new List <object>();

            if (_Plan.Count == 0)
            {
                return(CheckFaItem);
            }

            for (int i = 0; i < _Plan.Count; i++)
            {
                StFAGroup _Item = _Plan[i];
                switch (_Item.FAType)
                {
                case Cus_FAGroup.预先调试:                  //预热方案加载
                    Plan_PrepareTest _Pre = new Plan_PrepareTest(_TaiType, _Item.FAName);
                    for (int j = 0; j < _Pre.Count; j++)
                    {
                        CheckFaItem.Add(_Pre.getDgnPrj(j));
                    }
                    _Pre = null;
                    break;

                case Cus_FAGroup.预热试验:                  //预热方案加载
                    Plan_YuRe _YuRe = new Plan_YuRe(_TaiType, _Item.FAName);
                    for (int j = 0; j < _YuRe.Count; j++)
                    {
                        CheckFaItem.Add(_YuRe.getYuRePrj(j));
                    }
                    _YuRe = null;
                    break;

                case Cus_FAGroup.外观检查试验:                  //外观检查试验方案加载
                    Plan_WGJC _WGJC = new Plan_WGJC(_TaiType, _Item.FAName);
                    for (int j = 0; j < _WGJC.Count; j++)
                    {
                        CheckFaItem.Add(_WGJC.getWGJCPrj(j));
                    }
                    _WGJC = null;
                    break;

                case Cus_FAGroup.起动试验:                  //启动方案项目加载
                    Plan_QiDong _QiDong = new Plan_QiDong(_TaiType, _Item.FAName);
                    for (int j = 0; j < _QiDong.Count; j++)
                    {
                        StPlan_QiDong stQiD = _QiDong.getQiDongPrj(j);
                        stQiD.CheckTimeAndIb(mb_Info.GuiChengName, CLDC_DataCore.Const.GlobalUnit.Clfs,
                                             CLDC_DataCore.Const.GlobalUnit.U,
                                             mb_Info.Mb_chrIb,
                                             mb_Info.Mb_chrBdj,
                                             mb_Info.Mb_chrBcs,
                                             mb_Info.Mb_BlnZnq,
                                             mb_Info.Mb_BlnHgq);
                        CheckFaItem.Add(stQiD);
                    }
                    _QiDong = null;
                    break;

                case Cus_FAGroup.潜动试验:                  //潜动项目方案加载
                    Plan_QianDong _QianDong = new Plan_QianDong(_TaiType, _Item.FAName);
                    for (int j = 0; j < _QianDong.Count; j++)
                    {
                        StPlan_QianDong stQianD = _QianDong.getQianDongPrj(j);
                        stQianD.CheckTimeAndIb(mb_Info.GuiChengName,
                                               CLDC_DataCore.Const.GlobalUnit.Clfs,
                                               CLDC_DataCore.Const.GlobalUnit.U,
                                               mb_Info.Mb_chrIb,
                                               mb_Info.Mb_chrBdj,
                                               mb_Info.Mb_chrBcs,
                                               mb_Info.Mb_BlnZnq,
                                               mb_Info.Mb_BlnHgq);
                        CheckFaItem.Add(stQianD);
                    }
                    _QianDong = null;
                    break;

                case Cus_FAGroup.基本误差试验:              //基本误差试验方案加载
                    Plan_WcPoint _Wc = new Plan_WcPoint(_TaiType, _Item.FAName);

                    Ib = _Wc.Qscz;

                    Qs = _Wc.Czqs;

                    WcLimit = _Wc.CzWcLimit;

                    for (int j = 0; j < _Wc.Count; j++)
                    {
                        CheckFaItem.Add(_Wc.getCheckPoint(j));
                    }
                    _Wc = null;
                    break;

                case Cus_FAGroup.走字试验:              //走字试验方案项目加载
                    Plan_ZouZi _Zouzi = new Plan_ZouZi(_TaiType, _Item.FAName);
                    for (int j = 0; j < _Zouzi.Count; j++)
                    {
                        StPlan_ZouZi _ZouPrjPlan = _Zouzi.getZouZiPrj(j);
                        for (int z = 0; z < _ZouPrjPlan.ZouZiPrj.Count; z++)
                        {
                            CheckFaItem.Add(_ZouPrjPlan.getNewPlan(z));
                        }
                    }
                    _Zouzi = null;
                    break;

                case Cus_FAGroup.多功能试验:            //多功能试验方案项目加载
                    Plan_Dgn _Dgn = new Plan_Dgn(_TaiType, _Item.FAName);
                    for (int j = 0; j < _Dgn.Count; j++)
                    {
                        CheckFaItem.Add(_Dgn.getDgnPrj(j));
                    }
                    _Dgn = null;
                    break;

                case Cus_FAGroup.通讯协议检查试验:            //通讯协议检查试验
                    Plan_ConnProtocolCheck _Cpc = new Plan_ConnProtocolCheck(_TaiType, _Item.FAName);
                    for (int j = 0; j < _Cpc.Count; j++)
                    {
                        CheckFaItem.Add(_Cpc.getConnProtocolPrj(j));
                    }
                    _Dgn = null;
                    break;

                case Cus_FAGroup.影响量试验:
                    Plan_Specal _Specal = new Plan_Specal(_TaiType, _Item.FAName);
                    for (int j = 0; j < _Specal.Count; j++)
                    {
                        CheckFaItem.Add(_Specal.getSpecalPrj(j));
                    }
                    _Specal = null;
                    break;

                case Cus_FAGroup.载波试验:
                    Plan_Carrier _ZaiBo = new Plan_Carrier(_TaiType, _Item.FAName);
                    for (int j = 0; j < _ZaiBo.Count; j++)
                    {
                        CheckFaItem.Add(_ZaiBo.GetCarrierPrj(j));
                    }
                    _ZaiBo = null;
                    break;

                case Cus_FAGroup.误差一致性:
                    Plan_ErrAccord _ErrAccord = new Plan_ErrAccord(_TaiType, _Item.FAName);
                    for (int j = 0; j < _ErrAccord.Count; j++)
                    {
                        CheckFaItem.Add(_ErrAccord.getErrAccordPrj(j));
                    }
                    _ErrAccord = null;
                    break;

                case Cus_FAGroup.功耗试验:
                {
                    Plan_PowerConsume _PowerConsume = new Plan_PowerConsume(_TaiType, _Item.FAName);
                    for (int j = 0; j < _PowerConsume.Count; j++)
                    {
                        CheckFaItem.Add(_PowerConsume.getPowerConsumePrj(j));
                    }
                    _PowerConsume = null;
                }
                break;

                case Cus_FAGroup.冻结功能试验:
                    Plan_Freeze _Freeze = new Plan_Freeze(_TaiType, _Item.FAName);
                    for (int j = 0; j < _Freeze.Count; j++)
                    {
                        CheckFaItem.Add(_Freeze.getFreezePrj(j));
                    }
                    _Freeze = null;
                    break;

                case Cus_FAGroup.费控功能试验:
                    Plan_CostControl _CostControl = new Plan_CostControl(_TaiType, _Item.FAName);
                    for (int j = 0; j < _CostControl.Count; j++)
                    {
                        CheckFaItem.Add(_CostControl.getCostControlPrj(j));
                    }
                    _CostControl = null;
                    break;

                case Cus_FAGroup.智能表功能试验:
                    Plan_Function _Function = new Plan_Function(_TaiType, _Item.FAName);
                    for (int j = 0; j < _Function.Count; j++)
                    {
                        CheckFaItem.Add(_Function.getFunctionPrj(j));
                    }
                    _Function = null;
                    break;

                case Cus_FAGroup.事件记录试验:
                    Plan_EventLog _Eventlog = new Plan_EventLog(_TaiType, _Item.FAName);
                    for (int j = 0; j < _Eventlog.Count; j++)
                    {
                        CheckFaItem.Add(_Eventlog.getEventLogPrj(j));
                    }
                    _Eventlog = null;
                    break;

                case Cus_FAGroup.数据转发试验:
                    Plan_DataSendForRelay _DataSend = new Plan_DataSendForRelay(_TaiType, _Item.FAName);
                    for (int j = 0; j < _DataSend.Count; j++)
                    {
                        CheckFaItem.Add(_DataSend.getDataSendForRelay(j));
                    }
                    _DataSend = null;
                    break;

                case Cus_FAGroup.工频耐压试验:
                    Plan_Insulation planInsulation = new Plan_Insulation(_TaiType, _Item.FAName);
                    for (int j = 0; j < planInsulation.Count; j++)
                    {
                        CheckFaItem.Add(planInsulation.GetPlan(j));
                    }
                    planInsulation = null;
                    break;

                case Cus_FAGroup.红外数据比对试验:
                    Plan_Infrared planInfrared = new Plan_Infrared(_TaiType, _Item.FAName);
                    for (int j = 0; j < planInfrared.Count; j++)
                    {
                        CheckFaItem.Add(planInfrared.GetCarrierPrj(j));
                    }
                    planInfrared = null;
                    break;

                case Cus_FAGroup.负荷记录试验:
                    Plan_LoadRecord planA = new Plan_LoadRecord(_TaiType, _Item.FAName);
                    for (int j = 0; j < planA.Count; j++)
                    {
                        CheckFaItem.Add(planA.GetCurrentPrj(j));
                    }
                    planA = null;
                    break;
                }
            }
            return(CheckFaItem);
        }