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.
 
 
 
 
 
 

230 lines
8.6 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. using DocumentFormat.OpenXml.Office.CustomUI;
  9. using List = DocumentFormat.OpenXml.Office2010.ExcelAc.List;
  10. namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers
  11. {
  12. /// <summary>
  13. /// 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园
  14. /// Copyright (c) 2013-2018 北京泉江科技有限公司
  15. /// 创 建:超级管理员
  16. /// 日 期:2019-08-21 17:28
  17. /// 描 述:设置教师
  18. /// </summary>
  19. public class ClassPlanTeachController : MvcControllerBase
  20. {
  21. private TeachClassIBLL teachClassIBLL = new TeachClassBLL();
  22. private StuSelectLessonListIBLL StuSelectLesson = new StuSelectLessonListBLL();
  23. private StuInfoBasicIBLL stuInfoBasicIBLL = new StuInfoBasicBLL();
  24. private StuScoreIBLL stuScoreIBLL = new StuScoreBLL();
  25. private LessonInfoIBLL lessonInfoIBLL = new LessonInfoBLL();
  26. #region 视图功能
  27. /// <summary>
  28. /// 主页面
  29. /// <summary>
  30. /// <returns></returns>
  31. [HttpGet]
  32. public ActionResult Index()
  33. {
  34. return View();
  35. }
  36. /// <summary>
  37. /// 主页面
  38. /// <summary>
  39. /// <returns></returns>
  40. [HttpGet]
  41. public ActionResult TeachForm()
  42. {
  43. return View();
  44. }
  45. /// <summary>
  46. /// 主页面
  47. /// <summary>
  48. /// <returns></returns>
  49. [HttpGet]
  50. public ActionResult TeachFormQZ()
  51. {
  52. return View();
  53. }
  54. #endregion
  55. #region 获取数据
  56. /// <summary>
  57. /// 获取页面显示列表数据
  58. /// </summary>
  59. /// <param name="pagination">分页参数</param>
  60. /// <param name="queryJson">查询参数</param>
  61. /// <returns></returns>
  62. [HttpGet]
  63. [AjaxOnly]
  64. public ActionResult GetPageList(string pagination, string queryJson)
  65. {
  66. Pagination paginationobj = pagination.ToObject<Pagination>();
  67. var data = teachClassIBLL.GetPageList(paginationobj, queryJson);
  68. var studata = stuInfoBasicIBLL.GetAllList();
  69. foreach (var item in data)
  70. {
  71. item.StuNum = studata.Where(o =>
  72. o.DeptNo == item.DeptNo && o.MajorNo == item.MajorNo
  73. && o.ClassNo == item.TeachClassNo && o.Grade == item.Grade
  74. ).Count();
  75. }
  76. var jsonData = new
  77. {
  78. rows = data,
  79. total = paginationobj.total,
  80. page = paginationobj.page,
  81. records = paginationobj.records
  82. };
  83. return Success(jsonData);
  84. }
  85. /// <summary>
  86. /// 获取表单数据
  87. /// </summary>
  88. /// <param name="keyValue">主键</param>
  89. /// <returns></returns>
  90. [HttpGet]
  91. [AjaxOnly]
  92. public ActionResult GetFormData(string keyValue)
  93. {
  94. var ClassPlanData = teachClassIBLL.GetTeachClassEntity(keyValue);
  95. var jsonData = new
  96. {
  97. ClassPlan = ClassPlanData,
  98. };
  99. return Success(jsonData);
  100. }
  101. #endregion
  102. #region 提交数据
  103. /// <summary>
  104. /// 删除实体数据
  105. /// </summary>
  106. /// <param name="keyValue">主键</param>
  107. /// <returns></returns>
  108. [HttpPost]
  109. [AjaxOnly]
  110. public ActionResult DeleteForm(string keyValue)
  111. {
  112. teachClassIBLL.DeleteEntity(keyValue);
  113. return Success("删除成功!");
  114. }
  115. /// <summary>
  116. /// 保存实体数据(新增、修改)
  117. /// </summary>
  118. /// <param name="keyValue">主键</param>
  119. /// <param name="strEntity">实体</param>
  120. /// <returns></returns>
  121. [HttpPost]
  122. [ValidateAntiForgeryToken]
  123. [AjaxOnly]
  124. public ActionResult SaveForm(string keyValue, string strEntity)
  125. {
  126. TeachClassEntity entity = strEntity.ToObject<TeachClassEntity>();
  127. teachClassIBLL.SaveEntity(keyValue, entity);
  128. return Success("保存成功!");
  129. }
  130. #endregion
  131. #region 扩展数据
  132. /// <summary>
  133. /// 设置教师
  134. /// </summary>
  135. /// <param name="keyValue"></param>
  136. /// <returns></returns>
  137. [HttpPost]
  138. [AjaxOnly]
  139. public ActionResult SetTeach(string keyValue, string EmpNo)
  140. {
  141. var entityList = teachClassIBLL.GetTeachListById(keyValue);
  142. var lessonData = lessonInfoIBLL.GetAllLesson();
  143. List<StuSelectLessonListEntity> TeachList = new List<StuSelectLessonListEntity>();
  144. for (int i = 0; i < entityList.Count; i++)
  145. {
  146. var stuDataList = stuInfoBasicIBLL.GetAllList().Where(s => s.DeptNo == entityList[i].DeptNo
  147. && s.MajorNo == entityList[i].MajorNo && s.F_SchoolId == entityList[i].F_SchoolId
  148. && s.ClassNo == entityList[i].TeachClassNo
  149. ).ToList();
  150. if (stuDataList.Count > 0)
  151. {
  152. for (int j = 0; j < stuDataList.Count; j++)
  153. {
  154. StuSelectLessonListEntity TeachEntity = new StuSelectLessonListEntity();
  155. TeachEntity.NoticeBookNo = stuDataList[j].StuNo;
  156. TeachEntity.StuNo = stuDataList[j].StuNo;
  157. TeachEntity.DeptNo = entityList[i].DeptNo;
  158. TeachEntity.MajorNo = entityList[i].MajorNo;
  159. TeachEntity.ClassNo = stuDataList[j].ClassNo;
  160. TeachEntity.StuName = stuDataList[j].StuName;
  161. TeachEntity.GenderNo = Convert.ToInt32(stuDataList[j].GenderNo).ToString();
  162. TeachEntity.AcademicYearNo = entityList[i].AcademicYearNo;
  163. TeachEntity.Semester = entityList[i].Semester;
  164. TeachEntity.OpenLessonDeptNo = entityList[i].DeptNo;
  165. TeachEntity.OpenLessonMajorNo = entityList[i].MajorNo;
  166. TeachEntity.LessonNo = entityList[i].LessonNo;
  167. TeachEntity.LessonName = lessonData.FirstOrDefault(m => m.LessonNo == TeachEntity.LessonNo)?.LessonName;
  168. TeachEntity.PartCode = "";
  169. TeachEntity.OrdinaryScoreScale = 0;
  170. TeachEntity.TermInScoreScale = 0;
  171. TeachEntity.TermEndScoreScale = 0;
  172. TeachEntity.OtherScoreScale = 0;
  173. TeachEntity.TeachClassNo = entityList[i].TeachClassNo;
  174. TeachEntity.LessonSortNo = entityList[i].LessonSortNo;
  175. TeachEntity.StuSortNo = "02";
  176. TeachEntity.Grade = entityList[i].Grade;
  177. TeachEntity.StudyScore = 0;
  178. TeachEntity.TotalStudyHour = 0;
  179. TeachEntity.IsInEffect = "1";
  180. TeachEntity.IsPitchOn = "1";
  181. TeachEntity.EmpNo = EmpNo;
  182. TeachEntity.F_SchoolId = entityList[i].F_SchoolId;
  183. TeachEntity.CheckMark = "1";
  184. TeachEntity.InsertTime = DateTime.Now;
  185. TeachList.Add(TeachEntity);
  186. }
  187. }
  188. else
  189. {
  190. return Fail("设置失败,未发现相关学生!");
  191. }
  192. }
  193. StuSelectLesson.SaveEntityList(TeachList);
  194. teachClassIBLL.UpEmpNo(keyValue, EmpNo); //更改当前教师
  195. return Success("设置成功!");
  196. }
  197. public ActionResult QzSetTeach(string keyValue, string EmpNo)
  198. {
  199. var entityList = teachClassIBLL.GetTeachListById(keyValue).ToList();
  200. foreach (var item in entityList)
  201. {
  202. teachClassIBLL.UpEmpNos(item.AcademicYearNo, item.Semester, item.TeachClassNo, item.LessonNo, EmpNo, item.EmpNo,item.Grade);
  203. stuScoreIBLL.UpEmpNos(item.AcademicYearNo, item.Semester, item.TeachClassNo, item.LessonNo, EmpNo, item.EmpNo, item.Grade);
  204. }
  205. teachClassIBLL.UpEmpNo(keyValue, EmpNo); //更改当前教师
  206. return Success("设置成功!");
  207. }
  208. #endregion
  209. }
  210. }