|
|
|
@ -3,14 +3,17 @@ package com.hzu.bookingsystem.controller;
|
|
|
|
|
|
|
|
|
|
import com.hzu.bookingsystem.VO.ResultVO;
|
|
|
|
|
import com.hzu.bookingsystem.bean.LabRecordBean;
|
|
|
|
|
import com.hzu.bookingsystem.bean.LabTimeBean;
|
|
|
|
|
import com.hzu.bookingsystem.converter.Map2Object;
|
|
|
|
|
import com.hzu.bookingsystem.dto.LabRecordDTO;
|
|
|
|
|
import com.hzu.bookingsystem.service.LabRecordService;
|
|
|
|
|
import com.hzu.bookingsystem.service.LabTimeService;
|
|
|
|
|
import com.hzu.bookingsystem.utils.ResultVOUtil;
|
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
|
|
import java.util.Date;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
import java.util.Map;
|
|
|
|
|
|
|
|
|
@ -22,18 +25,22 @@ public class LabRecordController {
|
|
|
|
|
@Autowired
|
|
|
|
|
private LabRecordService labrecordService;
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private LabTimeService labTimeService;
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private UserController userController;
|
|
|
|
|
// 根据id查看实验室记录
|
|
|
|
|
|
|
|
|
|
// 根据id查看实验室记录
|
|
|
|
|
@GetMapping(value = "/findlabrecord/{lr_id}")
|
|
|
|
|
public ResultVO<Map<String, LabRecordBean>> FindLabRecordId(@PathVariable("lr_id") Integer lr_id) {
|
|
|
|
|
LabRecordBean labrecord = labrecordService.findById( lr_id) ;
|
|
|
|
|
LabRecordBean labrecord = labrecordService.findById(lr_id);
|
|
|
|
|
return ResultVOUtil.success(labrecord);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 查找所有记录列表
|
|
|
|
|
@GetMapping(value = "/getlabrecordlist")
|
|
|
|
|
public ResultVO getLabRecordList(){
|
|
|
|
|
public ResultVO getLabRecordList() {
|
|
|
|
|
|
|
|
|
|
List<LabRecordBean> labrecordList = labrecordService.findAll();
|
|
|
|
|
return ResultVOUtil.success(labrecordList);
|
|
|
|
@ -49,27 +56,27 @@ public class LabRecordController {
|
|
|
|
|
|
|
|
|
|
// 增加申请记录
|
|
|
|
|
@PostMapping(value = "/addlabrecord", consumes = "application/json")
|
|
|
|
|
public ResultVO addLabRecord(@RequestBody Map<String,Object> map) {
|
|
|
|
|
LabRecordBean labrecord = (LabRecordBean) Map2Object.map2Object(map,LabRecordBean.class);
|
|
|
|
|
public ResultVO addLabRecord(@RequestBody Map<String, Object> map) {
|
|
|
|
|
LabRecordBean labrecord = (LabRecordBean) Map2Object.map2Object(map, LabRecordBean.class);
|
|
|
|
|
labrecordService.add(labrecord);
|
|
|
|
|
return ResultVOUtil.success();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//更新记录
|
|
|
|
|
@PostMapping(value = "/updatelabrecord", consumes = "application/json")
|
|
|
|
|
public ResultVO updateLabRecord(@RequestBody Map<String,Object> map, HttpServletRequest request){
|
|
|
|
|
LabRecordBean labrecord = (LabRecordBean) Map2Object.map2Object(map,LabRecordBean.class);
|
|
|
|
|
LabRecordBean labrecordnew = labrecordService.update(labrecord) ;
|
|
|
|
|
public ResultVO updateLabRecord(@RequestBody Map<String, Object> map, HttpServletRequest request) {
|
|
|
|
|
LabRecordBean labrecord = (LabRecordBean) Map2Object.map2Object(map, LabRecordBean.class);
|
|
|
|
|
LabRecordBean labrecordnew = labrecordService.update(labrecord);
|
|
|
|
|
return ResultVOUtil.success(labrecordnew);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 通过lr_id删除记录
|
|
|
|
|
@PostMapping(value = "/deletelabrecord/{lr_id}", consumes = "application/json")
|
|
|
|
|
public ResultVO deleteLabRecord(@PathVariable("lr_id") Integer lr_id){
|
|
|
|
|
public ResultVO deleteLabRecord(@PathVariable("lr_id") Integer lr_id) {
|
|
|
|
|
// 查找该用户看是否存在
|
|
|
|
|
LabRecordBean labrecord = labrecordService.findById(lr_id);
|
|
|
|
|
if (labrecord == null){
|
|
|
|
|
return ResultVOUtil.error(-1,"记录不存在");
|
|
|
|
|
if (labrecord == null) {
|
|
|
|
|
return ResultVOUtil.error(-1, "记录不存在");
|
|
|
|
|
}
|
|
|
|
|
// 删除记录
|
|
|
|
|
labrecordService.deleteById(lr_id);
|
|
|
|
@ -81,8 +88,59 @@ public class LabRecordController {
|
|
|
|
|
* 通过uid查询预约记录
|
|
|
|
|
*/
|
|
|
|
|
@GetMapping("/getRecordBySelf")
|
|
|
|
|
public ResultVO getRecordBySelf(HttpServletRequest request){
|
|
|
|
|
public ResultVO getRecordBySelf(HttpServletRequest request) {
|
|
|
|
|
List<LabRecordDTO> labRecordDTOList = labrecordService.findRecordListByUId(userController.getUIdByCookie(request));
|
|
|
|
|
return ResultVOUtil.success(labRecordDTOList);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 更改选课时间段
|
|
|
|
|
*/
|
|
|
|
|
@PostMapping(value = "/updateWeeks", consumes = "application/json")
|
|
|
|
|
public ResultVO updateWeeks(@RequestBody Map<String, Object> map, HttpServletRequest request) {
|
|
|
|
|
//1. 转换对象
|
|
|
|
|
LabTimeBean labTime = (LabTimeBean) Map2Object.map2Object(map, LabTimeBean.class);
|
|
|
|
|
Integer uc_id = (Integer)map.get("uc_id");
|
|
|
|
|
List<Integer> weeks = (List<Integer>)map.get("weeks");
|
|
|
|
|
System.out.println(labTime);
|
|
|
|
|
System.out.println(uc_id);
|
|
|
|
|
System.out.println(weeks);
|
|
|
|
|
//2. 定义对象
|
|
|
|
|
LabRecordBean labRecordBean = new LabRecordBean();
|
|
|
|
|
labRecordBean.setStatus(0);
|
|
|
|
|
labRecordBean.setUcId(uc_id);
|
|
|
|
|
|
|
|
|
|
//3. DAO
|
|
|
|
|
List<Integer> weekAble = labTimeService.findWeeksAble(labTime.getLabId(),labTime.getYear(),labTime.getSemester(),labTime.getDay(),labTime.getTime(),uc_id);
|
|
|
|
|
//判断是否选择不可选周数
|
|
|
|
|
for (Integer i :weeks){
|
|
|
|
|
if (!weekAble.contains(i))
|
|
|
|
|
return ResultVOUtil.error(-1,"选择了不可选的周数");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
List<LabTimeBean> labTimeBeanList = labTimeService.findTimes(labTime.getLabId(),labTime.getYear(),labTime.getSemester(),labTime.getDay(),labTime.getTime());
|
|
|
|
|
//过滤不可选取
|
|
|
|
|
for (LabTimeBean labTimeBean: labTimeBeanList){
|
|
|
|
|
if (!weekAble.contains(labTimeBean.getWeek()))
|
|
|
|
|
labTimeBeanList.remove(labTime);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//4. 删除record
|
|
|
|
|
for (LabTimeBean labTimeBean: labTimeBeanList){
|
|
|
|
|
labrecordService.deleteByLtIdAndUcId(labTimeBean.getLtId(),uc_id);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//5. 插入record
|
|
|
|
|
for (LabTimeBean labTimeBean: labTimeBeanList){
|
|
|
|
|
if (weeks.contains(labTimeBean.getWeek())){
|
|
|
|
|
LabRecordBean labRecordBean1 = new LabRecordBean().builder()
|
|
|
|
|
.ltId(labTimeBean.getLtId())
|
|
|
|
|
.ucId(uc_id)
|
|
|
|
|
.status(0)
|
|
|
|
|
.build();
|
|
|
|
|
labrecordService.add(labRecordBean1);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return ResultVOUtil.success();
|
|
|
|
|
}
|
|
|
|
|
}
|