|
@@ -27,12 +27,14 @@ import com.qmth.distributed.print.business.templete.execute.AsyncPaperReviewPdfE
|
|
|
import com.qmth.distributed.print.business.templete.service.TaskLogicService;
|
|
|
import com.qmth.distributed.print.business.util.CreatePdfUtil;
|
|
|
import com.qmth.distributed.print.business.util.HtmlToPdfUtil;
|
|
|
+import com.qmth.teachcloud.common.bean.dto.AssignTeacherDto;
|
|
|
import com.qmth.teachcloud.common.bean.dto.BlurryUserDto;
|
|
|
import com.qmth.teachcloud.common.bean.dto.DataPermissionRule;
|
|
|
import com.qmth.teachcloud.common.bean.dto.MqDto;
|
|
|
import com.qmth.teachcloud.common.bean.dto.excel.DescribeImportDto;
|
|
|
import com.qmth.teachcloud.common.bean.params.BasicStudentExtrasParam;
|
|
|
import com.qmth.teachcloud.common.bean.result.BasicStudentResult;
|
|
|
+import com.qmth.teachcloud.common.bean.result.SysUserResult;
|
|
|
import com.qmth.teachcloud.common.config.DictionaryConfig;
|
|
|
import com.qmth.teachcloud.common.contant.SystemConstant;
|
|
|
import com.qmth.teachcloud.common.entity.*;
|
|
@@ -509,11 +511,18 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
|
|
|
String excelTeacherAccount = userImportDto.getUserAccount();
|
|
|
String excelTeacherName = userImportDto.getUserName();
|
|
|
|
|
|
- List<BlurryUserDto> listUser = sysUserService.listUser(excelCourseCode, null);
|
|
|
+// List<BlurryUserDto> listUser = sysUserService.listUser(excelCourseCode, null);
|
|
|
+ AssignTeacherDto assignTeacherDto = sysUserService.listUser(excelCourseCode, null);
|
|
|
+ List<BlurryUserDto> listUser = Objects.nonNull(assignTeacherDto) ? assignTeacherDto.getBlurryUserDtoList() : new ArrayList<BlurryUserDto>();
|
|
|
Map<String, String> userMap = listUser.stream().collect(Collectors.toMap(BlurryUserDto::getLoginName, BlurryUserDto::getName));
|
|
|
if (userMap == null) {
|
|
|
excelErrorTemp.add(new ExcelError(y + 1, "excel第" + (i + 1) + "个sheet第" + (y + 1) + "行[命题老师账号]不存在"));
|
|
|
} else {
|
|
|
+ List<SysUserResult> courseUserList = Objects.nonNull(assignTeacherDto) ? assignTeacherDto.getCourseUserList() : new ArrayList<SysUserResult>();
|
|
|
+ Map<String, String> courseUserMap = courseUserList.stream().collect(Collectors.toMap(SysUserResult::getLoginName, SysUserResult::getRealName));
|
|
|
+ if (!CollectionUtils.isEmpty(courseUserMap)) {
|
|
|
+ userMap.putAll(courseUserMap);
|
|
|
+ }
|
|
|
if (StringUtils.isNotBlank(excelTeacherAccount)) {
|
|
|
if (StringUtils.isBlank(excelTeacherName)) {
|
|
|
excelErrorTemp.add(new ExcelError(y + 1, "excel第" + (i + 1) + "个sheet第" + (y + 1) + "行[命题老师姓名]不能为空"));
|
|
@@ -605,21 +614,21 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
|
|
|
examTaskDto.setCourseName(examTaskTemp.getCourseName());
|
|
|
examTaskDto.setPaperNumber(examTaskTemp.getPaperNumber());
|
|
|
examTaskDto.setSpecialty(examTaskTemp.getSpecialty());
|
|
|
- List<BlurryUserDto> blurryUserDtoList;
|
|
|
+ AssignTeacherDto assignTeacherDto = null;
|
|
|
|
|
|
QueryWrapper<SysUser> queryWrapper = new QueryWrapper<>();
|
|
|
queryWrapper.lambda().eq(SysUser::getSchoolId, schoolId).eq(SysUser::getLoginName, examTaskTemp.getUserAccount());
|
|
|
SysUser sysUser1 = sysUserService.getOne(queryWrapper);
|
|
|
if (sysUser1 != null) {
|
|
|
- blurryUserDtoList = listUsers(examTaskTemp.getCourseCode(), String.valueOf(sysUser1.getId()));
|
|
|
+ assignTeacherDto = listUsers(examTaskTemp.getCourseCode(), String.valueOf(sysUser1.getId()));
|
|
|
} else {
|
|
|
- blurryUserDtoList = listUsers(examTaskTemp.getCourseCode(), null);
|
|
|
+ assignTeacherDto = listUsers(examTaskTemp.getCourseCode(), null);
|
|
|
}
|
|
|
- examTaskDto.setUsers(blurryUserDtoList);
|
|
|
+ examTaskDto.setUsers(Objects.nonNull(assignTeacherDto) ? assignTeacherDto.getBlurryUserDtoList() : new ArrayList<BlurryUserDto>());
|
|
|
String userName = examTaskTempDto.getUserName();
|
|
|
String userAccount = examTaskTempDto.getUserAccount();
|
|
|
if (SystemConstant.strNotNull(userName) && SystemConstant.strNotNull(userAccount)) {
|
|
|
- List<BlurryUserDto> match = blurryUserDtoList.stream()
|
|
|
+ List<BlurryUserDto> match = assignTeacherDto.getBlurryUserDtoList().stream()
|
|
|
.filter(e -> e.getLoginName().equals(userAccount) && e.getName().equals(userName))
|
|
|
.collect(Collectors.toList());
|
|
|
if (match.size() > 1) {
|
|
@@ -630,6 +639,20 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
|
|
|
examTaskDto.setUserId(String.valueOf(tmp.getId()));
|
|
|
examTaskDto.setUserName(tmp.getName());
|
|
|
}
|
|
|
+
|
|
|
+ if (Objects.nonNull(assignTeacherDto) && !CollectionUtils.isEmpty(assignTeacherDto.getCourseUserList())) {
|
|
|
+ List<SysUserResult> matchCouserUser = assignTeacherDto.getCourseUserList().stream()
|
|
|
+ .filter(e -> e.getLoginName().equals(userAccount) && e.getRealName().equals(userName))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ if (matchCouserUser.size() > 1) {
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("数据异常");
|
|
|
+ }
|
|
|
+ if (matchCouserUser.size() == 1) {
|
|
|
+ SysUserResult tmp = matchCouserUser.get(0);
|
|
|
+ examTaskDto.setUserId(String.valueOf(tmp.getId()));
|
|
|
+ examTaskDto.setUserName(tmp.getRealName());
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
// // 校验命题老师
|
|
@@ -667,7 +690,7 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
|
|
|
return examTaskImportDto;
|
|
|
}
|
|
|
|
|
|
- private List<BlurryUserDto> listUsers(String courseCode, String userId) {
|
|
|
+ private AssignTeacherDto listUsers(String courseCode, String userId) {
|
|
|
return sysUserService.listUser(courseCode, userId);
|
|
|
}
|
|
|
|