Browse Source

修复前端联调问题

yin 3 months ago
parent
commit
60ac1871ad

+ 12 - 23
distributed-print/src/main/java/com/qmth/distributed/print/api/SysAdminSetController.java

@@ -680,14 +680,8 @@ public class SysAdminSetController {
     @ApiResponses({@ApiResponse(code = 200, message = "识别配置信息", response = SysAdminSetResult.class)})
     @RequestMapping(value = "/objective/omr/select", method = RequestMethod.POST)
     public Result objectiveOmrSelect(@ApiParam(value = "学校id ", required = true) @RequestParam Long schoolId) {
-        SysConfig sysConfigOpenFlowMsgPush = commonCacheService.addSysConfigCache(schoolId, SystemConstant.OPEN_FLOW_MESSAGE_PUSH);
-        List<SysConfigResult> sysConfigResultList = new ArrayList<>();
-        if (Objects.nonNull(sysConfigOpenFlowMsgPush)) {
-            sysConfigResultList.add(new SysConfigResult(sysConfigOpenFlowMsgPush));
-        } else {
-            sysConfigResultList.add(new SysConfigResult(null, SystemConstant.SINGLE_QUESTION_OMR_TASK, "特定条件是否进入客观题检查", "true", 1));
-        }
-        return ResultUtil.ok(new SysAdminSetResult(schoolId, sysConfigResultList));
+        SysConfig sysConfig = commonCacheService.addSysConfigCache(schoolId, SystemConstant.SINGLE_QUESTION_OMR_TASK);
+        return ResultUtil.ok(Objects.nonNull(sysConfig) ? new SysConfigResult(sysConfig) : new SysConfigResult(null, SystemConstant.SINGLE_QUESTION_OMR_TASK, "客观题检查扩展条件", null, 1));
     }
 
     @ApiOperation(value = "识别配置保存")
@@ -695,23 +689,18 @@ public class SysAdminSetController {
     @RequestMapping(value = "/objective/omr/save", method = RequestMethod.POST)
     @Transactional
     @OperationLogDetail(operationType = OperationTypeEnum.SAVE)
-    public Result objectiveOmrSave(@Valid @RequestBody SysAdminSetParam sysAdminSetParam, BindingResult bindingResult) {
-        if (bindingResult.hasErrors()) {
-            return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
+    public Result objectiveOmrSave(@ApiParam(value = "学校ID", required = true) @RequestParam Long schoolId,
+                                   @ApiParam(value = "单选题有且只有一个识别结果时不进客观题检查", required = true) @RequestParam Boolean enable) {
+        SysConfig sysConfig = commonCacheService.addSysConfigCache(schoolId, SystemConstant.SINGLE_QUESTION_OMR_TASK);
+        if(sysConfig==null){
+            sysConfig = new SysConfig(schoolId, new SysConfigResult(null, SystemConstant.SINGLE_QUESTION_OMR_TASK, "客观题检查扩展条件", enable, 1));
+        }else {
+            sysConfig.setConfigValue(String.valueOf(enable));
         }
-        Optional.ofNullable(sysAdminSetParam.getParam()).orElseThrow(() -> ExceptionResultEnum.PARAMS_ERROR.exception("配置不能为空"));
-
-        List<SysConfigResult> sysConfigResultList = sysAdminSetParam.getParam();
-        List<SysConfig> sysConfigList = new ArrayList<>();
-        for (SysConfigResult s : sysConfigResultList) {
-            sysConfigList.add(new SysConfig(sysAdminSetParam.getSchoolId(), s));
-        }
-        sysConfigService.saveOrUpdateBatch(sysConfigList);
-
-        for (SysConfigResult s : sysConfigResultList) {
-            commonCacheService.updateSysConfigCache(sysAdminSetParam.getSchoolId(), s.getCode());
+        if (sysConfigService.saveOrUpdate(sysConfig)) {
+            commonCacheService.updateSysConfigCache(schoolId, sysConfig.getConfigKey());
         }
-        return ResultUtil.ok(true);
+        return ResultUtil.ok(new SysConfigResult(sysConfig));
     }
 
     @ApiOperation(value = "字体查询")

+ 7 - 4
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/impl/ScanOmrTaskServiceImpl.java

@@ -128,9 +128,9 @@ public class ScanOmrTaskServiceImpl extends ServiceImpl<ScanOmrTaskMapper, ScanO
             if (paper == null) {
                 throw new ParameterException("paper不存在");
             }
-            if (paper.getInvalid()) {
-                continue;
-            }
+//            if (paper.getInvalid()) {
+//                continue;
+//            }
             Long paperId = spe.getPaperId();
             ScanOmrTask task = new ScanOmrTask();
             task.setId(SystemConstant.getDbUuid());
@@ -147,6 +147,9 @@ public class ScanOmrTaskServiceImpl extends ServiceImpl<ScanOmrTaskMapper, ScanO
             retList.add(taskDto);
             // 循环试卷
             for (ScanPaperPage pageEntity : pageList) {
+                if(StringUtils.isBlank(pageEntity.getRecogData())){
+                    continue;
+                }
                 OmrTaskPageDto pageDto = new OmrTaskPageDto(pageEntity.getPageIndex());
                 taskDto.getPage().add(pageDto);
                 List<OmrTaskItem> items = pageDto.getItems();
@@ -159,7 +162,7 @@ public class ScanOmrTaskServiceImpl extends ServiceImpl<ScanOmrTaskMapper, ScanO
                         String result = pageEntity.getQuestion().getResult().get(i);
                         MarkQuestion question = questionList.get(i);
                         //单选题若开启配置,仅有一个选项的不参与识别对照
-                        String answer = result.replaceAll(OMR_SUSPECT,"");
+                        String answer = result.replaceAll("\\?","");
                         if (question.getQuestionType().equals(QuestionType.SINGLE.getValue()) && enableObjectiveOmr && answer.length()==1){
                             continue;
                         }