From 69a50dada3c48d87dc27f06ee598d6c5711dbe2e Mon Sep 17 00:00:00 2001
From: songhuangfeng123 <shf18767906695@163.com>
Date: 星期五, 19 八月 2022 18:56:47 +0800
Subject: [PATCH] 目标统计fix

---
 goal-manage/goal-manage-service/src/main/java/com/gkhy/safePlatform/targetDuty/service/impl/TargetMngServiceImpl.java  |   71 ++++++++++++++++++++++-------------
 goal-manage/goal-manage-service/src/main/java/com/gkhy/safePlatform/targetDuty/service/impl/ExamineMngServiceImpl.java |   33 +++++++++-------
 2 files changed, 63 insertions(+), 41 deletions(-)

diff --git a/goal-manage/goal-manage-service/src/main/java/com/gkhy/safePlatform/targetDuty/service/impl/ExamineMngServiceImpl.java b/goal-manage/goal-manage-service/src/main/java/com/gkhy/safePlatform/targetDuty/service/impl/ExamineMngServiceImpl.java
index 229f028..d4b353d 100644
--- a/goal-manage/goal-manage-service/src/main/java/com/gkhy/safePlatform/targetDuty/service/impl/ExamineMngServiceImpl.java
+++ b/goal-manage/goal-manage-service/src/main/java/com/gkhy/safePlatform/targetDuty/service/impl/ExamineMngServiceImpl.java
@@ -16,6 +16,7 @@
 import com.gkhy.safePlatform.targetDuty.service.CommonService;
 import com.gkhy.safePlatform.targetDuty.service.ExamineMngService;
 import com.gkhy.safePlatform.targetDuty.service.ExamineTemplateService;
+import com.sun.org.apache.bcel.internal.generic.IF_ACMPEQ;
 import org.springframework.stereotype.Service;
 import org.springframework.beans.factory.annotation.Autowired;
 import com.gkhy.safePlatform.commons.enums.ResultCodes;
@@ -55,8 +56,8 @@
 
     @Resource
     private CommonService commonService;
-    
-	
+
+
 	@Override
     public ResultVO queryAll(PageQuery<ExamineMngQueryCriteria> pageQuery) {
         Long pageIndex = pageQuery.getPageIndex();
@@ -87,19 +88,21 @@
             List<CurrentExamineDto> list = JSONObject.parseArray( dto.getNumberDetailJson(), CurrentExamineDto.class);
             List<Long> idList = list.stream().map(CurrentExamineDto::getId).collect(Collectors.toList());
 
-            List<ExamineItem> itemList = examineItemRepository.selectBatchIds(idList);
-            Map<Long,ExamineItem> itemMap = itemList.stream().collect(
-                    Collectors.toMap(ExamineItem::getId, Function.identity(),(k1, k2)->k1));
+            if (!idList.isEmpty()){
+                List<ExamineItem> itemList = examineItemRepository.selectBatchIds(idList);
+                Map<Long,ExamineItem> itemMap = itemList.stream().collect(
+                        Collectors.toMap(ExamineItem::getId, Function.identity(),(k1, k2)->k1));
 
-            if(itemMap != null){
-                list.forEach(f->{
-                    ExamineItem item = itemMap.get(f.getId());
-                    if(item != null){
-                        f.setItemDetail(item.getItemDetail());
-                        f.setContent(item.getContent());
-                        f.setJudgeStandard(item.getJudgeStandard());
-                    }
-                });
+                if(itemMap != null){
+                    list.forEach(f->{
+                        ExamineItem item = itemMap.get(f.getId());
+                        if(item != null){
+                            f.setItemDetail(item.getItemDetail());
+                            f.setContent(item.getContent());
+                            f.setJudgeStandard(item.getJudgeStandard());
+                        }
+                    });
+                }
             }
             dto.setCurrentExamineDtoList(list);
         });
@@ -161,4 +164,4 @@
 
         return dto;
     }
-}
\ No newline at end of file
+}
diff --git a/goal-manage/goal-manage-service/src/main/java/com/gkhy/safePlatform/targetDuty/service/impl/TargetMngServiceImpl.java b/goal-manage/goal-manage-service/src/main/java/com/gkhy/safePlatform/targetDuty/service/impl/TargetMngServiceImpl.java
index 33b9cd6..9f750da 100644
--- a/goal-manage/goal-manage-service/src/main/java/com/gkhy/safePlatform/targetDuty/service/impl/TargetMngServiceImpl.java
+++ b/goal-manage/goal-manage-service/src/main/java/com/gkhy/safePlatform/targetDuty/service/impl/TargetMngServiceImpl.java
@@ -10,20 +10,14 @@
 import com.gkhy.safePlatform.commons.utils.BeanCopyUtils;
 import com.gkhy.safePlatform.commons.vo.ResultVO;
 import com.gkhy.safePlatform.commons.vo.SearchResultVO;
-import com.gkhy.safePlatform.targetDuty.entity.TargetDutyWorkApprove;
-import com.gkhy.safePlatform.targetDuty.entity.TargetExamine;
-import com.gkhy.safePlatform.targetDuty.entity.TargetMng;
-import com.gkhy.safePlatform.targetDuty.entity.TargetType;
+import com.gkhy.safePlatform.targetDuty.entity.*;
 import com.gkhy.safePlatform.targetDuty.model.dto.req.TargetCheckAndSubmitQueryCriteria;
 import com.gkhy.safePlatform.targetDuty.model.dto.req.TargetDivideDetailQueryCriteria;
 import com.gkhy.safePlatform.targetDuty.model.dto.req.TargetMngQueryCriteria;
 import com.gkhy.safePlatform.targetDuty.model.dto.resp.TargetCheckAndSubmitDto;
 import com.gkhy.safePlatform.targetDuty.model.dto.resp.TargetDivideDetailDto;
 import com.gkhy.safePlatform.targetDuty.model.dto.resp.TargetMngDto;
-import com.gkhy.safePlatform.targetDuty.repository.TargetDutyWorkApproveRepository;
-import com.gkhy.safePlatform.targetDuty.repository.TargetExamineRepository;
-import com.gkhy.safePlatform.targetDuty.repository.TargetMngRepository;
-import com.gkhy.safePlatform.targetDuty.repository.TargetTypeRepository;
+import com.gkhy.safePlatform.targetDuty.repository.*;
 import com.gkhy.safePlatform.targetDuty.service.CommonService;
 import com.gkhy.safePlatform.targetDuty.service.TargetDivideDetailService;
 import com.gkhy.safePlatform.targetDuty.service.TargetMngService;
@@ -55,6 +49,9 @@
 
     @Resource
     private TargetDivideDetailService targetDivideDetailService;
+
+    @Autowired
+    private TargetDivideDetailRepository targetDivideDetailRepository;
 
     @Resource
     private TargetDutyWorkApproveRepository targetDutyWorkApproveRepository;
@@ -237,27 +234,49 @@
     public Object statistics(TargetMngQueryCriteria criteria) {
         Map<String,String> map = new HashMap<>();
         // 查询总数
-        Integer total = null;
-        try {
-            total = targetMngRepository.selectTotal(BeanToMapUtil.convertBean(criteria));
-            //未完成数量
-            Integer noComplete = targetMngRepository.selectNoComplete(BeanToMapUtil.convertBean(criteria));
+        Integer total = 0;
+        // 未完成数量
+        Integer complete=0;
 
-
-
-            if(noComplete == null){
-                noComplete = 0;
+        // 查询目标已分解且事件类型对一个的目标
+        List<TargetMng> targetMngList = targetMngRepository.selectList(
+                new QueryWrapper<TargetMng>()
+                .eq("target_type",criteria.getTargetType())
+                .eq("divide_status",1)
+        );
+        if (!targetMngList.isEmpty()){
+            total = targetMngList.size();
+            // 查询目标下的所有分解项
+            for (TargetMng targetMng : targetMngList){
+                Boolean completeFlag = true;
+                List<TargetDivideDetail> targetDivideDetailList = targetDivideDetailRepository.selectList(
+                        new QueryWrapper<TargetDivideDetail>()
+                        .eq("target_id",targetMng.getId())
+                );
+                if (!targetDivideDetailList.isEmpty()){
+                    // 查询分解项 是否已经审核通过
+                    for (TargetDivideDetail targetDivideDetail :targetDivideDetailList){
+                        List<TargetExamine> targetExamineList = targetExamineRepository.selectList(
+                                new QueryWrapper<TargetExamine>()
+                                        .eq("target_divide_detail_id",targetDivideDetail.getId())
+                                        .eq("examine_result",1)
+                        );
+                        if (targetExamineList.isEmpty()){
+                            completeFlag=false;
+                        }
+                    }
+                }
+                // 该目标中有未评价的或者不合格的
+                if (completeFlag){
+                    complete++;
+                }
             }
-            //已完成数
-            int complete = total-noComplete;
-
-            map.put("total",total+"");
-            map.put("noComplete",noComplete+"");
-            map.put("complete",complete+"");
-            return map;
-        } catch (Exception e) {
-
         }
+        //已完成数
+        int noComplete = total-complete;
+        map.put("total",total+"");
+        map.put("noComplete",noComplete+"");
+        map.put("complete",complete+"");
         return map;
     }
 

--
Gitblit v1.9.2