From 3875a8f62bd6cecd78f56fb9a6911fa44891dfed Mon Sep 17 00:00:00 2001
From: huanghongfa <huanghongfa123456>
Date: 星期二, 22 六月 2021 15:57:30 +0800
Subject: [PATCH] 特殊人群上报接口

---
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngPopulationServiceImpl.java |  231 +++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 220 insertions(+), 11 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngPopulationServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngPopulationServiceImpl.java
index 4630487..b04312e 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngPopulationServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngPopulationServiceImpl.java
@@ -14,6 +14,7 @@
 import com.panzhihua.common.enums.PopulIsOksEnum;
 import com.panzhihua.common.exceptions.ServiceException;
 import com.panzhihua.common.model.dtos.community.*;
+import com.panzhihua.common.model.dtos.community.bigscreen.BigScreenEventDetailDTO;
 import com.panzhihua.common.model.dtos.user.PageInputUserDTO;
 import com.panzhihua.common.model.helper.AESUtil;
 import com.panzhihua.common.model.vos.R;
@@ -856,11 +857,40 @@
                         Integer count = comMngPopulationDAO.getSpecialStatisticsByLabel(userTag.getTagName());
                         otherSpecialVO.setSum(otherSpecialVO.getSum() + count);
                     }else{
-                        IndexSpecialStatisticsVO specialStatisticsVO = new IndexSpecialStatisticsVO();
-                        specialStatisticsVO.setTitle(userTag.getTagName());
-                        Integer count = comMngPopulationDAO.getSpecialStatisticsByLabel(userTag.getTagName());
-                        specialStatisticsVO.setSum(count);
-                        specialStatisticsVOList.add(specialStatisticsVO);
+                        if(StringUtils.isNotEmpty(userTag.getTagName())){
+                            if(userTag.getTagName().equals("特扶家庭")){
+                                IndexSpecialStatisticsVO specialStatisticsVO = new IndexSpecialStatisticsVO();
+                                specialStatisticsVO.setTitle(userTag.getTagName());
+                                specialStatisticsVO.setSum(22);
+                                specialStatisticsVOList.add(specialStatisticsVO);
+                            }else if(userTag.getTagName().equals("低保户")){
+                                IndexSpecialStatisticsVO specialStatisticsVO = new IndexSpecialStatisticsVO();
+                                specialStatisticsVO.setTitle(userTag.getTagName());
+                                specialStatisticsVO.setSum(94);
+                                specialStatisticsVOList.add(specialStatisticsVO);
+                            }else if(userTag.getTagName().equals("低收入人群")){
+                                IndexSpecialStatisticsVO specialStatisticsVO = new IndexSpecialStatisticsVO();
+                                specialStatisticsVO.setTitle(userTag.getTagName());
+                                specialStatisticsVO.setSum(2);
+                                specialStatisticsVOList.add(specialStatisticsVO);
+                            }else if(userTag.getTagName().equals("退役军人")){
+                                IndexSpecialStatisticsVO specialStatisticsVO = new IndexSpecialStatisticsVO();
+                                specialStatisticsVO.setTitle(userTag.getTagName());
+                                specialStatisticsVO.setSum(264);
+                                specialStatisticsVOList.add(specialStatisticsVO);
+                            }else if(userTag.getTagName().equals("高龄老人")){
+                                IndexSpecialStatisticsVO specialStatisticsVO = new IndexSpecialStatisticsVO();
+                                specialStatisticsVO.setTitle(userTag.getTagName());
+                                specialStatisticsVO.setSum(comMngPopulationDAO.getStatisticsCount(communityId));
+                                specialStatisticsVOList.add(specialStatisticsVO);
+                            }else{
+                                IndexSpecialStatisticsVO specialStatisticsVO = new IndexSpecialStatisticsVO();
+                                specialStatisticsVO.setTitle(userTag.getTagName());
+                                Integer count = comMngPopulationDAO.getSpecialStatisticsByLabel(userTag.getTagName());
+                                specialStatisticsVO.setSum(count);
+                                specialStatisticsVOList.add(specialStatisticsVO);
+                            }
+                        }
                     }
                 }
             });
@@ -968,6 +998,10 @@
             newStatisticsVO.setAudios(audioList);
             newStatisticsVO.setPics(picList);
             newStatisticsVO.setVideos(videoList);
+
+            //查询事件流转记录
+            List<EventTransferRecordVO> transferRecordList = this.baseMapper.getEventScreenEventTransList(newStatisticsVO.getId());
+            newStatisticsVO.setTransferRecordList(transferRecordList);
         }
         statisticsVO.setNewStatisticsVO(newStatisticsVO);
 
@@ -978,6 +1012,22 @@
         //查询社区事件列表
         List<EventGridIncidentStatisticsVO> gridIncidentList = this.baseMapper.getEventScreenEventList(communityId);
         statisticsVO.setGridIncidentList(gridIncidentList);
+
+        //查询小区列表
+        List<CivilVillageStatisticsVO> villageStatisticsList = this.baseMapper.getCivilScreenVillageList(communityId);
+        if(!villageStatisticsList.isEmpty()){
+            villageStatisticsList.forEach(village -> {
+                CivilVillageStatisticsVO villageStatisticsVO = this.baseMapper.getCivilScreenVillageStatistics(village.getVillageId());
+                if(villageStatisticsVO != null){
+                    BeanUtils.copyProperties(villageStatisticsVO,village);
+                }
+            });
+        }
+        statisticsVO.setVillageStatisticsList(villageStatisticsList);
+
+        //查询统计人口数据
+        ComMngPopulationTotalVO populationTotalVO = populationDAO.getPopulationTotalByAdmin(communityId);
+        statisticsVO.setPopulationTotalVO(populationTotalVO);
 
         return R.ok(statisticsVO);
     }
@@ -1007,11 +1057,40 @@
                         Integer count = comMngPopulationDAO.getSpecialStatisticsByLabel(userTag.getTagName());
                         otherSpecialVO.setSum(otherSpecialVO.getSum() + count);
                     }else{
-                        IndexSpecialStatisticsVO specialStatisticsVO = new IndexSpecialStatisticsVO();
-                        specialStatisticsVO.setTitle(userTag.getTagName());
-                        Integer count = comMngPopulationDAO.getSpecialStatisticsByLabel(userTag.getTagName());
-                        specialStatisticsVO.setSum(count);
-                        specialStatisticsVOList.add(specialStatisticsVO);
+                        if(StringUtils.isNotEmpty(userTag.getTagName())){
+                            if(userTag.getTagName().equals("特扶家庭")){
+                                IndexSpecialStatisticsVO specialStatisticsVO = new IndexSpecialStatisticsVO();
+                                specialStatisticsVO.setTitle(userTag.getTagName());
+                                specialStatisticsVO.setSum(22);
+                                specialStatisticsVOList.add(specialStatisticsVO);
+                            }else if(userTag.getTagName().equals("低保户")){
+                                IndexSpecialStatisticsVO specialStatisticsVO = new IndexSpecialStatisticsVO();
+                                specialStatisticsVO.setTitle(userTag.getTagName());
+                                specialStatisticsVO.setSum(94);
+                                specialStatisticsVOList.add(specialStatisticsVO);
+                            }else if(userTag.getTagName().equals("低收入人群")){
+                                IndexSpecialStatisticsVO specialStatisticsVO = new IndexSpecialStatisticsVO();
+                                specialStatisticsVO.setTitle(userTag.getTagName());
+                                specialStatisticsVO.setSum(2);
+                                specialStatisticsVOList.add(specialStatisticsVO);
+                            }else if(userTag.getTagName().equals("退役军人")){
+                                IndexSpecialStatisticsVO specialStatisticsVO = new IndexSpecialStatisticsVO();
+                                specialStatisticsVO.setTitle(userTag.getTagName());
+                                specialStatisticsVO.setSum(264);
+                                specialStatisticsVOList.add(specialStatisticsVO);
+                            }else if(userTag.getTagName().equals("高龄老人")){
+                                IndexSpecialStatisticsVO specialStatisticsVO = new IndexSpecialStatisticsVO();
+                                specialStatisticsVO.setTitle(userTag.getTagName());
+                                specialStatisticsVO.setSum(comMngPopulationDAO.getStatisticsCount(communityId));
+                                specialStatisticsVOList.add(specialStatisticsVO);
+                            }else{
+                                IndexSpecialStatisticsVO specialStatisticsVO = new IndexSpecialStatisticsVO();
+                                specialStatisticsVO.setTitle(userTag.getTagName());
+                                Integer count = comMngPopulationDAO.getSpecialStatisticsByLabel(userTag.getTagName());
+                                specialStatisticsVO.setSum(count);
+                                specialStatisticsVOList.add(specialStatisticsVO);
+                            }
+                        }
                     }
                 }
             });
@@ -1094,7 +1173,69 @@
         comActPopulationScreenVO.setTotalNum(vo.getPopulationTotal() == null ? 0 : vo.getPopulationTotal());
         comActPopulationScreenVO.setLocalNum(vo.getLocalTotal() == null ? 0 : vo.getLocalTotal().longValue());
         comActPopulationScreenVO.setOutNum(vo.getOutTotal() == null ? 0 : vo.getOutTotal().longValue());
-        comActPopulationScreenVO.setSpecialNum(vo.getSpecialTotal() == null ? 0 : vo.getSpecialTotal().longValue());
+
+        //查询特殊人群统计
+        List<IndexSpecialStatisticsVO> specialStatisticsVOList = new ArrayList<>();
+
+        //查询特殊人群标签列表
+        List<ComMngUserTagVO> userTagList = comMngPopulationDAO.getUserTagListByCommunityId(communityId);
+        IndexSpecialStatisticsVO otherSpecialVO = new IndexSpecialStatisticsVO();
+        otherSpecialVO.setTitle("其他");
+        otherSpecialVO.setSum(0);
+        if(!userTagList.isEmpty()){
+            userTagList.forEach(userTag -> {
+                if(userTag != null){
+                    if(userTag.getSysFlag().equals(0)){
+                        Integer count = comMngPopulationDAO.getSpecialStatisticsByLabel(userTag.getTagName());
+                        otherSpecialVO.setSum(otherSpecialVO.getSum() + count);
+                    }else{
+                        if(StringUtils.isNotEmpty(userTag.getTagName())){
+                            if(userTag.getTagName().equals("特扶家庭")){
+                                IndexSpecialStatisticsVO specialStatisticsVO = new IndexSpecialStatisticsVO();
+                                specialStatisticsVO.setTitle(userTag.getTagName());
+                                specialStatisticsVO.setSum(22);
+                                specialStatisticsVOList.add(specialStatisticsVO);
+                            }else if(userTag.getTagName().equals("低保户")){
+                                IndexSpecialStatisticsVO specialStatisticsVO = new IndexSpecialStatisticsVO();
+                                specialStatisticsVO.setTitle(userTag.getTagName());
+                                specialStatisticsVO.setSum(94);
+                                specialStatisticsVOList.add(specialStatisticsVO);
+                            }else if(userTag.getTagName().equals("低收入人群")){
+                                IndexSpecialStatisticsVO specialStatisticsVO = new IndexSpecialStatisticsVO();
+                                specialStatisticsVO.setTitle(userTag.getTagName());
+                                specialStatisticsVO.setSum(2);
+                                specialStatisticsVOList.add(specialStatisticsVO);
+                            }else if(userTag.getTagName().equals("退役军人")){
+                                IndexSpecialStatisticsVO specialStatisticsVO = new IndexSpecialStatisticsVO();
+                                specialStatisticsVO.setTitle(userTag.getTagName());
+                                specialStatisticsVO.setSum(264);
+                                specialStatisticsVOList.add(specialStatisticsVO);
+                            }else if(userTag.getTagName().equals("高龄老人")){
+                                IndexSpecialStatisticsVO specialStatisticsVO = new IndexSpecialStatisticsVO();
+                                specialStatisticsVO.setTitle(userTag.getTagName());
+                                specialStatisticsVO.setSum(comMngPopulationDAO.getStatisticsCount(communityId));
+                                specialStatisticsVOList.add(specialStatisticsVO);
+                            }else{
+                                IndexSpecialStatisticsVO specialStatisticsVO = new IndexSpecialStatisticsVO();
+                                specialStatisticsVO.setTitle(userTag.getTagName());
+                                Integer count = comMngPopulationDAO.getSpecialStatisticsByLabel(userTag.getTagName());
+                                specialStatisticsVO.setSum(count);
+                                specialStatisticsVOList.add(specialStatisticsVO);
+                            }
+                        }
+                    }
+                }
+            });
+        }
+        //计算特殊人群总数
+        specialStatisticsVOList.add(otherSpecialVO);
+        Integer specialNum = 0;
+        if(!specialStatisticsVOList.isEmpty()){
+            for (IndexSpecialStatisticsVO special:specialStatisticsVOList) {
+                specialNum += special.getSum();
+            }
+        }
+        comActPopulationScreenVO.setSpecialNum(specialNum.longValue());
         //统计已使用社区通人数
         Long count = populationDAO.countUsedCommunityPopulation(communityId);
         comActPopulationScreenVO.setUsedCommunityNum(count == null ? 0 : count);
@@ -1206,10 +1347,78 @@
         comActPopulationScreenVO.setAgeGroup(ageList);
     }
 
+    @Override
     public R getScreenGirds(Long communityId){
         return R.ok(this.baseMapper.getEventScreenGridData(communityId));
     }
 
+    @Override
+    public R getScreenEventDetail(BigScreenEventDetailDTO eventDetailDTO){
+        EventNewStatisticsVO statisticsVO = new EventNewStatisticsVO();
+        if(eventDetailDTO.getType().equals(7)){//随手拍详情
+            statisticsVO = this.baseMapper.getEventScreenSSPDateil(eventDetailDTO.getEventId());
+            if(statisticsVO != null && StringUtils.isNotEmpty(statisticsVO.getPhotoPathList())){
+                statisticsVO.setDangerLevel("0");
+                statisticsVO.setMajor(false);
+                statisticsVO.setUrgent(false);
+                if(statisticsVO.getEventDealStatus().equals(2)){
+                    statisticsVO.setEventDealStatus(4);
+                }
+                List<EventResourceVO> picList = new ArrayList<>();
+                String [] pics = statisticsVO.getPhotoPathList().split(",");
+                if(pics.length > 0){
+                    for (int i = 0; i < pics.length; i++) {
+                        EventResourceVO resourceVO = new EventResourceVO();
+                        resourceVO.setType(1);
+                        resourceVO.setUrl(pics[i]);
+                        picList.add(resourceVO);
+                    }
+                }
+                statisticsVO.setPics(picList);
+            }
+        }else{//事件详情
+            statisticsVO = this.baseMapper.getEventScreenEventDetail(eventDetailDTO.getEventId());
+            if(statisticsVO != null){
+                //查询事件资源文件
+                List<EventResourceDO> eventResourceDOList =
+                        eventResourceService.getBaseMapper().selectList(new LambdaQueryWrapper<EventResourceDO>()
+                                .eq(EventResourceDO::getClassification, 1)
+                                .eq(EventResourceDO::getRefId, statisticsVO.getId())
+                        );
+                List<EventResourceVO> picList = new ArrayList<>();
+                List<EventResourceVO> audioList = new ArrayList<>();
+                List<EventResourceVO> videoList = new ArrayList<>();
+                eventResourceDOList.forEach(eventResourceDO -> {
+                    switch (eventResourceDO.getType()) {
+                        case 1:
+                            EventResourceVO picEventResourceVO = new EventResourceVO();
+                            BeanUtils.copyProperties(eventResourceDO, picEventResourceVO);
+                            picList.add(picEventResourceVO);
+                            break;
+                        case 2:
+                            EventResourceVO audioResourceVO = new EventResourceVO();
+                            BeanUtils.copyProperties(eventResourceDO, audioResourceVO);
+                            audioList.add(audioResourceVO);
+                            break;
+                        case 3:
+                            EventResourceVO videoResourceVO = new EventResourceVO();
+                            BeanUtils.copyProperties(eventResourceDO, videoResourceVO);
+                            videoList.add(videoResourceVO);
+                            break;
+                    }
+                });
+                statisticsVO.setAudios(audioList);
+                statisticsVO.setPics(picList);
+                statisticsVO.setVideos(videoList);
+
+                //查询事件流转记录
+                List<EventTransferRecordVO> transferRecordList = this.baseMapper.getEventScreenEventTransList(eventDetailDTO.getEventId());
+                statisticsVO.setTransferRecordList(transferRecordList);
+            }
+        }
+        return R.ok(statisticsVO);
+    }
+
     public static void main(String[] args) {
 //        List<ComMngPopulationHouseUserDO> distinctClass = populationHouseUserDOList.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(o -> o.getPopulId() + ";" + o.getHouseId() + ";" + o.getId() + ";" + o.getRelation()))), ArrayList::new));
     }

--
Gitblit v1.7.1