package cn.com.taiji.zhongxiao.service; import java.util.ArrayList; import java.util.List; import java.util.Set; import javax.inject.Inject; import javax.persistence.EntityManager; import javax.persistence.criteria.CriteriaBuilder; import javax.persistence.criteria.CriteriaBuilder.In; import javax.persistence.criteria.CriteriaQuery; import javax.persistence.criteria.Predicate; import javax.persistence.criteria.Root; import org.springframework.beans.factory.annotation.Value; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Sort; import org.springframework.data.domain.Sort.Direction; import org.springframework.data.domain.Sort.Order; import org.springframework.data.jpa.domain.Specification; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.stereotype.Service; import cn.com.taiji.sys.domain.Dept; import cn.com.taiji.sys.domain.Role; import cn.com.taiji.sys.domain.User; import cn.com.taiji.util.Pagination; import cn.com.taiji.util.ToolUtil; import cn.com.taiji.zhongxiao.domain.Dbinfo; import cn.com.taiji.zhongxiao.domain.DbinfoRepository; import cn.com.taiji.zhongxiao.domain.TinfoClass; import cn.com.taiji.zhongxiao.dto.TinfoClassDto; @Service public class DbinfoService extends BaseService { @Inject TinfoCodeService tinfoCodeService; @Value("${database_type}") String database_type; @Value("${admin_id}") String admin_id; @Value("${bmsh_role}") String bmsh_role; @Value("${zgbmsh_role}") String zgbmsh_role; @Inject EntityManager em; @Inject JdbcTemplate jdbcTemplate; @Inject DbinfoRepository dbinfoRepository; public Pagination findDbinfoList(final Dbinfo dto, Pagination pag, User userInfo) { List orders = new ArrayList(); Order order1 = new Order(Direction.DESC, "dbConnectname"); orders.add(order1); Sort sort = new Sort(orders); PageRequest request = new PageRequest(pag.getPageCurrentNum() - 1, pag.getPageSize(), sort); Page page; page = dbinfoRepository.findAll(new Specification() { @Override public Predicate toPredicate(Root root, CriteriaQuery query, CriteriaBuilder cb) { List pl = new ArrayList(); pl.add(cb.equal(root.get("dbFlag"), "0")); if(!ToolUtil.isNull(dto.getDbDeptid())){ pl.add(cb.equal(root.get("dbDeptid"), dto.getDbDeptid())); } if(!ToolUtil.isNull(dto.getDbConnectname())){ pl.add(cb.like(root.get("dbConnectname"), "%"+dto.getDbConnectname()+"%")); } if(!ToolUtil.isNull(dto.getDbType())){ pl.add(cb.equal(root.get("dbType"), dto.getDbType())); } return cb.and(pl.toArray(new Predicate[0])); } }, request); List dataList = page.getContent(); pag.setPageResult(dataList); pag.setPageCount(page.getTotalPages()); pag.setPageTotal((int) page.getTotalElements()); return pag; } public Dbinfo findInfoById(String id) { // TODO Auto-generated method stub return dbinfoRepository.findOne(id); } public void saveInfo(Dbinfo dto) { // TODO Auto-generated method stub dbinfoRepository.save(dto); } public List findDbinfoListByDeptid(String providebmcode) { // TODO Auto-generated method stub return dbinfoRepository.findDbinfoListByDeptid(providebmcode); } }