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;
|
}
|
}
|