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.
 
 
 
 
 
 

205 lines
8.2 KiB

  1. using Nancy;
  2. using Learun.Util;
  3. using System.Collections.Generic;
  4. using Learun.Application.TwoDevelopment.EducationalAdministration;
  5. using System;
  6. namespace Learun.Application.WebApi
  7. {
  8. /// <summary>
  9.     /// 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园 
  10.     /// Copyright (c) 2013-2018 北京泉江科技有限公司 
  11.     /// 创 建:超级管理员
  12.     /// 日 期:2019-06-24 14:40
  13.     /// 描 述:学生课表请假管理
  14.     /// </summary>
  15. public class StuAttendanceLeaveApi : BaseApi
  16. {
  17. private StuAttendanceLeaveIBLL stuAttendanceLeaveIBLL = new StuAttendanceLeaveBLL();
  18. private StuInfoBasicIBLL stuInfoBasicIBLL = new StuInfoBasicBLL();
  19. private StuAttendanceIBLL stuAttendanceIBLL = new StuAttendanceBLL();
  20. /// <summary>
  21.         /// 注册接口
  22.         /// <summary>
  23. public StuAttendanceLeaveApi()
  24. : base("/Learun/adms/EducationalAdministration/StuAttendanceLeave")
  25. {
  26. Get["/pagelist"] = GetPageList;
  27. Get["/list"] = GetList;
  28. Get["/form"] = GetForm;
  29. Post["/delete"] = DeleteForm;
  30. Post["/save"] = SaveForm;
  31. Get["/leaveform"] = GetLeaveForm;
  32. Post["/apply"] = AttendanceApply;
  33. }
  34. #region  获取数据
  35. /// <summary>
  36.         /// 获取页面显示列表分页数据
  37.         /// <summary>
  38.         /// <param name="_"></param>
  39.         /// <returns></returns>
  40. public Response GetPageList(dynamic _)
  41. {
  42. ReqPageParam parameter = this.GetReqData<ReqPageParam>();
  43. var data = stuAttendanceLeaveIBLL.GetPageList(parameter.pagination, parameter.queryJson);
  44. var jsonData = new
  45. {
  46. rows = data,
  47. total = parameter.pagination.total,
  48. page = parameter.pagination.page,
  49. records = parameter.pagination.records
  50. };
  51. return Success(jsonData);
  52. }
  53. public Response AttendanceApply(dynamic _)
  54. {
  55. var param = this.GetReqData<Apply>();
  56. var kqType = param.kqType;
  57. var lessonTime = param.lessonTime;
  58. var lessonDate = param.lessonDate;
  59. var classRoomNo = param.classRoomNo;
  60. var dataJson = param.dataJson;
  61. var data = stuAttendanceIBLL.AttendanceApply(lessonTime, lessonDate, classRoomNo, dataJson, null, null);
  62. return Success(data);
  63. }
  64. /// <summary>
  65.         /// 获取页面显示列表数据
  66.         /// <summary>
  67.         /// <param name="_"></param>
  68.         /// <returns></returns>
  69. public Response GetList(dynamic _)
  70. {
  71. string queryJson = this.GetReqData();
  72. var data = stuAttendanceLeaveIBLL.GetList(queryJson);
  73. return Success(data);
  74. }
  75. public Response GetLeaveForm(dynamic _)
  76. {
  77. var userInfo = LoginUserInfo.Get();
  78. var stuInfo = stuInfoBasicIBLL.GetStuInfoBasicEntityByStuNo(userInfo.account);
  79. StuAttendanceLeaveEntity entity = new StuAttendanceLeaveEntity();
  80. entity.ClassNo = stuInfo.ClassNo;
  81. entity.DeptNo = stuInfo.DeptNo;
  82. entity.Grade = stuInfo.Grade;
  83. entity.MajorNo = stuInfo.MajorNo;
  84. entity.StuNo = userInfo.account;
  85. entity.StuName = userInfo.realName;
  86. return Success(entity);
  87. }
  88. /// <summary>
  89.         /// 获取表单数据
  90.         /// <summary>
  91.         /// <param name="_"></param>
  92.         /// <returns></returns>
  93. public Response GetForm(dynamic _)
  94. {
  95. string keyValue = this.GetReqData();
  96. var StuAttendanceLeaveData = stuAttendanceLeaveIBLL.GetStuAttendanceLeaveEntity(keyValue);
  97. var jsonData = new
  98. {
  99. StuAttendanceLeave = StuAttendanceLeaveData,
  100. };
  101. return Success(jsonData);
  102. }
  103. #endregion
  104. #region  提交数据
  105. /// <summary>
  106.         /// 删除实体数据
  107.         /// <param name="_"></param>
  108.         /// <summary>
  109.         /// <returns></returns>
  110. public Response DeleteForm(dynamic _)
  111. {
  112. string keyValue = this.GetReqData();
  113. stuAttendanceLeaveIBLL.DeleteEntity(keyValue);
  114. return Success("删除成功!");
  115. }
  116. /// <summary>
  117.         /// 保存实体数据(新增、修改)
  118.         /// <param name="_"></param>
  119.         /// <summary>
  120.         /// <returns></returns>
  121. public Response SaveForm(dynamic _)
  122. {
  123. ReqFormEntity parameter = this.GetReqData<ReqFormEntity>();
  124. StuAttendanceLeaveEntity entity = parameter.strEntity.ToObject<StuAttendanceLeaveEntity>();
  125. stuAttendanceLeaveIBLL.SaveEntity(this.userInfo, parameter.keyValue, entity);
  126. if (!string.IsNullOrEmpty(entity.IsCheck))
  127. {
  128. if (entity.IsCheck == "1")
  129. {
  130. var gender = stuInfoBasicIBLL.GetStuInfoBasicEntityByStuNo(entity.StuNo)?.GenderNo;
  131. StuAttendanceEntity stuAttendanceEntity = new StuAttendanceEntity();
  132. stuAttendanceEntity.AcademicYearNo = entity.AcademicYearNo;
  133. stuAttendanceEntity.ClassName = entity.ClassName;
  134. stuAttendanceEntity.ClassNo = entity.ClassNo;
  135. stuAttendanceEntity.DeptName = entity.DeptName;
  136. stuAttendanceEntity.DeptNo = entity.DeptNo;
  137. stuAttendanceEntity.EmpNo = entity.EmpNo;
  138. stuAttendanceEntity.Grade = entity.Grade;
  139. stuAttendanceEntity.InertDate = DateTime.Now;
  140. stuAttendanceEntity.LessonDate = entity.LessonDate;
  141. stuAttendanceEntity.LessonName = entity.LessonName;
  142. stuAttendanceEntity.LessonNo = entity.LessonNo;
  143. stuAttendanceEntity.LessonSortName = entity.LessonSortName;
  144. stuAttendanceEntity.LessonSortNo = entity.LessonSortNo;
  145. stuAttendanceEntity.LessonTime = entity.LessonTime;
  146. stuAttendanceEntity.MajorName = entity.MajorName;
  147. stuAttendanceEntity.MajorNo = entity.MajorNo;
  148. stuAttendanceEntity.PlanWeek = null;
  149. stuAttendanceEntity.Semester = entity.Semester;
  150. stuAttendanceEntity.StuName = entity.StuName;
  151. stuAttendanceEntity.StuNo = entity.StuNo;
  152. stuAttendanceEntity.TeachClassNo = entity.TeachClassNo;
  153. stuAttendanceEntity.Sort = "请假";
  154. stuAttendanceEntity.AttendOrNo = "否";
  155. stuAttendanceEntity.ClassRoomName = entity.ClassRoomName;
  156. stuAttendanceEntity.ClassRoomNo = entity.ClassRoomNo;
  157. stuAttendanceEntity.Gender = Convert.ToBoolean(gender) ? "男" : "女";
  158. stuAttendanceEntity.AcademicYearNo = entity.AcademicYearNo;
  159. stuAttendanceEntity.CheckMarkDept = "";
  160. stuAttendanceEntity.CheckMark = "";
  161. stuAttendanceIBLL.SaveEntity("", stuAttendanceEntity);
  162. }
  163. }
  164. return Success("保存成功!");
  165. }
  166. #endregion
  167. #region  私有类
  168. /// <summary>
  169.         /// 表单实体类
  170.         /// <summary>
  171. private class ReqFormEntity
  172. {
  173. public string keyValue { get; set; }
  174. public string strEntity { get; set; }
  175. }
  176. private class Apply
  177. {
  178. public string kqType { get; set; }
  179. public string lessonTime { get; set; }
  180. public string lessonDate { get; set; }
  181. public string classRoomNo { get; set; }
  182. public string dataJson { get; set; }
  183. }
  184. #endregion
  185. }
  186. }