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.
 
 
 
 
 
 

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