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.
 
 
 
 
 
 

286 lines
8.9 KiB

  1. using Learun.Util;
  2. using System.Data;
  3. using Learun.Application.TwoDevelopment.EducationalAdministration;
  4. using System.Web.Mvc;
  5. using System.Collections.Generic;
  6. using System;
  7. using System.Linq;
  8. namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers
  9. {
  10. /// <summary>
  11. /// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架
  12. /// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司
  13. /// 创 建:超级管理员
  14. /// 日 期:2023-03-16 11:49
  15. /// 描 述:校级奖学金
  16. /// </summary>
  17. public class SchoolLevelScholarshipController : MvcControllerBase
  18. {
  19. private SchoolLevelScholarshipIBLL schoolLevelScholarshipIBLL = new SchoolLevelScholarshipBLL();
  20. private ClassInfoIBLL classInfoIBLL = new ClassInfoBLL();
  21. private StuInfoBasicIBLL stuInfoBasicIBLL = new StuInfoBasicBLL();
  22. private StuScoreIBLL stuScoreIBLL = new StuScoreBLL();
  23. #region 视图功能
  24. /// <summary>
  25. /// 主页面
  26. /// <summary>
  27. /// <returns></returns>
  28. [HttpGet]
  29. public ActionResult Index()
  30. {
  31. return View();
  32. }
  33. /// <summary>
  34. /// 表单页
  35. /// <summary>
  36. /// <returns></returns>
  37. [HttpGet]
  38. public ActionResult Form()
  39. {
  40. return View();
  41. }
  42. /// <summary>
  43. /// 表单页【查看】
  44. /// <summary>
  45. /// <returns></returns>
  46. [HttpGet]
  47. public ActionResult FormView()
  48. {
  49. return View();
  50. }
  51. /// <summary>
  52. /// 表单页
  53. /// <summary>
  54. /// <returns></returns>
  55. [HttpGet]
  56. public ActionResult IndexInStuScore()
  57. {
  58. return View();
  59. }
  60. /// <summary>
  61. /// 主页面【二级学院】
  62. /// <summary>
  63. /// <returns></returns>
  64. [HttpGet]
  65. public ActionResult IndexOfTwo()
  66. {
  67. return View();
  68. }
  69. /// <summary>
  70. /// 主页面【学工部】
  71. /// <summary>
  72. /// <returns></returns>
  73. [HttpGet]
  74. public ActionResult IndexOfThree()
  75. {
  76. return View();
  77. }
  78. /// <summary>
  79. /// 主页面【学生】
  80. /// <summary>
  81. /// <returns></returns>
  82. [HttpGet]
  83. public ActionResult IndexOfStudent()
  84. {
  85. return View();
  86. }
  87. #endregion
  88. #region 获取数据
  89. /// <summary>
  90. /// 获取页面显示列表数据
  91. /// </summary>
  92. /// <param name="pagination">分页参数</param>
  93. /// <param name="queryJson">查询参数</param>
  94. /// <returns></returns>
  95. [HttpGet]
  96. [AjaxOnly]
  97. public ActionResult GetPageList(string pagination, string queryJson)
  98. {
  99. Pagination paginationobj = pagination.ToObject<Pagination>();
  100. var data = schoolLevelScholarshipIBLL.GetPageList(paginationobj, queryJson);
  101. var jsonData = new
  102. {
  103. rows = data,
  104. total = paginationobj.total,
  105. page = paginationobj.page,
  106. records = paginationobj.records
  107. };
  108. return Success(jsonData);
  109. }
  110. /// <summary>
  111. /// 获取表单数据
  112. /// </summary>
  113. /// <param name="keyValue">主键</param>
  114. /// <returns></returns>
  115. [HttpGet]
  116. [AjaxOnly]
  117. public ActionResult GetFormData(string keyValue)
  118. {
  119. var SchoolLevelScholarshipData = schoolLevelScholarshipIBLL.GetSchoolLevelScholarshipEntity(keyValue);
  120. var jsonData = new
  121. {
  122. SchoolLevelScholarship = SchoolLevelScholarshipData,
  123. };
  124. return Success(jsonData);
  125. }
  126. [HttpGet]
  127. [AjaxOnly]
  128. public ActionResult GetClassList()
  129. {
  130. var account = LoginUserInfo.Get().account;
  131. var data = classInfoIBLL.GetListByAccount(account);
  132. if (account.ToLower() == "system")
  133. {
  134. data = classInfoIBLL.GetAllClass().OrderBy(x => x.ClassNo);
  135. }
  136. return Success(data);
  137. }
  138. /// <summary>
  139. /// 获取班级成绩列表
  140. /// <summary>
  141. /// <returns></returns>
  142. [HttpGet]
  143. [AjaxOnly]
  144. public ActionResult GetScoreListByClassNo(string queryJson)
  145. {
  146. var data = stuScoreIBLL.GetScoreListByClassNoForScholarship(queryJson);
  147. var aa = data.GroupBy(x => new { x.StuNo, x.StuName, x.StuId, x.DepositBank, x.BankCard, x.DeptNo, x.ClassNo, x.IdCard, x.GenderNo, x.Birthday, x.NationalityNo, x.PartyFaceNo, x.MajorNo, x.Grade }).Select(x => new
  148. {
  149. StuId = x.Key.StuId,
  150. StuNo = x.Key.StuNo,
  151. StuName = x.Key.StuName,
  152. DeptNo = x.Key.DeptNo,
  153. ClassNo = x.Key.ClassNo,
  154. IdCard = x.Key.IdCard,
  155. GenderNo = x.Key.GenderNo,
  156. Birthday = x.Key.Birthday,
  157. NationalityNo = x.Key.NationalityNo,
  158. PartyFaceNo = x.Key.PartyFaceNo,
  159. MajorNo = x.Key.MajorNo,
  160. Grade = x.Key.Grade,
  161. DepositBank = x.Key.DepositBank,
  162. BankCard = x.Key.BankCard,
  163. TotalScore = x.Select(y => y.Score).Sum(),
  164. }).OrderByDescending(x => x.TotalScore);
  165. var result = new List<Dictionary<string, string>>();
  166. int num = 1;
  167. foreach (var item in aa)
  168. {
  169. var aaa = new Dictionary<string, string>();
  170. aaa.Add("Num", num.ToString());
  171. aaa.Add("StuNum", aa.Count().ToString());
  172. aaa.Add("StuId", item.StuId);
  173. aaa.Add("StuNo", item.StuNo);
  174. aaa.Add("StuName", item.StuName);
  175. aaa.Add("DeptNo", item.DeptNo);
  176. aaa.Add("ClassNo", item.ClassNo);
  177. aaa.Add("IdCard", item.IdCard);
  178. aaa.Add("GenderNo", item.GenderNo);
  179. aaa.Add("Birthday", item.Birthday);
  180. aaa.Add("DepositBank", item.DepositBank);
  181. aaa.Add("BankCard", item.BankCard);
  182. aaa.Add("NationalityNo", item.NationalityNo);
  183. aaa.Add("PartyFaceNo", item.PartyFaceNo);
  184. aaa.Add("MajorNo", item.MajorNo);
  185. aaa.Add("Grade", item.Grade);
  186. aaa.Add("TotalScore", item.TotalScore.ToString());
  187. result.Add(aaa);
  188. num++;
  189. }
  190. return Success(result);
  191. }
  192. /// <summary>
  193. /// 获取表单数据
  194. /// </summary>
  195. /// <param name="keyValue">主键</param>
  196. /// <returns></returns>
  197. [HttpGet]
  198. [AjaxOnly]
  199. public ActionResult GetStuInfoBasicEntityByStuNo(string StuNo)
  200. {
  201. var StuInfoBasic = stuInfoBasicIBLL.GetStuInfoBasicEntityByStuNo(StuNo);
  202. var jsonData = new
  203. {
  204. StuInfoBasic = StuInfoBasic,
  205. };
  206. return Success(jsonData);
  207. }
  208. #endregion
  209. #region 提交数据
  210. /// <summary>
  211. /// 删除实体数据
  212. /// </summary>
  213. /// <param name="keyValue">主键</param>
  214. /// <returns></returns>
  215. [HttpPost]
  216. [AjaxOnly]
  217. public ActionResult DeleteForm(string keyValue)
  218. {
  219. schoolLevelScholarshipIBLL.DeleteEntity(keyValue);
  220. return Success("删除成功!");
  221. }
  222. /// <summary>
  223. /// 保存实体数据(新增、修改)
  224. /// </summary>
  225. /// <param name="keyValue">主键</param>
  226. /// <param name="strEntity">实体</param>
  227. /// <returns></returns>
  228. [HttpPost]
  229. [ValidateAntiForgeryToken]
  230. [AjaxOnly]
  231. public ActionResult SaveForm(string keyValue, string strEntity)
  232. {
  233. SchoolLevelScholarshipEntity entity = strEntity.ToObject<SchoolLevelScholarshipEntity>();
  234. schoolLevelScholarshipIBLL.SaveEntity(keyValue, entity);
  235. return Success("保存成功!");
  236. }
  237. /// <summary>
  238. /// 提交
  239. /// </summary>
  240. /// <param name="keyValue">主键</param>
  241. /// <returns></returns>
  242. [HttpPost]
  243. [AjaxOnly]
  244. public ActionResult DoSubmit(string keyValue, string status, string step)
  245. {
  246. schoolLevelScholarshipIBLL.DoSubmit(keyValue, status, step);
  247. return Success("操作成功!");
  248. }
  249. /// <summary>
  250. /// 退回
  251. /// </summary>
  252. /// <param name="keyValue">主键</param>
  253. /// <returns></returns>
  254. [HttpPost]
  255. [AjaxOnly]
  256. public ActionResult DoBack(string keyValue, string status, string step)
  257. {
  258. schoolLevelScholarshipIBLL.DoBack(keyValue, status, step);
  259. return Success("操作成功!");
  260. }
  261. #endregion
  262. }
  263. }