xiaof преди 2 години
родител
ревизия
4c6cea0207

+ 2 - 2
paper-library-business/src/main/java/com/qmth/paper/library/business/service/PaperLibraryService.java

@@ -23,7 +23,7 @@ public interface PaperLibraryService extends IService<PaperLibrary> {
 
 
     boolean bind(Long paperLibraryId, Long paperScanTaskDetailId);
     boolean bind(Long paperLibraryId, Long paperScanTaskDetailId);
 
 
-    List<String> listStudentPicture(Long paperScanTaskDetailId);
+    List<PaperLibraryResult> listStudentPicture(Long paperScanTaskDetailId);
 
 
     int countBindData(Long paperScanTaskId);
     int countBindData(Long paperScanTaskId);
 
 
@@ -35,5 +35,5 @@ public interface PaperLibraryService extends IService<PaperLibrary> {
 
 
     IPage<TaskStudentResult> pageStudent(Long paperScanTaskId, String param, Integer pageNumber, Integer pageSize);
     IPage<TaskStudentResult> pageStudent(Long paperScanTaskId, String param, Integer pageNumber, Integer pageSize);
 
 
-    String ocr(Long paperLibraryId, Integer index, Integer x, Integer y, Integer width, Integer height);
+    List<String> ocr(Long paperLibraryId, Integer index, Integer x, Integer y, Integer width, Integer height);
 }
 }

+ 36 - 16
paper-library-business/src/main/java/com/qmth/paper/library/business/service/impl/PaperLibraryServiceImpl.java

@@ -39,6 +39,7 @@ import java.time.LocalDateTime;
 import java.util.ArrayList;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.List;
 import java.util.StringJoiner;
 import java.util.StringJoiner;
+import java.util.regex.Pattern;
 
 
 /**
 /**
  * <p>
  * <p>
@@ -111,25 +112,39 @@ public class PaperLibraryServiceImpl extends ServiceImpl<PaperLibraryMapper, Pap
     }
     }
 
 
     @Override
     @Override
-    public List<String> listStudentPicture(Long paperScanTaskDetailId) {
+    public List<PaperLibraryResult> listStudentPicture(Long paperScanTaskDetailId) {
         Long schoolId = SystemConstant.convertIdToLong(String.valueOf(ServletUtil.getRequestHeaderSchoolId()));
         Long schoolId = SystemConstant.convertIdToLong(String.valueOf(ServletUtil.getRequestHeaderSchoolId()));
         QueryWrapper<PaperLibrary> queryWrapper = new QueryWrapper<>();
         QueryWrapper<PaperLibrary> queryWrapper = new QueryWrapper<>();
         queryWrapper.lambda().eq(PaperLibrary::getSchoolId, schoolId)
         queryWrapper.lambda().eq(PaperLibrary::getSchoolId, schoolId)
                 .eq(PaperLibrary::getPaperScanTaskDetailId, paperScanTaskDetailId)
                 .eq(PaperLibrary::getPaperScanTaskDetailId, paperScanTaskDetailId)
                 .orderByAsc(PaperLibrary::getSequence);
                 .orderByAsc(PaperLibrary::getSequence);
         List<PaperLibrary> paperLibraryList = this.list(queryWrapper);
         List<PaperLibrary> paperLibraryList = this.list(queryWrapper);
-        List<String> fileUrls = new ArrayList<>();
+        List<PaperLibraryResult> paperLibraryResultList = new ArrayList<>();
         for (PaperLibrary paperLibrary : paperLibraryList) {
         for (PaperLibrary paperLibrary : paperLibraryList) {
+            PaperLibraryResult paperLibraryResult = new PaperLibraryResult();
+            BeanUtils.copyProperties(paperLibrary, paperLibraryResult);
             String fileUrl = paperLibrary.getPath();
             String fileUrl = paperLibrary.getPath();
             if (StringUtils.isBlank(fileUrl)) {
             if (StringUtils.isBlank(fileUrl)) {
                 throw ExceptionResultEnum.ERROR.exception("未找到图片路径");
                 throw ExceptionResultEnum.ERROR.exception("未找到图片路径");
             }
             }
             List<JSONObject> objectList = JSON.parseArray(fileUrl, JSONObject.class);
             List<JSONObject> objectList = JSON.parseArray(fileUrl, JSONObject.class);
+            List<String> fileUrls = new ArrayList<>();
             for (JSONObject jsonObject : objectList) {
             for (JSONObject jsonObject : objectList) {
                 fileUrls.add(paperLibraryCommonService.preViewPath(jsonObject.getString(SystemConstant.PATH), jsonObject.getString(SystemConstant.UPLOAD_TYPE), jsonObject.getString(SystemConstant.TYPE), false));
                 fileUrls.add(paperLibraryCommonService.preViewPath(jsonObject.getString(SystemConstant.PATH), jsonObject.getString(SystemConstant.UPLOAD_TYPE), jsonObject.getString(SystemConstant.TYPE), false));
             }
             }
+            PaperScanTaskResult paperScanTaskResult = paperScanTaskService.getByPaperScanTaskId(paperLibrary.getPaperScanTaskId());
+            if (paperScanTaskResult != null) {
+                paperLibraryResult.setSemesterName(paperScanTaskResult.getSemesterName());
+                paperLibraryResult.setPaperArchivesName(paperScanTaskResult.getArchivesName());
+                paperLibraryResult.setPaperScanTaskName(paperScanTaskResult.getScanTaskName());
+                paperLibraryResult.setCourseName(paperScanTaskResult.getCourseName());
+                paperLibraryResult.setTeacherName(paperScanTaskResult.getTeacherName());
+                paperLibraryResult.setTeachClazzName(paperScanTaskResult.getTeachClazzName());
+            }
+            paperLibraryResult.setFileUrls(fileUrls);
+            paperLibraryResultList.add(paperLibraryResult);
         }
         }
-        return fileUrls;
+        return paperLibraryResultList;
     }
     }
 
 
     @Override
     @Override
@@ -198,14 +213,13 @@ public class PaperLibraryServiceImpl extends ServiceImpl<PaperLibraryMapper, Pap
     }
     }
 
 
     @Override
     @Override
-    public String ocr(Long paperLibraryId, Integer index, Integer x, Integer y, Integer width, Integer height) {
+    public List<String> ocr(Long paperLibraryId, Integer index, Integer x, Integer y, Integer width, Integer height) {
         QueryWrapper<PaperLibrary> queryWrapper = new QueryWrapper<>();
         QueryWrapper<PaperLibrary> queryWrapper = new QueryWrapper<>();
         queryWrapper.lambda().eq(PaperLibrary::getId, paperLibraryId);
         queryWrapper.lambda().eq(PaperLibrary::getId, paperLibraryId);
         PaperLibrary paperLibrary = this.getOne(queryWrapper);
         PaperLibrary paperLibrary = this.getOne(queryWrapper);
         List<JSONObject> objectList = JSON.parseArray(paperLibrary.getPath(), JSONObject.class);
         List<JSONObject> objectList = JSON.parseArray(paperLibrary.getPath(), JSONObject.class);
         JSONObject jsonObject = objectList.get(index);
         JSONObject jsonObject = objectList.get(index);
 
 
-
         StringJoiner stringJoiner = new StringJoiner("");
         StringJoiner stringJoiner = new StringJoiner("");
         stringJoiner.add(dictionaryConfig.fssLocalFileDomain().getConfig()).add(File.separator);
         stringJoiner.add(dictionaryConfig.fssLocalFileDomain().getConfig()).add(File.separator);
         LocalDateTime nowTime = LocalDateTime.now();
         LocalDateTime nowTime = LocalDateTime.now();
@@ -224,22 +238,28 @@ public class PaperLibraryServiceImpl extends ServiceImpl<PaperLibraryMapper, Pap
         if (subFile == null) {
         if (subFile == null) {
             throw ExceptionResultEnum.ERROR.exception("识别区域图片生成失败");
             throw ExceptionResultEnum.ERROR.exception("识别区域图片生成失败");
         }
         }
+
+        List<String> stringList = new ArrayList<>();
         try {
         try {
             org.json.JSONObject callHandwriting = ocrUtil.callHandwriting(subFile.getPath());
             org.json.JSONObject callHandwriting = ocrUtil.callHandwriting(subFile.getPath());
             JSONArray jsonArray = callHandwriting.getJSONArray(SystemConstant.OCR_WORDS_RESULT);
             JSONArray jsonArray = callHandwriting.getJSONArray(SystemConstant.OCR_WORDS_RESULT);
             if (jsonArray.length() == 0) {
             if (jsonArray.length() == 0) {
                 throw ExceptionResultEnum.ERROR.exception("未正确识别出内容");
                 throw ExceptionResultEnum.ERROR.exception("未正确识别出内容");
-            } else if (jsonArray.length() != 1) {
-                throw ExceptionResultEnum.ERROR.exception("检测出多条数据,请重新设置识别区");
             } else {
             } else {
-                org.json.JSONObject object = jsonArray.getJSONObject(0);
-                if (object.has(SystemConstant.OCR_WORDS)) {
-                    // 保存识别数据
-                    UpdateWrapper<PaperLibrary> updateWrapper = new UpdateWrapper<>();
-                    updateWrapper.lambda().set(PaperLibrary::getWordsResult, jsonArray.toString()).eq(PaperLibrary::getId, paperLibraryId);
-                    this.updateById(paperLibrary);
-                    return object.getString(SystemConstant.OCR_WORDS);
-                }
+                // 保存识别数据
+                UpdateWrapper<PaperLibrary> updateWrapper = new UpdateWrapper<>();
+                updateWrapper.lambda().set(PaperLibrary::getWordsResult, jsonArray.toString()).eq(PaperLibrary::getId, paperLibraryId);
+                this.updateById(paperLibrary);
+
+                // 过滤掉非学号类型的数据
+                jsonArray.forEach(m -> {
+                    org.json.JSONObject object = (org.json.JSONObject) m;
+                    if (object.has(SystemConstant.OCR_WORDS)) {
+                        String string = object.getString(SystemConstant.OCR_WORDS);
+//                        if (Pattern.matches(SystemConstant.REGULAR_EXPRESSION_OF_NUMBER_LETTER, string))
+                            stringList.add(string);
+                    }
+                });
             }
             }
         } catch (JSONException e) {
         } catch (JSONException e) {
             throw ExceptionResultEnum.ERROR.exception(e.getMessage());
             throw ExceptionResultEnum.ERROR.exception(e.getMessage());
@@ -247,7 +267,7 @@ public class PaperLibraryServiceImpl extends ServiceImpl<PaperLibraryMapper, Pap
             file.delete();
             file.delete();
             subFile.delete();
             subFile.delete();
         }
         }
-        return null;
+        return stringList;
     }
     }
 
 
     private List<PaperLibrary> createBindData(Long userId, Long schoolId) {
     private List<PaperLibrary> createBindData(Long userId, Long schoolId) {

+ 1 - 1
paper-library-business/src/main/resources/mapper/PaperArchivesMapper.xml

@@ -105,7 +105,7 @@
             pst.create_time createTime
             pst.create_time createTime
         FROM
         FROM
             paper_archives pa
             paper_archives pa
-                LEFT JOIN
+                JOIN
             paper_scan_task pst ON pa.school_id = pst.school_id
             paper_scan_task pst ON pa.school_id = pst.school_id
                 AND pa.id = pst.paper_archives_id
                 AND pa.id = pst.paper_archives_id
                 LEFT JOIN
                 LEFT JOIN

+ 1 - 0
paper-library-common/src/main/java/com/qmth/paper/library/common/contant/SystemConstant.java

@@ -91,6 +91,7 @@ public class SystemConstant {
     public static final String REGULAR_EXPRESSION_OF_CODE_PRIMARY_DIMENSION = "[A-Z]";
     public static final String REGULAR_EXPRESSION_OF_CODE_PRIMARY_DIMENSION = "[A-Z]";
     public static final String REGULAR_EXPRESSION_OF_CODE_SECOND_DIMENSION = "[A-Z][1-9][0-9]*";
     public static final String REGULAR_EXPRESSION_OF_CODE_SECOND_DIMENSION = "[A-Z][1-9][0-9]*";
     public static final String REGULAR_EXPRESSION_OF_NUMBER = "^\\d{n}$";
     public static final String REGULAR_EXPRESSION_OF_NUMBER = "^\\d{n}$";
+    public static final String REGULAR_EXPRESSION_OF_NUMBER_LETTER = "^\\w+$";
 
 
     /**
     /**
      * oss url过期时间
      * oss url过期时间

+ 0 - 15
paper-library-common/src/main/java/com/qmth/paper/library/common/entity/SysSetting.java

@@ -24,13 +24,6 @@ public class SysSetting extends BaseEntity implements Serializable {
     @TableField("school_id")
     @TableField("school_id")
     private Long schoolId;
     private Long schoolId;
 
 
-
-    /**
-     * 学校logo
-     */
-    @TableField("school_logo")
-    private String schoolLogo;
-
     /**
     /**
      * 是否开启ocr识别
      * 是否开启ocr识别
      */
      */
@@ -45,14 +38,6 @@ public class SysSetting extends BaseEntity implements Serializable {
         this.schoolId = schoolId;
         this.schoolId = schoolId;
     }
     }
 
 
-    public String getSchoolLogo() {
-        return schoolLogo;
-    }
-
-    public void setSchoolLogo(String schoolLogo) {
-        this.schoolLogo = schoolLogo;
-    }
-
     public Boolean getOpenOcr() {
     public Boolean getOpenOcr() {
         return openOcr;
         return openOcr;
     }
     }

+ 11 - 9
paper-library-common/src/main/java/com/qmth/paper/library/common/service/impl/SysSettingServiceImpl.java

@@ -40,23 +40,25 @@ public class SysSettingServiceImpl extends ServiceImpl<SysSettingMapper, SysSett
     @Override
     @Override
     public boolean saveData(SysSetting sysSetting) {
     public boolean saveData(SysSetting sysSetting) {
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
-        SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
+        Long userId = Long.valueOf(ServletUtil.getRequestHeaderUserId().toString());
+
+        QueryWrapper<SysSetting> queryWrapper = new QueryWrapper<>();
+        queryWrapper.lambda().eq(SysSetting::getSchoolId, schoolId);
+        SysSetting oldSysSetting = this.getOne(queryWrapper);
+
         // 新增
         // 新增
-        if (sysSetting.getId() == null) {
+        if (oldSysSetting == null) {
             sysSetting.setId(SystemConstant.getDbUuid());
             sysSetting.setId(SystemConstant.getDbUuid());
-            sysSetting.setCreateId(sysUser.getId());
+            sysSetting.setSchoolId(schoolId);
+            sysSetting.setCreateId(userId);
             sysSetting.setCreateTime(System.currentTimeMillis());
             sysSetting.setCreateTime(System.currentTimeMillis());
             return this.save(sysSetting);
             return this.save(sysSetting);
         } else {
         } else {
-            SysSetting oldSysSetting = this.getById(sysSetting.getId());
-            if (oldSysSetting == null) {
-                throw ExceptionResultEnum.ERROR.exception("未找到数据");
-            } else if (!oldSysSetting.getSchoolId().equals(schoolId)) {
+             if (!oldSysSetting.getSchoolId().equals(schoolId)) {
                 throw ExceptionResultEnum.ERROR.exception("查询数据学校与当前学校不一致");
                 throw ExceptionResultEnum.ERROR.exception("查询数据学校与当前学校不一致");
             }
             }
-            oldSysSetting.setSchoolLogo(sysSetting.getSchoolLogo());
             oldSysSetting.setOpenOcr(sysSetting.getOpenOcr());
             oldSysSetting.setOpenOcr(sysSetting.getOpenOcr());
-            oldSysSetting.setUpdateId(sysUser.getId());
+            oldSysSetting.setUpdateId(userId);
             oldSysSetting.setUpdateTime(System.currentTimeMillis());
             oldSysSetting.setUpdateTime(System.currentTimeMillis());
             return this.updateById(oldSysSetting);
             return this.updateById(oldSysSetting);
         }
         }

+ 5 - 3
paper-library/src/main/java/com/qmth/paper/library/api/PaperLibraryController.java

@@ -10,9 +10,11 @@ import com.qmth.paper.library.common.contant.SystemConstant;
 import com.qmth.paper.library.common.util.Result;
 import com.qmth.paper.library.common.util.Result;
 import com.qmth.paper.library.common.util.ResultUtil;
 import com.qmth.paper.library.common.util.ResultUtil;
 import io.swagger.annotations.*;
 import io.swagger.annotations.*;
-import org.json.JSONObject;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
 
 
 import javax.annotation.Resource;
 import javax.annotation.Resource;
 import javax.validation.constraints.Max;
 import javax.validation.constraints.Max;
@@ -113,7 +115,7 @@ public class PaperLibraryController {
                       @ApiParam(value = "x") @RequestParam Integer x,
                       @ApiParam(value = "x") @RequestParam Integer x,
                       @ApiParam(value = "y") @RequestParam Integer y,
                       @ApiParam(value = "y") @RequestParam Integer y,
                       @ApiParam(value = "width") @RequestParam Integer width,
                       @ApiParam(value = "width") @RequestParam Integer width,
-                      @ApiParam(value = "height") @RequestParam Integer height){
+                      @ApiParam(value = "height") @RequestParam Integer height) {
         return ResultUtil.ok(paperLibraryService.ocr(paperLibraryId, index, x, y, width, height), null);
         return ResultUtil.ok(paperLibraryService.ocr(paperLibraryId, index, x, y, width, height), null);
     }
     }
 }
 }

+ 0 - 1
sql/paper-library-1.0.0.sql

@@ -1030,7 +1030,6 @@ DROP TABLE IF EXISTS `sys_setting`;
 CREATE TABLE `sys_setting` (
 CREATE TABLE `sys_setting` (
       `id` BIGINT(20) NOT NULL,
       `id` BIGINT(20) NOT NULL,
       `school_id` BIGINT(20) NOT NULL COMMENT '学校Id',
       `school_id` BIGINT(20) NOT NULL COMMENT '学校Id',
-      `school_logo` VARCHAR(500) NULL COMMENT '学校logo',
       `open_ocr` TINYINT(1) NULL DEFAULT 0 COMMENT '是否开启ocr识别,默认否(0)',
       `open_ocr` TINYINT(1) NULL DEFAULT 0 COMMENT '是否开启ocr识别,默认否(0)',
       `create_id` bigint(20) NULL DEFAULT NULL COMMENT '创建人',
       `create_id` bigint(20) NULL DEFAULT NULL COMMENT '创建人',
       `create_time` bigint(20) NULL DEFAULT NULL COMMENT '创建时间',
       `create_time` bigint(20) NULL DEFAULT NULL COMMENT '创建时间',