[feat][M]: 新增查询预约详情接口

master
Romesum 5 years ago
parent 2a623e570a
commit f13bef7f77

@ -106,6 +106,21 @@ public class LabRecordController {
return ResultVOUtil.success(labRecordDTOList); return ResultVOUtil.success(labRecordDTOList);
} }
/**
* author
*
*/
@GetMapping("/getRecordDetail")
public ResultVO getRecordDetail(@RequestParam("labId") Integer lab_id,
@RequestParam("year") String year,
@RequestParam("semester") Integer semester,
@RequestParam("day") Integer day,
@RequestParam("time") Integer time,
@RequestParam("uc_id") Integer uc_id) {
Map<String, Object> map = labrecordService.getRecordDetail(lab_id, uc_id, year, semester, day, time);
return ResultVOUtil.success(map);
}
/** /**
* *
*/ */
@ -243,8 +258,8 @@ public class LabRecordController {
*/ */
@GetMapping("/getUserScheduleBySelf") @GetMapping("/getUserScheduleBySelf")
public ResultVO getUserScheduleBySelf(HttpServletRequest request, public ResultVO getUserScheduleBySelf(HttpServletRequest request,
@RequestParam("year") String year, @RequestParam("year") String year,
@RequestParam("semester") Integer semester) { @RequestParam("semester") Integer semester) {
//总表 //总表
List<List<List<Map<String, Object>>>> lists = new ArrayList<>(); List<List<List<Map<String, Object>>>> lists = new ArrayList<>();
for (int i = 1; i <= 5; i++) { for (int i = 1; i <= 5; i++) {

@ -26,11 +26,13 @@ public class LabRecordDTO {
private Integer status; private Integer status;
//UC //UC
private Integer uc_id;
private String course_name; private String course_name;
private Integer population; private Integer population;
private String classes; private String classes;
//LAB //LAB
private Integer labId;
private String lab_name; private String lab_name;
private String position; private String position;

@ -58,7 +58,9 @@ public interface LabRecordDTOMapper {
" tb_user_course.`name` AS course_name, " + " tb_user_course.`name` AS course_name, " +
" tb_user_course.population, " + " tb_user_course.population, " +
" tb_user_course.classes, " + " tb_user_course.classes, " +
" tb_user_course.uc_id, " +
" tb_lab.`name` AS lab_name, " + " tb_lab.`name` AS lab_name, " +
" tb_lab.lab_id AS labId, " +
" tb_lab.position " + " tb_lab.position " +
"FROM " + "FROM " +
" tb_lab_time " + " tb_lab_time " +
@ -152,4 +154,46 @@ public interface LabRecordDTOMapper {
"GROUP BY " + "GROUP BY " +
" tb_user_course.uc_id") " tb_user_course.uc_id")
List<Map<String, Object>> getUserSchedule(Integer u_id, String year, Integer semester, Integer day, Integer time); List<Map<String, Object>> getUserSchedule(Integer u_id, String year, Integer semester, Integer day, Integer time);
/**
* lab_id,uc_id4
*/
@Select("SELECT " +
" tb_lab.lab_id, " +
" tb_lab_time.`year`, " +
" tb_lab_time.semester, " +
" tb_lab_time.`day`, " +
" tb_lab_time.time, " +
" tb_lab_record.create_time, " +
" tb_user.nickname, " +
" tb_user.tel, " +
" tb_lab.position, " +
" tb_user_course.software, " +
" tb_user_course.population, " +
" tb_user_course.classes, " +
" tb_user_course.remind, " +
" tb_user_course.isHaveDocuments, " +
" tb_lab.`name` AS lab_name, " +
" tb_user_course.`name` AS course_name " +
"FROM " +
" tb_lab " +
" INNER JOIN tb_lab_time ON tb_lab.lab_id = tb_lab_time.lab_id " +
" INNER JOIN tb_lab_record ON tb_lab_time.lt_id = tb_lab_record.lt_id " +
" INNER JOIN tb_user " +
" INNER JOIN tb_user_course ON tb_user.u_id = tb_user_course.u_id " +
"WHERE " +
" tb_lab_record.uc_id = tb_user_course.uc_id " +
" AND tb_lab_time.`year` = #{year} " +
" AND tb_lab_time.semester = #{semester} " +
" AND tb_lab_time.`day` = #{day} " +
" AND tb_lab_time.time = #{time} " +
" AND tb_lab.lab_id = #{labId} " +
" AND tb_user_course.uc_id = #{uc_id} " +
"GROUP BY " +
" tb_lab.lab_id, " +
" tb_lab_time.`year`, " +
" tb_lab_time.semester, " +
" tb_lab_time.`day`, " +
" tb_lab_time.time")
Map<String,Object> getRecordDetail(Integer labId,Integer uc_id, String year, Integer semester, Integer day, Integer time);
} }

@ -12,6 +12,7 @@ public interface LabRecordService {
/** /**
* *
*
* @param labrecord * @param labrecord
* @return * @return
*/ */
@ -19,19 +20,22 @@ public interface LabRecordService {
/** /**
* *
*
* @return * @return
*/ */
List<LabRecordBean> findAll(); List<LabRecordBean> findAll();
/** /**
* *
*
* @param stauts * @param stauts
* @return * @return
*/ */
List<LabRecordBean> findByStatus( Integer stauts ); List<LabRecordBean> findByStatus(Integer stauts);
/** /**
* ID * ID
*
* @param lr_id * @param lr_id
* @return * @return
*/ */
@ -39,6 +43,7 @@ public interface LabRecordService {
/** /**
* *
*
* @param labrecord * @param labrecord
* @return * @return
*/ */
@ -46,25 +51,28 @@ public interface LabRecordService {
/** /**
* Id * Id
*
* @param lr_id * @param lr_id
*/ */
void deleteById(Integer lr_id); void deleteById(Integer lr_id);
/** /**
* ucid * ucid
*
* @param uc_id * @param uc_id
* @return * @return
*/ */
List<LabRecordBean> findByUcIdAndStatus(Integer uc_id,Integer status); List<LabRecordBean> findByUcIdAndStatus(Integer uc_id, Integer status);
/** /**
* id * id
*
* @param u_id * @param u_id
* @param year * @param year
* @param semester * @param semester
* @return * @return
*/ */
String[][] getcourseByuser(Integer u_id , String year ,Integer semester ) ; String[][] getcourseByuser(Integer u_id, String year, Integer semester);
/** /**
@ -83,26 +91,30 @@ public interface LabRecordService {
* author * author
* LTidUCidLR * LTidUCidLR
*/ */
void deleteByLtIdAndUcId(Integer LtId,Integer UcId); void deleteByLtIdAndUcId(Integer LtId, Integer UcId);
/** /**
* author * author
* *
*/ */
List<Integer> findWeeksBooked(Integer labId,String year,Integer semester, Integer day,Integer time,Integer uc_id); List<Integer> findWeeksBooked(Integer labId, String year, Integer semester, Integer day, Integer time, Integer uc_id);
/** /**
* *
* *
*/ */
List<Map<String ,Object>> getLabSchedule(Integer labId,String year,Integer semester, Integer day,Integer time); List<Map<String, Object>> getLabSchedule(Integer labId, String year, Integer semester, Integer day, Integer time);
/** /**
* *
* *
*/ */
List<Map<String ,Object>> getUserSchedule(Integer u_id,String year,Integer semester, Integer day,Integer time); List<Map<String, Object>> getUserSchedule(Integer u_id, String year, Integer semester, Integer day, Integer time);
/**
* author
*
*/
Map<String, Object> getRecordDetail(Integer labId,Integer uc_id, String year, Integer semester, Integer day, Integer time);
} }

@ -28,21 +28,22 @@ import java.util.List;
import java.util.Map; import java.util.Map;
@Service @Service
public class LabRecordServiceImpl implements LabRecordService{ public class LabRecordServiceImpl implements LabRecordService {
@Resource @Resource
private LabRecordRepository labrecordRepository; private LabRecordRepository labrecordRepository;
@Resource @Resource
private UserCourseService usercourseservice ; private UserCourseService usercourseservice;
@Resource @Resource
private LabTimeService labtimeservice ; private LabTimeService labtimeservice;
@Resource @Resource
private UserService userservice ; private UserService userservice;
@Resource @Resource
private LabRecordDTOMapper labRecordDTOMapper; private LabRecordDTOMapper labRecordDTOMapper;
@PersistenceContext @PersistenceContext
private EntityManager entityManager; private EntityManager entityManager;
@Override @Override
public LabRecordBean add(LabRecordBean labrcecord) { public LabRecordBean add(LabRecordBean labrcecord) {
labrcecord.setLrId(null); labrcecord.setLrId(null);
@ -54,6 +55,7 @@ public class LabRecordServiceImpl implements LabRecordService{
return labrecordRepository.findAll(); return labrecordRepository.findAll();
} }
@Override @Override
public List<LabRecordBean> findByStatus(Integer status) { public List<LabRecordBean> findByStatus(Integer status) {
@ -78,32 +80,31 @@ public class LabRecordServiceImpl implements LabRecordService{
@Override @Override
public List<LabRecordBean> findByUcIdAndStatus(Integer uc_id , Integer status) { public List<LabRecordBean> findByUcIdAndStatus(Integer uc_id, Integer status) {
return labrecordRepository.findByUcIdAndStatus(uc_id , status); return labrecordRepository.findByUcIdAndStatus(uc_id, status);
} }
@Override @Override
public String[][] getcourseByuser(Integer u_id , String year ,Integer semester ) { public String[][] getcourseByuser(Integer u_id, String year, Integer semester) {
String value[][][] = new String[7][5][20] ; String value[][][] = new String[7][5][20];
String value_name[][] = new String[7][5] ; String value_name[][] = new String[7][5];
List<UserCourseBean> usercourses=usercourseservice.findAllByUidAndYearAndSemester(u_id,year,semester) ; List<UserCourseBean> usercourses = usercourseservice.findAllByUidAndYearAndSemester(u_id, year, semester);
for ( UserCourseBean uc : usercourses) for (UserCourseBean uc : usercourses) {
{
List<LabRecordBean> labrecordlist = findByUcIdAndStatus(uc.getUcId(),2) ; List<LabRecordBean> labrecordlist = findByUcIdAndStatus(uc.getUcId(), 2);
UserBean user= userservice.findById(uc.getUId()); UserBean user = userservice.findById(uc.getUId());
// System.out.println(uc.getUcId() +"\t"+labrecord.getLtId()+uc.getUId()); // System.out.println(uc.getUcId() +"\t"+labrecord.getLtId()+uc.getUId());
for ( LabRecordBean labrecord:labrecordlist) { for (LabRecordBean labrecord : labrecordlist) {
LabTimeBean labtime = labtimeservice.findByLtId(labrecord.getLtId( )); LabTimeBean labtime = labtimeservice.findByLtId(labrecord.getLtId());
Integer day = Integer.valueOf(labtime.getDay( )) - 1; Integer day = Integer.valueOf(labtime.getDay()) - 1;
Integer time = Integer.valueOf(labtime.getTime( )) - 1; Integer time = Integer.valueOf(labtime.getTime()) - 1;
Integer week = Integer.valueOf(labtime.getWeek( )) - 1; Integer week = Integer.valueOf(labtime.getWeek()) - 1;
System.out.println("我是测试下"); System.out.println("我是测试下");
System.out.println(labtime.toString()); System.out.println(labtime.toString());
String val = uc.getName( ) + " " + user.getNickname( ) + "\n" + uc.getClasses( ) + " " + uc.getPopulation( ) + "\n"; String val = uc.getName() + " " + user.getNickname() + "\n" + uc.getClasses() + " " + uc.getPopulation() + "\n";
value[day][time][week] = val; value[day][time][week] = val;
} }
} }
@ -119,20 +120,19 @@ public class LabRecordServiceImpl implements LabRecordService{
// } // }
// } // }
for (int i = 0 ; i < 7 ; ++ i ){ for (int i = 0; i < 7; ++i) {
for ( int j = 0 ; j < 5 ; ++ j ){ for (int j = 0; j < 5; ++j) {
for ( int k = 0 ; k < 19 ; ++ k ){ for (int k = 0; k < 19; ++k) {
int start=1 ; int start = 1;
int end=16; int end = 16;
if ( value[i][j][k]!=null && k != 18 && !value[i][j][k].equals(value[i][j][k+1])) if (value[i][j][k] != null && k != 18 && !value[i][j][k].equals(value[i][j][k + 1])) {
{
if (value_name[i][j] == null) value_name[i][j] = ""; if (value_name[i][j] == null) value_name[i][j] = "";
value_name[i][j] =value_name[i][j] +value[i][j][k] ; value_name[i][j] = value_name[i][j] + value[i][j][k];
value_name[i][j]= value_name[i][j] +"第"+ (k+1)+"周\n"; value_name[i][j] = value_name[i][j] + "第" + (k + 1) + "周\n";
} }
if ( value[i][j][k]!= null&&value[i][j][k].equals(value[i][j][k+1])) { if (value[i][j][k] != null && value[i][j][k].equals(value[i][j][k + 1])) {
if (value_name[i][j] == null) value_name[i][j] = ""; if (value_name[i][j] == null) value_name[i][j] = "";
value_name[i][j] = value_name[i][j] + value[i][j][k]; value_name[i][j] = value_name[i][j] + value[i][j][k];
@ -140,28 +140,27 @@ public class LabRecordServiceImpl implements LabRecordService{
end = k; end = k;
while (k < 19 && value[i][j][k].equals(value[i][j][k + 1])) { while (k < 19 && value[i][j][k].equals(value[i][j][k + 1])) {
end++; end++;
k++; k++;
value_name[i][j] = value_name[i][j] + "第"+(start + 1) + "-" + (end + 1) + "周\n"; value_name[i][j] = value_name[i][j] + "第" + (start + 1) + "-" + (end + 1) + "周\n";
} }
} }
if (k==18 && value[i][j][18]!=null&& value[i][j][19]!=null&& !value[i][j][18].equals(value[i][j][19]) ) if (k == 18 && value[i][j][18] != null && value[i][j][19] != null && !value[i][j][18].equals(value[i][j][19])) {
{
if (value_name[i][j] == null) value_name[i][j] = ""; if (value_name[i][j] == null) value_name[i][j] = "";
value_name[i][j] =value_name[i][j] +value[i][j][19] ; value_name[i][j] = value_name[i][j] + value[i][j][19];
value_name[i][j]= value_name[i][j] + "第20周\n"; value_name[i][j] = value_name[i][j] + "第20周\n";
} }
} }
} }
} }
return value_name ; return value_name;
} }
/** /**
@ -176,6 +175,7 @@ public class LabRecordServiceImpl implements LabRecordService{
/** /**
* *
*
* @return * @return
*/ */
@Override @Override
@ -187,7 +187,7 @@ public class LabRecordServiceImpl implements LabRecordService{
@Transactional @Transactional
@Override @Override
public void deleteByLtIdAndUcId(Integer ltId, Integer ucId) { public void deleteByLtIdAndUcId(Integer ltId, Integer ucId) {
labrecordRepository.deleteByLtIdAndUcId(ltId,ucId); labrecordRepository.deleteByLtIdAndUcId(ltId, ucId);
} }
@Override @Override
@ -204,8 +204,8 @@ public class LabRecordServiceImpl implements LabRecordService{
public List<Map<String, Object>> getLabSchedule(Integer labId, String year, Integer semester, Integer day, Integer time) { public List<Map<String, Object>> getLabSchedule(Integer labId, String year, Integer semester, Integer day, Integer time) {
List<Map<String, Object>> list = labRecordDTOMapper.getLabSchedule(labId, year, semester, day, time); List<Map<String, Object>> list = labRecordDTOMapper.getLabSchedule(labId, year, semester, day, time);
//格式化周数 //格式化周数
for (Map<String,Object> map: list){ for (Map<String, Object> map : list) {
map.put("weeks",findWeeksBooked(labId,year,semester,day,time,(Integer) map.get("uc_id"))); map.put("weeks", findWeeksBooked(labId, year, semester, day, time, (Integer) map.get("uc_id")));
} }
return list; return list;
} }
@ -214,11 +214,18 @@ public class LabRecordServiceImpl implements LabRecordService{
public List<Map<String, Object>> getUserSchedule(Integer u_id, String year, Integer semester, Integer day, Integer time) { public List<Map<String, Object>> getUserSchedule(Integer u_id, String year, Integer semester, Integer day, Integer time) {
List<Map<String, Object>> list = labRecordDTOMapper.getUserSchedule(u_id, year, semester, day, time); List<Map<String, Object>> list = labRecordDTOMapper.getUserSchedule(u_id, year, semester, day, time);
//格式化周数 //格式化周数
for (Map<String,Object> map: list){ for (Map<String, Object> map : list) {
map.put("weeks",findWeeksBooked((Integer) map.get("lab_id"),year,semester,day,time,(Integer) map.get("uc_id"))); map.put("weeks", findWeeksBooked((Integer) map.get("lab_id"), year, semester, day, time, (Integer) map.get("uc_id")));
} }
return list; return list;
} }
@Override
public Map<String, Object> getRecordDetail(Integer labId, Integer uc_id, String year, Integer semester, Integer day, Integer time) {
Map<String, Object> map = labRecordDTOMapper.getRecordDetail(labId, uc_id, year, semester, day, time);
map.put("weeks", findWeeksBooked(labId, year, semester, day, time, uc_id));
return map;
}
} }

Loading…
Cancel
Save