diff --git a/esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/GisDTO.java b/esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/GisDTO.java index a30978e77..5257a0b7e 100644 --- a/esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/GisDTO.java +++ b/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; + /** * 网格名称 */ diff --git a/esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/GisFormDTO.java b/esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/GisFormDTO.java new file mode 100644 index 000000000..919057bdc --- /dev/null +++ b/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 + *

+ * 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. + *

+ * 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. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +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; + +} \ No newline at end of file diff --git a/esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/GisGridDTO.java b/esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/GisGridDTO.java new file mode 100644 index 000000000..26b96cebd --- /dev/null +++ b/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 + *

+ * 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. + *

+ * 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. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +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; + +} \ No newline at end of file diff --git a/esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/GisGridFormDTO.java b/esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/GisGridFormDTO.java new file mode 100644 index 000000000..d4addab73 --- /dev/null +++ b/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 + *

+ * 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. + *

+ * 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. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +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; + +} \ No newline at end of file diff --git a/esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/GisGridResultDTO.java b/esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/GisGridResultDTO.java new file mode 100644 index 000000000..a671972f2 --- /dev/null +++ b/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 + *

+ * 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. + *

+ * 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. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +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; + +} \ No newline at end of file diff --git a/esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/SysDeptDTO.java b/esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/SysDeptDTO.java index 8f2381470..38ac7d499 100644 --- a/esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/SysDeptDTO.java +++ b/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 gisGridId; + + public String getGisGridId() { + return gisGridId; + } + + public void setGisGridId(String gisGridId) { + this.gisGridId = gisGridId; + } + @ApiModelProperty(value = "地址") private String address; @@ -79,6 +92,10 @@ public class SysDeptDTO extends TreeNode implements Serializable { @ApiModelProperty(value = "纬度") private String latitude; + /**第三方编码 + */ + private String infoCode; + public String getPartyCode() { return partyCode; } @@ -178,4 +195,12 @@ public class SysDeptDTO extends TreeNode implements Serializable { public void setLatitude(String latitude) { this.latitude = latitude; } + + public String getInfoCode() { + return infoCode; + } + + public void setInfoCode(String infoCode) { + this.infoCode = infoCode; + } } diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/AppSysController.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/AppSysController.java new file mode 100644 index 000000000..8134688e5 --- /dev/null +++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/AppSysController.java @@ -0,0 +1,48 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * 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. + *

+ * 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. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.controller; + +import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.dto.GisFormDTO; +import com.elink.esua.epdc.dto.GisGridDTO; +import com.elink.esua.epdc.service.SysDeptService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +/** + * APP系统信息查询 + * + * @author work@yujt.net.cn + * @since v1.0.0 2019-11-19 + */ +@RestController +@RequestMapping("appsys") +public class AppSysController { + + @Autowired + private SysDeptService sysDeptService; + + @PostMapping("dept/gis/getGridByCoordinate") + public Result getGridByCoordinate(@RequestBody GisFormDTO formDTO) { + return new Result().ok(sysDeptService.getCoordinate(formDTO)); + } +} diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/SysDeptController.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/SysDeptController.java index e996128c4..f91dbbb4a 100644 --- a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/SysDeptController.java +++ b/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/getGridByCoordinate") + public Result getGridByCoordinate(@RequestBody GisFormDTO formDTO) { + return new Result().ok(sysDeptService.getCoordinate(formDTO)); + } + + /** + * 北上诉办gis坐标下拉 + * + * @param dto + * @return com.elink.esua.epdc.commons.tools.utils.Result> + * @author zhy + * @date 2022/9/5 14:59 + */ + @PostMapping("gis/options") + public Result> getOptions(@RequestBody GisGridFormDTO dto) { + return new Result>().ok(gisService.listGridOption(dto)); + } } diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/dao/GisDao.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/dao/GisDao.java index 412d7c469..0d990b298 100644 --- a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/dao/GisDao.java +++ b/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 { * @date 2022/9/4 19:01 */ void clearAll(); + + /** + * 获取GIS网格列表 + * + * @param + * @return java.util.List + * @author zhy + * @date 2022/9/5 10:08 + */ + List listGridOption(GisGridFormDTO dto); } \ No newline at end of file diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/dao/GisGridDao.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/dao/GisGridDao.java new file mode 100644 index 000000000..4fc368c9c --- /dev/null +++ b/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 + *

+ * 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. + *

+ * 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. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +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 { + + /** + * 删除历史记录 + * + * @param dto + * @return + * @author zhy + * @date 2022/9/5 10:54 + */ + void deleteByGridInfo(GisGridDTO dto); +} \ No newline at end of file diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/entity/GisEntity.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/entity/GisEntity.java index cbfe5305f..67aba34b1 100644 --- a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/entity/GisEntity.java +++ b/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; + /** * 网格名称 */ diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/entity/GisGridEntity.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/entity/GisGridEntity.java new file mode 100644 index 000000000..2a2abf83c --- /dev/null +++ b/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 + *

+ * 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. + *

+ * 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. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +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; + +} \ No newline at end of file diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/entity/SysDeptEntity.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/entity/SysDeptEntity.java index 94b08e688..abbafcd18 100644 --- a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/entity/SysDeptEntity.java +++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/entity/SysDeptEntity.java @@ -104,4 +104,7 @@ public class SysDeptEntity extends BaseEntity { */ private String areaCode; + /**第三方编码 + */ + private String infoCode; } diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/redis/GisGridRedis.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/redis/GisGridRedis.java new file mode 100644 index 000000000..563e47a5b --- /dev/null +++ b/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 + *

+ * 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. + *

+ * 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. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +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; + } + +} \ No newline at end of file diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/GisGridService.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/GisGridService.java new file mode 100644 index 000000000..050df7d05 --- /dev/null +++ b/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 + *

+ * 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. + *

+ * 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. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +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 { + + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2022-09-05 + */ + PageData page(Map params); + + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2022-09-05 + */ + List list(Map 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); +} \ No newline at end of file diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/GisService.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/GisService.java index cc1cc2be3..a6c23766b 100644 --- a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/GisService.java +++ b/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 { * @date 2022-09-04 */ void clearAll(); + + /** + * 获取GIS网格列表 + * + * @param + * @return java.util.List + * @author zhy + * @date 2022/9/5 10:08 + */ + List listGridOption(GisGridFormDTO dto); } \ No newline at end of file diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/SysDeptService.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/SysDeptService.java index 5e218652e..414b284f2 100644 --- a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/SysDeptService.java +++ b/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 { /** * @Description: 获取全部的部门基本信息 * @Param: [userSysDeptInfoFormDTO] - * @return: com.elink.esua.epdc.commons.tools.utils.Result> + * @return: com.elink.esua.epdc.commons.tools.utils.Result> * @Author: zy * @Date: 2020-04-14 */ List 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 { List getKpiGridIds(KpiGridIdsFormDTO dto); /** - * @describe: 根据网格id获取 社区、街道第三方编码信息 - * @author wangtong - * @date 2020/12/16 16:31 - * @params [deptId] - * @return com.elink.esua.epdc.commons.tools.utils.Result - */ + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @describe: 根据网格id获取 社区、街道第三方编码信息 + * @author wangtong + * @date 2020/12/16 16:31 + * @params [deptId] + */ Result getDeptInfoCode(Long gridId); /** + * @return com.elink.esua.epdc.commons.tools.utils.Result * @describe: 获取所有部门的树状列表 街道-社区-网格 * @author wangtong * @date 2022/8/29 11:01 * @params [gridId] - * @return com.elink.esua.epdc.commons.tools.utils.Result */ Result> getAllDeptTree(); /** + * @return com.elink.esua.epdc.commons.tools.utils.Result * @describe: 通过经纬度获取社区及街道id * @author wangtong * @date 2022/8/31 11:19 * @params [dto] - * @return com.elink.esua.epdc.commons.tools.utils.Result */ Result 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); } diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/GisGridServiceImpl.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/GisGridServiceImpl.java new file mode 100644 index 000000000..19a255aeb --- /dev/null +++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/GisGridServiceImpl.java @@ -0,0 +1,152 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * 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. + *

+ * 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. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +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 implements GisGridService { + + @Autowired + private GisGridRedis gisGridRedis; + + @Override + public PageData page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + return getPageData(page, GisGridDTO.class); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, GisGridDTO.class); + } + + private QueryWrapper getWrapper(Map 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 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 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 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.getGisGridId())) { + GisGridDTO gisGridDTO = new GisGridDTO(); + gisGridDTO.setGridId(dto.getId()); + gisGridDTO.setGridName(dto.getName()); + gisGridDTO.setGisGridId(dto.getGisGridId()); + baseDao.deleteByGridInfo(gisGridDTO); + + Map params = new HashMap<>(2); + params.put("gisGridId", dto.getGisGridId()); + GisGridEntity exist = baseDao.selectOne(getWrapper(params)); + if (exist != null) { + gisGridDTO.setGisGridName(exist.getGisGridName()); + } + + GisGridEntity entity = ConvertUtils.sourceToTarget(gisGridDTO, GisGridEntity.class); + insert(entity); + } + } + +} \ No newline at end of file diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/GisServiceImpl.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/GisServiceImpl.java index db28d1529..70e386162 100644 --- a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/GisServiceImpl.java +++ b/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 implement return ConvertUtils.sourceToTarget(entityList, GisDTO.class); } - private QueryWrapper getWrapper(Map params){ - String id = (String)params.get(FieldConstant.ID_HUMP); + private QueryWrapper getWrapper(Map params) { + String id = (String) params.get(FieldConstant.ID_HUMP); QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); @@ -107,4 +109,9 @@ public class GisServiceImpl extends BaseServiceImpl implement baseDao.clearAll(); } + @Override + public List listGridOption(GisGridFormDTO dto) { + return baseDao.listGridOption(dto); + } + } \ No newline at end of file diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysDeptServiceImpl.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysDeptServiceImpl.java index 5bbe10aaa..316e9fc3d 100644 --- a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysDeptServiceImpl.java +++ b/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 list = new ArrayList<>(); + Map 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 urlParams = new HashMap<>(); + String geometryStr = "point(" + formDTO.getLongitude() + "," + formDTO.getLatitude() + ")"; + 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 urlParams) { +// String key = RedisKeys.getArcGISKey(); +// Object obj = redisUtils.get(key); +// if (null != obj) { +// return (String) obj; +// } + Map headerMap = new HashMap<>(4); + + Map paramsMap = new HashMap<>(8); + paramsMap.put("where", "1=1"); + paramsMap.put("outFields", "网格名称,网格编码"); + paramsMap.put("f", "pjson"); - Map paramsMap = new HashMap<>(4); + if (urlParams.containsKey("geometry")) { + paramsMap.put("geometryType", "esriGeometryPoint"); + paramsMap.put("geometry", urlParams.get("geometry")); + } - String data = httpClientUtils.sendPostByJSONAndHeader(GET_GIS_COORDINATE_URL, StringUtils.EMPTY, paramsMap).getResult(); + String data = httpClientUtils.sendPostAndHeader(GET_GIS_COORDINATE_URL, paramsMap, headerMap).getResult(); if (null == data) { throw new RenException("地理坐标获取失败"); } - redisUtils.set(key, data, RedisUtils.DEFAULT_EXPIRE); +// redisUtils.set(key, data, RedisUtils.DEFAULT_EXPIRE); return data; } diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/mapper/GisDao.xml b/esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/mapper/GisDao.xml index 351210fe3..bb7343402 100644 --- a/esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/mapper/GisDao.xml +++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/mapper/GisDao.xml @@ -19,4 +19,13 @@ truncate table epdc_gis; + + + \ No newline at end of file diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/mapper/GisGridDao.xml b/esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/mapper/GisGridDao.xml new file mode 100644 index 000000000..1e9f2ed1a --- /dev/null +++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/mapper/GisGridDao.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + DELETE + FROM + epdc_gis_grid + WHERE + GRID_NAME = #{gridName} + OR GRID_ID = #{gridId} + OR GIS_GRID_ID = #{gisGridId} + + OR GIS_GRID_NAME = #{gisGridName} + + + \ No newline at end of file diff --git a/esua-epdc/epdc-cloud-commons-shibei b/esua-epdc/epdc-cloud-commons-shibei index e2cada195..4341e4f12 160000 --- a/esua-epdc/epdc-cloud-commons-shibei +++ b/esua-epdc/epdc-cloud-commons-shibei @@ -1 +1 @@ -Subproject commit e2cada19530c39456622d9bf9f53ec8a6a3c9cc1 +Subproject commit 4341e4f121499ecdf86612dbd4b085f95f07ec13 diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiAdminController.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiAdminController.java index 3d9f6d639..f42465476 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiAdminController.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiAdminController.java @@ -91,4 +91,19 @@ public class ApiAdminController { ValidatorUtils.validateEntity(dto); return adminService.getDeptIdByItude(dto); } + + /** + * 根据坐标获取系统网格 + * + * @param dto + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author zhy + * @date 2022/9/5 15:53 + */ + @PostMapping("dept/getGridByCoordinate") + public Result getGridByCoordinate(@RequestBody GisFormDTO dto) { + ValidatorUtils.validateEntity(dto); + return adminService.getGridByCoordinate(dto); + } + } diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/AdminFeignClient.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/AdminFeignClient.java index d25c92607..d199348b5 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/AdminFeignClient.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/AdminFeignClient.java @@ -192,4 +192,15 @@ public interface AdminFeignClient { */ @GetMapping(value = "sys/dept/getDeptIdByItude", consumes = MediaType.APPLICATION_JSON_VALUE) Result getDeptIdByItude(DeptItudeFormDTO dto); + + /** + * 根据坐标获取系统网格 + * + * @param formDto + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author zhy + * @date 2022/9/5 15:53 + */ + @PostMapping("sys/appsys/dept/gis/getGridByCoordinate") + Result getGridByCoordinate(GisFormDTO formDto); } diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/AdminFeignClientFallback.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/AdminFeignClientFallback.java index cb1c49891..b2a64e02c 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/AdminFeignClientFallback.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/AdminFeignClientFallback.java @@ -100,4 +100,9 @@ public class AdminFeignClientFallback implements AdminFeignClient { public Result getDeptIdByItude(DeptItudeFormDTO dto) { return ModuleUtils.feignConError(ServiceConstant.EPDC_ADMIN_SERVER, "getDeptIdByItude",dto); } + + @Override + public Result getGridByCoordinate(GisFormDTO formDTO) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_ADMIN_SERVER, "getGridByCoordinate",formDTO); + } } diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/AdminService.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/AdminService.java index 86d6f0e55..84b7058a4 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/AdminService.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/AdminService.java @@ -70,4 +70,14 @@ public interface AdminService { * @return com.elink.esua.epdc.commons.tools.utils.Result */ Result getDeptIdByItude(DeptItudeFormDTO dto); + + /** + * 根据坐标获取系统网格 + * + * @param dto + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author zhy + * @date 2022/9/5 15:53 + */ + Result getGridByCoordinate(GisFormDTO dto); } diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AdminServiceImpl.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AdminServiceImpl.java index d37935b43..bf9b9bf55 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AdminServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AdminServiceImpl.java @@ -68,4 +68,9 @@ public class AdminServiceImpl implements AdminService { public Result getDeptIdByItude(DeptItudeFormDTO dto) { return adminFeignClient.getDeptIdByItude(dto); } + + @Override + public Result getGridByCoordinate(GisFormDTO dto) { + return adminFeignClient.getGridByCoordinate(dto); + } } diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/ItemServiceImpl.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/ItemServiceImpl.java index 43bc68bf1..18c5a6ae3 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/ItemServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/ItemServiceImpl.java @@ -156,7 +156,7 @@ public class ItemServiceImpl implements ItemService { // customEnterpriseServiceImpl.checkSmsCode(formDto.getMobile(), formDto.getSmsCode()); // } // 获取所有上级机构名称和ID拼接 - Result dtoResult = adminFeignClient.getParentAndAllDept(userDetail.getGridId()); + Result dtoResult = adminFeignClient.getParentAndAllDept(formDto.getGridId()); ParentAndAllDeptDTO deptDTO = dtoResult.getData(); // 父所有部门 formDto.setParentDeptIds(deptDTO.getParentDeptIds()); @@ -176,7 +176,7 @@ public class ItemServiceImpl implements ItemService { } else { formDto.setIsPartyMember(YesOrNoEnum.NO.value()); } -// formDto.setMobile(userDetail.getMobile()); + formDto.setMobile(userDetail.getMobile()); return itemFeignClient.submitItem(formDto); } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/form/ExamineCaseFormDTO.java b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/form/ExamineCaseFormDTO.java new file mode 100644 index 000000000..f53834272 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/form/ExamineCaseFormDTO.java @@ -0,0 +1,41 @@ +package com.elink.esua.epdc.dto.item.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; +import java.util.List; + +/** + * @program: esua-epdc + * @description: 结案审批提交 + * @author: wangtong + * @create: 2022-09-05 09:54 + **/ +@Data +public class ExamineCaseFormDTO implements Serializable { + + /** + * 项目ID + */ + @NotBlank(message = "项目id不可为空") + private String itemId; + + /** + * 结案审批:0同意-并上报至网格化 1驳回-返回至网格 + */ + @NotBlank(message = "结案审批标识不可为空") + private String checkFlag; + + /** + * 处理意见(外部) + */ + @NotBlank(message = " 处理意见不可为空") + private String outHandleAdvice; + + /** + * 意见图片 + */ + private List images; + +} diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/enums/ItemGridPlatformHandleStatusEnum.java b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/enums/ItemGridPlatformHandleStatusEnum.java index c10b2bdec..99558930d 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/enums/ItemGridPlatformHandleStatusEnum.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/enums/ItemGridPlatformHandleStatusEnum.java @@ -6,6 +6,7 @@ package com.elink.esua.epdc.enums; * @Description: 网格化平台案件处理状态 */ public enum ItemGridPlatformHandleStatusEnum { + HANDLE_SQ(11, "结案申请"), HANDLE_SB(15, "上报"), HANDLE_SL(20, "受理"), HANDLE_LA(25, "立案"), diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/controller/ItemController.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/controller/ItemController.java index 471b6f954..593a127eb 100755 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/controller/ItemController.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/controller/ItemController.java @@ -30,6 +30,7 @@ import com.elink.esua.epdc.dto.events.form.EventDeleteCommentsFormDTO; import com.elink.esua.epdc.dto.form.KpiMetaDataOfEventsFormDTO; import com.elink.esua.epdc.dto.item.ItemDTO; import com.elink.esua.epdc.dto.item.ItemPendingHandleDTO; +import com.elink.esua.epdc.dto.item.form.ExamineCaseFormDTO; import com.elink.esua.epdc.dto.item.form.HandleResultDTOSFormDTO; import com.elink.esua.epdc.dto.item.form.ItemHandleSubmitFormDTO; import com.elink.esua.epdc.dto.item.result.*; @@ -331,5 +332,18 @@ public class ItemController { PageData page = itemService.getExaminePage(params); return new Result>().ok(page); } + + + /** + * @describe: 社区审批结案申请 + * @author wangtong + * @date 2022/9/5 10:18 + * @params [formDto] + * @return com.elink.esua.epdc.commons.tools.utils.Result + */ + @PostMapping("examineCase") + public Result examineCase(@RequestBody ExamineCaseFormDTO formDto) { + return itemService.examineCase(formDto); + } } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/entity/ItemHandleProcessEntity.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/entity/ItemHandleProcessEntity.java index c2b62ae1f..52c85d98c 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/entity/ItemHandleProcessEntity.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/entity/ItemHandleProcessEntity.java @@ -42,7 +42,7 @@ public class ItemHandleProcessEntity extends BaseEpdcEntity { private String itemId; /** - * 状态 0-待网格长处理,5-待社区处理,10-待街道党建办处理,15-待街道处理,20-待区直部门处理,25-处理,30-关闭,35-结案 + * 状态 */ private Integer state; diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/ItemService.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/ItemService.java index 5266243d5..9a02d64f6 100755 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/ItemService.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/ItemService.java @@ -517,4 +517,13 @@ public interface ItemService extends BaseService { * @return com.elink.esua.epdc.commons.tools.utils.Result> */ PageData getExaminePage(Map params); + + /** + * @describe: 社区审批结案申请 + * @author wangtong + * @date 2022/9/5 10:18 + * @params [formDto] + * @return com.elink.esua.epdc.commons.tools.utils.Result + */ + Result examineCase(ExamineCaseFormDTO formDto); } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java index 1cbc83624..3d95fa8fa 100755 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java @@ -82,6 +82,7 @@ import com.elink.esua.epdc.modules.interfacelog.service.InterfaceLogService; import com.elink.esua.epdc.modules.issue.service.IssueService; import com.elink.esua.epdc.modules.item.dao.ItemDao; import com.elink.esua.epdc.modules.item.dao.ItemGridPlatformDao; +import com.elink.esua.epdc.modules.item.dao.ItemHandleProcessDao; import com.elink.esua.epdc.modules.item.dao.ItemLawDao; import com.elink.esua.epdc.modules.item.entity.*; import com.elink.esua.epdc.modules.item.service.*; @@ -181,6 +182,9 @@ public class ItemServiceImpl extends BaseServiceImpl implem @Autowired private ItemLawDao itemLawDao; + @Autowired + private ItemHandleProcessDao itemHandleProcessDao; + @Override public PageData page(Map params) { IPage page = baseDao.selectPage( @@ -306,6 +310,10 @@ public class ItemServiceImpl extends BaseServiceImpl implem if (null == userDetail) { throw new RuntimeException("获取用户信息失败"); } + if(!(StringUtils.isNotBlank(userDetail.getTypeKey()) + && OrganizationTypeConstant.ORG_TYPE_STREET_PARTY.equals(userDetail.getTypeKey()))){ + throw new RuntimeException("请用街道账号进行上报"); + } ItemEntity itemEntity = new ItemEntity(); /** * userID:zfsq+当前账户ID。 @@ -342,7 +350,22 @@ public class ItemServiceImpl extends BaseServiceImpl implem //保存到执法诉求详情表 formDto.setItemId(itemEntity.getId()); itemLawService.saveLawDetail(formDto); + // 插入项目处理流程表 + ItemHandleProcessEntity itemHandleProcessEntity = new ItemHandleProcessEntity(); + itemHandleProcessEntity.setItemId(itemEntity.getId()); + itemHandleProcessEntity.setState(ItemHandleCategoryEnum.HANDLE_I_HANDLE.getValue()); + itemHandleProcessEntity.setHandleAdvice("执法诉求上报"); + itemHandleProcessEntity.setOutHandleAdvice("执法诉求上报"); + itemHandleProcessEntity.setHandlerDeptId(itemEntity.getGridId()); + itemHandleProcessEntity.setHandlerDept(itemEntity.getGrid()); + itemHandleProcessService.insert(itemHandleProcessEntity); //todo bssb上报网格化平台 + //发送事件至区中心 + ItemHandleSubmitFormDTO dto = new ItemHandleSubmitFormDTO(); + dto.setId(formDto.getItemId()); + dto.setOutHandleAdvice(itemHandleProcessEntity.getOutHandleAdvice()); + dto.setHandleCategory(ItemHandleCategoryEnum.HANDLE_CLOSING_CASE_APPLY.getValue()); + sendItemToDsf(dto,itemHandleProcessEntity); return new Result(); } @@ -883,26 +906,12 @@ public class ItemServiceImpl extends BaseServiceImpl implem // 上报网格化平台(社区吹哨) } else if (ItemHandleCategoryEnum.HANDLE_REPORT.getValue() == dto.getHandleCategory()) { log.info("处理项目-进入上报网格化平台(社区吹哨)"); - boolean reportFlag = this.checkReport(dto.getId()); - if (reportFlag) { - return new Result().error("当前项目已上报网格化平台"); - } handleProcessEntity.setState(dto.getHandleCategory()); informationFormDTO.setTitle(EventsNoticeConstant.NOTICE_REPORT); - SendEventResultDto sendResult = null; - try { - sendResult = this.reportCaseNew(dto); - } catch (Exception e) { - return new Result().error("上报网格化平台接口失败" + e.getMessage()); - } - if (null == sendResult || !("0").equals(sendResult.getCode())) { - // 接口没有返回信息,也没有异常信息 - return new Result().error("上报网格化平台接口失败" + sendResult.getMessage()); - } // 记录处理记录 itemHandleProcessService.insert(handleProcessEntity); - // 记录平台上报信息 - this.saveItemGridPlatformInfo(sendResult, handleProcessEntity); + //上报到网格化平台 + sendItemToDsf(dto,handleProcessEntity); log.info("处理项目-上报网格化平台-if结束"); // 结案申请 } else if (ItemHandleCategoryEnum.HANDLE_CLOSING_CASE_APPLY.getValue() == dto.getHandleCategory()) { @@ -943,6 +952,8 @@ public class ItemServiceImpl extends BaseServiceImpl implem itemDeptService.modifyItemDepts(dto.getHandlerDeptId(), dto.getId()); // 记录处理记录 itemHandleProcessService.insert(handleProcessEntity); + //上报到网格化平台 + sendItemToDsf(dto,handleProcessEntity); // 新增流转协助部门 itemDeptService.saveItemDepts(dto.getHandlerDeptId(), dto, handleProcessEntity.getId()); List newDeptIds = new ArrayList<>(); @@ -1355,7 +1366,7 @@ public class ItemServiceImpl extends BaseServiceImpl implem private SendEventResultDto reportCaseNew(ItemHandleSubmitFormDTO dto) throws Exception { ItemEntity entity = baseDao.selectById(dto.getId()); // 组装上报信息 - SendEventFormDto sendEventFormDto = packageSendEventEntity(entity); + SendEventFormDto sendEventFormDto = packageSendEventEntity(entity,dto); // 接口请求返回实体,getCode 1失败 0成功(非空) log.info("处理项目-进入上报网格化平台-发送"); SendEventResultDto sendResult = shiBeiCityGridApi.sendEvent(sendEventFormDto); @@ -1462,13 +1473,28 @@ public class ItemServiceImpl extends BaseServiceImpl implem * @params [itemEntity] * @return com.elink.esua.epdc.gird.shibei.dto.form.SendInputInfoFormDto */ - private SendEventFormDto packageSendEventEntity(ItemEntity itemEntity) throws Exception { - UserDetail user = SecurityUser.getUser(); + private SendEventFormDto packageSendEventEntity(ItemEntity itemEntity,ItemHandleSubmitFormDTO dto) throws Exception { SendEventFormDto sendDto = new SendEventFormDto(); SendInputInfoFormDto formDto = new SendInputInfoFormDto(); //推送类别(事件上报) sendDto.setSENDTYPE(CommonConstants.SEND_TYPE); - //上报至区中心平台 + //上报 + if("1".equals(itemEntity.getIsPeople()) && + ("1".equals(itemEntity.getPeopleFlag()) || "2".equals(itemEntity.getPeopleFlag()))){ + //发展、执法上报到区中心平台 + sendDto.setSENDACTDEFID(CommonConstants.PARTY_SEND_TO); + sendDto.setSJZT(CommonConstants.PARTY_ITEM_ZT_ONE); + }else{ + //民生、正常议题转项目来的到街道平台 + sendDto.setSENDACTDEFID(CommonConstants.PARTY_SEND_STREET); + if(ItemHandleCategoryEnum.HANDLE_CLOSING_CASE_APPLY.getValue() == dto.getHandleCategory()){ + //结案申请 + sendDto.setSJZT(CommonConstants.PARTY_ITEM_ZT_ZERO); + }else { + //吹哨 + sendDto.setSJZT(CommonConstants.PARTY_ITEM_ZT_ONE); + } + } sendDto.setSENDACTDEFID(CommonConstants.PARTY_SEND_TO); //推送端记录唯一标识 sendDto.setUID(UUID.randomUUID().toString().trim().replaceAll("-", "")); @@ -1498,13 +1524,28 @@ public class ItemServiceImpl extends BaseServiceImpl implem //所属区市:只有市北区 sendDto.setSSQS(CommonConstants.CITY_INFO_CODE); //查询网格所对应的社区编码、街道编码 - Result deptResult = adminFeignClient.getDeptInfoCode(itemEntity.getGridId()); - DeptInfoCodeDTO deptInfo = deptResult.getData(); - if(deptInfo == null){ - throw new RenException("根据网格ID获取对应的社区编码、街道编码失败" + deptResult.getMsg()); + if(StringUtils.isNotBlank(itemEntity.getPeopleFlag()) && "2".equals(itemEntity.getPeopleFlag())){ + //执法诉求gridId存的是街道id,需要单独查 + Result streetResult = adminFeignClient.getSysDeptInfo(itemEntity.getGridId()); + SysDeptDTO deptInfo = streetResult.getData(); + if(deptInfo == null){ + throw new RenException("根据街道ID获取对应的街道编码失败" + streetResult.getMsg()); + } + //所属街道 + sendDto.setSSJD(deptInfo.getInfoCode()); + //事件描述 + sendDto.setSJMS("测试事件,请勿处理"+getItemLawContent(itemEntity.getId())); + }else{ + Result deptResult = adminFeignClient.getDeptInfoCode(itemEntity.getGridId()); + DeptInfoCodeDTO deptInfo = deptResult.getData(); + if(deptInfo == null){ + throw new RenException("根据网格ID获取对应的社区编码、街道编码失败" + deptResult.getMsg()); + } + //所属街道 + sendDto.setSSJD(deptInfo.getStreetInfoCode()); + //事件描述 + sendDto.setSJMS("测试事件,请勿处理"+itemEntity.getItemContent());// } - //所属街道 - sendDto.setSSJD(deptInfo.getStreetInfoCode()); //所属社区 sendDto.setSSSQ("");//deptInfo.getCommunityInfoCode() //诉求联系人及联系方式 @@ -1516,8 +1557,6 @@ public class ItemServiceImpl extends BaseServiceImpl implem } //事件地址 sendDto.setSJDZ(itemEntity.getIssueAddress()); - //事件描述 - sendDto.setSJMS(itemEntity.getItemContent());// log.info("处理项目-gps开始"); double[] gps = GPSUtils.gcj02_To_Gps84(itemEntity.getIssueLatitude(), itemEntity.getIssueLongitude()); log.info("处理项目-gps结束"); @@ -1531,6 +1570,8 @@ public class ItemServiceImpl extends BaseServiceImpl implem List handleList = getHandleList(itemEntity.getId(),handleImagesList); log.info("处理项目-获取进度结束"); sendDto.setHandleList(handleList); + //备注 + sendDto.setBZXX(dto.getOutHandleAdvice()); //图片 List images = getImageFileNew(itemEntity.getEventId() == null?itemEntity.getId():itemEntity.getEventId(),handleImagesList);//事件图片+处理流程图片 //时间处理进度图片 @@ -1539,6 +1580,30 @@ public class ItemServiceImpl extends BaseServiceImpl implem return sendDto; } + private String getItemLawContent(String itemId){ + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("item_id", itemId); + wrapper.eq("del_flag", "0"); + ItemLawEntity itemLaw = itemLawDao.selectOne(wrapper); + String result = "事项名称-" + itemLaw.getLawName() + + ";诉求详情-"+itemLaw.getLawContent() + + ";主办单位-"+itemLaw.getHostUnit() + + ";协办单位-"+itemLaw.getAssistUnit() + + ";有关需求-"+itemLaw.getDemand() + + ";事项类型-"+("0".equals(itemLaw.getLawType())?"计划事项":"临时事项") + + ";与部门是否沟通-"+("0".equals(itemLaw.getIsExchange())?"已经沟通":"尚未沟通") + + ";召集人姓名-"+itemLaw.getConvenerName() + + ";召集人职务-"+itemLaw.getConvenerJob() + + ";召集人电话-"+itemLaw.getConvenerMobile() + + ";联系人姓名-"+itemLaw.getContactName() + + ";联系人职务-"+itemLaw.getContactJob() + + ";联系人电话-"+itemLaw.getContactMobile() + + ";报到时间-"+DateUtils.format(itemLaw.getReportTime(),DateUtils.DATE_TIME_PATTERN) + + ";报到地点-"+itemLaw.getReportAddress() + + ";会议名称-"+itemLaw.getMeetingName()+"。"; + return result; + } + private List getHandleList(String itemId, List handleImagesList) { //未组装的事件处理流程 List handleList = baseDao.selectListOfItemHandleProgressByMobile(itemId); @@ -1560,16 +1625,59 @@ public class ItemServiceImpl extends BaseServiceImpl implem } handleProcess.setItemDeptDTOS(itemDepts); - if (ipr.getState() == 0 && ipr.getItemDeptDTOS().size() > 0) { - handleProcess.setState("吹哨"); - } else if (ipr.getState() == 0 && ipr.getItemDeptDTOS().size() == 0) { - handleProcess.setState("办理"); - } else if (ipr.getState() == 5) { - handleProcess.setState("关闭"); +// if (ipr.getState() == 0 && ipr.getItemDeptDTOS().size() > 0) { +// handleProcess.setState("吹哨"); +// } else if (ipr.getState() == 0 && ipr.getItemDeptDTOS().size() == 0) { +// handleProcess.setState("办理"); +// } else if (ipr.getState() == 5) { +// handleProcess.setState("关闭"); +// } else if (ipr.getState() == 10) { +// handleProcess.setState("结案"); +// } else if ( ipr.getState() == 11 || ipr.getState() == 12 || ipr.getState() == 13) { +// handleProcess.setState("满意度评价"); +// } else if (ipr.getState() == 15) { +// handleProcess.setState("上报网格化平台"); +// } else if (ipr.getState() == 20) { +// handleProcess.setState("网格化平台-受理"); +// } else if (ipr.getState() == 25) { +// handleProcess.setState("网格化平台-立案"); +// } else if (ipr.getState() == 30) { +// handleProcess.setState("网格化平台-派遣"); +// } else if (ipr.getState() == 35) { +// handleProcess.setState("网格化平台-再派遣"); +// } else if (ipr.getState() == 40) { +// handleProcess.setState("网格化平台-接单"); +// } else if (ipr.getState() == 45) { +// handleProcess.setState("网格化平台-处置完成"); +// } else if (ipr.getState() == 50) { +// handleProcess.setState("网格化平台-中间督办"); +// } else if (ipr.getState() == 55) { +// handleProcess.setState("网格化平台-催办"); +// } else if (ipr.getState() == 60) { +// handleProcess.setState("网格化平台-结案"); +// } else if (ipr.getState() == 65) { +// handleProcess.setState("网格化平台-办理"); +// } else if (ipr.getState() == 70) { +// handleProcess.setState("网格化平台-批转"); +// } else if (ipr.getState() == 75) { +// handleProcess.setState("网格化平台-退单"); +// } else if (ipr.getState() == 80) { +// handleProcess.setState("网格化平台-办结"); +// } else { +// handleProcess.setState(ipr.getState().toString()); +// } + if (ipr.getState() == 0) { + handleProcess.setState("处理中"); + }else if (ipr.getState() == 5) { + handleProcess.setState("不予受理"); } else if (ipr.getState() == 10) { - handleProcess.setState("结案"); - } else if ( ipr.getState() == 11 || ipr.getState() == 12 || ipr.getState() == 13) { - handleProcess.setState("满意度评价"); + handleProcess.setState("已结案"); + } else if ( ipr.getState() == 11) { + handleProcess.setState("结案申请"); + } else if ( ipr.getState() == 12) { + handleProcess.setState("响应拟办"); + } else if ( ipr.getState() == 13) { + handleProcess.setState("直接办理"); } else if (ipr.getState() == 15) { handleProcess.setState("上报网格化平台"); } else if (ipr.getState() == 20) { @@ -1589,7 +1697,7 @@ public class ItemServiceImpl extends BaseServiceImpl implem } else if (ipr.getState() == 55) { handleProcess.setState("网格化平台-催办"); } else if (ipr.getState() == 60) { - handleProcess.setState("网格化平台-结案"); + handleProcess.setState("网格化平台-结案"); } else if (ipr.getState() == 65) { handleProcess.setState("网格化平台-办理"); } else if (ipr.getState() == 70) { @@ -1741,12 +1849,12 @@ public class ItemServiceImpl extends BaseServiceImpl implem itemGridPlatformEntity.setReferenceId(handleProcessEntity.getItemId()); itemGridPlatformEntity.setTaskid(sendResult.getP_recId()); itemGridPlatformEntity.setReportPersonDeptId(handleProcessEntity.getHandlerDeptId()); - itemGridPlatformEntity.setStatus(ItemGridPlatformHandleStatusEnum.HANDLE_SB.getValue()); + itemGridPlatformEntity.setStatus(handleProcessEntity.getState()); itemGridPlatformService.insert(itemGridPlatformEntity); GridPlatformHandleLogEntity logEntity = new GridPlatformHandleLogEntity(); logEntity.setItemGridPlatformId(itemGridPlatformEntity.getId()); - logEntity.setStatus(ItemGridPlatformHandleStatusEnum.HANDLE_SB.getValue()); + logEntity.setStatus(handleProcessEntity.getState()); logEntity.setItemHandleProcessId(handleProcessEntity.getItemId()); logEntity.setHandler(user.getRealName()); logEntity.setHandlingOpinions(handleProcessEntity.getHandleAdvice()); @@ -2159,6 +2267,28 @@ public class ItemServiceImpl extends BaseServiceImpl implem itemDeptService.savePeopleSubmitInfo(entity); // 保存图片 imgService.saveImages(formDto.getImages(), entity.getId(), ImageConstant.TYPE_IMAGE_BIZ_ITEMS); + // 插入项目处理流程表 + ItemHandleProcessEntity itemHandleProcessEntity = new ItemHandleProcessEntity(); + itemHandleProcessEntity.setItemId(entity.getId()); + itemHandleProcessEntity.setState(ItemHandleCategoryEnum.HANDLE_I_HANDLE.getValue()); + if("0".equals(formDto.getPeopleFlag())){ + itemHandleProcessEntity.setHandleAdvice("民生诉求上报"); + itemHandleProcessEntity.setOutHandleAdvice("民生诉求上报"); + }else{ + itemHandleProcessEntity.setHandleAdvice("发展诉求上报"); + itemHandleProcessEntity.setOutHandleAdvice("发展诉求上报"); + } + itemHandleProcessEntity.setHandlerDeptId(entity.getGridId()); + itemHandleProcessEntity.setHandlerDept(entity.getGrid()); + itemHandleProcessService.insert(itemHandleProcessEntity); + //发送事件至区中心 + if("1".equals(formDto.getPeopleFlag())){ + ItemHandleSubmitFormDTO dto = new ItemHandleSubmitFormDTO(); + dto.setId(entity.getId()); + dto.setOutHandleAdvice(itemHandleProcessEntity.getOutHandleAdvice()); + dto.setHandleCategory(ItemHandleCategoryEnum.HANDLE_CLOSING_CASE_APPLY.getValue()); + sendItemToDsf(dto,itemHandleProcessEntity); + } return new Result(); } @@ -2277,4 +2407,66 @@ public class ItemServiceImpl extends BaseServiceImpl implem return new PageData<>(list, page.getTotal()); } + @Override + @Transactional(rollbackFor = Exception.class) + public Result examineCase(ExamineCaseFormDTO formDto) { + UserDetail user = SecurityUser.getUser(); + if (null == user) { + throw new RuntimeException("获取用户信息失败"); + } + + ItemHandleProcessEntity process = new ItemHandleProcessEntity(); + process.setItemId(formDto.getItemId()); + process.setOutHandleAdvice(formDto.getOutHandleAdvice()); + process.setHandlerDept(user.getDeptName()); + process.setHandlerDeptId(user.getDeptId()); + if("0".equals(formDto.getCheckFlag())){ + //同意 + process.setState(11);//结案申请 + }else if("1".equals(formDto.getCheckFlag())){ + //不同意,返回网格待处理列表 + process.setState(0);//待处理 + }else{ + throw new RenException("审批标识有误"); + } + itemHandleProcessDao.insert(process); + + if("0".equals(formDto.getCheckFlag())){ + //发送结案申请至街道网格化平台 + ItemHandleSubmitFormDTO dto = new ItemHandleSubmitFormDTO(); + dto.setId(formDto.getItemId()); + dto.setOutHandleAdvice(process.getOutHandleAdvice()); + dto.setHandleCategory(ItemHandleCategoryEnum.HANDLE_CLOSING_CASE_APPLY.getValue()); + sendItemToDsf(dto,process); + } + return new Result(); + } + + /** + * @describe: 上报项目至网格化平台并保存记录 + * @author wangtong + * @date 2022/9/5 14:37 + * @params [dto] + * @return void + */ + @Transactional(rollbackFor = Exception.class) + public void sendItemToDsf(ItemHandleSubmitFormDTO dto,ItemHandleProcessEntity process){ + boolean reportFlag = this.checkReport(dto.getId()); + if (reportFlag) { + throw new RenException("当前项目已上报网格化平台"); + } + SendEventResultDto sendResult = null; + try { + sendResult = this.reportCaseNew(dto); + } catch (Exception e) { + throw new RenException("上报网格化平台接口失败" + sendResult.getMessage()); + } + if (null == sendResult || !("0").equals(sendResult.getCode())) { + // 接口没有返回信息,也没有异常信息 + throw new RenException("上报网格化平台接口失败" + sendResult.getMessage()); + } + // 记录平台上报信息 + this.saveItemGridPlatformInfo(sendResult, process); + } + } diff --git a/renren-cloud-generator/src/main/resources/application.yml b/renren-cloud-generator/src/main/resources/application.yml index a682d3403..b5b99c072 100644 --- a/renren-cloud-generator/src/main/resources/application.yml +++ b/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