Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.
 
 
 
 
 
 

223 lignes
9.1 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. entity.TeachClassNo = entity.ClassNo;
  126. stuAttendanceLeaveIBLL.SaveEntity(this.userInfo, parameter.keyValue, entity);
  127. entity = stuAttendanceLeaveIBLL.GetStuAttendanceLeaveEntity(entity.ID);
  128. if (!string.IsNullOrEmpty(entity.IsCheck))
  129. {
  130. if (entity.IsCheck == "1")
  131. {
  132. //查找是否存在同一门课的考勤信息:存在则修改,不存在则新增;
  133. var model = stuAttendanceIBLL.GetStuAttendanceEntityByQuery(entity);
  134. if (model != null)
  135. {
  136. model.AttendOrNo = "否";
  137. model.Sort = "请假";
  138. model.Remark = "属于移动端的学生课表请假审核";
  139. model.InertDate = DateTime.Now;
  140. stuAttendanceIBLL.SaveEntity(model.ID, model);
  141. }
  142. else
  143. {
  144. var gender = stuInfoBasicIBLL.GetStuInfoBasicEntityByStuNo(entity.StuNo)?.GenderNo;
  145. StuAttendanceEntity stuAttendanceEntity = new StuAttendanceEntity();
  146. stuAttendanceEntity.AcademicYearNo = entity.AcademicYearNo;
  147. stuAttendanceEntity.Semester = entity.Semester;
  148. stuAttendanceEntity.StuNo = entity.StuNo;
  149. stuAttendanceEntity.StuName = entity.StuName;
  150. stuAttendanceEntity.Gender = Convert.ToBoolean(gender) ? "男" : "女";
  151. stuAttendanceEntity.Grade = entity.Grade;
  152. stuAttendanceEntity.DeptNo = entity.DeptNo;
  153. stuAttendanceEntity.DeptName = entity.DeptName;
  154. stuAttendanceEntity.MajorNo = entity.MajorNo;
  155. stuAttendanceEntity.MajorName = entity.MajorName;
  156. stuAttendanceEntity.ClassNo = entity.ClassNo;
  157. stuAttendanceEntity.ClassName = entity.ClassName;
  158. stuAttendanceEntity.LessonNo = entity.LessonNo;
  159. stuAttendanceEntity.LessonName = entity.LessonName;
  160. stuAttendanceEntity.TeachClassNo = entity.TeachClassNo;
  161. stuAttendanceEntity.LessonSortNo = entity.LessonSortNo;
  162. stuAttendanceEntity.LessonSortName = entity.LessonSortName;
  163. stuAttendanceEntity.LessonDate = entity.LessonDate;
  164. stuAttendanceEntity.PlanWeek = null;
  165. stuAttendanceEntity.LessonTime = entity.LessonTime;
  166. stuAttendanceEntity.AttendOrNo = "否";
  167. stuAttendanceEntity.Sort = "请假";
  168. stuAttendanceEntity.EmpNo = entity.EmpNo;
  169. stuAttendanceEntity.Remark = "属于移动端的学生课表请假审核";
  170. stuAttendanceEntity.CheckMarkDept = "0";
  171. stuAttendanceEntity.CheckMark = "0";
  172. stuAttendanceEntity.InertDate = DateTime.Now;
  173. stuAttendanceEntity.ClassRoomNo = entity.ClassRoomNo;
  174. stuAttendanceEntity.ClassRoomName = entity.ClassRoomName;
  175. stuAttendanceIBLL.SaveEntity("", stuAttendanceEntity);
  176. }
  177. }
  178. }
  179. return Success("保存成功!");
  180. }
  181. #endregion
  182. #region  私有类
  183. /// <summary>
  184.         /// 表单实体类
  185.         /// <summary>
  186. private class ReqFormEntity
  187. {
  188. public string keyValue { get; set; }
  189. public string strEntity { get; set; }
  190. }
  191. private class Apply
  192. {
  193. public string kqType { get; set; }
  194. public string lessonTime { get; set; }
  195. public string lessonDate { get; set; }
  196. public string classRoomNo { get; set; }
  197. public string dataJson { get; set; }
  198. }
  199. #endregion
  200. }
  201. }