Browse Source

Merge branch 'dev_screen_data_2.0' into dev_temp

dev_shibei_match
sunyuchao 5 years ago
parent
commit
76fcea01cc
  1. 2
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/form/PeerComparisonFormDTO.java
  2. 2
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/PublicPartiProfileResultDTO.java
  3. 2
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/UserJoinIndicatorGrowthRateResultDTO.java
  4. 3
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/IndexServiceImpl.java
  5. 4
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/fact/impl/FactIndexServiceImpl.java
  6. 2
      epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenUserJoinDao.xml
  7. 12
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectLogDailyDao.java
  8. 4
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/IndexCollCommunityServiceImpl.java
  9. 5
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/IndexCollDistrictServiceImpl.java
  10. 7
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/IndexCollStreetServiceImpl.java
  11. 22
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectLogDailyDao.xml

2
epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/form/PeerComparisonFormDTO.java

@ -22,7 +22,7 @@ public class PeerComparisonFormDTO implements Serializable {
/**
* 月份Id格式202009
*/
@NotBlank(message = "月份ID不能为空",groups = {PeerComparisonFormDTO.AddUserInternalGroup.class})
//@NotBlank(message = "月份ID不能为空",groups = {PeerComparisonFormDTO.AddUserInternalGroup.class})
private String monthId;
/**
* 组织或网格Id

2
epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/PublicPartiProfileResultDTO.java

@ -25,7 +25,7 @@ public class PublicPartiProfileResultDTO implements Serializable {
* */
private String monthTrend = "";
private Integer averageIssue = NumConstant.ZERO;
private BigDecimal averageIssue = new BigDecimal(NumConstant.ZERO);
/**
* 较上月百分比

2
epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/UserJoinIndicatorGrowthRateResultDTO.java

@ -24,7 +24,7 @@ public class UserJoinIndicatorGrowthRateResultDTO implements Serializable {
* */
private String monthTrend;
private Integer averageIssue;
private BigDecimal averageIssue;
/**
* 较上月百分比

3
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/IndexServiceImpl.java

@ -218,8 +218,7 @@ public class IndexServiceImpl implements IndexService {
} else if (ScreenConstant.MONTH_ID.equals(formDTO.getType())) {
// 月(上一个月) 指数排行
if (StringUtils.isBlank(formDTO.getMonthId())) {
String monthId = com.epmet.commons.tools.utils.DateUtils.format(com.epmet.commons.tools.utils.DateUtils.addDateMonths(new Date(), -1), "yyyyMMdd");
formDTO.setMonthId(monthId);
formDTO.setMonthId(DateUtils.getBeforeNMonth(1));
}
subAgencyIndexRankResultDTOS = screenIndexDataMonthlyDao.selectSubAgencyOrGridIndexMonthlyRank(formDTO);
subAgencyIndexRankResultDTOS.forEach(rank -> {

4
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/fact/impl/FactIndexServiceImpl.java

@ -3,6 +3,7 @@ package com.epmet.datareport.service.fact.impl;
import com.epmet.commons.dynamic.datasource.annotation.DataSource;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.constant.DataSourceConstant;
import com.epmet.datareport.constant.FactConstant;
import com.epmet.datareport.dao.evaluationindex.screen.ScreenCustomerAgencyDao;
@ -457,6 +458,9 @@ public class FactIndexServiceImpl implements FactIndexService {
@DataSource(value = DataSourceConstant.EVALUATION_INDEX, datasourceNameFromArg = true)
public List<PeerComparisonResultDTO> peerComparison(PeerComparisonFormDTO formDTO) {
//1.根据组织或网格Id的上级组织Id查询同级组织或网格对应类型的得分排名(按月查询)
if (null == formDTO.getMonthId() || "".equals(formDTO.getMonthId())) {
formDTO.setMonthId(DateUtils.getBeforeNMonth(1));
}
List<PeerComparisonResultDTO> resultList = screenIndexDataMonthlyDao.selectScoreList(formDTO);
return resultList;
}

2
epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenUserJoinDao.xml

@ -10,7 +10,7 @@
ROUND( AVG_JOIN, 1 ) AS averageJoin,
JOIN_TOTAL_UP_RATE AS monthIncr,
JOIN_TOTAL_UP_FLAG AS monthTrend,
AVG_ISSUE AS averageIssue,
ROUND(AVG_ISSUE, 1) AS averageIssue,
AVG_ISSUE_UP_RATE AS issueCompareLatestMonth,
AVG_ISSUE_UP_FLAG AS issueCompareLatestTrend,
AGVG_JOIN_UP_RATE AS joinCompareLatestMonth,

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

@ -114,6 +114,18 @@ public interface FactOriginProjectLogDailyDao extends BaseDao<FactOriginProjectL
* @date 2020.09.20 23:46
**/
List<ProjectParticipatedAgencyResultDTO> selectProjectParticipatedAgency(@Param("agencies") List<String> agencies, @Param("customerId") String customerId,@Param("dimId") String dimId);
/***
* @Description 评价周期内被吹哨次数
* @param agencies
* @param customerId
* @param dimId
* @return java.util.List<com.epmet.dto.extract.result.ProjectParticipatedAgencyResultDTO>
* @author wangc
* @date 2020.10.15 11:20
*/
List<ProjectParticipatedAgencyResultDTO> selectAgencyWhistledCount(@Param("agencies") List<String> agencies, @Param("customerId") String customerId,@Param("dimId") String dimId);
/***
* @Description 查询机关办结次数
* @param agencies

4
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/IndexCollCommunityServiceImpl.java

@ -137,13 +137,13 @@ public class IndexCollCommunityServiceImpl implements IndexCollCommunityService
//办结数
List<String> agencies = agencyList.stream().map(DimAgencyDTO :: getId).distinct().collect(Collectors.toList());
Map<String, Integer> agencyHandleCount = factOriginProjectLogDailyService.getProjectHandledAgency(agencies,customerId,dimId.getMonthId(),"month");
Map<String,Integer> agencyParticipatedCount = factOriginProjectLogDailyService.getCountOfDealingAgency(agencies,customerId,dimId.getMonthId(),"month");
Map<String,BigDecimal> efficiencyMap = factOriginProjectLogDailyService.getAgencyWorkPieceRatio(agencies,customerId,dimId.getMonthId(),"month");
list.forEach(entity ->{
entity.setClosedProjectCount(agencyHandleCount.get(entity.getAgencyId()) == null? NumConstant.ZERO : agencyHandleCount.get(entity.getAgencyId()));
BigDecimal element = new BigDecimal(entity.getClosedProjectCount());
//分母,即机关参与过的项目数(去重)
Integer denominator = agencyParticipatedCount.get(entity.getAgencyId());
//“评价周期内被吹哨且办结的项目数”/“评价周期内被吹哨的所有项目数”
Integer denominator = entity.getTransferedCount();
if (null != denominator && denominator != NumConstant.ZERO) {
//办结率
entity.setClosedProjectRatio(

5
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/IndexCollDistrictServiceImpl.java

@ -130,13 +130,14 @@ public class IndexCollDistrictServiceImpl implements IndexCollDistrictService {
//办结数
List<String> agencies = agencyList.stream().map(DimAgencyDTO :: getId).distinct().collect(Collectors.toList());
Map<String, Integer> agencyHandleCount = factOriginProjectLogDailyService.getProjectHandledAgency(agencies,customerId,dimId.getMonthId(),"month");
Map<String,Integer> agencyParticipatedCount = factOriginProjectLogDailyService.getCountOfDealingAgency(agencies,customerId,dimId.getMonthId(),"month");
Map<String,BigDecimal> efficiencyMap = factOriginProjectLogDailyService.getAgencyWorkPieceRatio(agencies,customerId,dimId.getMonthId(),"month");
list.forEach(entity ->{
entity.setClosedProjectCount(agencyHandleCount.get(entity.getAgencyId()) == null? NumConstant.ZERO : agencyHandleCount.get(entity.getAgencyId()));
BigDecimal element = new BigDecimal(entity.getClosedProjectCount());
//分母,即机关参与过的项目数(去重)
Integer denominator = agencyParticipatedCount.get(entity.getAgencyId());
//“评价周期内被吹哨且办结的项目数”/“评价周期内被吹哨的所有项目数”
Integer denominator = entity.getTransferedCount();
if (null != denominator && denominator != NumConstant.ZERO) {
//办结率
entity.setClosedProjectRatio(

7
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/IndexCollStreetServiceImpl.java

@ -128,15 +128,16 @@ public class IndexCollStreetServiceImpl implements IndexCollStreetService {
//办结数
List<String> agencies = agencyList.stream().map(DimAgencyDTO :: getId).distinct().collect(Collectors.toList());
Map<String, Integer> agencyHandleCount = factOriginProjectLogDailyService.getProjectHandledAgency(agencies,customerId,dimId.getMonthId(),"month");
Map<String,Integer> agencyParticipatedCount = factOriginProjectLogDailyService.getCountOfDealingAgency(agencies,customerId,dimId.getMonthId(),"month");
Map<String,BigDecimal> efficiencyMap = factOriginProjectLogDailyService.getAgencyWorkPieceRatio(agencies,customerId,dimId.getMonthId(),"month");
list.forEach(entity ->{
entity.setClosedProjectCount(agencyHandleCount.get(entity.getAgencyId()) == null? NumConstant.ZERO : agencyHandleCount.get(entity.getAgencyId()));
BigDecimal element = new BigDecimal(entity.getClosedProjectCount());
//分母,即机关参与过的项目数(去重)
Integer denominator = agencyParticipatedCount.get(entity.getAgencyId());
//分母,吹哨次数
Integer denominator = entity.getTransferedCount();
if (null != denominator && denominator != NumConstant.ZERO) {
//办结率
//“评价周期内被吹哨且办结的项目数”/“评价周期内被吹哨的所有项目数”
entity.setClosedProjectRatio(
element.divide(new BigDecimal(denominator), NumConstant.SIX, RoundingMode.HALF_UP)
);

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

@ -160,6 +160,26 @@
GROUP BY AGENCY_ID
</select>
<!-- 评价周期内被吹哨次数 -->
<select id="selectAgencyWhistledCount" resultType="com.epmet.dto.extract.result.ProjectParticipatedAgencyResultDTO">
SELECT
AGENCY_ID,
COUNT(ID) AS count
FROM
fact_origin_project_log_daily
WHERE DEL_FLAG = '0'
AND CUSTOMER_ID = #{customerId}
AND IS_ACTIVE = '0'
<if test='null != dimId and "" != dimId.trim()'>
AND MONTH_ID = #{dimId}
</if>
<if test="agencies != null and agencies.size() > 0">
<foreach collection="agencies" item="agencyId" open="AND (" close=" )" separator=" OR ">
AGENCY_ID = #{agencyId}
</foreach>
</if>
GROUP BY AGENCY_ID
</select>
<!-- 查询机关办结次数 -->
<select id="selectAgencyHandledProjectCount" resultType="com.epmet.dto.extract.result.ProjectParticipatedAgencyResultDTO">
SELECT
@ -177,7 +197,7 @@
</if>
<if test='null != dimId and "" != dimId.trim()'>
AND ((log.ID IS NOT NULL AND log.MONTH_ID <![CDATA[>=]]> #{dimId}) OR log.ID IS NULL )
AND log.ID IS NOT NULL AND log.MONTH_ID = #{dimId}
</if>
GROUP BY SUBSTRING_INDEX(main.FINISH_ORG_IDS,':',1)
</select>

Loading…
Cancel
Save