Эх сурвалжийг харах

fix:bug 入库申请 - 新建任务 班级下无学生报错

caozixuan 3 жил өмнө
parent
commit
998b3d53ad

+ 12 - 2
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamTaskServiceImpl.java

@@ -1,5 +1,6 @@
 package com.qmth.distributed.print.business.service.impl;
 
+import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
@@ -1739,6 +1740,13 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
                     List<ExamDetailList> examDetailLists = JSONObject.parseArray(JSONObject.toJSONString(examDetailParams.getList()), ExamDetailList.class);
                     int i = 1;
                     for (ExamDetailList examDetailList : examDetailLists) {
+                        int count = examDetailList.getStudentCount();
+                        String clazzName = examDetailList.getClassName();
+                        if (count == 0){
+                            throw ExceptionResultEnum.ERROR.exception("选择的考试班级【" + clazzName + "】下无学生,请确认该班级学生信息。");
+                        }
+
+
                         SerialNumberParams serialNumberParams = new SerialNumberParams("packageCode-" + schoolId, "1", 6);
                         ExamDetail examDetail = new ExamDetail();
                         examDetail.setId(SystemConstant.getDbUuid());
@@ -1748,11 +1756,13 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
                         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.setExamRoom(StringUtils.isBlank(examDetailList.getExamRoom()) ? clazzName : examDetailList.getExamRoom()); // 默认填充班级
                         examDetail.setStatus(ExamDetailStatusEnum.NEW);
                         examDetail.setExamStartTime(examDetailParams.getExamStartTime());
                         examDetail.setExamEndTime(examDetailParams.getExamEndTime());
-                        examDetail.setTotalSubjects(examDetailList.getStudentCount());
+
+
+                        examDetail.setTotalSubjects(count);
                         examDetail.setExamDataSource(ExamDataSourceEnum.EXAM_TASK);
                         examDetail.setNormal(true);
                         examDetail.setPrintHouseId(examDetailList.getPrintHouseId());

+ 3 - 0
distributed-print/src/main/java/com/qmth/distributed/print/api/ExamTaskController.java

@@ -18,6 +18,7 @@ import com.qmth.distributed.print.business.enums.MessageEnum;
 import com.qmth.distributed.print.business.enums.ReviewStatusEnum;
 import com.qmth.distributed.print.business.service.*;
 import com.qmth.distributed.print.business.templete.execute.AsyncTaskReviewSampleExportService;
+import com.qmth.teachcloud.common.annotation.OperationLogDetail;
 import com.qmth.teachcloud.common.bean.params.ArraysParams;
 import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.entity.BasicAttachment;
@@ -27,6 +28,7 @@ import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
 import com.qmth.teachcloud.common.enums.FlowApprovePassEnum;
 import com.qmth.teachcloud.common.enums.TaskTypeEnum;
 import com.qmth.teachcloud.common.enums.UploadFileEnum;
+import com.qmth.teachcloud.common.enums.log.LevelEnum;
 import com.qmth.teachcloud.common.service.BasicAttachmentService;
 import com.qmth.teachcloud.common.service.BasicStudentService;
 import com.qmth.teachcloud.common.util.Result;
@@ -634,6 +636,7 @@ public class ExamTaskController {
      */
     @ApiOperation(value = "入库申请-新建任务-保存")
     @RequestMapping(value = "/submit_task_apply", method = RequestMethod.POST)
+//    @OperationLogDetail(detail = "入库申请-新建任务(一步到位)",level = LevelEnum.PRIMARY)
     public Result submitTaskApply(@RequestBody ExamTaskApplyTemp examTaskApplyTemp) throws IOException {
         ExamTask examTask = examTaskService.submitTaskApply(examTaskApplyTemp);
         if (!examTask.getReview()) {