lidongdong
2024-06-04 b3ad0200bb7dc1d9c2bf75edb14de3f4fde2c40d
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)){