diff --git a/src/main/java/com/syq/controller/BookTypeController.java b/src/main/java/com/syq/controller/BookTypeController.java index dd80ab18c25d175ea3ca73375bc8dbb030a97496..6d5ada6e52fce5ae6ecab78f11ff93229b4388c9 100644 --- a/src/main/java/com/syq/controller/BookTypeController.java +++ b/src/main/java/com/syq/controller/BookTypeController.java @@ -3,6 +3,8 @@ package com.syq.controller; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.PageRequest; +import org.springframework.data.domain.Pageable; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; @@ -12,6 +14,7 @@ import org.springframework.web.bind.annotation.RestController; import com.syq.entity.BookType; import com.syq.service.BookTypeService; +import com.syq.util.FenyeUtil; @RestController @RequestMapping("/bookType") @@ -20,6 +23,13 @@ public class BookTypeController { @Autowired private BookTypeService bookTypeService; + + @GetMapping("/Page") + public FenyeUtil listBookTypeByPage(BookType bt,Integer page,Integer limit){ + Pageable pageable = PageRequest.of(page-1, limit); + return bookTypeService.listBookType(bt, pageable); + } + /** * 查询所有图书类型,用于在添加图书是渲染系别下拉框 * @return 所有图书类型 @@ -44,6 +54,7 @@ public class BookTypeController { */ @PutMapping public BookType updateBookType(BookType bt) { + FenyeUtil fy = new FenyeUtil(); return bookTypeService.addOrUpdateBookType(bt); } /** diff --git a/src/main/java/com/syq/controller/BooksController.java b/src/main/java/com/syq/controller/BooksController.java index 4567b1f40382775b59e2581befc32092bdedd61d..bc306f939745cec20be3f87f55466d6bdb118dfe 100644 --- a/src/main/java/com/syq/controller/BooksController.java +++ b/src/main/java/com/syq/controller/BooksController.java @@ -10,7 +10,9 @@ import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import com.syq.entity.BookType; import com.syq.entity.Books; +import com.syq.entity.ResourcesRoom; import com.syq.service.BooksService; @RestController @@ -50,7 +52,13 @@ public class BooksController { * @return */ @PutMapping - public Books updateBooks(Books b) { + public Books updateBooks(Books b,Integer btid,Integer rid) { + BookType bt = new BookType(); + bt.setBtid(btid); + ResourcesRoom res = new ResourcesRoom(); + res.setRid(rid); + b.setBookType(bt); + b.setResourcesRoom(res); return booksService.addOrUpdateBooks(b); } diff --git a/src/main/java/com/syq/controller/SectionsController.java b/src/main/java/com/syq/controller/SectionsController.java index 718ec8a78d10c5051c75fd501ca306adeaab63aa..c09d1baa48f5f8a9511e50e211501f14453fbbd6 100644 --- a/src/main/java/com/syq/controller/SectionsController.java +++ b/src/main/java/com/syq/controller/SectionsController.java @@ -1,8 +1,12 @@ package com.syq.controller; +import java.util.HashMap; import java.util.List; +import java.util.Map; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.PageRequest; +import org.springframework.data.domain.Pageable; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; @@ -11,7 +15,10 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import com.syq.entity.Sections; +import com.syq.entity.Teachers; import com.syq.service.SectionsService; +import com.syq.service.TeachersService; +import com.syq.util.FenyeUtil; @RestController @RequestMapping("/sections") @@ -19,6 +26,16 @@ public class SectionsController { @Autowired private SectionsService sectionsService; + @Autowired + private TeachersService teachersService; + + + @GetMapping("/Page") + public FenyeUtil listSectionPage(Sections sec,Integer page,Integer limit){ + Pageable pageable = PageRequest.of(page-1, limit); + return sectionsService.listSections(sec, pageable); + } + /** * 查询所有科室信息,用于在添加老师是渲染系别下拉框 * @return 所有科室信息 @@ -44,8 +61,15 @@ public class SectionsController { * @return */ @PutMapping - public Sections updateSections(Sections sec) { - return sectionsService.addOrUpdateSections(sec); + public Map updateSections(Sections sec) { + Map map = new HashMap(); + try { + sectionsService.addOrUpdateSections(sec); + map.put("msg", "修改成功"); + } catch (Exception e) { + map.put("msg", "修改失败"); + } + return map; } /** @@ -54,7 +78,17 @@ public class SectionsController { * @return */ @DeleteMapping - public Integer deleteSectionsById(Integer secid) { - return sectionsService.deleteSectionsById(secid); + public Map deleteSectionsById(Integer secid) { + List teacher = teachersService.getAllTeacher(secid); + Map map = new HashMap(); + if(teacher.size()!=0) { + map.put("msg", "删除失败,该科室下有教师"); + map.put("code", "1"); + }else { + sectionsService.deleteSectionsById(secid); + map.put("msg", "删除成功"); + map.put("code", "0"); + } + return map; } } \ No newline at end of file diff --git a/src/main/java/com/syq/controller/StudentsController.java b/src/main/java/com/syq/controller/StudentsController.java index 5430a7d2044db804fc0bfc416dc0e51f89d0feac..fa4c6c2922ea2003cd3cddba234eccd3fc97497f 100644 --- a/src/main/java/com/syq/controller/StudentsController.java +++ b/src/main/java/com/syq/controller/StudentsController.java @@ -1,11 +1,13 @@ package com.syq.controller; +import java.util.HashMap; +import java.util.Map; + import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Pageable; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.Mapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.RequestMapping; @@ -13,8 +15,6 @@ import org.springframework.web.bind.annotation.RestController; import com.syq.entity.Students; import com.syq.entity.Systeminfo; -import com.syq.repository.ComputersRepository; -import com.syq.repository.ResourcesRoomRepository; import com.syq.service.StudentsService; @RequestMapping("students") @@ -24,6 +24,23 @@ public class StudentsController { @Autowired // 注入service层数据 private StudentsService studentsService; + @GetMapping("/unique") + public Map unique(String cardno,String idnumber) { + Map map = new HashMap(); + System.out.println(idnumber); + Students stu = studentsService.findByCardno(cardno); + Students stu2 = studentsService.findByIdnumber(idnumber); + if(stu!=null) { + map.put("msg", "此卡号已存在"); + map.put("code", "1"); + } + if(stu2!=null) { + map.put("msg", "此身份证号已存在"); + map.put("code", "1"); + } + return map; + } + /** * 分页查询学生信息 * @param stu 查询条件 @@ -44,7 +61,8 @@ public class StudentsController { * @return 学生实体 */ @PostMapping - public Object insertStudents(Students s) { + public Students insertStudents(Students s) { + Map map = new HashMap(); return studentsService.addAndUpdate(s); } diff --git a/src/main/java/com/syq/controller/TeachersController.java b/src/main/java/com/syq/controller/TeachersController.java index f5178029b92e1c38a5d94569f8b2b003cb15c37b..010fc19739ac2c1eaed0af88530babe9518fde10 100644 --- a/src/main/java/com/syq/controller/TeachersController.java +++ b/src/main/java/com/syq/controller/TeachersController.java @@ -10,6 +10,7 @@ import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import com.syq.entity.Sections; import com.syq.entity.Teachers; import com.syq.service.TeachersService; @@ -49,7 +50,10 @@ public class TeachersController { * @return */ @PutMapping - public Teachers updateTeachers(Teachers t) { + public Teachers updateTeachers(Teachers t,Integer secid) { + Sections sec = new Sections(); + sec.setSecid(secid); + t.setSections(sec); return teachersService.addOrUpdateTeachers(t); } diff --git a/src/main/java/com/syq/entity/Students.java b/src/main/java/com/syq/entity/Students.java index 69981ddf4ab617bf574fba6c6d9da08c6a8b1369..fe4d96513cd5f6212cf2d261ffd7b837550afee4 100644 --- a/src/main/java/com/syq/entity/Students.java +++ b/src/main/java/com/syq/entity/Students.java @@ -1,5 +1,6 @@ package com.syq.entity; +import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.GeneratedValue; @@ -25,7 +26,9 @@ public class Students { @GeneratedValue(strategy = GenerationType.IDENTITY)//设置自增 private Integer sid;//学生编号 private String sname;//学生姓名 + @Column(unique = true) private String cardno;//卡号 + @Column(unique = true) private String idnumber;//身份证号 private String sex;//性别 private Integer status;//状态 diff --git a/src/main/java/com/syq/repository/SectionsRepository.java b/src/main/java/com/syq/repository/SectionsRepository.java index 40cc0a6aa26c2fd24daf96fa010b52d6169d8e32..25ff908f26fff266c57aaf62d7da2d78f5e6362b 100644 --- a/src/main/java/com/syq/repository/SectionsRepository.java +++ b/src/main/java/com/syq/repository/SectionsRepository.java @@ -1,9 +1,10 @@ package com.syq.repository; import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.JpaSpecificationExecutor; import com.syq.entity.Sections; -public interface SectionsRepository extends JpaRepository { +public interface SectionsRepository extends JpaRepository,JpaSpecificationExecutor { } diff --git a/src/main/java/com/syq/repository/StudentRepository.java b/src/main/java/com/syq/repository/StudentRepository.java index ea4847b6acbb02a2663716bc33436491d356e4d1..907c6f39b25331bffd9322e471dea9abf91a756a 100644 --- a/src/main/java/com/syq/repository/StudentRepository.java +++ b/src/main/java/com/syq/repository/StudentRepository.java @@ -1,10 +1,29 @@ package com.syq.repository; +import java.util.List; + import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaSpecificationExecutor; +import org.springframework.data.jpa.repository.Query; import com.syq.entity.Students; +import com.syq.entity.Teachers; public interface StudentRepository extends JpaRepository,JpaSpecificationExecutor{ + /** + * 根据卡号查询 + * @param cardno + * @return + */ + @Query(value = "select * from students s where s.cardno = ?1 ",nativeQuery = true) + Students findByCardno(String cardno); + + /** + * 根据身份证号查询 + * @param cardno + * @return + */ + @Query(value = "select * from students s where s.idnumber = ?1 ",nativeQuery = true) + Students findByIdnumber(String idnumber); } diff --git a/src/main/java/com/syq/repository/TeachersRepository.java b/src/main/java/com/syq/repository/TeachersRepository.java index 5de2fbca1fb432509ca77c1f20ef461a57921bef..fb76fada63a8a3be13ee8940450222639f4593f6 100644 --- a/src/main/java/com/syq/repository/TeachersRepository.java +++ b/src/main/java/com/syq/repository/TeachersRepository.java @@ -1,10 +1,15 @@ package com.syq.repository; +import java.util.List; + import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaSpecificationExecutor; +import org.springframework.data.jpa.repository.Query; import com.syq.entity.Teachers; public interface TeachersRepository extends JpaRepository, JpaSpecificationExecutor { + @Query(value = "select * from teachers t where t.secid = ?1 ",nativeQuery = true) + List findTeachersBySecid(Integer secid); } \ No newline at end of file diff --git a/src/main/java/com/syq/service/BookTypeService.java b/src/main/java/com/syq/service/BookTypeService.java index ab961f527960f05d0b169d6ae13e1225e3e968ff..8df79ca1c54fb3a86be13ae4abe5b53286b08ff2 100644 --- a/src/main/java/com/syq/service/BookTypeService.java +++ b/src/main/java/com/syq/service/BookTypeService.java @@ -1,10 +1,16 @@ package com.syq.service; +import java.awt.print.Book; import java.util.List; +import org.springframework.data.domain.Pageable; + import com.syq.entity.BookType; +import com.syq.util.FenyeUtil; public interface BookTypeService { + + FenyeUtil listBookType(BookType bt,Pageable pageable); /** * 查询所有图书类型,用于在添加图书是渲染系别下拉框 * @return 图书类型 diff --git a/src/main/java/com/syq/service/SectionsService.java b/src/main/java/com/syq/service/SectionsService.java index 1d1efa23ed41003fdf4a134c7eb81b7adf7d3fb6..ca55f7e4a9d34ca37d4417f2d2a9f6e35e569fc1 100644 --- a/src/main/java/com/syq/service/SectionsService.java +++ b/src/main/java/com/syq/service/SectionsService.java @@ -2,9 +2,14 @@ package com.syq.service; import java.util.List; +import org.springframework.data.domain.Pageable; + import com.syq.entity.Sections; +import com.syq.util.FenyeUtil; public interface SectionsService { + + FenyeUtil listSections(Sections sec,Pageable pageable); /** * 查询所有科室信息,用于在添加老师是渲染系别下拉框 * @return 科室信息 diff --git a/src/main/java/com/syq/service/StudentsService.java b/src/main/java/com/syq/service/StudentsService.java index 7d8e80db3eb328b94c891b7ba262e352b2477f98..8c169e6e3ccb494db90a4aa26914167dfeb78e77 100644 --- a/src/main/java/com/syq/service/StudentsService.java +++ b/src/main/java/com/syq/service/StudentsService.java @@ -7,6 +7,22 @@ import com.syq.util.FenyeUtil; public interface StudentsService { + /** + * 根据卡号查询学生 + * 创建人:孙玉全 + * @param cardno 卡号 + * @return + */ + Students findByCardno(String cardno); + + /** + * 根据省份证号查询学生 + * 创建人:孙玉全 + * @param idnumber 身份证号 + * @return + */ + Students findByIdnumber(String idnumber); + /** * 添加或修改学生信息 * 创建人:孙玉全 diff --git a/src/main/java/com/syq/service/TeachersService.java b/src/main/java/com/syq/service/TeachersService.java index 0ccf70de4a385aa0a522b3889d1f656b5e908dc2..60d8a25e29ba40997bea031d6e153c0189d320be 100644 --- a/src/main/java/com/syq/service/TeachersService.java +++ b/src/main/java/com/syq/service/TeachersService.java @@ -1,11 +1,16 @@ package com.syq.service; +import java.util.List; + import org.springframework.data.domain.Pageable; import com.syq.entity.Teachers; import com.syq.util.FenyeUtil; public interface TeachersService { + + List getAllTeacher(Integer secid); + /** * 条件分页查询所有老师信息 * @param tea 查询条件 diff --git a/src/main/java/com/syq/service/impl/BookTypeServiceImpl.java b/src/main/java/com/syq/service/impl/BookTypeServiceImpl.java index ec50a96ea63bea715c7e06b7e4a5d3f84161754e..9282c9631f6f363844720b68f838665ed9a4a8a1 100644 --- a/src/main/java/com/syq/service/impl/BookTypeServiceImpl.java +++ b/src/main/java/com/syq/service/impl/BookTypeServiceImpl.java @@ -2,12 +2,24 @@ package com.syq.service.impl; import java.util.List; +import javax.persistence.criteria.CriteriaBuilder; +import javax.persistence.criteria.CriteriaQuery; +import javax.persistence.criteria.Expression; +import javax.persistence.criteria.Predicate; +import javax.persistence.criteria.Root; + import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.Pageable; +import org.springframework.data.jpa.domain.Specification; import org.springframework.stereotype.Service; +import org.springframework.util.StringUtils; import com.syq.entity.BookType; +import com.syq.entity.Books; import com.syq.repository.BookTypeRepository; import com.syq.service.BookTypeService; +import com.syq.util.FenyeUtil; @Service public class BookTypeServiceImpl implements BookTypeService { @@ -48,4 +60,32 @@ public class BookTypeServiceImpl implements BookTypeService { } } + @Override + public FenyeUtil listBookType(BookType bt, Pageable pageable) { + // TODO Auto-generated method stub + Page bookType = bookTypeRepository.findAll(get(bt), pageable); + FenyeUtil fy = new FenyeUtil(); + fy.setData(bookType.getContent()); + fy.setCount((int)bookType.getTotalElements()); + return fy; + } + + private Specification get(BookType bt) { + // TODO Auto-generated method stub + return new Specification() { + + @Override + public Predicate toPredicate(Root root, CriteriaQuery query, CriteriaBuilder criteriaBuilder) { + //创建动态SQL表达式 + Predicate predicate = criteriaBuilder.conjunction(); + //创建动态SQL集合 + List> expressions = predicate.getExpressions(); + if(!StringUtils.isEmpty(bt.getBtname())) { + expressions.add(criteriaBuilder.like(root.get("btname"), "%"+bt.getBtname()+"%")); + } + return predicate; + } + }; + } + } diff --git a/src/main/java/com/syq/service/impl/BooksServiceImpl.java b/src/main/java/com/syq/service/impl/BooksServiceImpl.java index 4fb84c435662b8ac8fb1c47f8c2c9685e8fa6a22..c21d35ef0a0707be707575c155629d342bb08833 100644 --- a/src/main/java/com/syq/service/impl/BooksServiceImpl.java +++ b/src/main/java/com/syq/service/impl/BooksServiceImpl.java @@ -59,6 +59,12 @@ public class BooksServiceImpl implements BooksService { if(btid!=null) { expressions.add(criteriaBuilder.equal(root.get("bookType").get("btid"), btid)); } + //当系别不为空时 + if(book.getResourcesRoom()!=null) { + if(book.getResourcesRoom().getRid()!=null) { + expressions.add(criteriaBuilder.equal(root.get("resourcesRoom").get("rid"), book.getResourcesRoom().getRid())); + } + } return predicate; } }; diff --git a/src/main/java/com/syq/service/impl/SectionsServiceImpl.java b/src/main/java/com/syq/service/impl/SectionsServiceImpl.java index 5445625183957fe87576e6444a0d7f55c624ca79..74689c3bc03450e101ced347fafeb1ebc38de929 100644 --- a/src/main/java/com/syq/service/impl/SectionsServiceImpl.java +++ b/src/main/java/com/syq/service/impl/SectionsServiceImpl.java @@ -2,12 +2,25 @@ package com.syq.service.impl; import java.util.List; +import javax.persistence.criteria.CriteriaBuilder; +import javax.persistence.criteria.CriteriaQuery; +import javax.persistence.criteria.Expression; +import javax.persistence.criteria.Predicate; +import javax.persistence.criteria.Root; + import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Example; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.Pageable; +import org.springframework.data.jpa.domain.Specification; import org.springframework.stereotype.Service; +import org.springframework.util.StringUtils; +import com.syq.entity.BookType; import com.syq.entity.Sections; import com.syq.repository.SectionsRepository; import com.syq.service.SectionsService; +import com.syq.util.FenyeUtil; @Service public class SectionsServiceImpl implements SectionsService { @@ -48,4 +61,31 @@ public class SectionsServiceImpl implements SectionsService { } } + @Override + public FenyeUtil listSections(Sections sec, Pageable pageable) { + Page section = sectionsRepository.findAll(get(sec), pageable); + FenyeUtil fy = new FenyeUtil(); + fy.setData(section.getContent()); + fy.setCount((int)section.getTotalElements()); + return fy; + } + + private Specification get(Sections sec) { + // TODO Auto-generated method stub + return new Specification() { + + @Override + public Predicate toPredicate(Root root, CriteriaQuery query, CriteriaBuilder criteriaBuilder) { + Predicate predicate = criteriaBuilder.conjunction(); + //创建动态SQL集合 + List> expressions = predicate.getExpressions(); + if(!StringUtils.isEmpty(sec.getSecname())) { + expressions.add(criteriaBuilder.like(root.get("secname"), "%"+sec.getSecname()+"%")); + } + return predicate; + } + }; + } + + } \ No newline at end of file diff --git a/src/main/java/com/syq/service/impl/StudentsServiceImpl.java b/src/main/java/com/syq/service/impl/StudentsServiceImpl.java index 2f20162ed70f07d7958bd82af0d964e22eb8d497..4dbc63730e205baa4d6bf2f242c30c18f3c61599 100644 --- a/src/main/java/com/syq/service/impl/StudentsServiceImpl.java +++ b/src/main/java/com/syq/service/impl/StudentsServiceImpl.java @@ -99,6 +99,24 @@ public class StudentsServiceImpl implements StudentsService{ }; } + /** + * 根据卡号查询学生 + * 创建人:孙玉全 + * @param cardno 卡号 + * @return + */ + @Override + public Students findByCardno(String cardno) { + // TODO Auto-generated method stub + return studentRepository.findByCardno(cardno); + } + + @Override + public Students findByIdnumber(String idnumber) { + // TODO Auto-generated method stub + return studentRepository.findByIdnumber(idnumber); + } + } diff --git a/src/main/java/com/syq/service/impl/TeachersServiceImpl.java b/src/main/java/com/syq/service/impl/TeachersServiceImpl.java index 6b579c6ba5f93aa6f0a232af19f7699dd942a73d..e20ac5a8c4fb81a08005394a33bb79a2b5f98b30 100644 --- a/src/main/java/com/syq/service/impl/TeachersServiceImpl.java +++ b/src/main/java/com/syq/service/impl/TeachersServiceImpl.java @@ -55,6 +55,9 @@ public class TeachersServiceImpl implements TeachersService { if(!StringUtils.isEmpty(tea.getTname())) { expressions.add(criteriaBuilder.like(root.get("tname"), "%"+tea.getTname()+"%")); } + if(!StringUtils.isEmpty(tea.getIdnumber())) { + expressions.add(criteriaBuilder.equal(root.get("idnumber"), tea.getIdnumber())); + } if(secid!=null) { expressions.add(criteriaBuilder.equal(root.get("sections").get("secid"), secid)); } @@ -92,4 +95,11 @@ public class TeachersServiceImpl implements TeachersService { } } + @Override + public List getAllTeacher(Integer secid) { + // TODO Auto-generated method stub + return teachersRepository.findTeachersBySecid(secid); + } + + }