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.
 
 
 
 
 
 

133 regels
4.6 KiB

  1. using Learun.Application.TwoDevelopment.EducationalAdministration;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Web;
  6. using System.Web.Mvc;
  7. using Learun.Util;
  8. namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers
  9. {
  10. public class HomeStatisticsController : Controller
  11. {
  12. private StuInfoFreshIBLL stuInfoFreshIBLL = new StuInfoFreshBLL();
  13. // GET: EducationalAdministration/HomeStatistics
  14. public ActionResult Index()
  15. {
  16. return View();
  17. }
  18. public class InAndOutList
  19. {
  20. public string DeptNo { get; set; }
  21. public string DeptName { get; set; }
  22. public string MajorNo { get; set; }
  23. public string MajorName { get; set; }
  24. /// <summary>
  25. /// 总人数
  26. /// </summary>
  27. public int TotalNum { get; set; }
  28. /// <summary>
  29. /// 未报到人数
  30. /// </summary>
  31. public int NoNum { get; set; }
  32. /// <summary>
  33. /// 报到人数
  34. /// </summary>
  35. public int RegisterNum { get; set; }
  36. }
  37. public class StatisticsList
  38. {
  39. public string MajorName { get; set; }
  40. /// <summary>
  41. /// 已报到人数
  42. /// </summary>
  43. public int Num { get; set; }
  44. /// <summary>
  45. /// 总人数
  46. /// </summary>
  47. public string s { get; set; }
  48. }
  49. public class StatisticModel
  50. {
  51. public string MajorNo { get; set; }
  52. public string MajorName { get; set; }
  53. public string ClassNo { get; set; }
  54. public string ClassName { get; set; }
  55. public string Grade { get; set; }
  56. /// <summary>
  57. /// 总人数
  58. /// </summary>
  59. public int TotalNum { get; set; }
  60. /// <summary>
  61. /// 完善个人信息人数
  62. /// </summary>
  63. public int InfoNum { get; set; }
  64. /// <summary>
  65. /// 未报到人数
  66. /// </summary>
  67. public int NoNum { get; set; }
  68. /// <summary>
  69. /// 报到人数
  70. /// </summary>
  71. public int RegisterNum { get; set; }
  72. /// <summary>
  73. /// 缴费人数
  74. /// </summary>
  75. public int PayFeeNum { get; set; }
  76. /// <summary>
  77. /// 领钥匙人数
  78. /// </summary>
  79. public int GetKeyNum { get; set; }
  80. /// <summary>
  81. /// 已领取校园卡人数
  82. /// </summary>
  83. public int GetCardNum { get; set; }
  84. /// <summary>
  85. /// 已收取档案人数
  86. /// </summary>
  87. public int CollectFileNum { get; set; }
  88. /// <summary>
  89. /// 贷款人数
  90. /// </summary>
  91. public int LoanNum { get; set; }
  92. }
  93. /// <summary>
  94. /// 获取报道学生和未报到学生列表
  95. /// </summary>
  96. /// <returns></returns>
  97. [HttpGet]
  98. public ActionResult GetNewStudentList(string queryJson)
  99. {
  100. var data = stuInfoFreshIBLL.GetNewStudentList(queryJson);
  101. var list = data.Where(x => !string.IsNullOrEmpty(x.MajorNo)).GroupBy(x => x.MajorNo).Select(x => new InAndOutList
  102. {
  103. MajorNo = x.Key,
  104. MajorName = x.FirstOrDefault()?.MajorName,
  105. DeptNo = x.FirstOrDefault()?.DeptNo,
  106. DeptName = x.FirstOrDefault()?.DeptName,
  107. TotalNum = x.Count(),
  108. RegisterNum = x.Count(y => y.RegisterStatus == "1"),
  109. NoNum = x.Count() - x.Count(y => y.RegisterStatus == "1")
  110. }).OrderBy(x => x.MajorNo);
  111. List<StatisticsList> Lists = new List<StatisticsList>();
  112. foreach (var item in list)
  113. {
  114. StatisticsList InOutlist = new StatisticsList();
  115. InOutlist.MajorName = item.MajorName;
  116. InOutlist.Num = item.TotalNum;
  117. InOutlist.s = "s1";
  118. Lists.Add(InOutlist);
  119. InOutlist = new StatisticsList();
  120. InOutlist.MajorName = item.MajorName;
  121. InOutlist.Num = item.RegisterNum;
  122. InOutlist.s = "s2";
  123. Lists.Add(InOutlist);
  124. }
  125. Response.AddHeader("Access-Control-Allow-Credentials", "true");
  126. Response.AddHeader("Access-Control-Allow-Origin", "http://yuntu.cloud.tencent.com ");
  127. return Content(Lists.ToJson());
  128. }
  129. }
  130. }