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.
 
 
 
 
 
 

345 line
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. Get["trantest"] = TranTest;
  53. //按条件重置基础数据同步状态
  54. Get["/initbasicdata"] = InitBasicData;
  55. }
  56. private readonly ArrangeLessonTermIBLL arrangeLessonTermIBLL = new ArrangeLessonTermBLL();
  57. private readonly StuScoreIBLL stuScoreIBLL = new StuScoreBLL();
  58. private DepartmentIBLL departmentIBLL = new DepartmentBLL();
  59. EmpInfoIBLL empInfoIbll = new EmpInfoBLL();
  60. private StuInfoBasicIBLL stuInfoBasicIbll = new StuInfoBasicBLL();
  61. CdDeptIBLL cdDeptIbll = new CdDeptBLL();
  62. CdMajorIBLL cdMajorIbll = new CdMajorBLL();
  63. private LessonInfoIBLL lessonInfoIbll = new LessonInfoBLL();
  64. ClassInfoIBLL classInfoIbll = new ClassInfoBLL();
  65. UserIBLL userIbll = new UserBLL();
  66. private CompanyIBLL companyIbll = new CompanyBLL();
  67. private StuSelectLessonListOfElectiveIBLL stuSelectLessonListOfElectiveIbll =
  68. new StuSelectLessonListOfElectiveBLL();
  69. private Response TranTest(dynamic _)
  70. {
  71. return Success("ok");
  72. }
  73. private Response GetAllLesson(dynamic _)
  74. {
  75. var result = lessonInfoIbll.GetAllLesson();
  76. return Success(result);
  77. }
  78. private Response GetAllClass(dynamic _)
  79. {
  80. var result = classInfoIbll.GetAllClass();
  81. return Success(result);
  82. }
  83. private Response GetAllTeachers(dynamic _)
  84. {
  85. var result = empInfoIbll.GetAllList().Where(m => m.CheckMark == true).ToList();
  86. return Success(result);
  87. }
  88. private Response GetAllSchools(dynamic _)
  89. {
  90. var result = companyIbll.GetList();
  91. return Success(result);
  92. }
  93. private Response GetAllClassLesson(dynamic _)
  94. {
  95. string AcademicYearNo = Request.Query["AcademicYearNo"];
  96. string Semester = Request.Query["Semester"];
  97. var result = arrangeLessonTermIBLL.GetAllClassLesson(AcademicYearNo, Semester);
  98. return Success(result);
  99. }
  100. private Response InitBasicData(dynamic _)
  101. {
  102. string AcademicYearNo = Request.Query["AcademicYearNo"];
  103. string Semester = Request.Query["Semester"];
  104. string BaseTable = Request.Query["BaseTable"];
  105. if (string.IsNullOrEmpty(AcademicYearNo) || string.IsNullOrEmpty(Semester))
  106. {
  107. return Fail("学年学期参数不能为空");
  108. }
  109. if (string.IsNullOrEmpty(BaseTable))
  110. {
  111. return Fail("基础表参数不能为空");
  112. }
  113. ArrangeLessonTermEntity arrangeLessonTermEntity = new ArrangeLessonTermEntity();
  114. arrangeLessonTermEntity.AcademicYearNo = AcademicYearNo;
  115. arrangeLessonTermEntity.Semester = Semester;
  116. arrangeLessonTermEntity.SyncBasicTable = BaseTable;
  117. arrangeLessonTermIBLL.InitAsyncDataByCondition(arrangeLessonTermEntity);
  118. return Success("操作成功");
  119. }
  120. private Response GetAllElectiveLesson(dynamic _)
  121. {
  122. string AcademicYearNo = Request.Query["AcademicYearNo"];
  123. string Semester = Request.Query["Semester"];
  124. var result = stuSelectLessonListOfElectiveIbll.GetAllElectiveLesson(AcademicYearNo, Semester);
  125. return Success(result);
  126. }
  127. private Response GetAllUsers(dynamic _)
  128. {
  129. var result = userIbll.GetAllList().Where(m => !m.F_Account.Contains("System") && m.F_DeleteMark == 0 && m.F_EnabledMark == 1).Select(m => new
  130. {
  131. m.F_UserId,
  132. m.F_CompanyId,
  133. m.F_DepartmentId,
  134. F_Description = m.F_Description == "教师" ? "2" : "3",
  135. ClassNo = stuInfoBasicIbll.GetStuInfoBasicEntityByStuNo(m.F_Account)?.ClassNo,
  136. m.F_RealName,
  137. m.F_Account,
  138. Year = "20" + stuInfoBasicIbll.GetStuInfoBasicEntityByStuNo(m.F_Account)?.Grade,
  139. });
  140. return Success(result);
  141. }
  142. private Response GetAllStudents(dynamic _)
  143. {
  144. var result = stuInfoBasicIbll.GetAllList();
  145. return Success(result);
  146. }
  147. private Response GetDepartment(dynamic _)
  148. {
  149. var result = departmentIBLL.GetAllList();
  150. return Success(result);
  151. }
  152. private Response GetAllDept(dynamic _)
  153. {
  154. var result = cdDeptIbll.GetAllList();
  155. return Success(result);
  156. }
  157. private Response GetAllMajor(dynamic _)
  158. {
  159. var result = cdMajorIbll.GetAllList();
  160. return Success(result);
  161. }
  162. private Response GetLessonTypes(dynamic _)
  163. {
  164. var result = arrangeLessonTermIBLL.GetLessonTypes();
  165. return Success(result);
  166. }
  167. private Response GetDepts(dynamic _)
  168. {
  169. string AcademicYearNo = Request.Query["AcademicYearNo"];
  170. string Semester = Request.Query["Semester"];
  171. var result = arrangeLessonTermIBLL.GetDepts(AcademicYearNo, Semester);
  172. return Success(result);
  173. }
  174. private Response GetDeptsNotRecord(dynamic _)
  175. {
  176. string AcademicYearNo = Request.Query["AcademicYearNo"];
  177. string Semester = Request.Query["Semester"];
  178. var result = arrangeLessonTermIBLL.GetDeptsNotRecord(AcademicYearNo, Semester);
  179. return Success(result);
  180. }
  181. private Response GetSchools(dynamic _)
  182. {
  183. string AcademicYearNo = Request.Query["AcademicYearNo"];
  184. string Semester = Request.Query["Semester"];
  185. var result = arrangeLessonTermIBLL.GetSchools(AcademicYearNo, Semester);
  186. return Success(result);
  187. }
  188. private Response GetSchoolsNotRecord(dynamic _)
  189. {
  190. string AcademicYearNo = Request.Query["AcademicYearNo"];
  191. string Semester = Request.Query["Semester"];
  192. var result = arrangeLessonTermIBLL.GetSchoolsNotRecord(AcademicYearNo, Semester);
  193. return Success(result);
  194. }
  195. private Response GetClassLessons(dynamic _)
  196. {
  197. var result = arrangeLessonTermIBLL.GetClassLessons().Select(m => new
  198. {
  199. m.AcademicYearNo,
  200. m.Semester,
  201. m.DeptNo,
  202. m.MajorNo,
  203. m.LessonNo,
  204. m.TeachClassNo,
  205. m.EmpNo,
  206. m.LessonSortNo
  207. });
  208. return Success(result);
  209. }
  210. public Response GetStudents(dynamic _)
  211. {
  212. var result = arrangeLessonTermIBLL.GetStudents();
  213. return Success(result);
  214. }
  215. public Response GetMajors(dynamic _)
  216. {
  217. string AcademicYearNo = Request.Query["AcademicYearNo"];
  218. string Semester = Request.Query["Semester"];
  219. var result = arrangeLessonTermIBLL.GetMajors(AcademicYearNo, Semester);
  220. return Success(result);
  221. }
  222. public Response GetMajorsNotRecord(dynamic _)
  223. {
  224. string AcademicYearNo = Request.Query["AcademicYearNo"];
  225. string Semester = Request.Query["Semester"];
  226. var result = arrangeLessonTermIBLL.GetMajorsNotRecord(AcademicYearNo, Semester);
  227. return Success(result);
  228. }
  229. public Response GetClassrooms(dynamic _)
  230. {
  231. string AcademicYearNo = Request.Query["AcademicYearNo"];
  232. string Semester = Request.Query["Semester"];
  233. var result = arrangeLessonTermIBLL.GetClassrooms(AcademicYearNo, Semester);
  234. return Success(result);
  235. }
  236. public Response GetClassroomsNotRecord(dynamic _)
  237. {
  238. string AcademicYearNo = Request.Query["AcademicYearNo"];
  239. string Semester = Request.Query["Semester"];
  240. var result = arrangeLessonTermIBLL.GetClassroomsNotRecord(AcademicYearNo, Semester);
  241. return Success(result);
  242. }
  243. public Response GetClassType(dynamic _)
  244. {
  245. var result = arrangeLessonTermIBLL.GetClassType();
  246. return Success(result);
  247. }
  248. public Response GetLessons(dynamic _)
  249. {
  250. string AcademicYearNo = Request.Query["AcademicYearNo"];
  251. string Semester = Request.Query["Semester"];
  252. var result = arrangeLessonTermIBLL.GetLessons(AcademicYearNo, Semester);
  253. return Success(result);
  254. }
  255. public Response GetLessonsNotRecord(dynamic _)
  256. {
  257. string AcademicYearNo = Request.Query["AcademicYearNo"];
  258. string Semester = Request.Query["Semester"];
  259. var result = arrangeLessonTermIBLL.GetLessonsNotRecord(AcademicYearNo, Semester);
  260. return Success(result);
  261. }
  262. public Response GetLessonSortDetails(dynamic _)
  263. {
  264. var result = arrangeLessonTermIBLL.GetLessonSortDetails();
  265. return Success(result);
  266. }
  267. public Response GetLessonSorts(dynamic _)
  268. {
  269. var result = arrangeLessonTermIBLL.GetLessonSorts();
  270. return Success(result);
  271. }
  272. public Response GetTeachers(dynamic _)
  273. {
  274. string AcademicYearNo = Request.Query["AcademicYearNo"];
  275. string Semester = Request.Query["Semester"];
  276. var result = arrangeLessonTermIBLL.GetTeachers(AcademicYearNo, Semester);
  277. return Success(result);
  278. }
  279. public Response GetTeachersNotRecord(dynamic _)
  280. {
  281. string AcademicYearNo = Request.Query["AcademicYearNo"];
  282. string Semester = Request.Query["Semester"];
  283. var result = arrangeLessonTermIBLL.GetTeachersNotRecord(AcademicYearNo, Semester);
  284. return Success(result);
  285. }
  286. public Response GetClasses(dynamic _)
  287. {
  288. string AcademicYearNo = Request.Query["AcademicYearNo"];
  289. string Semester = Request.Query["Semester"];
  290. var result = arrangeLessonTermIBLL.GetClasses(AcademicYearNo, Semester);
  291. return Success(result);
  292. }
  293. public Response GetClassesNotRecord(dynamic _)
  294. {
  295. string AcademicYearNo = Request.Query["AcademicYearNo"];
  296. string Semester = Request.Query["Semester"];
  297. var result = arrangeLessonTermIBLL.GetClassesNotRecord(AcademicYearNo, Semester);
  298. return Success(result);
  299. }
  300. public Response GetStus(dynamic _)
  301. {
  302. string AcademicYearNo = Request.Query["AcademicYearNo"];
  303. string Semester = Request.Query["Semester"];
  304. var result = arrangeLessonTermIBLL.GetStus(AcademicYearNo, Semester);
  305. return Success(result);
  306. }
  307. public Response GetStusNotRecord(dynamic _)
  308. {
  309. string AcademicYearNo = Request.Query["AcademicYearNo"];
  310. string Semester = Request.Query["Semester"];
  311. var result = arrangeLessonTermIBLL.GetStusNotRecord(AcademicYearNo, Semester);
  312. return Success(result);
  313. }
  314. /// <summary>
  315. /// 补考名单数据
  316. /// </summary>
  317. /// <param name="_"></param>
  318. /// <returns></returns>
  319. private Response GetBuKaoList(dynamic _)
  320. {
  321. var allList = new List<StuScoreEntity>();
  322. var notPassList = stuScoreIBLL.GetStuScoreNotPassList();
  323. allList.AddRange(notPassList);
  324. var notPassTwoList = stuScoreIBLL.GetStuScoreNotPassTwoList();
  325. allList.AddRange(notPassTwoList);
  326. 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);
  327. return Success(result);
  328. }
  329. }
  330. }