一、摘要
1.1 項目介紹
基于JAVA+Vue+SpringBoot+MySQL的教學過程管理系統(tǒng),包含了課程檔案、課程題目、課程成績、消息通知、課堂簽到、課堂任務模塊,還包含系統(tǒng)自帶的用戶管理、部門管理、角色管理、菜單管理、日志管理、數(shù)據(jù)字典管理、文件管理、圖表展示等基礎模塊,教學過程管理系統(tǒng)基于角色的訪問控制,給高校管理員、教師、學生角色使用,可將權限精確到按鈕級別,您可以自定義角色并分配權限,系統(tǒng)適合設計精確的權限約束需求。
大學生的課程評價有多個維度,除了期末考試,還有平時成績。其中平時成績包括簽到考勤、作業(yè)、課堂表現(xiàn)、階段測試、期中測試等等。本課題旨在幫助教師更好的進行教學過程管理,對每位學生的平時表現(xiàn)進行記錄匯總,并及時的在線答疑。
1.2 項目錄屏
二、功能模塊
2.1 教師端
- 簽到功能:老師發(fā)布簽到任務,學生在規(guī)定時間內完成簽到。
- 任務發(fā)布:老師可以向同學們發(fā)布任務,包括考試、測試、作業(yè)等,任務可以限時,同學們在規(guī)定的時間內完成。
- 作業(yè)批改:老師可以在線批改作業(yè),客觀題可以由系統(tǒng)批閱,主觀題老師可以在線批閱。
- 消息發(fā)送:老師可以發(fā)送消息給學生,方便和學生溝通。
- 成績管理:管理學生的平時成績,可以給學生的各項成績設置分數(shù)比例。
- 課程管理:老師可以增加刪除課程,也可以修改課程。
- 成績統(tǒng)計:統(tǒng)計學生成績,老帥可以查看學生的成績并導出。
2.2 學生端
- 課程查看(學生查看個人所選全部課程)。
- 選課(學生可以選課)。
- 在線考試(學生可以在某門課下進行在線考試)。
- 通知查看(可以查看系統(tǒng)消息通知,消息由老師發(fā)送的或者由系統(tǒng)發(fā)送)。
- 簽到(可以查看個人所有已簽到,所有末簽到,能夠進行點擊簽到)。
- 個人信息管理(能夠查看個人詳細信息,修改詳細信息)。
- 客觀題自動批改(客觀題系統(tǒng)能夠直接批改)。
2.3 微信小程序端
小程序主要包括教師和學生兩種用戶。
2.3.1 教師功能如下
- 用戶登錄功能:點擊登錄,填寫姓名,選擇社會身份,如教師,學生,然后填寫所屬學校進行登錄。
- 個人中心功能:可以查看個人信息,如姓名,身份,院校。
- 消息中心功能:可以接受發(fā)送消息。
- 課程管理功能:可以查看學生的簽到情況,作業(yè)完成情況,測試情況,考試分數(shù)情況,課程整體分數(shù),班級整體情況。
2.3.2 學生功能如下
- 用戶登錄功能:點擊登錄,填寫姓名,選擇社會身份,如學生,教師,然后填寫所屬學校進行登錄。
- 個人中心功能:可以查看個人信息,如姓名,身份,院校,學號。
- 消息中心功能:對學生進行提醒,如簽到,作業(yè)截止之前進行提醒,測試,考試臨近開始進行提醒。
- 在線答題功能:可以在線考試,測試,完成作業(yè)。
- 課程查看功能:可以查看個人作業(yè),測試,考試的完成情況。
- 習題集功能:可以創(chuàng)建錯題本,收藏題目。
三、系統(tǒng)展示
四、核心代碼
4.1 查詢簽到
@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);
}
4.2 簽到
@RequestMapping(value = "/addOne", method = RequestMethod.GET)
@ApiOperation(value = "添加單條簽到數(shù)據(jù)")
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();
}
4.3 查詢任務
@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);
}
4.4 查詢課程
@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);
}
4.5 生成課程成績
@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();
}
六、免責說明
- 本項目僅供個人學習使用,商用授權請聯(lián)系博主,否則后果自負。
- 博主擁有本軟件構建后的應用系統(tǒng)全部內容所有權及獨立的知識產(chǎn)權,擁有最終解釋權。
- 如有問題,歡迎在倉庫 Issue 留言,看到后會第一時間回復,相關意見會酌情考慮,但沒有一定被采納的承諾或保證。
下載本系統(tǒng)代碼或使用本系統(tǒng)的用戶,必須同意以下內容,否則請勿下載!文章來源:http://www.zghlxwxcb.cn/news/detail-778033.html
- 出于自愿而使用/開發(fā)本軟件,了解使用本軟件的風險,且同意自己承擔使用本軟件的風險。
- 利用本軟件構建的網(wǎng)站的任何信息內容以及導致的任何版權糾紛和法律爭議及后果和博主無關,博主對此不承擔任何責任。
- 在任何情況下,對于因使用或無法使用本軟件而導致的任何難以合理預估的損失(包括但不僅限于商業(yè)利潤損失、業(yè)務中斷與業(yè)務信息丟失),博主概不承擔任何責任。
- 必須了解使用本軟件的風險,博主不承諾提供一對一的技術支持、使用擔保,也不承擔任何因本軟件而產(chǎn)生的難以預料的問題的相關責任。
文章來源地址http://www.zghlxwxcb.cn/news/detail-778033.html
到了這里,關于基于JAVA的教學過程管理系統(tǒng) 開源項目的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!