Browse Source

Merge remote-tracking branch 'origin/dev_bugfix_ljj' into develop

dev_shibei_match
zxc 4 years ago
parent
commit
aefe316a6a
  1. 15
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/impl/DataStatsServiceImpl.java
  2. 26
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectOrgDailyServiceImpl.java
  3. 91
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml
  4. 2
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectOrgDailyDao.xml

15
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/impl/DataStatsServiceImpl.java

@ -1513,6 +1513,7 @@ public class DataStatsServiceImpl implements DataStatsService {
log.warn("==========="); log.warn("===========");
} }
formDTO.setStartDateId(startDate); formDTO.setStartDateId(startDate);
String breforeStartDate = DateUtils.getBeforeNDay(formDTO.getStartDateId(),1);
formDTO.setEndDateId(endDate); formDTO.setEndDateId(endDate);
log.info("getSubWorkFact do select param:{}", JSON.toJSONString(formDTO)); log.info("getSubWorkFact do select param:{}", JSON.toJSONString(formDTO));
List<WorkFactResultDTO> result = new ArrayList<>(); List<WorkFactResultDTO> result = new ArrayList<>();
@ -1525,17 +1526,17 @@ public class DataStatsServiceImpl implements DataStatsService {
} }
List<String> gridIdList = subAgencyList.stream().map(ScreenCustomerGridDTO::getGridId).collect(Collectors.toList()); List<String> gridIdList = subAgencyList.stream().map(ScreenCustomerGridDTO::getGridId).collect(Collectors.toList());
//查询组织的话题转议题数据 //查询组织的话题转议题数据
List<SubGridFormDTO.Topic> toIssueStart = dataStatsDao.getSubGridTopicShiftIssue(gridIdList, formDTO.getStartDateId()); List<SubGridFormDTO.Topic> toIssueStart = dataStatsDao.getSubGridTopicShiftIssue(gridIdList, breforeStartDate);
List<SubGridFormDTO.Topic> toIssueEnd = dataStatsDao.getSubGridTopicShiftIssue(gridIdList, formDTO.getEndDateId()); List<SubGridFormDTO.Topic> toIssueEnd = dataStatsDao.getSubGridTopicShiftIssue(gridIdList, formDTO.getEndDateId());
Map<String, Integer> toIssueStartMap = toIssueStart.stream().collect(Collectors.toMap(SubGridFormDTO.Topic::getGridId, SubGridFormDTO.Topic::getShiftedIssueTotal, (o1, o2) -> o1)); Map<String, Integer> toIssueStartMap = toIssueStart.stream().collect(Collectors.toMap(SubGridFormDTO.Topic::getGridId, SubGridFormDTO.Topic::getShiftedIssueTotal, (o1, o2) -> o1));
Map<String, Integer> toIssueEndMap = toIssueEnd.stream().collect(Collectors.toMap(SubGridFormDTO.Topic::getGridId, SubGridFormDTO.Topic::getShiftedIssueTotal, (o1, o2) -> o1)); Map<String, Integer> toIssueEndMap = toIssueEnd.stream().collect(Collectors.toMap(SubGridFormDTO.Topic::getGridId, SubGridFormDTO.Topic::getShiftedIssueTotal, (o1, o2) -> o1));
//查询组织的议题转项目数据 //查询组织的议题转项目数据
List<SubGridIssueResultDTO> toProjectStart = dataStatsDao.getSubGridIssue(gridIdList, formDTO.getStartDateId()); List<SubGridIssueResultDTO> toProjectStart = dataStatsDao.getSubGridIssue(gridIdList, breforeStartDate);
List<SubGridIssueResultDTO> toProjectEnd = dataStatsDao.getSubGridIssue(gridIdList, formDTO.getEndDateId()); List<SubGridIssueResultDTO> toProjectEnd = dataStatsDao.getSubGridIssue(gridIdList, formDTO.getEndDateId());
Map<String, Integer> toProjectStartMap = toProjectStart.stream().collect(Collectors.toMap(SubGridIssueResultDTO::getGridId, SubGridIssueResultDTO::getShiftProjectTotal, (o1, o2) -> o1)); Map<String, Integer> toProjectStartMap = toProjectStart.stream().collect(Collectors.toMap(SubGridIssueResultDTO::getGridId, SubGridIssueResultDTO::getShiftProjectTotal, (o1, o2) -> o1));
Map<String, Integer> toProjectEndMap = toProjectEnd.stream().collect(Collectors.toMap(SubGridIssueResultDTO::getGridId, SubGridIssueResultDTO::getShiftProjectTotal, (o1, o2) -> o1)); Map<String, Integer> toProjectEndMap = toProjectEnd.stream().collect(Collectors.toMap(SubGridIssueResultDTO::getGridId, SubGridIssueResultDTO::getShiftProjectTotal, (o1, o2) -> o1));
//查询组织已关闭的项目数据 //查询组织已关闭的项目数据
List<SubGridProjectResultDTO> closeProjectStart = dataStatsDao.getSubGridProject(gridIdList, formDTO.getStartDateId()); List<SubGridProjectResultDTO> closeProjectStart = dataStatsDao.getSubGridProject(gridIdList, breforeStartDate);
List<SubGridProjectResultDTO> closeProjectEnd = dataStatsDao.getSubGridProject(gridIdList, formDTO.getEndDateId()); List<SubGridProjectResultDTO> closeProjectEnd = dataStatsDao.getSubGridProject(gridIdList, formDTO.getEndDateId());
Map<String, Integer> closeProjectStartMap = closeProjectStart.stream().collect(Collectors.toMap(SubGridProjectResultDTO::getGridId, SubGridProjectResultDTO::getClosedProjectTotal, (o1, o2) -> o1)); Map<String, Integer> closeProjectStartMap = closeProjectStart.stream().collect(Collectors.toMap(SubGridProjectResultDTO::getGridId, SubGridProjectResultDTO::getClosedProjectTotal, (o1, o2) -> o1));
Map<String, Integer> closeProjectEndMap = closeProjectEnd.stream().collect(Collectors.toMap(SubGridProjectResultDTO::getGridId, SubGridProjectResultDTO::getClosedProjectTotal, (o1, o2) -> o1)); Map<String, Integer> closeProjectEndMap = closeProjectEnd.stream().collect(Collectors.toMap(SubGridProjectResultDTO::getGridId, SubGridProjectResultDTO::getClosedProjectTotal, (o1, o2) -> o1));
@ -1565,23 +1566,23 @@ public class DataStatsServiceImpl implements DataStatsService {
List<String> agencyList = subAgencyList.stream().map(ScreenCustomerAgencyDTO::getAgencyId).collect(Collectors.toList()); List<String> agencyList = subAgencyList.stream().map(ScreenCustomerAgencyDTO::getAgencyId).collect(Collectors.toList());
//查询组织的话题转议题数据 //查询组织的话题转议题数据
List<SubAgencyFormDTO.Topic> toIssueStart = dataStatsDao.getSubAgencyTopicShiftIssue(agencyList, formDTO.getStartDateId()); List<SubAgencyFormDTO.Topic> toIssueStart = dataStatsDao.getSubAgencyTopicShiftIssue(agencyList, breforeStartDate);
List<SubAgencyFormDTO.Topic> toIssueEnd = dataStatsDao.getSubAgencyTopicShiftIssue(agencyList, formDTO.getEndDateId()); List<SubAgencyFormDTO.Topic> toIssueEnd = dataStatsDao.getSubAgencyTopicShiftIssue(agencyList, formDTO.getEndDateId());
Map<String, Integer> toIssueStartMap = toIssueStart.stream().collect(Collectors.toMap(SubAgencyFormDTO.Topic::getAgencyId, SubAgencyFormDTO.Topic::getShiftedIssueTotal, (o1, o2) -> o1)); Map<String, Integer> toIssueStartMap = toIssueStart.stream().collect(Collectors.toMap(SubAgencyFormDTO.Topic::getAgencyId, SubAgencyFormDTO.Topic::getShiftedIssueTotal, (o1, o2) -> o1));
Map<String, Integer> toIssueEndMap = toIssueEnd.stream().collect(Collectors.toMap(SubAgencyFormDTO.Topic::getAgencyId, SubAgencyFormDTO.Topic::getShiftedIssueTotal, (o1, o2) -> o1)); Map<String, Integer> toIssueEndMap = toIssueEnd.stream().collect(Collectors.toMap(SubAgencyFormDTO.Topic::getAgencyId, SubAgencyFormDTO.Topic::getShiftedIssueTotal, (o1, o2) -> o1));
//查询组织的议题转项目数据 //查询组织的议题转项目数据
List<SubAgencyIssueResultDTO> toProjectStart = dataStatsDao.getSubAgencyIssue(agencyList, formDTO.getStartDateId()); List<SubAgencyIssueResultDTO> toProjectStart = dataStatsDao.getSubAgencyIssue(agencyList, breforeStartDate);
List<SubAgencyIssueResultDTO> toProjectEnd = dataStatsDao.getSubAgencyIssue(agencyList, formDTO.getEndDateId()); List<SubAgencyIssueResultDTO> toProjectEnd = dataStatsDao.getSubAgencyIssue(agencyList, formDTO.getEndDateId());
Map<String, Integer> toProjectStartMap = toProjectStart.stream().collect(Collectors.toMap(SubAgencyIssueResultDTO::getAgencyId, SubAgencyIssueResultDTO::getShiftProjectTotal, (o1, o2) -> o1)); Map<String, Integer> toProjectStartMap = toProjectStart.stream().collect(Collectors.toMap(SubAgencyIssueResultDTO::getAgencyId, SubAgencyIssueResultDTO::getShiftProjectTotal, (o1, o2) -> o1));
Map<String, Integer> toProjectEndMap = toProjectEnd.stream().collect(Collectors.toMap(SubAgencyIssueResultDTO::getAgencyId, SubAgencyIssueResultDTO::getShiftProjectTotal, (o1, o2) -> o1)); Map<String, Integer> toProjectEndMap = toProjectEnd.stream().collect(Collectors.toMap(SubAgencyIssueResultDTO::getAgencyId, SubAgencyIssueResultDTO::getShiftProjectTotal, (o1, o2) -> o1));
//查询组织已关闭的项目数据 //查询组织已关闭的项目数据
List<SubAgencyProjectResultDTO> closeProjectStart = dataStatsDao.getSubAgencyProject(agencyList, formDTO.getStartDateId()); List<SubAgencyProjectResultDTO> closeProjectStart = dataStatsDao.getSubAgencyProject(agencyList, breforeStartDate);
List<SubAgencyProjectResultDTO> closeProjectEnd = dataStatsDao.getSubAgencyProject(agencyList, formDTO.getEndDateId()); List<SubAgencyProjectResultDTO> closeProjectEnd = dataStatsDao.getSubAgencyProject(agencyList, formDTO.getEndDateId());
Map<String, Integer> closeProjectStartMap = closeProjectStart.stream().collect(Collectors.toMap(SubAgencyProjectResultDTO::getAgencyId, SubAgencyProjectResultDTO::getClosedProjectTotal, (o1, o2) -> o1)); Map<String, Integer> closeProjectStartMap = closeProjectStart.stream().collect(Collectors.toMap(SubAgencyProjectResultDTO::getAgencyId, SubAgencyProjectResultDTO::getClosedProjectTotal, (o1, o2) -> o1));
Map<String, Integer> closeProjectEndMap = closeProjectEnd.stream().collect(Collectors.toMap(SubAgencyProjectResultDTO::getAgencyId, SubAgencyProjectResultDTO::getClosedProjectTotal, (o1, o2) -> o1)); Map<String, Integer> closeProjectEndMap = closeProjectEnd.stream().collect(Collectors.toMap(SubAgencyProjectResultDTO::getAgencyId, SubAgencyProjectResultDTO::getClosedProjectTotal, (o1, o2) -> o1));
//巡查次数和时间 //巡查次数和时间
List<String> agencyFullIds = subAgencyList.stream().map(o -> o.getPids().concat(StrConstant.COLON).concat(o.getAgencyId())).collect(Collectors.toList()); List<String> agencyFullIds = subAgencyList.stream().map(o -> o.getPids().concat(StrConstant.COLON).concat(o.getAgencyId())).collect(Collectors.toList());
List<PatrolDailySumResult> patrolList = statsStaffPatrolRecordDailyService.getPatrolSumList(agencyFullIds,formDTO.getStartDateId(),formDTO.getEndDateId()); List<PatrolDailySumResult> patrolList = statsStaffPatrolRecordDailyService.getPatrolSumList(agencyFullIds,breforeStartDate,formDTO.getEndDateId());
Map<String, PatrolDailySumResult> patrolListMap = patrolList.stream().collect(Collectors.toMap(PatrolDailySumResult::getFullAgencyId, o -> o, (o1, o2) -> o1)); Map<String, PatrolDailySumResult> patrolListMap = patrolList.stream().collect(Collectors.toMap(PatrolDailySumResult::getFullAgencyId, o -> o, (o1, o2) -> o1));
subAgencyList.forEach(agency->{ subAgencyList.forEach(agency->{

26
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectOrgDailyServiceImpl.java

@ -184,44 +184,30 @@ public class ScreenProjectOrgDailyServiceImpl extends BaseServiceImpl<ScreenProj
log.warn(String.format(PingYinConstants.AGENCY_INFO_IS_ZERO,customerId)); log.warn(String.format(PingYinConstants.AGENCY_INFO_IS_ZERO,customerId));
return; return;
} }
del(customerId, dateId);
List<ProjectOrgDailyResultDTO> projectOrgDaily = baseDao.selectOrgProjectByAgency(agencyInfos, dateId); List<ProjectOrgDailyResultDTO> projectOrgDaily = baseDao.selectOrgProjectByAgency(agencyInfos, dateId);
if (CollectionUtils.isEmpty(projectOrgDaily)){ if (CollectionUtils.isEmpty(projectOrgDaily)){
log.info(String.format(PingYinConstants.SELECT_GRID_INFO_BY_ORG_IS_NULL,customerId)); log.info(String.format(PingYinConstants.SELECT_GRID_INFO_BY_ORG_IS_NULL,customerId));
return; return;
} }
log.info(projectOrgDaily.toString()); log.info(projectOrgDaily.toString());
List<ScreenProjectOrgDailyDTO> createProjects = disposeCreateProject(agencyInfos, dateId); agencyInfos = disposeCreateProject(agencyInfos, dateId);
agencyInfos.forEach(a -> { agencyInfos.forEach(a -> {
a.setDateId(dateId); a.setDateId(dateId);
projectOrgDaily.forEach(p -> { projectOrgDaily.forEach(p -> {
if (a.getAreaCode().equals(p.getAreaCode())){ if (a.getAreaCode().equals(p.getAreaCode())){
a.setResolvedRatio(getRatio(p.getResolvedNum(),p.getProjectTotal()));
a.setBadRatio(getRatio(p.getBadTotal(),p.getEvaluateTotal()));
a.setGoodRatio(getRatio(p.getGoodTotal(),p.getEvaluateTotal()));
a.setBadTotal(p.getBadTotal());
a.setEvaluateTotal(p.getEvaluateTotal());
a.setGoodTotal(p.getGoodTotal());
a.setProjectTotal(p.getProjectTotal());
a.setResolvedNum(p.getResolvedNum());
}
});
});
agencyInfos.forEach(a -> {
createProjects.forEach(p -> {
if (a.getOrgId().equals(p.getOrgId())){
a.setBadTotal(p.getBadTotal() + a.getBadTotal()); a.setBadTotal(p.getBadTotal() + a.getBadTotal());
a.setEvaluateTotal(p.getEvaluateTotal() + a.getEvaluateTotal()); a.setEvaluateTotal(p.getEvaluateTotal() + a.getEvaluateTotal());
a.setGoodTotal(p.getGoodTotal() + a.getGoodTotal()); a.setGoodTotal(p.getGoodTotal() + a.getGoodTotal());
a.setProjectTotal(p.getProjectTotal() + a.getProjectTotal()); a.setProjectTotal(p.getProjectTotal() + a.getProjectTotal());
a.setResolvedNum(p.getResolvedNum() + a.getResolvedNum()); a.setResolvedNum(p.getResolvedNum() + a.getResolvedNum());
a.setResolvedRatio(getRatio(a.getResolvedNum(),a.getProjectTotal())); a.setResolvedRatio(getRatio(p.getResolvedNum(),p.getProjectTotal()));
a.setBadRatio(getRatio(a.getBadTotal(),a.getEvaluateTotal())); a.setBadRatio(getRatio(p.getBadTotal(),p.getEvaluateTotal()));
a.setGoodRatio(getRatio(a.getGoodTotal(),a.getEvaluateTotal())); a.setGoodRatio(getRatio(p.getGoodTotal(),p.getEvaluateTotal()));
} }
}); });
}); });
log.info(agencyInfos.toString()); log.info(agencyInfos.toString());
del(customerId, dateId);
insert(agencyInfos,customerId,dateId); insert(agencyInfos,customerId,dateId);
} }
@ -239,6 +225,7 @@ public class ScreenProjectOrgDailyServiceImpl extends BaseServiceImpl<ScreenProj
log.warn(String.format(PingYinConstants.AGENCY_INFO_IS_ZERO,customerId)); log.warn(String.format(PingYinConstants.AGENCY_INFO_IS_ZERO,customerId));
return; return;
} }
del(customerId, dateId);
List<ProjectOrgDailyResultDTO> projectOrgDaily = baseDao.selectOrgProject(agencyInfos, dateId); List<ProjectOrgDailyResultDTO> projectOrgDaily = baseDao.selectOrgProject(agencyInfos, dateId);
if (CollectionUtils.isEmpty(projectOrgDaily)){ if (CollectionUtils.isEmpty(projectOrgDaily)){
log.info(String.format(PingYinConstants.SELECT_GRID_INFO_BY_ORG_IS_NULL,customerId)); log.info(String.format(PingYinConstants.SELECT_GRID_INFO_BY_ORG_IS_NULL,customerId));
@ -278,7 +265,6 @@ public class ScreenProjectOrgDailyServiceImpl extends BaseServiceImpl<ScreenProj
}); });
}); });
log.info(agencyInfos.toString()); log.info(agencyInfos.toString());
del(customerId, dateId);
insert(agencyInfos,customerId,dateId); insert(agencyInfos,customerId,dateId);
} }

91
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml

@ -623,66 +623,57 @@
<!-- 组织查询项目总数 --> <!-- 组织查询项目总数 -->
<select id="selectProjectTotalByOrg" resultType="com.epmet.dto.pingyin.result.ProjectTotalResultDTO"> <select id="selectProjectTotalByOrg" resultType="com.epmet.dto.pingyin.result.ProjectTotalResultDTO">
SELECT <foreach collection="orgIds" item="orgId" separator=" UNION ALL ">
m.AGENCY_ID AS orgId, SELECT
IFNULL(COUNT(m.ID),0) AS projectTotal #{orgId} AS orgId,
FROM fact_origin_project_main_daily m IFNULL(COUNT(m.ID),0) AS projectTotal
WHERE m.DEL_FLAG = 0 FROM fact_origin_project_main_daily m
AND m.GRID_ID = '' WHERE m.DEL_FLAG = 0
AND ( AND m.GRID_ID = ''
<foreach collection="orgIds" item="orgId" separator=" OR "> AND m.PIDS LIKE CONCAT('%',#{orgId},'%')
m.AGENCY_ID = #{orgId} <if test="dateId != null and dateId != '' ">
</foreach> AND m.DATE_ID <![CDATA[ <= ]]> #{dateId}
) </if>
<if test="dateId != null and dateId != '' "> <if test="monthId != null and monthId != '' ">
AND m.DATE_ID <![CDATA[ <= ]]> #{dateId} AND m.MONTH_ID <![CDATA[ <= ]]> #{monthId}
</if> </if>
<if test="monthId != null and monthId != '' "> </foreach>
AND m.MONTH_ID <![CDATA[ <= ]]> #{monthId}
</if>
GROUP BY m.AGENCY_ID
</select> </select>
<!-- 组织查询已解决项目数 --> <!-- 组织查询已解决项目数 -->
<select id="selectResolvedNumByOrg" resultType="com.epmet.dto.pingyin.result.ResolvedNumResultDTO"> <select id="selectResolvedNumByOrg" resultType="com.epmet.dto.pingyin.result.ResolvedNumResultDTO">
SELECT <foreach collection="orgIds" item="orgId" separator=" UNION ALL ">
AGENCY_ID AS orgId, SELECT
IFNULL(COUNT(ID),0) AS resolvedNum #{orgId} AS orgId,
FROM fact_origin_project_main_daily IFNULL(COUNT(ID),0) AS resolvedNum
WHERE DEL_FLAG = 0 FROM fact_origin_project_main_daily
AND DATE_ID <![CDATA[ <= ]]> #{dateId} WHERE DEL_FLAG = 0
AND PROJECT_STATUS = 'closed' AND DATE_ID <![CDATA[ <= ]]> #{dateId}
AND IS_RESOLVED = 'resolved' AND PIDS LIKE CONCAT('%',#{orgId},'%')
AND ( AND PROJECT_STATUS = 'closed'
<foreach collection="orgIds" item="orgId" separator=" OR "> AND IS_RESOLVED = 'resolved'
AGENCY_ID = #{orgId} AND GRID_ID = ''
</foreach> </foreach>
)
AND GRID_ID = ''
GROUP BY AGENCY_ID
</select> </select>
<!-- 组织 查询 满意度评价次数 --> <!-- 组织 查询 满意度评价次数 -->
<select id="selectEvaluateCountByOrg" resultType="com.epmet.dto.pingyin.result.EvaluateTotalResultDTO"> <select id="selectEvaluateCountByOrg" resultType="com.epmet.dto.pingyin.result.EvaluateTotalResultDTO">
SELECT <foreach collection="orgIds" item="orgId" separator=" UNION ALL ">
ORG_ID, SELECT
IFNULL(COUNT(PROJECT_ID),0) AS evaluateCount #{orgId} as orgId,
FROM fact_origin_project_log_daily IFNULL(COUNT(PROJECT_ID),0) AS evaluateCount
WHERE DEL_FLAG = 0 FROM fact_origin_project_log_daily
AND ORG_TYPE = 'agency' WHERE DEL_FLAG = 0
AND DATE_ID <![CDATA[ <= ]]> #{dateId} AND ORG_TYPE = 'agency'
AND ( AND DATE_ID <![CDATA[ <= ]]> #{dateId}
<foreach collection="orgIds" item="orgId" separator=" OR "> AND PIDS LIKE CONCAT('%',#{orgId},'%')
org_id = #{orgId} AND IS_ACTIVE = 1
AND (
<foreach collection="activeCodes" item="code" separator=" OR ">
ACTION_CODE = #{code}
</foreach> </foreach>
) )
AND IS_ACTIVE = 1
AND (
<foreach collection="activeCodes" item="code" separator=" OR ">
ACTION_CODE = #{code}
</foreach> </foreach>
)
GROUP BY ORG_ID
</select> </select>
<!-- 组织查询本月新增项目数 --> <!-- 组织查询本月新增项目数 -->

2
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectOrgDailyDao.xml

@ -138,7 +138,7 @@
FROM screen_project_grid_daily g FROM screen_project_grid_daily g
LEFT JOIN screen_customer_grid cg ON cg.GRID_ID = g.GRID_ID LEFT JOIN screen_customer_grid cg ON cg.GRID_ID = g.GRID_ID
WHERE g.DEL_FLAG = 0 WHERE g.DEL_FLAG = 0
AND cg.PARENT_AGENCY_ID = #{a.orgId} AND cg.ALL_PARENT_IDS LIKE CONCAT('%',#{a.orgId},'%')
AND g.DATE_ID <![CDATA[ = ]]> #{dateId} AND g.DATE_ID <![CDATA[ = ]]> #{dateId}
</foreach> </foreach>
</select> </select>

Loading…
Cancel
Save