DbinfoService.java 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. package cn.com.taiji.zhongxiao.service;
  2. import java.util.ArrayList;
  3. import java.util.List;
  4. import java.util.Set;
  5. import javax.inject.Inject;
  6. import javax.persistence.EntityManager;
  7. import javax.persistence.criteria.CriteriaBuilder;
  8. import javax.persistence.criteria.CriteriaBuilder.In;
  9. import javax.persistence.criteria.CriteriaQuery;
  10. import javax.persistence.criteria.Predicate;
  11. import javax.persistence.criteria.Root;
  12. import org.springframework.beans.factory.annotation.Value;
  13. import org.springframework.data.domain.Page;
  14. import org.springframework.data.domain.PageRequest;
  15. import org.springframework.data.domain.Sort;
  16. import org.springframework.data.domain.Sort.Direction;
  17. import org.springframework.data.domain.Sort.Order;
  18. import org.springframework.data.jpa.domain.Specification;
  19. import org.springframework.jdbc.core.JdbcTemplate;
  20. import org.springframework.stereotype.Service;
  21. import cn.com.taiji.sys.domain.Dept;
  22. import cn.com.taiji.sys.domain.Role;
  23. import cn.com.taiji.sys.domain.User;
  24. import cn.com.taiji.util.Pagination;
  25. import cn.com.taiji.util.ToolUtil;
  26. import cn.com.taiji.zhongxiao.domain.Dbinfo;
  27. import cn.com.taiji.zhongxiao.domain.DbinfoRepository;
  28. import cn.com.taiji.zhongxiao.domain.TinfoClass;
  29. import cn.com.taiji.zhongxiao.dto.TinfoClassDto;
  30. @Service
  31. public class DbinfoService extends BaseService {
  32. @Inject
  33. TinfoCodeService tinfoCodeService;
  34. @Value("${database_type}")
  35. String database_type;
  36. @Value("${admin_id}")
  37. String admin_id;
  38. @Value("${bmsh_role}")
  39. String bmsh_role;
  40. @Value("${zgbmsh_role}")
  41. String zgbmsh_role;
  42. @Inject
  43. EntityManager em;
  44. @Inject
  45. JdbcTemplate jdbcTemplate;
  46. @Inject
  47. DbinfoRepository dbinfoRepository;
  48. public Pagination<Dbinfo> findDbinfoList(final Dbinfo dto, Pagination<Dbinfo> pag,
  49. User userInfo) {
  50. List<Order> orders = new ArrayList<Sort.Order>();
  51. Order order1 = new Order(Direction.DESC, "dbConnectname");
  52. orders.add(order1);
  53. Sort sort = new Sort(orders);
  54. PageRequest request = new PageRequest(pag.getPageCurrentNum() - 1,
  55. pag.getPageSize(), sort);
  56. Page<Dbinfo> page;
  57. page = dbinfoRepository.findAll(new Specification<Dbinfo>() {
  58. @Override
  59. public Predicate toPredicate(Root<Dbinfo> root,
  60. CriteriaQuery<?> query, CriteriaBuilder cb) {
  61. List<Predicate> pl = new ArrayList<Predicate>();
  62. pl.add(cb.equal(root.get("dbFlag"), "0"));
  63. if(!ToolUtil.isNull(dto.getDbDeptid())){
  64. pl.add(cb.equal(root.<String>get("dbDeptid"), dto.getDbDeptid()));
  65. }
  66. if(!ToolUtil.isNull(dto.getDbConnectname())){
  67. pl.add(cb.like(root.<String>get("dbConnectname"), "%"+dto.getDbConnectname()+"%"));
  68. }
  69. if(!ToolUtil.isNull(dto.getDbType())){
  70. pl.add(cb.equal(root.<String>get("dbType"), dto.getDbType()));
  71. }
  72. return cb.and(pl.toArray(new Predicate[0]));
  73. }
  74. }, request);
  75. List<Dbinfo> dataList = page.getContent();
  76. pag.setPageResult(dataList);
  77. pag.setPageCount(page.getTotalPages());
  78. pag.setPageTotal((int) page.getTotalElements());
  79. return pag;
  80. }
  81. public Dbinfo findInfoById(String id) {
  82. // TODO Auto-generated method stub
  83. return dbinfoRepository.findOne(id);
  84. }
  85. public void saveInfo(Dbinfo dto) {
  86. // TODO Auto-generated method stub
  87. dbinfoRepository.save(dto);
  88. }
  89. public List<Dbinfo> findDbinfoListByDeptid(String providebmcode) {
  90. // TODO Auto-generated method stub
  91. return dbinfoRepository.findDbinfoListByDeptid(providebmcode);
  92. }
  93. }