|
@@ -6,27 +6,13 @@ import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
|
|
|
-import javax.servlet.http.HttpServletRequest;
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
|
|
|
-import cn.com.qmth.stmms.biz.exam.bean.RejectHistoryVo;
|
|
|
-import cn.com.qmth.stmms.biz.exam.query.MarkerSearchQuery;
|
|
|
-import cn.com.qmth.stmms.biz.mark.model.MarkLibrary;
|
|
|
-import cn.com.qmth.stmms.biz.mark.model.RejectType;
|
|
|
-import cn.com.qmth.stmms.biz.mark.query.MarkLibrarySearchQuery;
|
|
|
-import cn.com.qmth.stmms.biz.mark.service.MarkLibraryService;
|
|
|
-import cn.com.qmth.stmms.biz.mark.service.RejectTypeService;
|
|
|
-import cn.com.qmth.stmms.common.domain.WebUser;
|
|
|
-import cn.com.qmth.stmms.common.enums.LibraryStatus;
|
|
|
-import cn.com.qmth.stmms.common.utils.RequestUtils;
|
|
|
-import net.sf.json.JSONArray;
|
|
|
-import net.sf.json.JSONObject;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.slf4j.Logger;
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Controller;
|
|
|
-import org.springframework.ui.Model;
|
|
|
import org.springframework.util.CollectionUtils;
|
|
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
import org.springframework.web.bind.annotation.RequestMethod;
|
|
@@ -34,10 +20,11 @@ import org.springframework.web.bind.annotation.RequestParam;
|
|
|
import org.springframework.web.bind.annotation.ResponseBody;
|
|
|
|
|
|
import com.qmth.boot.core.collection.PageResult;
|
|
|
+import com.qmth.boot.core.exception.StatusException;
|
|
|
|
|
|
import cn.com.qmth.stmms.api.controller.BaseApiController;
|
|
|
+import cn.com.qmth.stmms.biz.exam.bean.RejectHistoryVo;
|
|
|
import cn.com.qmth.stmms.biz.exam.bean.SubjectRejectVo;
|
|
|
-import cn.com.qmth.stmms.biz.exam.model.ExamQuestion;
|
|
|
import cn.com.qmth.stmms.biz.exam.model.ExamSubject;
|
|
|
import cn.com.qmth.stmms.biz.exam.model.MarkGroup;
|
|
|
import cn.com.qmth.stmms.biz.exam.model.Marker;
|
|
@@ -46,16 +33,21 @@ import cn.com.qmth.stmms.biz.exam.service.ExamQuestionService;
|
|
|
import cn.com.qmth.stmms.biz.exam.service.ExamSubjectService;
|
|
|
import cn.com.qmth.stmms.biz.exam.service.MarkGroupService;
|
|
|
import cn.com.qmth.stmms.biz.exam.service.MarkerService;
|
|
|
-import com.qmth.boot.core.exception.StatusException;
|
|
|
+import cn.com.qmth.stmms.biz.mark.model.MarkLibrary;
|
|
|
import cn.com.qmth.stmms.biz.mark.model.RejectHistory;
|
|
|
+import cn.com.qmth.stmms.biz.mark.model.RejectType;
|
|
|
+import cn.com.qmth.stmms.biz.mark.query.MarkLibrarySearchQuery;
|
|
|
import cn.com.qmth.stmms.biz.mark.query.RejectHistorySearchQuery;
|
|
|
+import cn.com.qmth.stmms.biz.mark.service.MarkLibraryService;
|
|
|
import cn.com.qmth.stmms.biz.mark.service.RejectHistoryService;
|
|
|
+import cn.com.qmth.stmms.biz.mark.service.RejectTypeService;
|
|
|
import cn.com.qmth.stmms.biz.user.model.User;
|
|
|
import cn.com.qmth.stmms.biz.user.service.UserService;
|
|
|
import cn.com.qmth.stmms.biz.utils.Calculator;
|
|
|
import cn.com.qmth.stmms.biz.utils.PageUtil;
|
|
|
import cn.com.qmth.stmms.common.annotation.Logging;
|
|
|
import cn.com.qmth.stmms.common.domain.ApiUser;
|
|
|
+import cn.com.qmth.stmms.common.enums.LibraryStatus;
|
|
|
import cn.com.qmth.stmms.common.enums.LogType;
|
|
|
import cn.com.qmth.stmms.common.utils.ExportExcel;
|
|
|
import io.swagger.annotations.Api;
|
|
@@ -85,6 +77,7 @@ public class RejectController extends BaseApiController {
|
|
|
|
|
|
@Autowired
|
|
|
private UserService userService;
|
|
|
+
|
|
|
@Autowired
|
|
|
private MarkLibraryService libraryService;
|
|
|
|
|
@@ -99,7 +92,7 @@ public class RejectController extends BaseApiController {
|
|
|
@ResponseBody
|
|
|
public PageResult<RejectHistoryVo> list(MarkLibrarySearchQuery query) {
|
|
|
int examId = getSessionExamId();
|
|
|
- ApiUser wu =getApiUser();
|
|
|
+ ApiUser wu = getApiUser();
|
|
|
query.setExamId(examId);
|
|
|
query.addStatus(LibraryStatus.REJECTED);
|
|
|
if (wu.isSubjectHeader() && StringUtils.isBlank(query.getSubjectCode())) {
|
|
@@ -138,14 +131,12 @@ public class RejectController extends BaseApiController {
|
|
|
|
|
|
@RequestMapping("/header/list")
|
|
|
@ResponseBody
|
|
|
- public List<User> query(@RequestParam String subjectCode,
|
|
|
- @RequestParam(required = false) Integer groupNumber) {
|
|
|
+ public List<User> query(@RequestParam String subjectCode, @RequestParam(required = false) Integer groupNumber) {
|
|
|
int examId = getSessionExamId();
|
|
|
List<User> headerList = rejectHistoryService.getUserIdByExamIdAndSubjectCode(examId, subjectCode);
|
|
|
return headerList;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
@Logging(menu = "打回统计查询", type = LogType.QUERY)
|
|
|
@ApiOperation(value = "打回统计按科目查询")
|
|
|
@RequestMapping(value = "/subject/query", method = RequestMethod.POST)
|
|
@@ -213,65 +204,74 @@ public class RejectController extends BaseApiController {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-// @Logging(menu = "打回统计按分组查询", type = LogType.QUERY)
|
|
|
-// @ApiOperation(value = "打回统计按分组分页查询")
|
|
|
-// @RequestMapping(value = "list/group", method = RequestMethod.POST)
|
|
|
-// @ResponseBody
|
|
|
-// public PageResult<SubjectRejectVo> listGroup(SubjectQualitySearchQuery query) {
|
|
|
-// return pageGroup(query);
|
|
|
-// }
|
|
|
-//
|
|
|
-// private PageResult<SubjectRejectVo> pageGroup(SubjectQualitySearchQuery query) {
|
|
|
-// int examId = getSessionExamId();
|
|
|
-// List<MarkGroup> gs = null;
|
|
|
-// if (StringUtils.isBlank(query.getSubjectCode())) {
|
|
|
-// gs = groupService.findByExam(examId);
|
|
|
-// } else {
|
|
|
-// gs = groupService.findByExamAndSubject(examId, query.getSubjectCode());
|
|
|
-// }
|
|
|
-// List<SubjectRejectVo> ret = new ArrayList<>();
|
|
|
-// query.setTotalCount(gs == null ? 0 : gs.size());
|
|
|
-// if (!CollectionUtils.isEmpty(gs)) {
|
|
|
-// Map<String, String> subjectNames = new HashMap<>();
|
|
|
-// List<MarkGroup> pageList = PageUtil.of(gs, query).getResult();
|
|
|
-// for (MarkGroup group : pageList) {
|
|
|
-// List<ExamQuestion> questions = questionService.findByExamAndSubjectAndObjectiveAndGroupNumber(examId,
|
|
|
-// group.getSubjectCode(), false, group.getNumber());
|
|
|
-// group.setQuestionList(questions);
|
|
|
-// SubjectRejectVo vo = new SubjectRejectVo();
|
|
|
-// vo.setSubjectCode(group.getSubjectCode());
|
|
|
-// vo.setSubjectName(getSubjectName(subjectNames, examId, group.getSubjectCode()));
|
|
|
-// vo.setSubjectText(vo.getSubjectCode() + "-" + vo.getSubjectName());
|
|
|
-// vo.setGroupNumber(group.getNumber());
|
|
|
-// vo.setGroupName(group.getTitle());
|
|
|
-// vo.setGroupText(vo.getGroupNumber() + "-" + vo.getGroupName());
|
|
|
-// vo.setTotalCount(group.getLibraryCount());
|
|
|
-// vo.setFinishCount(group.getMarkedCount());
|
|
|
-// long rejectCount = rejectHistoryService.countDistinctByExamIdAndSubjectCodeAndGroup(group.getExamId(),
|
|
|
-// group.getSubjectCode(), group.getNumber());
|
|
|
-// vo.setRejectCount(rejectCount);
|
|
|
-// vo.setRejectRatio(Calculator.percentage(vo.getRejectCount(), vo.getFinishCount(), 2));
|
|
|
-// ret.add(vo);
|
|
|
-// }
|
|
|
-// }
|
|
|
-// return PageUtil.of(ret, query);
|
|
|
-// }
|
|
|
-//
|
|
|
-// @ApiOperation(value = "打回统计按分组导出")
|
|
|
-// @Logging(menu = "打回统计按分组导出", type = LogType.EXPORT)
|
|
|
-// @RequestMapping(value = "list/group/export", method = RequestMethod.POST)
|
|
|
-// public void exportGroupFile(SubjectQualitySearchQuery query, HttpServletResponse response) {
|
|
|
-// String fileName = "分组质量监控数据";
|
|
|
-// query.setPageNumber(1);
|
|
|
-// query.setPageSize(Integer.MAX_VALUE);
|
|
|
-// PageResult<SubjectRejectVo> page = pageGroup(query);
|
|
|
-// try {
|
|
|
-// new ExportExcel("分组质量监控数据", SubjectRejectVo.class).setDataList(page.getResult()).write(response, fileName)
|
|
|
-// .dispose();
|
|
|
-// } catch (IOException e) {
|
|
|
-// throw new StatusException("分组质量监控数据导出出错", e);
|
|
|
-// }
|
|
|
-// }
|
|
|
+ // @Logging(menu = "打回统计按分组查询", type = LogType.QUERY)
|
|
|
+ // @ApiOperation(value = "打回统计按分组分页查询")
|
|
|
+ // @RequestMapping(value = "list/group", method = RequestMethod.POST)
|
|
|
+ // @ResponseBody
|
|
|
+ // public PageResult<SubjectRejectVo> listGroup(SubjectQualitySearchQuery
|
|
|
+ // query) {
|
|
|
+ // return pageGroup(query);
|
|
|
+ // }
|
|
|
+ //
|
|
|
+ // private PageResult<SubjectRejectVo> pageGroup(SubjectQualitySearchQuery
|
|
|
+ // query) {
|
|
|
+ // int examId = getSessionExamId();
|
|
|
+ // List<MarkGroup> gs = null;
|
|
|
+ // if (StringUtils.isBlank(query.getSubjectCode())) {
|
|
|
+ // gs = groupService.findByExam(examId);
|
|
|
+ // } else {
|
|
|
+ // gs = groupService.findByExamAndSubject(examId, query.getSubjectCode());
|
|
|
+ // }
|
|
|
+ // List<SubjectRejectVo> ret = new ArrayList<>();
|
|
|
+ // query.setTotalCount(gs == null ? 0 : gs.size());
|
|
|
+ // if (!CollectionUtils.isEmpty(gs)) {
|
|
|
+ // Map<String, String> subjectNames = new HashMap<>();
|
|
|
+ // List<MarkGroup> pageList = PageUtil.of(gs, query).getResult();
|
|
|
+ // for (MarkGroup group : pageList) {
|
|
|
+ // List<ExamQuestion> questions =
|
|
|
+ // questionService.findByExamAndSubjectAndObjectiveAndGroupNumber(examId,
|
|
|
+ // group.getSubjectCode(), false, group.getNumber());
|
|
|
+ // group.setQuestionList(questions);
|
|
|
+ // SubjectRejectVo vo = new SubjectRejectVo();
|
|
|
+ // vo.setSubjectCode(group.getSubjectCode());
|
|
|
+ // vo.setSubjectName(getSubjectName(subjectNames, examId,
|
|
|
+ // group.getSubjectCode()));
|
|
|
+ // vo.setSubjectText(vo.getSubjectCode() + "-" + vo.getSubjectName());
|
|
|
+ // vo.setGroupNumber(group.getNumber());
|
|
|
+ // vo.setGroupName(group.getTitle());
|
|
|
+ // vo.setGroupText(vo.getGroupNumber() + "-" + vo.getGroupName());
|
|
|
+ // vo.setTotalCount(group.getLibraryCount());
|
|
|
+ // vo.setFinishCount(group.getMarkedCount());
|
|
|
+ // long rejectCount =
|
|
|
+ // rejectHistoryService.countDistinctByExamIdAndSubjectCodeAndGroup(group.getExamId(),
|
|
|
+ // group.getSubjectCode(), group.getNumber());
|
|
|
+ // vo.setRejectCount(rejectCount);
|
|
|
+ // vo.setRejectRatio(Calculator.percentage(vo.getRejectCount(),
|
|
|
+ // vo.getFinishCount(), 2));
|
|
|
+ // ret.add(vo);
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // return PageUtil.of(ret, query);
|
|
|
+ // }
|
|
|
+ //
|
|
|
+ // @ApiOperation(value = "打回统计按分组导出")
|
|
|
+ // @Logging(menu = "打回统计按分组导出", type = LogType.EXPORT)
|
|
|
+ // @RequestMapping(value = "list/group/export", method = RequestMethod.POST)
|
|
|
+ // public void exportGroupFile(SubjectQualitySearchQuery query,
|
|
|
+ // HttpServletResponse response) {
|
|
|
+ // String fileName = "分组质量监控数据";
|
|
|
+ // query.setPageNumber(1);
|
|
|
+ // query.setPageSize(Integer.MAX_VALUE);
|
|
|
+ // PageResult<SubjectRejectVo> page = pageGroup(query);
|
|
|
+ // try {
|
|
|
+ // new ExportExcel("分组质量监控数据",
|
|
|
+ // SubjectRejectVo.class).setDataList(page.getResult()).write(response,
|
|
|
+ // fileName)
|
|
|
+ // .dispose();
|
|
|
+ // } catch (IOException e) {
|
|
|
+ // throw new StatusException("分组质量监控数据导出出错", e);
|
|
|
+ // }
|
|
|
+ // }
|
|
|
|
|
|
private String getSubjectName(Map<String, String> subjectNames, int examId, String code) {
|
|
|
String name = subjectNames.get(code);
|
|
@@ -300,8 +300,7 @@ public class RejectController extends BaseApiController {
|
|
|
query.setPageSize(Integer.MAX_VALUE);
|
|
|
List<RejectHistoryVo> page = pageHistory(query).getResult();
|
|
|
try {
|
|
|
- new ExportExcel("打回历史数据", RejectHistoryVo.class).setDataList(page).write(response, fileName)
|
|
|
- .dispose();
|
|
|
+ new ExportExcel("打回历史数据", RejectHistoryVo.class).setDataList(page).write(response, fileName).dispose();
|
|
|
} catch (IOException e) {
|
|
|
throw new StatusException("打回历史数据导出出错", e);
|
|
|
}
|
|
@@ -320,7 +319,7 @@ public class RejectController extends BaseApiController {
|
|
|
query.setSubjectCodeIn(subjectCodeIn);
|
|
|
}
|
|
|
query = rejectHistoryService.findByQuery(query);
|
|
|
- List<RejectHistoryVo> list =new ArrayList<>();
|
|
|
+ List<RejectHistoryVo> list = new ArrayList<>();
|
|
|
Map<Integer, RejectType> rejectTypeMap = rejectTypeService.findMapByExamId(examId);
|
|
|
Map<String, String> subjectNames = new HashMap<>();
|
|
|
for (RejectHistory h : query.getResult()) {
|
|
@@ -335,8 +334,8 @@ public class RejectController extends BaseApiController {
|
|
|
vo.setSubjectName(getSubjectName(subjectNames, examId, h.getSubjectCode()));
|
|
|
vo.setSubjectText(vo.getSubjectCode() + "-" + vo.getSubjectName());
|
|
|
MarkGroup group = groupService.findOne(examId, h.getSubjectCode(), h.getGroupNumber());
|
|
|
- group.setQuestionList(questionService.findByExamAndSubjectAndObjectiveAndGroupNumber(examId,
|
|
|
- group.getSubjectCode(), false, group.getNumber()));
|
|
|
+ group.setQuestionList(questionService.findByExamAndSubjectAndObjectiveAndGroupNumber(examId,
|
|
|
+ group.getSubjectCode(), false, group.getNumber()));
|
|
|
vo.setGroupName(group.getTitle());
|
|
|
vo.setGroupText(vo.getGroupNumber() + "-" + vo.getGroupName());
|
|
|
vo.setRejectType(rejectTypeMap.get(h.getRejectTypeId()).getName());
|