From aaa632d56c309ce65d1e737e78a87d21110be5e1 Mon Sep 17 00:00:00 2001 From: jianjun Date: Thu, 31 Mar 2022 16:15:51 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E5=88=86=E7=B1=BB=E5=88=86?= =?UTF-8?q?=E6=9E=90=E6=B7=BB=E5=8A=A0=20=E8=AF=9D=E9=A2=98Id?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../result/CategoryProjectResultDTO.java | 2 ++ .../dataaggre/dao/govissue/IssueDao.java | 18 +++++++++---- .../service/govissue/GovIssueService.java | 7 +++++ .../govissue/impl/GovIssueServiceImpl.java | 9 +++++++ .../impl/GovProjectServiceImpl.java | 27 ++++++++++++++----- .../resources/mapper/govissue/IssueDao.xml | 17 +++++++++++- 6 files changed, 67 insertions(+), 13 deletions(-) diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govproject/result/CategoryProjectResultDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govproject/result/CategoryProjectResultDTO.java index 5386febe19..8dc9102b84 100644 --- a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govproject/result/CategoryProjectResultDTO.java +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govproject/result/CategoryProjectResultDTO.java @@ -54,6 +54,8 @@ public class CategoryProjectResultDTO implements Serializable { //二级分类code @JsonIgnore private String categoryCode; + + private String topicId; } } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govissue/IssueDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govissue/IssueDao.java index 17d16fd72d..39b9184284 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govissue/IssueDao.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govissue/IssueDao.java @@ -39,15 +39,15 @@ import java.util.List; public interface IssueDao extends BaseDao { /** - * @Description 查询议题【表决中、已关闭】 + * @Description 查询议题【表决中、已关闭】 * @Param gridIds * @author zxc * @date 2020/12/25 下午2:19 */ - List issueStatusClosedOrVoting(@Param("gridIds") List gridIds, @Param("issueStatus")String issueStatus); + List issueStatusClosedOrVoting(@Param("gridIds") List gridIds, @Param("issueStatus") String issueStatus); /** - * @Description 查询已转项目议题 + * @Description 查询已转项目议题 * @Param gridIds * @author zxc * @date 2020/12/25 下午5:27 @@ -72,7 +72,7 @@ public interface IssueDao extends BaseDao { **/ List selectClosedListGov(ClosedIssueListFormDTO fromDTO); - Integer selectIssueCount(@Param("gridIds") List gridIds,@Param("issueType")String issueType); + Integer selectIssueCount(@Param("gridIds") List gridIds, @Param("issueType") String issueType); List selectShiftProjectIssueList(@Param("customerId") String customerId, @Param("gridId") String gridId); @@ -81,4 +81,12 @@ public interface IssueDao extends BaseDao { * @author sun **/ List getCategoryList(@Param("customerId") String customerId, @Param("level") String level, @Param("isDisable") String isDisable); -} \ No newline at end of file + + /** + * desc:根据议题id获取对应的话题id + * + * @param ids + * @return + */ + List selectIssueTopicIdType(@Param("ids") List ids); +} diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govissue/GovIssueService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govissue/GovIssueService.java index 3e87ea18d3..93001af72b 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govissue/GovIssueService.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govissue/GovIssueService.java @@ -52,4 +52,11 @@ public interface GovIssueService { * @author sun **/ List categoryList(String customerId, String level, String isDisable); + + /** + * desc:根据id 获取议题的话题的话题Id + * @param collect + * @return + */ + List selectIssueTopicIdType(List collect); } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govissue/impl/GovIssueServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govissue/impl/GovIssueServiceImpl.java index 5556d2d3f0..761adb17b2 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govissue/impl/GovIssueServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govissue/impl/GovIssueServiceImpl.java @@ -333,4 +333,13 @@ public class GovIssueServiceImpl implements GovIssueService { return issueDao.getCategoryList(customerId, level, isDisable); } + @Override + public List selectIssueTopicIdType(List ids) { + List dtoList = issueDao.selectIssueTopicIdType(ids); + if (CollectionUtils.isEmpty(dtoList)){ + return new ArrayList<>(); + } + return dtoList; + } + } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govproject/impl/GovProjectServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govproject/impl/GovProjectServiceImpl.java index 6cd219c759..3c4ea9f65c 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govproject/impl/GovProjectServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govproject/impl/GovProjectServiceImpl.java @@ -13,6 +13,7 @@ import com.epmet.commons.tools.redis.common.CustomerStaffRedis; import com.epmet.commons.tools.redis.common.bean.AgencyInfoCache; import com.epmet.commons.tools.redis.common.bean.GridInfoCache; import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.commons.tools.security.user.LoginUserUtil; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.DateUtils; import com.epmet.commons.tools.utils.Result; @@ -23,7 +24,6 @@ import com.epmet.dataaggre.dto.datastats.result.FactAgencyProjectResultDTO; import com.epmet.dataaggre.dto.govissue.IssueProjectCategoryDictDTO; import com.epmet.dataaggre.dto.govissue.result.IssueInfoDTO; import com.epmet.dataaggre.dto.govissue.result.IssueListResultDTO; -import com.epmet.dataaggre.dto.govorg.result.GridsInfoListResultDTO; import com.epmet.dataaggre.dto.govproject.ProjectDTO; import com.epmet.dataaggre.dto.govproject.ProjectRelatedPersonnelDTO; import com.epmet.dataaggre.dto.govproject.ResiEventDTO; @@ -80,6 +80,8 @@ public class GovProjectServiceImpl implements GovProjectService { private EvaluationIndexService evaluationIndexService; @Autowired private EpmetUserService epmetUserService; + @Autowired + private LoginUserUtil loginUserUtil; /** * @Description 查询项目信息 @@ -415,13 +417,13 @@ public class GovProjectServiceImpl implements GovProjectService { formDTO.setToDateId(DateUtils.dateOrmonthId(formDTO.getDateId(), "date", 1)); //1.查询客户下分类信息 List categoryList = govIssueService.categoryList(formDTO.getCustomerId(), null, null); - List categoreCodeList = categoryList.stream().filter(ca -> ca.getParentCategoryCode().equals(formDTO.getCategoryCode())).map(m -> m.getCategoryCode()).collect(Collectors.toList()); + List categoreCodeList = categoryList.stream().filter(ca -> ca.getParentCategoryCode().equals(formDTO.getCategoryCode())).map(IssueProjectCategoryDictDTO::getCategoryCode).collect(Collectors.toList()); formDTO.setCategoreCodeList(categoreCodeList); //2.查询组织及下级截止某一天的某个一级分类下的项目列表 PageInfo result = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize(), formDTO.getIsPage()).doSelectPageInfo(() -> projectDao.categoryProjectList(formDTO)); - if (org.springframework.util.CollectionUtils.isEmpty(result.getList())) { + if (CollectionUtils.isEmpty(result.getList())) { return resultDTO; } resultDTO.setTotal((int) result.getTotal()); @@ -431,7 +433,7 @@ public class GovProjectServiceImpl implements GovProjectService { List list = projectDao.getCategoryList(projectIds); //4.查询来源事件的项目上报的组织信息 - List eventIds = result.getList().stream().filter(re -> "resi_event".equals(re.getOrigin())).map(m -> m.getOriginId()).collect(Collectors.toList()); + List eventIds = result.getList().stream().filter(re -> "resi_event".equals(re.getOrigin())).map(CategoryProjectResultDTO.Project::getOriginId).collect(Collectors.toList()); List eventOrgList = projectDao.getEventOrgList(eventIds); Map eventMap = eventOrgList.stream().collect(Collectors.toMap(ResiEventReportOrgDTO::getResiEventId, Function.identity())); @@ -439,11 +441,19 @@ public class GovProjectServiceImpl implements GovProjectService { List eventUser = projectDao.getEventList(projectIds); List topicUser = projectDao.getTopicUser(projectIds); + //市北客户查询 下议题区分下来源 设置topicId + Map issueTopicSourceMap = new HashMap<>(); + if (CustomerIdConstant.SHI_BEI_CUSTOMER_ID.equals(loginUserUtil.getLoginUserCustomerId())){ + issueTopicSourceMap = govIssueService.selectIssueTopicIdType(result.getList().stream() + .filter(re -> "issue".equals(re.getOrigin())) + .map(CategoryProjectResultDTO.Project::getOriginId) + .collect(Collectors.toList())).stream().collect(Collectors.toMap(IssueInfoDTO::getIssueId,IssueInfoDTO::getTopicId)); + } + //5.封装数据 //组织或网格id->组织或网格名称 Map map = new HashMap<>(); - result.getList().forEach(re -> { - //所属组织 + for (CategoryProjectResultDTO.Project re : result.getList()) {//所属组织 if ("issue".equals(re.getOrigin())) { if (map.containsKey(re.getGridId())) { re.setOrgName(map.get(re.getGridId())); @@ -454,6 +464,9 @@ public class GovProjectServiceImpl implements GovProjectService { map.put(re.getGridId(), gridInfo.getGridName()); } } + //市北议题来源的设置话题Id + re.setTopicId(issueTopicSourceMap.get(re.getOriginId())); + } else if ("agency".equals(re.getOrigin())) { if (map.containsKey(re.getAgencyId())) { re.setOrgName(map.get(re.getAgencyId())); @@ -518,7 +531,7 @@ public class GovProjectServiceImpl implements GovProjectService { re.setUserId(to.getUserId()); } }); - }); + } resultDTO.setList(result.getList()); return resultDTO; diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govissue/IssueDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govissue/IssueDao.xml index 90ecda4b20..495473205c 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govissue/IssueDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govissue/IssueDao.xml @@ -139,5 +139,20 @@ ORDER BY category_code + - \ No newline at end of file +