From 8663ca199f998a4e77622a2c083e9dcdca126119 Mon Sep 17 00:00:00 2001 From: zlm133588 <13996255+zlm133588@user.noreply.gitee.com> Date: Wed, 12 Mar 2025 21:50:20 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AF=BE=E7=A8=8B=E6=A8=A1=E5=9D=97=E7=9A=84?= =?UTF-8?q?=E5=A2=9E=E5=88=A0=E6=94=B9=E6=9F=A5=E5=AE=8C=E6=88=90=EF=BC=8C?= =?UTF-8?q?=E5=8F=82=E4=B8=8E=E7=8F=AD=E7=BA=A7=E5=8A=9F=E8=83=BD=E5=BC=80?= =?UTF-8?q?=E5=8F=91=E4=BA=86=E4=B8=A4=E4=B8=AA=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AES-front/src/api/admin.js | 14 +- .../src/views/admin/class/class-list.vue | 26 +- .../src/views/admin/course/course-edit.vue | 9 +- .../src/views/admin/course/course-list.vue | 13 +- .../course/view-classes-not-in-course.vue | 55 +- .../components/problem-student-action2.vue | 49 + .../views/admin/problem/problem-student.vue | 32 +- .../user/controller/AdminusersController.java | 16 +- .../user/controller/ClassesController.java | 31 + .../aes/user/controller/CourseCotroller.java | 128 ++ .../example/aes/user/dao/AdminusersDaoI.java | 1 + .../com/example/aes/user/dao/ClassesDaoI.java | 73 +- .../com/example/aes/user/dao/CourseDaoI.java | 18 + .../aes/user/dao/impl/AdminusersDaoImpl.java | 14 + .../aes/user/dao/impl/ClassesDaoImpl.java | 1033 +++-------------- .../aes/user/dao/impl/CourseDaoImpl.java | 89 ++ .../com/example/aes/user/model/Course.java | 49 + .../com/example/aes/user/model/PMCourse.java | 20 + .../com/example/aes/user/model/UClass.java | 33 +- .../aes/user/service/AdminusersServiceI.java | 2 + .../aes/user/service/ClassesServiceI.java | 68 +- .../aes/user/service/CourseServiceI.java | 22 + .../service/impl/AdminusersServiceImpl.java | 6 + .../user/service/impl/ClassesServiceImpl.java | 32 +- .../user/service/impl/CourseServiceImpl.java | 95 ++ 25 files changed, 830 insertions(+), 1098 deletions(-) create mode 100644 AES-front/src/views/admin/problem/components/problem-student-action2.vue create mode 100644 AES/src/main/java/com/example/aes/user/controller/CourseCotroller.java create mode 100644 AES/src/main/java/com/example/aes/user/dao/CourseDaoI.java create mode 100644 AES/src/main/java/com/example/aes/user/dao/impl/CourseDaoImpl.java create mode 100644 AES/src/main/java/com/example/aes/user/model/Course.java create mode 100644 AES/src/main/java/com/example/aes/user/model/PMCourse.java create mode 100644 AES/src/main/java/com/example/aes/user/service/CourseServiceI.java create mode 100644 AES/src/main/java/com/example/aes/user/service/impl/CourseServiceImpl.java diff --git a/AES-front/src/api/admin.js b/AES-front/src/api/admin.js index 0652627..65f6d8b 100644 --- a/AES-front/src/api/admin.js +++ b/AES-front/src/api/admin.js @@ -31,7 +31,15 @@ export default { getAdminuserById: (data) => request.post('/adminusers/getAdminuserById', data), editAdminuser: (data) => request.post('/adminusers/editAdminuser', data), addAdminuser: (data) => request.post('/adminusers/addAdminuser', data), - findAllClassPage: (data) => request.post('/classes/findAllClassPage', data), - findAllShoolsInAdminusers: () => request.post('/school/findAllShoolsInAdminusers'), - deleteClass: (data) => request.post('/classes/deleteClass', data), + findAllClassPage: (data) => request.post('/classes/findAllClassPage', data), + findAllShoolsInAdminusers: () => request.post('/school/findAllShoolsInAdminusers'), + deleteClass: (data) => request.post('/classes/deleteClass', data), + findAllCoursesPage: (data) => request.post('/course/findAllCoursesPage', data), + Addcourse: (data) => request.post('/course/addCourse', data), + getCourseById: (data) => request.post('/course/findCourseById', data), + EditCourse: (data) => request.post('/course/editCourse', data), + deletecoursesInfo: (data) => request.post('/course/deleteCourse', data), + findAllTeacher: (data) => + request.post('/adminusers/findAllTeacher', data), + findClassNotInCourse: (data) => request.post('/classes/findClassNotInCourse', data), } diff --git a/AES-front/src/views/admin/class/class-list.vue b/AES-front/src/views/admin/class/class-list.vue index 7a458bb..60fc525 100644 --- a/AES-front/src/views/admin/class/class-list.vue +++ b/AES-front/src/views/admin/class/class-list.vue @@ -226,19 +226,19 @@ const queryByPage = async (currentPage)=>{ } ); console.log(res.data) - if (userStore.getRole().some((r) => r === 'admin')){ - const res1=await api.findAllShoolsInAdminusers() - const list1=res1.data - const transformedDatas=list1.map(item => ({ - label: item.name, - value: item.id, - })); - transformedDatas.unshift({ - label: '全部', - value: 0, - }); - options.value=transformedDatas; - } + // if (userStore.getRole().some((r) => r === 'admin')){ + // const res1=await api.findAllShoolsInAdminusers() + // const list1=res1.data + // const transformedDatas=list1.map(item => ({ + // label: item.name, + // value: item.id, + // })); + // transformedDatas.unshift({ + // label: '全部', + // value: 0, + // }); + // options.value=transformedDatas; + // } const {pageNum, pageSize, total, list} = res.data paginationReactive.page = pageNum paginationReactive.pageSize = pageSize diff --git a/AES-front/src/views/admin/course/course-edit.vue b/AES-front/src/views/admin/course/course-edit.vue index 7a0f622..bb71f3a 100644 --- a/AES-front/src/views/admin/course/course-edit.vue +++ b/AES-front/src/views/admin/course/course-edit.vue @@ -6,7 +6,8 @@
课程名称: - +
提交 @@ -65,12 +66,10 @@ const queryByPage = async () => { loading.value = true path.value = router.currentRoute.value.fullPath try { - const res = await api.getChapterById({ + const res = await api.getCourseById({ ...courseInfoValue.value }) - const list = res.data - courseInfoValue.value.code=list.code - name.value = list.name + courseInfoValue.value=res.data } catch (err) { } finally { loading.value = false diff --git a/AES-front/src/views/admin/course/course-list.vue b/AES-front/src/views/admin/course/course-list.vue index 43e77ae..76e012e 100644 --- a/AES-front/src/views/admin/course/course-list.vue +++ b/AES-front/src/views/admin/course/course-list.vue @@ -84,7 +84,7 @@ const columns = [ onClickEdit: () => onEditCourses(row), onClickDelete: () => onDeleteCourses(row), - onClickBanji: () => onBanjiExam(row), + onClickBanji: () => onBanjiCourse(row), onClickAdd:()=>onAddProblem(row), onClickProblem:()=>onProblem(row), onClickStore:()=>onProblemStore(row) @@ -125,8 +125,7 @@ const sub = async ()=>{ }) } const onDeleteCourses = async (courses)=>{ - // const {id} = courses - const id=1 + const {id} = courses try { await api.deletecoursesInfo({id}) $message.success("删除成功") @@ -137,8 +136,7 @@ const onDeleteCourses = async (courses)=>{ } } const onEditCourses=async (courses)=>{ - // const {id} = courses - const id=1 + const {id} = courses await router.push({name: 'AdminCourseEdit', params: {chId: id}}) } const onUpdatePageSize = (pageSize) => { @@ -146,9 +144,8 @@ const onUpdatePageSize = (pageSize) => { paginationReactive.page = 1; queryByPage(1) } -const onBanjiExam= async (classId)=>{ - // const { id } = classId - const id=1 +const onBanjiCourse= async (classId)=>{ + const { id } = classId try { await router.push({ name: 'AdminClassManage', query: { classId: id diff --git a/AES-front/src/views/admin/course/view-classes-not-in-course.vue b/AES-front/src/views/admin/course/view-classes-not-in-course.vue index 04706d8..5b99545 100644 --- a/AES-front/src/views/admin/course/view-classes-not-in-course.vue +++ b/AES-front/src/views/admin/course/view-classes-not-in-course.vue @@ -73,7 +73,7 @@ import {NButton} from 'naive-ui' const router = useRouter() const userStore = useUserStore() const route = useRoute() -const { examId, history } = route.query +const { courseId, history } = route.query const role = ref(userStore.getRole()) const options1 = ref([]) @@ -161,28 +161,28 @@ const onAssistantClass = async (classId)=>{ const {id} = classId await router.push({name: 'AdminClassAssistant', params: {clId: id}}) } -const getSchools = async () => { - try { - const res = await api.findAllSchools() - const transformData = res.data.map((item) => ({ - label: item.name, - value: item.id, - })) - transformData.unshift({ - label: '全部', - value: 0, - }) - teacherInfoValue.value.schoolId = parseInt(userStore.getSchoolId(), 10) - options1.value = transformData - } catch (error) { - console.log(error) - $message.error('获取学校的信息失败') - } -} +// const getSchools = async () => { +// try { +// const res = await api.findAllSchools() +// const transformData = res.data.map((item) => ({ +// label: item.name, +// value: item.id, +// })) +// transformData.unshift({ +// label: '全部', +// value: 0, +// }) +// teacherInfoValue.value.schoolId = parseInt(userStore.getSchoolId(), 10) +// options1.value = transformData +// } catch (error) { +// console.log(error) +// $message.error('获取学校的信息失败') +// } +// } const queryByPage1 = async (query) => { - const res = await api.findAllAdminusersBySchoolId({ - schoolId: query, + const res = await api.findAllTeacher({ + // schoolId: query, }) const transformedData = res.data.map((item) => ({ label: item.name, @@ -206,7 +206,7 @@ const queryByPage1 = async (query) => { teacherInfoValue.value.teacherId = 0 } options2.value = transformedData - await getClassesNotInExam() + await getClassesNotInCourse() } watch( () => teacherInfoValue.value.schoolId, @@ -237,14 +237,15 @@ const addClassToExam = async (classId) => { } } -const getClassesNotInExam = async () => { +const getClassesNotInCourse = async () => { try { loading.value = true - const res = await api.findClassNotInExam({ - examId: examId, + const res = await api.findClassNotInCourse({ + // examId: examId, + courseId:courseId, teacherId: teacherInfoValue.value.teacherId, - id: teacherInfoValue.value.schoolId, + // id: teacherInfoValue.value.schoolId, pageNum: paginationReactive.page, pageSize: paginationReactive.pageSize, history:history @@ -267,6 +268,6 @@ const handleCheckedChange = (checked) => { onMounted(() => { queryByPage1() - getSchools() + // getSchools() }) diff --git a/AES-front/src/views/admin/problem/components/problem-student-action2.vue b/AES-front/src/views/admin/problem/components/problem-student-action2.vue new file mode 100644 index 0000000..bc0acb4 --- /dev/null +++ b/AES-front/src/views/admin/problem/components/problem-student-action2.vue @@ -0,0 +1,49 @@ + + + diff --git a/AES-front/src/views/admin/problem/problem-student.vue b/AES-front/src/views/admin/problem/problem-student.vue index 595a5cb..bfa139c 100644 --- a/AES-front/src/views/admin/problem/problem-student.vue +++ b/AES-front/src/views/admin/problem/problem-student.vue @@ -67,8 +67,8 @@ style='justify-content: flex-end'> - 加时 + + 导出未交名单 @@ -160,20 +160,20 @@ const updateColumns=()=>{ title: '状态', width: '300', }, - // { - // key: 'actions', - // title: '操作', - // width: '250', - // render(row) { - // return h( - // ProblemStudentAction2, - // { - // onClickAddTime: () => - // addTime(row) - // } - // ); - // } - // } + { + key: 'actions', + title: '操作', + width: '250', + render(row) { + return h( + ProblemStudentAction2, + { + onClickAddTime: () => + addTime(row) + } + ); + } + } ] } else{ diff --git a/AES/src/main/java/com/example/aes/user/controller/AdminusersController.java b/AES/src/main/java/com/example/aes/user/controller/AdminusersController.java index 224e14b..ab894ee 100644 --- a/AES/src/main/java/com/example/aes/user/controller/AdminusersController.java +++ b/AES/src/main/java/com/example/aes/user/controller/AdminusersController.java @@ -4,10 +4,7 @@ package com.example.aes.user.controller; import com.example.aes.global.model.DecodeToken; import com.example.aes.global.model.PageBean; import com.example.aes.global.model.RespBean; -import com.example.aes.user.model.AssistantClass; -import com.example.aes.user.model.DataGrid; -import com.example.aes.user.model.PMAdminusers; -import com.example.aes.user.model.UAdminusers; +import com.example.aes.user.model.*; import com.example.aes.user.service.AdminusersServiceI; import com.example.aes.user.service.AssistantClassServiceI; import org.hibernate.Query; @@ -265,6 +262,17 @@ public class AdminusersController { return RespBean.error("修改教师密码失败"); } } + @PostMapping("/findAllTeacher") + public RespBean findAllTeacher(@RequestBody PMAdminusers pmadminusers) { + List adminuser = adminusersServiceI + .getTeacher(); + if (adminuser.size() != 0) { + return RespBean.ok("查询学校教师用户成功", adminuser); + } else { + return RespBean.ok("无该学校教师信息", adminuser); + } + + } } diff --git a/AES/src/main/java/com/example/aes/user/controller/ClassesController.java b/AES/src/main/java/com/example/aes/user/controller/ClassesController.java index 4a98349..d8f9293 100644 --- a/AES/src/main/java/com/example/aes/user/controller/ClassesController.java +++ b/AES/src/main/java/com/example/aes/user/controller/ClassesController.java @@ -6,6 +6,7 @@ import com.example.aes.global.model.RespBean; import com.example.aes.user.model.DataGrid; import com.example.aes.user.model.Json; import com.example.aes.user.model.PMClasses; +import com.example.aes.user.model.UClass; import com.example.aes.user.service.ClassesServiceI; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; @@ -105,6 +106,36 @@ public class ClassesController{ return RespBean.error("删除班级失败", result); } } + @PostMapping("/findClassNotInCourse") + public RespBean findClassNotInCourse(@RequestBody UClass uClass, HttpServletRequest request) // 查看参与课程的班级 + { + if(uClass.getPageNum() < 1 || uClass.getPageSize() < 1) + return RespBean.error("参数错误"); + DecodeToken decodeToken = new DecodeToken(request); + String role = decodeToken.getRole(); + int teacherId = uClass.getTeacherId(); +// int schoolId = uClass.getId(); + if(role.equals("admin")){ + if(uClass.getTeacherId()!=0) + teacherId = uClass.getTeacherId(); + else + teacherId = 0; + } + DataGrid classList = new DataGrid(); + if(teacherId != 0){ + classList = + classesServiceI.findClassNotInCourse(uClass.getCourseId(), teacherId, uClass.getPageNum(), uClass.getPageSize(), uClass.isHistory()); + } + else + { + uClass.setTeacherId(teacherId); + classList = + classesServiceI.findClassNotInCourse(uClass, uClass.getPageNum(), uClass.getPageSize()); + } + + return RespBean.ok("查看未参与课程的班级成功", + classList); + } } diff --git a/AES/src/main/java/com/example/aes/user/controller/CourseCotroller.java b/AES/src/main/java/com/example/aes/user/controller/CourseCotroller.java new file mode 100644 index 0000000..4c9a1f0 --- /dev/null +++ b/AES/src/main/java/com/example/aes/user/controller/CourseCotroller.java @@ -0,0 +1,128 @@ +package com.example.aes.user.controller; + +import com.example.aes.global.model.DecodeToken; +import com.example.aes.global.model.RespBean; +import com.example.aes.user.model.Course; +import com.example.aes.user.model.DataGrid; +import com.example.aes.user.model.PMCourse; +import com.example.aes.user.service.CourseServiceI; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.servlet.http.HttpServletRequest; +import java.util.List; + +@RestController +@RequestMapping("/course") +@Transactional +public class CourseCotroller { + + @Autowired + private CourseServiceI courseServiceI; + // 根据课程名称查询课程(分页) + @PostMapping("/findAllCoursesPage") + public RespBean findAllCoursesPage(@RequestBody PMCourse pmCourse, HttpServletRequest request) { + if (pmCourse.getPageNum() < 1 || pmCourse.getPageSize() < 1) + return RespBean.error("参数错误!"); + DecodeToken decodeToken = new DecodeToken(request); + String userId = decodeToken.getUserId(); + pmCourse.setTeacherId(Integer.parseInt(userId)); + DataGrid dataGrid = courseServiceI.CoursePage(pmCourse); + if (dataGrid != null) { + return RespBean.ok("获取课程列表成功!",dataGrid); + } else { + return RespBean.error("获取课程列表失败!"); + } + } + // 添加课程 + @PostMapping("/addCourse") + public RespBean addCourse(@RequestBody PMCourse pmcourse, HttpServletRequest request) { + String name = pmcourse.getName(); + // 课程名称不能重复 + String result = courseServiceI.findCourseByName(name); + if(result.equals("true")) + return RespBean.error("不能重复添加相同名称课程"); + + List pmcoursesList = courseServiceI.findAllCourses(); +// String courseCode = new String(); +// String strCode = new String(); +// if (pmcoursesList.size() == 0) { +// courseCode = "001"; +// } + if (pmcoursesList.size() < 999) { +// +// for (int i = 1; i <= pmcoursesList.size(); i++) { +// strCode = pmcoursesList.get(i - 1).getCode(); +// int numCode = Integer.valueOf(strCode); +// if (i != numCode) { +// if (i < 10) { +// courseCode = "00" + String.valueOf(i); +// break; +// } else if (i >= 10 && i < 100) { +// courseCode = "0" + String.valueOf(i); +// break; +// } +// } else { +// if (i == pmcoursesList.size()) { +// int flag = i + 1; +// if (flag < 10) +// courseCode = "00" + String.valueOf(flag); +// else if (flag >= 10 && flag < 100) +// courseCode = "0" + String.valueOf(flag); +// } +// } +// } +// pmcourse.setCode(courseCode); + DecodeToken decodeToken = new DecodeToken(request); + String userId = decodeToken.getUserId(); + pmcourse.setTeacherId(Integer.parseInt(userId)); + pmcourse.setName(name); + courseServiceI.addCourse(pmcourse); + return RespBean.ok("添加课程成功"); + } else { + return RespBean.error("课程已经满了不能再添加课程了!"); + } + + } + + //根据id查询章节 + @PostMapping("/findCourseById") + public RespBean findCourseById(@RequestBody PMCourse pmcourse) { + int id = pmcourse.getId(); + Course course = + courseServiceI.findCourseById(id); + return RespBean.ok("查询章节成功", course); + } + + // 删除章节 + @PostMapping("/deleteCourse") + public RespBean deleteCourse(@RequestBody PMCourse pmcourse) { + int id = pmcourse.getId(); // id + Course course = + courseServiceI.findCourseById(id); + courseServiceI.deleteCourse(id); // 删除 + return RespBean.ok("删除成功", id); + } + + // 修改课程名称 + @PostMapping("/editCourse") + public RespBean editCourse(@RequestBody PMCourse pmCourse){ +// String code = pmCourse.getCode(); + // 课程新名称 + String name = pmCourse.getName(); + if(courseServiceI.findCourseByName(name)=="true"){ + return RespBean.ok("课程名称重复"); + } + int num = + courseServiceI.editCourse(pmCourse.getId(),pmCourse.getName()); + if(num == 1) + return RespBean.ok("修改课程名称成功"); + else + return RespBean.error("修改课程名称失败"); + } + +} diff --git a/AES/src/main/java/com/example/aes/user/dao/AdminusersDaoI.java b/AES/src/main/java/com/example/aes/user/dao/AdminusersDaoI.java index 70f0187..04d88fe 100644 --- a/AES/src/main/java/com/example/aes/user/dao/AdminusersDaoI.java +++ b/AES/src/main/java/com/example/aes/user/dao/AdminusersDaoI.java @@ -25,4 +25,5 @@ public interface AdminusersDaoI extends BaseDaoI { public boolean editAdminuser(PMAdminusers pmadminusers); // 编辑教师信息 public boolean addAdminuser(PMAdminusers pmadminusers); // 添加教师 public Map findTeachersByteacherIdList(String teacherIdList); + public List getTeacher(); } diff --git a/AES/src/main/java/com/example/aes/user/dao/ClassesDaoI.java b/AES/src/main/java/com/example/aes/user/dao/ClassesDaoI.java index fc6feb6..d2f36ee 100644 --- a/AES/src/main/java/com/example/aes/user/dao/ClassesDaoI.java +++ b/AES/src/main/java/com/example/aes/user/dao/ClassesDaoI.java @@ -15,9 +15,6 @@ import java.util.Map; public interface ClassesDaoI extends BaseDaoI { - public List findAllClass(); // 查询所有班级 - - public List findAllClassPage(int pageNum, int pageSize); public long findAllClassNum(int teacherId, String role); @@ -25,58 +22,10 @@ public interface ClassesDaoI extends BaseDaoI { public List findClassesByConditionPage(int teacherId,String role, int pageNum, int pageSize); - public boolean editClassMessage(int id, String className, int teacherId, int advance, int late, int reject, String weektime, Date first_week_monday); // 修改班级信息 - public boolean deleteClass(int id); // 删除班级 - public List findClassStudentsById(int classId); // 通过班级id,查询学生 - - public List findClassStudentsByIdNoName(List classIdList, String studentNo, String chineseName, int pageNum, int pageSize); - - public long findClassStudentsByIdNoNameNum(List classIdList, String studentNo, String chineseName); - - public List findClassStudentsByIdPage(int classId, int pageNum, int pageSize); - - public long findClassStudentsByIdNum(int classId); - - public boolean deleteClassStudentsByUserId(int classId, int userId); // 通过userId删除班级学生 - public boolean updateClassStudentsNum(int classId, int num); // 更新班级学生人数 - public void addClass(PMClasses pclass); // 添加班级 - - public List findClassInExam(int examId, boolean history); // 获取参与考试的班级 - -// public List findClassInExam(int examId, int teacherId, String role, boolean history); // 获取参与考试的班级,并进行身份验证 - - public List findClassInExamPage(int examId, int pageNum, int pageSize, boolean history); // 获取参与考试的班级 - -// public List findClassInExamPage(int examId, int teacherId, String role, int pageNum, int pageSize); // 获取参与考试的班级,并进行身份验证 - - public long findClassInExamNum(int examId, boolean history); - -// public long findClassInExamNum(int examId, int teacherId, String role); - - public List findClassInExamRole(int examId, String role, int teacherId); // 根据角色获取参与考试的班级 - - public List findClassInExamNoRole(int examId, boolean history); - - public List findClassInExamRolePage(int examId, String role, int teacherId, int pageNum, int pageSize); // 根据角色获取参与考试的班级 - - public long findClassInExamRoleNum(int examId, String role, int teacherId); - - public List findClassInPaperExam(int paperexamId); // 获取参与考试的班级 - - public List findClassNotInExam(int examId, int teacherId, int pageNum, int pageSize, boolean history); // 获取未参与考试的班级 - - public List findClassNotInExam(UClass uClass, int pageNum, int pageSize); // 获取未参与考试的班级 - public long findClassNotInExamNum(int examId, int teacherId, boolean history); - - public long findClassNotInExamNum(UClass uClass); - - public List findClassNotInPaperExam(int paperexamId); // 获取未参与笔试考试的班级 - - public List findNotEndClassByTeacherId(int teacherId); // 通过教师查找所属的没有结束的班级,时间为一年以内 public List findClassesByCondition(PMClasses pmclasses); @@ -88,24 +37,10 @@ public interface ClassesDaoI extends BaseDaoI { public Classes getClassesByCode(String inviteCode); - //获取参与该场考试班级的数量和学生人数 - public List> getClassAndStudentNumByExamId(int examId); - public List> getClassAndStudentNumByExamIdHis(int examId, boolean history); + public List findClassNotInCourse(UClass uClass, int pageNum, int pageSize); // 获取未参与课程的班级 + public List findClassNotInCourse(int courseId, int teacherId, int pageNum, int pageSize, boolean history); - public List> getClassAndStudentNumByExamIdHis(int examId); - - public Integer findOnlyClassIdByUserExam(int examId,int userId);//通过userId和examId查找在本场考试中学生所属的班级 - - public List findClassesAfterCreateTime(String createTime); - - public Classes getLastClasses(); - - public List getAllClassesByExamId(int examId); - - public Classes getClassByPrimaryKey(String name, Integer teacherId, Date createTime); - - public int addClass(Classes classes); - - public int updateClass(Classes classes); + public long findClassNotInCourseNum(UClass uClass); + public long findClassNotInCourseNum(int courseId, int teacherId, boolean history); } diff --git a/AES/src/main/java/com/example/aes/user/dao/CourseDaoI.java b/AES/src/main/java/com/example/aes/user/dao/CourseDaoI.java new file mode 100644 index 0000000..58b19f0 --- /dev/null +++ b/AES/src/main/java/com/example/aes/user/dao/CourseDaoI.java @@ -0,0 +1,18 @@ +package com.example.aes.user.dao; + +import com.example.aes.user.model.Course; +import com.example.aes.user.model.PMCourse; + +import java.util.List; + +public interface CourseDaoI extends BaseDaoI{ + public long getAllCoursesNum(String name); + List getCoursesByPage(String name, + int page, int rows); + public void addCourse(PMCourse pmcourse); + public String findCourseByName(String name); + public List findAllCourses(); + public Course findCourseById(int id); + public int editCourse(int id,String name); + public void deleteCourse(int id); +} diff --git a/AES/src/main/java/com/example/aes/user/dao/impl/AdminusersDaoImpl.java b/AES/src/main/java/com/example/aes/user/dao/impl/AdminusersDaoImpl.java index 51582db..e8b34fc 100644 --- a/AES/src/main/java/com/example/aes/user/dao/impl/AdminusersDaoImpl.java +++ b/AES/src/main/java/com/example/aes/user/dao/impl/AdminusersDaoImpl.java @@ -360,4 +360,18 @@ public class AdminusersDaoImpl extends BaseDaoImpl implements } return adminusersMap; } + @Override + public List getTeacher() { + // TODO Auto-generated method stub + String hql; +// if(schoolId != 0){ +// hql = "from Adminusers where role='teacher' and schoolId ='" +// + schoolId + "'"; +// }else{ + hql = "select distinct ad from Adminusers ad where ad.role='teacher'"; +// } + List adminusersList = this.find(hql); + return adminusersList; + } + } diff --git a/AES/src/main/java/com/example/aes/user/dao/impl/ClassesDaoImpl.java b/AES/src/main/java/com/example/aes/user/dao/impl/ClassesDaoImpl.java index 94b5470..fff7a52 100644 --- a/AES/src/main/java/com/example/aes/user/dao/impl/ClassesDaoImpl.java +++ b/AES/src/main/java/com/example/aes/user/dao/impl/ClassesDaoImpl.java @@ -48,14 +48,6 @@ public class ClassesDaoImpl extends BaseDaoImpl implements ClassesDaoI return userDao; } -// @Autowired -// public void setExamDao(ExamDaoI examDao) { -// this.examDao = examDao; -// } -// -// public ExamDaoI getExamDao() { -// return examDao; -// } @Autowired public void setAssistantClassDao(AssistantClassDaoI assistantClassDao) { @@ -133,27 +125,7 @@ public class ClassesDaoImpl extends BaseDaoImpl implements ClassesDaoI return pmclassesList; } - @Override - public boolean editClassMessage(int id, String className, int teacherId, int advance, int late, int reject, String weektime, Date first_week_monday) { // 执行修改班级信息 - // TODO Auto-generated method stub - StringBuilder hql = new StringBuilder(); - hql.append("update Classes set name=:className,advance=:advance,late=:late,reject=:reject,weektime=:weektime,first_week_monday=:first_week_monday"); - hql.append(" where id=:id"); -// String hql = "update Classes set name=:className,teacherId=:teacherId,advance=:advance,late=:late,reject=:reject,weektime=:weektime,first_week_monday=:first_week_monday where id=:id"; - Query q = this.getCurrentSession().createQuery(hql.toString()); - q.setParameter("className", className); - q.setParameter("id", id); - q.setParameter("advance", advance); - q.setParameter("late", late); - q.setParameter("reject", reject); - q.setParameter("weektime", weektime); - q.setParameter("first_week_monday", first_week_monday); - int num = q.executeUpdate(); - if (num != 0) - return true; - else - return false; - } + @Override public boolean deleteClass(int id) { @@ -168,136 +140,7 @@ public class ClassesDaoImpl extends BaseDaoImpl implements ClassesDaoI return false; } - @Override - public List findClassStudentsById(int classId) { - // TODO Auto-generated method stub - String hql = "select u from Users u,Classstudents c where c.classId=" - + classId + " and u.id=c.userId order by u.studentNo asc"; - List classstudentsList = userDao.find(hql); // 获取到了班级中所有学生的id - List userList = new ArrayList(); - for (int i = 0; i < classstudentsList.size(); i++) { - Users user = classstudentsList.get(i); - if (user != null) { - PMUser p = new PMUser(); - p.setId(user.getId()); - p.setStudentNo(user.getStudentNo()); - p.setUsername(user.getUsername()); - p.setChineseName(user.getChineseName()); - p.setBanji(user.getBanji()); - p.setEmail(user.getEmail()); - userList.add(p); - } - } - return userList; - } - @Override - public List findClassStudentsByIdNoName(List classIdList, String studentNo, String chineseName, int pageNum, int pageSize){ - StringBuffer sql = new StringBuffer(); - sql.append("select u from Users u,Classstudents c where c.classId in " + "(" - + StringUtils.strip(classIdList.toString(),"[]") + ")" + " and u.id=c.userId"); - if(!studentNo.equals("")){ - sql.append(" and u.studentNo like '%" + studentNo + "%'"); - } - if(!chineseName.equals("")){ - sql.append(" and u.chineseName like '%" + chineseName + "%'"); - } - sql.append(" order by u.studentNo asc"); - // TODO Auto-generated method stub -// String hql = "select u from Users u,Classstudents c where c.classId=" -// + classId + " and u.id=c.userId order by u.studentNo asc"; - List classstudentsList = userDao.find(sql.toString(), pageNum, pageSize); // 获取到了班级中所有学生的id - List userList = new ArrayList(); - for (int i = 0; i < classstudentsList.size(); i++) { - Users user = classstudentsList.get(i); - if (user != null) { - PMUser p = new PMUser(); - p.setId(user.getId()); - p.setStudentNo(user.getStudentNo()); - p.setUsername(user.getUsername()); - p.setChineseName(user.getChineseName()); - p.setBanji(user.getBanji()); - p.setEmail(user.getEmail()); - userList.add(p); - } - } - return userList; - } - - public long findClassStudentsByIdNoNameNum(List classIdList, String studentNo, String chineseName){ - StringBuffer sql = new StringBuffer(); - sql.append("select u from Users u,Classstudents c where c.classId in " + "(" - + StringUtils.strip(classIdList.toString(),"[]") + ")" + " and u.id=c.userId"); - if(!studentNo.equals("")){ - sql.append(" and u.studentNo like '%" + studentNo + "%'"); - } - if(!chineseName.equals("")){ - sql.append(" and u.chineseName like '%" + chineseName + "%'"); - } - sql.append(" order by u.studentNo asc"); - // TODO Auto-generated method stub -// String hql = "select u from Users u,Classstudents c where c.classId=" -// + classId + " and u.id=c.userId order by u.studentNo asc"; - List classstudentsList = userDao.find(sql.toString()); // 获取到了班级中所有学生的id - List userList = new ArrayList(); - for (int i = 0; i < classstudentsList.size(); i++) { - Users user = classstudentsList.get(i); - if (user != null) { - PMUser p = new PMUser(); - p.setId(user.getId()); - p.setStudentNo(user.getStudentNo()); - p.setUsername(user.getUsername()); - p.setChineseName(user.getChineseName()); - p.setBanji(user.getBanji()); - p.setEmail(user.getEmail()); - userList.add(p); - } - } - return userList.size(); - } - - @Override - public List findClassStudentsByIdPage(int classId, int pageNum, int pageSize){ - String hql = "select u from Users u,Classstudents c where c.classId=" - + classId + " and u.id=c.userId order by u.studentNo asc"; - Query q = this.getCurrentSession().createQuery(hql); - List classstudentsList = q.setFirstResult((pageNum - 1) * pageSize).setMaxResults(pageSize).list(); - List userList = new ArrayList(); - for (int i = 0; i < classstudentsList.size(); i++) { - Users user = classstudentsList.get(i); - if (user != null) { - PMUser p = new PMUser(); - p.setId(user.getId()); - p.setStudentNo(user.getStudentNo()); - p.setUsername(user.getUsername()); - p.setChineseName(user.getChineseName()); - p.setBanji(user.getBanji()); - p.setEmail(user.getEmail()); - userList.add(p); - } - } - return userList; - } - - @Override - public long findClassStudentsByIdNum(int classId){ - String totalhql = "select count(distinct u.id ) from Users u,Classstudents c where c.classId=" - + classId + " and u.id=c.userId order by u.studentNo asc"; - - return this.count(totalhql).longValue(); - } - - @Override - public boolean deleteClassStudentsByUserId(int classId, int userId) { - // TODO Auto-generated method stub - String hql = "delete from Classstudents where classId=" + classId - + " and userId=" + userId; - int result = classstudentsDao.executeHql(hql); - if (result == 1) - return true; - else - return false; - } @Override public boolean updateClassStudentsNum(int classId, int num) { // 更新班级中的学生数量 @@ -311,622 +154,8 @@ public class ClassesDaoImpl extends BaseDaoImpl implements ClassesDaoI return false; } - @Override - public void addClass(PMClasses pclass) { - // TODO Auto-generated method stub - Classes c = new Classes(); - c.setName(pclass.getName()); - c.setTeacherId(pclass.getTeacherId()); -// c.setWeektime(pclass.getWeektime()); -// c.setAdvance(pclass.getAdvance()); -// c.setLate(pclass.getLate()); -// c.setReject(pclass.getReject()); -// c.setFirst_week_monday(pclass.getFirst_week_monday()); - Calendar cal = Calendar.getInstance(); - Date createTime = cal.getTime(); - c.setCreateTime(createTime); - c.setStudentNum(0); - c.setInviteCode(pclass.getInviteCode()); - this.save(c); - } - @Override - public List findClassInExam(int examId, boolean history) { - // TODO Auto-generated method stub - String hql = ""; - if(history){ - hql = "from Classes c where c.id in (select e.classId from Examclasses_his e where e.examId=" - + examId + ") order by c.createTime desc"; - } - else { - hql = "from Classes c where c.id in (select e.classId from Examclasses e where e.examId=" - + examId + ") order by c.createTime desc"; - } - List classesList = this.find(hql); - List pmclassesList = new ArrayList(); - for (int i = 0; i < classesList.size(); i++) { - Classes classes = classesList.get(i); - PMClasses p = new PMClasses(); - p.setId(classes.getId()); - p.setName(classes.getName()); - p.setTeacherId(classes.getTeacherId()); - Adminusers teacher = adminusersDao.get(Adminusers.class, - classes.getTeacherId()); - p.setTeacherName(teacher.getName()); - p.setStudentNum(classes.getStudentNum()); - p.setCreateTime(classes.getCreateTime()); - p.setInviteCode(classes.getInviteCode()); - pmclassesList.add(p); - } - return pmclassesList; - } - // 查询考试班级(若当前用户与该考试无关,则返回为空) -// @Override -// public List findClassInExam(int examId, int teacherId, String role, boolean history) { -// // TODO Auto-generated method stub -// boolean isRelevant = true; -// String hql = ""; -// List pmclassesList = new ArrayList(); -// // 若当前身份为助教 -// if(role.equals("assistant")) { -// if(history){ -// hql = "SELECT COUNT(*) FROM AssistantClass ac " + -// "INNER JOIN Examclasses_his ecs ON ecs.classId = ac.classId " + -// "WHERE ecs.examId = " + examId +" and ac.assistantId = " + teacherId; -// } -// else { -// hql = "SELECT COUNT(*) FROM AssistantClass ac " + -// "INNER JOIN Examclasses ecs ON ecs.classId = ac.classId " + -// "WHERE ecs.examId = " + examId +" and ac.assistantId = " + teacherId; -// } -// isRelevant = assistantClassDao.count(hql) > 0; -// } -// else if(role.equals("teacher")){ -// if(history){ -// hql = "SELECT COUNT(*) FROM Exam_his e " + -// "INNER JOIN Examclasses_his ecs ON e.id = ecs.examId " + -// "INNER JOIN Classes c ON ecs.classId = c.id " + -// "WHERE ecs.examId = " + examId + -// " AND (e.teacherId = " + teacherId + " OR c.teacherId = " + teacherId + ")"; -// } -// else { -// hql = "SELECT COUNT(*) FROM Exam e " + -// "INNER JOIN Examclasses ecs ON e.id = ecs.examId " + -// "INNER JOIN Classes c ON ecs.classId = c.id " + -// "WHERE ecs.examId = " + examId + -// " AND (e.teacherId = " + teacherId + " OR c.teacherId = " + teacherId + ")"; -// } -// -// isRelevant = examDao.count(hql) > 0; -// } -// if(isRelevant) { -// if(history){ -// hql = "from Classes c where c.id in (select e.classId from Examclasses_his e where e.examId=" -// + examId + ") order by c.createTime desc"; -// } -// else { -// hql = "from Classes c where c.id in (select e.classId from Examclasses e where e.examId=" -// + examId + ") order by c.createTime desc"; -// } -// List classesList = this.find(hql); -// for (Classes classes : classesList) { -// PMClasses p = new PMClasses(); -// p.setId(classes.getId()); -// p.setName(classes.getName()); -// p.setTeacherId(classes.getTeacherId()); -// Adminusers teacher = adminusersDao.get(Adminusers.class, -// classes.getTeacherId()); -// p.setTeacherName(teacher.getName()); -// p.setStudentNum(classes.getStudentNum()); -// p.setCreateTime(classes.getCreateTime()); -// p.setInviteCode(classes.getInviteCode()); -// pmclassesList.add(p); -// } -// } -// return pmclassesList; -// } - - @Override - public List findClassInExamPage(int examId, int pageNum, int pageSize, boolean history) { - // TODO Auto-generated method stub - String hql = ""; - if(history){ - hql = "from Classes c where c.id in (select e.classId from Examclasses_his e where e.examId=" - + examId + ") order by c.createTime desc"; - } - else { - hql = "from Classes c where c.id in (select e.classId from Examclasses e where e.examId=" - + examId + ") order by c.createTime desc"; - } - List classesList = this.find(hql, pageNum, pageSize); - List pmclassesList = new ArrayList(); - for (int i = 0; i < classesList.size(); i++) { - Classes classes = classesList.get(i); - PMClasses p = new PMClasses(); - p.setId(classes.getId()); - p.setName(classes.getName()); - p.setTeacherId(classes.getTeacherId()); - Adminusers teacher = adminusersDao.get(Adminusers.class, - classes.getTeacherId()); - p.setTeacherName(teacher.getName()); - p.setStudentNum(classes.getStudentNum()); - p.setCreateTime(classes.getCreateTime()); - p.setInviteCode(classes.getInviteCode()); - pmclassesList.add(p); - } - return pmclassesList; - } - -// @Override -// public List findClassInExamPage(int examId, int teacherId, String role, int pageNum, int pageSize) { -// // TODO Auto-generated method stub -// boolean isRelevant = true; -// String hql = ""; -// List pmclassesList = new ArrayList(); -// // 若当前身份为助教 -// if(role.equals("assistant")) { -// hql = "SELECT COUNT(*) FROM Assistantclass ac " + -// "INNER JOIN Examclasses ecs ON ecs.classId = ac.classId " + -// "WHERE ecs.examId = " + examId +" and ac.assistantId = " + teacherId; -// isRelevant = assistantClassDao.count(hql) > 0; -// } -// else if(role.equals("teacher")){ -// hql = "SELECT COUNT(*) FROM Exam e " + -// "INNER JOIN Examclasses ecs ON e.id = ecs.examId " + -// "INNER JOIN Classes c ON ecs.classId = c.id " + -// "WHERE ecs.examId = " + examId + -// " AND (e.teacherId = " + teacherId + " OR c.teacherId = " + teacherId + ")"; -// isRelevant = examDao.count(hql) > 0; -// } -// if(isRelevant) { -// hql = "from Classes c where c.id in (select e.classId from Examclasses e where e.examId=" -// + examId + ") order by c.createTime desc"; -// List classesList = this.find(hql, pageNum, pageSize); -// for (int i = 0; i < classesList.size(); i++) { -// Classes classes = classesList.get(i); -// PMClasses p = new PMClasses(); -// p.setId(classes.getId()); -// p.setName(classes.getName()); -// p.setTeacherId(classes.getTeacherId()); -// Adminusers teacher = adminusersDao.get(Adminusers.class, classes.getTeacherId()); -// p.setTeacherName(teacher.getName()); -// p.setStudentNum(classes.getStudentNum()); -// p.setCreateTime(classes.getCreateTime()); -// p.setInviteCode(classes.getInviteCode()); -// pmclassesList.add(p); -// } -// } -// return pmclassesList; -// } - - @Override - public long findClassInExamNum(int examId, boolean history) { - // TODO Auto-generated method stub - String hql = ""; - if(history){ - hql = "select count(*) from Classes c where c.id in (select e.classId from Examclasses_his e where e.examId=" - + examId + ") order by c.createTime desc"; - } - else { - hql = "select count(*) from Classes c where c.id in (select e.classId from Examclasses e where e.examId=" - + examId + ") order by c.createTime desc"; - } - return this.count(hql).longValue(); - } - -// @Override -// public long findClassInExamNum(int examId, int teacherId, String role) { -// // TODO Auto-generated method stub -// boolean isRelevant = true; -// String hql = ""; -// // 若当前身份为助教 -// if(role.equals("assistant")) { -// hql = "SELECT COUNT(*) FROM Assistantclass ac " + -// "INNER JOIN Examclasses ecs ON ecs.classId = ac.classId " + -// "WHERE ecs.examId = " + examId +" and ac.assistantId = " + teacherId; -// isRelevant = assistantClassDao.count(hql) > 0; -// } -// else if(role.equals("teacher")){ -// hql = "SELECT COUNT(*) FROM Exam e " + -// "INNER JOIN Examclasses ecs ON e.id = ecs.examId " + -// "INNER JOIN Classes c ON ecs.classId = c.id " + -// "WHERE ecs.examId = " + examId + -// " AND (e.teacherId = " + teacherId + " OR c.teacherId = " + teacherId + ")"; -// isRelevant = examDao.count(hql) > 0; -// } -// if(isRelevant) { -// hql = "select count(*) from Classes c where c.id in (select e.classId from Examclasses e where e.examId=" -// + examId + ") order by c.createTime desc"; -// return this.count(hql).longValue(); -// } -// else { -// return 0; -// } -// } - - @Override - public List findClassInExamRole(int examId, String role, int teacherId){ - String hql = ""; - if(role.equals("admin")){ - hql = "from Classes c where c.id in (select e.classId from Examclasses e where e.examId=" - + examId + ") order by c.createTime desc"; - } - - else if (role.equals("teacher")) { - hql = "from Classes c where c.id in (select e.classId from Examclasses e where e.examId=" - + examId + ") and teacherId=" + teacherId + " order by c.createTime desc"; - } - - else if(role.equals("assistant")){ - hql = "from Classes c where c.id in (select e.classId from Examclasses e where e.examId=" - + examId + ") and c.id in (select a.classId from AssistantClass a where a.assistantId=" - + teacherId + ")"; - } - List classesList = this.find(hql); - List pmclassesList = new ArrayList(); - for (int i = 0; i < classesList.size(); i++) { - Classes classes = classesList.get(i); - PMClasses p = new PMClasses(); - p.setId(classes.getId()); - p.setName(classes.getName()); - p.setTeacherId(classes.getTeacherId()); - Adminusers teacher = adminusersDao.get(Adminusers.class, - classes.getTeacherId()); - p.setTeacherName(teacher.getName()); - p.setStudentNum(classes.getStudentNum()); - p.setCreateTime(classes.getCreateTime()); - p.setInviteCode(classes.getInviteCode()); - pmclassesList.add(p); - } - return pmclassesList; - - } - - @Override - public List findClassInExamNoRole(int examId, boolean history){ - String hql = ""; - if(history){ - hql = "from Classes c where c.id in (select e.classId from Examclasses_his e where e.examId=" - + examId + ") order by c.createTime desc"; - } - else { - hql = "from Classes c where c.id in (select e.classId from Examclasses e where e.examId=" - + examId + ") order by c.createTime desc"; - } - - List classesList = this.find(hql); - List pmclassesList = new ArrayList(); - for (int i = 0; i < classesList.size(); i++) { - Classes classes = classesList.get(i); - PMClasses p = new PMClasses(); - p.setId(classes.getId()); - p.setName(classes.getName()); - p.setTeacherId(classes.getTeacherId()); - Adminusers teacher = adminusersDao.get(Adminusers.class, - classes.getTeacherId()); - p.setTeacherName(teacher.getName()); - p.setStudentNum(classes.getStudentNum()); - p.setCreateTime(classes.getCreateTime()); - p.setInviteCode(classes.getInviteCode()); - pmclassesList.add(p); - } - return pmclassesList; - } - - @Override - public List findClassInExamRolePage(int examId, String role, int teacherId, int pageNum, int pageSize){ - String hql = ""; - if(role.equals("admin")){ - hql = "from Classes c where c.id in (select e.classId from Examclasses e where e.examId=" - + examId + ") order by c.createTime desc"; - } - - else if (role.equals("teacher")) { - hql = "from Classes c where c.id in (select e.classId from Examclasses e where e.examId=" - + examId + ") and teacherId=" + teacherId + " order by c.createTime desc"; - } - - else if(role.equals("assistant")){ - hql = "from Classes c where c.id in (select e.classId from Examclasses e where e.examId=" - + examId + ") and c.id in (select a.classId from AssistantClass a where a.assistantId=" - + teacherId + ")"; - } - List classesList = this.find(hql, pageNum, pageSize); - List pmclassesList = new ArrayList(); - for (int i = 0; i < classesList.size(); i++) { - Classes classes = classesList.get(i); - PMClasses p = new PMClasses(); - p.setId(classes.getId()); - p.setName(classes.getName()); - p.setTeacherId(classes.getTeacherId()); - Adminusers teacher = adminusersDao.get(Adminusers.class, - classes.getTeacherId()); - p.setTeacherName(teacher.getName()); - p.setStudentNum(classes.getStudentNum()); - p.setCreateTime(classes.getCreateTime()); - p.setInviteCode(classes.getInviteCode()); - pmclassesList.add(p); - } - return pmclassesList; - } - - @Override - public long findClassInExamRoleNum(int examId, String role, int teacherId){ - String hql = ""; - if(role.equals("admin")){ - hql = "select count(*) from Classes c where c.id in (select e.classId from Examclasses e where e.examId=" - + examId + ") order by c.createTime desc"; - } - - else if (role.equals("teacher")) { - hql = "select count(*) from Classes c where c.id in (select e.classId from Examclasses e where e.examId=" - + examId + ") and teacherId=" + teacherId + " order by c.createTime desc"; - } - - else if(role.equals("assistant")){ - hql = "select count(*) from Classes c where c.id in (select e.classId from Examclasses e where e.examId=" - + examId + ") and c.id in (select a.classId from AssistantClass a where a.assistantId=" - + teacherId + ")"; - } - return this.count(hql).longValue(); - } - - @Override - public List findClassInPaperExam(int paperexamId) { - // TODO Auto-generated method stub - String hql = "from Classes c where c.id in (select e.classId from PaperExamclasses e where e.paperexamId=" - + paperexamId + ") order by c.createTime desc"; - List classesList = this.find(hql); - List pmclassesList = new ArrayList(); - for (int i = 0; i < classesList.size(); i++) { - Classes classes = classesList.get(i); - PMClasses p = new PMClasses(); - p.setId(classes.getId()); - p.setName(classes.getName()); - p.setTeacherId(classes.getTeacherId()); - Adminusers teacher = adminusersDao.get(Adminusers.class, - classes.getTeacherId()); - p.setTeacherName(teacher.getName()); - p.setStudentNum(classes.getStudentNum()); - p.setCreateTime(classes.getCreateTime()); - pmclassesList.add(p); - } - return pmclassesList; - } - - @Override - public List findClassNotInExam(int examId, int teacherId, int pageNum, int pageSize, boolean history) { - // TODO Auto-generated method stub - StringBuffer sql = new StringBuffer(); - Map params = new HashMap(); - if(history){ - sql.append("from Classes c where c.id not in (select e.classId from Examclasses_his e where e.examId=:examId) "); - } - else { - sql.append("from Classes c where c.id not in (select e.classId from Examclasses e where e.examId=:examId) "); - } - if(teacherId!=0){ - sql.append("and c.teacherId=:teacherId "); - params.put("teacherId", teacherId); - } - sql.append("order by id desc "); - params.put("examId", examId); -// String hql = "from Classes c where c.id not in (select e.classId from Examclasses e where e.examId=" -// + examId + ") order by id desc"; -// List classesList = this.find(hql, pageNum, pageSize); - List classesList = this.find(sql.toString(), pageNum, pageSize); - List pmclassesList = new ArrayList(); - for (int i = 0; i < classesList.size(); i++) { - Classes classes = classesList.get(i); - PMClasses p = new PMClasses(); - p.setId(classes.getId()); - p.setName(classes.getName()); - p.setTeacherId(classes.getTeacherId()); - Adminusers teacher = adminusersDao.get(Adminusers.class, - classes.getTeacherId()); - if(teacher != null){ - p.setTeacherName(teacher.getName()); - p.setStudentNum(classes.getStudentNum()); - p.setCreateTime(classes.getCreateTime()); - p.setInviteCode(classes.getInviteCode()); - pmclassesList.add(p); - } - - } - return pmclassesList; - } - - @Override - public List findClassNotInExam(UClass uClass, int pageNum, int pageSize){ - // TODO Auto-generated method stub - StringBuffer sql = new StringBuffer(); - Map params = new HashMap(); - if(uClass.isHistory()){ - sql.append("from Classes c where c.id not in (select e.classId from Examclasses_his e where e.examId=:examId) "); - } - else { - sql.append("from Classes c where c.id not in (select e.classId from Examclasses e where e.examId=:examId) "); - } - if(uClass.getTeacherId()!=0){ - sql.append("and c.teacherId=:teacherId "); - params.put("teacherId", uClass.getTeacherId()); - } - sql.append("order by id desc "); - params.put("examId", uClass.getExamId()); -// String hql = "from Classes c where c.id not in (select e.classId from Examclasses e where e.examId=" -// + examId + ") order by id desc"; -// List classesList = this.find(hql, pageNum, pageSize); - List classesList = this.find(sql.toString(), params, pageNum, pageSize); - List pmclassesList = new ArrayList(); - for (int i = 0; i < classesList.size(); i++) { - Classes classes = classesList.get(i); - PMClasses p = new PMClasses(); - p.setId(classes.getId()); - p.setName(classes.getName()); - p.setTeacherId(classes.getTeacherId()); - Adminusers teacher = adminusersDao.get(Adminusers.class, - classes.getTeacherId()); - if(teacher != null ){ - p.setTeacherName(teacher.getName()); - p.setStudentNum(classes.getStudentNum()); - p.setCreateTime(classes.getCreateTime()); - p.setInviteCode(classes.getInviteCode()); - pmclassesList.add(p); - } - - } - return pmclassesList; - } - - @Override - public long findClassNotInExamNum(int examId, int teacherId, boolean history){ - StringBuffer sql = new StringBuffer(); - Map params = new HashMap(); - if(history){ - sql.append("from Classes c where c.id not in (select e.classId from Examclasses_his e where e.examId=:examId) "); - } - else { - sql.append("from Classes c where c.id not in (select e.classId from Examclasses e where e.examId=:examId) "); - } - if(teacherId!=0){ - sql.append("and c.teacherId=:teacherId "); - params.put("teacherId", teacherId); - } - sql.append("order by id desc "); - params.put("examId", examId); -// String hql = "from Classes c where c.id not in (select e.classId from Examclasses e where e.examId=" -// + examId + ") order by id desc"; - - List classesList = this.find(sql.toString(), params); - List pmclassesList = new ArrayList(); - for (int i = 0; i < classesList.size(); i++) { - Classes classes = classesList.get(i); - PMClasses p = new PMClasses(); - p.setId(classes.getId()); - p.setName(classes.getName()); - p.setTeacherId(classes.getTeacherId()); - Adminusers teacher = adminusersDao.get(Adminusers.class, - classes.getTeacherId()); - if(teacher != null){ - p.setTeacherName(teacher.getName()); - p.setStudentNum(classes.getStudentNum()); - p.setCreateTime(classes.getCreateTime()); - p.setInviteCode(classes.getInviteCode()); - pmclassesList.add(p); - } - - } - return pmclassesList.size(); - } - - @Override - public long findClassNotInExamNum(UClass uClass){ - StringBuffer sql = new StringBuffer(); - Map params = new HashMap(); - if(uClass.isHistory()){ - sql.append("from Classes c where c.id not in (select e.classId from Examclasses_his e where e.examId=:examId) "); - } - else { - sql.append("from Classes c where c.id not in (select e.classId from Examclasses e where e.examId=:examId) "); - } - if(uClass.getTeacherId()!=0){ - sql.append("and c.teacherId=:teacherId "); - params.put("teacherId", uClass.getTeacherId()); - } - sql.append("order by id desc "); - params.put("examId", uClass.getExamId()); -// String hql = "from Classes c where c.id not in (select e.classId from Examclasses e where e.examId=" -// + examId + ") order by id desc"; - - List classesList = this.find(sql.toString(), params); - List pmclassesList = new ArrayList(); - for (int i = 0; i < classesList.size(); i++) { - Classes classes = classesList.get(i); - PMClasses p = new PMClasses(); - p.setId(classes.getId()); - p.setName(classes.getName()); - p.setTeacherId(classes.getTeacherId()); - Adminusers teacher = adminusersDao.get(Adminusers.class, - classes.getTeacherId()); - if(teacher != null ){ - p.setTeacherName(teacher.getName()); - p.setStudentNum(classes.getStudentNum()); - p.setCreateTime(classes.getCreateTime()); - p.setInviteCode(classes.getInviteCode()); - pmclassesList.add(p); - } - - } - return pmclassesList.size(); - } - - @Override - public List findClassNotInPaperExam(int paperexamId) { - // TODO Auto-generated method stub - String hql = "from Classes c where c.id not in (select e.classId from PaperExamclasses e where e.paperexamId=" - + paperexamId + ")"; - List classesList = this.find(hql); - List pmclassesList = new ArrayList(); - for (int i = 0; i < classesList.size(); i++) { - Classes classes = classesList.get(i); - PMClasses p = new PMClasses(); - p.setId(classes.getId()); - p.setName(classes.getName()); - p.setTeacherId(classes.getTeacherId()); - Adminusers teacher = adminusersDao.get(Adminusers.class, - classes.getTeacherId()); - if(teacher != null){ - p.setTeacherName(teacher.getName()); - p.setStudentNum(classes.getStudentNum()); - p.setCreateTime(classes.getCreateTime()); - pmclassesList.add(p); - } - } - return pmclassesList; - } - - @Override - public List findAllClass() { - // TODO Auto-generated method stub - String hql = "from Classes"; - return this.find(hql); - } - - @Override - public List findAllClassPage(int pageNum, int pageSize){ - String hql = "from Classes"; - Query query = this.getCurrentSession().createQuery(hql); - List classesList = query.setFirstResult((pageNum - 1) * pageSize).setMaxResults(pageSize).list(); - List pmClassesList = new ArrayList<>(); - // 封装teachetId - Map teacherMap = new HashMap<>(); - for (int i = 0; i < classesList.size(); i++){ - Classes classes = classesList.get(i); - teacherMap.put("'" + classes.getTeacherId().toString() + "'", ""); - } - // 批量查询teacherName - String teacherString = String.join(",", teacherMap.keySet()); - Map teachersMap = adminusersDao.findTeachersByteacherIdList(teacherString); - for(int i=0;i implements ClassesDaoI return this.count(totalhql).longValue(); } - @Override - public List findNotEndClassByTeacherId(int teacherId) { - // TODO Auto-generated method stub - Calendar cal = Calendar.getInstance(); - cal.add(Calendar.YEAR, -1); - Date time = cal.getTime(); - String hql = "from Classes c where c.teacherId=" + teacherId; -// + " and c.createTime>:time"; - Query q = this.getCurrentSession().createQuery(hql); -// q.setParameter("time", time); - return q.list(); - } @Override public List findClassByTeacherId(int teacherId) { @@ -1075,117 +292,177 @@ public class ClassesDaoImpl extends BaseDaoImpl implements ClassesDaoI return null; } } - @Override - public List> getClassAndStudentNumByExamId(int examId) { - StringBuilder sql = new StringBuilder(); - sql.append("SELECT examId,teacherId,classId,name,studentNum "); - sql.append("FROM gdoj.examclasses ec join gdoj.classes c on ec.classId = c.id "); - sql.append("where examId =:examId "); - + public List findClassNotInCourse(UClass uClass, int pageNum, int pageSize){ + // TODO Auto-generated method stub + StringBuffer sql = new StringBuffer(); Map params = new HashMap(); - params.put("examId", examId); - - return this.findBySql(sql.toString(), params); - } + if(uClass.isHistory()){ + sql.append("from Classes where courseId is null");} + else{ + sql.append("from Classes where courseId is null"); + } + if(uClass.getTeacherId()!=0){ + sql.append("and teacherId=:teacherId "); + params.put("teacherId", uClass.getTeacherId()); + } + sql.append(" order by id desc "); +// params.put("examId", uClass.getExamId()); +// String hql = "from Classes c where c.id not in (select e.classId from Examclasses e where e.examId=" +// + examId + ") order by id desc"; +// List classesList = this.find(hql, pageNum, pageSize); + List classesList = this.find(sql.toString(), params, pageNum, pageSize); + List pmclassesList = new ArrayList(); + for (int i = 0; i < classesList.size(); i++) { + Classes classes = classesList.get(i); + PMClasses p = new PMClasses(); + p.setId(classes.getId()); + p.setName(classes.getName()); + p.setTeacherId(classes.getTeacherId()); + Adminusers teacher = adminusersDao.get(Adminusers.class, + classes.getTeacherId()); + if(teacher != null ){ + p.setTeacherName(teacher.getName()); + p.setStudentNum(classes.getStudentNum()); + p.setCreateTime(classes.getCreateTime()); + p.setInviteCode(classes.getInviteCode()); + pmclassesList.add(p); + } - public List> getClassAndStudentNumByExamIdHis(int examId, boolean history){ - StringBuilder sql = new StringBuilder(); + } + return pmclassesList; + } + @Override + public List findClassNotInCourse(int courseId, int teacherId, int pageNum, int pageSize, boolean history) { + // TODO Auto-generated method stub + StringBuffer sql = new StringBuffer(); + Map params = new HashMap(); if(history){ - sql.append("SELECT examId,teacherId,classId,name,studentNum "); - sql.append("FROM gdoj.examclasses_his ec join gdoj.classes c on ec.classId = c.id "); - sql.append("where examId =:examId "); + sql.append("from Classes where " + + "courseId is null"); } else { - sql.append("SELECT examId,teacherId,classId,name,studentNum "); - sql.append("FROM gdoj.examclasses ec join gdoj.classes c on ec.classId = c.id "); - sql.append("where examId =:examId "); + sql.append("from Classes where " + + "courseId is null"); } + if(teacherId!=0){ + sql.append(" and teacherId" + + "=:teacherId "); + params.put("teacherId", teacherId); + } + sql.append(" order by id desc "); +// params.put("courseId", courseId); +// String hql = "from Classes c where c.id not in (select e.classId from Examclasses e where e.examId=" +// + examId + ") order by id desc"; +// List classesList = this.find(hql, pageNum, pageSize); + List classesList = this.find(sql.toString(), pageNum, pageSize); + List pmclassesList = new ArrayList(); + for (int i = 0; i < classesList.size(); i++) { + Classes classes = classesList.get(i); + PMClasses p = new PMClasses(); + p.setId(classes.getId()); + p.setName(classes.getName()); + p.setTeacherId(classes.getTeacherId()); + Adminusers teacher = adminusersDao.get(Adminusers.class, + classes.getTeacherId()); + if(teacher != null){ + p.setTeacherName(teacher.getName()); + p.setStudentNum(classes.getStudentNum()); + p.setCreateTime(classes.getCreateTime()); + p.setInviteCode(classes.getInviteCode()); + pmclassesList.add(p); + } - Map params = new HashMap(); - params.put("examId", examId); - - return this.findBySql(sql.toString(), params); - } - - public List> getClassAndStudentNumByExamIdHis(int examId){ - StringBuilder sql = new StringBuilder(); - - sql.append("SELECT examId,teacherId,classId,name,studentNum "); - sql.append("FROM gdoj.examclasses_his ec join gdoj.classes c on ec.classId = c.id "); - sql.append("where examId =:examId "); - - Map params = new HashMap(); - params.put("examId", examId); - - return this.findBySql(sql.toString(), params); + } + return pmclassesList; } @Override - public Integer findOnlyClassIdByUserExam(int examId,int userId){ - Map params = new HashMap(); + public long findClassNotInCourseNum(int courseId, int teacherId, boolean history){ StringBuffer sql = new StringBuffer(); - sql.append("select classId from examclasses where examId = :examId and classid in ("); - sql.append("select id classId " + "from classes where id in ("); - sql.append("select classId from classstudents " + "where userId=:userId) "); - sql.append("ORDER BY createTime DESC)"); - params.put("examId", examId); - params.put("userId", userId); - List> list = this.findBySql(sql.toString(), params); - if(list.size()<=0) return null; - else return Integer.parseInt(list.get(0).get("classId").toString()); + Map params = new HashMap(); + if(history) { + sql.append("from Classes where " + + "courseId is null"); + } + else { + sql.append("from Classes where " + + "courseId is null"); + } + if(teacherId!=0){ + sql.append(" and teacherId" + + "=:teacherId "); + params.put("teacherId", teacherId); + } + sql.append(" order by id desc "); +// params.put("courseId", courseId); +// String hql = "from Classes c where c.id not in (select e.classId from Examclasses e where e.examId=" +// + examId + ") order by id desc"; + List classesList = this.find(sql.toString(), params); + List pmclassesList = new ArrayList(); + for (int i = 0; i < classesList.size(); i++) { + Classes classes = classesList.get(i); + PMClasses p = new PMClasses(); + p.setId(classes.getId()); + p.setName(classes.getName()); + p.setTeacherId(classes.getTeacherId()); + Adminusers teacher = adminusersDao.get(Adminusers.class, + classes.getTeacherId()); + if(teacher != null){ + p.setTeacherName(teacher.getName()); + p.setStudentNum(classes.getStudentNum()); + p.setCreateTime(classes.getCreateTime()); + p.setInviteCode(classes.getInviteCode()); + pmclassesList.add(p); + } + + } + return pmclassesList.size(); } @Override - public List findClassesAfterCreateTime(String createTime) { - String hql = "from Classes where createTime > '" + createTime + "'"; - return this.find(hql); + public long findClassNotInCourseNum(UClass uClass){ + StringBuffer sql = new StringBuffer(); + Map params = new HashMap(); + if(uClass.isHistory()){ + sql.append("from Classes where courseId is null"); + } + else { + sql.append("from Classes where courseId is null"); + } + if(uClass.getTeacherId()!=0){ + sql.append(" and teacherId" + + "=:teacherId "); + params.put("teacherId", uClass.getTeacherId()); + } + sql.append(" order by id desc "); +// params.put("courseId", +// uClass.getCourseId()); +// String hql = "from Classes c where c.id not in (select e.classId from Examclasses e where e.examId=" +// + examId + ") order by id desc"; + + List classesList = this.find(sql.toString(), params); + List pmclassesList = new ArrayList(); + for (int i = 0; i < classesList.size(); i++) { + Classes classes = classesList.get(i); + PMClasses p = new PMClasses(); + p.setId(classes.getId()); + p.setName(classes.getName()); + p.setTeacherId(classes.getTeacherId()); + Adminusers teacher = adminusersDao.get(Adminusers.class, + classes.getTeacherId()); + if(teacher != null ){ + p.setTeacherName(teacher.getName()); + p.setStudentNum(classes.getStudentNum()); + p.setCreateTime(classes.getCreateTime()); + p.setInviteCode(classes.getInviteCode()); + pmclassesList.add(p); + } + + } + return pmclassesList.size(); } - @Override - public Classes getLastClasses(){ - String hql = "from Classes where id = (SELECT MAX(id) FROM Classes)"; - return this.get(hql); - } - @Override - public List getAllClassesByExamId(int examId){ - String hql = "FROM Classes WHERE id IN (SELECT classId FROM Examclasses WHERE examId = " + examId +")"; - return this.find(hql); - } - - @Override - public Classes getClassByPrimaryKey(String name, Integer teacherId, Date createTime) { - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - String formattedCreateTime = sdf.format(createTime); - String hql = "from Classes where name='" + name + "' and teacherId=" + teacherId + " and createTime='" + formattedCreateTime + "'"; - return this.get(hql); - } - - @Override - public int addClass(Classes classes) { - this.save(classes); - return classes.getId(); - } - - @Override - public int updateClass(Classes classes) { - String hql = "update Classes set name=:name, teacherId=:teacherId, studentNum=:studentNum," + - "createTime=:createTime, inviteCode=:inviteCode where id=:id"; - Query q = this.getCurrentSession().createQuery(hql); - q.setParameter("name", classes.getName()); - q.setParameter("teacherId", classes.getTeacherId()); - q.setParameter("studentNum", classes.getStudentNum()); - q.setParameter("createTime", classes.getCreateTime()); - q.setParameter("inviteCode", classes.getInviteCode()); -// q.setParameter("advance", classes.getAdvance()); -// q.setParameter("first_week_monday", classes.getFirst_week_monday()); -// q.setParameter("late", classes.getLate()); -// q.setParameter("reject", classes.getReject()); -// q.setParameter("weektime", classes.getWeektime()); - - q.setParameter("id", classes.getId()); - return q.executeUpdate(); - } } diff --git a/AES/src/main/java/com/example/aes/user/dao/impl/CourseDaoImpl.java b/AES/src/main/java/com/example/aes/user/dao/impl/CourseDaoImpl.java new file mode 100644 index 0000000..4c2f954 --- /dev/null +++ b/AES/src/main/java/com/example/aes/user/dao/impl/CourseDaoImpl.java @@ -0,0 +1,89 @@ +package com.example.aes.user.dao.impl; + +import com.example.aes.user.dao.CourseDaoI; +import com.example.aes.user.model.Course; +import com.example.aes.user.model.PMCourse; +import org.hibernate.Query; +import org.springframework.stereotype.Repository; + +import java.util.ArrayList; +import java.util.List; + +@Repository("CourseDao") +public class CourseDaoImpl extends BaseDaoImpl implements CourseDaoI { + @Override + public long getAllCoursesNum(String name) { + String hql = "select count(*) from " + + "Course where name like '%"+name+"%'"; + long count=this.count(hql); + return count; + } + @Override + public List getCoursesByPage(String name, int page, int rows) { + + String hql ="from Course where name " + + "like '%"+name+"%'"; + List courseList = this.find(hql,page,rows); + return courseList; + } + @Override + public List findAllCourses() { + // TODO Auto-generated method stub + String hql = "from Course"; + List courseList = this.find(hql); + List pmcourseList = + new ArrayList(); + for (int i = 0; i < courseList.size(); i++) { + Course course = courseList.get(i); + PMCourse p = new PMCourse(); + p.setId(course.getId()); + p.setName(course.getName()); +// p.setCode(course.getCode()); + pmcourseList.add(p); + } + + return pmcourseList; + } + @Override + public Course findCourseById(int id) { + // TODO Auto-generated method stub + return this.get(Course.class, id); + } + @Override + public int editCourse(int id,String name){ + String hql = "update Course set " + + "name='"+name+"' where id="+id; + Query q = this.getCurrentSession().createQuery(hql); +// q.setParameter("name", pmCourse.getName()); +// q.setParameter("code", pmCourse.getCode()); + int num = q.executeUpdate(); + return num; + } + @Override + public void deleteCourse(int id) { + // TODO Auto-generated method stub + String hql = "delete from Course where id=" + id; + this.executeHql(hql); + } + + @Override + public void addCourse(PMCourse pmcourse) { + // TODO Auto-generated method stub + Course course = new Course(); +// course.setCode(pmcourse.getCode()); +// course.setLevel(1); + course.setName(pmcourse.getName()); + course.setTeacherId(pmcourse.getTeacherId()); + this.save(course); + } + @Override + public String findCourseByName(String name){ + String hql = "from Course where name=" + "'" + name + "'"; + List courseList = this.find(hql); + if(courseList.size()>0) + return "true"; + else + return "false"; + } + +} diff --git a/AES/src/main/java/com/example/aes/user/model/Course.java b/AES/src/main/java/com/example/aes/user/model/Course.java new file mode 100644 index 0000000..c17ea00 --- /dev/null +++ b/AES/src/main/java/com/example/aes/user/model/Course.java @@ -0,0 +1,49 @@ +package com.example.aes.user.model; + +import javax.persistence.*; + +@Entity +@Table(name="course",catalog = "aes") +public class Course implements java.io.Serializable { + private static final long serialVersionUID = -4577366061004245861L; + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "id", unique = true, nullable = false) + private Integer id; + @Column(name = "adminuserId",nullable = false) + private Integer teacherId; + @Column(name = "name", length = 100) + private String name; + public Course() { + } + + /** full constructor */ + public Course(String name) { + this.name = name; + } + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public Integer getTeacherId() { + return teacherId; + } + + public void setTeacherId(Integer teacherId) { + this.teacherId = teacherId; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + +} diff --git a/AES/src/main/java/com/example/aes/user/model/PMCourse.java b/AES/src/main/java/com/example/aes/user/model/PMCourse.java new file mode 100644 index 0000000..01d3820 --- /dev/null +++ b/AES/src/main/java/com/example/aes/user/model/PMCourse.java @@ -0,0 +1,20 @@ +package com.example.aes.user.model; + +import lombok.Data; + +@Data +public class PMCourse { + + private static final long serialVersionUID = -5643701670745565018L; +// private int page; +// private int rows; + private String ids; + private int id; +// private String code; + private String name; +// private int level; + private int teacherId; +// private String chapterName; + private int pageNum; + private int pageSize; +} diff --git a/AES/src/main/java/com/example/aes/user/model/UClass.java b/AES/src/main/java/com/example/aes/user/model/UClass.java index 3ded97b..a21ea9c 100644 --- a/AES/src/main/java/com/example/aes/user/model/UClass.java +++ b/AES/src/main/java/com/example/aes/user/model/UClass.java @@ -7,7 +7,17 @@ public class UClass { private int id; private int classId; private int userId; - private int examId; +// private int examId; + private int courseId; + + public int getCourseId() { + return courseId; + } + + public void setCourseId(int courseId) { + this.courseId = courseId; + } + private int paperexamId; private int ClassTimeId; private InputStream fileInput; @@ -23,10 +33,13 @@ public class UClass { public UClass(){} - public UClass(int classId, int userId, int examId, int paperexamId, int classTimeId, InputStream fileInput) { + public UClass(int classId, int userId, + int courseId, int paperexamId, + int classTimeId, InputStream fileInput) { this.classId = classId; this.userId = userId; - this.examId = examId; + this.courseId=courseId; +// this.examId = examId; this.paperexamId = paperexamId; ClassTimeId = classTimeId; this.fileInput = fileInput; @@ -48,13 +61,13 @@ public class UClass { this.userId = userId; } - public int getExamId() { - return examId; - } - - public void setExamId(int examId) { - this.examId = examId; - } +// public int getExamId() { +// return examId; +// } +// +// public void setExamId(int examId) { +// this.examId = examId; +// } public int getPaperexamId() { return paperexamId; diff --git a/AES/src/main/java/com/example/aes/user/service/AdminusersServiceI.java b/AES/src/main/java/com/example/aes/user/service/AdminusersServiceI.java index 203d94f..918e5ef 100644 --- a/AES/src/main/java/com/example/aes/user/service/AdminusersServiceI.java +++ b/AES/src/main/java/com/example/aes/user/service/AdminusersServiceI.java @@ -1,6 +1,7 @@ package com.example.aes.user.service; +import com.example.aes.user.model.Adminusers; import com.example.aes.user.model.DataGrid; import com.example.aes.user.model.PMAdminusers; @@ -26,5 +27,6 @@ public interface AdminusersServiceI { public boolean updateStatusByaccount(String account, String status); public boolean editAdminuser(PMAdminusers pmadminusers); // 编辑教师信息 public boolean addAdminuser(PMAdminusers pmadminusers); // 添加教师 + public List getTeacher(); } diff --git a/AES/src/main/java/com/example/aes/user/service/ClassesServiceI.java b/AES/src/main/java/com/example/aes/user/service/ClassesServiceI.java index e24411c..23e094f 100644 --- a/AES/src/main/java/com/example/aes/user/service/ClassesServiceI.java +++ b/AES/src/main/java/com/example/aes/user/service/ClassesServiceI.java @@ -13,73 +13,13 @@ public interface ClassesServiceI { public Json takeOneClass(String inviteCode, int studentID); -// public List findAllClass(); -// public DataGrid findClassesByConditionPage(int teacherId, String role, int pageNum, int pageSize); public DataGrid findClassesByConditionPage(PMClasses pmclasses, int pageNum, int pageSize); -// -// -// -// // -// -// public boolean editClassMessage(int id, String className, int teacherId, int advance, int late, int reject, String weektime, Date first_week_monday); // 修改班级信息 -// + public boolean deleteClass(int id); // 删除班级 -// -// public List findClassStudentsById(int classId); // 通过id查询所有学生 -// -// public DataGrid findClassStudentsByIdNoName(List classIdList, String studentNo, String chineseName, int pageNum, int pageSize); // 通过id查询所有学生 -// -// public DataGrid findClassStudentsByIdPage(int classId,int pageNum, int pageSize); -// -// public boolean deleteClassStudentsByUserId(int classId, int userId); -// -// public void addClass(PMClasses pclass); // 添加班级 -// -// public List findClassInExam(int examId); // 获取参与考试的班级 -// -// public List findClassInExam(int examId, int teacherId, String role, boolean history); // 获取参与考试的班级(有身份验证) -// -// public DataGrid findClassInExamPage(int examId, int pageNum, int pageSize, boolean history); // 获取参与考试的班级 -// -// public DataGrid findClassInExamPage(int examId, int teacherId, String role, int pageNum, int pageSize); // 获取参与考试的班级(有身份验证) -// -// public List findClassInExamRole(int examId, String role, int teacherId); // 根据角色获取参与考试的班级 -// -// public List findClassInExamNoRole(int examId, boolean history); // 根据角色获取参与考试的班级 -// -// public DataGrid findClassInExamRolePage(int examId, String role, int teacherId, int pageNum, int pageSize); // 根据角色获取参与考试的班级 -// -// public List findClassInPaperExam(int paperexamId); // 获取参与考试的班级 -// -// public DataGrid findClassNotInExam(int examId, int teacherId, int pageNum, int pageSize, boolean history); // 获取未参加考试的班级 -// -// public DataGrid findClassNotInExam(UClass uClass, int pageNum, int pageSize); // 获取未参加考试的班级 -// -// public List findClassNotInPaperExam(int paperexamId); // 获取未参加笔试考试的班级 -// -// public Classes findClassById(int classId); -// -// public List findNotEndClassByTeacherId(int teacherId); // 通过教师查找所属的班级,班级时间为一年以内 -// -// public List findClassesByCondition(PMClasses pmclasses); //查找教师没有参加该考试的班级 -// -// public DataGrid findClassesByConditionPage(PMClasses pmclasses, int pageNum, int pageSize); //查找教师没有参加该考试的班级 -// -// public Json takeOneClass(String inviteCode, int studentID); -// -// public List getAttendanceByClassId(int classId); // 通过班级id查询考勤情况 -// -// // 根据studentId获取该学生考勤的相关信息 -// public List findStudentAttendanceById(int studentId, int classId, int ClassTimeId); -// -//// public List getClassStudentsByClassId(int classId); // 通过班级id查询班级所有学生 -//// 根据学生id和考试id查询本场考试中该学生的所属班级 -// public Integer findClassInExamByStudentId(int studentId,int examId); -// -// public List findClassesAfterCreateTime(String createTime); -// -// public Classes getLastClasses(); + public DataGrid findClassNotInCourse(UClass uClass, int pageNum, int pageSize); // 获取未参加课程的班级 + public DataGrid findClassNotInCourse(int courseId, int teacherId, int pageNum, int pageSize, boolean history); // 获取未参加课程的班级 + } diff --git a/AES/src/main/java/com/example/aes/user/service/CourseServiceI.java b/AES/src/main/java/com/example/aes/user/service/CourseServiceI.java new file mode 100644 index 0000000..97c648d --- /dev/null +++ b/AES/src/main/java/com/example/aes/user/service/CourseServiceI.java @@ -0,0 +1,22 @@ +package com.example.aes.user.service; + + + +import com.example.aes.user.model.Course; +import com.example.aes.user.model.DataGrid; +import com.example.aes.user.model.PMCourse; + +import java.util.List; + +public interface CourseServiceI { + + DataGrid CoursePage(PMCourse pmCourse); + // 通过课程名称查找课程 + public String findCourseByName(String name); + List findAllCourses(); + public void addCourse(PMCourse pmcourse); + public Course findCourseById(int id); + // 编辑课程名称 + public int editCourse(int id,String name); + void deleteCourse(int id); +} diff --git a/AES/src/main/java/com/example/aes/user/service/impl/AdminusersServiceImpl.java b/AES/src/main/java/com/example/aes/user/service/impl/AdminusersServiceImpl.java index 1dd7b44..c35ce9d 100644 --- a/AES/src/main/java/com/example/aes/user/service/impl/AdminusersServiceImpl.java +++ b/AES/src/main/java/com/example/aes/user/service/impl/AdminusersServiceImpl.java @@ -239,6 +239,12 @@ public class AdminusersServiceImpl implements AdminusersServiceI { // TODO Auto-generated method stub return adminusersDao.addAdminuser(pmadminusers); } + @Override + public List getTeacher() { + // TODO Auto-generated method stub + return adminusersDao.getTeacher(); + } + @Override public PMAdminusers findAssistantByno(String no){ diff --git a/AES/src/main/java/com/example/aes/user/service/impl/ClassesServiceImpl.java b/AES/src/main/java/com/example/aes/user/service/impl/ClassesServiceImpl.java index 588ac1f..d1a4b75 100644 --- a/AES/src/main/java/com/example/aes/user/service/impl/ClassesServiceImpl.java +++ b/AES/src/main/java/com/example/aes/user/service/impl/ClassesServiceImpl.java @@ -120,5 +120,35 @@ public void setclassstudentsDao(ClassstudentsDaoI classstudentsDao) { return classesDao.deleteClass(id); } - + @Override + public DataGrid findClassNotInCourse(UClass uClass, int pageNum, int pageSize){ + DataGrid dg = new DataGrid(); + long totalLines; + totalLines = classesDao.findClassNotInCourseNum(uClass); + List pmClassesList = classesDao.findClassNotInCourse(uClass, pageNum, pageSize); + dg.setTotal(totalLines); + dg.setPageSize(pageSize); + dg.setTotalPages((long) (Math.ceil((double) dg.getTotal() / (double) dg.getPageSize()))); + dg.setPageNum(pageNum); + dg.setCurrentPageLineNum(pmClassesList.size()); + dg.setList(pmClassesList); + return dg; + } + @Override + public DataGrid findClassNotInCourse(int courseId, int teacherId, int pageNum, int pageSize, boolean history) { + // TODO Auto-generated method stub + DataGrid dg = new DataGrid(); + long totalLines; + totalLines = + classesDao.findClassNotInCourseNum(courseId, teacherId, history); + List pmClassesList = + classesDao.findClassNotInCourse(courseId, teacherId, pageNum, pageSize, history); + dg.setTotal(totalLines); + dg.setPageSize(pageSize); + dg.setTotalPages((long) (Math.ceil((double) dg.getTotal() / (double) dg.getPageSize()))); + dg.setPageNum(pageNum); + dg.setCurrentPageLineNum(pmClassesList.size()); + dg.setList(pmClassesList); + return dg; + } } diff --git a/AES/src/main/java/com/example/aes/user/service/impl/CourseServiceImpl.java b/AES/src/main/java/com/example/aes/user/service/impl/CourseServiceImpl.java new file mode 100644 index 0000000..5d2034e --- /dev/null +++ b/AES/src/main/java/com/example/aes/user/service/impl/CourseServiceImpl.java @@ -0,0 +1,95 @@ +package com.example.aes.user.service.impl; + +import com.example.aes.user.dao.CourseDaoI; +import com.example.aes.user.model.Course; +import com.example.aes.user.model.DataGrid; +import com.example.aes.user.model.PMCourse; +import com.example.aes.user.service.CourseServiceI; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; + +@Service +public class CourseServiceImpl implements CourseServiceI { + private CourseDaoI courseDao; + +@Autowired + public void setCourseDao(CourseDaoI courseDao) { + this.courseDao = courseDao; + } + + @Override + public DataGrid CoursePage(PMCourse pmCourse) { + DataGrid dg = new DataGrid(); + int totalLines; + List theCourseList; + String name=pmCourse.getName(); + totalLines = + (int) courseDao.getAllCoursesNum(name); + int page= pmCourse.getPageNum(); + if ((page-1)*pmCourse.getPageSize() pmCourseList = + new ArrayList(); + changeModel(theCourseList, pmCourseList); + dg.setTotal(totalLines); + dg.setPageSize(pmCourse.getPageSize()); + dg.setTotalPages((long) (Math.ceil((double) dg.getTotal() / (double) dg.getPageSize()))); +// // 设置当前显示第几页 + dg.setPageNum(pmCourse.getPageNum()); +// // 设置当前页的数据行数量 + dg.setCurrentPageLineNum(pmCourseList.size()); +// // 设置当前页的所有数据行 + dg.setList(pmCourseList); + return dg; + } + } + private void changeModel(List l, List nl) { + if (l != null && l.size() > 0) { + for (Course t : l) { + PMCourse u = new PMCourse(); + BeanUtils.copyProperties(t, u); + nl.add(u); + } + } + } + @Override + public void addCourse(PMCourse pmcourse) { + // TODO Auto-generated method stub + courseDao.addCourse(pmcourse); + } + @Override + public String findCourseByName(String name){ + return courseDao.findCourseByName(name); + } + @Override + public List findAllCourses() { + // TODO Auto-generated method stub + return courseDao.findAllCourses(); + } + @Override + public Course findCourseById(int id) { + // TODO Auto-generated method stub + return courseDao.findCourseById(id); + } + @Override + public int editCourse(int id,String name){ + return courseDao.editCourse(id,name); + } + @Override + public void deleteCourse(int id) { + courseDao.deleteCourse(id); + + } + +}