package com.qxueyou.scc.exercise.action;
|
|
import java.util.List;
|
import java.util.Map;
|
|
import org.apache.commons.lang3.StringUtils;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Qualifier;
|
import org.springframework.stereotype.Controller;
|
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMethod;
|
import org.springframework.web.bind.annotation.ResponseBody;
|
|
import com.qxueyou.scc.base.dao.CommonDAO;
|
import com.qxueyou.scc.base.model.Pager;
|
import com.qxueyou.scc.base.model.Result;
|
import com.qxueyou.scc.base.service.ICommonService;
|
import com.qxueyou.scc.base.util.CollectionUtils;
|
import com.qxueyou.scc.base.util.QBeanUtils;
|
import com.qxueyou.scc.exercise.model.ExerciseCompleteInfo;
|
import com.qxueyou.scc.exercise.model.ExerciseInfo;
|
import com.qxueyou.scc.exercise.service.IExerciseCompleteService;
|
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiImplicitParam;
|
import io.swagger.annotations.ApiImplicitParams;
|
import io.swagger.annotations.ApiOperation;
|
|
/**
|
*作业完成情况
|
*
|
* @author kevin
|
* @history 2018-03-11 create kevin
|
*
|
*/
|
@Api(tags="作业完成情况管理接口")
|
@Controller
|
@RequestMapping(value = "/exercise/complete")
|
public class ExerciseCompleteController {
|
//分页查询中,默认记录条数和页数
|
private static final int DEFAULT_PAGE_SIZE=10;
|
private static final int DEFAULT_PAGE_NUM=1;
|
|
@Autowired
|
private CommonDAO commonDAO;
|
|
@Autowired
|
@Qualifier("commonAppService")
|
ICommonService commonService;
|
|
@Autowired
|
IExerciseCompleteService exerciseCompleteService;
|
|
|
/**
|
* 作业完成情况列表
|
* */
|
@ApiOperation(value = "作业完成情况列表", notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "keyword", value = "学生名称", required = false, paramType="query", dataType = "String"),
|
@ApiImplicitParam(name = "exerciseInfoId", value = "作业id", required = true, paramType="query", dataType = "String"),
|
@ApiImplicitParam(name = "status", value = "状态(0未提交,1待批阅,2已批阅,3需重写)", required = false, paramType="query", dataType = "Short"),
|
})
|
@RequestMapping(value = "/list", method = RequestMethod.GET)
|
public @ResponseBody Result list(String keyword,String exerciseInfoId,Short status,Integer pageSize,Integer pageNum){
|
pageSize = pageSize != null && pageSize > 0 ? pageSize : DEFAULT_PAGE_SIZE;
|
pageNum = pageNum != null && pageNum > 0 ? pageNum : DEFAULT_PAGE_NUM;
|
|
//读取作业信息
|
ExerciseInfo exerciseInfo = commonService.read(ExerciseInfo.class, exerciseInfoId);
|
|
//总考试数量
|
int totalCount = exerciseCompleteService.listCount(keyword == null ? "" : keyword.trim(),exerciseInfoId,status);
|
Pager pager = new Pager(pageSize,pageNum);
|
pager.setTotalCount(totalCount);
|
|
List<ExerciseCompleteInfo> list = exerciseCompleteService.list(keyword == null ? "" : keyword.trim(),exerciseInfoId,status,pageSize,pageNum);
|
|
List<Map<String, Object>> listResult =QBeanUtils.listBean2ListMap(list,
|
CollectionUtils.newStringMap("exerciseCompleteId", "exerciseCompleteId", "exerciseInfoId", "exerciseInfoId", "className", "className",
|
"studentNo","studentNo","studentUserName", "studentUserName", "submitTime", "submitTime",
|
"completeStatus","completeStatus","studentScore","studentScore"));
|
|
return new Result(true,"",CollectionUtils.newObjectMap("exerciseInfoId",exerciseInfoId,"exerciseName",exerciseInfo.getName(),"list",listResult,"pager", pager));
|
}
|
|
/**
|
* 根据不同的作业类型,返回作业完成情况及审批详情
|
* @param exerciseCompleteId
|
* @return
|
*/
|
@ApiOperation(value = "详情页面数据", notes = "")
|
@ApiImplicitParams({@ApiImplicitParam(name = "exerciseCompleteId", value = "作业完成情况id", required = true, paramType="query", dataType = "String")})
|
@RequestMapping(value = "/detail", method = RequestMethod.GET)
|
public @ResponseBody Result detail(String exerciseCompleteId) {
|
return new Result(true,"",CollectionUtils.newObjectMap("detail",exerciseCompleteService.queryExerciseCompleteDetail(exerciseCompleteId)));
|
}
|
|
/**
|
* 批阅
|
* @param exerciseCompleteInfo
|
* @return
|
*/
|
@RequestMapping(value = "/save", method = RequestMethod.POST)
|
public @ResponseBody Result save(@RequestBody ExerciseCompleteInfo exerciseCompleteInfo) {
|
if(StringUtils.isEmpty(exerciseCompleteInfo.getExerciseCompleteId())){
|
return new Result(true,"",CollectionUtils.newObjectMap("exerciseCompleteId",exerciseCompleteService.addExerciseComplete(exerciseCompleteInfo)));
|
}else{
|
return exerciseCompleteService.updateExerciseComplete(exerciseCompleteInfo);
|
}
|
}
|
|
/**
|
* 批阅
|
* @param examInfo
|
* @return
|
*/
|
@ApiOperation(value = "批阅", notes = "")
|
@RequestMapping(value = "/check", method = RequestMethod.POST)
|
public @ResponseBody Result checkExerciseComplateInfo(@RequestBody ExerciseCompleteInfo exerciseCompleteInfo) {
|
return exerciseCompleteService.updateExerciseComplete(exerciseCompleteInfo);
|
}
|
|
/**
|
* 批阅下一个
|
* @param examInfo
|
* @return
|
*/
|
@ApiOperation(value = "批阅下一个", notes = "")
|
@ApiImplicitParams({@ApiImplicitParam(name = "exerciseInfoId", value = "作业id", required = true, paramType="query", dataType = "String")})
|
@RequestMapping(value = "/checknext", method = RequestMethod.GET)
|
public @ResponseBody Result checkExerciseComplateInfo(String exerciseInfoId) {
|
String hql = "from ExerciseCompleteInfo where exerciseInfoId=? and completeStatus=? and deleteFlag is false order by studentNo asc";
|
ExerciseCompleteInfo lastCompleteInfo = this.commonDAO.findUnique(hql, CollectionUtils.newList(exerciseInfoId,ExerciseCompleteInfo.STATUS_COMMIT), ExerciseCompleteInfo.class);
|
if(lastCompleteInfo!=null){
|
return new Result(true,"",CollectionUtils.newObjectMap("detail",exerciseCompleteService.queryExerciseCompleteDetail(lastCompleteInfo.getExerciseCompleteId())));
|
}else{
|
return new Result(false,"已经没有待批阅的作业!");
|
}
|
}
|
|
}
|