|
@@ -176,6 +176,9 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
|
|
@Resource
|
|
@Resource
|
|
TFCustomFlowService tfCustomFlowService;
|
|
TFCustomFlowService tfCustomFlowService;
|
|
|
|
|
|
|
|
+ @Resource
|
|
|
|
+ BasicExamService basicExamService;
|
|
|
|
+
|
|
@Override
|
|
@Override
|
|
public List<ExamTask> listByCourseCode(Long schoolId, String code) {
|
|
public List<ExamTask> listByCourseCode(Long schoolId, String code) {
|
|
QueryWrapper<ExamTask> queryWrapper = new QueryWrapper<>();
|
|
QueryWrapper<ExamTask> queryWrapper = new QueryWrapper<>();
|
|
@@ -1612,9 +1615,6 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
|
|
|
|
|
|
/**
|
|
/**
|
|
* 获取不是自己可以审核的流程id集合
|
|
* 获取不是自己可以审核的流程id集合
|
|
- *
|
|
|
|
- * @param currentUserId
|
|
|
|
- * @return
|
|
|
|
*/
|
|
*/
|
|
@Override
|
|
@Override
|
|
public List<Long> findFlowIdToNotMySelf(Long currentUserId) {
|
|
public List<Long> findFlowIdToNotMySelf(Long currentUserId) {
|
|
@@ -1676,6 +1676,9 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
|
|
examTask.setCreateTime(System.currentTimeMillis());
|
|
examTask.setCreateTime(System.currentTimeMillis());
|
|
|
|
|
|
BasicPrintConfig basicPrintConfig = basicPrintConfigService.getByExamIdAndCourseCode(examTask.getExamId(), examTask.getCourseCode());
|
|
BasicPrintConfig basicPrintConfig = basicPrintConfigService.getByExamIdAndCourseCode(examTask.getExamId(), examTask.getCourseCode());
|
|
|
|
+ if (basicPrintConfig == null) {
|
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("印品配置未设置");
|
|
|
|
+ }
|
|
examTask.setCardRuleId(basicPrintConfig.getCardRuleId());
|
|
examTask.setCardRuleId(basicPrintConfig.getCardRuleId());
|
|
|
|
|
|
if (Objects.isNull(examTask.getFlowId())) {
|
|
if (Objects.isNull(examTask.getFlowId())) {
|
|
@@ -1705,83 +1708,125 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
|
|
|
|
|
|
examTaskDetailService.save(examTaskDetail);
|
|
examTaskDetailService.save(examTaskDetail);
|
|
|
|
|
|
- // 创建印刷计划
|
|
|
|
- ExamDetailParams examDetailParams = JSONObject.parseObject(String.valueOf(jsonObject.get("examDetail")), ExamDetailParams.class);
|
|
|
|
-
|
|
|
|
- ExamPrintPlan examPrintPlan = new ExamPrintPlan();
|
|
|
|
- examPrintPlan.insertInfo(sysUser.getId());
|
|
|
|
- examPrintPlan.setSchoolId(schoolId);
|
|
|
|
- examPrintPlan.setOrgId(sysUser.getOrgId());
|
|
|
|
- examPrintPlan.setName(examTask.getCourseName() + examTask.getPaperNumber());
|
|
|
|
- examPrintPlan.setExamStartTime(examDetailParams.getExamStartTime());
|
|
|
|
- examPrintPlan.setExamEndTime(examDetailParams.getExamEndTime());
|
|
|
|
- examPrintPlan.setPrintContent(String.join(",", JSONObject.parseArray(basicPrintConfig.getPrintContent(), String.class)));
|
|
|
|
- examPrintPlan.setBackupMethod(BackupMethodEnum.valueOf(basicPrintConfig.getBackupMethod()));
|
|
|
|
- examPrintPlan.setBackupCount(basicPrintConfig.getBackupCount());
|
|
|
|
- examPrintPlan.setDrawRule(basicPrintConfig.getDrawRule());
|
|
|
|
- examPrintPlan.setVariableContent(basicPrintConfig.getVariableContent());
|
|
|
|
- examPrintPlan.setOrdinaryContent(basicPrintConfig.getOrdinaryContent());
|
|
|
|
- examPrintPlan.setStatus(PrintPlanStatusEnum.READY);
|
|
|
|
- examPrintPlan.setSyncStatus(ExamPrintPlanSyncStatusEnum.INIT);
|
|
|
|
- examPrintPlan.setExamId(examTask.getExamId());
|
|
|
|
- examPrintPlanService.save(examPrintPlan);
|
|
|
|
-
|
|
|
|
- List<ExamDetailList> examDetailLists = JSONObject.parseArray(JSONObject.toJSONString(examDetailParams.getList()), ExamDetailList.class);
|
|
|
|
-
|
|
|
|
- int i = 1;
|
|
|
|
- for (ExamDetailList examDetailList : examDetailLists) {
|
|
|
|
- SerialNumberParams serialNumberParams = new SerialNumberParams("packageCode-" + schoolId, "1", 6);
|
|
|
|
- ExamDetail examDetail = new ExamDetail();
|
|
|
|
- examDetail.setId(SystemConstant.getDbUuid());
|
|
|
|
- examDetail.setPackageCode(printCommonService.createTempNumber(serialNumberParams));
|
|
|
|
- examDetail.setSchoolId(schoolId);
|
|
|
|
- examDetail.setOrgId(sysUser.getOrgId());
|
|
|
|
- examDetail.setPrintPlanId(examPrintPlan.getId());
|
|
|
|
- examDetail.setPrintPlanName(examPrintPlan.getName());
|
|
|
|
- examDetail.setExamPlace(StringUtils.isBlank(examDetailList.getExamPlace()) ? "考点" + i : examDetailList.getExamPlace()); // 默认填充班级所在校区
|
|
|
|
- examDetail.setExamRoom(StringUtils.isBlank(examDetailList.getExamRoom()) ? examDetailList.getClassName() : examDetailList.getExamRoom()); // 默认填充班级
|
|
|
|
- examDetail.setStatus(ExamDetailStatusEnum.NEW);
|
|
|
|
- examDetail.setExamStartTime(examDetailParams.getExamStartTime());
|
|
|
|
- examDetail.setExamEndTime(examDetailParams.getExamEndTime());
|
|
|
|
- examDetail.setTotalSubjects(examDetailList.getStudentCount());
|
|
|
|
- examDetail.setExamDataSource(ExamDataSourceEnum.EXAM_TASK);
|
|
|
|
- examDetail.setNormal(true);
|
|
|
|
- examDetail.setPrintHouseId(examDetailList.getPrintHouseId());
|
|
|
|
- examDetail.setCreateId(sysUser.getId());
|
|
|
|
- examDetail.setCreateTime(System.currentTimeMillis());
|
|
|
|
- examDetailService.save(examDetail);
|
|
|
|
-
|
|
|
|
- List<String> classIds = Arrays.asList(examDetailList.getClassId().split(","));
|
|
|
|
- ExamDetailCourse examDetailCourse = new ExamDetailCourse();
|
|
|
|
- examDetailCourse.setId(SystemConstant.getDbUuid());
|
|
|
|
- examDetailCourse.setSchoolId(schoolId);
|
|
|
|
- examDetailCourse.setOrgId(sysUser.getOrgId());
|
|
|
|
- examDetailCourse.setExamDetailId(examDetail.getId());
|
|
|
|
- examDetailCourse.setCourseCode(examTask.getCourseCode());
|
|
|
|
- examDetailCourse.setCourseName(examTask.getCourseName());
|
|
|
|
- examDetailCourse.setPaperNumber(examTask.getPaperNumber());
|
|
|
|
- examDetailCourse.setClazzId(examDetailList.getClassId());
|
|
|
|
- examDetailCourse.setTotalSubjects(examDetailList.getStudentCount());
|
|
|
|
- examDetailCourse.setCreateId(sysUser.getId());
|
|
|
|
- examDetailCourseService.save(examDetailCourse);
|
|
|
|
-
|
|
|
|
- // 更新实际考生数量
|
|
|
|
- List<ExamStudent> examStudents = printCommonService.createBatchStudent(schoolId, examDetailList.getExtendFields(), classIds, examDetailCourse.getId(), sysUser);
|
|
|
|
- if (!CollectionUtils.isEmpty(examStudents)) {
|
|
|
|
- examStudentService.insertBatch(examStudents);
|
|
|
|
- }
|
|
|
|
- int studentCount = examStudents.size();
|
|
|
|
- if (studentCount - examDetail.getTotalSubjects() != 0) {
|
|
|
|
- UpdateWrapper<ExamDetail> updateWrapper = new UpdateWrapper<>();
|
|
|
|
- updateWrapper.lambda().set(ExamDetail::getTotalSubjects, studentCount).eq(ExamDetail::getId, examDetail.getId());
|
|
|
|
- examDetailService.update(updateWrapper);
|
|
|
|
- }
|
|
|
|
- if (studentCount - examDetailCourse.getTotalSubjects() != 0) {
|
|
|
|
- UpdateWrapper<ExamDetailCourse> updateWrapper = new UpdateWrapper<>();
|
|
|
|
- updateWrapper.lambda().set(ExamDetailCourse::getTotalSubjects, studentCount).eq(ExamDetailCourse::getId, examDetailCourse.getId());
|
|
|
|
- examDetailCourseService.update(updateWrapper);
|
|
|
|
|
|
+ BasicExam basicExam = basicExamService.getById(examTask.getExamId());
|
|
|
|
+ if (basicExam == null || basicExam.getExamModel() == null) {
|
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("未查到考试信息");
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if (ExamModelEnum.MODEL1.equals(basicExam.getExamModel()) || ExamModelEnum.MODEL2.equals(basicExam.getExamModel())) {
|
|
|
|
+ // 创建印刷计划
|
|
|
|
+ ExamDetailParams examDetailParams = JSONObject.parseObject(String.valueOf(jsonObject.get("examDetail")), ExamDetailParams.class);
|
|
|
|
+ ExamPrintPlan examPrintPlan = new ExamPrintPlan();
|
|
|
|
+
|
|
|
|
+ examPrintPlan.insertInfo(sysUser.getId());
|
|
|
|
+ examPrintPlan.setSchoolId(schoolId);
|
|
|
|
+ examPrintPlan.setExamId(examTask.getExamId());
|
|
|
|
+ examPrintPlan.setOrgId(sysUser.getOrgId());
|
|
|
|
+ examPrintPlan.setName(examTask.getCourseName() + examTask.getPaperNumber());
|
|
|
|
+ examPrintPlan.setExamStartTime(examDetailParams.getExamStartTime());
|
|
|
|
+ examPrintPlan.setExamEndTime(examDetailParams.getExamEndTime());
|
|
|
|
+ examPrintPlan.setPrintContent(String.join(",", JSONObject.parseArray(basicPrintConfig.getPrintContent(), String.class)));
|
|
|
|
+ examPrintPlan.setBackupMethod(BackupMethodEnum.valueOf(basicPrintConfig.getBackupMethod()));
|
|
|
|
+ examPrintPlan.setBackupCount(basicPrintConfig.getBackupCount());
|
|
|
|
+ examPrintPlan.setDrawRule(basicPrintConfig.getDrawRule());
|
|
|
|
+ examPrintPlan.setVariableContent(basicPrintConfig.getVariableContent());
|
|
|
|
+ examPrintPlan.setOrdinaryContent(basicPrintConfig.getOrdinaryContent());
|
|
|
|
+ examPrintPlan.setStatus(PrintPlanStatusEnum.READY);
|
|
|
|
+ examPrintPlan.setSyncStatus(ExamPrintPlanSyncStatusEnum.INIT);
|
|
|
|
+ examPrintPlanService.save(examPrintPlan);
|
|
|
|
+
|
|
|
|
+ if (ExamModelEnum.MODEL1.equals(basicExam.getExamModel())) {
|
|
|
|
+ List<ExamDetailList> examDetailLists = JSONObject.parseArray(JSONObject.toJSONString(examDetailParams.getList()), ExamDetailList.class);
|
|
|
|
+ int i = 1;
|
|
|
|
+ for (ExamDetailList examDetailList : examDetailLists) {
|
|
|
|
+ SerialNumberParams serialNumberParams = new SerialNumberParams("packageCode-" + schoolId, "1", 6);
|
|
|
|
+ ExamDetail examDetail = new ExamDetail();
|
|
|
|
+ examDetail.setId(SystemConstant.getDbUuid());
|
|
|
|
+ examDetail.setPackageCode(printCommonService.createTempNumber(serialNumberParams));
|
|
|
|
+ examDetail.setSchoolId(schoolId);
|
|
|
|
+ examDetail.setOrgId(sysUser.getOrgId());
|
|
|
|
+ examDetail.setPrintPlanId(examPrintPlan.getId());
|
|
|
|
+ examDetail.setPrintPlanName(examPrintPlan.getName());
|
|
|
|
+ examDetail.setExamPlace(StringUtils.isBlank(examDetailList.getExamPlace()) ? "考点" + i : examDetailList.getExamPlace()); // 默认填充班级所在校区
|
|
|
|
+ examDetail.setExamRoom(StringUtils.isBlank(examDetailList.getExamRoom()) ? examDetailList.getClassName() : examDetailList.getExamRoom()); // 默认填充班级
|
|
|
|
+ examDetail.setStatus(ExamDetailStatusEnum.NEW);
|
|
|
|
+ examDetail.setExamStartTime(examDetailParams.getExamStartTime());
|
|
|
|
+ examDetail.setExamEndTime(examDetailParams.getExamEndTime());
|
|
|
|
+ examDetail.setTotalSubjects(examDetailList.getStudentCount());
|
|
|
|
+ examDetail.setExamDataSource(ExamDataSourceEnum.EXAM_TASK);
|
|
|
|
+ examDetail.setNormal(true);
|
|
|
|
+ examDetail.setPrintHouseId(examDetailList.getPrintHouseId());
|
|
|
|
+ examDetail.setCreateId(sysUser.getId());
|
|
|
|
+ examDetail.setCreateTime(System.currentTimeMillis());
|
|
|
|
+ examDetailService.save(examDetail);
|
|
|
|
+
|
|
|
|
+ List<String> classIds = Arrays.asList(examDetailList.getClassId().split(","));
|
|
|
|
+ ExamDetailCourse examDetailCourse = new ExamDetailCourse();
|
|
|
|
+ examDetailCourse.setId(SystemConstant.getDbUuid());
|
|
|
|
+ examDetailCourse.setSchoolId(schoolId);
|
|
|
|
+ examDetailCourse.setOrgId(sysUser.getOrgId());
|
|
|
|
+ examDetailCourse.setExamDetailId(examDetail.getId());
|
|
|
|
+ examDetailCourse.setCourseCode(examTask.getCourseCode());
|
|
|
|
+ examDetailCourse.setCourseName(examTask.getCourseName());
|
|
|
|
+ examDetailCourse.setPaperNumber(examTask.getPaperNumber());
|
|
|
|
+ examDetailCourse.setClazzId(examDetailList.getClassId());
|
|
|
|
+ examDetailCourse.setTotalSubjects(examDetailList.getStudentCount());
|
|
|
|
+ examDetailCourse.setCreateId(sysUser.getId());
|
|
|
|
+ examDetailCourseService.save(examDetailCourse);
|
|
|
|
+
|
|
|
|
+ // 更新实际考生数量
|
|
|
|
+ List<ExamStudent> examStudents = printCommonService.createBatchStudent(schoolId, examDetailList.getExtendFields(), classIds, examDetailCourse.getId(), sysUser);
|
|
|
|
+ if (!CollectionUtils.isEmpty(examStudents)) {
|
|
|
|
+ examStudentService.insertBatch(examStudents);
|
|
|
|
+ }
|
|
|
|
+ int studentCount = examStudents.size();
|
|
|
|
+
|
|
|
|
+ if (studentCount - examDetail.getTotalSubjects() != 0) {
|
|
|
|
+ UpdateWrapper<ExamDetail> updateWrapper = new UpdateWrapper<>();
|
|
|
|
+ updateWrapper.lambda().set(ExamDetail::getTotalSubjects, studentCount).eq(ExamDetail::getId, examDetail.getId());
|
|
|
|
+ examDetailService.update(updateWrapper);
|
|
|
|
+ }
|
|
|
|
+ if (studentCount - examDetailCourse.getTotalSubjects() != 0) {
|
|
|
|
+ UpdateWrapper<ExamDetailCourse> updateWrapper = new UpdateWrapper<>();
|
|
|
|
+ updateWrapper.lambda().set(ExamDetailCourse::getTotalSubjects, studentCount).eq(ExamDetailCourse::getId, examDetailCourse.getId());
|
|
|
|
+ examDetailCourseService.update(updateWrapper);
|
|
|
|
+ }
|
|
|
|
+ i++;
|
|
|
|
+ }
|
|
|
|
+ } else if (ExamModelEnum.MODEL2.equals(basicExam.getExamModel())) {
|
|
|
|
+ SerialNumberParams serialNumberParams = new SerialNumberParams("packageCode-" + schoolId, "1", 6);
|
|
|
|
+ ExamDetail examDetail = new ExamDetail();
|
|
|
|
+ examDetail.setId(SystemConstant.getDbUuid());
|
|
|
|
+ examDetail.setPackageCode(printCommonService.createTempNumber(serialNumberParams));
|
|
|
|
+ examDetail.setSchoolId(schoolId);
|
|
|
|
+ examDetail.setOrgId(sysUser.getOrgId());
|
|
|
|
+ examDetail.setPrintPlanId(examPrintPlan.getId());
|
|
|
|
+ examDetail.setPrintPlanName(examPrintPlan.getName());
|
|
|
|
+ examDetail.setExamPlace("考点1"); // 默认填充班级所在校区
|
|
|
|
+ examDetail.setExamRoom("考场1"); // 默认填充班级
|
|
|
|
+ examDetail.setStatus(ExamDetailStatusEnum.NEW);
|
|
|
|
+ examDetail.setExamStartTime(examDetailParams.getExamStartTime());
|
|
|
|
+ examDetail.setExamEndTime(examDetailParams.getExamEndTime());
|
|
|
|
+ examDetail.setTotalSubjects(examDetailParams.getPrintCount());
|
|
|
|
+ examDetail.setExamDataSource(ExamDataSourceEnum.EXAM_TASK);
|
|
|
|
+ examDetail.setNormal(true);
|
|
|
|
+ examDetail.setPrintHouseId(examDetailParams.getPrintHouseId());
|
|
|
|
+ examDetail.setCreateId(sysUser.getId());
|
|
|
|
+ examDetail.setCreateTime(System.currentTimeMillis());
|
|
|
|
+ examDetailService.save(examDetail);
|
|
|
|
+
|
|
|
|
+ ExamDetailCourse examDetailCourse = new ExamDetailCourse();
|
|
|
|
+ examDetailCourse.setId(SystemConstant.getDbUuid());
|
|
|
|
+ examDetailCourse.setSchoolId(schoolId);
|
|
|
|
+ examDetailCourse.setOrgId(sysUser.getOrgId());
|
|
|
|
+ examDetailCourse.setExamDetailId(examDetail.getId());
|
|
|
|
+ examDetailCourse.setCourseCode(examTask.getCourseCode());
|
|
|
|
+ examDetailCourse.setCourseName(examTask.getCourseName());
|
|
|
|
+ examDetailCourse.setPaperNumber(examTask.getPaperNumber());
|
|
|
|
+ examDetailCourse.setTotalSubjects(examDetailParams.getPrintCount());
|
|
|
|
+ examDetailCourse.setCreateId(sysUser.getId());
|
|
|
|
+ examDetailCourseService.save(examDetailCourse);
|
|
}
|
|
}
|
|
- i++;
|
|
|
|
}
|
|
}
|
|
|
|
|
|
if (Objects.nonNull(examTask.getFlowId())) {
|
|
if (Objects.nonNull(examTask.getFlowId())) {
|