springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActNeighborCircleServiceImpl.java
@@ -1202,7 +1202,6 @@
            List<ServiceDetailStaticsVO> serviceDetailStaticsVOList=this.baseMapper.selectServiceDetailListForPersonal(checkUnitId, serviceStaticDTO.getPhone(),
                    serviceStaticDTO.getYear(), serviceStaticDTO.getServiceType());
            if(serviceStaticDTO.getServiceType()==null  || serviceStaticDTO.getServiceType()==1)
            {
                //获取新需求服务列表
@@ -1269,6 +1268,9 @@
        List<UnitActivityAnalysisVO> unitActivityAnalysisVOS = comActNeighborCircleDAO.institutionalUnitServiceAnalysis(beginTime, endTime, belongTo,communityId);
        //获取单位活动统计数据(活动)
        List<UnitActivityAnalysisVO> unitActivityAnalysisVOS1 = comActNeighborCircleDAO.institutionalUnitActivityAnalysis(beginTime, endTime, belongTo,communityId);
        //获取新双挣双评清单任务
        List<UnitActivityAnalysisVO> newTaskList=comActNeighborCircleDAO.getNewTaskList(beginTime, endTime, belongTo,communityId);
        if (unitActivityAnalysisVOS.size()>0){
            for (UnitActivityAnalysisVO unitActivityAnalysisVO : unitActivityAnalysisVOS){
                if (ObjectUtils.isNotEmpty(unitActivityAnalysisVO)){
@@ -1283,6 +1285,28 @@
                }
            }
        }
        if (newTaskList.size()>0){
            for (UnitActivityAnalysisVO item : newTaskList){
                if (ObjectUtils.isNotEmpty(item)){
                    if (ObjectUtils.isNotEmpty(item.getUnitId())){
                        //设置单位名称
                        item.setUnitName(comActDAO.selectUnitName(item.getUnitId()));
                        //统计活动表中的活动信息
                    }
                    if (ObjectUtils.isNotEmpty(item.getCommunityId())){
                        item.setCommunityName(comActDAO.selectById(item.getCommunityId()).getName());
                    }
                    double time=(Double.valueOf(item.getServiceTime())/3600000);
                    DecimalFormat df = new DecimalFormat("#.##");
                    String formattedNumber = df.format(time);
                    double result = Double.parseDouble(formattedNumber);
                    item.setServiceTime(result);
                }
            }
        }
        //活动表数据处理
        if (unitActivityAnalysisVOS1.size()>0){
            for (UnitActivityAnalysisVO vo : unitActivityAnalysisVOS1) {
@@ -1292,7 +1316,7 @@
                        Map<String, Integer> param = alreadyAnalysis(vo.getUnitId(), unitActivityAnalysisVOS);
                        if (param.get("flag")==1){
                            //已有数据,将时长,次数相加
                            Integer serviceTime = vo.getServiceTime();
                            Double serviceTime = vo.getServiceTime();
                            Integer serviceTimes = vo.getServiceTimes();
                            unitActivityAnalysisVOS.get(param.get("index")).setServiceTime(unitActivityAnalysisVOS.get(param.get("index")).getServiceTime()+serviceTime);
                            unitActivityAnalysisVOS.get(param.get("index")).setServiceTimes(unitActivityAnalysisVOS.get(param.get("index")).getServiceTimes()+serviceTimes);
@@ -1313,16 +1337,60 @@
                }
            }
        }
        if (newTaskList.size()>0){
            for (UnitActivityAnalysisVO item : newTaskList){
                if (ObjectUtils.isNotEmpty(item)){
                    if (ObjectUtils.isNotEmpty(item.getUnitId())){
                        //判断邻里圈统计中是否已有该单位数据
                        Map<String, Integer> param = alreadyAnalysis(item.getUnitId(), unitActivityAnalysisVOS);
                        if (param.get("flag")==1){
                            //已有数据,将时长,次数相加
                            Double serviceTime = unitActivityAnalysisVOS.get(param.get("index")).getServiceTime()+item.getServiceTime();
                            Integer serviceTimes = item.getServiceTimes();
                            double time=(Double.valueOf(serviceTime)/3600000);
                            DecimalFormat df = new DecimalFormat("#.##");
                            String formattedNumber = df.format(time);
                            double result = Double.parseDouble(formattedNumber);
                            item.setServiceTime(result);
                            unitActivityAnalysisVOS.get(param.get("index")).setServiceTime(result);
                            unitActivityAnalysisVOS.get(param.get("index")).setServiceTimes(unitActivityAnalysisVOS.get(param.get("index")).getServiceTimes()+serviceTimes);
                        }else {
                            //新数据,获取单位,社区名
                            item.setUnitName(comActDAO.selectUnitName(item.getUnitId()));
                            if (ObjectUtils.isNotEmpty(item.getCommunityId()))
                            {
                                ComActDO actDO=comActDAO.selectById(item.getCommunityId());
                                if(actDO!=null && !StringUtils.isEmpty(actDO.getName()))
                                {
                                    item.setCommunityName(actDO.getName());
                                }
                            }
                            unitActivityAnalysisVOS.add(item);
                        }
                    }
                }
            }
        }
        //获取党员活动统计数据
        List<PartyMemberAnalysisVO> partyMemberAnalysisVOS = comActNeighborCircleDAO.institutionalPartyMemberServiceAnalysis(beginTime, endTime, belongTo,communityId,unitId,searchContent);
        List<PartyMemberAnalysisVO> partyMemberAnalysisVOS1 = comActNeighborCircleDAO.institutionalPartyMemberActAnalysis(beginTime, endTime, belongTo,communityId,unitId,searchContent);
        //获取新双挣双评清单任务
        List<PartyMemberAnalysisVO> newPartyMemberList = comActNeighborCircleDAO.getNewPartyMemberTaskList(beginTime, endTime, belongTo,communityId,unitId,searchContent);
        if (partyMemberAnalysisVOS1.size()>0){
            for (PartyMemberAnalysisVO vo : partyMemberAnalysisVOS1) {
                if (ObjectUtils.isNotEmpty(vo)){
                    if (ObjectUtils.isNotEmpty(vo.getMemberId())){
                        Map<String, Integer> param = memberAlreadyAnalysis(vo.getMemberId(), partyMemberAnalysisVOS);
                        if (param.get("flag")==1){
                            Integer serviceTime = vo.getServiceTime();
                            Double serviceTime = vo.getServiceTime();
                            Integer serviceTimes = vo.getServiceTimes();
                            partyMemberAnalysisVOS.get(param.get("index")).setServiceTime(partyMemberAnalysisVOS.get(param.get("index")).getServiceTime()+serviceTime);
                            partyMemberAnalysisVOS.get(param.get("index")).setServiceTimes(partyMemberAnalysisVOS.get(param.get("index")).getServiceTimes()+serviceTimes);
@@ -1333,6 +1401,40 @@
                }
            }
        }
        if (newPartyMemberList.size()>0){
            for (PartyMemberAnalysisVO item : newPartyMemberList)
            {
                if (ObjectUtils.isNotEmpty(item)){
                    if (ObjectUtils.isNotEmpty(item.getMemberId())){
                        Map<String, Integer> param = memberAlreadyAnalysis(item.getMemberId(), partyMemberAnalysisVOS);
                        if (param.get("flag")==1){
                            Double serviceTime = partyMemberAnalysisVOS.get(param.get("index")).getServiceTime()+item.getServiceTime();
                            Integer serviceTimes = item.getServiceTimes();
                            double time=(serviceTime/3600000);
                            DecimalFormat df = new DecimalFormat("#.##");
                            String formattedNumber = df.format(time);
                            double result = Double.parseDouble(formattedNumber);
                            item.setServiceTime(result);
                            partyMemberAnalysisVOS.get(param.get("index")).setServiceTime(result);
                            partyMemberAnalysisVOS.get(param.get("index")).setServiceTimes(partyMemberAnalysisVOS.get(param.get("index")).getServiceTimes()+serviceTimes);
                        }else{
                            double time=(item.getServiceTime()/3600000);
                            DecimalFormat df = new DecimalFormat("#.##");
                            String formattedNumber = df.format(time);
                            double result = Double.parseDouble(formattedNumber);
                            item.setServiceTime(result);
                            partyMemberAnalysisVOS.add(item);
                        }
                    }
                }
            }
        }
        //报道单位统计积分
        List<NewFightNeedProblemInventory> allList = newFightNeedProblemInventoryMapper.selectAll();
        Map<Long, String> awardMap = allList.stream().filter(Objects::nonNull).collect(Collectors.toMap(NewFightNeedProblemInventory::getId, NewFightNeedProblemInventory::getAward));
@@ -1386,19 +1488,19 @@
        //统计总时长和总次数
        Integer unitServiceCount=0;
        Integer unitServiceTotalTime=0;
        Double unitServiceTotalTime=0.0;
        Integer memberServiceCount=0;
        Integer memberServiceTotalTome=0;
        Double memberServiceTotalTome=0.0;
        long awardSumCount=0L;
        long partySumCount=0L;
        for (UnitActivityAnalysisVO vo : unitActivityAnalysisVOS) {
            //避免空指针
            if (ObjectUtils.isNotEmpty(vo)){
                if (ObjectUtils.isNotEmpty(vo.getServiceTime())){
                    unitServiceCount+=vo.getServiceTime();
                    unitServiceTotalTime+=vo.getServiceTime();
                }
                if (ObjectUtils.isNotEmpty(vo.getServiceTimes())){
                    unitServiceTotalTime+=vo.getServiceTimes();
                    unitServiceCount+=vo.getServiceTimes();
                }
            }
        }
@@ -1406,10 +1508,10 @@
            //避免空指针
            if (ObjectUtils.isNotEmpty(vo)){
                if (ObjectUtils.isNotEmpty(vo.getServiceTime())){
                    memberServiceCount+=vo.getServiceTime();
                    memberServiceTotalTome+=vo.getServiceTime();
                }
                if (ObjectUtils.isNotEmpty(vo.getServiceTimes())){
                    memberServiceTotalTome+=vo.getServiceTimes();
                    memberServiceCount+=vo.getServiceTimes();
                }
            }
        }
@@ -1480,10 +1582,10 @@
        activityVO.setPartyMemberList(memberPage);
        //党员数据 聚合
        Map<String, Long> map = new HashMap<>();
        Map<String, Double> map = new HashMap<>();
        partyMemberAnalysisVOS.forEach(vo->{
            String name = vo.getBelongTo();
            Long time = Long.valueOf(vo.getServiceTime());
            Double time = vo.getServiceTime();
            if (map.containsKey(name)) {
                time += map.get(name);
            }
@@ -1540,7 +1642,7 @@
                        Map<String, Integer> param = alreadyAnalysis(vo.getUnitId(), unitActivityAnalysisVOS);
                        if (param.get("flag")==1){
                            //已有数据,将时长,次数相加
                            Integer serviceTime = vo.getServiceTime();
                            Double serviceTime = vo.getServiceTime();
                            Integer serviceTimes = vo.getServiceTimes();
                            unitActivityAnalysisVOS.get(param.get("index")).setServiceTime(unitActivityAnalysisVOS.get(param.get("index")).getServiceTime()+serviceTime);
                            unitActivityAnalysisVOS.get(param.get("index")).setServiceTimes(unitActivityAnalysisVOS.get(param.get("index")).getServiceTimes()+serviceTimes);
@@ -1615,7 +1717,7 @@
                    if (ObjectUtils.isNotEmpty(vo.getMemberId())){
                        Map<String, Integer> param = memberAlreadyAnalysis(vo.getMemberId(), partyMemberAnalysisVOS);
                        if (param.get("flag")==1){
                            Integer serviceTime = vo.getServiceTime();
                            Double serviceTime = vo.getServiceTime();
                            Integer serviceTimes = vo.getServiceTimes();
                            partyMemberAnalysisVOS.get(param.get("index")).setServiceTime(partyMemberAnalysisVOS.get(param.get("index")).getServiceTime()+serviceTime);
                            partyMemberAnalysisVOS.get(param.get("index")).setServiceTimes(partyMemberAnalysisVOS.get(param.get("index")).getServiceTimes()+serviceTimes);