Browse Source

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

dev_shibei_match
jianjun 5 years ago
parent
commit
a849e7128b
  1. 4
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/project/ProjectDao.java
  2. 5
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/project/ProjectProcessDao.java
  3. 50
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/StatsProjectServiceImpl.java
  4. 5
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/ProjectProcessService.java
  5. 4
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/ProjectService.java
  6. 7
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/impl/ProjectProcessServiceImpl.java
  7. 6
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/impl/ProjectServiceImpl.java
  8. 2
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectDao.xml
  9. 2
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectProcessDao.xml

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

@ -35,11 +35,11 @@ import java.util.List;
public interface ProjectDao extends BaseDao<ProjectEntity> {
/**
* @param customerId
* @param projectEntity
* @Author sun
* @Description 根据客户Id查询客户项目业务表有效数据
**/
List<ProjectEntity> selectProjectList(@Param("customerId") String customerId);
List<ProjectEntity> selectProjectList(ProjectEntity projectEntity);
/**
* 已结案项目统计

5
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/project/ProjectProcessDao.java

@ -18,6 +18,7 @@
package com.epmet.dao.project;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.entity.project.ProjectEntity;
import com.epmet.entity.project.ProjectProcessEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -34,10 +35,10 @@ import java.util.List;
public interface ProjectProcessDao extends BaseDao<ProjectProcessEntity> {
/**
* @param customerId
* @param projectEntity
* @Author sun
* @Description 查询客户项目处理进展表中是创建项目和结案两种进展的有效数据(创建日期截取yyyy-mm-dd格式字段值)
**/
List<ProjectProcessEntity> selectProcessList(@Param("customerId") String customerId);
List<ProjectProcessEntity> selectProcessList(ProjectEntity projectEntity);
}

50
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/StatsProjectServiceImpl.java

@ -5,9 +5,12 @@ import com.epmet.constant.ProjectConstant;
import com.epmet.dto.project.form.MonthProjectListFormDTO;
import com.epmet.dto.stats.DimAgencyDTO;
import com.epmet.dto.stats.DimDateDTO;
import com.epmet.dto.stats.DimGridDTO;
import com.epmet.entity.issue.IssueEntity;
import com.epmet.entity.project.ProjectEntity;
import com.epmet.entity.project.ProjectProcessEntity;
import com.epmet.entity.stats.DimDateEntity;
import com.epmet.entity.stats.DimGridEntity;
import com.epmet.entity.stats.FactAgencyProjectDailyEntity;
import com.epmet.entity.stats.FactAgencyProjectMonthlyEntity;
import com.epmet.service.StatsProjectService;
@ -37,6 +40,8 @@ public class StatsProjectServiceImpl implements StatsProjectService {
@Autowired
private DimAgencyService dimAgencyService;
@Autowired
private DimGridService dimGridService;
@Autowired
private DimDateService dimDateService;
@Autowired
private DimWeekService dimWeekService;
@ -94,10 +99,13 @@ public class StatsProjectServiceImpl implements StatsProjectService {
DimIdGenerator.DimIdBean dimId = DimIdGenerator.getDimIdBean(yesterDay());
//2:根据客户Id查询项目业务表数据(查询当前日期之前的数据不包含当天的)
List<ProjectEntity> projectList = projectService.getProjectList(customerId);
ProjectEntity projectEntity = new ProjectEntity();
projectEntity.setCustomerId(customerId);
projectEntity.setCreatedTime(yesterDay());
List<ProjectEntity> projectList = projectService.getProjectList(projectEntity);
//3:查询项目处理进展表中是创建项目和结案两种进展的有效数据(创建日期截取yyyy-mm-dd格式字段值)(查询当前日期之前的数据不包含当天的)
List<ProjectProcessEntity> processList = projectProcessService.getProcessList(customerId);
List<ProjectProcessEntity> processList = projectProcessService.getProcessList(projectEntity);
//4:遍历统计每个机关各项指标数
//批量机关日统计新增对象
@ -153,7 +161,7 @@ public class StatsProjectServiceImpl implements StatsProjectService {
AtomicInteger unResolvedIncr = new AtomicInteger(0);
//遍历项目进展列表数据,统计日增量数据
processList.forEach(process -> {
if (date.equals(process.getCreatedTime())) {
if (map.containsKey(process.getAgencyId()) && date.equals(process.getCreatedTime())) {
if (ProjectConstant.CREATED.equals(process.getOperation())) {
pendingIncr.addAndGet(1);
}
@ -299,42 +307,54 @@ public class StatsProjectServiceImpl implements StatsProjectService {
@Override
public void statsGridProject(String customerId) {
//1:根据客户Id查询网格维度表数据
List<DimGridEntity> dimGridList = dimGridService.getGridListByCustomerId(customerId);
if (true) {
if (null != dimGridList && dimGridList.size() > NumConstant.ZERO) {
//2:执行机关日数据统计
gridDateProjectStats(customerId);
gridDateProjectStats(customerId, dimGridList);
//3:执行机关月数据统计
if (Calendar.getInstance().get(Calendar.DATE) == 1) {
gridMonthProjectStats(customerId);
gridMonthProjectStats(customerId, dimGridList);
}
}
}
/**
* @param customerId
* @return
* @Author sun
* @Description 数据-项目-网格日统计
**/
private String gridDateProjectStats(String customerId){
private String gridDateProjectStats(String customerId, List<DimGridEntity> dimGridList) {
//1:查询各维度表Id,方便使用
//2:根据客户Id查询网格维度表数据
//3:根据客户Id查询项目业务表数据(查询当前日期之前的数据不包含当天的)
//4:查询项目处理进展表中是创建项目和结案两种进展的有效数据(创建日期截取yyyy-mm-dd格式字段值)(查询当前日期之前的数据不包含当天的)
//5:根据客户Id查询议题表已转项目的网格项目关系数据
//6:遍历统计每个网格各项指标数据
//7:批量保存网格日统计数据
//8:判断当前日期是否为当月首日,执行网格月数据统计
DimIdGenerator.DimIdBean dimId = DimIdGenerator.getDimIdBean(yesterDay());
//2:根据客户Id查询项目业务表数据(查询当前日期之前的数据不包含当天的)
ProjectEntity projectEntity = new ProjectEntity();
projectEntity.setCustomerId(customerId);
projectEntity.setCreatedTime(yesterDay());
List<ProjectEntity> projectList = projectService.getProjectList(projectEntity);
//3:查询项目处理进展表中是创建项目和结案两种进展的有效数据(创建日期截取yyyy-mm-dd格式字段值)(查询当前日期之前的数据不包含当天的)
List<ProjectProcessEntity> processList = projectProcessService.getProcessList(projectEntity);
//4:根据客户Id查询议题表已转项目的网格项目关系数据
List<IssueEntity> gridProjectList = null;
//5:遍历统计每个网格各项指标数据
//6:批量保存网格日统计数据
//7:判断当前日期是否为当月首日,执行网格月数据统计
return null;
}
/**
* @param customerId
* @return
* @Author sun
* @Description 数据-项目-网格月统计
**/
private String gridMonthProjectStats(String customerId){
private String gridMonthProjectStats(String customerId, List<DimGridEntity> dimGridList) {
return null;
}

5
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/ProjectProcessService.java

@ -18,6 +18,7 @@
package com.epmet.service.project;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.entity.project.ProjectEntity;
import com.epmet.entity.project.ProjectProcessEntity;
import java.util.List;
@ -31,9 +32,9 @@ import java.util.List;
public interface ProjectProcessService extends BaseService<ProjectProcessEntity> {
/**
* @param customerId
* @param projectEntity
* @Author sun
* @Description 查询客户项目处理进展表中是创建项目和结案两种进展的有效数据(创建日期截取yyyy-mm-dd格式字段值)
**/
List<ProjectProcessEntity> getProcessList(String customerId);
List<ProjectProcessEntity> getProcessList(ProjectEntity projectEntity);
}

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

@ -32,11 +32,11 @@ import java.util.List;
public interface ProjectService extends BaseService<ProjectEntity> {
/**
* @param customerId
* @param projectEntity
* @Author sun
* @Description 根据客户Id查询客户项目业务表有效数据
**/
List<ProjectEntity> getProjectList(String customerId);
List<ProjectEntity> getProjectList(ProjectEntity projectEntity);
/**
* 已结案项目统计

7
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/impl/ProjectProcessServiceImpl.java

@ -19,6 +19,7 @@ package com.epmet.service.project.impl;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.dao.project.ProjectProcessDao;
import com.epmet.entity.project.ProjectEntity;
import com.epmet.entity.project.ProjectProcessEntity;
import com.epmet.service.project.ProjectProcessService;
import org.springframework.stereotype.Service;
@ -35,12 +36,12 @@ import java.util.List;
public class ProjectProcessServiceImpl extends BaseServiceImpl<ProjectProcessDao, ProjectProcessEntity> implements ProjectProcessService {
/**
* @param customerId
* @param projectEntity
* @Author sun
* @Description 查询客户项目处理进展表中是创建项目和结案两种进展的有效数据(创建日期截取yyyy-mm-dd格式字段值)
**/
@Override
public List<ProjectProcessEntity> getProcessList(String customerId) {
return baseDao.selectProcessList(customerId);
public List<ProjectProcessEntity> getProcessList(ProjectEntity projectEntity) {
return baseDao.selectProcessList(projectEntity);
}
}

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

@ -40,13 +40,13 @@ import java.util.List;
public class ProjectServiceImpl extends BaseServiceImpl<ProjectDao, ProjectEntity> implements ProjectService {
/**
* @param customerId
* @param projectEntity
* @Author sun
* @Description 根据客户Id查询客户项目业务表有效数据
**/
@Override
public List<ProjectEntity> getProjectList(String customerId) {
return baseDao.selectProjectList(customerId);
public List<ProjectEntity> getProjectList(ProjectEntity projectEntity) {
return baseDao.selectProjectList(projectEntity);
}
@Override

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

@ -13,7 +13,7 @@
<if test="customerId != null and customerId.trim() != ''">
AND customer_id = #{customerId}
</if>
<![CDATA[AND DATE_FORMAT(created_time, "%Y-%m-%d") < DATE_FORMAT(NOW(), "%Y-%m-%d")]]>
<![CDATA[AND DATE_FORMAT(created_time, "%Y-%m-%d") <= DATE_FORMAT(#{createdTime}, "%Y-%m-%d")]]>
ORDER BY created_time DESC
</select>
<select id="selectAgencyClosedProjectTotal" resultType="com.epmet.dto.project.ProjectAgencyDTO">

2
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectProcessDao.xml

@ -16,7 +16,7 @@
pro.del_flag = '0'
AND p.del_flag = '0'
AND p.customer_id = #{customerId}
<![CDATA[AND DATE_FORMAT(pro.created_time, "%Y-%m-%d") < DATE_FORMAT(NOW(), "%Y-%m-%d")]]>
<![CDATA[AND DATE_FORMAT(pro.created_time, "%Y-%m-%d") <= DATE_FORMAT(#{createdTime}, "%Y-%m-%d")]]>
ORDER BY
pro.project_id
</select>

Loading…
Cancel
Save