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.commons.mybatis.dao.BaseDao;
import com.epmet.entity.evaluationindex.extract.FactGridMemberStatisticsDailyEntity; import com.epmet.entity.evaluationindex.extract.FactGridMemberStatisticsDailyEntity;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/** /**
* 网格员数据统计_日统计 * 网格员数据统计_日统计
@ -29,5 +30,5 @@ import org.apache.ibatis.annotations.Mapper;
*/ */
@Mapper @Mapper
public interface FactGridMemberStatisticsDailyDao extends BaseDao<FactGridMemberStatisticsDailyEntity> { 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.commons.mybatis.dao.BaseDao;
import com.epmet.dto.extract.form.IssueLogDailyFormDTO; import com.epmet.dto.extract.form.IssueLogDailyFormDTO;
import com.epmet.dto.extract.result.IssueVoteUserCountResultDTO; import com.epmet.dto.extract.result.IssueVoteUserCountResultDTO;
import com.epmet.dto.extract.result.OrgStatisticsResultDTO;
import com.epmet.dto.extract.result.PartyActiveResultDTO; import com.epmet.dto.extract.result.PartyActiveResultDTO;
import com.epmet.entity.evaluationindex.extract.FactOriginIssueLogDailyEntity; import com.epmet.entity.evaluationindex.extract.FactOriginIssueLogDailyEntity;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
@ -130,4 +131,43 @@ public interface FactOriginIssueLogDailyDao extends BaseDao<FactOriginIssueLogDa
@Param("communityId") String communityId, @Param("communityId") String communityId,
@Param("agencyPath") String agencyPath, @Param("agencyPath") String agencyPath,
@Param("isParty") String isParty); @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 * @Date 2021/5/27 12:58
**/ **/
FactOriginProjectLogDailyDTO selectClosedLog(String projectId); 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 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.commons.mybatis.service.BaseService;
import com.epmet.dto.extract.result.IssueVoteUserCountResultDTO; import com.epmet.dto.extract.result.IssueVoteUserCountResultDTO;
import com.epmet.dto.extract.result.OrgStatisticsResultDTO;
import com.epmet.entity.evaluationindex.extract.FactOriginIssueLogDailyEntity; import com.epmet.entity.evaluationindex.extract.FactOriginIssueLogDailyEntity;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* 议题记录附表 * 议题记录附表
@ -77,4 +79,26 @@ public interface FactOriginIssueLogDailyService extends BaseService<FactOriginIs
* @Date 2021/1/12 15:02 * @Date 2021/1/12 15:02
**/ **/
int calPlatJoinUserTotal(String customerId, String gridId, String communityId,String agencyPath, String isParty); 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> * @return java.util.List<com.epmet.dto.extract.result.OrgStatisticsResultDTO>
*/ */
Map<String, OrgStatisticsResultDTO> getAgencyGridSelfDaily(String customerId, String dateId); 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.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.constant.IndexCalConstant;
import com.epmet.constant.RoleKeyConstants; import com.epmet.constant.RoleKeyConstants;
import com.epmet.dao.evaluationindex.extract.FactGridMemberStatisticsDailyDao; import com.epmet.dao.evaluationindex.extract.FactGridMemberStatisticsDailyDao;
import com.epmet.dto.extract.result.OrgStatisticsResultDTO; 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.dto.user.result.StaffRoleInfoDTO;
import com.epmet.entity.evaluationindex.extract.FactGridMemberStatisticsDailyEntity; import com.epmet.entity.evaluationindex.extract.FactGridMemberStatisticsDailyEntity;
import com.epmet.service.evaluationindex.extract.todata.FactGridMemberStatisticsDailyService; 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.evaluationindex.extract.todata.FactOriginProjectMainDailyService;
import com.epmet.service.org.CustomerGridService; import com.epmet.service.org.CustomerGridService;
import com.epmet.service.user.UserService; import com.epmet.service.user.UserService;
@ -54,6 +57,10 @@ public class FactGridMemberStatisticsDailyServiceImpl extends BaseServiceImpl<Fa
private CustomerGridService customerGridService; private CustomerGridService customerGridService;
@Resource @Resource
private FactOriginProjectMainDailyService factOriginProjectMainDailyService; 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, Map<String, List<OrgStatisticsResultDTO>> projectIncrMap = factOriginProjectMainDailyService.getMemberProjectCount(customerId, dateId,
NumConstant.ONE); 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.forEach(item -> {
//项目立项数
List<OrgStatisticsResultDTO> projectCount = projectCountMap.get(item.getStaffId()); List<OrgStatisticsResultDTO> projectCount = projectCountMap.get(item.getStaffId());
if (CollectionUtils.isNotEmpty(projectCount)) { if (CollectionUtils.isNotEmpty(projectCount)) {
projectCount.forEach(dto -> { projectCount.forEach(dto -> {
@ -118,7 +146,7 @@ public class FactGridMemberStatisticsDailyServiceImpl extends BaseServiceImpl<Fa
} }
}); });
} }
//项目立项日增量
List<OrgStatisticsResultDTO> projectIncr = projectIncrMap.get(item.getStaffId()); List<OrgStatisticsResultDTO> projectIncr = projectIncrMap.get(item.getStaffId());
if (CollectionUtils.isNotEmpty(projectIncr)) { if (CollectionUtils.isNotEmpty(projectIncr)) {
projectIncr.forEach(dto -> { 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.constant.OrgTypeConstant;
import com.epmet.dao.evaluationindex.extract.FactOriginIssueLogDailyDao; import com.epmet.dao.evaluationindex.extract.FactOriginIssueLogDailyDao;
import com.epmet.dto.extract.result.IssueVoteUserCountResultDTO; import com.epmet.dto.extract.result.IssueVoteUserCountResultDTO;
import com.epmet.dto.extract.result.OrgStatisticsResultDTO;
import com.epmet.dto.stats.DimAgencyDTO; import com.epmet.dto.stats.DimAgencyDTO;
import com.epmet.entity.evaluationindex.extract.FactOriginIssueLogDailyEntity; import com.epmet.entity.evaluationindex.extract.FactOriginIssueLogDailyEntity;
import com.epmet.service.evaluationindex.extract.todata.FactOriginIssueLogDailyService; import com.epmet.service.evaluationindex.extract.todata.FactOriginIssueLogDailyService;
@ -32,8 +33,12 @@ import com.epmet.service.stats.DimAgencyService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.Collections;
import java.util.List; 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) { public int calPlatJoinUserTotal(String customerId, String gridId,String communityId, String agencyPath, String isParty) {
return baseDao.selectPlatJoinUserTotal(customerId,gridId,communityId,agencyPath,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())); 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)) { if (CollectionUtils.isEmpty(list)) {
return Collections.emptyMap(); 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<FactOriginProjectMainDailyDTO> pendingList = factOriginProjectMainDailyService.getPendingList(customerId);
List<FinishOrgDTO> finishOrgList = projectProcessService.getFinishOrg(customerId, dateString); List<FinishOrgDTO> finishOrgList = projectProcessService.getFinishOrg(customerId, dateString);
if (!CollectionUtils.isEmpty(closedList)) { if (!CollectionUtils.isEmpty(closedList)) {
List<FactOriginProjectMainDailyEntity> closeProjects = if(!CollectionUtils.isEmpty(pendingList)) {
pendingList.stream().flatMap(pending -> closedList.stream().filter(closed -> pending.getId().equals(closed.getProjectId())).map(process -> { List<FactOriginProjectMainDailyEntity> closeProjects =
FactOriginProjectMainDailyEntity entity = new FactOriginProjectMainDailyEntity(); pendingList.stream().flatMap(pending -> closedList.stream().filter(closed -> pending.getId().equals(closed.getProjectId())).map(process -> {
entity.setId(process.getProjectId()); FactOriginProjectMainDailyEntity entity = new FactOriginProjectMainDailyEntity();
entity.setProjectStatus(ProjectConstant.CLOSED); entity.setId(process.getProjectId());
entity.setCreatedTime(DateUtils.stringToDate(pending.getDateId(), DateUtils.DATE_PATTERN_YYYYMMDD)); entity.setProjectStatus(ProjectConstant.CLOSED);
entity.setUpdatedTime(process.getUpdatedTime()); entity.setCreatedTime(DateUtils.stringToDate(pending.getDateId(), DateUtils.DATE_PATTERN_YYYYMMDD));
entity.setIsResolved(process.getIsResolved()); entity.setUpdatedTime(process.getUpdatedTime());
return entity; entity.setIsResolved(process.getIsResolved());
})).collect(Collectors.toList()); return entity;
})).collect(Collectors.toList());
if (!CollectionUtils.isEmpty(finishOrgList)) { if (!CollectionUtils.isEmpty(finishOrgList)) {
closeProjects.forEach(close -> finishOrgList.stream().filter(finish -> close.getId().equals(finish.getProjectId())).forEach(dto -> { closeProjects.forEach(close -> finishOrgList.stream().filter(finish -> close.getId().equals(finish.getProjectId())).forEach(dto -> {
String[] orgIds = dto.getPIdPath().split(StrConstant.COLON); String[] orgIds = dto.getPIdPath().split(StrConstant.COLON);
String org = ""; String org = "";
//取最短的ordIds中最后一个 则为最高级的那个orgIds //取最短的ordIds中最后一个 则为最高级的那个orgIds
if (orgIds.length > NumConstant.ONE) { if (orgIds.length > NumConstant.ONE) {
org = orgIds[orgIds.length - 1]; org = orgIds[orgIds.length - 1];
} else { } else {
org = orgIds[0]; org = orgIds[0];
} }
if (StringUtils.isNotEmpty(dto.getGridId())) { if (StringUtils.isNotEmpty(dto.getGridId())) {
org = org + StrConstant.COLON + dto.getGridId(); org = org + StrConstant.COLON + dto.getGridId();
} else if (StringUtils.isNotEmpty(dto.getDepartmentId())) { } else if (StringUtils.isNotEmpty(dto.getDepartmentId())) {
org = org + StrConstant.COLON + dto.getDepartmentId(); org = org + StrConstant.COLON + dto.getDepartmentId();
} }
close.setFinishOrgIds(org); close.setFinishOrgIds(org);
})); }));
} }
//更新状态 //更新状态
if (!closeProjects.isEmpty()) { if (!closeProjects.isEmpty()) {
factOriginProjectMainDailyService.updateBatchById(closeProjects); factOriginProjectMainDailyService.updateBatchById(closeProjects);
}
} }
} }
//获取项目信息 //获取项目信息
@ -177,6 +178,7 @@ public class ProjectExtractServiceImpl implements ProjectExtractService {
} }
entity.setIsParty(NumConstant.ZERO_STR); entity.setIsParty(NumConstant.ZERO_STR);
entity.setIsOverdue(NumConstant.ZERO_STR); entity.setIsOverdue(NumConstant.ZERO_STR);
entity.setProjectCreator(project.getCreatedBy());
return entity; return entity;
}).collect(Collectors.toList()); }).collect(Collectors.toList());
if (CollectionUtils.isNotEmpty(issueList)) { 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="updatedBy" column="UPDATED_BY"/>
<result property="updatedTime" column="UPDATED_TIME"/> <result property="updatedTime" column="UPDATED_TIME"/>
</resultMap> </resultMap>
<delete id="deleteDataByCustomer">
delete from fact_grid_member_statistics_daily
where CUSTOMER_ID = #{customerId}
AND DATE_ID = #{dateId}
limit #{deleteSize}
</delete>
</mapper> </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} and M.IS_PARTY=#{isParty}
</if> </if>
</select> </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> </mapper>

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

@ -737,4 +737,106 @@
GROUP BY GROUP BY
da.ID da.ID
</select> </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> </mapper>

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

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

Loading…
Cancel
Save