瀏覽代碼

扫描任务 bug改动

caozixuan 2 年之前
父節點
當前提交
3fe87b6656

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

@@ -36,8 +36,8 @@ public interface PaperScanTaskMapper extends BaseMapper<PaperScanTask> {
                                                      @Param("schoolId") Long schoolId,
                                                      @Param("courseName") String courseName,
                                                      @Param("teacherName") String teacherName,
-                                                     @Param("smallerProgress") int smallerProgress,
-                                                     @Param("largerProgress") int largerProgress,
+                                                     @Param("smallerProgress") Integer smallerProgress,
+                                                     @Param("largerProgress") Integer largerProgress,
                                                      @Param("orgIds") Set<Long> orgIds);
 
     /**

+ 9 - 1
paper-library-business/src/main/java/com/qmth/paper/library/business/service/PaperScanTaskService.java

@@ -31,7 +31,7 @@ public interface PaperScanTaskService extends IService<PaperScanTask> {
      * @param requestUser     请求用户
      * @return 分页结果
      */
-    IPage<PaperScanTaskResult> paperScanTaskPage(String courseName, String teacherName, int smallerProgress, int largerProgress, int pageNumber, int pageSize, SysUser requestUser);
+    IPage<PaperScanTaskResult> paperScanTaskPage(String courseName, String teacherName, Integer smallerProgress, Integer largerProgress, int pageNumber, int pageSize, SysUser requestUser);
 
     /**
      * 扫描任务编辑
@@ -74,6 +74,14 @@ public interface PaperScanTaskService extends IService<PaperScanTask> {
      */
     void clearScanData(Long paperScanTaskId, SysUser requestUser);
 
+    /**
+     * 解绑扫描员
+     *
+     * @param paperScanTaskId 扫描任务id
+     * @param requestUser     请求用户
+     */
+    void unbindScanner(Long paperScanTaskId, SysUser requestUser);
+
     /**
      * 根据扫描任务id查询扫描任务的绑定详情
      *

+ 16 - 10
paper-library-business/src/main/java/com/qmth/paper/library/business/service/impl/PaperScanTaskServiceImpl.java

@@ -51,7 +51,7 @@ public class PaperScanTaskServiceImpl extends ServiceImpl<PaperScanTaskMapper, P
     private PaperScanTaskDetailService paperScanTaskDetailService;
 
     @Override
-    public IPage<PaperScanTaskResult> paperScanTaskPage(String courseName, String teacherName, int smallerProgress, int largerProgress, int pageNumber, int pageSize, SysUser requestUser) {
+    public IPage<PaperScanTaskResult> paperScanTaskPage(String courseName, String teacherName, Integer smallerProgress, Integer largerProgress, int pageNumber, int pageSize, SysUser requestUser) {
         Long schoolId = requestUser.getSchoolId();
         courseName = SystemConstant.strNotNull(courseName) ? SystemConstant.translateSpecificSign(courseName) : null;
         teacherName = SystemConstant.strNotNull(teacherName) ? SystemConstant.translateSpecificSign(teacherName) : null;
@@ -186,7 +186,7 @@ public class PaperScanTaskServiceImpl extends ServiceImpl<PaperScanTaskMapper, P
     @Override
     public IPage<PaperScanTaskDetailResult> findPaperScanTaskDetailPageByScanTaskId(Long paperScanTaskId, int pageNumber, int pageSize, SysUser requestUser) {
         Long schoolId = requestUser.getSchoolId();
-        return this.baseMapper.findPaperScanTaskDetailPageByScanTaskId(new Page<>(pageNumber, pageSize), paperScanTaskId, schoolId, null);
+        return this.baseMapper.findPaperScanTaskDetailPageByScanTaskId(new Page<>(pageNumber, pageSize), schoolId, paperScanTaskId, null);
     }
 
     @Transactional(rollbackFor = Exception.class)
@@ -217,15 +217,21 @@ public class PaperScanTaskServiceImpl extends ServiceImpl<PaperScanTaskMapper, P
             }
 
             // 删除该任务扫描的的数据
-            paperLibraryService.removeByIds(willDeletePaperLibraryList);
+            paperLibraryService.removeByIds(willDeletePaperLibraryList.stream().map(PaperLibrary::getId).collect(Collectors.toList()));
+        }
+    }
 
-            // TODO: 2022/10/9 下面单独拆一个api 
-            // 清除扫描任务相关信息(扫描员,扫描量)
-            paperScanTask.setScanUserId(null);
-            paperScanTask.setScanCount(null);
-            paperScanTask.updateInfo(requestUser.getId());
-            this.updateById(paperScanTask);
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public void unbindScanner(Long paperScanTaskId, SysUser requestUser) {
+        PaperScanTask paperScanTask = this.getById(paperScanTaskId);
+        if (Objects.isNull(paperScanTask)) {
+            throw ExceptionResultEnum.ERROR.exception("扫描任务不存在");
         }
+        paperScanTask.setScanUserId(null);
+        paperScanTask.setScanCount(null);
+        paperScanTask.updateInfo(requestUser.getId());
+        this.updateById(paperScanTask);
     }
 
     @Override
@@ -247,7 +253,7 @@ public class PaperScanTaskServiceImpl extends ServiceImpl<PaperScanTaskMapper, P
                 .set(PaperLibrary::getCreateTime, System.currentTimeMillis())
                 .eq(PaperLibrary::getPaperScanTaskId, paperScanTaskId)
                 .eq(PaperLibrary::getUserId, bindUserId)
-                .eq(PaperLibrary::getPaperScanTaskDetailId, null);
+                .isNull(PaperLibrary::getPaperScanTaskDetailId);
         paperLibraryService.update(updateWrapper);
     }
 

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

@@ -42,10 +42,10 @@
             <if test="teacherName != null and teacherName != ''">
                 AND pst.teacher_name like CONCAT('%',#{teacherName},'%')
             </if>
-            <if test="smallerProgress != null and smallerProgress != ''">
+            <if test="smallerProgress != null">
                 AND IFNULL(ROUND((pl.bound / pl.scan_count) * 100, 2),0) >= #{smallerProgress}
             </if>
-            <if test="largerProgress != null and largerProgress != ''">
+            <if test="largerProgress != null">
                 AND #{largerProgress} >= IFNULL(ROUND((pl.bound / pl.scan_count) * 100, 2),0)
             </if>
         </where>

+ 13 - 7
paper-library/src/main/java/com/qmth/paper/library/api/PaperScanTaskController.java

@@ -1,11 +1,8 @@
 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.params.PaperScanTaskParam;
 import com.qmth.paper.library.business.bean.result.EditResult;
-import com.qmth.paper.library.business.bean.result.SelectResult;
 import com.qmth.paper.library.business.service.PaperLibraryCommonService;
 import com.qmth.paper.library.business.service.PaperScanTaskService;
 import com.qmth.paper.library.business.templete.execute.AsyncPaperScanTaskImportService;
@@ -54,7 +51,7 @@ public class PaperScanTaskController {
     @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = Result.class)})
     public Result findPaperScanTaskPage(@ApiParam(value = "课程名称") @RequestParam(required = false) String courseName,
                                         @ApiParam(value = "任课教师") @RequestParam(required = false) String teacherName,
-                                        @ApiParam(value = "进度阈值(小)", required = true) @RequestParam @Min(0) Integer smallerProgress,
+                                        @ApiParam(value = "进度阈值(小)", required = true) @RequestParam @Min(0) @Max(100) Integer smallerProgress,
                                         @ApiParam(value = "进度阈值(大)", required = true) @RequestParam @Min(0) @Max(100) Integer largerProgress,
                                         @ApiParam(value = "分页页码", required = true) @RequestParam @Min(SystemConstant.PAGE_NUMBER_MIN) Integer pageNumber,
                                         @ApiParam(value = "分页数", required = true) @RequestParam @Min(SystemConstant.PAGE_SIZE_MIN) @Max(SystemConstant.PAGE_SIZE_MAX) Integer pageSize) {
@@ -76,7 +73,7 @@ public class PaperScanTaskController {
     @ApiOperation(value = "扫描任务管理-批量删除(物理)")
     @RequestMapping(value = "/delete_batch", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "删除成功", response = EditResult.class)})
-    public Result deletePaperScanTask(@ApiParam(value = "选择的要删除的学生id集合", required = true) @RequestParam List<String> idList) {
+    public Result deletePaperScanTask(@ApiParam(value = "选择的要删除的扫描任务id集合", required = true) @RequestParam List<String> idList) {
         SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
         paperScanTaskService.deletePaperScanTaskByIdList(idList.stream().map(SystemConstant::convertIdToLong).collect(Collectors.toList()), sysUser);
         return ResultUtil.ok();
@@ -86,11 +83,11 @@ public class PaperScanTaskController {
     @RequestMapping(value = "/scan_task_import", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = EditResult.class)})
     public Result paperScanTaskImportAsync(@ApiParam(value = "上传文件", required = true) @RequestParam MultipartFile file,
-                                           @ApiParam(value = "档案id", required = true) @RequestParam Long paperArchivesId) throws Exception {
+                                           @ApiParam(value = "档案id", required = true) @RequestParam String paperArchivesId) throws Exception {
         SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
         Map<String, Object> map = paperLibraryCommonService.saveTask(file, TaskTypeEnum.PAPER_SCAN_TASK_IMPORT);
         map.put(SystemConstant.SYS_USER, sysUser);
-        map.put("paperArchivesId", paperArchivesId);
+        map.put("paperArchivesId", SystemConstant.convertIdToLong(paperArchivesId));
         asyncPaperScanTaskImportService.importTask(map);
         TBTask tbTask = Objects.nonNull(map.get(SystemConstant.TASK)) ? (TBTask) map.get(SystemConstant.TASK) : null;
         return Objects.nonNull(tbTask) ? ResultUtil.ok(tbTask.getId()) : ResultUtil.error("创建任务失败");
@@ -124,6 +121,15 @@ public class PaperScanTaskController {
         return ResultUtil.ok();
     }
 
+    @ApiOperation(value = "扫描任务管理-解绑扫描员")
+    @RequestMapping(value = "/unbind_scanner", method = RequestMethod.POST)
+    @ApiResponses({@ApiResponse(code = 200, message = "解绑成功", response = EditResult.class)})
+    public Result unbindScanner(@ApiParam(value = "扫描任务id", required = true) @RequestParam String paperScanTaskId) {
+        SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
+        paperScanTaskService.unbindScanner(SystemConstant.convertIdToLong(paperScanTaskId), sysUser);
+        return ResultUtil.ok();
+    }
+
     @ApiOperation(value = "扫描任务管理-绑定进度详情")
     @RequestMapping(value = "/bind_progress_detail", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "删除成功", response = EditResult.class)})