Commit b4d451b1 authored by luben's avatar luben

fix

parent 059a0e9d
...@@ -542,6 +542,10 @@ public class RegionController extends BaseController { ...@@ -542,6 +542,10 @@ public class RegionController extends BaseController {
@RequestMapping(value = "/getWsTreeNode", method = RequestMethod.GET) @RequestMapping(value = "/getWsTreeNode", method = RequestMethod.GET)
@ResponseBody @ResponseBody
public AjaxResult getWsTreeNode(@RequestParam("wgType") String wgType, String isShow, @RequestParam(value = "isAll", required = false) String isAll) { public AjaxResult getWsTreeNode(@RequestParam("wgType") String wgType, String isShow, @RequestParam(value = "isAll", required = false) String isAll) {
if(wgType.equals("0")){
return AjaxResult.success(gridRegionFacadeService.getWsTreeNodeIncludeTwoPointFive(null,null,null));
}
SysUser sysUser = getLoginUser().getUser(); SysUser sysUser = getLoginUser().getUser();
List<String> wgCodeList = new ArrayList<>(); List<String> wgCodeList = new ArrayList<>();
if(StringUtils.isBlank(isAll) && wgType.equals("1")){ if(StringUtils.isBlank(isAll) && wgType.equals("1")){
......
...@@ -49,4 +49,8 @@ public interface GridRegionMapper { ...@@ -49,4 +49,8 @@ public interface GridRegionMapper {
List<GridRegion> getSecondOrThirdRegion(@Param("wgType")String wgType, @Param("wgCodeLikes")List<String> wgCodeLikes, @Param("name")String name, @Param("level")String level); List<GridRegion> getSecondOrThirdRegion(@Param("wgType")String wgType, @Param("wgCodeLikes")List<String> wgCodeLikes, @Param("name")String name, @Param("level")String level);
String getWgTypeByWgCode(@Param("wgCode")String wgCode); String getWgTypeByWgCode(@Param("wgCode")String wgCode);
List<GridRegion> getRegionByTypeAndCode(@Param("wgType")String wgType, @Param("wgCodeLikes")List<String> wgCodeLikes, @Param("level")String level);
List<GridRegion> getAllLevelThreeByType(@Param("type") String type,@Param("code") String code);
} }
\ No newline at end of file
...@@ -1135,4 +1135,108 @@ public class GridRegionFacadeService { ...@@ -1135,4 +1135,108 @@ public class GridRegionFacadeService {
} }
return gridRegionList; return gridRegionList;
} }
public List<GridTreeNode> getWsTreeNodeIncludeTwoPointFive(String wgType, List<String> wgList, String isShow) {
//获取一级树
List<GridRegion> gridRegionList = gridRegionMapper.getRegionByTypeAndCode("1",new ArrayList<>(),"1");
List<GridTreeNode> res = new ArrayList<>();
GridTreeNode firstNode = new GridTreeNode();
firstNode.setLevel("1");
firstNode.setCode(gridRegionList.get(0).getWgCode());
firstNode.setName(gridRegionList.get(0).getWgName());
firstNode.setId(gridRegionList.get(0).getId());
firstNode.setChild(new ArrayList<>());
firstNode.setParentId("");
firstNode.setWgArea(gridRegionList.get(0).getWgArea());
firstNode.setWgCoordinate(gridRegionList.get(0).getWgCoordinate());
firstNode.setWgCentreCoordinate(gridRegionList.get(0).getWgCentreCoordinate());
res.add(firstNode);
//获取二级树
List<GridTreeNode> nowNodes = new ArrayList<>();
String firstNodeCode = gridRegionList.get(0).getWgCode();
List<String> wgCodeLike = new ArrayList<>();
wgCodeLike.add(firstNodeCode);
gridRegionList = gridRegionMapper.getRegionByTypeAndCode("1",wgCodeLike,"2");
for(GridRegion gridRegion : gridRegionList){
GridTreeNode treeNode = convertNodeToTree(gridRegion);
nowNodes.add(treeNode);
}
firstNode.setChild(nowNodes);
//获取2.5级树
List<GridTreeNode> secondTree = firstNode.getChild();
for(GridTreeNode gridTreeNode : secondTree){
List<GridTreeNode> secondFiveTree = new ArrayList<>();
GridTreeNode secondFiveTreeNode1 = new GridTreeNode();
secondFiveTreeNode1.setId(UUID.randomUUID().toString());
secondFiveTreeNode1.setName("楼宇");
secondFiveTreeNode1.setChild(new ArrayList<>());
GridTreeNode secondFiveTreeNode4 = new GridTreeNode();
secondFiveTreeNode4.setId(UUID.randomUUID().toString());
secondFiveTreeNode4.setName("道路");
secondFiveTreeNode4.setChild(new ArrayList<>());
GridTreeNode secondFiveTreeNode5 = new GridTreeNode();
secondFiveTreeNode5.setId(UUID.randomUUID().toString());
secondFiveTreeNode5.setName("街区");
secondFiveTreeNode5.setChild(new ArrayList<>());
GridTreeNode secondFiveTreeNode6 = new GridTreeNode();
secondFiveTreeNode6.setId(UUID.randomUUID().toString());
secondFiveTreeNode6.setName("综合体");
secondFiveTreeNode6.setChild(new ArrayList<>());
GridTreeNode secondFiveTreeNode7 = new GridTreeNode();
secondFiveTreeNode7.setId(UUID.randomUUID().toString());
secondFiveTreeNode7.setName("市场");
secondFiveTreeNode7.setChild(new ArrayList<>());
secondFiveTree.add(secondFiveTreeNode1);
secondFiveTree.add(secondFiveTreeNode4);
secondFiveTree.add(secondFiveTreeNode5);
secondFiveTree.add(secondFiveTreeNode6);
secondFiveTree.add(secondFiveTreeNode7);
for(GridTreeNode gridTreeNode1 : secondFiveTree){
gridTreeNode1.setCode(gridTreeNode.getCode());
String type = null;
if(gridTreeNode1.getName().equals("楼宇")){
type = "1";
}else if(gridTreeNode1.getName().equals("道路")){
type = "4";
}else if(gridTreeNode1.getName().equals("街区")){
type = "5";
}else if(gridTreeNode1.getName().equals("综合体")){
type = "6";
}else{
type = "7";
}
List<GridRegion> threeLevelNode = gridRegionMapper.getAllLevelThreeByType(type,gridTreeNode1.getCode());
System.out.println(type+" "+gridTreeNode.getCode());
List<GridTreeNode> threeNodes = new ArrayList<>();
if(type.equals("1")){
System.out.println();
}
for(GridRegion gridRegion : threeLevelNode){
GridTreeNode treeNode = convertNodeToTree(gridRegion);
threeNodes.add(treeNode);
}
gridTreeNode1.setChild(threeNodes);
}
gridTreeNode.setChild(secondFiveTree);
}
return res;
}
private GridTreeNode convertNodeToTree(GridRegion gridRegion){
GridTreeNode firstNode = new GridTreeNode();
// firstNode.setLevel("1");
firstNode.setCode(gridRegion.getWgCode());
firstNode.setName(gridRegion.getWgName());
firstNode.setId(gridRegion.getId());
firstNode.setChild(new ArrayList<>());
firstNode.setParentId("");
firstNode.setWgArea(gridRegion.getWgArea());
firstNode.setWgCoordinate(gridRegion.getWgCoordinate());
firstNode.setWgCentreCoordinate(gridRegion.getWgCentreCoordinate());
return firstNode;
}
} }
...@@ -642,4 +642,35 @@ ...@@ -642,4 +642,35 @@
select wg_type from grid_region select wg_type from grid_region
where wg_code = #{wgCode} where wg_code = #{wgCode}
</select> </select>
<select id="getRegionByTypeAndCode" resultType="com.ruoyi.system.domain.grid.GridRegion">
select
<include refid="Base_Column_List" />
from grid_region where is_valid = '1'
<if test="wgCodeLikes != null and wgCodeLikes.size() > 0">
and (
<foreach collection="wgCodeLikes" item="wgCode" open="(" close=")" separator="or">
wg_code like CONCAT(#{wgCode}, '%')
</foreach>
)
</if>
<if test="wgCodeLikes != null and wgCodeLikes.size() > 0">
and (
<foreach collection="wgCodeLikes" item="wgCode" open="(" close=")" separator="and">
wg_code != #{wgCode}
</foreach>
)
</if>
<if test="wgType != null and wgType != ''">
and wg_type = #{wgType}
</if>
and level = #{level}
</select>
<select id="getAllLevelThreeByType" resultType="com.ruoyi.system.domain.grid.GridRegion">
select
<include refid="Base_Column_List" />
from grid_region where is_valid = '1'
and level = 3 and wg_type = #{type}
and wg_code like CONCAT(#{code}, '%')
and wg_code != #{code}
</select>
</mapper> </mapper>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment