From f7b14aa7b17d465f82d8213d0c9949ffdeae4533 Mon Sep 17 00:00:00 2001
From: luoxinwu <934743099@qq.com>
Date: 星期二, 05 三月 2024 09:40:07 +0800
Subject: [PATCH] 双争双评积分

---
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActNeighborCircleServiceImpl.java |   95 +++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 91 insertions(+), 4 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 7bc5d52..efb913b 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
@@ -9,6 +9,8 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.panzhihua.common.constants.NeighborCircleConstants;
+import com.panzhihua.common.model.dtos.ExcelDO;
+import com.panzhihua.common.model.dtos.PartyExcelDO;
 import com.panzhihua.common.model.dtos.neighbor.*;
 import com.panzhihua.common.model.vos.PageVO;
 import com.panzhihua.common.model.vos.R;
@@ -1229,7 +1231,7 @@
                 }
             }
         }
-        //统计积分
+        //报道单位统计积分
         List<NewFightNeedProblemInventory> allList = newFightNeedProblemInventoryMapper.selectAll();
         Map<Long, String> awardMap = allList.stream().filter(Objects::nonNull).collect(Collectors.toMap(NewFightNeedProblemInventory::getId, NewFightNeedProblemInventory::getAward));
         for (UnitActivityAnalysisVO unitVO : unitActivityAnalysisVOS) {
@@ -1254,12 +1256,29 @@
             unitVO.setAwardSum(sum);
         }
 
+        //报道党员统计积分
+        for (PartyMemberAnalysisVO memberAnalysisVO : partyMemberAnalysisVOS) {
+            Long userId = memberAnalysisVO.getMemberId();
+            LambdaQueryWrapper<NewFightNeedProblemClaim> wrapper = new LambdaQueryWrapper<>();
+            wrapper.eq(NewFightNeedProblemClaim::getUserId,userId);
+            List<NewFightNeedProblemClaim> newFightNeedProblemInventories = newFightNeedProblemClaimMapper.selectList(wrapper);
+            long sumAward = 0L;
+            for (NewFightNeedProblemClaim inventory : newFightNeedProblemInventories) {
+                String taskId = inventory.getTaskId();
+                NewFightNeedProblemInventory newFightNeedProblemInventory = newFightNeedProblemInventoryMapper.selectById(taskId);
+                String award = newFightNeedProblemInventory.getAward();
+                sumAward = Long.parseLong(award) + sumAward;
+            }
+            memberAnalysisVO.setPartyCount(sumAward);
+        }
+
         //统计总时长和总次数
         Integer unitServiceCount=0;
         Integer unitServiceTotalTime=0;
         Integer memberServiceCount=0;
         Integer memberServiceTotalTome=0;
         long awardSumCount=0L;
+        long partySumCount=0L;
         for (UnitActivityAnalysisVO vo : unitActivityAnalysisVOS) {
             //避免空指针
             if (ObjectUtils.isNotEmpty(vo)){
@@ -1289,7 +1308,15 @@
                 }
             }
         }
+        for (PartyMemberAnalysisVO memberAnalysisVO : partyMemberAnalysisVOS) {
+            if(ObjectUtils.isNotEmpty(memberAnalysisVO)){
+                if(ObjectUtils.isNotEmpty(memberAnalysisVO.getPartyCount())){
+                    partySumCount += memberAnalysisVO.getPartyCount();
+                }
+            }
+        }
         activityVO.setAwardSumCount(awardSumCount);
+        activityVO.setPartySumCount(partySumCount);
         activityVO.setUnitServiceTotalCount(unitServiceCount);
         activityVO.setUnitServiceTotalTime(unitServiceTotalTime);
         activityVO.setPartyMemberServiceTotalCount(memberServiceCount);
@@ -1336,7 +1363,7 @@
     }
 
     @Override
-    public R export(Integer year,String belongTo,Long communityId, HttpServletResponse response) throws Exception {
+    public List<ExcelDO> export(Integer year, String belongTo, Long communityId) throws Exception {
         List<ExcelDO> excelDOList = new ArrayList<>();
         String beginTime=null;
         String endTime=null;
@@ -1426,8 +1453,68 @@
             excelDO.setAwardSum(vo.getAwardSum());
             excelDOList.add(excelDO);
         }
-        ExcelUtils.export2Web(response,"双争双评","sheet",ExcelDO.class,excelDOList);
-        return R.ok();
+        return excelDOList;
+    }
+
+    @Override
+    public List<PartyExcelDO> partyExcel(Integer year, String belongTo, Long communityId,Long unitId) {
+        String beginTime=null;
+        String endTime=null;
+        if (null != year){
+            //设置开始,截止时间
+            beginTime=year.toString().concat("-01-01");
+            endTime=year.toString().concat("-12-31");
+        }
+        //获取党员活动统计数据
+        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)){
+                    if (ObjectUtils.isNotEmpty(vo.getMemberId())){
+                        Map<String, Integer> param = memberAlreadyAnalysis(vo.getMemberId(), partyMemberAnalysisVOS);
+                        if (param.get("flag")==1){
+                            Integer serviceTime = vo.getServiceTime();
+                            Integer serviceTimes = vo.getServiceTimes();
+                            partyMemberAnalysisVOS.get(param.get("index")).setServiceTime(partyMemberAnalysisVOS.get(param.get("index")).getServiceTime()+serviceTime);
+                            partyMemberAnalysisVOS.get(param.get("index")).setServiceTimes(partyMemberAnalysisVOS.get(param.get("index")).getServiceTimes()+serviceTimes);
+                        }else{
+                            partyMemberAnalysisVOS.add(vo);
+                        }
+                    }
+                }
+            }
+        }
+
+        //报道党员统计积分
+        for (PartyMemberAnalysisVO memberAnalysisVO : partyMemberAnalysisVOS) {
+            Long userId = memberAnalysisVO.getMemberId();
+            LambdaQueryWrapper<NewFightNeedProblemClaim> wrapper = new LambdaQueryWrapper<>();
+            wrapper.eq(NewFightNeedProblemClaim::getUserId,userId);
+            List<NewFightNeedProblemClaim> newFightNeedProblemInventories = newFightNeedProblemClaimMapper.selectList(wrapper);
+            long sumAward = 0L;
+            for (NewFightNeedProblemClaim inventory : newFightNeedProblemInventories) {
+                String taskId = inventory.getTaskId();
+                NewFightNeedProblemInventory newFightNeedProblemInventory = newFightNeedProblemInventoryMapper.selectById(taskId);
+                String award = newFightNeedProblemInventory.getAward();
+                sumAward = Long.parseLong(award) + sumAward;
+            }
+            memberAnalysisVO.setPartyCount(sumAward);
+        }
+        List<PartyExcelDO> list = new ArrayList<>();
+        for (PartyMemberAnalysisVO memberAnalysisVO : partyMemberAnalysisVOS) {
+            PartyExcelDO partyExcelDO = new PartyExcelDO();
+            partyExcelDO.setBelongTo(memberAnalysisVO.getBelongTo());
+            partyExcelDO.setOrgName(memberAnalysisVO.getOrgName());
+            partyExcelDO.setUnitName(memberAnalysisVO.getUnitName());
+            partyExcelDO.setMemberName(memberAnalysisVO.getMemberName());
+            partyExcelDO.setBelongCommunity(memberAnalysisVO.getBelongCommunity());
+            partyExcelDO.setServiceTimes(memberAnalysisVO.getServiceTimes());
+            partyExcelDO.setServiceTime(memberAnalysisVO.getServiceTime());
+            partyExcelDO.setPartyCount(memberAnalysisVO.getPartyCount());
+            list.add(partyExcelDO);
+        }
+        return list;
     }
 
 

--
Gitblit v1.7.1