package org.springblade.modules.training.controller;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiParam;
|
import lombok.AllArgsConstructor;
|
import org.springblade.common.utils.arg;
|
import org.springblade.core.mp.support.Condition;
|
import org.springblade.core.mp.support.Query;
|
import org.springblade.core.tool.api.R;
|
import org.springblade.core.tool.utils.Func;
|
import org.springblade.modules.apply.entity.ExamPayment;
|
import org.springblade.modules.apply.service.ExamPaymentService;
|
import org.springblade.modules.exam.entity.ExamPaper;
|
import org.springblade.modules.exam.entity.ExamScore;
|
import org.springblade.modules.exam.service.ExamPaperService;
|
import org.springblade.modules.training.entity.TrainExam;
|
import org.springblade.modules.training.service.TrainExamService;
|
import org.springblade.modules.training.vo.TrainExamVo;
|
import org.springframework.web.bind.annotation.*;
|
|
import java.text.SimpleDateFormat;
|
import java.util.Arrays;
|
import java.util.Date;
|
import java.util.List;
|
|
/**
|
* @author zhongrj
|
* @time 2021-07-23
|
* @desc 报名培训申请管理控制层
|
*/
|
@RestController
|
@AllArgsConstructor
|
@RequestMapping("/trainExam")
|
public class TrainExamController {
|
|
private final TrainExamService trainExamService;
|
|
private final ExamPaperService examPaperService;
|
|
/**
|
* 自定义分页
|
* @param query page,size
|
* @param trainExam 报名培训申请信息对象
|
*/
|
@GetMapping("/page")
|
public R<IPage<TrainExamVo>> page(TrainExamVo trainExam, Query query) {
|
IPage<TrainExamVo> pages = trainExamService.selectTrainExamPage(Condition.getPage(query), trainExam);
|
return R.data(pages);
|
}
|
|
/**
|
* 新增
|
* @param trainExam 报名培训申请信息对象
|
*/
|
@PostMapping("/save")
|
@ApiOperation(value = "新增", notes = "传入trainExam")
|
public R save(@RequestBody TrainExam trainExam) throws Exception {
|
return R.status(trainExamService.save(trainExam));
|
}
|
|
/**
|
* 修改
|
* @param trainExam 报名培训申请信息对象
|
*/
|
@PostMapping("/update")
|
public R update(@RequestBody TrainExam trainExam) throws Exception {
|
return R.status(trainExamService.updateById(trainExam));
|
}
|
|
/**
|
* 审核修改
|
* @param trainExam 报名培训申请信息对象
|
*/
|
@PostMapping("/update-audit")
|
public R updateAudit(@RequestBody TrainExam trainExam) throws Exception {
|
trainExam.setAuditTime(new Date());
|
//审核通过,插入一条考试信息
|
if (trainExam.getAuditStatus()==1){
|
//查询考试申请
|
TrainExam exam = trainExamService.getById(trainExam.getId());
|
//如果已通过申请,则修改后返回
|
if (exam.getAuditStatus()==1){
|
return R.status(trainExamService.updateById(trainExam));
|
}
|
ExamPaper examPaper = new ExamPaper();
|
examPaper.setTrainExamId(trainExam.getId());
|
examPaper.setExamName(trainExam.getTrainExamName());
|
examPaper.setStartTime(trainExam.getStartTime());
|
examPaper.setEndTime(trainExam.getEndTime());
|
examPaper.setCreatorDate(new Date());
|
//区间时间
|
String start = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(trainExam.getStartTime());
|
String end = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(trainExam.getEndTime());
|
String examTime = "[\"" +start+ "\""+","+"\"" +end+ "\"]";
|
examPaper.setExamTime(examTime);
|
//1:正式考试 2:模拟考试
|
examPaper.setExamType(2);
|
examPaperService.save(examPaper);
|
}
|
return R.status(trainExamService.updateById(trainExam));
|
}
|
|
/**
|
* 新增或修改
|
* @param trainExam 报名培训申请信息对象
|
*/
|
@PostMapping("/submit")
|
public R submit(@RequestBody TrainExam trainExam) throws Exception {
|
if (null==trainExam.getId()){
|
trainExam.setCreateTime(new Date());
|
trainExam.setAuditStatus(3);
|
}
|
return R.status(trainExamService.saveOrUpdate(trainExam));
|
}
|
|
/**
|
* 删除
|
* @param ids 报名培训申请信息ids 数组
|
*/
|
@PostMapping("/remove")
|
public R remove(@ApiParam(value = "主键集合") @RequestParam String ids) {
|
return R.status(trainExamService.removeByIds(Func.toLongList(ids)));
|
}
|
|
/**
|
* 详情
|
* @param trainExam 报名培训申请信息对象
|
*/
|
@GetMapping("/detail")
|
@ApiOperation(value = "详情", notes = "传入trainExam")
|
public R<TrainExamVo> detail(TrainExam trainExam) {
|
TrainExamVo detail = trainExamService.selectTrainExamInfo(trainExam);
|
return R.data(detail);
|
}
|
|
/**
|
* 自定义树
|
* @param trainExam 报名培训申请信息对象
|
* @return
|
*/
|
@GetMapping("/page-tree")
|
public List<TrainExam> pageTree(TrainExam trainExam) {
|
return trainExamService.selectTrainExamPageTree(trainExam);
|
}
|
|
}
|