Browse Source

Merge remote-tracking branch 'remotes/origin/dev_screen_data' into dev_temp

dev_shibei_match
jianjun 5 years ago
parent
commit
7e88f8c7ec
  1. 71
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/HomepageSummaryResultDTO.java
  2. 24
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/screen/KcScreenController.java
  3. 7
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screenkc/ScreenKcPlatformSummaryDailyDao.java
  4. 9
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/KcScreenService.java
  5. 55
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/IndexServiceImpl.java
  6. 14
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/KcScreenServiceImpl.java
  7. 30
      epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenIndexDataMonthlyDao.xml
  8. 8
      epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenIndexDataYearlyDao.xml
  9. 24
      epmet-module/data-report/data-report-server/src/main/resources/mapper/screenkc/ScreenKcPlatformSummaryDailyDao.xml

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

@ -0,0 +1,71 @@
package com.epmet.evaluationindex.screen.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* 首页-平台各类总数
* @Author sun
*/
@Data
public class HomepageSummaryResultDTO implements Serializable {
private static final long serialVersionUID = 3860268744336541373L;
/**
* 数据更新至yyyyMMdd
*/
private String dateId = "";
/**
* 网格总数
*/
private Integer gridCount = 0;
/**
* 已开通网格数
*/
private Integer openedGridCount = 0;
/**
* 议题总数
*/
private Integer issueCount = 0;
/**
* 项目总数
*/
private Integer projectCount = 0;
/**
* 用户总数
*/
private Integer userCount = 0;
/**
* 党员用户
*/
private Integer partyUserCount = 0;
/**
* 社群总数
*/
private Integer groupCount = 0;
/**
* 话题总数
*/
private Integer topicCount = 0;
/**
* 新闻总数
*/
private Integer newsCount = 0;
/**
* 阅读数量
*/
private Integer readCount = 0;
/**
* 公益活动总数
*/
private Integer actCount = 0;
/**
* 志愿者总数
*/
private Integer volunteerCount = 0;
}

24
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/screen/KcScreenController.java

@ -1,7 +1,12 @@
package com.epmet.datareport.controller.screen;
import com.epmet.commons.extappauth.annotation.ExternalAppRequestAuth;
import com.epmet.commons.extappauth.bean.ExternalAppRequestParam;
import com.epmet.commons.tools.utils.Result;
import com.epmet.datareport.service.evaluationindex.screen.KcScreenService;
import com.epmet.evaluationindex.screen.dto.result.HomepageSummaryResultDTO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@ -19,12 +24,17 @@ public class KcScreenController {
private KcScreenService kcScreenService;
// @ExternalAppRequestAuth
// @PostMapping("homepage/summary")
// public Result<YearAverageIndexResultDTO> yearAverageIndex(){
//// ValidatorUtils.validateEntity(yearAverageIndexFormDTO, YearAverageIndexFormDTO.YearAverageIndex.class);
//// return new Result<YearAverageIndexResultDTO>().ok(indexService.yearAverageIndex(yearAverageIndexFormDTO));
// }
/**
* @param externalAppRequestParam
* @Description 首页-平台各类总数
* @author sun
*/
@ExternalAppRequestAuth
@PostMapping("homepage/summary")
public Result<HomepageSummaryResultDTO> homepageSummary(ExternalAppRequestParam externalAppRequestParam){
return new Result<HomepageSummaryResultDTO>().ok(kcScreenService.homepageSummary(externalAppRequestParam));
}
// @RequestBody
}

7
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screenkc/ScreenKcPlatformSummaryDailyDao.java

@ -17,6 +17,7 @@
package com.epmet.datareport.dao.evaluationindex.screenkc;
import com.epmet.evaluationindex.screen.dto.result.HomepageSummaryResultDTO;
import org.apache.ibatis.annotations.Mapper;
/**
@ -28,4 +29,10 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface ScreenKcPlatformSummaryDailyDao {
/**
* @param customerId
* @Description 首页-平台各类总数
* @author sun
*/
HomepageSummaryResultDTO selectSummaryDaily(String customerId);
}

9
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/KcScreenService.java

@ -1,5 +1,8 @@
package com.epmet.datareport.service.evaluationindex.screen;
import com.epmet.commons.extappauth.bean.ExternalAppRequestParam;
import com.epmet.evaluationindex.screen.dto.result.HomepageSummaryResultDTO;
/**
* 孔村大屏api
*
@ -8,5 +11,11 @@ package com.epmet.datareport.service.evaluationindex.screen;
*/
public interface KcScreenService {
/**
* @param externalAppRequestParam
* @Description 首页-平台各类总数
* @author sun
*/
HomepageSummaryResultDTO homepageSummary(ExternalAppRequestParam externalAppRequestParam);
}

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

@ -15,6 +15,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.Comparator;
@ -53,6 +54,10 @@ public class IndexServiceImpl implements IndexService {
if (null == yearAverageIndexResultDTO){
return new YearAverageIndexResultDTO();
}
yearAverageIndexResultDTO.setPartyDevAbility(getRound(yearAverageIndexResultDTO.getPartyDevAbility()));
yearAverageIndexResultDTO.setGovernAbility(getRound(yearAverageIndexResultDTO.getGovernAbility()));
yearAverageIndexResultDTO.setServiceAbility(getRound(yearAverageIndexResultDTO.getServiceAbility()));
yearAverageIndexResultDTO.setYearAverageIndex(getRound(yearAverageIndexResultDTO.getYearAverageIndex()));
return yearAverageIndexResultDTO;
}
@ -66,19 +71,23 @@ public class IndexServiceImpl implements IndexService {
@Override
public MonthPieChartResultDTO monthPieChart(MonthPieChartFormDTO monthPieChartFormDTO) {
MonthPieChartResultDTO monthPieChartResultDTO = screenIndexDataMonthlyDao.selectMonthPieChart(monthPieChartFormDTO.getAgencyId(),null);
MonthPieChartResultDTO pieChartDTO = screenIndexDataMonthlyDao.selectMonthPieChart(monthPieChartFormDTO.getAgencyId(),null);
if (null == pieChartDTO){
return new MonthPieChartResultDTO();
}
// 处理小数四舍五入
pieChartDTO.setPartyDevAbility(getRound(pieChartDTO.getPartyDevAbility()));
pieChartDTO.setGovernAbility(getRound(pieChartDTO.getGovernAbility()));
pieChartDTO.setServiceAbility(getRound(pieChartDTO.getServiceAbility()));
String monthId = dateUtils.getCurrentMonthId();
int time = NumConstant.TWELVE;
//保证获取月度指数数据的最大可能性
while(null == monthPieChartResultDTO && time > NumConstant.ONE){
while(null == pieChartDTO && time > NumConstant.ONE){
time--;
monthId = dateUtils.getPreviousMonthIdByDest(null,monthId);
monthPieChartResultDTO = screenIndexDataMonthlyDao.selectMonthPieChart(monthPieChartFormDTO.getAgencyId(),monthId);
pieChartDTO = screenIndexDataMonthlyDao.selectMonthPieChart(monthPieChartFormDTO.getAgencyId(),monthId);
}
if (null == monthPieChartResultDTO){
return new MonthPieChartResultDTO();
}
return monthPieChartResultDTO;
return pieChartDTO;
}
/**
@ -112,6 +121,13 @@ public class IndexServiceImpl implements IndexService {
result.setTotalIndexData(totalIndexData);
return result;
}
// 处理小数四舍五入
monthBarchartResults.forEach(barchart -> {
barchart.setPartyDevAbility(getRound(barchart.getPartyDevAbility()));
barchart.setGovernAbility(getRound(barchart.getGovernAbility()));
barchart.setServiceAbility(getRound(barchart.getServiceAbility()));
barchart.setIndexTotal(getRound(barchart.getIndexTotal()));
});
List<MonthBarchartResult> collect = monthBarchartResults.stream().sorted(Comparator.comparing(MonthBarchartResult::getMonthId)).collect(Collectors.toList());
//升序 当前月份在队尾
List<String> _ymList = dateUtils.getXpro().keySet().stream().collect(Collectors.toList());
@ -178,6 +194,13 @@ public class IndexServiceImpl implements IndexService {
if (CollectionUtils.isEmpty(subAgencyIndexRankResultDTOS)){
return new ArrayList<>();
}
// 小数四舍五入
subAgencyIndexRankResultDTOS.forEach(indexRank -> {
indexRank.setPartyDevAbility(getRound(indexRank.getPartyDevAbility()));
indexRank.setGovernAbility(getRound(indexRank.getGovernAbility()));
indexRank.setServiceAbility(getRound(indexRank.getServiceAbility()));
indexRank.setTotalIndex(getRound(indexRank.getTotalIndex()));
});
return subAgencyIndexRankResultDTOS;
}
@ -191,7 +214,25 @@ public class IndexServiceImpl implements IndexService {
} else if (ScreenConstant.MONTH_ID.equals(formDTO.getType())){
// 月(上一个月) 指数排行
subAgencyIndexRankResultDTOS = screenIndexDataMonthlyDao.selectAnNingSubAgencyIndexMonthlyRank(formDTO);
subAgencyIndexRankResultDTOS.forEach(rank -> {
rank.setPartyDevAbility(getRound(rank.getPartyDevAbility()));
rank.setGovernAbility(getRound(rank.getGovernAbility()));
rank.setServiceAbility(getRound(rank.getServiceAbility()));
rank.setTotalIndex(getRound(rank.getTotalIndex()));
});
}
return subAgencyIndexRankResultDTOS;
}
/**
* @Description 小数四舍五入
* @param d
* @author zxc
* @date 2020/9/14 2:01 下午
*/
public Double getRound(Double d){
BigDecimal bigDecimal = new BigDecimal(d);
BigDecimal b = bigDecimal.setScale(NumConstant.ONE, BigDecimal.ROUND_HALF_UP);
return Double.valueOf(b.toString());
}
}

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

@ -1,9 +1,12 @@
package com.epmet.datareport.service.evaluationindex.screen.impl;
import com.epmet.commons.dynamic.datasource.annotation.DataSource;
import com.epmet.commons.extappauth.bean.ExternalAppRequestParam;
import com.epmet.constant.DataSourceConstant;
import com.epmet.datareport.dao.evaluationindex.screenkc.ScreenKcPlatformSummaryDailyDao;
import com.epmet.datareport.service.evaluationindex.screen.KcScreenService;
import com.epmet.datareport.utils.DateUtils;
import com.epmet.evaluationindex.screen.dto.result.HomepageSummaryResultDTO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -19,6 +22,17 @@ public class KcScreenServiceImpl implements KcScreenService {
@Autowired
private DateUtils dateUtils;
@Autowired
private ScreenKcPlatformSummaryDailyDao screenKcPlatformSummaryDailyDao;
/**
* @param externalAppRequestParam
* @Description 首页-平台各类总数
* @author sun
*/
@Override
public HomepageSummaryResultDTO homepageSummary(ExternalAppRequestParam externalAppRequestParam) {
return screenKcPlatformSummaryDailyDao.selectSummaryDaily(externalAppRequestParam.getCustomerId());
}
}

30
epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenIndexDataMonthlyDao.xml

@ -6,9 +6,9 @@
<!-- 2、月度指数分析-饼状图 -->
<select id="selectMonthPieChart" resultType="com.epmet.evaluationindex.screen.dto.result.MonthPieChartResultDTO">
SELECT
ROUND(service_ablity,1) AS serviceAbility,
ROUND(party_dev_ablity,1) AS partyDevAbility,
ROUND(govern_ablity,1) AS governAbility
service_ablity * SERVICE_ABLITY_WEIGHT AS serviceAbility,
party_dev_ablity * PARTY_DEV_WEIGHT AS partyDevAbility,
govern_ablity * GOVERN_ABLITY_WEIGHT AS governAbility
FROM
screen_index_data_monthly
WHERE
@ -30,10 +30,10 @@
<select id="selectMonthBarchart" resultType="com.epmet.evaluationindex.screen.dto.result.MonthBarchartResult">
SELECT
month_id AS monthId,
ROUND(service_ablity,1) AS serviceAbility,
ROUND(party_dev_ablity,1) AS partyDevAbility,
ROUND(govern_ablity,1) AS governAbility,
ROUND(index_total,1) AS indexTotal
service_ablity * SERVICE_ABLITY_WEIGHT AS serviceAbility,
party_dev_ablity * PARTY_DEV_WEIGHT AS partyDevAbility,
govern_ablity * GOVERN_ABLITY_WEIGHT AS governAbility,
(service_ablity * SERVICE_ABLITY_WEIGHT + party_dev_ablity * PARTY_DEV_WEIGHT + govern_ablity * GOVERN_ABLITY_WEIGHT) AS indexTotal
FROM
screen_index_data_monthly
WHERE
@ -47,10 +47,10 @@
<select id="selectSubAgencyIndexRank" parameterType="com.epmet.evaluationindex.screen.dto.form.SubAgencyIndexRankFormDTO" resultType="com.epmet.evaluationindex.screen.dto.result.SubAgencyIndexRankResultDTO">
SELECT
org_name AS NAME,
ROUND(index_total,1) AS totalIndex,
ROUND(govern_ablity,1) AS governAbility,
ROUND(party_dev_ablity,1) AS partyDevAbility,
ROUND(service_ablity,1) AS serviceAbility
index_total AS totalIndex,
govern_ablity AS governAbility,
party_dev_ablity AS partyDevAbility,
service_ablity AS serviceAbility
FROM
screen_index_data_yearly
WHERE
@ -66,10 +66,10 @@
resultType="com.epmet.evaluationindex.screen.dto.result.AnNingSubAgencyIndexRankResultDTO">
SELECT
org_name AS `NAME`,
ROUND(index_total, 1) AS totalIndex,
ROUND(govern_ablity, 1) AS governAbility,
ROUND(party_dev_ablity, 1) AS partyDevAbility,
ROUND(service_ablity, 1) AS serviceAbility,
service_ablity * SERVICE_ABLITY_WEIGHT AS serviceAbility,
party_dev_ablity * PARTY_DEV_WEIGHT AS partyDevAbility,
govern_ablity * GOVERN_ABLITY_WEIGHT AS governAbility,
(service_ablity * SERVICE_ABLITY_WEIGHT + party_dev_ablity * PARTY_DEV_WEIGHT + govern_ablity * GOVERN_ABLITY_WEIGHT) AS totalIndex,
ORG_ID orgId
FROM
screen_index_data_monthly

8
epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenIndexDataYearlyDao.xml

@ -6,10 +6,10 @@
<!-- 1、年度平均指数 -->
<select id="selectYearAverageIndex" resultType="com.epmet.evaluationindex.screen.dto.result.YearAverageIndexResultDTO">
SELECT
ROUND(index_total,1) AS yearAverageIndex,
ROUND(service_ablity,1) AS serviceAbility,
ROUND(party_dev_ablity,1) AS partyDevAbility,
ROUND(govern_ablity,1) AS governAbility
index_total AS yearAverageIndex,
service_ablity AS serviceAbility,
party_dev_ablity AS partyDevAbility,
govern_ablity AS governAbility
FROM
screen_index_data_yearly
WHERE

24
epmet-module/data-report/data-report-server/src/main/resources/mapper/screenkc/ScreenKcPlatformSummaryDailyDao.xml

@ -3,5 +3,29 @@
<mapper namespace="com.epmet.datareport.dao.evaluationindex.screenkc.ScreenKcPlatformSummaryDailyDao">
<select id="selectSummaryDaily" resultType="com.epmet.evaluationindex.screen.dto.result.HomepageSummaryResultDTO">
SELECT
date_id AS "dateId",
grid_count AS "gridCount",
opened_grid_count AS "openedGridCount",
issue_count AS "issueCount",
project_count AS "projectCount",
user_count AS "userCount",
party_user_count AS "partyUserCount",
group_count AS "groupCount",
topic_count AS "topicCount",
news_count AS "newsCount",
read_count AS "readCount",
act_count AS "actCount",
volunteer_count AS "volunteerCount"
FROM
screen_kc_platform_summary_daily
WHERE
del_flag = '0'
AND customer_id = #{customerId}
ORDER BY
date_id DESC
LIMIT 1
</select>
</mapper>

Loading…
Cancel
Save