Administrator
2023-08-18 b9f8999d477f90fb8b0dd509e8252c0704b1f8b2
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
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
package com.ruoyi.management3d.tiles3d.service.impl;
 
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
 
import com.ruoyi.common.annotation.DataScope;
import com.ruoyi.common.core.domain.entity.SysDept;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.uuid.IdUtils;
import com.ruoyi.device.camera.domain.ArdCameras;
import com.ruoyi.management3d.tiles3d.domain.ArdTiles3d;
import com.ruoyi.management3d.tiles3d.mapper.ArdTiles3dMapper;
import com.ruoyi.management3d.tiles3d.service.IArdTiles3dService;
import com.ruoyi.system.mapper.SysDeptMapper;
import com.ruoyi.utils.tools.ArdTool;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
 
import javax.annotation.Resource;
 
 
/**
 * 三维实景Service业务层处理
 *
 * @author ard
 * @date 2023-06-16
 */
@Service
public class ArdTiles3dServiceImpl implements IArdTiles3dService {
    @Resource
    private ArdTiles3dMapper ardTiles3dMapper;
    @Resource
    private SysDeptMapper sysDeptMapper;
    /**
     * 查询三维实景
     *
     * @param tilesId 三维实景主键
     * @return 三维实景
     */
    @Override
    public ArdTiles3d selectArdTiles3dByTilesId(String tilesId) {
        return ardTiles3dMapper.selectArdTiles3dByTilesId(tilesId);
    }
 
    /**
     * 查询三维实景列表
     *
     * @param ardTiles3d 三维实景
     * @return 三维实景
     */
    @Override
    @DataScope(deptAlias = "d", userAlias = "u")
    public List<ArdTiles3d> selectArdTiles3dList(ArdTiles3d ardTiles3d) {
        return ardTiles3dMapper.selectArdTiles3dList(ardTiles3d);
    }
 
    /**
     * 新增三维实景
     *
     * @param ardTiles3d 三维实景
     * @return 结果
     */
    @Override
    public int insertArdTiles3d(ArdTiles3d ardTiles3d) {
        ardTiles3d.setTilesId(IdUtils.simpleUUID());
        ardTiles3d.setUserId(SecurityUtils.getUserId());
        ardTiles3d.setCreateBy(SecurityUtils.getUsername());
        ardTiles3d.setCreateTime(DateUtils.getNowDate());
        return ardTiles3dMapper.insertArdTiles3d(ardTiles3d);
    }
 
    /**
     * 修改三维实景
     *
     * @param ardTiles3d 三维实景
     * @return 结果
     */
    @Override
    public int updateArdTiles3d(ArdTiles3d ardTiles3d) {
        ardTiles3d.setUpdateBy(SecurityUtils.getUsername());
        ardTiles3d.setUpdateTime(DateUtils.getNowDate());
        return ardTiles3dMapper.updateArdTiles3d(ardTiles3d);
    }
 
    /**
     * 批量删除三维实景
     *
     * @param tilesIds 需要删除的三维实景主键
     * @return 结果
     */
    @Override
    public int deleteArdTiles3dByTilesIds(String[] tilesIds) {
        return ardTiles3dMapper.deleteArdTiles3dByTilesIds(tilesIds);
    }
 
    /**
     * 删除三维实景信息
     *
     * @param tilesId 三维实景主键
     * @return 结果
     */
    @Override
    public int deleteArdTiles3dByTilesId(String tilesId) {
        return ardTiles3dMapper.deleteArdTiles3dByTilesId(tilesId);
    }
    /**
     * 获取部门和三维实景
     *
     * @return 结果
     */
    @Override
    public Map getChildDeptAndTiles3d() {
        Long deptId = SecurityUtils.getDeptId();
        SysDept sysDept = sysDeptMapper.selectDeptById(deptId);
        Map<String, Object> map = fetchChildDepartments(sysDept);
        return map;
    }
    /**
     * 只获取三维实景
     *
     * @return 结果
     */
    @Override
    public Map getChildTiles3d() {
        Long deptId = SecurityUtils.getDeptId();
        SysDept sysDept = sysDeptMapper.selectDeptById(deptId);
        Map<String, Object> map = fetchChildtiles3d(sysDept);
        return map;
    }
 
    /**
     * @描述 递归查询-获取部门和三维实景
     * @参数 [sysDept]
     * @返回值 java.util.Map<java.lang.String, java.lang.Object>
     * @创建人 刘苏义
     * @创建时间 2023/6/2 14:38
     * @修改人和其它信息
     */
    public Map<String, Object> fetchChildDepartments(SysDept sysDept) {
        Map<String, Object> map = new HashMap<>();
        map.put("name", sysDept.getDeptName());
        map.put("deptId", sysDept.getDeptId());
        map.put("disabled", true);
        List<SysDept> sysDepts = sysDeptMapper.selectNextChildrenDeptById(sysDept.getDeptId());
        List<ArdTiles3d> ardTiles3ds = ardTiles3dMapper.selectArdTiles3dByDeptId(sysDept.getDeptId());
        List<Object> childList = new ArrayList<>();
        for (SysDept childDept : sysDepts) {
            Map<String, Object> childMap = new HashMap<>();
            childMap.put("name", childDept.getDeptName());
            childMap.put("deptId", childDept.getDeptId());
            childMap.put("disabled", true);
            Map<String, Object> map1 = fetchChildDepartments(childDept);
            childMap.putAll(map1);
            childList.add(childMap);
        }
        if (ardTiles3ds.size() > 0) {
            for (ArdTiles3d tiles3d : ardTiles3ds) {
                Map<String, Object> tiles3dMap = ArdTool.convertEntityToMap(tiles3d);
                String value =(String) tiles3dMap.get("tilesName");
                tiles3dMap.remove("tilesName");
                tiles3dMap.put("name",value);
                childList.add(tiles3dMap);
            }
        }
        map.put("children", childList);
        return map;
 
    }
    /**
     * @描述 递归查询-只获取三维实景
     * @参数 [sysDept]
     * @返回值 java.util.Map<java.lang.String, java.lang.Object>
     * @创建人 刘苏义
     * @创建时间 2023/6/2 14:38
     * @修改人和其它信息
     */
 
    public Map<String, Object> fetchChildtiles3d(SysDept sysDept) {
        Map<String, Object> map = new HashMap<>();
        map.put("name", sysDept.getDeptName());
        map.put("deptId", sysDept.getDeptId());
        map.put("disabled", true);
        ArdTiles3d ardTiles3d=new ArdTiles3d();
        ardTiles3d.setDeptId(sysDept.getDeptId());
        List<ArdTiles3d> ardTiles3ds = ardTiles3dMapper.selectArdTiles3dList(ardTiles3d);
        List<Object> childList = new ArrayList<>();
        if (ardTiles3ds.size() > 0) {
            for (ArdTiles3d tiles3d : ardTiles3ds) {
                Map<String, Object> tiles3dMap = ArdTool.convertEntityToMap(tiles3d);
                String value =(String) tiles3dMap.get("tilesName");
                tiles3dMap.remove("tilesName");
                tiles3dMap.put("name",value);
                childList.add(tiles3dMap);
            }
        }
        map.put("children", childList);
        return map;
    }
}