You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

40 lines
1.8 KiB

  1. using Hangfire.Storage;
  2. using Learun.Application.TwoDevelopment.EducationalAdministration;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Linq;
  6. using System.Web;
  7. using System.Web.Mvc;
  8. using Learun.Application.Base.SystemModule;
  9. namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers
  10. {
  11. public class StuInfoBasicStatsticsController : MvcControllerBase
  12. {
  13. private StuInfoBasicIBLL stuInfoBasicIBLL = new StuInfoBasicBLL();
  14. private DataItemIBLL dataItemBll=new DataItemBLL();
  15. private DIC_PROVINCEIBLL dIC_PROVINCEIBLL = new DIC_PROVINCEBLL();
  16. private CdMajorIBLL cdMajorIbll = new CdMajorBLL();
  17. public ActionResult Index()
  18. {
  19. return View();
  20. }
  21. [HttpGet]
  22. [AjaxOnly]
  23. public ActionResult GetStatistics()
  24. {
  25. var list = stuInfoBasicIBLL.GetAllStatistics().ToList();
  26. var mzdic = dataItemBll.GetDetailList("National");
  27. var zydic = cdMajorIbll.GetAllList();
  28. var adcode = dIC_PROVINCEIBLL.GetAllList();
  29. return Success(new
  30. {
  31. XB = list.GroupBy(x => x.GenderNo).Select(x => new { name = x.Key=="True"?"男":"女", value = x.Count() }).ToList(),
  32. MZ = list.GroupBy(x => x.NationalityNo).Select(x=>new{name= mzdic.FirstOrDefault(xx=>xx.F_ItemValue==x.Key)?.F_ItemName,value=x.Count()}).ToList(),
  33. ZY = list.GroupBy(x => x.MajorNo).Select(x=>new{name= zydic.FirstOrDefault(xx=>xx.MajorNo==x.Key)?.MajorName, value=x.Count()}).ToList(),
  34. SYD=list.Where(x=> !string.IsNullOrEmpty(x.F_ProvinceId)).GroupBy(x=>x.F_ProvinceId).Select(x=>new{name= adcode.FirstOrDefault(xx=>xx.PCODE==x.Key)?.PNAME,value=x.Count()})
  35. });
  36. }
  37. }
  38. }