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.
 
 
 
 
 
 

339 lines
14 KiB

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Web;
  5. using Learun.Application.Organization;
  6. using Learun.Application.TwoDevelopment.EducationalAdministration;
  7. using Nancy;
  8. namespace Learun.Application.WebApi.Modules
  9. {
  10. public class Arrangelesson : BaseNoAuthentication
  11. {
  12. public Arrangelesson()
  13. : base("/arrangelesson/")
  14. {
  15. Get["/lessontype"] = GetLessonTypes;
  16. Get["/classtype"] = GetClassType;
  17. Get["/student"] = GetStudents;
  18. Get["/lessonsortdetail"] = GetLessonSortDetails;
  19. Get["/lessonsort"] = GetLessonSorts;
  20. Get["/classlesson"] = GetClassLessons;
  21. Get["/bukaolist"] = GetBuKaoList;
  22. //以下接口需要传值学年学期
  23. Get["/school"] = GetSchools;
  24. Get["/dept"] = GetDepts;
  25. Get["/major"] = GetMajors;
  26. Get["/classroom"] = GetClassrooms;
  27. Get["/lesson"] = GetLessons;
  28. Get["/teacher"] = GetTeachers;
  29. Get["/class"] = GetClasses;
  30. Get["/stu"] = GetStus;
  31. //以下返回全部
  32. Get["/department"] = GetDepartment;
  33. Get["/allteacher"] = GetAllTeachers;
  34. Get["/allstudent"] = GetAllStudents;
  35. Get["/alldept"] = GetAllDept;
  36. Get["/allmajor"] = GetAllMajor;
  37. Get["/alllesson"] = GetAllLesson;
  38. Get["/allclass"] = GetAllClass;
  39. Get["/alluser"] = GetAllUsers;
  40. Get["/allschool"] = GetAllSchools;
  41. Get["/allclasslesson"] = GetAllClassLesson;
  42. Get["/allelelectivelesson"] = GetAllElectiveLesson;
  43. //以下接口不往ArrangeLessonSync里记录已传数据
  44. Get["/schoolNotRecord"] = GetSchoolsNotRecord;
  45. Get["/deptNotRecord"] = GetDeptsNotRecord;
  46. Get["/majorNotRecord"] = GetMajorsNotRecord;
  47. Get["/classroomNotRecord"] = GetClassroomsNotRecord;
  48. Get["/lessonNotRecord"] = GetLessonsNotRecord;
  49. Get["/teacherNotRecord"] = GetTeachersNotRecord;
  50. Get["/classNotRecord"] = GetClassesNotRecord;
  51. Get["/stuNotRecord"] = GetStusNotRecord;
  52. //按条件重置基础数据同步状态
  53. Get["/initbasicdata"] = InitBasicData;
  54. }
  55. private readonly ArrangeLessonTermIBLL arrangeLessonTermIBLL = new ArrangeLessonTermBLL();
  56. private readonly StuScoreIBLL stuScoreIBLL = new StuScoreBLL();
  57. private DepartmentIBLL departmentIBLL = new DepartmentBLL();
  58. EmpInfoIBLL empInfoIbll = new EmpInfoBLL();
  59. private StuInfoBasicIBLL stuInfoBasicIbll = new StuInfoBasicBLL();
  60. CdDeptIBLL cdDeptIbll = new CdDeptBLL();
  61. CdMajorIBLL cdMajorIbll = new CdMajorBLL();
  62. private LessonInfoIBLL lessonInfoIbll = new LessonInfoBLL();
  63. ClassInfoIBLL classInfoIbll = new ClassInfoBLL();
  64. UserIBLL userIbll = new UserBLL();
  65. private CompanyIBLL companyIbll = new CompanyBLL();
  66. private StuSelectLessonListOfElectiveIBLL stuSelectLessonListOfElectiveIbll =
  67. new StuSelectLessonListOfElectiveBLL();
  68. private Response GetAllLesson(dynamic _)
  69. {
  70. var result = lessonInfoIbll.GetAllLesson();
  71. return Success(result);
  72. }
  73. private Response GetAllClass(dynamic _)
  74. {
  75. var result = classInfoIbll.GetAllClass();
  76. return Success(result);
  77. }
  78. private Response GetAllTeachers(dynamic _)
  79. {
  80. var result = empInfoIbll.GetAllList().Where(m => m.CheckMark == true).ToList();
  81. return Success(result);
  82. }
  83. private Response GetAllSchools(dynamic _)
  84. {
  85. var result = companyIbll.GetList();
  86. return Success(result);
  87. }
  88. private Response GetAllClassLesson(dynamic _)
  89. {
  90. string AcademicYearNo = Request.Query["AcademicYearNo"];
  91. string Semester = Request.Query["Semester"];
  92. var result = arrangeLessonTermIBLL.GetAllClassLesson(AcademicYearNo, Semester);
  93. return Success(result);
  94. }
  95. private Response InitBasicData(dynamic _)
  96. {
  97. string AcademicYearNo = Request.Query["AcademicYearNo"];
  98. string Semester = Request.Query["Semester"];
  99. string BaseTable = Request.Query["BaseTable"];
  100. if (string.IsNullOrEmpty(AcademicYearNo) || string.IsNullOrEmpty(Semester))
  101. {
  102. return Fail("学年学期参数不能为空");
  103. }
  104. if (string.IsNullOrEmpty(BaseTable))
  105. {
  106. return Fail("基础表参数不能为空");
  107. }
  108. ArrangeLessonTermEntity arrangeLessonTermEntity = new ArrangeLessonTermEntity();
  109. arrangeLessonTermEntity.AcademicYearNo = AcademicYearNo;
  110. arrangeLessonTermEntity.Semester = Semester;
  111. arrangeLessonTermEntity.SyncBasicTable = BaseTable;
  112. arrangeLessonTermIBLL.InitAsyncDataByCondition(arrangeLessonTermEntity);
  113. return Success("操作成功");
  114. }
  115. private Response GetAllElectiveLesson(dynamic _)
  116. {
  117. string AcademicYearNo = Request.Query["AcademicYearNo"];
  118. string Semester = Request.Query["Semester"];
  119. var result = stuSelectLessonListOfElectiveIbll.GetAllElectiveLesson(AcademicYearNo, Semester);
  120. return Success(result);
  121. }
  122. private Response GetAllUsers(dynamic _)
  123. {
  124. var result = userIbll.GetAllList().Where(m => !m.F_Account.Contains("System") && m.F_DeleteMark == 0 && m.F_EnabledMark == 1).Select(m => new
  125. {
  126. m.F_UserId,
  127. m.F_CompanyId,
  128. m.F_DepartmentId,
  129. F_Description = m.F_Description == "教师" ? "2" : "3",
  130. ClassNo = stuInfoBasicIbll.GetStuInfoBasicEntityByStuNo(m.F_Account)?.ClassNo,
  131. m.F_RealName,
  132. m.F_Account,
  133. Year = "20" + stuInfoBasicIbll.GetStuInfoBasicEntityByStuNo(m.F_Account)?.Grade,
  134. });
  135. return Success(result);
  136. }
  137. private Response GetAllStudents(dynamic _)
  138. {
  139. var result = stuInfoBasicIbll.GetAllList();
  140. return Success(result);
  141. }
  142. private Response GetDepartment(dynamic _)
  143. {
  144. var result = departmentIBLL.GetAllList();
  145. return Success(result);
  146. }
  147. private Response GetAllDept(dynamic _)
  148. {
  149. var result = cdDeptIbll.GetAllList();
  150. return Success(result);
  151. }
  152. private Response GetAllMajor(dynamic _)
  153. {
  154. var result = cdMajorIbll.GetAllList();
  155. return Success(result);
  156. }
  157. private Response GetLessonTypes(dynamic _)
  158. {
  159. var result = arrangeLessonTermIBLL.GetLessonTypes();
  160. return Success(result);
  161. }
  162. private Response GetDepts(dynamic _)
  163. {
  164. string AcademicYearNo = Request.Query["AcademicYearNo"];
  165. string Semester = Request.Query["Semester"];
  166. var result = arrangeLessonTermIBLL.GetDepts(AcademicYearNo, Semester);
  167. return Success(result);
  168. }
  169. private Response GetDeptsNotRecord(dynamic _)
  170. {
  171. string AcademicYearNo = Request.Query["AcademicYearNo"];
  172. string Semester = Request.Query["Semester"];
  173. var result = arrangeLessonTermIBLL.GetDeptsNotRecord(AcademicYearNo, Semester);
  174. return Success(result);
  175. }
  176. private Response GetSchools(dynamic _)
  177. {
  178. string AcademicYearNo = Request.Query["AcademicYearNo"];
  179. string Semester = Request.Query["Semester"];
  180. var result = arrangeLessonTermIBLL.GetSchools(AcademicYearNo, Semester);
  181. return Success(result);
  182. }
  183. private Response GetSchoolsNotRecord(dynamic _)
  184. {
  185. string AcademicYearNo = Request.Query["AcademicYearNo"];
  186. string Semester = Request.Query["Semester"];
  187. var result = arrangeLessonTermIBLL.GetSchoolsNotRecord(AcademicYearNo, Semester);
  188. return Success(result);
  189. }
  190. private Response GetClassLessons(dynamic _)
  191. {
  192. var result = arrangeLessonTermIBLL.GetClassLessons().Select(m => new
  193. {
  194. m.AcademicYearNo,
  195. m.Semester,
  196. m.DeptNo,
  197. m.MajorNo,
  198. m.LessonNo,
  199. m.TeachClassNo,
  200. m.EmpNo,
  201. m.LessonSortNo
  202. });
  203. return Success(result);
  204. }
  205. public Response GetStudents(dynamic _)
  206. {
  207. var result = arrangeLessonTermIBLL.GetStudents();
  208. return Success(result);
  209. }
  210. public Response GetMajors(dynamic _)
  211. {
  212. string AcademicYearNo = Request.Query["AcademicYearNo"];
  213. string Semester = Request.Query["Semester"];
  214. var result = arrangeLessonTermIBLL.GetMajors(AcademicYearNo, Semester);
  215. return Success(result);
  216. }
  217. public Response GetMajorsNotRecord(dynamic _)
  218. {
  219. string AcademicYearNo = Request.Query["AcademicYearNo"];
  220. string Semester = Request.Query["Semester"];
  221. var result = arrangeLessonTermIBLL.GetMajorsNotRecord(AcademicYearNo, Semester);
  222. return Success(result);
  223. }
  224. public Response GetClassrooms(dynamic _)
  225. {
  226. string AcademicYearNo = Request.Query["AcademicYearNo"];
  227. string Semester = Request.Query["Semester"];
  228. var result = arrangeLessonTermIBLL.GetClassrooms(AcademicYearNo, Semester);
  229. return Success(result);
  230. }
  231. public Response GetClassroomsNotRecord(dynamic _)
  232. {
  233. string AcademicYearNo = Request.Query["AcademicYearNo"];
  234. string Semester = Request.Query["Semester"];
  235. var result = arrangeLessonTermIBLL.GetClassroomsNotRecord(AcademicYearNo, Semester);
  236. return Success(result);
  237. }
  238. public Response GetClassType(dynamic _)
  239. {
  240. var result = arrangeLessonTermIBLL.GetClassType();
  241. return Success(result);
  242. }
  243. public Response GetLessons(dynamic _)
  244. {
  245. string AcademicYearNo = Request.Query["AcademicYearNo"];
  246. string Semester = Request.Query["Semester"];
  247. var result = arrangeLessonTermIBLL.GetLessons(AcademicYearNo, Semester);
  248. return Success(result);
  249. }
  250. public Response GetLessonsNotRecord(dynamic _)
  251. {
  252. string AcademicYearNo = Request.Query["AcademicYearNo"];
  253. string Semester = Request.Query["Semester"];
  254. var result = arrangeLessonTermIBLL.GetLessonsNotRecord(AcademicYearNo, Semester);
  255. return Success(result);
  256. }
  257. public Response GetLessonSortDetails(dynamic _)
  258. {
  259. var result = arrangeLessonTermIBLL.GetLessonSortDetails();
  260. return Success(result);
  261. }
  262. public Response GetLessonSorts(dynamic _)
  263. {
  264. var result = arrangeLessonTermIBLL.GetLessonSorts();
  265. return Success(result);
  266. }
  267. public Response GetTeachers(dynamic _)
  268. {
  269. string AcademicYearNo = Request.Query["AcademicYearNo"];
  270. string Semester = Request.Query["Semester"];
  271. var result = arrangeLessonTermIBLL.GetTeachers(AcademicYearNo, Semester);
  272. return Success(result);
  273. }
  274. public Response GetTeachersNotRecord(dynamic _)
  275. {
  276. string AcademicYearNo = Request.Query["AcademicYearNo"];
  277. string Semester = Request.Query["Semester"];
  278. var result = arrangeLessonTermIBLL.GetTeachersNotRecord(AcademicYearNo, Semester);
  279. return Success(result);
  280. }
  281. public Response GetClasses(dynamic _)
  282. {
  283. string AcademicYearNo = Request.Query["AcademicYearNo"];
  284. string Semester = Request.Query["Semester"];
  285. var result = arrangeLessonTermIBLL.GetClasses(AcademicYearNo, Semester);
  286. return Success(result);
  287. }
  288. public Response GetClassesNotRecord(dynamic _)
  289. {
  290. string AcademicYearNo = Request.Query["AcademicYearNo"];
  291. string Semester = Request.Query["Semester"];
  292. var result = arrangeLessonTermIBLL.GetClassesNotRecord(AcademicYearNo, Semester);
  293. return Success(result);
  294. }
  295. public Response GetStus(dynamic _)
  296. {
  297. string AcademicYearNo = Request.Query["AcademicYearNo"];
  298. string Semester = Request.Query["Semester"];
  299. var result = arrangeLessonTermIBLL.GetStus(AcademicYearNo, Semester);
  300. return Success(result);
  301. }
  302. public Response GetStusNotRecord(dynamic _)
  303. {
  304. string AcademicYearNo = Request.Query["AcademicYearNo"];
  305. string Semester = Request.Query["Semester"];
  306. var result = arrangeLessonTermIBLL.GetStusNotRecord(AcademicYearNo, Semester);
  307. return Success(result);
  308. }
  309. /// <summary>
  310. /// 补考名单数据
  311. /// </summary>
  312. /// <param name="_"></param>
  313. /// <returns></returns>
  314. private Response GetBuKaoList(dynamic _)
  315. {
  316. var allList = new List<StuScoreEntity>();
  317. var notPassList = stuScoreIBLL.GetStuScoreNotPassList();
  318. allList.AddRange(notPassList);
  319. var notPassTwoList = stuScoreIBLL.GetStuScoreNotPassTwoList();
  320. allList.AddRange(notPassTwoList);
  321. var result = allList.Select(x => new { x.BuKaoFlag, x.AcademicYearNo, x.Semester, x.StuId, x.StuName, x.LessonId, x.LessonName, x.ClassId, x.ClassName, x.EmpId, x.EmpName }).OrderBy(x => x.BuKaoFlag).ThenByDescending(x => x.AcademicYearNo).ThenByDescending(x => x.Semester).ThenBy(x => x.StuId);
  322. return Success(result);
  323. }
  324. }
  325. }