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<DicArea> 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<DicArea> japPage = dicAreaService.findAll(pageable);
|
page.setEntityCount((int) japPage.getTotalElements());
|
page.setEntities(japPage.getContent());
|
|
return;
|
}
|
Specification<DicArea> specification = new Specification<DicArea>() {
|
private static final long serialVersionUID = 1L;
|
|
public Predicate toPredicate(Root<DicArea> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
|
List<Predicate> predicates = new ArrayList<Predicate>(); //所有的断言
|
|
Predicate predicate1 = cb.like(root.get("name"), "%" + key + "%");
|
predicates.add(predicate1);
|
|
return cb.and(predicates.toArray(new Predicate[0]));
|
}
|
};
|
org.springframework.data.domain.Page<DicArea> japPage = dicAreaService.findAll(specification, pageable);
|
page.setEntityCount((int) japPage.getTotalElements());
|
page.setEntities(japPage.getContent());
|
}
|
|
/**
|
* dicAreaPR#getDicAreaByParentCode
|
*/
|
@DataProvider
|
public List<DicArea> 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);
|
}
|
|
}
|