|
@ -77,7 +77,6 @@ public class StatsProjectServiceImpl implements StatsProjectService { |
|
|
} |
|
|
} |
|
|
//入参有客户Id的则按客户Id执行,没有的则全部客户都执行
|
|
|
//入参有客户Id的则按客户Id执行,没有的则全部客户都执行
|
|
|
if (null != formDTO && StringUtils.isNotBlank(formDTO.getCustomerId())) { |
|
|
if (null != formDTO && StringUtils.isNotBlank(formDTO.getCustomerId())) { |
|
|
log.info("单独统计客户机关-项目-日月数据,当前统计的客户Id:" + formDTO.getCustomerId()); |
|
|
|
|
|
customerAgencyStats(formDTO.getCustomerId(), date); |
|
|
customerAgencyStats(formDTO.getCustomerId(), date); |
|
|
} else { |
|
|
} else { |
|
|
int pageNo = 1; |
|
|
int pageNo = 1; |
|
@ -88,7 +87,6 @@ public class StatsProjectServiceImpl implements StatsProjectService { |
|
|
if (!CollectionUtils.isEmpty(customerIdList)) { |
|
|
if (!CollectionUtils.isEmpty(customerIdList)) { |
|
|
for (String customerId : customerIdList) { |
|
|
for (String customerId : customerIdList) { |
|
|
try { |
|
|
try { |
|
|
log.info("for循环统计机关-项目-日月数据,当前统计的客户Id:" + customerId); |
|
|
|
|
|
//遍历统计每一个客户数据
|
|
|
//遍历统计每一个客户数据
|
|
|
customerAgencyStats(customerId, date); |
|
|
customerAgencyStats(customerId, date); |
|
|
} catch (Exception e) { |
|
|
} catch (Exception e) { |
|
@ -110,13 +108,11 @@ public class StatsProjectServiceImpl implements StatsProjectService { |
|
|
DimIdGenerator.DimIdBean dimId = DimIdGenerator.getDimIdBean(date); |
|
|
DimIdGenerator.DimIdBean dimId = DimIdGenerator.getDimIdBean(date); |
|
|
|
|
|
|
|
|
//2:根据客户Id查询机关维度表数据
|
|
|
//2:根据客户Id查询机关维度表数据
|
|
|
log.info("StatsProjectServiceImpl.customerAgencyStats-根据客户Id查询机关维度数据,对应客户Id:" + customerId); |
|
|
|
|
|
DimAgencyDTO dimAgencyDTO = new DimAgencyDTO(); |
|
|
DimAgencyDTO dimAgencyDTO = new DimAgencyDTO(); |
|
|
dimAgencyDTO.setCustomerId(customerId); |
|
|
dimAgencyDTO.setCustomerId(customerId); |
|
|
List<DimAgencyDTO> dimAgencyList = dimAgencyService.getDimAgencyList(dimAgencyDTO); |
|
|
List<DimAgencyDTO> dimAgencyList = dimAgencyService.getDimAgencyList(dimAgencyDTO); |
|
|
|
|
|
|
|
|
//3:根据客户Id查询项目业务表已结案数据(查询传入日期及之前的数据)
|
|
|
//3:根据客户Id查询项目业务表已结案数据(查询传入日期及之前的数据)
|
|
|
log.info("StatsProjectServiceImpl.customerAgencyStats-根据客户Id查询项目业务表已结案数据,对应客户Id:" + customerId); |
|
|
|
|
|
ProjectEntity projectEntity = new ProjectEntity(); |
|
|
ProjectEntity projectEntity = new ProjectEntity(); |
|
|
projectEntity.setCustomerId(customerId); |
|
|
projectEntity.setCustomerId(customerId); |
|
|
projectEntity.setCreatedTime(date); |
|
|
projectEntity.setCreatedTime(date); |
|
@ -124,7 +120,6 @@ public class StatsProjectServiceImpl implements StatsProjectService { |
|
|
List<ProjectEntity> projectList = projectService.getProjectList(projectEntity); |
|
|
List<ProjectEntity> projectList = projectService.getProjectList(projectEntity); |
|
|
|
|
|
|
|
|
//4:查询项目处理进展表中有效数据(创建日期截取yyyy-mm-dd格式字段值)(查询传入日期及之前的数据)
|
|
|
//4:查询项目处理进展表中有效数据(创建日期截取yyyy-mm-dd格式字段值)(查询传入日期及之前的数据)
|
|
|
log.info("StatsProjectServiceImpl.customerAgencyStats-根据客户Id查询项目进展表业务数据,对应客户Id:" + customerId); |
|
|
|
|
|
List<ProjectProcessEntity> processList = projectProcessService.getProcessList(projectEntity); |
|
|
List<ProjectProcessEntity> processList = projectProcessService.getProcessList(projectEntity); |
|
|
|
|
|
|
|
|
//20210721 sun 业务逻辑调整,网格删除,组织没有删除情况,相应的组织层级数据统计应舍弃以删除网格数据 start
|
|
|
//20210721 sun 业务逻辑调整,网格删除,组织没有删除情况,相应的组织层级数据统计应舍弃以删除网格数据 start
|
|
@ -134,21 +129,9 @@ public class StatsProjectServiceImpl implements StatsProjectService { |
|
|
if (list.size() > NumConstant.ZERO) { |
|
|
if (list.size() > NumConstant.ZERO) { |
|
|
Map<String, String> map = list.stream().collect(Collectors.toMap(String::toString, v -> v, (c1, c2) -> c1)); |
|
|
Map<String, String> map = list.stream().collect(Collectors.toMap(String::toString, v -> v, (c1, c2) -> c1)); |
|
|
//4-2.遍历删除项目主表查询的无效数据
|
|
|
//4-2.遍历删除项目主表查询的无效数据
|
|
|
Iterator<ProjectEntity> proiter = projectList.iterator(); |
|
|
projectList.removeIf(next -> map.containsKey(next.getId())); |
|
|
while (proiter.hasNext()) { |
|
|
|
|
|
ProjectEntity next = proiter.next(); |
|
|
|
|
|
if (map.containsKey(next.getId())) { |
|
|
|
|
|
proiter.remove(); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
//4-3.遍历删除项目节点表查询的无效数据
|
|
|
//4-3.遍历删除项目节点表查询的无效数据
|
|
|
Iterator<ProjectProcessEntity> iterator = processList.iterator(); |
|
|
processList.removeIf(next -> map.containsKey(next.getProjectId())); |
|
|
while (iterator.hasNext()) { |
|
|
|
|
|
ProjectProcessEntity next = iterator.next(); |
|
|
|
|
|
if (map.containsKey(next.getProjectId())) { |
|
|
|
|
|
iterator.remove(); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
} |
|
|
//20210721 sun end
|
|
|
//20210721 sun end
|
|
|
|
|
|
|
|
@ -156,21 +139,17 @@ public class StatsProjectServiceImpl implements StatsProjectService { |
|
|
if (null != dimAgencyList && dimAgencyList.size() > NumConstant.ZERO) { |
|
|
if (null != dimAgencyList && dimAgencyList.size() > NumConstant.ZERO) { |
|
|
//5.1:执行机关日数据统计
|
|
|
//5.1:执行机关日数据统计
|
|
|
try { |
|
|
try { |
|
|
log.info("StatsProjectServiceImpl.customerAgencyStats-开始执行机关日统计方法,方法名:agencyDateProjectStats,客户Id:" + customerId); |
|
|
|
|
|
agencyDateProjectStats(customerId, dimId, date, dimAgencyList, projectList, processList); |
|
|
agencyDateProjectStats(customerId, dimId, date, dimAgencyList, projectList, processList); |
|
|
} catch (Exception e) { |
|
|
} catch (Exception e) { |
|
|
log.error(String.format(ProjectConstant.STATS_FAILED_PREFIX, "agencyDateProjectStats", customerId, dimId.getDateId()), e); |
|
|
log.error(String.format(ProjectConstant.STATS_FAILED_PREFIX, "agencyDateProjectStats", customerId, dimId.getDateId()), e); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
//5.2:执行机关月数据统计
|
|
|
//5.2:执行机关月数据统计
|
|
|
//if (Calendar.getInstance().get(Calendar.DATE) == 1) {
|
|
|
|
|
|
try { |
|
|
try { |
|
|
log.info("StatsProjectServiceImpl.customerAgencyStats-开始执行机关月统计方法,方法名:agencyMonthProjectStats,客户Id:" + customerId); |
|
|
|
|
|
agencyMonthProjectStats(customerId, dimId, dimAgencyList); |
|
|
agencyMonthProjectStats(customerId, dimId, dimAgencyList); |
|
|
} catch (Exception e) { |
|
|
} catch (Exception e) { |
|
|
log.error(String.format(ProjectConstant.STATS_FAILED_PREFIX, "agencyMonthProjectStats", customerId, dimId.getMonthId()), e); |
|
|
log.error(String.format(ProjectConstant.STATS_FAILED_PREFIX, "agencyMonthProjectStats", customerId, dimId.getMonthId()), e); |
|
|
} |
|
|
} |
|
|
//}
|
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
@ -404,7 +383,6 @@ public class StatsProjectServiceImpl implements StatsProjectService { |
|
|
} |
|
|
} |
|
|
//入参有客户Id的则按客户Id执行,没有的则全部客户都执行
|
|
|
//入参有客户Id的则按客户Id执行,没有的则全部客户都执行
|
|
|
if (null != formDTO && StringUtils.isNotBlank(formDTO.getCustomerId())) { |
|
|
if (null != formDTO && StringUtils.isNotBlank(formDTO.getCustomerId())) { |
|
|
log.info("单独统计客户网格-项目-日月数据,当前统计的客户Id:" + formDTO.getCustomerId()); |
|
|
|
|
|
customerGridStats(formDTO.getCustomerId(), date); |
|
|
customerGridStats(formDTO.getCustomerId(), date); |
|
|
} else { |
|
|
} else { |
|
|
int pageNo = 1; |
|
|
int pageNo = 1; |
|
@ -415,11 +393,9 @@ public class StatsProjectServiceImpl implements StatsProjectService { |
|
|
if (!CollectionUtils.isEmpty(customerIdList)) { |
|
|
if (!CollectionUtils.isEmpty(customerIdList)) { |
|
|
for (String customerId : customerIdList) { |
|
|
for (String customerId : customerIdList) { |
|
|
try { |
|
|
try { |
|
|
log.info("for循环统计网格-项目-日月数据,当前统计的客户Id:" + customerId); |
|
|
|
|
|
//遍历统计每一个客户数据
|
|
|
//遍历统计每一个客户数据
|
|
|
customerGridStats(customerId, date); |
|
|
customerGridStats(customerId, date); |
|
|
} catch (Exception e) { |
|
|
} catch (Exception e) { |
|
|
log.error("项目-网格-数据统计程序错误,对应客户Id:" + customerId, e); |
|
|
|
|
|
log.error("Error creating model JSON", e); |
|
|
log.error("Error creating model JSON", e); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
@ -437,11 +413,9 @@ public class StatsProjectServiceImpl implements StatsProjectService { |
|
|
DimIdGenerator.DimIdBean dimId = DimIdGenerator.getDimIdBean(date); |
|
|
DimIdGenerator.DimIdBean dimId = DimIdGenerator.getDimIdBean(date); |
|
|
|
|
|
|
|
|
//2:根据客户Id查询网格维度表数据
|
|
|
//2:根据客户Id查询网格维度表数据
|
|
|
log.info("StatsProjectServiceImpl.customerGridStats-根据客户Id查询网格维度数据,对应客户Id:" + customerId); |
|
|
|
|
|
List<DimGridEntity> dimGridList = dimGridService.getGridListByCustomerId(customerId); |
|
|
List<DimGridEntity> dimGridList = dimGridService.getGridListByCustomerId(customerId); |
|
|
|
|
|
|
|
|
//3:根据客户Id查询项目业务表已结案数据(查询传入日期及之前的数据)
|
|
|
//3:根据客户Id查询项目业务表已结案数据(查询传入日期及之前的数据)
|
|
|
log.info("StatsProjectServiceImpl.customerGridStats-根据客户Id查询项目业务表已结案数据,对应客户Id:" + customerId); |
|
|
|
|
|
ProjectEntity projectEntity = new ProjectEntity(); |
|
|
ProjectEntity projectEntity = new ProjectEntity(); |
|
|
projectEntity.setCustomerId(customerId); |
|
|
projectEntity.setCustomerId(customerId); |
|
|
projectEntity.setCreatedTime(date); |
|
|
projectEntity.setCreatedTime(date); |
|
@ -449,14 +423,12 @@ public class StatsProjectServiceImpl implements StatsProjectService { |
|
|
List<ProjectEntity> projectList = projectService.getProjectList(projectEntity); |
|
|
List<ProjectEntity> projectList = projectService.getProjectList(projectEntity); |
|
|
|
|
|
|
|
|
//4:查询项目处理进展表中有效数据(创建日期截取yyyy-mm-dd格式字段值)(查询传入日期及之前的数据)
|
|
|
//4:查询项目处理进展表中有效数据(创建日期截取yyyy-mm-dd格式字段值)(查询传入日期及之前的数据)
|
|
|
log.info("StatsProjectServiceImpl.customerGridStats-根据客户Id查询项目进展表业务数据,对应客户Id:" + customerId); |
|
|
|
|
|
List<ProjectProcessEntity> processList = projectProcessService.getProcessList(projectEntity); |
|
|
List<ProjectProcessEntity> processList = projectProcessService.getProcessList(projectEntity); |
|
|
|
|
|
|
|
|
//5:网格层级日月统计
|
|
|
//5:网格层级日月统计
|
|
|
if (null != dimGridList && dimGridList.size() > NumConstant.ZERO) { |
|
|
if (null != dimGridList && dimGridList.size() > NumConstant.ZERO) { |
|
|
//5.1:执行网格日数据统计
|
|
|
//5.1:执行网格日数据统计
|
|
|
try { |
|
|
try { |
|
|
log.info("StatsProjectServiceImpl.customerGridStats-开始执行机关日统计方法,方法名:gridDateProjectStats,客户Id:" + customerId); |
|
|
|
|
|
gridDateProjectStats(customerId, dimId, date, dimGridList, projectList, processList); |
|
|
gridDateProjectStats(customerId, dimId, date, dimGridList, projectList, processList); |
|
|
} catch (Exception e) { |
|
|
} catch (Exception e) { |
|
|
log.error(String.format(ProjectConstant.STATS_FAILED_PREFIX, "gridDateProjectStats", customerId, dimId.getDateId()), e); |
|
|
log.error(String.format(ProjectConstant.STATS_FAILED_PREFIX, "gridDateProjectStats", customerId, dimId.getDateId()), e); |
|
@ -464,7 +436,6 @@ public class StatsProjectServiceImpl implements StatsProjectService { |
|
|
|
|
|
|
|
|
//5.2:执行网格月数据统计
|
|
|
//5.2:执行网格月数据统计
|
|
|
try { |
|
|
try { |
|
|
log.info("StatsProjectServiceImpl.customerGridStats-开始执行机关月统计方法,方法名:gridMonthProjectStats,客户Id:" + customerId); |
|
|
|
|
|
gridMonthProjectStats(customerId, dimId, dimGridList); |
|
|
gridMonthProjectStats(customerId, dimId, dimGridList); |
|
|
} catch (Exception e) { |
|
|
} catch (Exception e) { |
|
|
log.error(String.format(ProjectConstant.STATS_FAILED_PREFIX, "gridMonthProjectStats", customerId, dimId.getMonthId()), e); |
|
|
log.error(String.format(ProjectConstant.STATS_FAILED_PREFIX, "gridMonthProjectStats", customerId, dimId.getMonthId()), e); |
|
@ -711,4 +682,4 @@ public class StatsProjectServiceImpl implements StatsProjectService { |
|
|
return date; |
|
|
return date; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|