xiaofei 1 rok pred
rodič
commit
e7b87ba6c3
19 zmenil súbory, kde vykonal 130 pridanie a 19 odobranie
  1. 9 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/dto/initMarkData/ExamDetailCourseInitMarkDto.java
  2. 13 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/entity/BasicTemplate.java
  3. 1 1
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/TBSyncTaskService.java
  4. 3 1
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/TBSyncTaskServiceImpl.java
  5. 4 1
      distributed-print-business/src/main/resources/mapper/ExamDetailMapper.xml
  6. 1 0
      distributed-print/install/mysql/init/teachcloud_db.sql
  7. 3 0
      distributed-print/install/mysql/upgrade/3.3.0.sql
  8. 2 1
      distributed-print/src/main/java/com/qmth/distributed/print/api/mark/MarkClassController.java
  9. 2 1
      distributed-print/src/main/java/com/qmth/distributed/print/api/mark/MarkQuestionController.java
  10. 25 3
      distributed-print/src/main/java/com/qmth/distributed/print/api/mark/MarkUserGroupController.java
  11. 40 0
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/enums/FontSizeEnum.java
  12. 9 0
      teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/bean/archivescore/ArchiveStudentVo.java
  13. 1 1
      teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/MarkUserGroupService.java
  14. 2 0
      teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/impl/MarkArbitrateHistoryServiceImpl.java
  15. 4 1
      teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/impl/MarkGroupServiceImpl.java
  16. 4 3
      teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/impl/MarkUserGroupServiceImpl.java
  17. 4 3
      teachcloud-mark/src/main/resources/mapper/MarkPaperMapper.xml
  18. 2 2
      teachcloud-mark/src/main/resources/mapper/MarkStudentMapper.xml
  19. 1 1
      teachcloud-task/src/main/java/com/qmth/teachcloud/task/job/service/impl/JobServiceImpl.java

+ 9 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/dto/initMarkData/ExamDetailCourseInitMarkDto.java

@@ -6,6 +6,7 @@ package com.qmth.distributed.print.business.bean.dto.initMarkData;
 public class ExamDetailCourseInitMarkDto {
 
     private Long schoolId;
+    private Long semesterId;
     private Long examId;
     private String courseCode;
     private String courseName;
@@ -26,6 +27,14 @@ public class ExamDetailCourseInitMarkDto {
         this.schoolId = schoolId;
     }
 
+    public Long getSemesterId() {
+        return semesterId;
+    }
+
+    public void setSemesterId(Long semesterId) {
+        this.semesterId = semesterId;
+    }
+
     public Long getExamId() {
         return examId;
     }

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

@@ -7,6 +7,7 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
 import com.qmth.teachcloud.common.base.BaseEntity;
 import com.qmth.teachcloud.common.enums.ClassifyEnum;
+import com.qmth.teachcloud.common.enums.FontSizeEnum;
 import com.sun.org.apache.xpath.internal.operations.Bool;
 import io.swagger.annotations.ApiModelProperty;
 
@@ -77,6 +78,10 @@ public class BasicTemplate extends BaseEntity implements Serializable {
      * 行间距在初始值基础上扩大倍数
      */
     private Double lineHeightTimes;
+    /**
+     * 字体大小(small,medium,large)
+     */
+    private FontSizeEnum fontSize;
 
     /**
      * 文字说明
@@ -186,6 +191,14 @@ public class BasicTemplate extends BaseEntity implements Serializable {
         this.lineHeightTimes = lineHeightTimes;
     }
 
+    public FontSizeEnum getFontSize() {
+        return fontSize;
+    }
+
+    public void setFontSize(FontSizeEnum fontSize) {
+        this.fontSize = fontSize;
+    }
+
     public String getTextDesc() {
         return textDesc;
     }

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

@@ -17,7 +17,7 @@ public interface TBSyncTaskService extends IService<TBSyncTask> {
 
     TBSyncTask saveTask(Long schoolId, Long objectId, PushTypeEnum type, String remark);
 
-    TBSyncTask saveTask(Long schoolId, Long examId, String paperNumber, String paperType, PushTypeEnum type, String remark);
+    TBSyncTask saveTask(Long schoolId, Long semesterId, Long examId, String paperNumber, String paperType, PushTypeEnum type, String remark);
 
     void updateStatusAndResultById(Long id, TaskStatusEnum status, TaskResultEnum result, String errorMessage);
 

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

@@ -77,9 +77,10 @@ public class TBSyncTaskServiceImpl extends ServiceImpl<TBSyncTaskMapper, TBSyncT
     }
 
     @Override
-    public TBSyncTask saveTask(Long schoolId, Long examId, String paperNumber, String paperType, PushTypeEnum type, String remark) {
+    public TBSyncTask saveTask(Long schoolId, Long semesterId, Long examId, String paperNumber, String paperType, PushTypeEnum type, String remark) {
         QueryWrapper<TBSyncTask> queryWrapper = new QueryWrapper<>();
         queryWrapper.lambda().eq(TBSyncTask::getSchoolId, schoolId)
+                .eq(TBSyncTask::getSemesterId, semesterId)
                 .eq(TBSyncTask::getExamId, examId)
                 .eq(TBSyncTask::getPaperNumber, paperNumber)
                 .eq(TBSyncTask::getPaperType, paperType)
@@ -97,6 +98,7 @@ public class TBSyncTaskServiceImpl extends ServiceImpl<TBSyncTaskMapper, TBSyncT
             tbSyncTask = new TBSyncTask();
             tbSyncTask.setId(SystemConstant.getDbUuid());
             tbSyncTask.setSchoolId(schoolId);
+            tbSyncTask.setSemesterId(semesterId);
             tbSyncTask.setExamId(examId);
             tbSyncTask.setPaperNumber(paperNumber);
             tbSyncTask.setPaperType(paperType);

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

@@ -693,6 +693,7 @@
             resultType="com.qmth.distributed.print.business.bean.dto.initMarkData.ExamDetailCourseInitMarkDto">
         SELECT
             ed.school_id schoolId,
+            be.semester_id semesterId,
             ed.exam_id examId,
             edc.course_code courseCode,
             edc.course_name courseName,
@@ -712,6 +713,8 @@
             exam_task et ON ed.exam_id = et.exam_id AND edc.paper_number = et.paper_number
                 LEFT JOIN
             exam_detail_course_paper_type edcpt ON edc.id = edcpt.exam_detail_course_id
+                LEFT JOIN
+            basic_exam be ON be.id = ed.exam_id
         WHERE
             ed.status = #{printStatus}
           AND ed.print_end_time > #{startTime}
@@ -723,6 +726,6 @@
                               ed.exam_id = mp.exam_id
                             AND edc.paper_number = mp.paper_number
                             AND mp.status = #{markStatus})
-        GROUP BY ed.school_id , ed.exam_id , edc.course_code , edc.course_name , edc.paper_number , edc.course_paper_id , edcpt.paper_type , et.user_id, ed.exam_start_time, ed.exam_end_time
+        GROUP BY ed.school_id , be.semester_id, ed.exam_id , edc.course_code , edc.course_name , edc.paper_number , edc.course_paper_id , edcpt.paper_type , et.user_id, ed.exam_start_time, ed.exam_end_time
     </select>
 </mapper>

+ 1 - 0
distributed-print/install/mysql/init/teachcloud_db.sql

@@ -444,6 +444,7 @@ CREATE TABLE IF NOT EXISTS `basic_template` (
         `update_time` bigint DEFAULT NULL COMMENT '更新时间',
         `add_blank_page` TINYINT(1) NULL DEFAULT 1 COMMENT '是否增加空白页',
         `line_height_times` DOUBLE NULL DEFAULT 1 COMMENT '行间距在初始值扩大倍数(默认1)',
+        `font_size` VARCHAR(10) NULL COMMENT '字体大小(small,medium,large)',
         PRIMARY KEY (`id`) USING BTREE
         ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='通用模板';
 

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

@@ -237,3 +237,6 @@ ALTER TABLE `basic_school` ADD COLUMN `default_school` TINYINT(1) NULL DEFAULT 0
 ALTER TABLE `basic_card_rule`
     ADD COLUMN `undertaking_enable` TINYINT(1) NULL COMMENT '启用考生承诺书' AFTER `discipline`,
 ADD COLUMN `undertaking_body` VARCHAR(300) NULL COMMENT '考生承诺书内容' AFTER `undertaking_enable`;
+
+ALTER TABLE `basic_template`
+    ADD COLUMN `font_size` VARCHAR(10) DEFAULT 'SMALL' COMMENT '字体大小(small,medium,large)' AFTER `line_height_times`;

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

@@ -29,7 +29,7 @@ import java.util.List;
 @Api(tags = "评卷-分班阅管理")
 @RestController
 @RequestMapping(ApiConstant.DEFAULT_URI_PREFIX + SystemConstant.PREFIX_URL_MARK + "/class")
-public class MarkClassController {
+public class MarkClassController extends BaseController {
 
     @Resource
     private MarkUserClassService markUserClassService;
@@ -52,6 +52,7 @@ public class MarkClassController {
     @RequestMapping(value = "/save", method = RequestMethod.POST)
     @OperationLogDetail(customizedOperationType = CustomizedOperationTypeEnum.ADD)
     public Result save(@RequestBody MarkClassUserParams markClassUserParams) {
+        validMarkPaperForMark(markClassUserParams.getExamId(), markClassUserParams.getPaperNumber());
         return ResultUtil.ok(markUserClassService.saveMarkClassUser(markClassUserParams));
     }
 }

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

@@ -39,7 +39,7 @@ import java.util.List;
 @Api(tags = "评卷-试卷结构")
 @RestController
 @RequestMapping(ApiConstant.DEFAULT_URI_PREFIX + SystemConstant.PREFIX_URL_MARK + "/question")
-public class MarkQuestionController {
+public class MarkQuestionController extends BaseController{
 
     @Resource
     private MarkQuestionService markQuestionService;
@@ -79,6 +79,7 @@ public class MarkQuestionController {
     @RequestMapping(value = "/save", method = RequestMethod.POST)
     @OperationLogDetail(customizedOperationType = CustomizedOperationTypeEnum.ADD)
     public Result save(@RequestBody MarkQuestionParams markQuestionParams) {
+        validMarkPaperForMark(markQuestionParams.getExamId(), markQuestionParams.getPaperNumber());
         markQuestionService.saveQuestions(markQuestionParams);
         return ResultUtil.ok(true);
     }

+ 25 - 3
distributed-print/src/main/java/com/qmth/distributed/print/api/mark/MarkUserGroupController.java

@@ -3,11 +3,12 @@ package com.qmth.distributed.print.api.mark;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.qmth.boot.api.constant.ApiConstant;
-import com.qmth.teachcloud.mark.dto.mark.manage.MarkUserGroupProgressDto;
 import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
 import com.qmth.teachcloud.common.util.Result;
 import com.qmth.teachcloud.common.util.ResultUtil;
+import com.qmth.teachcloud.mark.dto.mark.manage.MarkUserGroupProgressDto;
+import com.qmth.teachcloud.mark.entity.MarkUserGroup;
 import com.qmth.teachcloud.mark.service.MarkUserGroupService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -33,7 +34,7 @@ import java.util.List;
 @Api(tags = "评卷-评卷员")
 @RestController
 @RequestMapping(ApiConstant.DEFAULT_URI_PREFIX + SystemConstant.PREFIX_URL_MARK + "/marker")
-public class MarkUserGroupController {
+public class MarkUserGroupController extends BaseController {
 
     @Resource
     private MarkUserGroupService markUserGroupService;
@@ -74,6 +75,7 @@ public class MarkUserGroupController {
                             @ApiParam(value = "试卷编号", required = true) @RequestParam String paperNumber,
                             @ApiParam(value = "分组号", required = true) @RequestParam Integer groupNumber,
                             @ApiParam(value = "评卷员ID集合", required = true) @RequestParam List<Long> userIds) {
+        validMarkPaperForMark(examId, paperNumber);
         markUserGroupService.addMarkUserGroup(examId, paperNumber, groupNumber, userIds);
         return ResultUtil.ok(true);
     }
@@ -84,7 +86,12 @@ public class MarkUserGroupController {
     @ApiOperation(value = "重置评卷员")
     @RequestMapping(value = "/reset", method = RequestMethod.POST)
     public Result resetMarker(@ApiParam(value = "考试ID", required = true) @RequestParam Long markUserGroupId) {
-        return ResultUtil.ok(markUserGroupService.resetMarker(markUserGroupId));
+        MarkUserGroup markUserGroup = markUserGroupService.getById(markUserGroupId);
+        if (markUserGroup == null) {
+            throw ExceptionResultEnum.ERROR.exception("评卷员不存在");
+        }
+        validMarkPaperForMark(markUserGroup.getExamId(), markUserGroup.getPaperNumber());
+        return ResultUtil.ok(markUserGroupService.resetMarker(markUserGroup));
     }
 
     /**
@@ -93,6 +100,11 @@ public class MarkUserGroupController {
     @ApiOperation(value = "解绑评卷员")
     @RequestMapping(value = "/delete", method = RequestMethod.POST)
     public Result deleteMarker(@ApiParam(value = "用户分组ID", required = true) @RequestParam Long markUserGroupId) {
+        MarkUserGroup markUserGroup = markUserGroupService.getById(markUserGroupId);
+        if (markUserGroup == null) {
+            throw ExceptionResultEnum.ERROR.exception("评卷员不存在");
+        }
+        validMarkPaperForMark(markUserGroup.getExamId(), markUserGroup.getPaperNumber());
         markUserGroupService.deleteMarker(markUserGroupId);
         return ResultUtil.ok(true);
     }
@@ -103,6 +115,11 @@ public class MarkUserGroupController {
     @ApiOperation(value = "回收正在评卷的试卷")
     @RequestMapping(value = "/release", method = RequestMethod.POST)
     public Result releaseMarker(@ApiParam(value = "评卷员ID集合", required = true) @RequestParam List<Long> markUserGroupIds) {
+        MarkUserGroup markUserGroup = markUserGroupService.getById(markUserGroupIds.get(0));
+        if (markUserGroup == null) {
+            throw ExceptionResultEnum.ERROR.exception("评卷员不存在");
+        }
+        validMarkPaperForMark(markUserGroup.getExamId(), markUserGroup.getPaperNumber());
         markUserGroupService.releaseMarker(markUserGroupIds);
         return ResultUtil.ok(true);
     }
@@ -114,6 +131,11 @@ public class MarkUserGroupController {
     @RequestMapping(value = "/setTaskCount", method = RequestMethod.POST)
     public Result setTaskCount(@ApiParam(value = "评卷员ID集合", required = true) @RequestParam List<Long> markUserGroupIds,
                                @ApiParam(value = "评卷任务数", required = true) @RequestParam Integer topCount) {
+        MarkUserGroup markUserGroup = markUserGroupService.getById(markUserGroupIds.get(0));
+        if (markUserGroup == null) {
+            throw ExceptionResultEnum.ERROR.exception("评卷员不存在");
+        }
+        validMarkPaperForMark(markUserGroup.getExamId(), markUserGroup.getPaperNumber());
         markUserGroupService.setTopCount(markUserGroupIds, topCount);
         return ResultUtil.ok(true);
     }

+ 40 - 0
teachcloud-common/src/main/java/com/qmth/teachcloud/common/enums/FontSizeEnum.java

@@ -0,0 +1,40 @@
+package com.qmth.teachcloud.common.enums;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 签到表-字体大小
+ */
+public enum FontSizeEnum {
+
+    SMAll("小"),
+    medium("中"),
+    large("大");
+
+    FontSizeEnum(String name) {
+        this.name = name;
+    }
+
+    private String name;
+
+    public String getName() {
+        return name;
+    }
+
+    /**
+     * @return
+     */
+    public static List<EnumResult> listTypes() {
+        List<EnumResult> list = new ArrayList<EnumResult>();
+        for (FontSizeEnum value : FontSizeEnum.values()) {
+            EnumResult result = new EnumResult();
+            result.setCode(value.name());
+            result.setName(value.getName());
+            result.setOrdinal(value.ordinal());
+            list.add(result);
+        }
+        return list;
+    }
+
+}

+ 9 - 0
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/bean/archivescore/ArchiveStudentVo.java

@@ -16,6 +16,7 @@ public class ArchiveStudentVo {
     private String studentCode;
     @ExcelProperty(name = "学院", width = 20, index = 3)
     private String college;
+    private String majorName;
     @ExcelProperty(name = "班级", width = 20, index = 4)
     private String className;
     @ExcelProperty(name = "课程代码", width = 20, index = 5)
@@ -71,6 +72,14 @@ public class ArchiveStudentVo {
         this.college = college;
     }
 
+    public String getMajorName() {
+        return majorName;
+    }
+
+    public void setMajorName(String majorName) {
+        this.majorName = majorName;
+    }
+
     public String getClassName() {
         return className;
     }

+ 1 - 1
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/MarkUserGroupService.java

@@ -38,7 +38,7 @@ public interface MarkUserGroupService extends IService<MarkUserGroup> {
 
     void releaseMarker(List<Long> markUserGroupIds);
 
-    boolean resetMarker(Long markUserGroupId);
+    boolean resetMarker(MarkUserGroup markUserGroup);
 
     void resetById(Long id);
 

+ 2 - 0
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/impl/MarkArbitrateHistoryServiceImpl.java

@@ -128,6 +128,8 @@ public class MarkArbitrateHistoryServiceImpl extends ServiceImpl<MarkArbitrateHi
             if (markArbitrateHistory == null) {
                 throw ExceptionResultEnum.ERROR.exception("仲裁数据不存在");
             }
+            examId = markArbitrateHistory.getExamId();
+            paperNumber = markArbitrateHistory.getPaperNumber();
         } else {
             if (examId == null || StringUtils.isBlank(paperNumber) || groupNumber == null) {
                 throw ExceptionResultEnum.ERROR.exception("参数有误");

+ 4 - 1
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/impl/MarkGroupServiceImpl.java

@@ -25,6 +25,7 @@ import com.qmth.teachcloud.mark.enums.ScorePolicy;
 import com.qmth.teachcloud.mark.lock.LockService;
 import com.qmth.teachcloud.mark.mapper.MarkGroupMapper;
 import com.qmth.teachcloud.mark.service.*;
+import org.apache.commons.codec.digest.DigestUtils;
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;
@@ -372,7 +373,9 @@ public class MarkGroupServiceImpl extends MppServiceImpl<MarkGroupMapper, MarkGr
         markGroup.setDoubleRate(markGroupDto.getDoubleRate());
         markGroup.setScorePolicy(markGroupDto.getScorePolicy());
         markGroup.setArbitrateThreshold(markGroupDto.getArbitrateThreshold());
-        markGroup.setPicList(CardFile.getMarkConfigAdd(markGroupDto.getPictureConfigs(), 0.015));
+        if (!CollectionUtils.isEqualCollection(JSON.parseArray(markGroup.getPicList(), PictureConfig.class), markGroupDto.getPictureConfigs())) {
+            markGroup.setPicList(CardFile.getMarkConfigAdd(markGroupDto.getPictureConfigs(), 0.015));
+        }
         this.updateByMultiId(markGroup);
 
         boolean isEqual = compareMarkGroupQuestion(markQuestionService.listQuestionByExamIdAndPaperNumberAndGroupNumber(examId, paperNumber, markGroupDto.getGroupNumber(), false), markGroupDto.getQuestions());

+ 4 - 3
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/impl/MarkUserGroupServiceImpl.java

@@ -32,6 +32,7 @@ import java.math.BigDecimal;
 import java.math.RoundingMode;
 import java.text.DecimalFormat;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.List;
 import java.util.Objects;
 import java.util.stream.Collectors;
@@ -157,6 +158,7 @@ public class MarkUserGroupServiceImpl extends ServiceImpl<MarkUserGroupMapper, M
             throw ExceptionResultEnum.ERROR.exception("删除评卷员失败,该评卷员已开始评卷");
         } else {
             this.removeById(markUserGroupId);
+            releaseMarker(Arrays.asList(markUserGroupId));
         }
     }
 
@@ -178,10 +180,9 @@ public class MarkUserGroupServiceImpl extends ServiceImpl<MarkUserGroupMapper, M
     }
 
     @Override
-    public boolean resetMarker(Long markUserGroupId) {
-        MarkUserGroup markUserGroup = this.getById(markUserGroupId);
+    public boolean resetMarker(MarkUserGroup markUserGroup) {
         if (markUserGroup != null) {
-            if (lockService.trylock(LockType.MARKER_RESET, markUserGroupId)) {
+            if (lockService.trylock(LockType.MARKER_RESET, markUserGroup.getId())) {
                 markSyncService.markerResetSync(markUserGroup);
                 return true;
             } else {

+ 4 - 3
teachcloud-mark/src/main/resources/mapper/MarkPaperMapper.xml

@@ -131,12 +131,13 @@
     <select id="scoreList" resultType="com.qmth.teachcloud.mark.bean.archivescore.ArchiveScoreVo">
         SELECT t.exam_id,t.course_code,t.course_name,t.paper_number,
         count(*) studentCount,count(distinct s.class_name) classCount,
-        sum(case when s.is_absent =1 then 1 else 0 end) absentCount,
+        sum(case when s.is_absent =1 or s.omr_absent =1 then 1 else 0 end) absentCount,
         avg(case when s.is_absent !=1 then s.objective_score+s.subjective_score else null end) avgScore,
         max(case when s.is_absent !=1 then s.objective_score+s.subjective_score else null end) maxScore,
         min(case when s.is_absent !=1 then s.objective_score+s.subjective_score else null end) minScore,
-        sum(case when s.objective_score+s.subjective_score >=t.pass_score then 1 else 0 end) passCount,
-        sum(case when s.objective_score+s.subjective_score >=t.excellent_score then 1 else 0 end) excellentCount
+        sum(case when s.objective_score+s.subjective_score >=t.total_score * t.pass_score/100 then 1 else 0 end) passCount,
+        sum(case when s.objective_score+s.subjective_score >=t.total_score * t.excellent_score/100 then 1 else 0 end) excellentCount
+
         FROM
             mark_paper t 
             left join mark_student s on t.exam_id=s.exam_id and t.course_paper_id=s.course_paper_id

+ 2 - 2
teachcloud-mark/src/main/resources/mapper/MarkStudentMapper.xml

@@ -306,8 +306,8 @@
     <select id="overview" resultType="com.qmth.teachcloud.mark.bean.archivescore.OverViewVo">
         SELECT 
         count(*) studentCount,
-        sum(case when s.is_absent =1 then 0 else 1 end) actualCount,
-        sum(case when s.is_absent =1 then 1 else 0 end) absentCount,
+        sum(case when s.is_absent =1 or s.omr_absent =1 then 0 else 1 end) actualCount,
+        sum(case when s.is_absent =1 or s.omr_absent =1 then 1 else 0 end) absentCount,
         sum(case when s.is_breach =1 then 1 else 0 end) breachCount,
         avg(case when s.is_absent !=1 then s.objective_score+s.subjective_score else null end) avgScore,
         max(case when s.is_absent !=1 then s.objective_score+s.subjective_score else null end) maxScore,

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

@@ -150,7 +150,7 @@ public class JobServiceImpl implements JobService {
         long startTime = DateDisposeUtils.parseDate("2023-11-17 00:00:00").getTime();
         List<ExamDetailCourseInitMarkDto> examDetailCourseInitMarkDtoList = examDetailService.listPrintFinishExamDetailCourse(ExamDetailStatusEnum.FINISH.name(), startTime, MarkPaperStatus.FINISH.name());
         for (ExamDetailCourseInitMarkDto dto : examDetailCourseInitMarkDtoList) {
-            TBSyncTask tbSyncTask = tbSyncTaskService.saveTask(dto.getSchoolId(), dto.getExamId(), dto.getPaperNumber(), dto.getPaperType(), PushTypeEnum.INIT_MARK_DATA, "");
+            TBSyncTask tbSyncTask = tbSyncTaskService.saveTask(dto.getSchoolId(), dto.getSemesterId(), dto.getExamId(), dto.getPaperNumber(), dto.getPaperType(), PushTypeEnum.INIT_MARK_DATA, "");
             try {
                 printFinishService.insertMarkPaper(dto.getExamId(), dto.getCourseCode(), dto.getCourseName(), dto.getPaperNumber(), dto.getCoursePaperId(), dto.getPackageCodes(), dto.getCreateId(), dto.getPaperType());
                 printFinishService.insertMarkStudent(dto);