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.
 
 
 
 
 
 

513 rivejä
20 KiB

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