From 3983e5809d0ed2ce551a157a1b5b326b217c9b9c Mon Sep 17 00:00:00 2001
From: 张天森 <1292933220@qq.com>
Date: 星期五, 08 七月 2022 16:46:34 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/huacheng_zts' into huacheng_test

---
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActNeighborCircleServiceImpl.java |   65 ++++++++++++++++++++++++--------
 1 files changed, 49 insertions(+), 16 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 ae7ea6d..a5c7828 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
@@ -35,6 +35,7 @@
 import com.panzhihua.service_community.service.ComActNeighborCircleService;
 
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.util.CollectionUtils;
 
 /**
  * @auther lyq
@@ -1037,7 +1038,7 @@
     }
 
     @Override
-    public R institutionalUnitServiceAnalysis(Integer year, Integer type, Integer range, Long communityId,Integer page,Integer size,String belongTo) {
+    public R institutionalUnitServiceAnalysis(Integer year, Integer type, Integer range, Long communityId,Integer page,Integer size,String belongTo,Long unitId) {
         ActivityAnalysisVO activityVO=new ActivityAnalysisVO();
         String beginTime=null;
         String endTime=null;
@@ -1093,8 +1094,8 @@
             }
         }
         //获取党员活动统计数据
-        List<PartyMemberAnalysisVO> partyMemberAnalysisVOS = comActNeighborCircleDAO.institutionalPartyMemberServiceAnalysis(beginTime, endTime, belongTo);
-        List<PartyMemberAnalysisVO> partyMemberAnalysisVOS1 = comActNeighborCircleDAO.institutionalPartyMemberActAnalysis(beginTime, endTime, belongTo);
+        List<PartyMemberAnalysisVO> partyMemberAnalysisVOS = comActNeighborCircleDAO.institutionalPartyMemberServiceAnalysis(beginTime, endTime, belongTo,communityId,unitId);
+        List<PartyMemberAnalysisVO> partyMemberAnalysisVOS1 = comActNeighborCircleDAO.institutionalPartyMemberActAnalysis(beginTime, endTime, belongTo,communityId,unitId);
         if (partyMemberAnalysisVOS1.size()>0){
             for (PartyMemberAnalysisVO vo : partyMemberAnalysisVOS1) {
                 if (ObjectUtils.isNotEmpty(vo)){
@@ -1145,17 +1146,23 @@
         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");
-            }
-        }
+//        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");
+//            }
+//        }
+        //统一进行排序,避免统计之后顺序混乱
+        ListUtil.sortByProperty(unitActivityAnalysisVOS, "serviceTime");
+        partyMemberAnalysisVOS = ListUtil.sortByProperty(partyMemberAnalysisVOS, "serviceTime");
+        //执行倒序
+        Collections.reverse(unitActivityAnalysisVOS);
+        Collections.reverse(partyMemberAnalysisVOS);
         //处理分页
         PageVO<List<UnitActivityAnalysisVO>> unitPage=new PageVO<>();
         PageVO<List<PartyMemberAnalysisVO>> memberPage=new PageVO<>();
@@ -1175,8 +1182,34 @@
             unitPage.setRecords(unitActivityAnalysisVOS);
             memberPage.setRecords(partyMemberAnalysisVOS);
         }
-        activityVO.setUnitList(unitPage);
-        activityVO.setPartyMemberList(memberPage);
+        activityVO.setUnitListByTime(unitPage);
+        activityVO.setPartyMemberListByTime(memberPage);
+        List<UnitActivityAnalysisVO> unitActivityAnalysisVOTimes=unitActivityAnalysisVOS;
+        List<PartyMemberAnalysisVO> partyMemberAnalysisVOTimes=partyMemberAnalysisVOS;
+        ListUtil.sortByProperty(unitActivityAnalysisVOTimes, "serviceTimes");
+        ListUtil.sortByProperty(partyMemberAnalysisVOTimes, "serviceTimes");
+        Collections.reverse(unitActivityAnalysisVOTimes);
+        Collections.reverse(partyMemberAnalysisVOTimes);
+        PageVO<List<UnitActivityAnalysisVO>> unitPage1=new PageVO<>();
+        PageVO<List<PartyMemberAnalysisVO>> memberPage1=new PageVO<>();
+        if (ObjectUtils.isNotEmpty(page) && ObjectUtils.isNotEmpty(size)){
+            //分页处理
+            unitPage1.setRecordsCount(unitActivityAnalysisVOS.size());
+            unitPage1.setPage(page);
+            unitPage1.setPages(getPages(unitPage.getRecordsCount(),size ));
+            memberPage1.setPage(page);
+            memberPage1.setRecordsCount(partyMemberAnalysisVOS.size());
+            memberPage1.setPages(getPages(memberPage.getRecordsCount(), size));
+            //处理分页的结果
+            unitPage1.setRecords(subUnitList((ArrayList) unitActivityAnalysisVOTimes, page,size));
+            memberPage1.setRecords(subUnitList((ArrayList)partyMemberAnalysisVOTimes,page ,size));
+
+        }else {
+            unitPage1.setRecords(unitActivityAnalysisVOS);
+            memberPage1.setRecords(partyMemberAnalysisVOS);
+        }
+        activityVO.setPartyMemberByTimes(memberPage1);
+        activityVO.setUnitListByTimes(unitPage1);
         return R.ok(activityVO);
 
     }

--
Gitblit v1.7.1