From b3ad0200bb7dc1d9c2bf75edb14de3f4fde2c40d Mon Sep 17 00:00:00 2001
From: lidongdong <1459917685@qq.com>
Date: 星期二, 04 六月 2024 14:02:14 +0800
Subject: [PATCH] 花城 议事投票评论提交报错

---
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActNeighborCircleServiceImpl.java |   57 ++++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 50 insertions(+), 7 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActNeighborCircleServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActNeighborCircleServiceImpl.java
index efb913b..08bd230 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActNeighborCircleServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActNeighborCircleServiceImpl.java
@@ -1,5 +1,6 @@
 package com.panzhihua.service_community.service.impl;
 
+import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.collection.ListUtil;
 import cn.hutool.core.util.PageUtil;
 import cn.hutool.core.collection.CollUtil;
@@ -14,6 +15,7 @@
 import com.panzhihua.common.model.dtos.neighbor.*;
 import com.panzhihua.common.model.vos.PageVO;
 import com.panzhihua.common.model.vos.R;
+import com.panzhihua.common.model.vos.common.PbCheckUnitStatisticsVo;
 import com.panzhihua.common.model.vos.neighbor.*;
 import com.panzhihua.common.model.vos.user.AdministratorsUserVO;
 import com.panzhihua.common.service.user.UserService;
@@ -37,6 +39,7 @@
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
+import java.math.BigDecimal;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -1151,7 +1154,8 @@
     }
 
     @Override
-    public R institutionalUnitServiceAnalysis(Integer year, Integer type, Integer range, Long communityId,Integer page,Integer size,String belongTo,Long unitId) {
+    public R institutionalUnitServiceAnalysis(Integer year, Integer type, Integer range, Long communityId,
+                                              Integer page,Integer size,String belongTo,Long unitId,String searchContent) {
         ActivityAnalysisVO activityVO=new ActivityAnalysisVO();
         String beginTime=null;
         String endTime=null;
@@ -1212,8 +1216,8 @@
             }
         }
         //获取党员活动统计数据
-        List<PartyMemberAnalysisVO> partyMemberAnalysisVOS = comActNeighborCircleDAO.institutionalPartyMemberServiceAnalysis(beginTime, endTime, belongTo,communityId,unitId);
-        List<PartyMemberAnalysisVO> partyMemberAnalysisVOS1 = comActNeighborCircleDAO.institutionalPartyMemberActAnalysis(beginTime, endTime, belongTo,communityId,unitId);
+        List<PartyMemberAnalysisVO> partyMemberAnalysisVOS = comActNeighborCircleDAO.institutionalPartyMemberServiceAnalysis(beginTime, endTime, belongTo,communityId,unitId,searchContent);
+        List<PartyMemberAnalysisVO> partyMemberAnalysisVOS1 = comActNeighborCircleDAO.institutionalPartyMemberActAnalysis(beginTime, endTime, belongTo,communityId,unitId,searchContent);
         if (partyMemberAnalysisVOS1.size()>0){
             for (PartyMemberAnalysisVO vo : partyMemberAnalysisVOS1) {
                 if (ObjectUtils.isNotEmpty(vo)){
@@ -1242,7 +1246,11 @@
             List<NewFightNeedProblemClaim> inventories = newFightNeedProblemClaimMapper.selectList(wrapper);
             Map<String, Long> collectMap = inventories.stream()
                     .collect(Collectors.groupingBy(NewFightNeedProblemClaim::getTaskId, Collectors.counting()));
-            long sum = 0L;
+            long sum = 0l;
+            if(unitVO.getAwardSum()!=null || unitVO.getAwardSum()!=0l )
+            {
+                sum=unitVO.getAwardSum();
+            }
             //任务id集合
             List<String> taskIds = inventories.stream().map(NewFightNeedProblemClaim::getTaskId).distinct().collect(Collectors.toList());
             for (String taskId : taskIds) {
@@ -1262,7 +1270,13 @@
             LambdaQueryWrapper<NewFightNeedProblemClaim> wrapper = new LambdaQueryWrapper<>();
             wrapper.eq(NewFightNeedProblemClaim::getUserId,userId);
             List<NewFightNeedProblemClaim> newFightNeedProblemInventories = newFightNeedProblemClaimMapper.selectList(wrapper);
-            long sumAward = 0L;
+            long sumAward = 0l;
+
+            if(memberAnalysisVO.getPartyCount()!=null || memberAnalysisVO.getPartyCount()!=0l )
+            {
+                sumAward=memberAnalysisVO.getPartyCount();
+            }
+
             for (NewFightNeedProblemClaim inventory : newFightNeedProblemInventories) {
                 String taskId = inventory.getTaskId();
                 NewFightNeedProblemInventory newFightNeedProblemInventory = newFightNeedProblemInventoryMapper.selectById(taskId);
@@ -1327,13 +1341,21 @@
                 //按时长排序
                 ListUtil.sortByProperty(unitActivityAnalysisVOS, "serviceTime");
                 ListUtil.sortByProperty(partyMemberAnalysisVOS, "serviceTime");
+
+                ListUtil.reverse(unitActivityAnalysisVOS);
+                ListUtil.reverse(partyMemberAnalysisVOS);
+
             }else if (type.equals(2)){
                 //按次数排序
                 ListUtil.sortByProperty(unitActivityAnalysisVOS, "serviceTimes");
                 ListUtil.sortByProperty(partyMemberAnalysisVOS, "serviceTimes");
+
+                ListUtil.reverse(unitActivityAnalysisVOS);
+                ListUtil.reverse(partyMemberAnalysisVOS);
             }else if(type.equals(3)){
                 //按积分排序
                 ListUtil.sortByProperty(unitActivityAnalysisVOS,"awardSum");
+                ListUtil.reverse(unitActivityAnalysisVOS);
              //   ListUtil.sortByProperty(unitActivityAnalysisVOS,"");
             }
         }
@@ -1358,6 +1380,27 @@
         }
         activityVO.setUnitList(unitPage);
         activityVO.setPartyMemberList(memberPage);
+
+        //党员数据 聚合
+        Map<String, Long> map = new HashMap<>();
+        partyMemberAnalysisVOS.forEach(vo->{
+            String name = vo.getBelongTo();
+            Long time = Long.valueOf(vo.getServiceTime());
+            if (map.containsKey(name)) {
+                time += map.get(name);
+            }
+            map.put(name, time);
+        });
+        if(CollectionUtil.isNotEmpty(map)){
+            List<PbCheckUnitStatisticsVo> list = new ArrayList<>();
+            map.keySet().forEach(vo->{
+                PbCheckUnitStatisticsVo dto = new PbCheckUnitStatisticsVo();
+                dto.setBelongTo(vo);
+                dto.setServiceTime(map.get(vo));
+                list.add(dto);
+            });
+            activityVO.setGroupPartyCount(list);
+        }
         return R.ok(activityVO);
 
     }
@@ -1466,8 +1509,8 @@
             endTime=year.toString().concat("-12-31");
         }
         //获取党员活动统计数据
-        List<PartyMemberAnalysisVO> partyMemberAnalysisVOS = comActNeighborCircleDAO.institutionalPartyMemberServiceAnalysis(beginTime, endTime, belongTo,communityId,unitId);
-        List<PartyMemberAnalysisVO> partyMemberAnalysisVOS1 = comActNeighborCircleDAO.institutionalPartyMemberActAnalysis(beginTime, endTime, belongTo,communityId,unitId);
+        List<PartyMemberAnalysisVO> partyMemberAnalysisVOS = comActNeighborCircleDAO.institutionalPartyMemberServiceAnalysis(beginTime, endTime, belongTo,communityId,unitId,null);
+        List<PartyMemberAnalysisVO> partyMemberAnalysisVOS1 = comActNeighborCircleDAO.institutionalPartyMemberActAnalysis(beginTime, endTime, belongTo,communityId,unitId,null);
         if (partyMemberAnalysisVOS1.size()>0){
             for (PartyMemberAnalysisVO vo : partyMemberAnalysisVOS1) {
                 if (ObjectUtils.isNotEmpty(vo)){

--
Gitblit v1.7.1