101captain
2022-07-08 2ceb155eb372fd743ffbb9fd5b3e83bf6fff036d
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActNeighborCircleServiceImpl.java
@@ -10,6 +10,7 @@
import com.panzhihua.common.model.vos.LoginUserInfoVO;
import com.panzhihua.common.model.vos.PageVO;
import com.panzhihua.common.service.user.UserService;
import com.panzhihua.service_community.entity.ComPbCheckUnit;
import com.panzhihua.service_community.service.ComActNeighborCircleTopicService;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.BeanUtils;
@@ -74,9 +75,11 @@
    @Resource
    private ComPbMemberDAO comPbMemberDAO;
    @Resource
    private ComActNeighborCircleDAO comActNeighborCircleDAO;
    @Resource
    private ComActActivityDAO comActActivityDAO;
    @Resource ComActNeighborCircleDAO comActNeighborCircleDAO;
    @Resource
    private ComPbCheckUnitDao comPbCheckUnitDao;
    /**
     * 分页查询邻里圈列表
     *
@@ -233,6 +236,18 @@
            ComActDO actDO = comActDAO.selectById(circleDetailAppVO.getCommunityId());
            if (actDO != null) {
                circleDetailAppVO.setName(actDO.getName());
            }
        }
        if(circleDetailAppVO.getOrderType()!=null){
            if(circleDetailAppVO.getOrderType()==2){
                AdministratorsUserVO user1 = this.baseMapper.selectUserByUserId(circleDetailAppVO.getSolveId());
                circleDetailAppVO.setSolveName(user1.getName());
            }
            if(circleDetailAppVO.getOrderType()==1){
                ComPbCheckUnit comPbCheckUnit=comPbCheckUnitDao.selectById(circleDetailAppVO.getSolveUnitId());
                if(comPbCheckUnit!=null){
                    circleDetailAppVO.setSolveName(comPbCheckUnit.getName());
                }
            }
        }
@@ -678,7 +693,7 @@
            return R.fail();
        }
        if (comActNeighborCircleDO.getStatus() == 1) {
            return R.fail("待审核的邻里圈不能删除");
            return R.fail("待审核的数据不能删除");
        }
        // 邻里圈删除
        this.baseMapper.deleteById(id);
@@ -710,6 +725,18 @@
        BeanUtils.copyProperties(comActNeighborCircleDO, vo);
        vo.setReleaseName(user.getName());
        vo.setImageUrl(user.getImageUrl());
        if(comActNeighborCircleDO.getOrderType()!=null){
            if(comActNeighborCircleDO.getOrderType()==2){
                AdministratorsUserVO user1 = this.baseMapper.selectUserByUserId(comActNeighborCircleDO.getSolveId());
                vo.setSolveName(user1.getName());
            }
            if(comActNeighborCircleDO.getOrderType()==1){
                ComPbCheckUnit comPbCheckUnit=comPbCheckUnitDao.selectById(comActNeighborCircleDO.getSolveUnitId());
                if(comPbCheckUnit!=null){
                    vo.setSolveName(comPbCheckUnit.getName());
                }
            }
        }
        // 查询话题名称
        if (comActNeighborCircleDO.getTopicId() != null) {
@@ -1002,7 +1029,7 @@
            ComPbMemberDO comPbMemberDO=comPbMemberDAO.selectOne(new QueryWrapper<ComPbMemberDO>().lambda().eq(ComPbMemberDO::getPhone,serviceStaticDTO.getPhone()).last("limit 1"));
            if(comPbMemberDO!=null){
                serviceStaticsVO.setWorkActivityList(comActActivityDAO.selectListByRelationId(comPbMemberDO.getCheckUnitId(),serviceStaticDTO.getYear()));
                serviceStaticsVO.setServiceActivityList(comActActivityDAO.selectListByCommunityId(comPbMemberDO.getCommunityId(),serviceStaticDTO.getYear()));
                serviceStaticsVO.setServiceActivityList(comActActivityDAO.selectListByCommunityId(comPbMemberDO.getCommunityId(),serviceStaticDTO.getYear(),serviceStaticDTO.getPhone()));
            }
        }
@@ -1067,18 +1094,51 @@
        }
        //获取党员活动统计数据
        List<PartyMemberAnalysisVO> partyMemberAnalysisVOS = comActNeighborCircleDAO.institutionalPartyMemberServiceAnalysis(beginTime, endTime, belongTo);
        List<PartyMemberAnalysisVO> partyMemberAnalysisVOS1 = comActNeighborCircleDAO.institutionalPartyMemberActAnalysis(beginTime, endTime, belongTo);
        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();
                            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);
                        }else{
                            partyMemberAnalysisVOS.add(vo);
                        }
                    }
                }
            }
        }
        //统计总时长和总次数
        Integer unitServiceCount=0;
        Integer unitServiceTotalTime=0;
        Integer memberServiceCount=0;
        Integer memberServiceTotalTome=0;
        for (UnitActivityAnalysisVO vo : unitActivityAnalysisVOS) {
            unitServiceCount+=vo.getServiceTime();
            unitServiceTotalTime+=vo.getServiceTimes();
            //避免空指针
            if (ObjectUtils.isNotEmpty(vo)){
                if (ObjectUtils.isNotEmpty(vo.getServiceTime())){
                    unitServiceCount+=vo.getServiceTime();
                }
                if (ObjectUtils.isNotEmpty(vo.getServiceTimes())){
                    unitServiceTotalTime+=vo.getServiceTimes();
                }
            }
        }
        for (PartyMemberAnalysisVO vo : partyMemberAnalysisVOS) {
            memberServiceCount+=vo.getServiceTime();
            memberServiceTotalTome+=vo.getServiceTimes();
            //避免空指针
            if (ObjectUtils.isNotEmpty(vo)){
                if (ObjectUtils.isNotEmpty(vo.getServiceTime())){
                    memberServiceCount+=vo.getServiceTime();
                }
                if (ObjectUtils.isNotEmpty(vo.getServiceTimes())){
                    memberServiceTotalTome+=vo.getServiceTimes();
                }
            }
        }
        activityVO.setUnitServiceTotalCount(unitServiceCount);
        activityVO.setUnitServiceTotalTime(unitServiceTotalTime);
@@ -1183,6 +1243,29 @@
        }
    }
    /**
     * 判断党员的统计是是否已存在
     * */
    public Map<String,Integer> memberAlreadyAnalysis(Long memberId,List<PartyMemberAnalysisVO> list){
        Map<String,Integer> map=new HashMap<>();
        if (memberId != null && list.size() > 0){
            for (int i=0;i<list.size();i++) {
                PartyMemberAnalysisVO vo = list.get(i);
                if (ObjectUtils.isNotEmpty(vo)){
                    if (ObjectUtils.isNotEmpty(vo.getMemberId())){
                        if (memberId.equals(vo.getMemberId())){
                            map.put("index",i );
                            map.put("flag",1 );
                            return map;
                        }
                    }
                }
            }
        }
        map.put("flag",0 );
        return map;
    }