diff --git a/java/src/main/java/com/hzu/bookingsystem/repository/LabRecordRepository.java b/java/src/main/java/com/hzu/bookingsystem/repository/LabRecordRepository.java index 90454cf..6ab5b71 100644 --- a/java/src/main/java/com/hzu/bookingsystem/repository/LabRecordRepository.java +++ b/java/src/main/java/com/hzu/bookingsystem/repository/LabRecordRepository.java @@ -24,7 +24,7 @@ public interface LabRecordRepository extends JpaRepository void deleteBylrId(Integer lt_id); - LabRecordBean findByUcId(Integer uc_id); + LabRecordBean findByUcIdAndStatus(Integer uc_id , Integer status); 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 4b0d398..dbb26ed 100644 --- a/java/src/main/java/com/hzu/bookingsystem/service/LabRecordService.java +++ b/java/src/main/java/com/hzu/bookingsystem/service/LabRecordService.java @@ -53,7 +53,7 @@ public interface LabRecordService { * @param uc_id * @return */ - LabRecordBean findByUcId(Integer uc_id); + LabRecordBean findByUcIdAndStatus(Integer uc_id,Integer status); /** * 根据教师id和学年,学期查询课表 @@ -62,7 +62,7 @@ public interface LabRecordService { * @param semester * @return */ - String[][][] getcourseByuser(Integer u_id , String year ,Integer semester ) ; + String[][] getcourseByuser(Integer u_id , String year ,Integer semester ) ; 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 fec070e..2ec1518 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 @@ -2,11 +2,13 @@ package com.hzu.bookingsystem.service.impl; import com.hzu.bookingsystem.bean.LabRecordBean; import com.hzu.bookingsystem.bean.LabTimeBean; +import com.hzu.bookingsystem.bean.UserBean; import com.hzu.bookingsystem.bean.UserCourseBean; import com.hzu.bookingsystem.repository.LabRecordRepository; import com.hzu.bookingsystem.service.LabRecordService; import com.hzu.bookingsystem.service.LabTimeService; import com.hzu.bookingsystem.service.UserCourseService; +import com.hzu.bookingsystem.service.UserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -22,6 +24,8 @@ public class LabRecordServiceImpl implements LabRecordService{ private UserCourseService usercourseservice ; @Resource private LabTimeService labtimeservice ; + @Resource + private UserService userservice ; @Override public LabRecordBean add(LabRecordBean labrcecord) { @@ -58,25 +62,84 @@ public class LabRecordServiceImpl implements LabRecordService{ @Override - public LabRecordBean findByUcId(Integer uc_id) { - return labrecordRepository.findByUcId(uc_id); + public LabRecordBean findByUcIdAndStatus(Integer uc_id , Integer status) { + return labrecordRepository.findByUcIdAndStatus(uc_id , status); } @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_name[][] = new String[7][5] ; + List usercourses=usercourseservice.findAllByUidAndYearAndSemester(u_id,year,semester) ; for ( UserCourseBean uc : usercourses) { - LabRecordBean labrecord = findByUcId(uc.getUcId()) ; + + LabRecordBean labrecord = findByUcIdAndStatus(uc.getUcId(),2) ; LabTimeBean labtime=labtimeservice.findByLtId(labrecord.getLtId()); + UserBean user= userservice.findById(uc.getUId()); +// System.out.println(uc.getUcId() +"\t"+labrecord.getLtId()+uc.getUId()); Integer day= Integer.valueOf(labtime.getTime()) -1 ; Integer time= Integer.valueOf(labtime.getTime()) -1 ; Integer week= Integer.valueOf(labtime.getWeek()) -1 ; + String val = uc.getName()+" "+user.getNickname()+"\n"+ uc.getClasses()+" "+uc.getPopulation() +"\n"; + value[day][time][week] =val ; + } + +// +// for (int i = 0 ; i < 7 ; ++ i ) { +// +// for (int j = 0; j < 5; ++j) { +// for (int k = 0; k < 19; ++k) { +// if (value[i][j][k]!= null) +// System.out.println("第"+(k+1)+"周的第"+(i+1)+"天的第"+(j+1)+"节"+value[i][j][k]+"\t"); +// } +// } +// } + + 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])) + { + 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+"周\n"; + } + + 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]; + + start = k; + 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"; + + } + } + + 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[day][time][week] =uc.getName() ; + } } - return value ; + return value_name ; } }