|
|
@@ -554,30 +554,32 @@ public class SmartEvaluateTeacherController implements SmartEvaluateTeacherContr
|
|
|
QueryWrapper<SmartEvaluateTdetail> queryWrapper1 = new QueryWrapper<>();
|
|
|
queryWrapper1.eq("deleted", 0);
|
|
|
queryWrapper1.eq("term_id", teacher.getTermId());
|
|
|
- queryWrapper1.eq("user_id", teacher.getUserId());
|
|
|
List<SmartEvaluateTdetail> detailList = smartEvaluateTdetailService.getEvaluateTdetailByKey(queryWrapper1);
|
|
|
+ int teacherCount = smartEvaluateTeacherService.queryTeacherCount(teacher.getTermId());
|
|
|
List<SmartScoreManage> scoreManages = smartScoreManageService.queryDatasByTermId(teacher.getTermId());
|
|
|
- List<SmartScoreManage> parentScoreManages = scoreManages.stream().filter(e -> e.getParentId().intValue() == 0).collect(Collectors.toList());
|
|
|
+ List<SmartScoreManage> parentScoreManages = scoreManages.stream().filter(e -> e.getParentId().intValue() == 0).collect(Collectors.toList());
|
|
|
List<JSONObject> resultJson = new ArrayList<>();
|
|
|
- for (SmartScoreManage parentData:parentScoreManages) {
|
|
|
+ for (SmartScoreManage parentData : parentScoreManages) {
|
|
|
JSONObject jsonObject = new JSONObject();
|
|
|
BigDecimal ownScore = new BigDecimal(0.0);
|
|
|
- Double avgScore = 0.0;
|
|
|
+ BigDecimal avgScore = new BigDecimal(0.0);
|
|
|
Integer num = 0;
|
|
|
List<SmartScoreManage> childs = scoreManages.stream().filter(e -> e.getParentId().equals(parentData.getId())).collect(Collectors.toList());
|
|
|
- for (SmartScoreManage child :childs) {
|
|
|
- Optional<SmartEvaluateTdetail> oChild = detailList.stream().filter(e -> e.getScoreManageId().equals(child.getId())).findFirst();
|
|
|
- if(oChild != null && oChild.isPresent()){
|
|
|
- ownScore = ownScore.add(new BigDecimal(oChild.get().getOwnNum()));
|
|
|
- num++;
|
|
|
+ for (SmartScoreManage child : childs) {
|
|
|
+ List<SmartEvaluateTdetail> childDatas =detailList.stream().filter(e -> e.getScoreManageId().equals(child.getId())).collect(Collectors.toList());
|
|
|
+ for (SmartEvaluateTdetail childData:childDatas) {
|
|
|
+ if (childData.getUserId().equals(teacher.getUserId())) {
|
|
|
+ ownScore = ownScore.add(new BigDecimal(childData.getOwnNum()));
|
|
|
+ }
|
|
|
+ avgScore.add(new BigDecimal(childData.getOwnNum()));
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- avgScore = num == 0 ? 0 : (new BigDecimal(ownScore.doubleValue() / num).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue());
|
|
|
+ Double avg = teacherCount == 0 ? 0 : (new BigDecimal(avgScore.doubleValue() / teacherCount).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue());
|
|
|
|
|
|
jsonObject.put("name", parentData.getScoreItem());
|
|
|
jsonObject.put("ownScore", ownScore);
|
|
|
- jsonObject.put("avgScore", avgScore);
|
|
|
+ jsonObject.put("avgScore", avg);
|
|
|
resultJson.add(jsonObject);
|
|
|
}
|
|
|
JSONObject jsonObject = new JSONObject();
|