|
@@ -12,19 +12,17 @@ import com.qmth.distributed.print.business.bean.dto.ExamStudentCourseClassDto;
|
|
import com.qmth.distributed.print.business.bean.dto.GradeBatchStudentClazzDto;
|
|
import com.qmth.distributed.print.business.bean.dto.GradeBatchStudentClazzDto;
|
|
import com.qmth.distributed.print.business.bean.params.analyze.GradeBatchParam;
|
|
import com.qmth.distributed.print.business.bean.params.analyze.GradeBatchParam;
|
|
import com.qmth.distributed.print.business.bean.result.analyze.GradeBatchResult;
|
|
import com.qmth.distributed.print.business.bean.result.analyze.GradeBatchResult;
|
|
-import com.qmth.distributed.print.business.entity.ExamTask;
|
|
|
|
import com.qmth.distributed.print.business.entity.GradeBatch;
|
|
import com.qmth.distributed.print.business.entity.GradeBatch;
|
|
import com.qmth.distributed.print.business.entity.GradeBatchPaper;
|
|
import com.qmth.distributed.print.business.entity.GradeBatchPaper;
|
|
import com.qmth.distributed.print.business.entity.GradeBatchStudentClazz;
|
|
import com.qmth.distributed.print.business.entity.GradeBatchStudentClazz;
|
|
import com.qmth.distributed.print.business.mapper.ExamStudentMapper;
|
|
import com.qmth.distributed.print.business.mapper.ExamStudentMapper;
|
|
import com.qmth.distributed.print.business.mapper.GradeBatchMapper;
|
|
import com.qmth.distributed.print.business.mapper.GradeBatchMapper;
|
|
-import com.qmth.distributed.print.business.service.ExamTaskService;
|
|
|
|
import com.qmth.distributed.print.business.service.GradeBatchPaperService;
|
|
import com.qmth.distributed.print.business.service.GradeBatchPaperService;
|
|
import com.qmth.distributed.print.business.service.GradeBatchService;
|
|
import com.qmth.distributed.print.business.service.GradeBatchService;
|
|
import com.qmth.distributed.print.business.service.GradeBatchStudentClazzService;
|
|
import com.qmth.distributed.print.business.service.GradeBatchStudentClazzService;
|
|
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.SysOrg;
|
|
|
|
|
|
+import com.qmth.teachcloud.common.entity.BasicCourse;
|
|
import com.qmth.teachcloud.common.entity.SysRole;
|
|
import com.qmth.teachcloud.common.entity.SysRole;
|
|
import com.qmth.teachcloud.common.entity.SysUser;
|
|
import com.qmth.teachcloud.common.entity.SysUser;
|
|
import com.qmth.teachcloud.common.entity.SysUserRole;
|
|
import com.qmth.teachcloud.common.entity.SysUserRole;
|
|
@@ -36,6 +34,8 @@ import com.qmth.teachcloud.common.service.*;
|
|
import com.qmth.teachcloud.common.util.ExcelUtil;
|
|
import com.qmth.teachcloud.common.util.ExcelUtil;
|
|
import com.qmth.teachcloud.common.util.ResultUtil;
|
|
import com.qmth.teachcloud.common.util.ResultUtil;
|
|
import com.qmth.teachcloud.common.util.excel.ExcelError;
|
|
import com.qmth.teachcloud.common.util.excel.ExcelError;
|
|
|
|
+import com.qmth.teachcloud.mark.entity.MarkPaper;
|
|
|
|
+import com.qmth.teachcloud.mark.service.MarkPaperService;
|
|
import org.apache.commons.collections4.CollectionUtils;
|
|
import org.apache.commons.collections4.CollectionUtils;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.apache.commons.lang3.time.DateFormatUtils;
|
|
import org.apache.commons.lang3.time.DateFormatUtils;
|
|
@@ -87,13 +87,13 @@ public class GradeBatchServiceImpl extends ServiceImpl<GradeBatchMapper, GradeBa
|
|
SysUserRoleService sysUserRoleService;
|
|
SysUserRoleService sysUserRoleService;
|
|
|
|
|
|
@Resource
|
|
@Resource
|
|
- ExamTaskService examTaskService;
|
|
|
|
|
|
+ MarkPaperService markPaperService;
|
|
|
|
|
|
@Resource
|
|
@Resource
|
|
- SysOrgService sysOrgService;
|
|
|
|
|
|
+ BasicRoleDataPermissionService basicRoleDataPermissionService;
|
|
|
|
|
|
@Resource
|
|
@Resource
|
|
- BasicRoleDataPermissionService basicRoleDataPermissionService;
|
|
|
|
|
|
+ BasicCourseService basicCourseService;
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public IPage<GradeBatchResult> gradeBatchPage(Long semesterId, Long examId, String batchName, int pageNumber, int pageSize, SysUser requestUser) {
|
|
public IPage<GradeBatchResult> gradeBatchPage(Long semesterId, Long examId, String batchName, int pageNumber, int pageSize, SysUser requestUser) {
|
|
@@ -429,6 +429,7 @@ public class GradeBatchServiceImpl extends ServiceImpl<GradeBatchMapper, GradeBa
|
|
throw ExceptionResultEnum.ERROR.exception("未找到批次信息");
|
|
throw ExceptionResultEnum.ERROR.exception("未找到批次信息");
|
|
}
|
|
}
|
|
Long schoolId = gradeBatch.getSchoolId();
|
|
Long schoolId = gradeBatch.getSchoolId();
|
|
|
|
+ Long examId = gradeBatch.getExamId();
|
|
|
|
|
|
QueryWrapper<SysRole> sysRoleQueryWrapper = new QueryWrapper<>();
|
|
QueryWrapper<SysRole> sysRoleQueryWrapper = new QueryWrapper<>();
|
|
sysRoleQueryWrapper.lambda().eq(SysRole::getType, RoleTypeEnum.TEACHER).eq(SysRole::getEnable, true);
|
|
sysRoleQueryWrapper.lambda().eq(SysRole::getType, RoleTypeEnum.TEACHER).eq(SysRole::getEnable, true);
|
|
@@ -445,16 +446,23 @@ public class GradeBatchServiceImpl extends ServiceImpl<GradeBatchMapper, GradeBa
|
|
throw ExceptionResultEnum.ERROR.exception(key[0] + "找到多条用户记录");
|
|
throw ExceptionResultEnum.ERROR.exception(key[0] + "找到多条用户记录");
|
|
}
|
|
}
|
|
|
|
|
|
- List<Long> orgIds = dtoList.stream().map(m -> m.getCourseCode() + "##" + m.getPaperNumber()).distinct().map(m -> {
|
|
|
|
- String[] strings = m.split("##");
|
|
|
|
- ExamTask examTask = examTaskService.getByExamIdAndPaperNumber(gradeBatch.getExamId(), strings[1]);
|
|
|
|
- SysOrg sysOrg = sysOrgService.findCollegeLevelOrgByOrgId(examTask.getTeachingRoomId());
|
|
|
|
- return sysOrg.getId();
|
|
|
|
- }).distinct().collect(Collectors.toList());
|
|
|
|
- if (orgIds.size() != 1) {
|
|
|
|
- throw ExceptionResultEnum.ERROR.exception("任课老师" + key[0] + "对应课程不能属于不同学院");
|
|
|
|
|
|
+ GradeBatchStudentClazzDto dto = dtoList.get(0);
|
|
|
|
+ String paperNumber = dto.getPaperNumber();
|
|
|
|
+ String paperType = dto.getPaperType();
|
|
|
|
+ MarkPaper markPaper = markPaperService.getOne(
|
|
|
|
+ new QueryWrapper<MarkPaper>().lambda().eq(MarkPaper::getExamId, examId).eq(MarkPaper::getPaperNumber, paperNumber).eq(MarkPaper::getPaperType, paperType)
|
|
|
|
+ .last(SystemConstant.LIMIT1));
|
|
|
|
+ if (Objects.isNull(markPaper)) {
|
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("未找到试卷信息");
|
|
}
|
|
}
|
|
- Long courseSecondaryOrgId = orgIds.get(0);
|
|
|
|
|
|
+
|
|
|
|
+ Long courseId = markPaper.getCourseId();
|
|
|
|
+ BasicCourse basicCourse = basicCourseService.getById(courseId);
|
|
|
|
+ if (Objects.isNull(basicCourse)) {
|
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("未找到课程信息");
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ Long courseSecondaryOrgId = basicCourse.getTeachingRoomId();
|
|
|
|
|
|
SysUser sysUser;
|
|
SysUser sysUser;
|
|
if (sysUserList.isEmpty()) {
|
|
if (sysUserList.isEmpty()) {
|