From 72f11c9e9edec3d2534112badf7a0ca48fa9da5a Mon Sep 17 00:00:00 2001
From: 罗元桥 <2376770955@qq.com>
Date: 星期三, 23 六月 2021 14:37:44 +0800
Subject: [PATCH] Merge branch 'test' into 'test_wangge_two'

---
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ScreenWorkServiceImpl.java |  174 +++++++++++++++++++++++++++++++++-------------------------
 1 files changed, 99 insertions(+), 75 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ScreenWorkServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ScreenWorkServiceImpl.java
index 9da51fd..4addef6 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ScreenWorkServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ScreenWorkServiceImpl.java
@@ -1,6 +1,5 @@
 package com.panzhihua.service_community.service.impl;
 
-import cn.hutool.core.date.DatePattern;
 import cn.hutool.core.date.DateTime;
 import cn.hutool.core.date.DateUtil;
 import com.panzhihua.common.model.dtos.partybuilding.ComPbActivityDTO;
@@ -9,14 +8,10 @@
 import com.panzhihua.common.utlis.DateUtils;
 import com.panzhihua.common.utlis.StringUtils;
 import com.panzhihua.service_community.dao.*;
-import com.panzhihua.service_community.model.dos.ComActDO;
 import com.panzhihua.service_community.service.ScreenWorkService;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
-import java.math.BigDecimal;
-import java.math.RoundingMode;
-import java.text.SimpleDateFormat;
 import java.util.*;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
@@ -48,16 +43,7 @@
     @Resource
     private ComActEasyPhotoDAO comActEasyPhotoDAO;
 
-    @Resource ComActDAO comActDAO;
-
-    /**
-     * 项目开始时间,超过的不统计
-     */
-    private final String initMonth = "2020-12";
-
     private final String moth_format_str = "yyyy-MM";
-
-    private final String moth_format_ch = "yyyy年MM月";
 
     private final String[] monthStr = new String[]{"一","二","三","四","五","六","七","八","九","十","十一","十二"};
 
@@ -122,12 +108,12 @@
         //统计本月新增、居民活动,志愿者活动
         String date = DateUtils.getDateFormatString(new Date(),moth_format_str);
         Map<String,Long> countMap = actActivityDAO.countByCommunityId(communityId,date);
+        comActActivityScreenVO.setTotalNum(countMap.get("totalNum") == null ? 0L : countMap.get("totalNum"));
         comActActivityScreenVO.setCurrentNum(countMap.get("currentNum") == null ? 0L : countMap.get("currentNum"));
         comActActivityScreenVO.setCommonNum(countMap.get("commonNum") == null ? 0L : countMap.get("commonNum"));
         comActActivityScreenVO.setCommonPeopleNum(countMap.get("commonPeopleNum") == null ? 0L : countMap.get("commonPeopleNum"));
         comActActivityScreenVO.setVolunteerNum(countMap.get("volunteerNum") == null ? 0L : countMap.get("volunteerNum"));
         comActActivityScreenVO.setVolunteerPeopleNum(countMap.get("volunteerPeopleNum") == null ? 0L : countMap.get("volunteerPeopleNum"));
-        comActActivityScreenVO.setTotalNum(comActActivityScreenVO.getCommonNum()+comActActivityScreenVO.getVolunteerNum());
         //最近活动
         comActActivityScreenVO.setList(actActivityDAO.screenActivity(communityId,pageSize));
         return R.ok(comActActivityScreenVO);
@@ -140,11 +126,11 @@
         String date = DateUtils.getDateFormatString(new Date(),moth_format_str);
         Map<String,Long> countMap = comActDiscussDAO.countByCommunityId(communityId,date);
         discussScreenVO.setCurrentNum(countMap.get("currentNum") == null ? 0L : countMap.get("currentNum"));
+        discussScreenVO.setTotalNum(countMap.get("totalNum") == null ? 0L : countMap.get("totalNum"));
         discussScreenVO.setImgNum(countMap.get("imgNum") == null ? 0L : countMap.get("imgNum"));
         discussScreenVO.setImgPeopleNum(countMap.get("imgPeopleNum") == null ? 0L : countMap.get("imgPeopleNum"));
-        discussScreenVO.setVoteNum(countMap.get("voteNum") == null ? 0L : countMap.get("voteNum"));
+        discussScreenVO.setVoteNum(discussScreenVO.getTotalNum() - discussScreenVO.getImgNum());
         discussScreenVO.setVotePeopleNum(countMap.get("votePeopleNum") == null ? 0L : countMap.get("votePeopleNum"));
-        discussScreenVO.setTotalNum(discussScreenVO.getImgNum()+discussScreenVO.getVoteNum());
         discussScreenVO.setList(comActDiscussDAO.screenDiscuss(communityId,pageSize));
         return R.ok(discussScreenVO);
     }
@@ -159,11 +145,10 @@
         pbWorkScreenVO.setTotalNum(pbWorkScreenVO.getActivityNum() + pbWorkScreenVO.getDynNum());
         pbWorkScreenVO.setCurrentNum(countMap.get("currentNum") == null ? 0L : countMap.get("currentNum"));
         //统计近半年数据
-        int n = 6;
         List<PbWorkVO> list = new ArrayList<>();
-        for(Map<String,String> map : listHalfYear(n)){
-            PbWorkVO result = comPbDynDAO.countByTime(map.get("start"),map.get("end"),communityId);
-            result.setMonth(map.get("name"));
+        for(PbWorkVO workVO: listHalfYear()){
+            PbWorkVO result = comPbDynDAO.countByTime(workVO.getStart(),workVO.getEnd(),communityId);
+            result.setMonth(workVO.getMonth());
             list.add(result);
         }
         pbWorkScreenVO.setList(list);
@@ -171,30 +156,31 @@
     }
 
 
-    private List<Map<String,String>> listHalfYear(int num) {
-        List<Map<String,String>> dateList = new ArrayList<>();
+    private List<PbWorkVO> listHalfYear() {
+        List<PbWorkVO> dateList = new ArrayList<>();
         Date now  = new Date();
-        for(int i= num;i>=1;i--){
+        for(int i= 6;i>=1;i--){
             Date date = DateUtils.getDateM(now,-i);
             DateTime endDay = DateUtil.endOfMonth(date);
 
             int m = DateUtil.month(endDay);
+            if(m == 0){
+                m = 12;
+            }
+            m--;
             int day = DateUtil.dayOfMonth(endDay);
             int half = day/2;
             String month = DateUtil.format(date,moth_format_str);
-            if(Objects.equals(month,initMonth)){
-                continue;
-            }
-            Map<String,String> startMap = new HashMap<>();
-            startMap.put("name",monthStr[m]+"月上旬");
-            startMap.put("start",month+ "-01 00:00:00");
-            startMap.put("end",month+ "-"+half+" 23:59:58");
-            dateList.add(startMap);
-            Map<String,String> endMap = new HashMap<>();
-            endMap.put("name",monthStr[m]+"月下旬");
-            endMap.put("start",month+ "-"+half+" 23:59:59");
-            endMap.put("end",DateUtils.getDateFormatString(endDay,"yyyy-MM-dd HH:mm:ss"));
-            dateList.add(endMap);
+            PbWorkVO pbWorkVO = new PbWorkVO();
+            pbWorkVO.setMonth(monthStr[m]+"月上旬");
+            pbWorkVO.setStart(month+ "-01 00:00:00");
+            pbWorkVO.setEnd(month+ "-"+half+" 23:59:58");
+            dateList.add(pbWorkVO);
+            PbWorkVO pbWorkVO2 = new PbWorkVO();
+            pbWorkVO2.setMonth(monthStr[m]+"月下旬");
+            pbWorkVO2.setStart(month+ "-"+half+" 23:59:58");
+            pbWorkVO2.setEnd(DateUtils.getDateFormatString(endDay,"yyyy-MM-dd HH:mm:ss"));
+            dateList.add(pbWorkVO2);
         }
         return dateList;
 
@@ -210,57 +196,95 @@
         Map<String,Object> countMap = comActEasyPhotoDAO.countByCommunityId(communityId,date);
         comActEasyPhotoScreenVO.setCurrentNum(countMap.get("currentNum") == null ? 0L : Long.valueOf(countMap.get("currentNum").toString()));
         comActEasyPhotoScreenVO.setNoneDeal(countMap.get("noneDeal") == null ? 0L : Long.valueOf(countMap.get("noneDeal").toString()));
-        comActEasyPhotoScreenVO.setPubPoint(countMap.get("pubPoint") == null ? 0 : Double.valueOf(countMap.get("pubPoint").toString()).intValue());
-        comActEasyPhotoScreenVO.setDealTime(countMap.get("dealTime") == null ? "0h" : convertTimeStr(Double.valueOf(countMap.get("dealTime").toString()).intValue()));
+        comActEasyPhotoScreenVO.setPubPoint(countMap.get("pubPoint") == null ? 0 : Integer.valueOf(countMap.get("pubPoint").toString()));
+        comActEasyPhotoScreenVO.setDealTime(countMap.get("dealTime") == null ? 0 : Double.valueOf(countMap.get("dealTime").toString()).intValue());
         List<EastPhotoVO> list = new ArrayList<>();
-        //统计半年数据
-        int n = 6;
-        List<Map<String,String>> timeList = listHalfYear(n);
-        for(Map<String,String> map : timeList){
-            String nowDate = DateUtils.getDateFormatString(DateUtil.parseDate(map.get("start")),moth_format_str);
-            EastPhotoVO result = comActEasyPhotoDAO.countByTime(map.get("start"),map.get("end"),nowDate,communityId);
-            result.setMonth(map.get("name"));
+        for(PbWorkVO workVO: listHalfYear()){
+            String nowDate = DateUtils.getDateFormatString(DateUtil.parseDate(workVO.getStart()),moth_format_str);
+            EastPhotoVO result = comActEasyPhotoDAO.countByTime(workVO.getStart(),workVO.getEnd(),nowDate,communityId);
+            result.setMonth(workVO.getMonth());
             list.add(result);
         }
         comActEasyPhotoScreenVO.setList(list);
-        comActEasyPhotoScreenVO.setListTimes(DateUtil.format(DateUtil.parse(timeList.get(0).get("start"),DatePattern.NORM_DATETIME_FORMAT),moth_format_ch)+"-"+DateUtil.format(DateUtil.parse(timeList.get(timeList.size()-1).get("start"),DatePattern.NORM_DATETIME_FORMAT),moth_format_ch));
         return R.ok(comActEasyPhotoScreenVO);
     }
 
-    private String convertTimeStr(int minute) {
-        int hour = minute/60;
-        int min = minute%60;
-        StringBuilder timestr = new StringBuilder();
-        if(hour > 0){
-            timestr.append(hour).append("h");
-        }
-        if(min > 0){
-            timestr.append(min).append("min");
-        }
-        return timestr.toString();
-    }
 
+
+
+    private List<EasyPhotoPointVO> getList(Map<String, Long> dealMap) {
+        Set<Map.Entry<String,Long>> entrySet = dealMap.entrySet();
+
+        List<EasyPhotoPointVO> list = new ArrayList<>();
+        for(Map.Entry<String,Long> en:entrySet){
+            EasyPhotoPointVO easyPhotoPointVO = new EasyPhotoPointVO();
+            easyPhotoPointVO.setTypeName(en.getKey());
+            easyPhotoPointVO.setPoint(en.getValue().intValue());
+            list.add(easyPhotoPointVO);
+        }
+        return list;
+
+    }
 
     @Override
     public R workCount(Long communityId) {
         ComActWorkScreenVO comActWorkScreenVO = new ComActWorkScreenVO();
-        //已完成
-        comActWorkScreenVO.setCompletetList(comActNeighborCircleDAO.countAllCompletedWorkByCommunityId(communityId));
+        comActWorkScreenVO.setAvgTime("1小时");
+        comActWorkScreenVO.setTotalCompletedPoint(70);
+        comActWorkScreenVO.setEveryDayNum("0.3");
+        List<ActWorkCountVO> completetPoint = new ArrayList<>();
+        ActWorkCountVO easyPhoto = new ActWorkCountVO();
+        easyPhoto.setName("随手拍");
+        easyPhoto.setNum(10);
+        completetPoint.add(easyPhoto);
+        ActWorkCountVO wish = new ActWorkCountVO();
+        wish.setName("微心愿");
+        wish.setNum(23);
+        completetPoint.add(wish);
+        ActWorkCountVO discuss = new ActWorkCountVO();
+        discuss.setName("一起议");
+        discuss.setNum(33);
+        completetPoint.add(discuss);
+        ActWorkCountVO neighbor = new ActWorkCountVO();
+        neighbor.setName("邻里圈");
+        neighbor.setNum(43);
+        completetPoint.add(neighbor);
+        ActWorkCountVO pbWork = new ActWorkCountVO();
+        pbWork.setName("党建工作");
+        pbWork.setNum(13);
+        completetPoint.add(pbWork);
+        ActWorkCountVO activity = new ActWorkCountVO();
+        activity.setName("社区活动");
+        activity.setNum(63);
+        completetPoint.add(activity);
+        comActWorkScreenVO.setCompletetPoint(completetPoint);
 
-        //未完成
-        comActWorkScreenVO.setNoneList(comActNeighborCircleDAO.countAllNoneCompletedWorkByCommunityId(communityId));
-        comActWorkScreenVO.setTotalCompleted(comActWorkScreenVO.getCompletetList().stream().mapToInt(PieElementVO::getNum).sum());
-        comActWorkScreenVO.setTotalNoneCompleted(comActWorkScreenVO.getNoneList().stream().mapToInt(PieElementVO::getNum).sum());
-
-        //统计平均耗时、平均每天完成个数
-        Map<String,Object> avgMap = comActNeighborCircleDAO.countAvgByCommunityId(communityId);
-        comActWorkScreenVO.setAvgTime(avgMap.get("avgTime") == null?"0h":convertTimeStr(Double.valueOf(avgMap.get("avgTime").toString()).intValue()));
-
-        ComActDO comActDO = comActDAO.selectById(communityId);
-        BigDecimal days = new BigDecimal(DateUtil.betweenDay(comActDO.getCreateAt(),new Date(),false));
-        BigDecimal num = new BigDecimal(comActWorkScreenVO.getTotalCompleted());
-        BigDecimal rt = num.divide(days,1,RoundingMode.HALF_UP);
-        comActWorkScreenVO.setEveryDayNum(rt.toString());
+        List<ActWorkCountVO> completetPoint2 = new ArrayList<>();
+        ActWorkCountVO easyPhoto2 = new ActWorkCountVO();
+        easyPhoto2.setName("随手拍");
+        easyPhoto2.setNum(10);
+        completetPoint2.add(easyPhoto2);
+        ActWorkCountVO wish2 = new ActWorkCountVO();
+        wish2.setName("微心愿");
+        wish2.setNum(23);
+        completetPoint2.add(wish2);
+        ActWorkCountVO discuss2 = new ActWorkCountVO();
+        discuss2.setName("一起议");
+        discuss2.setNum(33);
+        completetPoint2.add(discuss2);
+        ActWorkCountVO neighbor2 = new ActWorkCountVO();
+        neighbor2.setName("邻里圈");
+        neighbor2.setNum(43);
+        completetPoint2.add(neighbor2);
+        ActWorkCountVO pbWork2 = new ActWorkCountVO();
+        pbWork2.setName("党建工作");
+        pbWork2.setNum(13);
+        completetPoint2.add(pbWork2);
+        ActWorkCountVO activity2 = new ActWorkCountVO();
+        activity2.setName("社区活动");
+        activity2.setNum(63);
+        completetPoint2.add(activity2);
+        comActWorkScreenVO.setNonePoint(completetPoint2);
         return R.ok(comActWorkScreenVO);
     }
 

--
Gitblit v1.7.1