|
@@ -10,7 +10,6 @@ import com.qmth.boot.tools.excel.ExcelReader;
|
|
import com.qmth.boot.tools.excel.enums.ExcelType;
|
|
import com.qmth.boot.tools.excel.enums.ExcelType;
|
|
import com.qmth.distributed.print.business.bean.excel.ExcelField;
|
|
import com.qmth.distributed.print.business.bean.excel.ExcelField;
|
|
import com.qmth.distributed.print.business.enums.SourceEnum;
|
|
import com.qmth.distributed.print.business.enums.SourceEnum;
|
|
-import com.qmth.teachcloud.common.base.BaseEntity;
|
|
|
|
import com.qmth.teachcloud.common.bean.dto.DataPermissionRule;
|
|
import com.qmth.teachcloud.common.bean.dto.DataPermissionRule;
|
|
import com.qmth.teachcloud.common.contant.SystemConstant;
|
|
import com.qmth.teachcloud.common.contant.SystemConstant;
|
|
import com.qmth.teachcloud.common.entity.BasicCourse;
|
|
import com.qmth.teachcloud.common.entity.BasicCourse;
|
|
@@ -36,7 +35,6 @@ import org.springframework.web.multipart.MultipartFile;
|
|
import javax.annotation.Resource;
|
|
import javax.annotation.Resource;
|
|
import java.math.BigDecimal;
|
|
import java.math.BigDecimal;
|
|
import java.util.*;
|
|
import java.util.*;
|
|
-import java.util.concurrent.atomic.AtomicInteger;
|
|
|
|
import java.util.function.Function;
|
|
import java.util.function.Function;
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
@@ -126,7 +124,7 @@ public class TCUsualScoreServiceImpl extends ServiceImpl<TCUsualScoreMapper, TCU
|
|
TCUsualScore tcUsualScore = new TCUsualScore(cultureProgramId, basicCourse.getId(), basicCourse.getCode(), basicCourse.getName(), paperNumber, SourceEnum.SYNC, sysUser.getId(), examId);
|
|
TCUsualScore tcUsualScore = new TCUsualScore(cultureProgramId, basicCourse.getId(), basicCourse.getCode(), basicCourse.getName(), paperNumber, SourceEnum.SYNC, sysUser.getId(), examId);
|
|
for (int j = 0; j < strs.length; j++) {
|
|
for (int j = 0; j < strs.length; j++) {
|
|
if (Objects.isNull(strs[j]) || Objects.equals(strs[j].trim(), "")) {
|
|
if (Objects.isNull(strs[j]) || Objects.equals(strs[j].trim(), "")) {
|
|
- errorData.add("excel第").add((i + 1) + "").add("行[").add(columnNames[j] + "]为空;").add("\r\n");
|
|
|
|
|
|
+// errorData.add("excel第").add((i + 1) + "").add("行[").add(columnNames[j] + "]为空;").add("\r\n");
|
|
error = true;
|
|
error = true;
|
|
} else {
|
|
} else {
|
|
if (Objects.equals(columnNames[j].trim(), "学号")) {
|
|
if (Objects.equals(columnNames[j].trim(), "学号")) {
|
|
@@ -174,29 +172,27 @@ public class TCUsualScoreServiceImpl extends ServiceImpl<TCUsualScoreMapper, TCU
|
|
if (!CollectionUtils.isEmpty(tcUsualScoreList)) {
|
|
if (!CollectionUtils.isEmpty(tcUsualScoreList)) {
|
|
successData.add("共导入").add(tcUsualScoreList.size() + "").add("条数据");
|
|
successData.add("共导入").add(tcUsualScoreList.size() + "").add("条数据");
|
|
List<TCUsualScore> tcUsualScoreDbSourceList = tcUsualScoreService.queryUsualScore(cultureProgramId, basicCourse.getId(), paperNumber, examId);
|
|
List<TCUsualScore> tcUsualScoreDbSourceList = tcUsualScoreService.queryUsualScore(cultureProgramId, basicCourse.getId(), paperNumber, examId);
|
|
- if (!CollectionUtils.isEmpty(tcUsualScoreDbSourceList)) {
|
|
|
|
|
|
+ if (CollectionUtils.isEmpty(tcUsualScoreDbSourceList)) {
|
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("请先同步学生数据");
|
|
|
|
+ } else {
|
|
Map<String, TCUsualScore> tcUsualScoreDbMap = tcUsualScoreDbSourceList.stream().collect(Collectors.toMap(TCUsualScore::getStudentCode, Function.identity(), (dto1, dto2) -> dto1));
|
|
Map<String, TCUsualScore> tcUsualScoreDbMap = tcUsualScoreDbSourceList.stream().collect(Collectors.toMap(TCUsualScore::getStudentCode, Function.identity(), (dto1, dto2) -> dto1));
|
|
tcUsualScoreList.stream().peek(s -> {
|
|
tcUsualScoreList.stream().peek(s -> {
|
|
if (Objects.nonNull(s.getStudentCode()) && tcUsualScoreDbMap.containsKey(s.getStudentCode().trim())) {
|
|
if (Objects.nonNull(s.getStudentCode()) && tcUsualScoreDbMap.containsKey(s.getStudentCode().trim())) {
|
|
s.updateExamAndPaperNumberInfo(tcUsualScoreDbMap.get(s.getStudentCode().trim()));
|
|
s.updateExamAndPaperNumberInfo(tcUsualScoreDbMap.get(s.getStudentCode().trim()));
|
|
}
|
|
}
|
|
}).collect(Collectors.toList());
|
|
}).collect(Collectors.toList());
|
|
- }
|
|
|
|
- if (CollectionUtils.isEmpty(tcUsualScoreDbSourceList) || !CollectionUtils.isEqualCollection(tcUsualScoreDbSourceList, tcUsualScoreList)) {
|
|
|
|
- Map<String, TCUsualScore> tcUsualScoreDbMap = tcUsualScoreDbSourceList.stream().collect(Collectors.toMap(TCUsualScore::getStudentCode, Function.identity(), (dto1, dto2) -> dto1));
|
|
|
|
- AtomicInteger size = new AtomicInteger();
|
|
|
|
- tcUsualScoreList.stream().peek(s -> {
|
|
|
|
- if (Objects.nonNull(s.getStudentCode()) && tcUsualScoreDbMap.containsKey(s.getStudentCode().trim())) {
|
|
|
|
- size.incrementAndGet();
|
|
|
|
- }
|
|
|
|
- }).collect(Collectors.toList());
|
|
|
|
- if (size.get() != tcUsualScoreList.size()) {
|
|
|
|
- throw ExceptionResultEnum.ERROR.exception("请勿导入其他班级数据");
|
|
|
|
|
|
+
|
|
|
|
+ Map<String, TCUsualScore> tcUsualScoreMap = tcUsualScoreList.stream().collect(Collectors.toMap(TCUsualScore::getStudentCode, Function.identity(), (dto1, dto2) -> dto1));
|
|
|
|
+ List<TCUsualScore> tcUsualScoreFilterList = tcUsualScoreDbSourceList.stream().filter(s -> tcUsualScoreMap.containsKey(s.getStudentCode().trim())).collect(Collectors.toList());
|
|
|
|
+ if (!CollectionUtils.isEqualCollection(tcUsualScoreFilterList, tcUsualScoreList)) {
|
|
|
|
+ tcUsualScoreDbSourceList.stream().peek(s -> {
|
|
|
|
+ if (Objects.nonNull(s.getStudentCode()) && tcUsualScoreMap.containsKey(s.getStudentCode().trim())) {
|
|
|
|
+ s.updateInfo(tcUsualScoreMap.get(s.getStudentCode().trim()), sysUser.getId());
|
|
|
|
+ }
|
|
|
|
+ }).collect(Collectors.toList());
|
|
|
|
+ tcUsualScoreService.saveOrUpdateBatch(tcUsualScoreDbSourceList);
|
|
|
|
+ trBasicInfoService.clearReportData(cultureProgramId, courseId, paperNumber, examId, false);
|
|
}
|
|
}
|
|
- tcUsualScoreService.removeByIds(tcUsualScoreDbSourceList.stream().map(BaseEntity::getId).collect(Collectors.toList()));
|
|
|
|
- tcUsualScoreService.saveBatch(tcUsualScoreList);
|
|
|
|
- trBasicInfoService.clearReportData(cultureProgramId, basicCourse.getId(), paperNumber, examId
|
|
|
|
- , false);
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|