簡介
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";
}
}