diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/project/ProjectCategoryDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/project/ProjectCategoryDTO.java
new file mode 100644
index 0000000000..3ca8dc43fc
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/project/ProjectCategoryDTO.java
@@ -0,0 +1,97 @@
+/**
+ * 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.epmet.dto.project;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+
+/**
+ * 项目所属分类表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2020-12-25
+ */
+@Data
+public class ProjectCategoryDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键
+ */
+ private String id;
+
+ /**
+ * 客户id
+ */
+ private String customerId;
+
+ /**
+ * 来源网格id
+ */
+ private String gridId;
+
+ /**
+ * 项目id
+ */
+ private String projectId;
+
+ /**
+ * 分类id
+ */
+ private String categoryId;
+
+ /**
+ * 分类对应的所有上级,英文逗号隔开
+ */
+ private String categoryPids;
+
+ /**
+ * 删除标识 0未删除、1已删除
+ */
+ 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/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/project/ProjectDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/project/ProjectDao.java
index 3aac2d6ebe..6cde49825c 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/project/ProjectDao.java
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/project/ProjectDao.java
@@ -20,6 +20,7 @@ package com.epmet.dao.project;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.ProjectDTO;
import com.epmet.dto.project.ProjectAgencyDTO;
+import com.epmet.dto.project.ProjectCategoryDTO;
import com.epmet.dto.project.ProjectGridDTO;
import com.epmet.dto.project.result.ProjectExceedParamsResultDTO;
import com.epmet.entity.project.ProjectEntity;
@@ -122,4 +123,13 @@ public interface ProjectDao extends BaseDao {
* @date 2021.03.08 10:32
*/
List batchSelectProjectInfo(@Param("ids")List ids);
+
+ /**
+ * @Description 查询项目的分类信息
+ * @param list
+ * @return java.util.List
+ * @author wangc
+ * @date 2021.03.08 23:44
+ */
+ List selectProjectCategory(@Param("list")List list);
}
\ No newline at end of file
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/Issue/IssueService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/Issue/IssueService.java
index 239ad2d8b1..3d40be1a94 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/Issue/IssueService.java
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/Issue/IssueService.java
@@ -11,6 +11,8 @@ import com.epmet.dto.issue.IssueProjectDTO;
import com.epmet.entity.issue.IssueEntity;
import java.util.List;
+import java.util.Map;
+import java.util.Set;
/**
* @author zhaoqifeng
@@ -172,4 +174,13 @@ public interface IssueService {
* @date 2020/9/27 11:20 上午
*/
List selectIssueVoteStatis(String customerId, String monthId);
+
+ /**
+ * @Description 查找项目的分类名称 以-相连
+ * @param param
+ * @return java.util.Map
+ * @author wangc
+ * @date 2021.03.09 00:23
+ */
+ Map getIntegratedProjectCategory(Map> param);
}
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenProjectSettleServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenProjectSettleServiceImpl.java
index fcc94586f7..67a01c50d9 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenProjectSettleServiceImpl.java
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenProjectSettleServiceImpl.java
@@ -5,6 +5,7 @@ import com.epmet.dto.project.result.ProjectExceedParamsResultDTO;
import com.epmet.dto.screen.ScreenProjectDataDTO;
import com.epmet.dto.screen.form.ScreenCentralZoneDataFormDTO;
import com.epmet.entity.project.ProjectEntity;
+import com.epmet.service.Issue.IssueService;
import com.epmet.service.evaluationindex.extract.todata.FactOriginProjectMainDailyService;
import com.epmet.service.evaluationindex.extract.toscreen.ScreenProjectSettleService;
import com.epmet.service.evaluationindex.screen.ScreenProjectDataService;
@@ -18,7 +19,9 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.util.List;
+import java.util.Map;
import java.util.Optional;
+import java.util.Set;
import java.util.stream.Collectors;
/**
@@ -42,6 +45,8 @@ public class ScreenProjectSettleServiceImpl implements ScreenProjectSettleServic
private TopicService topicService;
@Autowired
private UserService userService;
+ @Autowired
+ private IssueService issueService;
/**
* @Description 抽取项目数据到screen_project_*
@@ -94,6 +99,9 @@ public class ScreenProjectSettleServiceImpl implements ScreenProjectSettleServic
targetDbService.getPending(orientCase);
//TODO 给metaData和orientData赋上分类信息
+ List projectIds = metaData.stream().map(ScreenProjectDataDTO::getProjectId).distinct().collect(Collectors.toList());
+ projectIds.addAll(orientData.stream().map(ScreenProjectDataDTO::getProjectId).distinct().collect(Collectors.toList()));
+ Map> categoryMap = projectService.getProjectCategory(projectIds);
//TODO 重新计算orientData的级别 有现成的方法 fact_origin_project_org_period_daily
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/ProjectService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/ProjectService.java
index 26755f4421..e5f8d822f2 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/ProjectService.java
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/ProjectService.java
@@ -28,6 +28,7 @@ import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
+import java.util.Set;
/**
* 项目表
@@ -133,11 +134,11 @@ public interface ProjectService extends BaseService {
List getProjectInfo(List projectIds);
/**
- * @Description 获取项目的所有标签名称 用-连接
+ * @Description 获取项目的所有标签名称 用-连接
* @param projectIds
- * @return java.util.Map
+ * @return java.util.Map>
* @author wangc
- * @date 2021.03.08 10:28
+ * @date 2021.03.08 23:46
*/
- Map getProjectCategory(List projectIds);
+ Map> getProjectCategory(List projectIds);
}
\ No newline at end of file
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/impl/ProjectServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/impl/ProjectServiceImpl.java
index 5edae89e65..27c628fe21 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/impl/ProjectServiceImpl.java
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/impl/ProjectServiceImpl.java
@@ -24,15 +24,20 @@ import com.epmet.constant.DataSourceConstant;
import com.epmet.dao.project.ProjectDao;
import com.epmet.dto.ProjectDTO;
import com.epmet.dto.project.ProjectAgencyDTO;
+import com.epmet.dto.project.ProjectCategoryDTO;
import com.epmet.dto.project.ProjectGridDTO;
import com.epmet.dto.project.result.ProjectExceedParamsResultDTO;
import com.epmet.entity.project.ProjectEntity;
import com.epmet.service.project.ProjectService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import java.util.Set;
+import java.util.stream.Collectors;
/**
* 项目表
@@ -127,13 +132,21 @@ public class ProjectServiceImpl extends BaseServiceImpl
+ * @return java.util.Map>
* @author wangc
* @date 2021.03.08 10:28
*/
@Override
- public Map getProjectCategory(List projectIds) {
- return null;
+ public Map> getProjectCategory(List projectIds) {
+ List categories = baseDao.selectProjectCategory(projectIds);
+ if(CollectionUtils.isEmpty(categories)) return null;
+ Map> map = new HashMap<>();
+ Map> projectMap = categories.stream().collect(Collectors.groupingBy(ProjectCategoryDTO::getProjectId));
+ projectMap.forEach((k,v) -> {
+ Set categoryIds = v.stream().map(ProjectCategoryDTO::getCategoryId).collect(Collectors.toSet());
+ map.put(k,categoryIds);
+ });
+ return map;
}
}
\ No newline at end of file
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectDao.xml
index ce28113075..2a8699d341 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectDao.xml
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectDao.xml
@@ -126,4 +126,13 @@
+
+
+ select * from
+ `project_category`
+ where del_flag = '0'
+
+ project_id = #{id}
+
+
\ No newline at end of file