|
|
@ -32,11 +32,11 @@ import com.epmet.service.evaluationindex.extract.todata.FactOriginProjectLogDail |
|
|
|
import com.epmet.service.evaluationindex.extract.todata.FactOriginProjectMainDailyService; |
|
|
|
import com.epmet.service.org.CustomerGridService; |
|
|
|
import com.epmet.service.user.UserService; |
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
import org.apache.commons.collections4.CollectionUtils; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
|
|
|
|
import javax.annotation.Resource; |
|
|
|
import java.util.ArrayList; |
|
|
|
import java.util.List; |
|
|
|
import java.util.Map; |
|
|
|
import java.util.function.Function; |
|
|
@ -49,6 +49,7 @@ import java.util.stream.Collectors; |
|
|
|
* @since v1.0.0 2021-07-02 |
|
|
|
*/ |
|
|
|
@Service |
|
|
|
@Slf4j |
|
|
|
public class FactGridMemberStatisticsDailyServiceImpl extends BaseServiceImpl<FactGridMemberStatisticsDailyDao, FactGridMemberStatisticsDailyEntity> implements FactGridMemberStatisticsDailyService { |
|
|
|
|
|
|
|
@Resource |
|
|
@ -74,6 +75,7 @@ public class FactGridMemberStatisticsDailyServiceImpl extends BaseServiceImpl<Fa |
|
|
|
*/ |
|
|
|
@Override |
|
|
|
public void extractGridMemberStatisticsDaily(String customerId, String dateId) { |
|
|
|
log.info("客户" + customerId + ",时间" + dateId + ",网格员数据统计开始"); |
|
|
|
List<CustomerStaffGridDTO> staffGridList = customerGridService.getCustomerStaffGridList(customerId); |
|
|
|
List<StaffRoleInfoDTO> staffInfoList = userService.getStaffByRoleKey(customerId, RoleKeyConstants.ROLE_KEY_GRID_MEMBER); |
|
|
|
if (CollectionUtils.isEmpty(staffGridList) || CollectionUtils.isEmpty(staffInfoList)) { |
|
|
@ -83,172 +85,29 @@ public class FactGridMemberStatisticsDailyServiceImpl extends BaseServiceImpl<Fa |
|
|
|
Function.identity())); |
|
|
|
List<FactGridMemberStatisticsDailyEntity> list = staffGridList.stream().filter(p -> null != staffMap.get(p.getStaffId())).map(item -> { |
|
|
|
StaffRoleInfoDTO staffInfo = staffMap.get(item.getStaffId()); |
|
|
|
FactGridMemberStatisticsDailyEntity entity = new FactGridMemberStatisticsDailyEntity(); |
|
|
|
entity.setCustomerId(customerId); |
|
|
|
entity.setAgencyId(item.getAgencyId()); |
|
|
|
entity.setGridId(item.getGridId()); |
|
|
|
entity.setPid(item.getPid()); |
|
|
|
entity.setPids(item.getPids()); |
|
|
|
entity.setGridId(item.getGridId()); |
|
|
|
entity.setYearId(dateId.substring(NumConstant.ZERO, NumConstant.FOUR)); |
|
|
|
entity.setMonthId(dateId.substring(NumConstant.ZERO, NumConstant.SIX)); |
|
|
|
entity.setDateId(dateId); |
|
|
|
entity.setStaffId(item.getStaffId()); |
|
|
|
entity.setStaffName(staffInfo.getStaffName()); |
|
|
|
entity.setProjectCount(NumConstant.ZERO); |
|
|
|
entity.setProjectIncr(NumConstant.ZERO); |
|
|
|
entity.setIssueToProjectCount(NumConstant.ZERO); |
|
|
|
entity.setIssueToProjectIncr(NumConstant.ZERO); |
|
|
|
entity.setClosedIssueCount(NumConstant.ZERO); |
|
|
|
entity.setClosedIssueIncr(NumConstant.ZERO); |
|
|
|
entity.setProjectClosedCount(NumConstant.ZERO); |
|
|
|
entity.setProjectClosedIncr(NumConstant.ZERO); |
|
|
|
entity.setProjectResponseCount(NumConstant.ZERO); |
|
|
|
entity.setProjectResponseIncr(NumConstant.ZERO); |
|
|
|
entity.setProjectTransferCount(NumConstant.ZERO); |
|
|
|
entity.setProjectTransferIncr(NumConstant.ZERO); |
|
|
|
return entity; |
|
|
|
return initEntity(customerId, dateId, item, staffInfo); |
|
|
|
}).collect(Collectors.toList()); |
|
|
|
|
|
|
|
//项目立项数
|
|
|
|
Map<String, List<OrgStatisticsResultDTO>> projectCountMap = factOriginProjectMainDailyService.getMemberProjectCount(customerId, dateId, |
|
|
|
NumConstant.ZERO); |
|
|
|
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); |
|
|
|
//数据统计
|
|
|
|
GetGridMemberData getGridMemberData = new GetGridMemberData(customerId, dateId).invoke(); |
|
|
|
Map<String, List<OrgStatisticsResultDTO>> projectCountMap = getGridMemberData.getProjectCountMap(); |
|
|
|
Map<String, List<OrgStatisticsResultDTO>> projectIncrMap = getGridMemberData.getProjectIncrMap(); |
|
|
|
Map<String, List<OrgStatisticsResultDTO>> issueToProjectCountMap = getGridMemberData.getIssueToProjectCountMap(); |
|
|
|
Map<String, List<OrgStatisticsResultDTO>> issueToProjectIncrMap = getGridMemberData.getIssueToProjectIncrMap(); |
|
|
|
Map<String, List<OrgStatisticsResultDTO>> closedIssueCountMap = getGridMemberData.getClosedIssueCountMap(); |
|
|
|
Map<String, List<OrgStatisticsResultDTO>> closedIssueIncrMap = getGridMemberData.getClosedIssueIncrMap(); |
|
|
|
Map<String, List<OrgStatisticsResultDTO>> projectResponseCountMap = getGridMemberData.getProjectResponseCountMap(); |
|
|
|
Map<String, List<OrgStatisticsResultDTO>> projectResponseIncrMap = getGridMemberData.getProjectResponseIncrMap(); |
|
|
|
Map<String, List<OrgStatisticsResultDTO>> projectTransferCountMap = getGridMemberData.getProjectTransferCountMap(); |
|
|
|
Map<String, List<OrgStatisticsResultDTO>> projectTransferIncrMap = getGridMemberData.getProjectTransferIncrMap(); |
|
|
|
Map<String, List<OrgStatisticsResultDTO>> projectClosedCountMap = getGridMemberData.getProjectClosedCountMap(); |
|
|
|
Map<String, List<OrgStatisticsResultDTO>> projectClosedIncrMap = getGridMemberData.getProjectClosedIncrMap(); |
|
|
|
|
|
|
|
list.forEach(item -> { |
|
|
|
//项目立项数
|
|
|
|
List<OrgStatisticsResultDTO> projectCount = projectCountMap.get(item.getStaffId()); |
|
|
|
if (CollectionUtils.isNotEmpty(projectCount)) { |
|
|
|
projectCount.forEach(dto -> { |
|
|
|
if (item.getAgencyId().equals(dto.getAgencyId())) { |
|
|
|
item.setProjectCount(dto.getCount()); |
|
|
|
} |
|
|
|
}); |
|
|
|
} |
|
|
|
//项目立项日增量
|
|
|
|
List<OrgStatisticsResultDTO> projectIncr = projectIncrMap.get(item.getStaffId()); |
|
|
|
if (CollectionUtils.isNotEmpty(projectIncr)) { |
|
|
|
projectIncr.forEach(dto -> { |
|
|
|
if (item.getAgencyId().equals(dto.getAgencyId())) { |
|
|
|
item.setProjectIncr(dto.getCount()); |
|
|
|
} |
|
|
|
}); |
|
|
|
} |
|
|
|
//议题转项目数
|
|
|
|
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()); |
|
|
|
} |
|
|
|
}); |
|
|
|
} |
|
|
|
//赋值
|
|
|
|
setEntityData(projectCountMap, projectIncrMap, issueToProjectCountMap, issueToProjectIncrMap, closedIssueCountMap, closedIssueIncrMap, |
|
|
|
projectResponseCountMap, projectResponseIncrMap, projectTransferCountMap, projectTransferIncrMap, projectClosedCountMap, |
|
|
|
projectClosedIncrMap, item); |
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
@ -260,6 +119,289 @@ public class FactGridMemberStatisticsDailyServiceImpl extends BaseServiceImpl<Fa |
|
|
|
//删除旧数据
|
|
|
|
insertBatch(list); |
|
|
|
} |
|
|
|
log.info("客户" + customerId + ",时间" + dateId + ",网格员数据统计结束"); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 数据赋值 |
|
|
|
* @author zhaoqifeng |
|
|
|
* @date 2021/7/7 10:57 |
|
|
|
* @param projectCountMap |
|
|
|
* @param projectIncrMap |
|
|
|
* @param issueToProjectCountMap |
|
|
|
* @param issueToProjectIncrMap |
|
|
|
* @param closedIssueCountMap |
|
|
|
* @param closedIssueIncrMap |
|
|
|
* @param projectResponseCountMap |
|
|
|
* @param projectResponseIncrMap |
|
|
|
* @param projectTransferCountMap |
|
|
|
* @param projectTransferIncrMap |
|
|
|
* @param projectClosedCountMap |
|
|
|
* @param projectClosedIncrMap |
|
|
|
* @param item |
|
|
|
* @return void |
|
|
|
*/ |
|
|
|
private void setEntityData(Map<String, List<OrgStatisticsResultDTO>> projectCountMap, Map<String, List<OrgStatisticsResultDTO>> projectIncrMap, |
|
|
|
Map<String, List<OrgStatisticsResultDTO>> issueToProjectCountMap, Map<String, List<OrgStatisticsResultDTO>> issueToProjectIncrMap, |
|
|
|
Map<String, List<OrgStatisticsResultDTO>> closedIssueCountMap, Map<String, List<OrgStatisticsResultDTO>> closedIssueIncrMap, |
|
|
|
Map<String, List<OrgStatisticsResultDTO>> projectResponseCountMap, Map<String, List<OrgStatisticsResultDTO>> projectResponseIncrMap, |
|
|
|
Map<String, List<OrgStatisticsResultDTO>> projectTransferCountMap, Map<String, List<OrgStatisticsResultDTO>> projectTransferIncrMap, |
|
|
|
Map<String, List<OrgStatisticsResultDTO>> projectClosedCountMap, Map<String, List<OrgStatisticsResultDTO>> projectClosedIncrMap, |
|
|
|
FactGridMemberStatisticsDailyEntity item) { |
|
|
|
//项目立项数
|
|
|
|
List<OrgStatisticsResultDTO> projectCount = projectCountMap.get(item.getStaffId()); |
|
|
|
if (CollectionUtils.isNotEmpty(projectCount)) { |
|
|
|
projectCount.forEach(dto -> { |
|
|
|
if (item.getAgencyId().equals(dto.getAgencyId())) { |
|
|
|
item.setProjectCount(dto.getCount()); |
|
|
|
} |
|
|
|
}); |
|
|
|
} |
|
|
|
//项目立项日增量
|
|
|
|
List<OrgStatisticsResultDTO> projectIncr = projectIncrMap.get(item.getStaffId()); |
|
|
|
if (CollectionUtils.isNotEmpty(projectIncr)) { |
|
|
|
projectIncr.forEach(dto -> { |
|
|
|
if (item.getAgencyId().equals(dto.getAgencyId())) { |
|
|
|
item.setProjectIncr(dto.getCount()); |
|
|
|
} |
|
|
|
}); |
|
|
|
} |
|
|
|
//议题转项目数
|
|
|
|
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()); |
|
|
|
} |
|
|
|
}); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 初始化Entity |
|
|
|
* @author zhaoqifeng |
|
|
|
* @date 2021/7/7 10:55 |
|
|
|
* @param customerId |
|
|
|
* @param dateId |
|
|
|
* @param item |
|
|
|
* @param staffInfo |
|
|
|
* @return com.epmet.entity.evaluationindex.extract.FactGridMemberStatisticsDailyEntity |
|
|
|
*/ |
|
|
|
private FactGridMemberStatisticsDailyEntity initEntity(String customerId, String dateId, CustomerStaffGridDTO item, StaffRoleInfoDTO staffInfo) { |
|
|
|
FactGridMemberStatisticsDailyEntity entity = new FactGridMemberStatisticsDailyEntity(); |
|
|
|
entity.setCustomerId(customerId); |
|
|
|
entity.setAgencyId(item.getAgencyId()); |
|
|
|
entity.setGridId(item.getGridId()); |
|
|
|
entity.setPid(item.getPid()); |
|
|
|
entity.setPids(item.getPids()); |
|
|
|
entity.setGridId(item.getGridId()); |
|
|
|
entity.setYearId(dateId.substring(NumConstant.ZERO, NumConstant.FOUR)); |
|
|
|
entity.setMonthId(dateId.substring(NumConstant.ZERO, NumConstant.SIX)); |
|
|
|
entity.setDateId(dateId); |
|
|
|
entity.setStaffId(item.getStaffId()); |
|
|
|
entity.setStaffName(staffInfo.getStaffName()); |
|
|
|
entity.setProjectCount(NumConstant.ZERO); |
|
|
|
entity.setProjectIncr(NumConstant.ZERO); |
|
|
|
entity.setIssueToProjectCount(NumConstant.ZERO); |
|
|
|
entity.setIssueToProjectIncr(NumConstant.ZERO); |
|
|
|
entity.setClosedIssueCount(NumConstant.ZERO); |
|
|
|
entity.setClosedIssueIncr(NumConstant.ZERO); |
|
|
|
entity.setProjectClosedCount(NumConstant.ZERO); |
|
|
|
entity.setProjectClosedIncr(NumConstant.ZERO); |
|
|
|
entity.setProjectResponseCount(NumConstant.ZERO); |
|
|
|
entity.setProjectResponseIncr(NumConstant.ZERO); |
|
|
|
entity.setProjectTransferCount(NumConstant.ZERO); |
|
|
|
entity.setProjectTransferIncr(NumConstant.ZERO); |
|
|
|
return entity; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 网格员数据统计 |
|
|
|
* @author zhaoqifeng |
|
|
|
* @date 2021/7/7 10:55 |
|
|
|
*/ |
|
|
|
private class GetGridMemberData { |
|
|
|
private String customerId; |
|
|
|
private String dateId; |
|
|
|
private Map<String, List<OrgStatisticsResultDTO>> projectCountMap; |
|
|
|
private Map<String, List<OrgStatisticsResultDTO>> projectIncrMap; |
|
|
|
private Map<String, List<OrgStatisticsResultDTO>> issueToProjectCountMap; |
|
|
|
private Map<String, List<OrgStatisticsResultDTO>> issueToProjectIncrMap; |
|
|
|
private Map<String, List<OrgStatisticsResultDTO>> closedIssueCountMap; |
|
|
|
private Map<String, List<OrgStatisticsResultDTO>> closedIssueIncrMap; |
|
|
|
private Map<String, List<OrgStatisticsResultDTO>> projectResponseCountMap; |
|
|
|
private Map<String, List<OrgStatisticsResultDTO>> projectResponseIncrMap; |
|
|
|
private Map<String, List<OrgStatisticsResultDTO>> projectTransferCountMap; |
|
|
|
private Map<String, List<OrgStatisticsResultDTO>> projectTransferIncrMap; |
|
|
|
private Map<String, List<OrgStatisticsResultDTO>> projectClosedCountMap; |
|
|
|
private Map<String, List<OrgStatisticsResultDTO>> projectClosedIncrMap; |
|
|
|
|
|
|
|
GetGridMemberData(String customerId, String dateId) { |
|
|
|
this.customerId = customerId; |
|
|
|
this.dateId = dateId; |
|
|
|
} |
|
|
|
|
|
|
|
Map<String, List<OrgStatisticsResultDTO>> getProjectCountMap() { |
|
|
|
return projectCountMap; |
|
|
|
} |
|
|
|
|
|
|
|
Map<String, List<OrgStatisticsResultDTO>> getProjectIncrMap() { |
|
|
|
return projectIncrMap; |
|
|
|
} |
|
|
|
|
|
|
|
Map<String, List<OrgStatisticsResultDTO>> getIssueToProjectCountMap() { |
|
|
|
return issueToProjectCountMap; |
|
|
|
} |
|
|
|
|
|
|
|
Map<String, List<OrgStatisticsResultDTO>> getIssueToProjectIncrMap() { |
|
|
|
return issueToProjectIncrMap; |
|
|
|
} |
|
|
|
|
|
|
|
Map<String, List<OrgStatisticsResultDTO>> getClosedIssueCountMap() { |
|
|
|
return closedIssueCountMap; |
|
|
|
} |
|
|
|
|
|
|
|
Map<String, List<OrgStatisticsResultDTO>> getClosedIssueIncrMap() { |
|
|
|
return closedIssueIncrMap; |
|
|
|
} |
|
|
|
|
|
|
|
Map<String, List<OrgStatisticsResultDTO>> getProjectResponseCountMap() { |
|
|
|
return projectResponseCountMap; |
|
|
|
} |
|
|
|
|
|
|
|
Map<String, List<OrgStatisticsResultDTO>> getProjectResponseIncrMap() { |
|
|
|
return projectResponseIncrMap; |
|
|
|
} |
|
|
|
|
|
|
|
Map<String, List<OrgStatisticsResultDTO>> getProjectTransferCountMap() { |
|
|
|
return projectTransferCountMap; |
|
|
|
} |
|
|
|
|
|
|
|
Map<String, List<OrgStatisticsResultDTO>> getProjectTransferIncrMap() { |
|
|
|
return projectTransferIncrMap; |
|
|
|
} |
|
|
|
|
|
|
|
Map<String, List<OrgStatisticsResultDTO>> getProjectClosedCountMap() { |
|
|
|
return projectClosedCountMap; |
|
|
|
} |
|
|
|
|
|
|
|
Map<String, List<OrgStatisticsResultDTO>> getProjectClosedIncrMap() { |
|
|
|
return projectClosedIncrMap; |
|
|
|
} |
|
|
|
|
|
|
|
GetGridMemberData invoke() { |
|
|
|
//项目立项数
|
|
|
|
projectCountMap = factOriginProjectMainDailyService.getMemberProjectCount(customerId, dateId, |
|
|
|
NumConstant.ZERO); |
|
|
|
projectIncrMap = factOriginProjectMainDailyService.getMemberProjectCount(customerId, dateId, |
|
|
|
NumConstant.ONE); |
|
|
|
//议题转项目数
|
|
|
|
issueToProjectCountMap = factOriginIssueLogDailyService.getIssueToProjectCount(customerId, dateId, |
|
|
|
NumConstant.ZERO); |
|
|
|
issueToProjectIncrMap = factOriginIssueLogDailyService.getIssueToProjectCount(customerId, dateId, |
|
|
|
NumConstant.ONE); |
|
|
|
//议题关闭数
|
|
|
|
closedIssueCountMap = factOriginIssueLogDailyService.getClosedIssueCount(customerId, dateId, |
|
|
|
NumConstant.ZERO); |
|
|
|
closedIssueIncrMap = factOriginIssueLogDailyService.getClosedIssueCount(customerId, dateId, |
|
|
|
NumConstant.ONE); |
|
|
|
//项目响应数
|
|
|
|
projectResponseCountMap = factOriginProjectLogDailyService.getProjectResponseCount(customerId, |
|
|
|
dateId, NumConstant.ZERO); |
|
|
|
projectResponseIncrMap = factOriginProjectLogDailyService.getProjectResponseCount(customerId, dateId |
|
|
|
, NumConstant.ONE); |
|
|
|
//项目吹哨数
|
|
|
|
projectTransferCountMap = factOriginProjectLogDailyService.getProjectTransferCount(customerId, |
|
|
|
dateId, NumConstant.ZERO); |
|
|
|
projectTransferIncrMap = factOriginProjectLogDailyService.getProjectTransferCount(customerId, dateId |
|
|
|
, NumConstant.ONE); |
|
|
|
//项目结案数
|
|
|
|
projectClosedCountMap = factOriginProjectLogDailyService.getProjectClosedCount(customerId, |
|
|
|
dateId, NumConstant.ZERO); |
|
|
|
projectClosedIncrMap = factOriginProjectLogDailyService.getProjectClosedCount(customerId, dateId |
|
|
|
, NumConstant.ONE); |
|
|
|
return this; |
|
|
|
} |
|
|
|
} |
|
|
|
} |