|
@@ -529,7 +529,7 @@ public class SmartEvaluateTeacherController implements SmartEvaluateTeacherContr
|
|
|
Optional<SmartEvaluateTdetail> oset = sets.stream().filter(e -> e.getScoreManageId().equals(detail.getId())).findFirst();
|
|
Optional<SmartEvaluateTdetail> oset = sets.stream().filter(e -> e.getScoreManageId().equals(detail.getId())).findFirst();
|
|
|
if (oset != null && oset.isPresent()) {
|
|
if (oset != null && oset.isPresent()) {
|
|
|
child.setOwnNum(oset.get().getOwnNum());
|
|
child.setOwnNum(oset.get().getOwnNum());
|
|
|
- ownerTotal.add(new BigDecimal(oset.get().getOwnNum()));
|
|
|
|
|
|
|
+ ownerTotal = ownerTotal.add(new BigDecimal(oset.get().getOwnNum()));
|
|
|
}
|
|
}
|
|
|
childs.add(child);
|
|
childs.add(child);
|
|
|
}
|
|
}
|
|
@@ -553,20 +553,30 @@ public class SmartEvaluateTeacherController implements SmartEvaluateTeacherContr
|
|
|
SmartEvaluateTeacher teacher = smartEvaluateTeacherService.getSmartEvaluateTeacherById(id);
|
|
SmartEvaluateTeacher teacher = smartEvaluateTeacherService.getSmartEvaluateTeacherById(id);
|
|
|
QueryWrapper<SmartEvaluateTdetail> queryWrapper1 = new QueryWrapper<>();
|
|
QueryWrapper<SmartEvaluateTdetail> queryWrapper1 = new QueryWrapper<>();
|
|
|
queryWrapper1.eq("deleted", 0);
|
|
queryWrapper1.eq("deleted", 0);
|
|
|
- queryWrapper1.eq("parent_id", 0);
|
|
|
|
|
- queryWrapper1.eq("term", teacher.getTerm());
|
|
|
|
|
- queryWrapper1.eq("card_no", teacher.getCardNo());
|
|
|
|
|
|
|
+ queryWrapper1.eq("term_id", teacher.getTermId());
|
|
|
|
|
+ queryWrapper1.eq("user_id", teacher.getUserId());
|
|
|
List<SmartEvaluateTdetail> detailList = smartEvaluateTdetailService.getEvaluateTdetailByKey(queryWrapper1);
|
|
List<SmartEvaluateTdetail> detailList = smartEvaluateTdetailService.getEvaluateTdetailByKey(queryWrapper1);
|
|
|
List<SmartScoreManage> scoreManages = smartScoreManageService.queryDatasByTermId(teacher.getTermId());
|
|
List<SmartScoreManage> scoreManages = smartScoreManageService.queryDatasByTermId(teacher.getTermId());
|
|
|
|
|
+ List<SmartScoreManage> parentScoreManages = scoreManages.stream().filter(e -> e.getParentId().intValue() == 0).collect(Collectors.toList());
|
|
|
List<JSONObject> resultJson = new ArrayList<>();
|
|
List<JSONObject> resultJson = new ArrayList<>();
|
|
|
- for (int i = 0; i < detailList.size(); i++) {
|
|
|
|
|
|
|
+ for (SmartScoreManage parentData:parentScoreManages) {
|
|
|
JSONObject jsonObject = new JSONObject();
|
|
JSONObject jsonObject = new JSONObject();
|
|
|
- SmartEvaluateTdetail smartEvaluateTdetail = detailList.get(i);
|
|
|
|
|
- Optional<SmartScoreManage> manageData = scoreManages.stream().filter(e -> e.getId().equals(smartEvaluateTdetail.getId())).findFirst();
|
|
|
|
|
- String scoreItem = manageData != null && manageData.isPresent() ? manageData.get().getScoreItem() : "";
|
|
|
|
|
- double avgScore = smartEvaluateTdetailService.getAvgEvaluateScore(teacher.getTerm(), scoreItem);
|
|
|
|
|
- jsonObject.put("name", scoreItem);
|
|
|
|
|
- jsonObject.put("ownScore", smartEvaluateTdetail.getOwnNum());
|
|
|
|
|
|
|
+ BigDecimal ownScore = new BigDecimal(0.0);
|
|
|
|
|
+ Double avgScore = 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++;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ avgScore = num == 0 ? 0 : (new BigDecimal(ownScore.doubleValue() / num).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue());
|
|
|
|
|
+
|
|
|
|
|
+ jsonObject.put("name", parentData.getScoreItem());
|
|
|
|
|
+ jsonObject.put("ownScore", ownScore);
|
|
|
jsonObject.put("avgScore", avgScore);
|
|
jsonObject.put("avgScore", avgScore);
|
|
|
resultJson.add(jsonObject);
|
|
resultJson.add(jsonObject);
|
|
|
}
|
|
}
|