|
@@ -175,6 +175,15 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
|
|
Set<Long> orgIds = teachcloudCommonService.listSubOrgIds(null);
|
|
Set<Long> orgIds = teachcloudCommonService.listSubOrgIds(null);
|
|
Page<ExamTaskDto> page = new Page<>(pageNumber, pageSize);
|
|
Page<ExamTaskDto> page = new Page<>(pageNumber, pageSize);
|
|
IPage<ExamTaskDto> examTaskDtoIPage = this.baseMapper.listPage(page, schoolId, enable, status, cardRuleId, courseCode, paperNumber, startTime, endTime, orgIds, userName, createName);
|
|
IPage<ExamTaskDto> examTaskDtoIPage = this.baseMapper.listPage(page, schoolId, enable, status, cardRuleId, courseCode, paperNumber, startTime, endTime, orgIds, userName, createName);
|
|
|
|
+ for (ExamTaskDto record : examTaskDtoIPage.getRecords()) {
|
|
|
|
+ // 判断审批表状态
|
|
|
|
+ String cellPaperNumber = record.getPaperNumber();
|
|
|
|
+ List<PrintPlanStatusEnum> printPlanStatusEnumList = new ArrayList<>();
|
|
|
|
+ printPlanStatusEnumList.add(PrintPlanStatusEnum.PRINTING);
|
|
|
|
+ printPlanStatusEnumList.add(PrintPlanStatusEnum.PRINT_FINISH);
|
|
|
|
+ List<ExamPackageDetail> examPackageDetailDatasource = this.baseMapper.findExamPackageDetailByPaperNumber(cellPaperNumber, printPlanStatusEnumList);
|
|
|
|
+ record.setApproveFormStatus(examPackageDetailDatasource.size() > 0);
|
|
|
|
+ }
|
|
return examTaskDtoIPage;
|
|
return examTaskDtoIPage;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -1698,37 +1707,41 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
|
|
List<PrintPlanStatusEnum> printPlanStatusEnumList = new ArrayList<>();
|
|
List<PrintPlanStatusEnum> printPlanStatusEnumList = new ArrayList<>();
|
|
printPlanStatusEnumList.add(PrintPlanStatusEnum.PRINTING);
|
|
printPlanStatusEnumList.add(PrintPlanStatusEnum.PRINTING);
|
|
printPlanStatusEnumList.add(PrintPlanStatusEnum.PRINT_FINISH);
|
|
printPlanStatusEnumList.add(PrintPlanStatusEnum.PRINT_FINISH);
|
|
- List<ExamPackageDetail> examPackageDetailDatasource = this.baseMapper.findExamPackageDetailByPaperNumber(paperNumber,printPlanStatusEnumList);
|
|
|
|
|
|
+ List<ExamPackageDetail> examPackageDetailDatasource = this.baseMapper.findExamPackageDetailByPaperNumber(paperNumber, printPlanStatusEnumList);
|
|
ExamObjectDto examObjectDto = this.buildExamObjectDtoByPackageDatasource(examPackageDetailDatasource);
|
|
ExamObjectDto examObjectDto = this.buildExamObjectDtoByPackageDatasource(examPackageDetailDatasource);
|
|
|
|
|
|
// 3.ApprovalInfo部分
|
|
// 3.ApprovalInfo部分
|
|
|
|
+ Boolean review = examTask.getReview();
|
|
|
|
+ final String remark = "通过";
|
|
|
|
+ final String link = ",";
|
|
List<ApprovalInfo> approvalInfoList = new ArrayList<>();
|
|
List<ApprovalInfo> approvalInfoList = new ArrayList<>();
|
|
- ApprovalInfo second = examTaskReviewLogService.findOnePassBySetUp(flowId, 2);
|
|
|
|
- if (Objects.isNull(second)) {
|
|
|
|
- throw ExceptionResultEnum.ERROR.exception("未找到主任级审核记录");
|
|
|
|
- }
|
|
|
|
- ApprovalInfo third = examTaskReviewLogService.findOnePassBySetUp(flowId, 3);
|
|
|
|
- if (Objects.isNull(third)) {
|
|
|
|
- throw ExceptionResultEnum.ERROR.exception("未找到院长级审核记录");
|
|
|
|
- }
|
|
|
|
- String secondRemark = second.getRemark();
|
|
|
|
- if (SystemConstant.strNotNull(secondRemark)) {
|
|
|
|
- secondRemark = "通过," + secondRemark;
|
|
|
|
- } else {
|
|
|
|
- secondRemark = "通过";
|
|
|
|
- }
|
|
|
|
- String thirdRemark = third.getRemark();
|
|
|
|
- if (SystemConstant.strNotNull(thirdRemark)) {
|
|
|
|
- thirdRemark = "通过," + thirdRemark;
|
|
|
|
- } else {
|
|
|
|
- thirdRemark = "通过";
|
|
|
|
- }
|
|
|
|
- second.setRemark(secondRemark);
|
|
|
|
- third.setRemark(thirdRemark);
|
|
|
|
- approvalInfoList.add(second);
|
|
|
|
- approvalInfoList.add(third);
|
|
|
|
-
|
|
|
|
|
|
+ if (review) {
|
|
|
|
+ ApprovalInfo second = examTaskReviewLogService.findOnePassBySetUp(flowId, 2);
|
|
|
|
+ if (Objects.isNull(second)) {
|
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("未找到主任级审核记录");
|
|
|
|
+ }
|
|
|
|
+ ApprovalInfo third = examTaskReviewLogService.findOnePassBySetUp(flowId, 3);
|
|
|
|
+ if (Objects.isNull(third)) {
|
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("未找到院长级审核记录");
|
|
|
|
+ }
|
|
|
|
+ String secondRemark = second.getRemark();
|
|
|
|
+ if (SystemConstant.strNotNull(secondRemark)) {
|
|
|
|
+ secondRemark = remark + link + secondRemark;
|
|
|
|
+ } else {
|
|
|
|
+ secondRemark = remark;
|
|
|
|
+ }
|
|
|
|
|
|
|
|
+ String thirdRemark = third.getRemark();
|
|
|
|
+ if (SystemConstant.strNotNull(thirdRemark)) {
|
|
|
|
+ thirdRemark = remark + link + thirdRemark;
|
|
|
|
+ } else {
|
|
|
|
+ thirdRemark = remark;
|
|
|
|
+ }
|
|
|
|
+ second.setRemark(secondRemark);
|
|
|
|
+ third.setRemark(thirdRemark);
|
|
|
|
+ approvalInfoList.add(second);
|
|
|
|
+ approvalInfoList.add(third);
|
|
|
|
+ }
|
|
// ---- 组装Dto
|
|
// ---- 组装Dto
|
|
ExamTaskApprovalFormDto examTaskApprovalFormDto = new ExamTaskApprovalFormDto();
|
|
ExamTaskApprovalFormDto examTaskApprovalFormDto = new ExamTaskApprovalFormDto();
|
|
BasicInfo basicInfo = new BasicInfo();
|
|
BasicInfo basicInfo = new BasicInfo();
|
|
@@ -1785,11 +1798,11 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
|
|
List<PrintPlanStatusEnum> printPlanStatusEnumList = new ArrayList<>();
|
|
List<PrintPlanStatusEnum> printPlanStatusEnumList = new ArrayList<>();
|
|
printPlanStatusEnumList.add(PrintPlanStatusEnum.NEW);
|
|
printPlanStatusEnumList.add(PrintPlanStatusEnum.NEW);
|
|
printPlanStatusEnumList.add(PrintPlanStatusEnum.READY);
|
|
printPlanStatusEnumList.add(PrintPlanStatusEnum.READY);
|
|
- List<ExamPackageDetail> examPackageDetailDatasource = this.baseMapper.findExamPackageDetailByPaperNumber(paperNumber,printPlanStatusEnumList);
|
|
|
|
|
|
+ List<ExamPackageDetail> examPackageDetailDatasource = this.baseMapper.findExamPackageDetailByPaperNumber(paperNumber, printPlanStatusEnumList);
|
|
ExamObjectDto examObjectDto = this.buildExamObjectDtoByPackageDatasource(examPackageDetailDatasource);
|
|
ExamObjectDto examObjectDto = this.buildExamObjectDtoByPackageDatasource(examPackageDetailDatasource);
|
|
|
|
|
|
- ExamTask examTask = examTaskService.getOne(new QueryWrapper<ExamTask>().lambda().eq(ExamTask::getPaperNumber,paperNumber).eq(ExamTask::getSchoolId,schoolId));
|
|
|
|
- if (Objects.isNull(examTask)){
|
|
|
|
|
|
+ ExamTask examTask = examTaskService.getOne(new QueryWrapper<ExamTask>().lambda().eq(ExamTask::getPaperNumber, paperNumber).eq(ExamTask::getSchoolId, schoolId));
|
|
|
|
+ if (Objects.isNull(examTask)) {
|
|
throw ExceptionResultEnum.ERROR.exception("未找到命题任务");
|
|
throw ExceptionResultEnum.ERROR.exception("未找到命题任务");
|
|
}
|
|
}
|
|
examObjectDto.setPaperName(examTask.getPaperName());
|
|
examObjectDto.setPaperName(examTask.getPaperName());
|
|
@@ -1841,12 +1854,18 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- private ExamObjectDto buildExamObjectDtoByPackageDatasource(List<ExamPackageDetail> examPackageDetailDatasource){
|
|
|
|
|
|
+ /**
|
|
|
|
+ * 根据试卷袋信息构建考试对象信息
|
|
|
|
+ *
|
|
|
|
+ * @param examPackageDetailDatasource 试卷袋数据源
|
|
|
|
+ * @return 考试对象
|
|
|
|
+ */
|
|
|
|
+ private ExamObjectDto buildExamObjectDtoByPackageDatasource(List<ExamPackageDetail> examPackageDetailDatasource) {
|
|
Long examStartTime = null;
|
|
Long examStartTime = null;
|
|
Long examEndTime = null;
|
|
Long examEndTime = null;
|
|
int printTotalCount = 0;
|
|
int printTotalCount = 0;
|
|
List<ExamRoomInfo> examRoomInfoList = new ArrayList<>();
|
|
List<ExamRoomInfo> examRoomInfoList = new ArrayList<>();
|
|
- if (examPackageDetailDatasource.size() > 0){
|
|
|
|
|
|
+ if (examPackageDetailDatasource.size() > 0) {
|
|
Set<Long> examDetailIdSet = examPackageDetailDatasource.stream().map(ExamPackageDetail::getExamDetailId).collect(Collectors.toSet());
|
|
Set<Long> examDetailIdSet = examPackageDetailDatasource.stream().map(ExamPackageDetail::getExamDetailId).collect(Collectors.toSet());
|
|
for (Long examDetailId : examDetailIdSet) {
|
|
for (Long examDetailId : examDetailIdSet) {
|
|
// 一个考场下
|
|
// 一个考场下
|
|
@@ -1860,11 +1879,11 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
|
|
.collect(Collectors.toList());
|
|
.collect(Collectors.toList());
|
|
|
|
|
|
List<BackupMethodEnum> backupMethodEnums = examPackageDetailCell.stream().map(ExamPackageDetail::getBackupMethod).distinct().collect(Collectors.toList());
|
|
List<BackupMethodEnum> backupMethodEnums = examPackageDetailCell.stream().map(ExamPackageDetail::getBackupMethod).distinct().collect(Collectors.toList());
|
|
- if (backupMethodEnums.size() != 1 && backupMethodEnums.get(0) != BackupMethodEnum.ROOM){
|
|
|
|
|
|
+ if (backupMethodEnums.size() != 1 && backupMethodEnums.get(0) != BackupMethodEnum.ROOM) {
|
|
throw ExceptionResultEnum.ERROR.exception("印刷计划试卷备份方式必须按考场");
|
|
throw ExceptionResultEnum.ERROR.exception("印刷计划试卷备份方式必须按考场");
|
|
}
|
|
}
|
|
List<Integer> backupCountList = examPackageDetailCell.stream().map(ExamPackageDetail::getBackupCount).distinct().collect(Collectors.toList());
|
|
List<Integer> backupCountList = examPackageDetailCell.stream().map(ExamPackageDetail::getBackupCount).distinct().collect(Collectors.toList());
|
|
- if (backupCountList.size() != 1){
|
|
|
|
|
|
+ if (backupCountList.size() != 1) {
|
|
throw ExceptionResultEnum.ERROR.exception("印刷计划试卷备份数量异常");
|
|
throw ExceptionResultEnum.ERROR.exception("印刷计划试卷备份数量异常");
|
|
}
|
|
}
|
|
// 试卷该考场备份数量
|
|
// 试卷该考场备份数量
|
|
@@ -1876,10 +1895,10 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
|
|
// 处理考试开始结束时间
|
|
// 处理考试开始结束时间
|
|
Long cellStartTime = examPackageDetail.getExamStartTime();
|
|
Long cellStartTime = examPackageDetail.getExamStartTime();
|
|
Long cellEndTime = examPackageDetail.getExamEndTime();
|
|
Long cellEndTime = examPackageDetail.getExamEndTime();
|
|
- if (examStartTime == null || cellStartTime < examStartTime){
|
|
|
|
|
|
+ if (examStartTime == null || cellStartTime < examStartTime) {
|
|
examStartTime = cellStartTime;
|
|
examStartTime = cellStartTime;
|
|
}
|
|
}
|
|
- if (examEndTime == null || cellEndTime > examEndTime){
|
|
|
|
|
|
+ if (examEndTime == null || cellEndTime > examEndTime) {
|
|
examEndTime = cellEndTime;
|
|
examEndTime = cellEndTime;
|
|
}
|
|
}
|
|
// 处理班级和数量
|
|
// 处理班级和数量
|
|
@@ -1888,8 +1907,8 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
|
|
studentCount = studentCount + studentCellCount;
|
|
studentCount = studentCount + studentCellCount;
|
|
clazzIds = clazzIds + clazzIdCell + separator;
|
|
clazzIds = clazzIds + clazzIdCell + separator;
|
|
}
|
|
}
|
|
- clazzIds = clazzIds.substring(0,clazzIds.length() - separator.length());
|
|
|
|
- classNames = basicClazzService.findClazzNamesByClazzIds(clazzIds,separator);
|
|
|
|
|
|
+ clazzIds = clazzIds.substring(0, clazzIds.length() - separator.length());
|
|
|
|
+ classNames = basicClazzService.findClazzNamesByClazzIds(clazzIds, separator);
|
|
printCount = studentCount + " + " + backupCount;
|
|
printCount = studentCount + " + " + backupCount;
|
|
printTotalCount = printTotalCount + studentCount + backupCount;
|
|
printTotalCount = printTotalCount + studentCount + backupCount;
|
|
|
|
|