Browse Source

screenProjectData

dev_shibei_match
wangchao 5 years ago
parent
commit
0a2df53b4e
  1. 97
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/project/ProjectCategoryDTO.java
  2. 10
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/project/ProjectDao.java
  3. 11
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/Issue/IssueService.java
  4. 8
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenProjectSettleServiceImpl.java
  5. 9
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/ProjectService.java
  6. 19
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/impl/ProjectServiceImpl.java
  7. 9
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectDao.xml

97
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
* <p>
* 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.
* <p>
* 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.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
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;
}

10
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.commons.mybatis.dao.BaseDao;
import com.epmet.dto.ProjectDTO; import com.epmet.dto.ProjectDTO;
import com.epmet.dto.project.ProjectAgencyDTO; import com.epmet.dto.project.ProjectAgencyDTO;
import com.epmet.dto.project.ProjectCategoryDTO;
import com.epmet.dto.project.ProjectGridDTO; import com.epmet.dto.project.ProjectGridDTO;
import com.epmet.dto.project.result.ProjectExceedParamsResultDTO; import com.epmet.dto.project.result.ProjectExceedParamsResultDTO;
import com.epmet.entity.project.ProjectEntity; import com.epmet.entity.project.ProjectEntity;
@ -122,4 +123,13 @@ public interface ProjectDao extends BaseDao<ProjectEntity> {
* @date 2021.03.08 10:32 * @date 2021.03.08 10:32
*/ */
List<ProjectEntity> batchSelectProjectInfo(@Param("ids")List<String> ids); List<ProjectEntity> batchSelectProjectInfo(@Param("ids")List<String> ids);
/**
* @Description 查询项目的分类信息
* @param list
* @return java.util.List<com.epmet.dto.project.ProjectCategoryDTO>
* @author wangc
* @date 2021.03.08 23:44
*/
List<ProjectCategoryDTO> selectProjectCategory(@Param("list")List<String> list);
} }

11
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 com.epmet.entity.issue.IssueEntity;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.Set;
/** /**
* @author zhaoqifeng * @author zhaoqifeng
@ -172,4 +174,13 @@ public interface IssueService {
* @date 2020/9/27 11:20 上午 * @date 2020/9/27 11:20 上午
*/ */
List<IssueVoteStatisticalResultDTO> selectIssueVoteStatis(String customerId, String monthId); List<IssueVoteStatisticalResultDTO> selectIssueVoteStatis(String customerId, String monthId);
/**
* @Description 查找项目的分类名称 -相连
* @param param
* @return java.util.Map<java.lang.String,java.lang.String>
* @author wangc
* @date 2021.03.09 00:23
*/
Map<String,String> getIntegratedProjectCategory(Map<String, Set<String>> param);
} }

8
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.ScreenProjectDataDTO;
import com.epmet.dto.screen.form.ScreenCentralZoneDataFormDTO; import com.epmet.dto.screen.form.ScreenCentralZoneDataFormDTO;
import com.epmet.entity.project.ProjectEntity; 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.todata.FactOriginProjectMainDailyService;
import com.epmet.service.evaluationindex.extract.toscreen.ScreenProjectSettleService; import com.epmet.service.evaluationindex.extract.toscreen.ScreenProjectSettleService;
import com.epmet.service.evaluationindex.screen.ScreenProjectDataService; import com.epmet.service.evaluationindex.screen.ScreenProjectDataService;
@ -18,7 +19,9 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.Optional; import java.util.Optional;
import java.util.Set;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
@ -42,6 +45,8 @@ public class ScreenProjectSettleServiceImpl implements ScreenProjectSettleServic
private TopicService topicService; private TopicService topicService;
@Autowired @Autowired
private UserService userService; private UserService userService;
@Autowired
private IssueService issueService;
/** /**
* @Description 抽取项目数据到screen_project_* * @Description 抽取项目数据到screen_project_*
@ -94,6 +99,9 @@ public class ScreenProjectSettleServiceImpl implements ScreenProjectSettleServic
targetDbService.getPending(orientCase); targetDbService.getPending(orientCase);
//TODO 给metaData和orientData赋上分类信息 //TODO 给metaData和orientData赋上分类信息
List<String> projectIds = metaData.stream().map(ScreenProjectDataDTO::getProjectId).distinct().collect(Collectors.toList());
projectIds.addAll(orientData.stream().map(ScreenProjectDataDTO::getProjectId).distinct().collect(Collectors.toList()));
Map<String, Set<String>> categoryMap = projectService.getProjectCategory(projectIds);
//TODO 重新计算orientData的级别 有现成的方法 fact_origin_project_org_period_daily //TODO 重新计算orientData的级别 有现成的方法 fact_origin_project_org_period_daily

9
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.List;
import java.util.Map; import java.util.Map;
import java.util.Set;
/** /**
* 项目表 * 项目表
@ -133,11 +134,11 @@ public interface ProjectService extends BaseService<ProjectEntity> {
List<ProjectEntity> getProjectInfo(List<String> projectIds); List<ProjectEntity> getProjectInfo(List<String> projectIds);
/** /**
* @Description 获取项目的所有标签名称 -连接 * @Description 获取项目的所有标签名称 -连接
* @param projectIds * @param projectIds
* @return java.util.Map<java.lang.String,java.lang.String> * @return java.util.Map<java.lang.String,java.util.Set<java.lang.String>>
* @author wangc * @author wangc
* @date 2021.03.08 10:28 * @date 2021.03.08 23:46
*/ */
Map<String,String> getProjectCategory(List<String> projectIds); Map<String,Set<String>> getProjectCategory(List<String> projectIds);
} }

19
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.dao.project.ProjectDao;
import com.epmet.dto.ProjectDTO; import com.epmet.dto.ProjectDTO;
import com.epmet.dto.project.ProjectAgencyDTO; import com.epmet.dto.project.ProjectAgencyDTO;
import com.epmet.dto.project.ProjectCategoryDTO;
import com.epmet.dto.project.ProjectGridDTO; import com.epmet.dto.project.ProjectGridDTO;
import com.epmet.dto.project.result.ProjectExceedParamsResultDTO; import com.epmet.dto.project.result.ProjectExceedParamsResultDTO;
import com.epmet.entity.project.ProjectEntity; import com.epmet.entity.project.ProjectEntity;
import com.epmet.service.project.ProjectService; import com.epmet.service.project.ProjectService;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors;
/** /**
* 项目表 * 项目表
@ -127,13 +132,21 @@ public class ProjectServiceImpl extends BaseServiceImpl<ProjectDao, ProjectEntit
/** /**
* @Description 获取项目的所有标签名称 -连接 * @Description 获取项目的所有标签名称 -连接
* @param projectIds * @param projectIds
* @return java.util.Map<java.lang.String,java.lang.String> * @return java.util.Map<java.lang.String,java.util.Set<java.lang.String>>
* @author wangc * @author wangc
* @date 2021.03.08 10:28 * @date 2021.03.08 10:28
*/ */
@Override @Override
public Map<String, String> getProjectCategory(List<String> projectIds) { public Map<String, Set<String>> getProjectCategory(List<String> projectIds) {
return null; List<ProjectCategoryDTO> categories = baseDao.selectProjectCategory(projectIds);
if(CollectionUtils.isEmpty(categories)) return null;
Map<String, Set<String>> map = new HashMap<>();
Map<String, List<ProjectCategoryDTO>> projectMap = categories.stream().collect(Collectors.groupingBy(ProjectCategoryDTO::getProjectId));
projectMap.forEach((k,v) -> {
Set<String> categoryIds = v.stream().map(ProjectCategoryDTO::getCategoryId).collect(Collectors.toSet());
map.put(k,categoryIds);
});
return map;
} }
} }

9
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectDao.xml

@ -126,4 +126,13 @@
</foreach> </foreach>
</if> </if>
</select> </select>
<select id="selectProjectCategory" resultType="com.epmet.dto.project.ProjectCategoryDTO">
select * from
`project_category`
where del_flag = '0'
<foreach collection="list" item="id" open="AND (" separator=" OR " close=" )">
project_id = #{id}
</foreach>
</select>
</mapper> </mapper>
Loading…
Cancel
Save