|
@@ -365,7 +365,6 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
|
|
ExamTaskImportDto userImportDto = (ExamTaskImportDto) examTaskTempList.get(y);
|
|
ExamTaskImportDto userImportDto = (ExamTaskImportDto) examTaskTempList.get(y);
|
|
|
|
|
|
String excelCourseCode = userImportDto.getCourseCode();
|
|
String excelCourseCode = userImportDto.getCourseCode();
|
|
- String excelCourseName = userImportDto.getCourseName();
|
|
|
|
String teachingRoomName = userImportDto.getTeachingRoomName();
|
|
String teachingRoomName = userImportDto.getTeachingRoomName();
|
|
String excelPaperNumber = userImportDto.getPaperNumber();
|
|
String excelPaperNumber = userImportDto.getPaperNumber();
|
|
String excelTeacherAccount = userImportDto.getUserAccount();
|
|
String excelTeacherAccount = userImportDto.getUserAccount();
|
|
@@ -379,10 +378,9 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
|
|
BasicCourse basicCourse = basicCourseService.getByTeachRoomIdAndCode(sysOrgList.get(0).getId(), excelCourseCode);
|
|
BasicCourse basicCourse = basicCourseService.getByTeachRoomIdAndCode(sysOrgList.get(0).getId(), excelCourseCode);
|
|
// 校验课程名称和课程代码
|
|
// 校验课程名称和课程代码
|
|
if (basicCourse == null) {
|
|
if (basicCourse == null) {
|
|
- excelErrorTemp.add(new ExcelError(y + 1, "第" + (y + 1) + "行课程代码[" + excelCourseCode + "]在系统中不存在"));
|
|
|
|
- } else if (!basicCourse.getName().equals(excelCourseName)) {
|
|
|
|
- excelErrorTemp.add(new ExcelError(y + 1, "第" + (y + 1) + "行课程代码[" + excelCourseCode + "]对应的课程名称与课程管理中不一致。文件中为[" + excelCourseName + "],课程管理为[" + basicCourse.getName() + "]"));
|
|
|
|
|
|
+ excelErrorTemp.add(new ExcelError(y + 1, "第" + (y + 1) + "行开课学院[" + teachingRoomName + "]下无课程代码[" + excelCourseCode + "]的课程"));
|
|
}
|
|
}
|
|
|
|
+
|
|
if (courseCodePaperNumberMap.containsKey(excelCourseCode)) {
|
|
if (courseCodePaperNumberMap.containsKey(excelCourseCode)) {
|
|
String paperNumber = courseCodePaperNumberMap.get(excelCourseCode);
|
|
String paperNumber = courseCodePaperNumberMap.get(excelCourseCode);
|
|
if (paperNumber != null && paperNumber.equals(excelPaperNumber)) {
|
|
if (paperNumber != null && paperNumber.equals(excelPaperNumber)) {
|
|
@@ -456,7 +454,6 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
|
|
examTaskImportResultDto.setBatchNo(batchNo);
|
|
examTaskImportResultDto.setBatchNo(batchNo);
|
|
List<ExamTaskDto> tasks = new ArrayList<>();
|
|
List<ExamTaskDto> tasks = new ArrayList<>();
|
|
|
|
|
|
- List<BasicCourse> userCourses = printCommonService.list(null, null, null);
|
|
|
|
// 错误信息
|
|
// 错误信息
|
|
StringJoiner stringJoiner = new StringJoiner(";");
|
|
StringJoiner stringJoiner = new StringJoiner(";");
|
|
for (int i = 0; i < finalList.size(); i++) {
|
|
for (int i = 0; i < finalList.size(); i++) {
|
|
@@ -466,11 +463,14 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
|
|
ExamTaskImportDto examTaskImportDto = (ExamTaskImportDto) examTaskTempList.get(y);
|
|
ExamTaskImportDto examTaskImportDto = (ExamTaskImportDto) examTaskTempList.get(y);
|
|
ExamTaskTemp examTaskTemp = gson.fromJson(gson.toJson(examTaskImportDto), ExamTaskTemp.class);
|
|
ExamTaskTemp examTaskTemp = gson.fromJson(gson.toJson(examTaskImportDto), ExamTaskTemp.class);
|
|
// 校验该用户是否有科目
|
|
// 校验该用户是否有科目
|
|
- long matchCourseCount = userCourses.stream().filter(m -> examTaskTemp.getCourseCode().equals(m.getCode())).count();
|
|
|
|
- if (matchCourseCount == 0) {
|
|
|
|
- throw ExceptionResultEnum.ERROR.exception("用户没有科目[" + examTaskTemp.getCourseName() + "(" + examTaskTemp.getCourseCode() + ")]权限");
|
|
|
|
- }
|
|
|
|
|
|
+ List<SysOrg> sysOrgList = sysOrgService.getSecondOrg(schoolId, examTaskTemp.getTeachingRoomName());
|
|
|
|
+ // 课程是否存在并且与名称对应
|
|
|
|
+ BasicCourse basicCourse = basicCourseService.getByTeachRoomIdAndCode(sysOrgList.get(0).getId(), examTaskTemp.getCourseCode());
|
|
examTaskTemp.setId(SystemConstant.getDbUuid());
|
|
examTaskTemp.setId(SystemConstant.getDbUuid());
|
|
|
|
+ if (basicCourse == null) {
|
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("开课学院[" + examTaskTemp.getTeachingRoomName() + "]没有课程代码[" + examTaskTemp.getCourseCode() + "]的课程");
|
|
|
|
+ }
|
|
|
|
+ examTaskTemp.setCourseId(basicCourse.getId());
|
|
examTaskTemp.setBatchNo(batchNo);
|
|
examTaskTemp.setBatchNo(batchNo);
|
|
examTaskTemp.setSchoolId(schoolId);
|
|
examTaskTemp.setSchoolId(schoolId);
|
|
examTaskTemp.setCreateId(sysUser.getId());
|
|
examTaskTemp.setCreateId(sysUser.getId());
|
|
@@ -479,9 +479,6 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
|
|
examTaskTempService.save(examTaskTemp);
|
|
examTaskTempService.save(examTaskTemp);
|
|
|
|
|
|
ExamTaskDto examTaskDto = new ExamTaskDto();
|
|
ExamTaskDto examTaskDto = new ExamTaskDto();
|
|
- List<SysOrg> sysOrgList = sysOrgService.getSecondOrg(schoolId, examTaskTemp.getTeachingRoomName());
|
|
|
|
- // 课程是否存在并且与名称对应
|
|
|
|
- BasicCourse basicCourse = basicCourseService.getByTeachRoomIdAndCode(sysOrgList.get(0).getId(), examTaskTemp.getCourseCode());
|
|
|
|
examTaskDto.setCourseId(basicCourse.getId());
|
|
examTaskDto.setCourseId(basicCourse.getId());
|
|
examTaskDto.setCourseCode(examTaskTemp.getCourseCode());
|
|
examTaskDto.setCourseCode(examTaskTemp.getCourseCode());
|
|
examTaskDto.setCourseName(examTaskTemp.getCourseName());
|
|
examTaskDto.setCourseName(examTaskTemp.getCourseName());
|
|
@@ -513,14 +510,14 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
|
|
}
|
|
}
|
|
|
|
|
|
if (Objects.nonNull(assignTeacherDto) && !CollectionUtils.isEmpty(assignTeacherDto.getCourseUserList())) {
|
|
if (Objects.nonNull(assignTeacherDto) && !CollectionUtils.isEmpty(assignTeacherDto.getCourseUserList())) {
|
|
- List<SysUserResult> matchCouserUser = assignTeacherDto.getCourseUserList().stream()
|
|
|
|
|
|
+ List<SysUserResult> matchCourseUser = assignTeacherDto.getCourseUserList().stream()
|
|
.filter(e -> e.getLoginName().equals(userAccount) && e.getRealName().equals(userName))
|
|
.filter(e -> e.getLoginName().equals(userAccount) && e.getRealName().equals(userName))
|
|
.collect(Collectors.toList());
|
|
.collect(Collectors.toList());
|
|
- if (matchCouserUser.size() > 1) {
|
|
|
|
|
|
+ if (matchCourseUser.size() > 1) {
|
|
throw ExceptionResultEnum.ERROR.exception("数据异常");
|
|
throw ExceptionResultEnum.ERROR.exception("数据异常");
|
|
}
|
|
}
|
|
- if (matchCouserUser.size() == 1) {
|
|
|
|
- SysUserResult tmp = matchCouserUser.get(0);
|
|
|
|
|
|
+ if (matchCourseUser.size() == 1) {
|
|
|
|
+ SysUserResult tmp = matchCourseUser.get(0);
|
|
examTaskDto.setUserId(String.valueOf(tmp.getId()));
|
|
examTaskDto.setUserId(String.valueOf(tmp.getId()));
|
|
examTaskDto.setUserName(tmp.getRealName());
|
|
examTaskDto.setUserName(tmp.getRealName());
|
|
}
|
|
}
|
|
@@ -555,26 +552,24 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
|
|
}
|
|
}
|
|
|
|
|
|
List<ExamTask> list = new ArrayList<>();
|
|
List<ExamTask> list = new ArrayList<>();
|
|
- List<Map<String, String>> userList = task.getUsers();
|
|
|
|
|
|
+ List<ExamTaskImportTaskUserDto> userList = task.getUsers();
|
|
|
|
|
|
StringJoiner stringJoiner = new StringJoiner(",");
|
|
StringJoiner stringJoiner = new StringJoiner(",");
|
|
- for (Map<String, String> userMap : userList) {
|
|
|
|
- String courseCode = userMap.get("courseCode");
|
|
|
|
|
|
+ for (ExamTaskImportTaskUserDto dto : userList) {
|
|
// 配置信息
|
|
// 配置信息
|
|
BasicPrintConfig basicPrintConfig = basicPrintConfigService.getByExamId(examId);
|
|
BasicPrintConfig basicPrintConfig = basicPrintConfigService.getByExamId(examId);
|
|
Long cardRuleId = basicPrintConfig.getCardRuleId();
|
|
Long cardRuleId = basicPrintConfig.getCardRuleId();
|
|
|
|
|
|
ExamTask examTask = new ExamTask();
|
|
ExamTask examTask = new ExamTask();
|
|
examTask.setSchoolId(task.getSchoolId());
|
|
examTask.setSchoolId(task.getSchoolId());
|
|
- examTask.setCourseCode(userMap.get("courseCode"));
|
|
|
|
- examTask.setCourseName(userMap.get("courseName"));
|
|
|
|
|
|
+ examTask.setCourseId(dto.getCourseId());
|
|
examTask.setExamId(examId);
|
|
examTask.setExamId(examId);
|
|
examTask.setCardRuleId(cardRuleId);
|
|
examTask.setCardRuleId(cardRuleId);
|
|
|
|
|
|
- String paperNumber = userMap.get("paperNumber");
|
|
|
|
|
|
+ String paperNumber = dto.getPaperNumber();
|
|
if (StringUtils.isNotBlank(paperNumber)) {
|
|
if (StringUtils.isNotBlank(paperNumber)) {
|
|
QueryWrapper<ExamTask> taskQueryWrapper = new QueryWrapper<>();
|
|
QueryWrapper<ExamTask> taskQueryWrapper = new QueryWrapper<>();
|
|
- taskQueryWrapper.lambda().eq(ExamTask::getSchoolId, schoolId).eq(ExamTask::getExamId, examId).eq(ExamTask::getPaperNumber, paperNumber);
|
|
|
|
|
|
+ taskQueryWrapper.lambda().eq(ExamTask::getExamId, examId).eq(ExamTask::getPaperNumber, paperNumber);
|
|
ExamTask task1 = this.getOne(taskQueryWrapper);
|
|
ExamTask task1 = this.getOne(taskQueryWrapper);
|
|
if (task1 != null) {
|
|
if (task1 != null) {
|
|
stringJoiner.add(String.format("试卷编号[%s]在考试[%s]下已使用", paperNumber, basicExam.getName()));
|
|
stringJoiner.add(String.format("试卷编号[%s]在考试[%s]下已使用", paperNumber, basicExam.getName()));
|
|
@@ -595,9 +590,9 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
|
|
BasicCourse basicCourse = basicCourseService.getById(examTask.getCourseId());
|
|
BasicCourse basicCourse = basicCourseService.getById(examTask.getCourseId());
|
|
examTask.setTeachingRoomId(basicCourse.getTeachingRoomId());
|
|
examTask.setTeachingRoomId(basicCourse.getTeachingRoomId());
|
|
|
|
|
|
- String userId = userMap.get("userId");
|
|
|
|
- if (userId != null && userId.length() > 0 && !userId.equals("null")) {
|
|
|
|
- examTask.setUserId(SystemConstant.convertIdToLong(userId));
|
|
|
|
|
|
+ Long userId = dto.getUserId();
|
|
|
|
+ if (userId != null) {
|
|
|
|
+ examTask.setUserId(userId);
|
|
examTask.setStatus(ExamStatusEnum.STAGE);
|
|
examTask.setStatus(ExamStatusEnum.STAGE);
|
|
} else {
|
|
} else {
|
|
examTask.setStatus(ExamStatusEnum.DRAFT);
|
|
examTask.setStatus(ExamStatusEnum.DRAFT);
|
|
@@ -995,9 +990,7 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
|
|
@Transactional
|
|
@Transactional
|
|
@Override
|
|
@Override
|
|
public void removeByExamTaskId(Long examTaskId) {
|
|
public void removeByExamTaskId(Long examTaskId) {
|
|
- // 删除任务
|
|
|
|
- this.removeById(examTaskId);
|
|
|
|
- ExamTaskDetail examTaskDetail = examTaskDetailService.getByExamTaskId(examTaskId);
|
|
|
|
|
|
+ ExamTaskDetail examTaskDetail = examTaskDetailService.getByExamTaskIdNotValid(examTaskId);
|
|
if (examTaskDetail != null) {
|
|
if (examTaskDetail != null) {
|
|
examTaskDetailService.removeById(examTaskDetail.getId());
|
|
examTaskDetailService.removeById(examTaskDetail.getId());
|
|
|
|
|
|
@@ -1017,6 +1010,7 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ this.removeById(examTaskId);
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -1647,7 +1641,7 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
- public ExamTask getByExamIdAndPaperNumber(Long examId,String paperNumber) {
|
|
|
|
|
|
+ public ExamTask getByExamIdAndPaperNumber(Long examId, String paperNumber) {
|
|
QueryWrapper<ExamTask> queryWrapper = new QueryWrapper<>();
|
|
QueryWrapper<ExamTask> queryWrapper = new QueryWrapper<>();
|
|
LambdaQueryWrapper<ExamTask> lambdaQueryWrapper = queryWrapper.lambda();
|
|
LambdaQueryWrapper<ExamTask> lambdaQueryWrapper = queryWrapper.lambda();
|
|
lambdaQueryWrapper.eq(ExamTask::getExamId, examId).eq(ExamTask::getPaperNumber, paperNumber);
|
|
lambdaQueryWrapper.eq(ExamTask::getExamId, examId).eq(ExamTask::getPaperNumber, paperNumber);
|
|
@@ -1775,7 +1769,7 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
|
|
@Transactional
|
|
@Transactional
|
|
@Override
|
|
@Override
|
|
public List<ExamDetail> matchBasicExamStudent(BasicExam basicExam, ExamTask examTask, ExamTaskDetail examTaskDetail, SysUser sysUser) {
|
|
public List<ExamDetail> matchBasicExamStudent(BasicExam basicExam, ExamTask examTask, ExamTaskDetail examTaskDetail, SysUser sysUser) {
|
|
- List<BasicExamStudent> basicExamStudentList = basicExamStudentService.listByExamIdAndPaperNumber(examTask.getExamId(), examTask.getPaperNumber());
|
|
|
|
|
|
+ List<BasicExamStudent> basicExamStudentList = basicExamStudentService.listByExamIdAndCourseIdAndPaperNumber(examTask.getExamId(), examTask.getCourseId(), examTask.getPaperNumber());
|
|
if (CollectionUtils.isEmpty(basicExamStudentList)) {
|
|
if (CollectionUtils.isEmpty(basicExamStudentList)) {
|
|
return null;
|
|
return null;
|
|
}
|
|
}
|