From 4ff03930508b8ea9fcbd95cca7802a7cff1bc6c1 Mon Sep 17 00:00:00 2001 From: xback <1516748650@qq.com> Date: Wed, 1 Apr 2020 21:34:00 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BA=BA=EF=BC=9A=E5=AD=99?= =?UTF-8?q?=E7=8E=89=E5=85=A8=20=E5=90=88=E5=B9=B6=E9=9B=B7=E6=99=93?= =?UTF-8?q?=E6=96=87=E6=8E=A5=E5=8F=A3=E5=90=8E=E5=AE=9E=E7=8E=B0=E6=89=80?= =?UTF-8?q?=E6=9C=89=E6=8E=A5=E5=8F=A3=E5=90=8E=E5=8F=B0=E6=A8=A1=E6=9D=BF?= =?UTF-8?q?=EF=BC=8C=E5=B9=B6=E5=AF=B9=E4=B8=80=E4=BA=9B=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E8=BF=9B=E8=A1=8C=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../syq/controller/BookTypeController.java | 11 +++++ .../com/syq/controller/BooksController.java | 10 ++++- .../syq/controller/SectionsController.java | 42 +++++++++++++++++-- .../syq/controller/StudentsController.java | 26 ++++++++++-- .../syq/controller/TeachersController.java | 6 ++- src/main/java/com/syq/entity/Students.java | 3 ++ .../syq/repository/SectionsRepository.java | 3 +- .../com/syq/repository/StudentRepository.java | 19 +++++++++ .../syq/repository/TeachersRepository.java | 5 +++ .../java/com/syq/service/BookTypeService.java | 6 +++ .../java/com/syq/service/SectionsService.java | 5 +++ .../java/com/syq/service/StudentsService.java | 16 +++++++ .../java/com/syq/service/TeachersService.java | 5 +++ .../syq/service/impl/BookTypeServiceImpl.java | 40 ++++++++++++++++++ .../syq/service/impl/BooksServiceImpl.java | 6 +++ .../syq/service/impl/SectionsServiceImpl.java | 40 ++++++++++++++++++ .../syq/service/impl/StudentsServiceImpl.java | 18 ++++++++ .../syq/service/impl/TeachersServiceImpl.java | 10 +++++ 18 files changed, 260 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/syq/controller/BookTypeController.java b/src/main/java/com/syq/controller/BookTypeController.java index dd80ab1..6d5ada6 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 4567b1f..bc306f9 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 718ec8a..c09d1ba 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 5430a7d..fa4c6c2 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 f517802..010fc19 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 69981dd..fe4d965 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 40cc0a6..25ff908 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 ea4847b..907c6f3 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 5de2fbc..fb76fad 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 ab961f5..8df79ca 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 1d1efa2..ca55f7e 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 7d8e80d..8c169e6 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 0ccf70d..60d8a25 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 ec50a96..9282c96 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 4fb84c4..c21d35e 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 5445625..74689c3 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 2f20162..4dbc637 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 6b579c6..e20ac5a 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); + } + + } -- Gitee