瀏覽代碼

3.3.0 fix

xiaofei 1 年之前
父節點
當前提交
cb5b8d5c75

+ 4 - 1
distributed-print/install/mysql/init/teachcloud_db.sql

@@ -2901,7 +2901,7 @@ INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence
 INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES (941, '仲裁-获取评卷状态', '/api/admin/mark/arbitrate/getStatus', 'URL', 917, 17, 'AUTH', NULL, 1, 1, 1);
 INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES (942, '仲裁-获取配置信息', '/api/admin/mark/arbitrate/getSetting', 'URL', 917, 18, 'AUTH', NULL, 1, 1, 1);
 INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES (943, '仲裁-保存任务', '/api/admin/mark/arbitrate/saveTask', 'URL', 917, 19, 'AUTH', NULL, 1, 1, 1);
-INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES (944, '查看详情', 'Detail', 'LINK', 917, 6, 'AUTH', '928,929,930,931,932,933,934,935,936,937,938,939,940,941,942,943,964,965,966,967,1008', 1, 0, 1);
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES (944, '查看详情', 'Detail', 'LINK', 917, 6, 'AUTH', '928,929,930,931,932,933,934,935,936,937,938,939,940,941,942,943,964,965,966,967,968,1008', 1, 0, 1);
 INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES (945, '结束评卷', 'Finish', 'LINK', 917, 7, 'AUTH', '927', 1, 0, 1);
 INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES (946, '成绩检查', 'ScoreCheck', 'MENU', 486, 4, 'AUTH', NULL, 1, 0, 1);
 INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES (947, '列表', 'List', 'LIST', 946, 1, 'AUTH', '952', 1, 0, 1);
@@ -2925,6 +2925,7 @@ INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence
 INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES (965, '绑定评卷员', '/api/admin/mark/marker/add', 'URL', 917, 21, 'AUTH', NULL, 1, 1, 1);
 INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES (966, '评卷质量重新计算', '/api/admin/mark/quality/update', 'URL', 917, 22, 'AUTH', NULL, 1, 1, 1);
 INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES (967, '评卷质量给分曲线', '/api/admin/mark/quality/chart', 'URL', 917, 23, 'AUTH', NULL, 1, 1, 1);
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('968', '绑定评卷员-已绑定评卷员集合', '/api/admin/mark/marker/list_bind_marker', 'URL', '917', '20', 'AUTH', '1', '1', '1');
 INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES (970, '扫描端', 'scan', 'MENU', NULL, 11, NULL, '971,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000,1001,1002,1003,1004,1005,1007,1009', 1, 0, 0);
 INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES (971, '心跳接口', '/api/scan/server/heartbeat', 'URL', 970, 1, 'AUTH', NULL, 1, 1, 1);
 INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES (972, '登出接口', '/api/scan/logout', 'URL', 970, 2, 'AUTH', NULL, 1, 1, 1);
@@ -3631,6 +3632,7 @@ INSERT INTO `sys_role_privilege` (`id`, `role_id`, `privilege_id`, `enable`, `sc
 INSERT INTO `sys_role_privilege` (`id`, `role_id`, `privilege_id`, `enable`, `school_id`) VALUES (1726860848045035522, 2, 965, 1, NULL);
 INSERT INTO `sys_role_privilege` (`id`, `role_id`, `privilege_id`, `enable`, `school_id`) VALUES (1726860848045035523, 2, 966, 1, NULL);
 INSERT INTO `sys_role_privilege` (`id`, `role_id`, `privilege_id`, `enable`, `school_id`) VALUES (1726860848045035524, 2, 967, 1, NULL);
+INSERT INTO `sys_role_privilege` (`id`, `role_id`, `privilege_id`, `enable`, `school_id`) VALUES (1626860847045035525, 2, 968, 1, NULL);
 INSERT INTO `sys_role_privilege` (`id`, `role_id`, `privilege_id`, `enable`, `school_id`) VALUES (1726860848045035525, 2, 1008, 1, NULL);
 INSERT INTO `sys_role_privilege` (`id`, `role_id`, `privilege_id`, `enable`, `school_id`) VALUES (1726861309665939457, 3, 280, 1, NULL);
 INSERT INTO `sys_role_privilege` (`id`, `role_id`, `privilege_id`, `enable`, `school_id`) VALUES (1726861309691105281, 3, 281, 1, NULL);
@@ -3782,6 +3784,7 @@ INSERT INTO `sys_role_privilege` (`id`, `role_id`, `privilege_id`, `enable`, `sc
 INSERT INTO `sys_role_privilege` (`id`, `role_id`, `privilege_id`, `enable`, `school_id`) VALUES (1726861309896626180, 3, 965, 1, NULL);
 INSERT INTO `sys_role_privilege` (`id`, `role_id`, `privilege_id`, `enable`, `school_id`) VALUES (1726861309900820482, 3, 966, 1, NULL);
 INSERT INTO `sys_role_privilege` (`id`, `role_id`, `privilege_id`, `enable`, `school_id`) VALUES (1726861309900820483, 3, 967, 1, NULL);
+INSERT INTO `sys_role_privilege` (`id`, `role_id`, `privilege_id`, `enable`, `school_id`) VALUES (1716811119900820483, 3, 968, 1, NULL);
 INSERT INTO `sys_role_privilege` (`id`, `role_id`, `privilege_id`, `enable`, `school_id`) VALUES (1726861309900820484, 3, 463, 1, NULL);
 INSERT INTO `sys_role_privilege` (`id`, `role_id`, `privilege_id`, `enable`, `school_id`) VALUES (1726861309900820485, 3, 464, 1, NULL);
 INSERT INTO `sys_role_privilege` (`id`, `role_id`, `privilege_id`, `enable`, `school_id`) VALUES (1726861309905014786, 3, 465, 1, NULL);

+ 2 - 1
distributed-print/install/mysql/upgrade/3.3.0.sql

@@ -69,7 +69,7 @@ INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence
 INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('941', '仲裁-获取评卷状态', '/api/admin/mark/arbitrate/getStatus', 'URL', '917', '17', 'AUTH', '1', '1', '1');
 INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('942', '仲裁-获取配置信息', '/api/admin/mark/arbitrate/getSetting', 'URL', '917', '18', 'AUTH', '1', '1', '1');
 INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('943', '仲裁-保存任务', '/api/admin/mark/arbitrate/saveTask', 'URL', '917', '19', 'AUTH', '1', '1', '1');
-INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES ('944', '查看详情', 'Detail', 'LINK', '917', '6', 'AUTH', '928,929,930,931,932,933,934,935,936,937,938,939,940,941,942,943,964,965,966,967,1008', '1', '0', '1');
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES ('944', '查看详情', 'Detail', 'LINK', '917', '6', 'AUTH', '928,929,930,931,932,933,934,935,936,937,938,939,940,941,942,943,964,965,966,967,968,1008', '1', '0', '1');
 INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES ('945', '结束评卷', 'Finish', 'LINK', '917', '7', 'AUTH', '927', '1', '0', '1');
 INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('946', '成绩检查', 'ScoreCheck', 'MENU', '486', '4', 'AUTH', '1', '0', '1');
 INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES ('947', '列表', 'List', 'LIST', '946', '1', 'AUTH', '952', '1', '0', '1');
@@ -93,6 +93,7 @@ INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence
 INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('965', '绑定评卷员', '/api/admin/mark/marker/add', 'URL', '917', '21', 'AUTH', '1', '1', '1');
 INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('966', '评卷质量重新计算', '/api/admin/mark/quality/update', 'URL', '917', '22', 'AUTH', '1', '1', '1');
 INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('967', '评卷质量给分曲线', '/api/admin/mark/quality/chart', 'URL', '917', '23', 'AUTH', '1', '1', '1');
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('968', '绑定评卷员-已绑定评卷员集合', '/api/admin/mark/marker/list_bind_marker', 'URL', '917', '20', 'AUTH', '1', '1', '1');
 INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `sequence`, `related`, `enable`, `default_auth`, `front_display`) VALUES ('970', '扫描端', 'scan', 'MENU', '11', '971,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000,1001,1002,1003,1004,1005,1007,1009', '1', '0', '0');
 UPDATE `sys_privilege` SET `name` = '打印端', `related` = '200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,973,974,975' WHERE (`id` = '199');
 INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('971', '心跳接口', '/api/scan/server/heartbeat', 'URL', '970', '1', 'AUTH', '1', '1', '1');

+ 11 - 0
distributed-print/src/main/java/com/qmth/distributed/print/api/mark/MarkUserGroupController.java

@@ -54,6 +54,17 @@ public class MarkUserGroupController {
         return ResultUtil.ok(markGroupClassProgressDtoIPage);
     }
 
+    /**
+     * 评卷员管理列表查询
+     */
+    @ApiOperation(value = "评卷员管理列表查询")
+    @RequestMapping(value = "/list_bind_marker", method = RequestMethod.POST)
+    public Result listBindMarker(@ApiParam(value = "考试ID", required = true) @RequestParam Long examId,
+                                 @ApiParam(value = "试卷编号", required = true) @RequestParam String paperNumber,
+                                 @ApiParam(value = "分组号", required = true) @RequestParam Integer groupNumber) {
+        return ResultUtil.ok(markUserGroupService.listBindMarkers(examId, paperNumber, groupNumber));
+    }
+
     /**
      * 绑定评卷员
      */

+ 10 - 0
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/dto/mark/manage/MarkUserGroupProgressDto.java

@@ -18,6 +18,8 @@ public class MarkUserGroupProgressDto {
     private Integer topCount;
     private Integer markedCount;
     private Integer currentCount;
+    // 重置状态
+    private Boolean resetting;
 
     public Long getMarkUserGroupId() {
         return markUserGroupId;
@@ -106,4 +108,12 @@ public class MarkUserGroupProgressDto {
     public void setCurrentCount(Integer currentCount) {
         this.currentCount = currentCount;
     }
+
+    public Boolean getResetting() {
+        return resetting;
+    }
+
+    public void setResetting(Boolean resetting) {
+        this.resetting = resetting;
+    }
 }

+ 2 - 0
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/MarkUserGroupService.java

@@ -57,4 +57,6 @@ public interface MarkUserGroupService extends IService<MarkUserGroup> {
     void deleteByExamIdAndPaperNumberAndGroupNumber(Long examId, String paperNumber, Integer groupNumber);
 
     void updateMode(Long examId, String paperNumber, Integer groupNumber, Long userId, MarkMode mode);
+
+    List<String> listBindMarkers(Long examId, String paperNumber, Integer groupNumber);
 }

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

@@ -715,7 +715,7 @@ public class MarkServiceImpl implements MarkService {
         dto.getSubject().setPaperUrl(markPaper.getPaperFilePath());
         dto.getSubject().setCode(markPaper.getPaperNumber());
         dto.getSubject().setName(markPaper.getCourseName());
-        dto.setForceSpecialTag(true);
+        dto.setForceSpecialTag(false);
         dto.setUiSetting(user.getUiSetting());
         dto.setStatusValue(markPaper.getStatus());
         dto.setProblemTypes(MarkProblemType.listTypes());

+ 12 - 2
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/impl/MarkUserGroupServiceImpl.java

@@ -100,7 +100,8 @@ public class MarkUserGroupServiceImpl extends ServiceImpl<MarkUserGroupMapper, M
         for (MarkUserGroupProgressDto record : markUserGroupProgressDtoIPage.getRecords()) {
             record.setGroupQuestions(markQuestionService.assembleGroupQuestionsByExamIdAndPaperNumberAndNumber(examId, paperNumber, record.getGroupNumber()));
             List<MarkTask> markTaskList = markTaskService.listByExamIdAndPaperNumberAndGroupNumberAndUserIdAndClassName(examId, paperNumber, record.getGroupNumber(), record.getUserId(), null);
-            record.setTaskCount(markTaskList.size());
+//            record.setTaskCount(markTaskList.size());
+            record.setResetting(lockService.trylock(LockType.MARKER_RESET, record.getMarkUserGroupId()));
             record.setMarkedCount(markTaskService.markedCount(markTaskList));
             MarkGroup markGroup = markGroupService.getByExamIdAndPaperNumberAndGroupNumber(examId, paperNumber, record.getGroupNumber());
             record.setCurrentCount(markService.applyCurrentCount(markGroup, record.getMarkUserGroupId()));
@@ -110,7 +111,6 @@ public class MarkUserGroupServiceImpl extends ServiceImpl<MarkUserGroupMapper, M
 
     @Override
     public void addMarkUserGroup(Long examId, String paperNumber, Integer groupNumber, List<Long> userIds) {
-        MarkPaper markPaper = markPaperService.getByExamIdAndPaperNumber(examId, paperNumber);
         if (CollectionUtils.isNotEmpty(userIds)) {
             List<MarkUserGroup> markUserGroups = new ArrayList<>();
             for (Long userId : userIds) {
@@ -322,4 +322,14 @@ public class MarkUserGroupServiceImpl extends ServiceImpl<MarkUserGroupMapper, M
         }
         this.update(updateWrapper);
     }
+
+    @Override
+    public List<String> listBindMarkers(Long examId, String paperNumber, Integer groupNumber) {
+        List<MarkUserGroup> markUserGroups = listByExamIdAndPaperNumberAndGroupNumber(examId, paperNumber, groupNumber);
+        List<String> userIds = new ArrayList<>();
+        if (CollectionUtils.isNotEmpty(markUserGroups)) {
+            userIds = markUserGroups.stream().map(m -> String.valueOf(m.getUserId())).collect(Collectors.toList());
+        }
+        return userIds;
+    }
 }