package com.wdd.studentmanager.controller;
import com.wdd.studentmanager.domain.Score;
import com.wdd.studentmanager.domain.ScoreStats;
import com.wdd.studentmanager.domain.Student;
import com.wdd.studentmanager.service.CourseService;
import com.wdd.studentmanager.service.ScoreService;
import com.wdd.studentmanager.service.SelectedCourseService;
import com.wdd.studentmanager.service.StudentService;
import com.wdd.studentmanager.util.AjaxResult;
import com.wdd.studentmanager.util.Const;
import com.wdd.studentmanager.util.PageBean;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
import java.io.InputStream;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @Classname ScoreController
* @Description 成绩控制器
* @Date 2019/7/3 11:38
* @Created by WDD
*/
@Controller
@RequestMapping("/score")
public class ScoreController {
@Autowired
private ScoreService scoreService;
@Autowired
private StudentService studentService;
@Autowired
private CourseService courseService;
@Autowired
private SelectedCourseService selectedCourseService;
@GetMapping("/score_list")
public String scoreList(){
return "/score/scoreList";
}
/**
* 异步加载成绩数据列表
* @param page
* @param rows
* @param studentid
* @param courseid
* @param from
* @param session
* @return
*/
@RequestMapping("/getScoreList")
@ResponseBody
public Object getScoreList(@RequestParam(value = "page", defaultValue = "1")Integer page,
@RequestParam(value = "rows", defaultValue = "100")Integer rows,
@RequestParam(value = "studentid", defaultValue = "0")String studentid,
@RequestParam(value = "courseid", defaultValue = "0")String courseid,
String from, HttpSession session){
Map<String,Object> paramMap = new HashMap();
paramMap.put("pageno",page);
paramMap.put("pagesize",rows);
if(!studentid.equals("0")) paramMap.put("studentid",studentid);
if(!courseid.equals("0")) paramMap.put("courseid",courseid);
//判断是老师还是学生权限
Student student = (Student) session.getAttribute(Const.STUDENT);
if(!StringUtils.isEmpty(student)){
//是学生权限,只能查询自己的信息
paramMap.put("studentid",student.getId());
}
PageBean<Score> pageBean = scoreService.queryPage(paramMap);
if(!StringUtils.isEmpty(from) && from.equals("combox")){
return pageBean.getDatas();
}else{
Map<String,Object> result = new HashMap();
result.put("total",pageBean.getTotalsize());
result.put("rows",pageBean.getDatas());
return result;
}
}
/**
* 添加成绩
* @param score
* @return
*/
@PostMapping("/addScore")
@ResponseBody
public AjaxResult addScore(Score score){
AjaxResult ajaxResult = new AjaxResult();
//判断是否已录入成绩
if(scoreService.isScore(score)){
//true为已签到
ajaxResult.setSuccess(false);
ajaxResult.setMessage("已录入,请勿重复录入!");
}else{
int count = scoreService.addScore(score);
if(count > 0){
//签到成功
ajaxResult.setSuccess(true);
ajaxResult.setMessage("录入成功");
}else{
ajaxResult.setSuccess(false);
ajaxResult.setMessage("系统错误,请重新录入");
}
}
return ajaxResult;
}
/**
* 修改学生成绩
* @param score
* @return
*/
@PostMapping("/editScore")
@ResponseBody
public AjaxResult editScore(Score score){
AjaxResult ajaxResult = new AjaxResult();
try {
int count = scoreService.editScore(score);
if(count > 0){
//签到成功
ajaxResult.setSuccess(true);
ajaxResult.setMessage("修改成功");
}else{
ajaxResult.setSuccess(false);
ajaxResult.setMessage("系统错误,请重新修改");
}
} catch (Exception e) {
e.printStackTrace();
ajaxResult.setSuccess(false);
ajaxResult.setMessage("系统错误,请重新修改");
}
return ajaxResult;
}
/**
* 删除学生成绩
* @param id
* @return
*/
@PostMapping("/deleteScore")
@ResponseBody
public AjaxResult deleteScore(Integer id){
AjaxResult ajaxResult = new AjaxResult();
try {
int count = scoreService.deleteScore(id);
if(count > 0){
ajaxResult.setSuccess(true);
ajaxResult.setMessage("删除成功");
}else{
ajaxResult.setSuccess(false);
ajaxResult.setMessage("系统错误,请重新删除");
}
} catch (Exception e) {
e.printStackTrace();
ajaxResult.setSuccess(false);
ajaxResult.setMessage("系统错误,请重新删除");
}
return ajaxResult;
}
/**
* 导入xlsx表 并存入数据库
* @param importScore
* @param response
*/
@PostMapping("/importScore")
@ResponseBody
public void importScore(@RequestParam("importScore") MultipartFile importScore, HttpServletResponse response){
response.setCharacterEncoding("UTF-8");
try {
InputStream inputStream = importScore.getInputStream();
XSSFWorkbook xssfWorkbook = new XSSFWorkbook(inputStream);
XSSFSheet sheetAt = xssfWorkbook.getSheetAt(0);
int count = 0;
String errorMsg = "";
for(int rowNum = 1; rowNum <= sheetAt.getLastRowNum(); rowNum++){
XSSFRow row = sheetAt.getRow(rowNum); // 获取第rowNum行
//第0列
XSSFCell cell = row.getCell(0); // 获取第rowNum行的第0列 即坐标(rowNum,0)
if(cell == null){
errorMsg += "第" + rowNum + "行学生缺失!\n";
continue;
}
//第1列
cell = row.getCell(1);
if(cell == null){
errorMsg += "第" + rowNum + "行课程缺失!\n";
continue;
}
//第2列
cell = row.getCell(2);
if(cell == null){
errorMsg += "第" + rowNum + "行成绩缺失!\n";
continue;
}
double scoreValue = cell.getNumericCellValue();
//第3列
cell = row.getCell(3);
String remark = null;
if(cell != null){
remark = cell.getStringCellValue();
}
//将学生,课程转换为id,存入数据库
// 1)首先获取对应的id
int studentId = studentService.findByName(row.getCell(0).getStringCellValue());
int courseId = courseService.findByN
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
基于springboot +mybatis +thymeleaf 的学生信息管理系统 (292个子文件)
H-ui.css 139KB
H-ui.min.css 99KB
easyui.css 54KB
iconfont.css 12KB
icheck.css 12KB
tabs.css 9KB
datagrid.css 5KB
icon.css 4KB
linkbutton.css 4KB
color.css 4KB
calendar.css 4KB
tree.css 3KB
panel.css 3KB
default.css 2KB
menu.css 2KB
window.css 2KB
tooltip.css 2KB
menubutton.css 2KB
searchbox.css 2KB
datalist.css 2KB
textbox.css 2KB
H-ui.login.css 2KB
layout.css 2KB
slider.css 2KB
spinner.css 1KB
pagination.css 1KB
skin.css 1KB
combo.css 1KB
accordion.css 838B
messager.css 804B
propertygrid.css 716B
progressbar.css 653B
datebox.css 619B
dialog.css 560B
combobox.css 396B
filebox.css 306B
splitbutton.css 293B
demo.css 285B
numberbox.css 128B
validatebox.css 94B
Thumbs.db 56KB
Thumbs.db 18KB
Thumbs.db 13KB
Thumbs.db 4KB
.DS_Store 8KB
.DS_Store 8KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
iconfont.eot 92KB
loading.gif 8KB
loading_072.gif 4KB
loading.gif 2KB
hamburger-retina.gif 1KB
hamburger.gif 1KB
us.gif 367B
cn.gif 366B
blank.gif 43B
blank.gif 43B
demo.html 43KB
scoreList.html 24KB
LeaveList.html 23KB
studentList.html 19KB
courseList.html 19KB
teacherList.html 19KB
attendanceList.html 16KB
selectedCourseList.html 13KB
clazzList.html 13KB
index.html 8KB
scoreStats.html 6KB
personalView.html 6KB
login.html 5KB
welcome.html 1KB
studentmanager.iml 10KB
ScoreController.java 14KB
SystemController.java 10KB
StudentController.java 8KB
TeacherController.java 7KB
CpachaUtil.java 6KB
AttendanceController.java 6KB
LeaveController.java 5KB
ClazzController.java 5KB
SelectedCourseController.java 4KB
CourseController.java 4KB
SelectedCourseServiceImpl.java 3KB
StudentServiceImpl.java 2KB
ScoreServiceImpl.java 2KB
PageBean.java 2KB
TeacherServiceImpl.java 2KB
CourseServiceImpl.java 2KB
ClazzServiceImpl.java 2KB
AttendanceServiceImpl.java 2KB
共 292 条
- 1
- 2
- 3
资源评论
博士僧小星
- 粉丝: 1945
- 资源: 5903
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功