From 16c6c23caa0a5b6bc99986e8a87218186309ef2c Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Wed, 4 Nov 2020 17:55:22 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=96=E6=8C=82=E6=8E=A5=E5=8F=A3-=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E7=BB=84=E7=BB=87=E9=83=A8=E9=97=A8=E7=BD=91=E6=A0=BC?= =?UTF-8?q?=E6=A0=91=E3=80=81=E6=9F=A5=E8=AF=A2=E7=BB=84=E7=BB=87=E6=88=96?= =?UTF-8?q?=E7=BD=91=E6=A0=BC=E5=AF=B9=E5=BA=94=E7=BB=84=E7=BB=87=E4=BF=A1?= =?UTF-8?q?=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/controller/OpenUpController.java | 10 +++ .../java/com/epmet/service/OpenUpService.java | 16 ++-- .../epmet/service/impl/OpenUpServiceImpl.java | 18 ++++- .../com/epmet/dto/form/AgencyInfoFormDTO.java | 21 +++-- .../dto/result/OrganizeTreeDeptResultDTO.java | 31 +++++++ .../dto/result/OrganizeTreeGridResultDTO.java | 31 +++++++ .../dto/result/OrganizeTreeResultDTO.java | 50 ++++++++++++ .../epmet/feign/GovOrgOpenFeignClient.java | 9 ++- .../GovOrgOpenFeignClientFallback.java | 5 ++ .../controller/CustomerAgencyController.java | 9 +++ .../java/com/epmet/dao/CustomerAgencyDao.java | 21 +++++ .../epmet/service/CustomerAgencyService.java | 6 ++ .../impl/CustomerAgencyServiceImpl.java | 22 ++++- .../resources/mapper/CustomerAgencyDao.xml | 81 +++++++++++++++++++ .../epmet/dto/form/OrganizeTreeFormDTO.java | 21 +++++ 15 files changed, 332 insertions(+), 19 deletions(-) create mode 100644 epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/OrganizeTreeDeptResultDTO.java create mode 100644 epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/OrganizeTreeGridResultDTO.java create mode 100644 epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/OrganizeTreeResultDTO.java create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/OrganizeTreeFormDTO.java diff --git a/epmet-module/epmet-ext/epmet-ext-server/src/main/java/com/epmet/controller/OpenUpController.java b/epmet-module/epmet-ext/epmet-ext-server/src/main/java/com/epmet/controller/OpenUpController.java index 9884efe1b2..eecf737391 100644 --- a/epmet-module/epmet-ext/epmet-ext-server/src/main/java/com/epmet/controller/OpenUpController.java +++ b/epmet-module/epmet-ext/epmet-ext-server/src/main/java/com/epmet/controller/OpenUpController.java @@ -112,5 +112,15 @@ public class OpenUpController { return new Result().ok(openUpService.agencyInfo(formDTO)); } + /** + * @Description 外挂-获取当前组织及部门、网格数据,递归查询所有下级数据 + * @author sun + **/ + @PostMapping("organizetree") + Result organizeTree(@RequestBody OrganizeTreeFormDTO formDTO){ + ValidatorUtils.validateEntity(formDTO, OrganizeTreeFormDTO.StaffIdGroup.class); + return new Result().ok(openUpService.organizeTree(formDTO)); + } + } diff --git a/epmet-module/epmet-ext/epmet-ext-server/src/main/java/com/epmet/service/OpenUpService.java b/epmet-module/epmet-ext/epmet-ext-server/src/main/java/com/epmet/service/OpenUpService.java index d42e164f7e..ceecebc6c5 100644 --- a/epmet-module/epmet-ext/epmet-ext-server/src/main/java/com/epmet/service/OpenUpService.java +++ b/epmet-module/epmet-ext/epmet-ext-server/src/main/java/com/epmet/service/OpenUpService.java @@ -1,13 +1,7 @@ package com.epmet.service; -import com.epmet.dto.form.AgencyInfoFormDTO; -import com.epmet.dto.form.StaffSinAgencyFormDTO; -import com.epmet.dto.form.StaffSinDeptFormDTO; -import com.epmet.dto.form.StaffSinGridFormDTO; -import com.epmet.dto.result.AgencyInfoResultDTO; -import com.epmet.dto.result.StaffSinAgencyResultDTO; -import com.epmet.dto.result.StaffSinDeptResultDTO; -import com.epmet.dto.result.StaffSinGridResultDTO; +import com.epmet.dto.form.*; +import com.epmet.dto.result.*; import java.util.List; @@ -46,4 +40,10 @@ public interface OpenUpService { * @author sun **/ AgencyInfoResultDTO agencyInfo(AgencyInfoFormDTO formDTO); + + /** + * @Description 外挂-获取当前组织及部门、网格数据,递归查询所有下级数据 + * @author sun + **/ + OrganizeTreeResultDTO organizeTree(OrganizeTreeFormDTO formDTO); } diff --git a/epmet-module/epmet-ext/epmet-ext-server/src/main/java/com/epmet/service/impl/OpenUpServiceImpl.java b/epmet-module/epmet-ext/epmet-ext-server/src/main/java/com/epmet/service/impl/OpenUpServiceImpl.java index 2290c84f59..8c497a9c69 100644 --- a/epmet-module/epmet-ext/epmet-ext-server/src/main/java/com/epmet/service/impl/OpenUpServiceImpl.java +++ b/epmet-module/epmet-ext/epmet-ext-server/src/main/java/com/epmet/service/impl/OpenUpServiceImpl.java @@ -6,10 +6,7 @@ import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.utils.Result; import com.epmet.constant.ModuleConstant; import com.epmet.dto.form.*; -import com.epmet.dto.result.AgencyInfoResultDTO; -import com.epmet.dto.result.StaffSinAgencyResultDTO; -import com.epmet.dto.result.StaffSinDeptResultDTO; -import com.epmet.dto.result.StaffSinGridResultDTO; +import com.epmet.dto.result.*; import com.epmet.feign.EpmetUserOpenFeignClient; import com.epmet.feign.GovOrgOpenFeignClient; import com.epmet.service.OpenUpService; @@ -137,4 +134,17 @@ public class OpenUpServiceImpl implements OpenUpService { return result.getData(); } + /** + * @Description 外挂-获取当前组织及部门、网格数据,递归查询所有下级数据 + * @author sun + **/ + @Override + public OrganizeTreeResultDTO organizeTree(OrganizeTreeFormDTO formDTO) { + Result result = govOrgOpenFeignClient.organizeTree(formDTO.getAgencyId()); + if (!result.success()){ + throw new RenException(ModuleConstant.ERROR_AGENCY); + } + return result.getData(); + } + } diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AgencyInfoFormDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AgencyInfoFormDTO.java index 0288dd339e..2d751240cb 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AgencyInfoFormDTO.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AgencyInfoFormDTO.java @@ -7,15 +7,26 @@ import javax.validation.constraints.NotBlank; import java.io.Serializable; /** - * @Author zxc - * @DateTime 2020/8/17 10:37 上午 + * 对外接口-根据组织Id获取组织信息-接口入参 + * @Author sun */ @Data public class AgencyInfoFormDTO implements Serializable { private static final long serialVersionUID = -1719033407335647411L; - @NotBlank(message = "组织Id不能为空" , groups = StaffIdGroup.class) - private String agencyId; - public interface StaffIdGroup extends CustomerClientShowGroup {} + /** + * 组织或网格Id + */ + @NotBlank(message = "组织或网格Id不能为空", groups = StaffIdGroup.class) + private String orgId; + /** + * 组织或网格类型(agency/grid) + */ + @NotBlank(message = "组织或网格类型不能为空", groups = StaffIdGroup.class) + private String orgType; + public interface StaffIdGroup extends CustomerClientShowGroup { + } + + } diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/OrganizeTreeDeptResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/OrganizeTreeDeptResultDTO.java new file mode 100644 index 0000000000..8249d17991 --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/OrganizeTreeDeptResultDTO.java @@ -0,0 +1,31 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description 外挂-部门信息 + * @Auth sun + */ +@Data +public class OrganizeTreeDeptResultDTO implements Serializable { + private static final long serialVersionUID = 1792371558965832432L; + + /** + * 部门Id + * */ + private String deptId; + /** + * 部门名称 + * */ + private String deptName; + /** + * 所有上级组织机构ID(以英文:隔开) + */ + private String pids; + /** + * 所有上级名称,以-连接 + */ + private String allParentName; +} diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/OrganizeTreeGridResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/OrganizeTreeGridResultDTO.java new file mode 100644 index 0000000000..4c855f6956 --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/OrganizeTreeGridResultDTO.java @@ -0,0 +1,31 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description 外挂-网格信息 + * @Auth sun + */ +@Data +public class OrganizeTreeGridResultDTO implements Serializable { + private static final long serialVersionUID = -4531574240525562587L; + + /** + * 网格Id + * */ + private String gridId; + /** + * 网格名称 + * */ + private String gridName; + /** + * 所有上级组织机构ID(以英文:隔开) + */ + private String pids; + /** + * 所有上级名称,以-连接 + */ + private String allParentName; +} diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/OrganizeTreeResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/OrganizeTreeResultDTO.java new file mode 100644 index 0000000000..ee06600de6 --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/OrganizeTreeResultDTO.java @@ -0,0 +1,50 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.List; + +/** + * @Description 外挂-获取当前组织及部门、网格数据,递归查询所有下级数据-接口返参 + * @Auth sun + */ +@Data +public class OrganizeTreeResultDTO implements Serializable { + private static final long serialVersionUID = 2513553862809278219L; + + /** + * 直属机关Id + * */ + private String agencyId; + /** + * 直属机关名称 + * */ + private String agencyName; + /** + * 机关级别(社区级:community, 乡(镇、街道)级:street, 区县级: district, 市级: city 省级:province) + * */ + private String level; + /** + * 所有上级组织机构ID(以英文:隔开) + */ + private String pids; + /** + * 所有上级名称,以-连接 + */ + private String allParentName; + + /** + * 直属机关直属网格列表 + * */ + private List gridList = new ArrayList<>(); + /** + * 直属机关直属部门列表 + * */ + private List departmentList = new ArrayList<>(); + /** + * 子集机关列表 + * */ + private List subAgencyList = new ArrayList<>(); +} diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java index 3fa6739d94..82c64c24eb 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java @@ -262,10 +262,17 @@ public interface GovOrgOpenFeignClient { /** * @param formDTO - * @return * @Author sun * @Description 根据组织Id获取组织信息 */ @PostMapping("/gov/org/customeragency/agencyinfo") Result agencyInfo(@RequestBody AgencyInfoFormDTO formDTO); + + /** + * @param agencyId + * @Author sun + * @Description 获取当前组织及部门、网格数据,递归查询所有下级数据 + */ + @PostMapping("/gov/org/customeragency/organizetree/{agencyId}") + Result organizeTree(@PathVariable("agencyId") String agencyId); } diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java index 4e03cbdc2a..c3811eb323 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java @@ -156,4 +156,9 @@ public class GovOrgOpenFeignClientFallback implements GovOrgOpenFeignClient { public Result agencyInfo(AgencyInfoFormDTO formDTO) { return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "agencyInfo", formDTO); } + + @Override + public Result organizeTree(String agencyId) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "organizeTree", agencyId); + } } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java index a052f79c8f..80acd68b46 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java @@ -251,4 +251,13 @@ public class CustomerAgencyController { Result agencyInfo(@RequestBody AgencyInfoFormDTO formDTO) { return new Result().ok(customerAgencyService.agencyInfo(formDTO)); } + + /** + * @Description 外挂-获取当前组织及部门、网格数据,递归查询所有下级数据 + * @author sun + **/ + @PostMapping("organizetree/{agencyId}") + Result organizeTree(@PathVariable("agencyId") String agencyId) { + return new Result().ok(customerAgencyService.organizeTree(agencyId)); + } } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java index 8c404a53c2..1c6f42456c 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java @@ -175,4 +175,25 @@ public interface CustomerAgencyDao extends BaseDao { * @Description 查询工作人员所属组织信息 **/ AgencyResultDTO selectAgencyByStaffId(@Param("staffId") String staffId); + + /** + * @Description 外挂-获取当前组织及部门、网格数据,递归查询所有下级数据 + * @author sun + **/ + OrganizeTreeResultDTO selectorganizeTree(@Param("agencyId") String agencyId); + /** + * @Description 外挂-获取当前组织及部门、网格数据,递归查询所有下级数据 + * @author sun + **/ + List selectAgencyGridList(@Param("agencyId") String agencyId); + /** + * @Description 外挂-获取当前组织及部门、网格数据,递归查询所有下级数据 + * @author sun + **/ + List selectAgencyDeptList(@Param("agencyId") String agencyId); + /** + * @Description 外挂-获取当前组织及部门、网格数据,递归查询所有下级数据 + * @author sun + **/ + List selectAllSub(@Param("agencyId") String agencyId); } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java index 8430acdf88..9297e8f5f1 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java @@ -219,4 +219,10 @@ public interface CustomerAgencyService extends BaseService * @author sun **/ AgencyInfoResultDTO agencyInfo(AgencyInfoFormDTO formDTO); + + /** + * @Description 外挂-获取当前组织及部门、网格数据,递归查询所有下级数据 + * @author sun + **/ + OrganizeTreeResultDTO organizeTree(String agencyId); } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java index 65206f51a2..e02cb72ddc 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java @@ -1001,7 +1001,18 @@ public class CustomerAgencyServiceImpl extends BaseServiceImpl + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/OrganizeTreeFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/OrganizeTreeFormDTO.java new file mode 100644 index 0000000000..5f7c6b4e4f --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/OrganizeTreeFormDTO.java @@ -0,0 +1,21 @@ +package com.epmet.dto.form; + +import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Description 外挂-获取当前组织及部门、网格数据,递归查询所有下级数据-接口入参 + * @Auth sun + */ +@Data +public class OrganizeTreeFormDTO implements Serializable { + + private static final long serialVersionUID = -5093758817860808310L; + @NotBlank(message = "组织Id不能为空" , groups = StaffIdGroup.class) + private String agencyId; + + public interface StaffIdGroup extends CustomerClientShowGroup{} +}