void client_GetPieEmployeeceInfoCompleted(object sender, GetPieEmployeeceInfoCompletedEventArgs e) { if (e.Error != null) { MessageBox.Show("错误信息:" + e.Error.ToString()); } else { if (e.Result != null) { //等到员工数据 var employeeInfo = from p in e.Result select p; List <PieEmployeece> employeeceList = new List <PieEmployeece>(); foreach (var item in employeeInfo) { PieEmployeece pieEmployeece = new PieEmployeece(); //婚姻状态 if (item.marriage == "" || item.marriage == null) { pieEmployeece.marriage = "离异"; } else if (item.marriage == "1") { pieEmployeece.marriage = "已婚"; } else if (item.marriage == "0") { pieEmployeece.marriage = "未婚"; } //人数 pieEmployeece.CountEmployeece = item.CountEmployeece; employeeceList.Add(pieEmployeece); } listPieEmployeece = employeeceList; CreatePieChart(); } else { if (StrCompanyIDs == "") { MessageBox.Show("请选择公司!"); } else { MessageBox.Show(nuYear.Value.ToString() + "年没有查询到数据!"); listPieEmployeece = null; } } } }
void client_GetPieEmployeeceInfoCompleted(object sender, GetPieEmployeeceInfoCompletedEventArgs e) { if (e.Error!=null) { MessageBox.Show("错误信息:"+e.Error.ToString()); } else { if (e.Result!=null ) { //等到员工数据 var employeeInfo = from p in e.Result select p; List<PieEmployeece> employeeceList = new List<PieEmployeece>(); foreach (var item in employeeInfo) { PieEmployeece pieEmployeece = new PieEmployeece(); //婚姻状态 if (item.marriage =="" ||item.marriage==null) { pieEmployeece.marriage = "离异"; } else if (item.marriage == "1") { pieEmployeece.marriage = "已婚"; } else if (item.marriage == "0") { pieEmployeece.marriage = "未婚"; } //人数 pieEmployeece.CountEmployeece = item.CountEmployeece; employeeceList.Add(pieEmployeece); } listPieEmployeece = employeeceList; CreateCreatePieChart(); } else { if (StrCompanyIDs == "") { MessageBox.Show("请选择公司!"); } else { MessageBox.Show(nuYear.Value.ToString() + "年没有查询到数据!"); listPieEmployeece = null; } } } }
void serviceClient_GetAllCompanyInfoCompleted(object sender, GetAllCompanyInfoCompletedEventArgs e) { if (e.Error != null) { MessageBox.Show("错误信息:" + e.Error.ToString()); } else { if (e.Result != null) { //得到员工数据 var employeeInfo = from p in e.Result select p; List <PieEmployeece> employeeceList = new List <PieEmployeece>(); foreach (var t in employeeInfo) { PieEmployeece employeece = new PieEmployeece(); //公司名字 中文名 employeece.CNAME = t.CNAME; //人数 employeece.CountEmployeece = 0; employeeceList.Add(employeece); } if (employeeceList.Count() > 0) { listPieEmployeece = employeeceList; CreatePieChart(); } else { MessageBox.Show("没有查询到数据!"); } } } }
void serviceClient_GetAllCompanyInfoCompleted(object sender, GetAllCompanyInfoCompletedEventArgs e) { if (e.Error!=null) { MessageBox.Show("错误信息:" +e.Error.ToString()); } else { if (e.Result!=null) { //得到员工数据 var employeeInfo = from p in e.Result select p; List<PieEmployeece> employeeceList = new List<PieEmployeece>(); foreach (var t in employeeInfo) { PieEmployeece employeece = new PieEmployeece(); //公司名字 中文名 employeece.CNAME = t.CNAME; //人数 employeece.CountEmployeece = 0; employeeceList.Add(employeece); } if (employeeceList.Count() > 0) { listPieEmployeece = employeeceList; CreatePieChart(); } else { MessageBox.Show("没有查询到数据!"); } } } }
void serviceClient_GetEducationPieEmployeeceInfoCompleted(object sender, GetEducationPieEmployeeceInfoCompletedEventArgs e) { if (e.Error != null) { MessageBox.Show("错误信息:" + e.Error.ToString()); } else { if (e.Result != null) { //得到员工数据 var employeeInfo = from p in e.Result select p; List<PieEmployeece> employeeceList = new List<PieEmployeece>(); // 0、1、2、3表示大专及以下 int CountEmployeece = employeeInfo.Where(T => (T.Education == "0" || T.Education == "1" || T.Education == "2" || T.Education == "3")).Count(); ; //分组查询 var employee = from p in employeeInfo orderby p.Education group p by p.Education into g select new PieEmployeece { Education = g.Key, CountEmployeece = g.Count() }; int employeece = 0; //分解数据 foreach (var item in employee) { PieEmployeece pieEmployeece = new PieEmployeece(); // 0、1、2、3表示大专及以下/ 4:本科/5: 硕士/6: 博士 if (CountEmployeece > 0 && employeece==0) { pieEmployeece.Education = "大专及以下"; //人数 pieEmployeece.CountEmployeece = CountEmployeece; employeece = 1; employeeceList.Add(pieEmployeece); } else if (item.Education == "4") { pieEmployeece.Education ="本科"; //人数 pieEmployeece.CountEmployeece = item.CountEmployeece; employeeceList.Add(pieEmployeece); } else if (item.Education == "5") { pieEmployeece.Education = "硕士"; //人数 pieEmployeece.CountEmployeece = item.CountEmployeece; employeeceList.Add(pieEmployeece); } else if (item.Education == "6") { pieEmployeece.Education = "博士"; //人数 pieEmployeece.CountEmployeece = item.CountEmployeece; employeeceList.Add(pieEmployeece); } } if (employeeceList.Count()>0) { listPieEmployeece = employeeceList; CreatePieChart(); } else { MessageBox.Show("没有符合学历要求员工!"); } } else { if (StrCompanyIDs == "") { MessageBox.Show("请选择公司!"); } else { MessageBox.Show(nuYear.Value.ToString() + "年没有查询到数据!"); listPieEmployeece = null; } } } }
/// <summary> /// 人工婚姻报表Pie /// </summary> /// <param name="Companyid">公司ID</param> /// <param name="StartDate">开始时间</param> /// <param name="EndDate">结束时间</param> /// <param name="filterString">where</param> /// <param name="paras"></param> /// <param name="userID">员工ID</param> /// <returns></returns> public List <PieEmployeece> GetPieEmployeeceInfo(string Companyid, string style, string StartDate, string EndDate, string filterString, IList <object> paras, string userID) { try { #region 暂时删除(只查本公司) ////根据传递过来的Companyid查询公司表,得到是否有子公司 //var CompanyInfo = from ent in dal.GetObjects<T_HR_COMPANY>() // where ent.FATHERID == Companyid // select new // { // COMPANYID = ent.COMPANYID, // //name = ent.CNAME // }; //List<object> queryParas = new List<object>(); //queryParas.AddRange(paras); //SetOrganizationFilter(ref filterString, ref queryParas, userID, "T_HR_EMPLOYEE"); //IQueryable<T_HR_EMPLOYEE> ents = from o in dal.GetObjects() // select o; //if (!string.IsNullOrEmpty(filterString)) //{ // ents = ents.Where(filterString, queryParas.ToArray()); //} //if (ents.Count()>0) //{ //var q = from ent in ents // join entry in dal.GetObjects<T_HR_EMPLOYEEENTRY>() // on ent.EMPLOYEEID equals entry.T_HR_EMPLOYEE.EMPLOYEEID // where ent.OWNERCOMPANYID == Companyid // && ent.EMPLOYEESTATE != "2" // && entry.ENTRYDATE >= StartDate // && entry.ENTRYDATE <= EndDate // group ent by ent.MARRIAGE into g // select new PieEmployeece // { // marriage = g.Key, // CountEmployeece = g.Count() // }; //if (q.Count() > 0) //{ // return q.ToList(); //} //} #endregion List <object> queryParas = new List <object>(); queryParas.AddRange(paras); SetOrganizationFilter(ref filterString, ref queryParas, userID, "T_HR_EMPLOYEE"); IQueryable <T_HR_EMPLOYEE> ents = from o in dal.GetObjects() select o; if (!string.IsNullOrEmpty(filterString)) { ents = ents.Where(filterString, queryParas.ToArray()); } if (ents.Count() > 0) { ReportsDAL repDal = new ReportsDAL(); DataTable dt = repDal.GetDataEmployeecInfo(Companyid, style, StartDate, EndDate); List <PieEmployeece> list = new List <PieEmployeece>(); if (dt.Rows.Count > 0) { foreach (DataRow item in dt.Rows) { PieEmployeece pie = new PieEmployeece(); pie.EMPLOYEEID = item["EMPLOYEEID"].ToString(); pie.marriage = item["MARRIAGE"].ToString(); pie.Name = item["EMPLOYEECNAME"].ToString(); list.Add(pie); } if (list.Count() > 0) { var q = from entry in list join ent in ents on entry.EMPLOYEEID equals ent.EMPLOYEEID group entry by entry.marriage into g select new PieEmployeece { marriage = g.Key, CountEmployeece = g.Count() }; return(q.ToList()); } } } return(null); } catch (Exception ex) { SMT.Foundation.Log.Tracer.Debug(System.DateTime.Now.ToString() + "GetPieEmployeeceInfo:" + ex.Message); throw ex; } }
/// <summary> /// 集团各产业员工分配比例 /// </summary> /// <param name="Companyid"></param> /// <param name="StartDate"></param> /// <param name="EndDate"></param> /// <param name="filterString"></param> /// <param name="paras"></param> /// <param name="userID"></param> /// <returns></returns> public List <PieEmployeece> GetAllCompanyInfo(string Companyid, string Style, string StartDate, string EndDate, string filterString, IList <object> paras, string userID) { try { #region 暂时删掉 只查本公司 //List<object> queryParas = new List<object>(); //queryParas.AddRange(paras); //SetOrganizationFilter(ref filterString, ref queryParas, userID, "T_HR_EMPLOYEE"); //IQueryable<T_HR_EMPLOYEE> ents = from o in dal.GetObjects() // select o; //if (!string.IsNullOrEmpty(filterString)) //{ // ents = ents.Where(filterString, queryParas.ToArray()); //} //if (ents.Count()>0) //{ // var q = from ent in dal.GetObjects() // join entry in dal.GetObjects<T_HR_EMPLOYEEENTRY>() // on ent.EMPLOYEEID equals entry.T_HR_EMPLOYEE.EMPLOYEEID // join m in dal.GetObjects<T_HR_COMPANY>() // on ent.OWNERCOMPANYID equals m.COMPANYID // where ent.EMPLOYEESTATE != "2" // && entry.ENTRYDATE >= StartDate // && entry.ENTRYDATE <= EndDate // group ent by ent.OWNERCOMPANYID into g // select new PieEmployeece // { // OWNERCOMPANYID =g.Key, // CountEmployeece=g.Count() // }; //} #endregion ReportsDAL reportDal = new ReportsDAL(); DataTable dt = reportDal.GetEmployeecByYearMM(Companyid, Style, StartDate, EndDate); List <PieEmployeece> list = new List <PieEmployeece>(); if (dt.Rows.Count > 0) { foreach (DataRow dr in dt.Rows) { PieEmployeece employee = new PieEmployeece(); //员工ID employee.EMPLOYEEID = dr["EMPLOYEEID"].ToString(); //员工姓名 employee.Name = dr["Name"].ToString(); //公司ID employee.OWNERCOMPANYID = dr["OWNERCOMPANYID"].ToString(); //公司英文名字 employee.ENAME = dr["ENAME"].ToString(); //公司中文名字 employee.CNAME = dr["CNAME"].ToString(); list.Add(employee); } } if (list.Count() > 0) { //聚合 var q = from t in list group t by t.CNAME into g select new PieEmployeece { //公司中文名字 CNAME = g.Key, //人数 CountEmployeece = g.Count() }; return(q.ToList()); } } catch (Exception ex) { SMT.Foundation.Log.Tracer.Debug(System.DateTime.Now.ToString() + "GetAllCompanyInfo:" + ex.Message); throw ex; } return(null); }
/// <summary> /// 员工司龄对比Pie图 /// </summary> /// <param name="Companyid"></param> /// <param name="StartDate"></param> /// <param name="EndDate"></param> /// <param name="filterString"></param> /// <param name="paras"></param> /// <param name="userID"></param> /// <returns></returns> public List <PieEmployeece> GetLengthServicePie(string Companyid, string Style, string StartDate, string EndDate, string filterString, IList <object> paras, string userID) { try { #region 暂时删除 只查本公司 //List<object> queryParas = new List<object>(); //queryParas.AddRange(paras); //SetOrganizationFilter(ref filterString, ref queryParas, userID, "T_HR_EMPLOYEE"); //IQueryable<T_HR_EMPLOYEE> ents = from o in dal.GetObjects() // select o; //if (!string.IsNullOrEmpty(filterString)) //{ // ents = ents.Where(filterString, queryParas.ToArray()); //} //if (ents.Count() > 0) //{ // var q = from ent in dal.GetObjects() // join entry in dal.GetObjects<T_HR_EMPLOYEEENTRY>() // on ent.EMPLOYEEID equals entry.T_HR_EMPLOYEE.EMPLOYEEID // where ent.OWNERCOMPANYID == Companyid // && ent.EMPLOYEESTATE != "2" // && entry.ENTRYDATE >= StartDate // && entry.ENTRYDATE <= EndDate // orderby entry.ENTRYDATE // select new PieEmployeece // { // ENTRYDATE = entry.ENTRYDATE, // Name = ent.EMPLOYEECNAME, // EMPLOYEEID = ent.EMPLOYEEID, // // // CountEmployeece = 0 // }; // if (q.Count() > 0) // { // return q.ToList(); // } //} #endregion ReportsDAL repDal = new ReportsDAL(); DataTable dt = repDal.GetDataEmployeecInfo(Companyid, Style, StartDate, EndDate); List <PieEmployeece> list = new List <PieEmployeece>(); if (dt.Rows.Count > 0) { foreach (DataRow item in dt.Rows) { PieEmployeece pie = new PieEmployeece(); if (!string.IsNullOrEmpty(item["ENTRYDATE"].ToString())) { //入职日期 pie.ENTRYDATE = DateTime.Parse(item["ENTRYDATE"].ToString()); pie.Name = item["EMPLOYEECNAME"].ToString(); list.Add(pie); } } } if (list.Count > 0) { //不聚合,到前面计算 var q = from ent in list orderby ent.ENTRYDATE select ent; return(q.ToList()); } return(null); } catch (Exception ex) { SMT.Foundation.Log.Tracer.Debug(System.DateTime.Now.ToString() + "GetLengthServicePie:" + ex.Message); throw ex; } }
void serviceClient_GetEducationPieEmployeeceInfoCompleted(object sender, GetEducationPieEmployeeceInfoCompletedEventArgs e) { if (e.Error != null) { MessageBox.Show("错误信息:" + e.Error.ToString()); } else { if (e.Result != null) { //得到员工数据 var employeeInfo = from p in e.Result select p; List <PieEmployeece> employeeceList = new List <PieEmployeece>(); // 0、1、2、3表示大专及以下 int CountEmployeece = employeeInfo.Where(T => (T.Education == "0" || T.Education == "1" || T.Education == "2" || T.Education == "3")).Count();; //分组查询 var employee = from p in employeeInfo orderby p.Education group p by p.Education into g select new PieEmployeece { Education = g.Key, CountEmployeece = g.Count() }; int employeece = 0; //分解数据 foreach (var item in employee) { PieEmployeece pieEmployeece = new PieEmployeece(); // 0、1、2、3表示大专及以下/ 4:本科/5: 硕士/6: 博士 if (CountEmployeece > 0 && employeece == 0) { pieEmployeece.Education = "大专及以下"; //人数 pieEmployeece.CountEmployeece = CountEmployeece; employeece = 1; employeeceList.Add(pieEmployeece); } else if (item.Education == "4") { pieEmployeece.Education = "本科"; //人数 pieEmployeece.CountEmployeece = item.CountEmployeece; employeeceList.Add(pieEmployeece); } else if (item.Education == "5") { pieEmployeece.Education = "硕士"; //人数 pieEmployeece.CountEmployeece = item.CountEmployeece; employeeceList.Add(pieEmployeece); } else if (item.Education == "6") { pieEmployeece.Education = "博士"; //人数 pieEmployeece.CountEmployeece = item.CountEmployeece; employeeceList.Add(pieEmployeece); } } if (employeeceList.Count() > 0) { listPieEmployeece = employeeceList; CreatePieChart(); } else { MessageBox.Show("没有符合学历要求员工!"); } } else { if (StrCompanyIDs == "") { MessageBox.Show("请选择公司!"); } else { MessageBox.Show(nuYear.Value.ToString() + "年没有查询到数据!"); listPieEmployeece = null; } } } }
void serviceClient_GetLengthServicePieCompleted(object sender, GetLengthServicePieCompletedEventArgs e) { if (e.Error != null) { MessageBox.Show("错误信息:" + e.Error.ToString()); } else { if (e.Result != null) { //等到员工数据 var employeeInfo = from p in e.Result select p; List<PieEmployeece> employeeceList = new List<PieEmployeece>(); foreach (var item in employeeInfo) { PieEmployeece pieEmployeece = new PieEmployeece(); int workAge = 0; if (item.ENTRYDATE != null) { DateTime ENTRYDATE = DateTime.Parse(item.ENTRYDATE.ToString()); //得到公龄 workAge = GetWorkAge(ENTRYDATE); } pieEmployeece.Age = workAge.ToString(); //pieEmployeece.EMPLOYEEID = item.EMPLOYEEID; pieEmployeece.Name = item.Name; employeeceList.Add(pieEmployeece); } //1年及1年以内 int m1 = employeeceList.Where(t => int.Parse(t.Age) <= 1).Count(); //1~3年(含3年) int m2 = employeeceList.Where(t => int.Parse(t.Age) >1 && int.Parse(t.Age) <=3).Count(); //3~5年(含5年) int m3 = employeeceList.Where(t => int.Parse(t.Age) >3 && int.Parse(t.Age) <= 5).Count(); //5~8年(含8年) int m4 = employeeceList.Where(t => int.Parse(t.Age) >5 && int.Parse(t.Age) <= 8).Count(); //8~10年(不含10年) int m5 = employeeceList.Where(t => int.Parse(t.Age) >8 && int.Parse(t.Age) <10).Count(); //10年以上 int m6 = employeeceList.Where(t => int.Parse(t.Age) >=10).Count(); List<PieEmployeece> newEmployeeceList = new List<PieEmployeece>(); for (int i = 0; i < 6; i++) { PieEmployeece pie = new PieEmployeece(); switch (i) { case 0: if (m1 != 0) { pie.Name = "1年及1年以内"; pie.CountEmployeece = m1; newEmployeeceList.Add(pie); } break; case 1: if (m2 != 0) { pie.Name = "1~3年(含3年)"; pie.CountEmployeece = m2; newEmployeeceList.Add(pie); } break; case 2: if (m3 != 0) { pie.Name = "3~5年(含5年)"; pie.CountEmployeece = m3; newEmployeeceList.Add(pie); } break; case 3: if (m4 != 0) { pie.Name = "5~8年(含8年)"; pie.CountEmployeece = m4; newEmployeeceList.Add(pie); } break; case 4: if (m5 != 0) { pie.Name = "8~10年(不含10年)"; pie.CountEmployeece = m5; newEmployeeceList.Add(pie); } break; case 5: if (m5 != 0) { pie.Name = "10年以上"; pie.CountEmployeece = m5; newEmployeeceList.Add(pie); } break; } } listPieEmployeece = newEmployeeceList; CreatePieChart(); } else { if (StrCompanyIDs == "") { MessageBox.Show("请选择公司!"); } else { MessageBox.Show(this.nuYear.Value.ToString() + "~" + this.EndnuYear.Value.ToString() + "年没有查询到数据!"); listPieEmployeece = null; } } } }
void serviceClient_GetLengthServicePieCompleted(object sender, GetLengthServicePieCompletedEventArgs e) { if (e.Error != null) { MessageBox.Show("错误信息:" + e.Error.ToString()); } else { if (e.Result != null) { //等到员工数据 var employeeInfo = from p in e.Result select p; List <PieEmployeece> employeeceList = new List <PieEmployeece>(); foreach (var item in employeeInfo) { PieEmployeece pieEmployeece = new PieEmployeece(); int workAge = 0; if (item.ENTRYDATE != null) { DateTime ENTRYDATE = DateTime.Parse(item.ENTRYDATE.ToString()); //得到公龄 workAge = GetWorkAge(ENTRYDATE); } pieEmployeece.Age = workAge.ToString(); //pieEmployeece.EMPLOYEEID = item.EMPLOYEEID; pieEmployeece.Name = item.Name; employeeceList.Add(pieEmployeece); } //1年及1年以内 int m1 = employeeceList.Where(t => int.Parse(t.Age) <= 1).Count(); //1~3年(含3年) int m2 = employeeceList.Where(t => int.Parse(t.Age) > 1 && int.Parse(t.Age) <= 3).Count(); //3~5年(含5年) int m3 = employeeceList.Where(t => int.Parse(t.Age) > 3 && int.Parse(t.Age) <= 5).Count(); //5~8年(含8年) int m4 = employeeceList.Where(t => int.Parse(t.Age) > 5 && int.Parse(t.Age) <= 8).Count(); //8~10年(不含10年) int m5 = employeeceList.Where(t => int.Parse(t.Age) > 8 && int.Parse(t.Age) < 10).Count(); //10年以上 int m6 = employeeceList.Where(t => int.Parse(t.Age) >= 10).Count(); List <PieEmployeece> newEmployeeceList = new List <PieEmployeece>(); for (int i = 0; i < 6; i++) { PieEmployeece pie = new PieEmployeece(); switch (i) { case 0: if (m1 != 0) { pie.Name = "1年及1年以内"; pie.CountEmployeece = m1; newEmployeeceList.Add(pie); } break; case 1: if (m2 != 0) { pie.Name = "1~3年(含3年)"; pie.CountEmployeece = m2; newEmployeeceList.Add(pie); } break; case 2: if (m3 != 0) { pie.Name = "3~5年(含5年)"; pie.CountEmployeece = m3; newEmployeeceList.Add(pie); } break; case 3: if (m4 != 0) { pie.Name = "5~8年(含8年)"; pie.CountEmployeece = m4; newEmployeeceList.Add(pie); } break; case 4: if (m5 != 0) { pie.Name = "8~10年(不含10年)"; pie.CountEmployeece = m5; newEmployeeceList.Add(pie); } break; case 5: if (m5 != 0) { pie.Name = "10年以上"; pie.CountEmployeece = m5; newEmployeeceList.Add(pie); } break; } } listPieEmployeece = newEmployeeceList; CreatePieChart(); } else { if (StrCompanyIDs == "") { MessageBox.Show("请选择公司!"); } else { MessageBox.Show(this.nuYear.Value.ToString() + "~" + this.EndnuYear.Value.ToString() + "年没有查询到数据!"); listPieEmployeece = null; } } } }
void serviceClient_GetAgePieEmployeeceInfoCompleted(object sender, GetAgePieEmployeeceInfoCompletedEventArgs e) { if (e.Error != null) { MessageBox.Show("错误信息:" + e.Error.ToString()); } else { if (e.Result != null) { //等到员工数据 var employeeInfo = from p in e.Result select p; List<PieEmployeece> employeeceList = new List<PieEmployeece>(); foreach (var item in employeeInfo) { PieEmployeece pieEmployeece = new PieEmployeece(); int age = 0; if (item.Birthday !=null) { DateTime Birthday = DateTime.Parse(item.Birthday.ToString()); //得到年龄 age = GetAge(Birthday); } pieEmployeece.Age = age.ToString(); //pieEmployeece.EMPLOYEEID = item.EMPLOYEEID; pieEmployeece.Name = item.Name; employeeceList.Add(pieEmployeece); } //25(Birthday=null不处理。25岁以下) int m1 = employeeceList.Where(t=>int.Parse(t.Age) >0 && int.Parse(t.Age)<=25).Count(); //26 int m2 = employeeceList.Where(t => int.Parse(t.Age)>=26 && int.Parse(t.Age)<=35).Count(); //36 int m3 = employeeceList.Where(t => int.Parse(t.Age) >=36 && int.Parse(t.Age) <= 45).Count(); //46 int m4 = employeeceList.Where(t => int.Parse(t.Age) >=46 && int.Parse(t.Age) <= 55).Count(); //55 int m5 = employeeceList.Where(t => int.Parse(t.Age) >55).Count(); List<PieEmployeece> newEmployeeceList = new List<PieEmployeece>(); for (int i = 0; i <5; i++) { PieEmployeece pie = new PieEmployeece(); switch (i) { case 0: if (m1!=0) { pie.Name = "25岁以下"; pie.CountEmployeece = m1; newEmployeeceList.Add(pie); } break; case 1: if (m2!=0) { pie.Name = "26~35岁"; pie.CountEmployeece = m2; newEmployeeceList.Add(pie); } break; case 2: if (m3!=0) { pie.Name = "36~45岁"; pie.CountEmployeece = m3; newEmployeeceList.Add(pie); } break; case 3: if (m4!=0) { pie.Name = "46~55岁"; pie.CountEmployeece = m4; newEmployeeceList.Add(pie); } break; case 4: if (m5!=0) { pie.Name = "55岁以上"; pie.CountEmployeece = m5; newEmployeeceList.Add(pie); } break; } } listPieEmployeece = newEmployeeceList; CreatePieChart(); } else { if (StrCompanyIDs == "") { MessageBox.Show("请选择公司!"); } else { MessageBox.Show(nuYear.Value.ToString() + "年没有查询到数据!"); listPieEmployeece = null; } } } }
void serviceClient_GetAgePieEmployeeceInfoCompleted(object sender, GetAgePieEmployeeceInfoCompletedEventArgs e) { if (e.Error != null) { MessageBox.Show("错误信息:" + e.Error.ToString()); } else { if (e.Result != null) { //等到员工数据 var employeeInfo = from p in e.Result select p; List <PieEmployeece> employeeceList = new List <PieEmployeece>(); foreach (var item in employeeInfo) { PieEmployeece pieEmployeece = new PieEmployeece(); int age = 0; if (item.Birthday != null) { DateTime Birthday = DateTime.Parse(item.Birthday.ToString()); //得到年龄 age = GetAge(Birthday); } pieEmployeece.Age = age.ToString(); //pieEmployeece.EMPLOYEEID = item.EMPLOYEEID; pieEmployeece.Name = item.Name; employeeceList.Add(pieEmployeece); } //25(Birthday=null不处理。25岁以下) int m1 = employeeceList.Where(t => int.Parse(t.Age) > 0 && int.Parse(t.Age) <= 25).Count(); //26 int m2 = employeeceList.Where(t => int.Parse(t.Age) >= 26 && int.Parse(t.Age) <= 35).Count(); //36 int m3 = employeeceList.Where(t => int.Parse(t.Age) >= 36 && int.Parse(t.Age) <= 45).Count(); //46 int m4 = employeeceList.Where(t => int.Parse(t.Age) >= 46 && int.Parse(t.Age) <= 55).Count(); //55 int m5 = employeeceList.Where(t => int.Parse(t.Age) > 55).Count(); List <PieEmployeece> newEmployeeceList = new List <PieEmployeece>(); for (int i = 0; i < 5; i++) { PieEmployeece pie = new PieEmployeece(); switch (i) { case 0: if (m1 != 0) { pie.Name = "25岁以下"; pie.CountEmployeece = m1; newEmployeeceList.Add(pie); } break; case 1: if (m2 != 0) { pie.Name = "26~35岁"; pie.CountEmployeece = m2; newEmployeeceList.Add(pie); } break; case 2: if (m3 != 0) { pie.Name = "36~45岁"; pie.CountEmployeece = m3; newEmployeeceList.Add(pie); } break; case 3: if (m4 != 0) { pie.Name = "46~55岁"; pie.CountEmployeece = m4; newEmployeeceList.Add(pie); } break; case 4: if (m5 != 0) { pie.Name = "55岁以上"; pie.CountEmployeece = m5; newEmployeeceList.Add(pie); } break; } } listPieEmployeece = newEmployeeceList; CreatePieChart(); } else { if (StrCompanyIDs == "") { MessageBox.Show("请选择公司!"); } else { MessageBox.Show(nuYear.Value.ToString() + "年没有查询到数据!"); listPieEmployeece = null; } } } }