基于JAVA+Vue+SpringBoot+MySQL的教学过程管理系统,包含了课程档案、课程题目、课程成绩、消息通知、课堂签到、课堂任务模块,还包含系统自带的用户管理、部门管理、角色管理、菜单管理、日志管理、数据字典管理、文件管理、图表展示等基础模块,教学过程管理系统基于角色的访问控制,给高校管理员、教师、学生角色使用,可将权限精确到按钮级别,您可以自定义角色并分配权限,系统适合设计精确的权限约束需求。
大学生的课程评价有多个维度,除了期末考试,还有平时成绩。其中平时成绩包括签到考勤、作业、课堂表现、阶段测试、期中测试等等。本课题旨在帮助教师更好的进行教学过程管理,对每位学生的平时表现进行记录汇总,并及时的在线答疑。
小程序主要包括教师和学生两种用户。
@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询签到")
public Result<IPage<Sign>> getByPage(@ModelAttribute Sign sign ,@ModelAttribute PageVo page){
QueryWrapper<Sign> qw = new QueryWrapper<>();
User currUser = securityUtil.getCurrUser();
if(!ZwzNullUtils.isNull(sign.getTitle())) {
qw.like("title",sign.getTitle());
}
if(!ZwzNullUtils.isNull(sign.getSendUser())) {
qw.like("send_user",sign.getSendUser());
}
IPage<Sign> data = iSignService.page(PageUtil.initMpPage(page),qw);
for (Sign s : data.getRecords()) {
QueryWrapper<SignItem> itemQw = new QueryWrapper<>();
itemQw.eq("user_id",currUser.getId());
itemQw.eq("sign_id",s.getId());
s.setSignNumber(iSignItemService.count(itemQw));
}
return new ResultUtil<IPage<Sign>>().setData(data);
}
@RequestMapping(value = "/addOne", method = RequestMethod.GET)
@ApiOperation(value = "添加单条签到数据")
public Result<SignItem> addOne(@RequestParam String id){
Sign sign = iSignService.getById(id);
if(sign == null) {
return ResultUtil.error("签到不存在");
}
User currUser = securityUtil.getCurrUser();
SignItem si = new SignItem();
si.setSignId(sign.getId());
si.setTitle(sign.getTitle());
si.setContent(sign.getContent());
si.setDate(sign.getDate());
si.setUserId(currUser.getId());
si.setUserName(currUser.getNickname());
si.setTime(DateUtil.now());
iSignItemService.saveOrUpdate(si);
return ResultUtil.success();
}
@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询任务")
public Result<IPage<Task>> getByPage(@ModelAttribute Task task ,@ModelAttribute PageVo page){
QueryWrapper<Task> qw = new QueryWrapper<>();
User currUser = securityUtil.getCurrUser();
if(!ZwzNullUtils.isNull(task.getTitle())) {
qw.like("title",task.getTitle());
}
if(!ZwzNullUtils.isNull(task.getSendUser())) {
qw.like("send_user",task.getSendUser());
}
IPage<Task> data = iTaskService.page(PageUtil.initMpPage(page),qw);
for (Task t : data.getRecords()) {
QueryWrapper<TaskItem> itemQw = new QueryWrapper<>();
itemQw.eq("user_id",currUser.getId());
itemQw.eq("task_id",t.getId());
t.setTaskNumber(iTaskItemService.count(itemQw));
}
return new ResultUtil<IPage<Task>>().setData(data);
}
@RequestMapping(value = "/getAllApp", method = RequestMethod.GET)
@ApiOperation(value = "查询全部课程")
public Result<List<Curriculum>> getAllApp(){
List<Curriculum> curriculumList = iCurriculumService.list();
for (Curriculum curriculum : curriculumList) {
QueryWrapper<Achievement> aQw = new QueryWrapper<>();
aQw.eq("curriculum_id",curriculum.getId());
List<Achievement> achievementList = iAchievementService.list(aQw);
String str = "";
for (Achievement a : achievementList) {
str += a.getUserName() + ":" + a.getGrade() + "分; ";
}
curriculum.setQues(str);
}
return new ResultUtil<List<Curriculum>>().setData(curriculumList);
}
@RequestMapping(value = "/create", method = RequestMethod.GET)
@ApiOperation(value = "生成课程成绩")
public Result<Object> create(@RequestParam String id){
Curriculum curriculum = iCurriculumService.getById(id);
if(curriculum == null) {
return ResultUtil.error("课程不存在");
}
List<User> userList = iUserService.list();
QueryWrapper<Achievement> aQw = new QueryWrapper<>();
aQw.eq("curriculum_id",curriculum.getId());
iAchievementService.remove(aQw);
for (User user : userList) {
Achievement a = new Achievement();
a.setUserId(user.getId());
a.setUserName(user.getNickname());
a.setCurriculumId(curriculum.getId());
a.setCurriculumName(curriculum.getTitle());
a.setQues(curriculum.getQues());
a.setQuesAns("");
a.setGrade(BigDecimal.ZERO);
a.setGrade1(BigDecimal.ZERO);
a.setGrade2(BigDecimal.ZERO);
a.setTime("");
iAchievementService.saveOrUpdate(a);
}
return ResultUtil.success();
}