[feat][M]:新增获取实验室可被预约的【5】【7】时间表接口

master
Romesum 5 years ago
parent 3bde0f7980
commit a7d99e4237

@ -0,0 +1,8 @@
package com.hzu.bookingsystem.VO;
import lombok.Data;
@Data
public class WeekVO {
private Integer week;
}

@ -160,6 +160,56 @@ public class LabTimeController {
}
/**
* 57
*
* @param lab_id
* @param year
* @param semester
* @return
*/
@GetMapping(value = "/getLabScheduleAll")
public ResultVO getLabScheduleAll(@RequestParam("labId") Integer lab_id,
@RequestParam("year") String year,
@RequestParam("semester") Integer semester) {
//总表
List<List<List<Integer>>> lists = new ArrayList<>();
for (int i = 1; i <= 5; i++) {
// 一行数据
List<List<Integer>> timeList = new ArrayList<>();
for (int j = 1; j <= 7; j++) {
timeList.add(labTimeService.findWeeks(lab_id, year, semester, j, i));
}
lists.add(timeList);
}
return ResultVOUtil.success(lists);
}
/**
* 57
*
* @param lab_id
* @param year
* @param semester
* @return
*/
@GetMapping(value = "/getLabScheduleAbleBook")
public ResultVO getLabScheduleAbleBook(@RequestParam("labId") Integer lab_id,
@RequestParam("year") String year,
@RequestParam("semester") Integer semester,
@RequestParam("uc_id") Integer uc_id) {
//总表
List<List<List<Integer>>> lists = new ArrayList<>();
for (int i = 1; i <= 5; i++) {
// 一行数据
List<List<Integer>> timeList = new ArrayList<>();
for (int j = 1; j <= 7; j++) {
timeList.add(labTimeService.findWeeksAble(lab_id, year, semester, j, i, uc_id));
}
lists.add(timeList);
}
return ResultVOUtil.success(lists);
}
// /**
// * author 吴志岳
// * 一键插入该学年学期 16周所有可选时间段

@ -1,5 +1,6 @@
package com.hzu.bookingsystem.repository;
import com.hzu.bookingsystem.VO.WeekVO;
import com.hzu.bookingsystem.dto.LabRecordDTO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
@ -43,4 +44,23 @@ public interface LabRecordDTOMapper {
" tb_lab_time.time, " +
" tb_lab_record.`status`")
List<LabRecordDTO> getRecordListByUId(Integer uId);
@Select("SELECT " +
" tb_lab_time.`week` " +
"FROM " +
" tb_user_course, " +
" tb_lab_record " +
" INNER JOIN tb_lab_time ON tb_lab_record.lt_id = tb_lab_time.lt_id " +
"WHERE " +
" tb_lab_time.`year` = #{year} " +
" AND tb_lab_time.semester = #{semester} " +
" AND tb_lab_time.lab_id = #{labId} " +
" AND tb_lab_time.`day` = #{day} " +
" AND tb_lab_time.time = #{time} " +
" AND tb_user_course.uc_id = tb_lab_record.uc_id " +
" AND tb_user_course.uc_id = #{uc_id} " +
" AND tb_lab_record.`status` IN ( " +
" 0, " + " 2)")
List<WeekVO> getWeekBooked(Integer labId,String year,Integer semester, Integer day,Integer time,Integer uc_id);
}

@ -78,6 +78,12 @@ public interface LabRecordService {
*/
void deleteByLtIdAndUcId(Integer LtId,Integer UcId);
/**
* author
*
*/
List<Integer> findWeeksBooked(Integer labId,String year,Integer semester, Integer day,Integer time,Integer uc_id);

@ -1,5 +1,6 @@
package com.hzu.bookingsystem.service.impl;
import com.hzu.bookingsystem.VO.WeekVO;
import com.hzu.bookingsystem.bean.LabRecordBean;
import com.hzu.bookingsystem.bean.LabTimeBean;
import com.hzu.bookingsystem.bean.UserBean;
@ -22,6 +23,7 @@ import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;
import javax.transaction.Transactional;
import java.util.ArrayList;
import java.util.List;
@Service
@ -177,5 +179,15 @@ public class LabRecordServiceImpl implements LabRecordService{
labrecordRepository.deleteByLtIdAndUcId(ltId,ucId);
}
@Override
public List<Integer> findWeeksBooked(Integer labId, String year, Integer semester, Integer day, Integer time, Integer uc_id) {
List<WeekVO> list = labRecordDTOMapper.getWeekBooked(labId, year, semester, day, time, uc_id);
List<Integer> weeks = new ArrayList<>();
for (WeekVO weekVO : list) {
weeks.add(weekVO.getWeek());
}
return weeks;
}
}

Loading…
Cancel
Save