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.
 
 
 
 
 
 

203 lines
7.5 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. namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers
  8. {
  9. /// <summary>
  10. /// 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园
  11. /// Copyright (c) 2013-2018 北京泉江科技有限公司
  12. /// 创 建:超级管理员
  13. /// 日 期:2019-05-24 15:40
  14. /// 描 述:学生请假记录
  15. /// </summary>
  16. public class StuAttendanceLeaveController : MvcControllerBase
  17. {
  18. private StuAttendanceLeaveIBLL stuAttendanceLeaveIBLL = new StuAttendanceLeaveBLL();
  19. private StuInfoBasicIBLL stuInfoBasicIBLL = new StuInfoBasicBLL();
  20. private StuAttendanceIBLL stuAttendanceIBLL = new StuAttendanceBLL();
  21. #region 视图功能
  22. /// <summary>
  23. /// 主页面
  24. /// <summary>
  25. /// <returns></returns>
  26. [HttpGet]
  27. public ActionResult Index()
  28. {
  29. return View();
  30. }
  31. /// <summary>
  32. /// 表单页
  33. /// <summary>
  34. /// <returns></returns>
  35. [HttpGet]
  36. public ActionResult Form()
  37. {
  38. return View();
  39. }
  40. [HttpGet]
  41. public ActionResult CheckForm()
  42. {
  43. return View();
  44. }
  45. /// <summary>
  46. /// 主页面【学子在线】
  47. /// <summary>
  48. /// <returns></returns>
  49. [HttpGet]
  50. public ActionResult IndexInStudent()
  51. {
  52. return View();
  53. }
  54. #endregion
  55. #region 获取数据
  56. /// <summary>
  57. /// 获取页面显示列表数据
  58. /// <summary>
  59. /// <param name="queryJson">查询参数</param>
  60. /// <returns></returns>
  61. [HttpGet]
  62. [AjaxOnly]
  63. public ActionResult GetPageList(string pagination, string queryJson)
  64. {
  65. Pagination paginationobj = pagination.ToObject<Pagination>();
  66. var data = stuAttendanceLeaveIBLL.GetPageList(paginationobj, queryJson);
  67. var jsonData = new
  68. {
  69. rows = data,
  70. total = paginationobj.total,
  71. page = paginationobj.page,
  72. records = paginationobj.records
  73. };
  74. return Success(jsonData);
  75. }
  76. /// <summary>
  77. /// 获取表单数据
  78. /// <summary>
  79. /// <returns></returns>
  80. [HttpGet]
  81. [AjaxOnly]
  82. public ActionResult GetFormData(string keyValue)
  83. {
  84. var StuAttendanceLeaveData = stuAttendanceLeaveIBLL.GetStuAttendanceLeaveEntity(keyValue);
  85. var jsonData = new
  86. {
  87. StuAttendanceLeave = StuAttendanceLeaveData,
  88. };
  89. return Success(jsonData);
  90. }
  91. #endregion
  92. #region 提交数据
  93. /// <summary>
  94. /// 请假审核
  95. /// </summary>
  96. /// <param name="keyValue"></param>
  97. /// <param name="checkValue">1同意2拒绝</param>
  98. /// <returns></returns>
  99. [HttpGet]
  100. [AjaxOnly]
  101. public ActionResult Check(string keyValue, string checkValue)
  102. {
  103. stuAttendanceLeaveIBLL.Check(keyValue, checkValue);
  104. return Success("审核成功");
  105. }
  106. /// <summary>
  107. /// 删除实体数据
  108. /// <param name="keyValue">主键</param>
  109. /// <summary>
  110. /// <returns></returns>
  111. [HttpPost]
  112. [AjaxOnly]
  113. public ActionResult DeleteForm(string keyValue)
  114. {
  115. stuAttendanceLeaveIBLL.DeleteEntity(keyValue);
  116. return Success("删除成功!");
  117. }
  118. /// <summary>
  119. /// 保存实体数据(新增、修改)
  120. /// <param name="keyValue">主键</param>
  121. /// <summary>
  122. /// <returns></returns>
  123. [HttpPost]
  124. [ValidateAntiForgeryToken]
  125. [AjaxOnly]
  126. public ActionResult SaveForm(string keyValue, string strEntity)
  127. {
  128. StuAttendanceLeaveEntity entity = strEntity.ToObject<StuAttendanceLeaveEntity>();
  129. entity.TeachClassNo = entity.ClassNo;
  130. stuAttendanceLeaveIBLL.SaveEntity(keyValue, entity);
  131. entity = stuAttendanceLeaveIBLL.GetStuAttendanceLeaveEntity(entity.ID);
  132. if (!string.IsNullOrEmpty(entity.IsCheck))
  133. {
  134. if (entity.IsCheck == "1")
  135. {
  136. //查找是否存在同一门课的考勤信息:存在则修改,不存在则新增;
  137. var model = stuAttendanceIBLL.GetStuAttendanceEntityByQuery(entity);
  138. if (model != null)
  139. {
  140. model.AttendOrNo = "否";
  141. model.Sort = "请假";
  142. model.Remark = "属于PC端的学生课表请假审核";
  143. model.InertDate = DateTime.Now;
  144. stuAttendanceIBLL.SaveEntity(model.ID, model);
  145. }
  146. else
  147. {
  148. var gender = stuInfoBasicIBLL.GetStuInfoBasicEntityByStuNo(entity.StuNo)?.GenderNo;
  149. StuAttendanceEntity stuAttendanceEntity = new StuAttendanceEntity();
  150. stuAttendanceEntity.AcademicYearNo = entity.AcademicYearNo;
  151. stuAttendanceEntity.Semester = entity.Semester;
  152. stuAttendanceEntity.StuNo = entity.StuNo;
  153. stuAttendanceEntity.StuName = entity.StuName;
  154. stuAttendanceEntity.Gender = Convert.ToBoolean(gender) ? "男" : "女";
  155. stuAttendanceEntity.Grade = entity.Grade;
  156. stuAttendanceEntity.DeptNo = entity.DeptNo;
  157. stuAttendanceEntity.DeptName = entity.DeptName;
  158. stuAttendanceEntity.MajorNo = entity.MajorNo;
  159. stuAttendanceEntity.MajorName = entity.MajorName;
  160. stuAttendanceEntity.ClassNo = entity.ClassNo;
  161. stuAttendanceEntity.ClassName = entity.ClassName;
  162. stuAttendanceEntity.LessonNo = entity.LessonNo;
  163. stuAttendanceEntity.LessonName = entity.LessonName;
  164. stuAttendanceEntity.TeachClassNo = entity.TeachClassNo;
  165. stuAttendanceEntity.LessonSortNo = entity.LessonSortNo;
  166. stuAttendanceEntity.LessonSortName = entity.LessonSortName;
  167. stuAttendanceEntity.LessonDate = entity.LessonDate;
  168. stuAttendanceEntity.PlanWeek = null;
  169. stuAttendanceEntity.LessonTime = entity.LessonTime;
  170. stuAttendanceEntity.AttendOrNo = "否";
  171. stuAttendanceEntity.Sort = "请假";
  172. stuAttendanceEntity.EmpNo = entity.EmpNo;
  173. stuAttendanceEntity.Remark = "属于PC端的学生课表请假审核";
  174. stuAttendanceEntity.CheckMarkDept = "0";
  175. stuAttendanceEntity.CheckMark = "0";
  176. stuAttendanceEntity.InertDate = DateTime.Now;
  177. stuAttendanceEntity.ClassRoomNo = entity.ClassRoomNo;
  178. stuAttendanceEntity.ClassRoomName = entity.ClassRoomName;
  179. stuAttendanceIBLL.SaveEntity("", stuAttendanceEntity);
  180. }
  181. }
  182. }
  183. return Success("保存成功!");
  184. }
  185. #endregion
  186. }
  187. }