فهرست منبع

联调bug修改

xiaof 2 سال پیش
والد
کامیت
cc14220066
34فایلهای تغییر یافته به همراه475 افزوده شده و 253 حذف شده
  1. 5 5
      paper-library-business/src/main/java/com/qmth/paper/library/business/bean/result/PaperArchivesResult.java
  2. 44 0
      paper-library-business/src/main/java/com/qmth/paper/library/business/bean/result/PaperLibraryResult.java
  3. 11 0
      paper-library-business/src/main/java/com/qmth/paper/library/business/bean/result/PaperScanTaskResult.java
  4. 2 0
      paper-library-business/src/main/java/com/qmth/paper/library/business/mapper/PaperArchivesMapper.java
  5. 4 2
      paper-library-business/src/main/java/com/qmth/paper/library/business/mapper/PaperScanTaskMapper.java
  6. 2 0
      paper-library-business/src/main/java/com/qmth/paper/library/business/service/PaperArchivesService.java
  7. 2 0
      paper-library-business/src/main/java/com/qmth/paper/library/business/service/PaperLibraryService.java
  8. 2 0
      paper-library-business/src/main/java/com/qmth/paper/library/business/service/PaperScanTaskService.java
  9. 12 2
      paper-library-business/src/main/java/com/qmth/paper/library/business/service/impl/ClientServiceImpl.java
  10. 7 0
      paper-library-business/src/main/java/com/qmth/paper/library/business/service/impl/PaperArchivesServiceImpl.java
  11. 24 1
      paper-library-business/src/main/java/com/qmth/paper/library/business/service/impl/PaperLibraryServiceImpl.java
  12. 14 3
      paper-library-business/src/main/java/com/qmth/paper/library/business/service/impl/PaperScanTaskServiceImpl.java
  13. 4 4
      paper-library-business/src/main/java/com/qmth/paper/library/business/templete/service/impl/TaskLogicServiceImpl.java
  14. 14 2
      paper-library-business/src/main/resources/mapper/PaperArchivesMapper.xml
  15. 20 0
      paper-library-business/src/main/resources/mapper/PaperScanTaskMapper.xml
  16. 63 0
      paper-library-common/src/main/java/com/qmth/paper/library/common/entity/SysSetting.java
  17. 14 0
      paper-library-common/src/main/java/com/qmth/paper/library/common/entity/SysUser.java
  18. 3 7
      paper-library-common/src/main/java/com/qmth/paper/library/common/enums/RoleTypeEnum.java
  19. 0 41
      paper-library-common/src/main/java/com/qmth/paper/library/common/enums/userPush/SpecialPrivilegeEnum.java
  20. 13 0
      paper-library-common/src/main/java/com/qmth/paper/library/common/mapper/SysSettingMapper.java
  21. 1 14
      paper-library-common/src/main/java/com/qmth/paper/library/common/service/SysOrgService.java
  22. 16 0
      paper-library-common/src/main/java/com/qmth/paper/library/common/service/SysSettingService.java
  23. 0 11
      paper-library-common/src/main/java/com/qmth/paper/library/common/service/SysUserService.java
  24. 1 1
      paper-library-common/src/main/java/com/qmth/paper/library/common/service/impl/LibraryCommonServiceImpl.java
  25. 8 98
      paper-library-common/src/main/java/com/qmth/paper/library/common/service/impl/SysOrgServiceImpl.java
  26. 64 0
      paper-library-common/src/main/java/com/qmth/paper/library/common/service/impl/SysSettingServiceImpl.java
  27. 0 46
      paper-library-common/src/main/java/com/qmth/paper/library/common/service/impl/SysUserServiceImpl.java
  28. 20 0
      paper-library-common/src/main/resources/mapper/SysSettingMapper.xml
  29. 2 1
      paper-library-common/src/main/resources/mapper/SysUserMapper.xml
  30. 13 5
      paper-library/src/main/java/com/qmth/paper/library/api/ConditionController.java
  31. 1 1
      paper-library/src/main/java/com/qmth/paper/library/api/PaperLibraryController.java
  32. 2 4
      paper-library/src/main/java/com/qmth/paper/library/api/SysOrgController.java
  33. 57 0
      paper-library/src/main/java/com/qmth/paper/library/api/SysSettingController.java
  34. 30 5
      sql/paper-library-1.0.0.sql

+ 5 - 5
paper-library-business/src/main/java/com/qmth/paper/library/business/bean/result/PaperArchivesResult.java

@@ -8,7 +8,7 @@ public class PaperArchivesResult extends PaperArchives {
 
     private String semesterName;
 
-    private String orgName;
+    private String managerName;
 
     private String managerOrgName;
 
@@ -28,12 +28,12 @@ public class PaperArchivesResult extends PaperArchives {
         this.semesterName = semesterName;
     }
 
-    public String getOrgName() {
-        return orgName;
+    public String getManagerName() {
+        return managerName;
     }
 
-    public void setOrgName(String orgName) {
-        this.orgName = orgName;
+    public void setManagerName(String managerName) {
+        this.managerName = managerName;
     }
 
     public String getManagerOrgName() {

+ 44 - 0
paper-library-business/src/main/java/com/qmth/paper/library/business/bean/result/PaperLibraryResult.java

@@ -11,6 +11,12 @@ import java.util.List;
  */
 public class PaperLibraryResult extends PaperLibrary implements Serializable {
 
+    @ApiModelProperty(value = "学期名称")
+    private String semesterName;
+
+    @ApiModelProperty(value = "档案名称")
+    private String paperArchivesName;
+
     @ApiModelProperty(value = "学生姓名")
     private String studentName;
 
@@ -20,6 +26,12 @@ public class PaperLibraryResult extends PaperLibrary implements Serializable {
     @ApiModelProperty(value = "课程")
     private String courseName;
 
+    @ApiModelProperty(value = "任课老师")
+    private String teacherName;
+
+    @ApiModelProperty(value = "教学班")
+    private String teachClazzName;
+
     @ApiModelProperty(value = "绑定图片数量")
     private int bindCount;
 
@@ -29,6 +41,22 @@ public class PaperLibraryResult extends PaperLibrary implements Serializable {
     @ApiModelProperty(value = "扫描任务名称")
     private String paperScanTaskName;
 
+    public String getSemesterName() {
+        return semesterName;
+    }
+
+    public void setSemesterName(String semesterName) {
+        this.semesterName = semesterName;
+    }
+
+    public String getPaperArchivesName() {
+        return paperArchivesName;
+    }
+
+    public void setPaperArchivesName(String paperArchivesName) {
+        this.paperArchivesName = paperArchivesName;
+    }
+
     public String getStudentName() {
         return studentName;
     }
@@ -53,6 +81,22 @@ public class PaperLibraryResult extends PaperLibrary implements Serializable {
         this.courseName = courseName;
     }
 
+    public String getTeacherName() {
+        return teacherName;
+    }
+
+    public void setTeacherName(String teacherName) {
+        this.teacherName = teacherName;
+    }
+
+    public String getTeachClazzName() {
+        return teachClazzName;
+    }
+
+    public void setTeachClazzName(String teachClazzName) {
+        this.teachClazzName = teachClazzName;
+    }
+
     public int getBindCount() {
         return bindCount;
     }

+ 11 - 0
paper-library-business/src/main/java/com/qmth/paper/library/business/bean/result/PaperScanTaskResult.java

@@ -24,6 +24,9 @@ public class PaperScanTaskResult implements Serializable {
     @ApiModelProperty(value = "扫描任务名称")
     private String scanTaskName;
 
+    @ApiModelProperty(value = "学期名称")
+    private String semesterName;
+
     @ApiModelProperty(value = "档案表id")
     @JsonSerialize(using = ToStringSerializer.class)
     private Long paperArchivesId;
@@ -67,6 +70,14 @@ public class PaperScanTaskResult implements Serializable {
         this.paperScanTaskId = paperScanTaskId;
     }
 
+    public String getSemesterName() {
+        return semesterName;
+    }
+
+    public void setSemesterName(String semesterName) {
+        this.semesterName = semesterName;
+    }
+
     public Long getSchoolId() {
         return schoolId;
     }

+ 2 - 0
paper-library-business/src/main/java/com/qmth/paper/library/business/mapper/PaperArchivesMapper.java

@@ -25,4 +25,6 @@ public interface PaperArchivesMapper extends BaseMapper<PaperArchives> {
     List<SelectResult> queryManagerOrg(@Param("schoolId") Long schoolId, @Param("semesterId") Long semesterId);
 
     IPage<PaperArchivesDetailResult> pageDetail(@Param("page") Page<PaperArchivesDetailResult> page, @Param("paperArchivesId") Long paperArchivesId, @Param("belongOrgId") Long belongOrgId, @Param("majorName") String majorName, @Param("clazzName") String clazzName, @Param("courseName") String courseName, @Param("teacherName") String teacherName, @Param("teachClazzName") String teachClazzName, @Param("isBind") Boolean isBind, @Param("param") String param);
+
+    List<SelectResult> queryManagerUser(@Param("schoolId") Long schoolId, @Param("roleType") String roleType);
 }

+ 4 - 2
paper-library-business/src/main/java/com/qmth/paper/library/business/mapper/PaperScanTaskMapper.java

@@ -64,7 +64,9 @@ public interface PaperScanTaskMapper extends BaseMapper<PaperScanTask> {
     List<BindDetailResult> findBindDetailByScanTaskId(@Param("schoolId") Long schoolId,
                                                       @Param("paperScanTaskId") Long paperScanTaskId);
 
-    List<SelectResult> queryCourse(@Param("paperArchivesId") Long paperArchivesId, @Param("semesterId") Long semesterId);
+    List<SelectResult> queryCourse(@Param("schoolId") Long schoolId, @Param("paperArchivesId") Long paperArchivesId, @Param("semesterId") Long semesterId);
 
-    List<SelectResult> queryDataTeachClazz(@Param("paperArchivesId") Long paperArchivesId, @Param("courseName") String courseName);
+    List<SelectResult> queryDataTeachClazz(@Param("schoolId") Long schoolId, @Param("paperArchivesId") Long paperArchivesId, @Param("courseName") String courseName);
+
+    PaperScanTaskResult getByPaperScanTaskId(@Param("paperScanTaskId") Long paperScanTaskId);
 }

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

@@ -27,4 +27,6 @@ public interface PaperArchivesService extends IService<PaperArchives> {
     List<SelectResult> queryArchives(Long semesterId);
 
     IPage<PaperArchivesDetailResult> pageDetail(Long paperArchivesId, Long belongOrgId, String majorName, String clazzName, String courseName, String teacherName, String teachClazzName, Boolean isBind, String param, Integer pageNumber, Integer pageSize);
+
+    List<SelectResult> queryManagerUser();
 }

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

@@ -30,4 +30,6 @@ public interface PaperLibraryService extends IService<PaperLibrary> {
     List<PaperLibraryResult> toBindPaper();
 
     List<TaskStudentResult> listByStudentCode(String studentCode);
+
+    int countScanCount(Long paperScanTaskId);
 }

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

@@ -108,4 +108,6 @@ public interface PaperScanTaskService extends IService<PaperScanTask> {
     List<SelectResult> queryDataTeachClazz(Long paperArchivesId, String courseName);
 
     List<SelectResult> queryScanTask(Long paperArchivesId);
+
+    PaperScanTaskResult getByPaperScanTaskId(Long paperScanTaskId);
 }

+ 12 - 2
paper-library-business/src/main/java/com/qmth/paper/library/business/service/impl/ClientServiceImpl.java

@@ -22,6 +22,7 @@ import com.qmth.paper.library.common.util.ServletUtil;
 import org.apache.commons.codec.digest.DigestUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.multipart.MultipartFile;
 
 import javax.annotation.Resource;
@@ -82,7 +83,7 @@ public class ClientServiceImpl implements ClientService {
     @Override
     public void checkPrivilege(Long userId) {
         List<SysPrivilege> sysPrivileges = sysPrivilegeService.getClientUrlByUserId(userId);
-        long count = sysPrivileges.stream().filter(m -> "客户端".equals(m.getName()) && "client".equals(m.getUrl())).count();
+        long count = sysPrivileges.stream().filter(m -> "client".equalsIgnoreCase(m.getUrl())).count();
         if (count == 0) {
             throw ExceptionResultEnum.ERROR.exception("用户没有权限,无法登录");
         }
@@ -117,6 +118,7 @@ public class ClientServiceImpl implements ClientService {
         }
     }
 
+    @Transactional
     @Override
     public boolean pictureUpload(Long paperScanTaskId, MultipartFile frontFile, String frontMd5, MultipartFile versoFile, String versoMd5) {
         Long userId = Long.valueOf(ServletUtil.getRequestHeaderUserId().toString());
@@ -149,7 +151,15 @@ public class ClientServiceImpl implements ClientService {
             paperLibrary.setPath(path);
             paperLibrary.setCreateId(userId);
             paperLibrary.setCreateTime(System.currentTimeMillis());
-            return paperLibraryService.save(paperLibrary);
+            paperLibraryService.save(paperLibrary);
+
+            // 统计扫描数量
+            int count = paperLibraryService.countScanCount(paperScanTaskId);
+            UpdateWrapper<PaperScanTask> updateWrapper = new UpdateWrapper<>();
+            updateWrapper.lambda().set(PaperScanTask::getScanCount, count)
+                    .eq(PaperScanTask::getId, paperScanTaskId);
+            paperScanTaskService.update(updateWrapper);
+            return true;
 
         } catch (IOException e) {
             throw ExceptionResultEnum.ERROR.exception("上传图片失败:" + e.getMessage());

+ 7 - 0
paper-library-business/src/main/java/com/qmth/paper/library/business/service/impl/PaperArchivesServiceImpl.java

@@ -17,6 +17,7 @@ import com.qmth.paper.library.business.service.PaperScanTaskService;
 import com.qmth.paper.library.common.contant.SystemConstant;
 import com.qmth.paper.library.common.entity.SysUser;
 import com.qmth.paper.library.common.enums.ExceptionResultEnum;
+import com.qmth.paper.library.common.enums.RoleTypeEnum;
 import com.qmth.paper.library.common.util.ServletUtil;
 import org.springframework.stereotype.Service;
 
@@ -131,4 +132,10 @@ public class PaperArchivesServiceImpl extends ServiceImpl<PaperArchivesMapper, P
         return detailResultIPage;
     }
 
+    @Override
+    public List<SelectResult> queryManagerUser() {
+        Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
+        return this.baseMapper.queryManagerUser(schoolId, RoleTypeEnum.ARCHIVIST.name());
+    }
+
 }

+ 24 - 1
paper-library-business/src/main/java/com/qmth/paper/library/business/service/impl/PaperLibraryServiceImpl.java

@@ -8,6 +8,7 @@ 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.paper.library.business.bean.result.PaperLibraryResult;
+import com.qmth.paper.library.business.bean.result.PaperScanTaskResult;
 import com.qmth.paper.library.business.bean.result.TaskStudentResult;
 import com.qmth.paper.library.business.entity.PaperLibrary;
 import com.qmth.paper.library.business.entity.PaperScanTaskDetail;
@@ -15,6 +16,7 @@ import com.qmth.paper.library.business.mapper.PaperLibraryMapper;
 import com.qmth.paper.library.business.service.PaperLibraryCommonService;
 import com.qmth.paper.library.business.service.PaperLibraryService;
 import com.qmth.paper.library.business.service.PaperScanTaskDetailService;
+import com.qmth.paper.library.business.service.PaperScanTaskService;
 import com.qmth.paper.library.common.contant.SystemConstant;
 import com.qmth.paper.library.common.entity.SysUser;
 import com.qmth.paper.library.common.enums.ExceptionResultEnum;
@@ -38,6 +40,9 @@ import java.util.List;
 @Service
 public class PaperLibraryServiceImpl extends ServiceImpl<PaperLibraryMapper, PaperLibrary> implements PaperLibraryService {
 
+    @Resource
+    PaperScanTaskService paperScanTaskService;
+
     @Resource
     PaperScanTaskDetailService paperScanTaskDetailService;
 
@@ -138,6 +143,15 @@ public class PaperLibraryServiceImpl extends ServiceImpl<PaperLibraryMapper, Pap
                 for (JSONObject jsonObject : objectList) {
                     fileUrls.add(paperLibraryCommonService.preViewPath(jsonObject.getString(SystemConstant.PATH), jsonObject.getString(SystemConstant.UPLOAD_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);
             }
@@ -147,13 +161,22 @@ public class PaperLibraryServiceImpl extends ServiceImpl<PaperLibraryMapper, Pap
 
     @Override
     public List<TaskStudentResult> listByStudentCode(String studentCode) {
-        if(StringUtils.isBlank(studentCode)){
+        if (StringUtils.isBlank(studentCode)) {
             throw ExceptionResultEnum.ERROR.exception("请输入考号");
         }
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
         return this.baseMapper.listByStudentCode(schoolId, studentCode);
     }
 
+    @Override
+    public int countScanCount(Long paperScanTaskId) {
+        Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
+        QueryWrapper<PaperLibrary> queryWrapper = new QueryWrapper<>();
+        queryWrapper.lambda().eq(PaperLibrary::getSchoolId, schoolId)
+                .eq(PaperLibrary::getPaperScanTaskId, paperScanTaskId);
+        return this.count(queryWrapper);
+    }
+
     private List<PaperLibrary> createBindData(Long userId, Long schoolId) {
         try {
             lockService.waitlock(LockType.BIND_PAPER_TASK, schoolId);

+ 14 - 3
paper-library-business/src/main/java/com/qmth/paper/library/business/service/impl/PaperScanTaskServiceImpl.java

@@ -270,18 +270,24 @@ public class PaperScanTaskServiceImpl extends ServiceImpl<PaperScanTaskMapper, P
 
     @Override
     public List<SelectResult> queryCourse(Long paperArchivesId, Long semesterId) {
-        return this.baseMapper.queryCourse(paperArchivesId, semesterId);
+        Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
+        return this.baseMapper.queryCourse(schoolId, paperArchivesId, semesterId);
     }
 
     @Override
     public List<SelectResult> queryDataTeachClazz(Long paperArchivesId, String courseName) {
-        return this.baseMapper.queryDataTeachClazz(paperArchivesId, courseName);
+        Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
+        return this.baseMapper.queryDataTeachClazz(schoolId, paperArchivesId, courseName);
     }
 
     @Override
     public List<SelectResult> queryScanTask(Long paperArchivesId) {
+        Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
         QueryWrapper<PaperScanTask> queryWrapper = new QueryWrapper<>();
-        queryWrapper.lambda().eq(PaperScanTask::getPaperArchivesId, paperArchivesId);
+        queryWrapper.lambda().eq(PaperScanTask::getSchoolId, schoolId);
+        if (paperArchivesId != null) {
+            queryWrapper.lambda().eq(PaperScanTask::getPaperArchivesId, paperArchivesId);
+        }
         List<PaperScanTask> paperScanTaskList = this.list(queryWrapper);
         return paperScanTaskList.stream().map(m -> {
             SelectResult result = new SelectResult();
@@ -290,4 +296,9 @@ public class PaperScanTaskServiceImpl extends ServiceImpl<PaperScanTaskMapper, P
             return result;
         }).collect(Collectors.toList());
     }
+
+    @Override
+    public PaperScanTaskResult getByPaperScanTaskId(Long paperScanTaskId) {
+        return this.baseMapper.getByPaperScanTaskId(paperScanTaskId);
+    }
 }

+ 4 - 4
paper-library-business/src/main/java/com/qmth/paper/library/business/templete/service/impl/TaskLogicServiceImpl.java

@@ -220,7 +220,7 @@ public class TaskLogicServiceImpl implements TaskLogicService {
             // 归纳 - 扫描任务详情
             // 上面编辑的任务绑定的扫描详情集合
             List<PaperScanTaskDetail> paperScanTaskDetailDbList = new ArrayList<>();
-            if (paperScanTaskIdList.size() > 0){
+            if (paperScanTaskIdList.size() > 0) {
                 paperScanTaskDetailDbList = paperScanTaskDetailService.list(new QueryWrapper<PaperScanTaskDetail>()
                         .lambda()
                         .in(PaperScanTaskDetail::getPaperScanTaskId, paperScanTaskIdList)
@@ -265,13 +265,13 @@ public class TaskLogicServiceImpl implements TaskLogicService {
             // 更新扫描任务冗余字段扫描份数(学生数量)
             List<PaperScanTask> paperScanTaskList = paperScanTaskService.list(new QueryWrapper<PaperScanTask>()
                     .lambda()
-                    .eq(PaperScanTask::getSchoolId,schoolId)
-                    .eq(PaperScanTask::getPaperArchivesId,paperArchivesId));
+                    .eq(PaperScanTask::getSchoolId, schoolId)
+                    .eq(PaperScanTask::getPaperArchivesId, paperArchivesId));
             for (PaperScanTask paperScanTask : paperScanTaskList) {
                 Long paperScanTaskId = paperScanTask.getId();
                 int studentCount = paperScanTaskDetailService.count(new QueryWrapper<PaperScanTaskDetail>()
                         .lambda()
-                        .eq(PaperScanTaskDetail::getPaperScanTaskId,paperScanTaskId));
+                        .eq(PaperScanTaskDetail::getPaperScanTaskId, paperScanTaskId));
                 paperScanTask.setStudentCount(studentCount);
             }
             paperScanTaskService.saveOrUpdateBatch(paperScanTaskList);

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

@@ -29,8 +29,8 @@
             pa.archives_name archivesName,
             pa.archives_code archivesCode,
             pa.archives_type_id archivesTypeId,
-            pat.archives_type_name archivesTypeName,
-            pa.semester_id semesterName,
+            pat.name archivesTypeName,
+            pa.semester_id semesterId,
             bs.name semesterName,
             pa.manager_org_id managerOrgId,
             so.name managerOrgName,
@@ -144,4 +144,16 @@
             </if>
         </where>
     </select>
+    <select id="queryManagerUser" resultType="com.qmth.paper.library.business.bean.result.SelectResult">
+        SELECT
+            su.id, su.code, su.real_name name
+        FROM
+            sys_user su
+                JOIN
+            sys_user_role sur ON su.id = sur.user_id
+                JOIN
+            sys_role sr ON sur.role_id = sr.id
+        WHERE
+            su.school_id = #{schoolId} AND sr.type = #{roleType}
+    </select>
 </mapper>

+ 20 - 0
paper-library-business/src/main/resources/mapper/PaperScanTaskMapper.xml

@@ -118,6 +118,7 @@
             paper_archives pa ON pst.school_id = pa.school_id
                 AND pst.paper_archives_id = pa.id
         <where>
+            pa.school_id = #{schoolId}
             <if test="paperArchivesId != null">
                 and pst.paper_archives_id = #{paperArchivesId}
             </if>
@@ -132,6 +133,7 @@
         FROM
             paper_scan_task pst
         <where>
+            pst.school_id = #{schoolId}
             <if test="paperArchivesId != null">
                 and pst.paper_archives_id = #{paperArchivesId}
             </if>
@@ -140,4 +142,22 @@
             </if>
         </where>
     </select>
+    <select id="getByPaperScanTaskId"
+            resultType="com.qmth.paper.library.business.bean.result.PaperScanTaskResult">
+        SELECT
+            pst.id paperScanTaskId,
+            pst.scan_task_name paperScanTaskName,
+            pst.course_name courseName,
+            pst.teacher_name teacherName,
+            pst.teach_clazz_name teachClazzName,
+            pa.archives_name paperArchivesName,
+            bs.name semesterName
+        FROM
+            paper_scan_task pst
+                LEFT JOIN
+            paper_archives pa ON pst.paper_archives_id = pa.id
+                LEFT JOIN
+            basic_semester bs ON pa.semester_id = bs.id
+        where pst.id = #{paperScanTaskId}
+    </select>
 </mapper>

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

@@ -0,0 +1,63 @@
+package com.qmth.paper.library.common.entity;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import com.qmth.paper.library.common.base.BaseEntity;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 系统设置表
+ * </p>
+ */
+@TableName("sys_setting")
+public class SysSetting extends BaseEntity implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "学校id")
+    @JsonSerialize(using = ToStringSerializer.class)
+    @TableField("school_id")
+    private Long schoolId;
+
+
+    /**
+     * 学校logo
+     */
+    @TableField("school_logo")
+    private String schoolLogo;
+
+    /**
+     * 是否开启ocr识别
+     */
+    @TableField("open_ocr")
+    private Boolean openOcr;
+
+    public Long getSchoolId() {
+        return schoolId;
+    }
+
+    public void setSchoolId(Long schoolId) {
+        this.schoolId = schoolId;
+    }
+
+    public String getSchoolLogo() {
+        return schoolLogo;
+    }
+
+    public void setSchoolLogo(String schoolLogo) {
+        this.schoolLogo = schoolLogo;
+    }
+
+    public Boolean getOpenOcr() {
+        return openOcr;
+    }
+
+    public void setOpenOcr(Boolean openOcr) {
+        this.openOcr = openOcr;
+    }
+}

+ 14 - 0
paper-library-common/src/main/java/com/qmth/paper/library/common/entity/SysUser.java

@@ -105,6 +105,12 @@ public class SysUser extends BaseEntity implements Serializable {
     @ApiModelProperty("历史用户名")
     private String historicName;
 
+    /**
+     * 识别区域
+     */
+    @TableField("identify_area")
+    private String identifyArea;
+
     public String getHistoricName() {
         return historicName;
     }
@@ -251,4 +257,12 @@ public class SysUser extends BaseEntity implements Serializable {
     public void setVerifyCode(String verifyCode) {
         this.verifyCode = verifyCode;
     }
+
+    public String getIdentifyArea() {
+        return identifyArea;
+    }
+
+    public void setIdentifyArea(String identifyArea) {
+        this.identifyArea = identifyArea;
+    }
 }

+ 3 - 7
paper-library-common/src/main/java/com/qmth/paper/library/common/enums/RoleTypeEnum.java

@@ -12,13 +12,9 @@ public enum RoleTypeEnum {
 
     ADMIN("系统管理员"),
     SCHOOL_ADMIN("学校管理员"),
-    OFFICE_TEACHER("教务处老师"),
-    PRESIDENT("学院院长"),
-    TEACHER("任课老师"),
-    MARKER("评卷员"),
-    MARKER_LEADER("科组长"),
-    SCANNER("扫描员"),
-    ;
+    DATA_CHECKER("数据校验员"),
+    ARCHIVIST("档案管理员"),
+    SCANNER("扫描员");
 
     RoleTypeEnum(String desc) {
         this.desc = desc;

+ 0 - 41
paper-library-common/src/main/java/com/qmth/paper/library/common/enums/userPush/SpecialPrivilegeEnum.java

@@ -1,41 +0,0 @@
-package com.qmth.paper.library.common.enums.userPush;
-
-/**
- * @Description: 用户特殊身份(权限)枚举
- * @Author: CaoZixuan
- * @Date: 2021-10-27
- */
-public enum SpecialPrivilegeEnum {
-    SUBJECT_HEADER("科组长权限","SubjectHeader","S_", 4),
-    MARKER("评卷员权限","Marker","M_", 5),
-    COMPOSITE("复合权限","Composite",null, 0),
-    UNIDENTIFIED("无特殊权限","Unidentified",null, 0);
-
-    SpecialPrivilegeEnum(String title, String id, String prefix, int value) {
-        this.title = title;
-        this.id = id;
-        this.prefix = prefix;
-        this.value = value;
-    }
-
-    private final String title;
-    private final String id;
-    private final String prefix;
-    private final int value;
-
-    public String getTitle() {
-        return title;
-    }
-
-    public String getId() {
-        return id;
-    }
-
-    public String getPrefix() {
-        return prefix;
-    }
-
-    public int getValue() {
-        return value;
-    }
-}

+ 13 - 0
paper-library-common/src/main/java/com/qmth/paper/library/common/mapper/SysSettingMapper.java

@@ -0,0 +1,13 @@
+package com.qmth.paper.library.common.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.qmth.paper.library.common.entity.SysSetting;
+
+/**
+ * <p>
+ * 系统设置 Mapper 接口
+ * </p>
+ */
+public interface SysSettingMapper extends BaseMapper<SysSetting> {
+
+}

+ 1 - 14
paper-library-common/src/main/java/com/qmth/paper/library/common/service/SysOrgService.java

@@ -4,7 +4,6 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import com.qmth.paper.library.common.bean.dto.OrgDto;
 import com.qmth.paper.library.common.entity.SysOrg;
 import com.qmth.paper.library.common.entity.SysUser;
-import com.qmth.paper.library.common.enums.userPush.SpecialPrivilegeEnum;
 
 import java.util.List;
 import java.util.Map;
@@ -23,11 +22,9 @@ public interface SysOrgService extends IService<SysOrg> {
     /**
      * 机构树
      *
-     * @param specialPrivilegeEnum
-     * @param withoutPrintingRoom  是否去除印刷室机构
      * @return 查询到的机构
      */
-    List<OrgDto> listOrgTree(SpecialPrivilegeEnum specialPrivilegeEnum, boolean withoutPrintingRoom);
+    List<OrgDto> listOrgTree();
 
     /**
      * 获取所有机构
@@ -59,16 +56,6 @@ public interface SysOrgService extends IService<SysOrg> {
      */
     List<Long> findCollegeIds(Long orgId);
 
-    /**
-     * 查询或新建学院
-     * 根据学院名称查询数据库是否有该开课学院,有则查询id,没有则新增并取出id
-     *
-     * @param schoolId    学校id
-     * @param collegeName 学院名称
-     * @return 查询或新增的开课学院id
-     */
-    Long searchOrInsert(Long schoolId, String collegeName);
-
     /**
      * 递归树查询(同级及以上)
      *

+ 16 - 0
paper-library-common/src/main/java/com/qmth/paper/library/common/service/SysSettingService.java

@@ -0,0 +1,16 @@
+package com.qmth.paper.library.common.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.qmth.paper.library.common.entity.SysSetting;
+
+/**
+ * <p>
+ * 系统设置 服务类
+ * </p>
+ */
+public interface SysSettingService extends IService<SysSetting> {
+
+    SysSetting getData();
+
+    boolean saveData(SysSetting sysSetting);
+}

+ 0 - 11
paper-library-common/src/main/java/com/qmth/paper/library/common/service/SysUserService.java

@@ -10,7 +10,6 @@ import com.qmth.paper.library.common.bean.result.SysUserResult;
 import com.qmth.paper.library.common.bean.result.UserRoleNameResult;
 import com.qmth.paper.library.common.entity.SysUser;
 import com.qmth.paper.library.common.enums.RoleTypeEnum;
-import com.qmth.paper.library.common.enums.userPush.SpecialPrivilegeEnum;
 
 import java.security.NoSuchAlgorithmException;
 import java.util.List;
@@ -38,16 +37,6 @@ public interface SysUserService extends IService<SysUser> {
      */
     IPage<UserDto> listForPrintSystem(String userInfo, Long orgId, String roleId, Boolean enable, Integer pageNumber, Integer pageSize);
 
-
-    /**
-     * 根据用户id查询当前用户的特殊权限
-     *
-     * @param userId   用户id
-     * @param schoolId 学校id
-     * @return 用户特殊权限身份
-     */
-    SpecialPrivilegeEnum findUserSpecialPrivilegeByUserId(Long userId, Long schoolId);
-
     Long saveUser(UserSaveParams userSaveParams) throws IllegalAccessException;
 
     boolean enable(SysUser user) throws NoSuchAlgorithmException, IllegalAccessException;

+ 1 - 1
paper-library-common/src/main/java/com/qmth/paper/library/common/service/impl/LibraryCommonServiceImpl.java

@@ -604,7 +604,7 @@ public class LibraryCommonServiceImpl implements LibraryCommonService {
         if (orgId == null) {
             return null;
         }
-        List<OrgDto> orgDtos = sysOrgService.listOrgTree(null, false);
+        List<OrgDto> orgDtos = sysOrgService.listOrgTree();
         Set<Long> stringSet = new HashSet<>();
         stringSet.add(orgId);
         stringSet = getOrgIds(stringSet, orgDtos, orgId);

+ 8 - 98
paper-library-common/src/main/java/com/qmth/paper/library/common/service/impl/SysOrgServiceImpl.java

@@ -4,24 +4,20 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qmth.boot.api.exception.ApiException;
 import com.qmth.paper.library.common.bean.dto.OrgDto;
-import com.qmth.paper.library.common.bean.params.UserSaveParams;
 import com.qmth.paper.library.common.bean.result.SysUserResult;
-import com.qmth.paper.library.common.enums.ExceptionResultEnum;
-import com.qmth.paper.library.common.enums.FieldUniqueEnum;
-import com.qmth.paper.library.common.enums.OrgTypeEnum;
-import com.qmth.paper.library.common.enums.RoleTypeEnum;
-import com.qmth.paper.library.common.enums.userPush.SpecialPrivilegeEnum;
-import com.qmth.paper.library.common.util.ResultUtil;
-import com.qmth.paper.library.common.util.ServletUtil;
 import com.qmth.paper.library.common.contant.SystemConstant;
 import com.qmth.paper.library.common.entity.SysOrg;
-import com.qmth.paper.library.common.entity.SysRole;
 import com.qmth.paper.library.common.entity.SysUser;
+import com.qmth.paper.library.common.enums.ExceptionResultEnum;
+import com.qmth.paper.library.common.enums.FieldUniqueEnum;
+import com.qmth.paper.library.common.enums.OrgTypeEnum;
 import com.qmth.paper.library.common.mapper.SysOrgMapper;
 import com.qmth.paper.library.common.service.CommonCacheService;
 import com.qmth.paper.library.common.service.SysOrgService;
 import com.qmth.paper.library.common.service.SysRoleService;
 import com.qmth.paper.library.common.service.SysUserService;
+import com.qmth.paper.library.common.util.ResultUtil;
+import com.qmth.paper.library.common.util.ServletUtil;
 import org.apache.commons.collections4.CollectionUtils;
 import org.springframework.dao.DuplicateKeyException;
 import org.springframework.stereotype.Service;
@@ -46,37 +42,16 @@ public class SysOrgServiceImpl extends ServiceImpl<SysOrgMapper, SysOrg> impleme
     @Resource
     private SysUserService sysUserService;
     @Resource
-    private SysRoleService sysRoleService;
-    @Resource
     private SysOrgMapper sysOrgMapper;
     @Resource
     private CommonCacheService commonCacheService;
 
     @Override
-    public List<OrgDto> listOrgTree(SpecialPrivilegeEnum specialPrivilegeEnum, boolean withoutPrintingRoom) {
+    public List<OrgDto> listOrgTree() {
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
         List<SysUserResult> sysUserResultList = sysUserService.findSysUserResultList();
-        List<SysUserResult> finalSysUserResultList = sysUserResultList.stream()
-                .filter(e -> {
-                    if (Objects.isNull(specialPrivilegeEnum)) {
-                        return true;
-                    } else {
-                        // 用户特殊权限
-                        SpecialPrivilegeEnum userP = sysUserService.findUserSpecialPrivilegeByUserId(e.getId(), schoolId);
-                        // 如果用户是复合权限,条件为复合、评卷员、科组长都可以
-                        if (SpecialPrivilegeEnum.COMPOSITE.equals(userP)) {
-                            return SpecialPrivilegeEnum.COMPOSITE.equals(specialPrivilegeEnum) || SpecialPrivilegeEnum.MARKER.equals(specialPrivilegeEnum) || SpecialPrivilegeEnum.SUBJECT_HEADER.equals(specialPrivilegeEnum);
-                        } else {
-                            // 如果用户不是复合条件,用户权限和条件权限对应
-                            return specialPrivilegeEnum.equals(userP);
-                        }
-                    }
-                }).collect(Collectors.toList());
 
         List<OrgDto> orgList = this.listOrgAll(schoolId);
-        if (withoutPrintingRoom) {
-            orgList = orgList.stream().filter(e -> !OrgTypeEnum.PRINTING_HOUSE.name().equals(e.getType())).collect(Collectors.toList());
-        }
         Map<Long, OrgDto> map = orgList.stream()
                 .peek(e -> {
                     // 加入机构下所有人员查询
@@ -127,7 +102,7 @@ public class SysOrgServiceImpl extends ServiceImpl<SysOrgMapper, SysOrg> impleme
                 org.updateInfo(sysUser.getId());
                 success = this.updateById(org);
             }
-            if(Objects.isNull(commonCacheService.updateOrgCollegeLevelCache(schoolId))){
+            if (Objects.isNull(commonCacheService.updateOrgCollegeLevelCache(schoolId))) {
                 commonCacheService.removeOrgCollegeLevelCache(schoolId);
             }
         } catch (Exception e) {
@@ -204,71 +179,6 @@ public class SysOrgServiceImpl extends ServiceImpl<SysOrgMapper, SysOrg> impleme
         return Objects.nonNull(sysOrgList) ? sysOrgList.stream().map(s -> s.getId()).collect(Collectors.toList()) : null;
     }
 
-    @Transactional(rollbackFor = Exception.class)
-    @Override
-    public Long searchOrInsert(Long schoolId, String collegeName) {
-        Long orgId;
-        List<SysOrg> sysOrgList = this.list(new QueryWrapper<SysOrg>().lambda().eq(SysOrg::getSchoolId, schoolId));
-        List<SysOrg> parentOrgList = sysOrgList.stream().filter(e -> e.getParentId() == null || e.getParentId() == 0).collect(Collectors.toList());
-        Long parentId;
-        if (parentOrgList.size() == 0) {
-            parentId = SystemConstant.getDbUuid();
-            SysOrg parentTemp = new SysOrg();
-            parentTemp.setId(parentId);
-            parentTemp.setEnable(true);
-            parentTemp.setSchoolId(schoolId);
-            parentTemp.setName(SystemConstant.PARENT_ORG);
-            parentTemp.setCode(SystemConstant.PARENT_ORG);
-            this.save(parentTemp);
-        } else {
-            parentId = parentOrgList.get(0).getId();
-        }
-
-        SysOrg sysOrg = this.getOne(new QueryWrapper<SysOrg>().lambda().eq(SysOrg::getSchoolId, schoolId).eq(SysOrg::getName, collegeName));
-        if (Objects.isNull(sysOrg)) {
-            // 创建学院
-            orgId = SystemConstant.getDbUuid();
-            SysOrg temp = new SysOrg();
-            temp.setId(orgId);
-            temp.setName(collegeName);
-            temp.setCode(collegeName);
-            temp.setSchoolId(schoolId);
-            temp.setEnable(true);
-            temp.setParentId(parentId);
-            this.save(temp);
-
-            // 创建院长用户
-            SysUser old = sysUserService.getOne(new QueryWrapper<SysUser>().lambda()
-                    .eq(SysUser::getSchoolId, schoolId)
-                    .eq(SysUser::getLoginName, collegeName)
-                    .eq(SysUser::getRealName, collegeName));
-            Long id = 0L;
-            if (Objects.nonNull(old)) {
-                id = old.getId();
-            }
-            SysRole role = sysRoleService.list(new QueryWrapper<SysRole>().lambda().eq(SysRole::getType, RoleTypeEnum.PRESIDENT)).get(0);
-            List<Long> roleIds = new ArrayList<>();
-            roleIds.add(role.getId());
-
-            UserSaveParams userSaveParams = new UserSaveParams();
-            if (id > 0) {
-                userSaveParams.setId(id);
-            }
-
-            userSaveParams.setSchoolId(schoolId);
-            userSaveParams.setLoginName(collegeName);
-            userSaveParams.setRealName(collegeName);
-            userSaveParams.setPassword(SystemConstant.DEFAULT_PASSWORD);
-            userSaveParams.setOrgId(orgId);
-            userSaveParams.setEnable(true);
-            userSaveParams.setRoleIds(roleIds.toArray(new Long[0]));
-            sysUserService.saveUserNoAuth(userSaveParams);
-        } else {
-            orgId = sysOrg.getId();
-        }
-        return orgId;
-    }
-
     /**
      * 递归树查询(同级及以上)
      *
@@ -397,7 +307,7 @@ public class SysOrgServiceImpl extends ServiceImpl<SysOrgMapper, SysOrg> impleme
                 }
             }
         }
-        if(Objects.isNull(commonCacheService.updateOrgCollegeLevelCache(requestUser.getSchoolId()))){
+        if (Objects.isNull(commonCacheService.updateOrgCollegeLevelCache(requestUser.getSchoolId()))) {
             commonCacheService.removeOrgCollegeLevelCache(requestUser.getSchoolId());
         }
         return map;

+ 64 - 0
paper-library-common/src/main/java/com/qmth/paper/library/common/service/impl/SysSettingServiceImpl.java

@@ -0,0 +1,64 @@
+package com.qmth.paper.library.common.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.qmth.paper.library.common.contant.SystemConstant;
+import com.qmth.paper.library.common.entity.SysSetting;
+import com.qmth.paper.library.common.entity.SysUser;
+import com.qmth.paper.library.common.enums.ExceptionResultEnum;
+import com.qmth.paper.library.common.mapper.SysSettingMapper;
+import com.qmth.paper.library.common.service.SysSettingService;
+import com.qmth.paper.library.common.util.ServletUtil;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 系统设置 服务实现类
+ * </p>
+ */
+@Service
+public class SysSettingServiceImpl extends ServiceImpl<SysSettingMapper, SysSetting> implements SysSettingService {
+
+    @Override
+    public SysSetting getData() {
+        Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
+        QueryWrapper<SysSetting> queryWrapper = new QueryWrapper<>();
+        queryWrapper.lambda().eq(SysSetting::getSchoolId, schoolId);
+        List<SysSetting> sysSettingList = this.list(queryWrapper);
+        if (!sysSettingList.isEmpty() && sysSettingList.size() > 1) {
+            throw ExceptionResultEnum.ERROR.exception("系统设置有误,查出多条数据");
+        }
+        SysSetting sysSetting = new SysSetting();
+        if (!sysSettingList.isEmpty()) {
+            sysSetting = sysSettingList.get(0);
+        }
+        return sysSetting;
+    }
+
+    @Override
+    public boolean saveData(SysSetting sysSetting) {
+        Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
+        SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
+        // 新增
+        if (sysSetting.getId() == null) {
+            sysSetting.setId(SystemConstant.getDbUuid());
+            sysSetting.setCreateId(sysUser.getId());
+            sysSetting.setCreateTime(System.currentTimeMillis());
+            return this.save(sysSetting);
+        } else {
+            SysSetting oldSysSetting = this.getById(sysSetting.getId());
+            if (oldSysSetting == null) {
+                throw ExceptionResultEnum.ERROR.exception("未找到数据");
+            } else if (!oldSysSetting.getSchoolId().equals(schoolId)) {
+                throw ExceptionResultEnum.ERROR.exception("查询数据学校与当前学校不一致");
+            }
+            oldSysSetting.setSchoolLogo(sysSetting.getSchoolLogo());
+            oldSysSetting.setOpenOcr(sysSetting.getOpenOcr());
+            oldSysSetting.setUpdateId(sysUser.getId());
+            oldSysSetting.setUpdateTime(System.currentTimeMillis());
+            return this.updateById(oldSysSetting);
+        }
+    }
+}

+ 0 - 46
paper-library-common/src/main/java/com/qmth/paper/library/common/service/impl/SysUserServiceImpl.java

@@ -21,7 +21,6 @@ import com.qmth.paper.library.common.enums.AppSourceEnum;
 import com.qmth.paper.library.common.enums.ExceptionResultEnum;
 import com.qmth.paper.library.common.enums.FieldUniqueEnum;
 import com.qmth.paper.library.common.enums.RoleTypeEnum;
-import com.qmth.paper.library.common.enums.userPush.SpecialPrivilegeEnum;
 import com.qmth.paper.library.common.mapper.SysUserMapper;
 import com.qmth.paper.library.common.service.*;
 import com.qmth.paper.library.common.util.Base64Util;
@@ -104,51 +103,6 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
         return userDtoIPage;
     }
 
-    @Override
-    public SpecialPrivilegeEnum findUserSpecialPrivilegeByUserId(Long userId, Long schoolId) {
-
-
-        // 知学知考评卷员-科组长角色
-        boolean markerRole = this.includeSysRole(userId, RoleTypeEnum.MARKER);
-        boolean leaderRole = this.includeSysRole(userId, RoleTypeEnum.MARKER_LEADER);
-
-        // 记录的云阅卷应该的状态(云阅卷自己不改)
-        boolean cloudMarker = true;
-        boolean cloudLeader = true;
-//        List<CloudUserPushStatusDto> userPushDtoList = this.baseMapper.findCloudUserPushStatus(userId, schoolId);
-//        if (userPushDtoList != null) {
-//            if (userPushDtoList.size() > 1) {
-//                String userName = this.getById(userId).getLoginName();
-//                throw ExceptionResultEnum.ERROR.exception("用户【" + userName + "】存在多条推送状态记录异常");
-//            }
-//            if (userPushDtoList.size() == 1) {
-//                CloudUserPushStatusDto pushStatusDto = userPushDtoList.get(0);
-//                if (!UserPushResultEnum.BIND_SUCCESS.equals(UserPushResultEnum.valueOf(pushStatusDto.getMarkerStatus()))) {
-//                    // 有推送记录但推送状态不是评卷员绑定成功
-//                    cloudMarker = false;
-//                }
-//                if (!UserPushResultEnum.BIND_SUCCESS.equals(UserPushResultEnum.valueOf(pushStatusDto.getMarkerLeaderStatus()))) {
-//                    // 有推送记录但推送状态不是科组长绑定成功
-//                    cloudLeader = false;
-//                }
-//            }
-//        }
-        boolean marker = markerRole && cloudMarker;
-        boolean leader = leaderRole && cloudLeader;
-
-        SpecialPrivilegeEnum result;
-        if (marker && leader) {
-            result = SpecialPrivilegeEnum.COMPOSITE;
-        } else if (marker) {
-            result = SpecialPrivilegeEnum.MARKER;
-        } else if (leader) {
-            result = SpecialPrivilegeEnum.SUBJECT_HEADER;
-        } else {
-            result = SpecialPrivilegeEnum.UNIDENTIFIED;
-        }
-        return result;
-    }
-
     @Transactional
     @Override
     public Long saveUser(UserSaveParams userSaveParams) {

+ 20 - 0
paper-library-common/src/main/resources/mapper/SysSettingMapper.xml

@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="com.qmth.paper.library.common.mapper.SysSettingMapper">
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.qmth.paper.library.common.entity.SysSetting">
+        <result column="id" property="id" />
+        <result column="school_id" property="schoolId" />
+        <result column="school_logo" property="schoolLogo" />
+        <result column="open_ocr" property="openOcr" />
+        <result column="create_id" property="createId" />
+        <result column="create_time" property="createTime" />
+        <result column="update_id" property="createTime" />
+        <result column="update_time" property="createTime" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        select id, school_id, school_logo, open_ocr from sys_setting
+    </sql>
+</mapper>

+ 2 - 1
paper-library-common/src/main/resources/mapper/SysUserMapper.xml

@@ -14,13 +14,14 @@
         <result column="enable" property="enable" />
         <result column="pwd_update_time" property="pwdUpdateTime" />
         <result column="remark" property="remark" />
+        <result column="identify_area" property="identifyArea" />
         <result column="create_id" property="createId" />
         <result column="create_time" property="createTime" />
     </resultMap>
 
     <!-- 通用查询结果列 -->
     <sql id="Base_Column_List">
-        select id, school_id, login_name, real_name, password, mobile_number, org_id, enable, pwd_update_time, remark, create_id, create_time from sys_user
+        select id, school_id, login_name, real_name, password, mobile_number, org_id, enable, pwd_update_time, remark,identify_area, create_id, create_time from sys_user
     </sql>
     <update id="updateVerifyCodeExpiredTime">
         UPDATE basic_verify_code

+ 13 - 5
paper-library/src/main/java/com/qmth/paper/library/api/ConditionController.java

@@ -18,6 +18,7 @@ import com.qmth.paper.library.common.entity.BasicStudent;
 import com.qmth.paper.library.common.service.BasicSemesterService;
 import com.qmth.paper.library.common.service.BasicStudentService;
 import com.qmth.paper.library.common.service.SysOrgService;
+import com.qmth.paper.library.common.service.SysUserService;
 import com.qmth.paper.library.common.util.Result;
 import com.qmth.paper.library.common.util.ResultUtil;
 import com.qmth.paper.library.common.util.ServletUtil;
@@ -83,6 +84,13 @@ public class ConditionController {
         return ResultUtil.ok(paperArchivesService.queryArchives(semesterId));
     }
 
+    @ApiOperation(value = "查询条件-档案管理员")
+    @PostMapping("/manager_user/query")
+    @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = Result.class)})
+    public Result queryManagerUser() {
+        return ResultUtil.ok(paperArchivesService.queryManagerUser());
+    }
+
     @ApiOperation(value = "查询条件-档案管理部门")
     @PostMapping("/manager_org/query")
     @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = Result.class)})
@@ -100,8 +108,8 @@ public class ConditionController {
     @ApiOperation(value = "查询条件-课程")
     @PostMapping("/course/query")
     @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = EditResult.class)})
-    public Result queryCourse(@ApiParam(value = "档案id") @RequestParam Long paperArchivesId,
-                              @ApiParam(value = "学期id") @RequestParam Long semesterId) {
+    public Result queryCourse(@ApiParam(value = "档案id") @RequestParam(value = "paperArchivesId", required = false) Long paperArchivesId,
+                              @ApiParam(value = "学期id") @RequestParam(value = "semesterId", required = false) Long semesterId) {
         List<SelectResult> courseList = paperScanTaskService.queryCourse(paperArchivesId, semesterId);
         return ResultUtil.ok(courseList);
     }
@@ -109,8 +117,8 @@ public class ConditionController {
     @ApiOperation(value = "查询条件-教学班")
     @PostMapping("/teach_clazz/query")
     @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = EditResult.class)})
-    public Result queryTeachClazz(@ApiParam(value = "档案id") @RequestParam Long paperArchivesId,
-                                  @ApiParam(value = "课程") @RequestParam String courseName) {
+    public Result queryTeachClazz(@ApiParam(value = "档案id") @RequestParam(value = "paperArchivesId", required = false) Long paperArchivesId,
+                                  @ApiParam(value = "课程") @RequestParam(value = "courseName", required = false) String courseName) {
         List<SelectResult> teachClazzList = paperScanTaskService.queryDataTeachClazz(paperArchivesId, courseName);
         return ResultUtil.ok(teachClazzList);
     }
@@ -118,7 +126,7 @@ public class ConditionController {
     @ApiOperation(value = "查询条件-扫描任务")
     @PostMapping("/scan_task/query")
     @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = EditResult.class)})
-    public Result queryScanTask(@ApiParam(value = "档案id") @RequestParam Long paperArchivesId) {
+    public Result queryScanTask(@ApiParam(value = "档案id") @RequestParam(value = "paperArchivesId", required = false) Long paperArchivesId) {
         List<SelectResult> scanTaskList = paperScanTaskService.queryScanTask(paperArchivesId);
         return ResultUtil.ok(scanTaskList);
     }

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

@@ -91,7 +91,7 @@ public class PaperLibraryController {
     @ApiOperation(value = "根据学号查询所有任务下考生信息")
     @PostMapping("/list_by_student_code")
     @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = Result.class)})
-    public Result listByStudentCode(@ApiParam(value = "号") @RequestParam String studentCode) {
+    public Result listByStudentCode(@ApiParam(value = "号") @RequestParam String studentCode) {
         return ResultUtil.ok(paperLibraryService.listByStudentCode(studentCode));
     }
 }

+ 2 - 4
paper-library/src/main/java/com/qmth/paper/library/api/SysOrgController.java

@@ -9,7 +9,6 @@ import com.qmth.paper.library.common.entity.SysOrg;
 import com.qmth.paper.library.common.entity.SysUser;
 import com.qmth.paper.library.common.entity.TBTask;
 import com.qmth.paper.library.common.enums.TaskTypeEnum;
-import com.qmth.paper.library.common.enums.userPush.SpecialPrivilegeEnum;
 import com.qmth.paper.library.common.service.SysOrgService;
 import com.qmth.paper.library.common.util.Result;
 import com.qmth.paper.library.common.util.ResultUtil;
@@ -53,9 +52,8 @@ public class SysOrgController {
      */
     @ApiOperation(value = "查询")
     @RequestMapping(value = "/list", method = RequestMethod.POST)
-    public Result list(@RequestParam(value = "specialPrivilege", required = false) SpecialPrivilegeEnum specialPrivilege,
-                       @RequestParam(value = "withoutPrintingRoom", required = false) boolean withoutPrintingRoom) {
-        return ResultUtil.ok(sysOrgService.listOrgTree(specialPrivilege, withoutPrintingRoom));
+    public Result list() {
+        return ResultUtil.ok(sysOrgService.listOrgTree());
     }
 
     /**

+ 57 - 0
paper-library/src/main/java/com/qmth/paper/library/api/SysSettingController.java

@@ -0,0 +1,57 @@
+package com.qmth.paper.library.api;
+
+
+import com.qmth.boot.api.annotation.Aac;
+import com.qmth.boot.api.annotation.BOOL;
+import com.qmth.boot.api.constant.ApiConstant;
+import com.qmth.paper.library.business.bean.result.EditResult;
+import com.qmth.paper.library.business.entity.PaperArchivesType;
+import com.qmth.paper.library.common.contant.SystemConstant;
+import com.qmth.paper.library.common.entity.SysSetting;
+import com.qmth.paper.library.common.service.SysSettingService;
+import com.qmth.paper.library.common.util.Result;
+import com.qmth.paper.library.common.util.ResultUtil;
+import io.swagger.annotations.*;
+import org.springframework.validation.BindingResult;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import javax.validation.Valid;
+import javax.validation.constraints.Max;
+import javax.validation.constraints.Min;
+
+/**
+ * <p>
+ * 系统设置 前端控制器
+ * </p>
+ */
+@Api(tags = "系统设置controller")
+@RestController
+@RequestMapping(ApiConstant.DEFAULT_URI_PREFIX + "/${prefix.url.sys}/setting")
+@Validated
+@Aac(strict = BOOL.FALSE, auth = BOOL.FALSE)
+public class SysSettingController {
+
+    @Resource
+    private SysSettingService sysSettingService;
+
+    @ApiOperation(value = "查询")
+    @PostMapping("/get")
+    @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = Result.class)})
+    public Result getData() {
+        return ResultUtil.ok(sysSettingService.getData());
+    }
+
+
+    @ApiOperation(value = "新增/修改")
+    @PostMapping("/save")
+    @ApiResponses({@ApiResponse(code = 200, message = "保存/更新成功", response = EditResult.class)})
+    public Result save(@Valid @RequestBody SysSetting sysSetting, BindingResult bindingResult) {
+        if (bindingResult.hasErrors()) {
+            return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
+        }
+        return ResultUtil.ok(sysSettingService.saveData(sysSetting));
+    }
+
+}

+ 30 - 5
sql/paper-library-1.0.0.sql

@@ -390,6 +390,8 @@ INSERT INTO `sys_privilege` VALUES (28, '开始处理接口', '/api/admin/paper/
 INSERT INTO `sys_privilege` VALUES (29, '查询考生图片集合接口', '/api/admin/paper/library/list_student_picture', 'URL', 20, 7, 'AUTH', NULL, 1, 1, 1);
 INSERT INTO `sys_privilege` VALUES (30, '查询条件', 'Condition', 'CONDITION', 9, 3, 'AUTH', '15', 1, 0, 1);
 INSERT INTO `sys_privilege` VALUES (31, '查询条件', 'Condition', 'CONDITION', 20, 3, 'AUTH', '23,24,25,26', 1, 0, 1);
+INSERT INTO `sys_privilege` VALUES (32, '查询', 'Select', 'BUTTON', 9, 1, 'AUTH', '15', 1, 0, 1);
+INSERT INTO `sys_privilege` VALUES (33, '查询', 'Select', 'BUTTON', 20, 1, 'AUTH', '23,24,25,26', 1, 0, 1);
 INSERT INTO `sys_privilege` VALUES (50, '查询条件-学期', '/api/admin/common/semester/query', 'URL', 149, 8, 'SYS', NULL, 1, 1, 1);
 INSERT INTO `sys_privilege` VALUES (51, '查询条件-档案', '/api/admin/common/archives/query', 'URL', 149, 8, 'SYS', NULL, 1, 1, 1);
 INSERT INTO `sys_privilege` VALUES (52, '查询条件-档案管理部门', '/api/admin/common/manager_org/query', 'URL', 149, 10, 'SYS', NULL, 1, 1, 1);
@@ -449,7 +451,7 @@ INSERT INTO `sys_privilege` VALUES (184, '查询用户可绑定角色', '/api/ad
 INSERT INTO `sys_privilege` VALUES (185, '删除', 'Delete', 'LINK', 5, 6, 'AUTH', '186', 1, 0, 1);
 INSERT INTO `sys_privilege` VALUES (186, '删除', '/api/admin/sys/user/delete', 'URL', 5, 8, 'AUTH', NULL, 1, 1, 1);
 INSERT INTO `sys_privilege` VALUES (195, '获取服务器时间', '/api/admin/common/get_system_time', 'URL', 129, 2, 'NO_AUTH', NULL, 1, 1, 1);
-INSERT INTO `sys_privilege` VALUES (200, '客户端', 'client', 'MENU', NULL, 1, NULL, '202,203,204', 1, 0, 0);
+INSERT INTO `sys_privilege` VALUES (200, '扫描端', 'client', 'MENU', NULL, 1, NULL, '202,203,204', 1, 0, 0);
 INSERT INTO `sys_privilege` VALUES (201, '客户端登录', '/api/admin/client/user/login', 'URL', NULL, 1, 'NO_AUTH', NULL, 1, 1, 1);
 INSERT INTO `sys_privilege` VALUES (202, '任务查询', '/api/admin/client/task/page', 'URL', 200, 1, 'AUTH', NULL, 1, 1, 1);
 INSERT INTO `sys_privilege` VALUES (203, '开始扫描', '/api/admin/client/bind/user', 'URL', 200, 2, 'AUTH', NULL, 1, 1, 1);
@@ -516,7 +518,9 @@ INSERT INTO `sys_privilege` VALUES (405, '删除', 'Delete', 'LINK', 401, 4, 'AU
 INSERT INTO `sys_privilege` VALUES (406, '查询接口', '/api/admin/paper/archives_type/page', 'URL', 401, 1, 'AUTH', NULL, 1, 1, 1);
 INSERT INTO `sys_privilege` VALUES (407, '新增/编辑接口', '/api/admin/paper/archives_type/save', 'URL', 401, 2, 'AUTH', NULL, 1, 1, 1);
 INSERT INTO `sys_privilege` VALUES (408, '删除接口', '/api/admin/paper/archives_type/delete', 'URL', 401, 3, 'AUTH', NULL, 1, 1, 1);
-INSERT INTO `sys_privilege` VALUES (409, '系统设置', 'SystemSetting', 'MENU', 112, 1, NULL, NULL, 1, 0, 1);
+INSERT INTO `sys_privilege` VALUES (409, '系统设置', 'SystemSetting', 'MENU', 112, 1, NULL, '410,411', 1, 0, 1);
+INSERT INTO `sys_privilege` VALUES (410, '查询', '/api/admin/sys/setting/get', 'URL', 409, 1, 'AUTH',NULL, 1, 1, 1);
+INSERT INTO `sys_privilege` VALUES (411, '新增/修改', '/api/admin/sys/setting/save', 'URL', 409, 2, 'AUTH',NULL, 1, 1, 1);
 INSERT INTO `sys_privilege` VALUES (507, '菜单管理', 'MenuManage', 'MENU', 1, 7, NULL, NULL, 1, 0, 1);
 INSERT INTO `sys_privilege` VALUES (508, '自定义菜单', 'CustomMenu', 'MENU', 507, 1, NULL, NULL, 1, 0, 1);
 INSERT INTO `sys_privilege` VALUES (510, '学期管理', 'SemesterManage', 'MENU', 112, 2, NULL, NULL, 1, 0, 1);
@@ -585,9 +589,9 @@ CREATE TABLE `sys_role`  (
 -- Records of sys_role
 -- ----------------------------
 INSERT INTO `sys_role` VALUES (1, NULL, NULL, '系统管理员', 1, 'ADMIN', NULL, NULL, NULL, NULL, 1, NULL, '系统内置');
-INSERT INTO `sys_role` VALUES (2, NULL, NULL, '档案管理员', 1, 'OFFICE_TEACHER', 1, 1665561494512, NULL, 1665561494512, 1, 'SYS', '系统内置');
-INSERT INTO `sys_role` VALUES (3, NULL, NULL, '扫描员', 1, 'OFFICE_TEACHER', 1, 1665560162947, NULL, 1665560162947, 1, 'SYS', '系统内置');
-INSERT INTO `sys_role` VALUES (4, NULL, NULL, '数据校验员', 1, 'OFFICE_TEACHER', 1, 1665561477787, NULL, 1665561477787, 1, 'SYS', '系统内置');
+INSERT INTO `sys_role` VALUES (2, NULL, NULL, '档案管理员', 1, 'ARCHIVIST', 1, 1665561494512, NULL, 1665561494512, 1, 'SYS', '系统内置');
+INSERT INTO `sys_role` VALUES (3, NULL, NULL, '扫描员', 1, 'SCANNER', 1, 1665560162947, NULL, 1665560162947, 1, 'SYS', '系统内置');
+INSERT INTO `sys_role` VALUES (4, NULL, NULL, '数据校验员', 1, 'DATA_CHECKER', 1, 1665561477787, NULL, 1665561477787, 1, 'SYS', '系统内置');
 INSERT INTO `sys_role` VALUES (299491950845755392, 295137670185615360, NULL, '学校管理员', 1, NULL, 1, 1662345245376, 1, 1665561842010, 0, NULL, '1');
 
 -- ----------------------------
@@ -789,6 +793,10 @@ INSERT INTO `sys_role_privilege` VALUES (1580107007574732820, 299491950845755392
 INSERT INTO `sys_role_privilege` VALUES (1580107007574732821, 299491950845755392, 510, 1);
 INSERT INTO `sys_role_privilege` VALUES (1580107007574732822, 299491950845755392, 255, 1);
 INSERT INTO `sys_role_privilege` VALUES (1580107007574732823, 299491950845755392, 511, 1);
+INSERT INTO `sys_role_privilege` VALUES (1580105549206843403, 2, 32, 1);
+INSERT INTO `sys_role_privilege` VALUES (1580105479082274827, 4, 33, 1);
+
+
 
 -- ----------------------------
 -- Table structure for sys_user
@@ -812,6 +820,7 @@ CREATE TABLE `sys_user`  (
   `update_id` bigint(20) NULL DEFAULT NULL COMMENT '修改人',
   `update_time` bigint(20) NULL DEFAULT NULL COMMENT '修改时间',
   `historic_name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '历史用户名称',
+  `identify_area` VARCHAR(300) NULL DEFAULT NULL COMMENT '识别区域,坐标数组,可传多个',
   PRIMARY KEY (`id`) USING BTREE,
   UNIQUE INDEX `user_schoolId_loginName_idx`(`school_id`, `login_name`) USING BTREE,
   UNIQUE INDEX `uq_school_id_mobile_number`(`school_id`, `mobile_number`) USING BTREE
@@ -1010,5 +1019,21 @@ INSERT INTO `t_school_privilege` VALUES (1580099104851685397, 295137670185615360
 INSERT INTO `t_school_privilege` VALUES (1580099104851685398, 295137670185615360, 550);
 INSERT INTO `t_school_privilege` VALUES (1580099104851685399, 295137670185615360, 555);
 INSERT INTO `t_school_privilege` VALUES (1580099104851685400, 295137670185615360, 556);
+INSERT INTO `t_school_privilege` VALUES (1580487393517547546, 295137670185615360, 32);
+INSERT INTO `t_school_privilege` VALUES (1580487393584656405, 295137670185615360, 33);
+
+
+DROP TABLE IF EXISTS `sys_setting`;
+CREATE TABLE `sys_setting` (
+      `id` BIGINT(20) NOT NULL,
+      `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)',
+      `create_id` bigint(20) NULL DEFAULT NULL COMMENT '创建人',
+      `create_time` bigint(20) NULL DEFAULT NULL COMMENT '创建时间',
+      `update_id` bigint(20) NULL DEFAULT NULL COMMENT '更新人',
+      `update_time` bigint(20) NULL DEFAULT NULL COMMENT '更新时间',
+      PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '系统设置' ROW_FORMAT = Dynamic;
 
 SET FOREIGN_KEY_CHECKS = 1;