Browse Source

Merge remote-tracking branch 'origin/release-sy-v1.0.0' into release-sy-v1.0.0

master_tdsql
hxh 1 year ago
parent
commit
56553d3451
  1. 65
      shuili-system/src/main/java/com/kms/yg/znjg/controller/SyDirController.java
  2. 3
      shuili-system/src/main/java/com/kms/yg/znjg/controller/SySceneConfigRelationController.java
  3. 262
      shuili-system/src/main/java/com/kms/yg/znjg/controller/SySceneController.java
  4. 73
      shuili-system/src/main/java/com/kms/yg/znjg/controller/SySceneDirRelationController.java
  5. 5
      shuili-system/src/main/java/com/kms/yg/znjg/domain/SyDir.java
  6. 2
      shuili-system/src/main/java/com/kms/yg/znjg/mapper/SyDirLayerMapper.java
  7. 2
      shuili-system/src/main/java/com/kms/yg/znjg/mapper/SyDirMapper.java
  8. 4
      shuili-system/src/main/java/com/kms/yg/znjg/mapper/SyLayerMapper.java
  9. 3
      shuili-system/src/main/java/com/kms/yg/znjg/mapper/SySceneMapper.java
  10. 3
      shuili-system/src/main/java/com/kms/yg/znjg/service/SySceneService.java
  11. 210
      shuili-system/src/main/java/com/kms/yg/znjg/vo/LayerForm.java
  12. 12
      shuili-system/src/main/java/com/kms/yg/znjg/vo/SySceneVo.java
  13. 20
      shuili-system/src/main/resources/mapper/yg/znjg/SyDirLayerMapper.xml
  14. 22
      shuili-system/src/main/resources/mapper/yg/znjg/SyDirMapper.xml
  15. 39
      shuili-system/src/main/resources/mapper/yg/znjg/SyLayerMapper.xml
  16. 13
      shuili-system/src/main/resources/mapper/yg/znjg/SySceneMapper.xml

65
shuili-system/src/main/java/com/kms/yg/znjg/controller/SyDirController.java

@ -3,13 +3,11 @@ package com.kms.yg.znjg.controller;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.kms.yg.znjg.domain.SyDir;
import com.kms.yg.znjg.domain.SyDirLayer;
import com.kms.yg.znjg.domain.SyLayer;
import com.kms.yg.znjg.domain.SySceneDirRelation;
import com.kms.yg.znjg.domain.*;
import com.kms.yg.znjg.mapper.SyDirLayerMapper;
import com.kms.yg.znjg.mapper.SyLayerMapper;
import com.kms.yg.znjg.mapper.SySceneDirRelationMapper;
import com.kms.yg.znjg.mapper.SySceneMapper;
import com.kms.yg.znjg.service.SyDirLayerService;
import com.kms.yg.znjg.service.SyDirService;
import com.kms.yg.znjg.service.SyLayerService;
@ -26,6 +24,8 @@ import org.springframework.web.bind.annotation.*;
import java.util.HashMap;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
/**
* 图层目录管理
@ -46,6 +46,9 @@ public class SyDirController {
@Autowired
private SySceneDirRelationMapper sySceneDirRelationMapper;
@Autowired
private SySceneMapper sySceneMapper;
@Autowired
private SyDirLayerMapper syDirLayerMapper;
@ -105,27 +108,39 @@ public class SyDirController {
}
}
// @GetMapping(value = "/getRelationSceneInfo")
// @ApiOperation("根据目录id获取关联的场景信息")
// public Response saveDir(String dirId) throws Exception {
// try {
// List<SySceneDirRelation> dirRelations = sySceneDirRelationMapper.selectByMap(new HashMap<String, Object>() {{
// put("dir_id", dirId);
// }});
// if (dirRelations!=null && dirRelations.size()>0){
// return new Response() {{
// setCode("200");
// setData(dirRelations);
// }};
//
// } catch (Exception e) {
// e.printStackTrace();
// return new Response() {{
// setCode("500");
// setMsg(e.getMessage());
// }};
// }
// }
/**
* 根据目录id获取关联的场景信息
*
* @param dirId 目录id
* @return
* @throws Exception
*/
@GetMapping(value = "/getRelationSceneInfo/{dirId}")
@ApiOperation("根据目录id获取关联的场景信息")
public Response saveDir(@PathVariable(value = "dirId") String dirId) throws Exception {
try {
List<SySceneDirRelation> dirRelations = sySceneDirRelationMapper.selectByMap(new HashMap<String, Object>() {{
put("dir_id", dirId);
put("is_valid", "1");
}});
if (dirRelations != null && dirRelations.size() > 0) {
List<SyScene> sceneList = sySceneMapper.selectBatchIds(dirRelations.stream().map(SySceneDirRelation::getSceneId).collect(Collectors.toList()));
List<String> sceneNameList = sceneList.stream().filter(scene -> scene != null && scene.getIsValid() == 1).map(SyScene::getName).collect(Collectors.toList());
return new Response() {{
setCode("200");
setData(sceneNameList);
}};
} else {
throw new Exception("未找到关联的场景信息");
}
} catch (Exception e) {
e.printStackTrace();
return new Response() {{
setCode("500");
setMsg(e.getMessage());
}};
}
}
/**
* 根据目录id删除图层目录

3
shuili-system/src/main/java/com/kms/yg/znjg/controller/SySceneConfigRelationController.java

@ -9,6 +9,7 @@ import com.kms.yg.znjg.service.SySceneConfigRelationService;
import com.kms.yg.znjg.service.SySceneService;
import com.kms.yxgh.base.Response;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@ -39,6 +40,7 @@ public class SySceneConfigRelationController {
* @return
*/
@PostMapping(value = "/saveOrUpdateConfig")
@ApiOperation("保存/更新环境和视角配置对象")
public Response<String> saveOrUpdateConfig(@RequestBody SySceneConfigRelation sySceneConfigRelation) {
Response<String> responseInfo = new Response<>();
try {
@ -75,6 +77,7 @@ public class SySceneConfigRelationController {
* @throws Exception
*/
@GetMapping(value = "/findConfigBySceneId/{sceneId}")
@ApiOperation("根据id查询场景环境以及相机配置信息")
public Response<SySceneConfigRelation> findConfigBySceneId(@PathVariable(value = "sceneId") String sceneId) throws Exception {
Response<SySceneConfigRelation> responseInfo = new Response<>();
try {

262
shuili-system/src/main/java/com/kms/yg/znjg/controller/SySceneController.java

@ -1,27 +1,33 @@
package com.kms.yg.znjg.controller;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.kms.common.utils.UserUtils;
import com.kms.yg.znjg.domain.SyScene;
import com.kms.yg.znjg.domain.SySceneConfigRelation;
import com.kms.yg.znjg.domain.SySceneDirRelation;
import com.kms.yg.znjg.mapper.SySceneConfigRelationMapper;
import com.kms.yg.znjg.mapper.SySceneDirRelationMapper;
import com.kms.yg.znjg.mapper.SySceneMapper;
import com.kms.yg.znjg.domain.*;
import com.kms.yg.znjg.mapper.*;
import com.kms.yg.znjg.service.SySceneService;
import com.kms.yg.znjg.vo.LayerForm;
import com.kms.yg.znjg.vo.SyDirVo;
import com.kms.yg.znjg.vo.SySceneVo;
import com.kms.yxgh.base.Response;
import com.shuili.common.core.domain.SearchParam;
import com.shuili.common.core.domain.entity.SysUser;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.collections4.MapUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
* @description 地图场景管理
@ -36,12 +42,21 @@ public class SySceneController {
@Autowired
private SySceneMapper sySceneMapper;
@Autowired
private SyDirMapper syDirMapper;
@Autowired
private SySceneDirRelationMapper sySceneDirRelationMapper;
@Autowired
private SySceneConfigRelationMapper sySceneConfigRelationMapper;
@Autowired
private SyDirLayerMapper syDirLayerMapper;
@Autowired
private SyLayerMapper syLayerMapper;
/**
* 分页查询所有的地图场景信息
*
@ -49,15 +64,50 @@ public class SySceneController {
* @return
* @throws Exception
*/
@GetMapping(value = "/sceneList")
@PostMapping(value = "/sceneList")
@ApiOperation(value = "分页查询所有的地图场景信息")
public IPage<SyScene> sceneList(@RequestBody SearchParam<SyScene> spScene) throws Exception {
public IPage<SySceneVo> sceneList(@RequestBody SearchParam<SyScene> spScene) throws Exception {
SyScene sySceneInfo = spScene.getData();
Page<SyScene> page = new Page<>(spScene.getPageNum(), spScene.getPageSize());
Page<SySceneVo> page = new Page<>(spScene.getPageNum(), spScene.getPageSize());
Map<String, Object> params = spScene.getParams();
return sySceneService.sceneList(page, sySceneInfo, params);
}
/**
* 根据场景id获取关联的图层目录信息
*
* @param sceneId 场景id
* @return
* @throws Exception
*/
@GetMapping(value = "/getRelationSceneInfo/{sceneId}")
@ApiOperation("根据场景id获取关联的图层目录信息")
public Response saveDir(@PathVariable(value = "sceneId") String sceneId) throws Exception {
try {
List<SySceneDirRelation> sceneDirRelations = sySceneDirRelationMapper.selectByMap(new HashMap<String, Object>() {{
put("scene_id", sceneId);
put("is_valid", "1");
}});
if (sceneDirRelations != null && sceneDirRelations.size() > 0) {
List<SyDir> syDirs = syDirMapper.selectBatchIds(sceneDirRelations.stream().map(SySceneDirRelation::getDirId).collect(Collectors.toList()));
List<SyDir> syDirList = syDirs.stream().filter(syDir -> syDir != null && syDir.getIsValid() == 1).collect(Collectors.toList());
return new Response() {{
setCode("200");
setData(syDirList);
}};
} else {
throw new Exception("未找到关联的目录信息");
}
} catch (Exception e) {
e.printStackTrace();
return new Response() {{
setCode("500");
setMsg(e.getMessage());
}};
}
}
/**
* 保存/更新场景实体对象
*
@ -65,6 +115,7 @@ public class SySceneController {
* @return
*/
@PostMapping(value = "/saveOrUpdateScene")
@ApiOperation("保存/更新场景实体对象")
public Response<String> saveOrUpdateScene(@RequestBody SyScene syScene) {
Response<String> responseInfo = new Response<>();
try {
@ -92,6 +143,7 @@ public class SySceneController {
* @return
*/
@DeleteMapping(value = "/deleteScene/{ids}")
@ApiOperation("根据id删除场景实体对象")
public Response<String> deleteScene(@PathVariable(value = "ids") String deleteIds) {
Response<String> responseInfo = new Response<>();
String ids[] = null;
@ -135,6 +187,7 @@ public class SySceneController {
* @throws Exception
*/
@GetMapping(value = "/findSceneById/{id}")
@ApiOperation("根据id查询场景实体对象")
public Response<SyScene> findSceneById(@PathVariable(value = "id") String id) throws Exception {
Response<SyScene> responseInfo = new Response<>();
try {
@ -157,4 +210,195 @@ public class SySceneController {
}
return responseInfo;
}
/**
* 根据场景id获取关联的图层信息
*
* @param sceneId 场景id
* @return
* @throws Exception
*/
@GetMapping(value = "/getLayerTree/{sceneId}")
@ApiOperation("根据场景id获取关联的图层信息")
public Response getLayerTree(@PathVariable(value = "sceneId") String sceneId) throws Exception {
try {
// 查询场景关联的图层目录信息
List<SySceneDirRelation> sceneDirRelations = sySceneDirRelationMapper.selectByMap(new HashMap<String, Object>() {{
put("scene_id", sceneId);
put("is_valid", "1");
}});
if (sceneDirRelations != null && sceneDirRelations.size() > 0) {
// 根据图层目录查询关联的图层目录id
List<String> dirIds = sceneDirRelations.stream().map(SySceneDirRelation::getDirId).collect(Collectors.toList());
//获取专题目录一级目录
List<SyDir> allDirs = syDirMapper.findSecondInDirList(dirIds);
if (allDirs == null || allDirs.size() == 0) {
throw new Exception("未找到关联的图层目录信息");
}
List tree = new ArrayList();
Iterator<SyDir> it = allDirs.iterator();
while (it.hasNext()) {
List<Map> list = getProjectLayerData(it.next());
if (list != null && list.size() > 0) {
tree.add(list.get(0));
}
}
List<SyLayer> rootLayers = syLayerMapper.getAllByDirId("");
Map rootItem = new HashMap();
rootItem.put("id", "root");
rootItem.put("text", "全部");
rootItem.put("iconCls", "icon-folder");
rootItem.put("pid", "");
rootItem.put("dirOrder", 1);
rootItem.put("info", "");
if (allDirs == null || allDirs.size() == 0) {
rootItem.put("children", new ArrayList<>());
} else {
rootItem.put("children", tree);
}
if (rootLayers.size() > 0) {
//去掉不包含"root"的
List<SyLayer> newRootLayers = rootLayers.stream()
.filter(syLayer -> syLayer.getDirId().contains("root"))
.collect(Collectors.toList());
rootItem.put("layers", newRootLayers);
}
return new Response() {{
setCode("200");
setData(rootItem);
}};
} else {
throw new Exception("未找到关联的图层信息");
}
} catch (Exception e) {
e.printStackTrace();
return new Response() {{
setCode("500");
setMsg(e.getMessage());
}};
}
}
private List<Map> getProjectLayerData(SyDir topSyLayerDir) {
Set<String> dirSeqSet = syDirMapper.selectDirSeq();
Set<String> dirIdSet = new HashSet<>();
dirIdSet.add(topSyLayerDir.getId());
for (String dirSeq : dirSeqSet) {
String[] dirSeqs = dirSeq.split(",");
if (dirSeqs.length > 1 && dirSeqs[dirSeqs.length - 2].equals(topSyLayerDir.getId())) {
Arrays.stream(dirSeqs).forEach(key -> {
if (!"root".equals(key)) {
dirIdSet.add(key);
}
});
}
}
List<SyDir> dirList = new ArrayList<>();
if (dirIdSet.size() > 0) {
dirList = syDirMapper.findByIds(dirIdSet.toArray(new String[dirIdSet.size()]));
}
if (dirList == null || dirList.size() == 0) {
return new ArrayList<>();
}
List<SyLayer> syLayerList = syLayerMapper.findListByDirSeq(topSyLayerDir.getId());
//key:图层id,value:图层信息
Map<String, LayerForm> layerFormMap = new HashMap<>();
Map<String, SyLayer> syLayerMap = new HashMap<>();
//Map<String, SyLayer> syLayerMap = syLayerList.stream().collect(Collectors.toMap(x -> x.getId(), x -> x));
syLayerList.stream().forEach(vo -> {
LayerForm layerForm = null;
try {
layerForm = LayerForm.createInstance(vo);
} catch (Exception e) {
e.printStackTrace();
}
layerForm.setUrl(layerForm.getUrl());
layerForm.setType("");
layerForm.setIsProxy(layerForm.getIsProxy());
layerForm.setProxyUrl(layerForm.getProxyUrl());
layerForm.setVisibleMinZoom("");
layerForm.setVisibleMaxZoom("");
layerForm.setDataSourceId("");
layerForm.setPkColumn("");
layerForm.setGeometryColumn("");
layerForm.setIsVector("");
layerForm.setBaseColor("");
layerForm.setSpecular("");
layerForm.setIsSelfPoPup("");
layerForm.setSelfPoPupContent("");
layerForm.setStyleManagerId("");
layerForm.setSiteId("");
layerForm.setSiteName("");
layerForm.setServerCluster("");
layerForm.setRelationStyleId(vo.getRelationStyleId());
layerForm.setRelationStyleName(vo.getRelationStyleName());
layerForm.setRelationServiceId(vo.getRelationServiceId());
layerForm.setRelationServiceName(vo.getRelationServiceName());
layerFormMap.put(layerForm.getId(), layerForm);
syLayerMap.put(vo.getId(), vo);
});
List<SyDirLayer> syLayerDirRelationList = syDirLayerMapper.findByDirSeq(topSyLayerDir.getId());
Map<String, List<SyDirLayer>> syLayerDirDataMap = syLayerDirRelationList.stream().collect(Collectors.groupingBy(SyDirLayer::getDirId));
List<Map> list = dirList.stream().map(x -> {
Map item = getDirTreeMap(null, x, null);
List<SyDirLayer> dirLayerList = syLayerDirDataMap.get(x.getId());
if (dirLayerList != null && dirLayerList.size() > 0) {
List layers = new ArrayList<>();
dirLayerList.stream().forEach(xd -> {
try {
LayerForm layerForm = layerFormMap.get(xd.getLayerId());
if (layerForm != null) {
layers.add(layerForm);
}
} catch (Exception e) {
e.printStackTrace();
}
});
item.put("layers", layers);
}
return item;
}).collect(Collectors.toList());
Map<String, Map> idMap = list.stream().collect(Collectors.toMap(x -> MapUtils.getString(x, "id"), Function.identity()));
Iterator<Map> it = list.iterator();
while (it.hasNext()) {
Map item = it.next();
String pid = MapUtils.getString(item, "pid");
if (!"root".equals(pid)) {
Map parent = idMap.get(pid);
if (parent != null) {
List childrens = null;
if (!parent.containsKey("children")) {
childrens = new ArrayList<>();
parent.put("children", new ArrayList<>());
} else {
childrens = (List) parent.get("children");
}
childrens.add(item);
parent.put("children", childrens);
}
it.remove();
}
}
return list;
}
private Map getDirTreeMap(Map item, SyDir syLayerDir, String iconCls) {
if (item == null) {
item = new HashMap();
}
if (org.apache.commons.lang3.StringUtils.isBlank(iconCls)) {
iconCls = "icon-folder";
}
item.put("id", syLayerDir.getId());
item.put("text", syLayerDir.getName());
item.put("iconCls", iconCls);
item.put("pid", syLayerDir.getParentId());
item.put("dirOrder", syLayerDir.getOrderNm());
item.put("info", "");
return item;
}
}

73
shuili-system/src/main/java/com/kms/yg/znjg/controller/SySceneDirRelationController.java

@ -0,0 +1,73 @@
package com.kms.yg.znjg.controller;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.kms.yg.znjg.domain.SySceneDirRelation;
import com.kms.yg.znjg.mapper.SySceneDirRelationMapper;
import com.kms.yg.znjg.service.SySceneDirRelationService;
import com.kms.yxgh.base.Response;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
/**
* 场景目录关联管理
*/
@RestController
@RequestMapping("/map/scene/dir")
@Api(tags = "场景目录关联管理")
public class SySceneDirRelationController {
@Autowired
private SySceneDirRelationService sySceneDirRelationService;
@Autowired
private SySceneDirRelationMapper sySceneDirRelationMapper;
/**
* 保存场景与地图目录的关联关系
*
* @param sceneId 场景id
* @param dirIds 地图目录id集合以逗号分隔
* @return
* @throws Exception
*/
@PostMapping(value = "/saveSceneDirRelation")
@ApiOperation(value = "保存场景与地图目录的关联关系")
public Response saveSceneDirRelation(String sceneId, String dirIds) throws Exception {
Response responseInfo = new Response();
try {
List<String> dirIdList = Arrays.asList(dirIds.split(",", -1));
if (StringUtils.isNotEmpty(sceneId) && dirIds != null && dirIdList.size() > 0) {
//删除之前的关联关系
UpdateWrapper<SySceneDirRelation> sySceneDirRelationUpdateWrapper = new UpdateWrapper<>();
sySceneDirRelationUpdateWrapper.eq("scene_id", sceneId).set("is_valid", 0);
sySceneDirRelationMapper.update(null, sySceneDirRelationUpdateWrapper);
//保存新的关联关系
for (String dirId : dirIdList) {
SySceneDirRelation sySceneDirRelation = new SySceneDirRelation();
sySceneDirRelation.setDirId(dirId);
sySceneDirRelation.setSceneId(sceneId);
sySceneDirRelation.setRelateDate(new Date());
sySceneDirRelation.setIsValid(1);
sySceneDirRelationMapper.insert(sySceneDirRelation);
}
responseInfo.setCode("200");
responseInfo.setData("保存成功");
} else {
throw new Exception("保存失败,提交的参数异常!");
}
} catch (Exception e) {
e.printStackTrace();
responseInfo.setCode("500");
responseInfo.setMsg(e.getMessage());
}
return responseInfo;
}
}

5
shuili-system/src/main/java/com/kms/yg/znjg/domain/SyDir.java

@ -64,6 +64,11 @@ public class SyDir implements Serializable {
*/
private String directoryDescription;
/**
* 数据是否有效用来标识逻辑删除1可用0已被逻辑删除
*/
private Integer isValid;
@TableField(exist = false)
private static final long serialVersionUID = 1L;
}

2
shuili-system/src/main/java/com/kms/yg/znjg/mapper/SyDirLayerMapper.java

@ -48,6 +48,8 @@ public interface SyDirLayerMapper extends BaseMapper<SyDirLayer> {
void deleteBatchByIds(@Param("syDirLayers") List<SyDirLayer> syDirLayers);
void delete(@Param("ids") String[] ids);
List<SyDirLayer> findByDirSeq(String id);
}

2
shuili-system/src/main/java/com/kms/yg/znjg/mapper/SyDirMapper.java

@ -32,6 +32,8 @@ public interface SyDirMapper extends BaseMapper<SyDir> {
List<SyDirVo> findSecond();
List<SyDir> findSecondInDirList(@Param("dirList") List dirList);
Set<String> selectDirSeq();
List<SyDir> findByIds(@Param("ids") String[] ids);

4
shuili-system/src/main/java/com/kms/yg/znjg/mapper/SyLayerMapper.java

@ -28,5 +28,9 @@ public interface SyLayerMapper extends BaseMapper<SyLayer> {
void delete(@Param("ids") String[] ids);
Page<SyLayer> findSyLayerList(@Param("page") Page<SyLayer> page, @Param("syLayer") SyLayer syLayer, @Param("orderBy") String orderBy, @Param("sortBy") String sortBy);
List<SyLayer> findListByDirSeq(@Param("dirSeqLike") String dirSeqLike);
List<SyLayer> getAllByDirId(@Param("dirId") String dirId);
}

3
shuili-system/src/main/java/com/kms/yg/znjg/mapper/SySceneMapper.java

@ -3,6 +3,7 @@ package com.kms.yg.znjg.mapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.kms.yg.znjg.domain.SyScene;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.kms.yg.znjg.vo.SySceneVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
@ -16,7 +17,7 @@ import org.springframework.stereotype.Repository;
@Repository
@Mapper
public interface SySceneMapper extends BaseMapper<SyScene> {
Page<SyScene> findSceneList(@Param("page") Page<SyScene> pageQuery, @Param("syScene") SyScene sySceneInfo, @Param("orderBy") String orderBy, @Param("sortBy") String sortBy);
Page<SySceneVo> findSceneList(@Param("page") Page<SySceneVo> pageQuery, @Param("syScene") SyScene sySceneInfo, @Param("orderBy") String orderBy, @Param("sortBy") String sortBy);
}

3
shuili-system/src/main/java/com/kms/yg/znjg/service/SySceneService.java

@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.kms.yg.znjg.domain.SyScene;
import com.kms.yg.znjg.mapper.SySceneMapper;
import com.kms.yg.znjg.vo.SySceneVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -29,7 +30,7 @@ public class SySceneService extends ServiceImpl<SySceneMapper, SyScene> implemen
* @param params 其他查询参数如排序信息
* @return
*/
public IPage<SyScene> sceneList(Page<SyScene> pageQuery, SyScene sySceneInfo, Map<String, Object> params) {
public IPage<SySceneVo> sceneList(Page<SySceneVo> pageQuery, SyScene sySceneInfo, Map<String, Object> params) {
String orderBy = "";
String sortBy = "";
if (params != null) {

210
shuili-system/src/main/java/com/kms/yg/znjg/vo/LayerForm.java

@ -0,0 +1,210 @@
package com.kms.yg.znjg.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.kms.yg.znjg.domain.SyLayer;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.*;
@Data
public class LayerForm implements Serializable, Comparable<LayerForm> {
public static LayerForm createInstance(SyLayer syLayer) throws Exception {
if (syLayer == null) {
return null;
}
LayerForm layerForm = new LayerForm();
layerForm.setId(syLayer.getId() == null ? "" : syLayer.getId());
layerForm.setText(syLayer.getServiceName() == null ? "" : syLayer.getServiceName());
layerForm.setUrl(syLayer.getServiceUrl() == null ? "" : syLayer.getServiceUrl());
// layerForm.setModelInitPosition(syLayer.getModelInitPosition() == null ? "" : syLayer.getModelInitPosition());
// layerForm.setIsProxy(syLayer.getServiceUseCustomProxy());
// if (syLayer.getServiceUseCustomProxy()) {
// // /proxy为内部代理
// layerForm.setProxyUrl("/proxy/");
// } else {
// layerForm.setProxyUrl("");
// }
layerForm.setAnnotationUrl(syLayer.getAnnotationUrl() == null ? "" : syLayer.getAnnotationUrl());
layerForm.setServiceToken(syLayer.getServiceToken() == null ? "" : syLayer.getServiceToken());
layerForm.setLayerType(syLayer.getServiceType() == null ? "" : syLayer.getServiceType());
layerForm.setIsLayerGroup(syLayer.getIsLayerGroup());
// layerForm.setMapBoxStyleId(syLayer.getMapBoxStyleId() == null ? "" : syLayer.getMapBoxStyleId());
layerForm.setFeatureType(syLayer.getLayer3dType() == null ? "" : syLayer.getLayer3dType());
// layerForm.setBuildingId(syLayer.getBuildingId() == null ? "" : syLayer.getBuildingId());
//layerForm.setType(syLayer.getLayerTypeCn() == null ? "" : syLayer.getLayerTypeCn());
layerForm.setLayerTable(syLayer.getServiceIndex() == null ? "" : syLayer.getServiceIndex());
layerForm.setAnnotationLayerTable(syLayer.getAnnotationServiceIndex() == null ? "" : syLayer.getAnnotationServiceIndex());
// layerForm.setParamId(syLayer.getTileParamId() == null ? "" : syLayer.getTileParamId());
layerForm.setData(syLayer.getData() == null ? "" : syLayer.getData());
layerForm.setTileSetOption(syLayer.getTileSetOption() == null ? "" : syLayer.getTileSetOption());
layerForm.setNameCn(syLayer.getServiceNameAlias() == null ? "" : syLayer.getServiceNameAlias());
// if ("030100".equalsIgnoreCase(syLayer.getServiceType()) || "014000".equalsIgnoreCase(syLayer.getServiceType()) || "050100".equalsIgnoreCase(syLayer.getServiceType()) || "040100".equalsIgnoreCase(syLayer.getServiceType()) || "070100".equalsIgnoreCase(syLayer.getServiceType()) || "080100".equalsIgnoreCase(syLayer.getServiceType()) || "090100".equalsIgnoreCase(syLayer.getServiceType())) {
// layerForm.setPicture(syLayer.getPicture() == null ? "" : syLayer.getPicture());
// layerForm.setFormat(syLayer.getFormat() == null ? "" : syLayer.getFormat());
// layerForm.setTileMatrixSet(syLayer.getTileMatrixSet() == null ? "" : syLayer.getTileMatrixSet());
// }
//layerForm.setVisibleMaxZoom(syLayer.getVisibleMaxZoom() == null ? "" : syLayer.getVisibleMaxZoom());
//layerForm.setVisibleMinZoom(syLayer.getVisibleMinZoom() == null ? "" : syLayer.getVisibleMinZoom());
//layerForm.setIsVector(syLayer.getIsVector() == null ? "" : syLayer.getIsVector());
//layerForm.setDataSourceId(syLayer.getDataSourceId() == null ? "" : syLayer.getDataSourceId());
//layerForm.setPkColumn(syLayer.getPkColumn() == null ? "" : syLayer.getPkColumn());
//layerForm.setgeometryColumn(syLayer.getGeometryColumn() == null ? "" : syLayer.getGeometryColumn());
// layerForm.setIsLegend(syLayer.getIsLegend() == null ? "" : syLayer.getIsLegend());
//layerForm.setUseToken(syLayer.getUseToken() == null ? "" : syLayer.getUseToken());
//layerForm.setTokenUser(syLayer.getTokenUser() == null ? "" : syLayer.getTokenUser());
//layerForm.setTokenPassword(syLayer.getTokenPassword() == null ? "" : syLayer.getTokenPassword());
//layerForm.setTokenType(syLayer.getTokenType() == null ? "" : syLayer.getTokenType());
//layerForm.setTokenValue(syLayer.getTokenValue() == null ? "" : syLayer.getTokenValue());
//layerForm.setFileName(syLayer.getFileName() == null ? "" : syLayer.getFileName());
//layerForm.setIsTsdata(syLayer.getIsTsdata() == null ? "0" : syLayer.getIsTsdata());
//layerForm.setTsdataYear(syLayer.getTsdataYear() == null ? "" : syLayer.getTsdataYear());
//layerForm.setTsdataDefaultShow(syLayer.getTsdataDefaultShow() == null ? "0" : syLayer.getTsdataDefaultShow());
//layerForm.setTsdataName(syLayer.getTsdataName() == null ? "0" : syLayer.getTsdataName());
//layerForm.setTsdataVersion(syLayer.getTsdataVersion() == null ? "1" : syLayer.getTsdataVersion());
//if (syLayer.getLayerAttachements() != null && syLayer.getLayerAttachements().size() > 0) {
// layerForm.setLayerAttachements(syLayer.getLayerAttachements());
//}
//if (syLayer.getBzMsg() != null) {
// layerForm.setRcLayerBzMsg(syLayer.getBzMsg());
//}
//layerForm.setBscAttTreeFormList(syLayer.getBscAttTreeFormList());
//layerForm.setHasBzMsgInfo(syLayer.getHasBzMsgInfo());
//layerForm.setIllustration(syLayer.getIllustration());
//layerForm.setDataSource(syLayer.getDataSource());
layerForm.setPubDate(syLayer.getPubDate());
//layerForm.setCollectDate(syLayer.getCollectDate());
// layerForm.setFields(syLayer.getFields());
return layerForm;
}
private String id; //编号
private String text; //名称
private String url; //访问路径
private String modelInitPosition; //模型初始位置姿态
private Boolean serviceUseCustomProxy; //是否使用自定义代理
private String annotationUrl; //底图注记url
private String serviceToken; //底图服务token
private String layerType; //图层类型
private Boolean isLayerGroup; //是否为图层组
private String mapBoxStyleId; //mapBox样式id
private String featureType; //要素类型
private String buildingId; //建筑id
private String type; //图层类型中文名
private String layerTable; //图层表名
private String annotationLayerTable;//注记图层表名
private String isBaseMap; //是否为底图
private String paramId; //地图参数id
private Map state; //存放UserLayer中的配置信息
private String data;
private String tileSetOption; //3D tiles性能调试参数
private String extent; //图层范围
private String nameCn;
private int order; //排序
private String uuid; //这个uuid是启用代理时需要设置的
private String picture; //缩略图
private String format; //请求格式
private String tileMatrixSet; //矩阵集
private Boolean isProxy;
private String proxyUrl;
private String epsg; //坐标系epsg值
private String baseColor;
private String specular;
private String isSelfPoPup;
private String selfPoPupContent;
private String styleManagerId;
private String siteId;
private String siteName;
private String serverCluster;
private String visibleMinZoom; //图层可见最小缩放等级
private String visibleMaxZoom; //图层可见最大缩放等级
//关联信息
private String userId; //当前目录图层(dirLayerId)与用户的关联关系id
private String dirLayerId; //当前图层是哪个目录下的图层的关联关系id
// private SyTileParam mapParam; //地图参数
//矢量图层新增字段
private String dataSourceId; //数据源ID
private String pkColumn; //矢量图层表主键
private String geometryColumn; //矢量图层空间字段
private String isVector; //是否是矢量
private String isLegend; //是否显示图例
private String useToken; //是否启用ArcGIS Sever Token验证
private String tokenType; //token设置类型(1: token值设置,0:站点用户密码设置
private String tokenUser; //站点用户名
private String tokenPassword; //站点用户密码
private String tokenValue; //token值
private String fileName; //文件图层文件名称
/**
* 说明
*/
private String illustration;
/**
* 数据来源
*/
private String dataSource;
/**
* 发布时间
*/
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date pubDate;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
public Date collectDate;
public List<LayerForm> tsDataList = Collections.emptyList();
/**
* 字段配置信息
*/
// @TableField(exist = false)
// private List<SyLayerField> fields = new ArrayList<>();
@Override
public int compareTo(LayerForm layerForm) {
//重写Comparable接口的compareTo方法
return this.order - layerForm.order;// 根据年龄升序排列,降序修改相减顺序即可
}
/**
* 关联服务id
*/
private String relationServiceId;
/**
* 关联服务名称
*/
private String relationServiceName;
/**
* 关联图层样式id
*/
private String relationStyleId;
/**
* 关联图层样式名称
*/
private String relationStyleName;
/**
* 关联服务Url
*/
private String relationServiceUrl;
/**
* 关联服务索引
*/
private String relationServiceIndex;
}

12
shuili-system/src/main/java/com/kms/yg/znjg/vo/SySceneVo.java

@ -0,0 +1,12 @@
package com.kms.yg.znjg.vo;
import com.kms.yg.znjg.domain.SyScene;
import lombok.Data;
@Data
public class SySceneVo extends SyScene {
/**
* 场景关联的图层目录数量
*/
private Integer relationDirCount;
}

20
shuili-system/src/main/resources/mapper/yg/znjg/SyDirLayerMapper.xml

@ -32,6 +32,26 @@
WHERE is_valid = 1
</select>
<select id="findByDirSeq" resultMap="BaseResultMap">
SELECT
a.id id,
a.dir_id dir_id,
a.layer_id layer_id,
a.order_nm order_nm
FROM
bs_sgc_qqjd_dir_layer a,
bs_sgc_qqjd_dir dd
WHERE
a.is_valid=1
AND
dd.is_valid=1
AND
dd.id = a.dir_id
AND dd.dir_seq LIKE CONCAT(CONCAT('%', TRIM(#{dirSeqLike})), '%')
ORDER BY
a.order_nm
</select>
<insert id="save">
INSERT INTO bs_sgc_qqjd_dir_layer (id, dir_id, layer_id, order_nm, is_valid)
VALUES (#{id}, #{dirId}, #{layerId}, #{orderNm}, 1)

22
shuili-system/src/main/resources/mapper/yg/znjg/SyDirMapper.xml

@ -17,7 +17,9 @@
</resultMap>
<sql id="Base_Column_List">
y.id
y
.
id
,y.name,y.parent_id,
y.xpath,y.dir_seq,y.order_nm,y.pub_date,
y.create_user,y.directory_description
@ -172,4 +174,22 @@
ORDER BY order_nm
</select>
<select id="findSecondInDirList" resultType="com.kms.yg.znjg.domain.SyDir">
SELECT
<include refid="Base_Column_List"/>
FROM
bs_sgc_qqjd_dir y
WHERE y.is_valid = 1
and
y.PARENT_ID
IN ("root")
and
y.id
IN
<foreach collection="dirList" item="item" separator="," open="(" close=")">
#{item}
</foreach>
ORDER BY y.order_nm
</select>
</mapper>

39
shuili-system/src/main/resources/mapper/yg/znjg/SyLayerMapper.xml

@ -249,4 +249,43 @@
</if>
a.id
</select>
<select id="findListByDirSeq" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
from bs_sgc_qqjd_layer a
<if test="dirSeqLike != null">
left join (
select
sylayer.layer_id,
count(sylayer.dir_id) num
from
bs_sgc_qqjd_dir_layer sylayer,
bs_sgc_qqjd_dir sydir
where
sylayer.is_valid=1
and
sydir.is_valid=1
and
sylayer.dir_id = sydir.id
and sydir.dir_seq like concat(concat('%', trim(#{dirSeqLike})), '%')
</if>
group by sylayer.layer_id
) layerdircounttbl
on layerdircounttbl.layer_id = a.id
where a.is_valid = 1
<if test="dirSeqLike != null">
and layerdircounttbl.num > 0
</if>
</select>
<select id="getAllByDirId" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
from bs_sgc_qqjd_layer
where is_valid=1
<if test="dirId != null and dirId != ''">
AND dir_id = #{dirId,jdbcType=VARCHAR}
</if>
</select>
</mapper>

13
shuili-system/src/main/resources/mapper/yg/znjg/SySceneMapper.xml

@ -13,14 +13,15 @@
</resultMap>
<sql id="Base_Column_List">
id
,name,pub_date,
create_user,interface_address
y.id
,y.name,y.pub_date,
y.create_user,y.interface_address
</sql>
<select id="findSceneList" resultType="com.kms.yg.znjg.domain.SyScene">
<select id="findSceneList" resultType="com.kms.yg.znjg.vo.SySceneVo">
SELECT
<include refid="Base_Column_List"/>
FROM bs_sgc_qqjd_scene
<include refid="Base_Column_List"/>,
(SELECT COUNT(1) FROM bs_sgc_qqjd_scene_dir_relation x WHERE IS_VALID=1 and x.SCENE_ID=y.ID ) AS relationDirCount
FROM bs_sgc_qqjd_scene y
WHERE
1 = 1
AND IS_VALID = 1

Loading…
Cancel
Save