using System; using System.Collections.Generic; using System.Configuration; using System.Linq; using System.Web; using Learun.Application.Base.SystemModule; using Learun.Application.Organization; using Learun.Application.TwoDevelopment.EducationalAdministration; using Learun.Util; using Nancy; using static Learun.Application.WebApi.Until.MyEnum; namespace Learun.Application.WebApi.Modules { public class Arrangelesson : BaseNoAuthenticationNoLogin { public Arrangelesson() : base("/arrangelesson/") { Get["/gettoken"] = GetToken; Get["/lessontype"] = GetLessonTypes; Get["/classtype"] = GetClassType; Get["/student"] = GetStudents; Get["/lessonsortdetail"] = GetLessonSortDetails; Get["/lessonsort"] = GetLessonSorts; Get["/classlesson"] = GetClassLessons; Get["/bukaolist"] = GetBuKaoList; //以下接口需要传值学年学期 Get["/school"] = GetSchools; Get["/dept"] = GetDepts; Get["/major"] = GetMajors; Get["/classroom"] = GetClassrooms; Get["/lesson"] = GetLessons; Get["/teacher"] = GetTeachers; Get["/class"] = GetClasses; Get["/stu"] = GetStus; //以下返回全部 Get["/department"] = GetDepartment; Get["/allteacher"] = GetAllTeachers; Get["/allstudent"] = GetAllStudents; Get["/alldept"] = GetAllDept; Get["/allmajor"] = GetAllMajor; Get["/alllesson"] = GetAllLesson; Get["/allclass"] = GetAllClass; Get["/alluser"] = GetAllUsers; Get["/allschool"] = GetAllSchools; Get["/allclasslesson"] = GetAllClassLesson; Get["/allelelectivelesson"] = GetAllElectiveLesson; //以下接口不往ArrangeLessonSync里记录已传数据 Get["/schoolNotRecord"] = GetSchoolsNotRecord; Get["/deptNotRecord"] = GetDeptsNotRecord; Get["/majorNotRecord"] = GetMajorsNotRecord; Get["/classroomNotRecord"] = GetClassroomsNotRecord; Get["/lessonNotRecord"] = GetLessonsNotRecord; Get["/teacherNotRecord"] = GetTeachersNotRecord; Get["/classNotRecord"] = GetClassesNotRecord; Get["/stuNotRecord"] = GetStusNotRecord; Get["trantest"] = TranTest; //按条件重置基础数据同步状态 Get["/initbasicdata"] = InitBasicData; Get["/getnewstudentlist"] = GetNewStudentList; Post["/newstudentcompare"] = NewStudentCompare; } private readonly ArrangeLessonTermIBLL arrangeLessonTermIBLL = new ArrangeLessonTermBLL(); private readonly StuScoreIBLL stuScoreIBLL = new StuScoreBLL(); private DepartmentIBLL departmentIBLL = new DepartmentBLL(); EmpInfoIBLL empInfoIbll = new EmpInfoBLL(); private StuInfoBasicIBLL stuInfoBasicIbll = new StuInfoBasicBLL(); CdDeptIBLL cdDeptIbll = new CdDeptBLL(); CdMajorIBLL cdMajorIbll = new CdMajorBLL(); private LessonInfoIBLL lessonInfoIbll = new LessonInfoBLL(); ClassInfoIBLL classInfoIbll = new ClassInfoBLL(); UserIBLL userIbll = new UserBLL(); private CompanyIBLL companyIbll = new CompanyBLL(); private StuSelectLessonListOfElectiveIBLL stuSelectLessonListOfElectiveIbll = new StuSelectLessonListOfElectiveBLL(); private AnnexesFileIBLL annexesFileIBLL = new AnnexesFileBLL(); private StuInfoFreshIBLL stuInfoFreshIBLL = new StuInfoFreshBLL(); private Response TranTest(dynamic _) { return Success("ok"); } private Response GetToken(dynamic _) { string sid = Request.Query["sysid"]; var sys = EnumAttribute.GetVal(typeof(ThrSys), sid.ToInt()); if (sys.IsEmpty()) return Fail("参数错误!"); var token = DESEncrypt.Encrypt(sys); return Success(token); } private Response GetAllLesson(dynamic _) { var result = lessonInfoIbll.GetAllLesson(); return Success(result); } private Response GetAllClass(dynamic _) { var result = classInfoIbll.GetAllClass(); return Success(result); } private Response GetAllTeachers(dynamic _) { var result = empInfoIbll.GetAllList().Where(m => m.CheckMark == true).ToList(); return Success(result); } private Response GetAllSchools(dynamic _) { var result = companyIbll.GetList(); return Success(result); } private Response GetAllClassLesson(dynamic _) { string AcademicYearNo = Request.Query["AcademicYearNo"]; string Semester = Request.Query["Semester"]; var result = arrangeLessonTermIBLL.GetAllClassLesson(AcademicYearNo, Semester); return Success(result); } private Response InitBasicData(dynamic _) { string AcademicYearNo = Request.Query["AcademicYearNo"]; string Semester = Request.Query["Semester"]; string BaseTable = Request.Query["BaseTable"]; if (string.IsNullOrEmpty(AcademicYearNo) || string.IsNullOrEmpty(Semester)) { return Fail("学年学期参数不能为空"); } if (string.IsNullOrEmpty(BaseTable)) { return Fail("基础表参数不能为空"); } ArrangeLessonTermEntity arrangeLessonTermEntity = new ArrangeLessonTermEntity(); arrangeLessonTermEntity.AcademicYearNo = AcademicYearNo; arrangeLessonTermEntity.Semester = Semester; arrangeLessonTermEntity.SyncBasicTable = BaseTable; arrangeLessonTermIBLL.InitAsyncDataByCondition(arrangeLessonTermEntity); return Success("操作成功"); } private Response GetAllElectiveLesson(dynamic _) { string AcademicYearNo = Request.Query["AcademicYearNo"]; string Semester = Request.Query["Semester"]; var result = stuSelectLessonListOfElectiveIbll.GetAllElectiveLesson(AcademicYearNo, Semester); return Success(result); } private Response GetAllUsers(dynamic _) { var result = userIbll.GetAllList().Where(m => !m.F_Account.Contains("System") && m.F_DeleteMark == 0 && m.F_EnabledMark == 1).Select(m => new { m.F_UserId, m.F_CompanyId, m.F_DepartmentId, F_Description = m.F_Description == "教师" ? "2" : "3", ClassNo = stuInfoBasicIbll.GetStuInfoBasicEntityByStuNo(m.F_Account)?.ClassNo, m.F_RealName, m.F_Account, Year = "20" + stuInfoBasicIbll.GetStuInfoBasicEntityByStuNo(m.F_Account)?.Grade, }); return Success(result); } private Response GetAllStudents(dynamic _) { var result = stuInfoBasicIbll.GetAllList(); return Success(result); } private Response GetDepartment(dynamic _) { var result = departmentIBLL.GetAllList(); return Success(result); } private Response GetAllDept(dynamic _) { var result = cdDeptIbll.GetAllList(); return Success(result); } private Response GetAllMajor(dynamic _) { var result = cdMajorIbll.GetAllList(); return Success(result); } private Response GetLessonTypes(dynamic _) { var result = arrangeLessonTermIBLL.GetLessonTypes(); return Success(result); } private Response GetDepts(dynamic _) { string AcademicYearNo = Request.Query["AcademicYearNo"]; string Semester = Request.Query["Semester"]; var result = arrangeLessonTermIBLL.GetDepts(AcademicYearNo, Semester); return Success(result); } private Response GetDeptsNotRecord(dynamic _) { string AcademicYearNo = Request.Query["AcademicYearNo"]; string Semester = Request.Query["Semester"]; var result = arrangeLessonTermIBLL.GetDeptsNotRecord(AcademicYearNo, Semester); return Success(result); } private Response GetSchools(dynamic _) { string AcademicYearNo = Request.Query["AcademicYearNo"]; string Semester = Request.Query["Semester"]; var result = arrangeLessonTermIBLL.GetSchools(AcademicYearNo, Semester); return Success(result); } private Response GetSchoolsNotRecord(dynamic _) { string AcademicYearNo = Request.Query["AcademicYearNo"]; string Semester = Request.Query["Semester"]; var result = arrangeLessonTermIBLL.GetSchoolsNotRecord(AcademicYearNo, Semester); return Success(result); } private Response GetClassLessons(dynamic _) { var result = arrangeLessonTermIBLL.GetClassLessons().Select(m => new { m.AcademicYearNo, m.Semester, m.DeptNo, m.MajorNo, m.LessonNo, m.TeachClassNo, m.EmpNo, m.LessonSortNo }); return Success(result); } public Response GetStudents(dynamic _) { var result = arrangeLessonTermIBLL.GetStudents(); return Success(result); } public Response GetMajors(dynamic _) { string AcademicYearNo = Request.Query["AcademicYearNo"]; string Semester = Request.Query["Semester"]; var result = arrangeLessonTermIBLL.GetMajors(AcademicYearNo, Semester); return Success(result); } public Response GetMajorsNotRecord(dynamic _) { string AcademicYearNo = Request.Query["AcademicYearNo"]; string Semester = Request.Query["Semester"]; var result = arrangeLessonTermIBLL.GetMajorsNotRecord(AcademicYearNo, Semester); return Success(result); } public Response GetClassrooms(dynamic _) { string AcademicYearNo = Request.Query["AcademicYearNo"]; string Semester = Request.Query["Semester"]; var result = arrangeLessonTermIBLL.GetClassrooms(AcademicYearNo, Semester); return Success(result); } public Response GetClassroomsNotRecord(dynamic _) { string AcademicYearNo = Request.Query["AcademicYearNo"]; string Semester = Request.Query["Semester"]; var result = arrangeLessonTermIBLL.GetClassroomsNotRecord(AcademicYearNo, Semester); return Success(result); } public Response GetClassType(dynamic _) { var result = arrangeLessonTermIBLL.GetClassType(); return Success(result); } public Response GetLessons(dynamic _) { string AcademicYearNo = Request.Query["AcademicYearNo"]; string Semester = Request.Query["Semester"]; var result = arrangeLessonTermIBLL.GetLessons(AcademicYearNo, Semester); return Success(result); } public Response GetLessonsNotRecord(dynamic _) { string AcademicYearNo = Request.Query["AcademicYearNo"]; string Semester = Request.Query["Semester"]; var result = arrangeLessonTermIBLL.GetLessonsNotRecord(AcademicYearNo, Semester); return Success(result); } public Response GetLessonSortDetails(dynamic _) { var result = arrangeLessonTermIBLL.GetLessonSortDetails(); return Success(result); } public Response GetLessonSorts(dynamic _) { var result = arrangeLessonTermIBLL.GetLessonSorts(); return Success(result); } public Response GetTeachers(dynamic _) { string AcademicYearNo = Request.Query["AcademicYearNo"]; string Semester = Request.Query["Semester"]; var result = arrangeLessonTermIBLL.GetTeachers(AcademicYearNo, Semester); return Success(result); } public Response GetTeachersNotRecord(dynamic _) { string AcademicYearNo = Request.Query["AcademicYearNo"]; string Semester = Request.Query["Semester"]; var result = arrangeLessonTermIBLL.GetTeachersNotRecord(AcademicYearNo, Semester); return Success(result); } public Response GetClasses(dynamic _) { string AcademicYearNo = Request.Query["AcademicYearNo"]; string Semester = Request.Query["Semester"]; var result = arrangeLessonTermIBLL.GetClasses(AcademicYearNo, Semester); return Success(result); } public Response GetClassesNotRecord(dynamic _) { string AcademicYearNo = Request.Query["AcademicYearNo"]; string Semester = Request.Query["Semester"]; var result = arrangeLessonTermIBLL.GetClassesNotRecord(AcademicYearNo, Semester); return Success(result); } public Response GetStus(dynamic _) { string AcademicYearNo = Request.Query["AcademicYearNo"]; string Semester = Request.Query["Semester"]; var result = arrangeLessonTermIBLL.GetStus(AcademicYearNo, Semester); return Success(result); } public Response GetStusNotRecord(dynamic _) { string AcademicYearNo = Request.Query["AcademicYearNo"]; string Semester = Request.Query["Semester"]; var result = arrangeLessonTermIBLL.GetStusNotRecord(AcademicYearNo, Semester); return Success(result); } /// /// 补考名单数据 /// /// /// private Response GetBuKaoList(dynamic _) { var allList = new List(); var notPassList = stuScoreIBLL.GetStuScoreNotPassList(); allList.AddRange(notPassList); var notPassTwoList = stuScoreIBLL.GetStuScoreNotPassTwoList(); allList.AddRange(notPassTwoList); 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); return Success(result); } /// /// 新生对接人脸平台接口 /// /// /// public Response GetNewStudentList(dynamic _) { string webrootpath = ConfigurationManager.AppSettings["webrootpath"]; string grade = Request.Query["Grade"]; if (string.IsNullOrEmpty(grade)) { return Fail("缺少参数:Grade"); } string query = "{\"Grade\":\"" + grade + "\"}"; var list = stuInfoFreshIBLL.GetList2(query); foreach (var item in list) { if (!string.IsNullOrEmpty(item.ExamPhoto)) { var annexesFileEntity = annexesFileIBLL.GetEntityByFolderId(item.ExamPhoto); if (annexesFileEntity != null && annexesFileEntity.F_FilePath.IndexOf("Resource") != -1) { item.ExamPhoto = webrootpath + "/" + annexesFileEntity.F_FilePath.Substring(annexesFileEntity.F_FilePath.IndexOf("Resource")); } } } return Success(list.Select(m => new { m.StuNo, m.IdentityCardNo, m.ksh, m.StuName, m.GenderNo, m.ProvinceNo, m.MajorName, m.ClassName, m.ExamPhoto })); } public class StudentCompareEntity { /// /// 身份号码 /// public string IdentityCardNo { get; set; } /// /// 核验结果 /// public int PhotoCheckStatus { get; set; } /// /// 身份证照片URL /// public string IdentPhoto { get; set; } /// /// 现场照片URL /// public string ScenePhoto { get; set; } } /// /// 身份核验结果 /// /// /// public Response NewStudentCompare(dynamic _) { StudentCompareEntity studentCompareEntity = this.GetReq(); if (studentCompareEntity==null) { return Fail("传入参数有误"); } if (string.IsNullOrEmpty(studentCompareEntity.IdentityCardNo)) { return Fail("传入参数:身份证号不能为空"); } if (string.IsNullOrEmpty(studentCompareEntity.ScenePhoto)) { return Fail("传入参数:现场照片URL不能为空"); } if (string.IsNullOrEmpty(studentCompareEntity.IdentPhoto)) { return Fail("传入参数:身份证照片URL不能为空"); } stuInfoFreshIBLL.SaveStudentCompare(studentCompareEntity.IdentityCardNo, studentCompareEntity.PhotoCheckStatus, studentCompareEntity.IdentPhoto, studentCompareEntity.ScenePhoto); return Success("ok"); } } }