diff --git a/epmet-module/data-report/data-report-server/pom.xml b/epmet-module/data-report/data-report-server/pom.xml index 3f0c56a777..5cc1d89587 100644 --- a/epmet-module/data-report/data-report-server/pom.xml +++ b/epmet-module/data-report/data-report-server/pom.xml @@ -14,6 +14,11 @@ 4.0.0 + + com.epmet + gov-org-client + 2.0.0 + com.epmet data-report-client diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/project/ProjectController.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/project/ProjectController.java index 47a4765288..cd6648151c 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/project/ProjectController.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/project/ProjectController.java @@ -1,12 +1,13 @@ -package com.epmet.module.project.controller; +package com.epmet.datareport.controller.project; import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; -import com.epmet.module.project.service.ProjectService; +import com.epmet.datareport.service.project.ProjectService; import com.epmet.project.constant.ProjectConstant; +import com.epmet.project.dto.form.DifficultyRankFormDTO; import com.epmet.project.dto.form.ProjectIncrTrendFormDTO; import com.epmet.project.dto.result.*; import org.springframework.beans.factory.annotation.Autowired; @@ -40,7 +41,7 @@ public class ProjectController { /** * @Author sun - * @Description 数据-项目-获取组织下饼图数据 + * @Description t **/ @PostMapping("summaryinfo") public Result> summaryInfo(@LoginUser TokenDto tokenDto) { @@ -78,4 +79,33 @@ public class ProjectController { return new Result>().ok(projectService.getProjectIncrTrend(tokenDto, formDTO)); } + /** + * @Description 难点赌点-耗时最长|涉及部门最多|处理次数 + * @NEI https://nei.netease.com/interface/detail/res/?pid=57068&id=321614 + * @param param + * @return + * @author jiangyy + * @date 2020.10.19 16:38 + **/ + @PostMapping("difficultyrank") + public Result> difficultyRank(@RequestBody DifficultyRankFormDTO param){ + ValidatorUtils.validateEntity(param, DifficultyRankFormDTO.DifficultyRankInternalGroup.class); + return new Result>().ok(projectService.getDifficultyRank(param)); + } + + /** + * @Description 难点赌点-耗时最长|涉及部门最多|处理次数 + * @NEI https://nei.netease.com/interface/detail/res/?pid=57068&id=321614 + * @param tokenDto + * @return + * @author jiangyy + * @date 2020.10.19 16:38 + **/ + @PostMapping("mynextagency") + public Result> myNextAgency(@LoginUser TokenDto tokenDto){ + return new Result>().ok(projectService.getMyNextAgency(tokenDto)); + } + + + } diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/project/ProjectDao.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/project/ProjectDao.java index b8920580bf..870c25a6d2 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/project/ProjectDao.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/project/ProjectDao.java @@ -1,6 +1,7 @@ package com.epmet.datareport.dao.project; import com.epmet.project.dto.FactAgencyProjectDailyDTO; +import com.epmet.project.dto.form.DifficultyRankFormDTO; import com.epmet.project.dto.result.*; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -55,4 +56,22 @@ public interface ProjectDao { * @Description 查询机关月统计近十二个月数据 **/ List selectIncrTrendMonthly(@Param("agencyId") String agencyId); + + /** + * @Description 查询难点赌点-耗时最长|涉及部门最多|处理次数 + * @param + * @return + * @author jiangyy + * @date 2020.10.19 16:38 + **/ + List difficultyRank(DifficultyRankFormDTO difficultyRankFormDTO); + + /** + * @Description 查询难点堵点的图片list + * @param + * @return + * @author jiangyy + * @date 2020.10.20 10:13 + **/ + List getDifficultyImgList(String eventId); } diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/project/ProjectService.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/project/ProjectService.java index baa6e664e0..a51d157689 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/project/ProjectService.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/project/ProjectService.java @@ -1,6 +1,7 @@ -package com.epmet.module.project.service; +package com.epmet.datareport.service.project; import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.project.dto.form.DifficultyRankFormDTO; import com.epmet.project.dto.form.ProjectIncrTrendFormDTO; import com.epmet.project.dto.result.*; @@ -41,4 +42,23 @@ public interface ProjectService { * @Description 数据-项目-日/月数据查询 **/ List getProjectIncrTrend(TokenDto tokenDto, ProjectIncrTrendFormDTO formDTO); + + /** + * @Description 难点赌点-耗时最长|涉及部门最多|处理次数 + * @NEI https://nei.netease.com/interface/detail/res/?pid=57068&id=321614 + * @param param + * @return + * @author jiangyy + * @date 2020.10.19 16:38 + **/ + List getDifficultyRank(DifficultyRankFormDTO param); + + /** + * @Description 难点赌点-获取组织下拉框 + * @NEI https://nei.netease.com/interface/detail/res/?pid=57068&id=321614 + * @return + * @author jiangyy + * @date 2020.10.19 16:38 + **/ + List getMyNextAgency(TokenDto tokenDto); } diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/project/impl/ProjectServiceImpl.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/project/impl/ProjectServiceImpl.java index 41af9351ac..376ac9ffad 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/project/impl/ProjectServiceImpl.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/project/impl/ProjectServiceImpl.java @@ -1,16 +1,26 @@ package com.epmet.datareport.service.project.impl; +import com.epmet.commons.dynamic.datasource.annotation.DataSource; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.DateUtils; +import com.epmet.commons.tools.utils.Result; +import com.epmet.constant.DataSourceConstant; import com.epmet.datareport.dao.project.ProjectDao; +import com.epmet.dto.CustomerAgencyDTO; import com.epmet.dto.form.LoginUserDetailsFormDTO; +import com.epmet.dto.form.SubAgencyFormDTO; +import com.epmet.dto.result.GridByStaffResultDTO; import com.epmet.dto.result.LoginUserDetailsResultDTO; +import com.epmet.dto.result.SubAgencyResultDTO; +import com.epmet.dto.result.SubListResultDTO; import com.epmet.feign.EpmetUserOpenFeignClient; -import com.epmet.module.project.service.ProjectService; +import com.epmet.feign.GovOrgOpenFeignClient; +import com.epmet.datareport.service.project.ProjectService; import com.epmet.project.constant.ProjectConstant; import com.epmet.project.dto.FactAgencyProjectDailyDTO; +import com.epmet.project.dto.form.DifficultyRankFormDTO; import com.epmet.project.dto.form.ProjectIncrTrendFormDTO; import com.epmet.project.dto.result.*; import org.springframework.beans.BeanUtils; @@ -36,6 +46,9 @@ public class ProjectServiceImpl implements ProjectService { @Autowired private EpmetUserOpenFeignClient epmetUserOpenFeignClient; + @Autowired + private GovOrgOpenFeignClient govOrgOpenFeignClient; + /** * @Author sun * @Description 数据-项目-获取汇总数据 @@ -183,4 +196,98 @@ public class ProjectServiceImpl implements ProjectService { return agencyId; } + /** + * @author jiangyy + * @Description 获取userId + */ + private String getLoginUserUserId(TokenDto tokenDto) { + LoginUserDetailsFormDTO dto = new LoginUserDetailsFormDTO(); + BeanUtils.copyProperties(tokenDto, dto); + LoginUserDetailsResultDTO data = epmetUserOpenFeignClient.getLoginUserDetails(dto).getData(); + String userId = data.getUserId(); + if (null == userId || "".equals(userId)) { + throw new RenException(ProjectConstant.GET_AGENCYID); + } + return userId; + } + + /** + * @Description 难点赌点-获取组织下拉框 + * @NEI https://nei.netease.com/interface/detail/res/?pid=57068&id=321614 + * @return + * @author jiangyy + * @date 2020.10.19 16:38 + **/ + @Override + public List getMyNextAgency(TokenDto tokenDto) { + List resultList = new ArrayList<>(); + + //1、根据token获取本级agencyId、获取userId + String agencyId = getLoginUserDetails(tokenDto); + String userId=getLoginUserUserId(tokenDto); + + //2、获取本级组织机构 + Result customerAgencyDTO = govOrgOpenFeignClient.getAgencyById(agencyId); + ProjectNextAgencyResultDTO angencyDto = new ProjectNextAgencyResultDTO(); + angencyDto.setOrgId(agencyId); + angencyDto.setOrgName(customerAgencyDTO.getData().getOrganizationName()); + angencyDto.setOrgType(customerAgencyDTO.getData().getLevel()); + resultList.add(angencyDto); + + + //3、获取下一级组织机构\网格 + if( customerAgencyDTO.getData().getLevel() == "community" ){ + //取下级网格 + Result> gridListResult = govOrgOpenFeignClient.listGridsbystaffid(userId); + List gridList = gridListResult.getData(); + for(int i=0;i SubAgencyResultDTO = govOrgOpenFeignClient.subAgencyList(form); + + List subAgencyList = SubAgencyResultDTO.getData().getAgencyList(); + for(int i=0;i(); + return resultList; + } + + /** + * @Description 难点赌点-耗时最长|涉及部门最多|处理次数 + * @NEI https://nei.netease.com/interface/detail/res/?pid=57068&id=321614 + * @param param + * @return + * @author jiangyy + * @date 2020.10.19 16:38 + **/ + @DataSource(value = DataSourceConstant.EVALUATION_INDEX,datasourceNameFromArg = true) + @Override + public List getDifficultyRank(DifficultyRankFormDTO param) { + List result = projectDao.difficultyRank(param); + for (int i = 0; i < result.size (); i ++){ + List imgUrlList ; + imgUrlList = projectDao.getDifficultyImgList(result.get(i).getProjectId()) ; + + result.get(i).setImgUrlList(imgUrlList); + } + if(null == result) return new ArrayList<>(); + return result; + } + } diff --git a/epmet-module/data-report/data-report-server/src/main/resources/mapper/project/ProjectDao.xml b/epmet-module/data-report/data-report-server/src/main/resources/mapper/project/ProjectDao.xml index 21b472e4de..04fa7f0d4f 100644 --- a/epmet-module/data-report/data-report-server/src/main/resources/mapper/project/ProjectDao.xml +++ b/epmet-module/data-report/data-report-server/src/main/resources/mapper/project/ProjectDao.xml @@ -234,4 +234,39 @@ )a ORDER BY a.month_id DESC,a.type ASC + + + + + \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/SubAgencyFormDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/SubAgencyFormDTO.java index 6cdf21a193..ce80929e97 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/SubAgencyFormDTO.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/SubAgencyFormDTO.java @@ -39,5 +39,10 @@ public class SubAgencyFormDTO implements Serializable { @NotBlank(message = "机关组织ID不能为空") private String agencyId; + /** + * 机关组织数量 + */ + private Integer agencyNum = 10; + } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/SubListResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/SubListResultDTO.java index 17dc985695..b6bf347332 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/SubListResultDTO.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/SubListResultDTO.java @@ -41,5 +41,9 @@ public class SubListResultDTO implements Serializable { */ private String agencyName = ""; + /** + * 机关组织级别 + */ + private String agencyLevel = ""; } \ No newline at end of file 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 2ebce80475..2856183dd3 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 @@ -250,4 +250,13 @@ public interface GovOrgOpenFeignClient { **/ @PostMapping("/gov/org/customeragency/userinfoext") Result userInfoExt(@RequestBody ExtUserInfoResultDTO result); + + /** + * @param formDTO + * @return + * @Author sun + * @Description 组织首页-下级机关列表 + */ + @PostMapping("/gov/org/agency/subagencylist") + Result subAgencyList(@RequestBody SubAgencyFormDTO formDTO); } 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 8f70da4530..b132ebec6a 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 @@ -146,4 +146,9 @@ public class GovOrgOpenFeignClientFallback implements GovOrgOpenFeignClient { public Result userInfoExt(ExtUserInfoResultDTO result) { return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "userInfoExt", result); } + + @Override + public Result subAgencyList(SubAgencyFormDTO formDTO) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "subAgencyList", formDTO); + } } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java index cb1865ba35..08154a921d 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java @@ -38,7 +38,6 @@ import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; -import javax.xml.validation.Validator; import java.util.HashMap; import java.util.List; import java.util.Map; 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 eeeecf60db..8c404a53c2 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 @@ -57,7 +57,7 @@ public interface CustomerAgencyDao extends BaseDao { * @Author sun * @Description 组织首页-下级机关列表 **/ - List selectSubAgencyById(@Param("pId") String pId); + List selectSubAgencyById(@Param("pId") String pId, @Param("agencyNum") Integer agencyNum); /** * @param pId diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java index 826e186d7f..9171f61c9d 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java @@ -25,14 +25,12 @@ import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.constant.CustomerAgencyConstant; import com.epmet.constant.RoleKeyConstants; -import com.epmet.constant.UserWorkType; import com.epmet.dao.CustomerAgencyDao; import com.epmet.dto.CustomerAgencyDTO; import com.epmet.dto.GovStaffRoleDTO; import com.epmet.dto.form.*; import com.epmet.dto.result.*; import com.epmet.entity.CustomerAgencyEntity; -import com.epmet.feign.EpmetUserFeignClient; import com.epmet.feign.EpmetUserOpenFeignClient; import com.epmet.redis.CustomerAgencyRedis; import com.epmet.service.AgencyService; @@ -177,7 +175,7 @@ public class AgencyServiceImpl implements AgencyService { public Result removeAgency(RemoveAgencyFormDTO formDTO) { Result result = new Result(); //1:查询当前机关是否存在所属下级机关,存在下级的不能删除 - List agencyList = customerAgencyDao.selectSubAgencyById(formDTO.getAgencyId()); + List agencyList = customerAgencyDao.selectSubAgencyById(formDTO.getAgencyId(), 10); if (null != agencyList && agencyList.size() > NumConstant.ZERO) { result.setCode(EpmetErrorCode.NOT_DEL_AGENCY.getCode()); result.setMsg(EpmetErrorCode.NOT_DEL_AGENCY.getMsg()); @@ -238,7 +236,7 @@ public class AgencyServiceImpl implements AgencyService { public Result subAgencyList(SubAgencyFormDTO formDTO) { SubAgencyResultDTO subAgencyResultDTO = new SubAgencyResultDTO(); //1:根据当前机关Id查询直属下一级机关列表 - List agencyList = customerAgencyDao.selectSubAgencyById(formDTO.getAgencyId()); + List agencyList = customerAgencyDao.selectSubAgencyById(formDTO.getAgencyId(),formDTO.getAgencyNum()); subAgencyResultDTO.setAgencyList(null == agencyList ? new ArrayList() : agencyList); //2:统计下一级机关数 subAgencyResultDTO.setSubAgencyCount(agencyList.size()); diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml index 0721780e09..43ed9bb5e3 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml @@ -62,12 +62,13 @@