czt
2025-06-03 4901f0cf60ecc6484d149ca5e9a0083e4b21db21
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
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);
    }
 
}