|
@@ -9,8 +9,6 @@ import com.qmth.distributed.print.business.bean.dto.report.ObeCourseRequirementD
|
|
|
import com.qmth.distributed.print.business.bean.result.ObeCourseRequirementListResult;
|
|
|
import com.qmth.distributed.print.business.bean.result.ScoreResult;
|
|
|
import com.qmth.distributed.print.business.entity.ObeCourseRequirementReport;
|
|
|
-import com.qmth.distributed.print.business.service.ObeCourseOutlineService;
|
|
|
-import com.qmth.distributed.print.business.service.ObeCourseRequirementMatrixService;
|
|
|
import com.qmth.distributed.print.business.service.ObeCourseRequirementReportService;
|
|
|
import com.qmth.distributed.print.business.service.TRExamStudentService;
|
|
|
import com.qmth.teachcloud.common.contant.SystemConstant;
|
|
@@ -52,19 +50,13 @@ public class ObeReportController {
|
|
|
@Resource
|
|
|
TRExamStudentService trExamStudentService;
|
|
|
|
|
|
- @Resource
|
|
|
- ObeCourseRequirementMatrixService obeCourseRequirementMatrixService;
|
|
|
-
|
|
|
- @Resource
|
|
|
- ObeCourseOutlineService obeCourseOutlineService;
|
|
|
-
|
|
|
@Resource
|
|
|
RedisUtil redisUtil;
|
|
|
|
|
|
- @ApiOperation(value = "毕业要求达成度报表列表")
|
|
|
+ @ApiOperation(value = "毕业要求达成度重新计算")
|
|
|
@RequestMapping(value = "/requirements/again/calculate", method = RequestMethod.POST)
|
|
|
@ApiResponses({@ApiResponse(code = 200, message = "分页查询", response = ObeCourseRequirementListResult.class)})
|
|
|
- public Result againCalculate(@ApiParam(value = "培养方案ID", required = true) @RequestParam Long cultureProgramId) {
|
|
|
+ public Result requirementsAgainCalculate(@ApiParam(value = "培养方案ID", required = true) @RequestParam Long cultureProgramId) {
|
|
|
String lockKey = SystemConstant.REDIS_OBE_RADAR_AGAIN_DATA_PREFIX + cultureProgramId;
|
|
|
boolean lock = redisUtil.lock(lockKey, SystemConstant.REDIS_LOCK_OBE_RADAR_DATA_TIME_OUT);
|
|
|
if (!lock) {
|
|
@@ -156,10 +148,35 @@ public class ObeReportController {
|
|
|
return ResultUtil.ok(obeCourseRequirementDtoList);
|
|
|
}
|
|
|
|
|
|
+ @ApiOperation(value = "毕业要求达成度学生重新计算")
|
|
|
+ @RequestMapping(value = "/student_requirement/again/calculate", method = RequestMethod.POST)
|
|
|
+ @ApiResponses({@ApiResponse(code = 200, message = "毕业要求达成度学生报表", response = ScoreResult.class)})
|
|
|
+ public Result requirementsStudentAgainCalculate(@ApiParam(value = "培养方案ID") @RequestParam(required = false) Long cultureProgramId) {
|
|
|
+ String lockKey = SystemConstant.REDIS_OBE_RADAR_STUDENT_DATA_PREFIX + cultureProgramId;
|
|
|
+ boolean lock = redisUtil.lock(lockKey, SystemConstant.REDIS_LOCK_OBE_RADAR_DATA_TIME_OUT);
|
|
|
+ if (!lock) {
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("正在重新计算数据,请稍候再试!");
|
|
|
+ }
|
|
|
+ ObeCourseRequirementDto obeCourseRequirementResultDto = null;
|
|
|
+ try {
|
|
|
+ obeCourseRequirementResultDto = obeCourseRequirementReportService.calculate(cultureProgramId);
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error(SystemConstant.LOG_ERROR, e);
|
|
|
+ if (e instanceof ApiException) {
|
|
|
+ ResultUtil.error((ApiException) e, ((ApiException) e).getCode(), e.getMessage());
|
|
|
+ } else {
|
|
|
+ ResultUtil.error(e.getMessage());
|
|
|
+ }
|
|
|
+ } finally {
|
|
|
+ redisUtil.releaseLock(lockKey);
|
|
|
+ }
|
|
|
+ return ResultUtil.ok(obeCourseRequirementResultDto);
|
|
|
+ }
|
|
|
+
|
|
|
@ApiOperation(value = "毕业要求达成度学生报表-列表")
|
|
|
@RequestMapping(value = "/student_requirement/page", method = RequestMethod.POST)
|
|
|
@ApiResponses({@ApiResponse(code = 200, message = "毕业要求达成度学生报表", response = ScoreResult.class)})
|
|
|
- public Result requirementsStudentPage(@ApiParam(value = "培养方案ID") @RequestParam(required = false) Long cultureProgramId,
|
|
|
+ public Result requirementsStudentPage(@ApiParam(value = "培养方案ID", required = true) @RequestParam Long cultureProgramId,
|
|
|
@ApiParam(value = "学号/姓名") @RequestParam(required = false) String studentCodeOrName,
|
|
|
@RequestParam @Min(SystemConstant.PAGE_NUMBER_MIN) Integer pageNumber,
|
|
|
@RequestParam @Min(SystemConstant.PAGE_SIZE_MIN) @Max(SystemConstant.PAGE_SIZE_MAX) Integer pageSize) {
|