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.
 
 
 
 
 
 

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