Browse Source

Merge remote-tracking branch 'origin/dev_issue_category' into dev_issue_category

dev_shibei_match
wangchao 5 years ago
parent
commit
4371e9d423
  1. 6
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectCategoryDailyDao.java
  2. 4
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/issue/IssueProjectCategoryDictDao.java
  3. 4
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/project/ProjectDao.java
  4. 4
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/Issue/IssueProjectCategoryDictService.java
  5. 6
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/Issue/impl/IssueProjectCategoryDictServiceImpl.java
  6. 12
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginProjectCategoryDailyService.java
  7. 19
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginExtractServiceImpl.java
  8. 74
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectCategoryDailyServiceImpl.java
  9. 13
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/ProjectService.java
  10. 14
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/impl/ProjectServiceImpl.java
  11. 13
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectCategoryDailyDao.xml
  12. 9
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/issue/IssueProjectCategoryDictDao.xml
  13. 14
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectDao.xml

6
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectCategoryDailyDao.java

@ -20,6 +20,7 @@ package com.epmet.dao.evaluationindex.extract;
import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.entity.evaluationindex.extract.FactOriginProjectCategoryDailyEntity; import com.epmet.entity.evaluationindex.extract.FactOriginProjectCategoryDailyEntity;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/** /**
* 项目所属分类表 * 项目所属分类表
@ -29,5 +30,6 @@ import org.apache.ibatis.annotations.Mapper;
*/ */
@Mapper @Mapper
public interface FactOriginProjectCategoryDailyDao extends BaseDao<FactOriginProjectCategoryDailyEntity> { public interface FactOriginProjectCategoryDailyDao extends BaseDao<FactOriginProjectCategoryDailyEntity> {
} void deleteOldData(@Param("customerId") String customerId,@Param("dateId") String dateId);
}

4
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/issue/IssueProjectCategoryDictDao.java

@ -36,4 +36,6 @@ public interface IssueProjectCategoryDictDao {
List<IssueProjectCategoryDictEntity> listInsertCategoies(@Param("start") Date start, @Param("end") Date end); List<IssueProjectCategoryDictEntity> listInsertCategoies(@Param("start") Date start, @Param("end") Date end);
List<IssueProjectCategoryDictEntity> listByUpdatedTime(@Param("start") Date start, @Param("end") Date end); List<IssueProjectCategoryDictEntity> listByUpdatedTime(@Param("start") Date start, @Param("end") Date end);
}
IssueProjectCategoryDictEntity getById(@Param("customerId")String customerId, @Param("id")String id);;
}

4
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/project/ProjectDao.java

@ -133,4 +133,6 @@ public interface ProjectDao extends BaseDao<ProjectEntity> {
* @date 2021.03.08 23:44 * @date 2021.03.08 23:44
*/ */
List<ProjectCategoryDTO> selectProjectCategory(@Param("list")List<String> list); List<ProjectCategoryDTO> selectProjectCategory(@Param("list")List<String> list);
}
List<com.epmet.dto.ProjectCategoryDTO> getProjectCategoryData(@Param("customerId") String customerId, @Param("dateId") String dateId);
}

4
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/Issue/IssueProjectCategoryDictService.java

@ -34,4 +34,6 @@ public interface IssueProjectCategoryDictService{
List<IssueProjectCategoryDictEntity> listInsertCategoies(Date start, Date end); List<IssueProjectCategoryDictEntity> listInsertCategoies(Date start, Date end);
List<IssueProjectCategoryDictEntity> listByUpdatedTime(Date start, Date end); List<IssueProjectCategoryDictEntity> listByUpdatedTime(Date start, Date end);
}
IssueProjectCategoryDictEntity getById(String customerId,String id);
}

6
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/Issue/impl/IssueProjectCategoryDictServiceImpl.java

@ -5,6 +5,7 @@ import com.epmet.constant.DataSourceConstant;
import com.epmet.dao.issue.IssueProjectCategoryDictDao; import com.epmet.dao.issue.IssueProjectCategoryDictDao;
import com.epmet.entity.issue.IssueProjectCategoryDictEntity; import com.epmet.entity.issue.IssueProjectCategoryDictEntity;
import com.epmet.service.Issue.IssueProjectCategoryDictService; import com.epmet.service.Issue.IssueProjectCategoryDictService;
import org.apache.ibatis.annotations.Param;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -33,4 +34,9 @@ public class IssueProjectCategoryDictServiceImpl implements IssueProjectCategory
return issueProjectCategoryDictDao.listByUpdatedTime(start, end); return issueProjectCategoryDictDao.listByUpdatedTime(start, end);
} }
@Override
public IssueProjectCategoryDictEntity getById(String customerId, String id) {
return issueProjectCategoryDictDao.getById(customerId,id);
}
} }

12
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginProjectCategoryDailyService.java

@ -18,6 +18,7 @@
package com.epmet.service.evaluationindex.extract.todata; package com.epmet.service.evaluationindex.extract.todata;
import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.dto.extract.form.ExtractOriginFormDTO;
import com.epmet.entity.evaluationindex.extract.FactOriginProjectCategoryDailyEntity; import com.epmet.entity.evaluationindex.extract.FactOriginProjectCategoryDailyEntity;
/** /**
@ -27,5 +28,12 @@ import com.epmet.entity.evaluationindex.extract.FactOriginProjectCategoryDailyEn
* @since v1.0.0 2021-03-19 * @since v1.0.0 2021-03-19
*/ */
public interface FactOriginProjectCategoryDailyService extends BaseService<FactOriginProjectCategoryDailyEntity> { public interface FactOriginProjectCategoryDailyService extends BaseService<FactOriginProjectCategoryDailyEntity> {
//todo 将epmet_gov_project库中的项目分类信息(project_category)同步到统计库epmet_data_statistical /**
} * @Description 将epmet_gov_project库中的项目分类信息project_category同步到统计库epmet_data_statistical
* @param paramNew
* @return void
* @Author liushaowen
* @Date 2021/3/22 15:28
*/
void extractProjectCategory(ExtractOriginFormDTO paramNew);
}

19
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginExtractServiceImpl.java

@ -201,8 +201,11 @@ public class FactOriginExtractServiceImpl implements FactOriginExtractService {
} catch (Exception e) { } catch (Exception e) {
log.error("抽取【项目数据】发生异常,参数:" + JSON.toJSONString(paramNew), e); log.error("抽取【项目数据】发生异常,参数:" + JSON.toJSONString(paramNew), e);
} }
//todo 新增项目分类抽取 shaowen try {
// originProjectCategoryDailyService.xxxx(); originProjectCategoryDailyService.extractProjectCategory(paramNew);
} catch (Exception e) {
log.error("抽取【项目分类数据】发生异常,参数:" + JSON.toJSONString(paramNew), e);
}
} else { } else {
try { try {
for (int i = 0; i < finalDaysBetween.size(); i++) { for (int i = 0; i < finalDaysBetween.size(); i++) {
@ -222,8 +225,16 @@ public class FactOriginExtractServiceImpl implements FactOriginExtractService {
} catch (Exception e) { } catch (Exception e) {
log.error("抽取【项目数据】发生异常,参数:" + JSON.toJSONString(paramNew), e); log.error("抽取【项目数据】发生异常,参数:" + JSON.toJSONString(paramNew), e);
} }
//todo 新增项目分类抽取 shaowen try {
// originProjectCategoryDailyService.xxxx(); for (int i = 0; i < finalDaysBetween.size(); i++) {
String dateDimId = finalDaysBetween.get(i);
paramNew.setDateId(dateDimId);
originProjectCategoryDailyService.extractProjectCategory(paramNew);
}
} catch (Exception e) {
log.error("抽取【项目分类数据】发生异常,参数:" + JSON.toJSONString(paramNew), e);
}
} }
}); });
} }

74
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectCategoryDailyServiceImpl.java

@ -17,13 +17,27 @@
package com.epmet.service.evaluationindex.extract.todata.impl; package com.epmet.service.evaluationindex.extract.todata.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.epmet.commons.dynamic.datasource.annotation.DataSource; import com.epmet.commons.dynamic.datasource.annotation.DataSource;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.constant.DataSourceConstant; import com.epmet.constant.DataSourceConstant;
import com.epmet.dao.evaluationindex.extract.FactOriginProjectCategoryDailyDao; import com.epmet.dao.evaluationindex.extract.FactOriginProjectCategoryDailyDao;
import com.epmet.dto.ProjectCategoryDTO;
import com.epmet.dto.extract.form.ExtractOriginFormDTO;
import com.epmet.entity.evaluationindex.extract.FactOriginProjectCategoryDailyEntity; import com.epmet.entity.evaluationindex.extract.FactOriginProjectCategoryDailyEntity;
import com.epmet.entity.issue.IssueProjectCategoryDictEntity;
import com.epmet.service.Issue.IssueProjectCategoryDictService;
import com.epmet.service.evaluationindex.extract.todata.FactOriginProjectCategoryDailyService; import com.epmet.service.evaluationindex.extract.todata.FactOriginProjectCategoryDailyService;
import com.epmet.service.project.ProjectService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.util.ArrayList;
import java.util.List;
/** /**
* 项目所属分类表 * 项目所属分类表
@ -33,6 +47,62 @@ import org.springframework.stereotype.Service;
*/ */
@Service @Service
@DataSource(DataSourceConstant.STATS) @DataSource(DataSourceConstant.STATS)
@Slf4j
public class FactOriginProjectCategoryDailyServiceImpl extends BaseServiceImpl<FactOriginProjectCategoryDailyDao, FactOriginProjectCategoryDailyEntity> implements FactOriginProjectCategoryDailyService { public class FactOriginProjectCategoryDailyServiceImpl extends BaseServiceImpl<FactOriginProjectCategoryDailyDao, FactOriginProjectCategoryDailyEntity> implements FactOriginProjectCategoryDailyService {
@Autowired
} private ProjectService projectService;
@Autowired
private IssueProjectCategoryDictService issueProjectCategoryDictService;
/**
* @param extractOriginFormDTO
* @return void
* @Description 将epmet_gov_project库中的项目分类信息project_category同步到统计库epmet_data_statistical
* @Author liushaowen
* @Date 2021/3/22 15:28
*/
@Override
public void extractProjectCategory(ExtractOriginFormDTO extractOriginFormDTO) {
String dateString = extractOriginFormDTO.getDateId();
String customerId = extractOriginFormDTO.getCustomerId();
List<FactOriginProjectCategoryDailyEntity> entities = new ArrayList<>();
Integer count = baseDao.selectCount(new QueryWrapper<FactOriginProjectCategoryDailyEntity>().eq("customer_id",customerId));
//如果count = 0 初始化该customer所有数据
if (NumConstant.ZERO == count){
dateString = null;
}
List<ProjectCategoryDTO> projectCategoryData = projectService.getProjectCategoryData(customerId, dateString);
if (!CollectionUtils.isEmpty(projectCategoryData)){
projectCategoryData.forEach(data->{
FactOriginProjectCategoryDailyEntity insertEntity = new FactOriginProjectCategoryDailyEntity();
IssueProjectCategoryDictEntity categoryDictEntity = issueProjectCategoryDictService.getById(customerId, data.getCategoryId());
if (categoryDictEntity == null){
log.warn("categoryDict not found : customerId:{},categoryId:{}",customerId,data.getCategoryId());
}
insertEntity.setProjectId(data.getProjectId());
insertEntity.setCategoryCode(categoryDictEntity.getCategoryCode());
insertEntity.setParentCategoryCode(categoryDictEntity.getParentCategoryCode());
insertEntity.setCustomerId(customerId);
insertEntity.setLevel(Integer.valueOf(categoryDictEntity.getCategoryType()));
insertEntity.setCreatedTime(data.getCreatedTime());
entities.add(insertEntity);
});
if (!CollectionUtils.isEmpty(entities)){
delAndInsert(customerId,dateString,entities);
}
}
}
/**
* @Description category表删除插入
* @param customerId
* @param dateId
* @param result
* @return void
* @Author liushaowen
* @Date 2021/3/22 17:01
*/
@Transactional(rollbackFor = Exception.class)
public void delAndInsert(String customerId,String dateId,List<FactOriginProjectCategoryDailyEntity> result){
baseDao.deleteOldData(customerId, dateId);
insertBatch(result);
}
}

13
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/ProjectService.java

@ -18,6 +18,7 @@
package com.epmet.service.project; package com.epmet.service.project;
import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.dto.ProjectCategoryDTO;
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.ProjectGridDTO; import com.epmet.dto.project.ProjectGridDTO;
@ -141,4 +142,14 @@ public interface ProjectService extends BaseService<ProjectEntity> {
*/ */
Map<String,Set<String>> getProjectCategory(List<String> projectIds); Map<String,Set<String>> getProjectCategory(List<String> projectIds);
} /**
* @Description 抽取project_category
* @param customerId
* @param dateId
* @return java.util.List<com.epmet.dto.ProjectCategoryDTO>
* @Author liushaowen
* @Date 2021/3/22 15:44
*/
List<ProjectCategoryDTO> getProjectCategoryData(String customerId, String dateId);
}

14
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/impl/ProjectServiceImpl.java

@ -150,6 +150,18 @@ public class ProjectServiceImpl extends BaseServiceImpl<ProjectDao, ProjectEntit
return map; return map;
} }
/**
* @param customerId
* @param dateId
* @return java.util.List<com.epmet.dto.ProjectCategoryDTO>
* @Description 抽取project_category
* @Author liushaowen
* @Date 2021/3/22 15:44
*/
@Override
public List<com.epmet.dto.ProjectCategoryDTO> getProjectCategoryData(String customerId, String dateId) {
return baseDao.getProjectCategoryData(customerId,dateId);
}
} }

13
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectCategoryDailyDao.xml

@ -3,6 +3,15 @@
<mapper namespace="com.epmet.dao.evaluationindex.extract.FactOriginProjectCategoryDailyDao"> <mapper namespace="com.epmet.dao.evaluationindex.extract.FactOriginProjectCategoryDailyDao">
<delete id="deleteOldData">
DELETE
FROM
fact_origin_project_category_daily
WHERE
CUSTOMER_ID = #{customerId}
<if test="dateId != null">
AND DATE_FORMAT(CREATED_TIME,'%Y%m%d') = #{dateId}
</if>
</delete>
</mapper>
</mapper>

9
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/issue/IssueProjectCategoryDictDao.xml

@ -41,4 +41,11 @@
ORDER BY UPDATED_TIME ASC ORDER BY UPDATED_TIME ASC
</select> </select>
</mapper> <select id="getById" resultType="com.epmet.entity.issue.IssueProjectCategoryDictEntity">
select *
from issue_project_category_dict
where del_flag = '0'
and customer_id = #{customerId}
and id = #{id}
</select>
</mapper>

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

@ -105,7 +105,7 @@
and CUSTOMER_ID = #{customerId} and CUSTOMER_ID = #{customerId}
and PARAMETER_KEY ='detention_days' and PARAMETER_KEY ='detention_days'
</select> </select>
<select id="selectProjectExceedParams" resultType="com.epmet.dto.project.result.ProjectExceedParamsResultDTO"> <select id="selectProjectExceedParams" resultType="com.epmet.dto.project.result.ProjectExceedParamsResultDTO">
select select
IF(customer_id = 'default' <![CDATA[&&]]> PARAMETER_KEY = 'detention_days',PARAMETER_VALUE,null) as defaultExceedLimit, IF(customer_id = 'default' <![CDATA[&&]]> PARAMETER_KEY = 'detention_days',PARAMETER_VALUE,null) as defaultExceedLimit,
@ -135,4 +135,14 @@
project_id = #{id} project_id = #{id}
</foreach> </foreach>
</select> </select>
</mapper>
<select id="getProjectCategoryData" resultType="com.epmet.dto.ProjectCategoryDTO">
select * from
`project_category`
where del_flag = '0'
and customer_id = #{customerId}
<if test="dateId != null">
AND DATE_FORMAT(CREATED_TIME,'%Y%m%d')=#{dateId}
</if>
</select>
</mapper>

Loading…
Cancel
Save