简介
java+ssm开发的实验课实验设备实验室预约系统,老师可预约实验设备和实验室,然后发布实验课和上传实验附件。学生可以报名实验课,也可以自己预约实验室(部分实验室对学生开放)做实验。学生做完实验,教师给学生打分,记录学生违规操作以及给出评语,学生可以在平台上传自己的实验报告。实验室实验设备预约均需要管理员审核。
演示视频https://www.ixigua.com/7001877763510501921
实验课预约流程:教师预约实验室,管理员审核通过,教师发布实验课,管理员审核发布,学生预约实验课;
实验设备预约流程:教师预约实验设备,管理员审核通过,设备标记已借出,教师归还设备,管理员将设备记录标记已归还可正常预约;
教师预约实验室:提交预约,管理员审核;
学生预约实验室:提交预约,管理员审核;
学生预约实验课:提交预约,教师审核,做完实验教师打分记录点评,学生上传实验报告,查看成绩;
部分截图
核心代码
package com.ssm.lab.controller.jsp;
import java.io.IOException;
import java.util.Date;
import java.util.List;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.ssm.lab.model.Appointment;
import com.ssm.lab.model.College;
import com.ssm.lab.model.Upfiles;
import com.ssm.lab.service.AppointmentService;
import com.ssm.lab.service.CollegeService;
import com.ssm.lab.service.UpfilesService;
import com.ssm.lab.untils.Constants;
import com.sun.DateUtils;
@Controller
@RequestMapping("/jsp/appointment")
public class AppointmentController {
@Resource
UpfilesService upfilesService;
@Resource
AppointmentService appointmentService;
@Resource
CollegeService collegeService;
/*
* 管理用户列表
* */
@RequestMapping("/page")
public String page(@RequestParam(value="pageNo",defaultValue="1")int pageNo,HttpServletRequest request, HttpServletResponse response,HttpSession session,
Model model,Appointment o) throws IOException {
o.setIs_pub("1");
PageHelper.startPage(pageNo,Constants.Common.pageSize," cts desc ");
List<Appointment> li=appointmentService.list(o);
PageInfo<Appointment> pageInfo = new PageInfo<Appointment>(li,Constants.Common.pageSize);
li=pageInfo.getList();
String cts=DateUtils.DateTimeToString(new Date());
for(Appointment a:li){
a.setSign_start_ts(a.getSign_start_ts().replace("T", " "));
a.setSign_end_ts(a.getSign_end_ts().replace("T", " "));
if(!a.getIs_end().equals("1")){
if(cts.compareTo(a.getSign_start_ts())<0)a.setIs_end("-1");
else if(cts.compareTo(a.getSign_end_ts())>0)a.setIs_end("1");
else if(a.getSign_num()>=a.getStu_num())a.setIs_end("1");
else a.setIs_end("0");
}
}
model.addAttribute("pageInfo", pageInfo);
model.addAttribute("o", o);
List<College> cli=collegeService.list(null);
model.addAttribute("cli", cli);
return Constants.Common.jsp + "/appointment_list";
}
@RequestMapping("/info")
public String info(@RequestParam(value="pageNo",defaultValue="1")int pageNo,HttpServletRequest request, HttpServletResponse response,HttpSession session,
Model model,Appointment o) throws IOException {
o=appointmentService.id(o.getId()+"");
if(o!=null&&!o.getIs_end().equals("1")){
String cts=DateUtils.DateTimeToString(new Date());
o.setSign_start_ts(o.getSign_start_ts().replace("T", " "));
o.setSign_end_ts(o.getSign_end_ts().replace("T", " "));
if(cts.compareTo(o.getSign_start_ts())<0)o.setIs_end("-1");
else if(cts.compareTo(o.getSign_end_ts())>0)o.setIs_end("1");
else if(o.getSign_num()>=o.getStu_num())o.setIs_end("1");
else o.setIs_end("0");
}
Upfiles f=new Upfiles();
f.setApp_id(o.getId());
List<Upfiles> fli=upfilesService.list(f);
model.addAttribute("fli", fli);
model.addAttribute("o", o);
return Constants.Common.jsp + "/appointment_info";
}
}