예제 #1
0
        /// <summary>
        /// 查看移动轨迹
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void itemTrack_Click(object sender, RoutedEventArgs e)
        {
            MenuItem    item   = sender as MenuItem;
            ContextMenu menu   = item.Parent as ContextMenu;
            var         target = menu.PlacementTarget as OrgToMapStyle;

            if (target != null)
            {
                PP_OrgInfo orgInfo = target.OrgInfo;
                //先查有没有车,或者车牌
                PP_VehicleInfo itemVehicle = null;
                PT_BS_Service.Client.Framework.BeOperationInvoker.Invoke <I_CO_IA.PersonSchedule.I_CO_IA_PersonSchedule>(channel =>
                {
                    //更新当前节点
                    itemVehicle = channel.GetPP_VehicleInfo(orgInfo.GUID);
                });
                if (itemVehicle != null && !string.IsNullOrEmpty(itemVehicle.VEHICLE_NUMB))
                {
                    OrgToMapStyle        group    = new OrgToMapStyle(orgInfo);
                    Track.TrackCondition conTrack = new Track.TrackCondition(group);
                    conTrack.VehicleNum = itemVehicle.VEHICLE_NUMB;
                    conTrack.Owner      = VisualTreeHelperExtension.GetParentObject <System.Windows.Window>(Element);
                    conTrack.Show();
                }
                else
                {
                    MessageBox.Show("没有查询到车辆信息!");
                }
            }
        }
예제 #2
0
 private void itemLIVEMonitor_Click(object sender, RoutedEventArgs e)
 {
     if (tv_PersonPlan.SelectedItem != null)
     {
         PP_OrgInfo orgInfo = tv_PersonPlan.SelectedItem as PP_OrgInfo;
         if (orgInfo != null)
         {
             ScheduleDetail[] scheduleDetails = Utility.getOrgGroupsBySchedule(Obj.Activity.Guid, Obj.Activity.ActivityStage);
             var obj = scheduleDetails.Where(itm =>
             {
                 if (itm.ScheduleOrgs != null && itm.ScheduleOrgs.Length > 0 && itm.ScheduleOrgs[0].OrgInfo.GUID == orgInfo.GUID)
                 {
                     return(true);
                 }
                 else
                 {
                     return(false);
                 }
             }).ToArray();
             if (obj != null && obj.Length == 1)
             {
                 string areaid          = obj[0].ScheduleOrgs[0].AREA_GUID;
                 Monitor.MonitorView rh = new Monitor.MonitorView(areaid, new List <PP_OrgInfo> {
                     orgInfo
                 });
                 rh.Title = "现场监测情况";
                 rh.ShowDialog();
             }
         }
     }
 }
        private void tv_PersonPlan_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs <object> e)
        {
            //取得当前的被选择节点
            itemOrgInfo = ((System.Windows.Controls.TreeView)(sender)).SelectedItem as PP_OrgInfo;

            if (itemOrgInfo == null)
            {
                return;
            }
            else
            {
                if (itemOrgInfo.PARENT_GUID == "")
                {
                }
                else
                {
                    if (itemOrgInfo.Children.Count() == 0)
                    {
                        if (OKButtonClick != null)
                        {
                            OKButtonClick(itemOrgInfo);
                        }
                    }
                    else
                    {
                    }
                }
            }
            Close();
        }
예제 #4
0
 private void itemTrack_Click(object sender, RoutedEventArgs e)
 {
     if (tv_PersonPlan.SelectedItem != null)
     {
         PP_OrgInfo orgInfo = tv_PersonPlan.SelectedItem as PP_OrgInfo;
         if (orgInfo != null)
         {
             //先查有没有车,或者车牌
             PP_VehicleInfo itemVehicle = null;
             PT_BS_Service.Client.Framework.BeOperationInvoker.Invoke <I_CO_IA.PersonSchedule.I_CO_IA_PersonSchedule>(channel =>
             {
                 //更新当前节点
                 itemVehicle = channel.GetPP_VehicleInfo(orgInfo.GUID);
             });
             if (itemVehicle != null && !string.IsNullOrEmpty(itemVehicle.VEHICLE_NUMB))
             {
                 OrgToMapStyle        group    = new OrgToMapStyle(orgInfo);
                 Track.TrackCondition conTrack = new Track.TrackCondition(group);
                 conTrack.VehicleNum = itemVehicle.VEHICLE_NUMB;
                 conTrack.Owner      = VisualTreeHelperExtension.GetParentObject <System.Windows.Window>(this);
                 conTrack.Show();
             }
             else
             {
                 MessageBox.Show("没有查询到车辆信息!");
             }
         }
     }
 }
예제 #5
0
        /// <summary>
        /// 获取执行小组名称
        /// </summary>
        /// <param name="groupid"></param>
        /// <returns></returns>
        public static string GetGroupName(string groupid)
        {
            PP_OrgInfo getOrginfo    = TaskHelper.GetPP_OrgInfo(groupid);
            string     personDisplay = getOrginfo.NAME;

            return(personDisplay);
        }
        /// <summary>
        /// 循环保存组织信息
        /// </summary>
        /// <param name="itemCollection"></param>
        /// <returns></returns>
        private bool SavePersonPlanOrgInfos(ItemCollection itemCollection)
        {
            bool isItemSucessful      = false;
            bool isChildItemSucessful = false;

            foreach (TreeViewItem tvItem in itemCollection)
            {
                PP_OrgInfo orgInfo = tvItem.DataContext as PP_OrgInfo;

                PT_BS_Service.Client.Framework.BeOperationInvoker.Invoke <I_CO_IA.PersonSchedule.I_CO_IA_PersonSchedule>(channel =>
                {
                    //更新当前节点
                    isItemSucessful = channel.SavePP_OrgInfo(orgInfo);
                });

                if (tvItem.Items.Count > 0)
                {
                    isChildItemSucessful = SavePersonPlanOrgInfos(tvItem.Items);
                }
            }

            //本身和下属都更新成功了才算成功
            if (isItemSucessful && isChildItemSucessful)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
예제 #7
0
        /// <summary>
        /// 现场监测情况
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void itemLIVEMonitor_Click(object sender, RoutedEventArgs e)
        {
            MenuItem    item   = sender as MenuItem;
            ContextMenu menu   = item.Parent as ContextMenu;
            var         target = menu.PlacementTarget as OrgToMapStyle;

            if (target != null)
            {
                PP_OrgInfo orgInfo = target.OrgInfo;

                ScheduleDetail[] scheduleDetails = Utility.getOrgGroupsBySchedule(Obj.Activity.Guid, Obj.Activity.ActivityStage);
                var obj = scheduleDetails.Where(itm => {
                    if (itm.ScheduleOrgs != null && itm.ScheduleOrgs.Length > 0 && itm.ScheduleOrgs[0].OrgInfo.GUID == orgInfo.GUID)
                    {
                        return(true);
                    }
                    else
                    {
                        return(false);
                    }
                }).ToArray();
                if (obj != null && obj.Length == 1)
                {
                    string areaid          = obj[0].ScheduleOrgs[0].AREA_GUID;
                    Monitor.MonitorView rh = new Monitor.MonitorView(areaid, new List <PP_OrgInfo> {
                        orgInfo
                    });
                    rh.Title = "现场监测情况";
                    rh.ShowDialog();
                }
            }
        }
예제 #8
0
 private void OpenActivityPlace(Activity activity, ActivityPlace place, PP_OrgInfo orgInfo)
 {
     if (this.InvokeActivityPlace != null)
     {
         this.InvokeActivityPlace(activity, place, orgInfo);
         this.Close();
     }
 }
예제 #9
0
        public static void UpdateUserRights(PP_OrgInfo orgInfo = null)
        {
            //var activity = ModuleContainer.Activity;
            //if (activity != null)
            //{
            //    DutyList.Clear();
            //    PP_OrgInfo userInfo = orgInfo;
            //    if (userInfo == null)
            //    {
            //        userInfo = PT_BS_Service.Client.Framework.BeOperationInvoker.Invoke<I_CO_IA_PersonSchedule, PP_OrgInfo>(channel =>
            //        {
            //            return channel.GetPP_OrgInfoByPersonID(RiasPortal.Current.UserSetting.UserID, activity.Guid);
            //        });
            //    }
            //    if (userInfo != null)
            //    {
            //        if (!string.IsNullOrWhiteSpace(userInfo.DUTY))
            //        {
            //            DutyList.AddRange(userInfo.DUTY.Split(','));

            //            var duties = PT_BS_Service.Client.Framework.BeOperationInvoker.Invoke<I_CO_IA.Setting.I_CO_IA_Setting, PP_DutyInfo[]>(channel =>
            //            {
            //                return channel.GetDutyInfos();
            //            });
            //            if (duties != null && duties.Length > 0)
            //            {
            //                List<string> queryRightList = new List<string>();
            //                List<string> manageRightList = new List<string>();
            //                foreach (string dutyCode in DutyList)
            //                {
            //                    PP_DutyInfo dutyInfo = null;
            //                    foreach (var duty in duties)
            //                    {
            //                        if (duty.Key == dutyCode)
            //                        {
            //                            dutyInfo = duty;
            //                            break;
            //                        }
            //                    }
            //                    if (dutyInfo != null)
            //                    {
            //                        if (dutyInfo.QueryRights != null && dutyInfo.QueryRights.Length > 0)
            //                        {
            //                            queryRightList.AddRange(dutyInfo.QueryRights);
            //                        }
            //                        if (dutyInfo.ManageRights != null && dutyInfo.ManageRights.Length > 0)
            //                        {
            //                            manageRightList.AddRange(dutyInfo.ManageRights);
            //                        }
            //                    }
            //                }
            //                ManageRightList = (from right in manageRightList select right).Distinct().ToList();
            //                QueryRightList = (from right in queryRightList select right).Distinct().ToList();
            //            }
            //        }
            //    }
            //}
        }
        /// <summary>
        /// 在查询结果人员数量不等于0的情况
        /// </summary>
        private void setDefaultImage()
        {
            PP_OrgInfo orgInfo = tv_PersonPlan.SelectedItem as PP_OrgInfo;

            if (orgInfo == null)
            {
                return;
            }
            if (string.IsNullOrEmpty(orgInfo.PARENT_GUID) == true)
            {
                if (!itemPersonList.Where(item => item.PERSON_TYPE == 0).Any())
                {
                    PP_PersonInfo p0 = new PP_PersonInfo();
                    p0.GUID                    = CO_IA.Client.Utility.NewGuid();
                    p0.ORG_GUID                = orgInfo.GUID;
                    p0.ADD_TYPE                = 1;
                    p0.PERSON_TYPE             = 0;
                    grid_OrgLeader.DataContext = p0;
                    itemPersonList.Add(p0);
                }

                if (!itemPersonList.Where(item => item.PERSON_TYPE == 3).Any())
                {
                    PP_PersonInfo p3 = new PP_PersonInfo();
                    p3.GUID        = CO_IA.Client.Utility.NewGuid();
                    p3.ORG_GUID    = orgInfo.GUID;
                    p3.ADD_TYPE    = 1;
                    p3.PERSON_TYPE = 3;
                    grid_PSO_Coordinator.DataContext = p3;
                    itemPersonList.Add(p3);
                }
            }
            else
            {
                if (!itemPersonList.Where(item => item.PERSON_TYPE == 1).Any())
                {
                    PP_PersonInfo p1 = new PP_PersonInfo();
                    p1.GUID        = CO_IA.Client.Utility.NewGuid();
                    p1.ORG_GUID    = orgInfo.GUID;
                    p1.ADD_TYPE    = 1;
                    p1.PERSON_TYPE = 1;
                    grid_GroupLeaderImage.DataContext = p1;
                    itemPersonList.Add(p1);
                }
                if (!itemPersonList.Where(item => item.PERSON_TYPE == 2).Any())
                {
                    PP_PersonInfo p2 = new PP_PersonInfo();
                    p2.GUID        = CO_IA.Client.Utility.NewGuid();
                    p2.ORG_GUID    = orgInfo.GUID;
                    p2.ADD_TYPE    = 1;
                    p2.PERSON_TYPE = 2;
                    grid_SLeaderImage.DataContext = p2;
                    itemPersonList.Add(p2);
                }
            }
        }
예제 #11
0
        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            if (string.IsNullOrEmpty(value as string))
            {
                return(value);
            }
            PP_OrgInfo getOrginfo    = TaskHelper.GetPP_OrgInfo(value.ToString());
            string     personDisplay = getOrginfo.NAME;

            return(personDisplay);
        }
 //无限接循环子节点添加到根节点下面
 private void ForeachPropertyNode(PP_OrgInfo node, string pid, List <PP_OrgInfo> nodes)
 {
     foreach (PP_OrgInfo tempNode in nodes)
     {
         if (tempNode.PARENT_GUID == pid)
         {
             ForeachPropertyNode(tempNode, tempNode.GUID, nodes);
             node.Children.Add(tempNode);
         }
     }
 }
 private void SetNodeCheckStateFalse(PP_OrgInfo node)
 {
     node.IsChecked = false;
     if (node.Children != null && node.Children.Count > 0)
     {
         for (int i = 0; i < node.Children.Count; i++)
         {
             SetNodeCheckStateFalse(node.Children[i]);
         }
     }
 }
 private void SetAllNodeCheckState(ScheduleOrg[] orgs, PP_OrgInfo node)
 {
     SetNodeCheckState(orgs, node);
     if (node.Children != null && node.Children.Count > 0)
     {
         for (int i = 0; i < node.Children.Count; i++)
         {
             SetNodeCheckState(orgs, node.Children[i]);
         }
     }
 }
예제 #15
0
 public PersonPoint(PP_OrgInfo orgInfo, PP_PersonInfo personInfo)
 {
     InitializeComponent();
     OrgInfo    = orgInfo;
     PersonInfo = personInfo;
     if (personInfo != null)
     {
         ElementId          = MapGroupTypes.Person_.ToString() + PersonInfo.GUID;
         txtOrgname.Text    = OrgInfo.NAME;
         txtPersonname.Text = personInfo.NAME;
     }
 }
예제 #16
0
 public OrgToMapStyle(PP_OrgInfo orgInfo)
 {
     InitializeComponent();
     OrgInfo = orgInfo;
     checkBorder.DataContext = OrgInfo;
     if (orgInfo == null)
     {
         return;
     }
     //txtGroupname.Text = orgInfo.NAME;
     ElementId = MapGroupTypes.MonitorGroup_.ToString() + orgInfo.GUID;
 }
        //private void setDefaultImage()
        //{
        //    PP_OrgInfo orgInfo = tv_PersonPlan.SelectedItem as PP_OrgInfo;
        //    if (string.IsNullOrEmpty(orgInfo.PARENT_GUID) == true)
        //    {
        //        PP_PersonInfo p0 = new PP_PersonInfo();
        //        p0.GUID = CO_IA.Client.Utility.NewGuid();
        //        p0.ORG_GUID = orgInfo.GUID;
        //        p0.ADD_TYPE = 1;
        //        p0.PERSON_TYPE = 0;

        //        grid_OrgLeader.DataContext = p0;

        //        PP_PersonInfo p3 = new PP_PersonInfo();
        //        p3.GUID = CO_IA.Client.Utility.NewGuid();
        //        p3.ORG_GUID = orgInfo.GUID;
        //        p3.ADD_TYPE = 1;
        //        p3.PERSON_TYPE = 3;
        //        grid_PSO_Coordinator.DataContext = p3;
        //    }
        //    else
        //    {
        //        PP_PersonInfo p1 = new PP_PersonInfo();

        //        p1.GUID = CO_IA.Client.Utility.NewGuid();
        //        p1.ORG_GUID = orgInfo.GUID;
        //        p1.ADD_TYPE = 1;
        //        p1.PERSON_TYPE = 1;

        //        grid_GroupLeaderImage.DataContext = p1;

        //        PP_PersonInfo p2 = new PP_PersonInfo();
        //        p2.GUID = CO_IA.Client.Utility.NewGuid();
        //        p2.ORG_GUID = orgInfo.GUID;
        //        p2.ADD_TYPE = 1;
        //        p2.PERSON_TYPE = 2;
        //        grid_SLeaderImage.DataContext = p2;
        //    }
        //}
        /// <summary>
        /// 复制保存组织信息
        /// </summary>
        /// <param name="item"></param>
        /// <returns></returns>
        private PP_OrgInfo CopeOrgInfo(PP_OrgInfo item)
        {
            PP_OrgInfo info = new PP_OrgInfo();

            info.GUID          = item.GUID;
            info.NAME          = item.NAME;
            info.PARENT_GUID   = item.PARENT_GUID;
            info.ACTIVITY_GUID = item.ACTIVITY_GUID;
            info.Children      = item.Children;
            info.DUTY          = item.DUTY;
            return(info);
        }
예제 #18
0
 private void itemTask_Click(object sender, RoutedEventArgs e)
 {
     if (tv_PersonPlan.SelectedItem != null)
     {
         PP_OrgInfo orgInfo = tv_PersonPlan.SelectedItem as PP_OrgInfo;
         if (orgInfo != null)
         {
             Task.TaskAllList taskList = new Task.TaskAllList(new string[] { orgInfo.GUID });
             taskList.ShowDialog(this);
         }
     }
 }
예제 #19
0
        /// <summary>
        /// 语音通话
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void itemVoice_Click(object sender, RoutedEventArgs e)
        {
            MenuItem    item   = sender as MenuItem;
            ContextMenu menu   = item.Parent as ContextMenu;
            var         target = menu.PlacementTarget as OrgToMapStyle;

            if (target != null)
            {
                PP_OrgInfo        orgInfo = target.OrgInfo;
                Audio.AudioDialog p       = new Audio.AudioDialog(orgInfo);
                p.Show();
            }
        }
        public PersonPlanDialog(List <PP_OrgInfo> nodes)
        {
            InitializeComponent();

            List <PP_Duty> dutyList = GetDutyList();

            foreach (PP_Duty duty in dutyList)
            {
                CheckBox chk = new CheckBox();
                chk.Content     = duty.Name;
                chk.Margin      = new Thickness(10);
                chk.ToolTip     = insertEnterString(duty.Description);
                chk.Tag         = duty.Key;
                chk.DataContext = duty;
                this.wp_dutylist.Children.Add(chk);
            }

            equipLength = grid_Main.RowDefinitions[2].Height;
            grid_EquipList.Visibility = System.Windows.Visibility.Hidden;

            //新建还是读取
            if (nodes.Count == 0)
            {
            }
            else
            {
                tv_PersonPlan.ItemsSource = null;
                PP_OrgInfo tempOrgInfo = new PP_OrgInfo();

                foreach (PP_OrgInfo oinfo in nodes)
                {
                    if (string.IsNullOrEmpty(oinfo.PARENT_GUID))
                    {
                        tempOrgInfo = oinfo;
                        break;
                    }
                }
                if (string.IsNullOrEmpty(tempOrgInfo.GUID))
                {
                    itemList = nodes;
                }
                else
                {
                    ForeachPropertyNode(tempOrgInfo, tempOrgInfo.GUID, nodes);
                    itemList.Add(tempOrgInfo);
                }

                this.tv_PersonPlan.ItemsSource = null;
                this.tv_PersonPlan.ItemsSource = itemList;
            }
        }
예제 #21
0
        /// <summary>
        /// 任务信息
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void itemTask_Click(object sender, RoutedEventArgs e)
        {
            MenuItem    item   = sender as MenuItem;
            ContextMenu menu   = item.Parent as ContextMenu;
            var         target = menu.PlacementTarget as OrgToMapStyle;

            if (target != null)
            {
                PP_OrgInfo orgInfo = target.OrgInfo;

                Task.TaskAllList taskList = new Task.TaskAllList(new string[] { orgInfo.GUID });
                taskList.ShowDialog(Element);
            }
        }
 /// <summary>
 /// 移除特定的节点
 /// </summary>
 /// <param name="PARENT_GUID"></param>
 /// <param name="tarOrgInfo"></param>
 /// <param name="orgList"></param>
 private void RemovePPOrginfoFromeList(string PARENT_GUID, PP_OrgInfo tarOrgInfo, List <PP_OrgInfo> orgList)
 {
     foreach (PP_OrgInfo orginfo in orgList)
     {
         if (orginfo.GUID == PARENT_GUID)
         {
             orginfo.Children.Remove(tarOrgInfo);
             break;
         }
         else if (orginfo.Children.Count > 0)
         {
             RemovePPOrginfoFromeList(PARENT_GUID, tarOrgInfo, orginfo.Children);
         }
     }
 }
예제 #23
0
        public PersonPlanForMapDialog(string orgid)
        {
            InitializeComponent();
            if (orgid != null)
            {
                PT_BS_Service.Client.Framework.BeOperationInvoker.Invoke <I_CO_IA.PersonSchedule.I_CO_IA_PersonSchedule>(channel =>
                {
                    //更新当前节点
                    itemOrgInfo = channel.GetPP_OrgInfo(orgid);
                });

                //界面赋值
                SetOrgInfoDetails(itemOrgInfo);
            }
        }
        private MapPlace GetMapPlace(PP_OrgInfo OrgInfo, MapPointEx point)
        {
            //MapPlace place = placeMap.ShowMap.DrawElementList.FirstOrDefault(r => r.Key == OrgInfo.GUID).Value as MapPlace;
            //if (place == null)
            //{
            //    place = new MapPlace();
            //    place.BeforeDragPlaceEvent += OnBeforeDragPlace;
            //    //place.DeletePlaceEvent += place_DeletePlaceEvent;
            //}
            //place.ORGinfo = OrgInfo;
            //place.MapPoint = point;
            //return place;

            return(null);
        }
예제 #25
0
 private void itemGroupInfo_Click(object sender, RoutedEventArgs e)
 {
     if (tv_PersonPlan.SelectedItem != null)
     {
         PP_OrgInfo orgInfo = tv_PersonPlan.SelectedItem as PP_OrgInfo;
         if (orgInfo != null)
         {
             Group.GroupDialog groupDialog = new Group.GroupDialog(new List <PP_OrgInfo>()
             {
                 orgInfo
             });
             groupDialog.ShowDialog(this);
         }
     }
 }
예제 #26
0
        private void place_DeletePlaceEvent(PP_OrgInfo obj)
        {
            MessageBoxResult result = MessageBox.Show(string.Format("确认要在地图上移除{0}?", obj.NAME), "提示", MessageBoxButton.YesNo);

            if (result == MessageBoxResult.Yes)
            {
                ActivityMap.ShowMap.RemoveElement(obj.GUID);

                PT_BS_Service.Client.Framework.BeOperationInvoker.Invoke <I_CO_IA.PersonSchedule.I_CO_IA_PersonSchedule>(channel =>
                {
                    channel.SavePP_OrgInfoLocation(obj.GUID, null, null);
                });
            }

            ActivityMap.ShowMap.MainMap.PanEnabled = false;
        }
예제 #27
0
        /// <summary>
        /// 查看检测组信息
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void itemInfo_Click(object sender, RoutedEventArgs e)
        {
            MenuItem    item   = sender as MenuItem;
            ContextMenu menu   = item.Parent as ContextMenu;
            var         target = menu.PlacementTarget as OrgToMapStyle;

            if (target != null)
            {
                PP_OrgInfo        orgInfo     = target.OrgInfo;
                Group.GroupDialog groupDialog = new Group.GroupDialog(new List <PP_OrgInfo>()
                {
                    orgInfo
                });
                groupDialog.ShowDialog(Element);
            }
        }
예제 #28
0
        void LoadMainWindow(bool p_isLoadUserInfo)
        {
            LoadActivity wnd = new LoadActivity(p_isLoadUserInfo);

            wnd.InvokeActivityPlace += new Action <CO_IA.Data.Activity, ActivityPlace, PP_OrgInfo>((activity, place, orgInfo) =>
            {
                MainWindow thisWindow = new MainWindow();
                this.MainWindow       = thisWindow;
                //App.Current.ShutdownMode = System.Windows.ShutdownMode.OnLastWindowClose;
                thisWindow.Show();

                orgInfo = new PP_OrgInfo();
                thisWindow.LoadActivityPlace(activity, place, orgInfo);
            });
            wnd.ShowDialog();
        }
예제 #29
0
 private void UpdatePerson(KeyValuePair <string, Point> item)
 {
     //根据对象ID找组
     if (idDic.ContainsKey(item.Key))
     {
         string groupid = idDic[item.Key];
         var    person  = Obj.screenMap.DrawElementList.Where(o => MapGroupTypes.Person_.ToString() + item.Key == o.Key).ToArray();
         if (person != null && person.Length == 1)
         {
             Obj.screenMap.MainMap.Dispatcher.BeginInvoke(new Action(() =>
             {
                 //修改位置
                 PersonPoint personPoint = person[0].Value as PersonPoint;
                 if (personPoint != null)
                 {
                     if (personPoint.ElementTag != null && personPoint.ElementTag is MapPointEx)
                     {
                         MapPointEx p = personPoint.ElementTag as MapPointEx;
                         if (p.X != item.Value.X || p.Y != item.Value.Y)
                         {
                             //移动位置
                             Obj.screenMap.RemoveElement(MapGroupTypes.Person_.ToString() + item.Key);
                             Obj.screenMap.AddElement(personPoint, Obj.screenMap.GetMapPointEx(item.Value.X, item.Value.Y));
                         }
                     }
                 }
             }));
         }
         else
         {
             //添加
             var group = Obj.screenMap.DrawElementList.Where(o => MapGroupTypes.MonitorGroup_.ToString() + groupid == o.Key).ToArray();
             if (group != null && group.Length == 1)
             {
                 Obj.screenMap.MainMap.Dispatcher.BeginInvoke(new Action(() =>
                 {
                     OrgToMapStyle orgPoint  = group[0].Value as OrgToMapStyle;
                     PP_OrgInfo orginfo      = orgPoint.OrgInfo;
                     PersonPoint personPoint = new PersonPoint(orginfo, ObjDic[item.Key] as PP_PersonInfo);
                     personPoint.ContextMenu = GetContextMenu();
                     Obj.screenMap.AddElement(personPoint, Obj.screenMap.GetMapPointEx(item.Value.X, item.Value.Y));
                 }));
             }
         }
     }
 }
        private void tv_PersonPlan_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs <object> e)
        {
            //取得当前的被选择节点
            PP_OrgInfo itemOrgInfo = ((System.Windows.Controls.TreeView)(sender)).SelectedItem as PP_OrgInfo;


            if (itemOrgInfo == null)
            {
                return;
            }
            else
            {
                //界面赋值

                layoutRoot.DataContext = new EmployeesViewModel(itemOrgInfo.DUTY);
            }
        }