Browse Source

Merge branch 'dev_grid_member_statistics' of http://git.elinkit.com.cn:7070/r/epmet-cloud into dev_grid_member_statistics

dev_shibei_match
wxz 4 years ago
parent
commit
00299bbd18
  1. 3
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactGridMemberStatisticsDailyDao.java
  2. 40
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginIssueLogDailyDao.java
  3. 55
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectLogDailyDao.java
  4. 5
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/extract/FactOriginProjectMainDailyEntity.java
  5. 24
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginIssueLogDailyService.java
  6. 33
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginProjectLogDailyService.java
  7. 129
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactGridMemberStatisticsDailyServiceImpl.java
  8. 53
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginIssueLogDailyServiceImpl.java
  9. 72
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectLogDailyServiceImpl.java
  10. 2
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectMainDailyServiceImpl.java
  11. 66
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/ProjectExtractServiceImpl.java
  12. 6
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactGridMemberStatisticsDailyDao.xml
  13. 60
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginIssueLogDailyDao.xml
  14. 102
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectLogDailyDao.xml
  15. 1
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectDao.xml

3
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactGridMemberStatisticsDailyDao.java

@ -20,6 +20,7 @@ package com.epmet.dao.evaluationindex.extract;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.entity.evaluationindex.extract.FactGridMemberStatisticsDailyEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* 网格员数据统计_日统计
@ -29,5 +30,5 @@ import org.apache.ibatis.annotations.Mapper;
*/
@Mapper
public interface FactGridMemberStatisticsDailyDao extends BaseDao<FactGridMemberStatisticsDailyEntity> {
int deleteDataByCustomer(@Param("customerId") String customerId, @Param("dateId") String dateId, @Param("deleteSize") Integer deleteSize);
}

40
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginIssueLogDailyDao.java

@ -20,6 +20,7 @@ package com.epmet.dao.evaluationindex.extract;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.extract.form.IssueLogDailyFormDTO;
import com.epmet.dto.extract.result.IssueVoteUserCountResultDTO;
import com.epmet.dto.extract.result.OrgStatisticsResultDTO;
import com.epmet.dto.extract.result.PartyActiveResultDTO;
import com.epmet.entity.evaluationindex.extract.FactOriginIssueLogDailyEntity;
import org.apache.ibatis.annotations.Mapper;
@ -130,4 +131,43 @@ public interface FactOriginIssueLogDailyDao extends BaseDao<FactOriginIssueLogDa
@Param("communityId") String communityId,
@Param("agencyPath") String agencyPath,
@Param("isParty") String isParty);
/**
* 议题转项目总量
* @author zhaoqifeng
* @date 2021/7/5 15:55
* @param customerId
* @param dateId
* @return java.util.List<com.epmet.dto.extract.result.OrgStatisticsResultDTO>
*/
List<OrgStatisticsResultDTO> getIssueToProjectCount(@Param("customerId") String customerId, @Param("dateId") String dateId);
/**
* 议题转项目增量
* @author zhaoqifeng
* @date 2021/7/5 15:55
* @param customerId
* @param dateId
* @return java.util.List<com.epmet.dto.extract.result.OrgStatisticsResultDTO>
*/
List<OrgStatisticsResultDTO> getIssueToProjectIncr(@Param("customerId") String customerId, @Param("dateId") String dateId);
/**
* 关闭议题数总量
* @author zhaoqifeng
* @date 2021/7/5 16:37
* @param customerId
* @param dateId
* @return java.util.List<com.epmet.dto.extract.result.OrgStatisticsResultDTO>
*/
List<OrgStatisticsResultDTO> getClosedIssueCount(@Param("customerId") String customerId, @Param("dateId") String dateId);
/**
* 关闭议题数增量
* @author zhaoqifeng
* @date 2021/7/5 16:38
* @param customerId
* @param dateId
* @return java.util.List<com.epmet.dto.extract.result.OrgStatisticsResultDTO>
*/
List<OrgStatisticsResultDTO> getClosedIssueIncr(@Param("customerId") String customerId, @Param("dateId") String dateId);
}

55
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectLogDailyDao.java

@ -326,4 +326,59 @@ public interface FactOriginProjectLogDailyDao extends BaseDao<FactOriginProjectL
* @Date 2021/5/27 12:58
**/
FactOriginProjectLogDailyDTO selectClosedLog(String projectId);
/**
* 项目响应数
* @author zhaoqifeng
* @date 2021/7/5 17:00
* @param customerId
* @param dateId
* @return java.util.List<com.epmet.dto.extract.result.OrgStatisticsResultDTO>
*/
List<OrgStatisticsResultDTO> getProjectResponseCount(@Param("customerId") String customerId, @Param("dateId") String dateId);
/**
* 项目响应增量
* @author zhaoqifeng
* @date 2021/7/5 17:01
* @param customerId
* @param dateId
* @return java.util.List<com.epmet.dto.extract.result.OrgStatisticsResultDTO>
*/
List<OrgStatisticsResultDTO> getProjectResponseIncr(@Param("customerId") String customerId, @Param("dateId") String dateId);
/**
* 项目吹哨数
* @author zhaoqifeng
* @date 2021/7/5 17:01
* @param customerId
* @param dateId
* @return java.util.List<com.epmet.dto.extract.result.OrgStatisticsResultDTO>
*/
List<OrgStatisticsResultDTO> getProjectTransferCount(@Param("customerId") String customerId, @Param("dateId") String dateId);
/**
* 项目吹哨数增量
* @author zhaoqifeng
* @date 2021/7/5 17:01
* @param customerId
* @param dateId
* @return java.util.List<com.epmet.dto.extract.result.OrgStatisticsResultDTO>
*/
List<OrgStatisticsResultDTO> getProjectTransferIncr(@Param("customerId") String customerId, @Param("dateId") String dateId);
/**
* 项目结案数
* @author zhaoqifeng
* @date 2021/7/5 17:01
* @param customerId
* @param dateId
* @return java.util.List<com.epmet.dto.extract.result.OrgStatisticsResultDTO>
*/
List<OrgStatisticsResultDTO> getProjectClosedCount(@Param("customerId") String customerId, @Param("dateId") String dateId);
/**
* 项目结案数增量
* @author zhaoqifeng
* @date 2021/7/5 17:01
* @param customerId
* @param dateId
* @return java.util.List<com.epmet.dto.extract.result.OrgStatisticsResultDTO>
*/
List<OrgStatisticsResultDTO> getProjectClosedIncr(@Param("customerId") String customerId, @Param("dateId") String dateId);
}

5
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/extract/FactOriginProjectMainDailyEntity.java

@ -148,4 +148,9 @@ public class FactOriginProjectMainDailyEntity extends BaseEpmetEntity {
*/
private String finishOrgIds;
/**
* 项目创建人议题转项目或立项人
*/
private String projectCreator;
}

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

@ -19,9 +19,11 @@ package com.epmet.service.evaluationindex.extract.todata;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.dto.extract.result.IssueVoteUserCountResultDTO;
import com.epmet.dto.extract.result.OrgStatisticsResultDTO;
import com.epmet.entity.evaluationindex.extract.FactOriginIssueLogDailyEntity;
import java.util.List;
import java.util.Map;
/**
* 议题记录附表
@ -77,4 +79,26 @@ public interface FactOriginIssueLogDailyService extends BaseService<FactOriginIs
* @Date 2021/1/12 15:02
**/
int calPlatJoinUserTotal(String customerId, String gridId, String communityId,String agencyPath, String isParty);
/**
* 工作人员议题转项目数
* @author zhaoqifeng
* @date 2021/7/5 15:52
* @param customerId
* @param dateId
* @param type 0 总量 1 增量
* @return java.util.Map<java.lang.String,java.util.List<com.epmet.dto.extract.result.OrgStatisticsResultDTO>>
*/
Map<String, List<OrgStatisticsResultDTO>> getIssueToProjectCount(String customerId, String dateId, Integer type);
/**
* 工作人员关闭议题数
* @author zhaoqifeng
* @date 2021/7/5 16:40
* @param customerId
* @param dateId
* @param type
* @return java.util.Map<java.lang.String,java.util.List<com.epmet.dto.extract.result.OrgStatisticsResultDTO>>
*/
Map<String, List<OrgStatisticsResultDTO>> getClosedIssueCount(String customerId, String dateId, Integer type);
}

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

@ -330,4 +330,37 @@ public interface FactOriginProjectLogDailyService extends BaseService<FactOrigin
* @return java.util.List<com.epmet.dto.extract.result.OrgStatisticsResultDTO>
*/
Map<String, OrgStatisticsResultDTO> getAgencyGridSelfDaily(String customerId, String dateId);
/**
* 项目响应数
* @author zhaoqifeng
* @date 2021/7/5 16:56
* @param customerId
* @param dateId
* @param type
* @return java.util.Map<java.lang.String,java.util.List<com.epmet.dto.extract.result.OrgStatisticsResultDTO>>
*/
Map<String, List<OrgStatisticsResultDTO>> getProjectResponseCount(String customerId, String dateId, Integer type);
/**
* 项目吹哨数
* @author zhaoqifeng
* @date 2021/7/5 16:57
* @param customerId
* @param dateId
* @param type
* @return java.util.Map<java.lang.String,java.util.List<com.epmet.dto.extract.result.OrgStatisticsResultDTO>>
*/
Map<String, List<OrgStatisticsResultDTO>> getProjectTransferCount(String customerId, String dateId, Integer type);
/**
* 项目结案数
* @author zhaoqifeng
* @date 2021/7/5 16:57
* @param customerId
* @param dateId
* @param type
* @return java.util.Map<java.lang.String,java.util.List<com.epmet.dto.extract.result.OrgStatisticsResultDTO>>
*/
Map<String, List<OrgStatisticsResultDTO>> getProjectClosedCount(String customerId, String dateId, Integer type);
}

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

@ -19,6 +19,7 @@ package com.epmet.service.evaluationindex.extract.todata.impl;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.constant.IndexCalConstant;
import com.epmet.constant.RoleKeyConstants;
import com.epmet.dao.evaluationindex.extract.FactGridMemberStatisticsDailyDao;
import com.epmet.dto.extract.result.OrgStatisticsResultDTO;
@ -26,6 +27,8 @@ import com.epmet.dto.org.CustomerStaffGridDTO;
import com.epmet.dto.user.result.StaffRoleInfoDTO;
import com.epmet.entity.evaluationindex.extract.FactGridMemberStatisticsDailyEntity;
import com.epmet.service.evaluationindex.extract.todata.FactGridMemberStatisticsDailyService;
import com.epmet.service.evaluationindex.extract.todata.FactOriginIssueLogDailyService;
import com.epmet.service.evaluationindex.extract.todata.FactOriginProjectLogDailyService;
import com.epmet.service.evaluationindex.extract.todata.FactOriginProjectMainDailyService;
import com.epmet.service.org.CustomerGridService;
import com.epmet.service.user.UserService;
@ -54,6 +57,10 @@ public class FactGridMemberStatisticsDailyServiceImpl extends BaseServiceImpl<Fa
private CustomerGridService customerGridService;
@Resource
private FactOriginProjectMainDailyService factOriginProjectMainDailyService;
@Resource
private FactOriginIssueLogDailyService factOriginIssueLogDailyService;
@Resource
private FactOriginProjectLogDailyService factOriginProjectLogDailyService;
/**
@ -105,11 +112,32 @@ public class FactGridMemberStatisticsDailyServiceImpl extends BaseServiceImpl<Fa
Map<String, List<OrgStatisticsResultDTO>> projectIncrMap = factOriginProjectMainDailyService.getMemberProjectCount(customerId, dateId,
NumConstant.ONE);
//议题转项目数
Map<String, List<OrgStatisticsResultDTO>> issueToProjectCountMap = factOriginIssueLogDailyService.getIssueToProjectCount(customerId, dateId,
NumConstant.ZERO);
Map<String, List<OrgStatisticsResultDTO>> issueToProjectIncrMap = factOriginIssueLogDailyService.getIssueToProjectCount(customerId, dateId,
NumConstant.ONE);
//议题关闭数
Map<String, List<OrgStatisticsResultDTO>> closedIssueCountMap = factOriginIssueLogDailyService.getClosedIssueCount(customerId, dateId,
NumConstant.ZERO);
Map<String, List<OrgStatisticsResultDTO>> closedIssueIncrMap = factOriginIssueLogDailyService.getClosedIssueCount(customerId, dateId,
NumConstant.ONE);
//项目响应数
Map<String, List<OrgStatisticsResultDTO>> projectResponseCountMap = factOriginProjectLogDailyService.getProjectResponseCount(customerId,
dateId, NumConstant.ZERO);
Map<String, List<OrgStatisticsResultDTO>> projectResponseIncrMap = factOriginProjectLogDailyService.getProjectResponseCount(customerId, dateId
, NumConstant.ONE);
//项目吹哨数
Map<String, List<OrgStatisticsResultDTO>> projectTransferCountMap = factOriginProjectLogDailyService.getProjectTransferCount(customerId,
dateId, NumConstant.ZERO);
Map<String, List<OrgStatisticsResultDTO>> projectTransferIncrMap = factOriginProjectLogDailyService.getProjectTransferCount(customerId, dateId
, NumConstant.ONE);
//项目结案数
Map<String, List<OrgStatisticsResultDTO>> projectClosedCountMap = factOriginProjectLogDailyService.getProjectClosedCount(customerId,
dateId, NumConstant.ZERO);
Map<String, List<OrgStatisticsResultDTO>> projectClosedIncrMap = factOriginProjectLogDailyService.getProjectClosedCount(customerId, dateId
, NumConstant.ONE);
list.forEach(item -> {
//项目立项数
List<OrgStatisticsResultDTO> projectCount = projectCountMap.get(item.getStaffId());
if (CollectionUtils.isNotEmpty(projectCount)) {
projectCount.forEach(dto -> {
@ -118,7 +146,7 @@ public class FactGridMemberStatisticsDailyServiceImpl extends BaseServiceImpl<Fa
}
});
}
//项目立项日增量
List<OrgStatisticsResultDTO> projectIncr = projectIncrMap.get(item.getStaffId());
if (CollectionUtils.isNotEmpty(projectIncr)) {
projectIncr.forEach(dto -> {
@ -127,8 +155,107 @@ public class FactGridMemberStatisticsDailyServiceImpl extends BaseServiceImpl<Fa
}
});
}
//议题转项目数
List<OrgStatisticsResultDTO> issueToProjectCount = issueToProjectCountMap.get(item.getStaffId());
if (CollectionUtils.isNotEmpty(issueToProjectCount)) {
issueToProjectCount.forEach(dto -> {
if (item.getGridId().equals(dto.getOrgId())) {
item.setIssueToProjectCount(dto.getCount());
}
});
}
//议题转项目日增量
List<OrgStatisticsResultDTO> issueToProjectIncr = issueToProjectIncrMap.get(item.getStaffId());
if (CollectionUtils.isNotEmpty(issueToProjectIncr)) {
issueToProjectIncr.forEach(dto -> {
if (item.getGridId().equals(dto.getOrgId())) {
item.setIssueToProjectIncr(dto.getCount());
}
});
}
//议题关闭数
List<OrgStatisticsResultDTO> closedIssueCount = closedIssueCountMap.get(item.getStaffId());
if (CollectionUtils.isNotEmpty(closedIssueCount)) {
closedIssueCount.forEach(dto -> {
if (item.getGridId().equals(dto.getOrgId())) {
item.setClosedIssueCount(dto.getCount());
}
});
}
//议题关闭数日增量
List<OrgStatisticsResultDTO> closedIssueIncr = closedIssueIncrMap.get(item.getStaffId());
if (CollectionUtils.isNotEmpty(closedIssueIncr)) {
closedIssueIncr.forEach(dto -> {
if (item.getGridId().equals(dto.getOrgId())) {
item.setClosedIssueIncr(dto.getCount());
}
});
}
//项目响应数
List<OrgStatisticsResultDTO> projectResponseCount = projectResponseCountMap.get(item.getStaffId());
if (CollectionUtils.isNotEmpty(projectResponseCount)) {
projectResponseCount.forEach(dto -> {
if (item.getGridId().equals(dto.getOrgId())) {
item.setProjectResponseCount(dto.getCount());
}
});
}
//项目响应数日增量
List<OrgStatisticsResultDTO> projectResponseIncr = projectResponseIncrMap.get(item.getStaffId());
if (CollectionUtils.isNotEmpty(projectResponseIncr)) {
projectResponseIncr.forEach(dto -> {
if (item.getGridId().equals(dto.getOrgId())) {
item.setProjectResponseIncr(dto.getCount());
}
});
}
//项目吹哨数
List<OrgStatisticsResultDTO> projectTransferCount = projectTransferCountMap.get(item.getStaffId());
if (CollectionUtils.isNotEmpty(projectTransferCount)) {
projectTransferCount.forEach(dto -> {
if (item.getGridId().equals(dto.getOrgId())) {
item.setProjectTransferCount(dto.getCount());
}
});
}
//项目吹哨数日增量
List<OrgStatisticsResultDTO> projectTransferIncr = projectTransferIncrMap.get(item.getStaffId());
if (CollectionUtils.isNotEmpty(projectTransferIncr)) {
projectTransferIncr.forEach(dto -> {
if (item.getGridId().equals(dto.getOrgId())) {
item.setProjectTransferIncr(dto.getCount());
}
});
}
//项目响应数
List<OrgStatisticsResultDTO> projectClosedCount = projectClosedCountMap.get(item.getStaffId());
if (CollectionUtils.isNotEmpty(projectClosedCount)) {
projectClosedCount.forEach(dto -> {
if (item.getGridId().equals(dto.getOrgId())) {
item.setProjectClosedCount(dto.getCount());
}
});
}
//项目响应数日增量
List<OrgStatisticsResultDTO> projectClosedIncr = projectClosedIncrMap.get(item.getStaffId());
if (CollectionUtils.isNotEmpty(projectClosedIncr)) {
projectClosedIncr.forEach(dto -> {
if (item.getGridId().equals(dto.getOrgId())) {
item.setProjectClosedIncr(dto.getCount());
}
});
}
});
if (CollectionUtils.isNotEmpty(list)) {
int deleteNum;
do {
deleteNum = baseDao.deleteDataByCustomer(customerId, dateId, IndexCalConstant.DELETE_SIZE);
} while (deleteNum != NumConstant.ZERO);
//删除旧数据
insertBatch(list);
}
}
}

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

@ -25,6 +25,7 @@ import com.epmet.constant.DataSourceConstant;
import com.epmet.constant.OrgTypeConstant;
import com.epmet.dao.evaluationindex.extract.FactOriginIssueLogDailyDao;
import com.epmet.dto.extract.result.IssueVoteUserCountResultDTO;
import com.epmet.dto.extract.result.OrgStatisticsResultDTO;
import com.epmet.dto.stats.DimAgencyDTO;
import com.epmet.entity.evaluationindex.extract.FactOriginIssueLogDailyEntity;
import com.epmet.service.evaluationindex.extract.todata.FactOriginIssueLogDailyService;
@ -32,8 +33,12 @@ import com.epmet.service.stats.DimAgencyService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* 议题记录附表
@ -115,4 +120,52 @@ public class FactOriginIssueLogDailyServiceImpl extends BaseServiceImpl<FactOrig
public int calPlatJoinUserTotal(String customerId, String gridId,String communityId, String agencyPath, String isParty) {
return baseDao.selectPlatJoinUserTotal(customerId,gridId,communityId,agencyPath,isParty);
}
/**
* 工作人员议题转项目数
*
* @param customerId
* @param dateId
* @param type 0 总量 1 增量
* @return java.util.Map<java.lang.String, java.util.List < com.epmet.dto.extract.result.OrgStatisticsResultDTO>>
* @author zhaoqifeng
* @date 2021/7/5 15:52
*/
@Override
public Map<String, List<OrgStatisticsResultDTO>> getIssueToProjectCount(String customerId, String dateId, Integer type) {
List<OrgStatisticsResultDTO> list;
if (type == NumConstant.ZERO) {
list = baseDao.getIssueToProjectCount(customerId, dateId);
} else {
list = baseDao.getIssueToProjectIncr(customerId, dateId);
}
if (CollectionUtils.isEmpty(list)) {
return Collections.emptyMap();
}
return list.stream().collect(Collectors.groupingBy(OrgStatisticsResultDTO::getStaffId));
}
/**
* 工作人员关闭议题数
*
* @param customerId
* @param dateId
* @param type
* @return java.util.Map<java.lang.String, java.util.List < com.epmet.dto.extract.result.OrgStatisticsResultDTO>>
* @author zhaoqifeng
* @date 2021/7/5 16:40
*/
@Override
public Map<String, List<OrgStatisticsResultDTO>> getClosedIssueCount(String customerId, String dateId, Integer type) {
List<OrgStatisticsResultDTO> list;
if (type == NumConstant.ZERO) {
list = baseDao.getClosedIssueCount(customerId, dateId);
} else {
list = baseDao.getClosedIssueIncr(customerId, dateId);
}
if (CollectionUtils.isEmpty(list)) {
return Collections.emptyMap();
}
return list.stream().collect(Collectors.groupingBy(OrgStatisticsResultDTO::getStaffId));
}
}

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

@ -433,5 +433,77 @@ public class FactOriginProjectLogDailyServiceImpl extends BaseServiceImpl<FactOr
return list.stream().collect(Collectors.toMap(OrgStatisticsResultDTO::getAgencyId, Function.identity()));
}
/**
* 项目响应数
*
* @param customerId
* @param dateId
* @param type
* @return java.util.Map<java.lang.String, java.util.List < com.epmet.dto.extract.result.OrgStatisticsResultDTO>>
* @author zhaoqifeng
* @date 2021/7/5 16:56
*/
@Override
public Map<String, List<OrgStatisticsResultDTO>> getProjectResponseCount(String customerId, String dateId, Integer type) {
List<OrgStatisticsResultDTO> list;
if (type == NumConstant.ZERO) {
list = baseDao.getProjectResponseCount(customerId, dateId);
} else {
list = baseDao.getProjectResponseIncr(customerId, dateId);
}
if (CollectionUtils.isEmpty(list)) {
return Collections.emptyMap();
}
return list.stream().collect(Collectors.groupingBy(OrgStatisticsResultDTO::getStaffId));
}
/**
* 项目吹哨数
*
* @param customerId
* @param dateId
* @param type
* @return java.util.Map<java.lang.String, java.util.List < com.epmet.dto.extract.result.OrgStatisticsResultDTO>>
* @author zhaoqifeng
* @date 2021/7/5 16:57
*/
@Override
public Map<String, List<OrgStatisticsResultDTO>> getProjectTransferCount(String customerId, String dateId, Integer type) {
List<OrgStatisticsResultDTO> list;
if (type == NumConstant.ZERO) {
list = baseDao.getProjectTransferCount(customerId, dateId);
} else {
list = baseDao.getProjectTransferIncr(customerId, dateId);
}
if (CollectionUtils.isEmpty(list)) {
return Collections.emptyMap();
}
return list.stream().collect(Collectors.groupingBy(OrgStatisticsResultDTO::getStaffId));
}
/**
* 项目结案数
*
* @param customerId
* @param dateId
* @param type
* @return java.util.Map<java.lang.String, java.util.List < com.epmet.dto.extract.result.OrgStatisticsResultDTO>>
* @author zhaoqifeng
* @date 2021/7/5 16:57
*/
@Override
public Map<String, List<OrgStatisticsResultDTO>> getProjectClosedCount(String customerId, String dateId, Integer type) {
List<OrgStatisticsResultDTO> list;
if (type == NumConstant.ZERO) {
list = baseDao.getProjectClosedCount(customerId, dateId);
} else {
list = baseDao.getProjectClosedIncr(customerId, dateId);
}
if (CollectionUtils.isEmpty(list)) {
return Collections.emptyMap();
}
return list.stream().collect(Collectors.groupingBy(OrgStatisticsResultDTO::getStaffId));
}
}

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

@ -732,7 +732,7 @@ public class FactOriginProjectMainDailyServiceImpl extends BaseServiceImpl<FactO
if (CollectionUtils.isEmpty(list)) {
return Collections.emptyMap();
}
return list.stream().collect(Collectors.groupingBy(OrgStatisticsResultDTO::getAgencyId));
return list.stream().collect(Collectors.groupingBy(OrgStatisticsResultDTO::getStaffId));
}

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

@ -89,38 +89,39 @@ public class ProjectExtractServiceImpl implements ProjectExtractService {
List<FactOriginProjectMainDailyDTO> pendingList = factOriginProjectMainDailyService.getPendingList(customerId);
List<FinishOrgDTO> finishOrgList = projectProcessService.getFinishOrg(customerId, dateString);
if (!CollectionUtils.isEmpty(closedList)) {
List<FactOriginProjectMainDailyEntity> closeProjects =
pendingList.stream().flatMap(pending -> closedList.stream().filter(closed -> pending.getId().equals(closed.getProjectId())).map(process -> {
FactOriginProjectMainDailyEntity entity = new FactOriginProjectMainDailyEntity();
entity.setId(process.getProjectId());
entity.setProjectStatus(ProjectConstant.CLOSED);
entity.setCreatedTime(DateUtils.stringToDate(pending.getDateId(), DateUtils.DATE_PATTERN_YYYYMMDD));
entity.setUpdatedTime(process.getUpdatedTime());
entity.setIsResolved(process.getIsResolved());
return entity;
})).collect(Collectors.toList());
if (!CollectionUtils.isEmpty(finishOrgList)) {
closeProjects.forEach(close -> finishOrgList.stream().filter(finish -> close.getId().equals(finish.getProjectId())).forEach(dto -> {
String[] orgIds = dto.getPIdPath().split(StrConstant.COLON);
String org = "";
//取最短的ordIds中最后一个 则为最高级的那个orgIds
if (orgIds.length > NumConstant.ONE) {
org = orgIds[orgIds.length - 1];
} else {
org = orgIds[0];
}
if (StringUtils.isNotEmpty(dto.getGridId())) {
org = org + StrConstant.COLON + dto.getGridId();
} else if (StringUtils.isNotEmpty(dto.getDepartmentId())) {
org = org + StrConstant.COLON + dto.getDepartmentId();
}
close.setFinishOrgIds(org);
}));
}
//更新状态
if (!closeProjects.isEmpty()) {
factOriginProjectMainDailyService.updateBatchById(closeProjects);
if(!CollectionUtils.isEmpty(pendingList)) {
List<FactOriginProjectMainDailyEntity> closeProjects =
pendingList.stream().flatMap(pending -> closedList.stream().filter(closed -> pending.getId().equals(closed.getProjectId())).map(process -> {
FactOriginProjectMainDailyEntity entity = new FactOriginProjectMainDailyEntity();
entity.setId(process.getProjectId());
entity.setProjectStatus(ProjectConstant.CLOSED);
entity.setCreatedTime(DateUtils.stringToDate(pending.getDateId(), DateUtils.DATE_PATTERN_YYYYMMDD));
entity.setUpdatedTime(process.getUpdatedTime());
entity.setIsResolved(process.getIsResolved());
return entity;
})).collect(Collectors.toList());
if (!CollectionUtils.isEmpty(finishOrgList)) {
closeProjects.forEach(close -> finishOrgList.stream().filter(finish -> close.getId().equals(finish.getProjectId())).forEach(dto -> {
String[] orgIds = dto.getPIdPath().split(StrConstant.COLON);
String org = "";
//取最短的ordIds中最后一个 则为最高级的那个orgIds
if (orgIds.length > NumConstant.ONE) {
org = orgIds[orgIds.length - 1];
} else {
org = orgIds[0];
}
if (StringUtils.isNotEmpty(dto.getGridId())) {
org = org + StrConstant.COLON + dto.getGridId();
} else if (StringUtils.isNotEmpty(dto.getDepartmentId())) {
org = org + StrConstant.COLON + dto.getDepartmentId();
}
close.setFinishOrgIds(org);
}));
}
//更新状态
if (!closeProjects.isEmpty()) {
factOriginProjectMainDailyService.updateBatchById(closeProjects);
}
}
}
//获取项目信息
@ -177,6 +178,7 @@ public class ProjectExtractServiceImpl implements ProjectExtractService {
}
entity.setIsParty(NumConstant.ZERO_STR);
entity.setIsOverdue(NumConstant.ZERO_STR);
entity.setProjectCreator(project.getCreatedBy());
return entity;
}).collect(Collectors.toList());
if (CollectionUtils.isNotEmpty(issueList)) {

6
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactGridMemberStatisticsDailyDao.xml

@ -28,6 +28,12 @@
<result property="updatedBy" column="UPDATED_BY"/>
<result property="updatedTime" column="UPDATED_TIME"/>
</resultMap>
<delete id="deleteDataByCustomer">
delete from fact_grid_member_statistics_daily
where CUSTOMER_ID = #{customerId}
AND DATE_ID = #{dateId}
limit #{deleteSize}
</delete>
</mapper>

60
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginIssueLogDailyDao.xml

@ -177,4 +177,64 @@
and M.IS_PARTY=#{isParty}
</if>
</select>
<select id="getIssueToProjectCount" resultType="com.epmet.dto.extract.result.OrgStatisticsResultDTO">
SELECT
GRID_ID AS "orgId",
OPERATION_USER_ID AS "staffId",
COUNT( ID ) AS "count"
FROM
fact_origin_issue_log_daily
WHERE
CUSTOMER_ID = #{customerId}
AND DATE_ID &lt;= #{dateId}
AND ACTION_CODE = 'shift_project'
GROUP BY
GRID_ID,
OPERATION_USER_ID
</select>
<select id="getIssueToProjectIncr" resultType="com.epmet.dto.extract.result.OrgStatisticsResultDTO">
SELECT
GRID_ID AS "orgId",
OPERATION_USER_ID AS "staffId",
COUNT( ID ) AS "count"
FROM
fact_origin_issue_log_daily
WHERE
CUSTOMER_ID = #{customerId}
AND DATE_ID = #{dateId}
AND ACTION_CODE = 'shift_project'
GROUP BY
GRID_ID,
OPERATION_USER_ID
</select>
<select id="getClosedIssueCount" resultType="com.epmet.dto.extract.result.OrgStatisticsResultDTO">
SELECT
GRID_ID AS "orgId",
OPERATION_USER_ID AS "staffId",
COUNT( ID ) AS "count"
FROM
fact_origin_issue_log_daily
WHERE
CUSTOMER_ID = #{customerId}
AND DATE_ID &lt;= #{dateId}
AND (ACTION_CODE = 'closed_resolved' OR ACTION_CODE = 'closed_unresolved')
GROUP BY
GRID_ID,
OPERATION_USER_ID
</select>
<select id="getClosedIssueIncr" resultType="com.epmet.dto.extract.result.OrgStatisticsResultDTO">
SELECT
GRID_ID AS "orgId",
OPERATION_USER_ID AS "staffId",
COUNT( ID ) AS "count"
FROM
fact_origin_issue_log_daily
WHERE
CUSTOMER_ID = #{customerId}
AND DATE_ID = #{dateId}
AND (ACTION_CODE = 'closed_resolved' OR ACTION_CODE = 'closed_unresolved')
GROUP BY
GRID_ID,
OPERATION_USER_ID
</select>
</mapper>

102
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectLogDailyDao.xml

@ -737,4 +737,106 @@
GROUP BY
da.ID
</select>
<select id="getProjectResponseCount" resultType="com.epmet.dto.extract.result.OrgStatisticsResultDTO">
SELECT
ORG_ID,
OPERATION_USER_ID AS "staffId",
COUNT( ID ) AS "count"
FROM
fact_origin_project_log_daily
WHERE
CUSTOMER_ID = #{customerId}
AND ORG_TYPE = 'grid'
AND (ACTION_CODE = 'response' OR ACTION_CODE = 'transfer' OR ACTION_CODE = 'close')
AND IS_ACTIVE = 1
AND DATE_ID &lt;= #{dateId}
GROUP BY
ORG_ID,
OPERATION_USER_ID
</select>
<select id="getProjectResponseIncr" resultType="com.epmet.dto.extract.result.OrgStatisticsResultDTO">
SELECT
ORG_ID,
OPERATION_USER_ID AS "staffId",
COUNT( ID ) AS "count"
FROM
fact_origin_project_log_daily
WHERE
CUSTOMER_ID = #{customerId}
AND ORG_TYPE = 'grid'
AND (ACTION_CODE = 'response' OR ACTION_CODE = 'transfer' OR ACTION_CODE = 'close')
AND IS_ACTIVE = 1
AND DATE_ID = #{dateId}
GROUP BY
ORG_ID,
OPERATION_USER_ID
</select>
<select id="getProjectTransferCount" resultType="com.epmet.dto.extract.result.OrgStatisticsResultDTO">
SELECT
ORG_ID,
OPERATION_USER_ID AS "staffId",
COUNT( ID ) AS "count"
FROM
fact_origin_project_log_daily
WHERE
CUSTOMER_ID = #{customerId}
AND ORG_TYPE = 'grid'
AND ACTION_CODE = 'transfer'
AND IS_ACTIVE = 1
AND DATE_ID &lt;= #{dateId}
GROUP BY
ORG_ID,
OPERATION_USER_ID
</select>
<select id="getProjectTransferIncr" resultType="com.epmet.dto.extract.result.OrgStatisticsResultDTO">
SELECT
ORG_ID,
OPERATION_USER_ID AS "staffId",
COUNT( ID ) AS "count"
FROM
fact_origin_project_log_daily
WHERE
CUSTOMER_ID = #{customerId}
AND ORG_TYPE = 'grid'
AND ACTION_CODE = 'transfer'
AND IS_ACTIVE = 1
AND DATE_ID = #{dateId}
GROUP BY
ORG_ID,
OPERATION_USER_ID
</select>
<select id="getProjectClosedCount" resultType="com.epmet.dto.extract.result.OrgStatisticsResultDTO">
SELECT
ORG_ID,
OPERATION_USER_ID AS "staffId",
COUNT( ID ) AS "count"
FROM
fact_origin_project_log_daily
WHERE
CUSTOMER_ID = #{customerId}
AND ORG_TYPE = 'grid'
AND ACTION_CODE = 'close'
AND IS_ACTIVE = 1
AND DATE_ID &lt;= #{dateId}
GROUP BY
ORG_ID,
OPERATION_USER_ID
</select>
<select id="getProjectClosedIncr" resultType="com.epmet.dto.extract.result.OrgStatisticsResultDTO">
SELECT
ORG_ID,
OPERATION_USER_ID AS "staffId",
COUNT( ID ) AS "count"
FROM
fact_origin_project_log_daily
WHERE
CUSTOMER_ID = #{customerId}
AND ORG_TYPE = 'grid'
AND ACTION_CODE = 'close'
AND IS_ACTIVE = 1
AND DATE_ID = #{dateId}
GROUP BY
ORG_ID,
OPERATION_USER_ID
</select>
</mapper>

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

@ -86,6 +86,7 @@
STATUS,
CLOSED_STATUS,
ORG_ID_PATH,
CREATED_BY,
CREATED_TIME,
UPDATED_TIME
FROM project

Loading…
Cancel
Save