소스 검색

3.3.0 fix

xiaofei 1 년 전
부모
커밋
058e4bcf2f
15개의 변경된 파일107개의 추가작업 그리고 44개의 파일을 삭제
  1. 1 1
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/ClientService.java
  2. 2 3
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ClientServiceImpl.java
  3. 2 2
      distributed-print/src/main/java/com/qmth/distributed/print/api/ClientController.java
  4. 1 1
      teachcloud-common-api/src/main/java/com/qmth/teachcloud/common/api/api/BasicSchoolController.java
  5. 2 1
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/mapper/BasicSchoolMapper.java
  6. 1 1
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/BasicSchoolService.java
  7. 2 2
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/BasicSchoolServiceImpl.java
  8. 15 1
      teachcloud-common/src/main/resources/mapper/BasicSchoolMapper.xml
  9. 16 3
      teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/bean/answercard/CardFile.java
  10. 40 22
      teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/bean/answercard/MarkConfig.java
  11. 4 3
      teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/impl/MarkGroupServiceImpl.java
  12. 3 1
      teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/impl/MarkServiceImpl.java
  13. 15 0
      teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/impl/MarkStudentServiceImpl.java
  14. 1 1
      teachcloud-task/src/main/java/com/qmth/teachcloud/task/job/SubjectCalculateJob.java
  15. 2 2
      teachcloud-task/src/main/java/com/qmth/teachcloud/task/start/StartRunning.java

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

@@ -49,7 +49,7 @@ public interface ClientService {
 
     boolean updatePassword(Long userId, String password);
 
-    List<SchoolDto> listSchool();
+    List<SchoolDto> listSchool(String code);
 
     Set<String> getRoleByUserId(Long id);
 }

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

@@ -18,7 +18,6 @@ import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
 import com.qmth.teachcloud.common.enums.RoleTypeEnum;
 import com.qmth.teachcloud.common.service.*;
 import com.qmth.teachcloud.common.util.ExcelUtil;
-import com.qmth.teachcloud.common.util.ResultUtil;
 import com.qmth.teachcloud.common.util.ServletUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;
@@ -640,8 +639,8 @@ public class ClientServiceImpl implements ClientService {
     }
 
     @Override
-    public List<SchoolDto> listSchool() {
-        return basicSchoolService.listSchool();
+    public List<SchoolDto> listSchool(String code) {
+        return basicSchoolService.listSchool(code);
     }
 
     @Override

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

@@ -496,8 +496,8 @@ public class ClientController {
     @ApiOperation(value = "查询")
     @RequestMapping(value = "/school/list", method = RequestMethod.POST)
     @Aac(strict = false, auth = false)
-    public Result list() {
-        List<SchoolDto> list = clientService.listSchool();
+    public Result list(@RequestParam(required = false) String code) {
+        List<SchoolDto> list = clientService.listSchool(code);
         return ResultUtil.ok(list);
     }
 

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

@@ -41,7 +41,7 @@ public class BasicSchoolController {
     @ApiOperation(value = "查询")
     @RequestMapping(value = "/list", method = RequestMethod.POST)
     public Result list() {
-        List<SchoolDto> list = basicSchoolService.listSchool();
+        List<SchoolDto> list = basicSchoolService.listSchool(null);
         return ResultUtil.ok(list);
     }
 

+ 2 - 1
teachcloud-common/src/main/java/com/qmth/teachcloud/common/mapper/BasicSchoolMapper.java

@@ -3,6 +3,7 @@ package com.qmth.teachcloud.common.mapper;
 import com.qmth.teachcloud.common.base.CustomBaseMapper;
 import com.qmth.teachcloud.common.bean.dto.SchoolDto;
 import com.qmth.teachcloud.common.entity.BasicSchool;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
@@ -16,5 +17,5 @@ import java.util.List;
  */
 public interface BasicSchoolMapper extends CustomBaseMapper<BasicSchool> {
 
-    List<SchoolDto> listSchool();
+    List<SchoolDto> listSchool(@Param("code") String code);
 }

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

@@ -17,7 +17,7 @@ import java.util.List;
  */
 public interface BasicSchoolService extends IService<BasicSchool> {
 
-    List<SchoolDto> listSchool();
+    List<SchoolDto> listSchool(String code);
 
     boolean updateSchool(Long id, String code, String name, String initPassword, MultipartFile logo, String logoMd5);
 }

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

@@ -46,8 +46,8 @@ public class BasicSchoolServiceImpl extends ServiceImpl<BasicSchoolMapper, Basic
     SysUserService sysUserService;
 
     @Override
-    public List<SchoolDto> listSchool() {
-        List<SchoolDto> schoolDtos = this.baseMapper.listSchool();
+    public List<SchoolDto> listSchool(String code) {
+        List<SchoolDto> schoolDtos = this.baseMapper.listSchool(code);
         for (SchoolDto schoolDto : schoolDtos) {
             if (StringUtils.isNotBlank(schoolDto.getInitPassword())) {
                 schoolDto.setInitPassword(new String(Base64Util.decode(schoolDto.getInitPassword())));

+ 15 - 1
teachcloud-common/src/main/resources/mapper/BasicSchoolMapper.xml

@@ -21,7 +21,21 @@
         code, name, enable, access_key, access_secret, remark, create_time, update_time
     </sql>
     <select id="listSchool" resultType="com.qmth.teachcloud.common.bean.dto.SchoolDto">
-        select id, code, name, enable, access_key accessKey, access_secret accessSecret, logo, init_password initPassword from basic_school where enable = true order by create_time desc
+        select
+            id,
+            code,
+            name,
+            enable,
+            access_key accessKey,
+            access_secret accessSecret,
+            logo,
+            init_password initPassword
+        from basic_school
+        where enable = true
+        <if test="code != null and code != ''">
+            and code = #{code}
+        </if>
+        order by create_time desc
     </select>
 
 </mapper>

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 16 - 3
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/bean/answercard/CardFile.java


+ 40 - 22
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/bean/answercard/MarkConfig.java

@@ -9,37 +9,55 @@ import java.util.*;
  */
 public class MarkConfig {
 
-    private Map<Integer, List<ConfigItem>> map;
 
-    public MarkConfig() {
-        this.map = new HashMap<>();
+    // 对应的图片序号
+    int i;
+
+    // 坐标点与宽高的相对比例
+    double x, y, w, h;
+
+    public int getI() {
+        return i;
     }
 
-    public void addConfig(int mainNumber, int index, double left, double top, double width, double height) {
-        ConfigItem item = new ConfigItem();
-        item.index = index;
-        item.left = left;
-        item.top = top;
-        item.width = width;
-        item.height = height;
-        this.map.computeIfAbsent(mainNumber, key -> new LinkedList<>()).add(item);
+    public void setI(int i) {
+        this.i = i;
     }
 
-    public List<ConfigItem> getConfig(int mainNumber) {
-        return map.get(mainNumber);
+    public double getX() {
+        return x;
     }
 
-    static class ConfigItem {
+    public void setX(double x) {
+        this.x = x;
+    }
 
-        // 对应的图片序号
-        int index;
+    public double getY() {
+        return y;
+    }
 
-        // 坐标点与宽高的相对比例
-        double left, top, width, height;
+    public void setY(double y) {
+        this.y = y;
+    }
+
+    public double getW() {
+        return w;
+    }
+
+    public void setW(double w) {
+        this.w = w;
+    }
+
+    public double getH() {
+        return h;
+    }
+
+    public void setH(double h) {
+        this.h = h;
+    }
 
-        @Override
-        public String toString() {
-            return StringUtils.join(Arrays.asList(index, left, top, width, height), MarkConfigItem.DB_FIELD_JOINER);
-        }
+    @Override
+    public String toString() {
+        return StringUtils.join(Arrays.asList(i, x, y, w, h), MarkConfigItem.DB_FIELD_JOINER);
     }
 }

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

@@ -8,6 +8,7 @@ import java.util.stream.Collectors;
 
 import javax.annotation.Resource;
 
+import com.qmth.teachcloud.mark.bean.answercard.CardFile;
 import com.qmth.teachcloud.mark.entity.*;
 import com.qmth.teachcloud.mark.service.*;
 import org.apache.commons.collections4.CollectionUtils;
@@ -274,7 +275,7 @@ public class MarkGroupServiceImpl extends MppServiceImpl<MarkGroupMapper, MarkGr
         markGroup.setCourseCode(markPaper.getCourseCode());
         markGroup.setCourseName(markPaper.getCourseName());
         markGroup.setNumber(markGroupDto.getGroupNumber());
-        markGroup.setPicList(JSON.toJSONString(markGroupDto.getPictureConfigs()));
+        markGroup.setPicList(CardFile.getMarkConfigAdd(markGroupDto.getPictureConfigs(), 0.015));
         Double totalScore = questions.stream().collect(Collectors.summingDouble(MarkQuestion::getTotalScore));
         markGroup.setTotalScore(totalScore);
         if (markGroupDto.getDoubleEnable()) {
@@ -367,7 +368,7 @@ public class MarkGroupServiceImpl extends MppServiceImpl<MarkGroupMapper, MarkGr
         markGroup.setDoubleRate(markGroupDto.getDoubleRate());
         markGroup.setScorePolicy(markGroupDto.getScorePolicy());
         markGroup.setArbitrateThreshold(markGroupDto.getArbitrateThreshold());
-        markGroup.setPicList(JSON.toJSONString(markGroupDto.getPictureConfigs()));
+        markGroup.setPicList(CardFile.getMarkConfigAdd(markGroupDto.getPictureConfigs(), 0.015));
         this.updateByMultiId(markGroup);
 
         // 结构分组号
@@ -394,7 +395,7 @@ public class MarkGroupServiceImpl extends MppServiceImpl<MarkGroupMapper, MarkGr
         }
 
         // 开启双评且双评比例值修改过,则删除任务
-        if(markGroupDto.getDoubleEnable() && markGroup.getDoubleRate() != null && markGroupDto.getDoubleRate().doubleValue() !=  markGroup.getDoubleRate().doubleValue()){
+        if (markGroupDto.getDoubleEnable() && markGroup.getDoubleRate() != null && markGroupDto.getDoubleRate().doubleValue() != markGroup.getDoubleRate().doubleValue()) {
             markSyncService.deleteMarkGroup(markGroup, false);
         }
     }

+ 3 - 1
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/impl/MarkServiceImpl.java

@@ -253,7 +253,9 @@ public class MarkServiceImpl implements MarkService {
                 maxScore = score;
             }
             // 最低分
-            if (score < minScore) {
+            if (finishCount == 1) {
+                minScore = score;
+            } else if (score < minScore) {
                 minScore = score;
             }
         }

+ 15 - 0
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/impl/MarkStudentServiceImpl.java

@@ -11,6 +11,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qmth.boot.core.concurrent.service.ConcurrentService;
 import com.qmth.boot.core.exception.ParameterException;
 import com.qmth.teachcloud.common.bean.vo.FilePathVo;
+import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.entity.BasicExam;
 import com.qmth.teachcloud.common.entity.MarkQuestion;
 import com.qmth.teachcloud.common.entity.SysUser;
@@ -253,6 +254,7 @@ public class MarkStudentServiceImpl extends ServiceImpl<MarkStudentMapper, MarkS
         student.setOmrAbsent(false);
         int paperCount = 0;
         List<ScanStudentPaper> studentPaperList = studentPaperService.findByStudentId(studentId);
+        List<String> objectiveAnswers = new ArrayList<>();
         for (ScanStudentPaper studentPaper : studentPaperList) {
             paperCount++;
             // 获取paper详情更新考生状态
@@ -267,7 +269,20 @@ public class MarkStudentServiceImpl extends ServiceImpl<MarkStudentMapper, MarkS
                 student.setOmrAbsent(page.getAbsent() == null ? false : page.getAbsent().getResult());
 //                student.setDevice(batchService.findByPaperId(paper.getId()).getDevice());
             }
+
+            List<ScanPaperPage> scanPaperPages = scanPaperPageService.listByPaperId(studentPaper.getPaperId());
+            for (ScanPaperPage scanPaperPage : scanPaperPages) {
+                if (scanPaperPage.getQuestion() != null && CollectionUtils.isNotEmpty(scanPaperPage.getQuestion().getResult())) {
+                    for (String s : scanPaperPage.getQuestion().getResult()) {
+                        if (s.startsWith("?")) {
+                            s = s.replace("?", "");
+                        }
+                        objectiveAnswers.add(s);
+                    }
+                }
+            }
         }
+        student.setAnswers(JSON.toJSONString(objectiveAnswers));
         // 更新考生状态
         if (paperCount > 0) {
             ScanAnswerCard answerCard = answerCardService.findByExamAndNumber(student.getExamId(),

+ 1 - 1
teachcloud-task/src/main/java/com/qmth/teachcloud/task/job/SubjectCalculateJob.java

@@ -21,7 +21,7 @@ public class SubjectCalculateJob extends QuartzJobBean {
     @Override
     protected void executeInternal(JobExecutionContext jobExecutionContext) {
         try {
-            jobService.updateMarkerQuality();
+//            jobService.updateMarkerQuality();
         } catch (Exception e) {
             log.error(SystemConstant.LOG_ERROR, e);
         }

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

@@ -91,9 +91,9 @@ public class StartRunning implements CommandLineRunner {
         // 每1分钟一次
         log.info("增加更新评卷员质量监控指标定时任务 start");
         Map qualityJobMap = new HashMap();
-        qualityJobMap.computeIfAbsent("name", v -> SubjectCalculateJob.class.getName());
+        qualityJobMap.computeIfAbsent("name", v -> UpdateMarkerQualityJob.class.getName());
         quartzService.deleteJob(JobEnum.UPDATE_MARKER_QUALITY.name(), JobEnum.UPDATE_MARKER_QUALITY_GROUP.name());
-        quartzService.addJob(SubjectCalculateJob.class, JobEnum.UPDATE_MARKER_QUALITY.name(), JobEnum.UPDATE_MARKER_QUALITY_GROUP.name(), "0 */1 * * * ?", qualityJobMap);
+        quartzService.addJob(UpdateMarkerQualityJob.class, JobEnum.UPDATE_MARKER_QUALITY.name(), JobEnum.UPDATE_MARKER_QUALITY_GROUP.name(), "0 */1 * * * ?", qualityJobMap);
         log.info("增加更新评卷员质量监控指标定时任务 end");
 
 //        // 每1分钟一次

이 변경점에서 너무 많은 파일들이 변경되어 몇몇 파일들은 표시되지 않았습니다.