|
@@ -1,6 +1,5 @@
|
|
|
package com.qmth.distributed.print.business.service.impl;
|
|
|
|
|
|
-import cn.hutool.core.date.DateUtil;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
|
@@ -15,16 +14,13 @@ import com.qmth.distributed.print.business.entity.*;
|
|
|
import com.qmth.distributed.print.business.enums.*;
|
|
|
import com.qmth.distributed.print.business.mapper.ExamTaskMapper;
|
|
|
import com.qmth.distributed.print.business.service.*;
|
|
|
-import com.qmth.distributed.print.business.templete.callback.CallbackCreatePdf;
|
|
|
import com.qmth.distributed.print.business.templete.execute.AsyncCreatePdfTempleteService;
|
|
|
-import com.qmth.distributed.print.business.util.ConvertUtil;
|
|
|
import com.qmth.distributed.print.business.util.ExcelUtil;
|
|
|
import com.qmth.distributed.print.business.util.ServletUtil;
|
|
|
import com.qmth.distributed.print.business.util.excel.ExcelError;
|
|
|
import com.qmth.distributed.print.common.contant.SystemConstant;
|
|
|
import com.qmth.distributed.print.common.enums.ExceptionResultEnum;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
-import org.apache.velocity.runtime.directive.contrib.For;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
@@ -76,6 +72,9 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
|
|
|
@Autowired
|
|
|
private SysUserService sysUserService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private SysUserRoleService sysUserRoleService;
|
|
|
+
|
|
|
@Autowired
|
|
|
private ExamCardService examCardService;
|
|
|
|
|
@@ -121,33 +120,37 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public List<String> listPaperNumber(String param) {
|
|
|
+ public List<String> listPaperNumber(String param, Long printPlanId) {
|
|
|
Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
|
|
|
- // 查询命题任务中的试卷编号
|
|
|
- QueryWrapper<ExamTask> queryWrapperExamTask = new QueryWrapper<>();
|
|
|
- queryWrapperExamTask.lambda().eq(ExamTask::getSchoolId, schoolId);
|
|
|
- List<String> list = new ArrayList<>();
|
|
|
- if (StringUtils.isNotBlank(param)) {
|
|
|
- queryWrapperExamTask.lambda().and(i -> i.like(ExamTask::getCourseCode, param).or().like(ExamTask::getCourseName, param));
|
|
|
- }
|
|
|
- List<ExamTask> examTasks = this.list(queryWrapperExamTask);
|
|
|
- if (examTasks != null && examTasks.size() > 0) {
|
|
|
- list = examTasks.stream().map(ExamTask::getPaperNumber).distinct().collect(Collectors.toList());
|
|
|
- }
|
|
|
+ if(printPlanId == null) {
|
|
|
+ // 查询命题任务中的试卷编号
|
|
|
+ QueryWrapper<ExamTask> queryWrapperExamTask = new QueryWrapper<>();
|
|
|
+ queryWrapperExamTask.lambda().eq(ExamTask::getSchoolId, schoolId);
|
|
|
+ List<String> list = new ArrayList<>();
|
|
|
+ if (StringUtils.isNotBlank(param)) {
|
|
|
+ queryWrapperExamTask.lambda().and(i -> i.like(ExamTask::getCourseCode, param).or().like(ExamTask::getCourseName, param));
|
|
|
+ }
|
|
|
+ List<ExamTask> examTasks = this.list(queryWrapperExamTask);
|
|
|
+ if (examTasks != null && examTasks.size() > 0) {
|
|
|
+ list = examTasks.stream().map(ExamTask::getPaperNumber).distinct().collect(Collectors.toList());
|
|
|
+ }
|
|
|
|
|
|
- // 查询考务-科目中的试卷编号
|
|
|
- QueryWrapper<ExamDetailCourse> queryWrapperExamDetailCourse = new QueryWrapper<>();
|
|
|
- queryWrapperExamDetailCourse.lambda().eq(ExamDetailCourse::getSchoolId, schoolId);
|
|
|
- List<String> list2 = new ArrayList<>();
|
|
|
- if (StringUtils.isNotBlank(param)) {
|
|
|
- queryWrapperExamDetailCourse.lambda().and(i -> i.like(ExamDetailCourse::getCourseCode, param).or().like(ExamDetailCourse::getCourseName, param));
|
|
|
- }
|
|
|
- List<ExamDetailCourse> ExamDetailCourses = examDetailCourseService.list(queryWrapperExamDetailCourse);
|
|
|
- if (ExamDetailCourses != null && ExamDetailCourses.size() > 0) {
|
|
|
- list2 = ExamDetailCourses.stream().map(ExamDetailCourse::getPaperNumber).distinct().collect(Collectors.toList());
|
|
|
+ // 查询考务-科目中的试卷编号
|
|
|
+ QueryWrapper<ExamDetailCourse> queryWrapperExamDetailCourse = new QueryWrapper<>();
|
|
|
+ queryWrapperExamDetailCourse.lambda().eq(ExamDetailCourse::getSchoolId, schoolId);
|
|
|
+ List<String> list2 = new ArrayList<>();
|
|
|
+ if (StringUtils.isNotBlank(param)) {
|
|
|
+ queryWrapperExamDetailCourse.lambda().and(i -> i.like(ExamDetailCourse::getCourseCode, param).or().like(ExamDetailCourse::getCourseName, param));
|
|
|
+ }
|
|
|
+ List<ExamDetailCourse> ExamDetailCourses = examDetailCourseService.list(queryWrapperExamDetailCourse);
|
|
|
+ if (ExamDetailCourses != null && ExamDetailCourses.size() > 0) {
|
|
|
+ list2 = ExamDetailCourses.stream().map(ExamDetailCourse::getPaperNumber).distinct().collect(Collectors.toList());
|
|
|
+ }
|
|
|
+ list.addAll(list2);
|
|
|
+ return list.stream().distinct().collect(Collectors.toList());
|
|
|
+ } else {
|
|
|
+ return examDetailCourseService.listPaperNumberByPrintPlanId(param, printPlanId);
|
|
|
}
|
|
|
- list.addAll(list2);
|
|
|
- return list.stream().distinct().collect(Collectors.toList());
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -610,9 +613,6 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
|
|
|
|
|
|
// 校验状态,可能被撤回
|
|
|
ExamTask examTask = this.getById(taskReviewLog.getExamTaskId());
|
|
|
- if (!ExamStatusEnum.SUBMIT.equals(examTask.getStatus())) {
|
|
|
- throw ExceptionResultEnum.ERROR.exception("当前状态不能审核");
|
|
|
- }
|
|
|
|
|
|
taskReviewLog.setOperateId(sysUser.getId());
|
|
|
taskReviewLog.setOperateTime(System.currentTimeMillis());
|
|
@@ -621,6 +621,10 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
|
|
|
|
|
|
ExamTaskPaperLog examTaskPaperLog = examTaskPaperLogService.getByExamTaskIdAndReview(taskReviewLog.getExamTaskId(), false);
|
|
|
if (examTaskPaperLog == null) {
|
|
|
+ if (!ExamStatusEnum.SUBMIT.equals(examTask.getStatus())) {
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("当前状态不能审核");
|
|
|
+ }
|
|
|
+
|
|
|
// 更新命题任务状态
|
|
|
UpdateWrapper<ExamTask> updateWrapper = new UpdateWrapper<>();
|
|
|
ExamStatusEnum statusEnum;
|
|
@@ -654,7 +658,7 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
|
|
|
|
|
|
@Transactional
|
|
|
@Override
|
|
|
- public boolean taskReviewSaveBatch(ExamTaskReviewLog taskReviewLog) throws IOException {
|
|
|
+ public boolean taskReviewSaveBatch(ExamTaskReviewLog taskReviewLog) {
|
|
|
SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
|
|
|
|
|
|
ExamStatusEnum statusEnum;
|
|
@@ -664,13 +668,13 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
|
|
|
statusEnum = ExamStatusEnum.STAGE;
|
|
|
}
|
|
|
for (Long examTaskId : taskReviewLog.getExamTaskIds()) {
|
|
|
- // 校验状态,可能被撤回
|
|
|
- ExamTask examTask = this.getById(examTaskId);
|
|
|
- if (!ExamStatusEnum.SUBMIT.equals(examTask.getStatus())) {
|
|
|
- throw ExceptionResultEnum.ERROR.exception("当前状态不能审核");
|
|
|
- }
|
|
|
ExamTaskPaperLog examTaskPaperLog = examTaskPaperLogService.getByExamTaskIdAndReview(examTaskId, false);
|
|
|
if (examTaskPaperLog == null) {
|
|
|
+ // 校验状态,可能被撤回
|
|
|
+ ExamTask examTask = this.getById(examTaskId);
|
|
|
+ if (!ExamStatusEnum.SUBMIT.equals(examTask.getStatus())) {
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("当前状态不能审核");
|
|
|
+ }
|
|
|
// 审核日志
|
|
|
taskReviewLog.setOperateId(sysUser.getId());
|
|
|
taskReviewLog.setOperateTime(System.currentTimeMillis());
|
|
@@ -706,10 +710,14 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
|
|
|
|
|
|
@Override
|
|
|
public IPage<ExamTaskDetailDto> listTaskPaper(String courseCode, String paperNumber, Long startTime, Long endTime, Integer pageNumber, Integer pageSize) {
|
|
|
+ SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
|
|
|
+ // 查询用户角色是否包含命题老师
|
|
|
+ List<SysRole> list = sysUserRoleService.listRoleByUserId(sysUser.getId());
|
|
|
+ boolean containsQuestionTeacher = list.stream().filter(m-> RoleTypeEnum.QUESTION_TEACHER.equals(m.getType())).count() > 0;
|
|
|
Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
|
|
|
Set<Long> orgIds = commonService.listSubOrgIds(null);
|
|
|
Page<ExamTaskDetailDto> page = new Page<>(pageNumber, pageSize);
|
|
|
- IPage<ExamTaskDetailDto> examTaskDtoIPage = this.baseMapper.listTaskPaper(page, schoolId, courseCode, paperNumber, startTime, endTime, orgIds);
|
|
|
+ IPage<ExamTaskDetailDto> examTaskDtoIPage = this.baseMapper.listTaskPaper(page, schoolId, courseCode, paperNumber, startTime, endTime, orgIds, containsQuestionTeacher, sysUser.getId());
|
|
|
return examTaskDtoIPage;
|
|
|
}
|
|
|
|