|
@@ -144,26 +144,32 @@ public class TEExamReexamController {
|
|
|
if (Objects.isNull(mapParameter.get("reexamId")) || Objects.equals(mapParameter.get("reexamId"), "")) {
|
|
|
throw new BusinessException("重考id不能为空");
|
|
|
}
|
|
|
- Long reexamId = null;
|
|
|
+ List<Long> reexamIdList = null;
|
|
|
try {
|
|
|
- reexamId = Long.parseLong(String.valueOf(mapParameter.get("reexamId")));
|
|
|
+ reexamIdList = (List<Long>) mapParameter.get("reexamId");
|
|
|
if (Objects.isNull(mapParameter.get("auditingStatus")) || Objects.equals(mapParameter.get("auditingStatus"), "")) {
|
|
|
throw new BusinessException("审批状态不能为空");
|
|
|
}
|
|
|
Integer auditingStatus = Integer.parseInt(String.valueOf(mapParameter.get("auditingStatus")));
|
|
|
TBUser tbUser = (TBUser) ServletUtil.getRequestAccount();
|
|
|
- if (redisUtil.lock(SystemConstant.REDIS_LOCK_REEXAM_AUDITING + reexamId, SystemConstant.REDIS_LOCK_REEXAM_TIME_OUT)) {
|
|
|
- TEExamReexam teExamReexam = teExamReexamService.getById(reexamId);
|
|
|
- if (Objects.isNull(teExamReexam.getUpdateId())) {
|
|
|
- teExamReexam.setAuditingStatus(auditingStatus);
|
|
|
- teExamReexam.setAuditingTime(new Date());
|
|
|
- teExamReexam.setAuditingSuggest(Objects.isNull(mapParameter.get("auditingSuggest")) ? null : String.valueOf(mapParameter.get("auditingSuggest")));
|
|
|
- teExamReexam.setUpdateId(tbUser.getId());
|
|
|
- teExamReexamService.updateById(teExamReexam);
|
|
|
- } else {
|
|
|
- throw new BusinessException("重考id[" + reexamId + "]已经审核");
|
|
|
+ List<TEExamReexam> teExamReexamUpdateList = new ArrayList<>();
|
|
|
+ for (Long reexamId : reexamIdList) {
|
|
|
+ if (redisUtil.lock(SystemConstant.REDIS_LOCK_REEXAM_AUDITING + reexamId, SystemConstant.REDIS_LOCK_REEXAM_TIME_OUT)) {
|
|
|
+ TEExamReexam teExamReexam = teExamReexamService.getById(reexamId);
|
|
|
+ if (Objects.nonNull(teExamReexam.getStatus()) && teExamReexam.getStatus().intValue() == 2) {
|
|
|
+ throw new BusinessException("重考id[" + reexamId + "]已经审核");
|
|
|
+ } else {
|
|
|
+ teExamReexam.setAuditingStatus(auditingStatus);
|
|
|
+ teExamReexam.setAuditingTime(new Date());
|
|
|
+ teExamReexam.setAuditingSuggest(Objects.isNull(mapParameter.get("auditingSuggest")) ? null : String.valueOf(mapParameter.get("auditingSuggest")));
|
|
|
+ teExamReexam.setStatus(2);
|
|
|
+ teExamReexam.setUpdateId(tbUser.getId());
|
|
|
+ teExamReexamUpdateList.add(teExamReexam);
|
|
|
+ teExamReexamService.updateById(teExamReexam);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
+ teExamReexamService.updateBatchById(teExamReexamUpdateList);
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
if (e instanceof BusinessException) {
|
|
@@ -172,8 +178,10 @@ public class TEExamReexamController {
|
|
|
throw new RuntimeException(e);
|
|
|
}
|
|
|
} finally {
|
|
|
- if (Objects.nonNull(reexamId)) {
|
|
|
- redisUtil.releaseLock(SystemConstant.REDIS_LOCK_REEXAM_AUDITING + reexamId);
|
|
|
+ if (Objects.nonNull(reexamIdList)) {
|
|
|
+ reexamIdList.forEach(s -> {
|
|
|
+ redisUtil.releaseLock(SystemConstant.REDIS_LOCK_REEXAM_AUDITING + s);
|
|
|
+ });
|
|
|
}
|
|
|
}
|
|
|
return ResultUtil.ok(SystemConstant.SUCCESS);
|
|
@@ -221,24 +229,22 @@ public class TEExamReexamController {
|
|
|
@RequestMapping(value = "/list_not_done", method = RequestMethod.POST)
|
|
|
@ApiResponses({@ApiResponse(code = 200, message = "{\"success\":true}", response = ReexamListRequestBean.class)})
|
|
|
public Result listNotDone(@ApiParam(value = "考试批次id") @RequestParam Long examId,
|
|
|
- @ApiParam(value = "考试场次id", required = false) @RequestParam(required = false) Long examActivityId,
|
|
|
- @ApiParam(value = "虚拟考场代码", required = false) @RequestParam(required = false) String roomCode,
|
|
|
- @ApiParam(value = "科目代码", required = false) @RequestParam(required = false) String courseCode,
|
|
|
- @ApiParam(value = "姓名", required = false) @RequestParam(required = false) String name,
|
|
|
- @ApiParam(value = "证件号", required = false) @RequestParam(required = false) String identity,
|
|
|
- @ApiParam(value = "分页页码", required = true) @RequestParam int pageNumber,
|
|
|
- @ApiParam(value = "分页数", required = true) @RequestParam int pageSize) {
|
|
|
+ @ApiParam(value = "考试场次id", required = false) @RequestParam(required = false) Long examActivityId,
|
|
|
+ @ApiParam(value = "虚拟考场代码", required = false) @RequestParam(required = false) String roomCode,
|
|
|
+ @ApiParam(value = "科目代码", required = false) @RequestParam(required = false) String courseCode,
|
|
|
+ @ApiParam(value = "姓名", required = false) @RequestParam(required = false) String name,
|
|
|
+ @ApiParam(value = "证件号", required = false) @RequestParam(required = false) String identity,
|
|
|
+ @ApiParam(value = "申请理由", required = false) @RequestParam(required = false) String reason,
|
|
|
+ @ApiParam(value = "申请开始时间", required = false) @RequestParam(required = false) String reasonStartTime,
|
|
|
+ @ApiParam(value = "申请结束时间", required = false) @RequestParam(required = false) String reasonEndTime,
|
|
|
+ @ApiParam(value = "申请人", required = false) @RequestParam(required = false) String applyName,
|
|
|
+ @ApiParam(value = "分页页码", required = true) @RequestParam int pageNumber,
|
|
|
+ @ApiParam(value = "分页数", required = true) @RequestParam int pageSize) {
|
|
|
if (Objects.isNull(examId) || Objects.equals(examId, "")) {
|
|
|
throw new BusinessException(ExceptionResultEnum.EXAM_ID_IS_NULL);
|
|
|
}
|
|
|
TBUser tbUser = (TBUser) ServletUtil.getRequestAccount();
|
|
|
- AuthDto authDto = (AuthDto) redisUtil.get(SystemConstant.userOauth + "::" + tbUser.getId());
|
|
|
- //如果有监考员角色,只能查看自己所监考的考场,巡考员和管理员则可以查看全部考场
|
|
|
- Long userId = null;
|
|
|
- if (authDto.getRoleCodes().toString().contains(RoleEnum.INVIGILATE.name())) {
|
|
|
- userId = tbUser.getId();
|
|
|
- }
|
|
|
- IPage<ReexamListRequestBean> reexamListRequestBeanIPage = teExamReexamService.reexamPageRequestList(new Page<>(pageNumber, pageSize), examId, examActivityId, roomCode, courseCode, name, identity, userId);
|
|
|
+ IPage<ReexamListRequestBean> reexamListRequestBeanIPage = teExamReexamService.reexamPageRequestList(new Page<>(pageNumber, pageSize), examId, examActivityId, roomCode, courseCode, name, identity, tbUser.getId());
|
|
|
BasePage basePage = new BasePage(reexamListRequestBeanIPage.getRecords(), reexamListRequestBeanIPage.getCurrent(), reexamListRequestBeanIPage.getSize(), reexamListRequestBeanIPage.getTotal());
|
|
|
Map map = new HashMap<>();
|
|
|
map.put(SystemConstant.RECORDS, basePage);
|
|
@@ -249,13 +255,13 @@ public class TEExamReexamController {
|
|
|
@RequestMapping(value = "/list_done", method = RequestMethod.POST)
|
|
|
@ApiResponses({@ApiResponse(code = 200, message = "{\"success\":true}", response = ReexamListRequestBean.class)})
|
|
|
public Result listDone(@ApiParam(value = "考试批次id") @RequestParam Long examId,
|
|
|
- @ApiParam(value = "考试场次id", required = false) @RequestParam(required = false) Long examActivityId,
|
|
|
- @ApiParam(value = "虚拟考场代码", required = false) @RequestParam(required = false) String roomCode,
|
|
|
- @ApiParam(value = "科目代码", required = false) @RequestParam(required = false) String courseCode,
|
|
|
- @ApiParam(value = "姓名", required = false) @RequestParam(required = false) String name,
|
|
|
- @ApiParam(value = "证件号", required = false) @RequestParam(required = false) String identity,
|
|
|
- @ApiParam(value = "分页页码", required = true) @RequestParam int pageNumber,
|
|
|
- @ApiParam(value = "分页数", required = true) @RequestParam int pageSize) {
|
|
|
+ @ApiParam(value = "考试场次id", required = false) @RequestParam(required = false) Long examActivityId,
|
|
|
+ @ApiParam(value = "虚拟考场代码", required = false) @RequestParam(required = false) String roomCode,
|
|
|
+ @ApiParam(value = "科目代码", required = false) @RequestParam(required = false) String courseCode,
|
|
|
+ @ApiParam(value = "姓名", required = false) @RequestParam(required = false) String name,
|
|
|
+ @ApiParam(value = "证件号", required = false) @RequestParam(required = false) String identity,
|
|
|
+ @ApiParam(value = "分页页码", required = true) @RequestParam int pageNumber,
|
|
|
+ @ApiParam(value = "分页数", required = true) @RequestParam int pageSize) {
|
|
|
if (Objects.isNull(examId) || Objects.equals(examId, "")) {
|
|
|
throw new BusinessException(ExceptionResultEnum.EXAM_ID_IS_NULL);
|
|
|
}
|