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.
 
 
 
 
 
 

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