public void CleanChildren()
 {
     for (int i = ChildTreeItems.Count - 1; i > -1; i--)
     {
         ChildTreeItems.RemoveAt(i);
     }
 }
Exemple #2
0
        /// <summary>
        /// 加载节点,第一次使用
        /// </summary>
        public override void AddChild()
        {
            ChildTreeItems.Clear();
            if (NodeType != TypeOfTabTreeNode.IsGrp)
            {
                return;
            }

            if (!Sr.EquipmentInfoHolding.Services.ServicesGrpMulitInfoHold.ItemsMultGrp.ContainsKey(NodeId))
            {
                return;
            }

            var ntsss =
                ServicesGrpSingleInfoHold.GetRtuOrGrpIndex(
                    Sr.EquipmentInfoHolding.Services.ServicesGrpMulitInfoHold.ItemsMultGrp[NodeId].LstTml);

            foreach (var t in ntsss)
            {
                if (!Sr.EquipmentInfoHolding.Services.EquipmentDataInfoHold.InfoItems.ContainsKey(t))
                {
                    continue;
                }
                var ff = Sr.EquipmentInfoHolding.Services.EquipmentDataInfoHold.InfoItems[t];
                if (ff == null || ff.EquipmentType != WjParaBase.EquType.Rtu)
                {
                    continue;
                }
                ChildTreeItems.Add(new TreeNodeItemTmlViewModel(this, ff));
            }
            foreach (var f in ChildTreeItems)
            {
                f.GetChildRtuCount();
            }
        }
 public void LoadChildren()
 {
     ChildTreeItems.Clear();
     if (MenuId == 0 ||
         (MenuId >= MenuIdControlAssign.MenuFileGroupIdMin &&
          MenuId <= MenuIdControlAssign.MenuFileGroupIdMax))
     {
         var f = ServerInstanceRelation.GetInstanceRelationsByfatherId(this.InstanceId, MenuId);
         foreach (var t in f)
         {
             if (t.Id >= MenuIdControlAssign.MenuIdMin && t.Id <= MenuIdControlAssign.MenuIdMax)
             {
                 // var eng = I36N.Services.I36N.ConvertByCoding(t.Id.ToString());//
                 string name = t.Name;
                 //if (!eng.Equals("Missing")) name = eng;
                 var tt = MenuComponentHolding.GetMenuItemById(t.Id);
                 if (tt == null)
                 {
                     continue;
                 }
                 ChildTreeItems.Add(new MenuTreeItemViewModel(this, this.InstanceId, t.Id)
                 {
                     Name = name
                 });
             }
             else
             {
                 ChildTreeItems.Add(new MenuTreeItemViewModel(this, this.InstanceId, t.Id)
                 {
                     Name = t.Name
                 });
             }
         }
     }
 }
        public TreeGrpNodes(string grpName, List <int> rtulst)
        {
            IsGroup    = true;
            AreaId     = 0;
            RtuOrGrpId = 0;

            Msg = "分组";

            RtuOrGrpName = grpName;

            PhyIdMsg = PhyId + "(" + Msg + ")";

            Has3005 = false;
            Has3006 = false;

            FristLoadTimeTableInfo(true, Has3005);


            //清空子节点
            ChildTreeItems.Clear();


            //排序
            var rtuLst = Sr.EquipmentInfoHolding.Services.ServicesGrpSingleInfoHold.GetRtuOrGrpIndex(rtulst);

            //添加节点
            foreach (var g in rtuLst)
            {
                AreaId = Wlst.Sr.EquipmentInfoHolding.Services.AreaInfoHold.MySlef.GetAreaThatRtuIn(g);
                ChildTreeItems.Add(new TreeGrpNodes(AreaId, g, false));
            }
        }
        /// <summary>
        /// 当分组信息发生变化的时候  增量式重新加载节点
        /// </summary>
        public void UpdateGroup()
        {
            var info = Wlst.Sr.EquipmentInfoHolding.Services.ServicesGrpMultiInfoHoldNew.GetGroupInfomation(AreaId, NodeId);

            if (info == null)
            {
                this.ChildTreeItems.Clear();
                if (_father != null)
                {
                    _father.ChildTreeItems.Remove(this);
                }
                return;
            }

            this.NodeName = info.GroupName;


            //node delete
            for (int i = this.ChildTreeItems.Count - 1; i >= 0; i--)
            {
                if (ChildTreeItems[i].NodeType != TypeOfTabTreeNode.IsTml)
                {
                    this.ChildTreeItems.RemoveAt(i);
                    continue;
                }

                if (info.LstTml.Contains(ChildTreeItems[i].NodeId) == false ||
                    !Sr.EquipmentInfoHolding.Services.EquipmentDataInfoHold.InfoItems.ContainsKey(
                        ChildTreeItems[i].NodeId))
                {
                    this.ChildTreeItems.RemoveAt(i);
                }
            }

            //tml  add and update
            var exist = (from t in ChildTreeItems select t.NodeId).ToList();

            foreach (var t in info.LstTml)
            {
                if (exist.Contains(t))
                {
                    continue;
                }

                var para = Sr.EquipmentInfoHolding.Services.EquipmentDataInfoHold.GetInfoById(t);
                if (para == null || para.EquipmentType != WjParaBase.EquType.Rtu)
                {
                    continue;
                }

                if (para.RtuFid != 0)
                {
                    continue;
                }
                ChildTreeItems.Add(new TreeNodeItemTmlViewModel(this, para));
            }
        }
Exemple #6
0
            public void AddChild(GroupItemsInfo.GroupItem gi)
            {
                if (CurrentSelectArea == null)
                {
                    return;
                }
                var t = new TreeItemViewModel(null, CurrentSelectArea.Value, gi, true);

                ChildTreeItems.Add(t);
            }
Exemple #7
0
            public void LoadItems()
            {
                dtSnd = DateTime.Now.AddDays(-1);
                //_getGrpsInfoForUse = new GetGrpsSingelInfoForUse();

                int maxidx = 1;

                ChildTreeItems.Clear();
                if (CurrentSelectArea == null)
                {
                    return;
                }
                var area = Wlst.Sr.EquipmentInfoHolding.Services.AreaInfoHold.MySlef.GetAreaInfo(CurrentSelectArea.Value);

                if (area == null)
                {
                    return;
                }
                var grps =
                    Wlst.Sr.EquipmentInfoHolding.Services.ServicesGrpSingleInfoHold.GrpInfoList(CurrentSelectArea.Value);

                if (grps.Count > 0)
                {
                    var grpsTmp = (from t in grps orderby t.GroupId select t).ToList();
                    foreach (var f in grpsTmp)
                    {
                        this.AddChild(f);
                    }
                    //对分组子节点 进行数据加载
                    foreach (var t in ChildTreeItems)
                    {
                        if (t.NodeType != TreeNodeType.IsGrp)
                        {
                            continue;
                        }
                        t.AddChild();
                    }
                }

                LoadTmlsInfo();
                ReLoadTmlsGrpsBelong();

                foreach (var f in this.ChildTreeItems)
                {
                    if (f.NodeId >= maxidx)
                    {
                        maxidx = f.NodeId + 1;
                    }
                    f.GetChildRtuCount();
                }
                AddMaxId = maxidx;
            }
Exemple #8
0
        /// <summary>
        /// 加载节点,第一次使用
        /// </summary>
        public void AddChild()
        {
            ChildTreeItems.Clear();

            ////添加分组到子节点中
            var tu = new Tuple <int, int>(AreaId, NodeId);
            //if (!Sr.EquipmentInfoHolding.Services.ServicesGrpSingleInfoHold.InfoGroups.ContainsKey(tu))//EquipmentGroupInfoHolding.Services.ServicesGrpSingleInfoHold.InfoGroups.ContainsKey(NodeId))
            //    return;

            //foreach (var t in Sr.EquipmentInfoHolding.Services.ServicesGrpSingleInfoHold.InfoGroups.Keys)
            //{
            //    if (t.Item1 != AreaId) continue;
            //        ChildTreeItems.Add(new TreeNodeGroup(t.Item2,t.Item1));
            //}

            //var atttmp = Sr.EquipmentInfoHolding.Services.ServicesGrpSingleInfoHold.GetRtuOrGrpIndex(Sr.EquipmentInfoHolding.Services.ServicesGrpSingleInfoHold.InfoGroups[tu].LstGrp);
            //foreach (
            //    var t in
            //       atttmp)
            //{
            //    var tu1 = new Tuple<int, int>(AreaId, NodeId);
            //    if (!Sr.EquipmentInfoHolding.Services.ServicesGrpSingleInfoHold.InfoGroups.ContainsKey(tu1))
            //        continue;
            //    ChildTreeItems.Add(new TreeNodeGroup(t));
            //}

            //加载终端节点

            //var ordtml =
            //  (from t in
            //       Sr.EquipmentGroupInfoHolding.Services.ServicesGrpSingleInfoHold.GrpInfoDictionary[NodeId].LstTml
            //   orderby t ascending
            //   select t).ToList();
            var ordtml = Sr.EquipmentInfoHolding.Services.ServicesGrpSingleInfoHold.GetRtuOrGrpIndex(Sr.EquipmentInfoHolding.Services.ServicesGrpSingleInfoHold.InfoGroups[tu].LstTml);

            foreach (
                var t in ordtml)
            {
                if (!Sr.EquipmentInfoHolding.Services.EquipmentDataInfoHold.InfoItems.ContainsKey(t))
                {
                    continue;
                }
                var f =
                    Sr.EquipmentInfoHolding.Services.EquipmentDataInfoHold.InfoItems[t] as Sr.EquipmentInfoHolding.Model.Wj3005Rtu;
                if (f == null)
                {
                    continue;
                }

                ChildTreeItems.Add(new TreeNodeRtu(f.RtuId));
            }
        }
        //public TreeGroupNodeLoacl()
        //{
        //    IsGroup = true;
        //    IsShowSelectedCheckBox = false;
        //}

        public TreeGroupNodeLoacl(GroupInformation grp)
        {
            AreaId = grp.AreaId;
            if (Sr.EquipmentInfoHolding.Services.AreaInfoHold.MySlef.AreaInfo.ContainsKey(AreaId))
            {
                AreaName = Sr.EquipmentInfoHolding.Services.AreaInfoHold.MySlef.AreaInfo[AreaId].AreaName;
            }
            else
            {
                if (AreaId == -1)
                {
                    AreaName = "跨区域分组";
                }
                else
                {
                    AreaName = grp.AreaId + " ";
                }
            }

            NodeName = grp.GroupId + "-" + grp.GroupName;


            Visi = Visibility.Visible;
            //_father = mvvmfather;
            IsGroup = true;
            IsShowSelectedCheckBox = false;
            NodeId     = grp.GroupId;
            PhysicalId = grp.GroupId;


            //加载终端节点
            var ntssss = Sr.EquipmentInfoHolding.Services.ServicesGrpSingleInfoHold.GetRtuOrGrpIndex(grp.LstTml);

            foreach (
                var t in ntssss)
            {
                if (!Sr.EquipmentInfoHolding.Services.EquipmentDataInfoHold.InfoItems.ContainsKey(t))
                {
                    continue;
                }
                var f = Sr.EquipmentInfoHolding.Services.EquipmentDataInfoHold.InfoItems[t];
                if (f == null || f.EquipmentType != WjParaBase.EquType.Rtu)
                {
                    continue;
                }


                ChildTreeItems.Add(new TreeTmlNode(this, f.RtuId));
            }
        }
Exemple #10
0
        /// <summary>
        /// 加载节点,第一次使用
        /// </summary>
        public override void AddChild()
        {
            ChildTreeItems.Clear();
            if (!IsListTreeNodeGroup)
            {
                return;
            }
            //group

            //添加分组到子节点中
            if (!Sr.EquipmentGroupInfoHolding.Services.ServicesGrpSingleInfoHold.GrpInfoDictionary.ContainsKey(NodeId))
            {
                return;
            }
            var atttmp = Sr.EquipmentGroupInfoHolding.Services.ServicesGrpSingleInfoHold.GetRtuOrGrpIndex(Sr.EquipmentGroupInfoHolding.Services.ServicesGrpSingleInfoHold.GrpInfoDictionary[NodeId].LstGrp);

            foreach (
                var t in atttmp)
            {
                if (!Sr.EquipmentGroupInfoHolding.Services.ServicesGrpSingleInfoHold.GrpInfoDictionary.ContainsKey(t))
                {
                    continue;
                }
                ChildTreeItems.Add(new ListTreeGroupNode(this, t));
            }
            //加载终端节点
            //var ordtml =
            //    (from t in
            //         Sr.EquipmentGroupInfoHolding.Services.ServicesGrpSingleInfoHold.GrpInfoDictionary[NodeId].LstTml
            //     orderby t ascending
            //     select t).ToList();
            var ordtml = Sr.EquipmentGroupInfoHolding.Services.ServicesGrpSingleInfoHold.GetRtuOrGrpIndex(Sr.EquipmentGroupInfoHolding.Services.ServicesGrpSingleInfoHold.GrpInfoDictionary[NodeId].LstTml);


            foreach (var t in ordtml)
            {
                if (!Sr.EquipmentInfoHolding.Services.ServicesEquipemntInfoHold.EquipmentInfoDictionary.ContainsKey(t))
                {
                    continue;
                }
                var f =
                    Sr.EquipmentInfoHolding.Services.ServicesEquipemntInfoHold.EquipmentInfoDictionary[t] as
                    IIRtuParaWork;
                if (f == null)
                {
                    continue;
                }
                ChildTreeItems.Add(new ListTreeTmlNode(this, f.RtuId));
            }
        }
        public override void AddChild()  //将nodes中属于该分组下的节点增加上
        {
            ChildTreeItems.Clear();

            var rtuLst = new List <int>();

            if (NodeId == 0)
            {
                rtuLst   = Wlst.Sr.EquipmentInfoHolding.Services.ServicesGrpSingleInfoHold.GetRtuNotInAnyGroup(AreaId);
                NodeName = AreaId + "-特殊终端";
            }
            else
            {
                var grp = Wlst.Sr.EquipmentInfoHolding.Services.ServicesGrpSingleInfoHold.GetGroupInfomation(AreaId,
                                                                                                             NodeId);
                if (grp == null)
                {
                    return;
                }
                NodeName = AreaId + "-" + grp.GroupName;
                rtuLst   = grp.LstTml;
            }
            if (rtuLst.Count == 0)
            {
                return;
            }

            //加载终端节点
            var ntssss = Sr.EquipmentInfoHolding.Services.ServicesGrpSingleInfoHold.GetRtuOrGrpIndex(rtuLst);

            foreach (
                var t in ntssss)
            {
                if (!Sr.EquipmentInfoHolding.Services.EquipmentDataInfoHold.InfoItems.ContainsKey(t))
                {
                    continue;
                }
                var f = Sr.EquipmentInfoHolding.Services.EquipmentDataInfoHold.InfoItems[t];
                if (f == null || f.EquipmentType != WjParaBase.EquType.Rtu)
                {
                    continue;
                }

                //if (TreeTmlNode.RegisterTmlNode.ContainsKey(f.RtuId))
                //    ChildTreeItems.Add(TreeTmlNode.RegisterTmlNode[f.RtuId]);
                //else
                ChildTreeItems.Add(new TreeTmlNode(this, f.RtuId));
            }
        }
 public void UpdateNoUsedShow()
 {
     //foreach (var t in lst)
     //{
     //    if(NodeId==t.Item1)
     //    {
     if (ChildTreeItems.Count > 0)
     {
         ChildTreeItems.Clear();
     }
     ThisNodeAddPartsNode();
     GetUsedCount();
     //    }
     //}
 }
 private void ExAddFolderFolder()
 {
     if (MenuId == 0 ||
         (MenuId >= MenuIdControlAssign.MenuFileGroupIdMin &&
          MenuId <= MenuIdControlAssign.MenuFileGroupIdMax))
     {
         int intAvlId = ServerInstanceRelation.GetMaxAviableMenuFileId();
         ServerInstanceRelation.AddMenuInstanceRelation(MenuId, intAvlId, 0, "New File", this.InstanceId);
         ChildTreeItems.Add(new MenuTreeItemViewModel(this, this.InstanceId, intAvlId)
         {
             Name = "New File"
         });
         this.SetSelectNode(MenuId, intAvlId);
     }
 }
        private void LoadConGrpInfo()
        {
            if (NodeType != NodeTypeEnmu.ConGrp)
            {
                return;
            }
            NodeIds = string.Format("{0:D3}", NodeId);



            var sluinfo =
                Wlst.Sr.EquipmentInfoHolding.Services.EquipmentDataInfoHold.GetInfoById(Sluid);

            var cons = sluinfo as  Wlst.Sr.EquipmentInfoHolding.Model.Wj2090Slu;

            if (cons == null)
            {
                return;
            }
            var lstcons = (from t in cons.WjSluCtrls select t.Value.CtrlPhyId).ToList();



            if (Set.Wj2090TreeSetLoad.Myself.IsShowConOnNodeSelected)
            {
                foreach (var g in cons.WjSluCtrlGrps.Values)
                {
                    if (g.GrpId == NodeId)
                    {
                        NodeName = g.GrpName;
                        this.ChildTreeItems.Clear();
                        foreach (var f in g.CtrlPhyLst)
                        {
                            if (!lstcons.Contains(f))
                            {
                                continue;
                            }
                            ChildTreeItems.Add(new TreeNodeSlu(f, NodeTypeEnmu.ConNode, Sluid));
                        }
                        NodeName = g.GrpName + " [" + this.ChildTreeItems.Count + "个]";
                        break;
                    }
                }
            }
        }
        /// <summary>
        /// 加载节点,第一次使用
        /// </summary>
        public void AddChild()
        {
            ChildTreeItems.Clear();
            var ordtml = new List <int>();

            if (NodeId == 0)
            {
                var grp = Wlst.Sr.EquipmentInfoHolding.Services.ServicesGrpSingleInfoHold.GetRtuNotInAnyGroup(AreaId);
                if (grp.Count == 0)
                {
                    return;
                }
                this.NodeName = "特殊终端";
                ordtml        = Wlst.Sr.EquipmentInfoHolding.Services.ServicesGrpSingleInfoHold.GetRtuOrGrpIndex(grp);
            }
            else
            {
                var grp = Wlst.Sr.EquipmentInfoHolding.Services.ServicesGrpSingleInfoHold.GetGroupInfomation(AreaId, NodeId);
                if (grp == null)
                {
                    return;
                }
                this.NodeName = grp.GroupName;
                ordtml        = Sr.EquipmentInfoHolding.Services.ServicesGrpSingleInfoHold.GetRtuOrGrpIndex(grp.LstTml);
            }


            //加载终端节点



            foreach (var t in ordtml)
            {
                if (!Sr.EquipmentInfoHolding.Services.EquipmentDataInfoHold.InfoItems.ContainsKey(t))
                {
                    continue;
                }
                if (Sr.EquipmentInfoHolding.Services.EquipmentDataInfoHold.InfoItems[t].EquipmentType !=
                    WjParaBase.EquType.Rtu)
                {
                    continue;
                }
                ChildTreeItems.Add(new ListTreeTmlNode(t));
            }
        }
        public override void OnNodeSelectActive()
        {
            if (ChildTreeItems.Count > 0)
            {
                ChildTreeItems.Clear();
            }
            ThisNodeAddPartsNode();
            IsExpanded        = true;
            CurrentSelectNode = this;

            var args = new PublishEventArgs
            {
                EventType = PublishEventType.Core,
                EventId   = Sr.EquipmentInfoHolding.Services.EventIdAssign.EquipmentSelected,
            };

            args.AddParams(NodeId);

            EventPublish.PublishEvent(args);
        }
        public void LoadChildren(ObservableCollection <IIMenuItem> lst, int _menuId)
        {
            ChildTreeItems.Clear();

            if (_menuId <= MenuIdControlAssign.MenuFileGroupIdMin) //File)
            {
                return;
            }

            foreach (var t in lst)
            {
                if (t.Id >= MenuIdControlAssign.MenuFileGroupIdMin)  //File)
                //menu id
                {
                    if (t.Visibility != Visibility.Visible)
                    {
                        continue;
                    }
                    var tmp = new ShortCutTreeItemViewModel(this, t.Id, 0)
                    {
                        Name = t.Text
                    };
                    tmp.LoadChildren(t.CmItems, t.Id);
                    if (tmp.ChildTreeItems.Count > 0)
                    {
                        ChildTreeItems.Add(tmp);
                    }
                }
                else
                {
                    if (t.Visibility != Visibility.Visible)
                    {
                        continue;
                    }
                    ChildTreeItems.Add(new ShortCutTreeItemViewModel(this, this.InstanceId, t.Id)
                    {
                        Name = t.Text
                    });
                }
            }
        }
        //加载终端节点
        private void LoadNode()
        {
            ChildTreeItems.Clear();
            if (Sr.EquipmentGroupInfoHolding.Services.ServicesGrpSingleInfoHold.GrpInfoDictionary.ContainsKey(0))
            {
                var tmp    = Sr.EquipmentGroupInfoHolding.Services.ServicesGrpSingleInfoHold.GrpInfoDictionary[0].LstGrp;
                var atttmp = Sr.EquipmentGroupInfoHolding.Services.ServicesGrpSingleInfoHold.GetRtuOrGrpIndex(tmp);

                // var atttmp = (from t in tmp orderby t ascending select t).ToList();
                foreach (var t in atttmp)
                {
                    if (
                        !Sr.EquipmentGroupInfoHolding.Services.ServicesGrpSingleInfoHold.GrpInfoDictionary.ContainsKey(t))
                    {
                        continue;
                    }
                    this.ChildTreeItems.Add(new ListTreeGroupNode(null, t));
                }
            }

            AddSepcialTmltoTree();
        }
Exemple #19
0
        /// <summary>
        /// 加载节点,第一次使用
        /// </summary>
        public override void AddChild()
        {
            ChildTreeItems.Clear();

            //添加分组到子节点中
            if (!Sr.EquipmentGroupInfoHolding.Services.ServicesGrpSingleInfoHold.GrpInfoDictionary.ContainsKey(NodeId))
            {
                return;
            }
            foreach (
                var t in
                Sr.EquipmentGroupInfoHolding.Services.ServicesGrpSingleInfoHold.GrpInfoDictionary[NodeId].LstGrp)
            {
                if (!Sr.EquipmentGroupInfoHolding.Services.ServicesGrpSingleInfoHold.GrpInfoDictionary.ContainsKey(t))
                {
                    continue;
                }
                ChildTreeItems.Add(new LeftTreeGroupNode(this, t));
            }
            //加载终端节点
            foreach (
                var t in
                Sr.EquipmentGroupInfoHolding.Services.ServicesGrpSingleInfoHold.GrpInfoDictionary[NodeId].LstTml)
            {
                if (!Sr.EquipmentInfoHolding.Services.ServicesEquipemntInfoHold.EquipmentInfoDictionary.ContainsKey(t))
                {
                    continue;
                }
                var f =
                    Sr.EquipmentInfoHolding.Services.ServicesEquipemntInfoHold.EquipmentInfoDictionary[t] as
                    IIRtuParaWork;
                if (f == null)
                {
                    continue;
                }

                ChildTreeItems.Add(new LeftTreeTmlNode(this, f.RtuId));
            }
        }
Exemple #20
0
        public override void AddChild()  //将nodes中属于该分组下的节点增加上
        {
            ChildTreeItems.Clear();

            //添加分组到子节点中
            if (!Sr.EquipmentGroupInfoHolding.Services.ServicesGrpSingleInfoHold.GrpInfoDictionary.ContainsKey(NodeId))
            {
                return;
            }
            foreach (
                var t in
                Sr.EquipmentGroupInfoHolding.Services.ServicesGrpSingleInfoHold.GrpInfoDictionary[NodeId].LstGrp)
            {
                if (!Sr.EquipmentGroupInfoHolding.Services.ServicesGrpSingleInfoHold.GrpInfoDictionary.ContainsKey(t))
                {
                    continue;
                }
                if (ControlCenterViewModel.GetChickGroupInfo().ContainsKey(t))
                {
                    ChildTreeItems.Add(new RightTreeGroupNode(this, t));
                }
            }
            //加载终端节点
            foreach (var t in ControlCenterViewModel.GetChickGroupInfo()[NodeId].LstTml)
            {
                if (!Sr.EquipmentInfoHolding.Services.ServicesEquipemntInfoHold.EquipmentInfoDictionary.ContainsKey(t))
                {
                    continue;
                }
                var f = Sr.EquipmentInfoHolding.Services.ServicesEquipemntInfoHold.EquipmentInfoDictionary[t] as IIRtuParaWork;
                if (f == null)
                {
                    continue;
                }

                ChildTreeItems.Add(new RightTreeTmlNode(this, f.RtuId));
            }
        }
        public TreeGroupNodeTemp(List <int> rtus, string grpName)
        {
            AreaId = 0;

            AreaName = grpName;

            NodeName = grpName;


            Visi = Visibility.Visible;
            //_father = mvvmfather;
            IsGroup = true;
            IsShowSelectedCheckBox = false;
            NodeId     = 0;
            PhysicalId = 0;
            IsExpanded = true;

            //加载终端节点
            var ntssss = Sr.EquipmentInfoHolding.Services.ServicesGrpSingleInfoHold.GetRtuOrGrpIndex(rtus);

            foreach (
                var t in ntssss)
            {
                if (!Sr.EquipmentInfoHolding.Services.EquipmentDataInfoHold.InfoItems.ContainsKey(t))
                {
                    continue;
                }
                var f = Sr.EquipmentInfoHolding.Services.EquipmentDataInfoHold.InfoItems[t];
                if (f == null || f.EquipmentType != WjParaBase.EquType.Rtu)
                {
                    continue;
                }


                ChildTreeItems.Add(new TreeTmlNode(this, f.RtuId));
            }
        }
        public void LoadChildren()
        {
            ChildTreeItems.Clear();

            if (_menuId <= MenuIdControlAssign.MenuIdMax && _menuId >= MenuIdControlAssign.MenuIdMin)
            {
                return;
            }
            else if (MenuId == 0 || (_menuId <= MenuIdControlAssign.MenuFileGroupIdMax &&
                                     _menuId >= MenuIdControlAssign.MenuFileGroupIdMin)) //file
            {
                var f = ServerInstanceRelation.GetInstanceRelationsByfatherId(this.InstanceId, MenuId);
                foreach (var t in f)
                {
                    if (t.Id <= MenuIdControlAssign.MenuIdMax && t.Id >= MenuIdControlAssign.MenuIdMin)
                    //menu id
                    {
                        var fff = MenuComponentHolding.GetMenuItemById(t.Id);
                        if (fff != null)
                        {
                            ChildTreeItems.Add(new ShortCutTreeItemViewModel(this, this.InstanceId, t.Id)
                            {
                                Name = t.Name
                            });
                        }
                    }
                    else
                    {
                        ChildTreeItems.Add(new ShortCutTreeItemViewModel(this, this.InstanceId, t.Id)
                        {
                            Name = t.Name
                        });
                    }
                }
            }
        }
Exemple #23
0
        //加载终端节点
        private void LoadNode()
        {
            ChildTreeItems.Clear();
            var lssst = (from t in Sr.EquipmentInfoHolding.Services.ServicesEquipemntInfoHold.MainEquipmentInfoDictionary
                         orderby t.Key ascending
                         select t).ToList();

            foreach (var t in lssst)
            {
                var lst = Sr.EquipmentInfoHolding.Services.ServicesEquipemntInfoHold.GetMainEquipmentAttachedLst(t.Key);
                foreach (var g in lst)
                {
                    if (g > 1100000 && g < 1199999)
                    {
                        var info = new TreeNodeTmlViewModel(null, t.Value);
                        ChildTreeItems.Add(info);
                        info.UpdateTmlStateInfomation();
                        break;
                    }
                }
            }
            foreach (var t in ChildTreeItems)
            {
                if (!UpdateChildTreeItems.ContainsKey(t.NodeId))
                {
                    UpdateChildTreeItems.Add(t.NodeId, t);
                }
                foreach (var g in t.ChildTreeItems)
                {
                    if (!UpdateChildTreeItems.ContainsKey(g.NodeId))
                    {
                        UpdateChildTreeItems.Add(g.NodeId, g);
                    }
                }
            }
        }
        //public TreeGroupNode()
        //{


        //    AreaId = 0;
        //    AreaName = "查询结果";


        //    Visi = Visibility.Visible;
        //    //_father = mvvmfather;
        //    IsGroup = true;
        //    IsShowSelectedCheckBox = false;
        //    NodeId = 0;
        //    PhysicalId = 0;

        //    foreach (var g in OperatorType)
        //    {
        //        g.SelfNode = this;
        //    }

        //}



        public override void AddChild()  //将nodes中属于该分组下的节点增加上
        {
            ChildTreeItems.Clear();

            var rtuLst = new List <int>();

            if (NodeId == 0)
            {
                rtuLst = Wlst.Sr.EquipmentInfoHolding.Services.ServicesGrpSingleInfoHold.GetRtuNotInAnyGroup(AreaId);
                if (areas.Count > 1)
                {
                    // NodeName =AreaId + "-特殊终端";
                    NodeName = "特殊终端";
                }
                else
                {
                    NodeName = "特殊终端";
                }
            }
            else if (NodeId == -1)
            {
                foreach (var tt in areas)
                {
                    rtuLst.AddRange(Wlst.Sr.EquipmentInfoHolding.Services.AreaInfoHold.MySlef.GetRtuInArea(tt));
                }
                if (areas.Count > 1)
                {
                    // NodeName =AreaId + "-特殊终端";
                    NodeName = "全部终端";
                }
                else
                {
                    NodeName = "全部终端";
                }
            }
            else
            {
                var grp = Wlst.Sr.EquipmentInfoHolding.Services.ServicesGrpSingleInfoHold.GetGroupInfomation(AreaId,
                                                                                                             NodeId);
                if (grp == null)
                {
                    return;
                }
                if (areas.Count > 1)
                {
                    // NodeName = AreaId + "-" + grp.GroupName;
                    NodeName = grp.GroupName;
                }
                else
                {
                    NodeName = grp.GroupName;
                }
                rtuLst = grp.LstTml;
            }
            if (rtuLst.Count == 0)
            {
                return;
            }

            rtuLst = (from t in rtuLst orderby t select t).ToList();

            //加载终端节点
            var ntssss = Sr.EquipmentInfoHolding.Services.ServicesGrpSingleInfoHold.GetRtuOrGrpIndex(rtuLst);

            foreach (
                var t in ntssss)
            {
                if (!Sr.EquipmentInfoHolding.Services.EquipmentDataInfoHold.InfoItems.ContainsKey(t))
                {
                    continue;
                }
                var f = Sr.EquipmentInfoHolding.Services.EquipmentDataInfoHold.InfoItems[t];
                if (f == null || f.EquipmentType != WjParaBase.EquType.Slu)
                {
                    continue;
                }

                ChildTreeItems.Add(new SluInfo(this, f.RtuId));//this, f.RtuId
            }
        }
 public void OnUserHideOrClosing()
 {
     ChildTreeItems.Clear();
     Names.Clear();
 }
        //private void UpdateTerminalStateInfo(TerminalRunningInfomation basicTmlInfomation)
        //{
        //    //base.NodeModel = basicTmlInfomation.Model;
        //    if (!basicTmlInfomation.IsConnected)
        //    {
        //        ForeGround = "#FFA9A9A9";
        //        BackGround = "#FFFF1493";
        //        ImagesIcon = ImageResources.GetTmlTreeIcon(1);
        //    }
        //    else
        //    {
        //        ForeGround = "#FF000";
        //        //终端图标代码 1 连接断开 0关灯正常 2关灯故障  3 开灯正常 4开灯故障
        //        ImagesIcon = ImageResources.GetTmlTreeIcon(basicTmlInfomation.ImageCode);
        //    }
        //}

        #endregion

        /// <summary>
        /// 加载节点,第一次使用
        /// </summary>
        public override void AddChild()
        {
            ChildTreeItems.Clear();
        }
Exemple #27
0
        //加载终端节点
        private void LoadNode()
        {
            if (ServicesGrpMultiInfoHoldNew.ItemsMultiGrp.Count == 0 &&
                Sr.EquipmentInfoHolding.Services.AreaInfoHold.MySlef.AreaInfo.Count == 0)
            {
                return;
            }
            ChildTreeItems.Clear();

            var userProperty = UserInfo.UserLoginInfo;

            if (userProperty.D == true)
            {
                if (Wlst.Sr.EquipmentInfoHolding.Services.AreaInfoHold.MySlef.AreaInfo.Count == 0)
                {
                    return;
                }
                IsLoadOnlyOneArea = Wlst.Sr.EquipmentInfoHolding.Services.AreaInfoHold.MySlef.AreaInfo.Count < 2;
                if (IsLoadOnlyOneArea)
                {
                    int AreaId = Wlst.Sr.EquipmentInfoHolding.Services.AreaInfoHold.MySlef.AreaInfo.Keys.ToList()[0];
                    var grp    =
                        (from t in Wlst.Sr.EquipmentInfoHolding.Services.ServicesGrpMultiInfoHoldNew.ItemsMultiGrp
                         where t.Key.Item1 == AreaId
                         orderby t.Value.Index
                         select t.Value).ToList();

                    foreach (var f in grp)
                    {
                        this.ChildTreeItems.Add(new TreeNodeItemMultiGroupViewModelNew(null, f.AreaId, f.GroupId,
                                                                                       TypeOfTabTreeNode.IsGrp));
                    }
                }
                else
                {
                    this.ChildTreeItems.Add(new TreeNodeItemMultiGroupViewModelNew(null, -1, 0,
                                                                                   TypeOfTabTreeNode.IsArea));
                    foreach (var f in Wlst.Sr.EquipmentInfoHolding.Services.AreaInfoHold.MySlef.AreaInfo.Keys)
                    {
                        var tmlLstOfArea = Wlst.Sr.EquipmentInfoHolding.Services.AreaInfoHold.MySlef.GetRtuInArea(f);
                        var rtuLst       = new List <int>();
                        foreach (var fff in tmlLstOfArea)
                        {
                            if (!Sr.EquipmentInfoHolding.Services.EquipmentDataInfoHold.InfoItems.ContainsKey(fff))
                            {
                                continue;
                            }
                            rtuLst.Add(fff);
                        }
                        if (rtuLst.Count == 0)
                        {
                            continue;
                        }

                        this.ChildTreeItems.Add(new TreeNodeItemMultiGroupViewModelNew(null, f, 0,
                                                                                       TypeOfTabTreeNode.IsArea));
                    }
                }
            }
            else
            {
                List <int> areaLst = new List <int>();
                areaLst.AddRange(userProperty.AreaR);
                foreach (var t in userProperty.AreaW)
                {
                    if (!areaLst.Contains(t))
                    {
                        areaLst.Add(t);
                    }
                }
                foreach (var t in userProperty.AreaX)
                {
                    if (!areaLst.Contains(t))
                    {
                        areaLst.Add(t);
                    }
                }
                IsLoadOnlyOneArea = areaLst.Count < 2;
                if (IsLoadOnlyOneArea)
                {
                    int AreaId = areaLst[0];
                    var grp    =
                        (from t in Wlst.Sr.EquipmentInfoHolding.Services.ServicesGrpMultiInfoHoldNew.ItemsMultiGrp
                         where t.Key.Item1 == AreaId
                         orderby t.Value.Index
                         select t.Value).ToList();
                    foreach (var f in grp)
                    {
                        this.ChildTreeItems.Add(new TreeNodeItemMultiGroupViewModelNew(null, f.AreaId, f.GroupId,
                                                                                       TypeOfTabTreeNode.IsGrp));
                    }
                }
                else
                {
                    this.ChildTreeItems.Add(new TreeNodeItemMultiGroupViewModelNew(null, -1, 0,
                                                                                   TypeOfTabTreeNode.IsArea));
                    foreach (var f in areaLst)
                    {
                        var tmlLstOfArea = Wlst.Sr.EquipmentInfoHolding.Services.AreaInfoHold.MySlef.GetRtuInArea(f);
                        var rtuLst       = new List <int>();
                        foreach (var fff in tmlLstOfArea)
                        {
                            if (!Sr.EquipmentInfoHolding.Services.EquipmentDataInfoHold.InfoItems.ContainsKey(fff))
                            {
                                continue;
                            }
                            rtuLst.Add(fff);
                        }
                        if (rtuLst.Count == 0)
                        {
                            continue;
                        }
                        //if (tmlLstOfArea.Count == 0) continue;

                        this.ChildTreeItems.Add(new TreeNodeItemMultiGroupViewModelNew(null, f, 0,
                                                                                       TypeOfTabTreeNode.IsArea));
                    }
                }
            }

            foreach (var f in ChildTreeItems)
            {
                f.GetChildRtuCount();
            }

            for (int i = this.ChildTreeItems.Count - 1; i >= 0; i--)
            {
                if (this.ChildTreeItems[i].RtuCount == 0 || this.ChildTreeItems[i].ChildTreeItems.Count == 0)
                {
                    this.ChildTreeItems.RemoveAt(i);
                }
            }
        }
Exemple #28
0
        /// <summary>
        /// 当分组信息发生变化的时候  增量式重新加载节点
        /// </summary>
        public void UpdateArea(int areaId)
        {
            var info = Wlst.Sr.EquipmentInfoHolding.Services.AreaInfoHold.MySlef.GetAreaInfo(areaId);

            if (info == null)
            {
                this.ChildTreeItems.Clear();
                return;
            }

            var gprlst = (from t in Wlst.Sr.EquipmentInfoHolding.Services.ServicesGrpMultiInfoHoldNew.ItemsMultiGrp
                          where t.Key.Item1 == areaId
                          select t.Key.Item2).ToList();

            //node delete
            for (int i = this.ChildTreeItems.Count - 1; i >= 0; i--)
            {
                if (ChildTreeItems[i].NodeId == 0)
                {
                    continue;
                }
                if (gprlst.Contains(ChildTreeItems[i].NodeId) == false)
                {
                    ChildTreeItems.RemoveAt(i);
                }
                if (ChildTreeItems[i].NodeType != TypeOfTabTreeNode.IsGrp)
                {
                    this.ChildTreeItems.RemoveAt(i);
                }
            }

            //tml  add and update
            var exist = (from t in ChildTreeItems select t.NodeId).ToList();
            var lstUp = new List <int>();

            foreach (var t in gprlst)
            {
                if (exist.Contains(t))
                {
                    lstUp.Add(t);
                    continue;
                }

                var para = Sr.EquipmentInfoHolding.Services.ServicesGrpMultiInfoHoldNew.GetGroupInfomation(areaId, t);
                if (para == null)
                {
                    continue;
                }

                if (para.LstTml.Count == 0)
                {
                    continue;
                }
                ChildTreeItems.Add(new TreeNodeItemMultiGroupViewModelNew(null, areaId, t, TypeOfTabTreeNode.IsGrp));
            }

            foreach (var f in this.ChildTreeItems)
            {
                if (!lstUp.Contains(f.NodeId))
                {
                    continue;
                }
                f.ReUpdate(0);
            }

            //for (int i = this.ChildTreeItems.Count - 1; i >= 0; i--)
            //{
            //    if (this.ChildTreeItems[i].ChildTreeItems.Count == 0) this.ChildTreeItems.RemoveAt(i);
            //}
            for (int i = this.ChildTreeItems.Count - 1; i >= 0; i--)
            {
                if (this.ChildTreeItems[i].RtuCount == 0 || this.ChildTreeItems[i].ChildTreeItems.Count == 0)
                {
                    this.ChildTreeItems.RemoveAt(i);
                }
            }
        }
        public TreeGrpNodes(int areaid, int grpOrRtuId, bool isgrp)
        {
            IsGroup    = isgrp;
            AreaId     = areaid;
            RtuOrGrpId = grpOrRtuId;
            if (isgrp == false) //rtu
            {
                Msg = "终端";
                var tmp =
                    Wlst.Sr.EquipmentInfoHolding.Services.EquipmentDataInfoHold.InfoItems[grpOrRtuId];
                var areaInfo = Wlst.Sr.EquipmentInfoHolding.Services.AreaInfoHold.MySlef.GetAreaThatRtuIn(grpOrRtuId);
                //var tmp = Wlst.Sr.EquipmentInfoHolding.Services.EquipmentDataInfoHold.GetShowFidPhyAndNameByRtuId(grpOrRtuId);
                AreaId = areaInfo;
                if (tmp == null)
                {
                    PhyId        = RtuOrGrpId + "";
                    RtuOrGrpName = RtuOrGrpId + "";
                    PhyIdMsg     = PhyId + "(" + Msg + ")";
                }
                else
                {
                    PhyId        = tmp.RtuPhyId.ToString("d4");
                    RtuOrGrpName = tmp.RtuName;
                    PhyIdMsg     = PhyId + "(" + Msg + ")";
                }

                if (tmp.RtuModel == EnumRtuModel.Wj3005 || tmp.RtuModel == EnumRtuModel.Wj3090)
                {
                    Has3005 = true;
                    Has3006 = false;
                }
                else
                {
                    Has3005 = false;
                    Has3006 = true;
                }
            }
            else  //分组
            {
                Msg = "分组";
                var tu = new Tuple <int, int>(areaid, grpOrRtuId);
                if (Sr.EquipmentInfoHolding.Services.ServicesGrpSingleInfoHold.InfoGroups.ContainsKey(tu))
                {
                    var tmp =
                        Sr.EquipmentInfoHolding.Services.ServicesGrpSingleInfoHold.InfoGroups[tu];
                    RtuOrGrpName = tmp.GroupName;
                    PhyId        = tmp.GroupId.ToString("d2");
                    PhyIdMsg     = PhyId + "(" + Msg + ")";


                    Has3005 = false;
                    Has3006 = false;
                    //清空子节点
                    ChildTreeItems.Clear();

                    var rtuLstTmp = (from t in tmp.LstTml orderby t select t).ToList();
                    //排序
                    var rtuLst = Sr.EquipmentInfoHolding.Services.ServicesGrpSingleInfoHold.GetRtuOrGrpIndex(rtuLstTmp);

                    foreach (var t in rtuLst)
                    {
                        if (Wlst.Sr.EquipmentInfoHolding.Services.EquipmentDataInfoHold.InfoItems.ContainsKey(t))
                        {
                            var info = Wlst.Sr.EquipmentInfoHolding.Services.EquipmentDataInfoHold.InfoItems[t];
                            if (info.EquipmentType != WjParaBase.EquType.Rtu)
                            {
                                continue;
                            }
                            if (info != null)
                            {
                                //添加节点
                                ChildTreeItems.Add(new TreeGrpNodes(AreaId, t, false));


                                //添加终端节点  lvf 2019年6月18日08:55:06
                                if (info.RtuModel == EnumRtuModel.Wj3005 || info.RtuModel == EnumRtuModel.Wj3090)
                                {
                                    Has3005 = true;
                                }
                                else
                                {
                                    Has3006 = true;
                                }
                            }
                            //if (Has3005 && Has3006) continue;
                        }
                    }
                }
                else if (grpOrRtuId == -1)//特殊终端分组 lvf
                {
                    RtuOrGrpName = "特殊分组";
                    PhyId        = "00";
                    PhyIdMsg     = PhyId + "(" + Msg + ")";


                    //清空子节点
                    ChildTreeItems.Clear();

                    //添加特殊终端 lvf 2019年6月18日08:58:41
                    var tmp       = Sr.EquipmentInfoHolding.Services.ServicesGrpSingleInfoHold.GetRtuNotInAnyGroup(AreaId);
                    var rtuLstTmp = new List <int>();
                    //获取特殊设备
                    foreach (var f in tmp)
                    {
                        if (Wlst.Sr.EquipmentInfoHolding.Services.EquipmentDataInfoHold.InfoItems.ContainsKey(f))
                        {
                            var para = Wlst.Sr.EquipmentInfoHolding.Services.EquipmentDataInfoHold.InfoItems[f];
                            if (para.EquipmentType == WjParaBase.EquType.Rtu)
                            {
                                rtuLstTmp.Add(f);
                            }
                        }
                    }
                    //排序
                    var rtuLst = Sr.EquipmentInfoHolding.Services.ServicesGrpSingleInfoHold.GetRtuOrGrpIndex(rtuLstTmp);
                    //添加节点
                    foreach (var g in rtuLst)
                    {
                        ChildTreeItems.Add(new TreeGrpNodes(AreaId, g, false));
                    }
                }
            }
            FristLoadTimeTableInfo(isgrp, Has3005);
        }
        /// <summary>
        /// 当分组信息发生变化的时候  增量式重新加载节点
        /// </summary>
        public void UpdateArea()
        {
            var info = Wlst.Sr.EquipmentInfoHolding.Services.AreaInfoHold.MySlef.GetAreaInfo(this.AreaId);

            //.Values.ToList();
            if (info == null)
            {
                this.ChildTreeItems.Clear();
                if (_father != null)
                {
                    _father.ChildTreeItems.Remove(this);
                }
                return;
            }

            this.NodeName = info.AreaName;

            var arealst = (from t in info.LstTml select t).ToList();

            var gprlst = (from t in Wlst.Sr.EquipmentInfoHolding.Services.ServicesGrpSingleInfoHold.InfoGroups
                          where t.Key.Item1 == AreaId
                          select t.Key.Item2).ToList();

            //var spe = Wlst.Sr.EquipmentInfoHolding.Services.ServicesGrpSingleInfoHold.GetRtuNotInAnyGroup(AreaId);
            //if(spe .Count >0)
            //   gprlst.Add(0);


            //node delete
            for (int i = this.ChildTreeItems.Count - 1; i >= 0; i--)
            {
                if (ChildTreeItems[i].NodeId == 0)
                {
                    continue;
                }
                if (gprlst.Contains(ChildTreeItems[i].NodeId) == false)
                {
                    ChildTreeItems.RemoveAt(i);
                }
                if (ChildTreeItems[i].NodeType != TypeOfTabTreeNode.IsGrpSpecial &&
                    ChildTreeItems[i].NodeType != TypeOfTabTreeNode.IsGrp &&
                    ChildTreeItems[i].NodeType != TypeOfTabTreeNode.IsAll)
                {
                    this.ChildTreeItems.RemoveAt(i);
                }
            }


            //tml  add and update
            var exist = (from t in ChildTreeItems select t.NodeId).ToList();
            var lstUp = new List <int>();

            foreach (var t in info.LstTml)
            {
                if (exist.Contains(t))
                {
                    lstUp.Add(t);
                    continue;
                }

                var para = Sr.EquipmentInfoHolding.Services.ServicesGrpSingleInfoHold.GetGroupInfomation(AreaId, t);
                if (para == null)
                {
                    continue;
                }

                if (para.LstTml.Count == 0)
                {
                    continue;
                }
                ChildTreeItems.Add(new TreeNodeItemSingleGroupViewModel(this, AreaId, t, TypeOfTabTreeNode.IsGrp));
            }

            foreach (var f in this.ChildTreeItems)
            {
                if (!lstUp.Contains(f.NodeId))
                {
                    continue;
                }
                f.ReUpdate(0);
            }

            TreeNodeBaseNode spe = null;
            var spelst           = Wlst.Sr.EquipmentInfoHolding.Services.ServicesGrpSingleInfoHold.GetRtuNotInAnyGroup(AreaId);

            foreach (var f in this.ChildTreeItems)
            {
                if (f.NodeType == TypeOfTabTreeNode.IsAll)
                {
                    f.ReUpdate(0);
                }
                if (f.NodeType == TypeOfTabTreeNode.IsGrpSpecial)
                {
                    if (spelst.Count == 0)
                    {
                        this.ChildTreeItems.Remove(f);
                        break;
                    }
                    f.ReUpdate(0);
                    spe = f;
                }
            }

            if (spe == null && spelst.Count > 0)
            {
                this.ChildTreeItems.Add(new TreeNodeItemSingleGroupViewModel(this, AreaId, 0,
                                                                             TypeOfTabTreeNode.IsGrpSpecial));
            }
        }