Administrator
2024-01-25 6b268e3e7ee7e71d4dcb7760b005242679a1608f
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
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
package com.dy.pipIrrProject.divide;
 
import com.dy.common.webUtil.QueryResultVo;
import com.dy.pipIrrGlobal.daoBa.BaDistrictMapper;
import com.dy.pipIrrGlobal.daoPr.PrDivideMapper;
import com.dy.pipIrrGlobal.pojoPr.PrDivide;
import com.dy.pipIrrGlobal.voPr.VoDivide;
import lombok.extern.slf4j.Slf4j;
import org.apache.dubbo.common.utils.PojoUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
 
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
 
/**
 * @author ZhuBaoMin
 * @date 2023/12/20 20:12
 * @LastEditTime 2023/12/20 20:12
 * @Description 分水房服务类
 */
 
@Slf4j
@Service
public class DivideSv {
    @Autowired
    private PrDivideMapper prDivideMapper;
 
    @Autowired
    private BaDistrictMapper baDistrictMapper;
 
    /**
     * 添加分水房
     * @param po
     * @return
     */
    Integer addDivide(PrDivide po) {
        return prDivideMapper.insert(po);
    }
 
    /**
     * 根据指定条件获取分水房记录
     * @param queryVo 查询视图
     * @return 分水房记录列表
     */
    public QueryResultVo<List<VoDivide>> getDivides(QueryVo queryVo) {
        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo);
 
        // 计算符合条件的记录数
        Long itemTotal = prDivideMapper.getRecordCount(params);
 
        QueryResultVo<List<VoDivide>> rsVo = new QueryResultVo<>() ;
 
        Integer pageCurr = 0;
        Integer pageSize = 10000;
        rsVo.pageCurr = 1;
        rsVo.pageSize = 10000;
        if(queryVo.pageSize != null && queryVo.pageCurr != null) {
            rsVo.pageSize = queryVo.pageSize ;
            rsVo.pageCurr = queryVo.pageCurr;
            pageSize = queryVo.pageSize ;
            pageCurr = (Integer.parseInt(params.get("pageCurr").toString()) - 1) * Integer.parseInt(params.get("pageSize").toString());
        }
        params.put("pageCurr", pageCurr);
        params.put("pageSize", pageSize);
 
        rsVo.calculateAndSet(itemTotal, params);
        rsVo.obj = prDivideMapper.getDivides(params);
        return rsVo ;
    }
 
    /**
     * 根据指定条件导出分水房列表
     * @param queryVo
     * @return
     */
    public List<VoDivide> exportDivides(QueryVo queryVo) {
        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo);
        List<VoDivide> rsVo = new ArrayList<>();
        rsVo = prDivideMapper.getDivides(params);
        return rsVo ;
    }
 
    /**
     * 根据分水房主键获取分水房对象
     * @param id
     * @return
     */
    public PrDivide getOneDivide(Long id) {
        return prDivideMapper.selectByPrimaryKey(id);
    }
 
    /**
     * 根据主键逻辑删除一个分水房
     * @param id
     * @return
     */
    public Integer deleteDivideById(Long id) {
        return prDivideMapper.deleteDivideById(id);
    }
 
    /**
     * 根据村编号获取5级区划信息
     * @param villageId 村编号(主键)
     * @return 5级行政区划信息
     */
    public Map getDistrictsByVillageId(Long villageId) {
        return baDistrictMapper.getDistrictsByVillageId(villageId);
    }
 
    /**
     * 修改分水房对象
     * @param po 农户对象
     * @return 修改记录条数
     */
    public Integer updateByPrimaryKey(PrDivide po) {
        //return prDivideMapper.updateByPrimaryKey(po);
        return prDivideMapper.updateByPrimaryKeySelective(po);
    }
 
    /**
     * 根据分水房编号获取所属片区编号
     * @param divideId 分水房ID
     * @return 所属片区ID
     */
    public Long getBlockIdById(Long divideId) {
        return prDivideMapper.getBlockIdById(divideId);
    }
}