|
@@ -21,6 +21,7 @@ import com.qmth.distributed.print.business.enums.ExamPaperStructureStatusTypeEnu
|
|
import com.qmth.distributed.print.business.enums.ExamTaskSyncStatusEnum;
|
|
import com.qmth.distributed.print.business.enums.ExamTaskSyncStatusEnum;
|
|
import com.qmth.distributed.print.business.mapper.ExamPaperStructureMapper;
|
|
import com.qmth.distributed.print.business.mapper.ExamPaperStructureMapper;
|
|
import com.qmth.distributed.print.business.service.*;
|
|
import com.qmth.distributed.print.business.service.*;
|
|
|
|
+import com.qmth.teachcloud.common.bean.auth.AuthBean;
|
|
import com.qmth.teachcloud.common.bean.dto.DataPermissionRule;
|
|
import com.qmth.teachcloud.common.bean.dto.DataPermissionRule;
|
|
import com.qmth.teachcloud.common.bean.dto.UserRoleDto;
|
|
import com.qmth.teachcloud.common.bean.dto.UserRoleDto;
|
|
import com.qmth.teachcloud.common.bean.dto.stmms.ExamCloudPaperStructDto;
|
|
import com.qmth.teachcloud.common.bean.dto.stmms.ExamCloudPaperStructDto;
|
|
@@ -108,13 +109,25 @@ public class ExamPaperStructureServiceImpl extends ServiceImpl<ExamPaperStructur
|
|
@Resource
|
|
@Resource
|
|
ExamPaperClassMarkerService examPaperClassMarkerService;
|
|
ExamPaperClassMarkerService examPaperClassMarkerService;
|
|
|
|
|
|
|
|
+ @Resource
|
|
|
|
+ CommonCacheService commonCacheService;
|
|
|
|
+
|
|
@Override
|
|
@Override
|
|
public IPage<ExamPaperStructurePageDto> listByPropositionTeacherId(Long semesterId, Long examId, Integer pageNumber, Integer pageSize, Boolean ready) {
|
|
public IPage<ExamPaperStructurePageDto> listByPropositionTeacherId(Long semesterId, Long examId, Integer pageNumber, Integer pageSize, Boolean ready) {
|
|
Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
|
|
Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
|
|
SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
|
|
SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
|
|
- DataPermissionRule dpr = basicRoleDataPermissionService.findDataPermission(schoolId, sysUser.getId(), ServletUtil.getRequest().getServletPath());
|
|
|
|
|
|
+ String url = "/api/admin/exam/structure/list";
|
|
|
|
+ DataPermissionRule dpr = basicRoleDataPermissionService.findDataPermission(schoolId, sysUser.getId(), url);
|
|
Page<ExamPaperStructure> page = new Page<>(pageNumber, pageSize);
|
|
Page<ExamPaperStructure> page = new Page<>(pageNumber, pageSize);
|
|
- IPage<ExamPaperStructurePageDto> examPaperStructureIPage = this.baseMapper.listByPropositionTeacherId(page, schoolId, semesterId, examId, ExamTaskSyncStatusEnum.FINISH.name(), ready, dpr);
|
|
|
|
|
|
+ String syncStatus = ExamTaskSyncStatusEnum.FINISH.name();
|
|
|
|
+ // 查看是否有评卷参数管理权限
|
|
|
|
+ AuthBean authBean = commonCacheService.userAuthCache(sysUser.getId());
|
|
|
|
+ Set<String> urls = authBean.getUrls();
|
|
|
|
+ int privilegeCount = Objects.nonNull(urls) ? (int) urls.stream().filter(s -> s.equalsIgnoreCase(url)).count() : 0;
|
|
|
|
+ if (privilegeCount == 0) {
|
|
|
|
+ syncStatus = null;
|
|
|
|
+ }
|
|
|
|
+ IPage<ExamPaperStructurePageDto> examPaperStructureIPage = this.baseMapper.listByPropositionTeacherId(page, schoolId, semesterId, examId, syncStatus, ready, dpr);
|
|
examPaperStructureIPage.getRecords().forEach(m -> {
|
|
examPaperStructureIPage.getRecords().forEach(m -> {
|
|
// 试卷结构同步任务状态
|
|
// 试卷结构同步任务状态
|
|
if (m.getId() != null) {
|
|
if (m.getId() != null) {
|
|
@@ -338,7 +351,8 @@ public class ExamPaperStructureServiceImpl extends ServiceImpl<ExamPaperStructur
|
|
public long countByPropositionTeacherId(Boolean ready) {
|
|
public long countByPropositionTeacherId(Boolean ready) {
|
|
Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
|
|
Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
|
|
SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
|
|
SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
|
|
- List<ExamPaperStructure> examPaperStructureList = this.baseMapper.listByPropositionTeacherId(schoolId, null, null, sysUser.getId(), ExamTaskSyncStatusEnum.FINISH.name(), ready, null);
|
|
|
|
|
|
+ DataPermissionRule dpr = basicRoleDataPermissionService.findDataPermission(schoolId, sysUser.getId(), "/api/admin/exam/structure/list");
|
|
|
|
+ List<ExamPaperStructure> examPaperStructureList = this.baseMapper.listByPropositionTeacherId(schoolId, null, null, sysUser.getId(), ExamTaskSyncStatusEnum.FINISH.name(), ready, dpr);
|
|
return CollectionUtils.isEmpty(examPaperStructureList) ? 0 : examPaperStructureList.size();
|
|
return CollectionUtils.isEmpty(examPaperStructureList) ? 0 : examPaperStructureList.size();
|
|
}
|
|
}
|
|
|
|
|