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.
 
 
 
 
 
 

346 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 : BaseApi
  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. m.F_IdentityCardNo
  140. });
  141. return Success(result);
  142. }
  143. private Response GetAllStudents(dynamic _)
  144. {
  145. var result = stuInfoBasicIbll.GetAllList();
  146. return Success(result);
  147. }
  148. private Response GetDepartment(dynamic _)
  149. {
  150. var result = departmentIBLL.GetAllList();
  151. return Success(result);
  152. }
  153. private Response GetAllDept(dynamic _)
  154. {
  155. var result = cdDeptIbll.GetAllList();
  156. return Success(result);
  157. }
  158. private Response GetAllMajor(dynamic _)
  159. {
  160. var result = cdMajorIbll.GetAllList();
  161. return Success(result);
  162. }
  163. private Response GetLessonTypes(dynamic _)
  164. {
  165. var result = arrangeLessonTermIBLL.GetLessonTypes();
  166. return Success(result);
  167. }
  168. private Response GetDepts(dynamic _)
  169. {
  170. string AcademicYearNo = Request.Query["AcademicYearNo"];
  171. string Semester = Request.Query["Semester"];
  172. var result = arrangeLessonTermIBLL.GetDepts(AcademicYearNo, Semester);
  173. return Success(result);
  174. }
  175. private Response GetDeptsNotRecord(dynamic _)
  176. {
  177. string AcademicYearNo = Request.Query["AcademicYearNo"];
  178. string Semester = Request.Query["Semester"];
  179. var result = arrangeLessonTermIBLL.GetDeptsNotRecord(AcademicYearNo, Semester);
  180. return Success(result);
  181. }
  182. private Response GetSchools(dynamic _)
  183. {
  184. string AcademicYearNo = Request.Query["AcademicYearNo"];
  185. string Semester = Request.Query["Semester"];
  186. var result = arrangeLessonTermIBLL.GetSchools(AcademicYearNo, Semester);
  187. return Success(result);
  188. }
  189. private Response GetSchoolsNotRecord(dynamic _)
  190. {
  191. string AcademicYearNo = Request.Query["AcademicYearNo"];
  192. string Semester = Request.Query["Semester"];
  193. var result = arrangeLessonTermIBLL.GetSchoolsNotRecord(AcademicYearNo, Semester);
  194. return Success(result);
  195. }
  196. private Response GetClassLessons(dynamic _)
  197. {
  198. var result = arrangeLessonTermIBLL.GetClassLessons().Select(m => new
  199. {
  200. m.AcademicYearNo,
  201. m.Semester,
  202. m.DeptNo,
  203. m.MajorNo,
  204. m.LessonNo,
  205. m.TeachClassNo,
  206. m.EmpNo,
  207. m.LessonSortNo
  208. });
  209. return Success(result);
  210. }
  211. public Response GetStudents(dynamic _)
  212. {
  213. var result = arrangeLessonTermIBLL.GetStudents();
  214. return Success(result);
  215. }
  216. public Response GetMajors(dynamic _)
  217. {
  218. string AcademicYearNo = Request.Query["AcademicYearNo"];
  219. string Semester = Request.Query["Semester"];
  220. var result = arrangeLessonTermIBLL.GetMajors(AcademicYearNo, Semester);
  221. return Success(result);
  222. }
  223. public Response GetMajorsNotRecord(dynamic _)
  224. {
  225. string AcademicYearNo = Request.Query["AcademicYearNo"];
  226. string Semester = Request.Query["Semester"];
  227. var result = arrangeLessonTermIBLL.GetMajorsNotRecord(AcademicYearNo, Semester);
  228. return Success(result);
  229. }
  230. public Response GetClassrooms(dynamic _)
  231. {
  232. string AcademicYearNo = Request.Query["AcademicYearNo"];
  233. string Semester = Request.Query["Semester"];
  234. var result = arrangeLessonTermIBLL.GetClassrooms(AcademicYearNo, Semester);
  235. return Success(result);
  236. }
  237. public Response GetClassroomsNotRecord(dynamic _)
  238. {
  239. string AcademicYearNo = Request.Query["AcademicYearNo"];
  240. string Semester = Request.Query["Semester"];
  241. var result = arrangeLessonTermIBLL.GetClassroomsNotRecord(AcademicYearNo, Semester);
  242. return Success(result);
  243. }
  244. public Response GetClassType(dynamic _)
  245. {
  246. var result = arrangeLessonTermIBLL.GetClassType();
  247. return Success(result);
  248. }
  249. public Response GetLessons(dynamic _)
  250. {
  251. string AcademicYearNo = Request.Query["AcademicYearNo"];
  252. string Semester = Request.Query["Semester"];
  253. var result = arrangeLessonTermIBLL.GetLessons(AcademicYearNo, Semester);
  254. return Success(result);
  255. }
  256. public Response GetLessonsNotRecord(dynamic _)
  257. {
  258. string AcademicYearNo = Request.Query["AcademicYearNo"];
  259. string Semester = Request.Query["Semester"];
  260. var result = arrangeLessonTermIBLL.GetLessonsNotRecord(AcademicYearNo, Semester);
  261. return Success(result);
  262. }
  263. public Response GetLessonSortDetails(dynamic _)
  264. {
  265. var result = arrangeLessonTermIBLL.GetLessonSortDetails();
  266. return Success(result);
  267. }
  268. public Response GetLessonSorts(dynamic _)
  269. {
  270. var result = arrangeLessonTermIBLL.GetLessonSorts();
  271. return Success(result);
  272. }
  273. public Response GetTeachers(dynamic _)
  274. {
  275. string AcademicYearNo = Request.Query["AcademicYearNo"];
  276. string Semester = Request.Query["Semester"];
  277. var result = arrangeLessonTermIBLL.GetTeachers(AcademicYearNo, Semester);
  278. return Success(result);
  279. }
  280. public Response GetTeachersNotRecord(dynamic _)
  281. {
  282. string AcademicYearNo = Request.Query["AcademicYearNo"];
  283. string Semester = Request.Query["Semester"];
  284. var result = arrangeLessonTermIBLL.GetTeachersNotRecord(AcademicYearNo, Semester);
  285. return Success(result);
  286. }
  287. public Response GetClasses(dynamic _)
  288. {
  289. string AcademicYearNo = Request.Query["AcademicYearNo"];
  290. string Semester = Request.Query["Semester"];
  291. var result = arrangeLessonTermIBLL.GetClasses(AcademicYearNo, Semester);
  292. return Success(result);
  293. }
  294. public Response GetClassesNotRecord(dynamic _)
  295. {
  296. string AcademicYearNo = Request.Query["AcademicYearNo"];
  297. string Semester = Request.Query["Semester"];
  298. var result = arrangeLessonTermIBLL.GetClassesNotRecord(AcademicYearNo, Semester);
  299. return Success(result);
  300. }
  301. public Response GetStus(dynamic _)
  302. {
  303. string AcademicYearNo = Request.Query["AcademicYearNo"];
  304. string Semester = Request.Query["Semester"];
  305. var result = arrangeLessonTermIBLL.GetStus(AcademicYearNo, Semester);
  306. return Success(result);
  307. }
  308. public Response GetStusNotRecord(dynamic _)
  309. {
  310. string AcademicYearNo = Request.Query["AcademicYearNo"];
  311. string Semester = Request.Query["Semester"];
  312. var result = arrangeLessonTermIBLL.GetStusNotRecord(AcademicYearNo, Semester);
  313. return Success(result);
  314. }
  315. /// <summary>
  316. /// 补考名单数据
  317. /// </summary>
  318. /// <param name="_"></param>
  319. /// <returns></returns>
  320. private Response GetBuKaoList(dynamic _)
  321. {
  322. var allList = new List<StuScoreEntity>();
  323. var notPassList = stuScoreIBLL.GetStuScoreNotPassList();
  324. allList.AddRange(notPassList);
  325. var notPassTwoList = stuScoreIBLL.GetStuScoreNotPassTwoList();
  326. allList.AddRange(notPassTwoList);
  327. 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);
  328. return Success(result);
  329. }
  330. }
  331. }