Browse Source

评价结果调整

dzx 4 months ago
parent
commit
f031d75865

+ 20 - 1
src/main/java/com/xjrsoft/module/evaluate/service/impl/EvaluateResultServiceImpl.java

@@ -156,7 +156,7 @@ public class EvaluateResultServiceImpl extends MPJBaseServiceImpl<EvaluateResult
 
         Map<Long, List<ResultViewingPageVo>> groupedByObjectIdList = new HashMap<>();
         //获取该评价管理下的所有被评对象的所有题的总得分
-        if (evaluateManageItemIdList.size() > 0 && evaluateObjectIdList.size() > 0) {
+        if (!evaluateManageItemIdList.isEmpty()) {
             List<ResultViewingPageVo> listByObjectIdAndEvaluateItemId =  evaluateResultMapper.listByObjectIdAndEvaluateItemId(evaluateObjectIdList, evaluateManageItemIdList);
             //将所有被评对象的所有题的总得分处理成Map
             groupedByObjectIdList = listByObjectIdAndEvaluateItemId.stream()
@@ -188,6 +188,25 @@ public class EvaluateResultServiceImpl extends MPJBaseServiceImpl<EvaluateResult
             }
         }
 
+        Map<Long, Double> synthesisScoreMap = resultData.stream().collect(Collectors.groupingBy(ResultViewingPageVo::getObjectId, Collectors.summingDouble(ResultViewingPageVo::getScore)));
+
+        Map<String, Double> itemListMaps = new HashMap<>();
+        Map<Long, List<ResultViewingPageVo>> personListMap = resultData.stream().collect(Collectors.groupingBy(ResultViewingPageVo::getObjectId));
+        for (Long objectId : personListMap.keySet()) {
+            List<ResultViewingPageVo> itemList = personListMap.get(objectId);
+            Map<Long, Double> itemListMap = itemList.stream().collect(Collectors.groupingBy(ResultViewingPageVo::getEvaluateManageItemId, Collectors.summingDouble(ResultViewingPageVo::getScore)));
+            for (Long itemId : itemListMap.keySet()) {
+                itemListMaps.put(objectId + "" + itemId, itemListMap.get(itemId));
+            }
+        }
+
+        for (ResultViewingPageVo pageVo : resultData) {
+            pageVo.setSynthesisScore(synthesisScoreMap.get(pageVo.getObjectId()) + "");
+
+            Double itemScore = itemListMaps.get(pageVo.getObjectId() + "" + pageVo.getEvaluateManageItemId());
+            pageVo.setTopicScore(itemScore + "");
+        }
+
         return resultData;
     }
 

+ 3 - 0
src/main/java/com/xjrsoft/module/evaluate/vo/EvaluateResultIndexPageVo.java

@@ -51,4 +51,7 @@ public class EvaluateResultIndexPageVo {
     @ApiModelProperty("结束时间")
     private Date endTime;
 
+    @ApiModelProperty("状态(-1:未发布,1:进行中,0,暂停)")
+    private Integer status;
+
 }

+ 4 - 0
src/main/java/com/xjrsoft/module/evaluate/vo/ResultViewingPageVo.java

@@ -66,4 +66,8 @@ public class ResultViewingPageVo {
     @ApiModelProperty("状态(2:已评分,0:未评分)")
     private Integer status;
 
+    public double getScore() {
+        return Double.parseDouble(sumScore);
+    }
+
 }

+ 2 - 1
src/main/resources/mapper/evaluate/EvaluateResultMapper.xml

@@ -11,7 +11,8 @@
         t4.name AS evaluateTypeCN,
         t.name,
         t.start_time,
-        t.end_time
+        t.end_time,
+        t.status
         FROM evaluate_manage t
         LEFT JOIN base_semester t1 ON (t1.id = t.base_semester_id)
         LEFT JOIN xjr_department t2 ON (t2.id = t.org_id)