zhongrj
2023-05-11 31c0b7efab611b1461c0480437db2ec0c5727230
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
package cn.gistack.sm.sjztmd.service.impl;
 
import cn.gistack.sm.intelligentCall.mapper.CallTaskMapper;
import cn.gistack.sm.sjztmd.dto.AttResBaseUserDTO;
import cn.gistack.sm.sjztmd.entity.AttResBase;
import cn.gistack.sm.sjztmd.mapper.AttResBaseMapper;
import cn.gistack.sm.sjztmd.service.IAttResBaseService;
import cn.gistack.sm.sjztmd.vo.ManagePersonVO;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.RequestParam;
 
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
 
/**
 * @ClassName AttResBaseServiceImpl
 * @Description TODO
 * @Author aix
 * @Date 2023/4/21 20:01
 * @Version 1.0
 */
@Service
@DS("zt")
public class AttResBaseServiceImpl extends ServiceImpl<AttResBaseMapper, AttResBase> implements IAttResBaseService {
 
    @Autowired
    private CallTaskMapper callTaskMapper;
 
    @Override
    public IPage<AttResBase> selectAttResBasePage(IPage<AttResBase> page, AttResBase attResBase) {
        return page.setRecords(baseMapper.selectAttResBasePage(page,attResBase));
    }
 
    @Override
    public IPage<AttResBase> getListByRegion(IPage<AttResBase> page,Map<String, Object> obj) {
        return page.setRecords(baseMapper.getListByRegion(page,obj));
    }
 
    @Override
    public AttResBase getDetailByCode(String code) {
        return baseMapper.getDetailByCode(code);
    }
 
    /**
     * 获取水库对应责任人分页数据
     * @param params 条件查询参数对象
     * @param page 分页查询参数对象
     * @return
     */
    @Override
    public IPage<AttResBaseUserDTO> getAttResBaseUserPage(IPage<AttResBaseUserDTO> page,Map<String, Object> params) {
        List<String> list = new ArrayList<>();
        Object adCode = params.get("adCode");
        if (null != adCode && !adCode.equals("")) {
            list = callTaskMapper.getAllChildrenAreaByAreaCode(adCode.toString());
        }
        List<AttResBaseUserDTO> attResBaseUserDTOList = baseMapper.getAttResBaseUserPage(page,list,params);
        // 遍历查询所在地点和其它责任人信息
        for (AttResBaseUserDTO attResBaseUserDTO : attResBaseUserDTOList) {
            // 查询各类型责任人
            List<ManagePersonVO> userList = baseMapper.getUserByResBaseGuid(attResBaseUserDTO.getGuid());
            // 组装数据
            if (userList.size() > 0){
                // 责任人类型 1:行政责任人 2:主管部门责任人 3:管理单位责任人 4:技术责任人 5:巡查责任人
                for (ManagePersonVO person : userList) {
                    // 1:行政责任人
                    if (person.getType().equals(1)) {
                        attResBaseUserDTO.setAreaUsername(person.getUsername());
                        attResBaseUserDTO.setAreaUnitName(person.getUnitName());
                        attResBaseUserDTO.setAreaPosition(person.getPosition());
                        attResBaseUserDTO.setAreaPhone(person.getPhone());
                    }
 
                    // 2:主管部门责任人
                    if (person.getType().equals(2)) {
                        attResBaseUserDTO.setCustomsUsername(person.getUsername());
                        attResBaseUserDTO.setCustomsUnitName(person.getUnitName());
                        attResBaseUserDTO.setCustomsPosition(person.getPosition());
                        attResBaseUserDTO.setCustomsPhone(person.getPhone());
                    }
 
                    // 3:管理单位责任人
                    if (person.getType().equals(3)) {
                        attResBaseUserDTO.setManageUnitUsername(person.getUsername());
                        attResBaseUserDTO.setManageUnitUnitName(person.getUnitName());
                        attResBaseUserDTO.setManageUnitPosition(person.getPosition());
                        attResBaseUserDTO.setManageUnitPhone(person.getPhone());
                    }
 
                    // 4:技术责任人
                    if (person.getType().equals(4)) {
                        attResBaseUserDTO.setTechnologyUsername(person.getUsername());
                        attResBaseUserDTO.setTechnologyUnitName(person.getUnitName());
                        attResBaseUserDTO.setTechnologyPosition(person.getPosition());
                        attResBaseUserDTO.setTechnologyPhone(person.getPhone());
                    }
 
                    // 5:巡查责任人
                    if (person.getType().equals(5)) {
                        attResBaseUserDTO.setPatrolUsername(person.getUsername());
                        attResBaseUserDTO.setPatrolUnitName(person.getUnitName());
                        attResBaseUserDTO.setPatrolPosition(person.getPosition());
                        attResBaseUserDTO.setPatrolPhone(person.getPhone());
                    }
                }
            }
        }
        // 返回数据
        return page.setRecords(attResBaseUserDTOList);
    }
}