Browse Source

gis获取

feature/dangjian
zhangyuan 3 years ago
parent
commit
cbe2b11c93
  1. 5
      esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/GisDTO.java
  2. 56
      esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/GisFormDTO.java
  3. 91
      esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/GisGridDTO.java
  4. 57
      esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/GisGridFormDTO.java
  5. 56
      esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/GisGridResultDTO.java
  6. 13
      esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/SysDeptDTO.java
  7. 23
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/SysDeptController.java
  8. 14
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/dao/GisDao.java
  9. 43
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/dao/GisGridDao.java
  10. 5
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/entity/GisEntity.java
  11. 56
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/entity/GisGridEntity.java
  12. 47
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/redis/GisGridRedis.java
  13. 126
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/GisGridService.java
  14. 12
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/GisService.java
  15. 44
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/SysDeptService.java
  16. 145
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/GisGridServiceImpl.java
  17. 13
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/GisServiceImpl.java
  18. 70
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysDeptServiceImpl.java
  19. 23
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/utils/ArcGISUtil.java
  20. 8
      esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/mapper/GisDao.xml
  21. 30
      esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/mapper/GisGridDao.xml
  22. 1
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiAdminController.java
  23. 6
      renren-cloud-generator/src/main/resources/application.yml

5
esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/GisDTO.java

@ -39,6 +39,11 @@ public class GisDTO implements Serializable {
*/
private String id;
/**
* 网格编码
*/
private String gridId;
/**
* 网格名称
*/

56
esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/GisFormDTO.java

@ -0,0 +1,56 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.dto;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 北上诉办GIS坐标系统
*
* @author zhy qu@elink-cn.com
* @since v1.0.0 2022-09-04
*/
@Data
public class GisFormDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 网格编码
*/
private String gridId;
/**
* 网格名称
*/
private String gridName;
/**
* 经度
*/
private String longitude;
/**
* 纬度
*/
private String latitude;
}

91
esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/GisGridDTO.java

@ -0,0 +1,91 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.dto;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**
* gis地图网格与平台网格对应关系表
*
* @author zhy elink@elink-cn.com
* @since v1.0.0 2022-09-05
*/
@Data
public class GisGridDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* ID
*/
private String id;
/**
* 网格ID
*/
private Long gridId;
/**
* 网格名称
*/
private String gridName;
/**
* gis地图网格ID
*/
private String gisGridId;
/**
* gis地图网格名称
*/
private String gisGridName;
/**
* 逻辑删除标识
*/
private String delFlag;
/**
* 乐观锁
*/
private Integer revision;
/**
* 创建人
*/
private String createdBy;
/**
* 创建时间
*/
private Date createdTime;
/**
* 更新人
*/
private String updatedBy;
/**
* 更新时间
*/
private Date updatedTime;
}

57
esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/GisGridFormDTO.java

@ -0,0 +1,57 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.dto;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* gis地图网格与平台网格对应关系表
*
* @author zhy elink@elink-cn.com
* @since v1.0.0 2022-09-05
*/
@Data
public class GisGridFormDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 网格ID
*/
private Long gridId;
/**
* 网格名称
*/
private String gridName;
/**
* gis地图网格ID
*/
private String gisGridId;
/**
* gis地图网格名称
*/
private String gisGridName;
}

56
esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/GisGridResultDTO.java

@ -0,0 +1,56 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.dto;
import lombok.Data;
import java.io.Serializable;
/**
* gis地图网格与平台网格对应关系表
*
* @author zhy elink@elink-cn.com
* @since v1.0.0 2022-09-05
*/
@Data
public class GisGridResultDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 网格ID
*/
private Long gridId;
/**
* 网格名称
*/
private String gridName;
/**
* gis地图网格ID
*/
private String gisGridId;
/**
* gis地图网格名称
*/
private String gisGridName;
}

13
esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/SysDeptDTO.java

@ -67,6 +67,19 @@ public class SysDeptDTO extends TreeNode implements Serializable {
*/
private String partyCode;
/**
* 测绘院网格
*/
private String gisGridName;
public String getGisGridName() {
return gisGridName;
}
public void setGisGridName(String gisGridName) {
this.gisGridName = gisGridName;
}
@ApiModelProperty(value = "地址")
private String address;

23
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/SysDeptController.java

@ -28,6 +28,7 @@ import com.elink.esua.epdc.dto.epdc.form.UserSysDeptInfoFormDTO;
import com.elink.esua.epdc.dto.epdc.result.ExportKpiResultDTO;
import com.elink.esua.epdc.dto.epdc.result.UserSysDeptInfoResultDTO;
import com.elink.esua.epdc.entity.SysDeptEntity;
import com.elink.esua.epdc.service.GisService;
import com.elink.esua.epdc.service.SysDeptService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@ -52,6 +53,8 @@ import java.util.Map;
public class SysDeptController {
@Autowired
private SysDeptService sysDeptService;
@Autowired
private GisService gisService;
@Resource
private SysDeptDao sysDeptDao;
@ -439,7 +442,25 @@ public class SysDeptController {
*/
@GetMapping("gis/update")
public Result getCoordinate() {
sysDeptService.getCoordinate();
sysDeptService.getCoordinates(null);
return new Result();
}
@PostMapping("gis/getGrid")
public Result<GisGridDTO> getGrid(@RequestBody GisFormDTO formDTO) {
return new Result<GisGridDTO>().ok(sysDeptService.getCoordinate(formDTO));
}
/**
* 北上诉办gis坐标下拉
*
* @param dto
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List < com.elink.esua.epdc.dto.GisGridResultDTO>>
* @author zhy
* @date 2022/9/5 14:59
*/
@PostMapping("gis/options")
public Result<List<GisGridResultDTO>> getOptions(@RequestBody GisGridFormDTO dto) {
return new Result<List<GisGridResultDTO>>().ok(gisService.listGridOption(dto));
}
}

14
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/dao/GisDao.java

@ -18,9 +18,13 @@
package com.elink.esua.epdc.dao;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.dto.GisGridFormDTO;
import com.elink.esua.epdc.dto.GisGridResultDTO;
import com.elink.esua.epdc.entity.GisEntity;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* 北上诉办GIS坐标系统
*
@ -39,4 +43,14 @@ public interface GisDao extends BaseDao<GisEntity> {
* @date 2022/9/4 19:01
*/
void clearAll();
/**
* 获取GIS网格列表
*
* @param
* @return java.util.List<com.elink.esua.epdc.dto.GisGridResultDTO>
* @author zhy
* @date 2022/9/5 10:08
*/
List<GisGridResultDTO> listGridOption(GisGridFormDTO dto);
}

43
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/dao/GisGridDao.java

@ -0,0 +1,43 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.dao;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.dto.GisGridDTO;
import com.elink.esua.epdc.entity.GisGridEntity;
import org.apache.ibatis.annotations.Mapper;
/**
* gis地图网格与平台网格对应关系表
*
* @author zhy elink@elink-cn.com
* @since v1.0.0 2022-09-05
*/
@Mapper
public interface GisGridDao extends BaseDao<GisGridEntity> {
/**
* 删除历史记录
*
* @param dto
* @return
* @author zhy
* @date 2022/9/5 10:54
*/
void deleteByGridName(GisGridDTO dto);
}

5
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/entity/GisEntity.java

@ -39,6 +39,11 @@ public class GisEntity extends BaseEpdcEntity {
private static final long serialVersionUID = 1L;
/**
* 网格编码
*/
private String gridId;
/**
* 网格名称
*/

56
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/entity/GisGridEntity.java

@ -0,0 +1,56 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.elink.esua.epdc.commons.mybatis.entity.BaseEpdcEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* gis地图网格与平台网格对应关系表
*
* @author zhy elink@elink-cn.com
* @since v1.0.0 2022-09-05
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("epdc_gis_grid")
public class GisGridEntity extends BaseEpdcEntity {
private static final long serialVersionUID = 1L;
/**
* 网格ID
*/
private Long gridId;
/**
* 网格名称
*/
private String gridName;
/**
* gis地图网格名称
*/
private String gisGridName;
}

47
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/redis/GisGridRedis.java

@ -0,0 +1,47 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.redis;
import com.elink.esua.epdc.commons.tools.redis.RedisUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
* gis地图网格与平台网格对应关系表
*
* @author zhy elink@elink-cn.com
* @since v1.0.0 2022-09-05
*/
@Component
public class GisGridRedis {
@Autowired
private RedisUtils redisUtils;
public void delete(Object[] ids) {
}
public void set(){
}
public String get(String id){
return null;
}
}

126
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/GisGridService.java

@ -0,0 +1,126 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.service;
import com.elink.esua.epdc.commons.mybatis.service.BaseService;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.dto.GisGridDTO;
import com.elink.esua.epdc.dto.SysDeptDTO;
import com.elink.esua.epdc.entity.GisGridEntity;
import java.util.List;
import java.util.Map;
/**
* gis地图网格与平台网格对应关系表
*
* @author zhy elink@elink-cn.com
* @since v1.0.0 2022-09-05
*/
public interface GisGridService extends BaseService<GisGridEntity> {
/**
* 默认分页
*
* @param params
* @return PageData<GisGridDTO>
* @author generator
* @date 2022-09-05
*/
PageData<GisGridDTO> page(Map<String, Object> params);
/**
* 默认查询
*
* @param params
* @return java.util.List<GisGridDTO>
* @author generator
* @date 2022-09-05
*/
List<GisGridDTO> list(Map<String, Object> params);
/**
* 单条查询
*
* @param id
* @return GisGridDTO
* @author generator
* @date 2022-09-05
*/
GisGridDTO get(String id);
/**
* 单条查询
*
* @param gridName
* @return GisGridDTO
* @author generator
* @date 2022-09-05
*/
GisGridDTO getByGridName(String gridName);
/**
* 单条查询
*
* @param gisGridName
* @return GisGridDTO
* @author generator
* @date 2022-09-05
*/
GisGridDTO getByGisGridName(String gisGridName);
/**
* 默认保存
*
* @param dto
* @return void
* @author generator
* @date 2022-09-05
*/
void save(GisGridDTO dto);
/**
* 默认更新
*
* @param dto
* @return void
* @author generator
* @date 2022-09-05
*/
void update(GisGridDTO dto);
/**
* 批量删除
*
* @param ids
* @return void
* @author generator
* @date 2022-09-05
*/
void delete(String[] ids);
/**
* 系统网格与gis网格关系存储
*
* @param dto
* @return void
* @author zhy
* @date 2022/9/5 10:47
*/
void saveRelation(SysDeptDTO dto);
}

12
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/GisService.java

@ -20,6 +20,8 @@ package com.elink.esua.epdc.service;
import com.elink.esua.epdc.commons.mybatis.service.BaseService;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.dto.GisDTO;
import com.elink.esua.epdc.dto.GisGridFormDTO;
import com.elink.esua.epdc.dto.GisGridResultDTO;
import com.elink.esua.epdc.entity.GisEntity;
import java.util.List;
@ -102,4 +104,14 @@ public interface GisService extends BaseService<GisEntity> {
* @date 2022-09-04
*/
void clearAll();
/**
* 获取GIS网格列表
*
* @param
* @return java.util.List<com.elink.esua.epdc.dto.GisGridResultDTO>
* @author zhy
* @date 2022/9/5 10:08
*/
List<GisGridResultDTO> listGridOption(GisGridFormDTO dto);
}

44
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/SysDeptService.java

@ -279,19 +279,19 @@ public interface SysDeptService extends BaseService<SysDeptEntity> {
/**
* @Description: 获取全部的部门基本信息
* @Param: [userSysDeptInfoFormDTO]
* @return: com.elink.esua.epdc.commons.tools.utils.Result<java.util.List<com.elink.esua.epdc.dto.epdc.result.UserSysDeptInfoResultDTO>>
* @return: com.elink.esua.epdc.commons.tools.utils.Result<java.util.List < com.elink.esua.epdc.dto.epdc.result.UserSysDeptInfoResultDTO>>
* @Author: zy
* @Date: 2020-04-14
*/
List<UserSysDeptInfoResultDTO> listAllDeptInfo(UserSysDeptInfoFormDTO formDTO);
/**
* @describe: 获得部门类型
* @author wangtong
* @date 2020/5/15 14:46
* @param [deptId]
* @return com.elink.esua.epdc.commons.tools.utils.Result
*/
* @param [deptId]
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @describe: 获得部门类型
* @author wangtong
* @date 2020/5/15 14:46
*/
Result getDeptTypeKey(Long deptId);
/**
@ -322,39 +322,49 @@ public interface SysDeptService extends BaseService<SysDeptEntity> {
List<SysDeptDTO> getKpiGridIds(KpiGridIdsFormDTO dto);
/**
* @describe: 根据网格id获取 社区街道第三方编码信息
* @author wangtong
* @date 2020/12/16 16:31
* @params [deptId]
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.DeptInfoCodeDTO>
*/
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.DeptInfoCodeDTO>
* @describe: 根据网格id获取 社区街道第三方编码信息
* @author wangtong
* @date 2020/12/16 16:31
* @params [deptId]
*/
Result<DeptInfoCodeDTO> getDeptInfoCode(Long gridId);
/**
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.lang.String>
* @describe: 获取所有部门的树状列表 街道-社区-网格
* @author wangtong
* @date 2022/8/29 11:01
* @params [gridId]
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.lang.String>
*/
Result<List<SysDeptResultDTO>> getAllDeptTree();
/**
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.DeptItudeResultDTO>
* @describe: 通过经纬度获取社区及街道id
* @author wangtong
* @date 2022/8/31 11:19
* @params [dto]
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.DeptItudeResultDTO>
*/
Result<DeptItudeResultDTO> getDeptIdByItude(DeptItudeFormDTO dto);
/**
* 获取地理坐标
*
* @param
* @param formDTO
* @return void
* @author zhy
* @date 2022/9/4 18:48
*/
void getCoordinate();
void getCoordinates(GisFormDTO formDTO);
/**
* 获取地理坐标
*
* @param formDTO
* @return com.elink.esua.epdc.dto.GisGridDTO
* @author zhy
* @date 2022/9/5 15:35
*/
GisGridDTO getCoordinate(GisFormDTO formDTO);
}

145
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/GisGridServiceImpl.java

@ -0,0 +1,145 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.ConvertUtils;
import com.elink.esua.epdc.commons.tools.constant.FieldConstant;
import com.elink.esua.epdc.dao.GisGridDao;
import com.elink.esua.epdc.dto.GisGridDTO;
import com.elink.esua.epdc.dto.SysDeptDTO;
import com.elink.esua.epdc.entity.GisGridEntity;
import com.elink.esua.epdc.redis.GisGridRedis;
import com.elink.esua.epdc.service.GisGridService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* gis地图网格与平台网格对应关系表
*
* @author zhy elink@elink-cn.com
* @since v1.0.0 2022-09-05
*/
@Service
public class GisGridServiceImpl extends BaseServiceImpl<GisGridDao, GisGridEntity> implements GisGridService {
@Autowired
private GisGridRedis gisGridRedis;
@Override
public PageData<GisGridDTO> page(Map<String, Object> params) {
IPage<GisGridEntity> page = baseDao.selectPage(
getPage(params, FieldConstant.CREATED_TIME, false),
getWrapper(params)
);
return getPageData(page, GisGridDTO.class);
}
@Override
public List<GisGridDTO> list(Map<String, Object> params) {
List<GisGridEntity> entityList = baseDao.selectList(getWrapper(params));
return ConvertUtils.sourceToTarget(entityList, GisGridDTO.class);
}
private QueryWrapper<GisGridEntity> getWrapper(Map<String, Object> params) {
String id = (String) params.get(FieldConstant.ID_HUMP);
String gridId = (String) params.get("gridId");
String gridName = (String) params.get("gridName");
String gisGridId = (String) params.get("gisGridId");
String gisGridName = (String) params.get("gisGridName");
QueryWrapper<GisGridEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
wrapper.eq(StringUtils.isNotBlank(gridId), "GRID_ID", gridId);
wrapper.eq(StringUtils.isNotBlank(gridName), "GRID_NAME", gridName);
wrapper.eq(StringUtils.isNotBlank(gisGridId), "GIS_GRID_ID", gisGridId);
wrapper.eq(StringUtils.isNotBlank(gisGridName), "GIS_GRID_NAME", gisGridName);
return wrapper;
}
@Override
public GisGridDTO get(String id) {
GisGridEntity entity = baseDao.selectById(id);
return ConvertUtils.sourceToTarget(entity, GisGridDTO.class);
}
@Override
public GisGridDTO getByGridName(String gridName) {
Map<String, Object> params = new HashMap<>(2);
params.put("gridName", gridName);
GisGridEntity entity = baseDao.selectOne(getWrapper(params));
return ConvertUtils.sourceToTarget(entity, GisGridDTO.class);
}
@Override
public GisGridDTO getByGisGridName(String gisGridName) {
Map<String, Object> params = new HashMap<>(2);
params.put("gisGridName", gisGridName);
GisGridEntity entity = baseDao.selectOne(getWrapper(params));
return ConvertUtils.sourceToTarget(entity, GisGridDTO.class);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void save(GisGridDTO dto) {
GisGridEntity entity = ConvertUtils.sourceToTarget(dto, GisGridEntity.class);
insert(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(GisGridDTO dto) {
GisGridEntity entity = ConvertUtils.sourceToTarget(dto, GisGridEntity.class);
updateById(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void delete(String[] ids) {
// 逻辑删除(@TableLogic 注解)
baseDao.deleteBatchIds(Arrays.asList(ids));
}
@Override
@Transactional(rollbackFor = Exception.class)
public void saveRelation(SysDeptDTO dto) {
if (StringUtils.isNotBlank(dto.getGisGridName())) {
GisGridDTO gisGridDTO = new GisGridDTO();
gisGridDTO.setGridId(dto.getId());
gisGridDTO.setGridName(dto.getName());
gisGridDTO.setGisGridName(dto.getGisGridName());
baseDao.deleteByGridName(gisGridDTO);
GisGridEntity entity = ConvertUtils.sourceToTarget(gisGridDTO, GisGridEntity.class);
insert(entity);
}
}
}

13
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/GisServiceImpl.java

@ -20,11 +20,13 @@ package com.elink.esua.epdc.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl;
import com.elink.esua.epdc.commons.tools.constant.FieldConstant;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.ConvertUtils;
import com.elink.esua.epdc.commons.tools.constant.FieldConstant;
import com.elink.esua.epdc.dao.GisDao;
import com.elink.esua.epdc.dto.GisDTO;
import com.elink.esua.epdc.dto.GisGridFormDTO;
import com.elink.esua.epdc.dto.GisGridResultDTO;
import com.elink.esua.epdc.entity.GisEntity;
import com.elink.esua.epdc.redis.GisRedis;
import com.elink.esua.epdc.service.GisService;
@ -65,8 +67,8 @@ public class GisServiceImpl extends BaseServiceImpl<GisDao, GisEntity> implement
return ConvertUtils.sourceToTarget(entityList, GisDTO.class);
}
private QueryWrapper<GisEntity> getWrapper(Map<String, Object> params){
String id = (String)params.get(FieldConstant.ID_HUMP);
private QueryWrapper<GisEntity> getWrapper(Map<String, Object> params) {
String id = (String) params.get(FieldConstant.ID_HUMP);
QueryWrapper<GisEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
@ -107,4 +109,9 @@ public class GisServiceImpl extends BaseServiceImpl<GisDao, GisEntity> implement
baseDao.clearAll();
}
@Override
public List<GisGridResultDTO> listGridOption(GisGridFormDTO dto) {
return baseDao.listGridOption(dto);
}
}

70
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysDeptServiceImpl.java

@ -43,6 +43,7 @@ import com.elink.esua.epdc.entity.*;
import com.elink.esua.epdc.feign.GroupFeignClient;
import com.elink.esua.epdc.rocketmq.dto.OrganizationModifyDTO;
import com.elink.esua.epdc.rocketmq.producer.OrganizationModifyProducer;
import com.elink.esua.epdc.service.GisGridService;
import com.elink.esua.epdc.service.GisService;
import com.elink.esua.epdc.service.SysDeptService;
import com.elink.esua.epdc.service.SysUserService;
@ -104,6 +105,9 @@ public class SysDeptServiceImpl extends BaseServiceImpl<SysDeptDao, SysDeptEntit
@Autowired
private GisService gisService;
@Autowired
private GisGridService gisGridService;
@Autowired
private ArcGISUtil arcGISUtil;
@ -144,8 +148,13 @@ public class SysDeptServiceImpl extends BaseServiceImpl<SysDeptDao, SysDeptEntit
}
SysDeptEntity entity = baseDao.getById(id);
SysDeptDTO dto = ConvertUtils.sourceToTarget(entity, SysDeptDTO.class);
return ConvertUtils.sourceToTarget(entity, SysDeptDTO.class);
GisGridDTO gisGridDTO = gisGridService.getByGridName(dto.getName());
if (gisGridDTO != null) {
dto.setGisGridName(dto.getGisGridName());
}
return dto;
}
@Override
@ -214,7 +223,9 @@ public class SysDeptServiceImpl extends BaseServiceImpl<SysDeptDao, SysDeptEntit
customerAgencyDao.insert(customerAgencyEntity);
//baseDao.insertCustomerAgency(customerAgencyEntity);
}
// 处理gis网格关系
dto.setId(entity.getId());
gisRelation(dto);
}
private String getAllParentName(String pids) {
@ -314,6 +325,9 @@ public class SysDeptServiceImpl extends BaseServiceImpl<SysDeptDao, SysDeptEntit
}
}
// 处理gis网格关系
gisRelation(dto);
sendMqMessage(dto);
}
@ -1362,10 +1376,11 @@ public class SysDeptServiceImpl extends BaseServiceImpl<SysDeptDao, SysDeptEntit
}
@Override
public void getCoordinate() {
public void getCoordinates(GisFormDTO formDTO) {
List<GisEntity> list = new ArrayList<>();
Map<String, String> urlParams = new HashMap<>();
String resultStr = arcGISUtil.getGisStr();
String resultStr = arcGISUtil.getGisStr(urlParams);
JSONObject toResult = JSON.parseObject(resultStr);
JSONArray jsonArray = JSON.parseArray(toResult.get("features").toString());
@ -1374,6 +1389,7 @@ public class SysDeptServiceImpl extends BaseServiceImpl<SysDeptDao, SysDeptEntit
JSONObject feature = JSON.parseObject(item.toString());
JSONObject attributes = JSON.parseObject(feature.get("attributes").toString());
String gridName = attributes.get("网格名称").toString();
String gridId = attributes.get("网格编码").toString();
JSONObject geometry = JSON.parseObject(feature.get("geometry").toString());
JSONArray rings = JSON.parseArray(geometry.get("rings").toString());
JSONArray ring = JSON.parseArray(rings.get(0).toString());
@ -1387,6 +1403,7 @@ public class SysDeptServiceImpl extends BaseServiceImpl<SysDeptDao, SysDeptEntit
entity.setLongitude(longitude);
entity.setLatitude(latitude);
entity.setGridName(gridName);
entity.setGridId(gridId);
list.add(entity);
});
@ -1399,6 +1416,37 @@ public class SysDeptServiceImpl extends BaseServiceImpl<SysDeptDao, SysDeptEntit
}
@Override
public GisGridDTO getCoordinate(GisFormDTO formDTO) {
Map<String, String> urlParams = new HashMap<>();
String geometryStr = "point(" + formDTO.getLatitude() + "," + formDTO.getLongitude() + ")";
urlParams.put("geometry", geometryStr);
String resultStr = arcGISUtil.getGisStr(urlParams);
JSONObject toResult = JSON.parseObject(resultStr);
JSONArray jsonArray = JSON.parseArray(toResult.get("features").toString());
if (jsonArray.size() == NumConstant.ZERO) {
throw new RenException("该坐标不在任何网格内,请重新选择");
} else if (jsonArray.size() > NumConstant.ONE) {
throw new RenException("该坐标处于多个网格交界处,请重新选择");
} else {
JSONObject feature = JSON.parseObject(jsonArray.get(0).toString());
JSONObject attributes = JSON.parseObject(feature.get("attributes").toString());
String gridName = attributes.get("网格名称").toString();
String gridId = attributes.get("网格编码").toString();
GisGridDTO gisGridDTO = gisGridService.getByGisGridName(gridName);
if (gisGridDTO == null) {
throw new RenException(gridName + "尚未绑定系统网格,请联系管理员");
} else {
return gisGridDTO;
}
}
}
/**
* @return java.lang.String
* @describe: 访问外部接口获取部门社区地区编码
@ -1486,4 +1534,18 @@ public class SysDeptServiceImpl extends BaseServiceImpl<SysDeptDao, SysDeptEntit
}
return result;
}
/**
* 更新与测绘院gis网格关系
*
* @param dto
* @return void
* @author zhy
* @date 2022/9/5 10:43
*/
private void gisRelation(SysDeptDTO dto) {
if (OrganizationTypeConstant.ORG_TYPE_GRID_PARTY.equals(dto.getTypeKey())) {
gisGridService.saveRelation(dto);
}
}
}

23
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/utils/ArcGISUtil.java

@ -1,7 +1,6 @@
package com.elink.esua.epdc.utils;
import com.elink.esua.epdc.commons.tools.exception.RenException;
import com.elink.esua.epdc.commons.tools.redis.RedisKeys;
import com.elink.esua.epdc.commons.tools.redis.RedisUtils;
import com.elink.esua.httpclient.HttpClientUtils;
import org.apache.commons.lang3.StringUtils;
@ -29,7 +28,7 @@ public class ArcGISUtil {
@Autowired
private HttpClientUtils httpClientUtils;
private final String GET_GIS_COORDINATE_URL = "http://120.221.72.15:6081/arcgis/rest/services/sbwgh/xzqh/MapServer/2/query?where=1%3D1&geometryType=esriGeometryEnvelope&spatialRel=esriSpatialRelIntersects&returnGeometry=true&returnTrueCurves=false&returnIdsOnly=false&returnCountOnly=false&returnZ=false&returnM=false&returnDistinctValues=false&returnExtentsOnly=false&f=pjson";
private final String GET_GIS_COORDINATE_URL = "http://120.221.72.15:6081/arcgis/rest/services/sbwgh/xzqh/MapServer/2/query?where=1%3D1&geometryType=esriGeometryEnvelope&spatialRel=esriSpatialRelIntersects&returnGeometry=true&returnTrueCurves=false&returnIdsOnly=false&returnCountOnly=false&returnZ=false&returnM=false&returnDistinctValues=false&returnExtentsOnly=false&f=pjson&outFields=%E7%BD%91%E6%A0%BC%E5%90%8D%E7%A7%B0%2C%E7%BD%91%E6%A0%BC%E7%BC%96%E7%A0%81";
/**
* 获取publicKey
@ -39,22 +38,26 @@ public class ArcGISUtil {
* @author zhy
* @date 2022/5/20 16:40
*/
public String getGisStr() {
String key = RedisKeys.getArcGISKey();
Object obj = redisUtils.get(key);
if (null != obj) {
return (String) obj;
}
public String getGisStr(Map<String, String> urlParams) {
// String key = RedisKeys.getArcGISKey();
// Object obj = redisUtils.get(key);
// if (null != obj) {
// return (String) obj;
// }
Map<String, String> paramsMap = new HashMap<>(4);
String data = httpClientUtils.sendPostByJSONAndHeader(GET_GIS_COORDINATE_URL, StringUtils.EMPTY, paramsMap).getResult();
String url = GET_GIS_COORDINATE_URL;
if (urlParams.containsKey("geometry")) {
url = url + "&geometry=" + urlParams.get("geometry");
}
String data = httpClientUtils.sendPostByJSONAndHeader(url, StringUtils.EMPTY, paramsMap).getResult();
if (null == data) {
throw new RenException("地理坐标获取失败");
}
redisUtils.set(key, data, RedisUtils.DEFAULT_EXPIRE);
// redisUtils.set(key, data, RedisUtils.DEFAULT_EXPIRE);
return data;
}

8
esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/mapper/GisDao.xml

@ -19,4 +19,12 @@
<delete id="clearAll">
truncate table epdc_gis;
</delete>
<select id="listGridOption" resultType="com.elink.esua.epdc.dto.GisGridResultDTO">
SELECT DISTINCT
GRID_NAME AS GIS_GRID_NAME
FROM
epdc_gis
</select>
</mapper>

30
esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/mapper/GisGridDao.xml

@ -0,0 +1,30 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.elink.esua.epdc.dao.GisGridDao">
<resultMap type="com.elink.esua.epdc.entity.GisGridEntity" id="gisGridMap">
<result property="id" column="ID"/>
<result property="gridId" column="GRID_ID"/>
<result property="gridName" column="GRID_NAME"/>
<result property="gisGridName" column="GIS_GRID_NAME"/>
<result property="delFlag" column="DEL_FLAG"/>
<result property="revision" column="REVISION"/>
<result property="createdBy" column="CREATED_BY"/>
<result property="createdTime" column="CREATED_TIME"/>
<result property="updatedBy" column="UPDATED_BY"/>
<result property="updatedTime" column="UPDATED_TIME"/>
</resultMap>
<delete id="deleteByGridName">
DELETE
FROM
epdc_gis_grid
WHERE
GRID_NAME = '2'
OR GIS_GRID_NAME = '1'
<if test="gridId != null and gridId != '' ">
OR GRID_ID = '1'
</if>
</delete>
</mapper>

1
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiAdminController.java

@ -91,4 +91,5 @@ public class ApiAdminController {
ValidatorUtils.validateEntity(dto);
return adminService.getDeptIdByItude(dto);
}
}

6
renren-cloud-generator/src/main/resources/application.yml

@ -9,9 +9,9 @@ spring:
type: com.alibaba.druid.pool.DruidDataSource
#MySQL配置
driverClassName: com.mysql.jdbc.Driver
url: jdbc:mysql://rm-bp1l2b53j508j1176xo.mysql.rds.aliyuncs.com:3306/esua_epdc_user?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
username: root
password: Abc@123456
url: jdbc:mysql://rm-m5eguiv2827bdye798o.mysql.rds.aliyuncs.com:10001/sb_esua_epdc_admin?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
username: shibei_test
password: Elink@833066
#oracle配置
# driverClassName: oracle.jdbc.OracleDriver
# url: jdbc:oracle:thin:@192.168.10.10:1521:helowin

Loading…
Cancel
Save