Explorar o código

3.4.1 bug修复

xiaofei hai 9 meses
pai
achega
698c990d16

+ 12 - 7
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/BasicExamServiceImpl.java

@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qmth.distributed.print.business.entity.ExamPrintPlan;
 import com.qmth.distributed.print.business.entity.ExamTask;
+import com.qmth.distributed.print.business.entity.TeachCourse;
 import com.qmth.distributed.print.business.mapper.BasicExamMapper;
 import com.qmth.distributed.print.business.service.*;
 import com.qmth.distributed.print.business.util.CodeUtils;
@@ -35,19 +36,19 @@ import java.util.Objects;
 public class BasicExamServiceImpl extends ServiceImpl<BasicExamMapper, BasicExam> implements BasicExamService {
 
     @Resource
-    ExamTaskService examTaskService;
+    private ExamTaskService examTaskService;
     @Resource
-    ExamPrintPlanService examPrintPlanService;
+    private ExamPrintPlanService examPrintPlanService;
     @Resource
-    BasicRoleDataPermissionService basicRoleDataPermissionService;
-
+    private BasicRoleDataPermissionService basicRoleDataPermissionService;
     @Resource
-    BasicPrintConfigService basicPrintConfigService;
+    private BasicPrintConfigService basicPrintConfigService;
     @Resource
     private BasicExamStudentService basicExamStudentService;
-
     @Resource
-    CodeUtils codeUtils;
+    private TeachCourseService teachCourseService;
+    @Resource
+    private CodeUtils codeUtils;
 
     @Transactional
     @Override
@@ -106,6 +107,10 @@ public class BasicExamServiceImpl extends ServiceImpl<BasicExamMapper, BasicExam
         if (countExamPrint > 0) {
             throw ExceptionResultEnum.ERROR.exception("考试[" + basicExam.getName() + "]已创建印刷计划,不允许删除");
         }
+        int countTeachCourse = teachCourseService.count(new QueryWrapper<TeachCourse>().lambda().eq(TeachCourse::getExamId, id));
+        if (countTeachCourse > 0) {
+            throw ExceptionResultEnum.ERROR.exception("考试[" + basicExam.getName() + "]已有老师新增课程,不允许删除");
+        }
         // 删除设置印品
         basicPrintConfigService.removeByExamId(id);
         return this.removeById(id);

+ 9 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamDetailServiceImpl.java

@@ -1076,7 +1076,15 @@ public class ExamDetailServiceImpl extends ServiceImpl<ExamDetailMapper, ExamDet
     @Transactional
     @Override
     public List<Long> saveImportExamStudent(ExamPrintPlan examPrintPlan, List<BasicExamStudent> basicExamStudentList, Long createId) {
-        Map<String, List<BasicExamStudent>> examDetailMap = basicExamStudentList.stream().collect(Collectors.groupingBy(m -> m.getExamPlace().concat(m.getExamRoom()).concat(m.getExamStartTime().toString()).concat(m.getExamEndTime().toString())));
+        // 校区(考点)为非必填项
+        BasicExamRule basicExamRule = basicExamRuleService.getBySchoolId(examPrintPlan.getSchoolId());
+        Optional<EnumResult> optional = basicExamRule.getRequiredFieldList().stream().filter(m -> RequiredFieldsEnum.EXAM_PLACE.name().equals(m.getCode()) && m.getEnable()).findFirst();
+        Map<String, List<BasicExamStudent>> examDetailMap;
+        if(optional.isPresent()){
+            examDetailMap = basicExamStudentList.stream().collect(Collectors.groupingBy(m -> m.getExamPlace().concat(m.getExamRoom()).concat(m.getExamStartTime().toString()).concat(m.getExamEndTime().toString())));
+        } else {
+            examDetailMap = basicExamStudentList.stream().collect(Collectors.groupingBy(m -> m.getExamRoom().concat(m.getExamStartTime().toString()).concat(m.getExamEndTime().toString())));
+        }
         List<ExamDetail> examDetailList = new ArrayList<>();
         List<ExamDetailCourse> examDetailCourseList = new ArrayList<>();
         List<ExamStudent> examStudentList = new ArrayList<>();

+ 1 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamTaskServiceImpl.java

@@ -1403,6 +1403,7 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
             examDetailCourse.setExamDetailId(examDetail.getId());
             examDetailCourse.setCourseId(examTask.getCourseId());
             examDetailCourse.setPaperNumber(paperNumber);
+            examDetailCourse.setCoursePaperId(String.valueOf(examTask.getId()));
             examDetailCourse.setClazzName(examDetailParams.getClassName());
             examDetailCourse.setTotalSubjects(examDetailParams.getTotalSubjects());
             examDetailCourse.setCreateId(sysUser.getId());

+ 2 - 1
distributed-print/src/main/java/com/qmth/distributed/print/api/ExamDetailController.java

@@ -121,7 +121,8 @@ public class ExamDetailController {
                                      @ApiParam(value = "考试日期-终止") @RequestParam(required = false) Long endDate) {
 
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
-        DataPermissionRule dpr = basicRoleDataPermissionService.findDataPermission();
+        SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
+        DataPermissionRule dpr = basicRoleDataPermissionService.findDataPermission(schoolId, requestUser.getId(), "/api/admin/exam/print/data_list");
         if (Objects.isNull(printPlanIdList)) {
             printPlanIdList = new ArrayList<>();
         }