|
|
@@ -22,6 +22,7 @@ import com.template.common.utils.*;
|
|
|
import com.template.config.ControlConfig;
|
|
|
import com.template.config.SeewoConfig;
|
|
|
import com.template.model.enumModel.*;
|
|
|
+import com.template.model.evaluate.teacher.SmartEvaluateTeacher;
|
|
|
import com.template.model.pojo.*;
|
|
|
import com.template.model.request.*;
|
|
|
import com.template.model.result.CommonResult;
|
|
|
@@ -56,6 +57,7 @@ import java.net.URLDecoder;
|
|
|
import java.net.URLEncoder;
|
|
|
import java.nio.charset.Charset;
|
|
|
import java.time.LocalDate;
|
|
|
+import java.time.LocalDateTime;
|
|
|
import java.time.Year;
|
|
|
import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
|
@@ -119,6 +121,15 @@ public class SmartUserController implements SmartUserControllerAPI {
|
|
|
@Autowired
|
|
|
private SmartAuthorGroupService smartAuthorGroupService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private SmartSemesterService smartSemesterService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private SmartSubjectService smartSubjectService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private SmartEvaluateTeacherService smartEvaluateTeacherService;
|
|
|
+
|
|
|
private static Logger logger = LoggerFactory.getLogger(SmartUserController.class);
|
|
|
|
|
|
//region 开发自己导数据用的接口
|
|
|
@@ -2355,7 +2366,8 @@ public class SmartUserController implements SmartUserControllerAPI {
|
|
|
|
|
|
int useBs = 1;
|
|
|
int useXw = 1;
|
|
|
-
|
|
|
+ SmartGrade gradeData = null;
|
|
|
+ SmartClass classData = null;
|
|
|
if (org.springframework.util.StringUtils.hasText(isur.getCardNo())) {
|
|
|
//重复性判断
|
|
|
int existCount = smartUserService.querySmartUserByCardNo(isur.getCardNo());
|
|
|
@@ -2437,12 +2449,12 @@ public class SmartUserController implements SmartUserControllerAPI {
|
|
|
//endregion
|
|
|
|
|
|
//获取班级Uid
|
|
|
- SmartClass classData = smartClassService.getSmartClassById(isur.getSchoolClass());
|
|
|
+ classData = smartClassService.getSmartClassById(isur.getSchoolClass());
|
|
|
if (classData == null) {
|
|
|
return CommonResult.fail("班级数据无效,新增失败");
|
|
|
}
|
|
|
|
|
|
- SmartGrade gradeData = smartGradeService.querySmartGradeById(Integer.valueOf(isur.getGrade()));
|
|
|
+ gradeData = smartGradeService.querySmartGradeById(Integer.valueOf(isur.getGrade()));
|
|
|
if (gradeData == null) {
|
|
|
return CommonResult.fail("年级数据无效,新增失败");
|
|
|
}
|
|
|
@@ -2519,7 +2531,7 @@ public class SmartUserController implements SmartUserControllerAPI {
|
|
|
|
|
|
if (isur.getDuties().intValue() == eDuties.ClassTeacher.getValue()) {
|
|
|
//获取班级Uid
|
|
|
- SmartClass classData = smartClassService.getSmartClassById(isur.getSchoolClass());
|
|
|
+ classData = smartClassService.getSmartClassById(isur.getSchoolClass());
|
|
|
if (classData == null) {
|
|
|
return CommonResult.fail("班级数据无效,新增失败");
|
|
|
}
|
|
|
@@ -2594,6 +2606,53 @@ public class SmartUserController implements SmartUserControllerAPI {
|
|
|
if (!insertBatch) {
|
|
|
return CommonResult.fail("任课数据添加失败");
|
|
|
}
|
|
|
+
|
|
|
+ //region 添加教师综合素质评价
|
|
|
+ List<Integer> ids = teachings.stream().map(SmartTeaching::getClassId).collect(Collectors.toList());
|
|
|
+ List<SmartClass> classes = smartClassService.getSmartClasss(ids);
|
|
|
+
|
|
|
+ List<Integer> subjectIds = teachings.stream().map(SmartTeaching::getSubjectId).collect(Collectors.toList());
|
|
|
+ List<SmartSubject> subjects = smartSubjectService.getSmartSubjectId(subjectIds);
|
|
|
+
|
|
|
+ List<Integer> gradeIds = teachings.stream().map(SmartTeaching::getGradeId).collect(Collectors.toList());
|
|
|
+ List<SmartGrade> grades = smartGradeService.queryGradeByIds(gradeIds);
|
|
|
+
|
|
|
+ List<SmartEvaluateTeacher> eTeachers = new ArrayList<>();
|
|
|
+ LocalDateTime now = LocalDateTime.now();
|
|
|
+ List<SmartSemester> semesters = smartSemesterService.getSemestersByTime(now);
|
|
|
+ for (SmartSemester semester : semesters) {
|
|
|
+ for (SmartTeaching teacher : teachings) {
|
|
|
+ Optional<SmartClass> classTeacherData = classes != null && classes.size() > 0 ?
|
|
|
+ classes.stream().filter(e -> e.getId().equals(teacher.getClassId())).findFirst() : null;
|
|
|
+ Optional<SmartSubject> subjectData = subjects != null && subjects.size() > 0 ?
|
|
|
+ subjects.stream().filter(e -> e.getId().equals(teacher.getSubjectId())).findFirst() : null;
|
|
|
+ Optional<SmartGrade> ogradeData = grades != null && grades.size() > 0 ?
|
|
|
+ grades.stream().filter(e -> e.getId().equals(teacher.getGradeId())).findFirst() : null;
|
|
|
+
|
|
|
+ SmartEvaluateTeacher set = new SmartEvaluateTeacher();
|
|
|
+ set.setCardNo(su.getCardNo());
|
|
|
+ set.setName(su.getName());
|
|
|
+ set.setUserId(su.getId());
|
|
|
+ set.setGradeId(teacher.getGradeId());
|
|
|
+ set.setGradeName(ogradeData != null && ogradeData.isPresent() ? ogradeData.get().getName() : "");
|
|
|
+ set.setTermId(semester.getId());
|
|
|
+ set.setTerm(semester.getName());
|
|
|
+ set.setSubjectId(teacher.getSubjectId());
|
|
|
+ set.setSubject(subjectData != null && subjectData.isPresent() ? subjectData.get().getName() : "");
|
|
|
+ set.setClassId(su.getSchoolClass());
|
|
|
+ set.setClassName(classTeacherData != null && classTeacherData.isPresent() ? classTeacherData.get().getName() : "");
|
|
|
+ set.setTotalScore(0.0);
|
|
|
+ set.setLowingScore(0.0);
|
|
|
+ eTeachers.add(set);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (eTeachers != null && eTeachers.size() > 0) {
|
|
|
+ boolean teacherBatch = smartEvaluateTeacherService.saveBatch(eTeachers);
|
|
|
+ if (!teacherBatch) {
|
|
|
+ throw new Exception("教师综合评价添加失败!");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //endregion
|
|
|
}
|
|
|
}
|
|
|
//新增用户得将用户信息通过接口推送到希沃、百胜
|
|
|
@@ -3119,10 +3178,12 @@ public class SmartUserController implements SmartUserControllerAPI {
|
|
|
int result = smartUserService.updateSmartUser(su);
|
|
|
//region 任课数据
|
|
|
if (result > 0 && usur.getIdentityId().intValue() == eIdentityStatu.Teacher.getValue()) {
|
|
|
- smartTeachingService.deleteByUserId(su.getId());
|
|
|
+ smartTeachingService.deleteByUserId(su.getId());//删除任课
|
|
|
+ //查找原有的任课数据
|
|
|
+ List<SmartTeaching> oldTeachings = smartTeachingService.queryTeachingByUserId(su.getId());
|
|
|
+ List<SmartTeaching> newTeachings = new ArrayList<>();
|
|
|
+ List<SmartTeaching> newEteachings = new ArrayList<>();
|
|
|
if (usur.getUsr() != null && usur.getUsr().size() > 0) {
|
|
|
-
|
|
|
- List<SmartTeaching> teachings = new ArrayList<>();
|
|
|
for (isrRequest sv : usur.getUsr()) {
|
|
|
if (sv.getIds() != null && sv.getIds().size() > 0) {
|
|
|
SmartTeaching st = new SmartTeaching();
|
|
|
@@ -3130,14 +3191,69 @@ public class SmartUserController implements SmartUserControllerAPI {
|
|
|
st.setSubjectId(sv.getIds().size() > 0 ? sv.getIds().get(0) : 0);
|
|
|
st.setGradeId(sv.getIds().size() > 1 ? sv.getIds().get(1) : 0);
|
|
|
st.setClassId(sv.getIds().size() > 2 ? sv.getIds().get(2) : 0);
|
|
|
- teachings.add(st);
|
|
|
+ long existCount = oldTeachings.stream().filter(e -> e.getUserId().equals(st.getUserId()) && e.getSubjectId().equals(st.getSubjectId())
|
|
|
+ && e.getGradeId().equals(st.getGradeId()) && e.getClassId().equals(st.getClassId())).count();
|
|
|
+ if (existCount <= 0) {
|
|
|
+ newEteachings.add(st);
|
|
|
+ }
|
|
|
+ newTeachings.add(st);
|
|
|
}
|
|
|
}
|
|
|
- if (teachings != null && teachings.size() > 0) {
|
|
|
- boolean insertBatch = smartTeachingService.saveBatch(teachings);
|
|
|
- if (!insertBatch) {
|
|
|
- return CommonResult.fail("任课数据添加失败");
|
|
|
+
|
|
|
+ if (newEteachings != null && newEteachings.size() > 0) {
|
|
|
+ //region 添加教师综合素质评价
|
|
|
+ List<Integer> ids = newEteachings.stream().map(SmartTeaching::getClassId).collect(Collectors.toList());
|
|
|
+ List<SmartClass> classes = smartClassService.getSmartClasss(ids);
|
|
|
+
|
|
|
+ List<Integer> subjectIds = newEteachings.stream().map(SmartTeaching::getSubjectId).collect(Collectors.toList());
|
|
|
+ List<SmartSubject> subjects = smartSubjectService.getSmartSubjectId(subjectIds);
|
|
|
+
|
|
|
+ List<Integer> gradeIds = newEteachings.stream().map(SmartTeaching::getGradeId).collect(Collectors.toList());
|
|
|
+ List<SmartGrade> grades = smartGradeService.queryGradeByIds(gradeIds);
|
|
|
+
|
|
|
+ List<SmartEvaluateTeacher> eTeachers = new ArrayList<>();
|
|
|
+ LocalDateTime now = LocalDateTime.now();
|
|
|
+ List<SmartSemester> semesters = smartSemesterService.getSemestersByTime(now);
|
|
|
+ for (SmartSemester semester : semesters) {
|
|
|
+ for (SmartTeaching teacher : newEteachings) {
|
|
|
+ Optional<SmartClass> classTeacherData = classes != null && classes.size() > 0 ?
|
|
|
+ classes.stream().filter(e -> e.getId().equals(teacher.getClassId())).findFirst() : null;
|
|
|
+ Optional<SmartSubject> subjectData = subjects != null && subjects.size() > 0 ?
|
|
|
+ subjects.stream().filter(e -> e.getId().equals(teacher.getSubjectId())).findFirst() : null;
|
|
|
+ Optional<SmartGrade> gradeData = grades != null && grades.size() > 0 ?
|
|
|
+ grades.stream().filter(e -> e.getId().equals(teacher.getGradeId())).findFirst() : null;
|
|
|
+
|
|
|
+ SmartEvaluateTeacher set = new SmartEvaluateTeacher();
|
|
|
+ set.setCardNo(su.getCardNo());
|
|
|
+ set.setName(su.getName());
|
|
|
+ set.setUserId(su.getId());
|
|
|
+ set.setGradeId(teacher.getGradeId());
|
|
|
+ set.setGradeName(gradeData != null && gradeData.isPresent() ? gradeData.get().getName() : "");
|
|
|
+ set.setTermId(semester.getId());
|
|
|
+ set.setTerm(semester.getName());
|
|
|
+ set.setSubjectId(teacher.getSubjectId());
|
|
|
+ set.setSubject(subjectData != null && subjectData.isPresent() ? subjectData.get().getName() : "");
|
|
|
+ set.setClassId(su.getSchoolClass());
|
|
|
+ set.setClassName(classTeacherData != null && classTeacherData.isPresent() ? classTeacherData.get().getName() : "");
|
|
|
+ set.setTotalScore(0.0);
|
|
|
+ set.setLowingScore(0.0);
|
|
|
+ eTeachers.add(set);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (eTeachers != null && eTeachers.size() > 0) {
|
|
|
+ boolean teacherBatch = smartEvaluateTeacherService.saveBatch(eTeachers);
|
|
|
+ if (!teacherBatch) {
|
|
|
+ throw new Exception("教师综合评价添加失败!");
|
|
|
+ }
|
|
|
}
|
|
|
+ //endregion
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if (newTeachings != null && newTeachings.size() > 0) {
|
|
|
+ boolean insertBatch = smartTeachingService.saveBatch(newTeachings);
|
|
|
+ if (!insertBatch) {
|
|
|
+ return CommonResult.fail("任课数据添加失败");
|
|
|
}
|
|
|
}
|
|
|
}
|