|
|
@@ -37,6 +37,7 @@ import com.xjrsoft.module.student.mapper.StudentReportRecordMapper;
|
|
|
import com.xjrsoft.module.student.service.IBaseNewStudentService;
|
|
|
import com.xjrsoft.module.student.service.IStudentReportPlanService;
|
|
|
import lombok.AllArgsConstructor;
|
|
|
+import org.apache.commons.collections.CollectionUtils;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
@@ -416,47 +417,47 @@ public class BandingTaskClassStudentServiceImpl extends MPJBaseServiceImpl<Bandi
|
|
|
existInsertUserIds.add(record.getUserId());
|
|
|
}
|
|
|
|
|
|
-
|
|
|
List<SyncStudentDataListVo> syncStudentDataList = this.baseMapper.getSyncStudentDataList(studentReportPlan.getId());
|
|
|
- List<Long> newStudentIds = syncStudentDataList.stream().map(SyncStudentDataListVo::getNewStudentId).collect(Collectors.toList());
|
|
|
-
|
|
|
- //修改新生基本信息
|
|
|
- Map<Long, String> stduyStatusMap = syncStudentDataList.stream().collect(Collectors.toMap(SyncStudentDataListVo::getNewStudentId, SyncStudentDataListVo::getStduyStatus));
|
|
|
- List<BaseNewStudent> studentList = newStudentService.listByIds(newStudentIds);
|
|
|
- for (BaseNewStudent student : studentList) {
|
|
|
- student.setStduyStatus(stduyStatusMap.get(student.getId()));
|
|
|
- }
|
|
|
- newStudentService.updateBatchById(studentList);
|
|
|
-
|
|
|
- //修改班级信息
|
|
|
- Map<Long, Long> bandingTaskClassMap = syncStudentDataList.stream().filter(x -> x.getBandingTaskClassId() != null).collect(Collectors.toMap(SyncStudentDataListVo::getNewStudentId, SyncStudentDataListVo::getBandingTaskClassId));
|
|
|
+ if(CollectionUtils.isNotEmpty(syncStudentDataList)){
|
|
|
+ List<Long> newStudentIds = syncStudentDataList.stream().map(SyncStudentDataListVo::getNewStudentId).collect(Collectors.toList());
|
|
|
+
|
|
|
+ //修改新生基本信息
|
|
|
+ Map<Long, String> stduyStatusMap = syncStudentDataList.stream().collect(Collectors.toMap(SyncStudentDataListVo::getNewStudentId, SyncStudentDataListVo::getStduyStatus));
|
|
|
+ List<BaseNewStudent> studentList = newStudentService.listByIds(newStudentIds);
|
|
|
+ for (BaseNewStudent student : studentList) {
|
|
|
+ student.setStduyStatus(stduyStatusMap.get(student.getId()));
|
|
|
+ }
|
|
|
+ newStudentService.updateBatchById(studentList);
|
|
|
|
|
|
- List<BandingTaskClass> taskClassList = taskClassMapper.selectList(
|
|
|
- new QueryWrapper<BandingTaskClass>().lambda()
|
|
|
- .eq(BandingTaskClass::getBandingTaskId, studentReportPlan.getBandingTaskId())
|
|
|
- );
|
|
|
- Map<Long, Long> taskClassMap = taskClassList.stream().collect(Collectors.toMap(BandingTaskClass::getBaseClassId, BandingTaskClass::getId));
|
|
|
+ //修改班级信息
|
|
|
+ Map<Long, Long> bandingTaskClassMap = syncStudentDataList.stream().filter(x -> x.getBandingTaskClassId() != null).collect(Collectors.toMap(SyncStudentDataListVo::getNewStudentId, SyncStudentDataListVo::getBandingTaskClassId));
|
|
|
+ List<BandingTaskClass> taskClassList = taskClassMapper.selectList(
|
|
|
+ new QueryWrapper<BandingTaskClass>().lambda()
|
|
|
+ .eq(BandingTaskClass::getBandingTaskId, studentReportPlan.getBandingTaskId())
|
|
|
+ );
|
|
|
+ Map<Long, Long> taskClassMap = taskClassList.stream().collect(Collectors.toMap(BandingTaskClass::getBaseClassId, BandingTaskClass::getId));
|
|
|
|
|
|
- List<BandingTaskClassStudent> insertList = new ArrayList<>();
|
|
|
- for (BaseNewStudent student : studentList) {
|
|
|
- Long bandingTaskClassId = bandingTaskClassMap.get(student.getId());
|
|
|
- if(bandingTaskClassId == null){
|
|
|
- continue;
|
|
|
+ List<BandingTaskClassStudent> insertList = new ArrayList<>();
|
|
|
+ for (BaseNewStudent student : studentList) {
|
|
|
+ Long bandingTaskClassId = bandingTaskClassMap.get(student.getId());
|
|
|
+ if(bandingTaskClassId == null){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ insertList.add(new BandingTaskClassStudent(){{
|
|
|
+ setBandingTaskClassId(taskClassMap.get(bandingTaskClassId));
|
|
|
+ setNewStudentId(student.getId());
|
|
|
+ setCreateDate(new Date());
|
|
|
+ setStatus(1);
|
|
|
+ }});
|
|
|
}
|
|
|
- insertList.add(new BandingTaskClassStudent(){{
|
|
|
- setBandingTaskClassId(taskClassMap.get(bandingTaskClassId));
|
|
|
- setNewStudentId(student.getId());
|
|
|
- setCreateDate(new Date());
|
|
|
- setStatus(1);
|
|
|
- }});
|
|
|
- }
|
|
|
|
|
|
- if(!insertList.isEmpty()){
|
|
|
- this.remove(
|
|
|
- new QueryWrapper<BandingTaskClassStudent>().lambda()
|
|
|
- .in(BandingTaskClassStudent::getNewStudentId, newStudentIds)
|
|
|
- );
|
|
|
- this.saveBatch(insertList);
|
|
|
+ if(!insertList.isEmpty()){
|
|
|
+ this.remove(
|
|
|
+ new QueryWrapper<BandingTaskClassStudent>().lambda()
|
|
|
+ .in(BandingTaskClassStudent::getNewStudentId, newStudentIds)
|
|
|
+ );
|
|
|
+ this.saveBatch(insertList);
|
|
|
+ }
|
|
|
}
|
|
|
return true;
|
|
|
}
|