|
@@ -176,7 +176,7 @@ public class PaperController extends ControllerSupport {
|
|
|
|
|
|
paperSearchInfo.setOrgId(user.getRootOrgId().toString());
|
|
paperSearchInfo.setOrgId(user.getRootOrgId().toString());
|
|
|
|
|
|
- return new ResponseEntity<>(paperService.getImportPapers(paperSearchInfo, curPage, pageSize, userDataRule, false), HttpStatus.OK);
|
|
|
|
|
|
+ return new ResponseEntity<>(paperService.getImportPapers(paperSearchInfo, curPage, pageSize, userDataRule), HttpStatus.OK);
|
|
}
|
|
}
|
|
|
|
|
|
@ResponseBody
|
|
@ResponseBody
|
|
@@ -215,14 +215,16 @@ public class PaperController extends ControllerSupport {
|
|
* @param pageSize
|
|
* @param pageSize
|
|
* @return
|
|
* @return
|
|
*/
|
|
*/
|
|
|
|
+ @DataRule(type = DataRuleType.COURSE)
|
|
@ResponseBody
|
|
@ResponseBody
|
|
@ApiOperation(value = "查询所有已组试卷", notes = "查询所有已组试卷")
|
|
@ApiOperation(value = "查询所有已组试卷", notes = "查询所有已组试卷")
|
|
@GetMapping(value = "/genPaper/{curPage}/{pageSize}")
|
|
@GetMapping(value = "/genPaper/{curPage}/{pageSize}")
|
|
public ResponseEntity<Object> getGenPapers(@ModelAttribute PaperSearchInfo paperSearchInfo,
|
|
public ResponseEntity<Object> getGenPapers(@ModelAttribute PaperSearchInfo paperSearchInfo,
|
|
@PathVariable int curPage, @PathVariable int pageSize) {
|
|
@PathVariable int curPage, @PathVariable int pageSize) {
|
|
User user = getAccessUser();
|
|
User user = getAccessUser();
|
|
|
|
+ UserDataRule ud = getUserDataRule(DataRuleType.COURSE);
|
|
paperSearchInfo.setOrgId(user.getRootOrgId().toString());
|
|
paperSearchInfo.setOrgId(user.getRootOrgId().toString());
|
|
- return new ResponseEntity<>(paperService.getGenPapers(paperSearchInfo, curPage, pageSize), HttpStatus.OK);
|
|
|
|
|
|
+ return new ResponseEntity<>(paperService.getGenPapers(paperSearchInfo, curPage, pageSize,ud), HttpStatus.OK);
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -232,24 +234,26 @@ public class PaperController extends ControllerSupport {
|
|
* @param pageSize
|
|
* @param pageSize
|
|
* @return
|
|
* @return
|
|
*/
|
|
*/
|
|
|
|
+ @DataRule(type = DataRuleType.COURSE)
|
|
@ResponseBody
|
|
@ResponseBody
|
|
@ApiOperation(value = "查询所有导入试卷(not in paperIds)", notes = "查询所有导入试卷(not in paperIds)")
|
|
@ApiOperation(value = "查询所有导入试卷(not in paperIds)", notes = "查询所有导入试卷(not in paperIds)")
|
|
@GetMapping(value = "/genPaper/huoge/{curPage}/{pageSize}")
|
|
@GetMapping(value = "/genPaper/huoge/{curPage}/{pageSize}")
|
|
public ResponseEntity<Object> getGenPapersNotInIds(@ModelAttribute PaperSearchInfo paperSearchInfo,
|
|
public ResponseEntity<Object> getGenPapersNotInIds(@ModelAttribute PaperSearchInfo paperSearchInfo,
|
|
@RequestParam String ids, @PathVariable int curPage, @PathVariable int pageSize) {
|
|
@RequestParam String ids, @PathVariable int curPage, @PathVariable int pageSize) {
|
|
User user = getAccessUser();
|
|
User user = getAccessUser();
|
|
|
|
+ UserDataRule ud = getUserDataRule(DataRuleType.COURSE);
|
|
paperSearchInfo.setOrgId(user.getRootOrgId().toString());
|
|
paperSearchInfo.setOrgId(user.getRootOrgId().toString());
|
|
Page<Paper> ret=null;
|
|
Page<Paper> ret=null;
|
|
if (StringUtils.isNotBlank(ids)) {
|
|
if (StringUtils.isNotBlank(ids)) {
|
|
String[] idArr=ids.split(",");
|
|
String[] idArr=ids.split(",");
|
|
- ret = paperService.getPapersNotInIds(paperSearchInfo, idArr, curPage, pageSize, PaperType.GENERATE);
|
|
|
|
|
|
+ ret = paperService.getPapersNotInIds(paperSearchInfo, idArr, curPage, pageSize, PaperType.GENERATE,ud);
|
|
if (ret.getContent().size() == 0 && ret.getTotalElements() > 0 && curPage > 1) {
|
|
if (ret.getContent().size() == 0 && ret.getTotalElements() > 0 && curPage > 1) {
|
|
- ret = paperService.getPapersNotInIds(paperSearchInfo, idArr, curPage - 1, pageSize, PaperType.GENERATE);
|
|
|
|
|
|
+ ret = paperService.getPapersNotInIds(paperSearchInfo, idArr, curPage - 1, pageSize, PaperType.GENERATE,ud);
|
|
}
|
|
}
|
|
} else {
|
|
} else {
|
|
- ret = paperService.getGenPapers(paperSearchInfo, curPage, pageSize);
|
|
|
|
|
|
+ ret = paperService.getGenPapers(paperSearchInfo, curPage, pageSize,ud);
|
|
if (ret.getContent().size() == 0 && ret.getTotalElements() > 0 && curPage > 1) {
|
|
if (ret.getContent().size() == 0 && ret.getTotalElements() > 0 && curPage > 1) {
|
|
- ret = paperService.getGenPapers(paperSearchInfo, curPage - 1, pageSize);
|
|
|
|
|
|
+ ret = paperService.getGenPapers(paperSearchInfo, curPage - 1, pageSize,ud);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if(ret!=null&&CollectionUtils.isNotEmpty(ret.getContent())) {
|
|
if(ret!=null&&CollectionUtils.isNotEmpty(ret.getContent())) {
|
|
@@ -537,6 +541,7 @@ public class PaperController extends ControllerSupport {
|
|
* @param
|
|
* @param
|
|
* @return
|
|
* @return
|
|
*/
|
|
*/
|
|
|
|
+ @DataRule(type = DataRuleType.COURSE)
|
|
@ResponseBody
|
|
@ResponseBody
|
|
@ApiOperation(value = "查询用于选题的试题列表", notes = "查询用于选题的试题列表")
|
|
@ApiOperation(value = "查询用于选题的试题列表", notes = "查询用于选题的试题列表")
|
|
@GetMapping(value = "/paper/listQuestion/{paperId}/{curPage}/{pageSize}")
|
|
@GetMapping(value = "/paper/listQuestion/{paperId}/{curPage}/{pageSize}")
|
|
@@ -546,6 +551,7 @@ public class PaperController extends ControllerSupport {
|
|
@RequestParam(name = "quesType") String quesType,
|
|
@RequestParam(name = "quesType") String quesType,
|
|
@RequestParam(name = "quesBody") String quesBody) {
|
|
@RequestParam(name = "quesBody") String quesBody) {
|
|
User user = getAccessUser();
|
|
User user = getAccessUser();
|
|
|
|
+ UserDataRule ud = getUserDataRule(DataRuleType.COURSE);
|
|
if (user == null) {
|
|
if (user == null) {
|
|
return new ResponseEntity<>(new PageImpl<Question>(new ArrayList<>()), HttpStatus.OK);
|
|
return new ResponseEntity<>(new PageImpl<Question>(new ArrayList<>()), HttpStatus.OK);
|
|
}
|
|
}
|
|
@@ -553,7 +559,7 @@ public class PaperController extends ControllerSupport {
|
|
if (StringUtils.isNotEmpty(quesType)) {
|
|
if (StringUtils.isNotEmpty(quesType)) {
|
|
quesStructType = QuesStructType.valueOf(quesType);
|
|
quesStructType = QuesStructType.valueOf(quesType);
|
|
}
|
|
}
|
|
- Page<Question> questionPageList = paperService.listQuestionforSelect(paperId, curPage, pageSize, quesStructType, user, quesBody);
|
|
|
|
|
|
+ Page<Question> questionPageList = paperService.listQuestionforSelect(paperId, curPage, pageSize, quesStructType, user, quesBody,ud);
|
|
return new ResponseEntity<>(questionPageList, HttpStatus.OK);
|
|
return new ResponseEntity<>(questionPageList, HttpStatus.OK);
|
|
}
|
|
}
|
|
|
|
|
|
@@ -583,24 +589,26 @@ public class PaperController extends ControllerSupport {
|
|
* @param pageSize
|
|
* @param pageSize
|
|
* @return
|
|
* @return
|
|
*/
|
|
*/
|
|
|
|
+ @DataRule(type = DataRuleType.COURSE)
|
|
@ResponseBody
|
|
@ResponseBody
|
|
@ApiOperation(value = "查询所有导入试卷(not in paperIds)", notes = "查询所有导入试卷(not in paperIds)")
|
|
@ApiOperation(value = "查询所有导入试卷(not in paperIds)", notes = "查询所有导入试卷(not in paperIds)")
|
|
@GetMapping(value = "/importPaper/huoge/{curPage}/{pageSize}")
|
|
@GetMapping(value = "/importPaper/huoge/{curPage}/{pageSize}")
|
|
public ResponseEntity<Object> getImportPapersNotInIds(@ModelAttribute PaperSearchInfo paperSearchInfo, @RequestParam String ids, @PathVariable int curPage,
|
|
public ResponseEntity<Object> getImportPapersNotInIds(@ModelAttribute PaperSearchInfo paperSearchInfo, @RequestParam String ids, @PathVariable int curPage,
|
|
@PathVariable int pageSize) {
|
|
@PathVariable int pageSize) {
|
|
User user = getAccessUser();
|
|
User user = getAccessUser();
|
|
|
|
+ UserDataRule ud = getUserDataRule(DataRuleType.COURSE);
|
|
paperSearchInfo.setOrgId(user.getRootOrgId().toString());
|
|
paperSearchInfo.setOrgId(user.getRootOrgId().toString());
|
|
Page<Paper> ret=null;
|
|
Page<Paper> ret=null;
|
|
if (StringUtils.isNotBlank(ids)) {
|
|
if (StringUtils.isNotBlank(ids)) {
|
|
String[] idArr=ids.split(",");
|
|
String[] idArr=ids.split(",");
|
|
- ret = paperService.getPapersNotInIds(paperSearchInfo, idArr, curPage, pageSize, PaperType.IMPORT);
|
|
|
|
|
|
+ ret = paperService.getPapersNotInIds(paperSearchInfo, idArr, curPage, pageSize, PaperType.IMPORT,ud);
|
|
if (ret.getContent().size() == 0 && ret.getTotalElements() > 0 && curPage > 1) {
|
|
if (ret.getContent().size() == 0 && ret.getTotalElements() > 0 && curPage > 1) {
|
|
- ret = paperService.getPapersNotInIds(paperSearchInfo, idArr, curPage - 1, pageSize, PaperType.IMPORT);
|
|
|
|
|
|
+ ret = paperService.getPapersNotInIds(paperSearchInfo, idArr, curPage - 1, pageSize, PaperType.IMPORT,ud);
|
|
}
|
|
}
|
|
} else {
|
|
} else {
|
|
- ret = paperService.getImportPapers(paperSearchInfo, curPage, pageSize);
|
|
|
|
|
|
+ ret = paperService.getImportPapers(paperSearchInfo, curPage, pageSize,ud);
|
|
if (ret.getContent().size() == 0 && ret.getTotalElements() > 0 && curPage > 1) {
|
|
if (ret.getContent().size() == 0 && ret.getTotalElements() > 0 && curPage > 1) {
|
|
- ret = paperService.getImportPapers(paperSearchInfo, curPage - 1, pageSize);
|
|
|
|
|
|
+ ret = paperService.getImportPapers(paperSearchInfo, curPage - 1, pageSize,ud);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if(ret!=null&&CollectionUtils.isNotEmpty(ret.getContent())) {
|
|
if(ret!=null&&CollectionUtils.isNotEmpty(ret.getContent())) {
|
|
@@ -855,11 +863,16 @@ public class PaperController extends ControllerSupport {
|
|
ExportUtils.exportEXCEL("试卷答案", PaperAnswerDomain.class, dtos, response);
|
|
ExportUtils.exportEXCEL("试卷答案", PaperAnswerDomain.class, dtos, response);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ @DataRule(type = DataRuleType.COURSE)
|
|
@ApiOperation(value = "试卷答案导入")
|
|
@ApiOperation(value = "试卷答案导入")
|
|
@RequestMapping(value = "/paper/answer/import/{paperId}", method = RequestMethod.POST)
|
|
@RequestMapping(value = "/paper/answer/import/{paperId}", method = RequestMethod.POST)
|
|
@ResponseBody
|
|
@ResponseBody
|
|
public void answerImport(@PathVariable String paperId, @RequestPart @NotNull(message = "上传文件不能为空!") MultipartFile dataFile) {
|
|
public void answerImport(@PathVariable String paperId, @RequestPart @NotNull(message = "上传文件不能为空!") MultipartFile dataFile) {
|
|
User user = getAccessUser();
|
|
User user = getAccessUser();
|
|
|
|
+ UserDataRule ud = getUserDataRule(DataRuleType.COURSE);
|
|
|
|
+ if (ud.assertEmptyQueryResult()) {
|
|
|
|
+ throw new StatusException("500", "没有数据权限");
|
|
|
|
+ }
|
|
Paper paper = cn.com.qmth.examcloud.core.questions.base.Model.of(paperRepo.findById(paperId));
|
|
Paper paper = cn.com.qmth.examcloud.core.questions.base.Model.of(paperRepo.findById(paperId));
|
|
if (paper == null) {
|
|
if (paper == null) {
|
|
throw new StatusException("500", "未找到试卷");
|
|
throw new StatusException("500", "未找到试卷");
|
|
@@ -867,6 +880,9 @@ public class PaperController extends ControllerSupport {
|
|
if (!isSuperAdmin() && !paper.getOrgId().equals(String.valueOf(user.getRootOrgId()))) {
|
|
if (!isSuperAdmin() && !paper.getOrgId().equals(String.valueOf(user.getRootOrgId()))) {
|
|
throw new StatusException("500", "非法请求");
|
|
throw new StatusException("500", "非法请求");
|
|
}
|
|
}
|
|
|
|
+ if(ud.assertNeedQueryRefIds()&&!ud.stringRefIds().contains(Long.valueOf(paper.getCourse().getId()))) {
|
|
|
|
+ throw new StatusException("500", "没有数据权限");
|
|
|
|
+ }
|
|
paperService.answerImport(paper, dataFile);
|
|
paperService.answerImport(paper, dataFile);
|
|
StringBuilder paperInfo = new StringBuilder();
|
|
StringBuilder paperInfo = new StringBuilder();
|
|
paperInfo.append("课程:" + paper.getCourse().getName() + "(" + paper.getCourse().getCode() + ")");
|
|
paperInfo.append("课程:" + paper.getCourse().getName() + "(" + paper.getCourse().getCode() + ")");
|