/// <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); } //} } } } }
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); } } } }
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()); }
/// <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; //} } }
/// <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 } }
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); }