From ce34fb4b611a61885c7146e8d776c758b3f366fe Mon Sep 17 00:00:00 2001
From: 101captain <237651143@qq.com>
Date: 星期五, 08 七月 2022 10:11:06 +0800
Subject: [PATCH] 问题清单bug处理
---
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/BigScreenStatisticsServiceImpl.java | 930 +++++++++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 720 insertions(+), 210 deletions(-)
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/BigScreenStatisticsServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/BigScreenStatisticsServiceImpl.java
index d080650..856a0c2 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/BigScreenStatisticsServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/BigScreenStatisticsServiceImpl.java
@@ -3,7 +3,7 @@
import static java.util.Objects.isNull;
import static java.util.Objects.nonNull;
-import java.text.SimpleDateFormat;
+import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.Date;
@@ -14,20 +14,75 @@
import javax.annotation.Resource;
-import com.panzhihua.common.model.vos.community.bigscreen.*;
-import com.panzhihua.service_community.dao.*;
+import com.panzhihua.common.model.vos.community.ComActEasyPhotoVO;
+import com.panzhihua.common.model.vos.community.ComMngVolunteerMngVO;
+import com.panzhihua.common.model.vos.community.bigscreen.BigScreenAlarmStatisticsInfo;
+import com.panzhihua.common.model.vos.community.bigscreen.BigScreenCourtyardStatisticsInfo;
+import com.panzhihua.common.model.vos.community.bigscreen.BigScreenVolunteerStatisticsInfo;
+import com.panzhihua.common.model.vos.community.bigscreen.EquipmentPointMapDataVO;
+import com.panzhihua.common.model.vos.community.bigscreen.VolunteerOrgRelationVO;
+import com.panzhihua.common.model.vos.grid.EventVO;
+import com.panzhihua.common.model.vos.property.ComPropertyAlarmVO;
+import com.panzhihua.common.model.vos.property.ComPropertyEquipmentVO;
+import com.panzhihua.service_community.dao.ComMngVolunteerMngDAO;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.panzhihua.common.model.dtos.PageBaseDTO;
import com.panzhihua.common.model.dtos.community.convenient.PagePopularMerchantDTO;
+import com.panzhihua.common.model.dtos.property.CommonPage;
import com.panzhihua.common.model.vos.R;
-import com.panzhihua.common.model.vos.community.ComActEasyPhotoVO;
+import com.panzhihua.common.model.vos.community.ComActDynVO;
+import com.panzhihua.common.model.vos.community.ComActFourMemberVO;
+import com.panzhihua.common.model.vos.community.ComSwPatrolRecordVO;
import com.panzhihua.common.model.vos.community.StatisticsCommVO;
+import com.panzhihua.common.model.vos.community.bigscreen.BigScreenActivityLine;
+import com.panzhihua.common.model.vos.community.bigscreen.BigScreenCommunityStatisticsVO;
+import com.panzhihua.common.model.vos.community.bigscreen.BigScreenDynStatisticsInfo;
+import com.panzhihua.common.model.vos.community.bigscreen.BigScreenEasyPhotoStatisticsInfo;
+import com.panzhihua.common.model.vos.community.bigscreen.BigScreenFmsStatisticsInfo;
+import com.panzhihua.common.model.vos.community.bigscreen.BigScreenFourMemberStatisticsInfo;
+import com.panzhihua.common.model.vos.community.bigscreen.BigScreenHmkBaseInfo;
+import com.panzhihua.common.model.vos.community.bigscreen.BigScreenHmkProjectInfo;
+import com.panzhihua.common.model.vos.community.bigscreen.BigScreenHmkProjectTypeInfo;
+import com.panzhihua.common.model.vos.community.bigscreen.BigScreenHmkSocialOrgInfo;
+import com.panzhihua.common.model.vos.community.bigscreen.BigScreenHmkSocialWorkerInfo;
+import com.panzhihua.common.model.vos.community.bigscreen.BigScreenMerchantStatisticsInfo;
+import com.panzhihua.common.model.vos.community.bigscreen.BigScreenMicroWishStatisticsInfo;
+import com.panzhihua.common.model.vos.community.bigscreen.BigScreenNeighborStatisticsInfo;
+import com.panzhihua.common.model.vos.community.bigscreen.BigScreenPartyBuildIngStatisticsInfo;
+import com.panzhihua.common.model.vos.community.bigscreen.BigScreenQuestionnaireStatisticsInfo;
+import com.panzhihua.common.model.vos.community.bigscreen.BigScreenResidentActStatisticsInfo;
+import com.panzhihua.common.model.vos.community.bigscreen.BigScreenVolunteerActStatisticsInfo;
+import com.panzhihua.common.model.vos.community.bigscreen.FourMemberOrgRelationVO;
+import com.panzhihua.common.model.vos.community.bigscreen.GridsGovernanceStatisticsVO;
+import com.panzhihua.common.model.vos.community.bigscreen.ResidentAutonomyStatisticsVO;
import com.panzhihua.common.model.vos.community.convenient.ConvenientMerchantVO;
+import com.panzhihua.common.model.vos.community.fms.ComFmsTeamVO;
import com.panzhihua.common.model.vos.community.screen.civil.CivilVillageStatisticsVO;
import com.panzhihua.common.model.vos.community.screen.event.EventGridIncidentStatisticsVO;
import com.panzhihua.common.model.vos.community.screen.event.EventGridStatisticsVO;
+import com.panzhihua.common.utlis.DateUtils;
+import com.panzhihua.service_community.dao.ComActActivityDAO;
+import com.panzhihua.service_community.dao.ComActCommitteeDao;
+import com.panzhihua.service_community.dao.ComActDiscussDAO;
+import com.panzhihua.service_community.dao.ComActDynDAO;
+import com.panzhihua.service_community.dao.ComActEasyPhotoDAO;
+import com.panzhihua.service_community.dao.ComActFourMemberDao;
+import com.panzhihua.service_community.dao.ComActMicroWishDAO;
+import com.panzhihua.service_community.dao.ComActNeighborCircleDAO;
+import com.panzhihua.service_community.dao.ComActQuestnaireDAO;
+import com.panzhihua.service_community.dao.ComActSocialOrgDao;
+import com.panzhihua.service_community.dao.ComActSocialProjectDao;
+import com.panzhihua.service_community.dao.ComActSocialWorkerDao;
+import com.panzhihua.service_community.dao.ComActWarehouseDonatesDao;
+import com.panzhihua.service_community.dao.ComFmsServiceDAO;
+import com.panzhihua.service_community.dao.ComMngPopulationDAO;
+import com.panzhihua.service_community.dao.ComPropertyDao;
+import com.panzhihua.service_community.dao.ConvenientMerchantDAO;
import com.panzhihua.service_community.service.BigScreenStatisticsService;
import lombok.extern.slf4j.Slf4j;
@@ -76,6 +131,12 @@
private ComActDynDAO comActDynDAO;
@Resource
+ private ComActActivityDAO comActActivityDAO;
+
+ @Resource
+ private ComActCommitteeDao comActCommitteeDao;
+
+ @Resource
private ComActSocialProjectDao comActSocialProjectDao;
@Resource
@@ -83,6 +144,12 @@
@Resource
private ComActSocialWorkerDao comActSocialWorkerDao;
+ @Resource
+ private ComActFourMemberDao comActFourMemberDao;
+ @Resource
+ private ComFmsServiceDAO comFmsServiceDAO;
+ @Resource
+ private ComMngVolunteerMngDAO comMngVolunteerMngDAO;
/**
* 大数据分析平台-居民自治
@@ -95,20 +162,12 @@
if (isNull(statisticsVO)) {
statisticsVO = new ResidentAutonomyStatisticsVO();
}
- List<ComActEasyPhotoVO> easyPhotoVOList = comActEasyPhotoDAO.selectStatisticsList(communityId);
+ List<StatisticsCommVO> easyPhotoHistogram = comActEasyPhotoDAO.selectStatisticsList(communityId);
//随手拍总数
Integer easyPhotoTotalCount = 0;
//随手拍柱状统计
- List<StatisticsCommVO> easyPhotoHistogram = new ArrayList<>();
- if (Objects.nonNull(easyPhotoVOList) && !easyPhotoVOList.isEmpty()) {
- Map<String, List<ComActEasyPhotoVO>> easyPhotoVOMap = easyPhotoVOList.stream().collect(Collectors.groupingBy(ComActEasyPhotoVO::getClassifyName));
- for (Map.Entry<String, List<ComActEasyPhotoVO>> entry : easyPhotoVOMap.entrySet()) {
- StatisticsCommVO commVO = new StatisticsCommVO();
- commVO.setFiled(entry.getKey());
- commVO.setNum(entry.getValue().size());
- easyPhotoHistogram.add(commVO);
- }
- easyPhotoTotalCount = easyPhotoVOList.size();
+ if (Objects.nonNull(easyPhotoHistogram) && !easyPhotoHistogram.isEmpty()) {
+ easyPhotoTotalCount = easyPhotoHistogram.stream().map(StatisticsCommVO::getNum).mapToInt(Integer::intValue).sum();
}
statisticsVO.setEasyPhotoTotalCount(easyPhotoTotalCount);
statisticsVO.setEasyPhotoHistogram(easyPhotoHistogram);
@@ -117,7 +176,7 @@
List<StatisticsCommVO> microWishRealizePercent = comActMicroWishDAO.selectRealizePercent(communityId);
statisticsVO.setMicroWishRealizePercent(microWishRealizePercent);
//微心愿图片
- List<String> microWishImages = comActMicroWishDAO.getPassedAllImages(communityId, pageSize);
+ List<String> microWishImages = comActMicroWishDAO.getPassedAllImages(communityId, 20);
statisticsVO.setMicroWishImages(microWishImages);
//议事投票类型占比
@@ -131,40 +190,19 @@
statisticsVO.setVoteTitles(voteTitles);
//邻里圈图片
- List<String> neighborImages = comActNeighborCircleDAO.getAllImages(communityId, pageSize);
+ List<String> neighborImages = comActNeighborCircleDAO.getAllImages(communityId, 20);
statisticsVO.setNeighborImages(neighborImages);
//邻里圈文本内容
List<String> neighborContents = comActNeighborCircleDAO.getContents(communityId, pageSize);
statisticsVO.setNeighborContents(neighborContents);
//报事报修新增折线数据
- Date nowDate = new Date();
List<StatisticsCommVO> repairAddPolylineData = comPropertyDao.getRepairPolylineDate(communityId);
- int currentMon = Integer.parseInt(new SimpleDateFormat("MM").format(nowDate));
- for (int i = 1; i <= currentMon; i++) {
- String temp;
- if (i > 9) {
- temp = "" + i;
- } else {
- temp = "0" + i;
- }
- boolean isExist = repairAddPolylineData.stream().anyMatch(e -> nonNull(e.getFiled()) &&
- e.getFiled().endsWith(temp));
- if (!isExist) {
- StatisticsCommVO other = new StatisticsCommVO();
- other.setFiled(temp);
- other.setNum(0);
- repairAddPolylineData.add(other);
- }
- }
- repairAddPolylineData = repairAddPolylineData.stream().filter(e -> nonNull(e.getFiled()))
- .sorted(Comparator.comparing(e -> e.getFiled())).collect(Collectors.toList());
statisticsVO.setRepairAddPolylineData(repairAddPolylineData);
//报事报修累计折线数据
List<StatisticsCommVO> repairTotalPolylineData = new ArrayList<>();
- String year = new SimpleDateFormat("yyyy").format(nowDate);
repairAddPolylineData.forEach(e -> {
- StatisticsCommVO temp = comPropertyDao.getRepairTotalPolylineDate(communityId, year + e.getFiled());
+ StatisticsCommVO temp = comPropertyDao.getRepairTotalPolylineDate(communityId, e.getFiled());
temp.setFiled(e.getFiled());
repairTotalPolylineData.add(temp);
});
@@ -177,8 +215,23 @@
List<String> warehouseLoveTransfer = comActWarehouseDonatesDao.getWarehouseLoveTransfer(communityId, pageSize);
statisticsVO.setWarehouseLoveTransfer(warehouseLoveTransfer);
//捐赠图片
- List<String> warehouseImages = comActWarehouseDonatesDao.getWarehouseImages(communityId, pageSize);
+ List<String> warehouseImages = comActWarehouseDonatesDao.getWarehouseImages(communityId, 20);
statisticsVO.setWarehouseImages(warehouseImages);
+
+ //居民活动柱状统计
+ List<StatisticsCommVO> residentActHistogram = comActActivityDAO.selectResidentActHistogramData(communityId, true);
+ //居民活动新增数据
+ List<StatisticsCommVO> actAddPolylineData = comActActivityDAO.getActAddPolylineData(communityId, true);
+ //居民活动发布总数
+ int residentActTotalCount = 0;
+ if (!residentActHistogram.isEmpty()) {
+ residentActTotalCount = residentActHistogram.stream().map(StatisticsCommVO::getNum).mapToInt(Integer::intValue).sum();
+ }
+ statisticsVO.setResidentActTotalCount(residentActTotalCount);
+ statisticsVO.setResidentActHistogram(actAddPolylineData);
+ //业主委员会党员占比
+ List<StatisticsCommVO> committeePartyPercent = comActCommitteeDao.selectCommitteePartyPercent(communityId);
+ statisticsVO.setCommitteePartyPercent(committeePartyPercent);
return R.ok(statisticsVO);
}
@@ -213,37 +266,13 @@
});
}
statisticsVO.setVillageStatisticsList(villageStatisticsList);
- // 查询社区事件列表
- List<EventGridIncidentStatisticsVO> gridIncidentList = comMngPopulationDAO.getGridsGovernanceEventList(communityId);
- statisticsVO.setGridIncidentList(gridIncidentList);
//事件分析新增折线数据
- Date nowDate = new Date();
List<StatisticsCommVO> eventAddPolylineData = comPropertyDao.getEventAddPolylineData(communityId);
- int currentMon = Integer.parseInt(new SimpleDateFormat("MM").format(nowDate));
- for (int i = 1; i <= currentMon; i++) {
- String temp;
- if (i > 9) {
- temp = "" + i;
- } else {
- temp = "0" + i;
- }
- boolean isExist = eventAddPolylineData.stream().anyMatch(e -> nonNull(e.getFiled()) &&
- e.getFiled().endsWith(temp));
- if (!isExist) {
- StatisticsCommVO other = new StatisticsCommVO();
- other.setFiled(temp);
- other.setNum(0);
- eventAddPolylineData.add(other);
- }
- }
- eventAddPolylineData = eventAddPolylineData.stream().filter(e -> nonNull(e.getFiled()))
- .sorted(Comparator.comparing(e -> e.getFiled())).collect(Collectors.toList());
statisticsVO.setEventAddPolylineData(eventAddPolylineData);
//事件分析累计折线数据
List<StatisticsCommVO> eventTotalPolylineData = new ArrayList<>();
- String year = new SimpleDateFormat("yyyy").format(nowDate);
eventAddPolylineData.forEach(e -> {
- StatisticsCommVO temp = comPropertyDao.getEventTotalPolylineDate(communityId, year + e.getFiled());
+ StatisticsCommVO temp = comPropertyDao.getEventTotalPolylineDate(communityId, e.getFiled());
temp.setFiled(e.getFiled());
eventTotalPolylineData.add(temp);
});
@@ -309,31 +338,11 @@
//微心愿新增折线数据
Date nowDate = new Date();
List<StatisticsCommVO> microWishAddPolylineData = comActMicroWishDAO.getMicroWishAddPolylineData(communityId);
- int currentMon = Integer.parseInt(new SimpleDateFormat("MM").format(nowDate));
- for (int i = 1; i <= currentMon; i++) {
- String temp;
- if (i > 9) {
- temp = "" + i;
- } else {
- temp = "0" + i;
- }
- boolean isExist = microWishAddPolylineData.stream().anyMatch(e -> nonNull(e.getFiled()) &&
- e.getFiled().endsWith(temp));
- if (!isExist) {
- StatisticsCommVO other = new StatisticsCommVO();
- other.setFiled(temp);
- other.setNum(0);
- microWishAddPolylineData.add(other);
- }
- }
- microWishAddPolylineData = microWishAddPolylineData.stream().filter(e -> nonNull(e.getFiled()))
- .sorted(Comparator.comparing(e -> e.getFiled())).collect(Collectors.toList());
statisticsInfo.setMicroWishAddPolylineData(microWishAddPolylineData);
//微心愿累计折线数据
List<StatisticsCommVO> microWishTotalPolylineData = new ArrayList<>();
- String year = new SimpleDateFormat("yyyy").format(nowDate);
microWishAddPolylineData.forEach(e -> {
- StatisticsCommVO temp = comActMicroWishDAO.getMicroWishTotalPolylineDate(communityId, year + e.getFiled());
+ StatisticsCommVO temp = comActMicroWishDAO.getMicroWishTotalPolylineDate(communityId, e.getFiled());
temp.setFiled(e.getFiled());
microWishTotalPolylineData.add(temp);
});
@@ -352,31 +361,11 @@
//随手拍新增折线数据
Date nowDate = new Date();
List<StatisticsCommVO> easyPhotoAddPolylineData = comActEasyPhotoDAO.getEasyPhotoAddPolylineData(communityId);
- int currentMon = Integer.parseInt(new SimpleDateFormat("MM").format(nowDate));
- for (int i = 1; i <= currentMon; i++) {
- String temp;
- if (i > 9) {
- temp = "" + i;
- } else {
- temp = "0" + i;
- }
- boolean isExist = easyPhotoAddPolylineData.stream().anyMatch(e -> nonNull(e.getFiled()) &&
- e.getFiled().endsWith(temp));
- if (!isExist) {
- StatisticsCommVO other = new StatisticsCommVO();
- other.setFiled(temp);
- other.setNum(0);
- easyPhotoAddPolylineData.add(other);
- }
- }
- easyPhotoAddPolylineData = easyPhotoAddPolylineData.stream().filter(e -> nonNull(e.getFiled()))
- .sorted(Comparator.comparing(e -> e.getFiled())).collect(Collectors.toList());
statisticsInfo.setEasyPhotoAddPolylineData(easyPhotoAddPolylineData);
//随手拍累计折线数据
List<StatisticsCommVO> easyPhotoTotalPolylineData = new ArrayList<>();
- String year = new SimpleDateFormat("yyyy").format(nowDate);
easyPhotoAddPolylineData.forEach(e -> {
- StatisticsCommVO temp = comActEasyPhotoDAO.getEasyPhotoTotalPolylineDate(communityId, year + e.getFiled());
+ StatisticsCommVO temp = comActEasyPhotoDAO.getEasyPhotoTotalPolylineDate(communityId, e.getFiled());
temp.setFiled(e.getFiled());
easyPhotoTotalPolylineData.add(temp);
});
@@ -403,33 +392,12 @@
public R indexQuestionnaire(Long communityId) {
BigScreenQuestionnaireStatisticsInfo statisticsInfo = comActQuestnaireDAO.getIndexQuestionnaireBaseData(communityId);
//社区问卷新增折线数据
- Date nowDate = new Date();
List<StatisticsCommVO> questionnaireAddPolylineData = comActQuestnaireDAO.getQuestionnaireAddPolylineData(communityId);
- int currentMon = Integer.parseInt(new SimpleDateFormat("MM").format(nowDate));
- for (int i = 1; i <= currentMon; i++) {
- String temp;
- if (i > 9) {
- temp = "" + i;
- } else {
- temp = "0" + i;
- }
- boolean isExist = questionnaireAddPolylineData.stream().anyMatch(e -> nonNull(e.getFiled()) &&
- e.getFiled().endsWith(temp));
- if (!isExist) {
- StatisticsCommVO other = new StatisticsCommVO();
- other.setFiled(temp);
- other.setNum(0);
- questionnaireAddPolylineData.add(other);
- }
- }
- questionnaireAddPolylineData = questionnaireAddPolylineData.stream().filter(e -> nonNull(e.getFiled()))
- .sorted(Comparator.comparing(e -> e.getFiled())).collect(Collectors.toList());
statisticsInfo.setQuestionnaireAddPolylineData(questionnaireAddPolylineData);
//社区问卷累计折线数据
List<StatisticsCommVO> questionnaireTotalPolylineData = new ArrayList<>();
- String year = new SimpleDateFormat("yyyy").format(nowDate);
questionnaireAddPolylineData.forEach(e -> {
- StatisticsCommVO temp = comActQuestnaireDAO.getQuestionnaireTotalPolylineDate(communityId, year + e.getFiled());
+ StatisticsCommVO temp = comActQuestnaireDAO.getQuestionnaireTotalPolylineDate(communityId, e.getFiled());
temp.setFiled(e.getFiled());
questionnaireTotalPolylineData.add(temp);
});
@@ -451,33 +419,12 @@
statisticsInfo.setDynNum(dynCircleData.stream().map(StatisticsCommVO::getNum).mapToInt(Integer::intValue).sum());
}
//社区动态新增折线数据
- Date nowDate = new Date();
List<StatisticsCommVO> dynAddPolylineData = comActDynDAO.getDynAddPolylineData(communityId);
- int currentMon = Integer.parseInt(new SimpleDateFormat("MM").format(nowDate));
- for (int i = 1; i <= currentMon; i++) {
- String temp;
- if (i > 9) {
- temp = "" + i;
- } else {
- temp = "0" + i;
- }
- boolean isExist = dynAddPolylineData.stream().anyMatch(e -> nonNull(e.getFiled()) &&
- e.getFiled().endsWith(temp));
- if (!isExist) {
- StatisticsCommVO other = new StatisticsCommVO();
- other.setFiled(temp);
- other.setNum(0);
- dynAddPolylineData.add(other);
- }
- }
- dynAddPolylineData = dynAddPolylineData.stream().filter(e -> nonNull(e.getFiled()))
- .sorted(Comparator.comparing(e -> e.getFiled())).collect(Collectors.toList());
statisticsInfo.setDynAddPolylineData(dynAddPolylineData);
//社区动态累计折线数据
List<StatisticsCommVO> dynTotalPolylineData = new ArrayList<>();
- String year = new SimpleDateFormat("yyyy").format(nowDate);
dynAddPolylineData.forEach(e -> {
- StatisticsCommVO temp = comActDynDAO.getDynTotalPolylineDate(communityId, year + e.getFiled());
+ StatisticsCommVO temp = comActDynDAO.getDynTotalPolylineDate(communityId, e.getFiled());
temp.setFiled(e.getFiled());
dynTotalPolylineData.add(temp);
});
@@ -508,36 +455,15 @@
statisticsInfo.setNeighborCircleData(neighborCircleData);
if (!neighborCircleData.isEmpty()) {
statisticsInfo.setPublishContentNum(neighborCircleData.stream().map(StatisticsCommVO::getNum).mapToInt(Integer::intValue).sum());
- statisticsInfo.setPublishTopicNum(neighborCircleData.size());
+ statisticsInfo.setPublishTopicNum(neighborCircleData.stream().filter(e -> !"无话题".equals(e.getFiled())).collect(Collectors.toList()).size());
}
//邻里圈新增折线数据
- Date nowDate = new Date();
List<StatisticsCommVO> neighborAddPolylineData = comActNeighborCircleDAO.getNeighborAddPolylineData(communityId);
- int currentMon = Integer.parseInt(new SimpleDateFormat("MM").format(nowDate));
- for (int i = 1; i <= currentMon; i++) {
- String temp;
- if (i > 9) {
- temp = "" + i;
- } else {
- temp = "0" + i;
- }
- boolean isExist = neighborAddPolylineData.stream().anyMatch(e -> nonNull(e.getFiled()) &&
- e.getFiled().endsWith(temp));
- if (!isExist) {
- StatisticsCommVO other = new StatisticsCommVO();
- other.setFiled(temp);
- other.setNum(0);
- neighborAddPolylineData.add(other);
- }
- }
- neighborAddPolylineData = neighborAddPolylineData.stream().filter(e -> nonNull(e.getFiled()))
- .sorted(Comparator.comparing(e -> e.getFiled())).collect(Collectors.toList());
statisticsInfo.setNeighborAddPolylineData(neighborAddPolylineData);
//邻里圈累计折线数据
List<StatisticsCommVO> neighborTotalPolylineData = new ArrayList<>();
- String year = new SimpleDateFormat("yyyy").format(nowDate);
neighborAddPolylineData.forEach(e -> {
- StatisticsCommVO temp = comActNeighborCircleDAO.getNeighborTotalPolylineDate(communityId, year + e.getFiled());
+ StatisticsCommVO temp = comActNeighborCircleDAO.getNeighborTotalPolylineDate(communityId, e.getFiled());
temp.setFiled(e.getFiled());
neighborTotalPolylineData.add(temp);
});
@@ -574,33 +500,12 @@
statisticsInfo.setServiceTypeNum(serviceTypeCircleData.size());
}
//服务次数(目前暂时使用浏览量)新增折线数据
- Date nowDate = new Date();
List<StatisticsCommVO> serviceTimesAddPolylineData = convenientMerchantDAO.getServiceTimesAddPolylineData(communityId);
- int currentMon = Integer.parseInt(new SimpleDateFormat("MM").format(nowDate));
- for (int i = 1; i <= currentMon; i++) {
- String temp;
- if (i > 9) {
- temp = "" + i;
- } else {
- temp = "0" + i;
- }
- boolean isExist = serviceTimesAddPolylineData.stream().anyMatch(e -> nonNull(e.getFiled()) &&
- e.getFiled().endsWith(temp));
- if (!isExist) {
- StatisticsCommVO other = new StatisticsCommVO();
- other.setFiled(temp);
- other.setNum(0);
- serviceTimesAddPolylineData.add(other);
- }
- }
- serviceTimesAddPolylineData = serviceTimesAddPolylineData.stream().filter(e -> nonNull(e.getFiled()))
- .sorted(Comparator.comparing(e -> e.getFiled())).collect(Collectors.toList());
statisticsInfo.setServiceTimesAddPolylineData(serviceTimesAddPolylineData);
//服务次数(目前暂时使用浏览量)累计折线数据
List<StatisticsCommVO> serviceTimesTotalPolylineData = new ArrayList<>();
- String year = new SimpleDateFormat("yyyy").format(nowDate);
serviceTimesAddPolylineData.forEach(e -> {
- StatisticsCommVO temp = convenientMerchantDAO.getServiceTimesTotalPolylineDate(communityId, year + e.getFiled());
+ StatisticsCommVO temp = convenientMerchantDAO.getServiceTimesTotalPolylineDate(communityId, e.getFiled());
temp.setFiled(e.getFiled());
serviceTimesTotalPolylineData.add(temp);
});
@@ -641,12 +546,151 @@
return R.ok(comActQuestnaireDAO.selectQuestionnaireDisplayList(page, pageBaseDTO));
}
+ /**
+ * 首页二级页面-居民活动
+ * @param communityId
+ * @return
+ */
@Override
- public R hmkBaseInfo() {
+ public R indexResidentAct(Long communityId) {
+ BigScreenResidentActStatisticsInfo statisticsInfo = new BigScreenResidentActStatisticsInfo();
+ List<StatisticsCommVO> actCircleData = comActActivityDAO.getIndexResidentActBaseData(communityId, true);
+ statisticsInfo.setActCircleData(actCircleData);
+ if (!actCircleData.isEmpty()) {
+ statisticsInfo.setJoinNum(actCircleData.stream().map(StatisticsCommVO::getNum).mapToInt(Integer::intValue).sum());
+ }
+ List<StatisticsCommVO> residentActHistogram = comActActivityDAO.selectResidentActHistogramData(communityId, true);
+ //居民活动发布总数
+ int publishNum = 0;
+ if (!residentActHistogram.isEmpty()) {
+ publishNum = residentActHistogram.stream().map(StatisticsCommVO::getNum).mapToInt(Integer::intValue).sum();
+ }
+ statisticsInfo.setPublishNum(publishNum);
+ //居民活动新增折线数据
+ List<StatisticsCommVO> actAddPolylineData = comActActivityDAO.getActAddPolylineData(communityId, true);
+ statisticsInfo.setActAddPolylineData(actAddPolylineData);
+ //居民活动累计折线数据
+ List<StatisticsCommVO> actTotalPolylineData = new ArrayList<>();
+ actAddPolylineData.forEach(e -> {
+ StatisticsCommVO temp = comActActivityDAO.getActTotalPolylineData(communityId, true, e.getFiled());
+ temp.setFiled(e.getFiled());
+ actTotalPolylineData.add(temp);
+ });
+ statisticsInfo.setActTotalPolylineData(actTotalPolylineData);
+ return R.ok(statisticsInfo);
+ }
+
+ /**
+ * 首页二级页面-居民活动展示列表
+ * @param pageBaseDTO
+ * @return
+ */
+ @Override
+ public R indexResidentActList(PageBaseDTO pageBaseDTO) {
+ Page page = retrievePage(pageBaseDTO);
+ return R.ok(comActActivityDAO.indexActList(page, pageBaseDTO, true));
+ }
+
+ /**
+ * 首页二级页面-志愿者活动
+ * @param communityId
+ * @return
+ */
+ @Override
+ public R indexVolunteerAct(Long communityId) {
+ BigScreenVolunteerActStatisticsInfo statisticsInfo = getBigScreenVolunteerActStatisticsInfo(communityId);
+ return R.ok(statisticsInfo);
+ }
+
+ private BigScreenVolunteerActStatisticsInfo getBigScreenVolunteerActStatisticsInfo(Long communityId) {
+ BigScreenVolunteerActStatisticsInfo statisticsInfo = new BigScreenVolunteerActStatisticsInfo();
+ List<StatisticsCommVO> actCircleData = comActActivityDAO.getIndexResidentActBaseData(communityId, false);
+ statisticsInfo.setActCircleData(actCircleData);
+ if (!actCircleData.isEmpty()) {
+ statisticsInfo.setJoinNum(actCircleData.stream().map(StatisticsCommVO::getNum).mapToInt(Integer::intValue).sum());
+ }
+ List<StatisticsCommVO> volunteerActHistogram = comActActivityDAO.selectResidentActHistogramData(communityId, false);
+ //志愿者活动发布总数
+ int publishNum = 0;
+ if (!volunteerActHistogram.isEmpty()) {
+ publishNum = volunteerActHistogram.stream().map(StatisticsCommVO::getNum).mapToInt(Integer::intValue).sum();
+ }
+ statisticsInfo.setPublishNum(publishNum);
+ //志愿者活动新增折线数据
+ List<StatisticsCommVO> actAddPolylineData = comActActivityDAO.getActAddPolylineData(communityId, false);
+ statisticsInfo.setActAddPolylineData(actAddPolylineData);
+ //志愿者活动累计折线数据
+ List<StatisticsCommVO> actTotalPolylineData = new ArrayList<>();
+ actAddPolylineData.forEach(e -> {
+ StatisticsCommVO temp = comActActivityDAO.getActTotalPolylineData(communityId, false, e.getFiled());
+ temp.setFiled(e.getFiled());
+ actTotalPolylineData.add(temp);
+ });
+ statisticsInfo.setActTotalPolylineData(actTotalPolylineData);
+ return statisticsInfo;
+ }
+
+ /**
+ * 首页二级页面-志愿者活动展示列表
+ * @param pageBaseDTO
+ * @return
+ */
+ @Override
+ public R indexVolunteerActList(PageBaseDTO pageBaseDTO) {
+ Page page = retrievePage(pageBaseDTO);
+ return R.ok(comActActivityDAO.indexActList(page, pageBaseDTO, false));
+ }
+
+ /**
+ * 清网治格-根据事件分类获取近1月的社区事件数据
+ * @param type
+ * @param communityId
+ * @return
+ */
+ @Override
+ public R getEventList(Integer type, Long communityId) {
+ // 查询社区事件列表
+ List<EventGridIncidentStatisticsVO> gridIncidentList = comMngPopulationDAO.getGridsGovernanceEventList(communityId);
+ List<EventGridIncidentStatisticsVO> returnGridIncidentList = new ArrayList<>();
+ if (!gridIncidentList.isEmpty()) {
+ gridIncidentList.forEach(e -> {
+ if (e.getEventType().equals(2)) {
+ String[] lngLatString = e.getLatLng().split(",");
+ e.setLatLng(lngLatString[1] + "," + lngLatString[0]);
+ }
+ });
+ returnGridIncidentList = gridIncidentList.stream().filter(e -> type.equals(e.getType())).collect(Collectors.toList());
+ }
+ return R.ok(returnGridIncidentList);
+ }
+
+ /**
+ * 清网治格-社区事件数据分页
+ * @param pageBaseDTO
+ * @return
+ */
+ @Override
+ public R pageEventList(PageBaseDTO pageBaseDTO) {
+ Page page = retrievePage(pageBaseDTO);
+ IPage<EventGridIncidentStatisticsVO> iPage = comMngPopulationDAO.pageEventList(page, pageBaseDTO);
+ List<EventGridIncidentStatisticsVO> gridIncidentList = iPage.getRecords();
+ if (!gridIncidentList.isEmpty()) {
+ gridIncidentList.forEach(e -> {
+ if (e.getEventType().equals(2)) {
+ String[] lngLatString = e.getLatLng().split(",");
+ e.setLatLng(lngLatString[1] + "," + lngLatString[0]);
+ }
+ });
+ }
+ return R.ok(iPage);
+ }
+
+ @Override
+ public R hmkBaseInfo(CommonPage commonPage) {
BigScreenHmkBaseInfo bigScreenHmkBaseInfo=comActSocialProjectDao.selectIndexBaseInfo();
//项目数据
- BigScreenHmkProjectInfo bigScreenHmkProjectInfo=comActSocialProjectDao.selectBaseInfo();
- List<BigScreenHmkProjectTypeInfo> typeInfo=comActSocialProjectDao.selectType();
+ BigScreenHmkProjectInfo bigScreenHmkProjectInfo=comActSocialProjectDao.selectBaseInfo(commonPage.getCommunityId());
+ List<BigScreenHmkProjectTypeInfo> typeInfo=comActSocialProjectDao.selectType(null,commonPage.getCommunityId());
if(bigScreenHmkProjectInfo.getCount()>0){
typeInfo.forEach(bigScreenHmkProjectTypeInfo -> {
bigScreenHmkProjectTypeInfo.setPercent(bigScreenHmkProjectTypeInfo.getCount()/bigScreenHmkProjectInfo.getCount());
@@ -654,16 +698,16 @@
}
bigScreenHmkProjectInfo.setTypeInfoList(typeInfo);
//活动数据
- Integer countAll=comActSocialProjectDao.selectActivity(0);
+ Integer countAll=comActSocialProjectDao.selectActivity(0,commonPage.getCommunityId());
BigScreenHmkProjectTypeInfo jm=new BigScreenHmkProjectTypeInfo();
jm.setName("居民活动");
- jm.setCount(comActSocialProjectDao.selectActivity(2));
+ jm.setCount(comActSocialProjectDao.selectActivity(2,commonPage.getCommunityId()));
if(countAll>0){
jm.setPercent(jm.getCount()/countAll);
}
BigScreenHmkProjectTypeInfo zyz=new BigScreenHmkProjectTypeInfo();
zyz.setName("志愿者活动");
- zyz.setCount(comActSocialProjectDao.selectActivity(1));
+ zyz.setCount(comActSocialProjectDao.selectActivity(1,commonPage.getCommunityId()));
if(countAll>0){
zyz.setPercent(zyz.getCount()/countAll);
}
@@ -672,8 +716,8 @@
activityList.add(zyz);
bigScreenHmkProjectInfo.setActivityTypeInfoList(activityList);
//社会组织数据
- BigScreenHmkSocialOrgInfo bigScreenHmkSocialOrgInfo=comActSocialOrgDao.selectInfo();
- List<BigScreenHmkProjectTypeInfo> typeInfoList= comActSocialOrgDao.selectType();
+ BigScreenHmkSocialOrgInfo bigScreenHmkSocialOrgInfo=comActSocialOrgDao.selectInfo(commonPage.getCommunityId());
+ List<BigScreenHmkProjectTypeInfo> typeInfoList= comActSocialOrgDao.selectType(commonPage.getCommunityId());
if(bigScreenHmkSocialOrgInfo.getCount()>0){
typeInfoList.forEach(bigScreenHmkProjectTypeInfo -> {
bigScreenHmkProjectTypeInfo.setPercent(bigScreenHmkProjectTypeInfo.getCount()/bigScreenHmkSocialOrgInfo.getCount());
@@ -684,22 +728,22 @@
//社工数据
BigScreenHmkSocialWorkerInfo bigScreenHmkSocialWorkerInfo=new BigScreenHmkSocialWorkerInfo();
List<BigScreenHmkProjectTypeInfo> socialWorkerList=new ArrayList<>();
- Integer socialAll=comActSocialWorkerDao.selectType(0);
+ Integer socialAll=comActSocialWorkerDao.selectType(0,commonPage.getCommunityId());
BigScreenHmkProjectTypeInfo ss=new BigScreenHmkProjectTypeInfo();
ss.setName("30岁以下");
- ss.setCount(comActSocialWorkerDao.selectType(1));
+ ss.setCount(comActSocialWorkerDao.selectType(1,commonPage.getCommunityId()));
if(socialAll>0){
ss.setPercent(ss.getCount()/socialAll);
}
BigScreenHmkProjectTypeInfo wj=new BigScreenHmkProjectTypeInfo();
wj.setName("30-59岁");
- wj.setCount(comActSocialWorkerDao.selectType(2));
+ wj.setCount(comActSocialWorkerDao.selectType(2,commonPage.getCommunityId()));
if(socialAll>0){
wj.setPercent(wj.getCount()/socialAll);
}
BigScreenHmkProjectTypeInfo ls=new BigScreenHmkProjectTypeInfo();
ls.setName("60岁以上");
- ls.setCount(comActSocialWorkerDao.selectType(2));
+ ls.setCount(comActSocialWorkerDao.selectType(3,commonPage.getCommunityId()));
if(socialAll>0){
ls.setPercent(ls.getCount()/socialAll);
}
@@ -707,7 +751,7 @@
socialWorkerList.add(wj);
socialWorkerList.add(ls);
bigScreenHmkSocialWorkerInfo.setSocialWorkerAge(socialWorkerList);
- List<BigScreenHmkProjectTypeInfo> socialWorkerSkill=comActSocialWorkerDao.selectSkillType();
+ List<BigScreenHmkProjectTypeInfo> socialWorkerSkill=comActSocialWorkerDao.selectSkillType(commonPage.getCommunityId());
if(socialAll>0){
socialWorkerSkill.forEach(bigScreenHmkProjectTypeInfo -> {
bigScreenHmkProjectTypeInfo.setPercent(bigScreenHmkProjectTypeInfo.getCount()/socialAll);
@@ -715,8 +759,462 @@
}
bigScreenHmkSocialWorkerInfo.setSocialWorkerSkill(socialWorkerSkill);
bigScreenHmkBaseInfo.setBigScreenHmkSocialWorkerInfo(bigScreenHmkSocialWorkerInfo);
-
+ bigScreenHmkBaseInfo.setBigScreenHmkProjectInfo(bigScreenHmkProjectInfo);
return R.ok(bigScreenHmkBaseInfo);
+ }
+
+ @Override
+ public R partyProjectActivityLine() {
+ List<BigScreenActivityLine> bigScreenActivityLines=this.getPastMonth();
+ bigScreenActivityLines.forEach(bigScreenActivityLine -> {
+ BigScreenActivityLine bigScreenActivityLine1=comActSocialProjectDao.selectActivityCountMonth(bigScreenActivityLine.getX(),bigScreenActivityLine.getYear());
+ bigScreenActivityLine.setY(bigScreenActivityLine1.getY());
+ bigScreenActivityLine.setCountY(bigScreenActivityLine1.getCountY());
+ bigScreenActivityLine.setX(bigScreenActivityLine.getYear().substring(2,4)+"-"+bigScreenActivityLine.getX());
+ });
+
+ return R.ok(bigScreenActivityLines);
+ }
+
+ @Override
+ public R projectActivityProject(CommonPage commonPage) {
+ return R.ok(comActActivityDAO.selectProjectActivity(new Page(commonPage.getPage(),commonPage.getSize())));
+ }
+
+ @Override
+ public R projectType(String name) {
+ return R.ok(comActSocialProjectDao.selectType(name,null));
+ }
+
+ /**
+ * 金沙定制页面-党建引领基础数据
+ * @param communityId
+ * @return
+ */
+ @Override
+ public R getPartyBuildIngBaseData(Long communityId) {
+ //基础统计数据查询
+ BigScreenPartyBuildIngStatisticsInfo statisticsInfo = comActDynDAO.getPartyBuildIngBaseData(communityId);
+ statisticsInfo.setAqxTotal(statisticsInfo.getJmxcTotal() + statisticsInfo.getShjdTotal() + statisticsInfo.getXqxcTotal());
+ statisticsInfo.setZyxHelpTotal(statisticsInfo.getZyxServiceTotal());
+ statisticsInfo.setZyfwTotal(statisticsInfo.getZyxServiceTotal());
+ //随手拍治安防控记录列表
+ List<ComActEasyPhotoVO> zafkList = comActEasyPhotoDAO.getPartyBuildIngRecord(communityId, pageSize);
+ statisticsInfo.setZafkList(zafkList);
+ //居民宣传记录列表
+ List<ComActDynVO> JMXCList = comActDynDAO.getPartyBuildIngDynRecord(communityId, pageSize);
+ statisticsInfo.setJmxcList(JMXCList);
+ //商户监督记录列表
+
+ //辖区巡查记录列表
+ List<ComSwPatrolRecordVO> XQXCList = comActDynDAO.getPartyBuildIngPatrolRecord(communityId, pageSize);
+ StringBuilder sb = new StringBuilder();
+ XQXCList.forEach(e -> {
+ String personName = e.getPersonName();
+ if (StringUtils.isNotBlank(personName)) {
+ String[] split = personName.split(",");
+ for (int i = 0;i < split.length;i++) {
+ sb.append(split[i].substring(0, 1).concat(split[i].substring(1).replaceAll("\\S", "*")));
+ if (i != split.length - 1) {
+ sb.append(",");
+ }
+ }
+ e.setPersonName(sb.toString());
+ sb.delete(0, sb.length());
+ }
+ });
+ statisticsInfo.setXqxcList(XQXCList);
+ return R.ok(statisticsInfo);
+ }
+
+ /**
+ * 党员活动展示列表
+ * @param pageBaseDTO
+ * @return
+ */
+ @Override
+ public R pagePartyBuildIngAct(PageBaseDTO pageBaseDTO) {
+ Page page = retrievePage(pageBaseDTO);
+ return R.ok(comActDynDAO.pagePartyBuildIngAct(page, pageBaseDTO));
+ }
+
+ /**
+ * 议事投票展示列表
+ * @param pageBaseDTO
+ * @return
+ */
+ @Override
+ public R pagePartyBuildIngDiscuss(PageBaseDTO pageBaseDTO) {
+ Page page = retrievePage(pageBaseDTO);
+ return R.ok(comActDynDAO.pagePartyBuildIngDiscuss(page, pageBaseDTO));
+ }
+
+ /**
+ * 金沙定制页面-四长四员
+ * @param communityId
+ * @return
+ */
+ @Override
+ public R getFourMemberBaseData(Long communityId) {
+ //基础统计数据查询
+ BigScreenFourMemberStatisticsInfo statisticsInfo = comActFourMemberDao.getFourMemberBaseData(communityId);
+ //四长四员楼栋组织关系
+ List<ComActFourMemberVO> members = comActFourMemberDao.getFourMembers(communityId);
+ List<FourMemberOrgRelationVO> relations = new ArrayList<>();
+ if (!members.isEmpty()) {
+ members.forEach(e -> e.setJurisdictionContent(e.getJurisdictionContent().replaceAll("\\[|\"|]", "")));
+ Map<String, List<ComActFourMemberVO>> collect = members.stream().collect(Collectors.groupingBy(ComActFourMemberVO::getJurisdictionContent));
+ for (Map.Entry<String, List<ComActFourMemberVO>> entry : collect.entrySet()) {
+ FourMemberOrgRelationVO relationVO = new FourMemberOrgRelationVO();
+ relationVO.setRelation(entry.getKey());
+ relationVO.setMembers(entry.getValue());
+ relations.add(relationVO);
+ }
+ }
+ statisticsInfo.setFourMemberOrgList(relations);
+ //新增解决问题数
+ List<StatisticsCommVO> jjwtAddPolylineData = comActFourMemberDao.retrieveJJWTAddPolylineData(communityId);
+ statisticsInfo.setJjwtAddPolylineData(jjwtAddPolylineData);
+ //累计解决问题数
+ List<StatisticsCommVO> jjwtTotalPolylineData = new ArrayList<>();
+ jjwtAddPolylineData.forEach(e -> {
+ StatisticsCommVO temp = comActFourMemberDao.retrieveJJWTTotalPolylineData(communityId, e.getFiled());
+ temp.setFiled(e.getFiled());
+ jjwtTotalPolylineData.add(temp);
+ });
+ statisticsInfo.setJjwtTotalPolylineData(jjwtTotalPolylineData);
+ //新增院落议事数
+ List<StatisticsCommVO> ylysAddPolylineData = comActFourMemberDao.retrieveYLYSAddPolylineData(communityId);
+ statisticsInfo.setYlysAddPolylineData(ylysAddPolylineData);
+ //累计院落议事数
+ List<StatisticsCommVO> ylysTotalPolylineData = new ArrayList<>();
+ ylysAddPolylineData.forEach(e -> {
+ StatisticsCommVO temp = comActFourMemberDao.retrieveYLYSTotalPolylineData(communityId, e.getFiled());
+ temp.setFiled(e.getFiled());
+ ylysTotalPolylineData.add(temp);
+ });
+ statisticsInfo.setYlysTotalPolylineData(ylysTotalPolylineData);
+ return R.ok(statisticsInfo);
+ }
+
+ /**
+ * 杨家坪定制页面-五微服务
+ * @param communityId
+ * @return
+ */
+ @Override
+ public R getFmsBaseData(Long communityId) {
+ BigScreenFmsStatisticsInfo statisticsInfo = comFmsServiceDAO.getFmsBaseData(communityId);
+ //团队类型占比圆形图
+ List<ComFmsTeamVO> preTeamTypeCircleData = comFmsServiceDAO.retrieveTeamTypeCircleData(communityId);
+ List<StatisticsCommVO> teamTypeCircleData = new ArrayList<>();
+ if (!preTeamTypeCircleData.isEmpty()) {
+ Integer teamCount = preTeamTypeCircleData.size();
+ Map<String, List<ComFmsTeamVO>> collect = preTeamTypeCircleData.stream().collect(Collectors.groupingBy(ComFmsTeamVO::getTeamTypeName));
+ for (Map.Entry<String, List<ComFmsTeamVO>> entry : collect.entrySet()) {
+ StatisticsCommVO temp = new StatisticsCommVO();
+ int size = entry.getValue().size();
+ temp.setFiled(entry.getKey());
+ temp.setNum(size);
+ temp.setPercent(new BigDecimal(size)
+ .divide(new BigDecimal(teamCount), 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).setScale(0));
+ teamTypeCircleData.add(temp);
+ }
+ }
+ statisticsInfo.setTeamTypeCircleData(teamTypeCircleData);
+ //微服务新增折线数据
+ List<StatisticsCommVO> serviceAddPolylineData = comFmsServiceDAO.retrieveServiceAddPolylineData(communityId);
+ statisticsInfo.setServiceAddPolylineData(serviceAddPolylineData);
+ //微服务累计折线数据
+ List<StatisticsCommVO> serviceTotalPolylineData = new ArrayList<>();
+ serviceAddPolylineData.forEach(e -> {
+ StatisticsCommVO temp = comFmsServiceDAO.retrieveServiceTotalPolylineData(communityId, e.getFiled());
+ temp.setFiled(e.getFiled());
+ serviceTotalPolylineData.add(temp);
+ });
+ statisticsInfo.setServiceTotalPolylineData(serviceTotalPolylineData);
+ //微调节矛盾类型占比圆形图
+ List<EventVO> preAdjustCircleData = comFmsServiceDAO.retrieveAdjustCircleData(communityId);
+ List<StatisticsCommVO> adjustCircleData = new ArrayList<>();
+ if (!preAdjustCircleData.isEmpty()) {
+ Integer adjustCount = preAdjustCircleData.size();
+ Map<String, List<EventVO>> collect = preAdjustCircleData.stream().collect(Collectors.groupingBy(EventVO::getEventClazz));
+ for (Map.Entry<String, List<EventVO>> entry : collect.entrySet()) {
+ StatisticsCommVO temp = new StatisticsCommVO();
+ int size = entry.getValue().size();
+ temp.setFiled(entry.getKey());
+ temp.setNum(size);
+ temp.setPercent(new BigDecimal(size)
+ .divide(new BigDecimal(adjustCount), 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).setScale(0));
+ adjustCircleData.add(temp);
+ }
+ }
+ statisticsInfo.setAdjustCircleData(adjustCircleData);
+ //新增解决矛盾折线数据
+ List<StatisticsCommVO> adjustAddPolylineData = comFmsServiceDAO.retrieveAdjustAddPolylineData(communityId);
+ statisticsInfo.setAdjustAddPolylineData(adjustAddPolylineData);
+ //累计解决矛盾折线数据
+ List<StatisticsCommVO> adjustTotalPolylineData = new ArrayList<>();
+ adjustAddPolylineData.forEach(e -> {
+ StatisticsCommVO temp = comFmsServiceDAO.retrieveAdjustTotalPolylineData(communityId, e.getFiled());
+ temp.setFiled(e.getFiled());
+ adjustTotalPolylineData.add(temp);
+ });
+ statisticsInfo.setAdjustTotalPolylineData(adjustTotalPolylineData);
+ //微防控防控类型占比圆形图
+ List<EventVO> preControlCircleData = comFmsServiceDAO.retrieveControlCircleData(communityId);
+ List<StatisticsCommVO> controlCircleData = new ArrayList<>();
+ if (!preControlCircleData.isEmpty()) {
+ Integer controlCount = preControlCircleData.size();
+ Map<String, List<EventVO>> collect = preControlCircleData.stream().collect(Collectors.groupingBy(EventVO::getEventClazz));
+ for (Map.Entry<String, List<EventVO>> entry : collect.entrySet()) {
+ StatisticsCommVO temp = new StatisticsCommVO();
+ int size = entry.getValue().size();
+ temp.setFiled(entry.getKey());
+ temp.setNum(size);
+ temp.setPercent(new BigDecimal(size)
+ .divide(new BigDecimal(controlCount), 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).setScale(0));
+ controlCircleData.add(temp);
+ }
+ }
+ statisticsInfo.setControlCircleData(controlCircleData);
+ return R.ok(statisticsInfo);
+ }
+
+ /**
+ * 杨家坪定制页面-微团队展示列表
+ * @param pageBaseDTO
+ * @return
+ */
+ @Override
+ public R pageFmsTeam(PageBaseDTO pageBaseDTO) {
+ Page page = retrievePage(pageBaseDTO);
+ return R.ok(comFmsServiceDAO.pageFmsTeam(page, pageBaseDTO));
+ }
+
+ /**
+ * 杨家坪定制页面-居家养老基础数据
+ * @param communityId
+ * @return
+ */
+ @Override
+ public R getAlarmBaseData(Long communityId) {
+ BigScreenAlarmStatisticsInfo statisticsInfo = comPropertyDao.getAlarmBaseData(communityId);
+ //异常报警新增折线数据
+ List<StatisticsCommVO> abnormalAddPolylineData = comPropertyDao.retrieveAbnormalAddPolylineData(communityId);
+ statisticsInfo.setAbnormalAddPolylineData(abnormalAddPolylineData);
+ //异常报警累计折线数据
+ List<StatisticsCommVO> abnormalTotalPolylineData = new ArrayList<>();
+ abnormalAddPolylineData.forEach(e -> {
+ StatisticsCommVO temp = comPropertyDao.retrieveAbnormalTotalPolylineData(communityId, e.getFiled());
+ temp.setFiled(e.getFiled());
+ abnormalTotalPolylineData.add(temp);
+ });
+ statisticsInfo.setAbnormalTotalPolylineData(abnormalTotalPolylineData);
+ //一键求助服务新增折线数据
+ List<StatisticsCommVO> serviceAddPolylineData = comPropertyDao.retrieveServiceAddPolylineData(communityId);
+ statisticsInfo.setServiceAddPolylineData(serviceAddPolylineData);
+ //一键求助服务累计折线数据
+ List<StatisticsCommVO> serviceTotalPolylineData = new ArrayList<>();
+ serviceAddPolylineData.forEach(e -> {
+ StatisticsCommVO temp = comPropertyDao.retrieveServiceTotalPolylineData(communityId, e.getFiled());
+ temp.setFiled(e.getFiled());
+ serviceTotalPolylineData.add(temp);
+ });
+ statisticsInfo.setServiceTotalPolylineData(serviceTotalPolylineData);
+ return R.ok(statisticsInfo);
+ }
+
+ /**
+ * 杨家坪定制页面-报警记录展示列表
+ * @param pageBaseDTO
+ * @return
+ */
+ @Override
+ public R pageAlarmRecord(PageBaseDTO pageBaseDTO) {
+ Page page = retrievePage(pageBaseDTO);
+ Integer param3 = pageBaseDTO.getParam3();
+ Long communityId = pageBaseDTO.getCommunityId();
+ IPage<ComPropertyAlarmVO> abnormalList = null;
+ switch (param3) {
+ case 1:
+ //待处理异常展示列表
+ abnormalList = comPropertyDao.getAbnormalList(page,2, 0, communityId);
+ break;
+ case 2:
+ //已处理异常展示列表
+ abnormalList = comPropertyDao.getAbnormalList(page,2, 1, communityId);
+ break;
+ case 3:
+ //待服务展示列表
+ abnormalList = comPropertyDao.getAbnormalList(page,1, 0, communityId);
+ break;
+ case 4:
+ //已服务展示列表
+ abnormalList = comPropertyDao.getAbnormalList(page,1, 1, communityId);
+ break;
+ default:
+ break;
+ }
+ return R.ok(abnormalList);
+ }
+
+ /**
+ * 杨家坪定制页面-报警设备点位图
+ * @param communityId
+ * @return
+ */
+ @Override
+ public R getAlarmPointMap(Long communityId) {
+ List<ComPropertyEquipmentVO> list = comPropertyDao.getAlarmPointMapData(communityId);
+ List<EquipmentPointMapDataVO> pointMapDataList = new ArrayList<>();
+ if (!list.isEmpty()) {
+ Map<String, List<ComPropertyEquipmentVO>> collect = list.stream().collect(Collectors.groupingBy(e -> "[" + e.getLatitude() + "," + e.getLongitude() + "]"));
+ for (Map.Entry<String, List<ComPropertyEquipmentVO>> entry : collect.entrySet()) {
+ EquipmentPointMapDataVO pointMapDataVO = new EquipmentPointMapDataVO();
+ List<ComPropertyEquipmentVO> value = entry.getValue();
+ pointMapDataVO.setPosition(entry.getKey());
+ List<ComPropertyEquipmentVO> sortedList = value.stream()
+ .sorted(Comparator.comparing(ComPropertyEquipmentVO::getEquipmentStatus)).collect(Collectors.toList());
+ pointMapDataVO.setEquipments(sortedList);
+ pointMapDataVO.setEquipmentNum(value.size());
+ boolean isRed = value.stream().anyMatch(e -> e.getEquipmentStatus().equals(1));
+ boolean isYellow = value.stream().anyMatch(e -> e.getEquipmentStatus().equals(2));
+ pointMapDataVO.setPointColor(isRed ? 1 : (isYellow ? 2 : 3));
+ pointMapDataList.add(pointMapDataVO);
+ }
+ }
+ return R.ok(pointMapDataList);
+ }
+
+ /**
+ * 杨家坪定制页面-志愿服务
+ * @param communityId
+ * @return
+ */
+ @Override
+ public R getVolunteerBaseData(Long communityId) {
+ BigScreenVolunteerStatisticsInfo statisticsInfo = comMngVolunteerMngDAO.getVolunteerBaseData(communityId);
+ BigScreenVolunteerActStatisticsInfo info = getBigScreenVolunteerActStatisticsInfo(communityId);
+ BeanUtils.copyProperties(info, statisticsInfo);
+ //志愿者统计-组织人数直方图
+ statisticsInfo.setVolunteerOrgHistogram(comMngVolunteerMngDAO.retrieveVolunteerOrgHistogram(communityId));
+ //志愿者服务类型占比圆形图
+ List<ComMngVolunteerMngVO> preVolunteerServiceTypeCircleData = comMngVolunteerMngDAO.retrieveVolunteerServiceTypeCircleData(communityId);
+ List<StatisticsCommVO> volunteerServiceTypeCircleData = new ArrayList<>();
+ if (!preVolunteerServiceTypeCircleData.isEmpty()) {
+ Integer count = preVolunteerServiceTypeCircleData.size();
+ Map<String, List<ComMngVolunteerMngVO>> collect = preVolunteerServiceTypeCircleData.stream().collect(Collectors.groupingBy(ComMngVolunteerMngVO::getServiceTypeName));
+ for (Map.Entry<String, List<ComMngVolunteerMngVO>> entry : collect.entrySet()) {
+ StatisticsCommVO temp = new StatisticsCommVO();
+ int size = entry.getValue().size();
+ temp.setFiled(entry.getKey());
+ temp.setNum(size);
+ temp.setPercent(new BigDecimal(size)
+ .divide(new BigDecimal(count), 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).setScale(0));
+ volunteerServiceTypeCircleData.add(temp);
+ }
+ }
+ statisticsInfo.setVolunteerServiceTypeCircleData(volunteerServiceTypeCircleData);
+ //志愿者年龄段占比圆形图
+ List<StatisticsCommVO> volunteerAgeCircleData = comMngVolunteerMngDAO.retrieveVolunteerAgeCircleData(communityId);
+ int sum = volunteerAgeCircleData.stream().mapToInt(StatisticsCommVO::getNum).sum();
+ volunteerAgeCircleData.forEach(e -> {
+ if (sum != 0) {
+ e.setPercent(new BigDecimal(e.getNum())
+ .divide(new BigDecimal(sum), 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).setScale(0));
+ } else {
+ e.setPercent(new BigDecimal(0));
+ }
+ });
+ statisticsInfo.setVolunteerAgeCircleData(volunteerAgeCircleData);
+ //志愿者技能占比圆形图
+ List<ComMngVolunteerMngVO> preVolunteerSkillCircleData = comMngVolunteerMngDAO.retrieveVolunteerSkillCircleData(communityId);
+ List<StatisticsCommVO> volunteerSkillCircleData = new ArrayList<>();
+ if (!preVolunteerSkillCircleData.isEmpty()) {
+ Integer count = preVolunteerSkillCircleData.size();
+ Map<String, List<ComMngVolunteerMngVO>> collect = preVolunteerSkillCircleData.stream().collect(Collectors.groupingBy(ComMngVolunteerMngVO::getSkillName));
+ for (Map.Entry<String, List<ComMngVolunteerMngVO>> entry : collect.entrySet()) {
+ StatisticsCommVO temp = new StatisticsCommVO();
+ int size = entry.getValue().size();
+ temp.setFiled(entry.getKey());
+ temp.setNum(size);
+ temp.setPercent(new BigDecimal(size)
+ .divide(new BigDecimal(count), 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).setScale(0));
+ volunteerSkillCircleData.add(temp);
+ }
+ }
+ statisticsInfo.setVolunteerSkillCircleData(volunteerSkillCircleData);
+ //志愿者组织数据
+ List<VolunteerOrgRelationVO> volunteerOrgRelationList = new ArrayList<>();
+ List<ComMngVolunteerMngVO> volunteerData = comMngVolunteerMngDAO.selectVolunteerByCommunityId(communityId);
+ if (!volunteerData.isEmpty()) {
+ Map<String, List<ComMngVolunteerMngVO>> collect = volunteerData.stream().collect(Collectors.groupingBy(ComMngVolunteerMngVO::getOrgName));
+ for (Map.Entry<String, List<ComMngVolunteerMngVO>> entry : collect.entrySet()) {
+ VolunteerOrgRelationVO relationVO = new VolunteerOrgRelationVO();
+ relationVO.setOrg(entry.getKey());
+ relationVO.setOrgPersonNum(entry.getValue().size());
+ relationVO.setVolunteers(entry.getValue());
+ volunteerOrgRelationList.add(relationVO);
+ }
+ }
+ statisticsInfo.setVolunteerOrgRelationList(volunteerOrgRelationList);
+ return R.ok(statisticsInfo);
+ }
+
+ /**
+ * 金沙定制页面-志愿线展示列表
+ * @param pageBaseDTO
+ * @return
+ */
+ @Override
+ public R pagePartyBuildIngMicroWish(PageBaseDTO pageBaseDTO) {
+ Page page = retrievePage(pageBaseDTO);
+ return R.ok(comActMicroWishDAO.pagePartyBuildIngMicroWish(page, pageBaseDTO));
+ }
+
+ /**
+ * 金沙定制页面-四长四员解决问题展示列表
+ * @param pageBaseDTO
+ * @return
+ */
+ @Override
+ public R pageFourMemberResolve(PageBaseDTO pageBaseDTO) {
+ Page page = retrievePage(pageBaseDTO);
+ return R.ok(comActMicroWishDAO.pageFourMemberResolve(page, pageBaseDTO));
+ }
+
+ /**
+ * 金沙定制页面-四长四员院落议事展示列表
+ * @param pageBaseDTO
+ * @return
+ */
+ @Override
+ public R pageCourtyardDiscuss(PageBaseDTO pageBaseDTO) {
+ Page page = retrievePage(pageBaseDTO);
+ return R.ok(comActDiscussDAO.pageCourtyardDiscuss(page, pageBaseDTO));
+ }
+
+ /**
+ * 金沙定制页面-院落议事
+ * @param communityId
+ * @return
+ */
+ @Override
+ public R getCourtyardBaseData(Long communityId) {
+ BigScreenCourtyardStatisticsInfo statisticsInfo = comActDiscussDAO.getCourtyardBaseData(communityId);
+ //新增院落议事数
+ List<StatisticsCommVO> discussAddPolylineData = comActFourMemberDao.retrieveYLYSAddPolylineData(communityId);
+ statisticsInfo.setDiscussAddPolylineData(discussAddPolylineData);
+ //累计院落议事数
+ List<StatisticsCommVO> discussTotalPolylineData = new ArrayList<>();
+ discussAddPolylineData.forEach(e -> {
+ StatisticsCommVO temp = comActFourMemberDao.retrieveYLYSTotalPolylineData(communityId, e.getFiled());
+ temp.setFiled(e.getFiled());
+ discussTotalPolylineData.add(temp);
+ });
+ statisticsInfo.setDiscussTotalPolylineData(discussTotalPolylineData);
+ return R.ok(statisticsInfo);
}
private Page retrievePage(PageBaseDTO pageBaseDTO) {
@@ -732,4 +1230,16 @@
}
return page;
}
+ public List<BigScreenActivityLine> getPastMonth(){
+ List<BigScreenActivityLine> bigScreenActivityLines=new ArrayList<>();
+ for(int i=11;i>=0;i--){
+ BigScreenActivityLine bigScreenActivityLine=new BigScreenActivityLine();
+ String date=DateUtils.getDateFormatString(DateUtils.addMonth(new Date(),-i),"MM");
+ String year=DateUtils.getDateFormatString(DateUtils.addMonth(new Date(),-i),"yyyy");
+ bigScreenActivityLine.setX(date);
+ bigScreenActivityLine.setYear(year);
+ bigScreenActivityLines.add(bigScreenActivityLine);
+ }
+ return bigScreenActivityLines;
+ }
}
--
Gitblit v1.7.1