Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

Arrangelesson.cs 19 KiB

il y a 4 ans
il y a 4 ans
il y a 4 ans
il y a 4 ans
il y a 4 ans
il y a 4 ans
il y a 4 ans
il y a 2 ans
il y a 4 ans
il y a 4 ans
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487
  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 webrootpath= Config.GetValue("webrootpath");
  147. var result = userIbll.GetAllList().Where(m => !m.F_Account.Contains("System") && m.F_DeleteMark == 0 && m.F_EnabledMark == 1).Select(m => new
  148. {
  149. m.F_UserId,
  150. m.F_CompanyId,
  151. m.F_DepartmentId,
  152. F_Description = m.F_Description == "教师" ? "2" : "3",
  153. ClassNo = stuInfoBasicIbll.GetStuInfoBasicEntityByStuNo(m.F_Account)?.ClassNo,
  154. m.F_RealName,
  155. m.F_Account,
  156. Year = "20" + stuInfoBasicIbll.GetStuInfoBasicEntityByStuNo(m.F_Account)?.Grade,
  157. m.F_IdentityCardNo,
  158. F_HeadIcon= webrootpath + m?.F_HeadIcon
  159. });
  160. return Success(result);
  161. }
  162. private Response GetAllStudents(dynamic _)
  163. {
  164. var result = stuInfoBasicIbll.GetAllList();
  165. return Success(result);
  166. }
  167. private Response GetDepartment(dynamic _)
  168. {
  169. var result = departmentIBLL.GetAllList();
  170. return Success(result);
  171. }
  172. private Response GetAllDept(dynamic _)
  173. {
  174. var result = cdDeptIbll.GetAllList();
  175. return Success(result);
  176. }
  177. private Response GetAllMajor(dynamic _)
  178. {
  179. var result = cdMajorIbll.GetAllList();
  180. return Success(result);
  181. }
  182. private Response GetLessonTypes(dynamic _)
  183. {
  184. var result = arrangeLessonTermIBLL.GetLessonTypes();
  185. return Success(result);
  186. }
  187. private Response GetDepts(dynamic _)
  188. {
  189. string AcademicYearNo = Request.Query["AcademicYearNo"];
  190. string Semester = Request.Query["Semester"];
  191. var result = arrangeLessonTermIBLL.GetDepts(AcademicYearNo, Semester);
  192. return Success(result);
  193. }
  194. private Response GetDeptsNotRecord(dynamic _)
  195. {
  196. string AcademicYearNo = Request.Query["AcademicYearNo"];
  197. string Semester = Request.Query["Semester"];
  198. var result = arrangeLessonTermIBLL.GetDeptsNotRecord(AcademicYearNo, Semester);
  199. return Success(result);
  200. }
  201. private Response GetSchools(dynamic _)
  202. {
  203. string AcademicYearNo = Request.Query["AcademicYearNo"];
  204. string Semester = Request.Query["Semester"];
  205. var result = arrangeLessonTermIBLL.GetSchools(AcademicYearNo, Semester);
  206. return Success(result);
  207. }
  208. private Response GetSchoolsNotRecord(dynamic _)
  209. {
  210. string AcademicYearNo = Request.Query["AcademicYearNo"];
  211. string Semester = Request.Query["Semester"];
  212. var result = arrangeLessonTermIBLL.GetSchoolsNotRecord(AcademicYearNo, Semester);
  213. return Success(result);
  214. }
  215. private Response GetClassLessons(dynamic _)
  216. {
  217. var result = arrangeLessonTermIBLL.GetClassLessons().Select(m => new
  218. {
  219. m.AcademicYearNo,
  220. m.Semester,
  221. m.DeptNo,
  222. m.MajorNo,
  223. m.LessonNo,
  224. m.TeachClassNo,
  225. m.EmpNo,
  226. m.LessonSortNo
  227. });
  228. return Success(result);
  229. }
  230. public Response GetStudents(dynamic _)
  231. {
  232. var result = arrangeLessonTermIBLL.GetStudents();
  233. return Success(result);
  234. }
  235. public Response GetMajors(dynamic _)
  236. {
  237. string AcademicYearNo = Request.Query["AcademicYearNo"];
  238. string Semester = Request.Query["Semester"];
  239. var result = arrangeLessonTermIBLL.GetMajors(AcademicYearNo, Semester);
  240. return Success(result);
  241. }
  242. public Response GetMajorsNotRecord(dynamic _)
  243. {
  244. string AcademicYearNo = Request.Query["AcademicYearNo"];
  245. string Semester = Request.Query["Semester"];
  246. var result = arrangeLessonTermIBLL.GetMajorsNotRecord(AcademicYearNo, Semester);
  247. return Success(result);
  248. }
  249. public Response GetClassrooms(dynamic _)
  250. {
  251. string AcademicYearNo = Request.Query["AcademicYearNo"];
  252. string Semester = Request.Query["Semester"];
  253. var result = arrangeLessonTermIBLL.GetClassrooms(AcademicYearNo, Semester);
  254. return Success(result);
  255. }
  256. public Response GetClassroomsNotRecord(dynamic _)
  257. {
  258. string AcademicYearNo = Request.Query["AcademicYearNo"];
  259. string Semester = Request.Query["Semester"];
  260. var result = arrangeLessonTermIBLL.GetClassroomsNotRecord(AcademicYearNo, Semester);
  261. return Success(result);
  262. }
  263. public Response GetClassType(dynamic _)
  264. {
  265. var result = arrangeLessonTermIBLL.GetClassType();
  266. return Success(result);
  267. }
  268. public Response GetLessons(dynamic _)
  269. {
  270. string AcademicYearNo = Request.Query["AcademicYearNo"];
  271. string Semester = Request.Query["Semester"];
  272. var result = arrangeLessonTermIBLL.GetLessons(AcademicYearNo, Semester);
  273. return Success(result);
  274. }
  275. public Response GetLessonsNotRecord(dynamic _)
  276. {
  277. string AcademicYearNo = Request.Query["AcademicYearNo"];
  278. string Semester = Request.Query["Semester"];
  279. var result = arrangeLessonTermIBLL.GetLessonsNotRecord(AcademicYearNo, Semester);
  280. return Success(result);
  281. }
  282. public Response GetLessonSortDetails(dynamic _)
  283. {
  284. var result = arrangeLessonTermIBLL.GetLessonSortDetails();
  285. return Success(result);
  286. }
  287. public Response GetLessonSorts(dynamic _)
  288. {
  289. var result = arrangeLessonTermIBLL.GetLessonSorts();
  290. return Success(result);
  291. }
  292. public Response GetTeachers(dynamic _)
  293. {
  294. string AcademicYearNo = Request.Query["AcademicYearNo"];
  295. string Semester = Request.Query["Semester"];
  296. var result = arrangeLessonTermIBLL.GetTeachers(AcademicYearNo, Semester);
  297. return Success(result);
  298. }
  299. public Response GetTeachersNotRecord(dynamic _)
  300. {
  301. string AcademicYearNo = Request.Query["AcademicYearNo"];
  302. string Semester = Request.Query["Semester"];
  303. var result = arrangeLessonTermIBLL.GetTeachersNotRecord(AcademicYearNo, Semester);
  304. return Success(result);
  305. }
  306. public Response GetClasses(dynamic _)
  307. {
  308. string AcademicYearNo = Request.Query["AcademicYearNo"];
  309. string Semester = Request.Query["Semester"];
  310. var result = arrangeLessonTermIBLL.GetClasses(AcademicYearNo, Semester);
  311. return Success(result);
  312. }
  313. public Response GetClassesNotRecord(dynamic _)
  314. {
  315. string AcademicYearNo = Request.Query["AcademicYearNo"];
  316. string Semester = Request.Query["Semester"];
  317. var result = arrangeLessonTermIBLL.GetClassesNotRecord(AcademicYearNo, Semester);
  318. return Success(result);
  319. }
  320. public Response GetStus(dynamic _)
  321. {
  322. string AcademicYearNo = Request.Query["AcademicYearNo"];
  323. string Semester = Request.Query["Semester"];
  324. var result = arrangeLessonTermIBLL.GetStus(AcademicYearNo, Semester);
  325. return Success(result);
  326. }
  327. public Response GetStusNotRecord(dynamic _)
  328. {
  329. string AcademicYearNo = Request.Query["AcademicYearNo"];
  330. string Semester = Request.Query["Semester"];
  331. var result = arrangeLessonTermIBLL.GetStusNotRecord(AcademicYearNo, Semester);
  332. return Success(result);
  333. }
  334. /// <summary>
  335. /// 补考名单数据
  336. /// </summary>
  337. /// <param name="_"></param>
  338. /// <returns></returns>
  339. private Response GetBuKaoList(dynamic _)
  340. {
  341. var allList = new List<StuScoreEntity>();
  342. var notPassList = stuScoreIBLL.GetStuScoreNotPassList();
  343. allList.AddRange(notPassList);
  344. var notPassTwoList = stuScoreIBLL.GetStuScoreNotPassTwoList();
  345. allList.AddRange(notPassTwoList);
  346. 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);
  347. return Success(result);
  348. }
  349. /// <summary>
  350. /// 获取学校简介
  351. /// </summary>
  352. /// <param name="_"></param>
  353. /// <returns></returns>
  354. private Response GetBriefIntroductionById(dynamic _)
  355. {
  356. var result = companyIbll.GetDetail();
  357. if (result == null)
  358. return Success("");//Fail("找不到数据!");
  359. else
  360. {
  361. return Success(WebHelper.HtmlDecode(result.F_BriefIntroduction));
  362. }
  363. }
  364. /// <summary>
  365. /// 获取学校新闻列表、校园风光列表
  366. /// </summary>
  367. /// <param name="_"></param>
  368. /// <returns></returns>
  369. public Response GetSchoolNewList(dynamic _)
  370. {
  371. string categoryId = Request.Query["categoryId"];
  372. var result = schoolNewsIBLL.GetListByCategoryId(categoryId);
  373. return Success(result);
  374. }
  375. /// <summary>
  376. /// 获取专业列表
  377. /// </summary>
  378. /// <param name="_"></param>
  379. /// <returns></returns>
  380. public Response GetCdMajorList(dynamic _)
  381. {
  382. string keyword = Request.Query["keyword"];
  383. var result = cdMajorIBLL.GetAllList(keyword);
  384. return Success(result);
  385. }
  386. /// <summary>
  387. /// 获取详情
  388. /// </summary>
  389. /// <param name="_"></param>
  390. /// <returns></returns>
  391. public Response GetSchoolNewsDetails(dynamic _)
  392. {
  393. string Id = Request.Query["Id"];
  394. //type: 1学校新闻,2校园风光,3 专业介绍
  395. string type = Request.Query["type"];
  396. var title = "";
  397. var time = "";
  398. var desc = "";
  399. switch (type)
  400. {
  401. case "1":
  402. {
  403. //学校新闻
  404. var result = schoolNewsIBLL.GetLR_OA_SchoolNewsEntity(Id);
  405. if (result != null)
  406. {
  407. title = result.F_FullHead;
  408. time = result.F_ReleaseTime.HasValue ? result.F_ReleaseTime.Value.ToString("yyyy-MM-dd") : "";
  409. desc = result.F_NewsContent;
  410. }
  411. break;
  412. }
  413. case "2":
  414. {
  415. //校园风光
  416. var result = schoolNewsIBLL.GetLR_OA_SchoolNewsEntity(Id);
  417. if (result != null)
  418. {
  419. title = result.F_FullHead;
  420. time = result.F_ReleaseTime.HasValue ? result.F_ReleaseTime.Value.ToString("yyyy-MM-dd") : "";
  421. desc = result.F_NewsContent;
  422. }
  423. break;
  424. }
  425. case "3":
  426. {
  427. //专业介绍
  428. var result = cdMajorIBLL.GetCdMajorEntity(Id);
  429. if (result != null)
  430. {
  431. title = result.MajorName;
  432. time = "";
  433. desc = result.Introduce;
  434. }
  435. break;
  436. }
  437. }
  438. object obj = new { title = title, desc = WebHelper.HtmlDecode(desc) };
  439. return Success(obj);
  440. }
  441. /// <summary>
  442. /// 获取校历
  443. /// </summary>
  444. /// <param name="_"></param>
  445. /// <returns></returns>
  446. public Response GetCalendarList(dynamic _)
  447. {
  448. var result = schoolCalendarIBLL.GetList();
  449. return Success(result);
  450. }
  451. /// <summary>
  452. /// 获取校历详情
  453. /// </summary>
  454. /// <param name="_"></param>
  455. /// <returns></returns>
  456. public Response GetCalendarDetails(dynamic _)
  457. {
  458. string keyValue = Request.Query["keyValue"];
  459. var result = schoolCalendarIBLL.GetSchoolCalendarEntity(keyValue);
  460. return Success(result);
  461. }
  462. }
  463. }