Ver Fonte

3.3.1 update

xiaofei há 1 ano atrás
pai
commit
2a7f676bf2
29 ficheiros alterados com 146 adições e 619 exclusões
  1. 0 23
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/params/ExamTaskStudentObjectParam.java
  2. 6 6
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/result/TeachCourseResult.java
  3. 0 12
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/result/examTaskStudent/ExamTaskStudentObjectResult.java
  4. 0 13
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/entity/ExamStudent.java
  5. 0 28
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/enums/ExamObjectType.java
  6. 0 21
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/enums/StudentClazzEnum.java
  7. 1 1
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/ClientMapper.java
  8. 2 4
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/ExamTaskService.java
  9. 5 4
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ConditionServiceImpl.java
  10. 1 2
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamDetailServiceImpl.java
  11. 41 126
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamTaskServiceImpl.java
  12. 14 58
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/PrintCommonServiceImpl.java
  13. 12 5
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/templete/execute/SyncBasicExamStudentImportService.java
  14. 0 224
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/templete/execute/SyncMarkStudentImportService.java
  15. 13 15
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/util/CreatePdfUtil.java
  16. 5 8
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/util/pdf/CreatePdfNewUtil.java
  17. 1 1
      distributed-print-business/src/main/resources/mapper/ExamPrintPlanMapper.xml
  18. 1 3
      distributed-print-business/src/main/resources/mapper/TeachCourseMapper.xml
  19. 3 0
      distributed-print/install/mysql/upgrade/3.3.1.sql
  20. 2 5
      distributed-print/src/main/java/com/qmth/distributed/print/api/ExamTaskApplyController.java
  21. 8 30
      distributed-print/src/main/java/com/qmth/distributed/print/api/mark/MarkSettingController.java
  22. 2 1
      teachcloud-common-api/src/main/java/com/qmth/teachcloud/common/api/api/BasicSchoolController.java
  23. 1 1
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/bean/result/BasicExamStudentResult.java
  24. 12 12
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/mapper/BasicStudentMapper.java
  25. 1 1
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/BasicSchoolService.java
  26. 4 4
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/BasicStudentService.java
  27. 3 3
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/BasicSchoolServiceImpl.java
  28. 5 5
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/BasicStudentServiceImpl.java
  29. 3 3
      teachcloud-common/src/main/resources/mapper/BasicStudentMapper.xml

+ 0 - 23
distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/params/ExamTaskStudentObjectParam.java

@@ -2,7 +2,6 @@ package com.qmth.distributed.print.business.bean.params;
 
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
-import com.qmth.distributed.print.business.enums.StudentClazzEnum;
 import io.swagger.annotations.ApiModelProperty;
 
 /**
@@ -15,17 +14,10 @@ public class ExamTaskStudentObjectParam {
     @JsonSerialize(using = ToStringSerializer.class)
     private Long studentId;
 
-    @ApiModelProperty("行政班id")
-    @JsonSerialize(using = ToStringSerializer.class)
-    private Long basicClazzId;
-
     @ApiModelProperty("教学班id")
     @JsonSerialize(using = ToStringSerializer.class)
     private Long teachClazzId;
 
-    @ApiModelProperty("学生班级类型")
-    private StudentClazzEnum studentClazzType;
-
     public Long getStudentId() {
         return studentId;
     }
@@ -34,14 +26,6 @@ public class ExamTaskStudentObjectParam {
         this.studentId = studentId;
     }
 
-    public Long getBasicClazzId() {
-        return basicClazzId;
-    }
-
-    public void setBasicClazzId(Long basicClazzId) {
-        this.basicClazzId = basicClazzId;
-    }
-
     public Long getTeachClazzId() {
         return teachClazzId;
     }
@@ -50,11 +34,4 @@ public class ExamTaskStudentObjectParam {
         this.teachClazzId = teachClazzId;
     }
 
-    public StudentClazzEnum getStudentClazzType() {
-        return studentClazzType;
-    }
-
-    public void setStudentClazzType(StudentClazzEnum studentClazzType) {
-        this.studentClazzType = studentClazzType;
-    }
 }

+ 6 - 6
distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/result/TeachCourseResult.java

@@ -25,8 +25,8 @@ public class TeachCourseResult {
     @JsonSerialize(using = ToStringSerializer.class)
     private Long createId;
 
-    @ApiModelProperty(value = "创建人名称")
-    private String creatorName;
+    @ApiModelProperty(value = "用户工号")
+    private String userLoginName;
 
     @ApiModelProperty(value = "创建时间")
     private Long createTime;
@@ -70,12 +70,12 @@ public class TeachCourseResult {
         this.createId = createId;
     }
 
-    public String getCreatorName() {
-        return creatorName;
+    public String getUserLoginName() {
+        return userLoginName;
     }
 
-    public void setCreatorName(String creatorName) {
-        this.creatorName = creatorName;
+    public void setUserLoginName(String userLoginName) {
+        this.userLoginName = userLoginName;
     }
 
     public Long getCreateTime() {

+ 0 - 12
distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/result/examTaskStudent/ExamTaskStudentObjectResult.java

@@ -2,7 +2,6 @@ package com.qmth.distributed.print.business.bean.result.examTaskStudent;
 
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
-import com.qmth.distributed.print.business.enums.StudentClazzEnum;
 import io.swagger.annotations.ApiModelProperty;
 
 import java.io.Serializable;
@@ -24,9 +23,6 @@ public class ExamTaskStudentObjectResult implements Serializable {
     @ApiModelProperty(value = "学生信息集合")
     private List<StudentInfo> studentInfoList;
 
-    @ApiModelProperty(value = "考试对象类型")
-    private StudentClazzEnum studentClazzType;
-
     public Long getClazzId() {
         return clazzId;
     }
@@ -50,12 +46,4 @@ public class ExamTaskStudentObjectResult implements Serializable {
     public void setStudentInfoList(List<StudentInfo> studentInfoList) {
         this.studentInfoList = studentInfoList;
     }
-
-    public StudentClazzEnum getStudentClazzType() {
-        return studentClazzType;
-    }
-
-    public void setStudentClazzType(StudentClazzEnum studentClazzType) {
-        this.studentClazzType = studentClazzType;
-    }
 }

+ 0 - 13
distributed-print-business/src/main/java/com/qmth/distributed/print/business/entity/ExamStudent.java

@@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
-import com.qmth.distributed.print.business.enums.StudentClazzEnum;
 import com.qmth.teachcloud.common.base.BaseEntity;
 import io.swagger.annotations.ApiModelProperty;
 
@@ -94,10 +93,6 @@ public class ExamStudent extends BaseEntity implements Serializable {
     @TableField("teach_clazz_name")
     private String teachClazzName;
 
-    @ApiModelProperty(value = "主体班级类型")
-    @TableField(value = "student_clazz_type")
-    private StudentClazzEnum studentClazzType;
-
     @TableField("campus_name")
     private String campusName;
 
@@ -280,14 +275,6 @@ public class ExamStudent extends BaseEntity implements Serializable {
         this.teachClazzName = teachClazzName;
     }
 
-    public StudentClazzEnum getStudentClazzType() {
-        return studentClazzType;
-    }
-
-    public void setStudentClazzType(StudentClazzEnum studentClazzType) {
-        this.studentClazzType = studentClazzType;
-    }
-
     public String getCampusName() {
         return campusName;
     }

+ 0 - 28
distributed-print-business/src/main/java/com/qmth/distributed/print/business/enums/ExamObjectType.java

@@ -1,28 +0,0 @@
-package com.qmth.distributed.print.business.enums;
-
-/**
- * @Description: 考试对象类型
- * @Author: CaoZixuan
- * @Date: 2022-08-18
- */
-public enum ExamObjectType {
-    TEACH_CLAZZ_STUDENT("教学班的学生", StudentClazzEnum.TEACH_CLAZZ),
-    BASIC_CLAZZ_STUDENT("行政班的学生", StudentClazzEnum.BASIC_CLAZZ),
-    IMPORT_STUDENT("导入的学生", StudentClazzEnum.BASIC_CLAZZ),
-    ;
-    private final String desc;
-    private final StudentClazzEnum studentClazzType;
-
-    ExamObjectType(String desc, StudentClazzEnum studentClazzType) {
-        this.desc = desc;
-        this.studentClazzType = studentClazzType;
-    }
-
-    public String getDesc() {
-        return desc;
-    }
-
-    public StudentClazzEnum getStudentClazzType() {
-        return studentClazzType;
-    }
-}

+ 0 - 21
distributed-print-business/src/main/java/com/qmth/distributed/print/business/enums/StudentClazzEnum.java

@@ -1,21 +0,0 @@
-package com.qmth.distributed.print.business.enums;
-
-/**
- * @Description: 学生班级类型
- * @Author: CaoZixuan
- * @Date: 2022-08-22
- */
-public enum StudentClazzEnum {
-    BASIC_CLAZZ("行政班"),
-    TEACH_CLAZZ("教学班")
-    ;
-    private final String desc;
-
-    StudentClazzEnum(String desc) {
-        this.desc = desc;
-    }
-
-    public String getDesc() {
-        return desc;
-    }
-}

+ 1 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/ClientMapper.java

@@ -20,7 +20,7 @@ public interface ClientMapper {
 
     ClientPrintTaskTotalDto clientTaskTotalData(@Param("schoolId") Long schoolId, @Param("semesterId") Long semesterId, @Param("examId") Long examId, @Param("printPlanId") String printPlanId, @Param("status") String status, @Param("courseCode") String courseCode, @Param("paperNumber") String paperNumber, @Param("examPlace") String examPlace, @Param("examRoom") String examRoom, @Param("examStartTime") Long examStartTime, @Param("examEndTime") Long examEndTime, @Param("isDownload") Boolean isDownload, @Param("validate") Boolean validate, @Param("machineCode") String machineCode, @Param("orgId") Long orgId, @Param("examDetailStatus") String[] examDetailStatus);
 
-    IPage<ClientExamStudentDto> listClientExamStudentPage(Page<ClientExamStudentDto> page, Long schoolId, Long examDetailId, String studentCode, String studentName, String courseCode);
+    IPage<ClientExamStudentDto> listClientExamStudentPage(@Param("page") Page<ClientExamStudentDto> page, @Param("schoolId") Long schoolId, @Param("examDetailId") Long examDetailId, @Param("studentCode") String studentCode, @Param("studentName") String studentName, @Param("courseCode") String courseCode);
 
     IPage<PrintSingleDto> pagePrintSingleData(@Param("page") Page<PrintSingleDto> page, @Param("semesterId") Long semesterId, @Param("examId") Long examId, @Param("printPlanId") Long printPlanId, @Param("courseCode") Long courseCode, @Param("paperNumber") Long paperNumber, @Param("examDetailStatus") String[] examDetailStatus);
 }

+ 2 - 4
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/ExamTaskService.java

@@ -14,7 +14,6 @@ import com.qmth.distributed.print.business.entity.ExamTask;
 import com.qmth.distributed.print.business.entity.ExamTaskApplyTemp;
 import com.qmth.distributed.print.business.entity.ExamTaskDetail;
 import com.qmth.distributed.print.business.entity.ExamTaskReviewLog;
-import com.qmth.distributed.print.business.enums.ExamObjectType;
 import com.qmth.distributed.print.business.enums.MakeMethodEnum;
 import com.qmth.teachcloud.common.bean.dto.BlurryUserDto;
 import com.qmth.teachcloud.common.bean.tiku.TikuPaperInfo;
@@ -182,13 +181,12 @@ public interface ExamTaskService extends IService<ExamTask> {
      * 2.选择行政班当考试对象 - BASIC_CLAZZ_STUDENT -> 以学生的行政班当考试对象集合,且学生信息只包含行政班数据。
      * </P>
      *
-     * @param examObjectType 考试对象类型
-     * @param examId 考试id
+     * @param examId         考试id
      * @param courseCode     基础课程编号
      * @param requestUser    请求的用户
      * @return 命题任务考试对象查询结果
      */
-    List<ExamTaskStudentObjectResult> findExamTaskStudentObject(ExamObjectType examObjectType, Long examId, String courseCode, SysUser requestUser) throws Exception;
+    List<ExamTaskStudentObjectResult> findExamTaskStudentObject(Long examId, String courseCode, SysUser requestUser) throws Exception;
 
     /**
      * 命题任务考生导入

+ 5 - 4
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ConditionServiceImpl.java

@@ -18,6 +18,7 @@ import com.qmth.teachcloud.common.service.BasicRoleDataPermissionService;
 import com.qmth.teachcloud.common.service.BasicSemesterService;
 import com.qmth.teachcloud.common.service.SysOrgService;
 import com.qmth.teachcloud.common.util.ServletUtil;
+import org.apache.commons.collections4.CollectionUtils;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
@@ -102,11 +103,11 @@ public class ConditionServiceImpl implements ConditionService {
         // 成绩查询
         else if ("487".equals(privilegeIdString) || "2001".equals(privilegeIdString)) {
             List<BasicCourse> basicCourses = teachCourseService.findTeachCourseByUserId(sysUser.getId());
-            if (basicCourses.isEmpty()) {
-                dpr = basicRoleDataPermissionService.findDataPermission(privilegeId);
+            if (CollectionUtils.isNotEmpty(basicCourses)) {
+                return basicCourses;
             }
-            return conditionMapper.listCourseForScore(semesterId, examId, basicCourses, MarkPaperStatus.FINISH.name(),
-                    dpr);
+            dpr = basicRoleDataPermissionService.findDataPermission(privilegeId);
+            return conditionMapper.listCourseForScore(semesterId, examId, basicCourses, MarkPaperStatus.FINISH.name(), dpr);
         } else {
             dpr = basicRoleDataPermissionService.findDataPermission(privilegeId);
             return conditionMapper.listCourse(semesterId, examId, enable, printPlanIds, dpr);

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

@@ -794,8 +794,7 @@ public class ExamDetailServiceImpl extends ServiceImpl<ExamDetailMapper, ExamDet
             examStudent.setSiteNumber(siteNumber);
             examStudent.setCollegeName(collegeName);
             examStudent.setMajorName(majorName);
-            examStudent.setClazzName(clazzName);
-            examStudent.setStudentClazzType(StudentClazzEnum.BASIC_CLAZZ);
+            examStudent.setTeachClazzName(clazzName);
             examStudent.setCreateId(sysUser.getId());
             examStudentList.add(examStudent);
         }

+ 41 - 126
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamTaskServiceImpl.java

@@ -4,7 +4,6 @@ import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.update.Update;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -25,16 +24,14 @@ import com.qmth.distributed.print.business.enums.*;
 import com.qmth.distributed.print.business.mapper.ExamTaskMapper;
 import com.qmth.distributed.print.business.service.*;
 import com.qmth.distributed.print.business.templete.execute.AsyncPaperReviewPdfExportService;
-import com.qmth.distributed.print.business.util.CreatePdfUtil;
 import com.qmth.distributed.print.business.util.PdfUtil;
 import com.qmth.distributed.print.business.util.pdf.CreatePdfNewUtil;
 import com.qmth.teachcloud.common.bean.dto.AssignTeacherDto;
 import com.qmth.teachcloud.common.bean.dto.BlurryUserDto;
 import com.qmth.teachcloud.common.bean.dto.DataPermissionRule;
-import com.qmth.teachcloud.common.bean.dto.MqDto;
 import com.qmth.teachcloud.common.bean.dto.excel.DescribeImportDto;
 import com.qmth.teachcloud.common.bean.params.BasicStudentExtrasParam;
-import com.qmth.teachcloud.common.bean.result.BasicStudentResult;
+import com.qmth.teachcloud.common.bean.result.BasicExamStudentResult;
 import com.qmth.teachcloud.common.bean.result.SysUserResult;
 import com.qmth.teachcloud.common.bean.result.TbTaskDetailResult;
 import com.qmth.teachcloud.common.bean.tiku.TikuPaperInfo;
@@ -59,7 +56,6 @@ import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
-import org.springframework.util.FileCopyUtils;
 import org.springframework.util.LinkedMultiValueMap;
 import org.springframework.web.multipart.MultipartFile;
 
@@ -1403,12 +1399,7 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
 
                         Set<String> classNameSet = new HashSet<>();
                         for (ExamStudent examStudent : examStudents) {
-                            if (StudentClazzEnum.BASIC_CLAZZ.equals(examStudent.getStudentClazzType()) && StringUtils.isNotBlank(examStudent.getClazzName())) {
-                                classNameSet.add(examStudent.getClazzName());
-                            }
-                            if (StudentClazzEnum.TEACH_CLAZZ.equals(examStudent.getStudentClazzType()) && StringUtils.isNotBlank(examStudent.getTeachClazzName())) {
-                                classNameSet.add(examStudent.getTeachClazzName());
-                            }
+                            classNameSet.add(examStudent.getTeachClazzName());
                         }
 
                         examDetailCourse.setClazzName(!CollectionUtils.isEmpty(classNameSet) ? String.join(",", classNameSet) : examDetailList.getClassName());
@@ -1688,116 +1679,41 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
 
     @Transactional(rollbackFor = Exception.class)
     @Override
-    public List<ExamTaskStudentObjectResult> findExamTaskStudentObject(ExamObjectType examObjectType, Long examId, String courseCode, SysUser requestUser) throws Exception {
+    public List<ExamTaskStudentObjectResult> findExamTaskStudentObject(Long examId, String courseCode, SysUser requestUser) {
         Long schoolId = requestUser.getSchoolId();
-        Long requestUserId = requestUser.getId();
         List<ExamTaskStudentObjectResult> result = new ArrayList<>();
-        switch (examObjectType) {
-            case TEACH_CLAZZ_STUDENT:
-                if (!SystemConstant.strNotNull(courseCode)) {
-                    throw ExceptionResultEnum.ERROR.exception("缺少考试课程编号");
-                }
-                // 登录人的教学课程
-                TeachCourse userTeachCourse = teachCourseService.getOne(
-                        new QueryWrapper<TeachCourse>().lambda().eq(TeachCourse::getExamId, examId).eq(TeachCourse::getCourseCode, courseCode).eq(TeachCourse::getUserId, requestUserId)
-                                .last(SystemConstant.LIMIT1));
-
-                if (Objects.nonNull(userTeachCourse)) {
-                    Long userTeachCourseId = userTeachCourse.getId();
-                    Long leaderId = userTeachCourse.getCreateId();
-                    TeachCourse leaderTeachCourse = teachCourseService.findByExamIdCourseCodeAndUserId(examId, courseCode,
-                            leaderId);
-
-                    if (Objects.nonNull(leaderTeachCourse)) {
-                        Long leaderTeachCourseId = leaderTeachCourse.getId();
-                        List<TeachClazz> teachClazzList;
-                        teachClazzList = teachClazzService.list(
-                                new QueryWrapper<TeachClazz>().lambda().eq(TeachClazz::getTeachCourseId, userTeachCourseId)
-                                        .eq(TeachClazz::getBelongTeachCourseId, leaderTeachCourseId));
-
-                        if (CollectionUtils.isEmpty(teachClazzList)) {
-                            teachClazzList = teachClazzService.list(new QueryWrapper<TeachClazz>().lambda()
-                                    .eq(TeachClazz::getTeachCourseId, leaderTeachCourseId));
-                        }
-
-                        if (!CollectionUtils.isEmpty(teachClazzList)) {
-                            for (TeachClazz teachClazz : teachClazzList) {
-                                Long teachClazzId = teachClazz.getId();
-                                String teachClazzName = teachClazz.getClazzName();
-                                List<TeachStudent> teachStudentList = teachStudentService.list(new QueryWrapper<TeachStudent>().lambda()
-                                        .eq(TeachStudent::getTeachClazzId, teachClazzId));
-
-                                List<StudentInfo> studentInfoList = teachStudentList.stream().flatMap(e -> {
-                                    Long studentId = e.getStudentId();
-                                    if (!SystemConstant.longNotNull(studentId)) {
-                                        throw ExceptionResultEnum.ERROR.exception("教学学生数据异常");
-                                    }
-                                    BasicStudentResult basicExamStudentResult = basicStudentService.findById(studentId);
-                                    if (Objects.isNull(basicExamStudentResult)) {
-                                        throw ExceptionResultEnum.ERROR.exception("未找到对应的考生字典数据");
-                                    }
-                                    StudentInfo studentInfo = new StudentInfo();
-                                    studentInfo.setStudentId(studentId);
-                                    studentInfo.setStudentCode(basicExamStudentResult.getStudentCode());
-                                    studentInfo.setStudentName(basicExamStudentResult.getStudentName());
-                                    studentInfo.setCollegeName(basicExamStudentResult.getCollegeName());
-                                    studentInfo.setMajorName(basicExamStudentResult.getMajorName());
-                                    studentInfo.setTeachClazzId(teachClazzId);
-                                    studentInfo.setTeachClazzName(teachClazzName);
-                                    studentInfo.setBasicClazzId(basicExamStudentResult.getClazzId());
-                                    studentInfo.setBasicClazzName(basicExamStudentResult.getClazz());
-                                    return Stream.of(studentInfo);
-                                }).collect(Collectors.toList());
-                                ExamTaskStudentObjectResult examTaskStudentObjectResult = new ExamTaskStudentObjectResult();
-                                examTaskStudentObjectResult.setClazzId(teachClazzId);
-                                examTaskStudentObjectResult.setClazzName(teachClazzName);
-                                examTaskStudentObjectResult.setStudentInfoList(studentInfoList);
-                                examTaskStudentObjectResult.setStudentClazzType(examObjectType.getStudentClazzType());
-                                result.add(examTaskStudentObjectResult);
-                            }
-                        }
-                    }
+        // 基础班级对象
+        List<BasicExamStudentResult> basicStudentResultList = basicStudentService.basicStudentList(schoolId, examId, null);
+        if (!CollectionUtils.isEmpty(basicStudentResultList)) {
+            LinkedMultiValueMap<Long, StudentInfo> studentInfoLinkedMultiValueMap = new LinkedMultiValueMap<>();
+            Map<Long, ExamTaskStudentObjectResult> examTaskStudentObjectResultMap = new LinkedHashMap<>();
+            for (BasicExamStudentResult e : basicStudentResultList) {
+                // 没有班级的考生,不返回
+                if (StringUtils.isBlank(e.getClazz())) {
+                    continue;
                 }
-                break;
-            case BASIC_CLAZZ_STUDENT:
-                // 基础班级对象
-                List<BasicStudentResult> basicStudentResultList = basicStudentService.basicStudentList(schoolId, examId,
-                        null);
-                if (!CollectionUtils.isEmpty(basicStudentResultList)) {
-                    LinkedMultiValueMap<Long, StudentInfo> studentInfoLinkedMultiValueMap = new LinkedMultiValueMap<>();
-                    Map<Long, ExamTaskStudentObjectResult> examTaskStudentObjectResultMap = new LinkedHashMap<>();
-                    for (BasicStudentResult e : basicStudentResultList) {
-                        // 没有班级的考生,不返回
-                        if (StringUtils.isBlank(e.getClazz())) {
-                            continue;
-                        }
-                        StudentInfo studentInfo = new StudentInfo();
-                        studentInfo.setStudentId(e.getId());
-                        studentInfo.setStudentCode(e.getStudentCode());
-                        studentInfo.setStudentName(e.getStudentName());
-                        studentInfo.setCollegeName(e.getCollegeName());
-                        studentInfo.setMajorName(e.getMajorName());
-                        studentInfo.setBasicClazzId(e.getClazzId());
-                        studentInfo.setBasicClazzName(e.getClazz());
-                        studentInfoLinkedMultiValueMap.add(e.getClazzId(), studentInfo);
-
-                        ExamTaskStudentObjectResult examTaskStudentObjectResult = null;
-                        if (!examTaskStudentObjectResultMap.containsKey(e.getClazzId())) {
-                            examTaskStudentObjectResult = new ExamTaskStudentObjectResult();
-                            examTaskStudentObjectResult.setClazzId(e.getClazzId());
-                            examTaskStudentObjectResult.setClazzName(e.getClazz());
-                            examTaskStudentObjectResult.setStudentClazzType(examObjectType.getStudentClazzType());
-                        } else {
-                            examTaskStudentObjectResult = examTaskStudentObjectResultMap.get(e.getClazzId());
-                        }
-                        examTaskStudentObjectResult.setStudentInfoList(studentInfoLinkedMultiValueMap.get(e.getClazzId()));
-                        examTaskStudentObjectResultMap.put(e.getClazzId(), examTaskStudentObjectResult);
-                    }
-                    result.addAll(examTaskStudentObjectResultMap.values());
+                StudentInfo studentInfo = new StudentInfo();
+                studentInfo.setStudentId(e.getId());
+                studentInfo.setStudentCode(e.getStudentCode());
+                studentInfo.setStudentName(e.getStudentName());
+                studentInfo.setCollegeName(e.getCollegeName());
+                studentInfo.setMajorName(e.getMajorName());
+                studentInfo.setBasicClazzId(e.getClazzId());
+                studentInfo.setBasicClazzName(e.getClazz());
+                studentInfoLinkedMultiValueMap.add(e.getClazzId(), studentInfo);
+
+                ExamTaskStudentObjectResult examTaskStudentObjectResult = null;
+                if (!examTaskStudentObjectResultMap.containsKey(e.getClazzId())) {
+                    examTaskStudentObjectResult = new ExamTaskStudentObjectResult();
+                    examTaskStudentObjectResult.setClazzId(e.getClazzId());
+                    examTaskStudentObjectResult.setClazzName(e.getClazz());
+                } else {
+                    examTaskStudentObjectResult = examTaskStudentObjectResultMap.get(e.getClazzId());
                 }
-                break;
-            default:
-                break;
+                examTaskStudentObjectResult.setStudentInfoList(studentInfoLinkedMultiValueMap.get(e.getClazzId()));
+                examTaskStudentObjectResultMap.put(e.getClazzId(), examTaskStudentObjectResult);
+            }
+            result.addAll(examTaskStudentObjectResultMap.values());
         }
         return result;
     }
@@ -1867,11 +1783,11 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
         }, 2);
         // 校验已经有的考生所在部门的信息是否正确
         // 导入的excel创建或查询的学生集合
-        List<BasicStudentResult> studentDatasource = basicStudentService.basicStudentList(requestUser.getSchoolId(), null, null);
+        List<BasicExamStudentResult> studentDatasource = basicStudentService.basicStudentList(requestUser.getSchoolId(), null, null);
 
         List<ExamStudentImportDto> existStudentList = examStudentImportDtoList
                 .stream()
-                .filter(e -> studentDatasource.stream().map(BasicStudentResult::getStudentCode).collect(Collectors.toList()).contains(e.getStudentCode()))
+                .filter(e -> studentDatasource.stream().map(BasicExamStudentResult::getStudentCode).collect(Collectors.toList()).contains(e.getStudentCode()))
                 .collect(Collectors.toList());
         for (ExamStudentImportDto examStudentImportDto : existStudentList) {
             String studentName = examStudentImportDto.getStudentName();
@@ -1881,11 +1797,11 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
             String impClazzName = examStudentImportDto.getClazzName();
 
 
-            List<BasicStudentResult> basicStudentList = studentDatasource.stream().filter(e -> e.getStudentCode().equals(studentCode)).collect(Collectors.toList());
+            List<BasicExamStudentResult> basicStudentList = studentDatasource.stream().filter(e -> e.getStudentCode().equals(studentCode)).collect(Collectors.toList());
             if (basicStudentList.size() != 1) {
                 throw ExceptionResultEnum.ERROR.exception("学号为:" + studentCode + "的考生数据异常");
             }
-            BasicStudentResult basicStudent = basicStudentList.get(0);
+            BasicExamStudentResult basicStudent = basicStudentList.get(0);
 
             String realityCollegeName = basicStudent.getCollegeName();
             String realityMajorName = basicStudent.getMajorName();
@@ -1932,7 +1848,7 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
 
         List<String> studentCodeDatasource = examStudentImportDtoList.stream().map(ExamStudentImportDto::getStudentCode).distinct().collect(Collectors.toList());
         // 导入的excel创建或查询的学生集合
-        List<BasicStudentResult> basicStudentResultDatasource = basicStudentService.basicStudentList(requestUser.getSchoolId(), null, studentCodeDatasource);
+        List<BasicExamStudentResult> basicStudentResultDatasource = basicStudentService.basicStudentList(requestUser.getSchoolId(), null, studentCodeDatasource);
 
         // 考试对象键(考点、考场)
         List<Map<String, String>> examObjectKeyList = examStudentImportDtoList.stream().flatMap(e -> {
@@ -1956,10 +1872,10 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
                     .collect(Collectors.toList());
 
             List<ExamTaskStudentObjectResult> examTaskStudentObjectResultList = new ArrayList<>();
-            List<BasicStudentResult> basicStudentResultList = basicStudentResultDatasource.stream().filter(e -> studentCodeList.contains(e.getStudentCode())).collect(Collectors.toList());
-            List<Long> basicClazzIdList = basicStudentResultList.stream().map(BasicStudentResult::getClazzId).distinct().collect(Collectors.toList());
+            List<BasicExamStudentResult> basicStudentResultList = basicStudentResultDatasource.stream().filter(e -> studentCodeList.contains(e.getStudentCode())).collect(Collectors.toList());
+            List<Long> basicClazzIdList = basicStudentResultList.stream().map(BasicExamStudentResult::getClazzId).distinct().collect(Collectors.toList());
             for (Long basicClazzId : basicClazzIdList) {
-                List<BasicStudentResult> basicStudentClazzList = basicStudentResultList.stream()
+                List<BasicExamStudentResult> basicStudentClazzList = basicStudentResultList.stream()
                         .filter(e -> basicClazzId.equals(e.getClazzId())).collect(Collectors.toList());
                 List<StudentInfo> studentInfoList = basicStudentClazzList.stream().flatMap(e -> {
                     StudentInfo studentInfo = new StudentInfo();
@@ -1976,7 +1892,6 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
                 examTaskStudentObjectResult.setClazzId(basicClazzId);
                 examTaskStudentObjectResult.setClazzName(basicClazzService.getById(basicClazzId).getClazzName());
                 examTaskStudentObjectResult.setStudentInfoList(studentInfoList);
-                examTaskStudentObjectResult.setStudentClazzType(ExamObjectType.IMPORT_STUDENT.getStudentClazzType());
                 examTaskStudentObjectResultList.add(examTaskStudentObjectResult);
             }
 

+ 14 - 58
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/PrintCommonServiceImpl.java

@@ -19,7 +19,6 @@ import com.qmth.distributed.print.business.bean.result.ScoreResult;
 import com.qmth.distributed.print.business.entity.*;
 import com.qmth.distributed.print.business.enums.ExamDetailStatusEnum;
 import com.qmth.distributed.print.business.enums.PrintPlanStatusEnum;
-import com.qmth.distributed.print.business.enums.StudentClazzEnum;
 import com.qmth.distributed.print.business.mapper.TCUsualScoreMapper;
 import com.qmth.distributed.print.business.service.*;
 import com.qmth.distributed.print.business.util.CreatePrintPdfUtil;
@@ -27,7 +26,6 @@ import com.qmth.distributed.print.business.util.PdfUtil;
 import com.qmth.teachcloud.common.bean.dto.DataPermissionRule;
 import com.qmth.teachcloud.common.bean.dto.MqDto;
 import com.qmth.teachcloud.common.bean.params.ArraysParams;
-import com.qmth.teachcloud.common.bean.result.BasicStudentResult;
 import com.qmth.teachcloud.common.bean.result.TbTaskDetailResult;
 import com.qmth.teachcloud.common.bean.vo.FilePathVo;
 import com.qmth.teachcloud.common.bean.vo.PrintPathVo;
@@ -143,15 +141,10 @@ public class PrintCommonServiceImpl implements PrintCommonService {
 
     @Resource
     GradeBatchPaperService gradeBatchPaperService;
-
-    @Resource
-    BasicStudentService basicStudentService;
-
-    @Resource
-    TeachClazzService teachClazzService;
-
     @Resource
     BasicTeachClazzService basicTeachClazzService;
+    @Resource
+    BasicExamStudentService basicExamStudentService;
 
     @Resource
     CreatePrintPdfUtil createPrintPdfUtil;
@@ -1015,14 +1008,6 @@ public class PrintCommonServiceImpl implements PrintCommonService {
         if (!CollectionUtils.isEmpty(sysOrgs)) {
             throw ExceptionResultEnum.ERROR.exception("该机构下有子机构,不能删除");
         }
-
-        // 机构下是否有子机构
-        QueryWrapper<BasicStudent> basicStudentQueryWrapper = new QueryWrapper<>();
-        basicStudentQueryWrapper.lambda().eq(BasicStudent::getBelongOrgId, id);
-        List<BasicStudent> basicStudentList = basicStudentService.list(basicStudentQueryWrapper);
-        if (!CollectionUtils.isEmpty(basicStudentList)) {
-            throw ExceptionResultEnum.ERROR.exception("该机构下有学生,不能删除");
-        }
     }
 
     /**
@@ -1419,59 +1404,30 @@ public class PrintCommonServiceImpl implements PrintCommonService {
         List<ExamStudent> examStudentList = new ArrayList<>();
         for (ExamTaskStudentObjectParam student : examTaskStudentObjectParamList) {
             Long studentId = student.getStudentId();
-            Long teachClazzId = student.getTeachClazzId();
-            Long basicClazzId = student.getBasicClazzId();
-            StudentClazzEnum studentClazzType = student.getStudentClazzType();
-
-            BasicStudentResult basicStudentResult = basicStudentService.findById(studentId);
-            if (Objects.isNull(basicStudentResult)) {
-                throw ExceptionResultEnum.ERROR.exception("未找到基础学生信息");
-            }
-            if (!Objects.equals(basicStudentResult.getClazzId(), basicClazzId)) {
-                throw ExceptionResultEnum.ERROR.exception("行政班数据不一致");
-            }
-            BasicTeachClazz basicTeachClazz = null;
-            if (SystemConstant.longNotNull(basicClazzId)) {
-                basicTeachClazz = basicTeachClazzService.getById(basicClazzId);
-                if (Objects.isNull(basicTeachClazz)) {
-                    throw ExceptionResultEnum.ERROR.exception("未找到教学班");
-                }
-            }
-
-            TeachClazz teachClazz = null;
-            if (SystemConstant.longNotNull(teachClazzId)) {
-                teachClazz = teachClazzService.getById(teachClazzId);
-                if (Objects.isNull(teachClazz)) {
-                    throw ExceptionResultEnum.ERROR.exception("未找到老师创建的教学班");
-                }
+            BasicExamStudent basicExamStudent = basicExamStudentService.getById(studentId);
+            if (basicExamStudent == null) {
+                throw ExceptionResultEnum.ERROR.exception("ID[" + studentId + "]的考生不存在");
             }
-
             ExamStudent examStudent = new ExamStudent();
             examStudent.setSchoolId(schoolId);
             examStudent.setId(SystemConstant.getDbUuid());
             examStudent.setOrgId(sysUser.getOrgId());
             examStudent.setExamDetailCourseId(examDetailCourseId);
-            examStudent.setStudentName(basicStudentResult.getStudentName());
-            examStudent.setStudentCode(basicStudentResult.getStudentCode());
+            examStudent.setStudentName(basicExamStudent.getStudentName());
+            examStudent.setStudentCode(basicExamStudent.getStudentCode());
             examStudent.setExamId(examId);
             examStudent.setPaperNumber(examTask.getPaperNumber());
             examStudent.setCoursePaperId(examTask.getCourseCode().concat(examTask.getSequence()));
-            examStudent.setCollegeName(basicStudentResult.getCollegeName());
-            examStudent.setMajorName(basicStudentResult.getMajorName());
+            examStudent.setCollegeName(basicExamStudent.getCollege());
+            examStudent.setMajorName(basicExamStudent.getMajor());
             examStudent.setSiteNumber(String.valueOf(atomicInteger.getAndIncrement()));
+            examStudent.setTeacherId(basicExamStudent.getTeacherId());
             examStudent.setExtendFields(extendFields);
             examStudent.setCreateId(sysUser.getId());
-            // 行政班数据
-            if (Objects.nonNull(basicTeachClazz)) {
-                examStudent.setClazzId(String.valueOf(basicTeachClazz.getId()));
-                examStudent.setClazzName(basicTeachClazz.getClazzName());
-            }
-            // 教学班模式 教学班数据
-            if (Objects.nonNull(teachClazz)) {
-                examStudent.setTeachClazzId(teachClazz.getId());
-                examStudent.setTeachClazzName(teachClazz.getClazzName());
-            }
-            examStudent.setStudentClazzType(studentClazzType);
+            // 教学班数据
+            examStudent.setTeachClazzId(basicExamStudent.getClazzId());
+            BasicTeachClazz basicTeachClazz = basicTeachClazzService.getById(basicExamStudent.getClazzId());
+            examStudent.setTeachClazzName(basicTeachClazz != null ? basicTeachClazz.getClazzName() : null);
             examStudentList.add(examStudent);
         }
         return examStudentList;

+ 12 - 5
distributed-print-business/src/main/java/com/qmth/distributed/print/business/templete/execute/SyncBasicExamStudentImportService.java

@@ -3,7 +3,9 @@ package com.qmth.distributed.print.business.templete.execute;
 import cn.hutool.core.date.DateUtil;
 import com.alibaba.fastjson.JSON;
 import com.qmth.distributed.print.business.bean.dto.BasicExamStudentDto;
+import com.qmth.distributed.print.business.bean.dto.MarkStudentImportDto;
 import com.qmth.distributed.print.business.entity.BasicExamStudent;
+import com.qmth.distributed.print.business.service.BasicExamService;
 import com.qmth.distributed.print.business.service.BasicExamStudentService;
 import com.qmth.distributed.print.business.templete.importData.SyncImportTaskTemplate;
 import com.qmth.distributed.print.business.templete.service.TaskLogicService;
@@ -11,11 +13,9 @@ import com.qmth.teachcloud.common.annotation.ExcelNote;
 import com.qmth.teachcloud.common.bean.vo.FilePathVo;
 import com.qmth.teachcloud.common.contant.SpringContextHolder;
 import com.qmth.teachcloud.common.contant.SystemConstant;
+import com.qmth.teachcloud.common.entity.BasicExam;
 import com.qmth.teachcloud.common.entity.TBTask;
-import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
-import com.qmth.teachcloud.common.enums.TaskResultEnum;
-import com.qmth.teachcloud.common.enums.TaskStatusEnum;
-import com.qmth.teachcloud.common.enums.UploadFileEnum;
+import com.qmth.teachcloud.common.enums.*;
 import com.qmth.teachcloud.common.service.FileUploadService;
 import com.qmth.teachcloud.common.service.TBTaskService;
 import com.qmth.teachcloud.common.util.Result;
@@ -54,6 +54,8 @@ public class SyncBasicExamStudentImportService extends SyncImportTaskTemplate {
 
     public static final String OBJ_TITLE = "考生字典数据";
 
+    @Resource
+    private BasicExamService basicExamService;
     @Resource
     private BasicExamStudentService basicExamStudentService;
 
@@ -90,7 +92,12 @@ public class SyncBasicExamStudentImportService extends SyncImportTaskTemplate {
             if (result.containsKey(SystemConstant.DATASOURCE)) {
                 List<BasicExamStudent> basicExamStudentList = JSON.parseArray(JSON.toJSONString(result.get(SystemConstant.DATASOURCE)), BasicExamStudent.class);
                 basicExamStudentService.saveOrUpdateBatch(basicExamStudentList);
-
+                // 模式4,直接进扫描阅卷库
+                BasicExam basicExam = basicExamService.getById(tbTask.getExamId());
+                if (ExamModelEnum.MODEL4.equals(basicExam.getExamModel())) {
+                    List<MarkStudentImportDto> markStudentImportDtoList = JSON.parseArray(JSON.toJSONString(result.get(SystemConstant.DATASOURCE)), MarkStudentImportDto.class);
+                    taskLogicService.saveMarkStudent(tbTask.getExamId(), markStudentImportDtoList);
+                }
             } else if (result.containsKey(SystemConstant.ERROR_DATA_LIST)) {
                 // 有异常数据
                 errorDataList = JSON.parseArray(JSON.toJSONString(result.get(SystemConstant.ERROR_DATA_LIST)),

+ 0 - 224
distributed-print-business/src/main/java/com/qmth/distributed/print/business/templete/execute/SyncMarkStudentImportService.java

@@ -1,224 +0,0 @@
-package com.qmth.distributed.print.business.templete.execute;
-
-import cn.hutool.core.date.DateUtil;
-import com.alibaba.fastjson.JSON;
-import com.qmth.distributed.print.business.bean.dto.MarkStudentImportDto;
-import com.qmth.distributed.print.business.templete.importData.SyncImportTaskTemplate;
-import com.qmth.distributed.print.business.templete.service.TaskLogicService;
-import com.qmth.teachcloud.common.annotation.ExcelNote;
-import com.qmth.teachcloud.common.bean.vo.FilePathVo;
-import com.qmth.teachcloud.common.contant.SpringContextHolder;
-import com.qmth.teachcloud.common.contant.SystemConstant;
-import com.qmth.teachcloud.common.entity.TBTask;
-import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
-import com.qmth.teachcloud.common.enums.TaskResultEnum;
-import com.qmth.teachcloud.common.enums.TaskStatusEnum;
-import com.qmth.teachcloud.common.enums.UploadFileEnum;
-import com.qmth.teachcloud.common.service.FileUploadService;
-import com.qmth.teachcloud.common.service.TBTaskService;
-import com.qmth.teachcloud.common.util.Result;
-import com.qmth.teachcloud.common.util.ResultUtil;
-import org.apache.commons.collections4.CollectionUtils;
-import org.apache.poi.ss.usermodel.FillPatternType;
-import org.apache.poi.ss.usermodel.Font;
-import org.apache.poi.ss.usermodel.HorizontalAlignment;
-import org.apache.poi.ss.usermodel.IndexedColors;
-import org.apache.poi.ss.util.CellRangeAddress;
-import org.apache.poi.xssf.usermodel.*;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.stereotype.Service;
-
-import javax.annotation.Resource;
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.lang.reflect.Field;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.text.MessageFormat;
-import java.util.*;
-
-/**
- * @Description: 阅卷数据导入同步任务
- * @Author: CaoZixuan
- * @Date: 2024-03-09
- */
-@Service
-public class SyncMarkStudentImportService extends SyncImportTaskTemplate {
-
-    private final static Logger log = LoggerFactory.getLogger(SyncMarkStudentImportService.class);
-
-    public static final String OBJ_TITLE = "阅卷数据";
-
-    @Resource
-    private FileUploadService fileUploadService;
-
-    @Override
-    public Result importTask(Map<String, Object> map) throws Exception {
-        TBTask tbTask = (TBTask) map.get(SystemConstant.TASK);
-        InputStream inputStream = super.getUploadFileInputStream(tbTask);
-        map.put("inputStream", inputStream);
-
-        StringJoiner stringJoinerSummary = new StringJoiner("\n").add(
-                MessageFormat.format("{0}{1}{2}", DateUtil.format(new Date(), SystemConstant.DEFAULT_DATE_PATTERN),
-                        BEGIN_TITLE, OBJ_TITLE));
-        tbTask.setStatus(TaskStatusEnum.RUNNING);
-        TBTaskService tbTaskService = SpringContextHolder.getBean(TBTaskService.class);
-        tbTaskService.updateById(tbTask);
-        int dataCount = 0;
-        int successCount = 0;
-        int errorCount = 0;
-        List<MarkStudentImportDto> errorDataList = new ArrayList<>();
-        boolean importResult = true;
-
-        try {
-            TaskLogicService taskLogicService = SpringContextHolder.getBean(TaskLogicService.class);
-
-            // 执行导入阅卷数据
-            Map<String, Object> result = taskLogicService.executeImportMarkStudentLogic(map);
-            dataCount = Integer.parseInt(String.valueOf(result.get(SystemConstant.DATA_COUNT)));
-            successCount = Integer.parseInt(String.valueOf(result.get(SystemConstant.SUCCESS_DATA_COUNT)));
-            errorCount = Integer.parseInt(String.valueOf(result.get(SystemConstant.ERROR_DATA_COUNT)));
-
-            // 无异常数据
-            if (result.containsKey(SystemConstant.DATASOURCE)) {
-                List<MarkStudentImportDto> markStudentImportDtoList = JSON.parseArray(JSON.toJSONString(result.get(SystemConstant.DATASOURCE)), MarkStudentImportDto.class);
-                taskLogicService.saveMarkStudent(tbTask.getExamId(), markStudentImportDtoList);
-
-            } else if (result.containsKey(SystemConstant.ERROR_DATA_LIST)) {
-                // 有异常数据
-                errorDataList = JSON.parseArray(JSON.toJSONString(result.get(SystemConstant.ERROR_DATA_LIST)),
-                        MarkStudentImportDto.class);
-            }
-
-        } catch (Exception e) {
-            log.error(SystemConstant.LOG_ERROR, e.getMessage());
-            throw ExceptionResultEnum.ERROR.exception("导入考生字典失败");
-        } finally {//生成文件
-            stringJoinerSummary.add(MessageFormat.format("{0}{1}{2}{3}{4}{5}{6}{7}",
-                    DateUtil.format(new Date(), SystemConstant.DEFAULT_DATE_PATTERN), FINISH_TITLE, dataCount,
-                    FINISH_TOTAL_SIZE, successCount, FINISH_SUCCESS_SIZE, errorCount, FINISH_ERROR_SIZE));
-            if (CollectionUtils.isNotEmpty(errorDataList)) {
-                tbTask.setResult(TaskResultEnum.ERROR);
-                try {
-                    File excelFileTemp = SystemConstant.getFileTempVar(SystemConstant.EXCEL_PREFIX);
-                    this.createLocalErrorExcel(errorDataList, excelFileTemp);
-                    String fileName = SystemConstant.getNanoId() + SystemConstant.EXCEL_PREFIX;
-                    FilePathVo filePathVo = fileUploadService.uploadFile(excelFileTemp, UploadFileEnum.FILE, fileName);
-                    tbTask.setErrorFilePath(JSON.toJSONString(filePathVo));
-                } catch (Exception e) {
-                    log.error("创建考生字典导入错误数据文件失败");
-                } finally {
-                    tbTask.setSummary("创建考生字典导入错误数据文件失败" + stringJoinerSummary);
-                }
-                importResult = false;
-            } else {
-                tbTask.setSummary(stringJoinerSummary.toString());
-                tbTask.setResult(TaskResultEnum.SUCCESS);
-            }
-            tbTask.setStatus(TaskStatusEnum.FINISH);
-            super.createTxt(tbTask);
-        }
-        return ResultUtil.ok(importResult);
-    }
-
-    private void createLocalErrorExcel(List<MarkStudentImportDto> markStudentImportDtoList, File excelFileTemp)
-            throws NoSuchMethodException, InvocationTargetException, IllegalAccessException, IOException {
-
-        List<Field> fields = Arrays.asList(MarkStudentImportDto.class.getDeclaredFields());
-
-        log.debug("导出Excel开始...");
-        XSSFWorkbook wb = new XSSFWorkbook();
-        XSSFSheet sheet = wb.createSheet("考生字典导入");
-
-        Font defaultFont = wb.createFont();
-        defaultFont.setFontHeightInPoints((short) 12);
-        defaultFont.setFontName("宋体");
-
-        int cellCount = fields.size();
-        // 说明
-        XSSFCellStyle describeStyle = wb.createCellStyle();
-        describeStyle.setAlignment(HorizontalAlignment.LEFT);
-        Font describeFont = wb.createFont();
-        describeFont.setFontHeightInPoints((short) 12);
-        describeFont.setFontName("宋体");
-        describeFont.setColor(IndexedColors.RED.getIndex());
-        describeStyle.setFont(describeFont);
-        String describe = SystemConstant.MARK_STUDENT_DESCRIBE;
-        describe = describe.trim();
-        XSSFRow rowDescribe = sheet.createRow(0);
-        rowDescribe.setHeightInPoints(195); //行高设置成195px
-        for (int i = 0; i < cellCount; i++) {
-            XSSFCell cell = rowDescribe.createCell(i);
-            if (i == 0) {
-                cell.setCellValue(describe);
-                cell.setCellStyle(describeStyle);
-            }
-        }
-        CellRangeAddress region = new CellRangeAddress(0, 0, 0, cellCount - 1);
-        sheet.addMergedRegion(region);
-
-        // 表头行
-        XSSFCellStyle headerStyle = wb.createCellStyle();
-        headerStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);
-        headerStyle.setAlignment(HorizontalAlignment.CENTER);
-        headerStyle.setFillForegroundColor(IndexedColors.GREY_25_PERCENT.getIndex());
-        headerStyle.setFont(defaultFont);
-        XSSFRow rowHead = sheet.createRow(1);
-        for (int i = 0; i < fields.size(); i++) {
-            XSSFCell cell = rowHead.createCell(i);
-            Field field = fields.get(i);
-            String title = "";
-            ExcelNote excelNote = field.getAnnotation(ExcelNote.class);
-
-            if (Objects.isNull(excelNote)) {
-                if (i == fields.size() - 1) {
-                    title = "异常信息";
-                } else {
-                    throw ExceptionResultEnum.ERROR.exception("未能获取dto属性注解");
-                }
-            } else {
-                title = excelNote.value();
-            }
-            cell.setCellValue(title);
-            cell.setCellStyle(headerStyle);
-        }
-        XSSFCell lastCell = rowHead.createCell(cellCount - 1);
-        lastCell.setCellValue("异常信息");
-        lastCell.setCellStyle(headerStyle);
-
-        // 内容行
-        XSSFCellStyle exampleStyle = wb.createCellStyle();
-        exampleStyle.setAlignment(HorizontalAlignment.LEFT);
-        exampleStyle.setFont(defaultFont);
-
-        for (int i = 0; i < markStudentImportDtoList.size(); i++) {
-            MarkStudentImportDto markStudentImportDto = markStudentImportDtoList.get(i);
-            XSSFRow row = sheet.createRow(i + 2);
-            for (int j = 0; j < fields.size(); j++) {
-                XSSFCell cell = row.createCell(j);
-                Field head = fields.get(j);
-                String methodName = "get" + SystemConstant.initCap(head.getName());
-                Method getMethod = markStudentImportDto.getClass().getDeclaredMethod(methodName);
-                String value = String.valueOf(getMethod.invoke(markStudentImportDto));
-                if (SystemConstant.strNotNull(value)) {
-                    cell.setCellValue(value);
-                } else {
-                    cell.setCellValue("");
-                }
-                cell.setCellStyle(exampleStyle);
-            }
-        }
-        for (int i = 0; i < cellCount; i++) {
-            sheet.autoSizeColumn(i);
-            sheet.setColumnWidth(i, sheet.getColumnWidth(i) * 17 / 10);
-        }
-
-        FileOutputStream outputStream = new FileOutputStream(excelFileTemp);
-        wb.write(outputStream);
-        outputStream.flush();
-        outputStream.close();
-    }
-}

+ 13 - 15
distributed-print-business/src/main/java/com/qmth/distributed/print/business/util/CreatePdfUtil.java

@@ -5,20 +5,22 @@ import cn.hutool.core.util.ReflectUtil;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
-import com.qmth.teachcloud.common.bean.vo.PrintPathVo;
 import com.qmth.distributed.print.business.bean.dto.*;
-import com.qmth.distributed.print.business.enums.ExamNumberStyleEnum;
-import com.qmth.teachcloud.common.bean.vo.FilePathVo;
-import com.qmth.teachcloud.common.bean.vo.OriginalVo;
-import com.qmth.teachcloud.common.bean.vo.PaperInfoVo;
 import com.qmth.distributed.print.business.cache.CreatePdfCacheUtil;
 import com.qmth.distributed.print.business.entity.*;
 import com.qmth.distributed.print.business.enums.ExamDetailStatusEnum;
-import com.qmth.distributed.print.business.enums.StudentClazzEnum;
+import com.qmth.distributed.print.business.enums.ExamNumberStyleEnum;
 import com.qmth.distributed.print.business.service.*;
+import com.qmth.teachcloud.common.bean.vo.FilePathVo;
+import com.qmth.teachcloud.common.bean.vo.OriginalVo;
+import com.qmth.teachcloud.common.bean.vo.PaperInfoVo;
+import com.qmth.teachcloud.common.bean.vo.PrintPathVo;
 import com.qmth.teachcloud.common.config.DictionaryConfig;
 import com.qmth.teachcloud.common.contant.SystemConstant;
-import com.qmth.teachcloud.common.entity.*;
+import com.qmth.teachcloud.common.entity.BasicAttachment;
+import com.qmth.teachcloud.common.entity.BasicPrintConfig;
+import com.qmth.teachcloud.common.entity.BasicSemester;
+import com.qmth.teachcloud.common.entity.TBTask;
 import com.qmth.teachcloud.common.enums.*;
 import com.qmth.teachcloud.common.service.BasicAttachmentService;
 import com.qmth.teachcloud.common.service.BasicClazzService;
@@ -287,11 +289,7 @@ public class CreatePdfUtil {
                 basicPlate.add(basicMap);
             } else if ("clazzName".equals(code)) {
                 Set<String> stringSet = new HashSet<>();
-                Set<String> clazzNames = examStudentList.stream().filter(m -> m.getStudentClazzType().equals(StudentClazzEnum.BASIC_CLAZZ) && StringUtils.isNotBlank(m.getClazzName())).map(ExamStudent::getClazzName).collect(Collectors.toSet());
-                if (!clazzNames.isEmpty()) {
-                    stringSet.addAll(clazzNames);
-                }
-                Set<String> teachClazzNames = examStudentList.stream().filter(m -> m.getStudentClazzType().equals(StudentClazzEnum.TEACH_CLAZZ) && StringUtils.isNotBlank(m.getTeachClazzName())).map(ExamStudent::getTeachClazzName).collect(Collectors.toSet());
+                Set<String> teachClazzNames = examStudentList.stream().filter(m -> StringUtils.isNotBlank(m.getTeachClazzName())).map(ExamStudent::getTeachClazzName).collect(Collectors.toSet());
                 if (!teachClazzNames.isEmpty()) {
                     stringSet.addAll(teachClazzNames);
                 }
@@ -472,21 +470,21 @@ public class CreatePdfUtil {
                 }
                 basicPlate.add(basicMap);
             } else if ("collegeName".equals(code)) {
-                Set<String> collegeNames = examStudentList.stream().filter(m->StringUtils.isNotBlank(m.getCollegeName())).map(ExamStudentCourseDto::getCollegeName).collect(Collectors.toSet());
+                Set<String> collegeNames = examStudentList.stream().filter(m -> StringUtils.isNotBlank(m.getCollegeName())).map(ExamStudentCourseDto::getCollegeName).collect(Collectors.toSet());
                 Map<String, String> basicMap = new HashMap<>();
                 basicMap.put("code", code);
                 basicMap.put("name", name);
                 basicMap.put("value", String.join(SystemConstant.COMMA_OF_CHINESE, collegeNames));
                 basicPlate.add(basicMap);
             } else if ("majorName".equals(code)) {
-                Set<String> majorNames = examStudentList.stream().filter(m->StringUtils.isNotBlank(m.getMajorName())).map(ExamStudentCourseDto::getMajorName).collect(Collectors.toSet());
+                Set<String> majorNames = examStudentList.stream().filter(m -> StringUtils.isNotBlank(m.getMajorName())).map(ExamStudentCourseDto::getMajorName).collect(Collectors.toSet());
                 Map<String, String> basicMap = new HashMap<>();
                 basicMap.put("code", code);
                 basicMap.put("name", name);
                 basicMap.put("value", String.join(SystemConstant.COMMA_OF_CHINESE, majorNames));
                 basicPlate.add(basicMap);
             } else if ("teachClazzName".equals(code)) {
-                Set<String> teachClassNames = examStudentList.stream().filter(m->StringUtils.isNotBlank(m.getClazzName())).map(ExamStudentCourseDto::getClazzName).collect(Collectors.toSet());
+                Set<String> teachClassNames = examStudentList.stream().filter(m -> StringUtils.isNotBlank(m.getClazzName())).map(ExamStudentCourseDto::getClazzName).collect(Collectors.toSet());
                 Map<String, String> basicMap = new HashMap<>();
                 basicMap.put("code", code);
                 basicMap.put("name", name);

+ 5 - 8
distributed-print-business/src/main/java/com/qmth/distributed/print/business/util/pdf/CreatePdfNewUtil.java

@@ -6,19 +6,18 @@ import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.itextpdf.text.pdf.PdfReader;
-import com.qmth.teachcloud.common.bean.vo.PrintPathVo;
 import com.qmth.distributed.print.business.bean.dto.*;
 import com.qmth.distributed.print.business.entity.*;
 import com.qmth.distributed.print.business.enums.ExamDetailStatusEnum;
 import com.qmth.distributed.print.business.enums.ExamNumberStyleEnum;
 import com.qmth.distributed.print.business.enums.PrintPlanStatusEnum;
-import com.qmth.distributed.print.business.enums.StudentClazzEnum;
 import com.qmth.distributed.print.business.service.*;
 import com.qmth.distributed.print.business.util.GoogleBarCodeUtil;
 import com.qmth.distributed.print.business.util.PdfUtil;
 import com.qmth.teachcloud.common.bean.vo.FilePathVo;
 import com.qmth.teachcloud.common.bean.vo.OriginalVo;
 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.BasicPrintConfig;
@@ -28,7 +27,9 @@ import com.qmth.teachcloud.common.service.BasicAttachmentService;
 import com.qmth.teachcloud.common.service.BasicSemesterService;
 import com.qmth.teachcloud.common.service.FileUploadService;
 import com.qmth.teachcloud.common.service.TeachcloudCommonService;
-import com.qmth.teachcloud.common.util.*;
+import com.qmth.teachcloud.common.util.ConvertUtil;
+import com.qmth.teachcloud.common.util.ExamTaskUtil;
+import com.qmth.teachcloud.common.util.FileUtil;
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
@@ -281,11 +282,7 @@ public class CreatePdfNewUtil {
                 basicPlate.add(basicMap);
             } else if ("clazzName".equals(code)) {
                 Set<String> stringSet = new HashSet<>();
-                Set<String> clazzNames = examStudentList.stream().filter(m -> m.getStudentClazzType().equals(StudentClazzEnum.BASIC_CLAZZ) && StringUtils.isNotBlank(m.getClazzName())).map(ExamStudent::getClazzName).collect(Collectors.toSet());
-                if (!clazzNames.isEmpty()) {
-                    stringSet.addAll(clazzNames);
-                }
-                Set<String> teachClazzNames = examStudentList.stream().filter(m -> m.getStudentClazzType().equals(StudentClazzEnum.TEACH_CLAZZ) && StringUtils.isNotBlank(m.getTeachClazzName())).map(ExamStudent::getTeachClazzName).collect(Collectors.toSet());
+                Set<String> teachClazzNames = examStudentList.stream().filter(m -> StringUtils.isNotBlank(m.getTeachClazzName())).map(ExamStudent::getTeachClazzName).collect(Collectors.toSet());
                 if (!teachClazzNames.isEmpty()) {
                     stringSet.addAll(teachClazzNames);
                 }

+ 1 - 1
distributed-print-business/src/main/resources/mapper/ExamPrintPlanMapper.xml

@@ -187,7 +187,7 @@
                 <if test="examId != null">
                     and be.id = #{examId}
                 </if>
-                <if test="printPlanId != null">
+                <if test="printPlanId != null and printPlanId != ''">
                     and epp.id = #{printPlanId}
                 </if>
             </where>) a

+ 1 - 3
distributed-print-business/src/main/resources/mapper/TeachCourseMapper.xml

@@ -11,7 +11,7 @@
             tc.create_id AS createId,
             tc.create_time AS createTime,
             tc.user_id AS userId,
-            cr.real_name AS creatorName,
+            su.login_name as userLoginName,
             su.real_name AS userName
         FROM
             teach_course tc
@@ -19,8 +19,6 @@
             basic_course bc ON tc.school_id = bc.school_id AND tc.course_code = bc.code AND bc.enable = TRUE
                 LEFT JOIN
             sys_user su ON tc.user_id = su.id
-                LEFT JOIN
-            sys_user cr ON tc.create_id = cr.id
         <where>
             <if test="schoolId != null">
                 AND tc.school_id = #{schoolId}

+ 3 - 0
distributed-print/install/mysql/upgrade/3.3.1.sql

@@ -678,3 +678,6 @@ UPDATE `sys_privilege` SET `name` = '考生库选择' WHERE (`id` = '876');
 UPDATE `sys_privilege` SET `name` = '考生库选择(是否可选学生)' WHERE (`id` = '877');
 
 ALTER TABLE `basic_school` ADD COLUMN `has_paper_number` TINYINT(1) NULL DEFAULT '0' COMMENT '该学校是否有固定试卷编号' AFTER `default_school`;
+
+-- 2024/03/25
+UPDATE `sys_privilege` SET `enable` = '0', `front_display` = '0' WHERE (`id` = '1131');

+ 2 - 5
distributed-print/src/main/java/com/qmth/distributed/print/api/ExamTaskApplyController.java

@@ -3,12 +3,10 @@ package com.qmth.distributed.print.api;
 import com.qmth.boot.api.constant.ApiConstant;
 import com.qmth.distributed.print.business.bean.dto.ExamTaskDetailCardDto;
 import com.qmth.distributed.print.business.bean.params.ApproveFormParams;
-import com.qmth.distributed.print.business.bean.params.ExamTaskApplyParam;
 import com.qmth.distributed.print.business.entity.ExamTask;
 import com.qmth.distributed.print.business.entity.ExamTaskApplyTemp;
 import com.qmth.distributed.print.business.entity.ExamTaskDetail;
 import com.qmth.distributed.print.business.entity.TFFlowJoin;
-import com.qmth.distributed.print.business.enums.ExamObjectType;
 import com.qmth.distributed.print.business.enums.ExamStatusEnum;
 import com.qmth.distributed.print.business.service.*;
 import com.qmth.teachcloud.common.annotation.OperationLogDetail;
@@ -249,11 +247,10 @@ public class ExamTaskApplyController {
     @RequestMapping(value = "/find_exam_task_student_object", method = RequestMethod.POST)
     @Transactional(rollbackFor = Exception.class)
     @ApiResponses({@ApiResponse(code = 200, message = "{\"success\":true}", response = Result.class)})
-    public Result findExamTaskStudentObject(@RequestParam ExamObjectType examObjectType,
-                                            @RequestParam(required = false) String examId,
+    public Result findExamTaskStudentObject(@RequestParam(required = false) String examId,
                                             @RequestParam(required = false) String courseCode) throws Exception {
         SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
-        return ResultUtil.ok(examTaskService.findExamTaskStudentObject(examObjectType, SystemConstant.convertIdToLong(examId), courseCode, requestUser));
+        return ResultUtil.ok(examTaskService.findExamTaskStudentObject(SystemConstant.convertIdToLong(examId), courseCode, requestUser));
     }
 
     @ApiOperation(value = "入库申请-导入考生对象")

+ 8 - 30
distributed-print/src/main/java/com/qmth/distributed/print/api/mark/MarkSettingController.java

@@ -5,34 +5,31 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.qmth.boot.api.constant.ApiConstant;
 import com.qmth.distributed.print.business.entity.ExamTaskDetail;
 import com.qmth.distributed.print.business.service.ExamTaskDetailService;
-import com.qmth.distributed.print.business.service.PrintCommonService;
-import com.qmth.distributed.print.business.templete.execute.SyncMarkStudentImportService;
 import com.qmth.teachcloud.common.annotation.OperationLogDetail;
+import com.qmth.teachcloud.common.bean.dto.mark.MarkSettingDto;
 import com.qmth.teachcloud.common.bean.vo.PaperInfoVo;
-import com.qmth.teachcloud.common.enums.TaskTypeEnum;
+import com.qmth.teachcloud.common.contant.SystemConstant;
+import com.qmth.teachcloud.common.enums.log.CustomizedOperationTypeEnum;
 import com.qmth.teachcloud.common.util.ExamTaskUtil;
+import com.qmth.teachcloud.common.util.Result;
+import com.qmth.teachcloud.common.util.ResultUtil;
 import com.qmth.teachcloud.common.util.ServletUtil;
 import com.qmth.teachcloud.mark.dto.mark.manage.MarkManageDto;
-import com.qmth.teachcloud.common.bean.dto.mark.MarkSettingDto;
-import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.mark.dto.mark.score.CheckScoreListDto;
 import com.qmth.teachcloud.mark.entity.MarkPaper;
-import com.qmth.teachcloud.common.enums.log.CustomizedOperationTypeEnum;
 import com.qmth.teachcloud.mark.service.MarkPaperService;
-import com.qmth.teachcloud.common.util.Result;
-import com.qmth.teachcloud.common.util.ResultUtil;
 import com.qmth.teachcloud.mark.service.MarkTaskService;
-import io.swagger.annotations.*;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
 import org.apache.commons.collections4.CollectionUtils;
 import org.springframework.web.bind.annotation.*;
-import org.springframework.web.multipart.MultipartFile;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
 import javax.validation.constraints.Max;
 import javax.validation.constraints.Min;
 import java.util.List;
-import java.util.Map;
 
 /**
  * <p>
@@ -49,19 +46,11 @@ public class MarkSettingController {
 
     @Resource
     private MarkPaperService markPaperService;
-
     @Resource
     private MarkTaskService markTaskService;
-
     @Resource
     private ExamTaskDetailService examTaskDetailService;
 
-    @Resource
-    private PrintCommonService printCommonService;
-
-    @Resource
-    private SyncMarkStudentImportService syncMarkStudentImportService;
-
     /**
      * 评卷设置数据列表
      */
@@ -140,15 +129,4 @@ public class MarkSettingController {
                 paperNumber, pageNumber, pageSize);
         return ResultUtil.ok(scoreListDtoIPage);
     }
-
-    @ApiOperation(value = "阅卷数据批量导入(同步)")
-    @RequestMapping(value = "/mark_student_import", method = RequestMethod.POST)
-    @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = Result.class)})
-    @OperationLogDetail(customizedOperationType = CustomizedOperationTypeEnum.IMPORT)
-    public Result markStudentImport(@ApiParam(value = "上传文件", required = true) @RequestParam MultipartFile file,
-                                    @ApiParam(value = "考试id", required = true) @RequestParam String examId) throws Exception {
-        Map<String, Object> map = printCommonService.saveTask(file, SystemConstant.convertIdToLong(examId), TaskTypeEnum.MARK_STUDENT_IMPORT);
-        map.put("examId", SystemConstant.convertIdToLong(examId));
-        return syncMarkStudentImportService.importTask(map);
-    }
 }

+ 2 - 1
teachcloud-common-api/src/main/java/com/qmth/teachcloud/common/api/api/BasicSchoolController.java

@@ -56,9 +56,10 @@ public class BasicSchoolController {
                          @RequestParam(value = "name") String name,
                          @RequestParam(value = "initPassword") String initPassword,
                          @RequestParam(value = "defaultSchool") Boolean defaultSchool,
+                         @RequestParam(value = "hasPaperNumber") Boolean hasPaperNumber,
                          @RequestParam(value = "logo", required = false) MultipartFile logo,
                          @RequestParam(value = "logoMd5") String logoMd5) {
-        return ResultUtil.ok(basicSchoolService.updateSchool(id, code, name, initPassword, defaultSchool, logo, logoMd5));
+        return ResultUtil.ok(basicSchoolService.updateSchool(id, code, name, initPassword, defaultSchool, hasPaperNumber, logo, logoMd5));
     }
 }
 

+ 1 - 1
teachcloud-common/src/main/java/com/qmth/teachcloud/common/bean/result/BasicStudentResult.java → teachcloud-common/src/main/java/com/qmth/teachcloud/common/bean/result/BasicExamStudentResult.java

@@ -9,7 +9,7 @@ import io.swagger.annotations.ApiModelProperty;
  * @Author: CaoZixuan
  * @Date: 2021-08-04
  */
-public class BasicStudentResult {
+public class BasicExamStudentResult {
 
     @JsonSerialize(using = ToStringSerializer.class)
     @ApiModelProperty(value = "学生id")

+ 12 - 12
teachcloud-common/src/main/java/com/qmth/teachcloud/common/mapper/BasicStudentMapper.java

@@ -6,7 +6,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.qmth.teachcloud.common.bean.dto.BasicStudentExportDto;
 import com.qmth.teachcloud.common.bean.dto.DataPermissionRule;
 import com.qmth.teachcloud.common.bean.dto.TaskPrintClassDto;
-import com.qmth.teachcloud.common.bean.result.BasicStudentResult;
+import com.qmth.teachcloud.common.bean.result.BasicExamStudentResult;
 import com.qmth.teachcloud.common.entity.BasicStudent;
 import org.apache.ibatis.annotations.Param;
 
@@ -26,13 +26,13 @@ public interface BasicStudentMapper extends BaseMapper<BasicStudent> {
 
     List<TaskPrintClassDto> listByClass(@Param("schoolId") Long schoolId, @Param("stringList") Set<String> stringList);
 
-    IPage<BasicStudentResult> findBasicStudentPage(@Param("iPage") Page<BasicStudentResult> iPage,
-                                                   @Param("queryParams") String queryParams,
-                                                   @Param("schoolId") Long schoolId,
-                                                   @Param("collegeId") Long collegeId,
-                                                   @Param("majorId") Long majorId,
-                                                   @Param("clazzId") Long clazzId,
-                                                   @Param("dpr") DataPermissionRule dpr);
+    IPage<BasicExamStudentResult> findBasicStudentPage(@Param("iPage") Page<BasicExamStudentResult> iPage,
+                                                       @Param("queryParams") String queryParams,
+                                                       @Param("schoolId") Long schoolId,
+                                                       @Param("collegeId") Long collegeId,
+                                                       @Param("majorId") Long majorId,
+                                                       @Param("clazzId") Long clazzId,
+                                                       @Param("dpr") DataPermissionRule dpr);
 
     /**
      * 根据基础学生主键同步删除教学学生信息
@@ -48,7 +48,7 @@ public interface BasicStudentMapper extends BaseMapper<BasicStudent> {
      * @param id id
      * @return 结果
      */
-    BasicStudentResult findById(@Param("id") Long id);
+    BasicExamStudentResult findById(@Param("id") Long id);
 
     /**
      * 根据第三方字典id查找学生集合
@@ -57,9 +57,9 @@ public interface BasicStudentMapper extends BaseMapper<BasicStudent> {
      * @param studentCodeList 学号集合
      * @return 学生查询结果
      */
-    List<BasicStudentResult> findBasicStudentList(@Param("schoolId") Long schoolId,
-                                                  @Param("examId") Long examId,
-                                                  @Param("studentCodeList") List<String> studentCodeList);
+    List<BasicExamStudentResult> findBasicStudentList(@Param("schoolId") Long schoolId,
+                                                      @Param("examId") Long examId,
+                                                      @Param("studentCodeList") List<String> studentCodeList);
 
     List<BasicStudentExportDto> listExportData(@Param("queryParams") String queryParams,
                                                @Param("schoolId") Long schoolId,

+ 1 - 1
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/BasicSchoolService.java

@@ -19,7 +19,7 @@ public interface BasicSchoolService extends IService<BasicSchool> {
 
     List<SchoolDto> listSchool(String code);
 
-    boolean updateSchool(Long id, String code, String name, String initPassword, Boolean defaultSchool, MultipartFile logo, String logoMd5);
+    boolean updateSchool(Long id, String code, String name, String initPassword, Boolean defaultSchool, Boolean hasPaperNumber, MultipartFile logo, String logoMd5);
 
     List<BasicSchool> listByDefaultSchool(boolean defaultSchool);
 

+ 4 - 4
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/BasicStudentService.java

@@ -6,7 +6,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import com.qmth.teachcloud.common.bean.dto.TaskPrintClassDto;
 import com.qmth.teachcloud.common.bean.params.BasicStudentExtrasParam;
 import com.qmth.teachcloud.common.bean.params.BasicStudentParams;
-import com.qmth.teachcloud.common.bean.result.BasicStudentResult;
+import com.qmth.teachcloud.common.bean.result.BasicExamStudentResult;
 import com.qmth.teachcloud.common.entity.BasicStudent;
 import com.qmth.teachcloud.common.entity.SysUser;
 import org.springframework.util.LinkedMultiValueMap;
@@ -42,7 +42,7 @@ public interface BasicStudentService extends IService<BasicStudent> {
      * @param pageSize    分页容量
      * @return 分页结果
      */
-    IPage<BasicStudentResult> basicStudentPage(String queryParams, Long collegeId, Long majorId, Long clazzId, int pageNumber, int pageSize);
+    IPage<BasicExamStudentResult> basicStudentPage(String queryParams, Long collegeId, Long majorId, Long clazzId, int pageNumber, int pageSize);
 
     /**
      * 根据id查询基础学生数据
@@ -50,7 +50,7 @@ public interface BasicStudentService extends IService<BasicStudent> {
      * @param id 学生id
      * @return 学生信息
      */
-    BasicStudentResult findById(Long id);
+    BasicExamStudentResult findById(Long id);
 
     /**
      * 学生基础信息查询
@@ -60,7 +60,7 @@ public interface BasicStudentService extends IService<BasicStudent> {
      * @param studentCodeList 学号集合
      * @return 学生查询结果
      */
-    List<BasicStudentResult> basicStudentList(Long schoolId, Long examId, List<String> studentCodeList);
+    List<BasicExamStudentResult> basicStudentList(Long schoolId, Long examId, List<String> studentCodeList);
 
     /**
      * 新增/编辑 学生基础信息

+ 3 - 3
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/BasicSchoolServiceImpl.java

@@ -16,13 +16,12 @@ import com.qmth.teachcloud.common.util.Base64Util;
 import com.qmth.teachcloud.common.util.FileStoreUtil;
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
+import org.apache.poi.hssf.usermodel.HSSFWorkbook;
 import org.springframework.stereotype.Service;
 import org.springframework.web.multipart.MultipartFile;
 
 import javax.annotation.Resource;
-import javax.websocket.RemoteEndpoint;
 import java.util.Base64;
-import java.util.Collection;
 import java.util.List;
 
 /**
@@ -60,7 +59,7 @@ public class BasicSchoolServiceImpl extends ServiceImpl<BasicSchoolMapper, Basic
     }
 
     @Override
-    public boolean updateSchool(Long id, String code, String name, String initPassword, Boolean defaultSchool, MultipartFile logo, String logoMd5) {
+    public boolean updateSchool(Long id, String code, String name, String initPassword, Boolean defaultSchool, Boolean hasPaperNumber, MultipartFile logo, String logoMd5) {
         BasicSchool basicSchool = this.getById(id);
         basicSchool.setCode(code);
         basicSchool.setName(name);
@@ -98,6 +97,7 @@ public class BasicSchoolServiceImpl extends ServiceImpl<BasicSchoolMapper, Basic
             }
         }
         basicSchool.setDefaultSchool(defaultSchool);
+        basicSchool.setHasPaperNumber(hasPaperNumber);
 
         // 清除学校缓存
         commonCacheService.removeSchoolCache(basicSchool.getCode());

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

@@ -19,7 +19,7 @@ import com.qmth.teachcloud.common.bean.params.BasicClazzParams;
 import com.qmth.teachcloud.common.bean.params.BasicMajorParams;
 import com.qmth.teachcloud.common.bean.params.BasicStudentExtrasParam;
 import com.qmth.teachcloud.common.bean.params.BasicStudentParams;
-import com.qmth.teachcloud.common.bean.result.BasicStudentResult;
+import com.qmth.teachcloud.common.bean.result.BasicExamStudentResult;
 import com.qmth.teachcloud.common.bean.vo.FilePathVo;
 import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.entity.*;
@@ -76,7 +76,7 @@ public class BasicStudentServiceImpl extends ServiceImpl<BasicStudentMapper, Bas
 
 
     @Override
-    public IPage<BasicStudentResult> basicStudentPage(String queryParams, Long collegeId, Long majorId, Long clazzId, int pageNumber, int pageSize) {
+    public IPage<BasicExamStudentResult> basicStudentPage(String queryParams, Long collegeId, Long majorId, Long clazzId, int pageNumber, int pageSize) {
         Long schoolId = SystemConstant.convertIdToLong(ServletUtil.getRequestHeaderSchoolId().toString());
         SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
         DataPermissionRule dpr = basicRoleDataPermissionService.findDataPermission(schoolId, requestUser.getId(), ServletUtil.getRequest().getServletPath());
@@ -85,8 +85,8 @@ public class BasicStudentServiceImpl extends ServiceImpl<BasicStudentMapper, Bas
     }
 
     @Override
-    public BasicStudentResult findById(Long id) {
-        BasicStudentResult basicStudentResult = null;
+    public BasicExamStudentResult findById(Long id) {
+        BasicExamStudentResult basicStudentResult = null;
         if (SystemConstant.longNotNull(id)) {
             basicStudentResult = this.baseMapper.findById(id);
         }
@@ -94,7 +94,7 @@ public class BasicStudentServiceImpl extends ServiceImpl<BasicStudentMapper, Bas
     }
 
     @Override
-    public List<BasicStudentResult> basicStudentList(Long schoolId, Long examId, List<String> studentCodeList) {
+    public List<BasicExamStudentResult> basicStudentList(Long schoolId, Long examId, List<String> studentCodeList) {
         return this.baseMapper.findBasicStudentList(schoolId, examId, studentCodeList);
     }
 

+ 3 - 3
teachcloud-common/src/main/resources/mapper/BasicStudentMapper.xml

@@ -32,7 +32,7 @@
     </select>
 
     <select id="findBasicStudentPage"
-            resultType="com.qmth.teachcloud.common.bean.result.BasicStudentResult">
+            resultType="com.qmth.teachcloud.common.bean.result.BasicExamStudentResult">
         SELECT
             stu.id,
             student_name AS studentName,
@@ -86,7 +86,7 @@
         </where>
         ORDER BY stu.create_time DESC
     </select>
-    <select id="findById" resultType="com.qmth.teachcloud.common.bean.result.BasicStudentResult">
+    <select id="findById" resultType="com.qmth.teachcloud.common.bean.result.BasicExamStudentResult">
         SELECT
             stu.id,
             stu.student_name AS studentName,
@@ -107,7 +107,7 @@
             </if>
         </where>
     </select>
-    <select id="findBasicStudentList" resultType="com.qmth.teachcloud.common.bean.result.BasicStudentResult">
+    <select id="findBasicStudentList" resultType="com.qmth.teachcloud.common.bean.result.BasicExamStudentResult">
         SELECT
             stu.id,
             stu.student_name AS studentName,