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.
 
 
 
 
 
 

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