| | |
| | | |
| | | import javax.annotation.Resource; |
| | | |
| | | import cn.hutool.core.collection.ListUtil; |
| | | import cn.hutool.core.util.NumberUtil; |
| | | import cn.hutool.core.util.PageUtil; |
| | | 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.service.ComActNeighborCircleTopicService; |
| | | import org.apache.commons.lang3.ObjectUtils; |
| | |
| | | } |
| | | |
| | | @Override |
| | | public R institutionalUnitServiceAnalysis(Integer year, Integer type, Integer range, Long communityId) { |
| | | public R institutionalUnitServiceAnalysis(Integer year, Integer type, Integer range, Long communityId,Integer page,Integer size,String belongTo) { |
| | | ActivityAnalysisVO activityVO=new ActivityAnalysisVO(); |
| | | String beginTime=null; |
| | | String endTime=null; |
| | |
| | | activityVO.setPartyMemberCount(comActDAO.selectUnitCount()); |
| | | activityVO.setUnitCount(comActDAO.selectMemberCount()); |
| | | //获取单位活动统计数据(邻里圈) |
| | | List<UnitActivityAnalysisVO> unitActivityAnalysisVOS = comActNeighborCircleDAO.institutionalUnitServiceAnalysis(beginTime, endTime, communityId); |
| | | List<UnitActivityAnalysisVO> unitActivityAnalysisVOS = comActNeighborCircleDAO.institutionalUnitServiceAnalysis(beginTime, endTime, belongTo); |
| | | //获取单位活动统计数据(活动) |
| | | List<UnitActivityAnalysisVO> unitActivityAnalysisVOS1 = comActNeighborCircleDAO.institutionalUnitActivityAnalysis(beginTime, endTime, communityId); |
| | | List<UnitActivityAnalysisVO> unitActivityAnalysisVOS1 = comActNeighborCircleDAO.institutionalUnitActivityAnalysis(beginTime, endTime, belongTo); |
| | | if (unitActivityAnalysisVOS.size()>0){ |
| | | for (UnitActivityAnalysisVO unitActivityAnalysisVO : unitActivityAnalysisVOS){ |
| | | if (ObjectUtils.isNotEmpty(unitActivityAnalysisVO)){ |
| | |
| | | } |
| | | } |
| | | //获取党员活动统计数据 |
| | | List<PartyMemberAnalysisVO> partyMemberAnalysisVOS = comActNeighborCircleDAO.institutionalPartyMemberServiceAnalysis(beginTime, endTime, communityId); |
| | | activityVO.setUnitList(unitActivityAnalysisVOS); |
| | | activityVO.setPartyMemberList(partyMemberAnalysisVOS); |
| | | List<PartyMemberAnalysisVO> partyMemberAnalysisVOS = comActNeighborCircleDAO.institutionalPartyMemberServiceAnalysis(beginTime, endTime, belongTo); |
| | | //统计总时长和总次数 |
| | | Integer unitServiceCount=0; |
| | | Integer unitServiceTotalTime=0; |
| | | Integer memberServiceCount=0; |
| | | Integer memberServiceTotalTome=0; |
| | | for (UnitActivityAnalysisVO vo : unitActivityAnalysisVOS) { |
| | | unitServiceCount+=vo.getServiceTime(); |
| | | unitServiceTotalTime+=vo.getServiceTimes(); |
| | | } |
| | | for (PartyMemberAnalysisVO vo : partyMemberAnalysisVOS) { |
| | | memberServiceCount+=vo.getServiceTime(); |
| | | memberServiceTotalTome+=vo.getServiceTimes(); |
| | | } |
| | | activityVO.setUnitServiceTotalCount(unitServiceCount); |
| | | activityVO.setUnitServiceTotalTime(unitServiceTotalTime); |
| | | activityVO.setPartyMemberServiceTotalCount(memberServiceCount); |
| | | activityVO.setPartyMemberServiceTotalTime(memberServiceTotalTome); |
| | | //处理排序 |
| | | if (null != type){ |
| | | if (type.equals(1)){ |
| | | //按时长排序 |
| | | ListUtil.sortByProperty(unitActivityAnalysisVOS, "serviceTime"); |
| | | ListUtil.sortByProperty(partyMemberAnalysisVOS, "serviceTime"); |
| | | }else if (type.equals(2)){ |
| | | //按次数排序 |
| | | ListUtil.sortByProperty(unitActivityAnalysisVOS, "serviceTimes"); |
| | | ListUtil.sortByProperty(partyMemberAnalysisVOS, "serviceTimes"); |
| | | } |
| | | } |
| | | //处理分页 |
| | | PageVO<List<UnitActivityAnalysisVO>> unitPage=new PageVO<>(); |
| | | PageVO<List<PartyMemberAnalysisVO>> memberPage=new PageVO<>(); |
| | | if (ObjectUtils.isNotEmpty(page) && ObjectUtils.isNotEmpty(size)){ |
| | | //分页处理 |
| | | unitPage.setRecordsCount(unitActivityAnalysisVOS.size()); |
| | | unitPage.setPage(page); |
| | | unitPage.setPages(getPages(unitPage.getRecordsCount(),size )); |
| | | memberPage.setPage(page); |
| | | memberPage.setRecordsCount(partyMemberAnalysisVOS.size()); |
| | | memberPage.setPages(getPages(memberPage.getRecordsCount(), size)); |
| | | //处理分页的结果 |
| | | unitPage.setRecords(subUnitList((ArrayList) unitActivityAnalysisVOS, page,size)); |
| | | memberPage.setRecords(subUnitList((ArrayList)partyMemberAnalysisVOS,page ,size)); |
| | | |
| | | }else { |
| | | unitPage.setRecords(unitActivityAnalysisVOS); |
| | | memberPage.setRecords(partyMemberAnalysisVOS); |
| | | } |
| | | activityVO.setUnitList(unitPage); |
| | | activityVO.setPartyMemberList(memberPage); |
| | | return R.ok(activityVO); |
| | | |
| | | } |
| | |
| | | return map; |
| | | } |
| | | |
| | | /** |
| | | * 计算总页数 |
| | | * */ |
| | | public Integer getPages(Integer record,Integer size){ |
| | | if (null != record && null != size){ |
| | | int pages = PageUtil.totalPage(record, size); |
| | | return pages; |
| | | } |
| | | return 0; |
| | | } |
| | | |
| | | /** |
| | | * 分页截取 |
| | | * */ |
| | | public List<Object> subUnitList(List<Object> list, int page, int size){ |
| | | try { |
| | | //计算endIndex是否超出List大小 |
| | | final Boolean flag=((page-1)*size+size) > list.size(); |
| | | if (1 == page || 0 == page){ |
| | | //第一页 |
| | | return list.subList(0,size); |
| | | }else if (flag){ |
| | | return ListUtil.sub(list, (page-1)*size-1, list.size()-1); |
| | | } |
| | | else { |
| | | return list.subList((page-1)*size, (page-1)*size+size); |
| | | } |
| | | }catch (Exception e){ |
| | | //返回原集合 |
| | | return list; |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |