|
@@ -175,11 +175,77 @@ public class SmartEvaluateStudentController2 implements SmartEvaluateStudentCont
|
|
|
rules.add(rule);
|
|
rules.add(rule);
|
|
|
}
|
|
}
|
|
|
if(rules != null && rules.size() > 0){
|
|
if(rules != null && rules.size() > 0){
|
|
|
- smartTemplateRuleService.saveBatch(rules);
|
|
|
|
|
|
|
+ boolean insertBatch = smartTemplateRuleService.saveBatch(rules);
|
|
|
|
|
+ if(!insertBatch){
|
|
|
|
|
+ return CommonResult.fail("修改失败");
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- smartSubjectTemplateService.updateSmartSubjectTemplate(smartSubjectTemplate);
|
|
|
|
|
- return CommonResult.ok("操作成功");
|
|
|
|
|
|
|
+ int insert = smartSubjectTemplateService.updateSmartSubjectTemplate(smartSubjectTemplate);
|
|
|
|
|
+ if(insert <= 0){
|
|
|
|
|
+ return CommonResult.fail("修改失败");
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ //region 学生综合评价
|
|
|
|
|
+ List<Integer> examTypes = new ArrayList<>();
|
|
|
|
|
+ for (SmartTermTemplate stt : smartSubjectTemplate.getExamTypes()) {
|
|
|
|
|
+ examTypes.add(stt.getId());
|
|
|
|
|
+ }
|
|
|
|
|
+ List<SmartScore> scores = smartScoreService.querySmartScoresByex(smartSubjectTemplate.getTermId(), smartSubjectTemplate.getGradeId(), examTypes);
|
|
|
|
|
+ List<Integer> userIds = scores.stream().map(SmartScore::getUserId).distinct().collect(Collectors.toList());
|
|
|
|
|
+ List<SmartEvaluateStudent> students = smartEvaluateStudentService.getEvaluateStudents(userIds, smartSubjectTemplate.getTermId());
|
|
|
|
|
+ List<SmartEvaluateStudent> updateStudents = new ArrayList<>();
|
|
|
|
|
+ List<SmartEvaluateStudent> insertStudents = new ArrayList<>();
|
|
|
|
|
+ for (Integer userId : userIds) {
|
|
|
|
|
+ List<SmartScore> userScores = scores.stream().filter(e -> e.getUserId().equals(userId)).collect(Collectors.toList());
|
|
|
|
|
+ BigDecimal totalScoreNum = new BigDecimal(0.0);
|
|
|
|
|
+ Integer scoreNum = 0;
|
|
|
|
|
+ if (userScores != null && userScores.size() > 0) {
|
|
|
|
|
+ Optional<SmartEvaluateStudent> oStudent = students.stream().filter(e -> e.getTermId().equals(smartSubjectTemplate.getTermId()) && e.getUserId().equals(userId)).findFirst();
|
|
|
|
|
+ for (SmartScore us : userScores) {
|
|
|
|
|
+ totalScoreNum = totalScoreNum.add(new BigDecimal(us.getScore()));
|
|
|
|
|
+ scoreNum++;
|
|
|
|
|
+ }
|
|
|
|
|
+ if (oStudent != null && oStudent.isPresent()) {
|
|
|
|
|
+ oStudent.get().setScoreNum(totalScoreNum.doubleValue());
|
|
|
|
|
+ oStudent.get().setSubjectNum(scoreNum);
|
|
|
|
|
+ updateStudents.add(oStudent.get());
|
|
|
|
|
+ } else {
|
|
|
|
|
+ Optional<SmartScore> oSmartScore = scores.stream().filter(e -> e.getSemesterId().equals(smartSubjectTemplate.getTermId()) && e.getUserId().equals(userId)).findFirst();
|
|
|
|
|
+ SmartEvaluateStudent ses = new SmartEvaluateStudent();
|
|
|
|
|
+ ses.setTermId(smartSubjectTemplate.getTermId());
|
|
|
|
|
+ ses.setUserId(userId);
|
|
|
|
|
+ if (oSmartScore != null && oSmartScore.isPresent()) {
|
|
|
|
|
+ ses.setTerm(oSmartScore.get().getSemester());
|
|
|
|
|
+ ses.setGradeName(oSmartScore.get().getGrade());
|
|
|
|
|
+ ses.setGradeId(oSmartScore.get().getGradeId());
|
|
|
|
|
+ ses.setClassId(oSmartScore.get().getSchoolClassId());
|
|
|
|
|
+ ses.setClassName(oSmartScore.get().getSchoolClass());
|
|
|
|
|
+ ses.setCardNo(oSmartScore.get().getCardNo());
|
|
|
|
|
+ ses.setName(oSmartScore.get().getName());
|
|
|
|
|
+ }
|
|
|
|
|
+ ses.setScoreNum(totalScoreNum.doubleValue());
|
|
|
|
|
+ ses.setSubjectNum(scoreNum);
|
|
|
|
|
+ insertStudents.add(ses);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ if (insertStudents != null && insertStudents.size() > 0) {
|
|
|
|
|
+ boolean insertBatch = smartEvaluateStudentService.saveBatch(insertStudents);
|
|
|
|
|
+ if (!insertBatch) {
|
|
|
|
|
+ return CommonResult.fail("修改失败");
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ if (updateStudents != null && updateStudents.size() > 0) {
|
|
|
|
|
+ boolean updateBatch = smartEvaluateStudentService.updateBatchById(updateStudents);
|
|
|
|
|
+ if (!updateBatch) {
|
|
|
|
|
+ return CommonResult.fail("修改失败");
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ //endregion
|
|
|
|
|
+
|
|
|
|
|
+ return CommonResult.ok("修改成功");
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@PassToken
|
|
@PassToken
|