選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。
 
 
 
 
 
 

478 行
19 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. //按条件重置基础数据同步状态
  54. Get["/initbasicdata"] = InitBasicData;
  55. //信息浏览
  56. //校区简介
  57. Get["/getBriefIntroductionById"] = GetBriefIntroductionById;
  58. //学校新闻、校园风光
  59. Get["/getSchoolNewList"] = GetSchoolNewList;
  60. //专业列表
  61. Get["/getCdMajorList"] = GetCdMajorList;
  62. //新闻详情
  63. Get["/getSchoolNewsDetails"] = GetSchoolNewsDetails;
  64. //校历
  65. Get["/getCalendarList"] = GetCalendarList;
  66. //校历详情
  67. Get["/getCalendarDetails"] = GetCalendarDetails;
  68. }
  69. private readonly ArrangeLessonTermIBLL arrangeLessonTermIBLL = new ArrangeLessonTermBLL();
  70. private readonly StuScoreIBLL stuScoreIBLL = new StuScoreBLL();
  71. private DepartmentIBLL departmentIBLL = new DepartmentBLL();
  72. EmpInfoIBLL empInfoIbll = new EmpInfoBLL();
  73. private StuInfoBasicIBLL stuInfoBasicIbll = new StuInfoBasicBLL();
  74. CdDeptIBLL cdDeptIbll = new CdDeptBLL();
  75. CdMajorIBLL cdMajorIbll = new CdMajorBLL();
  76. private LessonInfoIBLL lessonInfoIbll = new LessonInfoBLL();
  77. ClassInfoIBLL classInfoIbll = new ClassInfoBLL();
  78. UserIBLL userIbll = new UserBLL();
  79. private CompanyIBLL companyIbll = new CompanyBLL();
  80. private SchoolNewsIBLL schoolNewsIBLL = new SchoolNewsBLL();
  81. private CdMajorIBLL cdMajorIBLL = new CdMajorBLL();
  82. private SchoolCalendarIBLL schoolCalendarIBLL = new SchoolCalendarBLL();
  83. private StuSelectLessonListOfElectiveIBLL stuSelectLessonListOfElectiveIbll =
  84. new StuSelectLessonListOfElectiveBLL();
  85. private Response GetAllLesson(dynamic _)
  86. {
  87. var result = lessonInfoIbll.GetAllLesson();
  88. return Success(result);
  89. }
  90. private Response GetAllClass(dynamic _)
  91. {
  92. var result = classInfoIbll.GetAllClass();
  93. return Success(result);
  94. }
  95. private Response GetAllTeachers(dynamic _)
  96. {
  97. var result = empInfoIbll.GetAllList().Where(m => m.CheckMark == true).ToList();
  98. return Success(result);
  99. }
  100. private Response GetAllSchools(dynamic _)
  101. {
  102. var result = companyIbll.GetList();
  103. return Success(result);
  104. }
  105. private Response GetAllClassLesson(dynamic _)
  106. {
  107. string AcademicYearNo = Request.Query["AcademicYearNo"];
  108. string Semester = Request.Query["Semester"];
  109. var result = arrangeLessonTermIBLL.GetAllClassLesson(AcademicYearNo, Semester);
  110. return Success(result);
  111. }
  112. private Response InitBasicData(dynamic _)
  113. {
  114. string AcademicYearNo = Request.Query["AcademicYearNo"];
  115. string Semester = Request.Query["Semester"];
  116. string BaseTable = Request.Query["BaseTable"];
  117. if (string.IsNullOrEmpty(AcademicYearNo) || string.IsNullOrEmpty(Semester))
  118. {
  119. return Fail("学年学期参数不能为空");
  120. }
  121. if (string.IsNullOrEmpty(BaseTable))
  122. {
  123. return Fail("基础表参数不能为空");
  124. }
  125. ArrangeLessonTermEntity arrangeLessonTermEntity = new ArrangeLessonTermEntity();
  126. arrangeLessonTermEntity.AcademicYearNo = AcademicYearNo;
  127. arrangeLessonTermEntity.Semester = Semester;
  128. arrangeLessonTermEntity.SyncBasicTable = BaseTable;
  129. arrangeLessonTermIBLL.InitAsyncDataByCondition(arrangeLessonTermEntity);
  130. return Success("操作成功");
  131. }
  132. private Response GetAllElectiveLesson(dynamic _)
  133. {
  134. string AcademicYearNo = Request.Query["AcademicYearNo"];
  135. string Semester = Request.Query["Semester"];
  136. var result = stuSelectLessonListOfElectiveIbll.GetAllElectiveLesson(AcademicYearNo, Semester);
  137. return Success(result);
  138. }
  139. private Response GetAllUsers(dynamic _)
  140. {
  141. var result = userIbll.GetAllList().Where(m => !m.F_Account.Contains("System") && m.F_DeleteMark == 0 && m.F_EnabledMark == 1).Select(m => new
  142. {
  143. m.F_UserId,
  144. m.F_CompanyId,
  145. m.F_DepartmentId,
  146. F_Description = m.F_Description == "教师" ? "2" : "3",
  147. ClassNo = stuInfoBasicIbll.GetStuInfoBasicEntityByStuNo(m.F_Account)?.ClassNo,
  148. m.F_RealName,
  149. m.F_Account,
  150. Year = "20" + stuInfoBasicIbll.GetStuInfoBasicEntityByStuNo(m.F_Account)?.Grade,
  151. });
  152. return Success(result);
  153. }
  154. private Response GetAllStudents(dynamic _)
  155. {
  156. var result = stuInfoBasicIbll.GetAllList();
  157. return Success(result);
  158. }
  159. private Response GetDepartment(dynamic _)
  160. {
  161. var result = departmentIBLL.GetAllList();
  162. return Success(result);
  163. }
  164. private Response GetAllDept(dynamic _)
  165. {
  166. var result = cdDeptIbll.GetAllList();
  167. return Success(result);
  168. }
  169. private Response GetAllMajor(dynamic _)
  170. {
  171. var result = cdMajorIbll.GetAllList();
  172. return Success(result);
  173. }
  174. private Response GetLessonTypes(dynamic _)
  175. {
  176. var result = arrangeLessonTermIBLL.GetLessonTypes();
  177. return Success(result);
  178. }
  179. private Response GetDepts(dynamic _)
  180. {
  181. string AcademicYearNo = Request.Query["AcademicYearNo"];
  182. string Semester = Request.Query["Semester"];
  183. var result = arrangeLessonTermIBLL.GetDepts(AcademicYearNo, Semester);
  184. return Success(result);
  185. }
  186. private Response GetDeptsNotRecord(dynamic _)
  187. {
  188. string AcademicYearNo = Request.Query["AcademicYearNo"];
  189. string Semester = Request.Query["Semester"];
  190. var result = arrangeLessonTermIBLL.GetDeptsNotRecord(AcademicYearNo, Semester);
  191. return Success(result);
  192. }
  193. private Response GetSchools(dynamic _)
  194. {
  195. string AcademicYearNo = Request.Query["AcademicYearNo"];
  196. string Semester = Request.Query["Semester"];
  197. var result = arrangeLessonTermIBLL.GetSchools(AcademicYearNo, Semester);
  198. return Success(result);
  199. }
  200. private Response GetSchoolsNotRecord(dynamic _)
  201. {
  202. string AcademicYearNo = Request.Query["AcademicYearNo"];
  203. string Semester = Request.Query["Semester"];
  204. var result = arrangeLessonTermIBLL.GetSchoolsNotRecord(AcademicYearNo, Semester);
  205. return Success(result);
  206. }
  207. private Response GetClassLessons(dynamic _)
  208. {
  209. var result = arrangeLessonTermIBLL.GetClassLessons().Select(m => new
  210. {
  211. m.AcademicYearNo,
  212. m.Semester,
  213. m.DeptNo,
  214. m.MajorNo,
  215. m.LessonNo,
  216. m.TeachClassNo,
  217. m.EmpNo,
  218. m.LessonSortNo
  219. });
  220. return Success(result);
  221. }
  222. public Response GetStudents(dynamic _)
  223. {
  224. var result = arrangeLessonTermIBLL.GetStudents();
  225. return Success(result);
  226. }
  227. public Response GetMajors(dynamic _)
  228. {
  229. string AcademicYearNo = Request.Query["AcademicYearNo"];
  230. string Semester = Request.Query["Semester"];
  231. var result = arrangeLessonTermIBLL.GetMajors(AcademicYearNo, Semester);
  232. return Success(result);
  233. }
  234. public Response GetMajorsNotRecord(dynamic _)
  235. {
  236. string AcademicYearNo = Request.Query["AcademicYearNo"];
  237. string Semester = Request.Query["Semester"];
  238. var result = arrangeLessonTermIBLL.GetMajorsNotRecord(AcademicYearNo, Semester);
  239. return Success(result);
  240. }
  241. public Response GetClassrooms(dynamic _)
  242. {
  243. string AcademicYearNo = Request.Query["AcademicYearNo"];
  244. string Semester = Request.Query["Semester"];
  245. var result = arrangeLessonTermIBLL.GetClassrooms(AcademicYearNo, Semester);
  246. return Success(result);
  247. }
  248. public Response GetClassroomsNotRecord(dynamic _)
  249. {
  250. string AcademicYearNo = Request.Query["AcademicYearNo"];
  251. string Semester = Request.Query["Semester"];
  252. var result = arrangeLessonTermIBLL.GetClassroomsNotRecord(AcademicYearNo, Semester);
  253. return Success(result);
  254. }
  255. public Response GetClassType(dynamic _)
  256. {
  257. var result = arrangeLessonTermIBLL.GetClassType();
  258. return Success(result);
  259. }
  260. public Response GetLessons(dynamic _)
  261. {
  262. string AcademicYearNo = Request.Query["AcademicYearNo"];
  263. string Semester = Request.Query["Semester"];
  264. var result = arrangeLessonTermIBLL.GetLessons(AcademicYearNo, Semester);
  265. return Success(result);
  266. }
  267. public Response GetLessonsNotRecord(dynamic _)
  268. {
  269. string AcademicYearNo = Request.Query["AcademicYearNo"];
  270. string Semester = Request.Query["Semester"];
  271. var result = arrangeLessonTermIBLL.GetLessonsNotRecord(AcademicYearNo, Semester);
  272. return Success(result);
  273. }
  274. public Response GetLessonSortDetails(dynamic _)
  275. {
  276. var result = arrangeLessonTermIBLL.GetLessonSortDetails();
  277. return Success(result);
  278. }
  279. public Response GetLessonSorts(dynamic _)
  280. {
  281. var result = arrangeLessonTermIBLL.GetLessonSorts();
  282. return Success(result);
  283. }
  284. public Response GetTeachers(dynamic _)
  285. {
  286. string AcademicYearNo = Request.Query["AcademicYearNo"];
  287. string Semester = Request.Query["Semester"];
  288. var result = arrangeLessonTermIBLL.GetTeachers(AcademicYearNo, Semester);
  289. return Success(result);
  290. }
  291. public Response GetTeachersNotRecord(dynamic _)
  292. {
  293. string AcademicYearNo = Request.Query["AcademicYearNo"];
  294. string Semester = Request.Query["Semester"];
  295. var result = arrangeLessonTermIBLL.GetTeachersNotRecord(AcademicYearNo, Semester);
  296. return Success(result);
  297. }
  298. public Response GetClasses(dynamic _)
  299. {
  300. string AcademicYearNo = Request.Query["AcademicYearNo"];
  301. string Semester = Request.Query["Semester"];
  302. var result = arrangeLessonTermIBLL.GetClasses(AcademicYearNo, Semester);
  303. return Success(result);
  304. }
  305. public Response GetClassesNotRecord(dynamic _)
  306. {
  307. string AcademicYearNo = Request.Query["AcademicYearNo"];
  308. string Semester = Request.Query["Semester"];
  309. var result = arrangeLessonTermIBLL.GetClassesNotRecord(AcademicYearNo, Semester);
  310. return Success(result);
  311. }
  312. public Response GetStus(dynamic _)
  313. {
  314. string AcademicYearNo = Request.Query["AcademicYearNo"];
  315. string Semester = Request.Query["Semester"];
  316. var result = arrangeLessonTermIBLL.GetStus(AcademicYearNo, Semester);
  317. return Success(result);
  318. }
  319. public Response GetStusNotRecord(dynamic _)
  320. {
  321. string AcademicYearNo = Request.Query["AcademicYearNo"];
  322. string Semester = Request.Query["Semester"];
  323. var result = arrangeLessonTermIBLL.GetStusNotRecord(AcademicYearNo, Semester);
  324. return Success(result);
  325. }
  326. /// <summary>
  327. /// 补考名单数据
  328. /// </summary>
  329. /// <param name="_"></param>
  330. /// <returns></returns>
  331. private Response GetBuKaoList(dynamic _)
  332. {
  333. var allList = new List<StuScoreEntity>();
  334. var notPassList = stuScoreIBLL.GetStuScoreNotPassList();
  335. allList.AddRange(notPassList);
  336. var notPassTwoList = stuScoreIBLL.GetStuScoreNotPassTwoList();
  337. allList.AddRange(notPassTwoList);
  338. 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);
  339. return Success(result);
  340. }
  341. /// <summary>
  342. /// 获取学校简介
  343. /// </summary>
  344. /// <param name="_"></param>
  345. /// <returns></returns>
  346. private Response GetBriefIntroductionById(dynamic _)
  347. {
  348. var result = companyIbll.GetDetail();
  349. if (result == null)
  350. return Success("");//Fail("找不到数据!");
  351. else
  352. {
  353. return Success(WebHelper.HtmlDecode(result.F_BriefIntroduction));
  354. }
  355. }
  356. /// <summary>
  357. /// 获取学校新闻列表、校园风光列表
  358. /// </summary>
  359. /// <param name="_"></param>
  360. /// <returns></returns>
  361. public Response GetSchoolNewList(dynamic _)
  362. {
  363. string categoryId = Request.Query["categoryId"];
  364. var result = schoolNewsIBLL.GetListByCategoryId(categoryId);
  365. return Success(result);
  366. }
  367. /// <summary>
  368. /// 获取专业列表
  369. /// </summary>
  370. /// <param name="_"></param>
  371. /// <returns></returns>
  372. public Response GetCdMajorList(dynamic _)
  373. {
  374. string keyword = Request.Query["keyword"];
  375. var result = cdMajorIBLL.GetAllList(keyword);
  376. return Success(result);
  377. }
  378. /// <summary>
  379. /// 获取详情
  380. /// </summary>
  381. /// <param name="_"></param>
  382. /// <returns></returns>
  383. public Response GetSchoolNewsDetails(dynamic _)
  384. {
  385. string Id = Request.Query["Id"];
  386. //type: 1学校新闻,2校园风光,3 专业介绍
  387. string type = Request.Query["type"];
  388. var title = "";
  389. var time = "";
  390. var desc = "";
  391. switch (type)
  392. {
  393. case "1":
  394. {
  395. //学校新闻
  396. var result = schoolNewsIBLL.GetLR_OA_SchoolNewsEntity(Id);
  397. if (result != null)
  398. {
  399. title = result.F_FullHead;
  400. time = result.F_ReleaseTime.HasValue ? result.F_ReleaseTime.Value.ToString("yyyy-MM-dd") : "";
  401. desc = result.F_NewsContent;
  402. }
  403. break;
  404. }
  405. case "2":
  406. {
  407. //校园风光
  408. var result = schoolNewsIBLL.GetLR_OA_SchoolNewsEntity(Id);
  409. if (result != null)
  410. {
  411. title = result.F_FullHead;
  412. time = result.F_ReleaseTime.HasValue ? result.F_ReleaseTime.Value.ToString("yyyy-MM-dd") : "";
  413. desc = result.F_NewsContent;
  414. }
  415. break;
  416. }
  417. case "3":
  418. {
  419. //专业介绍
  420. var result = cdMajorIBLL.GetCdMajorEntity(Id);
  421. if (result != null)
  422. {
  423. title = result.MajorName;
  424. time = "";
  425. desc = result.Introduce;
  426. }
  427. break;
  428. }
  429. }
  430. object obj = new { title = title, desc = WebHelper.HtmlDecode(desc) };
  431. return Success(obj);
  432. }
  433. /// <summary>
  434. /// 获取校历
  435. /// </summary>
  436. /// <param name="_"></param>
  437. /// <returns></returns>
  438. public Response GetCalendarList(dynamic _)
  439. {
  440. var result = schoolCalendarIBLL.GetList();
  441. return Success(result);
  442. }
  443. /// <summary>
  444. /// 获取校历详情
  445. /// </summary>
  446. /// <param name="_"></param>
  447. /// <returns></returns>
  448. public Response GetCalendarDetails(dynamic _)
  449. {
  450. string keyValue = Request.Query["keyValue"];
  451. var result = schoolCalendarIBLL.GetSchoolCalendarEntity(keyValue);
  452. return Success(result);
  453. }
  454. }
  455. }