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.
 
 
 
 
 
 

338 lines
11 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. /// <summary>
  88. /// 表单页【学生】
  89. /// <summary>
  90. /// <returns></returns>
  91. [HttpGet]
  92. public ActionResult FormOfStudent()
  93. {
  94. var logUser = LoginUserInfo.Get();
  95. var stuinfo = stuInfoBasicIBLL.GetStuInfoBasicEntityByStuNo(logUser.account);
  96. ViewBag.StuNo = stuinfo?.StuNo;
  97. ViewBag.StuName = stuinfo?.StuName;
  98. ViewBag.DeptNo = stuinfo?.DeptNo;
  99. ViewBag.ClassNo = stuinfo?.ClassNo;
  100. ViewBag.IdentityCardNo = stuinfo?.IdentityCardNo;
  101. ViewBag.OpenBank = stuinfo?.DepositBank;
  102. ViewBag.OpenAccount = stuinfo?.BankCard;
  103. return View();
  104. }
  105. /// <summary>
  106. /// 表单页
  107. /// <summary>
  108. /// <returns></returns>
  109. [HttpGet]
  110. public ActionResult IndexInStuScoreOfStudent()
  111. {
  112. return View();
  113. }
  114. #endregion
  115. #region 获取数据
  116. /// <summary>
  117. /// 获取页面显示列表数据
  118. /// </summary>
  119. /// <param name="pagination">分页参数</param>
  120. /// <param name="queryJson">查询参数</param>
  121. /// <returns></returns>
  122. [HttpGet]
  123. [AjaxOnly]
  124. public ActionResult GetPageList(string pagination, string queryJson)
  125. {
  126. Pagination paginationobj = pagination.ToObject<Pagination>();
  127. var data = schoolLevelScholarshipIBLL.GetPageList(paginationobj, queryJson);
  128. var jsonData = new
  129. {
  130. rows = data,
  131. total = paginationobj.total,
  132. page = paginationobj.page,
  133. records = paginationobj.records
  134. };
  135. return Success(jsonData);
  136. }
  137. /// <summary>
  138. /// 获取表单数据
  139. /// </summary>
  140. /// <param name="keyValue">主键</param>
  141. /// <returns></returns>
  142. [HttpGet]
  143. [AjaxOnly]
  144. public ActionResult GetFormData(string keyValue)
  145. {
  146. var SchoolLevelScholarshipData = schoolLevelScholarshipIBLL.GetSchoolLevelScholarshipEntity(keyValue);
  147. var jsonData = new
  148. {
  149. SchoolLevelScholarship = SchoolLevelScholarshipData,
  150. };
  151. return Success(jsonData);
  152. }
  153. [HttpGet]
  154. [AjaxOnly]
  155. public ActionResult GetClassList()
  156. {
  157. var account = LoginUserInfo.Get().account;
  158. var data = classInfoIBLL.GetListByAccount(account);
  159. if (account.ToLower() == "system")
  160. {
  161. data = classInfoIBLL.GetAllClass().OrderBy(x => x.ClassNo);
  162. }
  163. return Success(data);
  164. }
  165. /// <summary>
  166. /// 获取班级成绩列表
  167. /// <summary>
  168. /// <returns></returns>
  169. [HttpGet]
  170. [AjaxOnly]
  171. public ActionResult GetScoreListByClassNo(string queryJson)
  172. {
  173. var data = stuScoreIBLL.GetScoreListByClassNoForScholarship(queryJson);
  174. 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
  175. {
  176. StuId = x.Key.StuId,
  177. StuNo = x.Key.StuNo,
  178. StuName = x.Key.StuName,
  179. DeptNo = x.Key.DeptNo,
  180. ClassNo = x.Key.ClassNo,
  181. IdCard = x.Key.IdCard,
  182. GenderNo = x.Key.GenderNo,
  183. Birthday = x.Key.Birthday,
  184. NationalityNo = x.Key.NationalityNo,
  185. PartyFaceNo = x.Key.PartyFaceNo,
  186. MajorNo = x.Key.MajorNo,
  187. Grade = x.Key.Grade,
  188. DepositBank = x.Key.DepositBank,
  189. BankCard = x.Key.BankCard,
  190. TotalScore = x.Select(y => y.Score).Sum(),
  191. }).OrderByDescending(x => x.TotalScore);
  192. var result = new List<Dictionary<string, string>>();
  193. int num = 1;
  194. foreach (var item in aa)
  195. {
  196. var aaa = new Dictionary<string, string>();
  197. aaa.Add("Num", num.ToString());
  198. aaa.Add("StuNum", aa.Count().ToString());
  199. aaa.Add("StuId", item.StuId);
  200. aaa.Add("StuNo", item.StuNo);
  201. aaa.Add("StuName", item.StuName);
  202. aaa.Add("DeptNo", item.DeptNo);
  203. aaa.Add("ClassNo", item.ClassNo);
  204. aaa.Add("IdCard", item.IdCard);
  205. aaa.Add("GenderNo", item.GenderNo);
  206. aaa.Add("Birthday", item.Birthday);
  207. aaa.Add("DepositBank", item.DepositBank);
  208. aaa.Add("BankCard", item.BankCard);
  209. aaa.Add("NationalityNo", item.NationalityNo);
  210. aaa.Add("PartyFaceNo", item.PartyFaceNo);
  211. aaa.Add("MajorNo", item.MajorNo);
  212. aaa.Add("Grade", item.Grade);
  213. aaa.Add("TotalScore", item.TotalScore.ToString());
  214. result.Add(aaa);
  215. num++;
  216. }
  217. return Success(result);
  218. }
  219. /// <summary>
  220. /// 获取班级成绩列表
  221. /// <summary>
  222. /// <returns></returns>
  223. [HttpGet]
  224. [AjaxOnly]
  225. public ActionResult GetScoreRankByStuNo(string queryJson)
  226. {
  227. var param = queryJson.ToObject<StuScoreEntity>();
  228. var logUser = LoginUserInfo.Get();
  229. var stuinfo = stuInfoBasicIBLL.GetStuInfoBasicEntityByStuNo(logUser.account);
  230. var data = stuScoreIBLL.GetScoreListByStuNo(param.AcademicYearNo, param.Semester, logUser.account, stuinfo?.ClassNo);
  231. var result = new List<Dictionary<string, string>>();
  232. var aaa = new Dictionary<string, string>();
  233. aaa.Add("Rank", data.Rank.ToString());
  234. aaa.Add("TotalNum", data.TotalNum.ToString());
  235. aaa.Add("TotalScore", data.TotalScore.ToString());
  236. result.Add(aaa);
  237. return Success(result);
  238. }
  239. /// <summary>
  240. /// 获取表单数据
  241. /// </summary>
  242. /// <param name="keyValue">主键</param>
  243. /// <returns></returns>
  244. [HttpGet]
  245. [AjaxOnly]
  246. public ActionResult GetStuInfoBasicEntityByStuNo(string StuNo)
  247. {
  248. var StuInfoBasic = stuInfoBasicIBLL.GetStuInfoBasicEntityByStuNo(StuNo);
  249. var jsonData = new
  250. {
  251. StuInfoBasic = StuInfoBasic,
  252. };
  253. return Success(jsonData);
  254. }
  255. #endregion
  256. #region 提交数据
  257. /// <summary>
  258. /// 删除实体数据
  259. /// </summary>
  260. /// <param name="keyValue">主键</param>
  261. /// <returns></returns>
  262. [HttpPost]
  263. [AjaxOnly]
  264. public ActionResult DeleteForm(string keyValue)
  265. {
  266. schoolLevelScholarshipIBLL.DeleteEntity(keyValue);
  267. return Success("删除成功!");
  268. }
  269. /// <summary>
  270. /// 保存实体数据(新增、修改)
  271. /// </summary>
  272. /// <param name="keyValue">主键</param>
  273. /// <param name="strEntity">实体</param>
  274. /// <returns></returns>
  275. [HttpPost]
  276. [ValidateAntiForgeryToken]
  277. [AjaxOnly]
  278. public ActionResult SaveForm(string keyValue, string strEntity)
  279. {
  280. SchoolLevelScholarshipEntity entity = strEntity.ToObject<SchoolLevelScholarshipEntity>();
  281. schoolLevelScholarshipIBLL.SaveEntity(keyValue, entity);
  282. return Success("保存成功!");
  283. }
  284. /// <summary>
  285. /// 提交
  286. /// </summary>
  287. /// <param name="keyValue">主键</param>
  288. /// <returns></returns>
  289. [HttpPost]
  290. [AjaxOnly]
  291. public ActionResult DoSubmit(string keyValue, string status, string step)
  292. {
  293. schoolLevelScholarshipIBLL.DoSubmit(keyValue, status, step);
  294. return Success("操作成功!");
  295. }
  296. /// <summary>
  297. /// 退回
  298. /// </summary>
  299. /// <param name="keyValue">主键</param>
  300. /// <returns></returns>
  301. [HttpPost]
  302. [AjaxOnly]
  303. public ActionResult DoBack(string keyValue, string status, string step)
  304. {
  305. schoolLevelScholarshipIBLL.DoBack(keyValue, status, step);
  306. return Success("操作成功!");
  307. }
  308. #endregion
  309. }
  310. }