Browse Source

3.2.7 bug修改

xiaofei 1 year ago
parent
commit
566afa4922

+ 24 - 5
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamTaskServiceImpl.java

@@ -1076,8 +1076,27 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
                 Long schoolId = examDetailCourse.getSchoolId();
 
                 List<ExamTask> examTaskList = examTaskMapper.findExamTaskByFlowStatus(schoolId, examPrintPlan.getExamId(), courseCode, paperNumber, FlowStatusEnum.FINISH.name());
-                if (CollectionUtils.isEmpty(examTaskList)) {
-                    stringSet.add(String.format("课程[%s(%s)],试卷编号[%s]的任务未创建或者未审核通过", courseName, courseCode, paperNumber));
+//                if (CollectionUtils.isEmpty(examTaskList)) {
+//                    stringSet.add(String.format("课程[%s(%s)],试卷编号[%s]的任务未创建或者未审核通过", courseName, courseCode, paperNumber));
+//                }
+                //查询命题任务绑定的试卷和题卡
+                ExamTask examTask = examTaskService.getByCourseCodeAndPaperNumber(schoolId, examPrintPlan.getExamId(), examDetailCourse.getCourseCode(), examDetailCourse.getPaperNumber());
+                if (examTask == null) {
+                    stringSet.add(String.format("课程[%s(%s)],试卷编号[%s]的" + ExceptionResultEnum.EXAM_TASK_IS_NOT_EXIST.getMessage(), courseName, courseCode, paperNumber));
+                } else {
+                    if (examTask.getReview()) {
+                        examTask = examTaskService.findExamTaskByFlowStatus(schoolId, examPrintPlan.getExamId(), examDetailCourse.getCourseCode(), examDetailCourse.getPaperNumber(), FlowStatusEnum.FINISH);
+                        if (examTask == null) {
+                            stringSet.add(String.format("课程[%s(%s)],试卷编号[%s]的" + ExceptionResultEnum.EXAM_TASK_IS_NULL.getMessage(), courseName, courseCode, paperNumber));
+                        }
+                    } else {
+                        if (!ExamStatusEnum.SUBMIT.equals(examTask.getStatus())) {
+                            stringSet.add(String.format("课程[%s(%s)],试卷编号[%s]的" + ExceptionResultEnum.EXAM_TASK_NOT_SUBMIT.getMessage(), courseName, courseCode, paperNumber));
+                        }
+                    }
+                }
+                if (!examTask.getEnable()) {
+                    stringSet.add(String.format("课程[%s(%s)],试卷编号[%s]的" + ExceptionResultEnum.EXAM_TASK_ENABLE.getMessage(), courseName, courseCode, paperNumber));
                 }
             }
         }
@@ -1785,7 +1804,7 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
                     Map<Long, ExamTaskStudentObjectResult> examTaskStudentObjectResultMap = new LinkedHashMap<>();
                     for (BasicStudentResult e : basicStudentResultList) {
                         // 没有班级的考生,不返回
-                        if(StringUtils.isBlank(e.getClazz())){
+                        if (StringUtils.isBlank(e.getClazz())) {
                             continue;
                         }
                         StudentInfo studentInfo = new StudentInfo();
@@ -1853,7 +1872,7 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
                     // 检验学号
                     if (SystemConstant.strNotNull(studentCode)) {
                         if (checkCodeMap.containsKey(studentCode)) {
-                            throw ExceptionResultEnum.ERROR.exception("导入的excel中包含在重复的学生编号[" + studentCode+"]");
+                            throw ExceptionResultEnum.ERROR.exception("导入的excel中包含在重复的学生编号[" + studentCode + "]");
                         } else {
                             checkCodeMap.put(studentCode, studentName);
                         }
@@ -1861,7 +1880,7 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
                     // 如果电话有值则检验电话excel中唯一性
                     if (SystemConstant.strNotNull(phoneNumber)) {
                         if (checkPhoneMap.containsKey(phoneNumber)) {
-                            throw ExceptionResultEnum.ERROR.exception("导入的excel中包含在重复的电话号码[" + phoneNumber+"]");
+                            throw ExceptionResultEnum.ERROR.exception("导入的excel中包含在重复的电话号码[" + phoneNumber + "]");
                         } else {
                             checkPhoneMap.put(phoneNumber, studentCode);
                         }

+ 1 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/templete/service/impl/TaskLogicServiceImpl.java

@@ -1558,7 +1558,7 @@ public class TaskLogicServiceImpl implements TaskLogicService {
                     }
                     if (Objects.nonNull(phoneNumber)) {
                         if (phoneNumberMap.containsKey(phoneNumber)) {
-                            errorStringJoiner.add("excel中的手机号[" + phoneNumber + "]不能重复");
+                            errorStringJoiner.add("手机号[" + phoneNumber + "]在文件中重复");
                         } else {
                             phoneNumberMap.put(phoneNumber, y);
                         }

+ 1 - 0
teachcloud-common/src/main/java/com/qmth/teachcloud/common/enums/ExceptionResultEnum.java

@@ -78,6 +78,7 @@ public enum ExceptionResultEnum {
     EXAM_CARD_IS_NULL(HttpStatus.INTERNAL_SERVER_ERROR, 50000028, "题卡为空"),
 
     EXAM_TASK_IS_NULL(HttpStatus.INTERNAL_SERVER_ERROR, 50000029, "命题任务为空或未找到审核通过记录"),
+    EXAM_TASK_IS_NOT_EXIST(HttpStatus.INTERNAL_SERVER_ERROR, 50000029, "命题任务不存在"),
     EXAM_TASK_NOT_SUBMIT(HttpStatus.INTERNAL_SERVER_ERROR, 50000030, "命题任务未提交"),
     EXAM_TASK_ENABLE(HttpStatus.INTERNAL_SERVER_ERROR, 50000034, "命题任务已禁用"),
 

+ 12 - 12
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/BasicStudentServiceImpl.java

@@ -122,12 +122,6 @@ public class BasicStudentServiceImpl extends ServiceImpl<BasicStudentMapper, Bas
         List<BasicStudentErrorExportDto> errorDataList = new ArrayList<>();
         boolean throwException = true;
         if (Objects.nonNull(map)) {
-            Object obj = map.get(SystemConstant.ERROR_DATA_LIST);
-            errorDataList = JSON.parseArray(JSON.toJSONString(obj), BasicStudentErrorExportDto.class);
-            if (Objects.isNull(errorDataList)) {
-                errorDataList = new ArrayList<>();
-            }
-            map.put(SystemConstant.ERROR_DATA_LIST, errorDataList);
             throwException = false;
         }
 
@@ -257,15 +251,21 @@ public class BasicStudentServiceImpl extends ServiceImpl<BasicStudentMapper, Bas
             }
         }
         // 抛出或者记录异常
-        if (!CollectionUtils.isEmpty(errorDataList)) {
-            if (throwException) {
-                String errorMsg = errorDataList.stream().map(BasicStudentErrorExportDto::getErrorMsg).collect(Collectors.joining("\n"));
-                throw ExceptionResultEnum.ERROR.exception(errorMsg);
-            } else {
-                map.put(SystemConstant.ERROR_DATA_COUNT, Integer.parseInt(String.valueOf(map.get(SystemConstant.ERROR_DATA_COUNT))) + errorDataList.size());
+        if (throwException) {
+            String errorMsg = errorDataList.stream().map(BasicStudentErrorExportDto::getErrorMsg).collect(Collectors.joining("\n"));
+            throw ExceptionResultEnum.ERROR.exception(errorMsg);
+        } else {
+            if (map.containsKey(SystemConstant.ERROR_DATA_LIST)) {
+                errorDataList = JSON.parseArray(JSON.toJSONString(map.get(SystemConstant.ERROR_DATA_LIST)), BasicStudentErrorExportDto.class);
+                map.put(SystemConstant.ERROR_DATA_LIST, errorDataList);
             }
+
+            int dataCount = (int) map.get(SystemConstant.DATA_COUNT);
+            map.put(SystemConstant.SUCCESS_DATA_COUNT, dataCount - errorDataList.size());
+            map.put(SystemConstant.ERROR_DATA_COUNT, errorDataList.size());
         }
 
+
         try {
             this.saveOrUpdateBatch(editEntityList);
         } catch (Exception e) {

+ 11 - 9
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/SysUserServiceImpl.java

@@ -10,7 +10,6 @@ import com.google.gson.Gson;
 import com.qmth.boot.api.exception.ApiException;
 import com.qmth.teachcloud.common.bean.auth.AuthBean;
 import com.qmth.teachcloud.common.bean.dto.*;
-import com.qmth.teachcloud.common.bean.dto.excel.DescribeImportDto;
 import com.qmth.teachcloud.common.bean.dto.excel.SysUserImportDto;
 import com.qmth.teachcloud.common.bean.dto.excel.export.SysUserErrorExportDto;
 import com.qmth.teachcloud.common.bean.params.ApproveUserResult;
@@ -22,7 +21,6 @@ import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.entity.*;
 import com.qmth.teachcloud.common.enums.*;
 import com.qmth.teachcloud.common.enums.userPush.SpecialPrivilegeEnum;
-import com.qmth.teachcloud.common.enums.userPush.UserPushResultEnum;
 import com.qmth.teachcloud.common.mapper.SysUserMapper;
 import com.qmth.teachcloud.common.service.*;
 import com.qmth.teachcloud.common.util.*;
@@ -527,7 +525,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
             SysUser checkCode = this.getOne(new QueryWrapper<SysUser>().lambda().eq(SysUser::getSchoolId, schoolId).eq(SysUser::getEnable, true).eq(SysUser::getCode, code));
             if (Objects.nonNull(checkCode)) {
                 if (!checkCode.getId().equals(userSaveParams.getId())) {
-                    throw ExceptionResultEnum.ERROR.exception("用户工号[" + code + "]重复");
+                    throw ExceptionResultEnum.ERROR.exception("用户工号[" + code + "]在系统中已使用");
                 }
             }
             // 手机号检验
@@ -535,7 +533,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
                 SysUser checkMobileNumber = this.getOne(new QueryWrapper<SysUser>().lambda().eq(SysUser::getSchoolId, schoolId).eq(SysUser::getEnable, true).eq(SysUser::getMobileNumber, mobileNumber));
                 if (Objects.nonNull(checkMobileNumber)) {
                     if (!checkMobileNumber.getId().equals(userSaveParams.getId())) {
-                        throw ExceptionResultEnum.ERROR.exception("用户手机号[" + mobileNumber + "]重复");
+                        throw ExceptionResultEnum.ERROR.exception("用户手机号[" + mobileNumber + "]在系统中已使用");
                     }
                 }
             }
@@ -732,11 +730,6 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
     @Transactional
     @Override
     public Map<String, Object> executeSysUserImportLogic(List<LinkedMultiValueMap<Integer, Object>> finalList, Map<String, Object> map) {
-        List<SysUserErrorExportDto> errorDataList = JSON.parseArray(JSON.toJSONString(map.get(SystemConstant.ERROR_DATA_LIST)), SysUserErrorExportDto.class);
-        if (Objects.isNull(errorDataList)) {
-            errorDataList = new ArrayList<>();
-            map.put(SystemConstant.ERROR_DATA_LIST, errorDataList);
-        }
 
         SysUser requestUser = (SysUser) map.get(SystemConstant.SYS_USER);
         Long schoolId = requestUser.getSchoolId();
@@ -798,10 +791,19 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
                         userIdList.add(upUserId);
                     } catch (Exception e) {
                         String error = e.getMessage();
+                        List<SysUserErrorExportDto> errorDataList = JSON.parseArray(JSON.toJSONString(map.get(SystemConstant.ERROR_DATA_LIST)), SysUserErrorExportDto.class);
+                        if (Objects.isNull(errorDataList)) {
+                            errorDataList = new ArrayList<>();
+                        }
                         SysUserErrorExportDto sysUserErrorExportDto = new SysUserErrorExportDto();
                         BeanUtils.copyProperties(sysUserImportDto, sysUserErrorExportDto);
                         sysUserErrorExportDto.setErrorMsg(error);
                         errorDataList.add(sysUserErrorExportDto);
+                        map.put(SystemConstant.ERROR_DATA_LIST, errorDataList);
+
+                        int dataCount = (int) map.get(SystemConstant.DATA_COUNT);
+                        map.put(SystemConstant.SUCCESS_DATA_COUNT, dataCount - errorDataList.size());
+                        map.put(SystemConstant.ERROR_DATA_COUNT, errorDataList.size());
                     }
                 }
             }

+ 2 - 2
teachcloud-common/src/main/java/com/qmth/teachcloud/common/util/JdbcErrorUtil.java

@@ -32,14 +32,14 @@ public class JdbcErrorUtil {
         if (error.contains("Duplicate entry")) {
             int startIndex = error.lastIndexOf("for key");
             content = error.substring(startIndex + "for key".length());
-            msg = "违反数据库唯一规则";
+            msg = "违反数据库唯一规则,请联系管理员处理";
         }
         // 字段不存在
         else if (error.contains("Unknown column")) {
             int startIndex = error.lastIndexOf("Unknown column");
             int endIndex = error.lastIndexOf("in 'field list'");
             content = error.substring(startIndex + "Unknown column".length(), endIndex);
-            msg = "字段在数据库中不存在,请联系管理员";
+            msg = "字段在数据库中不存在,请联系管理员处理";
         }
         // 字段超过最大长度
         else if (error.contains("Data too long")) {