|
@@ -18,10 +18,7 @@ import com.qmth.teachcloud.common.bean.vo.FilePathVo;
|
|
|
import com.qmth.teachcloud.common.bean.vo.PaperInfoVo;
|
|
|
import com.qmth.teachcloud.common.bean.vo.PrintPathVo;
|
|
|
import com.qmth.teachcloud.common.contant.SystemConstant;
|
|
|
-import com.qmth.teachcloud.common.entity.BasicAttachment;
|
|
|
-import com.qmth.teachcloud.common.entity.BasicSchool;
|
|
|
-import com.qmth.teachcloud.common.entity.SysPrivilege;
|
|
|
-import com.qmth.teachcloud.common.entity.SysUser;
|
|
|
+import com.qmth.teachcloud.common.entity.*;
|
|
|
import com.qmth.teachcloud.common.enums.ClassifyEnum;
|
|
|
import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
|
|
|
import com.qmth.teachcloud.common.enums.RoleTypeEnum;
|
|
@@ -46,6 +43,8 @@ import java.util.stream.Collectors;
|
|
|
@Service
|
|
|
public class ClientServiceImpl implements ClientService {
|
|
|
|
|
|
+ @Resource
|
|
|
+ private BasicCourseService basicCourseService;
|
|
|
@Resource
|
|
|
private ExamTaskService examTaskService;
|
|
|
@Resource
|
|
@@ -78,12 +77,12 @@ public class ClientServiceImpl implements ClientService {
|
|
|
private ClientMapper clientMapper;
|
|
|
|
|
|
@Override
|
|
|
- public IPage<ClientExamTaskDto> listTryTask(String machineCode, Long orgId, Long semesterId, Long examId, Long printPlanId, String courseCode, String paperNumber, Boolean isTry, Boolean isPass, Integer pageNumber, Integer pageSize) {
|
|
|
+ public IPage<ClientExamTaskDto> listTryTask(String machineCode, Long orgId, Long semesterId, Long examId, Long printPlanId, Long courseId, String paperNumber, Boolean isTry, Boolean isPass, Integer pageNumber, Integer pageSize) {
|
|
|
Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
|
|
|
Page<ClientExamTaskDto> page = new Page<>(pageNumber, pageSize);
|
|
|
// 印刷任务状态为印刷中(PRINTING),考场状态为待打印(WAITING)
|
|
|
String[] examDetailStatus = {ExamDetailStatusEnum.NEW.name(), ExamDetailStatusEnum.READY.name(), ExamDetailStatusEnum.CANCEL.name()};
|
|
|
- return clientMapper.pageTryTask(page, schoolId, semesterId, examId, machineCode, orgId, printPlanId, courseCode, paperNumber, isTry, isPass, PrintPlanStatusEnum.PRINTING.name(), examDetailStatus);
|
|
|
+ return clientMapper.pageTryTask(page, schoolId, semesterId, examId, machineCode, orgId, printPlanId, courseId, paperNumber, isTry, isPass, PrintPlanStatusEnum.PRINTING.name(), examDetailStatus);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -94,10 +93,11 @@ public class ClientServiceImpl implements ClientService {
|
|
|
Long printPlanId = object.getLong("printPlanId");
|
|
|
Long examTaskId = object.getLong("examTaskId");
|
|
|
ExamTask examTask = examTaskService.getById(examTaskId);
|
|
|
+ BasicCourse basicCourse = basicCourseService.getById(examTask.getCourseId());
|
|
|
Map<String, Object> map = new HashMap<>();
|
|
|
map.put("printPlanId", printPlanId);
|
|
|
- map.put("courseCode", examTask.getCourseCode());
|
|
|
- map.put("courseName", examTask.getCourseName());
|
|
|
+ map.put("courseCode", basicCourse.getCode());
|
|
|
+ map.put("courseName", basicCourse.getName());
|
|
|
map.put("paperNumber", examTask.getPaperNumber());
|
|
|
List<Map<String, String>> mapList = this.getPaperUrl(schoolId, printPlanId, examTaskId);
|
|
|
map.put("list", mapList);
|
|
@@ -154,7 +154,7 @@ public class ClientServiceImpl implements ClientService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public IPage<ClientExamStudentDto> listStudent(Long examDetailId, String studentCode, String studentName, String courseCode, Integer pageNumber, Integer pageSize) {
|
|
|
+ public IPage<ClientExamStudentDto> listStudent(Long examDetailId, String studentCode, String studentName, Long courseId, Integer pageNumber, Integer pageSize) {
|
|
|
Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
|
|
|
// 撤回提示
|
|
|
ExamDetail examDetail = examDetailService.getById(examDetailId);
|
|
@@ -163,7 +163,7 @@ public class ClientServiceImpl implements ClientService {
|
|
|
throw ExceptionResultEnum.ERROR.exception("该任务已被撤回");
|
|
|
}
|
|
|
Page<ClientExamStudentDto> page = new Page<>(pageNumber, pageSize);
|
|
|
- return clientMapper.listClientExamStudentPage(page, schoolId, examDetailId, SystemConstant.translateSpecificSign(studentCode), SystemConstant.translateSpecificSign(studentName), courseCode);
|
|
|
+ return clientMapper.listClientExamStudentPage(page, schoolId, examDetailId, SystemConstant.translateSpecificSign(studentCode), SystemConstant.translateSpecificSign(studentName), courseId);
|
|
|
}
|
|
|
|
|
|
|
|
@@ -217,12 +217,12 @@ public class ClientServiceImpl implements ClientService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public IPage<ClientPrintTaskDto> listClientPrintTask(String machineCode, Long orgId, Long semesterId, Long examId, String printPlanId, String status, String courseCode, String paperNumber, String examPlace, String examRoom, Long examStartTime, Long examEndTime, Boolean isDownload, Boolean validate, Integer pageNumber, Integer pageSize) {
|
|
|
+ public IPage<ClientPrintTaskDto> listClientPrintTask(String machineCode, Long orgId, Long semesterId, Long examId, String printPlanId, String status, Long courseId, String paperNumber, String examPlace, String examRoom, Long examStartTime, Long examEndTime, Boolean isDownload, Boolean validate, Integer pageNumber, Integer pageSize) {
|
|
|
Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
|
|
|
Page<ClientPrintTaskDto> page = new Page<>(pageNumber, pageSize);
|
|
|
// 以下状态考场状态不可查询
|
|
|
String[] examDetailStatus = new String[]{ExamDetailStatusEnum.NEW.name(), ExamDetailStatusEnum.READY.name(), ExamDetailStatusEnum.CANCEL.name()};
|
|
|
- IPage<ClientPrintTaskDto> clientPrintTaskDtoIPage = clientMapper.listClientPrintTask(page, schoolId, semesterId, examId, machineCode, printPlanId, status, courseCode, paperNumber, examPlace, examRoom, examStartTime, examEndTime, isDownload, validate, orgId, examDetailStatus);
|
|
|
+ IPage<ClientPrintTaskDto> clientPrintTaskDtoIPage = clientMapper.listClientPrintTask(page, schoolId, semesterId, examId, machineCode, printPlanId, status, courseId, paperNumber, examPlace, examRoom, examStartTime, examEndTime, isDownload, validate, orgId, examDetailStatus);
|
|
|
for (ClientPrintTaskDto record : clientPrintTaskDtoIPage.getRecords()) {
|
|
|
// 试卷、题卡
|
|
|
String printContent = record.getPrintContent();
|
|
@@ -454,12 +454,12 @@ public class ClientServiceImpl implements ClientService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public List<Map<String, Object>> getPrintDataBatch(String machineCode, Long orgId, Long semesterId, Long examId, String printPlanId, String status, String courseCode, String paperNumber, String examPlace, String examRoom, Long examStartTime, Long examEndTime, Boolean isDownload, Boolean validate) {
|
|
|
+ public List<Map<String, Object>> getPrintDataBatch(String machineCode, Long orgId, Long semesterId, Long examId, String printPlanId, String status, Long courseId, String paperNumber, String examPlace, String examRoom, Long examStartTime, Long examEndTime, Boolean isDownload, Boolean validate) {
|
|
|
Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
|
|
|
// Set<Long> orgIds = teachcloudCommonService.listSubOrgIds(null);
|
|
|
// 以下状态考场状态不可查询
|
|
|
String[] examDetailStatus = new String[]{ExamDetailStatusEnum.NEW.name(), ExamDetailStatusEnum.READY.name(), ExamDetailStatusEnum.CANCEL.name()};
|
|
|
- List<ClientPrintTaskDto> pirntTaskDtoList = clientMapper.listClientPrintTask(schoolId, semesterId, examId, machineCode, printPlanId, status, courseCode, paperNumber, examPlace, examRoom, examStartTime, examEndTime, isDownload, validate, orgId, examDetailStatus);
|
|
|
+ List<ClientPrintTaskDto> pirntTaskDtoList = clientMapper.listClientPrintTask(schoolId, semesterId, examId, machineCode, printPlanId, status, courseId, paperNumber, examPlace, examRoom, examStartTime, examEndTime, isDownload, validate, orgId, examDetailStatus);
|
|
|
// 撤回
|
|
|
long count = pirntTaskDtoList.stream().map(m -> {
|
|
|
ExamDetail examDetail = examDetailService.getById(m.getExamDetailId());
|
|
@@ -641,11 +641,11 @@ public class ClientServiceImpl implements ClientService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public List<Map<String, Object>> getBatchUrl(String machineCode, Long orgId, Long semesterId, Long examId, Long printPlanId, String courseCode, String paperNumber, Boolean isTry, Boolean isPass) {
|
|
|
+ public List<Map<String, Object>> getBatchUrl(String machineCode, Long orgId, Long semesterId, Long examId, Long printPlanId, Long courseId, String paperNumber, Boolean isTry, Boolean isPass) {
|
|
|
Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
|
|
|
// 印刷任务状态为印刷中(PRINTING),考场状态为待打印(WAITING)
|
|
|
String[] examDetailStatus = {ExamDetailStatusEnum.NEW.name(), ExamDetailStatusEnum.READY.name(), ExamDetailStatusEnum.CANCEL.name()};
|
|
|
- List<ClientExamTaskDto> clientExamTaskDtos = clientMapper.pageTryTask(schoolId, semesterId, examId, machineCode, orgId, printPlanId, courseCode, paperNumber, isTry, isPass, PrintPlanStatusEnum.PRINTING.name(), examDetailStatus);
|
|
|
+ List<ClientExamTaskDto> clientExamTaskDtos = clientMapper.pageTryTask(schoolId, semesterId, examId, machineCode, orgId, printPlanId, courseId, paperNumber, isTry, isPass, PrintPlanStatusEnum.PRINTING.name(), examDetailStatus);
|
|
|
List<Map<String, Object>> list = new ArrayList<>();
|
|
|
for (ClientExamTaskDto clientExamTaskDto : clientExamTaskDtos) {
|
|
|
Map<String, Object> map = new HashMap<>();
|
|
@@ -661,11 +661,11 @@ public class ClientServiceImpl implements ClientService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public void exportClientPrintTask(HttpServletResponse response, String machineCode, Long orgId, Long semesterId, Long examId, String printPlanId, String status, String courseCode, String paperNumber, String examPlace, String examRoom, Long examStartTime, Long examEndTime, Boolean isDownload, Boolean validate) throws Exception {
|
|
|
+ public void exportClientPrintTask(HttpServletResponse response, String machineCode, Long orgId, Long semesterId, Long examId, String printPlanId, String status, Long courseId, String paperNumber, String examPlace, String examRoom, Long examStartTime, Long examEndTime, Boolean isDownload, Boolean validate) throws Exception {
|
|
|
Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
|
|
|
// 以下状态考场状态不可查询
|
|
|
String[] examDetailStatus = new String[]{ExamDetailStatusEnum.NEW.name(), ExamDetailStatusEnum.READY.name(), ExamDetailStatusEnum.CANCEL.name()};
|
|
|
- List<ClientPrintTaskDto> printTaskDtoIList = clientMapper.listClientPrintTask(schoolId, semesterId, examId, machineCode, printPlanId, status, courseCode, paperNumber, examPlace, examRoom, examStartTime, examEndTime, isDownload, validate, orgId, examDetailStatus);
|
|
|
+ List<ClientPrintTaskDto> printTaskDtoIList = clientMapper.listClientPrintTask(schoolId, semesterId, examId, machineCode, printPlanId, status, courseId, paperNumber, examPlace, examRoom, examStartTime, examEndTime, isDownload, validate, orgId, examDetailStatus);
|
|
|
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
printTaskDtoIList = printTaskDtoIList.stream().map(m -> {
|
|
|
if (m.getExamStartTime() != null) {
|
|
@@ -693,10 +693,10 @@ public class ClientServiceImpl implements ClientService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public ClientPrintTaskTotalDto taskTotalData(Long semesterId, Long examId, String printPlanId, Long orgId, String status, String courseCode, String paperNumber, String examPlace, String examRoom, Long examStartTime, Long examEndTime, Boolean isDownload, Boolean validate, String machineCode) {
|
|
|
+ public ClientPrintTaskTotalDto taskTotalData(Long semesterId, Long examId, String printPlanId, Long orgId, String status, Long courseId, String paperNumber, String examPlace, String examRoom, Long examStartTime, Long examEndTime, Boolean isDownload, Boolean validate, String machineCode) {
|
|
|
Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
|
|
|
String[] examDetailStatus = new String[]{ExamDetailStatusEnum.NEW.name(), ExamDetailStatusEnum.READY.name(), ExamDetailStatusEnum.CANCEL.name()};
|
|
|
- ClientPrintTaskTotalDto clientPrintTaskTotalDto = clientMapper.clientTaskTotalData(schoolId, semesterId, examId, printPlanId, status, courseCode, paperNumber, examPlace, examRoom, examStartTime, examEndTime, isDownload, validate, machineCode, orgId, examDetailStatus);
|
|
|
+ ClientPrintTaskTotalDto clientPrintTaskTotalDto = clientMapper.clientTaskTotalData(schoolId, semesterId, examId, printPlanId, status, courseId, paperNumber, examPlace, examRoom, examStartTime, examEndTime, isDownload, validate, machineCode, orgId, examDetailStatus);
|
|
|
if (clientPrintTaskTotalDto != null) {
|
|
|
// 累计a3,a4
|
|
|
List<ClientPrintData> list = clientPrintDataService.listBySchoolIdAndMachineCode(schoolId, machineCode);
|
|
@@ -722,15 +722,15 @@ public class ClientServiceImpl implements ClientService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public IPage<ClientPrintStatisticsDto> listClientPrintStatistics(Long orgId, Long semesterId, Long examId, String printPlanId, String examPlace, Long examStartTime, Long examEndTime, String courseCode, String paperNumber, Integer pageNumber, Integer pageSize) {
|
|
|
+ public IPage<ClientPrintStatisticsDto> listClientPrintStatistics(Long orgId, Long semesterId, Long examId, String printPlanId, String examPlace, Long examStartTime, Long examEndTime, Long courseId, String paperNumber, Integer pageNumber, Integer pageSize) {
|
|
|
Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
|
|
|
Page<ClientPrintStatisticsDto> page = new Page<>(pageNumber, pageSize);
|
|
|
- return examPrintPlanService.listClientPrintStatistics(page, schoolId, semesterId, examId, printPlanId, examPlace, examStartTime, examEndTime, courseCode, paperNumber, orgId);
|
|
|
+ return examPrintPlanService.listClientPrintStatistics(page, schoolId, semesterId, examId, printPlanId, examPlace, examStartTime, examEndTime, courseId, paperNumber, orgId);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public ClientPrintStatisticsTotalDto clientStatisticsTotalData(Long orgId, Long semesterId, Long examId, Long printPlanId, String examPlace, Long examStartTime, Long examEndTime, String courseCode, String paperNumber) {
|
|
|
- return examPrintPlanService.clientStatisticsTotalData(orgId, semesterId, examId, printPlanId, examPlace, examStartTime, examEndTime, courseCode, paperNumber);
|
|
|
+ public ClientPrintStatisticsTotalDto clientStatisticsTotalData(Long orgId, Long semesterId, Long examId, Long printPlanId, String examPlace, Long examStartTime, Long examEndTime, Long courseId, String paperNumber) {
|
|
|
+ return examPrintPlanService.clientStatisticsTotalData(orgId, semesterId, examId, printPlanId, examPlace, examStartTime, examEndTime, courseId, paperNumber);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -769,12 +769,12 @@ public class ClientServiceImpl implements ClientService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public IPage<PrintSingleDto> getSingleData(Long semesterId, Long examId, Long printPlanId, Long courseCode, Long paperNumber, Integer pageNumber, Integer pageSize) {
|
|
|
+ public IPage<PrintSingleDto> getSingleData(Long semesterId, Long examId, Long printPlanId, Long courseId, Long paperNumber, Integer pageNumber, Integer pageSize) {
|
|
|
Page<PrintSingleDto> page = new Page<>(pageNumber, pageSize);
|
|
|
String[] examDetailStatus = {ExamDetailStatusEnum.NEW.name(), ExamDetailStatusEnum.READY.name(), ExamDetailStatusEnum.CANCEL.name()};
|
|
|
- IPage<PrintSingleDto> clientExamTaskDtoList = clientMapper.pagePrintSingleData(page, semesterId, examId, printPlanId, courseCode, paperNumber, examDetailStatus);
|
|
|
+ IPage<PrintSingleDto> clientExamTaskDtoList = clientMapper.pagePrintSingleData(page, semesterId, examId, printPlanId, courseId, paperNumber, examDetailStatus);
|
|
|
for (PrintSingleDto record : clientExamTaskDtoList.getRecords()) {
|
|
|
- ExamTaskDetail examTaskDetail = examTaskDetailService.getByExamIdAndCourseCodeAndPaperNumber(record.getExamId(), record.getCourseCode(), record.getPaperNumber());
|
|
|
+ ExamTaskDetail examTaskDetail = examTaskDetailService.getByExamIdAndCourseIdAndPaperNumber(record.getExamId(), record.getCourseId(), record.getPaperNumber());
|
|
|
List<PaperInfoVo> paperInfoVoList = examTaskDetail.getPaperInfoVoList(record.getPaperType());
|
|
|
// 试卷
|
|
|
List<UrlMd5Dto> paperList = new ArrayList<>();
|
|
@@ -957,7 +957,7 @@ public class ClientServiceImpl implements ClientService {
|
|
|
@Override
|
|
|
public List<Map<String, String>> getPaperUrl(Long schoolId, Long printPlanId, Long examTaskId) {
|
|
|
ExamTask examTask = examTaskService.getById(examTaskId);
|
|
|
- List<ExamDetailCourse> examDetailCourses = examDetailCourseService.listByPrintPlanIdAndCourseCodeAndPaperNumber(schoolId, printPlanId, examTask.getCourseId(), examTask.getPaperNumber());
|
|
|
+ List<ExamDetailCourse> examDetailCourses = examDetailCourseService.listByPrintPlanIdAndCourseIdAndPaperNumber(schoolId, printPlanId, examTask.getCourseId(), examTask.getPaperNumber());
|
|
|
if (CollectionUtils.isNotEmpty(examDetailCourses)) {
|
|
|
Set<String> relatePaperTypes = examDetailCourses.stream().filter(m -> StringUtils.isNotBlank(m.getPaperType())).map(m -> m.getPaperType()).collect(Collectors.toSet());
|
|
|
List<Map<String, String>> paperList = new ArrayList<>();
|