|
@@ -275,7 +275,7 @@ public class StudentServeServiceImpl implements StudentServeService {
|
|
|
currentPage=currentPage.add(BigDecimal.ONE);
|
|
|
}
|
|
|
|
|
|
- studentExtracurricularExercisesSituationDao.deleteByMonday(monDayDate.toString());
|
|
|
+ studentExtracurricularExercisesSituationDao.deleteByMonday(monDayDate.toString(), null);
|
|
|
|
|
|
BigDecimal currentPage1=BigDecimal.ONE,
|
|
|
pageSize1=new BigDecimal(10000),
|
|
@@ -428,6 +428,7 @@ public class StudentServeServiceImpl implements StudentServeService {
|
|
|
|
|
|
if(!CollectionUtils.isEmpty(results)){
|
|
|
// studentExtracurricularExercisesSituationDao.deleteByMonday(monDayDate.toString());
|
|
|
+ studentExtracurricularExercisesSituationDao.deleteByMonday(monDayDate.toString(), studentIds);
|
|
|
BigDecimal currentPage1=BigDecimal.ONE,
|
|
|
pageSize1=new BigDecimal(10000),
|
|
|
total1=new BigDecimal(results.size()),
|
|
@@ -435,51 +436,53 @@ public class StudentServeServiceImpl implements StudentServeService {
|
|
|
|
|
|
while (currentPage1.compareTo(totalPage1)<=0){
|
|
|
List<StudentExtracurricularExercisesSituation> rows=results.stream().skip(pageSize1.multiply(currentPage1.subtract(BigDecimal.ONE)).longValue()).limit(pageSize1.longValue()).collect(Collectors.toList());
|
|
|
- List<Integer> updateStudentIds = rows.stream().map(StudentExtracurricularExercisesSituation::getStudentId).collect(Collectors.toList());
|
|
|
-
|
|
|
- List<StudentExtracurricularExercisesSituation> weekServiceWithStudents = studentExtracurricularExercisesSituationDao.findWeekServiceWithStudents(monDayDate.toString(), null, updateStudentIds);
|
|
|
- Map<String, StudentExtracurricularExercisesSituation> codeServeMap = weekServiceWithStudents.stream().collect(Collectors.toMap(StudentExtracurricularExercisesSituation::getStuAndTeaCode, s -> s, (s1, s2) -> s1));
|
|
|
-
|
|
|
- Set<String> newCodes = rows.stream().map(StudentExtracurricularExercisesSituation::getStuAndTeaCode).collect(Collectors.toSet());
|
|
|
- for (StudentExtracurricularExercisesSituation weekServiceWithStudent : weekServiceWithStudents) {
|
|
|
- if(weekServiceWithStudent.getActualExercisesNum()>0||newCodes.contains(weekServiceWithStudent.getStuAndTeaCode())){
|
|
|
- continue;
|
|
|
- }
|
|
|
- studentExtracurricularExercisesSituationDao.delete(weekServiceWithStudent.getId());
|
|
|
- }
|
|
|
-
|
|
|
- List<StudentExtracurricularExercisesSituation> newService = new ArrayList<>();
|
|
|
- List<StudentExtracurricularExercisesSituation> updateService = new ArrayList<>();
|
|
|
- for (StudentExtracurricularExercisesSituation result : rows) {
|
|
|
- if(codeServeMap.containsKey(result.getStuAndTeaCode())){
|
|
|
- StudentExtracurricularExercisesSituation s = codeServeMap.get(result.getStuAndTeaCode());
|
|
|
- Set<Long> courseIds = new HashSet<>();
|
|
|
- if(StringUtils.isNotBlank(s.getCourseIds())&&s.getActualExercisesNum()>0){
|
|
|
- courseIds = Arrays.stream(s.getCourseIds().split(",")).map(id->Long.valueOf(id)).collect(Collectors.toSet());
|
|
|
- }
|
|
|
- if(StringUtils.isNotBlank(result.getCourseIds())){
|
|
|
- courseIds.addAll(Arrays.stream(result.getCourseIds().split(",")).map(id->Long.valueOf(id)).collect(Collectors.toSet()));
|
|
|
- }
|
|
|
- s.setServeType(result.getServeType());
|
|
|
- if(s.getServeType().equals("HOMEWORK")){
|
|
|
- s.setCourseIds(StringUtils.join(courseIds, ","));
|
|
|
- }else{
|
|
|
- s.setCourseIds("");
|
|
|
- }
|
|
|
- if(StringUtils.isBlank(s.getCourseIds())){
|
|
|
- s.setExpectExercisesNum(1);
|
|
|
- }else{
|
|
|
- s.setExpectExercisesNum(courseIds.size());
|
|
|
- }
|
|
|
- updateService.add(s);
|
|
|
- }else{
|
|
|
- newService.add(result);
|
|
|
- }
|
|
|
- }
|
|
|
- if(!CollectionUtils.isEmpty(updateService))
|
|
|
- studentExtracurricularExercisesSituationDao.batchUpdate(updateService);
|
|
|
- if(!CollectionUtils.isEmpty(newService))
|
|
|
- studentExtracurricularExercisesSituationDao.batchInsert(newService);
|
|
|
+// List<Integer> updateStudentIds = rows.stream().map(StudentExtracurricularExercisesSituation::getStudentId).collect(Collectors.toList());
|
|
|
+
|
|
|
+// List<StudentExtracurricularExercisesSituation> weekServiceWithStudents = studentExtracurricularExercisesSituationDao.findWeekServiceWithStudents(monDayDate.toString(), null, updateStudentIds);
|
|
|
+// Map<String, StudentExtracurricularExercisesSituation> codeServeMap = weekServiceWithStudents.stream().collect(Collectors.toMap(StudentExtracurricularExercisesSituation::getStuAndTeaCode, s -> s, (s1, s2) -> s1));
|
|
|
+
|
|
|
+// Set<String> newCodes = rows.stream().map(StudentExtracurricularExercisesSituation::getStuAndTeaCode).collect(Collectors.toSet());
|
|
|
+// for (StudentExtracurricularExercisesSituation weekServiceWithStudent : weekServiceWithStudents) {
|
|
|
+// if(weekServiceWithStudent.getActualExercisesNum()>0||newCodes.contains(weekServiceWithStudent.getStuAndTeaCode())){
|
|
|
+// continue;
|
|
|
+// }
|
|
|
+// studentExtracurricularExercisesSituationDao.delete(weekServiceWithStudent.getId());
|
|
|
+// }
|
|
|
+
|
|
|
+// List<StudentExtracurricularExercisesSituation> newService = new ArrayList<>();
|
|
|
+// List<StudentExtracurricularExercisesSituation> updateService = new ArrayList<>();
|
|
|
+// for (StudentExtracurricularExercisesSituation result : rows) {
|
|
|
+// if(codeServeMap.containsKey(result.getStuAndTeaCode())){
|
|
|
+// StudentExtracurricularExercisesSituation s = codeServeMap.get(result.getStuAndTeaCode());
|
|
|
+// Set<Long> courseIds = new HashSet<>();
|
|
|
+// if(StringUtils.isNotBlank(s.getCourseIds())&&s.getActualExercisesNum()>0){
|
|
|
+// courseIds = Arrays.stream(s.getCourseIds().split(",")).map(id->Long.valueOf(id)).collect(Collectors.toSet());
|
|
|
+// }
|
|
|
+// if(StringUtils.isNotBlank(result.getCourseIds())){
|
|
|
+// courseIds.addAll(Arrays.stream(result.getCourseIds().split(",")).map(id->Long.valueOf(id)).collect(Collectors.toSet()));
|
|
|
+// }
|
|
|
+// s.setServeType(result.getServeType());
|
|
|
+// if(s.getServeType().equals("HOMEWORK")){
|
|
|
+// s.setCourseIds(StringUtils.join(courseIds, ","));
|
|
|
+// }else{
|
|
|
+// s.setCourseIds("");
|
|
|
+// }
|
|
|
+// if(StringUtils.isBlank(s.getCourseIds())){
|
|
|
+// s.setExpectExercisesNum(1);
|
|
|
+// }else{
|
|
|
+// s.setExpectExercisesNum(courseIds.size());
|
|
|
+// }
|
|
|
+// updateService.add(s);
|
|
|
+// }else{
|
|
|
+// newService.add(result);
|
|
|
+// }
|
|
|
+// }
|
|
|
+// if(!CollectionUtils.isEmpty(updateService))
|
|
|
+// studentExtracurricularExercisesSituationDao.batchUpdate(updateService);
|
|
|
+// if(!CollectionUtils.isEmpty(newService))
|
|
|
+// studentExtracurricularExercisesSituationDao.batchInsert(newService);
|
|
|
+
|
|
|
+ studentExtracurricularExercisesSituationDao.batchInsert(rows);
|
|
|
|
|
|
currentPage1=currentPage1.add(BigDecimal.ONE);
|
|
|
}
|