package com.fzzy.igds.sys.pr; import com.bstek.dorado.annotation.DataProvider; import com.bstek.dorado.annotation.DataResolver; import com.bstek.dorado.annotation.Expose; import com.bstek.dorado.data.provider.Page; import com.fzzy.igds.dzhwk.domain.DicArea; import com.fzzy.igds.sys.DicAreaService; import com.ruoyi.common.utils.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Sort; import org.springframework.data.jpa.domain.Specification; import org.springframework.stereotype.Component; import javax.annotation.Resource; import javax.persistence.criteria.CriteriaBuilder; import javax.persistence.criteria.CriteriaQuery; import javax.persistence.criteria.Predicate; import javax.persistence.criteria.Root; import java.util.ArrayList; import java.util.List; /** * @Description * @Author CZT * @Date 2024/11/23 09:36 */ @Component public class DicAreaPR { @Resource private DicAreaService dicAreaService; /** * dicAreaPR#pageList * * @param page */ @DataProvider public void pageList(Page page, String key) { //多参数分页查询 Pageable pageable = PageRequest.of(page.getPageNo() - 1, page.getPageSize(), Sort.Direction.ASC, DicArea.SORT_PROP); if (StringUtils.isEmpty(key)) { org.springframework.data.domain.Page japPage = dicAreaService.findAll(pageable); page.setEntityCount((int) japPage.getTotalElements()); page.setEntities(japPage.getContent()); return; } Specification specification = new Specification() { private static final long serialVersionUID = 1L; public Predicate toPredicate(Root root, CriteriaQuery query, CriteriaBuilder cb) { List predicates = new ArrayList(); //所有的断言 Predicate predicate1 = cb.like(root.get("name"), "%" + key + "%"); predicates.add(predicate1); return cb.and(predicates.toArray(new Predicate[0])); } }; org.springframework.data.domain.Page japPage = dicAreaService.findAll(specification, pageable); page.setEntityCount((int) japPage.getTotalElements()); page.setEntities(japPage.getContent()); } /** * dicAreaPR#getDicAreaByParentCode */ @DataProvider public List getDicAreaByParentCode(String parentCode) { return dicAreaService.getDicAreaByParentCode(parentCode); } /** * dicAreaPR#saveDicArea * * @param data * @return */ @DataResolver public String saveDicArea(DicArea data) { DicArea dicArea = new DicArea(); BeanUtils.copyProperties(data, dicArea); return dicAreaService.saveDicArea(dicArea); } /** * dicAreaPR#delDicArea * * @param data * @return */ @Expose public String delDicArea(DicArea data) { DicArea dicArea = new DicArea(); BeanUtils.copyProperties(data, dicArea); return dicAreaService.delDicArea(dicArea); } }