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.
 
 
 
 
 
 

437 rivejä
17 KiB

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Configuration;
  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 Nancy;
  10. namespace Learun.Application.WebApi.Modules
  11. {
  12. public class Arrangelesson : BaseNoAuthentication
  13. {
  14. public Arrangelesson()
  15. : base("/arrangelesson/")
  16. {
  17. Get["/lessontype"] = GetLessonTypes;
  18. Get["/classtype"] = GetClassType;
  19. Get["/student"] = GetStudents;
  20. Get["/lessonsortdetail"] = GetLessonSortDetails;
  21. Get["/lessonsort"] = GetLessonSorts;
  22. Get["/classlesson"] = GetClassLessons;
  23. Get["/bukaolist"] = GetBuKaoList;
  24. //以下接口需要传值学年学期
  25. Get["/school"] = GetSchools;
  26. Get["/dept"] = GetDepts;
  27. Get["/major"] = GetMajors;
  28. Get["/classroom"] = GetClassrooms;
  29. Get["/lesson"] = GetLessons;
  30. Get["/teacher"] = GetTeachers;
  31. Get["/class"] = GetClasses;
  32. Get["/stu"] = GetStus;
  33. //以下返回全部
  34. Get["/department"] = GetDepartment;
  35. Get["/allteacher"] = GetAllTeachers;
  36. Get["/allstudent"] = GetAllStudents;
  37. Get["/alldept"] = GetAllDept;
  38. Get["/allmajor"] = GetAllMajor;
  39. Get["/alllesson"] = GetAllLesson;
  40. Get["/allclass"] = GetAllClass;
  41. Get["/alluser"] = GetAllUsers;
  42. Get["/allschool"] = GetAllSchools;
  43. Get["/allclasslesson"] = GetAllClassLesson;
  44. Get["/allelelectivelesson"] = GetAllElectiveLesson;
  45. //以下接口不往ArrangeLessonSync里记录已传数据
  46. Get["/schoolNotRecord"] = GetSchoolsNotRecord;
  47. Get["/deptNotRecord"] = GetDeptsNotRecord;
  48. Get["/majorNotRecord"] = GetMajorsNotRecord;
  49. Get["/classroomNotRecord"] = GetClassroomsNotRecord;
  50. Get["/lessonNotRecord"] = GetLessonsNotRecord;
  51. Get["/teacherNotRecord"] = GetTeachersNotRecord;
  52. Get["/classNotRecord"] = GetClassesNotRecord;
  53. Get["/stuNotRecord"] = GetStusNotRecord;
  54. Get["trantest"] = TranTest;
  55. //按条件重置基础数据同步状态
  56. Get["/initbasicdata"] = InitBasicData;
  57. Get["/getnewstudentlist"] = GetNewStudentList;
  58. Post["/newstudentcompare"] = NewStudentCompare;
  59. }
  60. private readonly ArrangeLessonTermIBLL arrangeLessonTermIBLL = new ArrangeLessonTermBLL();
  61. private readonly StuScoreIBLL stuScoreIBLL = new StuScoreBLL();
  62. private DepartmentIBLL departmentIBLL = new DepartmentBLL();
  63. EmpInfoIBLL empInfoIbll = new EmpInfoBLL();
  64. private StuInfoBasicIBLL stuInfoBasicIbll = new StuInfoBasicBLL();
  65. CdDeptIBLL cdDeptIbll = new CdDeptBLL();
  66. CdMajorIBLL cdMajorIbll = new CdMajorBLL();
  67. private LessonInfoIBLL lessonInfoIbll = new LessonInfoBLL();
  68. ClassInfoIBLL classInfoIbll = new ClassInfoBLL();
  69. UserIBLL userIbll = new UserBLL();
  70. private CompanyIBLL companyIbll = new CompanyBLL();
  71. private StuSelectLessonListOfElectiveIBLL stuSelectLessonListOfElectiveIbll =
  72. new StuSelectLessonListOfElectiveBLL();
  73. private AnnexesFileIBLL annexesFileIBLL = new AnnexesFileBLL();
  74. private StuInfoFreshIBLL stuInfoFreshIBLL = new StuInfoFreshBLL();
  75. private Response TranTest(dynamic _)
  76. {
  77. return Success("ok");
  78. }
  79. private Response GetAllLesson(dynamic _)
  80. {
  81. var result = lessonInfoIbll.GetAllLesson();
  82. return Success(result);
  83. }
  84. private Response GetAllClass(dynamic _)
  85. {
  86. var result = classInfoIbll.GetAllClass();
  87. return Success(result);
  88. }
  89. private Response GetAllTeachers(dynamic _)
  90. {
  91. var result = empInfoIbll.GetAllList().Where(m => m.CheckMark == true).ToList();
  92. return Success(result);
  93. }
  94. private Response GetAllSchools(dynamic _)
  95. {
  96. var result = companyIbll.GetList();
  97. return Success(result);
  98. }
  99. private Response GetAllClassLesson(dynamic _)
  100. {
  101. string AcademicYearNo = Request.Query["AcademicYearNo"];
  102. string Semester = Request.Query["Semester"];
  103. var result = arrangeLessonTermIBLL.GetAllClassLesson(AcademicYearNo, Semester);
  104. return Success(result);
  105. }
  106. private Response InitBasicData(dynamic _)
  107. {
  108. string AcademicYearNo = Request.Query["AcademicYearNo"];
  109. string Semester = Request.Query["Semester"];
  110. string BaseTable = Request.Query["BaseTable"];
  111. if (string.IsNullOrEmpty(AcademicYearNo) || string.IsNullOrEmpty(Semester))
  112. {
  113. return Fail("学年学期参数不能为空");
  114. }
  115. if (string.IsNullOrEmpty(BaseTable))
  116. {
  117. return Fail("基础表参数不能为空");
  118. }
  119. ArrangeLessonTermEntity arrangeLessonTermEntity = new ArrangeLessonTermEntity();
  120. arrangeLessonTermEntity.AcademicYearNo = AcademicYearNo;
  121. arrangeLessonTermEntity.Semester = Semester;
  122. arrangeLessonTermEntity.SyncBasicTable = BaseTable;
  123. arrangeLessonTermIBLL.InitAsyncDataByCondition(arrangeLessonTermEntity);
  124. return Success("操作成功");
  125. }
  126. private Response GetAllElectiveLesson(dynamic _)
  127. {
  128. string AcademicYearNo = Request.Query["AcademicYearNo"];
  129. string Semester = Request.Query["Semester"];
  130. var result = stuSelectLessonListOfElectiveIbll.GetAllElectiveLesson(AcademicYearNo, Semester);
  131. return Success(result);
  132. }
  133. private Response GetAllUsers(dynamic _)
  134. {
  135. var result = userIbll.GetAllList().Where(m => !m.F_Account.Contains("System") && m.F_DeleteMark == 0 && m.F_EnabledMark == 1).Select(m => new
  136. {
  137. m.F_UserId,
  138. m.F_CompanyId,
  139. m.F_DepartmentId,
  140. F_Description = m.F_Description == "教师" ? "2" : "3",
  141. ClassNo = stuInfoBasicIbll.GetStuInfoBasicEntityByStuNo(m.F_Account)?.ClassNo,
  142. m.F_RealName,
  143. m.F_Account,
  144. Year = "20" + stuInfoBasicIbll.GetStuInfoBasicEntityByStuNo(m.F_Account)?.Grade,
  145. });
  146. return Success(result);
  147. }
  148. private Response GetAllStudents(dynamic _)
  149. {
  150. var result = stuInfoBasicIbll.GetAllList();
  151. return Success(result);
  152. }
  153. private Response GetDepartment(dynamic _)
  154. {
  155. var result = departmentIBLL.GetAllList();
  156. return Success(result);
  157. }
  158. private Response GetAllDept(dynamic _)
  159. {
  160. var result = cdDeptIbll.GetAllList();
  161. return Success(result);
  162. }
  163. private Response GetAllMajor(dynamic _)
  164. {
  165. var result = cdMajorIbll.GetAllList();
  166. return Success(result);
  167. }
  168. private Response GetLessonTypes(dynamic _)
  169. {
  170. var result = arrangeLessonTermIBLL.GetLessonTypes();
  171. return Success(result);
  172. }
  173. private Response GetDepts(dynamic _)
  174. {
  175. string AcademicYearNo = Request.Query["AcademicYearNo"];
  176. string Semester = Request.Query["Semester"];
  177. var result = arrangeLessonTermIBLL.GetDepts(AcademicYearNo, Semester);
  178. return Success(result);
  179. }
  180. private Response GetDeptsNotRecord(dynamic _)
  181. {
  182. string AcademicYearNo = Request.Query["AcademicYearNo"];
  183. string Semester = Request.Query["Semester"];
  184. var result = arrangeLessonTermIBLL.GetDeptsNotRecord(AcademicYearNo, Semester);
  185. return Success(result);
  186. }
  187. private Response GetSchools(dynamic _)
  188. {
  189. string AcademicYearNo = Request.Query["AcademicYearNo"];
  190. string Semester = Request.Query["Semester"];
  191. var result = arrangeLessonTermIBLL.GetSchools(AcademicYearNo, Semester);
  192. return Success(result);
  193. }
  194. private Response GetSchoolsNotRecord(dynamic _)
  195. {
  196. string AcademicYearNo = Request.Query["AcademicYearNo"];
  197. string Semester = Request.Query["Semester"];
  198. var result = arrangeLessonTermIBLL.GetSchoolsNotRecord(AcademicYearNo, Semester);
  199. return Success(result);
  200. }
  201. private Response GetClassLessons(dynamic _)
  202. {
  203. var result = arrangeLessonTermIBLL.GetClassLessons().Select(m => new
  204. {
  205. m.AcademicYearNo,
  206. m.Semester,
  207. m.DeptNo,
  208. m.MajorNo,
  209. m.LessonNo,
  210. m.TeachClassNo,
  211. m.EmpNo,
  212. m.LessonSortNo
  213. });
  214. return Success(result);
  215. }
  216. public Response GetStudents(dynamic _)
  217. {
  218. var result = arrangeLessonTermIBLL.GetStudents();
  219. return Success(result);
  220. }
  221. public Response GetMajors(dynamic _)
  222. {
  223. string AcademicYearNo = Request.Query["AcademicYearNo"];
  224. string Semester = Request.Query["Semester"];
  225. var result = arrangeLessonTermIBLL.GetMajors(AcademicYearNo, Semester);
  226. return Success(result);
  227. }
  228. public Response GetMajorsNotRecord(dynamic _)
  229. {
  230. string AcademicYearNo = Request.Query["AcademicYearNo"];
  231. string Semester = Request.Query["Semester"];
  232. var result = arrangeLessonTermIBLL.GetMajorsNotRecord(AcademicYearNo, Semester);
  233. return Success(result);
  234. }
  235. public Response GetClassrooms(dynamic _)
  236. {
  237. string AcademicYearNo = Request.Query["AcademicYearNo"];
  238. string Semester = Request.Query["Semester"];
  239. var result = arrangeLessonTermIBLL.GetClassrooms(AcademicYearNo, Semester);
  240. return Success(result);
  241. }
  242. public Response GetClassroomsNotRecord(dynamic _)
  243. {
  244. string AcademicYearNo = Request.Query["AcademicYearNo"];
  245. string Semester = Request.Query["Semester"];
  246. var result = arrangeLessonTermIBLL.GetClassroomsNotRecord(AcademicYearNo, Semester);
  247. return Success(result);
  248. }
  249. public Response GetClassType(dynamic _)
  250. {
  251. var result = arrangeLessonTermIBLL.GetClassType();
  252. return Success(result);
  253. }
  254. public Response GetLessons(dynamic _)
  255. {
  256. string AcademicYearNo = Request.Query["AcademicYearNo"];
  257. string Semester = Request.Query["Semester"];
  258. var result = arrangeLessonTermIBLL.GetLessons(AcademicYearNo, Semester);
  259. return Success(result);
  260. }
  261. public Response GetLessonsNotRecord(dynamic _)
  262. {
  263. string AcademicYearNo = Request.Query["AcademicYearNo"];
  264. string Semester = Request.Query["Semester"];
  265. var result = arrangeLessonTermIBLL.GetLessonsNotRecord(AcademicYearNo, Semester);
  266. return Success(result);
  267. }
  268. public Response GetLessonSortDetails(dynamic _)
  269. {
  270. var result = arrangeLessonTermIBLL.GetLessonSortDetails();
  271. return Success(result);
  272. }
  273. public Response GetLessonSorts(dynamic _)
  274. {
  275. var result = arrangeLessonTermIBLL.GetLessonSorts();
  276. return Success(result);
  277. }
  278. public Response GetTeachers(dynamic _)
  279. {
  280. string AcademicYearNo = Request.Query["AcademicYearNo"];
  281. string Semester = Request.Query["Semester"];
  282. var result = arrangeLessonTermIBLL.GetTeachers(AcademicYearNo, Semester);
  283. return Success(result);
  284. }
  285. public Response GetTeachersNotRecord(dynamic _)
  286. {
  287. string AcademicYearNo = Request.Query["AcademicYearNo"];
  288. string Semester = Request.Query["Semester"];
  289. var result = arrangeLessonTermIBLL.GetTeachersNotRecord(AcademicYearNo, Semester);
  290. return Success(result);
  291. }
  292. public Response GetClasses(dynamic _)
  293. {
  294. string AcademicYearNo = Request.Query["AcademicYearNo"];
  295. string Semester = Request.Query["Semester"];
  296. var result = arrangeLessonTermIBLL.GetClasses(AcademicYearNo, Semester);
  297. return Success(result);
  298. }
  299. public Response GetClassesNotRecord(dynamic _)
  300. {
  301. string AcademicYearNo = Request.Query["AcademicYearNo"];
  302. string Semester = Request.Query["Semester"];
  303. var result = arrangeLessonTermIBLL.GetClassesNotRecord(AcademicYearNo, Semester);
  304. return Success(result);
  305. }
  306. public Response GetStus(dynamic _)
  307. {
  308. string AcademicYearNo = Request.Query["AcademicYearNo"];
  309. string Semester = Request.Query["Semester"];
  310. var result = arrangeLessonTermIBLL.GetStus(AcademicYearNo, Semester);
  311. return Success(result);
  312. }
  313. public Response GetStusNotRecord(dynamic _)
  314. {
  315. string AcademicYearNo = Request.Query["AcademicYearNo"];
  316. string Semester = Request.Query["Semester"];
  317. var result = arrangeLessonTermIBLL.GetStusNotRecord(AcademicYearNo, Semester);
  318. return Success(result);
  319. }
  320. /// <summary>
  321. /// 补考名单数据
  322. /// </summary>
  323. /// <param name="_"></param>
  324. /// <returns></returns>
  325. private Response GetBuKaoList(dynamic _)
  326. {
  327. var allList = new List<StuScoreEntity>();
  328. var notPassList = stuScoreIBLL.GetStuScoreNotPassList();
  329. allList.AddRange(notPassList);
  330. var notPassTwoList = stuScoreIBLL.GetStuScoreNotPassTwoList();
  331. allList.AddRange(notPassTwoList);
  332. 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);
  333. return Success(result);
  334. }
  335. /// <summary>
  336. /// 新生对接人脸平台接口
  337. /// </summary>
  338. /// <param name="_"></param>
  339. /// <returns></returns>
  340. public Response GetNewStudentList(dynamic _)
  341. {
  342. string webrootpath = ConfigurationManager.AppSettings["webrootpath"];
  343. string grade = Request.Query["Grade"];
  344. if (string.IsNullOrEmpty(grade))
  345. {
  346. return Fail("缺少参数:Grade");
  347. }
  348. string query = "{\"Grade\":\"" + grade + "\"}";
  349. var list = stuInfoFreshIBLL.GetList2(query).Where(m => !string.IsNullOrEmpty(m.ExamPhoto));
  350. foreach (var item in list)
  351. {
  352. var annexesFileEntity = annexesFileIBLL.GetEntityByFolderId(item.ExamPhoto);
  353. if (annexesFileEntity != null && annexesFileEntity.F_FilePath.IndexOf("Resource") != -1)
  354. {
  355. item.ExamPhoto = webrootpath + "/" + annexesFileEntity.F_FilePath.Substring(annexesFileEntity.F_FilePath.IndexOf("Resource"));
  356. }
  357. }
  358. return Success(list.Select(m => new
  359. {
  360. m.StuNo,
  361. m.IdentityCardNo,
  362. m.ksh,
  363. m.StuName,
  364. m.GenderNo,
  365. m.ProvinceNo,
  366. m.MajorName,
  367. m.ClassName,
  368. m.ExamPhoto
  369. }));
  370. }
  371. public class StudentCompareEntity
  372. {
  373. /// <summary>
  374. /// 身份号码
  375. /// </summary>
  376. public string IdentityCardNo { get; set; }
  377. /// <summary>
  378. /// 核验结果
  379. /// </summary>
  380. public int PhotoCheckStatus { get; set; }
  381. /// <summary>
  382. /// 身份证照片URL
  383. /// </summary>
  384. public string IdentPhoto { get; set; }
  385. /// <summary>
  386. /// 现场照片URL
  387. /// </summary>
  388. public string ScenePhoto { get; set; }
  389. }
  390. /// <summary>
  391. /// 身份核验结果
  392. /// </summary>
  393. /// <param name="_"></param>
  394. /// <returns></returns>
  395. public Response NewStudentCompare(dynamic _)
  396. {
  397. StudentCompareEntity studentCompareEntity = this.GetReq<StudentCompareEntity>();
  398. if (studentCompareEntity==null)
  399. {
  400. return Fail("传入参数有误");
  401. }
  402. if (string.IsNullOrEmpty(studentCompareEntity.IdentityCardNo))
  403. {
  404. return Fail("传入参数:身份证号不能为空");
  405. }
  406. if (string.IsNullOrEmpty(studentCompareEntity.ScenePhoto))
  407. {
  408. return Fail("传入参数:现场照片URL不能为空");
  409. }
  410. if (string.IsNullOrEmpty(studentCompareEntity.IdentPhoto))
  411. {
  412. return Fail("传入参数:身份证照片URL不能为空");
  413. }
  414. stuInfoFreshIBLL.SaveStudentCompare(studentCompareEntity.IdentityCardNo, studentCompareEntity.PhotoCheckStatus, studentCompareEntity.IdentPhoto, studentCompareEntity.ScenePhoto);
  415. return Success("ok");
  416. }
  417. }
  418. }