xiaofei 1 rok temu
rodzic
commit
badfc402ed

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

@@ -1463,23 +1463,25 @@ public class CreatePdfUtil {
         //通用题卡生成卷袋贴条码
         String packageCode = examDetail.getPackageCode() + sequence;
         String packageCodeImg = GoogleBarCodeUtil.createBarCode(packageCode, false);
+        cardTemp = cardTemp.replaceAll("\\$\\{packageCodeImg\\}", packageCodeImg);
+        cardTemp = cardTemp.replaceAll("\\$\\{packageCode\\}", packageCode);
         // 上传通卡
-        if (cardTemp.contains("<div class=\"page-box page-box-0\">")) {
-            String packageCodeDiv = "<div class=\"page-box page-box-0\"><div class=\"package-number\" style=\"position: absolute;width: 200px;height: 40px;top: 10px;right: 25%;margin-left: -100px;text-align: center;z-index: 99;\"><img src=\"data:image/png;base64," + packageCodeImg + "\" style=\"display: block; height: 28px; width: 100%\" /><p style=\"line-height: 1; font-size: 12px; margin: 0;\">" + packageCode + "</p></div>";
-            cardTemp = cardTemp.replaceAll("<div class=\"page-box page-box-0\">", packageCodeDiv);
-        } else if (cardTemp.contains("<div class=\"page-box page-box-A3 page-box-0\">")) {
-            String packageCodeDiv = "<div class=\"page-box page-box-A3 page-box-0\"><div class=\"package-number\" style=\"position: absolute;width: 200px;height: 40px;top: 10px;right: 25%;margin-left: -100px;text-align: center;z-index: 99;\"><img src=\"data:image/png;base64," + packageCodeImg + "\" style=\"display: block; height: 28px; width: 100%\" /><p style=\"line-height: 1; font-size: 12px; margin: 0;\">" + packageCode + "</p></div>";
-            cardTemp = cardTemp.replaceAll("<div class=\"page-box page-box-A3 page-box-0\">", packageCodeDiv);
-        } else if (cardTemp.contains("<div class=\"page-box page-box-A3 page-box-0 page-box-less\">")) {
-            String packageCodeDiv = "<div class=\"page-box page-box-A3 page-box-0 page-box-less\"><div class=\"package-number\" style=\"position: absolute;width: 200px;height: 40px;top: 10px;right: 25%;margin-left: -100px;text-align: center;z-index: 99;\"><img src=\"data:image/png;base64," + packageCodeImg + "\" style=\"display: block; height: 28px; width: 100%\" /><p style=\"line-height: 1; font-size: 12px; margin: 0;\">" + packageCode + "</p></div>";
-            cardTemp = cardTemp.replaceAll("<div class=\"page-box page-box-A3 page-box-0 page-box-less\">", packageCodeDiv);
-        } else if (cardTemp.contains("<div class=\"page-box page-box-A4 page-box-0\">")) {
-            String packageCodeDiv = "<div class=\"page-box page-box-A4 page-box-0\"><div class=\"package-number\" style=\"position: absolute;width: 200px;height: 40px;top: 10px;right: 25%;margin-left: -100px;text-align: center;z-index: 99;\"><img src=\"data:image/png;base64," + packageCodeImg + "\" style=\"display: block; height: 28px; width: 100%\" /><p style=\"line-height: 1; font-size: 12px; margin: 0;\">" + packageCode + "</p></div>";
-            cardTemp = cardTemp.replaceAll("<div class=\"page-box page-box-A4 page-box-0\">", packageCodeDiv);
-        } else if (cardTemp.contains("<div class=\"page-box page-box-A4 page-box-0 page-box-less\">")) {
-            String packageCodeDiv = "<div class=\"page-box page-box-A4 page-box-0 page-box-less\"><div class=\"package-number\" style=\"position: absolute;width: 200px;height: 40px;top: 10px;right: 25%;margin-left: -100px;text-align: center;z-index: 99;\"><img src=\"data:image/png;base64," + packageCodeImg + "\" style=\"display: block; height: 28px; width: 100%\" /><p style=\"line-height: 1; font-size: 12px; margin: 0;\">" + packageCode + "</p></div>";
-            cardTemp = cardTemp.replaceAll("<div class=\"page-box page-box-A4 page-box-0 page-box-less\">", packageCodeDiv);
-        }
+//        if (cardTemp.contains("<div class=\"page-box page-box-0\">")) {
+//            String packageCodeDiv = "<div class=\"page-box page-box-0\"><div class=\"package-number\" style=\"position: absolute;width: 200px;height: 40px;top: 10px;right: 25%;margin-left: -100px;text-align: center;z-index: 99;\"><img src=\"data:image/png;base64," + packageCodeImg + "\" style=\"display: block; height: 28px; width: 100%\" /><p style=\"line-height: 1; font-size: 12px; margin: 0;\">" + packageCode + "</p></div>";
+//            cardTemp = cardTemp.replaceAll("<div class=\"page-box page-box-0\">", packageCodeDiv);
+//        } else if (cardTemp.contains("<div class=\"page-box page-box-A3 page-box-0\">")) {
+//            String packageCodeDiv = "<div class=\"page-box page-box-A3 page-box-0\"><div class=\"package-number\" style=\"position: absolute;width: 200px;height: 40px;top: 10px;right: 25%;margin-left: -100px;text-align: center;z-index: 99;\"><img src=\"data:image/png;base64," + packageCodeImg + "\" style=\"display: block; height: 28px; width: 100%\" /><p style=\"line-height: 1; font-size: 12px; margin: 0;\">" + packageCode + "</p></div>";
+//            cardTemp = cardTemp.replaceAll("<div class=\"page-box page-box-A3 page-box-0\">", packageCodeDiv);
+//        } else if (cardTemp.contains("<div class=\"page-box page-box-A3 page-box-0 page-box-less\">")) {
+//            String packageCodeDiv = "<div class=\"page-box page-box-A3 page-box-0 page-box-less\"><div class=\"package-number\" style=\"position: absolute;width: 200px;height: 40px;top: 10px;right: 25%;margin-left: -100px;text-align: center;z-index: 99;\"><img src=\"data:image/png;base64," + packageCodeImg + "\" style=\"display: block; height: 28px; width: 100%\" /><p style=\"line-height: 1; font-size: 12px; margin: 0;\">" + packageCode + "</p></div>";
+//            cardTemp = cardTemp.replaceAll("<div class=\"page-box page-box-A3 page-box-0 page-box-less\">", packageCodeDiv);
+//        } else if (cardTemp.contains("<div class=\"page-box page-box-A4 page-box-0\">")) {
+//            String packageCodeDiv = "<div class=\"page-box page-box-A4 page-box-0\"><div class=\"package-number\" style=\"position: absolute;width: 200px;height: 40px;top: 10px;right: 25%;margin-left: -100px;text-align: center;z-index: 99;\"><img src=\"data:image/png;base64," + packageCodeImg + "\" style=\"display: block; height: 28px; width: 100%\" /><p style=\"line-height: 1; font-size: 12px; margin: 0;\">" + packageCode + "</p></div>";
+//            cardTemp = cardTemp.replaceAll("<div class=\"page-box page-box-A4 page-box-0\">", packageCodeDiv);
+//        } else if (cardTemp.contains("<div class=\"page-box page-box-A4 page-box-0 page-box-less\">")) {
+//            String packageCodeDiv = "<div class=\"page-box page-box-A4 page-box-0 page-box-less\"><div class=\"package-number\" style=\"position: absolute;width: 200px;height: 40px;top: 10px;right: 25%;margin-left: -100px;text-align: center;z-index: 99;\"><img src=\"data:image/png;base64," + packageCodeImg + "\" style=\"display: block; height: 28px; width: 100%\" /><p style=\"line-height: 1; font-size: 12px; margin: 0;\">" + packageCode + "</p></div>";
+//            cardTemp = cardTemp.replaceAll("<div class=\"page-box page-box-A4 page-box-0 page-box-less\">", packageCodeDiv);
+//        }
 
         BasicAttachment cardAttachment = printCommonService.saveAttachmentHtml(examDetail.getSchoolId() + "|" + examDetailCourse.getCourseCode(), cardTemp, userId, cardPdfList, fileTempList);
         JSONObject object = new JSONObject();

+ 8 - 6
distributed-print/src/main/java/com/qmth/distributed/print/api/EnumsController.java

@@ -1,6 +1,7 @@
 package com.qmth.distributed.print.api;
 
 import com.alibaba.fastjson.JSON;
+import com.qmth.boot.api.annotation.Aac;
 import com.qmth.boot.api.constant.ApiConstant;
 import com.qmth.distributed.print.business.entity.BasicExamRule;
 import com.qmth.distributed.print.business.enums.*;
@@ -40,6 +41,7 @@ public class EnumsController {
      * @return
      */
     @RequestMapping(method = RequestMethod.POST)
+    @Aac(auth = false)
     public Result list(@RequestParam(value = "type", required = true) String type) {
         if (StringUtils.isBlank(type)) {
             throw ExceptionResultEnum.ERROR.exception("类型不能为空");
@@ -74,7 +76,7 @@ public class EnumsController {
             //考务必选字段
 //            list = RequiredFieldsEnum.listTypes();
             BasicExamRule basicExamRule = basicExamRuleService.getBySchoolId();
-            if(basicExamRule != null){
+            if (basicExamRule != null) {
                 list = JSON.parseArray(basicExamRule.getRequiredFields(), EnumResult.class);
             }
         } else if (type.equals(EnumType.REVIEW_STATUS.name())) {
@@ -98,19 +100,19 @@ public class EnumsController {
         } else if (type.equals(EnumType.EXAM_DETAIL_STATUS_ENUM.name())) {
             // 考场状态
             list = ExamDetailStatusEnum.listTypes();
-        } else if (type.equals(EnumType.SYSTEM_CODE_ENUM.name())){
+        } else if (type.equals(EnumType.SYSTEM_CODE_ENUM.name())) {
             // 系统自生成编码
             list = SystemCodeEnum.listTypes();
-        } else if (type.equals(EnumType.PUSH_TYPE_ENUM.name())){
+        } else if (type.equals(EnumType.PUSH_TYPE_ENUM.name())) {
             // 同步云阅卷类型
             list = PushTypeEnum.listTypes();
-        } else if (type.equals(EnumType.TB_TASK_STATUS.name())){
+        } else if (type.equals(EnumType.TB_TASK_STATUS.name())) {
             // 同步云阅卷日志表状态类型
             list = TaskStatusEnum.listTypes();
-        } else if (type.equals(EnumType.CUSTOMIZED_OPERATION_TYPE_ENUM.name())){
+        } else if (type.equals(EnumType.CUSTOMIZED_OPERATION_TYPE_ENUM.name())) {
             // 同步云阅卷日志表状态类型
             list = CustomizedOperationTypeEnum.listTypes();
-        } else if (type.equals(EnumType.DATA_PERMISSION_TYPE_ENUM.name())){
+        } else if (type.equals(EnumType.DATA_PERMISSION_TYPE_ENUM.name())) {
             // 同步云阅卷日志表状态类型
             list = DataPermissionTypeEnum.listTypes();
         }

+ 1 - 0
distributed-print/src/main/java/com/qmth/distributed/print/api/mark/ScanPackageController.java

@@ -1,6 +1,7 @@
 package com.qmth.distributed.print.api.mark;
 
 import com.alibaba.fastjson.JSONArray;
+import com.qmth.boot.api.annotation.Aac;
 import com.qmth.boot.api.constant.ApiConstant;
 import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.entity.SysConfig;

+ 24 - 24
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/SysOrgServiceImpl.java

@@ -155,32 +155,32 @@ public class SysOrgServiceImpl extends ServiceImpl<SysOrgMapper, SysOrg> impleme
         try {
             Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
             // 机构代码不为空,校验唯一性
-            if (StringUtils.isNotBlank(org.getCode())) {
-                QueryWrapper<SysOrg> queryWrapper = new QueryWrapper<>();
-                queryWrapper.lambda().eq(SysOrg::getSchoolId, schoolId)
-                        .eq(SysOrg::getCode, org.getCode());
-                SysOrg codeSysOrg = this.getOne(queryWrapper);
-
-                if (codeSysOrg != null && (org.getId() == null || !org.getId().equals(codeSysOrg.getId()))) {
-                    throw ExceptionResultEnum.ERROR.exception("机构代码已存在");
-                }
-
-                // 机构代码以code开头,则清除缓存
-                if (org.getCode().startsWith(SystemConstant.ORG_PREFIX)) {
-                    commonCacheService.removeMaxOrgCode(schoolId);
-                }
-            }
+//            if (StringUtils.isNotBlank(org.getCode())) {
+//                QueryWrapper<SysOrg> queryWrapper = new QueryWrapper<>();
+//                queryWrapper.lambda().eq(SysOrg::getSchoolId, schoolId)
+//                        .eq(SysOrg::getCode, org.getCode());
+//                SysOrg codeSysOrg = this.getOne(queryWrapper);
+//
+//                if (codeSysOrg != null && (org.getId() == null || !org.getId().equals(codeSysOrg.getId()))) {
+//                    throw ExceptionResultEnum.ERROR.exception("机构代码已存在");
+//                }
+//
+//                // 机构代码以code开头,则清除缓存
+//                if (org.getCode().startsWith(SystemConstant.ORG_PREFIX)) {
+//                    commonCacheService.removeMaxOrgCode(schoolId);
+//                }
+//            }
             // 机构代码为空,若为一级学院,则自动生成code
-            else {
-                SysOrg sysOrgRoot = this.getOne(new QueryWrapper<SysOrg>().lambda().eq(SysOrg::getSchoolId, schoolId).eq(SysOrg::getType, OrgTypeEnum.SCHOOL));
+//            else {
+//                SysOrg sysOrgRoot = this.getOne(new QueryWrapper<SysOrg>().lambda().eq(SysOrg::getSchoolId, schoolId).eq(SysOrg::getType, OrgTypeEnum.SCHOOL));
                 // 学校下第一级机构,自动生成code
-                if (sysOrgRoot != null && org.getParentId().equals(sysOrgRoot.getId())) {
-                    Integer maxOrgCode = commonCacheService.getMaxOrgCode(schoolId);
-                    Integer currentCode = maxOrgCode + 1;
-                    commonCacheService.setMaxOrgCode(schoolId, currentCode);
-                    org.setCode(SystemConstant.ORG_PREFIX + currentCode);
-                }
-            }
+//                if (sysOrgRoot != null && org.getParentId().equals(sysOrgRoot.getId())) {
+//                    Integer maxOrgCode = commonCacheService.getMaxOrgCode(schoolId);
+//                    Integer currentCode = maxOrgCode + 1;
+//                    commonCacheService.setMaxOrgCode(schoolId, currentCode);
+//                    org.setCode(SystemConstant.ORG_PREFIX + currentCode);
+//                }
+//            }
 
             if (org.getId() == null) {// 新增
                 org.setSchoolId(schoolId);

+ 11 - 1
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/bean/omredit/OmrEditDomain.java

@@ -11,7 +11,10 @@ public class OmrEditDomain {
     @NotNull(message = "考试ID不能为空")
     private Long examId;
 
-    @NotBlank(message = "学号号不能为空")
+    @NotNull(message = "课程试卷ID不能为空")
+    private String coursePaperId;
+
+    @NotBlank(message = "学号不能为空")
     private String studentCode;
 
     @Valid
@@ -27,6 +30,13 @@ public class OmrEditDomain {
         this.examId = examId;
     }
 
+    public String getCoursePaperId() {
+        return coursePaperId;
+    }
+
+    public void setCoursePaperId(String coursePaperId) {
+        this.coursePaperId = coursePaperId;
+    }
 
     public String getStudentCode() {
 		return studentCode;

+ 1 - 1
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/mapper/ScanPackageMapper.java

@@ -20,6 +20,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  */
 public interface ScanPackageMapper extends BaseMapper<ScanPackage> {
 
-	IPage<ScanPackageVo> page(Page<ScanPackageVo> page, @Param("req")ScanPackageQuery query);
+	IPage<ScanPackageVo> page(@Param("page") Page<ScanPackageVo> page, @Param("req")ScanPackageQuery query);
 
 }

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

@@ -90,8 +90,6 @@ public interface MarkStudentService extends IService<MarkStudent> {
 
     UpdateTimeVo omrEdit(Long userId, OmrEditDomain domain);
 
-    MarkStudent findByExamIdAndStudentCode(Long examId, String studentCode);
-
     long countStudentCountByExamIdAndPaperNumber(Long examId, String paperNumber, String paperType);
 
     AbsentManualUpdateVo absentManualUpdate(Long examId, String coursePaperId, String studentCode);

+ 0 - 3
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/impl/MarkGroupServiceImpl.java

@@ -306,7 +306,6 @@ public class MarkGroupServiceImpl extends MppServiceImpl<MarkGroupMapper, MarkGr
 
         markGroup.setTaskCount(0);
         markGroup.setMarkedCount(0);
-        markGroup.setLeftCount(0);
         this.saveOrUpdateByMultiId(markGroup);
 
         // 题目
@@ -404,10 +403,8 @@ public class MarkGroupServiceImpl extends MppServiceImpl<MarkGroupMapper, MarkGr
 
     @Override
     public void updateTaskCount(Long examId, String paperNumber, Integer groupNumber, int taskCount) {
-        MarkGroup markGroup = this.getByExamIdAndPaperNumberAndGroupNumber(examId, paperNumber, groupNumber);
         UpdateWrapper<MarkGroup> updateWrapper = new UpdateWrapper<>();
         updateWrapper.lambda().set(MarkGroup::getTaskCount, taskCount)
-                .set(MarkGroup::getLeftCount, taskCount - markGroup.getMarkedCount())
                 .eq(MarkGroup::getExamId, examId)
                 .eq(MarkGroup::getPaperNumber, paperNumber)
                 .eq(MarkGroup::getNumber, groupNumber);

+ 2 - 17
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/impl/MarkStudentServiceImpl.java

@@ -309,8 +309,7 @@ public class MarkStudentServiceImpl extends ServiceImpl<MarkStudentMapper, MarkS
     }
 
     @Override
-    public MarkStudent findByExamIdAndCoursePaperIdAndStudentCode(Long examId, String coursePaperId,
-                                                                  String studentCode) {
+    public MarkStudent findByExamIdAndCoursePaperIdAndStudentCode(Long examId, String coursePaperId, String studentCode) {
         QueryWrapper<MarkStudent> wrapper = new QueryWrapper<>();
         LambdaQueryWrapper<MarkStudent> lw = wrapper.lambda();
         lw.eq(MarkStudent::getExamId, examId);
@@ -608,7 +607,7 @@ public class MarkStudentServiceImpl extends ServiceImpl<MarkStudentMapper, MarkS
     @Transactional
     @Override
     public UpdateTimeVo omrEdit(Long userId, OmrEditDomain domain) {
-        MarkStudent student = findByExamIdAndStudentCode(domain.getExamId(), domain.getStudentCode());
+        MarkStudent student = findByExamIdAndCoursePaperIdAndStudentCode(domain.getExamId(), domain.getCoursePaperId(), domain.getStudentCode());
         if (student == null) {
             throw new ParameterException("考生信息未找到");
         }
@@ -639,20 +638,6 @@ public class MarkStudentServiceImpl extends ServiceImpl<MarkStudentMapper, MarkS
         }
     }
 
-    @Override
-    public MarkStudent findByExamIdAndStudentCode(Long examId, String studentCode) {
-        if (examId == null) {
-            throw new ParameterException("examId 不能为空");
-        }
-        if (StringUtils.isBlank(studentCode)) {
-            throw new ParameterException("studentCode不能为空");
-        }
-        QueryWrapper<MarkStudent> queryWrapper = new QueryWrapper<>();
-        queryWrapper.lambda().eq(MarkStudent::getExamId, examId);
-        queryWrapper.lambda().eq(MarkStudent::getStudentCode, studentCode);
-        return baseMapper.selectOne(queryWrapper);
-    }
-
     @Override
     public long countStudentCountByExamIdAndPaperNumber(Long examId, String paperNumber, String paperType) {
         QueryWrapper<MarkStudent> queryWrapper = new QueryWrapper<>();

+ 2 - 1
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/impl/MarkUserGroupServiceImpl.java

@@ -71,11 +71,12 @@ public class MarkUserGroupServiceImpl extends ServiceImpl<MarkUserGroupMapper, M
         Page<MarkUserGroup> page = new Page<>(pageNumber, pageSize);
         IPage<MarkEntranceDto> markEntranceDtoIPage = this.baseMapper.listEntranceGroup(page, examId, courseCode, paperNumber, sysUser.getId());
         for (MarkEntranceDto record : markEntranceDtoIPage.getRecords()) {
+            record.setLeftCount(record.getTaskCount() == null || record.getTaskCount() == 0 ? 0 : record.getTaskCount() - record.getMarkedCount());
             // 评卷进度
             if (record.getTaskCount().intValue() == 0) {
                 record.setPercent(0D);
             } else {
-                BigDecimal bigDecimal = record.getMarkedCount() == null ? new BigDecimal("0") : new BigDecimal(record.getMarkedCount()).divide(new BigDecimal(record.getTaskCount()), 2, RoundingMode.HALF_UP);
+                BigDecimal bigDecimal = record.getMarkedCount() == null ? new BigDecimal("0") : new BigDecimal(record.getMarkedCount() * 100).divide(new BigDecimal(record.getTaskCount()), 2, RoundingMode.HALF_UP);
                 record.setPercent(bigDecimal.doubleValue());
             }
 

+ 18 - 14
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/impl/ScanPackageServiceImpl.java

@@ -1,24 +1,12 @@
 package com.qmth.teachcloud.mark.service.impl;
 
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.stream.Collectors;
-
-import org.apache.commons.collections4.CollectionUtils;
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.web.multipart.MultipartFile;
-
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qmth.boot.core.exception.ParameterException;
+import com.qmth.teachcloud.common.service.TeachcloudCommonService;
 import com.qmth.teachcloud.mark.bean.scananswer.SheetUploadVo;
 import com.qmth.teachcloud.mark.bean.scanpackage.ScanPackageFindVo;
 import com.qmth.teachcloud.mark.bean.scanpackage.ScanPackageQuery;
@@ -30,6 +18,19 @@ import com.qmth.teachcloud.mark.service.MarkFileService;
 import com.qmth.teachcloud.mark.service.MarkPaperService;
 import com.qmth.teachcloud.mark.service.ScanFilePropertyService;
 import com.qmth.teachcloud.mark.service.ScanPackageService;
+import org.apache.commons.collections4.CollectionUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -47,6 +48,8 @@ public class ScanPackageServiceImpl extends ServiceImpl<ScanPackageMapper, ScanP
     private ScanFilePropertyService scanFilePropertyService;
     @Autowired
     private MarkPaperService markPaperService;
+    @Resource
+    private TeachcloudCommonService teachcloudCommonService;
 
     @Override
     public int getCount(Long examId) {
@@ -147,6 +150,7 @@ public class ScanPackageServiceImpl extends ServiceImpl<ScanPackageMapper, ScanP
                 }
                 for (ScanPackageVo vo : iPage.getRecords()) {
                     List<String> pages = map.get(vo.getPackageCode());
+                    pages = pages.stream().map(m -> teachcloudCommonService.filePreview(m)).collect(Collectors.toList());
                     vo.setPages(pages);
                     vo.setPagesCount(pages.size());
                 }
@@ -177,7 +181,7 @@ public class ScanPackageServiceImpl extends ServiceImpl<ScanPackageMapper, ScanP
         lw.orderByAsc(ScanPackage::getPackageNo);
         List<ScanPackage> list = this.list(wrapper);
         if (CollectionUtils.isNotEmpty(list)) {
-            ret = list.stream().map(e -> e.getPath()).collect(Collectors.toList());
+            ret = list.stream().map(e -> teachcloudCommonService.filePreview(e.getPath())).collect(Collectors.toList());
         }
         return ret;
     }

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

@@ -223,8 +223,8 @@ public class TaskServiceImpl implements TaskService {
         task.setQuestionList(buildMarkStep(t));
         task.setSpecialTagList(getMarkSpecialTagList(t));
         MarkStudent student = markStudentService.getById(t.getStudentId());
-//        task.setSheetUrls(teachcloudCommonService.filePreview(student.getSheetPathList()));
-        task.setSheetUrls(teachcloudCommonService.fileMarkPreview(student.getSheetPathList()));
+        task.setSheetUrls(teachcloudCommonService.filePreview(student.getSheetPathList()));
+//        task.setSheetUrls(teachcloudCommonService.fileMarkPreview(student.getSheetPathList()));
         MarkGroup group = markGroupService.getByExamIdAndPaperNumberAndGroupNumber(t.getExamId(), t.getPaperNumber(),
                 t.getGroupNumber());
         task.setSliceConfig(group.getPictureConfigList());

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

@@ -27,9 +27,8 @@
             mg.course_code courseCode,
             mg.course_name courseName,
             mg.paper_number paperNumber,
-            mg.task_count taskCount,
-            mg.marked_count markedCoude,
-            mg.left_count leftCount
+            ifnull(mg.task_count, 0) taskCount,
+            ifnull(mg.marked_count, 0) markedCount
         FROM
             mark_user_group mug
                 LEFT JOIN

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

@@ -31,12 +31,12 @@
 			and t.course_paper_id= #{req.coursePaperId}
 		</if>
         <if test="req.status != null">
-			<if test="req.status ==@com.qmth.teachcloud.common.enums@SCANNED">
+			<if test="req.status ==@com.qmth.teachcloud.common.enums.ScanStatus@SCANNED">
 				and exists (
 				select 1 from scan_package f where t.exam_id=f.exam_id and t.course_paper_id=f.course_paper_id
 				)
 			</if>
-			<if test="req.status ==@com.qmth.teachcloud.common.enums@UNEXIST">
+			<if test="req.status ==@com.qmth.teachcloud.common.enums.ScanStatus@UNEXIST">
 				and not exists (
 				select 1 from scan_package f where t.exam_id=f.exam_id and t.course_paper_id=f.course_paper_id
 				)