From 03c0cc6d691f8108b87ad897ee120b6e4162a488 Mon Sep 17 00:00:00 2001
From: xyh <18782104331@139.com>
Date: 星期四, 17 六月 2021 17:06:15 +0800
Subject: [PATCH] 工作统计

---
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ScreenWorkServiceImpl.java |   87 ++++++++++---------------------------------
 1 files changed, 21 insertions(+), 66 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 f01e54a..5fe8fbe 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
@@ -9,10 +9,13 @@
 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;
@@ -44,6 +47,8 @@
 
     @Resource
     private ComActEasyPhotoDAO comActEasyPhotoDAO;
+
+    @Resource ComActDAO comActDAO;
 
     /**
      * 项目开始时间,超过的不统计
@@ -210,20 +215,15 @@
         List<EastPhotoVO> list = new ArrayList<>();
         //统计半年数据
         int n = 6;
-        for(Map<String,String> map : listHalfYear(n)){
+        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"));
             list.add(result);
         }
         comActEasyPhotoScreenVO.setList(list);
-        String fmt = "yyyy-MM-01 00:00:00";
-        Date start = DateUtil.parse(DateUtil.format(DateUtils.getDateM(new Date(),-n),new SimpleDateFormat(fmt)));
-        Date initTime = DateUtil.parse(initMonth +"-01 00:00:00", DatePattern.NORM_DATETIME_FORMAT);
-        if(!DateUtils.before(initTime,start)){
-            start = initTime;
-        }
-        comActEasyPhotoScreenVO.setListTimes(DateUtil.format(start,moth_format_ch)+"-"+DateUtil.format(DateUtils.getDateM(new Date(),-1),moth_format_ch));
+        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);
     }
 
@@ -234,66 +234,21 @@
     public R workCount(Long communityId) {
         ComActWorkScreenVO comActWorkScreenVO = new ComActWorkScreenVO();
         //已完成
-//        Map<String,Long> countMap = comActNeighborCircleDAO.countAllWorkBy(communityId);
+        comActWorkScreenVO.setCompletetList(comActNeighborCircleDAO.countAllCompletedWorkByCommunityId(communityId));
 
+        //未完成
+        comActWorkScreenVO.setNoneList(comActNeighborCircleDAO.countAllNoneCompletedWorkByCommunityId(communityId));
+        comActWorkScreenVO.setTotalCompleted(comActWorkScreenVO.getCompletetList().stream().mapToInt(PieElementVO::getNum).sum());
+        comActWorkScreenVO.setTotalNoneCompleted(comActWorkScreenVO.getNoneList().stream().mapToInt(PieElementVO::getNum).sum());
 
-
-        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);
-
-        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);
+        //统计平均耗时、平均每天完成个数
+        Map<String,Object> avgMap = comActNeighborCircleDAO.countAvgByCommunityId(communityId);
+        comActWorkScreenVO.setAvgTime(avgMap.get("avgTime")==null?"0":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,2,RoundingMode.HALF_UP);
+        comActWorkScreenVO.setEveryDayNum(rt.toString());
         return R.ok(comActWorkScreenVO);
     }
 

--
Gitblit v1.7.1