示例#1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="datasource"></param>
        /// <param name="placeguid">类型</param>
        private void statisticListControl_OnCellClick(StatisticDataSource datasource, string placeguid)
        {
            string nameid = datasource.GroupGuid; //人员id

            if (nameid == "total" || nameid == "合计" || nameid == "数据详情")
            {
                nameid = string.Empty;
            }



            PersonOutList personList = new PersonOutList();

            personList.NameID   = nameid;
            personList.Incident = placeguid;
            if (string.IsNullOrEmpty(de_fromdate.Text) == false)
            {
                personList.FromDate = de_fromdate.DateTime.ToString("yyyy-MM-dd");
            }

            if (string.IsNullOrEmpty(de_todate.Text) == false)
            {
                personList.ToDate = de_todate.DateTime.ToString("yyyy-MM-dd");
            }
            personList.LoadData();
            SetStatisticDetailControl(personList);
        }
        private void Hyperlink_Click(object sender, RoutedEventArgs e)
        {
            if (statisticDataGrid.SelectedItem != null)
            {
                Hyperlink hylink = e.OriginalSource as Hyperlink;
                if (hylink != null)
                {
                    string column            = hylink.TargetName;
                    StatisticDataSource data = (StatisticDataSource)statisticDataGrid.SelectedItem;
                    if (data != null)
                    {
                        double count = data[column];
                        //if (count > 0)
                        //{
                        string group = data.Group;
                        if (OnCellClick != null)
                        {
                            OnCellClick(data, column);
                        }

                        else if (OnCellClick_RF != null)
                        {
                            OnCellClick_RF(data, column);
                        }


                        else if (OnCellClick_OUT != null)
                        {
                            OnCellClick_OUT(data, column);
                        }
                        //}
                    }
                }
            }
        }
示例#3
0
 public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
 {
     if (value != null)
     {
         StatisticDataSource data = value as StatisticDataSource;
         double count             = data[parameter.ToString()];
         return(count);
     }
     return(0);
 }
 private void statisticDataGrid_MouseLeftButtonDown(object sender, System.Windows.Input.MouseButtonEventArgs e)
 {
     if (statisticDataGrid.SelectedItem != null)
     {
         StatisticDataSource data = (StatisticDataSource)statisticDataGrid.SelectedItem;
         if (data != null)
         {
             string group = data.Group;
             if (OnMouseLeftButtonDownnClick != null)
             {
                 OnMouseLeftButtonDownnClick(data, data.GroupGuid);
             }
         }
     }
 }
示例#5
0
        public void Statistic(IList <PersonPlanStatisticData> source)
        {
            List <StatisticDataSource>     datasources     = new List <StatisticDataSource>();
            List <NameValuePair <string> > statisticgroups = new List <NameValuePair <string> >();

            IEnumerable <IGrouping <string, PersonPlanStatisticData> > conditions = source.GroupBy(r => r.AddressGuid);

            foreach (IGrouping <string, PersonPlanStatisticData> condition in conditions)
            {
                StatisticDataSource     datasource = new StatisticDataSource();
                PersonPlanStatisticData data       = condition.FirstOrDefault(r => r.AddressGuid == condition.Key);

                datasource.GroupGuid = condition.Key;
                if (data != null)
                {
                    datasource.Group = data.Address;
                }
                else
                {
                    datasource.Group = "";
                }

                IEnumerable <IGrouping <string, PersonPlanStatisticData> > groups = condition.GroupBy(r => r.Type);
                foreach (IGrouping <string, PersonPlanStatisticData> group in groups)
                {
                    double count = group.Sum(n => n.Count);
                    datasource[group.Key] = count;

                    int groupcount = statisticgroups.Count(r => r.Name == group.Key);
                    if (groupcount == 0)
                    {
                        NameValuePair <string> pair = new NameValuePair <string>()
                        {
                            Name = group.Key, Value = group.Key
                        };
                        if (!statisticgroups.Contains(pair))
                        {
                            statisticgroups.Add(pair);
                        }
                    }
                }
                datasources.Add(datasource);
            }

            this.statisticListControl.statisticGroup       = statisticgroups;
            this.statisticListControl.StatisticItemsSource = datasources;
            SetChartItemsSource(source.ToList());
        }
示例#6
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="datasource"></param>
        /// <param name="placeguid">类型</param>
        private void statisticListControl_OnCellClick(StatisticDataSource datasource, string placeguid)
        {
            //string activityguid = CO_IA.Client.RiasPortal.ModuleContainer.Activity.Guid;

            string orgguid = datasource.GroupGuid;

            if (orgguid == "total" || orgguid == "合计")
            {
                orgguid = string.Empty;
            }

            string type = placeguid;

            switch (type)
            {
            case "设备":
            //    EquList equlst = new EquList();
            //    equlst.OrgID = orgguid;
            //    SetStatisticDetailControl(equlst);
            //    break;
            //case "人员":
            //    PersonList personlist = new PersonList();
            //    personlist.OrgID = orgguid;
            //    SetStatisticDetailControl(personlist);
            //    break;
            //case "车辆":
            //    VehicleList vehiclelst = new VehicleList();
            //    vehiclelst.OrgID = orgguid;
            //    SetStatisticDetailControl(vehiclelst);
            //    break;

            default:     //病假、购物等


                PersonLeaveList personLeaveList = new PersonLeaveList();
                personLeaveList.Name       = orgguid;
                personLeaveList.Leave_Type = placeguid;
                personLeaveList.LoadLeaveData();
                SetStatisticDetailControl(personLeaveList);
                break;
            }
        }
        /// <summary>
        /// 委托的左键点击事件
        /// </summary>
        /// <param name="sds"></param>
        /// <param name="nameid"></param>
        private void StatisticListControl_OnMouseLeftButtonDownnClick(StatisticDataSource sds, string nameid)
        {
            //DataList = new StringPairList();



            //DataManager.Public.PersonRewardPunishInfoModel model = new DataManager.Public.PersonRewardPunishInfoModel();

            //List<PersonRewardPunishInfo> ppilist = model.GetPersonRewardPunishInfos("", "", nameid, de_fromdate.DateTime.ToString("yyyy-MM-dd"), de_todate.DateTime.ToString("yyyy-MM-dd"), "order by RPTIME ");

            //double tatolScore = 0;

            //foreach (PersonRewardPunishInfo ppi in ppilist)
            //{
            //    StringPair sp = new StringPair();

            //    string datestr = "";
            //    try
            //    {
            //        datestr = Convert.ToDateTime(ppi.RPTIME).ToString("yyyy-MM-dd");
            //    }
            //    catch
            //    {

            //    }

            //    sp.Key = datestr;

            //    tatolScore = tatolScore + ppi.FRACTION;
            //    sp.Value = tatolScore.ToString();


            //    DataList.SPList.Add(sp);

            //}

            ////DataList.SPList.Sort();
            //this.Series.DataSource = null;
            //this.Series.DataSource = DataList.SPList;
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="datasource"></param>
        /// <param name="incident">类型</param>
        private void statisticListControl_OnCellClick(StatisticDataSource datasource, string incident)
        {
            //string activityguid = CO_IA.Client.RiasPortal.ModuleContainer.Activity.Guid;

            string useid = datasource.GroupGuid; //取得用户ID

            if (useid == "total" || useid == "合计" || useid == "数据详情")
            {
                useid = string.Empty;
            }

            string type = incident; //要查询的统计类型

            //switch (type)
            //{

            if (string.IsNullOrEmpty(type))
            {
                #region  delete
                //DataList = new StringPairList();

                //DataManager.Public.PersonRewardPunishInfoModel model = new DataManager.Public.PersonRewardPunishInfoModel();

                //List<PersonRewardPunishInfo> ppilist = model.GetPersonRewardPunishInfos("", "", useid, de_fromdate.DateTime.ToString("yyyy-MM-dd"), de_todate.DateTime.ToString("yyyy-MM-dd"), "order by RPTIME ");

                //double tatolScore = 0;

                //foreach (PersonRewardPunishInfo ppi in ppilist)
                //{

                //    string datestr = "";
                //    try
                //    {
                //        datestr = Convert.ToDateTime(ppi.RPTIME).ToString("yyyy-MM-dd");
                //    }
                //    catch
                //    {

                //    }


                //    foreach (StringPair tempsp in DataList.SPList)
                //    {
                //        if (tempsp.Key == datestr)
                //        {
                //            tempsp.Value = (Convert.ToDouble(tempsp.Value) +ppi.FRACTION).ToString();

                //            continue;
                //        }

                //    }

                //    StringPair sp = new StringPair();



                //    sp.Key = datestr;


                //    tatolScore = tatolScore + ppi.FRACTION;
                //    sp.Value = tatolScore.ToString();


                //    DataList.SPList.Add(sp);

                //}
                //this.Series.DataSource = null;
                //this.Series.DataSource = DataList.SPList;
                #endregion

                StatisticLineChartControl statisticLineChartControl = new StatisticLineChartControl();
                statisticLineChartControl.NameID = useid;

                if (string.IsNullOrEmpty(de_fromdate.Text) == false)
                {
                    statisticLineChartControl.FromDate = de_fromdate.DateTime.ToString("yyyy-MM-dd");
                }

                if (string.IsNullOrEmpty(de_todate.Text) == false)
                {
                    statisticLineChartControl.ToDate = de_todate.DateTime.ToString("yyyy-MM-dd");
                }
                statisticLineChartControl.LoadData();
                SetStatisticDetailControl(statisticLineChartControl);
            }
            else
            {
                //人员id  //类型 // 时间段

                //default: //病假、购物等

                PersonRPList personrplist = new PersonRPList();
                personrplist.NameID   = useid;
                personrplist.Incident = type;
                if (string.IsNullOrEmpty(de_fromdate.Text) == false)
                {
                    personrplist.FromDate = de_fromdate.DateTime.ToString("yyyy-MM-dd");
                }

                if (string.IsNullOrEmpty(de_todate.Text) == false)
                {
                    personrplist.ToDate = de_todate.DateTime.ToString("yyyy-MM-dd");
                }
                personrplist.LoadData();
                SetStatisticDetailControl(personrplist);
                //break;

                //}
            }
        }
示例#9
0
        /// <summary>
        /// 单元格单击事件
        /// </summary>
        /// <param name="condition"></param>
        /// <param name="placeguid"></param>
        private void statisticListControl_OnCellClick(StatisticDataSource datasource, string placeguid)
        {
            string activityguid = CO_IA.Client.RiasPortal.ModuleContainer.Activity.Guid;
            EquipmentLoadStrategy equloadstrategy;
            string condition = datasource.Group;

            switch (StatisticType)
            {
                #region  设备和台站
            case StatisticTypes.ORGAndEQUStatisticType:
                equloadstrategy = new EquipmentLoadStrategy();
                equloadstrategy.ActivityGuid = activityguid;
                equloadstrategy.PlaceGuid    = placeguid;
                equloadstrategy.OrgName      = condition;
                QueryEQUStatisticDetail(equloadstrategy);
                break;
                #endregion

                #region 周围台站
            case StatisticTypes.SurroundStatStatisticType:
                QuerySurroundStatStatisticDetail(activityguid, placeguid, condition);
                break;
                #endregion

                #region 频率指配
            case StatisticTypes.FreqAssignStatisticType:
                equloadstrategy = new EquipmentLoadStrategy();
                equloadstrategy.ActivityGuid = activityguid;
                equloadstrategy.PlaceGuid    = placeguid;
                QueryFreqAssignStatisticDetail(equloadstrategy, condition);
                break;
                #endregion

                #region 设备检测
            case StatisticTypes.EquInspectionSticType:
                EquInspectionQueryCondition loadcondition = new EquInspectionQueryCondition();
                loadcondition.ActivityGuid = activityguid;
                loadcondition.PlaceGuid    = placeguid;
                InspectionStateEnum state;
                if (Enum.TryParse(condition, out state))
                {
                    switch (state)
                    {
                    case InspectionStateEnum.总数:
                        loadcondition.CheckState = new List <CheckStateEnum>()
                        {
                        };
                        break;

                    case InspectionStateEnum.检测通过:
                        loadcondition.CheckState = new List <CheckStateEnum>()
                        {
                            CheckStateEnum.Qualified
                        };
                        break;

                    case InspectionStateEnum.检测未通过:
                        loadcondition.CheckState = new List <CheckStateEnum>()
                        {
                            CheckStateEnum.UnQualified
                        };

                        break;

                    case InspectionStateEnum.未检测:
                        loadcondition.CheckState = new List <CheckStateEnum>()
                        {
                            CheckStateEnum.UnCheck
                        };
                        break;
                    }

                    QueryEquInspectionStatisticDetail(loadcondition);
                }
                break;
                #endregion

                #region 人员预案
            case StatisticTypes.PersonPlanStatisticType:
                string orgguid = datasource.GroupGuid;
                if (orgguid == "total")
                {
                    orgguid = string.Empty;
                }

                string type = placeguid;
                switch (type)
                {
                    //case "设备":
                    //    EquList equlst = new EquList();
                    //    equlst.OrgID = orgguid;
                    //    SetStatisticDetailControl(equlst);
                    //    break;
                    //case "人员":
                    //    PersonList personlist = new PersonList();
                    //    personlist.OrgID = orgguid;
                    //    SetStatisticDetailControl(personlist);
                    //    break;
                    //case "车辆":
                    //    VehicleList vehiclelst = new VehicleList();
                    //    vehiclelst.OrgID = orgguid;
                    //    SetStatisticDetailControl(vehiclelst);
                    //    break;
                }
                break;
                #endregion
            }
        }
示例#10
0
        private List <StatisticDataSource> GetDataGridItemsSource <T, S>(T seriestype, T nametype, Func <S, string> seriesGenerator,
                                                                         Func <S, string> nameGenerator, out List <NameValuePair <string> > sgroups)
            where T : struct
            where S : StatisticData
        {
            List <StatisticDataSource>     datasources     = new List <StatisticDataSource>();
            List <NameValuePair <string> > statisticgroups = new List <NameValuePair <string> >();

            #region
            //if (nametype.GetType() == FreqAssignStatisticType.活动地点.GetType())
            //{
            //    IEnumerable<IGrouping<string, S>> conditions = ((List<S>)StatisticSource).GroupBy(r => seriesGenerator(r));
            //    foreach (IGrouping<string, S> condition in conditions)
            //    {
            //        StatisticDataSource datasource = new StatisticDataSource();
            //        datasource.Group = condition.Key;

            //        IEnumerable<IGrouping<string, S>> groups = condition.GroupBy(r => nameGenerator(r));
            //        groups.OrderBy(r => r.Key);
            //        foreach (IGrouping<string, S> group in groups)
            //        {
            //            int count = group.Sum(n => n.Count);
            //            datasource[group.Key] = count;
            //            if (!statisticgroups.Contains(group.Key))
            //            {
            //                statisticgroups.Add(group.Key);
            //            }
            //        }
            //        statisticgroups = statisticgroups.OrderBy(r => r).ToList();
            //        datasources.Add(datasource);
            //        datasources = datasources.OrderBy(r => r.Group).ToList();
            //    }
            //}
            //else
            //{
            //ActivityPlace[] actPlace = RiasPortal.GetCurrentActivityPlaces();
            #endregion

            ActivityPlaceInfo[] actPlace = Utility.GetPlacesByActivityId(CO_IA.Client.RiasPortal.ModuleContainer.Activity.Guid);

            for (int i = 0; i < actPlace.Length; i++)
            {
                if (this.SelectedPlace == "all")
                {
                    statisticgroups.Add(new NameValuePair <string>()
                    {
                        Name = actPlace[i].Guid, Value = actPlace[i].Name
                    });
                }
                else
                {
                    if (this.SelectedPlace == actPlace[i].Guid)
                    {
                        statisticgroups.Add(new NameValuePair <string>()
                        {
                            Name = actPlace[i].Guid, Value = actPlace[i].Name
                        });
                    }
                }
            }
            IEnumerable <IGrouping <string, S> > conditions = ((List <S>)StatisticSource).GroupBy(r => seriesGenerator(r));
            foreach (IGrouping <string, S> condition in conditions)
            {
                StatisticDataSource datasource = new StatisticDataSource();
                datasource.Group     = condition.Key;
                datasource.GroupGuid = condition.Key;

                IEnumerable <IGrouping <string, S> > groups = condition.GroupBy(r => nameGenerator(r));
                foreach (IGrouping <string, S> group in groups)
                {
                    double count = group.Sum(n => n.Count);
                    datasource[group.Key] = count;
                }
                datasources.Add(datasource);
            }
            //}
            sgroups = statisticgroups;
            return(datasources);
        }