|
@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.qmth.distributed.print.business.bean.params.analyze.AbleAnalyzePaperParam;
|
|
import com.qmth.distributed.print.business.bean.params.analyze.AbleAnalyzePaperParam;
|
|
import com.qmth.distributed.print.business.bean.params.analyze.GradeBatchPaperParam;
|
|
import com.qmth.distributed.print.business.bean.params.analyze.GradeBatchPaperParam;
|
|
|
|
+import com.qmth.distributed.print.business.bean.result.DictionaryResult;
|
|
import com.qmth.distributed.print.business.bean.result.analyze.GradeBatchPaperResult;
|
|
import com.qmth.distributed.print.business.bean.result.analyze.GradeBatchPaperResult;
|
|
import com.qmth.distributed.print.business.entity.*;
|
|
import com.qmth.distributed.print.business.entity.*;
|
|
import com.qmth.distributed.print.business.mapper.GradeBatchPaperMapper;
|
|
import com.qmth.distributed.print.business.mapper.GradeBatchPaperMapper;
|
|
@@ -16,7 +17,6 @@ import com.qmth.teachcloud.common.entity.SysOrg;
|
|
import com.qmth.teachcloud.common.entity.SysUser;
|
|
import com.qmth.teachcloud.common.entity.SysUser;
|
|
import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
|
|
import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
|
|
import com.qmth.teachcloud.common.enums.GradeAnalyzePaperStatusEnum;
|
|
import com.qmth.teachcloud.common.enums.GradeAnalyzePaperStatusEnum;
|
|
-import com.qmth.teachcloud.common.enums.OrgTypeEnum;
|
|
|
|
import com.qmth.teachcloud.common.service.SysOrgService;
|
|
import com.qmth.teachcloud.common.service.SysOrgService;
|
|
import com.qmth.teachcloud.common.service.TeachcloudCommonService;
|
|
import com.qmth.teachcloud.common.service.TeachcloudCommonService;
|
|
import org.springframework.beans.BeanUtils;
|
|
import org.springframework.beans.BeanUtils;
|
|
@@ -55,6 +55,8 @@ public class GradeBatchPaperServiceImpl extends ServiceImpl<GradeBatchPaperMappe
|
|
GradeModuleDefineService gradeModuleDefineService;
|
|
GradeModuleDefineService gradeModuleDefineService;
|
|
@Resource
|
|
@Resource
|
|
GradeModuleEvaluationService gradeModuleEvaluationService;
|
|
GradeModuleEvaluationService gradeModuleEvaluationService;
|
|
|
|
+ @Resource
|
|
|
|
+ ExamTaskService examTaskService;
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public IPage<GradeBatchPaperResult> findGradeBatchPaperPage(Long batchId, Long examId, String courseName, int pageNumber, int pageSize, SysUser requestUser) {
|
|
public IPage<GradeBatchPaperResult> findGradeBatchPaperPage(Long batchId, Long examId, String courseName, int pageNumber, int pageSize, SysUser requestUser) {
|
|
@@ -63,7 +65,7 @@ public class GradeBatchPaperServiceImpl extends ServiceImpl<GradeBatchPaperMappe
|
|
IPage<GradeBatchPaperResult> datasource = this.baseMapper.findGradeBatchPaperPage(new Page<>(pageNumber, pageSize), batchId, examId, courseName, schoolId);
|
|
IPage<GradeBatchPaperResult> datasource = this.baseMapper.findGradeBatchPaperPage(new Page<>(pageNumber, pageSize), batchId, examId, courseName, schoolId);
|
|
for (GradeBatchPaperResult record : datasource.getRecords()) {
|
|
for (GradeBatchPaperResult record : datasource.getRecords()) {
|
|
Long teachingRoomId = record.getTeachingRoomId();
|
|
Long teachingRoomId = record.getTeachingRoomId();
|
|
- SysOrg teachCollege = this.findTeachCollegeByOrgId(teachingRoomId);
|
|
|
|
|
|
+ SysOrg teachCollege = sysOrgService.findTeachCollegeByOrgId(teachingRoomId);
|
|
record.setTeachCollegeId(teachCollege.getId());
|
|
record.setTeachCollegeId(teachCollege.getId());
|
|
record.setTeachCollegeName(teachCollege.getName());
|
|
record.setTeachCollegeName(teachCollege.getName());
|
|
}
|
|
}
|
|
@@ -84,7 +86,7 @@ public class GradeBatchPaperServiceImpl extends ServiceImpl<GradeBatchPaperMappe
|
|
for (GradeBatchPaperResult gradeBatchPaperResult : datasource) {
|
|
for (GradeBatchPaperResult gradeBatchPaperResult : datasource) {
|
|
// 额外处理开课学院
|
|
// 额外处理开课学院
|
|
Long teachingRoomId = gradeBatchPaperResult.getTeachingRoomId();
|
|
Long teachingRoomId = gradeBatchPaperResult.getTeachingRoomId();
|
|
- SysOrg teachCollege = this.findTeachCollegeByOrgId(teachingRoomId);
|
|
|
|
|
|
+ SysOrg teachCollege = sysOrgService.findTeachCollegeByOrgId(teachingRoomId);
|
|
if (SystemConstant.longNotNull(collegeId) && !collegeId.equals(teachCollege.getId())) {
|
|
if (SystemConstant.longNotNull(collegeId) && !collegeId.equals(teachCollege.getId())) {
|
|
continue;
|
|
continue;
|
|
}
|
|
}
|
|
@@ -232,33 +234,6 @@ public class GradeBatchPaperServiceImpl extends ServiceImpl<GradeBatchPaperMappe
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- /**
|
|
|
|
- * 根据机构id查询开课学院
|
|
|
|
- *
|
|
|
|
- * @param orgId 机构id(课程所在教研室)
|
|
|
|
- * @return 开课学院
|
|
|
|
- */
|
|
|
|
- @Override
|
|
|
|
- public SysOrg findTeachCollegeByOrgId(Long orgId) {
|
|
|
|
- if (!SystemConstant.longNotNull(orgId)) {
|
|
|
|
- throw ExceptionResultEnum.ERROR.exception("机构id不存在");
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
-
|
|
|
|
- List<SysOrg> orgList = sysOrgService.findParentsByOrgId(orgId).stream().distinct().collect(Collectors.toList());
|
|
|
|
- List<SysOrg> schoolOrgList = orgList.stream().filter(e -> OrgTypeEnum.SCHOOL.equals(e.getType())).collect(Collectors.toList());
|
|
|
|
- if (schoolOrgList.size() != 1){
|
|
|
|
- throw ExceptionResultEnum.ERROR.exception("学校信息异常");
|
|
|
|
- }
|
|
|
|
- SysOrg schoolOrg = schoolOrgList.get(0);
|
|
|
|
- Long schoolOrgId = schoolOrg.getId();
|
|
|
|
- List<SysOrg> collegeOrgList = orgList.stream().filter(e -> schoolOrgId.equals(e.getParentId())).collect(Collectors.toList());;
|
|
|
|
- if (collegeOrgList.size() != 1){
|
|
|
|
- throw ExceptionResultEnum.ERROR.exception("开课学院异常");
|
|
|
|
- }
|
|
|
|
- return collegeOrgList.get(0);
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Override
|
|
@Override
|
|
public void updatePaperAndBatchStatus(Long schoolId, String paperNumber, String paperType) {
|
|
public void updatePaperAndBatchStatus(Long schoolId, String paperNumber, String paperType) {
|
|
@@ -349,4 +324,37 @@ public class GradeBatchPaperServiceImpl extends ServiceImpl<GradeBatchPaperMappe
|
|
.eq(GradeModuleEvaluation::getPaperType, paperType))
|
|
.eq(GradeModuleEvaluation::getPaperType, paperType))
|
|
.size() > 0;
|
|
.size() > 0;
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public List<DictionaryResult> findTeachCollegeList(Long schoolId, Long examId) {
|
|
|
|
+ QueryWrapper<ExamTask> examTaskQueryWrapper = new QueryWrapper<>();
|
|
|
|
+ examTaskQueryWrapper.lambda().eq(ExamTask::getSchoolId, schoolId);
|
|
|
|
+ if (SystemConstant.longNotNull(examId)) {
|
|
|
|
+ examTaskQueryWrapper.lambda().eq(ExamTask::getExamId, examId);
|
|
|
|
+ }
|
|
|
|
+ // 命题任务教研室id集合
|
|
|
|
+ List<Long> teachingRoomIdList = examTaskService.list(examTaskQueryWrapper)
|
|
|
|
+ .stream()
|
|
|
|
+ .map(ExamTask::getTeachingRoomId)
|
|
|
|
+ .distinct()
|
|
|
|
+ .collect(Collectors.toList());
|
|
|
|
+
|
|
|
|
+ List<SysOrg> teachOrgList = new ArrayList<>();
|
|
|
|
+ Map<Long, Long> keyMap = new HashMap<>();
|
|
|
|
+ for (Long orgId : teachingRoomIdList) {
|
|
|
|
+ SysOrg sysOrg = sysOrgService.findTeachCollegeByOrgId(orgId);
|
|
|
|
+ Long id = sysOrg.getId();
|
|
|
|
+ if (!keyMap.containsKey(id)) {
|
|
|
|
+ teachOrgList.add(sysOrg);
|
|
|
|
+ keyMap.put(id, id);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return teachOrgList.stream().flatMap(e -> {
|
|
|
|
+ DictionaryResult dictionaryResult = new DictionaryResult();
|
|
|
|
+ dictionaryResult.setName(e.getName());
|
|
|
|
+ dictionaryResult.setId(e.getId());
|
|
|
|
+ return Stream.of(dictionaryResult);
|
|
|
|
+ }).collect(Collectors.toList());
|
|
|
|
+ }
|
|
}
|
|
}
|