| | |
| | | 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; |
| | |
| | | private UserService userService; |
| | | @Resource |
| | | private ComPbMemberDAO comPbMemberDAO; |
| | | @Resource |
| | | private ComActActivityDAO comActActivityDAO; |
| | | @Resource ComActNeighborCircleDAO comActNeighborCircleDAO; |
| | | |
| | | /** |
| | | * 分页查询邻里圈列表 |
| | | * |
| | |
| | | } |
| | | 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; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | } |