毕业设计管理系统
1、本系统使用SSM框架
2、有管理员、教师、学生三种角色,管理员使用admin/admin登录,教师使用t_01/6666登录,学生使用142001/111登录
3、管理员有最大权限,可以进行信息管理、教师管理、学生管理、选题管理、公告管理、查看已上传等;
4、教师角色包括个人信息管理、选题管理、进度管理、学生管理、疑问管理、文档管理、成绩管理
5、学生角色包括个人信息管理、课题管理、进度管理、文档管理、提问管理、查看答辩资格、成绩管理
管理员用户:admin 密码:admin
教师用户:t_01 密码:6666
学生用户:142001 密码:111
环境要求
1.JDK配置
首先安装好JDK,我一般使用1.8版本的JDK。
2.安装IDEA
3.MySQL安装
4. IDEA/Eclipse配置Tomcat 8
MySQL一般安装5.7版本的。
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
try {
rows = baseMajorService.createMajor(baseMajor);
} catch(Exception e) {
}
if(rows > 0){
return "OK";
}else{
return "FAIL";
}
}
/**
* 修改专业信息
/**
* 根据浏览器的不同进行编码设置,返回编码后的文件名
*/
public String getFilename(HttpServletRequest request, String filename) throws Exception {
// IE不同版本User-Agent中出现的关键词
String[] IEBrowserKeyWords = { "MSIE", "Trident", "Edge" };
// 获取请求头代理信息
String userAgent = request.getHeader("User-Agent");
for (String keyWord : IEBrowserKeyWords) {
if (userAgent.contains(keyWord)) {
// IE内核浏览器,统一为UTF-8编码显示
return URLEncoder.encode(filename, "UTF-8");
}
}
// 火狐等其它浏览器统一为ISO-8859-1编码显示
return new String(filename.getBytes("UTF-8"), "ISO-8859-1");
return "OK";
}else{
return "FAIL";
}
}
/**
* 修改教师信息
*/
@RequestMapping("/admin/updateTeacher.action")
@ResponseBody
public String updateTeacher(Teacher teacher) {
if(teacher.getPower().equals("否")) {
teacher.setMajorId(null);
teacher.setMajor("无");
}
else {
BaseMajor baseMajor = baseMajorService.findMajorById(teacher.getMajorId());
teacher.setMajor(baseMajor.getMajorName());
}
int rows = 0;
try {
rows = teacherService.editInfo(teacher);
ScoreProportion scoreProportion = new ScoreProportion();
scoreProportion.setProportionId("1");
scoreProportion.settScoreProportion(Integer.parseInt(tScoreProportion)*0.01);
scoreProportion.setLeaderScoreProportion(Integer.parseInt(leaderScoreProportion)*0.01);
scoreProportion.setReviewScoreProportion(Integer.parseInt(reviewScoreProportion)*0.01);
int rows =0;
try{
rows = scoreProportionService.update(scoreProportion);
}catch(Exception e){
}
if(rows > 0){
return "OK";
}else{
return "FAIL";
return "OK";
}else
return "FAIL";
}
}
后台管理员控制层:
@Controller
public class AdminController {
@Autowired
private TeacherService teacherService;
@Autowired
private StudentService studentService;
@Autowired
private BaseDeptService baseDeptService;
@Autowired
// 设置响应头
HttpHeaders headers = new HttpHeaders();
// 通知浏览器以下载的方式打开文件
headers.setContentDispositionFormData("attachment", filename);
// 定义以流的形式下载返回文件数据
headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
// 使用Sring MVC框架的ResponseEntity对象封装返回下载数据
result = new ResponseEntity<byte[]>(FileUtils.readFileToByteArray(file), headers, HttpStatus.OK);
} catch (FileNotFoundException e) {
e.printStackTrace();
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
out.print("<script language=\"javascript\">alert('下载失败!')</script>");
} catch (IOException e) {
e.printStackTrace();
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
out.print("<script language=\"javascript\">alert('下载失败!')</script>");
}
return result;
}
/**
* 文件上传
* @throws IOException
}else if(fType.equals("论文")) {
List<Thesis> list = thesisService.findThesisBysIdAndAgree(student.getsId(), "待通过");
if(list.size()!=0) {
mv.addObject("FAIL", "FAIL1");
mv.setViewName("views/error");
return mv;
}
}else if(fType.equals("附件")) {
List<ThesisAttachment> list = thesisAttachmentService.findThesisAttachmentBysId(student.getsId());
if(list.size()!=0) {
mv.addObject("FAIL", "FAIL1");
mv.setViewName("views/error");
return mv;
}
}
student = studentService.findStudent(student.getsId(), student.getsPwd());
Title title = titleService.findTitleBysId(student.getsId());
String tId = title.gettId();
// String tName = title.gettName();
out.print("<script language=\"javascript\">alert('下载失败!')</script>");
}
return result;
}
/**
* 文件上传
* @throws IOException
*/
@RequestMapping("/file/fileUpload.action")
public ModelAndView fileUpload(HttpSession session,HttpServletResponse response,
@RequestParam("fType") String fType,
@RequestParam("uploadfile") List<MultipartFile> uploadfile, HttpServletRequest request) throws IOException {
Student student = (Student)session.getAttribute("USER_INFO");
ModelAndView mv = new ModelAndView();
mv.addObject("fType", fType);
if(fType.equals("任务书")) {
List<ProjBook> list = projBookService.findProjBookBysIdAndAgree(student.getsId(), "待通过");
if(list.size()!=0) {
mv.addObject("FAIL", "FAIL1");
mv.setViewName("views/error");
return mv;
}
}else if(fType.equals("开题报告")) {
List<OpenReport> list = openReportService.findOpenReportBysIdAndAgree(student.getsId(), "待通过");
if(list.size()!=0) {
mv.addObject("FAIL", "FAIL1");
mv.setViewName("views/error");
ProjBook projBook = new ProjBook();
projBook.setfId(myFileService.selectByfName(originalFilename).getfId());
projBook.setsId(student.getsId());
projBook.setAgree("待通过");
projBookService.createProjBook(projBook);
}else if(fType.equals("开题报告")) {
OpenReport openReport = new OpenReport();
openReport.setfId(myFileService.selectByfName(originalFilename).getfId());
openReport.setsId(student.getsId());
openReport.setAgree("待通过");
openReportService.createOpenReport(openReport);
}else if(fType.equals("中期检查")) {
MidCheck midCheck = new MidCheck();
midCheck.setfId(myFileService.selectByfName(originalFilename).getfId());
midCheck.setsId(student.getsId());
midCheck.setAgree("待通过");
midCheckService.createMidCheck(midCheck);
}else if(fType.equals("论文")) {
SelectTitle selectTitle = selectTitleService.findSelTitleListBysIdAndState(student.getsId(),"同意").get(0);
Thesis thesis = new Thesis();
thesis.setfId(myFileService.selectByfName(originalFilename).getfId());
thesis.setsId(student.getsId());
thesis.setAgree("待通过");
thesis.setTitlId(selectTitle.getTitlId());
thesisService.createThesis(thesis);
}
/**
* 管理员密码修改
*/
@RequestMapping(value = "/admin/editPwd.action")
@ResponseBody
public String editPwd(Admin admin) {
int rows =0;
try{
rows = adminService.editInfo(admin);
}catch(Exception e){
}
if(rows > 0){
return "OK";
}else{
return "FAIL";
}
}
/**
* 向文件列表跳转