From f13bef7f77dc801302ddf4c0c5f32e7fd0f52fd0 Mon Sep 17 00:00:00 2001 From: Romesum Date: Wed, 27 May 2020 01:11:07 +0800 Subject: [PATCH] =?UTF-8?q?[feat][M]:=20=E6=96=B0=E5=A2=9E=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E9=A2=84=E7=BA=A6=E8=AF=A6=E6=83=85=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/LabRecordController.java | 19 +++- .../hzu/bookingsystem/dto/LabRecordDTO.java | 2 + .../repository/LabRecordDTOMapper.java | 44 +++++++++ .../service/LabRecordService.java | 28 ++++-- .../service/impl/LabRecordServiceImpl.java | 95 ++++++++++--------- 5 files changed, 134 insertions(+), 54 deletions(-) diff --git a/java/src/main/java/com/hzu/bookingsystem/controller/LabRecordController.java b/java/src/main/java/com/hzu/bookingsystem/controller/LabRecordController.java index c5d0d8a..91c281c 100644 --- a/java/src/main/java/com/hzu/bookingsystem/controller/LabRecordController.java +++ b/java/src/main/java/com/hzu/bookingsystem/controller/LabRecordController.java @@ -106,6 +106,21 @@ public class LabRecordController { 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 map = labrecordService.getRecordDetail(lab_id, uc_id, year, semester, day, time); + return ResultVOUtil.success(map); + } + /** * 更改选课时间段 */ @@ -243,8 +258,8 @@ public class LabRecordController { */ @GetMapping("/getUserScheduleBySelf") public ResultVO getUserScheduleBySelf(HttpServletRequest request, - @RequestParam("year") String year, - @RequestParam("semester") Integer semester) { + @RequestParam("year") String year, + @RequestParam("semester") Integer semester) { //总表 List>>> lists = new ArrayList<>(); for (int i = 1; i <= 5; i++) { diff --git a/java/src/main/java/com/hzu/bookingsystem/dto/LabRecordDTO.java b/java/src/main/java/com/hzu/bookingsystem/dto/LabRecordDTO.java index 88278cc..f88c998 100644 --- a/java/src/main/java/com/hzu/bookingsystem/dto/LabRecordDTO.java +++ b/java/src/main/java/com/hzu/bookingsystem/dto/LabRecordDTO.java @@ -26,11 +26,13 @@ public class LabRecordDTO { private Integer status; //UC + private Integer uc_id; private String course_name; private Integer population; private String classes; //LAB + private Integer labId; private String lab_name; private String position; diff --git a/java/src/main/java/com/hzu/bookingsystem/repository/LabRecordDTOMapper.java b/java/src/main/java/com/hzu/bookingsystem/repository/LabRecordDTOMapper.java index 24eceee..03df19d 100644 --- a/java/src/main/java/com/hzu/bookingsystem/repository/LabRecordDTOMapper.java +++ b/java/src/main/java/com/hzu/bookingsystem/repository/LabRecordDTOMapper.java @@ -58,7 +58,9 @@ public interface LabRecordDTOMapper { " tb_user_course.`name` AS course_name, " + " tb_user_course.population, " + " tb_user_course.classes, " + + " tb_user_course.uc_id, " + " tb_lab.`name` AS lab_name, " + + " tb_lab.lab_id AS labId, " + " tb_lab.position " + "FROM " + " tb_lab_time " + @@ -152,4 +154,46 @@ public interface LabRecordDTOMapper { "GROUP BY " + " tb_user_course.uc_id") List> getUserSchedule(Integer u_id, String year, Integer semester, Integer day, Integer time); + + /** + * 通过lab_id,uc_id以及4项时间查找审核详情 + */ + @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 getRecordDetail(Integer labId,Integer uc_id, String year, Integer semester, Integer day, Integer time); } diff --git a/java/src/main/java/com/hzu/bookingsystem/service/LabRecordService.java b/java/src/main/java/com/hzu/bookingsystem/service/LabRecordService.java index 9d2a681..d2a98ea 100644 --- a/java/src/main/java/com/hzu/bookingsystem/service/LabRecordService.java +++ b/java/src/main/java/com/hzu/bookingsystem/service/LabRecordService.java @@ -12,6 +12,7 @@ public interface LabRecordService { /** * 新增申请记录 + * * @param labrecord * @return */ @@ -19,19 +20,22 @@ public interface LabRecordService { /** * 查看所有申请记录 + * * @return */ List findAll(); /** * 根据状态查询申请记录 + * * @param stauts * @return */ - List findByStatus( Integer stauts ); + List findByStatus(Integer stauts); /** * 根据ID查询记录 + * * @param lr_id * @return */ @@ -39,6 +43,7 @@ public interface LabRecordService { /** * 修改申请记录 + * * @param labrecord * @return */ @@ -46,25 +51,28 @@ public interface LabRecordService { /** * 根据Id查询申请记录 + * * @param lr_id */ void deleteById(Integer lr_id); /** * 根据ucid查出实验室记录 + * * @param uc_id * @return */ - List findByUcIdAndStatus(Integer uc_id,Integer status); + List findByUcIdAndStatus(Integer uc_id, Integer status); /** * 根据教师id和学年,学期查询课表 + * * @param u_id * @param year * @param semester * @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 吴志岳 * 根据LTid与UCid删除LR */ - void deleteByLtIdAndUcId(Integer LtId,Integer UcId); + void deleteByLtIdAndUcId(Integer LtId, Integer UcId); /** * author 吴志岳 * 查找用户当前课程已经预约的时间段 */ - List findWeeksBooked(Integer labId,String year,Integer semester, Integer day,Integer time,Integer uc_id); + List findWeeksBooked(Integer labId, String year, Integer semester, Integer day, Integer time, Integer uc_id); /** * 吴志岳 * 获取实验室课表信息 */ - List> getLabSchedule(Integer labId,String year,Integer semester, Integer day,Integer time); + List> getLabSchedule(Integer labId, String year, Integer semester, Integer day, Integer time); /** * 吴志岳 * 获取用户课表信息 */ - List> getUserSchedule(Integer u_id,String year,Integer semester, Integer day,Integer time); - + List> getUserSchedule(Integer u_id, String year, Integer semester, Integer day, Integer time); + /** + * author 吴志岳 + * 获取审核详情 + */ + Map getRecordDetail(Integer labId,Integer uc_id, String year, Integer semester, Integer day, Integer time); } diff --git a/java/src/main/java/com/hzu/bookingsystem/service/impl/LabRecordServiceImpl.java b/java/src/main/java/com/hzu/bookingsystem/service/impl/LabRecordServiceImpl.java index c70b6a7..753d2c6 100644 --- a/java/src/main/java/com/hzu/bookingsystem/service/impl/LabRecordServiceImpl.java +++ b/java/src/main/java/com/hzu/bookingsystem/service/impl/LabRecordServiceImpl.java @@ -28,21 +28,22 @@ import java.util.List; import java.util.Map; @Service -public class LabRecordServiceImpl implements LabRecordService{ +public class LabRecordServiceImpl implements LabRecordService { @Resource private LabRecordRepository labrecordRepository; @Resource - private UserCourseService usercourseservice ; + private UserCourseService usercourseservice; @Resource - private LabTimeService labtimeservice ; + private LabTimeService labtimeservice; @Resource - private UserService userservice ; + private UserService userservice; @Resource private LabRecordDTOMapper labRecordDTOMapper; @PersistenceContext private EntityManager entityManager; + @Override public LabRecordBean add(LabRecordBean labrcecord) { labrcecord.setLrId(null); @@ -54,6 +55,7 @@ public class LabRecordServiceImpl implements LabRecordService{ return labrecordRepository.findAll(); } + @Override public List findByStatus(Integer status) { @@ -78,32 +80,31 @@ public class LabRecordServiceImpl implements LabRecordService{ @Override - public List findByUcIdAndStatus(Integer uc_id , Integer status) { - return labrecordRepository.findByUcIdAndStatus(uc_id , status); + public List findByUcIdAndStatus(Integer uc_id, Integer status) { + return labrecordRepository.findByUcIdAndStatus(uc_id, status); } @Override - public String[][] getcourseByuser(Integer u_id , String year ,Integer semester ) { - String value[][][] = new String[7][5][20] ; - String value_name[][] = new String[7][5] ; + public String[][] getcourseByuser(Integer u_id, String year, Integer semester) { + String value[][][] = new String[7][5][20]; + String value_name[][] = new String[7][5]; - List usercourses=usercourseservice.findAllByUidAndYearAndSemester(u_id,year,semester) ; - for ( UserCourseBean uc : usercourses) - { + List usercourses = usercourseservice.findAllByUidAndYearAndSemester(u_id, year, semester); + for (UserCourseBean uc : usercourses) { - List labrecordlist = findByUcIdAndStatus(uc.getUcId(),2) ; + List 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()); - for ( LabRecordBean labrecord:labrecordlist) { - LabTimeBean labtime = labtimeservice.findByLtId(labrecord.getLtId( )); - Integer day = Integer.valueOf(labtime.getDay( )) - 1; - Integer time = Integer.valueOf(labtime.getTime( )) - 1; - Integer week = Integer.valueOf(labtime.getWeek( )) - 1; + for (LabRecordBean labrecord : labrecordlist) { + LabTimeBean labtime = labtimeservice.findByLtId(labrecord.getLtId()); + Integer day = Integer.valueOf(labtime.getDay()) - 1; + Integer time = Integer.valueOf(labtime.getTime()) - 1; + Integer week = Integer.valueOf(labtime.getWeek()) - 1; System.out.println("我是测试下"); 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; } } @@ -119,20 +120,19 @@ public class LabRecordServiceImpl implements LabRecordService{ // } // } - for (int i = 0 ; i < 7 ; ++ i ){ - for ( int j = 0 ; j < 5 ; ++ j ){ - for ( int k = 0 ; k < 19 ; ++ k ){ + for (int i = 0; i < 7; ++i) { + for (int j = 0; j < 5; ++j) { + for (int k = 0; k < 19; ++k) { - int start=1 ; - int end=16; - if ( value[i][j][k]!=null && k != 18 && !value[i][j][k].equals(value[i][j][k+1])) - { + int start = 1; + int end = 16; + 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] = ""; - 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] + value[i][j][k]; + 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] = ""; value_name[i][j] = value_name[i][j] + value[i][j][k]; @@ -140,28 +140,27 @@ public class LabRecordServiceImpl implements LabRecordService{ end = k; - while (k < 19 && value[i][j][k].equals(value[i][j][k + 1])) { - end++; - k++; + while (k < 19 && value[i][j][k].equals(value[i][j][k + 1])) { + end++; + 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] = ""; - 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] + value[i][j][19]; + 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 */ @Override @@ -187,7 +187,7 @@ public class LabRecordServiceImpl implements LabRecordService{ @Transactional @Override public void deleteByLtIdAndUcId(Integer ltId, Integer ucId) { - labrecordRepository.deleteByLtIdAndUcId(ltId,ucId); + labrecordRepository.deleteByLtIdAndUcId(ltId, ucId); } @Override @@ -204,8 +204,8 @@ public class LabRecordServiceImpl implements LabRecordService{ public List> getLabSchedule(Integer labId, String year, Integer semester, Integer day, Integer time) { List> list = labRecordDTOMapper.getLabSchedule(labId, year, semester, day, time); //格式化周数 - for (Map map: list){ - map.put("weeks",findWeeksBooked(labId,year,semester,day,time,(Integer) map.get("uc_id"))); + for (Map map : list) { + map.put("weeks", findWeeksBooked(labId, year, semester, day, time, (Integer) map.get("uc_id"))); } return list; } @@ -214,11 +214,18 @@ public class LabRecordServiceImpl implements LabRecordService{ public List> getUserSchedule(Integer u_id, String year, Integer semester, Integer day, Integer time) { List> list = labRecordDTOMapper.getUserSchedule(u_id, year, semester, day, time); //格式化周数 - for (Map map: list){ - map.put("weeks",findWeeksBooked((Integer) map.get("lab_id"),year,semester,day,time,(Integer) map.get("uc_id"))); + for (Map map : list) { + map.put("weeks", findWeeksBooked((Integer) map.get("lab_id"), year, semester, day, time, (Integer) map.get("uc_id"))); } return list; } + @Override + public Map getRecordDetail(Integer labId, Integer uc_id, String year, Integer semester, Integer day, Integer time) { + Map map = labRecordDTOMapper.getRecordDetail(labId, uc_id, year, semester, day, time); + map.put("weeks", findWeeksBooked(labId, year, semester, day, time, uc_id)); + return map; + } + }