From 9b8a37d4beecb1d95cd0863d8ebda29e6624f950 Mon Sep 17 00:00:00 2001
From: 张天森 <1292933220@qq.com>
Date: 星期二, 05 七月 2022 13:41:02 +0800
Subject: [PATCH] update

---
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActNeighborCircleServiceImpl.java |  129 ++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 126 insertions(+), 3 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 b3c1b88..3cd5ced 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,14 +1,13 @@
 package com.panzhihua.service_community.service.impl;
 
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
 
 import javax.annotation.Resource;
 
 import com.panzhihua.common.model.vos.LoginUserInfoVO;
 import com.panzhihua.common.service.user.UserService;
 import com.panzhihua.service_community.service.ComActNeighborCircleTopicService;
+import org.apache.commons.lang3.ObjectUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -70,6 +69,10 @@
     private UserService userService;
     @Resource
     private ComPbMemberDAO comPbMemberDAO;
+    @Resource
+    private ComActActivityDAO comActActivityDAO;
+    @Resource ComActNeighborCircleDAO comActNeighborCircleDAO;
+
     /**
      * 分页查询邻里圈列表
      *
@@ -979,4 +982,124 @@
         }
         return R.ok(this.baseMapper.updateById(comActNeighborCircleDO));
     }
+
+    @Override
+    public R serviceStatic(ServiceStaticDTO serviceStaticDTO) {
+        ServiceStaticsVO serviceStaticsVO=new ServiceStaticsVO();
+        if(serviceStaticDTO.getCheckUnitId()!=null){
+            serviceStaticsVO=this.baseMapper.selectStatsCheckUnit(serviceStaticDTO.getCheckUnitId(),serviceStaticDTO.getYear());
+            serviceStaticsVO=this.baseMapper.selectStatsCheckUnit(serviceStaticDTO.getCheckUnitId(),serviceStaticDTO.getYear());
+            serviceStaticsVO.setServiceProjecList(this.baseMapper.selectListByCheckUnitId(serviceStaticDTO.getCheckUnitId(),serviceStaticDTO.getYear()));
+            serviceStaticsVO.setServiceActivityList(comActActivityDAO.selectListByRelationId(serviceStaticDTO.getCheckUnitId(),serviceStaticDTO.getYear()));
+        }
+        else {
+            serviceStaticsVO=this.baseMapper.selectStatsUser(serviceStaticDTO.getPhone(),serviceStaticDTO.getYear());
+            serviceStaticsVO.setServiceProjecList(this.baseMapper.selectListByPhone(serviceStaticDTO.getPhone(),serviceStaticDTO.getYear()));
+            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()));
+            }
+
+        }
+        return R.ok(serviceStaticsVO);
+    }
+
+    @Override
+    public R institutionalUnitServiceAnalysis(Integer year, Integer type, Integer range, Long communityId) {
+        ActivityAnalysisVO activityVO=new ActivityAnalysisVO();
+        String beginTime=null;
+        String endTime=null;
+        if (null != year){
+            //设置开始,截止时间
+            beginTime=year.toString().concat("-01-01");
+            endTime=year.toString().concat("-12-31");
+        }
+        //统计党员,单位总数
+        activityVO.setPartyMemberCount(comActDAO.selectUnitCount());
+        activityVO.setUnitCount(comActDAO.selectMemberCount());
+        //获取单位活动统计数据(邻里圈)
+        List<UnitActivityAnalysisVO> unitActivityAnalysisVOS = comActNeighborCircleDAO.institutionalUnitServiceAnalysis(beginTime, endTime, communityId);
+        //获取单位活动统计数据(活动)
+        List<UnitActivityAnalysisVO> unitActivityAnalysisVOS1 = comActNeighborCircleDAO.institutionalUnitActivityAnalysis(beginTime, endTime, communityId);
+        if (unitActivityAnalysisVOS.size()>0){
+            for (UnitActivityAnalysisVO unitActivityAnalysisVO : unitActivityAnalysisVOS){
+                if (ObjectUtils.isNotEmpty(unitActivityAnalysisVO)){
+                    if (ObjectUtils.isNotEmpty(unitActivityAnalysisVO.getUnitId())){
+                        //设置单位名称
+                        unitActivityAnalysisVO.setUnitName(comActDAO.selectUnitName(unitActivityAnalysisVO.getUnitId()));
+                        //统计活动表中的活动信息
+                    }
+                    if (ObjectUtils.isNotEmpty(unitActivityAnalysisVO.getCommunityId())){
+                        unitActivityAnalysisVO.setCommunityName(comActDAO.selectById(unitActivityAnalysisVO.getCommunityId()).getName());
+                    }
+                }
+            }
+        }
+        //活动表数据处理
+        if (unitActivityAnalysisVOS1.size()>0){
+            for (UnitActivityAnalysisVO vo : unitActivityAnalysisVOS1) {
+                if(ObjectUtils.isNotEmpty(vo)){
+                    if (ObjectUtils.isNotEmpty(vo.getUnitId())){
+                        //判断邻里圈统计中是否已有该单位数据
+                        Map<String, Integer> param = alreadyAnalysis(vo.getUnitId(), unitActivityAnalysisVOS);
+                        if (param.get("flag")==1){
+                            //已有数据,将时长,次数相加
+                            Integer 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);
+                        }else {
+                            //新数据,获取单位,社区名
+                            vo.setUnitName(comActDAO.selectUnitName(vo.getUnitId()));
+                            if (ObjectUtils.isNotEmpty(vo.getCommunityId())) {
+                                vo.setCommunityName(comActDAO.selectById(vo.getCommunityId()).getName());
+                            }
+                            unitActivityAnalysisVOS.add(vo);
+                        }
+                    }
+                }
+            }
+        }
+        //获取党员活动统计数据
+        List<PartyMemberAnalysisVO> partyMemberAnalysisVOS = comActNeighborCircleDAO.institutionalPartyMemberServiceAnalysis(beginTime, endTime, communityId);
+        activityVO.setUnitList(unitActivityAnalysisVOS);
+        activityVO.setPartyMemberList(partyMemberAnalysisVOS);
+        return R.ok(activityVO);
+
+    }
+
+
+    @Override
+    public R serviceStaticBackstage(ServiceStaticBackstageDTO serviceStaticDTO) {
+        return null;
+    }
+
+    /**
+     * 判断活动统计列表中是否已有该单位的数据
+     * */
+    public Map<String,Integer> alreadyAnalysis(Long unitId,List<UnitActivityAnalysisVO> list){
+        Map<String,Integer> map=new HashMap<>();
+        if (list.size()>0){
+            for (int i=0;i<list.size();i++) {
+                UnitActivityAnalysisVO vo = list.get(i);
+                if (ObjectUtils.isNotEmpty(vo)){
+                    if (ObjectUtils.isNotEmpty(vo.getUnitId())){
+                        if (unitId.equals(vo.getUnitId())){
+                            map.put("index",i );
+                            map.put("flag",1 );
+                            return map;
+                        }
+                    }
+                }
+            }
+        }
+        map.put("flag",0 );
+        return map;
+    }
+
+
+
+
+
 }

--
Gitblit v1.7.1