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 fe67bef009..6cefd55a53 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 @@ -324,4 +324,13 @@ public interface GovOrgOpenFeignClient { **/ @GetMapping("/gov/org/customergrid/getGridIdsInCommunity/{gridId}") Result> getGridIdsInCommunity(@PathVariable("gridId") String gridId); + + /** + * @param agencyId + * @return + * @Author sun + * @Description 根据当前组织ID查询上两级组织、当前组织和所有下级(迭代)组织 + **/ + @PostMapping(value = "/gov/org/customeragency/getprocessorlist/{agencyId}") + Result getProcessorList(@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 d9d5be0a84..f34b6f53ae 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 @@ -187,4 +187,9 @@ public class GovOrgOpenFeignClientFallback implements GovOrgOpenFeignClient { public Result> getGridIdsInCommunity(String gridId) { return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getGridIdsInCommunity", gridId); } + + @Override + public Result getProcessorList(String agencyId) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getProcessorList", agencyId); + } } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java index c7d3a8c09a..d1d8568a58 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java @@ -335,5 +335,15 @@ public class ProjectTraceController { return new Result(); } + /** + * @param tokenDTO + * @Author sun + * @Description 项目立项组织树查询--查询当前工作人员所属组织,上两级组织,所有下级组织 + **/ + @PostMapping("approvalagencylist") + public Result approvalAgencyList(@LoginUser TokenDto tokenDTO) { + return new Result().ok(projectTraceService.approvalAgencyList(tokenDTO)); + } + } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectTraceService.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectTraceService.java index f692900851..f828489fe3 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectTraceService.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectTraceService.java @@ -159,4 +159,11 @@ public interface ProjectTraceService { * @return void */ void sendTo(TokenDto tokenDto, SendToFormDTO formDTO); + + /** + * @param tokenDTO + * @Author sun + * @Description 项目立项组织树查询--查询当前工作人员所属组织,上两级组织,所有下级组织 + **/ + ProcessorListResultDTO approvalAgencyList(TokenDto tokenDTO); } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java index d3b4e1d55f..884378fec8 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java @@ -11,12 +11,15 @@ import com.epmet.dto.ProjectStaffDTO; import com.epmet.dto.form.*; import com.epmet.dto.result.*; import com.epmet.entity.ProjectStaffEntity; +import com.epmet.feign.EpmetUserOpenFeignClient; import com.epmet.feign.GovOrgFeignClient; +import com.epmet.feign.GovOrgOpenFeignClient; import com.epmet.service.*; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; +import org.springframework.util.StringUtils; import java.util.ArrayList; import java.util.List; @@ -45,6 +48,10 @@ public class ProjectTraceServiceImpl implements ProjectTraceService { private ProjectProcessAttachmentDao attachmentDao; @Autowired private ProjectSubProcessService projectSubProcessService; + @Autowired + private EpmetUserOpenFeignClient epmetUserOpenFeignClient; + @Autowired + private GovOrgOpenFeignClient govOrgOpenFeignClient; @Override public List getPendProjectList(TokenDto tokenDto, ProjectListFromDTO fromDTO) { @@ -213,4 +220,29 @@ public class ProjectTraceServiceImpl implements ProjectTraceService { projectService.sendTo(formDTO); } + /** + * @param tokenDTO + * @Author sun + * @Description 项目立项组织树查询--查询当前工作人员所属组织,上两级组织,所有下级组织 + **/ + @Override + public ProcessorListResultDTO approvalAgencyList(TokenDto tokenDTO) { + //1.获取token用户所属组织信息 + LoginUserDetailsFormDTO dto = new LoginUserDetailsFormDTO(); + dto.setApp(tokenDTO.getApp()); + dto.setClient(tokenDTO.getClient()); + dto.setUserId(tokenDTO.getUserId()); + Result resultDto = epmetUserOpenFeignClient.getLoginUserDetails(dto); + if (!resultDto.success() || StringUtils.isEmpty(resultDto.getData().getAgencyId())) { + throw new RenException(String.format("调用user服务查询用户数据失败,userId->", tokenDTO.getUserId())); + } + + //2.根据组织Id查询当前组织上两级组织、本级组织、所有下级组织信息 + Result result = govOrgOpenFeignClient.getProcessorList(resultDto.getData().getAgencyId()); + if (!resultDto.success()) { + throw new RenException(String.format("调用org服务查询用户数据失败,userId->", tokenDTO.getUserId())); + } + return result.getData(); + } + }