Browse Source

3.3.0 update

xiaofei 1 year ago
parent
commit
728dee37fb
20 changed files with 168 additions and 244 deletions
  1. 55 48
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/entity/ExamStudent.java
  2. 4 4
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/enums/RequiredFieldsEnum.java
  3. 0 4
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/ExamDetailCourseMapper.java
  4. 0 2
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/ExamDetailCourseService.java
  5. 0 3
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/ExamPrintPlanService.java
  6. 3 2
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/PrintCommonService.java
  7. 0 1
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/BasicExamServiceImpl.java
  8. 4 23
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamDetailCourseServiceImpl.java
  9. 6 28
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamPrintPlanServiceImpl.java
  10. 1 1
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamTaskServiceImpl.java
  11. 3 2
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/PrintCommonServiceImpl.java
  12. 2 2
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/util/CreatePdfUtil.java
  13. 0 62
      distributed-print-business/src/main/resources/mapper/ExamDetailCourseMapper.xml
  14. 88 0
      distributed-print/install/mysql/upgrade/3.3.0.sql
  15. 2 2
      distributed-print/src/main/resources/application.properties
  16. 0 13
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/entity/BasicExam.java
  17. 0 29
      teachcloud-task/src/main/java/com/qmth/teachcloud/task/job/AutoSyncStudentJob.java
  18. 0 5
      teachcloud-task/src/main/java/com/qmth/teachcloud/task/job/service/JobService.java
  19. 0 5
      teachcloud-task/src/main/java/com/qmth/teachcloud/task/job/service/impl/JobServiceImpl.java
  20. 0 8
      teachcloud-task/src/main/java/com/qmth/teachcloud/task/start/StartRunning.java

+ 55 - 48
distributed-print-business/src/main/java/com/qmth/distributed/print/business/entity/ExamStudent.java

@@ -49,6 +49,9 @@ public class ExamStudent extends BaseEntity implements Serializable {
     @TableField("paper_number")
     private String paperNumber;
 
+    @TableField("course_paper_id")
+    private String coursePaperId;
+
     @TableField("ticket_number")
     private String ticketNumber;
 
@@ -119,18 +122,6 @@ public class ExamStudent extends BaseEntity implements Serializable {
         this.orgId = orgId;
     }
 
-    public static long getSerialVersionUID() {
-        return serialVersionUID;
-    }
-
-    public Long getAttachmentId() {
-        return attachmentId;
-    }
-
-    public void setAttachmentId(Long attachmentId) {
-        this.attachmentId = attachmentId;
-    }
-
     public Long getExamDetailCourseId() {
         return examDetailCourseId;
     }
@@ -155,6 +146,30 @@ public class ExamStudent extends BaseEntity implements Serializable {
         this.studentCode = studentCode;
     }
 
+    public Long getExamId() {
+        return examId;
+    }
+
+    public void setExamId(Long examId) {
+        this.examId = examId;
+    }
+
+    public String getPaperNumber() {
+        return paperNumber;
+    }
+
+    public void setPaperNumber(String paperNumber) {
+        this.paperNumber = paperNumber;
+    }
+
+    public String getCoursePaperId() {
+        return coursePaperId;
+    }
+
+    public void setCoursePaperId(String coursePaperId) {
+        this.coursePaperId = coursePaperId;
+    }
+
     public String getTicketNumber() {
         return ticketNumber;
     }
@@ -203,36 +218,36 @@ public class ExamStudent extends BaseEntity implements Serializable {
         this.paperType = paperType;
     }
 
-    public String getClazzId() {
-        return clazzId;
+    public String getCollegeName() {
+        return collegeName;
     }
 
-    public void setClazzId(String clazzId) {
-        this.clazzId = clazzId;
+    public void setCollegeName(String collegeName) {
+        this.collegeName = collegeName;
     }
 
-    public String getClazzName() {
-        return clazzName;
+    public String getMajorName() {
+        return majorName;
     }
 
-    public void setClazzName(String clazzName) {
-        this.clazzName = clazzName;
+    public void setMajorName(String majorName) {
+        this.majorName = majorName;
     }
 
-    public Boolean getSyncStatus() {
-        return syncStatus;
+    public String getClazzId() {
+        return clazzId;
     }
 
-    public void setSyncStatus(Boolean syncStatus) {
-        this.syncStatus = syncStatus;
+    public void setClazzId(String clazzId) {
+        this.clazzId = clazzId;
     }
 
-    public String getCampusName() {
-        return campusName;
+    public String getClazzName() {
+        return clazzName;
     }
 
-    public void setCampusName(String campusName) {
-        this.campusName = campusName;
+    public void setClazzName(String clazzName) {
+        this.clazzName = clazzName;
     }
 
     public Long getTeachClazzId() {
@@ -259,35 +274,27 @@ public class ExamStudent extends BaseEntity implements Serializable {
         this.studentClazzType = studentClazzType;
     }
 
-    public String getCollegeName() {
-        return collegeName;
-    }
-
-    public void setCollegeName(String collegeName) {
-        this.collegeName = collegeName;
-    }
-
-    public String getMajorName() {
-        return majorName;
+    public String getCampusName() {
+        return campusName;
     }
 
-    public void setMajorName(String majorName) {
-        this.majorName = majorName;
+    public void setCampusName(String campusName) {
+        this.campusName = campusName;
     }
 
-    public Long getExamId() {
-        return examId;
+    public Long getAttachmentId() {
+        return attachmentId;
     }
 
-    public void setExamId(Long examId) {
-        this.examId = examId;
+    public void setAttachmentId(Long attachmentId) {
+        this.attachmentId = attachmentId;
     }
 
-    public String getPaperNumber() {
-        return paperNumber;
+    public Boolean getSyncStatus() {
+        return syncStatus;
     }
 
-    public void setPaperNumber(String paperNumber) {
-        this.paperNumber = paperNumber;
+    public void setSyncStatus(Boolean syncStatus) {
+        this.syncStatus = syncStatus;
     }
 }

+ 4 - 4
distributed-print-business/src/main/java/com/qmth/distributed/print/business/enums/RequiredFieldsEnum.java

@@ -12,19 +12,19 @@ import java.util.List;
 public enum RequiredFieldsEnum {
 
     STUDENT_CODE("studentCode", "学号", true, true),
-    TICKET_NUMBER("ticketNumber", "考号", false, false),
+//    TICKET_NUMBER("ticketNumber", "考号", false, false),
     SITE_NUMBER("siteNumber", "座位号", false, false),
     STUDENT_NAME("studentName","姓名", true, true),
     COURSE_CODE("courseCode","课程代码", true, true),
     COURSE_NAME("courseName","课程名称", true, true),
     PAPER_NUMBER("paperNumber","试卷编号", true, true),
-    EXAM_PLACE("examPlace","考点", true, true),
-    EXAM_ROOM("examRoom","考", true, true),
+    EXAM_PLACE("examPlace","校区", true, true),
+    EXAM_ROOM("examRoom","考试教室", true, true),
     EXAM_DATE("examDate","考试日期", true, true),
     EXAM_TIME("examTime","考试时间", true, true),
     COLLEGE_NAME("collegeName","学院", false, false),
     MAJOR_NAME("majorName","专业", false, false),
-    CLAZZ_NAME("clazzName","班级", false, false),;
+    CLAZZ_NAME("clazzName","班级", true, true),;
 
 
     private final String code;

+ 0 - 4
distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/ExamDetailCourseMapper.java

@@ -6,8 +6,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.qmth.distributed.print.business.bean.dto.ExamDetailCourseDto;
 import com.qmth.distributed.print.business.bean.dto.SyncExamTaskDto;
 import com.qmth.distributed.print.business.entity.ExamDetailCourse;
-import com.qmth.distributed.print.business.enums.ExamTaskSyncStatusEnum;
-import com.qmth.distributed.print.business.enums.SyncCardTypeEnum;
 import com.qmth.teachcloud.common.bean.result.TbTaskDetailResult;
 import com.qmth.teachcloud.common.entity.BasicCourse;
 import org.apache.ibatis.annotations.Param;
@@ -43,8 +41,6 @@ public interface ExamDetailCourseMapper extends BaseMapper<ExamDetailCourse> {
 
     List<ExamDetailCourse> listExamDetailByExamIdAndPaperNumber(@Param("schoolId") Long schoolId, @Param("examId") Long examId, @Param("paperNumber") String paperNumber);
 
-    List<SyncExamTaskDto> listSyncCourseByExamId(@Param("schoolId") Long schoolId, @Param("examId") Long examId);
-
     TbTaskDetailResult getByExamDetailId(Long examDetailId);
 
     List<String> listPaperNumberByPrintPlanId(@Param("param") String param, @Param("printPlanIdList") List<Long> printPlanIdList, @Param("orgIds") Set<Long> orgIds);

+ 0 - 2
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/ExamDetailCourseService.java

@@ -42,8 +42,6 @@ public interface ExamDetailCourseService extends IService<ExamDetailCourse> {
 
     List<ExamDetailCourse> listExamDetailByExamIdAndPaperNumber(Long schoolId, Long examId, String paperNumber);
 
-    List<SyncExamTaskDto> listSyncCourseByExamId(Long schoolId, Long examId);
-
     TbTaskDetailResult getByExamDetailId(Long examDetailId);
 
     List<String> listPaperNumberByPrintPlanId(String param, List<Long> printPlanIdList, Set<Long> orgIds);

+ 0 - 3
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/ExamPrintPlanService.java

@@ -10,7 +10,6 @@ import com.qmth.distributed.print.business.bean.params.SyncDataParam;
 import com.qmth.distributed.print.business.bean.result.PrintPlanBrief;
 import com.qmth.distributed.print.business.bean.result.PrintPlanResult;
 import com.qmth.distributed.print.business.entity.ExamPrintPlan;
-import com.qmth.distributed.print.business.enums.ExamTaskSyncStatusEnum;
 import com.qmth.distributed.print.business.enums.PrintPlanStatusEnum;
 
 import java.util.List;
@@ -116,7 +115,5 @@ public interface ExamPrintPlanService extends IService<ExamPrintPlan> {
 
     void checkSyncMode(SyncDataParam syncDataParam);
 
-    void autoSyncStudent();
-
     void updateAttachmentIdByTemplateId(Long templateId, Long attachmentId);
 }

+ 3 - 2
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/PrintCommonService.java

@@ -10,6 +10,7 @@ import com.qmth.distributed.print.business.bean.params.ExamTaskStudentObjectPara
 import com.qmth.distributed.print.business.bean.params.SerialNumberParams;
 import com.qmth.distributed.print.business.entity.ExamDetail;
 import com.qmth.distributed.print.business.entity.ExamStudent;
+import com.qmth.distributed.print.business.entity.ExamTask;
 import com.qmth.teachcloud.common.entity.BasicAttachment;
 import com.qmth.teachcloud.common.entity.BasicCourse;
 import com.qmth.teachcloud.common.entity.SysOrg;
@@ -224,14 +225,14 @@ public interface PrintCommonService {
      * 根据学生集合创建考生考务数据
      *
      * @param schoolId                       学校id
-     * @param paperNumber                    试卷编号
+     * @param examTask                       命题任务
      * @param extendFields                   扩展字段
      * @param examTaskStudentObjectParamList 学生参数集合
      * @param examDetailCourseId             考察表id
      * @param sysUser                        请求用户
      * @return 结果
      */
-    List<ExamStudent> createBatchStudentByStudentList(Long schoolId, Long examId, String semesterId, String paperNumber, String extendFields, List<ExamTaskStudentObjectParam> examTaskStudentObjectParamList, Long examDetailCourseId, Long cardRuleId, SysUser sysUser);
+    List<ExamStudent> createBatchStudentByStudentList(Long schoolId, Long examId, String semesterId, ExamTask examTask, String extendFields, List<ExamTaskStudentObjectParam> examTaskStudentObjectParamList, Long examDetailCourseId, Long cardRuleId, SysUser sysUser);
 
     /**
      * 生成准考证号

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

@@ -71,7 +71,6 @@ public class BasicExamServiceImpl extends ServiceImpl<BasicExamMapper, BasicExam
                     .eq(BasicExam::getId, id)
                     .set(BasicExam::getSemesterId, basicExam.getSemesterId())
                     .set(BasicExam::getName, basicExam.getName())
-                    .set(BasicExam::getAutoSyncStudent, basicExam.getAutoSyncStudent())
                     .set(BasicExam::getCategory, basicExam.getCategory())
                     .set(BasicExam::getExamModel, basicExam.getExamModel())
                     .set(BasicExam::getUpdateId, sysUser.getId())

+ 4 - 23
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamDetailCourseServiceImpl.java

@@ -9,10 +9,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qmth.distributed.print.business.bean.dto.ExamDetailCourseDto;
 import com.qmth.distributed.print.business.bean.dto.SyncExamTaskDto;
-import com.qmth.distributed.print.business.entity.ExamCard;
 import com.qmth.distributed.print.business.entity.ExamDetailCourse;
-import com.qmth.distributed.print.business.entity.ExamTaskDetail;
-import com.qmth.distributed.print.business.enums.*;
+import com.qmth.distributed.print.business.enums.CardTypeEnum;
+import com.qmth.distributed.print.business.enums.ExamDetailStatusEnum;
+import com.qmth.distributed.print.business.enums.ExamStatusEnum;
+import com.qmth.distributed.print.business.enums.SyncCardTypeEnum;
 import com.qmth.distributed.print.business.mapper.ExamDetailCourseMapper;
 import com.qmth.distributed.print.business.service.ExamCardService;
 import com.qmth.distributed.print.business.service.ExamDetailCourseService;
@@ -152,26 +153,6 @@ public class ExamDetailCourseServiceImpl extends ServiceImpl<ExamDetailCourseMap
         return this.baseMapper.listExamDetailByExamIdAndPaperNumber(schoolId, examId, paperNumber);
     }
 
-    @Override
-    public List<SyncExamTaskDto> listSyncCourseByExamId(Long schoolId, Long examId) {
-        List<SyncExamTaskDto> syncExamTaskDtoList = this.baseMapper.listSyncCourseByExamId(schoolId, examId);
-        // 顶级机构
-        SysOrg rootOrg = sysOrgService.findRootOrg(schoolId);
-        for (SyncExamTaskDto examTaskDto : syncExamTaskDtoList) {
-            List<SysOrg> sysOrgList = sysOrgService.findByConnectByParentId(Long.valueOf(examTaskDto.getTeachingRoomId()), false, false);
-            if (!sysOrgList.isEmpty()) {
-                Optional<SysOrg> optionalSysOrg = sysOrgList.stream().filter(m -> rootOrg.getId().equals(m.getParentId())).findFirst();
-                if (optionalSysOrg.isPresent()) {
-                    SysOrg collegeOrg = optionalSysOrg.get();
-                    examTaskDto.setCollegeId(String.valueOf(collegeOrg.getId()));
-                    examTaskDto.setCollegeCode(collegeOrg.getCode());
-                    examTaskDto.setCollegeName(collegeOrg.getName());
-                }
-            }
-        }
-        return syncExamTaskDtoList;
-    }
-
     @Override
     public TbTaskDetailResult getByExamDetailId(Long examDetailId) {
         return this.baseMapper.getByExamDetailId(examDetailId);

+ 6 - 28
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamPrintPlanServiceImpl.java

@@ -14,21 +14,23 @@ import com.qmth.distributed.print.business.bean.result.PrintPlanBrief;
 import com.qmth.distributed.print.business.bean.result.PrintPlanResult;
 import com.qmth.distributed.print.business.bean.result.TemplatePrintInfoResult;
 import com.qmth.distributed.print.business.entity.*;
-import com.qmth.distributed.print.business.enums.*;
+import com.qmth.distributed.print.business.enums.ExamDetailStatusEnum;
+import com.qmth.distributed.print.business.enums.PrintPlanStatusEnum;
 import com.qmth.distributed.print.business.mapper.ExamPrintPlanMapper;
 import com.qmth.distributed.print.business.service.*;
 import com.qmth.distributed.print.business.templete.execute.AsyncCloudMarkingTaskService;
 import com.qmth.teachcloud.common.bean.dto.DataPermissionRule;
 import com.qmth.teachcloud.common.contant.SystemConstant;
-import com.qmth.teachcloud.common.entity.*;
-import com.qmth.teachcloud.common.enums.CardCreateMethodEnum;
+import com.qmth.teachcloud.common.entity.BasicAttachment;
+import com.qmth.teachcloud.common.entity.BasicSchool;
+import com.qmth.teachcloud.common.entity.SysOrg;
+import com.qmth.teachcloud.common.entity.SysUser;
 import com.qmth.teachcloud.common.enums.ClassifyEnum;
 import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
 import com.qmth.teachcloud.common.service.*;
 import com.qmth.teachcloud.common.sync.CloudMarkingTaskUtils;
 import com.qmth.teachcloud.common.util.ServletUtil;
 import org.apache.commons.lang3.StringUtils;
-import org.redisson.api.mapreduce.RCollator;
 import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -515,30 +517,6 @@ public class ExamPrintPlanServiceImpl extends ServiceImpl<ExamPrintPlanMapper, E
         }
     }
 
-    @Override
-    public void autoSyncStudent() {
-        // 查询需要自动同步的考试
-        QueryWrapper<BasicExam> queryWrapper = new QueryWrapper<>();
-        queryWrapper.lambda().eq(BasicExam::getEnable, true) // 未禁用
-                .eq(BasicExam::getAutoSyncStudent, true) // 开启自动同步考务数据
-                .orderByAsc(BasicExam::getSchoolId)
-                .orderByAsc(BasicExam::getId);
-        List<BasicExam> basicExamList = basicExamService.list(queryWrapper);
-        if (!CollectionUtils.isEmpty(basicExamList)) {
-            for (BasicExam basicExam : basicExamList) {
-                List<SyncExamTaskDto> syncExamTasks = examDetailCourseService.listSyncCourseByExamId(basicExam.getSchoolId(), basicExam.getId());
-                if (!CollectionUtils.isEmpty(syncExamTasks)) {
-                    BasicSemester basicSemester = basicSemesterService.getById(basicExam.getSemesterId());
-                    SyncDataParam syncDataParam = new SyncDataParam();
-                    syncDataParam.setThirdRelateName(basicSemester.getName() + "-" + basicExam.getName());
-                    syncDataParam.setExamTime(System.currentTimeMillis());
-                    syncDataParam.setList(syncExamTasks);
-                    asyncCloudMarkingTaskService.syncExamAndStudentAndCard(basicExam.getSchoolId(), syncDataParam);
-                }
-            }
-        }
-    }
-
     @Override
     public void updateAttachmentIdByTemplateId(Long templateId, Long attachmentId) {
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());

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

@@ -1452,7 +1452,7 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
 
                         // 更新实际考生数量
                         List<ExamTaskStudentObjectParam> examTaskStudentObjectParamList = examDetailList.getExamTaskStudentObjectParamList();
-                        List<ExamStudent> examStudents = printCommonService.createBatchStudentByStudentList(schoolId, examPrintPlan.getExamId(), basicExam.getSemesterId(), paperNumber, examDetailList.getExtendFields(), examTaskStudentObjectParamList, examDetailCourse.getId(), basicPrintConfig.getCardRuleId(), sysUser);
+                        List<ExamStudent> examStudents = printCommonService.createBatchStudentByStudentList(schoolId, examPrintPlan.getExamId(), basicExam.getSemesterId(), examTask, examDetailList.getExtendFields(), examTaskStudentObjectParamList, examDetailCourse.getId(), basicPrintConfig.getCardRuleId(), sysUser);
 
                         Set<String> classNameSet = new HashSet<>();
                         for (ExamStudent examStudent : examStudents) {

+ 3 - 2
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/PrintCommonServiceImpl.java

@@ -1048,7 +1048,7 @@ public class PrintCommonServiceImpl implements PrintCommonService {
 
     @Transactional(rollbackFor = Exception.class)
     @Override
-    public List<ExamStudent> createBatchStudentByStudentList(Long schoolId, Long examId, String semesterId, String paperNumber, String extendFields, List<ExamTaskStudentObjectParam> examTaskStudentObjectParamList, Long examDetailCourseId, Long cardRuleId, SysUser sysUser) {
+    public List<ExamStudent> createBatchStudentByStudentList(Long schoolId, Long examId, String semesterId, ExamTask examTask, String extendFields, List<ExamTaskStudentObjectParam> examTaskStudentObjectParamList, Long examDetailCourseId, Long cardRuleId, SysUser sysUser) {
         AtomicInteger atomicInteger = new AtomicInteger(1);
         BasicCardRule basicCardRule = basicCardRuleService.getById(cardRuleId);
 
@@ -1095,7 +1095,8 @@ public class PrintCommonServiceImpl implements PrintCommonService {
             examStudent.setStudentName(basicStudentResult.getStudentName());
             examStudent.setStudentCode(basicStudentResult.getStudentCode());
             examStudent.setExamId(examId);
-            examStudent.setPaperNumber(paperNumber);
+            examStudent.setPaperNumber(examTask.getPaperNumber());
+            examStudent.setCoursePaperId(examTask.getCourseCode().concat(examTask.getSequence()));
             examStudent.setCollegeName(basicStudentResult.getCollegeName());
             examStudent.setMajorName(basicStudentResult.getMajorName());
             examStudent.setTicketNumber(createTicketNumber(examStudentTicketNumberList, schoolId, basicCardRule == null ? null : basicCardRule.getExamNumberDigit()));

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

@@ -1295,8 +1295,8 @@ public class CreatePdfUtil {
         // 生成学生考号条码并将图片转成base64
         studentHtml = studentHtml.replaceAll("\\$\\{studentCodeBarcode\\}", examStudent != null && examStudent.getStudentCode() != null ? GoogleBarCodeUtil.createBarCode(examStudent.getStudentCode(), false) : "");
         studentHtml = studentHtml.replaceAll("\\$\\{ticketNumberBarcode\\}", examStudent != null && examStudent.getTicketNumber() != null ? GoogleBarCodeUtil.createBarCode(examStudent.getTicketNumber(), false) : "");
-        studentHtml = studentHtml.replaceAll("\\$\\{examNumber\\}", examStudent != null && examStudent.getTicketNumber() != null ? GoogleBarCodeUtil.createBarCode(examStudent.getTicketNumber(), false) : "");
-        studentHtml = studentHtml.replaceAll("\\$\\{examNumberStr\\}", examStudent != null && examStudent.getTicketNumber() != null ? examStudent.getTicketNumber() : "");
+        studentHtml = studentHtml.replaceAll("\\$\\{examNumber\\}", examStudent != null && examStudent.getStudentCode() != null ? GoogleBarCodeUtil.createBarCode(examStudent.getStudentCode(), false) : "");
+        studentHtml = studentHtml.replaceAll("\\$\\{examNumberStr\\}", examStudent != null && examStudent.getStudentCode() != null ? examStudent.getStudentCode() : "");
         // 随机生成学生试卷条码并将图片转成base64
         studentHtml = studentHtml.replaceAll("\\$\\{paperType\\}", examStudent != null && examStudent.getPaperType() != null ? GoogleBarCodeUtil.createBarCode(SystemConstant.convertPaperType(examStudent.getPaperType()), false) : StringUtils.isNotBlank(paperType) ? GoogleBarCodeUtil.createBarCode(SystemConstant.convertPaperType(paperType), false) : "");
         // 替换考生卷型

+ 0 - 62
distributed-print-business/src/main/resources/mapper/ExamDetailCourseMapper.xml

@@ -320,68 +320,6 @@
                         AND ed.school_id = #{schoolId}
                         AND ed.exam_id = #{examId})
     </select>
-    <select id="listSyncCourseByExamId"
-            resultType="com.qmth.distributed.print.business.bean.dto.SyncExamTaskDto">
-        SELECT
-            et.id examTaskId,
-            et.course_code courseCode,
-            et.course_name courseName,
-            et.paper_number paperNumber,
-            t.paper_type paperType,
-            t.print_plan_ids printPlanIds,
-            ets.third_relate_id thirdRelateId,
-            tsse.exam_name thirdRelateName,
-            ets.sync_status syncStatus,
-            bc.teaching_room_id teachingRoomId
-        FROM
-            exam_task et
-                JOIN
-            (SELECT
-                 b.school_id,
-                 c.exam_id,
-                 b.paper_number,
-                 b.paper_type,
-                 GROUP_CONCAT(c.print_plan_id) print_plan_ids
-             FROM
-                 exam_detail_course b
-                     LEFT JOIN exam_detail c ON b.exam_detail_id = c.id
-             WHERE
-                 c.exam_id = #{examId}
-               AND c.status = 'FINISH'
-             GROUP BY b.school_id , c.exam_id , b.paper_number , b.paper_type) t ON t.school_id = et.school_id
-                AND t.exam_id = et.exam_id
-                AND t.paper_number = et.paper_number
-                LEFT JOIN
-            (SELECT
-                 a.school_id,
-                 a.exam_id,
-                 a.paper_number,
-                 a.org_code,
-                 a.third_relate_id,
-                 a.total_paper_type,
-                 CASE
-                     WHEN LOCATE('STARTING', GROUP_CONCAT(DISTINCT a.sync_status)) THEN 'STARTING'
-                     WHEN LOCATE('FAIL', GROUP_CONCAT(DISTINCT a.sync_status)) THEN 'FAIL'
-                     WHEN LOCATE('FINISH', GROUP_CONCAT(DISTINCT a.sync_status)) THEN 'FINISH'
-                     END sync_status
-             FROM
-                 exam_task_sync a
-             WHERE
-                 a.exam_id = #{examId}
-             GROUP BY a.school_id , a.exam_id , a.paper_number , a.org_code , a.third_relate_id , a.total_paper_type) ets ON et.school_id = ets.school_id
-                AND et.exam_id = ets.exam_id
-                AND et.paper_number = ets.paper_number
-                AND t.paper_type = ets.total_paper_type
-                LEFT JOIN
-            t_sync_stmms_exam tsse ON ets.school_id = tsse.school_id
-                AND ets.third_relate_id = tsse.exam_id
-                LEFT JOIN
-            basic_course bc ON et.school_id = bc.school_id
-                AND et.course_code = bc.code
-        WHERE
-            ets.sync_status != 'FINISH'
-        ORDER BY et.create_time DESC
-    </select>
     <select id="getByExamDetailId" resultType="com.qmth.teachcloud.common.bean.result.TbTaskDetailResult">
         SELECT
             be.semester_id semesterId,

+ 88 - 0
distributed-print/install/mysql/upgrade/3.3.0.sql

@@ -0,0 +1,88 @@
+ALTER TABLE `exam_student` ADD COLUMN `course_paper_id` VARCHAR(45) NULL COMMENT '试卷编号(交互)' AFTER `paper_number`;
+
+ALTER TABLE `sys_user` ADD COLUMN `ui_setting` TEXT NULL COMMENT '阅卷参数' AFTER `historic_name`;
+
+ALTER TABLE `basic_exam` DROP COLUMN `auto_sync_student`;
+
+UPDATE `sys_privilege` SET `name` = '评卷管理' WHERE (`id` = '483');
+UPDATE `sys_privilege` SET `name` = '评卷管理' WHERE (`id` = '486');
+UPDATE `sys_privilege` SET `name` = '评卷入口' WHERE (`id` = '491');
+UPDATE `sys_privilege` SET `parent_id` = '897', `sequence` = '3' WHERE (`id` = '495');
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES ('884', '列表', 'List', 'LIST', '491', '1', 'AUTH', '887', '1', '0', '1');
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES ('886', '点击评卷', 'Marking', 'LINK', '491', '3', 'AUTH', '888,889,890,891,892,893,894,895,896', '1', '0', '1');
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES ('885', '查询', 'Select', 'BUTTON', '491', '2', 'AUTH', '887', '1', '0', '1');
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('887', '查询', '/api/admin/mark/entrance/list', 'URL', '491', '1', 'AUTH', '1', '1', '1');
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('888', '评卷页面', '/api/mark/getSetting', 'URL', '491', '2', 'AUTH', '1', '1', '1');
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('889', '获取分组列表', '/api/mark/getGroup', 'URL', '491', '3', 'AUTH', '1', '1', '1');
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('890', '获取评卷状态', '/api/mark/getStatus', 'URL', '491', '4', 'AUTH', '1', '1', '1');
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('891', '获取任务', '/api/mark/getTask', 'URL', '491', '5', 'AUTH', '1', '1', '1');
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('892', '保存任务', '/api/mark/saveTask', 'URL', '491', '6', 'AUTH', '1', '1', '1');
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('893', '获取评卷历史', '/api/mark/getHistory', 'URL', '491', '7', 'AUTH', '1', '1', '1');
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('894', '更新个人评卷配置', '/api/mark/updateSetting', 'URL', '491', '8', 'AUTH', '1', '1', '1');
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('895', '选择评卷分组', '/api/mark/subjectSelect', 'URL', '491', '9', 'AUTH', '1', '1', '1');
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('896', '清理评卷员的评卷任务缓存', '/api/mark/clear', 'URL', '491', '10', 'AUTH', '1', '1', '1');
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('897', '评卷设置', 'MarkSetting', 'MENU', '486', '2', 'AUTH', '1', '0', '1');
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES ('898', '列表', 'List', 'LIST', '897', '1', 'AUTH', '900', '1', '0', '1');
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES ('899', '查询', 'Select', 'BUTTON', '897', '2', 'AUTH', '900', '1', '0', '1');
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES ('901', '评卷参数设置', 'MarkParamSetting', 'LINK', '897', '3', 'AUTH', '902,903,904,905,906,907,908,909,910,911,912,913', '1', '0', '1');
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('902', '结构查询', '/api/admin/mark/structure/list', 'URL', '897', '1', 'AUTH', '1', '1', '1');
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('903', '结构提交', '/api/admin/mark/structure/save', 'URL', '897', '2', 'AUTH', '1', '1', '1');
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('904', '评卷任务查询', '/api/admin/mark/group/list', 'URL', '897', '3', 'AUTH', '1', '1', '1');
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('905', '评卷任务提交', '/api/admin/mark/group/save', 'URL', '897', '4', 'AUTH', '1', '1', '1');
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('906', '评卷任务修改', '/api/admin/mark/group/update', 'URL', '897', '5', 'AUTH', '1', '1', '1');
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('907', '评卷任务删除', '/api/admin/mark/group/delete', 'URL', '897', '6', 'AUTH', '1', '1', '1');
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('908', '分班阅查询', '/api/admin/mark/class/list', 'URL', '897', '7', 'AUTH', '1', '1', '1');
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('909', '分班阅提交', '/api/admin/mark/class/save', 'URL', '897', '8', 'AUTH', '1', '1', '1');
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('910', '客观题标答查询', '/api/admin/mark/objective/list', 'URL', '897', '9', 'AUTH', '1', '1', '1');
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('911', '客观题标答提交', '/api/admin/mark/objective/save', 'URL', '897', '10', 'AUTH', '1', '1', '1');
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('912', '主观题标答查询', '/api/admin/mark/subjective/list', 'URL', '897', '11', 'AUTH', '1', '1', '1');
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('913', '主观题标答提交', '/api/admin/mark/subjective/save', 'URL', '897', '12', 'AUTH', '1', '1', '1');
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('900', '查询', '/api/admin/mark/setting/summary', 'URL', '897', '1', 'AUTH', '1', '1', '1');
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES ('914', '评卷设置', 'MarkConfig', 'LINK', '897', '4', 'AUTH', '915,916', '1', '1', '1');
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('915', '数据获取', '/api/admin/mark/config/get', 'URL', '897', '13', 'AUTH', '1', '1', '1');
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('916', '数据保存', '/api/admin/mark/config/save', 'URL', '897', '14', 'AUTH', '1', '1', '1');
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('917', '评卷管理', 'MarkManage', 'MENU', '486', '3', 'AUTH', '1', '0', '1');
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES ('918', '列表', 'List', 'LIST', '917', '1', 'AUTH', '925', '1', '0', '1');
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES ('919', '查询', 'Select', 'BUTTON', '917', '2', 'AUTH', '925', '1', '0', '1');
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('920', '查询条件', 'Condition', 'CONDITION', '917', '3', 'AUTH', '1', '0', '1');
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('921', '查询条件', 'Condition', 'CONDITION', '491', '3', 'AUTH', '1', '0', '1');
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('922', '查询条件', 'Condition', 'CONDITION', '897', '3', 'AUTH', '1', '0', '1');
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES ('923', '导出评卷工作量', 'Export', 'BUTTON', '917', '4', 'AUTH', '926', '1', '0', '1');
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES ('924', '结束评卷', 'BatchFinish', 'BUTTON', '917', '5', 'AUTH', '927', '1', '0', '1');
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('925', '列表获取', '/api/admin/mark/setting/summary', 'URL', '917', '1', 'AUTH', '1', '1', '1');
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('926', '导出评卷员工作量', '/api/admin/mark/exportMarker', 'URL', '917', '2', 'AUTH', '1', '1', '1');
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('927', '结束评卷', '/api/admin/mark/exam/finish', 'URL', '917', '3', 'AUTH', '1', '1', '1');
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('928', '进度列表查询', '/api/admin/mark/group/summary', 'URL', '917', '4', 'AUTH', '1', '1', '1');
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('929', '评卷员管理列表查询', '/api/admin/mark/marker/list', 'URL', '917', '5', 'AUTH', '1', '1', '1');
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('930', '重置', '/api/admin/mark/marker/reset', 'URL', '917', '6', 'AUTH', '1', '1', '1');
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('931', '解绑', '/api/admin/mark/marker/delete', 'URL', '917', '7', 'AUTH', '1', '1', '1');
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('932', '回收', '/api/admin/mark/marker/release', 'URL', '917', '8', 'AUTH', '1', '1', '1');
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('933', '设置评卷数', '/api/admin/mark/marker/setTaskCount', 'URL', '917', '9', 'AUTH', '1', '1', '1');
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('934', '评卷质量查询', '/api/admin/mark/quality/list', 'URL', '917', '10', 'AUTH', '1', '1', '1');
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('935', '问题试卷列表查询', '/api/admin/mark/problem/list', 'URL', '917', '11', 'AUTH', '1', '1', '1');
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('936', '问题试卷重置', '/api/admin/mark/problem/reset', 'URL', '917', '12', 'AUTH', '1', '1', '1');
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('937', '仲裁管理列表查询', '/api/admin/mark/arbitrate/list', 'URL', '917', '13', 'AUTH', '1', '1', '1');
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('938', '仲裁-获取任务', '/api/admin/mark/arbitrate/getTask', 'URL', '917', '14', 'AUTH', '1', '1', '1');
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('939', '仲裁-左边的列表', '/api/admin/mark/arbitrate/getArbitrationList', 'URL', '917', '15', 'AUTH', '1', '1', '1');
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('940', '仲裁-清理锁卷缓存', '/api/admin/mark/arbitrate/clear', 'URL', '917', '16', 'AUTH', '1', '1', '1');
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('941', '仲裁-获取评卷状态', '/api/admin/mark/arbitrate/getStatus', 'URL', '917', '17', 'AUTH', '1', '1', '1');
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('942', '仲裁-获取配置信息', '/api/admin/mark/arbitrate/getSetting', 'URL', '917', '18', 'AUTH', '1', '1', '1');
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('943', '仲裁-保存任务', '/api/admin/mark/arbitrate/saveTask', 'URL', '917', '19', 'AUTH', '1', '1', '1');
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES ('944', '查看详情', 'Detail', 'LINK', '917', '6', 'AUTH', '928,929,930,931,932,933,934,935,936,937,938,939,940,941,942,943', '1', '0', '1');
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES ('945', '结束评卷', 'Finish', 'LINK', '917', '7', 'AUTH', '927', '1', '0', '1');
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('946', '成绩检查', 'CheckScore', 'MENU', '486', '4', 'AUTH', '1', '0', '1');
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES ('947', '列表', 'List', 'LIST', '946', '1', 'AUTH', '952', '1', '0', '1');
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('948', '查询条件', 'Condition', 'CONDITION', '946', '2', 'AUTH', '1', '0', '1');
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES ('949', '查询', 'Select', 'BUTTON', '946', '3', 'AUTH', '952', '1', '0', '1');
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES ('950', '查看详情', 'Detail', 'LINK', '946', '4', 'AUTH', '953,954,955,956,957,958,959,960', '1', '0', '1');
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES ('951', '查看签到表', 'PackageDetail', 'LINK', '946', '5', 'AUTH', '961', '1', '0', '1');
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('952', '列表获取', '/api/admin/mark/setting/scoreList', 'URL', '946', '1', 'AUTH', '1', '1', '1');
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('953', '详情列表', '/api/admin/mark/student/score', 'URL', '946', '2', 'AUTH', '1', '1', '1');
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('954', '获取配置', '/api/admin/mark/track/getSetting', 'URL', '946', '3', 'AUTH', '1', '1', '1');
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('955', '获取任务', '/api/admin/mark/track/getTask', 'URL', '946', '4', 'AUTH', '1', '1', '1');
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('956', '主观题检查-获取配置', '/api/admin/mark/inspected/getSetting', 'URL', '946', '5', 'AUTH', '1', '1', '1');
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('957', '主观题检查-获取任务', '/api/admin/mark/inspected/getTask', 'URL', '946', '6', 'AUTH', '1', '1', '1');
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('958', '主观题检查-保存任务', '/api/admin/mark/inspected/saveTask', 'URL', '946', '7', 'AUTH', '1', '1', '1');
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('959', '客观题检查-获取任务', '/api/admin/mark/check/answer/getTask', 'URL', '946', '8', 'AUTH', '1', '1', '1');
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('960', '客观题检查-保存任务', '/api/admin/mark/check/answer/saveTask', 'URL', '946', '9', 'AUTH', '1', '1', '1');
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('961', '签到表列表', '/api/admin/mark/package/list', 'URL', '946', '10', 'AUTH', '1', '1', '1');

+ 2 - 2
distributed-print/src/main/resources/application.properties

@@ -54,9 +54,9 @@ spring.activiti.check-process-definitions=false
 spring.activiti.history-level=audit
 
 com.qmth.fss.public.config=oss://key:secret@teachcloud-dps-dev1-public.oss-api.qmth.com.cn
-com.qmth.fss.public.server=https://oss-file.qmth.com.cn/teachcloud-dps-dev-public
+com.qmth.fss.public.server=https://oss-file.qmth.com.cn/teachcloud-dps-dev1-public
 com.qmth.fss.private.config=oss://key:secret@teachcloud-dps-dev1-private.oss-api.qmth.com.cn
-com.qmth.fss.private.server=https://oss-file.qmth.com.cn/teachcloud-dps-dev-private
+com.qmth.fss.private.server=https://oss-file.qmth.com.cn/teachcloud-dps-dev1-private
 
 #com.qmth.fss.public.config=/Users/xiaofei/qmth/temporary/zxzk/file-temp
 #com.qmth.fss.public.server=http://localhost:7001

+ 0 - 13
teachcloud-common/src/main/java/com/qmth/teachcloud/common/entity/BasicExam.java

@@ -6,7 +6,6 @@ import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
 import com.qmth.teachcloud.common.base.BaseEntity;
 import com.qmth.teachcloud.common.enums.ExamCategoryEnum;
 import com.qmth.teachcloud.common.enums.ExamModelEnum;
-import com.qmth.teachcloud.common.enums.PrintMethodEnum;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
@@ -42,10 +41,6 @@ public class BasicExam extends BaseEntity implements Serializable {
     @TableField("name")
     private String name;
 
-    @ApiModelProperty(value = "是否自动推送考务数据")
-    @TableField("auto_sync_student")
-    private Boolean autoSyncStudent;
-
     @ApiModelProperty(value = "考试类型")
     @TableField("category")
     private ExamCategoryEnum category;
@@ -99,14 +94,6 @@ public class BasicExam extends BaseEntity implements Serializable {
         this.name = name;
     }
 
-    public Boolean getAutoSyncStudent() {
-        return autoSyncStudent;
-    }
-
-    public void setAutoSyncStudent(Boolean autoSyncStudent) {
-        this.autoSyncStudent = autoSyncStudent;
-    }
-
     public ExamCategoryEnum getCategory() {
         return category;
     }

+ 0 - 29
teachcloud-task/src/main/java/com/qmth/teachcloud/task/job/AutoSyncStudentJob.java

@@ -1,29 +0,0 @@
-package com.qmth.teachcloud.task.job;
-
-import com.qmth.teachcloud.common.contant.SystemConstant;
-import com.qmth.teachcloud.task.job.service.JobService;
-import org.quartz.JobExecutionContext;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.scheduling.quartz.QuartzJobBean;
-
-import javax.annotation.Resource;
-
-/**
- * 自动同步考生定时任务
- */
-public class AutoSyncStudentJob extends QuartzJobBean {
-    private final static Logger log = LoggerFactory.getLogger(AutoSyncStudentJob.class);
-
-    @Resource
-    JobService jobService;
-
-    @Override
-    protected void executeInternal(JobExecutionContext jobExecutionContext) {
-        try {
-            jobService.autoSyncStudent();
-        } catch (Exception e) {
-            log.error(SystemConstant.LOG_ERROR, e);
-        }
-    }
-}

+ 0 - 5
teachcloud-task/src/main/java/com/qmth/teachcloud/task/job/service/JobService.java

@@ -38,11 +38,6 @@ public interface JobService {
      */
     void subjectCalculate();
 
-    /**
-     * 自动同步考生
-     */
-    void autoSyncStudent();
-
     /**
      * 组装job
      *

+ 0 - 5
teachcloud-task/src/main/java/com/qmth/teachcloud/task/job/service/impl/JobServiceImpl.java

@@ -78,11 +78,6 @@ public class JobServiceImpl implements JobService {
         examPaperStructureService.subjectCalculate();
     }
 
-    @Override
-    public void autoSyncStudent() {
-        examPrintPlanService.autoSyncStudent();
-    }
-
     @Override
     public void machineHeart() {
         redisUtil.set(SystemConstant.TASK_MACHINE_ID + redisMachineService.getMachineId(), redisMachineService.getMachineId(), 30, TimeUnit.SECONDS);

+ 0 - 8
teachcloud-task/src/main/java/com/qmth/teachcloud/task/start/StartRunning.java

@@ -88,14 +88,6 @@ public class StartRunning implements CommandLineRunner {
         quartzService.addJob(SubjectCalculateJob.class, JobEnum.SYNC_REUNIFY_JOB.name(), JobEnum.SYNC_REUNIFY_JOB_GROUP.name(), "0 0 0/2 * * ?", reunifyJobMap);
         log.info("增加自动统分定时任务 end");
 
-        // 每天1点开始,每2小时一次
-        log.info("增加自动同步考生定时任务 start");
-        Map autoSyncStudentJobMap = new HashMap();
-        autoSyncStudentJobMap.computeIfAbsent("name", v -> AutoSyncStudentJob.class.getName());
-        quartzService.deleteJob(JobEnum.SYNC_STUDENT_JOB.name(), JobEnum.SYNC_STUDENT_JOB_GROUP.name());
-        quartzService.addJob(AutoSyncStudentJob.class, JobEnum.SYNC_STUDENT_JOB.name(), JobEnum.SYNC_STUDENT_JOB_GROUP.name(), "0 0 1/2 * * ?", autoSyncStudentJobMap);
-        log.info("增加自动同步考生定时任务 end");
-
         log.info("服务器启动时执行 end");
     }
 }