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.
 
 
 
 
 
 

622 lines
26 KiB

  1. using Learun.Util;
  2. using System.Data;
  3. using Learun.Application.TwoDevelopment.PersonnelManagement;
  4. using System.Web.Mvc;
  5. using System.Collections.Generic;
  6. using Learun.Application.TwoDevelopment.EducationalAdministration;
  7. using System;
  8. using System.Linq;
  9. using System.Threading.Tasks;
  10. using Newtonsoft.Json;
  11. namespace Learun.Application.Web.Areas.PersonnelManagement.Controllers
  12. {
  13. /// <summary>
  14. /// 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园
  15. /// Copyright (c) 2013-2018 北京泉江科技有限公司
  16. /// 创 建:超级管理员
  17. /// 日 期:2019-03-25 11:16
  18. /// 描 述:课程表
  19. /// </summary>
  20. public class TimeTableController : MvcControllerBase
  21. {
  22. private ArrangeLessonTermIBLL arrangeLessonTermIBLL = new ArrangeLessonTermBLL();
  23. private StuAttendanceIBLL stuAttendanceIBLL = new StuAttendanceBLL();
  24. private ArrangeLessonTermOfElectiveIBLL arrangeLessonTermOfElectiveIBLL = new ArrangeLessonTermOfElectiveBLL();
  25. private StuAttendanceLeaveIBLL stuAttendanceLeaveIBLL = new StuAttendanceLeaveBLL();
  26. private StuSelectLessonListOfElectiveIBLL stuSelectLessonList = new StuSelectLessonListOfElectiveBLL();
  27. private StuInfoBasicIBLL stuInfoBasicIBLL = new StuInfoBasicBLL();
  28. private LessonInfoIBLL lessonInfoIBLL = new LessonInfoBLL();
  29. private Edu_ChangeTeacherLessonIBLL edu_ChangeTeacherLessonIBLL = new Edu_ChangeTeacherLessonBLL();
  30. #region 视图功能
  31. /// <summary>
  32. /// 主页面
  33. /// <summary>
  34. /// <returns></returns>
  35. [HttpGet]
  36. public ActionResult Index()
  37. {
  38. return View();
  39. }
  40. /// <summary>
  41. /// 考勤
  42. /// <summary>
  43. /// <returns></returns>
  44. [HttpGet]
  45. public ActionResult Attendance()
  46. {
  47. return View();
  48. }
  49. [HttpGet]
  50. public ActionResult AttendanceDetail()
  51. {
  52. return View();
  53. }
  54. [HttpGet]
  55. public ActionResult AttendanceStatistic()
  56. {
  57. return View();
  58. }
  59. [HttpGet]
  60. public ActionResult AttendanceList()
  61. {
  62. return View();
  63. }
  64. [HttpGet]
  65. public ActionResult Leave()
  66. {
  67. return View();
  68. }
  69. /// <summary>
  70. /// 课程表【教务】
  71. /// <summary>
  72. /// <returns></returns>
  73. [HttpGet]
  74. public ActionResult IndexInEducation()
  75. {
  76. return View();
  77. }
  78. /// <summary>
  79. /// 班级课程表【教务】
  80. /// <summary>
  81. /// <returns></returns>
  82. [HttpGet]
  83. public ActionResult ClassIndexInEducation()
  84. {
  85. return View();
  86. }
  87. /// <summary>
  88. /// 课程表【教学调度】
  89. /// <summary>
  90. /// <returns></returns>
  91. [HttpGet]
  92. public ActionResult IndexInEducationSelect()
  93. {
  94. return View();
  95. }
  96. /// <summary>
  97. /// 课程表--修改教师所带的课程【教务】
  98. /// <summary>
  99. /// <returns></returns>
  100. [HttpGet]
  101. public ActionResult IndexInEducationModify()
  102. {
  103. return View();
  104. }
  105. /// <summary>
  106. /// 表单--修改教师所带的课程【教务】
  107. /// <summary>
  108. /// <returns></returns>
  109. [HttpGet]
  110. public ActionResult ModifyLessonForm()
  111. {
  112. return View();
  113. }
  114. /// <summary>
  115. /// 表单--修改教师所带的课程【教务】
  116. /// <summary>
  117. /// <returns></returns>
  118. [HttpGet]
  119. public ActionResult SchoolLesson()
  120. {
  121. return View();
  122. }
  123. /// <summary>
  124. /// 表单--修改教师所带的课程【教务】
  125. /// <summary>
  126. /// <returns></returns>
  127. [HttpGet]
  128. public ActionResult PrintSchedule()
  129. {
  130. return View();
  131. }
  132. /// <summary>
  133. /// 获取表单数据
  134. /// <summary>
  135. /// <returns></returns>
  136. [HttpGet]
  137. [AjaxOnly]
  138. public ActionResult GetFormData()
  139. {
  140. var userInfo = LoginUserInfo.Get();
  141. var stuInfo = stuInfoBasicIBLL.GetStuInfoBasicEntityByStuNo(userInfo.account);
  142. StuAttendanceLeaveEntity entity = new StuAttendanceLeaveEntity();
  143. entity.ClassNo = stuInfo.ClassNo;
  144. entity.DeptNo = stuInfo.DeptNo;
  145. entity.Grade = stuInfo.Grade;
  146. entity.MajorNo = stuInfo.MajorNo;
  147. entity.StuNo = userInfo.account;
  148. entity.StuName = userInfo.realName;
  149. var jsonData = new
  150. {
  151. StuAttendanceLeave = entity,
  152. };
  153. return Success(jsonData);
  154. }
  155. /// <summary>
  156. /// 获取相关课程考勤的学生信息
  157. /// </summary>
  158. /// <returns></returns>
  159. [HttpGet]
  160. [AjaxOnly]
  161. public ActionResult AttendanceStudents(string pagination, string queryJson, string lessonSortNo)
  162. {
  163. Pagination paginationobj = pagination.ToObject<Pagination>();
  164. var data = new List<StuSelectLessonListEntity>();
  165. if (lessonSortNo == "1")//必修课
  166. {
  167. data = arrangeLessonTermIBLL.AttendanceStudents(paginationobj, queryJson).ToList();
  168. }
  169. else if (lessonSortNo == "2")//选修课
  170. {
  171. data = arrangeLessonTermOfElectiveIBLL.AttendanceStudents(paginationobj, queryJson).ToList();
  172. }
  173. var jsonData = new
  174. {
  175. rows = data,
  176. total = paginationobj.total,
  177. page = paginationobj.page,
  178. records = paginationobj.records
  179. };
  180. return Success(jsonData);
  181. }
  182. /// <summary>
  183. /// 提交课程考勤
  184. /// </summary>
  185. /// <returns></returns>
  186. [HttpPost]
  187. [AjaxOnly]
  188. public async Task<ActionResult> AttendanceApply(string kqType, string lessonTime, string lessonDate, string classRoomNo, string dataJson, decimal? attenScore, string attenCondition)
  189. {
  190. var data = await stuAttendanceIBLL.AttendanceApply(kqType, lessonTime, lessonDate, classRoomNo, dataJson, attenScore, attenCondition);
  191. return Success(data);
  192. }
  193. /// <summary>
  194. /// 教师/学生课程表
  195. /// </summary>
  196. /// <returns></returns>
  197. [HttpGet]
  198. [AjaxOnly]
  199. public ActionResult GetData(string startTime, string endTime)
  200. {
  201. var userInfo = LoginUserInfo.Get();
  202. //var startDate = startTime ?? Common.CalculateFirstDateOfWeek(DateTime.Today).ToString("yyyy-MM-dd");
  203. //var endDate = endTime ?? Common.CalculateLastDateOfWeek(DateTime.Today).ToString("yyyy-MM-dd");
  204. //开始时间
  205. var startdate = string.IsNullOrEmpty(startTime) ? DateTime.Today : Convert.ToDateTime(startTime);
  206. var startDate = Common.CalculateFirstDateOfWeek(startdate).ToString("yyyy-MM-dd");
  207. var endDate = Common.CalculateLastDateOfWeek(startdate).ToString("yyyy-MM-dd");
  208. var semesterAndYear = Common.GetSemesterAndYear(startDate);
  209. var strAcademicYear = semesterAndYear.AcademicYearLong;
  210. var strSemester = semesterAndYear.Semester;
  211. var timeTableList = new List<TimeTable>();
  212. //课程表
  213. var data = arrangeLessonTermIBLL.GetTimeTable(userInfo.account, userInfo.Description, startDate, endDate);
  214. timeTableList.AddRange(data);
  215. //选修课课程表
  216. var dataOfElective = arrangeLessonTermOfElectiveIBLL.GetTimeTable(userInfo.account, userInfo.Description, startDate, endDate);
  217. timeTableList.AddRange(dataOfElective);
  218. //var timeTables = data.ToList();
  219. var timeTables = timeTableList.ToList();
  220. var noDataResult = new
  221. { schoolName = "课程表", semester = $"{strAcademicYear}学年度 第{strSemester}学期", weekList = "", teacherName = userInfo.realName };
  222. if (!timeTables.Any())
  223. {
  224. return JsonResult(noDataResult);
  225. }
  226. var leaveList = stuAttendanceLeaveIBLL.GetList();
  227. var formatData = from d in timeTables
  228. let tt = d.LessonTime.Substring(1)
  229. group d by tt into g
  230. orderby g.Key
  231. select new
  232. {
  233. time = g.Key,
  234. list = from e in timeTables
  235. let ee = e.LessonTime.Substring(1)
  236. where ee == g.Key
  237. select new
  238. {
  239. day = e.LessonTime.ToCharArray()[0],
  240. curriculum = string.IsNullOrEmpty(e.EnName) ? (e.LessonSortNo == "2" ? e.LessonName + "[选修]" : e.LessonName) : (e.LessonSortNo == "2" ? e.EnName + "[选修]" : e.EnName),
  241. lessonName = e.LessonName,
  242. teacher = e.EmpName,
  243. classRoom = e.ClassroomName?.Trim(),
  244. academicyear = semesterAndYear.AcademicYearShort,
  245. semester = strSemester,
  246. lessonNo = e?.LessonNo,
  247. teachClassNo = e?.TeachClassNo,
  248. empno = e?.EmpNo,
  249. lessonTime = e.LessonTime,
  250. lessonDate = e.LessonDate.ToString("yyyy-MM-dd"),
  251. classRoomNo = e?.ClassRoomNo.Trim(),
  252. lessonSortNo = e.LessonSortNo,
  253. e.OLPEId,
  254. className = string.IsNullOrEmpty(e.ClassName) ? "" : e.ClassName,
  255. leaveType = leaveList.Any(c => c.LessonNo == e.LessonNo && c.StuNo == userInfo.account && c.LessonDate == e.LessonDate && c.LessonTime == e.LessonTime) ? 1 : 0,
  256. checkType = leaveList.FirstOrDefault(c => c.LessonNo == e.LessonNo && c.StuNo == userInfo.account && c.LessonDate == e.LessonDate && c.LessonTime == e.LessonTime)?.IsCheck,
  257. }
  258. }
  259. ;
  260. // var leaveList = stuAttendanceLeaveIBLL.GetList();
  261. //var formatData = timeTables.OrderBy(a => a.LessonTime.Substring(1))
  262. // .Select(a => new
  263. // {
  264. // time = a.LessonTime.Substring(1),
  265. // list = timeTables.Where(b => b.LessonTime.Substring(1) == a.LessonTime.Substring(1))
  266. // .Select(b => new
  267. // {
  268. // day = b.LessonTime.ToCharArray()[0],
  269. // curriculum = string.IsNullOrEmpty(b.EnName) ? (b.LessonSortNo == "2" ? b.LessonName + "[选修]" : b.LessonName) : (b.LessonSortNo == "2" ? b.EnName + "[选修]" : b.EnName),
  270. // lessonName = b.LessonName,
  271. // teacher = b.EmpName,
  272. // classRoom = b.ClassroomName.Trim(),
  273. // academicyear = semesterAndYear.AcademicYearShort,
  274. // semester = strSemester,
  275. // lessonNo = b?.LessonNo,
  276. // teachClassNo = b?.TeachClassNo,
  277. // empno = b?.EmpNo,
  278. // lessonTime = b.LessonTime,
  279. // lessonDate = b.LessonDate.ToString("yyyy-MM-dd"),
  280. // classRoomNo = b?.ClassRoomNo.Trim(),
  281. // lessonSortNo = b.LessonSortNo,
  282. // b.OLPEId,
  283. // className = string.IsNullOrEmpty(b.ClassName) ? "" : b.ClassName,
  284. // leaveType = leaveList.Any(c => c.LessonNo == b.LessonNo && c.StuNo == userInfo.account && c.LessonDate == b.LessonDate && c.LessonTime == b.LessonTime) ? 1 : 0,
  285. // checkType = leaveList.FirstOrDefault(c => c.LessonNo == b.LessonNo && c.StuNo == userInfo.account && c.LessonDate == b.LessonDate && c.LessonTime == b.LessonTime)?.IsCheck,
  286. // })
  287. // });
  288. //foreach (var item in formatData.list)
  289. //{
  290. // if(leaveList.Any(a=>a.LessonNo==item.))
  291. //}
  292. var result = new
  293. { schoolName = "课程表", semester = $"{strAcademicYear}学年度 第{strSemester}学期", teacherName = userInfo.realName, weekList = formatData };
  294. return JsonResult(result);
  295. }
  296. /// <summary>
  297. /// 课程表【教务】
  298. /// </summary>
  299. /// <returns></returns>
  300. [HttpGet]
  301. [AjaxOnly]
  302. public ActionResult GetDataInEducation(string startTime, string endTime, string classNo, string empNo, string schoolId, string classroomNo)
  303. {
  304. var userInfo = LoginUserInfo.Get();
  305. //开始时间
  306. var startdate = string.IsNullOrEmpty(startTime) ? DateTime.Today : Convert.ToDateTime(startTime);
  307. var startDate = Common.CalculateFirstDateOfWeek(startdate).ToString("yyyy-MM-dd");
  308. var endDate = Common.CalculateLastDateOfWeek(startdate).ToString("yyyy-MM-dd");
  309. var semesterAndYear = Common.GetSemesterAndYear(startDate);
  310. var strAcademicYear = semesterAndYear.AcademicYearLong;
  311. var strSemester = semesterAndYear.Semester;
  312. var timeTableList = new List<TimeTable>();
  313. //课程表
  314. var data = arrangeLessonTermIBLL.GetTimeTableInEducation(startDate, endDate, classNo, empNo, schoolId, classroomNo);
  315. timeTableList.AddRange(data);
  316. //选修课课程表
  317. //20220718因 更改教务课表显示格式为班级作为列头,选修课无班级所以不能显示在课表内
  318. //var dataOfElective = arrangeLessonTermOfElectiveIBLL.GetTimeTableInEducation(startDate, endDate, classNo, empNo, schoolId);
  319. //timeTableList.AddRange(dataOfElective);
  320. var timeTables = timeTableList.ToList();
  321. var noDataResult = new
  322. { schoolName = "课程表", semester = $"{strAcademicYear}学年度 第{strSemester}学期", weekList = "" };
  323. if (!timeTables.Any())
  324. {
  325. return JsonResult(noDataResult);
  326. }
  327. //最大节次
  328. int maxlessontime = timeTables.Max(m => Convert.ToInt32(m.LessonTime.Substring(1)));
  329. //班级列表
  330. var classinfolist = timeTables.Select(m => new { m.TeachClassNo, m.ClassName }).OrderBy(m => m.TeachClassNo).GroupBy(m => new { m.TeachClassNo, m.ClassName });
  331. var formatData = from d in timeTables
  332. let tt = d.LessonTime.Substring(1)
  333. group d by tt into g
  334. orderby g.Key
  335. select new
  336. {
  337. time = g.Key,
  338. list = from e in timeTables
  339. let ee = e.LessonTime.Substring(1)
  340. where ee == g.Key
  341. select new
  342. {
  343. day = e.LessonTime.ToCharArray()[0],
  344. curriculum = e.LessonSortNo == "2" ? e.LessonName + "[选修]" : e.LessonName,
  345. teacher = e?.EmpName,
  346. classRoom = string.IsNullOrEmpty(e.ClassroomName) ? "" : e.ClassroomName.Trim(),
  347. academicyear = semesterAndYear.AcademicYearShort,
  348. semester = strSemester,
  349. lessonNo = e?.LessonNo,
  350. teachClassNo = e?.TeachClassNo,
  351. empno = e?.EmpNo,
  352. lessonTime = e.LessonTime,
  353. lessonDate = e.LessonDate.ToString("yyyy-MM-dd"),
  354. classRoomNo = string.IsNullOrEmpty(e.ClassRoomNo) ? "" : e.ClassRoomNo.Trim(),
  355. lessonSortNo = e.LessonSortNo,
  356. e?.OLPEId,
  357. className = string.IsNullOrEmpty(e.ClassName) ? "" : e.ClassName
  358. }
  359. }
  360. ;
  361. var result = new
  362. { schoolName = "课程表", semester = $"{strAcademicYear}学年度 第{strSemester}学期", maxlessontime, classinfolist, weekList = formatData };
  363. return JsonResult(result);
  364. }
  365. /// <summary>
  366. /// 课程表【教务】
  367. /// </summary>
  368. /// <returns></returns>
  369. [HttpGet]
  370. [AjaxOnly]
  371. public ActionResult GetDataInEducationSelect(string startTime, string endTime, string classNo, string empNo, string schoolId)
  372. {
  373. var userInfo = LoginUserInfo.Get();
  374. //开始时间
  375. var startdate = string.IsNullOrEmpty(startTime) ? DateTime.Today : Convert.ToDateTime(startTime);
  376. var startDate = Common.CalculateFirstDateOfWeek(startdate).ToString("yyyy-MM-dd");
  377. var endDate = Common.CalculateLastDateOfWeek(startdate).ToString("yyyy-MM-dd");
  378. var semesterAndYear = Common.GetSemesterAndYear(startDate);
  379. var strAcademicYear = semesterAndYear.AcademicYearLong;
  380. var strSemester = semesterAndYear.Semester;
  381. var timeTableList = new List<TimeTable>();
  382. //课程表
  383. var data = arrangeLessonTermIBLL.GetTimeTableInEducation(startDate, endDate, classNo, empNo, schoolId, "");
  384. timeTableList.AddRange(data);
  385. //选修课课程表
  386. //var dataOfElective = arrangeLessonTermOfElectiveIBLL.GetTimeTableInEducation(startDate, endDate, classNo, empNo, schoolId);
  387. //timeTableList.AddRange(dataOfElective);
  388. var timeTables = timeTableList.ToList();
  389. var noDataResult = new
  390. { schoolName = "课程表", semester = $"{strAcademicYear}学年度 第{strSemester}学期", weekList = "" };
  391. if (!timeTables.Any())
  392. {
  393. return JsonResult(noDataResult);
  394. }
  395. var formatData = from d in timeTables
  396. let tt = d.LessonTime.Substring(1)
  397. group d by tt into g
  398. orderby g.Key
  399. select new
  400. {
  401. time = g.Key,
  402. list = from e in timeTables
  403. let ee = e.LessonTime.Substring(1)
  404. where ee == g.Key
  405. select new
  406. {
  407. day = e.LessonTime.ToCharArray()[0],
  408. lessonTime = e.LessonTime,
  409. lessonDate = e.LessonDate.ToString("yyyy-MM-dd"),
  410. schooldId = e?.F_SchoolId,
  411. academicyear = semesterAndYear.AcademicYearShort,
  412. semester = strSemester,
  413. deptNo = e?.DeptNo,
  414. majorNo = e?.MajorNo,
  415. lessonNo = e?.LessonNo,
  416. curriculum = e.LessonSortNo == "2" ? e.LessonName + "[选修]" : e.LessonName,
  417. teachClassNo = e?.TeachClassNo,
  418. className = string.IsNullOrEmpty(e.ClassName) ? "" : e.ClassName,
  419. empno = e?.EmpNo,
  420. teacher = e?.EmpName,
  421. classRoomNo = string.IsNullOrEmpty(e.ClassRoomNo) ? "" : e.ClassRoomNo.Trim(),
  422. classRoom = string.IsNullOrEmpty(e.ClassroomName) ? "" : e.ClassroomName.Trim(),
  423. lessonSortNo = e.LessonSortNo
  424. }
  425. }
  426. ;
  427. var result = new
  428. { schoolName = "课程表", semester = $"{strAcademicYear}学年度 第{strSemester}学期", weekList = formatData };
  429. return JsonResult(result);
  430. }
  431. /// <summary>
  432. /// 课程表【教务】--班级下拉框信息
  433. /// </summary>
  434. /// <returns></returns>
  435. [HttpGet]
  436. [AjaxOnly]
  437. public ActionResult GetClassData(string schoolId = "")
  438. {
  439. var data = arrangeLessonTermIBLL.GetClassData(schoolId);
  440. return Success(data);
  441. }
  442. /// <summary>
  443. /// 课程表【教务】--教师下拉框信息
  444. /// </summary>
  445. /// <returns></returns>
  446. [HttpGet]
  447. [AjaxOnly]
  448. public ActionResult GetTeacherData(string schoolId = "")
  449. {
  450. var data = arrangeLessonTermIBLL.GetTeacherData(schoolId);
  451. return Success(data);
  452. }
  453. /// <summary>
  454. /// 课程表【教务】--教室下拉框信息
  455. /// </summary>
  456. /// <returns></returns>
  457. [HttpGet]
  458. [AjaxOnly]
  459. public ActionResult GetClassroomData(string schoolId = "")
  460. {
  461. var data = arrangeLessonTermIBLL.GetClassroomData(schoolId);
  462. return Success(data);
  463. }
  464. /// <summary>
  465. /// 表单--修改教师所带的课程【教务】--课程下拉框信息
  466. /// </summary>
  467. /// <returns></returns>
  468. [HttpGet]
  469. [AjaxOnly]
  470. public ActionResult GetLessonData()
  471. {
  472. var lessonList = lessonInfoIBLL.GetAllLesson().OrderBy(x => x.LessonNo);
  473. var data = lessonList.Select(x => new { value = x.LessonId, text = x.LessonName + "(" + x.LessonNo + ")" });
  474. return Success(data);
  475. }
  476. #endregion
  477. #region 保存数据
  478. [HttpPost]
  479. [ValidateAntiForgeryToken]
  480. [AjaxOnly]
  481. public ActionResult SaveForm(string keyValue, string strEntity)
  482. {
  483. StuAttendanceLeaveEntity entity = strEntity.ToObject<StuAttendanceLeaveEntity>();
  484. entity.TeachClassNo = entity.ClassNo;
  485. stuAttendanceLeaveIBLL.SaveEntity(keyValue, entity);
  486. return Success("保存成功!");
  487. }
  488. /// <summary>
  489. /// 修改教师课程--保存
  490. /// </summary>
  491. /// <param name="keyValue"></param>
  492. /// <param name="strEntity"></param>
  493. /// <returns></returns>
  494. [HttpPost]
  495. [ValidateAntiForgeryToken]
  496. [AjaxOnly]
  497. public ActionResult SaveChangeTeacherLesson(string strEntity)
  498. {
  499. Edu_ChangeTeacherLessonEntity entity = strEntity.ToObject<Edu_ChangeTeacherLessonEntity>();
  500. entity.CToTeacherId = entity.CFromTeacherId;
  501. entity.CToTeacherName = entity.CFromTeacherName;
  502. //获取目标课程
  503. var lessonInfoEntity = lessonInfoIBLL.GetLessonInfoEntity(entity.CToLessonId);
  504. if (lessonInfoEntity == null)
  505. {
  506. return Fail("目标课程不存在!");
  507. }
  508. entity.CToLessonId = lessonInfoEntity.LessonNo;
  509. entity.CToLessonName = lessonInfoEntity.LessonName;
  510. entity.CreateTime = DateTime.Now;
  511. if (entity.CFromLessonId == entity.CToLessonId)
  512. {
  513. return Fail("目标课程与原目标一致!");
  514. }
  515. //修改排课、成绩录入相关表
  516. edu_ChangeTeacherLessonIBLL.ModifyTableAboutTeacherLesson(entity);
  517. //新增Edu_ChangeTeacherLesson记录
  518. edu_ChangeTeacherLessonIBLL.SaveEntity("", entity);
  519. return Success("保存成功!");
  520. }
  521. /// <summary>
  522. /// 考勤统计
  523. /// <summary>
  524. /// <param name="pagination">分页参数</param>
  525. /// <param name="queryJson">查询参数</param>
  526. /// <returns></returns>
  527. [HttpGet]
  528. [AjaxOnly]
  529. public ActionResult GetAttendanceStatisticPageList(string pagination, string queryJson)
  530. {
  531. Pagination paginationobj = pagination.ToObject<Pagination>();
  532. var data = stuAttendanceIBLL.GetAttendanceStatisticPageList(paginationobj, queryJson);
  533. var jsonData = new
  534. {
  535. rows = data,
  536. total = paginationobj.total,
  537. page = paginationobj.page,
  538. records = paginationobj.records
  539. };
  540. return Success(jsonData);
  541. }
  542. /// <summary>
  543. /// 全校学生课程考勤
  544. /// <summary>
  545. /// <param name="pagination">分页参数</param>
  546. /// <param name="queryJson">查询参数</param>
  547. /// <returns></returns>
  548. [HttpGet]
  549. [AjaxOnly]
  550. public ActionResult GetAttendancePageList(string pagination, string queryJson)
  551. {
  552. Pagination paginationobj = pagination.ToObject<Pagination>();
  553. var data = stuAttendanceIBLL.GetAttendancePageList(paginationobj, queryJson);
  554. var jsonData = new
  555. {
  556. rows = data,
  557. total = paginationobj.total,
  558. page = paginationobj.page,
  559. records = paginationobj.records
  560. };
  561. return Success(jsonData);
  562. }
  563. #endregion
  564. }
  565. }